How to Build a Customer Interview Synthesis Agent

How to Build a Customer Interview Synthesis Agent

Aident AI

A cobalt acoustic ribbon, coral ceramic arch, lavender glass slab, and lime evidence stone on midnight blue.

How to Build a Customer Interview Synthesis Agent

A useful customer interview synthesis agent does not replace a researcher with a summary button. It turns authorized recordings into a reviewable evidence ledger, groups only genuinely repeated findings, preserves contradictions, and keeps a person responsible for the final interpretation.

The workflow in this guide uses Aident Loadout to connect an agent such as Codex or Claude Code to Gladia for transcription and Lark for the evidence ledger and decision brief. The same operating contract also works when transcripts already exist. The important part is not the model. It is the chain from every claim back to the exact interview evidence that supports it.

What the Agent Should Produce

Start with a bounded study, not a folder of recordings and the instruction "find insights." Define the research question, participant segment, interview set, and decision before processing anything.

For example:

Research question: Where do first-time admins lose confidence during onboarding?
Decision: Choose one onboarding experiment for the next sprint.
Study: 12 consented interviews from the last 30 days.
Minimum repeated-theme threshold: 3 independent interviews.
Output: evidence ledger, theme brief, contradictions, and open questions

The finished run should contain:

  • one immutable source ID for every interview;

  • short verbatim quotes with speaker and timestamp pointers;

  • atomic observations that make one claim each;

  • themes with independent-interview counts, not raw quote counts;

  • contradictions, outliers, and missing segments;

  • a decision brief that separates evidence from interpretation; and

  • a human review state for every theme that could influence product work.

Evidence-linked synthesis matters because fluent output can look more certain than its sources justify. Recent work on evidence-bounded customer research emphasizes source attribution and abstaining when evidence is missing. Research on interview-informed agents also warns that population-level patterns do not make a model an accurate stand-in for an individual participant. Use AI to organize real interviews, not to manufacture customers.

Set Up Aident Loadout

Give your agent the canonical setup instruction exactly as written:

Follow https://aident.ai/SETUP.md

Then have it confirm authentication and connected accounts:

aident account auth status
aident vault vault --action status

Ask it to discover the current Gladia transcription and Lark document or Base Actions by job, inspect each schema, and preflight the exact request before execution. Do not paste capability names from an old run into a permanent prompt because catalog names, required fields, risk controls, and pricing can change.

On August 11, 2026, the live Gladia transcription Action accepted one public audio or video URL and quoted 2 Aident credits per call. The selected Lark document and Base record writes quoted zero credits, but they are still mutations that require a reviewed destination and explicit acknowledgement. Treat these observations as a preflight example, not permanent pricing.

If you are new to this connection model, first read How to Connect Claude Code and Codex to Real-World Tools. The existing meeting recording to Lark action-items guide is the better workflow when one meeting needs tasks rather than cross-interview research synthesis.

Step 1: Create an Interview Manifest

Do not let the agent discover arbitrary recordings from a shared drive. Give it a reviewed manifest containing only interviews approved for this study.

[
  {
    "interviewId": "int-2026-041",
    "participantSegment": "first-time-admin",
    "recordedAt": "2026-08-04T17:00:00Z",
    "mediaUrl": "<short-lived-authorized-url>",
    "consentScope": "product-research",
    "retentionClass": "delete-media-after-transcription"
  }
]

Use opaque participant identifiers rather than names. Keep consent and retention fields beside the media reference so they cannot disappear during handoff. If a recording falls outside the consent scope, has no source ID, or lacks a valid retrieval URL, mark it unavailable and stop. Missing interviews are not negative evidence.

Decide which sensitive fields must never enter the synthesis. Redact personal contact details and unrelated health, financial, employment, or account information before theme extraction. Do not ask the model to remember raw interviews after the approved retention window.

Step 2: Transcribe Each Interview Separately

Gladia's current pre-recorded workflow accepts audio or video and can return speaker-aware transcription. Its documentation recommends speaker diarization when the task depends on knowing who said what. Keep each interview as a separate transcription job so a quote cannot silently migrate between participants.

Ask the agent to preflight one representative input first:

Find the current read-only Gladia Action for transcribing a pre-recorded file.
Inspect its schema and preflight this authorized media URL.
Return the exact credit quote and required connection.
Do not execute until I approve the input and quote

After approval, store the raw transcription result before any summarization. Normalize it into utterances:

{
  "interviewId": "int-2026-041",
  "utteranceId": "u-018",
  "speaker": "participant",
  "startMs": 412000,
  "endMs": 428000,
  "text": "I thought the invite was sent, but there was no confirmation."
}

Check a sample against the recording, especially product names, acronyms, and the exact sentences later selected as evidence. A transcript is a derived artifact, not ground truth. If speaker attribution or wording is uncertain, label the utterance uncertain instead of quietly repairing it.

Step 3: Extract Atomic Evidence

Do not summarize each interview into a paragraph. Paragraph summaries blend observations, interpretations, and importance judgments too early.

Extract atomic evidence records instead:

{
  "evidenceId": "ev-041-07",
  "interviewId": "int-2026-041",
  "utteranceIds": ["u-018"],
  "observation": "Participant did not know whether an invitation was sent.",
  "quote": "I thought the invite was sent, but there was no confirmation.",
  "speaker": "participant",
  "timestampMs": 412000,
  "confidence": "high",
  "reviewStatus": "unreviewed"
}

Require one observation per record and at least one source pointer. Keep the quote short enough for review and retain the complete transcript separately. Reject records that infer intent, frequency, severity, or business impact beyond what the participant actually said.

A prompt for this stage can say:

Extract atomic observations from one interview at a time.
Every observation must cite an interview ID, utterance ID, speaker, timestamp,
and short verbatim quote. Do not infer frequency or combine participants.
Mark ambiguous wording as uncertain. Return no observation without evidence

Step 4: Cluster Across Interviews, Not Quotes

Now cluster semantically related observations across the approved interview set. Count independent interviews, not mentions. Five quotes from one participant still represent one interview.

Use a theme record like this:

{
  "themeId": "theme-invite-confirmation",
  "label": "Invite confirmation is unclear",
  "independentInterviewCount": 4,
  "participantSegments": ["first-time-admin"],
  "evidenceIds": ["ev-041-07", "ev-044-03", "ev-046-09", "ev-049-02"],
  "contradictingEvidenceIds": ["ev-047-04"],
  "interpretation": "Admins may need a clearer delivery state.",
  "reviewStatus": "unreviewed"
}

Apply the minimum threshold defined before analysis. Below-threshold observations belong in an outlier section, not in a theme padded with similar-sounding model text. Preserve a contradiction when one participant reports a clear confirmation. The contradiction may reveal a segment, permission, platform, or timing difference that the average would hide.

Never ask the model to assign a roadmap priority from interview frequency alone. Frequency within a small qualitative study is useful for organizing review, but it is not market prevalence, revenue impact, or causal evidence.

Step 5: Write the Evidence Ledger to Lark

Use a Lark Base when the team needs filters, review states, and linked records. A practical design uses three tables:

Table

One row represents

Required fields

Interviews

One source

Interview ID, segment, date, consent scope, transcript status, retention class

Evidence

One observation

Evidence ID, interview ID, quote, timestamp, confidence, review status

Themes

One cluster

Theme ID, count, evidence links, contradictions, interpretation, decision status

Create the Base and its fields manually first. Then let the agent add reviewed records to known table IDs. Preflight a representative write and inspect the destination, schema, acknowledgement, and quote before executing a batch.

Use a Lark document for the short decision brief. It should link back to the Base rather than copying the whole evidence set. The brief should contain the study boundary, source coverage, accepted themes, contradictions, open questions, and recommended next research action.

The Aident Loadout first-task guide shows the broader discovery and approval loop if this is your first managed Action workflow.

Step 6: Add Human Review Gates

Use at least three review states:

  1. unreviewed: generated but not safe for a decision.

  2. evidence_checked: quotes and pointers match the transcript.

  3. decision_approved: a named owner accepts the interpretation and next action.

The reviewer should be able to reject or split a theme without rewriting raw evidence. Record corrections so the next run can reveal where the workflow repeatedly overgroups, drops context, or misreads speaker intent.

Require another review whenever a theme contains sensitive data, contradicting evidence, one dominant participant, uncertain transcription, or a recommendation that changes a product commitment. Do not let the agent contact participants, create roadmap tickets, or publish research findings as an implied extension of synthesis.

Step 7: Measure the Workflow

Measure whether the agent makes research more inspectable, not whether it creates more themes.

Track:

  • provenance completeness: accepted observations with a valid interview, utterance, and timestamp pointer;

  • quote accuracy: sampled quotes that match the recording;

  • independent support: accepted themes meeting the preset interview threshold;

  • contradiction retention: known counterevidence preserved in the theme record;

  • correction rate: generated observations or clusters changed during review;

  • time to approved brief; and

  • credits per approved interview set.

Set a fail-closed target for provenance completeness. A theme with a missing source pointer is not almost finished. It is unreviewable.

A Reusable Agent Prompt

Follow https://aident.ai/SETUP.md

Build an evidence-linked synthesis for the reviewed interview manifest.

1. Confirm Aident authentication and Vault status.
2. Discover current Gladia transcription and Lark document or Base Actions.
3. Inspect schemas and preflight the exact inputs. Do not execute metered or
   mutating work until I approve the quote, destination, and acknowledgement.
4. Process only interviews whose consent and retention fields permit this study.
5. Keep each transcript separate and preserve raw utterance pointers.
6. Extract one evidence-backed observation at a time. Every record must include
   an interview ID, utterance ID, speaker, timestamp, and short quote.
7. Cluster across independent interviews using the preset threshold. Preserve
   contradictions and below-threshold outliers.
8. Write reviewed records to the specified Lark tables and create a short brief.
9. Do not infer market prevalence, revenue impact, or roadmap priority.
10. Report missing inputs, uncertain transcripts, cost, and review corrections

The Boundary That Keeps This Useful

Customer interview synthesis is an evidence-management task before it is a generation task. The agent can transcribe, normalize, link, cluster, and format. A researcher still decides whether the evidence is credible, what it means, and what the team should do.

Refresh this workflow when transcription fields, Action pricing, Lark schemas, privacy requirements, or evidence-grounding research changes. Recheck the current Actions and quotes on every run.

Sources

Ready to build one reviewable brief from real customer evidence? Give your agent the exact instruction Follow https://aident.ai/SETUP.md, then use the tagged setup guide to connect the current transcription and Lark Actions.

Home

Home

Home

Integrations

Integrations

Integrations

Vault

Vault

Vault

Audit

Audit

Audit

Arana Grande

Arana Grande

Arana Grande

Free

Free

Free

30-day audit summary

30-day audit summary

30-day audit summary

Daily action-call volume and the latest receipts from the Loadout audit trail.

Daily action-call volume and the latest receipts from the Loadout audit trail.

Daily action-call volume and the latest receipts from the Loadout audit trail.

View Audit

View Audit

View Audit

Loadout usage

Loadout usage

Loadout usage

617 action calls in the last 30 days

617 action calls in the last 30 days

617 action calls in the last 30 days

May 19 - Jun 17

May 19 - Jun 17

May 19 - Jun 17

10 active days

10 active days

10 active days

Less

Less

Less

More

More

More

Recent activity

Recent activity

Recent activity

Latest action-call receipts from connected agents

Latest action-call receipts from connected agents

Latest action-call receipts from connected agents

Apr 23, 09:23 AM

Apr 23, 09:23 AM

Apr 23, 09:23 AM

Shopify

Shopify

Shopify

Creates Or Updates An Asset For A Theme

Creates Or Updates An Asset For A Theme

Creates Or Updates An Asset For A Theme

Success

Success

Success

Apr 23, 09:21 AM

Apr 23, 09:21 AM

Apr 23, 09:21 AM

Shopify

Shopify

Shopify

Update Products Param Product Id

Update Products Param Product Id

Update Products Param Product Id

Success

Success

Success

Apr 23, 08:53 AM

Apr 23, 08:53 AM

Apr 23, 08:53 AM

Shopify

Shopify

Shopify

Update Products Param Product Id

Update Products Param Product Id

Update Products Param Product Id

Failed

Failed

Failed

Apr 22, 22:13 PM

Apr 22, 22:13 PM

Apr 22, 22:13 PM

Shopify

Shopify

Shopify

Create Product Image

Create Product Image

Create Product Image

Success

Success

Success

Apr 22, 22:12 PM

Apr 22, 22:12 PM

Apr 22, 22:12 PM

Shopify

Shopify

Shopify

Create Product Image

Create Product Image

Create Product Image

Success

Success

Success

Connected integration coverage

Connected integration coverage

Connected integration coverage

162

162

162

of 753 accessible connected

of 753 accessible connected

of 753 accessible connected

Callable actions

Callable actions

Callable actions

1,126

1,126

1,126

Vault credentials

Vault credentials

Vault credentials

8

8

8

Explore what's possible

Explore what's possible

Explore what's possible

See all Integrations

See all Integrations

See all Integrations

Google Ads

Google Ads

Google Ads

All available Goolge Ads tools via...

All available Goolge Ads tools via...

All available Goolge Ads tools via...

X (twitter)

X (twitter)

X (twitter)

All available X tools via...

All available X tools via...

All available X tools via...

Github

Github

Github

All available Github tools via...

All available Github tools via...

All available Github tools via...

Notion

Notion

Notion

All available Notion tools via...

All available Notion tools via...

All available Notion tools via...

Slack

Slack

Slack

All available Slack tools via...

All available Slack tools via...

All available Slack tools via...

Firecrawl

Firecrawl

Firecrawl

All available Firecrawl tools via...

All available Firecrawl tools via...

All available Firecrawl tools via...

753 integrations are available for loadouts.

753 integrations are available for loadouts.

753 integrations are available for loadouts.

The one tool

for every tool

your agent needs.

Give any AI agent real capabilities in seconds. Connect 1,000+ tools once, skip the setup headache, and let your agents execute.

Try Aident Loadout

Give your Agent real capabilities in minutes. Connect 1,000+ tools, and let your agents execute.

Try Aident Loadout

Give your Agent real capabilities in minutes. Connect 1,000+ tools, and let your agents execute.

Try Aident Loadout

Give your Agent real capabilities in minutes. Connect 1,000+ tools, and let your agents execute.