Tools
Tools are what let an agent do things rather than only produce text. An agent node connected to tool nodes can decide to call them mid-run.
Manage them under Dashboard → Tools.
Built-in tools
Nine tools ship with the platform. Each call costs 1 credit.
| Tool | What it does |
|---|---|
| HTTP Request | Call an external HTTP endpoint |
| Web Scrape | Fetch a page and extract its content |
| JSON Parse | Parse a JSON string into structured data |
| JSON Stringify | Serialize data to a JSON string |
| Text Split | Split text into chunks |
| Text Join | Join text fragments |
| Send Email | Send a transactional email |
| Date & Time | Current date/time and formatting |
| Delay | Pause execution for a set duration |
HTTP Request, Web Scrape and Send Email are the tools most often flagged
by security scans — they're the ones an injected
instruction can abuse to reach an attacker's URL or mail an attacker. Constrain
what reaches them.
Custom Python tools
When the built-ins aren't enough, write Python. Each call costs 5 credits.
Custom tools run in a Pyodide WebAssembly sandbox, in a separate worker thread, with:
- A hard timeout (15 seconds by default) enforced by terminating the worker — so an infinite loop can't hang your run
- Globals reset between runs, so one execution can't leak state into the next
- Source screening before execution
What's blocked
Code is screened before it runs, and rejected outright if it uses:
| Blocked | Why |
|---|---|
subprocess | Process execution |
ctypes | Native code access |
socket | Raw sockets |
os.system(...) | Shell execution |
eval(...) / exec(...) | Dynamic code execution |
Network access
Raw sockets are blocked, but HTTP is available through urllib or
pyodide.http. Treat custom tools as capable of reaching the network, and scan
accordingly — this is exactly what the SSRF and SUPPLY_CHAIN_SANDBOX
categories look for.
Access and sharing
Tools belong to the user who created them and can be attached to any of that user's agents. An agent references a tool rather than copying it, so updating a tool updates every agent using it.
Cost summary
| Credits per call | |
|---|---|
| Built-in tool | 1 |
| Custom Python tool | 5 |
Tool calls are the only thing billed in credits — LLM tokens are billed by your own provider. See Billing.