Skip to main content

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

TypeDescription
REST API ToolWrap any HTTP endpoint as an agent tool
Python ToolDefine 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:

  1. A tool name and description
  2. A schema of the input parameters
  3. 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.