The User Replied trigger fires whenever a user (member of your team), sends a message to a contact. Use it to measure how quickly your team responds, stop automations once a person steps in, log outbound activity, and route conversations based on who replied and where.
TABLE OF CONTENTS
- What is the User Replied Trigger?
- Key Benefits of Using the User Replied Trigger
- Where to Find the Trigger
- How to Set Up the User Replied Trigger in Workflows
- Trigger Filters
- Channel Behavior
- Custom Values
- Use Cases
- Keyword-Based Routing
- Log Outbound Activity
- Setting Up SLA Tracking and Escalation
- Frequently Asked Questions
- Related Articles
What is the User Replied Trigger?
The User Replied trigger starts a workflow when someone on your team sends a message to a contact from the conversation view. It is built around reply and response activity, and it fires on two kinds of messages a user sends:
- A new outbound message. A user sends the first message to a contact, for example when a contact comes in through a form and a rep reaches out.
- A reply in an existing thread. A contact has messaged in, and a user answers within that conversation.
Important: This trigger fires only on messages a user sends from the conversation view, and only once that message is delivered, not the moment it is sent. Messages sent by workflow actions (Send SMS, Send Email, and so on) or by Conversation AI do not fire it. For automation based on Conversation AI, use the separate Conversation AI Trigger, which fires on a condition you define rather than on a specific message.Key Benefits of Using the User Replied Trigger
- Track response times: Capture the moment a rep responds to a contact so you can measure how fast your team replies.
- Stop automations when a person takes over: End a drip or nurture sequence as soon as a team member replies personally, so a contact never receives an automated message and a human message at the same time.
- Build "wait and check" flows: Pair the trigger with the User Replied wait condition to cover the classic pattern where a contact messages in, you wait a few minutes, and if nobody has replied you alert the owner.
- Route by who replied and where: Branch a workflow based on the sending user, the contact's assigned user, or the channel the message went out on.
- Act on what was said: React when a rep's message contains a phrase like "refund approved" by moving the opportunity, sending a confirmation, or applying a tag.
- Log activity: Record every outbound reply, or keep fields like "Last Contacted By" and "Last Contact Date" up to date.
Where to Find the Trigger
The User Replied trigger sits under the Events category in the trigger picker.
- Trigger Name: User Replied
- Trigger Description: Fires when a user sends a message to a contact


If you add no filters, the trigger fires on every user reply, to any contact, on any channel.
How to Set Up the User Replied Trigger in Workflows
- Log in to your account.
- Go to Automations > Workflows.
- Create a new workflow or open an existing one.
- Click + Add New Trigger, then select User Replied from the list (under Events).
- Enter a clear Trigger Name so it is easy to find later, for example "Rep Replied (SLA Timer)".
- Click + Add Filters to narrow when the workflow should run. The available filters are covered in the next section.
- Click Save Trigger.
- Add your workflow actions, such as Add Tag, Assign to User, Send Internal Notification, or Update Opportunity, then Publish the workflow.
Trigger Filters
Filters let you control which user replies should start the workflow. You can combine several of them to get as specific as you need.
| Filter | Operator | Values | Notes |
|---|---|---|---|
| Sent By | Is any of | Grouped user picker (see below) | Multi-select. Pick the contact's assigned user and/or specific users. |
| Message Channel | Is any of | SMS, Email, WhatsApp, Facebook Messenger, Instagram DM, Live Chat | Select one or more channels to match. Some channels offer additional channel-specific options. |
| Contains Phrase | Contains | Free text (case-insensitive) | Runs only when the message includes the words or phrases you specify. Supports several comma-separated phrases. |
| Exact Match Phrase | Equals | Free text (case-insensitive) | Runs only when the message matches exactly. Whitespace is trimmed before comparing. |
| Has Tag | Has any of | Tag picker | Runs only if the contact has the selected tag. |
| Doesn't Have Tag | Has none of | Tag picker | Runs only if the contact does not have the selected tag. |
Sent By: The Grouped User Picker
The Sent By filter is a single, searchable, multi-select dropdown with two kinds of options:
- User assigned to the Contact. This dynamic option always sits at the top. Use it when you only want the trigger to fire if the contact's own assigned user replies.
- Users. Every available user, listed by name.
If you do not add a Sent By filter, the trigger fires when any user replies.
Channel Behavior
The trigger works across all the main conversation channels. Because each channel threads its conversations a little differently, what counts as a brand new outbound message versus a reply can vary. The table below shows how that works on each channel.
| Channel | New Outbound | Reply to Existing |
|---|---|---|
| User writes a new email, where a new subject line starts a new thread | User replies inside an existing email thread | |
| SMS | First SMS to a contact who has no prior messages | Any later SMS in the ongoing thread |
| User starts with a template message, outside the 24-hour window | User replies inside the 24-hour service window | |
| Facebook Messenger | First message to a contact with no prior conversation | Any later message in the ongoing thread |
| Instagram DM | First DM to a contact with no prior conversation | Any later DM in the ongoing thread |
| Google Business Messaging | Not applicable, since the customer has to message first | Any message in the ongoing thread |
| Live Chat and Chat Widget | Not applicable, since the visitor always starts the session | User replies inside an active session |
Email is the only channel where a user can keep several separate threads going with the same contact. On single-thread channels like SMS, Messenger, and Instagram DM, every message simply adds to one continuous conversation.
Custom Values
The trigger makes the following values available inside your workflow actions and If/Else conditions. Use them to personalize notifications, log activity, and route conversations.
| Name | Custom Value | Description |
|---|---|---|
| User Name | {{user_replied.senderName}} | Name of the user who sent the message |
| User ID | {{user_replied.userId}} | Internal user ID of the sender, which is more reliable than the name for external integrations |
| Message Body | {{user_replied.messageBody}} | The content of the message |
| Channel | {{user_replied.channel}} | The channel the message was sent on, such as SMS, Email, or WhatsApp |
| Timestamp | {{user_replied.timeStamp}} | When the message was sent |
| Conversation ID | {{user_replied.conversationId}} | The conversation or thread ID |
| User Email | {{user_replied.senderEmail}} | Email address of the user who sent the message |
Use Cases
Keyword-Based Routing
- Trigger: User Replied
- Filter: Contains Phrase set to "refund approved"
- Actions: Move the opportunity to a new pipeline stage and send a confirmation.
Log Outbound Activity
- Trigger: User Replied
- Actions: Update "Last Contacted By" with
{{user_replied.senderName}}and "Last Contact Date" with{{user_replied.timeStamp}}, or record the reply somewhere outside the platform.
Setting Up SLA Tracking and Escalation
Response-time SLAs are the most common reason to reach for this event. If you want to make sure a rep replies within a target time and escalate when they do not, you build that with the User Replied event as a Wait condition and a Goal, rather than with the trigger on its own.
The pattern looks like this:
- Start the workflow with the event that begins the clock, such as Customer Replied, so it runs when a contact messages in.
- Add a Wait step set to the User Replied condition, with a timeout such as five minutes.
- On the timeout branch, where no user replied in time, add your escalation actions, such as notifying the owner or manager, creating a task, or sending an internal alert.
- To stop a reminder or nurture sequence as soon as a rep replies, add a User Replied goal so the contact jumps out of the remaining steps.
The Wait condition and the Goal are set up in their own steps. For the full walkthrough, see the Workflow Action - Wait and Workflow Action - Goal Event articles.
Frequently Asked Questions
Do messages sent by a workflow fire this trigger?
No. Automated messages from workflow actions such as Send SMS or Send Email do not fire it. Only a message a user sends from the conversation view counts.
Will it fire on cold or mass outbound outreach?
Not reliably. The trigger is built around replies and responses, not cold first-touch outreach.
Can I fire only when the contact's assigned user replies?
Yes. Add a Sent By filter and choose "User assigned to the Contact".
What happens if a user sends several messages quickly?
Each message fires the trigger on its own, unless re-enrollment is restricted on the workflow.
What if a contact is enrolled in more than one workflow?
The trigger fires independently in each workflow.
Related Articles
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article





