Escalate tagged Intercom bugs into Linear without duplicates
When support tags a conversation as a bug, an AI agent files it in Linear, checks it is not a duplicate first, and tells engineering.
I want an agent that escalates tagged Intercom conversations into Linear bugs, without filing a duplicate every time a second customer reports the same thing.
Trigger this on a webhook from Intercom when a tag is applied to a conversation (the conversation_part.tag.created topic). Make the tag name a configurable input that defaults to "bug", so a team can point it at "escalate", "needs-eng", or whatever they already use. If the tag that fired does not match the configured name, stop immediately and do nothing.
When a matching tag fires, use the Intercom operation Retrieve a Conversation to pull the entire thread, including all of its conversation parts. Read the whole exchange and work out: the reproduction steps, what the customer expected versus what actually happened, any error messages, IDs, or URLs they mentioned, which customer and company reported it, and whether they are fully blocked or have a workaround. Support threads are messy and out of order, so reconstruct the actual sequence of events rather than quoting the customer verbatim.
Before creating anything, use the Linear operation Search Issues to look for an existing open issue describing the same symptoms. Search on the distinctive technical terms from the report rather than the customer's exact phrasing, and try a second and third wording if the first search comes back empty. Only treat a result as a match if it genuinely describes the same underlying bug, not merely the same feature area. Ignore issues that are already closed, archived, or shipped.
If you find a confident match, use the Linear operation Add Comment to Issue to append this report to the existing issue instead of filing a duplicate. The comment should name the customer and company, note whether they are blocked and since when, add anything new this thread reveals that the issue does not already capture, and link back to the Intercom conversation. Do not restate what is already in the issue.
If nothing matches, use the Linear operation Create Issue to file a new one on the right team. Write a title that describes the symptom concisely, and a description containing the reproduction steps, expected versus actual behaviour, the affected customer and company, and a link to the Intercom conversation. Set the priority yourself based on how many customers are affected and how badly they are blocked: urgent when a customer is fully blocked with no workaround or several customers have already hit it, high when it blocks a core task but a workaround exists, normal for everything else. State in the description why you chose that priority so an engineer can overrule you.
Either way, post to the engineering channel using the Slack Bot operation Send a Message. Say clearly whether this was a newly filed issue or another report on an existing one, and include the Linear link, the customer name, the priority, and a one or two sentence summary of the bug. Make the channel a configurable input.
Finally, write the Linear URL back onto the Intercom thread using the Intercom operation Reply to a Conversation, as an admin note rather than a customer-visible reply, so the support rep who applied the tag can follow the issue without leaving the inbox. Note whether it was newly filed or added to an existing issue.
One guard: if the conversation has already been escalated, meaning the thread already contains an admin note with a Linear link, do not file or comment again. Post a short note to Slack saying it was already escalated and stop there.
Additional information
What does this prompt do?
- Watches for a tag of your choosing on your Intercom conversations, like bug or escalate, and kicks off the moment a teammate applies it.
- Reads the whole conversation and writes up the reproduction steps, the affected customer, and whether they are completely stuck.
- Checks your existing Linear issues first, so a second report of a known bug gets added as a comment on the open issue instead of becoming a duplicate.
- Posts the Linear link to your engineering channel in Slack and drops the same link back on the Intercom thread as an internal note.
What do I need to use this?
- An Intercom workspace where your support team already tags conversations, plus permission to connect it.
- A Linear workspace, and the team you want bug reports filed against.
- A Slack workspace and the engineering channel where escalations should land.
How can I customize it?
- The tag that triggers everything: keep it as bug, or point it at escalate, needs-eng, or whatever your team already uses.
- The Linear team bugs get filed to, and how strict the agent should be before it calls something a duplicate.
- The Slack channel that gets notified, and how much detail the message carries.
FAQs
Will it create duplicate issues if several customers report the same bug?
Does the customer see anything?
Can I use a tag other than bug?
How does it decide the priority?
What happens if it matches the wrong issue?
Related templates
Every weekday, find every unpaid JobNimbus invoice, email each customer one reminder that gets firmer as it ages, and post a receivables summary to Slack.
Every weekday at 7am, your active courses are checked for missing work, silent logins, and slipping grades, with a ranked list sent to your advising channel.
Every hour, find the tickets closest to breaching, leave a nudge on each one, and post a ranked at-risk list to your support channel.
Every weekday afternoon, each student who is behind gets a warm, personal message in their Canvas inbox listing exactly what they owe.
Every Monday at 8am, see exactly which assignments have work waiting, sorted worst first, posted to Slack and logged to a spreadsheet.
Every weekday morning we compare your password vault against your HR records and suspend access for anyone who has already left.
Stop retyping bug reports from Intercom into Linear.
Your support team applies a tag, and the write-up, the duplicate check, and the engineering ping all happen on their own.