Rank your Intercom queue by what each customer pays you
See every open conversation next to that customer's plan, monthly value and unpaid invoices, so the expensive account never sits waiting all morning.
Build me a support triage board that ranks my open Intercom queue by how much each customer is actually worth, so my team stops working conversations in whatever order they happen to land.
The main screen is a sortable, filterable list of open conversations, one row per conversation. Load the queue with Intercom's Search Conversations operation, filtered to open conversations, and paginate so I see the whole queue rather than the first page. Each row shows the conversation subject or the first line of the customer's message, who it is from (name and email from the Intercom contact, using Get a Contact where the search result does not already carry it), and how long the conversation has been waiting. Measure wait time from the timestamp of the last message sent by the customer, not from when the conversation was created, so a long running thread that a teammate answered ten minutes ago does not look urgent while an untouched new question does.
Next to that, every row shows the billing picture for that person. Take the contact's email address and match it into Stripe with Search Customers using Stripe's email query syntax. When there is a match, read that customer's plan and recurring value with List Subscriptions filtered by customer, and read any unpaid or overdue invoices with List Invoices filtered by customer and status. Condense it into a short readable summary in the row, something like "Growth plan, 480 a month, 1 invoice past due". Normalize annual subscriptions to a monthly figure before you store or sort on the number, so a yearly plan and a monthly plan can be ranked honestly against each other, and remember Stripe amounts arrive in the smallest currency unit.
Rows must be sortable and filterable by account value, wait time, and whether the customer has an open billing problem. On top of that I want a highlight rule I can set and save myself, expressed as a monthly value threshold plus a waiting time threshold, for example flag anything above 500 a month that has been waiting more than four hours. Highlighted rows should be visually obvious at the top of the board, because the whole point of this app is spotting the expensive customer who has been sitting untouched all morning. Persist my highlight rule and my default sort so the board looks the way I left it every time I open it.
Clicking a row opens a detail panel. Pull the full thread there with Intercom's Retrieve a Conversation operation, which returns the conversation parts, and show it in order with a clear distinction between customer messages and teammate replies. Alongside the thread, show that customer's subscription history and their invoice history from the same Stripe reads, so the person working the conversation never has to open another tab to answer a billing question.
From the detail panel I want a "Prep this reply" button that kicks off a background agent. The agent reads the whole thread plus the billing context for that customer and writes a short brief back into the app covering three things: what the customer is actually asking for, whether their billing status is relevant to the issue (for example a past due invoice behind a locked account, or nothing to do with it), and a suggested reply my teammate can copy. The agent then applies a priority tag to that conversation in Intercom with Tag a Conversation, so the ranking is visible to anyone working inside the Intercom inbox as well, creating the tag first with Create or Update a Tag if it does not exist yet. Store each brief against its conversation so it stays visible in the app after the agent finishes, with a timestamp and a way to re-run it if the customer sends another message.
Two rules matter a lot. First, keep the board useful even when a contact has no Stripe match: show that row as a free or unknown account rather than hiding it, and let me filter to those rows deliberately if I want them. Second, the agent's brief is clearly marked as a draft for a human to read, edit and send. Nothing in this app ever replies to a customer automatically, and the only thing it writes back into Intercom is the priority tag.
Practical notes: cache each contact's billing lookup for a short period and reuse it across rows so a busy queue does not make one Stripe call per row per refresh, and handle a contact with several Stripe matches or no email at all without breaking the row. Give me a refresh control on the board and show when the data was last loaded.
What does this prompt do?
- Pulls your open Intercom conversations into one sortable board, one row per conversation showing the subject, who it is from, and how long they have been waiting since their own last message.
- Matches each person to their billing record by email and shows their plan, what they pay a month, and whether they have any unpaid or overdue invoices, so a row reads something like Growth plan, 480 a month, 1 invoice past due.
- Sorts and filters by account value, wait time, or open billing trouble, with a highlight rule you set yourself to flag the combinations you care about.
- Opens the full thread in a side panel, where a Prep this reply button hands the conversation and billing history to an agent that writes a draft brief back into the app and marks the conversation as priority inside Intercom.
What do I need to use this?
- An Intercom workspace, with permission to read conversations and apply tags
- A Stripe account with read access, where customer emails broadly match the emails on your Intercom contacts
- A rough idea of what counts as a high value account for your team, so you can set the highlight rule on day one
How can I customize it?
- Change the highlight rule thresholds, for example anything above 500 a month that has been waiting more than four hours.
- Choose which conversation states show on the board, and whether the value column reads as monthly or annual.
- Rename the priority tag the agent applies in Intercom, or change what the reply brief is asked to cover.
FAQs
What happens when a customer has no Stripe record?
Does the agent reply to my customers for me?
How is wait time measured?
How do annual plans appear next to monthly ones?
Will the priority show up for teammates working inside Intercom?
Related templates
Open one desk each morning to see every account still in a trial, ranked by how much money is at stake against how little they have actually used.
Review every conversation Fin closed as resolved, judge which ones actually stuck, and see what the gap is worth against your bill.
A board your product marketer opens on every ship day to turn finished engineering tickets into announcements customers actually read in your Messenger.
See every dispute ranked by how little time is left, get a rebuttal drafted from real fraud signals, and submit only what you approve.
Type a customer email before a renewal call and get their whole support history next to their plan, their invoices and their open deals.
Open one screen each month to see your real numbers, write the commentary yourself, and generate a board deck you can send to investors.
Stop working your support queue in the order it happened to arrive.
Put the customers who pay you most at the top of the list, with their billing picture already on screen before anyone starts typing.