---
title: Record Audio
description: Pause the run and record audio from the microphone, then continue
---

Pause a run, record a voice clip from your microphone, and continue with the recording.

## What it does

When the run reaches Record Audio, it pauses and opens a recording window in the app: press **Start recording**, then **Stop & send** to continue the run with the clip, or **Restart** to begin again. A timer counts up to **Max length (seconds)**. The audio is recorded in your browser and never leaves your device.

In the browser extension, a small recording card also appears on the web page you are viewing, so you can record without switching to the app:

1. **Start recording** begins; **Skip** closes the card.
2. While recording, a waveform and timer show; recording stops on its own at the maximum length. Use **Cancel**, **Restart** or **Stop**.
3. Play the clip back, then **Send & continue run**, or **Re-record**.

Like the other pausing steps, the run is kept while it waits and you are told it needs you (a "waiting for you" count, a sound, a desktop notification). Closing the window or the card doesn't cancel the run; it keeps waiting until you send a recording or cancel the run in the **Executions** pane. The node pauses once for everything that reaches it, not once per item.

## When to use it

* Dictate a note and turn it into text with [Transcribe Audio](/nodes/builtin/ai/localai/transcribe-audio/).
* Speak a command or a reply that later steps summarize, translate or send.
* Capture a short voice memo to save as a file.

For typed input, use [In-Page Form](/nodes/builtin/flow/in-page-form/).

## Inputs and settings

**Prompt** is the instruction shown above the record button, for example `Dictate your reply`. **Max length (seconds)** caps the clip; recording stops automatically when it is reached.

## Outputs

Each output item has these fields:

```json title="Shape of an output item"
{
  "recordedAt": "…",
  "$binary": {}
}
```

`$binary` holds the audio file (usually `audio/webm`) and `recordedAt` the time it was sent. Pass the item straight into [Transcribe Audio](/nodes/builtin/ai/localai/transcribe-audio/) or any node that accepts a file. The incoming item is not passed on.

## Dependencies and credentials

None. This node needs no connection and has no slots for other nodes.

## Example workflow

Dictate a task:

1. [Hotkey](/nodes/builtin/trigger/hotkey/) starts the workflow.
2. Record Audio with **Prompt** `What do you need to do?` and **Max length (seconds)** `30`.
3. [Transcribe Audio](/nodes/builtin/ai/localai/transcribe-audio/) turns the clip into text.
4. [Todoist](/nodes/builtin/integration/todoist/), **Task** › **Create**, with **Content** `{{ $input.transcript }}`.

## Common issues

* **The page card says the microphone is blocked or missing.** The card runs inside the website, so the browser asks for that site's microphone permission. Allow it in the site settings, plug in a microphone, or record from the window in the app instead.
* **No card appears on the page.** The card only shows on normal web pages (`http` or `https`) in the extension. Record from the app window or open the paused run from the **Executions** pane.
* **The run is still waiting after I closed the window.** Closing doesn't cancel. Record and send, or cancel the run in the **Executions** pane.

## Related nodes

* [Transcribe Audio](/nodes/builtin/ai/localai/transcribe-audio/): turn the recording into text on your device.
* [In-Page Form](/nodes/builtin/flow/in-page-form/): pause for typed input.
* [Wait For Approval](/nodes/builtin/flow/wait-for-approval/): pause for a yes or no.