Skip to content

Build a workflow

Not every support action needs a person to trigger it. Workflows watch for events on conversations and tickets, then run a sequence of conditions and actions automatically, no teammate required.

Find them at Admin → Settings → Workflows.

How a workflow is built

A workflow starts with a trigger, then flows through condition, branch, wait, and action nodes on a graph. Conditions gate whether the flow continues. Branches split it into named paths. Wait nodes pause it, for up to 90 days, before continuing.

Start from a template rather than a blank canvas. Most routing and SLA needs are already covered by one.

Triggers

TriggerFires when
conversation.createdA new conversation starts
conversation.status_changedA conversation's status changes
conversation.assignedA conversation is assigned or unassigned, including auto-routing
conversation.priority_changedA conversation's priority changes
conversation.attribute_changedA conversation attribute is set or changed
conversation.csat_submittedA customer submits a satisfaction rating
message.createdA visitor or teammate sends a message
message.note_createdA teammate adds an internal note
assistant.handed_offQuinn hands a conversation to a human
Customer unresponsiveThe customer hasn't replied within a set time
Teammate unresponsiveYour team hasn't replied within a set time
sla.approaching_breachAn SLA deadline is close
sla.breachedAn SLA deadline has passed
ticket.createdA new ticket is created
ticket.status_changedA ticket's status category changes

ticket.created and ticket.status_changed only dispatch when the ticket has a linked customer conversation. A ticket created without a linked conversation never fires these triggers.

Actions

ActionDoes
Assign agentAssigns the conversation or ticket to a specific teammate
Assign teamAssigns to a team
Add tagAdds a tag
Remove tagRemoves a tag
Set priorityChanges priority
SnoozeDelays the conversation for a set duration
CloseCloses the conversation
ReopenReopens the conversation
Apply SLAApplies an SLA policy
Set attributeSets a structured conversation attribute
Send webhookSends the event to any HTTPS endpoint
Add noteAdds an internal note
Set ticket statusChanges a ticket's status
Convert to ticketConverts the conversation into a ticket

Webhook actions only accept HTTPS URLs. See Webhooks for the payload format and signature verification.

Versioning and preview

Every save creates a new version, up to 50 per workflow. Restore any earlier version if a change didn't work out the way you expected.

Before you publish, run Preview against a real conversation. It's read-only: conditions and branches evaluate for real against that conversation's data, but nothing is written. No message is sent, no action runs, no run is recorded.

Manual runs

Sometimes you want a workflow to run once, right now, against the conversation you're looking at, without waiting for its trigger to fire naturally. A manual run does exactly that from the conversation composer.

A manual run skips the trigger-time targeting checks (audience, channel, send window, and per-person frequency caps) but not the workflow's own logic. Every condition and branch inside the graph still evaluates normally.

Next steps