Actions
All Callr Actions actions, their parameters, results and examples.
Every action has a name and a version, like dial@v2. This list shows the current version of each action: older versions keep working in existing scenarios, and each action page lists them.
An action runs in the branches listed on its page: the call actions need a live call (inbound-call and your own branches), the data and messaging actions also run without a call (api-initiated, inbound-sms, hangup).
Call control
| Action | What it does |
|---|---|
dial@v2 | Connect the current caller to another party. Replaces dial@v1 (cli becomes callerId, ring becomes an audioFile) |
bridge@v3 | Bridge the outbound leg of a dial@v2 (or dial@v1); a beep (feedback) is played to both legs before bridging unless disabled |
conference@v1 | Put the caller in a conference room. Callers of your account that use the same room are connected together; the room is created when the first caller enters it. The action blocks until the caller leaves the room (by pressing *, automatically as the last participant, or after a failed PIN), then the next action runs. |
answer@v1 | Answer the call (inbound calls only) |
ringing@v1 | Indicate ringing tone before the call is answered (inbound calls only) |
hangup@v1 | Hangup the call, with optional Q.850 cause code |
wait@v1 | Wait for a given amount of time |
waitForSilence@v1 | Wait for silence |
dtmf@v1 | Sends DTMF to the current call |
amd@v3 | Answering Machine Detection |
Audio
| Action | What it does |
|---|---|
play@v3 | Play a text-to-speech prompt (tts) or an audio file of your library (audioFile). Replaces say@v2 and play@v2. |
playRecordingFile@v1 | Play a file recorded with record@v1 |
Caller input
| Action | What it does |
|---|---|
gather@v4 | Gather digits (DTMF) from the caller, optionally prompted by a text-to-speech (tts) or an audio file of your library (audioFile) |
recognize@v3 | Recognize voice - Speech-to-Text |
Recording
| Action | What it does |
|---|---|
startRecording@v2 | Start call recording. Replaces startRecording@v1 (the result is the lowercase recording SID) |
stopRecording@v2 | Stop call recording. Replaces stopRecording@v1 (the result is the lowercase recording SID) |
record@v1 | Record raw audio |
saveRecordingFile@v1 | Save a file recorded with record@v1 as a Recording object in the API |
Messaging
Data & integrations
| Action | What it does |
|---|---|
fetch@v3 | Fetch HTTP resource |
javascript@v1 | Execute JavaScript code |
memcache@v1 | Key/value store for short term storage |
log@v1 | Log something |
googleAnalytics@v1 | Measure offline (phone) interactions with Google Analytics |
mixpanel@v1 | Push event to Mixpanel |
AI
| Action | What it does |
|---|---|
llm@v1 | Ask an AI model, no API key needed, billed per token |
openai@v4 | Communicate with OpenAI's API, no API key needed |
anthropic@v1 | Communicate with Anthropic's Messages API, no API key needed |
voicebot@v3 | AI agent on the phone, no API key needed |
No API key is needed: Callr bills the tokens per model (see the AI section of your rates, Billing > Pricing in the Console). openai, anthropic and voicebot also work with your own API key, kept in the secrets of your account: the provider then bills the tokens.
The full definition of every action is in the JSON Schema. The Callr Console editor validates your YAML against it and shows this documentation inline.
Updated about 20 hours ago
