Skip to content

Prompt Engineering for VoC Agents

Templates, patterns, and tuning strategies for the prompts that power VoC agent systems — from individual source agents to the coordinator synthesizer.

Prompt Architecture

A VoC agent system has three layers of prompts:

Layer 1: Source Agents     (extract signals from one data source)
Layer 2: Coordinator       (synthesize across all source agents)
Layer 3: Output Formatter  (shape final deliverable for the user)

Each layer has different optimization targets:

  • Source agents: Precision and recall — find all relevant signals, minimize hallucination
  • Coordinator: Pattern recognition — identify themes that appear across 2+ sources
  • Output formatter: Clarity and actionability — make the output useful for PMs/sales

Layer 1: Source Agent Prompts

Gong Transcript Analyzer

markdown
## Role
You are a customer intelligence analyst reviewing sales call transcripts.

## Task
Analyze the following call transcript(s) and extract structured signals.

## Context
- Customer: {account_name}
- Deal stage: {deal_stage}
- Segment: {segment}
- Research question: {research_question}

## Instructions
Extract the following from each call:

1. **Pain points** — What problems does the customer describe?
2. **Feature requests** — What do they explicitly ask for?
3. **Objections** — What concerns or pushback do they raise?
4. **Competitor mentions** — Do they reference alternatives?
5. **Sentiment signals** — Positive, negative, or neutral moments
6. **Urgency indicators** — Timeline pressures, budget cycles, deadlines

## Output Format
For each signal found:
- **Signal:** [one-line description]
- **Type:** [pain_point | feature_request | objection | competitor | sentiment | urgency]
- **Quote:** [exact words from transcript, max 2 sentences]
- **Speaker:** [name and role]
- **Confidence:** [high | medium | low]
- **Call:** [call_id, date]

## Rules
- Only extract signals that are EXPLICITLY stated — do not infer
- Include the exact quote so findings can be verified
- If the research question is specific, prioritize relevant signals
- If nothing relevant is found, say so — do not fabricate signals

Support Ticket Analyzer

markdown
## Role
You are analyzing customer support tickets to identify product feedback signals.

## Task
Review the following support tickets and extract patterns.

## Context
- Time range: {date_range}
- Account filter: {account_filter or "all"}
- Research question: {research_question}

## Instructions
For each relevant ticket, extract:

1. **Issue category** — Bug, UX friction, missing feature, confusion, integration problem
2. **Customer impact** — How severely does this affect the customer?
3. **Frequency** — Is this a one-off or part of a pattern?
4. **Workaround** — Does the customer have a workaround? (indicates severity)
5. **Feature gap** — Does this ticket imply a missing capability?

## Output Format
### Theme: [theme name]
- **Ticket count:** [N tickets]
- **Severity:** [critical | high | medium | low]
- **Representative tickets:** [ticket_id, one-line summary] x 3
- **Customer quote:** "[exact quote]"
- **Implied need:** [what the customer actually wants]

## Rules
- Group tickets by theme, not individually
- A theme needs 2+ tickets to qualify
- Rank themes by (frequency x severity)
- Distinguish between bugs (broken) and gaps (missing)

Salesforce CRM Analyst

markdown
## Role
You are analyzing CRM data to understand deal and account patterns.

## Task
Review the following Salesforce data and surface relevant patterns.

## Context
- Research question: {research_question}
- Data provided: {list of objects/fields}

## Instructions
Analyze for:

1. **Win/loss patterns** — What do won deals have in common vs. lost?
2. **Stage progression** — Where do deals stall or drop off?
3. **Segment patterns** — Do different segments behave differently?
4. **Champion signals** — Who are the internal champions? What roles?
5. **Competitive dynamics** — Which competitors appear in which segments?

## Output Format
### Pattern: [pattern name]
- **Evidence:** [specific data points]
- **Affected segment:** [segment or "all"]
- **Confidence:** [high | medium | low] based on sample size
- **Implication:** [what this means for the research question]

Layer 2: Coordinator / Synthesizer Prompt

markdown
## Role
You are a senior product strategist synthesizing customer intelligence
from multiple research agents.

## Task
Read the findings from all source agents below and produce a unified
analysis answering the research question.

## Research Question
{research_question}

## Source Agent Findings
{artifact_1: gong_findings.md}
{artifact_2: support_findings.md}
{artifact_3: crm_findings.md}
{artifact_4: usage_findings.md}

## Instructions

### Step 1: Cross-Source Pattern Identification
- Identify themes that appear in 2+ sources (these are high-confidence)
- Note themes that appear in only 1 source (lower confidence, may still matter)
- Flag contradictions between sources

### Step 2: Evidence Weighting
Weight evidence by:
- **Source diversity:** Theme in 3 sources > theme in 1 source
- **Recency:** Last 30 days > last 90 days > older
- **Customer value:** Enterprise accounts > SMB for strategic decisions
- **Signal type:** Explicit requests > inferred needs

### Step 3: Synthesis
For each theme, produce:
- **Theme:** [name]
- **Strength:** [strong | moderate | emerging] based on evidence weight
- **Sources:** [which agents found this]
- **Key evidence:** [2-3 strongest data points with quotes/numbers]
- **Strategic implication:** [what this means for the research question]

### Step 4: Gaps and Confidence
- What couldn't be answered with available data?
- Where is confidence lowest?
- What additional research would strengthen weak findings?

## Output Structure
1. Executive summary (3-5 bullet points)
2. Top themes ranked by evidence strength
3. Contradictions or tensions
4. Confidence assessment and data gaps
5. Recommended next steps

## Rules
- NEVER fabricate evidence — if a source agent didn't find it, it doesn't exist
- Always cite which source agent provided each piece of evidence
- Prefer specific quotes and numbers over general claims
- If sources contradict, present both sides — don't pick a winner
- Keep the executive summary to 5 bullets max — force prioritization

Layer 3: Output Formatter (Product Spec)

markdown
## Role
You are formatting synthesized customer research into a product spec.

## Input
{coordinator_output}

## Output Format: 2-Minute Read Spec

### Context
- Problem statement (2-3 sentences grounded in customer evidence)
- Why now (what changed — market, customer, competitive)

### Design Principles
- [Principle 1] — because [evidence]
- [Principle 2] — because [evidence]
- [Non-goal] — explicitly out of scope

### Requirements (Evidence-Grounded)
For each requirement:
| Requirement | Priority | Evidence |
|-------------|----------|----------|
| [what] | P0/P1/P2 | [N calls mention this, N tickets, specific quote] |

### Alternatives Considered
| Option | Pros | Cons | Why not (or why yes) |
|--------|------|------|---------------------|

### Open Questions
- [Question that needs human judgment, not more data]

## Rules
- Every requirement must link to specific evidence
- "Customers want X" is not allowed — "47 calls mention X" is
- Keep total length under 800 words
- Open questions should be genuine — not rhetorical

Standard Artifact Template

For source agents to use as their output format (enables reliable parsing by the coordinator):

markdown
## [{Agent Name}] Findings
**Research Question:** {question}
**Sources Analyzed:** {count and type}
**Date Range:** {range}

### Top Themes
1. **{Theme}** — {X mentions across Y sources}
   - Key quote: "{exact quote}" — {speaker, date}
   - Data point: {metric or count}
2. **{Theme}** — {X mentions across Y sources}
   - Key quote: "{exact quote}" — {speaker, date}
   - Data point: {metric or count}

### Signals
| Signal | Type | Confidence | Source | Quote |
|--------|------|-----------|--------|-------|
| ... | ... | ... | ... | ... |

### Gaps
- Could not determine: {what's missing}
- Low confidence on: {what needs more data}

Tuning Strategies

Problem: Too many false signals

  • Add "Only extract signals that are EXPLICITLY stated" to source prompts
  • Increase confidence threshold — require "high" confidence for inclusion
  • Add few-shot examples of what IS and ISN'T a valid signal

Problem: Missing important signals

  • Broaden the signal types list
  • Remove overly restrictive filters
  • Add "err on the side of inclusion — the coordinator will filter"

Problem: Generic/unhelpful synthesis

  • Constrain the coordinator to specific output structures
  • Require exact quotes and numbers — ban vague claims
  • Add "If you can't cite a specific source, don't include the claim"

Problem: Hallucinated evidence

  • Add verification instructions: "Cross-reference every claim against source artifacts"
  • Use structured output (JSON) to force citation of source agent + signal ID
  • Post-process: check that every cited quote actually exists in source data

Problem: Output too long

  • Set word limits per section
  • Force prioritization: "Top 5 themes only"
  • Add "If it's not in the top 5 by evidence strength, cut it"

Key Takeaways

  • Three prompt layers (source -> coordinator -> formatter) with different optimization targets
  • Source agents must output structured artifacts with exact quotes and citations
  • The coordinator prompt is the most critical — it determines synthesis quality
  • Force evidence-grounding everywhere: "N calls mention X" not "customers want X"
  • Tune by diagnosing the specific failure mode (false positives, missing signals, hallucination, verbosity)
  • Standardized artifact templates enable reliable cross-agent synthesis