Two actions pause your scenario and wait for the contact to say something before continuing: Ask a question and Wait for reply. They sound alike but behave differently, and picking the right one shapes both the contact's experience and how your flow branches.
Ask a question
Sends a message with tappable quick-reply buttons. The scenario waits for the contact to tap one (or type a matching keyword), then routes them to the right branch.
Configure these:
Question text, which supports variables.
Reply options. Each option becomes a button and its own branch. You can add a short description to an option to help AI matching (see the AI variant below).
Save reply to a contact property so you can use the answer later.
Hide quick-reply buttons if you'd rather send the question as plain text.
Ask again when the reply doesn't match, with your own "that's not quite right" message and a maximum number of retries.
A follow-up message sent automatically if the contact goes quiet.
It branches three ways:
One branch per reply option for a clear, matched answer.
Any other reply, a catch-all for replies that don't match a button.
If the contact hasn't replied in time, the timeout branch.
The contact can tap a button or type the keyword instead.
The AI Agent Question variant
In the AI section of the step picker there's a second entry, AI Agent Question. It's the same action with AI detection switched on. When a contact's free-text reply doesn't match a button exactly, the AI reads it and picks the closest option for you, so "I think the morning works best" can still land in your "Morning" branch.
⚠️ The AI Agent Question is a Pro feature and needs AI features enabled. Each AI match uses AI credits.
Wait for reply
Pauses the scenario silently and listens for the contact's next message. No buttons are shown. When a reply arrives, the flow routes based on keywords you've defined.
Configure one or more keywords per branch, and add as many branches as you need. It branches into:
One branch per keyword set for replies that match.
Any reply, the default branch for replies that don't match a keyword.
If the contact hasn't replied in time, the timeout branch.
Unlike Ask a question, Wait for reply can't save the reply to a contact property. If you need to store what they said, use Ask a question instead. Wait for reply shines after you've already sent a message and you're listening for a natural, free-text response.
Comparing the two
Ask a question | Wait for reply | |
Shows buttons to the contact | Yes | No |
Contact can type freely | Yes (keywords still work) | Yes |
Save reply to a property | Yes | No |
Catch-all branch | Yes ("Any other reply") | Yes ("Any reply") |
Timeout branch | Yes | Yes |
AI matching of free text | Yes (AI Agent Question variant) | No |
Best for | Structured choices | Open-ended listening |
A practical example
Say you're qualifying leads after a comment trigger.
Use Ask a question first: "Are you interested in 1-on-1 coaching or group programs?" with "1-on-1" and "Group" as buttons. That gives you clean branching from a clear choice, and you can save the answer to a property.
Then, in the 1-on-1 branch, send a message: "Great. What's your biggest challenge right now?" and follow it with Wait for reply. Their answer will be conversational, not a button tap, so you listen for keywords like "time," "money," or "confidence" and route from there.
🐾 Netsuke's Tips
Always set a realistic timeout on both actions. Without one, a contact who never replies stays frozen in your flow. A few days is a sensible default.
Keep the number of options small. A short, clear set of buttons reads better in a DM than a long list, and it's easier to branch on.
Use save reply to a property in Ask a question whenever you're collecting something you'll want later: interest level, goal, or preference.
If most replies are landing in the "Any reply" branch of Wait for reply, switch to Ask a question with buttons (or its AI variant). It means contacts are answering in ways you didn't anticipate.
What's next?
For the timing and logic between steps, read Flow Control: Conditions, Delays, A/B Testing & Filters. To branch and reply with AI inside a flow, see AI Smart Actions in Scenarios.


