Transcripts & Analysis#
Transcripts are the core output of every interview session. InterviewRelay automatically transcribes all audio, performs sentiment analysis, extracts key themes, and provides powerful tools for searching, annotating, and exporting your data.
Accessing Transcripts#
From the Dashboard#
- Navigate to Campaigns → [Your Campaign]
- Click the Sessions tab
- Click on a completed session
- The transcript is displayed in the Transcript tab
From the API#
Fetch a transcript programmatically:
curl https://api.interviewrelay.com/v1/sessions/{sessionId}/transcript \
-H "Authorization: Bearer YOUR_API_KEY"
See the API Reference for full transcript endpoint documentation.
Transcript Format#
Structure#
Each transcript is a sequence of utterances with metadata:
{
"sessionId": "ses_a1b2c3d4",
"language": "en",
"duration": 847,
"utterances": [
{
"id": "utt_001",
"speaker": "ai",
"text": "Thanks for joining us today. Can you start by telling me about your experience with our product?",
"startTime": 0.0,
"endTime": 5.2,
"confidence": 0.98
},
{
"id": "utt_002",
"speaker": "participant",
"text": "Sure! I've been using it for about six months now...",
"startTime": 5.8,
"endTime": 12.4,
"confidence": 0.95,
"sentiment": "positive"
}
]
}
Utterance Properties#
| Name | Type | Description |
|---|---|---|
id* | string | Unique utterance identifier |
speaker* | enum | Who spoke: 'ai' or 'participant' |
text* | string | The transcribed text content |
startTime* | number | Start time in seconds from session start |
endTime* | number | End time in seconds from session start |
confidence | number | Transcription confidence score (0.0 to 1.0) |
sentiment | string | Detected sentiment: positive, neutral, or negative |
keywords | string[] | Extracted keywords and key phrases |
questionId | string | The script question this utterance responds to |
Viewing Options#
Conversation View#
The default view shows the transcript as a conversation with speaker labels, timestamps, and sentiment indicators. AI questions appear on the left, participant responses on the right.
Timeline View#
A chronological timeline showing:
- Question-answer pairs aligned vertically
- Color-coded sentiment per response
- Duration bars showing response length
- Silence gaps highlighted
Full Text View#
Plain text view with all utterances concatenated. Useful for:
- Quick reading without visual clutter
- Copy-pasting sections
- Browser text search (Ctrl+F / Cmd+F)
Side-by-Side View#
Compare two transcripts side by side:
- Open a transcript
- Click Compare
- Select another session from the same campaign
- View both transcripts aligned by question
Useful for identifying patterns across participants.
Analysis Features#
Automatic Insights#
Every completed transcript is automatically analyzed to produce:
- Summary: 2-3 sentence overview of the interview
- Key Quotes: The most significant participant statements
- Action Items: Suggested follow-up actions based on responses
- Topic Clusters: Groups of related themes mentioned
Insights appear in the Insights panel next to the transcript.
Automatic insights are generated within 5 minutes of session completion. For very long interviews (60+ minutes), processing may take up to 15 minutes.
Sentiment Analysis#
Sentiment is analyzed at multiple levels:
Per-Utterance: Each participant response is scored as positive, neutral, or negative with a confidence score.
Per-Question: Aggregate sentiment for each question across all sessions in a campaign. Helps identify which questions trigger positive or negative reactions.
Overall Session: A composite sentiment score for the entire interview.
Sentiment Trend: How sentiment changed over the course of the interview. Look for:
- Declining sentiment (may indicate frustration or fatigue)
- Sentiment spikes (strong reactions to specific questions)
- Consistent sentiment (stable engagement throughout)
Keyword Extraction#
Automatically extracted keywords and phrases help you quickly understand what participants talked about:
- Frequency ranking: Most commonly mentioned terms
- TF-IDF scoring: Terms that are uniquely important in this session vs. all sessions
- Bigrams/Trigrams: Multi-word phrases (e.g., "customer support", "easy to use")
- Named entities: Product names, companies, people, locations
Theme Detection#
AI-powered theme detection groups related responses across questions:
- Automatic tagging: Each utterance is tagged with detected themes
- Theme hierarchy: High-level categories with sub-themes
- Cross-session themes: Identify themes that appear across multiple sessions
- Theme frequency: How often each theme is mentioned
Exporting Transcripts#
PDF Export#
Generate a formatted PDF document:
- Open the transcript
- Click Export → PDF
- Configure options:
- Include/exclude AI questions
- Include/exclude timestamps
- Include/exclude sentiment indicators
- Include/exclude insights summary
- Custom header with your branding
- Click Generate PDF
The PDF includes a cover page with session metadata, the full formatted transcript, and an appendix with insights and analytics.
CSV Export#
Export transcript data as CSV for spreadsheet analysis:
utterance_id,speaker,text,start_time,end_time,confidence,sentiment,question_id
utt_001,ai,"Thanks for joining us today...",0.0,5.2,0.98,,q_intro
utt_002,participant,"Sure! I've been using it...",5.8,12.4,0.95,positive,q_intro
JSON Export#
Full structured export with all metadata:
curl https://api.interviewrelay.com/v1/sessions/{sessionId}/transcript \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" \
-o transcript.json
Audio Export#
Download the audio recording associated with the transcript:
- Full recording: Complete audio file (WAV or MP3)
- Per-question clips: Individual audio clips for each response
- Highlights only: Audio clips for flagged/highlighted utterances
Search & Filtering#
Transcript Search#
Search within a single transcript:
- Text search: Find specific words or phrases
- Speaker filter: Show only AI or participant utterances
- Sentiment filter: Show only positive, neutral, or negative utterances
- Time range: Filter by time window within the session
Cross-Session Search#
Search across all transcripts in a campaign:
- Go to Campaigns → [Your Campaign] → Search
- Enter your search query
- Filter by status, date range, sentiment
- Results show matching utterances with session context
Supports:
- Exact match:
"easy to use"(with quotes) - Boolean:
pricing AND expensive - Wildcard:
custom*matches "customize", "customer", etc. - Exclusion:
feedback NOT negative
Saved Searches#
Save frequently used search queries:
- Run a search
- Click Save Search
- Name the search
- Access saved searches from the dropdown
Collaborative Analysis#
Annotations#
Add annotations to specific utterances:
- Hover over an utterance
- Click the Annotate icon
- Add your note
- Optionally tag with a category (e.g., "Pain Point", "Feature Request", "Praise")
- Click Save
Annotations are visible to all team members and can be filtered/searched.
Highlights#
Mark important utterances for easy reference:
- Click on an utterance
- Click Highlight
- Choose a color category:
- 🟢 Green: Positive insight
- 🟡 Yellow: Needs attention
- 🔴 Red: Critical issue
- 🔵 Blue: Feature request
Shared Collections#
Group highlights and annotations into shareable collections:
- Go to Analysis → Collections
- Click New Collection
- Give it a name and description
- Add highlights from any session
- Share with team members or stakeholders
Collections are great for building evidence for product decisions, creating research reports, or preparing presentations.
Comments & Discussion#
Discuss findings directly on transcripts:
- Reply to annotations with comments
- @mention team members for their input
- Resolve discussion threads when consensus is reached
- Export discussion threads with the transcript
Aggregate Analysis#
Cross-Session Analytics#
Analyze patterns across all sessions in a campaign:
- Word Cloud: Visual representation of most common terms
- Sentiment Distribution: Histogram of sentiment scores across sessions
- Theme Matrix: Questions vs. themes heatmap
- Response Length Distribution: Average response length per question
- Completion Funnel: Where participants drop off
Comparison Reports#
Compare results across campaigns or time periods:
- Go to Analytics → Compare
- Select 2-4 campaigns
- Choose comparison metrics:
- Sentiment trends
- Top themes
- Completion rates
- Response quality
- Generate comparison report
AI Summary#
Generate an AI-powered summary across all sessions:
- Go to Campaigns → [Your Campaign] → Summary
- Click Generate Summary
- The AI produces:
- Executive summary (2-3 paragraphs)
- Key findings (bulleted list)
- Recommendations (actionable insights)
- Supporting quotes (with session references)
Pro Tip
Use the AI Summary feature after collecting 10+ completed sessions for the most reliable aggregate insights. Fewer sessions may produce less robust conclusions.
Privacy & Redaction#
Automatic PII Redaction#
InterviewRelay can automatically detect and redact personally identifiable information:
- Email addresses:
john@example.com→[EMAIL REDACTED] - Phone numbers:
555-0123→[PHONE REDACTED] - Credit card numbers:
4111-1111-...→[CARD REDACTED] - Social Security Numbers:
123-45-6789→[SSN REDACTED] - Physical addresses: Detected and optionally redacted
Enable automatic redaction in Settings → Privacy → PII Redaction.
Manual Redaction#
Redact specific text from transcripts:
- Select the text to redact
- Click Redact
- Choose replacement text (default:
[REDACTED]) - Confirm
Redaction is Permanent
Redacted text is permanently removed from the transcript and cannot be recovered. The original audio is also scrubbed at the corresponding timestamps.
Anonymization#
For sharing transcripts with external stakeholders:
- Open the transcript
- Click Export → Anonymized
- Choose what to anonymize:
- Participant name → "Participant 1"
- Company names → "Company A"
- Product names → "Product X"
- Custom replacements
- Review and export
API Access#
Fetch Transcript#
/v1/sessions/{sessionId}/transcriptRetrieve the full transcript for a session
Query parameters:
| Name | Type | Description |
|---|---|---|
format | string | Response format: 'json' (default), 'text', 'srt', 'vtt' |
include_sentiment | boolean | Include sentiment scores per utterance (default: true) |
include_keywords | boolean | Include extracted keywords per utterance (default: false) |
redact_pii | boolean | Apply PII redaction to the response (default: false) |
speaker | string | Filter by speaker: 'ai', 'participant', or 'all' (default) |
Search Transcripts#
/v1/campaigns/{campaignId}/transcripts/searchSearch across all transcripts in a campaign
Query parameters:
| Name | Type | Description |
|---|---|---|
q* | string | Search query string |
sentiment | string | Filter by sentiment: 'positive', 'neutral', 'negative' |
from | datetime | Start of date range (ISO 8601) |
to | datetime | End of date range (ISO 8601) |
limit | number | Max results per page (default: 20, max: 100) |
offset | number | Pagination offset |
Export Transcript#
/v1/sessions/{sessionId}/transcript/exportExport transcript in various formats
Query parameters:
| Name | Type | Description |
|---|---|---|
format* | string | Export format: 'pdf', 'csv', 'json', 'docx' |
include_insights | boolean | Include AI-generated insights (default: true) |
include_audio | boolean | Include audio file in export (default: false) |
anonymize | boolean | Anonymize participant data (default: false) |
redact_pii | boolean | Apply PII redaction (default: false) |
Best Practices#
Review Workflow#
- Quick scan: Read the AI-generated summary and key quotes
- Sentiment check: Look for sentiment trend — any red flags?
- Deep read: Go through the full transcript, adding annotations
- Highlight: Mark the most important utterances
- Discuss: Share highlights with your team via collections
- Synthesize: After reviewing multiple sessions, generate an aggregate summary
Coding Framework#
Use a consistent coding framework for annotations:
| Category | Description | Example | |----------|-------------|---------| | Pain Point | Something that frustrates the user | "The export feature never works" | | Feature Request | Something the user wants | "I wish I could filter by date" | | Praise | Something the user loves | "The dashboard is beautiful" | | Workflow | How the user does something | "I usually start by checking..." | | Competitor | Mention of competing products | "Compared to Typeform..." | | Quote | Notable verbatim statement | "This changed how I work" |
Analysis Tips#
- Don't cherry-pick: Look for patterns, not just quotes that confirm your hypothesis
- Count occurrences: Track how many participants mention the same theme
- Note what's missing: Sometimes what participants don't say is as important as what they do
- Consider context: A negative comment during a frustration question is expected
- Cross-reference: Compare transcript insights with quantitative data (NPS, usage analytics)
Troubleshooting#
Transcript Not Available#
Causes:
- Transcription is still processing (can take up to 15 minutes)
- Audio quality was too low for accurate transcription
- Session was very short (under 10 seconds of speech)
Solution:
- Wait and refresh the page
- Check the session status — if completed, transcript should appear shortly
- If audio is available, listen to verify there was actual speech content
Poor Transcription Quality#
Causes:
- Background noise in the participant's environment
- Participant spoke very quickly or in an unsupported accent
- Low-quality microphone
Solution:
- Use the audio player to manually verify unclear sections
- Edit the transcript manually for critical corrections
- Consider adding a "quiet environment" requirement to invite emails
Sentiment Seems Inaccurate#
Causes:
- Sarcasm or irony (hard for AI to detect)
- Domain-specific language being misinterpreted
- Very short responses lacking context
Solution:
- Override sentiment manually by clicking the sentiment indicator
- Report inaccurate analysis to help improve the model
- Use manual annotations for nuanced sentiment cases
Search Returns No Results#
Causes:
- Typo in search query
- Sessions are still being transcribed
- Content exists but in a different language
Solution:
- Try broader search terms or wildcard patterns
- Verify that sessions are in "Completed" status
- Check the language filter settings
For API-related transcript issues, see the API Reference. For general session issues, see the Sessions guide.