> ## Documentation Index
> Fetch the complete documentation index at: https://docs.replit.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Analyze user interviews

> Turn interview transcripts into themes, verbatim quotes, and a research repository your team can search.

export const Connectors = ({items}) => <div style={{
  margin: "8px 0 20px"
}}>
    <style>{`
      .connectors-list, .connectors-list * { margin-top: 0 !important; margin-bottom: 0 !important; }
      .connectors-row {
        display: flex !important;
        align-items: flex-start !important;
        gap: 10px !important;
        padding: 4px 0 !important;
        min-height: 0 !important;
        height: auto !important;
      }
      .connectors-row img {
        width: 20px !important;
        height: 20px !important;
        max-width: 20px !important;
        max-height: 20px !important;
        margin: 2px 0 0 !important;
        display: block !important;
      }
    `}</style>
    <div className="connectors-list">
      {items.map((item, i) => <div key={item.id} className="connectors-row" style={{
  borderTop: i === 0 ? "none" : "1px solid rgba(130,130,130,0.22)"
}}>
          <img src={`/images/connectors/${item.id}.svg`} alt="" width={20} height={20} />
          <div style={{
  minWidth: 0
}}>
            <div>
              <strong>{item.name}</strong>
              {item.why ? <span style={{
  opacity: 0.72
}}> · {item.why}</span> : null}
            </div>
            {item.auth === "api-key" ? <div style={{
  fontSize: "11.5px",
  lineHeight: 1.35,
  color: "#F26207",
  marginTop: "2px"
}}>
                Not a native connector. Agent will ask for your API key.
              </div> : null}
          </div>
        </div>)}
    </div>
  </div>;

export const AiPrompt = ({children}) => {
  return <CodeBlock className="relative block max-w-full overflow-x-hidden font-sans !whitespace-pre-wrap !break-words" style={{
    overflowWrap: "anywhere",
    wordBreak: "break-word"
  }}>
      <div className="pr-7" style={{
    whiteSpace: "pre-wrap",
    overflowWrap: "anywhere",
    wordBreak: "break-word"
  }}>
        {children}
      </div>
    </CodeBlock>;
};

You ran the interviews and the transcripts are sitting in a Drive folder. From those
transcripts, group what participants said into themes, count how many raised each one, and
attach verbatim quotes to every claim. Agent writes the result to a Notion research page.
Check two quotes against the transcript before you act on a theme. A theme one participant
raised is a single mention, not a finding.

## Best for

* Product designers who need the themes across every interview, not a summary per call.
* Researchers who need a searchable repository with a quote behind each claim.

## Connectors

<Connectors
  items={[
{
  id: "google-drive",
  name: "Google Drive",
  why: "Interview transcripts, one file per participant",
},
{ id: "notion", name: "Notion", why: "Research repository page" },
]}
/>

## Before you start

Put the transcripts in one Drive folder, one file per participant, and name each file so you
can tell participants apart. Connect Drive and Notion. Say what decision the research should
inform and how many participants you interviewed.

## Prompt the agent

<AiPrompt>
  Analyze the interview transcripts in this Google Drive folder \[link]. Group
  what participants said into themes. For every theme, give the number of
  participants who raised it and two verbatim quotes with the participant and
  file name. Write the result to this Notion page \[link]. Mark any theme only one
  participant raised as a single mention.
</AiPrompt>

## What to expect

Agent reads each transcript, clusters what participants said into themes, counts participants
per theme, and attaches quotes with the file they came from. Open one theme and search two of
its quotes in the transcript before you act on it. Expect the first pass to be broad; themes
get useful once you say which decision they should inform.

## Make it work for you

<AiPrompt>
  For every theme, say what it would change in the product: a screen, a step in
  the flow, or a piece of copy. Mark the themes that don't imply a change.
</AiPrompt>

<AiPrompt>
  Add a severity column per theme: how many participants raised it, and whether it
  stopped them finishing the task.
</AiPrompt>

## Troubleshooting

<AccordionGroup>
  <Accordion title="A quote isn't in the transcript">
    Ask Agent to include the file name and the surrounding line for every quote.
    Verify two of them before you trust the rest.
  </Accordion>

  <Accordion title="Every theme sounds the same">
    The themes are too broad. Say the decision you're making and ask for themes
    at the level of one specific task.
  </Accordion>

  <Accordion title="One participant became a finding">
    Ask Agent to report the participant count per theme, and to label anything
    raised once as a single mention.
  </Accordion>

  <Accordion title="The transcripts are one merged file">
    Ask Agent to split the file by participant first, or split it yourself.
    Counts per theme are meaningless without participants.
  </Accordion>
</AccordionGroup>

## Related

<CardGroup cols={2}>
  <Card title="Analyze customer feedback" href="/use-cases/analyze-customer-feedback">
    The same theming, from support tickets instead of interviews.
  </Card>

  <Card title="Redesign your existing website" href="/use-cases/redesign-your-website">
    Take what participants struggled with into a redesign.
  </Card>
</CardGroup>
