Callr Actions

Crea flujos de voz y SMS en YAML — sin esperar a las telecos

Callr Actions es un framework declarativo — inspirado en GitHub Actions — para diseñar flujos de llamadas de voz y SMS. Compón lógica compleja con bloques sencillos y convierte un número en un flujo funcional en minutos, no en semanas.

scenario.yaml
description: Greet every caller and route the call
defaults:
language: en-US
branches:
inbound-call:
actions:
- action: say@v2
params:
what: Welcome to Callr! Connecting you now.
- action: dial@v1
params:
targets:
- number: "+33199001000"
timeout: 30

Un framework, dos equipos

Hecho para marketing e ingeniería

Marketing lee y ajusta los escenarios en Callr Console; ingeniería los gestiona con la API REST. El mismo archivo, sin traspasos.

Para marketing y operaciones

  • Lanza campañas en minutos

    Crea un número de seguimiento de llamadas, un IVR o un flujo SMS como un escenario legible y publícalo el mismo día.

  • Deja de esperar a los desarrolladores

    Lee y ajusta un escenario directamente en Callr Console — sin ciclo de release para un nuevo mensaje o enrutamiento.

  • Haz seguimiento y atribución de cada llamada

    Envía los eventos de llamada a Google Analytics o Mixpanel para vincular las conversaciones con tus campañas.

  • Captura información de las conversaciones

    Graba, transcribe y extrae datos estructurados con IA para que cada interacción alimente tu pipeline.

Para desarrolladores

  • YAML declarativo, no código pegamento

    Describe todo el flujo como ramas y acciones en un solo archivo — predecible, revisable y fácil de razonar.

  • Serverless y validado

    Los escenarios corren en Callr con un esquema JSON: autocompletado, docs en línea y pruebas en vivo. Nada que alojar.

  • Versionable

    Escribe en tu propio editor y gestiona los escenarios con la API REST, para que los flujos vivan junto a tu código.

  • Llama al exterior con fetch y webhooks

    La acción fetch hace peticiones HTTP en ejecución: tus flujos llaman a tu API REST y consumen webhooks.

  • JS aislado y tu propia IA

    Usa la acción javascript para lógica a medida, expresiones ${{ }} en línea y conecta OpenAI o un agente IA.

Anatomía de un escenario

Seis conceptos, toda la plataforma

Un escenario es un único archivo YAML. Domina estos conceptos y podrás construir cualquier cosa.

Ramas

Secciones con nombre de un flujo — incluidos los puntos de entrada — por las que entra y se mueve la llamada.

Acciones

Los bloques: say, gather, dial, record, sms, fetch — cada uno un paso versionado como say@v2.

Expresiones

Las expresiones ${{ }}, evaluadas en JavaScript, calculan valores dinámicos en cualquier parámetro.

Condiciones

La sentencia if ejecuta una acción solo si una condición es verdadera: el flujo reacciona a los datos.

Variables

Los valores con prefijo $ almacenan y transportan datos por todo el escenario.

Defaults

Ajustes a nivel de escenario y rama — idioma, voz, autorespuesta — aplicados automáticamente.

Los flujos arrancan desde tres puntos de entrada

  • inbound-call
  • inbound-sms
  • api-initiated

Míralo en código

Escenarios reales, listos para adaptar

Cada uno es un escenario de Callr Actions completo y válido. Cópialo, cambia los números y publícalo.

Voz

Enrutamiento entrante inteligente

Saluda a quien llama, capta su intención por voz y dirígelo al equipo correcto — en pocas líneas.

scenario.yaml
description: Route every caller to the right team
defaults:
language: en-US
branches:
inbound-call:
actions:
- action: answer@v1
- action: say@v2
params:
what: Welcome to Callr! In a few words, how can we help?
- action: recognize@v2
params:
hints: [billing, sales, support]
result: $intent
- action: dial@v1
params:
targets:
- number: "${{ ($intent.text || '').match(/sale/i) ? '+33199001001' : '+33199001002' }}"
timeout: 30
IA

Información de cada llamada

Al colgar, resume la transcripción con IA en datos estructurados y envíalos directo a tu CRM.

scenario.yaml
description: Summarise every call and sync it to your CRM
branches:
hangup:
actions:
- action: openai@v2
params:
secret: "${{ secrets.openai }}"
endpoint: chat/completions
properties:
model: gpt-5.5
messages: "${{ $prompt }}"
result: $insights
- action: fetch@v2
params:
method: POST
url: https://crm.example.com/api/calls
body: "${{ JSON.stringify($insights) }}"
SMS

Captura de leads al instante

Un SMS entrante crea el lead, dispara una respuesta automática y registra un evento de atribución.

scenario.yaml
description: Capture and reply to inbound SMS leads
branches:
inbound-sms:
actions:
- action: fetch@v2
params:
method: POST
url: https://crm.example.com/api/leads
body: "${{ JSON.stringify({ phone: sms.from, text: sms.text }) }}"
result: $lead
- action: sms@v1
params:
from: "${{ sms.to }}"
to: "${{ sms.from }}"
body: Thanks! An advisor will text you right back.
- action: mixpanel@v1
params:
username: "${{ secrets.mixpanel_user }}"
secret: "${{ secrets.mixpanel_secret }}"
project_id: "${{ secrets.mixpanel_project }}"
event: lead_captured

La caja de herramientas

Una acción para todo

Voz, mensajería, IA, grabación e integraciones — cada una un bloque versionado y documentado.

Voz y control de llamada

  • answer@v1Contestar una llamada entrante
  • say@v2Texto a voz, 100+ idiomas
  • gather@v2Entrada por teclado (DTMF)
  • recognize@v2Voz a texto
  • dial@v1Conectar o realizar una llamada
  • amd@v2Detectar contestadores

Mensajería

  • sms@v1Enviar un SMS
  • email@v1Enviar un email

IA

  • openai@v2Llamar a la API de OpenAI
  • fetch@v2Conectar con Claude, Mistral y LLM autoalojados
  • voicebot@v1Ejecutar un agente de voz IA

Grabación

  • startRecording@v1Grabar la llamada
  • record@v1Capturar un mensaje de voz

Datos e integraciones

  • fetch@v2Llamar a cualquier API REST o webhook
  • javascript@v1Ejecutar JavaScript aislado
  • googleAnalytics@v1Enviar llamadas a GA
  • mixpanel@v1Enviar eventos a Mixpanel
  • memcache@v1Almacén clave/valor

Y además detección de contestador, conferencia, DTMF y más — consulta la referencia completa. Leer la doc →

Convierte un número en un flujo hoy mismo

Empieza gratis o lee la referencia para ver cada acción y ejemplo.

Reservar una demoEmpieza gratis