Speech Recognition
Transcribe an audio file into text.
Speech Recognition performs automatic speech-to-text transcription on an audio file, so downstream skills can analyze, classify, or store what was said.
It is a converter, not an analyzer. Its job is to hand you text; what happens to that text is the next skill's problem.
How it works
Input resolution — takes a
downloadUrlfor the audio file.$input(the previous skill's output) and$secretcan construct that URL or inject authentication headers —https://example.com/audio/$input.filePath.Processing — fetches the audio from
downloadUrl, sends the stream to the underlying recognition service, and receives the transcribed text.Execution — blocking. Waits for transcription to complete.
Response — success returns the transcription; failure returns
nullintranscriptionplus a status code and error message.
Worked example: summarizing customer service calls
A call center records its customer service calls. The goal is an automated workflow that turns those recordings into text, then summarizes each call and extracts the key details.
The problem. Listening to audio to find out what happened doesn't scale. Nobody reviews a thousand calls.
The approach. Speech Recognition is the first step, not the whole one. Transcribe the audio, then hand the text to the skills that actually do the work:
Prompt — to summarize the call.
Entity Recognition — to pull out the account number, the dates, the commitments made.
PII Guard — before the transcript reaches a log or a less-trusted system, because a customer service call is full of personal data spoken out loud.
Configuration:
Configuration reference
downloadUrl
string
✅
Direct URL to the audio file.
name
string
—
Display name for this skill instance.
description
string
—
Description of this skill's purpose.
The skill itself needs no authentication — but downloadUrl might. Handle that with $secret in headers.
Output
The output port (speechRecognitionResult) always conforms to:
transcription
string | null
✅
The transcribed text; null on failure.
statusCode
number
✅
HTTP-style status for the outcome.
error
string | null
—
Error message on failure.
Errors
200
Success — transcription generated.
400
Invalid or inaccessible URL — downloadUrl could not be resolved or reached.
422
Unsupported file format — the file isn't a recognized audio format.
500
Internal transcription error — a service-side failure.
400 and 422 are worth distinguishing when debugging: 400 means the file couldn't be fetched (wrong URL, missing auth, network); 422 means it was fetched fine but isn't audio the service can read.
Testing in isolation
Path —
/skill-runtime/workflows/nodes/SpeechRecognition/executeMethod —
POST
To add this skill to an agent, see Adding a Skill to the Agent.
Last updated

