# Turn Crisp chats into a product feedback board for Linear

> See what customers keep asking for in live chat, grouped into themes with their real quotes, and file the ones worth building as Linear issues.

- Workflow type: app
- Services: Crisp, Linear
- Categories: Product, Customer Support
- Published: 2026-08-21

## What it does

- A board of feedback themes in New, Accepted and Filed columns, so your weekly product review has one place to start instead of a blank page.
- Every theme card gives you a plain-language problem statement, how many separate customers raised it, and their exact words, with each quote linked back to the chat it came from and readable without leaving the board.
- One button reads the chats since your last review, pulls out the requests and complaints, and folds them into themes you already have instead of piling up near-identical cards.
- File any theme as a Linear issue in one click, then watch that issue's live status on the card, so the board doubles as a view of what actually shipped.

## What you'll need

- A Crisp account with live chat history your team can read
- A Linear workspace, and the team you want product issues filed into
- A regular review slot, weekly works well, and someone who decides what gets built

## Prompt

I want an app my product manager opens every week to review what customers have been asking us for in Crisp live chat, and to turn the recurring asks into Linear issues. It is about feature requests and repeated complaints clustered across many conversations, not individual bug reports.

The main surface is a board of feedback themes in three columns: New, Accepted, and Filed. Each theme card shows a plain-language problem statement, the number of separate customers who raised it, and the verbatim quotes backing it. Every quote links to the Crisp conversation it came from and can also be read inline on the card, so the PM can check the evidence without leaving the board. Sort themes inside each column by the number of distinct customers rather than raw mention count, so one loud customer cannot dominate the ranking. The PM moves a card from New to Accepted when the team agrees it is worth doing.

A "Mine recent chats" button kicks off a background agent. It reads the Crisp conversations since the last run using List Conversations over that date range, paging until a short page comes back, then pulls each transcript with Get Messages In Conversation. Crisp timestamps are Unix epoch in milliseconds, so the date-range filtering needs to handle that. The agent reads the transcripts for feature requests and recurring complaints and writes what it finds onto the board.

Merging matters more than volume here. Before creating a new card, the agent compares each ask against the themes already on the board and folds matching ones into the existing theme, attaching the new quote and adding the customer to that theme's distinct-customer set, rather than creating a near-duplicate card. Only genuinely new asks become new cards in the New column. When an existing theme picks up new evidence, make that visible on the card so the PM can see what changed since last week.

Once a conversation has been mined, tag it with a segment using Update Conversation Metas, for example "feedback-mined", and check existing segments with Get Conversation Metas so the agent skips anything already tagged. Conversations should never be read twice, both to save time and to keep customer counts from inflating across runs.

Per theme, the PM hits "File in Linear". That opens a prefilled issue containing a title, the problem statement, the supporting customer quotes, and the customer count, all editable before anything is created. On confirm, create it with Linear Create Issue into a team the PM picks, populating that picker with List Teams. Then move the card to the Filed column and store the created issue id on the theme.

Once filed, the card shows the live status of that Linear issue by reading it back with Get Issue, and the Filed column refreshes in bulk with List Issues. Show the issue identifier, its current workflow state, and a link to open it in Linear, so the board doubles as a view of what actually shipped off the back of customer feedback.

A theme can also be dismissed as "not doing" with a short reason. Dismissed themes leave the board and stay off it on future runs, so the agent must check the dismissed list before writing new themes and never resurrect one, even if customers raise the same ask again. Keep the dismissed themes and their reasons viewable somewhere so the PM can see what was declined and restore a theme if the team changes its mind.

Persist the themes, their quotes and source conversation ids, the distinct customers behind each theme, the column each card sits in, dismissal reasons, filed Linear issue ids, and the timestamp of the last mining run. Everyone who opens the app should see the same board, and each run should only pick up what is new since the previous one.

## How to customize

- Change how far back the first review reaches, and how much history each later run picks up
- Rename or add board columns to match how your team triages, for example adding an In Progress column
- Set a bar for what appears on the board, such as hiding anything only one customer has ever asked for

## FAQ

### Will it read the same conversations twice?

No. Each chat is marked as already reviewed in Crisp once it has been read, so later runs skip it. That keeps your customer counts accurate instead of inflating them every time you refresh the board.

### What stops one very vocal customer from dominating the board?

Themes are ranked by how many separate customers raised them, not by how many times the topic came up. Ten messages from one account count once, so a single loud customer cannot push their pet request to the top.

### Does it file Linear issues automatically?

No, and that is the point. The background agent only puts themes on the board. Nothing reaches Linear until a person opens a theme, reviews the prefilled issue, and creates it.

### Can I edit the issue before it is created?

Yes. The title, the problem statement, the supporting customer quotes and the customer count are all prefilled and fully editable, so you can reshape it for your engineering team before anything is created.

### What happens to ideas we decide not to build?

Dismiss the theme with a short reason. It leaves the board and stays off it on future runs, even if customers mention the same thing again, so you are not re-deciding the same request every week.

### Is this for bug reports?

Not really. This board is built for feature requests and recurring complaints that are worth clustering across many conversations. One-off bug reports are better handled as they arrive, chat by chat.

Use this prompt in General Input: https://www.generalinput.com/prompts/turn-crisp-chats-into-a-product-feedback-board-for-linear