Bibliothèque de blocs
La structure JSON exacte de chaque bloc, prête à être copiée-collée pour construire une relance qui marche.
Cette page liste tous les blocs disponibles dans Relancia, avec leur structure JSON exacte. Utilisez-la comme référence quand vous voulez générer ou modifier un plan de relance, à la main ou via une IA.
Comment lire cette page
Pour chaque bloc, vous trouverez :
- À quoi il sert : une explication courte
- Quand l'utiliser : les cas concrets
- Le JSON complet : un copier-coller prêt à l'emploi
- Les champs : un tableau qui décrit chaque champ du bloc
Tous les blocs partagent la même base : id, type, position, data.label,
data.subtitle, data.channel, data.description et data.parameters. Le
type est l'une des quatre valeurs autorisées : trigger, condition,
message, action. Les valeurs de parameters sont toutes des chaînes
de texte.
Vue d'ensemble
Les 4 grandes familles de blocs disponibles dans Relancia. Chaque famille correspond à un type précis utilisé dans le JSON de la relance.
🟢 Bloc trigger — Appel manqué
À quoi il sert : déclenche la relance à chaque appel sans réponse sur votre ligne.
Quand l'utiliser : vous voulez rappeler automatiquement un client qui n'a pas pu vous joindre.
{
"id": "trigger-missed-call",
"type": "trigger",
"position": { "x": 80, "y": 160 },
"data": {
"label": "Appel manqué détecté",
"subtitle": "Déclencheur téléphonie",
"channel": "appel",
"description": "Se déclenche à chaque appel sans réponse sur la ligne.",
"parameters": {
"source_appel": "renvoi_appel",
"numero_tracking": "principal",
"delai_avant_relance_min": "2"
}
}
}| Champ | Type | Requis | Description |
|---|---|---|---|
source_appel | texte | non | Source de l'appel (renvoi_appel, etc.). |
numero_tracking | texte | non | Numéro de tracking à surveiller (principal, etc.). |
delai_avant_relance_min | nombre (texte) | non | Délai avant déclenchement, en minutes. 0 = immédiat. |
🟢 Bloc trigger — Webhook entrant
À quoi il sert : déclenche la relance quand un service externe envoie un webhook signé.
Quand l'utiliser : vous voulez distinguer les appels selon le numéro composé, ou relier Relancia à un autre outil.
{
"id": "trigger-webhook",
"type": "trigger",
"position": { "x": 80, "y": 160 },
"data": {
"label": "Webhook entrant",
"subtitle": "Déclencheur API",
"channel": "webhook",
"description": "Se déclenche à la réception d'un POST HTTP externe signé.",
"parameters": {
"contact_phone_field": "phone",
"contact_email_field": "email",
"contact_name_field": "name",
"webhook_secret": "secret-genere-par-relancia"
}
}
}| Champ | Type | Requis | Description |
|---|---|---|---|
contact_phone_field | texte | non | Nom du champ JSON qui contient le numéro de téléphone. |
contact_email_field | texte | non | Nom du champ JSON qui contient l'email. |
contact_name_field | texte | non | Nom du champ JSON qui contient le nom. |
webhook_secret | texte | oui | Secret partagé pour valider la signature. Généré par Relancia si vide. |
🟢 Bloc trigger — Panier abandonné (Shopify)
À quoi il sert : déclenche la relance quand un client crée un panier sans commander.
Quand l'utiliser : vous avez une boutique Shopify et voulez réduire l'abandon.
{
"id": "trigger-shopify",
"type": "trigger",
"position": { "x": 80, "y": 160 },
"data": {
"label": "Événement Shopify",
"subtitle": "Déclencheur boutique",
"channel": "shopify",
"description": "Se déclenche à la réception d'un événement Shopify signé.",
"parameters": {
"contact_phone_field": "customer.phone",
"contact_email_field": "customer.email",
"contact_name_field": "customer.first_name"
}
}
}| Champ | Type | Requis | Description |
|---|---|---|---|
contact_phone_field | texte | non | Chemin JSON pour le numéro du client dans le payload Shopify. |
contact_email_field | texte | non | Chemin JSON pour l'email. |
contact_name_field | texte | non | Chemin JSON pour le prénom. |
🟢 Bloc trigger — Client inactif (PrestaShop)
À quoi il sert : déclenche la relance pour les clients sans commande récente.
Quand l'utiliser : vous avez une boutique PrestaShop et voulez reprendre contact avec les clients endormis.
{
"id": "trigger-prestashop",
"type": "trigger",
"position": { "x": 80, "y": 160 },
"data": {
"label": "Événement PrestaShop",
"subtitle": "Déclencheur boutique",
"channel": "prestashop",
"description": "Se déclenche à la réception d'un événement PrestaShop signé.",
"parameters": {
"contact_phone_field": "customer.phone",
"contact_email_field": "customer.email",
"contact_name_field": "customer.first_name"
}
}
}| Champ | Type | Requis | Description |
|---|---|---|---|
contact_phone_field | texte | non | Chemin JSON pour le numéro du client. |
contact_email_field | texte | non | Chemin JSON pour l'email. |
contact_name_field | texte | non | Chemin JSON pour le nom. |
🟢 Bloc trigger — Import CSV
À quoi il sert : déclenche la relance à l'ajout d'un contact via un import CSV.
Quand l'utiliser : vous importez une base et voulez la relancer segment par segment.
{
"id": "trigger-csv-import",
"type": "trigger",
"position": { "x": 80, "y": 160 },
"data": {
"label": "Import terminé",
"subtitle": "Fichier clients",
"channel": "csv",
"description": "Se déclenche à l'import d'un fichier de contacts.",
"parameters": {
"source": "csv",
"segment": "import_manuel"
}
}
}| Champ | Type | Requis | Description |
|---|---|---|---|
source | texte | non | Identifiant de la source (csv, etc.). |
segment | texte | non | Étiquette du segment à relancer. |
🔍 Bloc condition — WhatsApp disponible
À quoi il sert : vérifie que le contact a un numéro WhatsApp utilisable.
Quand l'utiliser : vous voulez choisir entre WhatsApp et email selon le contact.
{
"id": "check-whatsapp-optin",
"type": "condition",
"position": { "x": 360, "y": 80 },
"data": {
"label": "WhatsApp disponible ?",
"subtitle": "Vérification du canal",
"channel": "condition",
"description": "Vérifie si le contact peut être joint sur WhatsApp.",
"parameters": {
"verifier_mobile": "oui",
"fallback": "email"
}
}
}| Champ | Type | Requis | Description |
|---|---|---|---|
verifier_mobile | texte | non | oui pour activer la vérification. |
fallback | texte | non | Canal de repli (email, etc.). |
🔍 Bloc condition — Vérifier les horaires
À quoi il sert : envoie le message uniquement dans une plage horaire donnée, dans le fuseau de l'organisation.
Quand l'utiliser : vous ne voulez pas déranger un client en pleine nuit.
{
"id": "check-hours",
"type": "condition",
"position": { "x": 360, "y": 200 },
"data": {
"label": "Vérifier les horaires",
"subtitle": "Moment d'envoi",
"channel": "vérification",
"description": "N'envoie que pendant la plage horaire de l'organisation.",
"parameters": {
"plage_debut": "08:00",
"plage_fin": "18:00"
}
}
}| Champ | Type | Requis | Description |
|---|---|---|---|
plage_debut | texte (HH:MM) | non | Heure de début de la plage d'envoi. |
plage_fin | texte (HH:MM) | non | Heure de fin de la plage d'envoi. |
💬 Bloc message — Envoyer un WhatsApp
À quoi il sert : envoie un WhatsApp au contact.
Quand l'utiliser : vous voulez un message court et rapide après un appel manqué.
{
"id": "send-whatsapp-recall",
"type": "message",
"position": { "x": 660, "y": 0 },
"data": {
"label": "Envoyer WhatsApp de rappel",
"subtitle": "Relance après appel",
"channel": "whatsapp",
"description": "Envoie un message WhatsApp avec une proposition de rappel rapide.",
"parameters": {
"template": "appel_manque_rappel",
"delai_min": "2"
}
}
}| Champ | Type | Requis | Description |
|---|---|---|---|
template | texte | non | Identifiant du modèle de message utilisé. |
delai_min | nombre (texte) | non | Délai d'envoi en minutes après le déclencheur. |
💬 Bloc message — Envoyer un email
À quoi il sert : envoie un email au contact.
Quand l'utiliser : vous voulez un message plus long ou un canal de secours si WhatsApp ne convient pas.
{
"id": "send-email-fallback",
"type": "message",
"position": { "x": 660, "y": 200 },
"data": {
"label": "Envoyer un email de relance",
"subtitle": "Fallback email",
"channel": "email",
"description": "Envoie un email si WhatsApp n'est pas disponible.",
"parameters": {
"template": "fallback_email",
"expediteur": "hello@relancia.app"
}
}
}| Champ | Type | Requis | Description |
|---|---|---|---|
template | texte | non | Identifiant du modèle d'email. |
expediteur | texte | non | Adresse email expéditrice (doit être configurée dans Sources). |
⚙️ Bloc action — Créer une tâche
À quoi il sert : crée une tâche interne pour suivre manuellement le client.
Quand l'utiliser : vous voulez qu'un membre de l'équipe rappelle le client.
{
"id": "create-sales-task",
"type": "action",
"position": { "x": 960, "y": 100 },
"data": {
"label": "Créer une tâche commerciale",
"subtitle": "Suivi de l'équipe",
"channel": "commercial",
"description": "Crée une tâche interne pour le suivi humain.",
"parameters": {
"assignation": "commercial",
"priorite": "haute"
}
}
}| Champ | Type | Requis | Description |
|---|---|---|---|
assignation | texte | non | Personne ou équipe à qui assigner la tâche. |
priorite | texte | non | Priorité (haute, normale, basse). |
⚙️ Bloc action — Appeler une source HTTP
À quoi il sert : envoie un appel HTTP à un service externe (CRM, ERP, tableur).
Quand l'utiliser : vous voulez notifier un autre outil pendant la relance.
{
"id": "http-notify",
"type": "action",
"position": { "x": 960, "y": 250 },
"data": {
"label": "Appeler une source HTTP",
"subtitle": "Récupération externe",
"channel": "http",
"description": "Envoie un appel HTTP vers une URL externe pendant la relance.",
"parameters": {
"action_type": "http_request",
"http_method": "POST",
"url": "https://api.exemple.fr/endpoint",
"content_type": "json",
"headers_json": "{\"Authorization\": \"Bearer xxx\"}",
"body_json": "{\"event\": \"relance_envoyee\"}",
"body_text": "",
"timeout_seconds": "10"
}
}
}| Champ | Type | Requis | Description |
|---|---|---|---|
action_type | texte | oui | Doit valoir http_request. |
http_method | texte | non | GET, POST, PUT, etc. |
url | texte | oui | URL appelée. |
content_type | texte | non | json ou text. |
headers_json | texte JSON | non | En-têtes au format JSON en texte. |
body_json | texte JSON | non | Corps au format JSON en texte. |
body_text | texte | non | Corps en texte brut. |
timeout_seconds | nombre (texte) | non | Délai d'attente en secondes. |
⚙️ Bloc action — Générer une réponse IA
À quoi il sert : demande à une IA connectée de rédiger un message personnalisé.
Quand l'utiliser : vous voulez des relances qui s'adaptent au contexte du contact.
{
"id": "ai-reply",
"type": "action",
"position": { "x": 960, "y": 400 },
"data": {
"label": "Générer réponse IA",
"subtitle": "Réponse automatique",
"channel": "ai",
"description": "Prépare un texte personnalisé via l'IA connectée.",
"parameters": {
"action_type": "ai_reply",
"body_source": "ai",
"temperature": "0.4",
"max_output_tokens": "240",
"system_prompt": "",
"model": ""
}
}
}| Champ | Type | Requis | Description |
|---|---|---|---|
action_type | texte | oui | Doit valoir ai_reply. |
body_source | texte | non | Source du texte (ai pour générer). |
temperature | nombre (texte) | non | Température du modèle (0.0 à 1.0). |
max_output_tokens | nombre (texte) | non | Limite de tokens en sortie. |
system_prompt | texte | non | Consigne système pour l'IA. |
model | texte | non | Modèle à utiliser (sinon celui de la source Assistant IA). |
Aller plus loin
- Créer une nouvelle relance — quatre exemples complets à copier
- Import et export JSON — règles complètes du format Relancia
- Notions clés — définitions visuelles