Turn Crisp support chats into Linear bug tickets
When a customer reports a bug in your Crisp live chat, an agent writes it up as a clear Linear ticket for your product team and tells the customer it has been logged.
This workflow runs whenever a visitor sends a new message in one of my Crisp live chat conversations. Trigger it with a webhook from Crisp on the visitor-message event so the agent runs in real time as new customer messages arrive.
When it fires, use Crisp's Get Messages In Conversation to pull the full conversation for that session, so you are working from the whole thread and not just the latest line. Then, as the first and most important step, decide whether the customer is reporting a genuine bug or technical problem. Ignore general questions, how-to requests, account or billing questions, and sales chatter. Gate hard here: only continue when you are confident this is a real bug report. If it is not, stop without creating a ticket or replying.
When it is a genuine bug, draft a clear, reproducible engineering ticket and create it in Linear using Create Issue on my product team. Write a concise, specific title and a well-structured description. Choose an appropriate priority based on severity: urgent for a total outage or data loss, high for a broken core feature, normal for a smaller defect, and low for cosmetic issues.
The Linear issue description must include the steps the customer reported (what they did and what happened), any browser, device, operating system, or app version details they mentioned, and a link back to the original Crisp conversation so engineers can open the full context. If some of these details were not provided, say so rather than inventing them.
After the ticket is created, reply in the same Crisp conversation using Send Message In Conversation to let the customer know their issue has been logged and will be looked at. Keep this reply short, friendly, and customer-facing; do not paste the internal ticket details or the Linear link into the chat. When sending, the message must come from an operator and include the from and origin values that Crisp requires on an outgoing message.
What does this prompt do?
- Watches your Crisp live chat and reads the full conversation whenever a visitor sends a new message.
- Decides whether the message is a real bug or technical problem, and leaves general questions and sales chats alone.
- Writes a clear, reproducible bug ticket in Linear for your product team at a sensible priority, including the customer's reported steps, any browser or device details, and a link back to the chat.
- Replies in the Crisp conversation to let the customer know their issue has been logged.
What do I need to use this?
- A Crisp account with live chat enabled.
- A Linear workspace with a product team where new issues should be created.
- A short description of what counts as a bug for your team, so the agent escalates the right things.
How can I customize it?
- Change which Linear team receives the tickets and how the agent picks priority based on severity.
- Adjust what counts as a genuine bug versus a general question so only the right chats get escalated.
- Reword the customer acknowledgement message to match your brand's tone of voice.
FAQs
Will this create a ticket for every chat message?
What does the customer see?
What ends up in the Linear ticket?
Can I control which team and priority the tickets use?
Do I need to write any code?
Related templates
On the first Monday of every month, find the alarms nobody watches and the monitoring you quietly pay for, then get a costed cleanup list in Slack and Linear.
Every Monday we review your Tailscale network for stale devices and aging keys, then post a ranked cleanup list to Slack and open tickets for the urgent ones.
Every 30 minutes, your assigned Linear issues show up in one TickTick list with matching titles, due dates, and priorities.
Every morning, find out whether your Segment destinations are actually receiving data, and only hear about it when delivery starts failing.
Every morning, check that every Upstash Redis database has a recent backup, take one where it is missing, and raise a Linear issue only when a person is needed.
Every weekday at 8am, get a short Slack brief on which of your tracked social topics are heating up, why it is happening, and what people are actually saying.
Stop losing bug reports in your live chat.
Automatically turn genuine bug reports from Crisp into well-written Linear tickets, and keep your customers in the loop.