Tools
What it is
A Tool is a fixed, reusable action that an Agent or a Workforce calls: look up an order, send a Zalo message, append a row, summarise text with an LLM. It does the same steps every time, with no judgment; the judgment belongs to the Agent that calls it. Find Tools in the left menu under Build → Tools.
Key concepts
- Steps — a Tool runs in a straight line: Tool input → steps → Tool output. You build it on a canvas in the Tool builder.
- Tool input — the values the caller gives (an order code, a phone number). Each input has a name, a type (Text, Long text, Number, Boolean, Array, JSON Object), a description, whether it is required, and a default. The Agent reads the descriptions to fill the call.
- Tool output — the fields the Tool returns, mapped from earlier steps.
- "When should agents use this tool?" — the description Agents read to decide whether this Tool fits a request. It is required before you save or publish.
- Step kinds, from Add step:
- Apps — an action of a connected App (Gmail, Facebook, Haravan, Zalo). See Apps for every action's inputs and outputs. The step shows whether the App is Connected; Open Integrations to connect it.
- AI model (LLM) — processes text with a model: a Prompt, an Output type of Text or Structured (JSON with the Output fields you name), an optional Temperature and Thinking level.
- HTTP request — a GET, POST, PUT, PATCH or DELETE request. It can be saved and published but cannot run yet.
- Branch — conditions checked top to bottom; the first true one runs its steps, else Otherwise.
- Loop — runs its steps once per item of a list, Sequential or Parallel, with Max items and what to do When an item fails (stop the run, or skip the item).
- Your tools — another published Tool, run as a Sub-tool step.
- Values — in a step's parameters, type a fixed value or insert a variable:
{{input.<name>}}for a Tool input,{{steps.<key>.output}}for an earlier step's result. Insert variable lists what is available at that point. - Read and write — a step that changes data in an App is a write; the rest are reads. The builder shows the Tool's risk (low, medium, high), whether it writes, and when FLAE recommends approval ("Approval recommended because …").
How it works
Status
| Status | Meaning |
|---|---|
| Draft | Never published. Agents cannot use it yet. |
| Published | Has a production version that Agents and Workforces call. |
| Archived | Read-only; Agents and Workforces cannot use it. The app has no control for it yet: only Workspace Admins and Builders (and Organization Owners and Admins) can set it, through FLAE's API, not the Assistant. |
Draft, test, publish
- Every change on the canvas is saved to the draft automatically ("Saving…", "Saved"); Save saves at once.
- Test runs the current draft with an input you give.
- Publish makes the draft the production version. Agents and Workforces call the production version only; a published Tool's draft changes nothing until you publish it.
- History opens the version history: Restore makes an older published version production again (your draft is not changed), and Discard draft deletes unpublished changes.
Publish is blocked while the steps have problems, such as a required App parameter with no value, an empty LLM prompt, a Branch without a condition, a cycle between Sub-tools, or blocks nested more than 3 levels deep. On the Test tab, Publish unlocks only after a passing test on the current draft; Publish on the Build tab does not require a test.
Approval when a Tool writes
The Tool does not decide approval itself; it is set where the Tool is used:
- On an Agent, with When to ask for approval (Ask first or Auto) for that Tool. See Agents.
- On a Workforce, on the connection into the Tool (Needs approval or Auto run). See Workforce.
Common tasks
Build a Tool
- Go to Tools and press New tool.
- Give it a name and fill in When should agents use this tool? (Generate with AI fills in a starter text from the name and steps for you to edit).
- Select Tool input and add the inputs the caller will know.
- Press the + (Add step) on the line between two steps, pick a step and fill in its parameters with fixed values or variables. Add more steps as needed.
- Select Tool output and map the fields to return.
- Press Create tool.
Test a Tool
- Open the Test tab and type the input as JSON.
- Press Run test. Each step shows Succeeded, Failed or Skipped, its output and its duration, and the run ends with Test passed or Test failed.
- Reads run for real. A test always stops before the first write step ("The next step runs for real:"): Approve & continue performs the write for real, Reject stops it.
Publish a Tool
Press Publish and confirm. The draft becomes the version Agents call; earlier versions stay in history.
Delete a Tool
Use Delete tool in the "…" menu on the Tools list. It removes the Tool, its versions and run history for good. It is refused while an Agent still uses it ("This tool is still used by: …"); remove it from those Agents first. Workforces and other Tools that used it skip it from then on.
Let the Assistant make one
In Chat, ask the Assistant for a Tool. It can make a one-action Tool from an App action; when an identical published Tool already exists, it reuses that one instead of making a copy.
Limits and rules
- Who can do what: Workspace Admins and Builders (and Organization Owners and Admins) create, edit, test, publish and delete Tools. Other members can view them. Nothing can be changed in an archived Workspace.
- An Agent can only pick published Tools, and at most 20 Tools in all.
- Blocks (Branch, Loop) nest at most 3 levels deep; Sub-tools call each other at most 3 Tools deep and never in a cycle.
- The input name
approval_reasonis reserved. - The Assistant publishes a Tool only after a passing test on that exact draft, and never one that a published Agent or Workforce already uses; you publish those yourself in the app.
- AI clients (connected over MCP) can run a Tool only after AI access is turned on for its production version. That is allowed only for a Tool with no LLM step and at most one write step outside Branch, Loop and Sub-tool blocks. Turning it on for a Tool that writes needs a Workspace Admin (or an Organization Owner or Admin). Publishing a new version turns it off until it is turned on again. The Tool page has no switch for this yet.
- Usage numbers and Evals for Tools are not available yet.
Related
- Agents — add Tools to an Agent and set approval.
- Workforce — Tools as fixed steps on a canvas.
- Skills — Skills can mention Tools.
- Apps — every App action a step can run.
- Chat with the Assistant — have the Assistant build and test a Tool.