Aggregated
Call several endpoints and return one combined result.
Slack messages and Gmail emails, for example, can be retrieved independently and handed back as a single structured result.
Workflows
A workflow combines endpoints from one or more services into a single capability. Give it a name, and every run() request can use it like any other tool, without your agent carrying the integration code.
What you write
const result = await agent200
.user("user_123")
.run({
model: "openai/gpt-5.6-sol",
input: "Prepare my brief.",
tools: ["brief"],
});
What Agent200 runs
Capabilities
A connector is access to an external service. A capability is something a model can invoke. Agent200 turns the first into the second, so the model never has to understand a provider's HTTP API, only what a tool does, when to use it and which inputs it accepts.
When the model calls the tool, Agent200 executes the underlying request through the Slack connector and returns the result to the model.
slack_search
One endpoint
The simplest capability exposes a single connector endpoint under a name and an input schema the model can use.
brief
Several endpoints, one name
A capability can also combine endpoints from the same service or from different services. The model still sees one tool.
Visual workflow builder
Part of the developer dashboard, the builder lets you assemble a capability on a canvas instead of writing each underlying API request yourself: choose the endpoints, decide how their results come together, and save it under a name.
Workflow input
What the model passes when it calls brief
Retrieve relevant messages
Retrieve relevant emails
Combine results
Apply the configured output structure
Return data to the model
One tool result, from two services
Illustrative The canvas above sketches a workflow named brief: endpoints from two services on the left, one combined result on the right. Read it as a diagram of the pattern, not a screenshot of the builder.
The visual builder is where you connect endpoints, configure how they run and define the tool your agent will call.
Capabilities can also be configured from code. Either way, the result is the same: a named capability your requests can reference.
Workflow patterns
The builder is intended to support two ways of putting endpoints together. You define the behaviour; Agent200 runs it whenever the capability is invoked.
Call several endpoints and return one combined result.
Slack messages and Gmail emails, for example, can be retrieved independently and handed back as a single structured result.
Use the output of one endpoint as the input to the next.
A workflow could retrieve information from one service, pull an identifier out of it, and pass that identifier on to another service.
The developer defines the workflow's behaviour. These are the kinds of settings a workflow may expose.
Illustrative These are the configuration elements the builder is being designed around. The set will grow as new workflow patterns get real usage.
Capability output
A capability may return structured information. For brief, that could be one object with the Slack messages and the Gmail emails side by side.
{
"slack": [
{
"message": "Project update..."
}
],
"gmail": [
{
"subject": "Weekly update",
"content": "..."
}
]
}
Planned Richer shapes are on the roadmap: passing the output of one operation into the next, along with schema definition and transformation controls, so a capability can return exactly what your model needs.
Inside run()
During a run() request the model decides whether to call your capability. When it does, Agent200 executes the whole workflow behind that single call and returns one result. The model then continues, calls more tools, or writes the final response.
Your app
agent200.run()
model, instructions, input and tools: ["brief"]
Agent200 · model
AI model
Reads the task and the tool definitions, then chooses which tools to call, if any.
Tool definitions provided
brief · name, description, inputs
Repeats until complete
Each tool result returns to the model, which may reason further or call another tool.
Agent200 · tool execution
Calls: brief
Your app
Final response
Returned to your code, to use in the rest of your agent's flow.
Making a capability available does not mean it runs: the model invokes it only when the task calls for it. When a run happens is up to you: your app schedules its own requests.
Beyond two services
The same principle scales to longer workflows. Encapsulate the steps once, and every part of your app can ask for customer_context instead of repeating the integration logic.
This example shows the principle: a reusable capability built from multiple API operations. The CRM could be HubSpot or Salesforce; the pattern is the same.
Combine operations from one or more services into a named tool, then reference it from any run() request.