Introduction

Callr Actions is a declarative framework, inspired by GitHub Actions, to design voice and messaging flows in YAML. Compose calls, prompts, caller input, SMS, HTTP requests and AI with simple building blocks, and run them on your Callr phone numbers or from the API.


A scenario in 25 lines

A scenario is a YAML document made of branches. inbound-call runs when someone calls one of your numbers, inbound-sms when a text message is received, and api-initiated when you start the scenario from the API. Each branch is a sequence of actions; an action can store its result in a $variable, and if / goto route the flow.

compat:
  version: '2025-09-01'
branches:
  inbound-call:
    actions:
      - action: gather@v4
        params:
          maxDigits: 1
          tts:
            text: Welcome to Callr. Press 1 for sales, or 2 for support.
        result: $choice
      - if: "$choice.input == '1'"
        goto:
          branch: sales
      - action: dial@v2
        params:
          targets:
            - number: '+33199004242'
              timeout: 30
        result: $dial
  sales:
    actions:
      - action: dial@v2
        params:
          targets:
            - number: '+33199004243'
              timeout: 30
        result: $dial
ℹ️

Tip

Build and test your scenarios in the Callr Console: the editor validates your YAML as you type, documents every action inline, offers the templates and shows live calls with the Live Debugger.

Where to start

  1. Pick a template close to what you need in Templates, or start from the phone menu above.
  2. Look up each action you use in Actions: parameters, defaults, result and examples.
  3. Write the logic with expressions, variables and conditions, described in the Language Reference, and read the call or SMS data from the Pre-defined Variables.
  4. Attach a phone number to the scenario and call it, or start it from the API, and follow it in the Live Debugger.

Build with Callr Actions


Scenarios with the API

Create and update scenarios, attach phone numbers and start runs from your own code with the Scenarios API.

📄

JSON Schema

Scenarios are defined by a JSON Schema, available as YAML. Use it to enable validation and auto-completion in your own editor.


Did this page help you?