Action — when you want certainty
An action runs one tool with the arguments you typed, every single time. No model is involved, so it costs nothing to run, it can't reword anything, and it does the same thing on Monday as it does on Friday.
Add one from the canvas toolbar: Add action.
When to use one
When there is nothing to decide: send this message, look up this reference, record this result.
Sending a payment confirmation wants an action. Writing the apology does not. The confirmation must say exactly what you wrote, with the right reference in it. The apology needs to fit what actually went wrong, which is judgement — so that's a task.
Setting one up
Right-click the node and choose Edit task.
Pick the tool, and the form asks for exactly the arguments that tool takes — the fields come from the tool itself, so it can never ask for a parameter the tool doesn't have, or miss one it does.
An action with no tool chosen does nothing at all. The canvas marks it Pick a tool so it doesn't sit there looking finished.
Carrying work from earlier steps
An action's arguments can include what earlier steps produced:
| You type | You get |
|---|---|
{{previous}} |
Whatever the step immediately before produced |
{{input}} |
What was typed in when the run started |
{{task:the-step-id}} |
The result of one specific earlier step |
So "an agent drafts the reply, an action sends it" is a task followed by an
action whose message is {{previous}}.
If you type a name that doesn't exist, it is left on the page as written
rather than quietly replaced with nothing. A message that reaches a customer
with a gap in it is worse than one that visibly still says {{whatever}}.
Try it before you trust it
An action step is one tool with the arguments you typed, which makes it the one thing you can test on its own. Press Try it, in the step's own editor.
It runs that single capability now, with whatever is in the boxes above — not the saved version, so you can check a change before committing to it — and shows you exactly what came back, in the tool's own words. Nothing is saved either way.
This is worth doing every time on anything with a key behind it. A Termii sender ID that was never registered, a WhatsApp phone number ID pasted from the wrong field, a database whose host isn't reachable from the internet: all of them look perfectly fine in a form, and all of them fail at three in the morning when the schedule fires. Try it turns that into an answer while you are still looking at the screen.
Two things it will refuse:
- A placeholder.
{{previous}}and{{row:email}}only have values during a run, so trying one on its own is refused rather than sent to the literal text. Put a real value in to test, then set the placeholder back. - A tool you haven't connected. It names which connection is missing and points at Tools, rather than failing vaguely.
On outbound tools it really sends. Trying Send an email sends an email; trying Send an SMS costs a message. That is the point of it — but test with your own address or number, not a customer's.
Who the email comes from
The message your client's customer opens is the one part of all this they ever see, so it should look like it came from the business — not from a machine.
Settings → Who it comes from takes two things:
- Name in the inbox — the business's own name, as its customers know it. Without it, the message shows a bare address and is signed by nobody.
- Replies go to — where a reply lands. The mailbox that sends is rarely one anybody reads, and a customer who answers a reminder should reach a person.
Set it once for the project. Every email it sends carries it — a Deliver step, an agent that decided to send one itself, and Try it alike, so what you test is what your customer gets.
The mailbox itself is a different thing and lives under Tools → Send an email: that one is a credential your mail provider has to accept, while these two are yours to change whenever the business does.
Your mail provider has the last word on the name. Google Workspace and Microsoft 365 will only send as the mailbox you signed in with, or an alias they already know about — set a name they haven't authorised and they may quietly replace it with their own. Almost nothing interferes with Replies go to, which is why it is the half worth setting first: whatever the provider decides to print at the top, a customer pressing Reply still reaches a person.
If the name that arrives isn't the one you typed, that is your provider's rule rather than a fault here — authorise the address with them and it will hold.
Questions people ask
Do action steps cost anything? No model runs, so there are no tokens to pay for. The tool itself may have its own cost — sending a WhatsApp template, for example — but that's between you and that provider.
What if the tool fails? The failure is recorded as that step's result and the Sequence carries on. You see it in the trace rather than losing the whole run to it.
What if the tool isn't connected? The step says so and points you at Tools to add the key. It doesn't pretend to have run.
Can an action decide anything? No, and that's the point. If you need a decision, put a condition or an agents route before it.
Related: Sequences · Task · Tools & integrations

