# Deck Interview Upload Schema

Use this page when an AI agent needs to convert an interview transcript into a format Deck's Interview Upload Wizard can recognize.

Last updated: 2026-05-06

## What Deck Accepts

Deck's Interview Upload Wizard accepts either interview media or a transcript. For transcript uploads, the wizard needs two things:

1. Paste-ready transcript text that Deck can parse into speaker segments.
2. Interview metadata entered in the wizard fields.

Deck does not require the user to upload JSON. The user's agent should produce a clean transcript plus a short metadata block that the user can copy into Deck.

## Required Wizard Fields

| Field          | Required | Where it goes          | Expected value                                                                 |
| -------------- | -------- | ---------------------- | ------------------------------------------------------------------------------ |
| Transcript     | Yes      | Upload Transcript step | Full interview text in one supported transcript format                         |
| Interview Name | Yes      | Interview Details step | A concise title, usually participant name plus topic or project                |
| Interview Date | Yes      | Interview Details step | Calendar date of the interview                                                 |
| User Email     | No       | Interview Details step | Interviewee email, if known                                                    |
| Segment        | No       | Interview Details step | Deck segment selection, if the user wants this interview assigned to a segment |

## Transcript Requirements

| Requirement    | Rule                                                                                                                      |
| -------------- | ------------------------------------------------------------------------------------------------------------------------- |
| Minimum length | At least 100 words and at least 10 non-empty lines                                                                        |
| Maximum length | 50,000 words                                                                                                              |
| Speaker labels | Each speaker turn should identify the speaker                                                                             |
| Segment text   | Each segment must have non-empty text                                                                                     |
| Speaker text   | Each segment must have a non-empty speaker name                                                                           |
| Fidelity       | Preserve the participant's meaning and wording. Do not summarize unless the user explicitly asks for a summary elsewhere. |

## Recommended Format

The safest output format for an agent is one speaker turn per line:

```text
Interviewer: Thanks for joining. To start, can you tell me what your team is trying to accomplish?
Participant: We are trying to understand customer feedback faster, especially after launches.
Interviewer: What makes that difficult today?
Participant: The feedback is spread across calls, support tickets, Slack, and survey responses.
```

Deck recognizes this as the `Speaker Name: text` transcript format. Speaker names can be real names or stable roles such as `Interviewer`, `Participant`, `Customer`, `PM`, or `Researcher`.

## Other Supported Formats

Deck can also parse these transcript styles:

| Format            | Pattern Deck recognizes                                                                        |
| ----------------- | ---------------------------------------------------------------------------------------------- |
| Google Meet style | `Speaker Name: spoken text`                                                                    |
| WebVTT            | `WEBVTT`, timestamp arrows, or voice tags                                                      |
| Zoom TXT          | `HH:MM:SS Speaker Name: spoken text`, or timestamp lines followed by speaker and text          |
| Otter.ai TXT      | `Speaker Name  HH:MM:SS` followed by spoken text                                               |
| Lookback          | `MM:SS - Participant transcription` or `MM:SS - Moderator transcription` with Lookback context |
| Plain text        | Three or more paragraph blocks, used only when speaker labels are unavailable                  |

When transforming an unsupported transcript, prefer the recommended `Speaker Name: text` format over JSON, tables, bullets, or a summary.

## Agent Transformation Instructions

Give the user's agent this task:

```text
I need to upload this interview transcript to Deck.

Use Deck's canonical interview upload schema:
https://docs.getdeck.io/interview-upload-schema.md

Transform the transcript below into Deck's recommended paste-ready transcript format.

Requirements:
- Output one speaker turn per line using `Speaker Name: spoken text`.
- Preserve the interviewee's wording and meaning.
- Do not summarize, synthesize, classify, or add insights.
- Remove transcript artifacts such as repeated timestamps, filler headers, chat system messages, join/leave notices, and recording disclaimers unless they were spoken in the interview.
- Merge broken wrapped lines into the correct speaker turn.
- Keep speaker labels stable across the transcript.
- If the real speaker name is unknown, use `Interviewer` and `Participant`.
- Ensure the final transcript has at least 100 words and at least 10 non-empty lines.
- If the transcript is too short, say it is too short for Deck instead of padding it.
- Also return suggested metadata for Deck's Interview Details step.

Return exactly:

Interview Name:
[concise title]

Interview Date:
[YYYY-MM-DD if known, otherwise Unknown]

User Email:
[email if known, otherwise Unknown]

Deck Transcript:
[paste-ready transcript]

Transcript:
[paste the raw transcript here]
```

## Output Contract

The agent should return this structure:

```text
Interview Name:
Jane Doe - Onboarding feedback

Interview Date:
2026-05-06

User Email:
jane@example.com

Deck Transcript:
Interviewer: Thanks for joining. Could you walk me through the first moment that felt confusing?
Participant: The setup asked for sources before I understood what the system would do with them.
Interviewer: What would have made that clearer?
Participant: I wanted one example of the output, not a long explanation. Seeing a finished synthesis would have helped.
```

Only the `Deck Transcript` section should be pasted into the transcript input. The metadata sections should be copied into the wizard's Interview Details fields.

## Quality Checklist

Before giving the result back to the user, the agent should check:

- The transcript is not a summary.
- Every line has a speaker label and spoken text.
- Speaker labels are consistent.
- The participant's language is preserved.
- The result has at least 100 words.
- The result has at least 10 non-empty lines.
- No markdown bullets, tables, or JSON appear inside the `Deck Transcript` section.
- Metadata is separated from the transcript text.

## Common Fixes

| Problem in raw transcript                                                | Fix                                                                                                     |
| ------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------- |
| Speaker names appear once, then the rest is unlabeled                    | Infer the ongoing speaker turns and add stable labels                                                   |
| Timestamps appear at the start of every sentence                         | Remove timestamps unless using a supported timestamp format consistently                                |
| Lines are wrapped mid-sentence                                           | Merge wrapped lines into the current speaker turn                                                       |
| Transcript contains chat, attendee, or recording notices                 | Remove non-spoken system artifacts                                                                      |
| Transcript is a narrative recap                                          | Convert only if it includes spoken dialogue; otherwise tell the user Deck needs the original transcript |
| The transcript has fewer than 100 words or fewer than 10 non-empty lines | Tell the user it is too short for Deck                                                                  |

## Canonical Links

- Interview upload schema: [docs.getdeck.io/interview-upload-schema.md](https://docs.getdeck.io/interview-upload-schema.md)
- Human app: [app.getdeck.io](https://app.getdeck.io)
