
What is Input Tree?
A look at Input Tree — the agent harness I led at Lindy.ai that expanded our integration offering roughly 30x.
🚧 Work in progress — full article is coming soon.
The Problem
Originally Lindy was a AI workflow automation tool that allowed users to build bespoke workflows for their unique use cases. A critical advantage in this market was having working integrations for all of the different tools they used for their business. We needed to increase our measly 200 integrations 30 fold in order to win in this market.
However our existing tooling for defining integrations in our codebase was very rigid and caused a host of UX issues for users and agents alike.
Consider the following integration Hubspot Update Deal. It requires that you provide a deal_id as a path parameter. From here the body of the request takes fields for update like deal stage or assignee. However only stages and assignees associated with the deal's pipeline are considered valid. This means that we have a dependency graph that looks like the this.
Setting the deal_id is required for getting valid stage and assignee values for the update. Our existing tooling for defining integrations forced a linear dependency graph; applied to this example, the dependency relationship looked like this.
This was a big problem. It forced agents and users alike to search and set all dependencies associated with an integration whether they really cared to update that dependency or not. In this example, one would have to fill out the stage dependency even if they only wanted to update the assignee.
Creating a new meta tool in our codebase that would allow us to define dependency relationships as they existed in the real world was the problem I was tasked with solving. The new meta tool for this would be called Input Tree.
Input Tree in Action

Input Tree unlocked the above capability and let us dramatically scale the number of integrations on our platform. Agents could now freely explore the dependency graph, searching and filling only the values relevant to the user's ask — told to "move a deal to contract review and hand it off to legal," an agent resolves the deal_id, fetches that pipeline's valid stages and owners, and sets both in one pass. Users who set up integrations manually in the UI were no longer burdened with filling out irrelevant dependencies in the UI.
The up-front investment paid off. With help from our embedded iPaaS provider, Pipedream (since acquired by Workday), we onboarded 5,000 high-quality integrations. Every one of them shipped without the wasted LLM calls and setup friction of the old framework — problems that would otherwise have scaled 30-fold right along with our catalog. Within a few quarters of shipping, ARR grew from $2M to $8M — and roughly half of those new customers used at least one Input Tree integration in their workflows.
How it was built
🚧 Work in progress — full article is coming soon.