- HTTP — call an external API.
- Inline — run a snippet in JavaScript, Python, or SQL, sandboxed on our runtime.
The four things every Tool needs
- Name — how the Agent refers to it. Short and verb-y (
refund_charge,lookup_order). - Description — a one-liner the Agent reads when deciding whether to call it. This is the most important field. The Agent won’t call a tool it doesn’t understand.
- Parameters — typed inputs, each with a name, type, required/optional, and their own descriptions.
- Implementation — the actual call: URL + method for HTTP, or the code body for Inline.
HTTP tools
Configure:- Method —
GET,POST,PATCH,PUT,DELETE. - URL — supports
{param}templating for path segments. - Headers — including secrets (see below).
- Body template — for
POST/PATCH/PUT. Use{param}for interpolation.
Inline tools
Write a function body in JavaScript, Python, or SQL. Parameters are auto-injected as named variables. The return value is what the Agent sees. Example (JavaScript):Parameters
Each parameter has:- Type —
string,number,boolean,enum,object,array. - Description — one line, read by the Agent when choosing values.
- Required / optional — required params are always filled; optional are filled only when the Agent thinks they’re useful.
- Default — used when the Agent omits an optional param.
- Enum values — for
enumtype, list the allowed literal values.
Secrets and headers
Any header or body value can be marked secret. Secrets are:- Never shown in the UI after save (they render as
••••). - Never included in exported Flow JSON.
- Injected at call time from encrypted workspace storage.