Avoid Duplicate Tickets Across Channels
Customers often switch channels when they need an update. They may email first, then send a WhatsApp message, or start on live chat and later reply on Instagram. Without deduplication, each message can create a separate agent ticket for the same customer and the same issue.
Flowcall's cross-channel ticket handling keeps one active customer issue attached to one ticket. When the same customer reaches out on another supported channel while an active ticket already exists, Flowcall updates or routes the existing ticket instead of creating another ticket for agents to handle.
When to Use This Recipe
Use this setup if your team supports the same customers across multiple channels and those channels resolve to the same customer record.
For example:
- A customer emails about an order issue.
- The email ticket is still open.
- The same customer sends a WhatsApp message asking for an update.
- Flowcall finds the existing ticket and decides whether to move it to WhatsApp or keep it on email.
The goal is to avoid duplicate queue work. Agents should not see separate active tickets for the same customer just because the customer tried a second channel.
What Flowcall Deduplicates
Flowcall checks for an existing active ticket for the customer before creating a new one. If an active ticket is found on another channel, the incoming message is handled as part of that ticket's routing flow.
This prevents:
- Two agents picking up the same customer issue on different channels.
- The AI continuing a conversation while a human ticket is already open elsewhere.
- Customers receiving conflicting answers from different queues.
- Queue volume being inflated by repeated messages from the same customer.
Resolved tickets are not treated as active for this deduplication flow. If the earlier ticket is already resolved, the customer's new conversation can create a new ticket.
Agent Ticket Behavior
For tickets that are already with the support team, Flowcall uses the fixed priority Chat → Email → Voice Call. Chat groups WhatsApp, Instagram, and Live Chat.
This applies when the existing ticket is:
- Queued
- Assigned
- Blocked
The fixed priority decides where the active ticket should live.
If the incoming segment has higher priority than the current ticket segment, Flowcall moves the ticket to the incoming channel. For example, if the customer has an open email ticket and then messages on WhatsApp, the ticket moves to WhatsApp.
If the existing ticket segment has equal or higher priority, Flowcall keeps the ticket there. For example, a WhatsApp ticket stays on WhatsApp when the customer sends an email or contacts the business through Instagram. The customer is told that support will continue on the active channel instead of creating a second ticket.
This prevents the same issue from being split across agent queues while keeping chat work on its established chat channel.
Routing matrix
Read each row as the ticket's current segment and each column as the channel where the new customer interaction arrives.
| Current ticket | Incoming Chat | Incoming Email | Incoming Voice Call |
|---|---|---|---|
| Chat | Keep its current chat channel | Keep Chat | Keep Chat |
| Move to the incoming chat channel | Keep Email | Keep Email | |
| Voice Call | Move to the incoming chat channel | Move to Email | Keep Voice Call |
Within the Chat segment, the existing source wins. For example, a WhatsApp ticket stays on WhatsApp when the customer also messages through Instagram or Live Chat. Flowcall records the additional source without moving the ticket to a different chat inbox.
Voice calls are the lowest-priority segment
An existing Chat or Email ticket stays on that segment when a voice call starts. The call is linked to the existing ticket without changing its active source. A standalone Voice Call ticket moves to Email or Chat when the customer later contacts either segment.
Awaiting Response Ticket Behavior
Awaiting-response tickets work differently from agent tickets.
This applies when the existing ticket is:
- Awaiting response (by agent)
- Awaiting response (by system)
These tickets are waiting because Flowcall expects the customer to reply. When the customer replies on a different supported channel, Flowcall treats that channel as the active customer channel.
In this case, channel priority is not used. The ticket moves to the channel where the customer replied, reopens into the queue, and Flowcall sends a short acknowledgement on that channel. The customer should not be forced back to the older channel when they have already restarted the conversation somewhere else.
For example:
- An agent marks a WhatsApp ticket as awaiting response.
- The customer later replies by email.
- Flowcall reopens the same ticket on email instead of creating a new email ticket.
- Agents continue from the same ticket context.
This keeps the queue accurate while preserving the customer's latest active channel.
Manual tickets
A ticket created manually does not yet have a customer conversation channel. The first supported inbound interaction claims that ticket's source. After that, the normal status and segment rules apply.
When the setting is off
Turning off Cross-channel Ticket Handling disables the fixed segment decision for queued, assigned, and blocked tickets. It does not change the awaiting-response reactivation rule or the first-channel behavior for manual tickets. Other existing-ticket reuse rules also continue to apply.
Customer Notifications
Flowcall sends operational routing messages so the customer knows where support will continue.
Common cases:
- If an email ticket moves to WhatsApp, Instagram, or live chat, the email thread receives a notice that the ticket moved.
- If a customer emails while the existing ticket should stay on a higher-priority channel, Flowcall replies by email and tells them support will continue on that channel.
- If an awaiting-response ticket reopens on the channel where the customer replied, Flowcall acknowledges that the conversation will continue there.
These notices are not normal AI answers. For email, routing notices are sent even if automatic email replies are off or the thread has reached the Max AI email replies limit.
For WhatsApp, Instagram, and Live Chat, Flowcall makes this decision before starting normal AI conversation processing. If the existing ticket handles the interaction, Flowcall sends the operational acknowledgement and does not start a separate conversation for the incoming message.
Recommended Configuration
Enable cross-channel handling when the same customer identity is shared across Chat, Email, and Voice Call. If you turn it off, remember that awaiting-response reactivation, manual-ticket channel claiming, and other existing-ticket reuse rules still prevent some duplicate work.
Related Settings
Configure this behavior under Settings → Ticket Behavior.
For the reference lifecycle details, see Ticket Lifecycle → Cross-channel Ticket Handling.