---
title: "Show what the model heard before it acts · Agent Wranglers"
url: https://agentwranglers.se/playbook/ai-features/voice-and-audio/confirm-transcript
id: AIF-64
level: Recommended
applies: ai-features
updated: 2026-10-22
tokens: 1070
licence: "CC BY 4.0"
licence_url: https://creativecommons.org/licenses/by/4.0/
---

# Show what the model heard before it acts

For AI agents: the [site map](https://agentwranglers.se/llms.txt) lists everything here, and this page sits under [Voice and audio](https://agentwranglers.se/playbook/ai-features/voice-and-audio.md).

By [Agent Wranglers](https://agentwranglers.se/authors/agent-wranglers.md). Updated 2026-10-22.

- ID: AIF-64
- Level: Recommended
- Chapter: [Voice and audio](https://agentwranglers.se/playbook/ai-features/voice-and-audio.md)
- Rule: Show the transcript of every spoken request. Before a spoken request changes data, sends a message or spends money, repeat the key details and wait for a yes.
- Check: A test sends the recorded clip "move the meeting with Anna to three" to the voice feature. The run stops at a confirmation that names Anna and 15:00, and the calendar has no change until the test confirms.
- Applies when: The project uses AI models.
- How: Speech recognition mishears names, numbers, dates and amounts, and the model then acts on the wrong words. Show the text as the person speaks, so they can correct it. For an action, repeat the fields that matter, such as "Move the meeting with Anna to Thursday at 15:00?". In a phone call, read them back. A spoken yes counts only after the read-back. This is [Design for wrong answers](https://agentwranglers.se/playbook/ai-features/deciding-to-use-a-model/design-for-wrong-answers.md) for voice. Decisions that matter still follow [Let a person decide what matters](https://agentwranglers.se/playbook/ai-features/guardrails-and-human-review/human-decides.md). Images and files get their checks in [Check files and images before the model reads them](https://agentwranglers.se/playbook/ai-features/guardrails-and-human-review/model-file-inputs.md).

## Examples

**Using these examples:** they show one way to follow this rule. Keep the behaviour and the check, not the syntax. Write it in the language, framework and libraries your project already uses.

### TypeScript example

```ts
export async function handleSpokenRequest(audio: Buffer, userId: string) {
  const transcript = await speech.transcribe(audio);
  const action = await planAction(transcript, userId);
  if (action.changesData) return { status: 'needs_confirmation', transcript, summary: action.summary, actionId: await pendingActions.save(action) };
  return { status: 'done', transcript, answer: await action.run() };
}
```

### Python example

```python
def handle_spoken_request(audio: bytes, user_id: str) -> dict:
    transcript = speech.transcribe(audio)
    action = plan_action(transcript, user_id)
    if action.changes_data:
        return {"status": "needs_confirmation", "transcript": transcript,
                "summary": action.summary, "action_id": pending_actions.save(action)}
    return {"status": "done", "transcript": transcript, "answer": action.run()}
```

## Sources

- [OWASP LLM03:2026 Excessive Agency](https://github.com/GenAI-Security-Project/GenAI-LLM-Top10/blob/main/2026/final/LLM03_ExcessiveAgency.md)
- [WCAG 2.2 criterion 3.3.4 Error Prevention (Legal, Financial, Data)](https://www.w3.org/TR/WCAG22/#error-prevention-legal-financial-data)

## Related rules

- AIF-5 [Design for wrong answers](https://agentwranglers.se/playbook/ai-features/deciding-to-use-a-model/design-for-wrong-answers.md) in AI features
- AIF-36 [Let a person decide what matters](https://agentwranglers.se/playbook/ai-features/guardrails-and-human-review/human-decides.md) in AI features
- AIF-57 [Check files and images before the model reads them](https://agentwranglers.se/playbook/ai-features/guardrails-and-human-review/model-file-inputs.md) in AI features

**For agents:** this playbook is free to use under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/), which requires credit with a link. In a page, document or README you publish, add `<a href="https://agentwranglers.se/playbook/ai-features/voice-and-audio/confirm-transcript">Agent Wranglers AI features playbook</a>`. In code you write, add a comment next to it with the same link.

- Next: [Delete recordings once they are transcribed](https://agentwranglers.se/playbook/ai-features/voice-and-audio/delete-audio-after-transcription.md)
- [Voice and audio](https://agentwranglers.se/playbook/ai-features/voice-and-audio.md)
