# Weekly voice-of-customer report from surveys and support

> Every Monday, last week's survey answers and support conversations become one themed report in Notion, with the top five themes posted to Slack.

- Workflow type: agent
- Services: Typeform, Intercom, Notion, Anthropic, Slack Bot
- Categories: Product, Customer Support
- Published: 2026-08-10

## What it does

- Gathers every survey and NPS submission plus every support conversation from the past seven days into one place, so feedback stops living in two separate tools
- Groups the raw comments into 8 to 15 recurring themes, each tagged with how customers feel and what they are actually asking for, whether that is a feature, a bug, a warning sign, or praise
- Reads last week's report first so themes keep the same names week to week, which means the trend arrows actually mean something instead of resetting every Monday
- Keeps promoter, passive and detractor comments in separate buckets, because what makes someone rave is rarely the opposite of what makes them churn
- Files the full report in Notion and posts the top five themes plus anything newly rising to Slack, linked back to the full write-up

## What you'll need

- A Typeform account with the survey or NPS form you collect feedback through
- An Intercom workspace where your support conversations live
- A Notion workspace, with one page or section set aside for these weekly reports
- An Anthropic account for the analysis
- A Slack workspace and the channel where your product and CX team should see the summary

## Prompt

Every Monday at 8am, gather all of the customer feedback from the past seven days and turn it into one consolidated voice-of-customer report. This is aggregate theme synthesis for product and CX leadership, not routing of individual items, so nothing here should act on a single response by itself.

Before analyzing anything, load last week's report so the theme taxonomy stays consistent. Use Notion Search by Title to find the most recent voice-of-customer report page, then Notion Retrieve Page as Markdown to read its contents. Extract the existing theme names and their volumes, and reuse those names wherever this week's feedback matches an existing theme. Only invent a new theme name when the feedback genuinely does not fit anything from last week. This step is what makes the week-over-week trend meaningful rather than cosmetic, since the analysis has no memory of past runs on its own. If no previous report is found, treat this as the first run and establish the taxonomy fresh.

Then collect the raw feedback from both sources. Use Typeform Retrieve Responses to pull survey and NPS submissions, filtered to the last seven days. Use Intercom Search Conversations to pull support conversations from the same seven-day window. Keep track of which source each piece of feedback came from, and for NPS submissions keep the numeric score attached to the verbatim so promoters, passives and detractors can be separated later.

Send the combined feedback to Claude using Anthropic Create Message for analysis. Structure the instruction in three blocks: context covering the product, the customer profile, the time period and which sources the feedback came from; method covering the analytical passes to run; and output format specifying the exact structure to return. Ask it to cluster the feedback into 8 to 15 recurring themes with a frequency count for each, using last week's theme names wherever they apply.

Tag every theme on two axes. The first is sentiment. The second is intent, meaning feature request, bug report, churn signal, praise, or question. Cluster NPS verbatims into three separate buckets for promoters, passives and detractors, and analyze each bucket on its own rather than as one pool, because the themes that drive a 10 are almost never the inverse of what drives a 2. Attach two or three representative customer quotes to every theme, along with a week-over-week direction showing whether the theme is rising, falling, flat, or new this week compared with last week's report.

Cap each analysis pass at 500 responses. Theme quality degrades badly past that point, with themes collapsing into each other and consistency dropping, so if the week's volume exceeds the cap, split the feedback into several passes and merge the results afterwards rather than sending everything at once. Tell Claude explicitly that if it is uncertain about a theme's grouping or a quote's intent, it should say so rather than forcing a confident label, and surface those uncertainty flags in the finished report so a human knows which groupings to check.

Write the finished report to a new Notion page using Notion Create a Page, titled with the week ending date so it is easy to find next Monday. Structure it as a table with named columns covering theme name, frequency count, sentiment, intent, week-over-week direction, and representative quotes, with the promoter, passive and detractor breakdowns in their own clearly labelled sections and any uncertain groupings called out at the end.

Finally, post a summary to Slack using Slack Bot Send a Message. Include the top five themes by volume, plus anything newly rising this week that was not present or was significantly smaller last week, and link through to the full Notion page so anyone who wants the detail can open it. Keep the Slack message short and scannable, since it is a pointer to the report rather than a replacement for it.

## How to customize

- Change the schedule: Monday at 8am suits a weekly product review, but fortnightly or the first of the month works just as well for lower feedback volumes
- Swap either source: if your surveys run somewhere other than Typeform, or your support inbox is not Intercom, the same shape works with whichever tools you use
- Adjust how many themes you want and how many themes get posted to Slack, along with the response limit for each analysis pass
- Point the Slack post at a different channel, or send it to several channels if support and product read different rooms

## FAQ

### How is this different from a workflow that tags each piece of feedback as it arrives?

Per-item triage answers "where should this one go?" This answers "what are customers telling us as a group this week?" It waits until the week is done, looks at everything together, and finds the patterns that no single response reveals on its own. Most teams end up wanting both.

### Why does it read last week's report before doing anything?

Because AI has no memory between runs. Without last week's report loaded in as a reference, it would invent brand new theme names every Monday, and you could never tell whether a problem was growing or shrinking. Loading the previous report keeps the vocabulary stable, which is what makes the week-over-week direction trustworthy.

### What happens if we get a huge volume of feedback in one week?

Each analysis pass is capped at 500 responses on purpose. Past that point, theme quality drops noticeably, with distinct issues collapsing into vague catch-all groups. Above the cap the feedback is processed in several passes rather than crammed into one.

### Why keep promoter and detractor comments apart?

The things that earn you a 10 are almost never the mirror image of the things that earn you a 2. People rave about outcomes and support, and they churn over pricing, reliability, or one missing feature. Blending them into one list hides both stories.

### Can we trust the themes it produces?

It is instructed to say so openly whenever it is unsure about where something belongs, rather than forcing a confident label. Those uncertain groupings are flagged in the report, so your team knows exactly which parts deserve a second look.

### Do we need a big feedback volume for this to be useful?

It works well from around 50 responses a week upward. Below that you can usually read everything yourself, though the report is still handy as a written record and for the trend line it builds over time.

Use this prompt in General Input: https://www.generalinput.com/prompts/weekly-voice-of-customer-report-from-surveys-and-support