How do I set up Integration Action and Tool Call steps?
Do work in a connected integration or call your own tool at a point in the agent: exits, the failure branch and retries.
What is it for?
Both steps do work in an outside system at a point in the agent; visitors don't see either of them.
- “Integration Action” runs a ready-made action of an integration you've connected (for example creating a Trello card or notifying Slack or Teams).
- “Tool Call” calls a tool you defined for your own system on the “Tools” page (for example looking up an order's status).
Both have the “When done” and “If it fails” exits, and “Retry on fail” works the same way in both.
Integration Action
Visitors don't see this step: the flow runs an action of a connected integration here (for example creating a Trello card or notifying Slack or Teams) and moves on.
- Open the “Integrations” category in the “Add step” palette, click the integration, then click the action; the step is added to the canvas.
- In the step panel, check the “Action” and fill in its fields. Pick values from a list (“Pick from list”) or type them (“I'll type it”); use {variable} for earlier answers.
- To use the result in later steps, give it a variable name under “Save to variables”. Variables live in the visitor's browser, so don't pick values that must stay private.
The step has two exits: “When done” and “If it fails”. If the integration isn't connected or the provider returns an error, the agent takes “If it fails”. If “If it fails” is empty, the conversation closes with a message that something went wrong. If you want the agent to go on after a failure too, connect “If it fails” to the same step as “When done”. If a required field is empty, the provider isn't called at all and the step takes “If it fails”. The “Step note” is only for you; visitors don't see it.
An action that changes data doesn't run again when the visitor presses the back button or resends a message. If the conversation passes this step again (for example going back through a menu), it runs again.
While the step runs, the visitor sees what is happening instead of “Thinking”: a fitting text (“Processing your request…”, “Checking the details…”); for internal work such as notifying your team, just “One moment…”. You can write your own text in “Text shown while waiting” (e.g. “Creating your appointment…”); it is translated into your other languages.
Actions that permanently delete or cancel something won't run until you check “I understand this step does something that can't be undone”; actions that send from your account need “I understand this step sends from my account”. Deletions run at most 20 times and sends at most 100 times per hour per workspace. The record to delete can't come from a visitor's answer.
Tool Call
Calls a tool you defined on the “Tools” page at exactly this point in the agent, without using AI. Visitors don't see this step; its text is only your note.
- Add a Tool Call step and pick the tool from the list.
- Give the tool's fields a value: a fixed value, a variable from an earlier answer (for example {order_no}) or the path to a field of an earlier answer (for example {order.no}).
- Under “Save to variables”, save the full answer or the error code to a variable; you can use it in later steps as {variable}.
- Connect the “When done” and “If it fails” branches. If the tool doesn't answer or returns an error, the flow takes the “If it fails” branch. If “If it fails” is empty, the conversation closes with a message that something went wrong. If you want the agent to go on after a failure too, connect “If it fails” to the same step as “When done”.
While the tool runs, the visitor sees a text such as “Checking the details…” or “Processing your request…” (for store tools, the work itself, such as “Searching products…”). You can write your own text in “Text shown while waiting”.
The sub-fields of a tool's Object fields are filled in separate boxes. For a list whose items are Objects, first enter a list variable in “List source” (for example an action's list or the result of an Edit List step), then map the item's fields under “Fields of each item”, like {item.sku}. Each item of the source becomes a row in the list; if you leave the mapping empty, the items are sent as they are.
A tool that changes data doesn't run again when the visitor presses the back button or resends a message. If the conversation passes this step again (for example going back through a menu), it runs again. A tool that reads data is called again every time the visitor reaches the step.
If a required field is empty or a value doesn't match its field's type, the tool isn't called and the step takes “If it fails”. The editor shows a fixed value that doesn't match its type as a warning on the step. Calls appear on the “Tools” › “Call statistics” page.
Retry on fail
If you turn on “Retry on fail” in an Integration Action or Tool Call step, the step runs again on a temporary error. When the tries run out, the flow continues from “If it fails”; if that branch is empty, the conversation closes with a message that something went wrong.
- “Max tries”: 2 to 5; 3 by default.
- “Wait between tries (s)”: 0 to 5 seconds; 1 by default.
All tries take at most 18 seconds; if time runs out, the remaining tries are skipped.
Only temporary errors are retried: timeouts, connection errors, provider outages and rate limits. On errors like missing permission or an empty field, the step goes straight to “If it fails”.
Use it carefully on steps that create a record or send a message: on a timeout the request may have reached the provider, so the same record or message may be created twice.
Related articles
- How do integrations work?Connect your store, messaging channels and work tools to Agenola so your agents can work with them.
- Tools: connecting the agent to your own systemsAdd your own HTTPS endpoints that the agent calls during a conversation to fetch live data or take an action.
- Where can I monitor the health of integration actions?The “Action statistics” page shows every task your flow steps and the agent run in integrations, the failures and why.
- Tool call statistics and failure alertsMonitor how well your tools work, inspect failed calls and set alert thresholds.