Callr Actions

Construisez vos flux voix & SMS en YAML — sans attendre les télécoms

Callr Actions est un framework déclaratif — inspiré de GitHub Actions — pour concevoir des parcours d’appel voix et SMS. Composez une logique complexe à partir de briques simples et transformez un numéro en flux fonctionnel en quelques minutes, pas en semaines.

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, deux équipes

Pensé pour le marketing et la technique

Le marketing lit et ajuste les scénarios dans Callr Console ; la technique les gère via l’API REST. Même fichier, sans allers-retours.

Pour le marketing & les ops

  • Lancez vos campagnes en minutes

    Créez un numéro de call tracking, un SVI ou un flux SMS comme un scénario lisible, et passez en production le jour même.

  • N’attendez plus les développeurs

    Lisez et ajustez un scénario directement dans Callr Console — pas de cycle de release pour un nouveau message ou routage.

  • Suivez chaque appel et attribuez-le

    Envoyez les événements d’appel vers Google Analytics ou Mixpanel pour relier les conversations à vos campagnes.

  • Capturez des insights des conversations

    Enregistrez, transcrivez et extrayez des données structurées par IA pour alimenter votre pipeline.

Pour les développeurs

  • Du YAML déclaratif, pas du code de colle

    Décrivez tout le flux en branches et actions dans un seul fichier — prévisible, relisible, facile à raisonner.

  • Serverless et validé

    Les scénarios tournent sur Callr avec un schéma JSON : autocomplétion, doc intégrée et tests en direct. Rien à héberger.

  • Versionnable

    Écrivez dans votre éditeur et gérez les scénarios via l’API REST, pour que vos flux vivent avec votre code.

  • Appelez l’extérieur avec fetch & webhooks

    L’action fetch fait des requêtes HTTP à l’exécution : vos flux appellent votre API REST et consomment des webhooks.

  • JS sandboxé & votre propre IA

    Passez à l’action javascript pour de la logique sur mesure, utilisez les expressions ${{ }}, et branchez OpenAI ou un agent IA.

Anatomie d’un scénario

Six concepts, toute la plateforme

Un scénario est un seul fichier YAML. Maîtrisez ces concepts et vous pouvez tout construire.

Branches

Sections nommées d’un flux — dont les points d’entrée — dans lesquelles l’appel entre et se déplace.

Actions

Les briques : say, gather, dial, record, sms, fetch — chacune une étape versionnée comme say@v2.

Expressions

Les expressions ${{ }}, évaluées en JavaScript, calculent des valeurs dynamiques dans tout paramètre.

Conditions

L’instruction if n’exécute une action que si une condition est vraie : le flux réagit aux données.

Variables

Les valeurs préfixées par $ stockent et transportent la donnée dans tout le scénario.

Defaults

Réglages au niveau scénario et branche — langue, voix, décroché auto — appliqués automatiquement.

Les flux démarrent depuis trois points d’entrée

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

En code

Des scénarios réels, prêts à adapter

Chacun est un scénario Callr Actions complet et valide. Copiez-le, changez les numéros, déployez.

Voix

Routage entrant intelligent

Accueillez l’appelant, captez son intention à la voix et dirigez vers la bonne équipe — en quelques lignes.

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

Des insights à chaque appel

Au raccrochage, résumez la transcription par IA en données structurées et envoyez-les vers votre 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

Capture de leads instantanée

Un SMS entrant crée le lead, déclenche une réponse automatique et logge un événement d’attribution.

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 boîte à outils

Une action pour tout

Voix, messagerie, IA, enregistrement et intégrations — chacune une brique versionnée et documentée.

Voix & contrôle d’appel

  • answer@v1Décrocher un appel entrant
  • say@v2Synthèse vocale, 100+ langues
  • gather@v2Saisie au clavier (DTMF)
  • recognize@v2Reconnaissance vocale
  • dial@v1Connecter ou passer un appel
  • amd@v2Détecter les répondeurs

Messagerie

  • sms@v1Envoyer un SMS
  • email@v1Envoyer un email

IA

  • openai@v2Appeler l’API OpenAI
  • fetch@v2Joindre Claude, Mistral & LLM auto-hébergés
  • voicebot@v1Lancer un agent vocal IA

Enregistrement

  • startRecording@v1Enregistrer l’appel
  • record@v1Capturer un message vocal

Données & intégrations

  • fetch@v2Appeler une API REST ou webhook
  • javascript@v1Exécuter du JavaScript sandboxé
  • googleAnalytics@v1Envoyer les appels vers GA
  • mixpanel@v1Pousser des événements Mixpanel
  • memcache@v1Stockage clé/valeur

Et aussi détection de répondeur, conférence, DTMF, et plus — voir la référence complète. Lire la doc →

Transformez un numéro en flux dès aujourd’hui

Démarrez gratuitement, ou lisez la référence pour voir chaque action et exemple.

Réserver une démoCommencer gratuitement