Creating Workflows
What are workflows?
Workflows automate repetitive tasks in your helpdesk. Instead of manually tagging every billing question, assigning tickets to the right person, or sending an acknowledgment email, you set up a workflow once and let it handle that work for every matching ticket going forward.
Each workflow has three parts: a trigger (when should this run?), conditions (which tickets should it apply to?), and actions (what should happen?). For example, you might create a workflow that says "When a new ticket arrives, if the subject contains 'invoice', add the 'billing' tag and assign it to the billing team."
Why use workflows?
Without workflows, your team spends time on repetitive triage: reading each ticket, deciding where it belongs, tagging it, assigning it, maybe sending an initial acknowledgment. Workflows handle that automatically, so your team can focus on actually helping customers.
Some common examples:
- Tag tickets based on keywords in the subject or body, so your inbox stays organized without manual effort.
- Assign tickets from specific email domains to the account manager responsible for that company.
- Send an automatic acknowledgment when a new ticket arrives outside business hours.
- Run an AI prompt to classify tickets and route them to the right team.
- Flag tickets from first-time contacts so your team gives them extra attention.
Creating your first workflow
Go to Settings > Workflows and click Create workflow. Give it a descriptive name (like "Tag billing questions") and an optional description so your team understands its purpose.
Next, choose your trigger type, add at least one condition, and configure the actions you want to run. See Conditions and Actions for the full list of options.
On the Workflows page, workflows are grouped by trigger and run from top to bottom. You can control the order within each trigger group by dragging a workflow up or down with its drag handle. All enabled workflows that match a ticket will execute their actions, not just the first one. This means you can have multiple workflows that apply to the same ticket without them conflicting.
Trigger types
On new ticket
Runs once when a new ticket is created. Does not run on replies to existing tickets. Use this for actions that should fire only on the first message of a ticket (initial routing, welcome auto-replies, assigning a new ticket to a team, etc.).
On inbound message
Runs on every inbound message, including replies into existing tickets. Use this for routing or tagging logic that should re-evaluate on each new message, or for sending follow-up auto-replies.
If you only want a workflow with this trigger to run on the first message of a ticket, the cleaner choice is the On new ticket trigger. The Is the first message in the ticket condition exists for cases where you want the same workflow to also handle other inbound-message logic.
On no reply
Runs when a customer message has been waiting for a reply longer than the duration you configure, expressed in minutes, hours, or days. Use this to escalate tickets that risk missing a response time agreement: assign them to a specific person or team, add a tag like "overdue", post an internal note, or send a webhook to an external system.
A few things to know about how this trigger behaves:
- The clock starts at the first customer message that has not received a reply yet. Follow-up messages from the customer do not restart it.
- The workflow runs once per waiting period. After it has run, it will not run again for the same ticket until someone replies and the customer writes in afterwards.
- Closed and spam tickets are skipped, as are conversations currently handled by the AI agent (those have their own escalation flow).
- Tickets are checked every few minutes, so the workflow runs shortly after the configured time has passed.
How the duration is counted
By default the duration is plain clock time. Nights and weekends count.
- Minutes and hours measure exact elapsed time. With "4 hours", a customer message that arrives Friday at 22:00 triggers the workflow Saturday at 02:00.
- Days are calendar days, which is simply a shorthand for 24 hour blocks. With "2 days", a message that arrives Monday at 15:00 triggers the workflow Wednesday at 15:00.
Only counting business hours
With the business hours option enabled, the clock follows your business hours schedule instead of plain clock time. Configure your schedule under Settings > Business hours.
For durations in minutes or hours, the option is called "Only count business hours": only time inside your business hours counts, and the clock pauses outside of them. Some examples, assuming business hours of Monday to Friday, 09:00 to 17:00:
- "4 hours" for a message that arrives Friday at 16:00: one hour counts on Friday (16:00 to 17:00), the weekend counts for nothing, and the remaining three hours count on Monday morning. The workflow triggers Monday at 12:00.
- "4 hours" for a message that arrives Saturday: nothing counts until Monday at 09:00, so the workflow triggers Monday at 13:00.
- "30 minutes" for a message that arrives Tuesday at 10:00: entirely within business hours, so the workflow triggers Tuesday at 10:30, the same as without the option.
For durations in days, the option is called "Only count business days": days on which you are fully closed do not count toward the duration. A day with any opening hours counts as one business day, regardless of how long you are open. With the same Monday to Friday schedule:
- "2 days" for a message that arrives Friday at 14:00: Saturday and Sunday do not count, Monday is the first business day and Tuesday the second. The workflow triggers Tuesday at 14:00 instead of Sunday at 14:00.
- "1 day" for a message that arrives Saturday at 10:00: Sunday does not count, so the workflow triggers Monday at 10:00.
If every day in your schedule is closed, a business day deadline can never arrive and the workflow will not run.
You can scope the response time per client with conditions. For example, give a specific channel or sender domain a stricter workflow with a shorter time, and a general catch-all workflow with a longer one.
Manual
Manual workflows appear as options in the ticket sidebar when you are viewing a ticket. Click the workflow to run it. The conditions are still checked before execution, so a manual workflow will only run if the current ticket matches. This is useful for actions you want to apply selectively, like escalation procedures or specialized response templates that only make sense in certain situations.
Enabling and disabling workflows
Every workflow has an enabled/disabled toggle. Disabling a workflow preserves its configuration but prevents it from running. This is useful when you need to temporarily pause automation (for example, during a product launch or maintenance window) without losing your setup. Re-enable it whenever you are ready.
Disabled workflows do not appear in the manual workflow list on the ticket sidebar.