Build synthetic tools
Combine several steps — sometimes across different products — into a single tool your agents can call.
Where to find it: Toolboxes → Synthetic tools
Example: look a customer up in the CRM, then open a support ticket for them. One decisive tool usually beats three chained calls the agent has to orchestrate itself.
Synthetic tools are gated by your plan’s synthetic tools feature (included on Gold and Black). Without it, the empty state explains they aren’t in your plan.
Before you start
- A plan that includes synthetic tools
toolbox:create(or equivalent access to build tools)- At least one working connection to test against
Design a synthetic tool
- Open Toolboxes → Synthetic tools → New synthetic tool.
- Name it and describe when an agent should reach for it (this becomes the advertised tool description).
- Define the tool’s input schema (what the agent must provide).
- Add step for each call. For every step set:
| Field | Purpose |
|---|---|
| Step key | Stable id other steps and templates refer to |
| Connection | Which account runs this step |
| Tool | Which tool on that connection to call |
| Depends on | Earlier steps that must finish first |
| Arguments template (JSONata) | Build arguments from { input, steps } |
| Output template (JSONata) (optional) | Shape what later steps see |
Independent steps (no dependency between them) run in parallel. Dependent steps wait. Cycles and unknown references are rejected when you save.
Step results are available as steps.<key> for later templates.
- Save changes.
Test run
After save, use the Test run panel:
- Provide sample inputs matching your schema.
- Choose Run against live connections.
- Confirm Test succeeded, or fix the step where Test stopped.
Test execute runs the synthetic tool without needing it in a toolbox first. Results depend on real account data — use a safe connection when experimenting.
Add to a toolbox
- Open a shared or personal toolbox → Add tools.
- Choose the Synthetic tools tab and pick your tool.
- Tune name, description, defaults, or frozen params like any other entry.
It advertises its own input schema over MCP and executes its steps server-side through the same restriction and audit pipeline as normal tools.
Good to know
- Each step runs with the access of the connection behind it.
- If a dependent step fails, the run stops there; independent parallel steps still follow the DAG.
- Restriction-blocked tools can’t be used as steps for callers who can’t reach them.
- Agents see one tool — they don’t manage the intermediate steps.