Listen via Scout
Module · Stable
Record a short audio clip through a paired Scout device; the clip lands as temporary evidence.
Sends a ‘listen’ command to a Scout physical device, asking it to record audio for a fixed duration and upload the clip. This is one-way ambient capture — it produces an audio FILE, nothing more: no question, no transcription, no branch (for a spoken back-and-forth use an Ask-a-person step with channel: voice instead). The device must be paired and have ‘listen’ in its capabilities. When device_id is omitted the step auto-selects the first available listen-capable device. This step only ENQUEUES the request and returns immediately (enqueued=True + the command identifiers); the recording arrives asynchronously and is stored as a temporary (3-day) evidence artefact, the same ephemeral store Scout photo captures use. To use the clip, add a Wait step after this one with event=‘scout.observed’ — its payload carries memory_item_id (the stored audio), which downstream steps reference (e.g. feed it to Speech to Text).
When to use
Section titled “When to use”Use when a flow needs an ambient sound recording from the physical world — the loading dock for 20s, a machine’s running noise, a room tone. Pair with a following Wait step on event ‘scout.observed’ to block until the clip is stored, then read {{ wait_event_payload.memory_item_id }} downstream. Branch on enqueued to handle the ‘no device available’ case.
When not to use
Section titled “When not to use”Do not use to ask a person a spoken question and take a spoken answer — that is an Ask-a-person step with channel: voice, which speaks, listens with endpointing, transcribes, and branches in one node. Do not expect the audio inline in this step’s output: listen is a read that completes asynchronously, so you MUST add a Wait step on ‘scout.observed’ to get the memory_item_id. If no Scout device with ‘listen’ capability is paired, this step returns enqueued=False (it does not raise).
Inputs
Section titled “Inputs”Configured per use: device_id, duration, reason, keep, ttl.
Outputs
Section titled “Outputs”Auto-generated from the skill registry (load_skills()). Do not edit by hand.