What are tools?
Tools are actions that your workflows and agents can run: send a Slack message, create a Google Calendar event, search the web, or run your own code. Instead of wiring each integration yourself, you pick from Flowra’s 20,000+ tools (grouped into toolkits like Slack, Gmail, GitHub) or build custom tools from JavaScript or Python scripts. When a workflow runs, the AI can decide to call a tool (e.g. “send this to Slack”) and Flowra runs it with the right credentials and returns the result. So: tools are the “hands” of your agent — they let it do real things in the world (APIs, databases, your code) instead of only generating text.Example use cases
- Pre-built tools — Search for “send message” or filter by toolkit (e.g.
slack). Attach the tools you need to a workflow; when the agent runs, it can send messages, create events, or query data. - Custom tools — You have internal APIs or business logic. Write a small script (e.g. “call our CRM API with these params”), test it in the sandbox, then create a tool. The agent can now call that logic like any other tool.
- Execute from your app — Call
POST /tools/execute/{toolSlug}with inputs and (if needed) a connected account ID. Useful for running a tool on behalf of a user from your backend.
How it works
- Discover — List and search tools by keyword, toolkit, or tags. Get a tool’s slug and input schema.
- Create (optional) — For custom tools: test a script with
/sandbox/ephemeral, then create the tool with/tools. It gets a slug and appears in your project. - Use in workflows — Attach tools to a workflow; the agent chooses when to call them. Or execute a tool directly via the API with the right auth (API key + optional connected account).
API endpoints
Browse and search tools
GET/api/v1/tools returns a paginated list of tools. Use query parameters to search and filter.
Search and filter parameters
Pagination and sorting
Example: search by keyword
Example: filter by toolkit
Example: get specific tools by slug
Example: filter by tags
Create custom tools (from code)
You can build custom tools from code so workflows and agents can run your logic (API calls, calculations, custom integrations).- Test your script — Use POST
/api/v1/sandbox/ephemeralto run a script in a secure one-shot sandbox with optional sample state. You get a structured result (status,result,error) without saving anything. Request body: SandboxEphemeralDto (see API reference). For longer-lived VMs, use POST/api/v1/sandbox/sessionsand POST/api/v1/sandbox/sessions/{id}/execute. - Create the tool — When the script behaves as you want, use POST
/api/v1/toolsto create a new tool. Request body: CreateToolDto (name, description, input schema, and the script or configuration). The new tool gets a slug and appears in the tools list. - Update or delete — PATCH
/api/v1/tools/byId/{id}updates a tool; DELETE/api/v1/tools/byId/{id}removes it. PATCH/api/v1/tools/byId/{id}/statusenables or disables a tool without deleting it.
provider=LOCAL or in your project’s toolkits.
Get tool by ID
GET/api/v1/tools/byId/{id} returns one tool. Use the tool’s ID (or slug). Optional query params: version, toolkitVersions.
Execute a tool
POST/api/v1/tools/execute/{toolSlug} runs a tool with the given arguments and auth.
Request body: ExecuteToolDto (see API reference for schema). Include the tool slug in the path and the required inputs in the body.
Tool execution logs
GET/api/v1/tools/execution-logs returns paginated execution logs for your project. Filter with toolSlug, page, limit, sortBy, sortOrder, and similar query params (see API reference).
Use logs to debug failed tool calls (inputs, outputs, timing, errors). In the product, the same data appears under Tool execution logs. Avoid sharing raw logs that may contain PII.
Toolkits
Toolkits group related tools (for example Slack or Gmail). Each has a slug, name, description, and tool count. Use them to browse by product, configure auth once per toolkit, and filter tools withtoolkitSlug.
List toolkits
GET/api/v1/toolkits — paginated list. Search with q. Support page, limit, offset, sortBy, sortOrder.
List toolkits with nested tools
GET/api/v1/toolkits/with-tools — same list, each item includes a tools array. Search applies to toolkit and tool name/description. Optional selectedToolSlugs prioritizes matching toolkits.
Related
- Toolkits and tools — Dashboard catalog and Select Tools
- Workflows — Attach tools to workflows and run them.
- Sandbox — Ephemeral and durable code execution.
- Auth configs — Configure OAuth/API keys for tools.
- Native tools — Built-in Flowra tool slugs for agents.
- API reference: Tools — Full request/response schemas.