Prefer to talk it through?
Book a consultation that's ideal if you’re planning a project and want to explore the fit, scope, and the next steps.
Just need a one-time consultation?
Get strategic CX guidance, troubleshooting help, or implementation advice.
Ideal for teams who need strategic advice, quick validation before making bigger changes, or for complex questions about setup.
Intercom Ticketing & Escalation Architecture for Kaching Appz
Kaching Appz builds a suite of Shopify apps – bundles, cart upsells, and subscriptions, designed to grow revenue for eCommerce merchants.
Key Issues
Escalations Disappeared Into Slack
When an issue needed developer input, agents raised it in a Slack thread. Nothing structurally connected that thread to the Intercom conversation or to the Linear issue that followed. Status depended on someone remembering to report back, and a customer waiting on a fix was invisible unless an agent went looking for them.
No Ticket Architecture Behind the Conversation
Every request lived as a conversation, whether it was a two-minute answer or a bug awaiting a release. There was no distinct state to show that something had left support’s hands, so the inbox gave no honest picture of what was genuinely in progress versus what was waiting on someone else.
Conversations Claimed Manually, Load Distributed Unevenly
Agents picked work from a shared inbox. Distribution depended on who looked first, there was no ceiling on how much any one agent could hold, and the easier conversations were naturally claimed faster than the difficult ones.
Blocked Conversations Consuming Agent Capacity
Conversations waiting on a customer reply stayed open indefinitely. They occupied attention that could not be spent on them, and would have blocked new work from being assigned once automatic distribution was introduced.
Plan Limitations
The workspace was on Intercom’s Essential plan, which excludes Workflows, workload management, SLAs, and the ticketing capabilities that everything above depends on.
Solutions
Two-Tier Ticket System with Escalation States
Designed a ticket architecture separating customer-facing support tickets from internal escalations, with custom states reflecting where an issue actually sits — Submitted when it needs troubleshooting, Escalated once development has picked it up. State is driven by what happens downstream rather than by someone remembering to update it.
Intercom to Linear Integration
Built a two-way sync using Make. Creating a Linear issue automatically moves the Intercom ticket from Submitted to Escalated and links the issue back to the originating conversation. When the issue is resolved, the outcome posts into the Slack side-conversation thread the agent is already working in — no separate place to check, and no status request to send.
Slack Side Conversations for Developer Escalation
Configured side conversations so escalations reach developers in Slack, where they already work, while staying attached to the Intercom conversation. Support keeps the thread and the customer context; developers are not asked to learn a support tool.
Balanced Assignment with Workload Management
Enabled Balanced assignment — conversations route automatically to whoever currently holds the fewest open conversations — with a cap on concurrent open conversations per agent. Manual claiming was removed, and with it the tendency for easy conversations to be picked first.
Snooze-Based Capacity Recovery
Configured snooze so conversations waiting on a customer leave the agent’s open count and free capacity for new assignment. A workflow monitors them: an automated follow-up after one hour, an automated close with tagging after three, and an immediate reopen the moment the customer replies.
Contact and Conversation Enrichment
Configured person and conversation custom data attributes so context populates automatically when a conversation opens, and key conversation fields are set at creation rather than filled in by hand mid-conversation.
Custom Shopify Review App
Built a canvas app surfacing Shopify review data directly inside the Intercom conversation, giving agents merchant context without leaving the inbox.
Agent Documentation and Rollout
Produced agent-facing documentation covering the new assignment model, capacity limits, when to snooze versus escalate, and the notification settings the change depends on — because configuration nobody understands gets worked around rather than used.
Tools used
- Intercom
- Linear
- Slack
- Make
- Shopify
Timeline
-
Audit / Implementation / Testing / Rollout
2 months
Results
-
Escalations That Cannot Be Silently Dropped
Ticket state now follows developer activity in Linear rather than manual updates. An escalation that stalls is visible in the inbox instead of sitting unnoticed in a Slack thread.
-
Support and Development Each Working in Their Own Tool
Developers stay in Linear and Slack; agents stay in Intercom. The integration carries state between them, removing coordination overhead that previously fell on whoever happened to remember to chase.
-
Even Distribution Without Cherry-Picking
Automatic Balanced assignment replaced manual claiming. Work distributes according to current load, and the order in which conversations are handled no longer depends on who looks at the queue first.
-
Agent Capacity Spent Only on Work That Can Move
Conversations waiting on customers no longer occupy capacity. Agents hold only what they can act on, and inactive conversations resolve themselves through automated follow-up rather than accumulating in the inbox.
-
An Inbox That Reflects Reality
Between ticket states, enrichment, and assignment rules, the workspace now shows what is genuinely in progress and what is blocked and on whom – which makes the reporting meaningful rather than a count of open conversations.