Workflows and tickets

Tickets are where workflows meet your team. A ticket can start a workflow, host its approvals and questions, and collect the replies that resume a paused run, all on one timeline instead of a scatter of notifications.

A workflow with its run history
A workflow's runs: each started from an incoming request, with status and timing.

Three ways they work together

As a trigger. A workflow can start when a new ticket is created, when a new message arrives, or when an internal note is added, if your admins enabled those triggers for that workflow. Messages the workflow generates itself are ignored as triggers, so the same flow does not re-trigger forever.

As a linked run. A workflow run can be attached to a ticket your team is already viewing. Updates from the workflow (questions, approvals, outcomes) appear in the ticket thread when configured, so support sees a single timeline rather than a separate system to check.

As the place for human input. A paused workflow can wait for a reply on the ticket. When someone posts a normal message, the workflow resumes and reads the new context; the exact behavior depends on how the step was configured. This is the same surface where approvals appear, and it is where chat conversations land when Harriet escalates to your team through the channels described in Channels.

A typical flow: someone opens a ticket about a broken door lock, a workflow triggered on new ticket asks structured questions on the thread (building, floor, urgency), waits for the answers, then routes internally when complete.

When a run gets a ticket

Whether a new ticket appears depends on how the workflow started and how it is configured.

A team member typing "Start vendor onboarding" in web chat gets ticket #4521 with the run attached; the same checklist fired by a midnight schedule might only write to the run history unless the workflow includes a create-ticket step.

Keeping the noise down

Because workflow-posted messages never count as triggers, a run can post updates on the ticket it was triggered by without setting itself off again. Two habits keep the rest tidy:

💡

If people are surprised by new tickets, turn off Create ticket when run from chat in Settings → Triggers, or coach them to use chat only when they want a tracked thread. Privacy-sensitive flows should leave ticket creation off so an internal-only run is enough.