Build a multi-agent system that turns customer feedback into a monthly report
Learn how to build and connect five Custom Agents that capture customer feedback, group similar requests, and turn them into a monthly report with supporting quotes, sources, and business impact.
¡Vaya! Parece que tu bloqueador de anuncios está impidiendo que se reproduzca el vídeo.
Míralo en YouTube
Every week, customers tell you what they need on sales calls, in support tickets, over Slack, and sometimes in passing at the end of a demo. One conversation is easy to follow. Hundreds are not. As those interactions add up, important requests can get buried, making it harder to see which needs come up most often and where the strongest signals are coming from.
In this guide, you’ll build five Custom Agents that work together through a shared database (Gong FR Pipeline). Each agent handles one step, moving feedback from a Gong call into a monthly report. The report shows which requests came up most often, who asked for them, their potential business impact, and the customer quotes behind each one.
At a glance, here’s how the five agents work together:
Intake agent: Identifies feature requests in Gong calls.
Extractor agent: Pulls the exact customer quote and source for each request.
Matcher agent: Checks whether the request already exists in your Feature Request database, then recommends updating an existing entry or creating a new one. It can also reference product plans, documentation, and PRDs stored in Notion.
Logger agent: Adds the request, customer quote, and source to your Feature Request database based on the Matcher agent’s recommendation.
Reporter agent: Creates a monthly report of the top requests, ranked by signals such as request volume, customer count, and customer spend, with supporting quotes for added context.
If your data lives outside Notion, bring it in with a Notion Worker
Anyone across EPD (engineering, product, and design), GTM (go-to-market), or leadership who needs a clear, evidence-backed view of what customers are asking for. This includes product and engineering managers, product marketing, solutions engineering, customer success, sales, and executive teams.
You’ll create each Custom Agent using the same flow:
Go to
Agentsin your sidebar, then select+to start a new chat.Describe what you want the agent to do. Use the example prompts in each section as a starting point.
Review the draft setup. Notion will suggest the agent’s
instructions,triggers, andTools and access, which you’ll configure in the steps that follow.
You’ll repeat this process for each Custom Agent. The sections below will guide you through the setup unique to each one. You’ll build each agent the same way: set up the databases, give it a prompt, then set the trigger and access.
The Intake agent reads each new customer call and flags the ones that contain a real, customer-voiced feature request. It creates one entry per call in your shared pipeline database and passes anything worth pursuing to the Extractor agent.
¡Vaya! Parece que tu bloqueador de anuncios está impidiendo que se reproduzca el vídeo.
Míralo en YouTube
1.1 Set up the databases
The Intake agent works with two databases, one it reads from and one it writes to:
Gong Transcripts database is where your customer calls live. The agent uses
Call Titleto name each pipeline entry and reads Transcript inside the page to determine whether the call contains a feature request. Capture transcripts with Notion AI Meeting Notes or sync data from Gong using a Notion Worker—any transcript database will work.Gong FR Pipeline database is the backbone of the workflow and the database you’ll most likely create yourself. Each entry represents one call moving through the system. Status is the key property because it passes the entry from one agent to the next. The Intake agent fills in the remaining details as it works.
The Gong FR Pipeline properties to start with
Tarea
Set up your Intake agent with this prompt
1.2 Configure trigger and access
Now, you'll set the Intake agent to run whenever a new Gong call arrives. From then on, each new call will be screened automatically.
Set the trigger:
In the agent's settings, select
Add trigger.Choose
Notion→Page added to database.Select your Gong Transcripts database, then
Entire databaseandAny page added.
The remaining agents use the same trigger setup, so later sections will focus only on what changes.
Set the access:
Gong Transcripts (
view access): Only reads calls.Gong FR Pipeline (
full access): Creates and updates entries there.
Test the Intake agent
The Extractor agent finds the exact customer quote behind each feature request and saves it for the rest of the workflow to use. It picks up where the Intake agent left off, reading the related Gong transcript and saving the verbatim quote to a new Snippets database.
¡Vaya! Parece que tu bloqueador de anuncios está impidiendo que se reproduzca el vídeo.
Míralo en YouTube
2.1 Set up the databases
The Extractor agent works with the two databases from Section 1, plus a new Snippets database it fills itself:
Gong Transcripts database is the same call database from Section 1. The agent reads the full Transcript to find the customer’s exact words.
Gong FR Pipeline database is where the Intake agent left off. The agent reads Screening Notes, then writes back the quote and links the Snippet it creates. It needs three new properties: Verbatim Quote (
Textproperty), Snippet (Relationproperty), andError Log (
Textproperty), which records why an entry was blocked.Snippets is the new database you need to create yourself or ask Notion AI to build it. Each entry holds one customer quote, along with the source and account behind it. The quote itself becomes the entry title, and the agent fills in the remaining details as it works.
The full Snippets database property list
Tarea
Set up your Extractor agent with this prompt
2.2 Configure trigger and access
You set the trigger and access the same way you did in Section 1, so here we'll focus on what's different for the Extractor.
Set the trigger: Instead of running when a new page is created, this agent picks up an entry mid-pipeline:
Add a
Property updated in databasetrigger to your Gong FR Pipeline.Set it to run when Status changes to ✂️ Extraction.
The Intake agent applies this status when it detects a request, so the Extractor picks up the entry automatically.
Set the access:
Gong Transcripts (
view access): Reads calls to find the customer's exact words.Gong FR Pipeline (
full access): Reads the screening notes and writes back the quote and status.Snippets (
full access): Creates a Snippet entry for each quote it extracts.
Test the Extractor agent
The Matcher agent takes the extracted quote and decides whether it matches a feature request you're already tracking or whether it's something new.
It steps in after extraction is complete, comparing the quote against your Feature Request database. It can also draw on extra product context, like your knowledge base, upcoming launches, or shared docs, and you can give it web access if a lot of your product information lives online.
¡Vaya! Parece que tu bloqueador de anuncios está impidiendo que se reproduzca el vídeo.
Míralo en YouTube
3.1 Set up the databases
The Matcher agent doesn't create a new database. It reads from ones you already have and writes its recommendation back to the pipeline:
Feature Request database is where the Matcher agent looks for existing feature requests. You can either build one from scratch if you don’t have one yet and populate with a few recent feature requests or use an existing database in your workspace.
Knowledge Base (optional) gives the Matcher agent more context about your product and existing features. This helps it decide whether a request matches something you already support or should be treated as new. At Notion, we connect the Matcher agent to our internal knowledge base for this reason.
Gong FR Pipeline database is where the Extractor agent left off. The Matcher agent reads Verbatim Quote and Screening Notes, then adds its match and recommendation. For this step, add four new properties to your Gong FR Pipeline database: FR Match (
Relationproperty), Match Type (Selectproperty), Matching Notes (Textproperty), and Recommended Action (Selectproperty).
Tarea
Set up your Matcher agent with this prompt
3.2 Configure trigger and access
Set the trigger: The Matcher joins the workflow after extraction is complete, so it runs when an entry reaches the right status.
Add a
Property updated in databasetrigger to your Gong FR Pipeline.Set it to run when Status changes to 🔗 Matching.
The Extractor applies this status after saving the verbatim quote, which hands the entry to the Matcher automatically.
Set the access: The Matcher needs to read the customer feedback, compare it with existing requests, and write its recommendation back to the pipeline.
Gong FR Pipeline (
full access): Reads the quote and screening notes, then adds the match and recommended action.Feature Request database (
view access): Searches the requests you’re already tracking for a match.Knowledge Base (
view access, optional): Provides extra product context to help distinguish an existing request from a new one.
Test the Matcher agent
The Logger agent takes the Matcher’s recommendation and files the request in your Feature Request database. It either updates an existing request or creates a new one, attaching the customer quote, source, and relevant account (optional).
Matches to an existing request reach the Logger automatically. New requests first pass through 🚦 Review: Triage so a person can confirm them, then move to 📝 Logging once approved.
¡Vaya! Parece que tu bloqueador de anuncios está impidiendo que se reproduzca el vídeo.
Míralo en YouTube
4.1 Set up the databases
Like the Matcher, the Logger works with databases already in the workflow. It reads the recommendation from the pipeline, then files the request in your existing Feature Request database.
Gong FR Pipeline database is where the Matcher agent left off. The Logger agent reads Recommended Action, Verbatim Quote, and the linked sources, then moves the entry to ✅ Logged. For this step, add one new Number property to the Gong FR Pipeline database: Logging Confidence, a score from 1 to 10 that flags where human review is most useful.
Feature Request database is where the Logger agent either updates an existing request or creates a new one, with the quote and sources attached.
Customer Accounts (optional) is a CRM database built in your Notion workspace or synced from your external CRM. Connecting it allows the Logger agent to link each request to the right account and include customer spend. At Notion, we use a Salesforce Sync Worker database called Customer Accounts for this.
Tarea
Set up your Logger agent with this prompt
4.2 Configure trigger and access
Set the trigger: The Logger joins the workflow after the Matcher recommends filing a request.
Add a
Property updated in databasetrigger to your Gong FR Pipeline.Set it to run when Status changes to 📝 Logging.
The Matcher applies this status when a request is ready to be added to your Feature Request database.
Set the access: The Logger needs to read the pipeline entry, connect the supporting sources, and file the request.
Gong FR Pipeline (
full access): Reads the recommendation, quote, and linked sources, then marks the entry complete.Feature Request database (
full access): Updates an existing request or creates a new one.Gong Transcripts (
view access): Links the source call to the request.Snippets (
view access): Links the saved customer quote to the request.Customer Accounts (
view access, optional): Connects the request to the right account and includes customer spend. This is typically a CRM database built in Notion or synced from your external CRM.
Test the Logger agent
Once the other agents have logged requests throughout the month, the Reporter brings them together in a single, data-backed report. It highlights top requests, supported by real customer quotes, cited sources, and their potential business impact.
In this workflow, the Reporter runs on the first day of every month, so you get a clear view of what customers are asking for without reviewing hours of calls.
¡Vaya! Parece que tu bloqueador de anuncios está impidiendo que se reproduzca el vídeo.
Míralo en YouTube
5.1 Set up the databases
The Reporter reads from the databases the earlier agents filled in and writes the final output to one new database:
Feature Request database supplies the logged requests the agent ranks.
Snippets database supplies the customer quotes and sources behind each request.
Customer Accounts (optional) adds business context from your CRM, such as customer spend.
Monthly Report database stores the finished report and is the database you need to create. Start with a simple template that includes rank, request volume, and ARR, followed by a breakdown of each request.
Tarea
Set up your Reporter agent with this prompt
5.2 Configure trigger and access
Set the trigger: Unlike the other agents, the Reporter runs on a schedule rather than waiting for a pipeline status.
Add a
scheduledtrigger.Set it to repeat
Monthlyon the1st.
Set the access: The Reporter needs to read the logged requests and their supporting context, then create the finished report.
Feature Request database (
view access): Reads and ranks your logged requests.Snippets (
view access): Pulls in the customer quotes and their sources.Customer Accounts (
view access, optional): Adds business context from your CRM, such as customer spend.Monthly Report (
full access): Creates and writes the final report.
Test the Reporter agent
This multi-agent system you built gives customer feedback somewhere to go, carrying each useful comment from its original transcript through a shared pipeline while keeping the request, the customer’s words, its source, and the business context intact.
From here, make the workflow your own by connecting the feedback sources your team relies on, tracking the signals you trust, and shaping the final report around how your team makes product decisions.
Want to build this for your team?
Connect with our team to explore how Custom Agents can support your workflows and help you turn this example into a system that works for your organization.
¿Hay algo que no hayamos abordado?