Custom Tools
Custom tools let you extend Synapse agents with your own capabilities. You can register any REST API endpoint or Python function as a first-class tool that agents can call just like any native tool.
Two types of custom tools
| Type | Description |
|---|---|
| REST API Tool | Wrap any HTTP endpoint as an agent tool |
| Python Tool | Define a Python function that runs in the sandbox |
How they work
Custom tools are stored in DATA_DIR/custom_tools.json. When an agent runs, all custom tools are available alongside native tools and MCP server tools.
The agent sees:
- A tool name and description
- A schema of the input parameters
- A description of what the tool returns
It doesn't know (or need to know) whether the tool is a REST call, Python function, or MCP server — it just calls it.
Managing custom tools
Go to Settings → Custom Tools to:
- View all registered tools
- Add a new REST API or Python tool
- Edit or delete existing tools
- Test a tool with sample inputs
Use cases
- Internal APIs — wrap your company's internal REST endpoints
- Webhook triggers — trigger Slack messages, Jira tickets, or any webhook
- Data pipelines — call data processing scripts
- Domain logic — implement business-specific calculations or lookups
- n8n workflows — expose n8n automation flows as agent tools (see n8n integration)
Tool visibility
Custom tools are visible to agents in the tool list. Assign them like any other tool:
"tools": ["my_api_tool", "my_python_tool", "vault_write"]
Or set "tools": ["all"] to include all registered tools.