The AI step
The step that talks to people or writes a single reply from your instruction: chat and reply modes, the information it collects, the turn limit, reading images and video, the target, and credits.
Last updated: September 30, 2026
The step that talks to people or writes a single reply from your instruction: chat and reply modes, the information it collects, the turn limit, reading images and video, the target, and credits.
Last updated: September 30, 2026
You cannot put a button on every question: people ask three things in one message — "does this come in a size 12, how long is delivery, do you do instalments?". The AI step fills that gap — it writes a reply from the instruction you give, or keeps talking to the person until it has collected what you asked for. This guide covers both modes, every setting, the limits, and where you should stop.
In this article you will find:
⚠️ Note: This step needs an AI key and credits. With no key defined, the step says so; the portfolio owner or an administrator adds one under Portfolio settings › AI keys and verifies it with Test connection. When credits run out the step does not run and the flow continues from Could not generate.
The step passes your instruction and the person's message to the model and uses the text that comes back. You decide what it does: talk like a sales assistant, answer frequently asked questions, collect information, or summarise an incoming message into a field.
The step is not a chatbot: it is part of the flow. It runs when the flow reaches it, does its job, and the flow moves on.
It works on both channels.
The What should it do? setting offers two options.
It talks to the person until the job is done. On every turn it is given the conversation so far and what is known about the person, so it does not ask the same thing twice and the subject does not drift. It writes what it learns to the contact card itself — you do not map anything.
One turn = one message plus the person's reply. The last 12 messages of history are carried.
The chat ends, and the flow continues from Next, when the model says the job is done or all the requested information has been filled in.
It produces one reply from your instruction and sends it. It does not wait for an answer; it is one-shot. Good for answering FAQs, writing a short explanation, or classifying an incoming message.
The model's job and tone, up to 4,000 characters. Write who it is, what it is trying to do, and what it must not say. Placeholders work here.
The instruction is mandatory; if empty, the pre-publish check reports an error.
Example: "You are the assistant of a digital agency. Keep it short and friendly. Your goal is to collect information for a free account review. If asked about prices, say 'let's talk on the phone after the review'."
Add rows with Add information. Each row holds two things:
You can add up to 8 items. The model asks for them one by one in order, skips anything already filled in on the contact card, and writes what it learned to the card when the conversation ends.
If a field name is invalid or "how to ask" is empty, the check reports an error.
Between 1 and 12, default 6. When the limit is hit, the chat ends even with information missing and the flow continues from Could not generate.
Six turns is comfortable for collecting three or four facts. Raising it raises the cost too: every turn is a model call.
The same field as above; here you write the tone, the scope and the prohibitions. Mandatory.
Where the generated text ends up:
The contact field the generated text is written to; with Do not save it is not written. Later steps use it as {{field.name}}.
Saving to a field works with all three targets: whether the reply goes out or not, the information stays on the contact card.
⚠️ Note: If you set the target to save to a field only and leave the field empty, the generated reply goes nowhere and the step has no effect at all. The check shows this as a warning.
The text handed to the model, up to 2,000 characters. If left empty, the person's last message is used — that is what you want in most cases.
Writing it yourself helps when you want to give the model context, such as "'{{contact.first_name}}' asked: {{input}}".
Passes the photo from the person's last message to the model. The file is not stored on the server: it is downloaded at call time, given to the model, and dropped from memory.
This box is a separate plan feature; if your plan does not cover giving images to AI, the run stops at the step.
⚠️ Note: Image addresses are short-lived. If there is a long wait before this step, the image may no longer be found; the step then continues with text only and the reason goes into the log.
The same thing for video. It only works on models that can read video. Size and duration limits are set by platform administration; a video over the limit is skipped and the step carries on with text.
With both boxes on, whatever attachment arrives is read; with only one on, the other kind is skipped.
The upper bound of the reply in tokens: between 50 and 4,000, default 400. It cannot exceed the platform's ceiling.
400 tokens means a short, conversational reply. Raise it if you want longer explanations — but nobody reads long text in a DM.
When on, the model reasons before writing its answer. The box is only drawn when the key in use allows thinking.
While it is on, the maximum length is not applied to that call: budget is left for the reasoning, otherwise the model spends the budget thinking and returns without writing the text.
It is off by default: for most steps that want a short answer, thinking is a needless cost.
The step has two outputs:
Always connect the Could not generate branch. Putting a prepared message there ("something went wrong, our team will write shortly") plus an Action step that hands over to a human is far better than leaving somebody in silence.
If the provider is busy the run is deferred and picks up from the same step; that is not an error and it is recorded as a retry in the log.
A digital agency wants to collect background information from incoming requests.
review to the Start step.name → "Full name", industry → "Industry", budget → "Monthly ad budget". Turn limit: 6.The result: the agency collects three facts inside the conversation instead of making people fill in a form, and a human takes over whenever it stalls.
Writing the instruction in one throwaway sentence. "Help the customer" produces a model that says anything. Write who it is, what it wants, and what it will not say.
Leaving prices, stock and delivery times to the model. The model does not know these and may invent what it does not know. Pull hard facts from your real system with The External request step, or give fixed answers with buttons.
Leaving the Could not generate output unconnected. When credits run out or the model refuses, the person gets nothing at all.
Setting the chat turn limit to 12. Every turn is a call; twelve turns are both expensive and tiring.
Not filling in "how to ask" for collected information. Given a field named budget, the model asks "what is budget?". Write the human name.
Turning on image reading and putting a long wait in front of it. The image address dies before then and the step carries on with text.
Setting the reply target to "under the comment" while starting the flow from a keyword. There is no comment context, so the step is skipped.
If you want information collected question by question with format validation, The Collect information step is more predictable. What to do when nothing is generated is covered in AI could not generate a reply; what happens when credits run out, in AI credits have run out.
The AI step closes the "unexpected question" gap in your flow — as long as you are the one drawing its boundaries.
Was this article helpful?