Ticket Lifecycle
A ticket is how Flowcall tracks a piece of work. This page explains what a ticket is, the statuses it can be in, and how it moves between them. For the day-to-day workspace where agents act on a ticket, see Ticket View.
What a Ticket Is
In Flowcall, the first level of every conversation is handled by AI. The AI gathers information and decides whether the customer needs to be handed over to a human agent. A ticket is the mechanism for that handover — it marks that a customer now needs to be handled manually.
Reasons a ticket gets handed to a human include:
- Your process (SOP) requires it. For example, a refund may be technically possible for the AI to process, but your company wants a retention team to talk to the customer first and try to keep them.
- The customer asks for a human.
- Sentiment. If the customer is frustrated or aggressive, a ticket is created so a person can step in.
Every Conversation Creates a Ticket
Although tickets are primarily about handover, that's not the whole story: a ticket is created for every conversation. When a customer starts a conversation, a ticket already exists — it's just in progress, meaning it's still with the AI.
From there, the ticket either closes automatically when the AI resolves the conversation, or it gets handed over and assigned to a human agent.
Conversation starts
│
▼
Ticket created (in progress — with AI)
│
├──► AI resolves ──► Resolved by AI
│
└──► Handover ──► Queued ──► Assigned to agent ──► Resolved by agent
A single conversation can produce multiple tickets over time.
The Statuses
Every ticket is in exactly one status at a time. They fall into four groups.
In progress
| Status | Meaning |
|---|---|
| In progress | The AI workflow is actively driving the ticket. No human is needed yet. |
Open (needs a human)
These are the statuses that put a ticket in the human queue.
| Status | Meaning |
|---|---|
| Queued | Needs a human and is waiting to be assigned to an agent. |
| Assigned | An agent has picked up (or been given) the ticket and is working it. |
| Blocked | The ticket is waiting on a child ticket — a sub-task being handled by another agent or team — before it can continue. |
Awaiting response
The ticket is waiting on the customer to reply.
| Status | Meaning |
|---|---|
| Awaiting response (by agent) | An agent marked the ticket as waiting on the customer. |
| Awaiting response (by system) | The system marked it as waiting — for example after a long period with no customer reply. |
| Awaiting response to resolve | Resolve confirmation is enabled and an agent clicked Resolve. Flowcall is waiting for the customer to confirm before the ticket closes for good. |
Resolved
The work is done. Resolved tickets leave the active queue.
| Status | Meaning |
|---|---|
| Resolved by AI | The AI completed the conversation end to end. |
| Resolved by agent | A human agent resolved the ticket. |
| Closed | Closed out — for example a child or interaction ticket auto-closed once its parent finished, or a ticket closed by an integration. |
| Stale | Marked stale because the work was abandoned or is no longer relevant. |
| Stale (automatic) | The same, but marked automatically by Flowcall after a ticket sat idle too long. |
How Statuses Transition
The diagram below shows the common path a ticket travels. Not every ticket touches every status — an AI-handled conversation may go straight from in progress to resolved by AI.
┌─────────────────────────────────────────┐
│ │
in progress ───────► resolved by AI │
│ ▲ (customer returns unhappy / │
│ handover │ quick follow-up → reopened) │
▼ │ │
queued ───────────► assigned ───────► resolved by agent │
▲ │ │ │
│ │ child ticket │ mark awaiting response │
│ ▼ ▼ │
│ blocked awaiting response ───────────────────────┘
│ │ │ customer replies
│ │ child resolved │
│ ▼ ▼
└── in progress back to queued / blocked
The key transitions:
- Creation. Every new conversation opens a ticket in in progress.
- AI resolves. If the AI finishes the conversation, the ticket becomes resolved by AI.
- Handover to a human. When a human is needed, the ticket moves to queued, and the AI stops responding to the customer.
- Assignment. Assignment moves a queued ticket to assigned when an agent picks it up or one is routed to them.
- Blocked by a child ticket. When part of the work is split off into a child ticket, the parent moves to blocked until that sub-task is answered. Once the last child is resolved, the parent returns to in progress and the AI resumes.
- Awaiting the customer. An agent (or the system) can mark a ticket as awaiting response. If the customer replies, the ticket comes back into the queue — to blocked if it still has open children, otherwise to queued.
- Resolution. When resolve confirmation is off, an agent resolving a ticket sets it to resolved by agent; the AI resolving it sets resolved by AI.
- Resolution confirmation. When Resolve confirmation is enabled for a supported interactive channel, clicking Resolve does not close the ticket immediately. The ticket moves to awaiting response to resolve, and Flowcall sends the customer a confirmation message with Yes/No options. If the customer confirms, the ticket becomes resolved by agent. If the customer says No, the ticket reopens to queued so the team can continue working it. If the customer does not respond before the configured timeout, or declines more times than the configured reopen limit, Flowcall auto-resolves the ticket.
- Going stale. A ticket that sits idle or abandoned for too long is marked stale (manually) or stale automatically (by Flowcall).
Reopening
As a rule, a resolved ticket isn't reopened — when a customer comes back, a new ticket is created.
The main exception is an AI-resolved ticket: if the AI had auto-resolved the conversation and the customer returns shortly after — especially if they return unhappy — Flowcall can reopen that same ticket (back to queued) rather than starting fresh, so the context isn't lost. A ticket resolved by a human agent stays closed; a new conversation starts a new ticket.
Resolve confirmation adds a pre-resolution exception for human-handled tickets. While a ticket is still awaiting response to resolve, a customer rejection reopens the same ticket to queued. Once the ticket reaches resolved by agent, it stays closed.
Cross-channel Ticket Handling
Customers sometimes reach out on more than one channel for the same request — for example, they email first and then send a WhatsApp message when they want a faster update. Flowcall avoids creating a second ticket for that customer while an active ticket already exists.
How the existing ticket is handled depends on its current state:
- Awaiting response. If the ticket was marked awaiting response because Flowcall was waiting for the customer, priority is not used. The customer's new message becomes the active channel, the ticket is reopened into the queue, and the AI sends a short acknowledgement on the channel where the customer replied.
- Queued, assigned, or blocked. If the ticket is already open with the support team, Flowcall uses the configured channel priority to decide where the ticket should stay. If the incoming channel has higher priority, the ticket moves there. If the existing channel has higher priority, the ticket stays there and the customer is told to continue on that channel.
The default channel priority is WhatsApp → Instagram → Live Chat → Voice Call → Email. Admins can change it under Settings → Ticket Behavior.
When email is involved, Flowcall also keeps the customer informed by email:
- If an email ticket is moved to WhatsApp, Instagram, or live chat, the email thread receives a notice saying the ticket moved to that channel.
- If the customer emails while the active ticket should stay on another channel, Flowcall replies by email telling them where support will continue.
- These routing notices are sent even if automatic email replies are off or the thread has reached the Max AI email replies limit, because they are operational handoff messages rather than normal AI answers.
Related
- Child & Interaction Tickets — how a ticket branches into sub-tasks, and what happens when a customer messages while a backend ticket is open.
- Ticket View — the workspace where agents act on a ticket.
- Teams & Assignment — how tickets get routed to the right team and agent.
- Insights → Tickets — analyze ticket volume, status, and resolution trends.