Créer une nouvelle relance
Construire une relance pas à pas avec un JSON complet, prêt à coller, qui fonctionne dès l'import.
Cette page est le mode d'emploi pour construire une relance à partir de zéro. Elle est pensée pour un client qui découvre Relancia et pour une IA qui doit générer un JSON valide. Chaque section donne un exemple concret, avec le JSON exact à coller dans l'Éditeur.
En quoi consiste une relance
Une relance est un plan automatique qui réagit à un événement. Elle est composée de :
- un point de départ (l’événement qui déclenche la relance)
- des vérifications (optionnel, pour adapter le comportement)
- des messages (ce qui est envoyé au client)
- des étapes (ce qui se passe en interne, comme créer une tâche)
Toutes les relances sont stockées en JSON. Le JSON est la source de vérité : ce que vous voyez dans l'éditeur visuel est une projection de ce JSON.
Vue d'ensemble du flux
Voici comment une relance simple se lit, de gauche à droite :
Cette page explique comment créer une relance. Pour comprendre chaque bloc, voir Notions clés. Pour un exemple détaillé de chaque bloc, voir Bibliothèque de blocs.
Les 7 étapes pour créer une relance
Voici la méthode la plus simple pour un artisan qui découvre Relancia :
- Choisir un objectif : qu’est-ce que vous voulez obtenir automatiquement ? (rappeler un client après un appel manqué, relancer un devis, etc.)
- Choisir un point de départ :
Appel manqué,Shopify,PrestaShop,Import CSVouWebhook entrant. - Donner un nom et une description : quelque chose de lisible, par exemple
Rappel appel manqué. - Construire le plan : ajouter les vérifications, les messages et les étapes nécessaires.
- Copier un JSON de base : prendre un des exemples ci-dessous.
- Coller le JSON dans l'éditeur : via
Coller JSONpuisCharger dans cette relance. - Tester, ajuster, activer : rester en
Brouillontant que la relance n’a pas été testée.
Exemple 1 : Rappel WhatsApp après appel manqué
C’est l’exemple le plus simple et le plus utile pour un artisan. La relance s’active à chaque appel manqué et envoie un message WhatsApp 2 minutes après.
Le plan visuel
Le JSON à coller
{
"name": "Rappel WhatsApp après appel manqué",
"description": "Envoie un message WhatsApp 2 minutes après chaque appel manqué, puis crée une tâche interne pour le suivi.",
"status": "Brouillon",
"start_type": "Appel manqué",
"nodes": [
{
"id": "n_depart",
"type": "depart",
"name": "Appel manqué",
"label": "Appel manqué",
"description": "Se déclenche dès qu'un appel reste sans réponse sur la ligne d'appel configurée.",
"fields": {
"source": "Ligne d'appel",
"delai_minutes": 0
}
},
{
"id": "n_attente",
"type": "verif",
"name": "Attendre 2 minutes",
"label": "Attendre 2 min",
"description": "Laisse passer 2 minutes pour ne pas écraser le client immédiatement.",
"fields": {
"delai_minutes": 2
}
},
{
"id": "n_whatsapp",
"type": "message",
"name": "Envoyer un WhatsApp",
"label": "Envoyer un WhatsApp",
"description": "Envoie un message court et poli pour proposer un rappel.",
"fields": {
"canal": "WhatsApp",
"modele": "whatsapp_rappel_v1",
"contenu": "Bonjour {{contact.prenom}}, je n'ai pas pu répondre à votre appel. Souhaitez-vous que je vous rappelle ? Répondez OUI et je vous joins dans la journée. — {{compte.nom}}"
}
},
{
"id": "n_tache",
"type": "etape",
"name": "Créer une tâche de rappel",
"label": "Créer une tâche",
"description": "Ajoute une note interne pour ne pas oublier le client.",
"fields": {
"type": "tache",
"titre": "Rappeler {{contact.prenom}} {{contact.nom}}",
"priorite": "normale"
}
}
],
"edges": [
{ "id": "e1", "source": "n_depart", "target": "n_attente", "name": "Toujours" },
{ "id": "e2", "source": "n_attente", "target": "n_whatsapp", "name": "Délai écoulé" },
{ "id": "e3", "source": "n_whatsapp", "target": "n_tache", "name": "Après envoi" }
]
}Comment l'utiliser
- Ouvrez
Relancesdans Relancia. - Cliquez sur
Nouvelle relanceet donnez-lui le nomRappel WhatsApp après appel manqué. - Ouvrez l’
Éditeur. - Cliquez sur
Coller JSON. - Collez le bloc ci-dessus, cliquez sur
Vérifier le JSON, puisCharger dans cette relance. - Vérifiez le plan visuel. Vous devez voir 4 blocs reliés en ligne.
- Lancez un test (en passant un appel manqué test sur votre ligne).
- Si tout fonctionne, passez la relance en
Actif.
Le champ modele est un identifiant interne. Si vous utilisez un modèle
custom, remplacez whatsapp_rappel_v1 par l’identifiant visible dans
Messages > Modèles. Laissez-le vide si vous voulez écrire un message
libre dans contenu.
Exemple 2 : Rappel avec fallback email
Cet exemple envoie un WhatsApp si le client a un numéro, sinon un email. C’est le réflexe à avoir pour ne perdre aucun contact.
Le plan visuel
Le JSON à coller
{
"name": "Rappel avec fallback email",
"description": "Appel manqué : envoie un WhatsApp si possible, sinon un email de rappel.",
"status": "Brouillon",
"start_type": "Appel manqué",
"nodes": [
{
"id": "n_depart",
"type": "depart",
"name": "Appel manqué",
"label": "Appel manqué",
"description": "Se déclenche à chaque appel sans réponse.",
"fields": {
"source": "Ligne d'appel",
"delai_minutes": 0
}
},
{
"id": "n_check_wa",
"type": "verif",
"name": "WhatsApp disponible",
"label": "WhatsApp disponible ?",
"description": "Vérifie que le contact a un numéro WhatsApp connu.",
"fields": {
"verif": "whatsapp_disponible"
}
},
{
"id": "n_wa",
"type": "message",
"name": "Envoyer WhatsApp",
"label": "Envoyer un WhatsApp",
"description": "Message court pour proposer un rappel.",
"fields": {
"canal": "WhatsApp",
"contenu": "Bonjour {{contact.prenom}}, je n'ai pas pu répondre. Souhaitez-vous que je vous rappelle ? — {{compte.nom}}"
}
},
{
"id": "n_email",
"type": "message",
"name": "Envoyer email",
"label": "Envoyer un email",
"description": "Email sobre avec un appel à l'action clair.",
"fields": {
"canal": "Email",
"sujet": "Appel manqué — {{compte.nom}}",
"contenu": "Bonjour {{contact.prenom}},\n\nJe n'ai pas pu répondre à votre appel. Si vous souhaitez que je vous rappelle, répondez à cet email avec vos disponibilités.\n\nBien cordialement,\n{{compte.nom}}"
}
}
],
"edges": [
{ "id": "e1", "source": "n_depart", "target": "n_check_wa", "name": "Toujours" },
{ "id": "e2", "source": "n_check_wa", "target": "n_wa", "name": "Oui" },
{ "id": "e3", "source": "n_check_wa", "target": "n_email", "name": "Non" }
]
}Comment l'utiliser
- Créez une nouvelle relance.
- Collez le JSON.
- Vérifiez que le plan visuel montre bien deux sorties sur le bloc
WhatsApp disponible ?: une versEnvoyer un WhatsApp, une versEnvoyer un email. - Testez avec un contact qui a un WhatsApp puis avec un contact qui n’a qu’un email.
- Passez en
Actifune fois validé.
Exemple 3 : Panier abandonné Shopify
Pour une boutique en ligne, voici comment relancer un client qui n’a pas finalisé sa commande.
Le plan visuel
Le JSON à coller
{
"name": "Panier abandonné Shopify",
"description": "Relance un client 1h après un panier abandonné, puis envoie un email 24h plus tard si la commande n'est pas finalisée.",
"status": "Brouillon",
"start_type": "Shopify",
"nodes": [
{
"id": "n_depart",
"type": "depart",
"name": "Panier abandonné",
"label": "Panier abandonné",
"description": "Se déclenche quand un client crée un panier sans commander dans l'heure.",
"fields": {
"source": "Boutique Shopify",
"evenement": "checkout_abandoned"
}
},
{
"id": "n_attente_1h",
"type": "verif",
"name": "Attendre 1 heure",
"label": "Attendre 1h",
"description": "Laisse passer une heure pour ne pas être trop intrusif.",
"fields": { "delai_minutes": 60 }
},
{
"id": "n_wa",
"type": "message",
"name": "Envoyer WhatsApp",
"label": "Envoyer un WhatsApp",
"description": "Petit message pour rappeler le panier.",
"fields": {
"canal": "WhatsApp",
"contenu": "Bonjour {{contact.prenom}}, votre panier sur {{compte.nom}} vous attend encore. Un souci ou une question ? Répondez ici, on vous aide. — {{compte.nom}}"
}
},
{
"id": "n_check_achat",
"type": "verif",
"name": "Achat finalisé",
"label": "Achat finalisé ?",
"description": "Vérifie si la commande a été payée depuis.",
"fields": { "verif": "commande_finalisee" }
},
{
"id": "n_email",
"type": "message",
"name": "Email de rappel",
"label": "Envoyer un email",
"description": "Email plus complet avec un code de réduction possible.",
"fields": {
"canal": "Email",
"sujet": "Votre panier vous attend — {{compte.nom}}",
"contenu": "Bonjour {{contact.prenom}},\n\nVotre panier est toujours disponible. Profitez de -10% avec le code RETOUR10 pour finaliser votre commande.\n\nÀ très vite,\n{{compte.nom}}"
}
},
{
"id": "n_fin",
"type": "etape",
"name": "Fin",
"label": "Fin",
"description": "Marque la fin de la relance.",
"fields": { "type": "fin" }
}
],
"edges": [
{ "id": "e1", "source": "n_depart", "target": "n_attente_1h", "name": "Toujours" },
{ "id": "e2", "source": "n_attente_1h", "target": "n_wa", "name": "Délai écoulé" },
{ "id": "e3", "source": "n_wa", "target": "n_check_achat", "name": "Après envoi" },
{ "id": "e4", "source": "n_check_achat", "target": "n_email", "name": "Non" },
{ "id": "e5", "source": "n_check_achat", "target": "n_fin", "name": "Oui" }
]
}Exemple 4 : Relance de devis non signé
Pour des artisans qui envoient des devis, voici une relance qui s’active à l’import d’un contact avec le tag devis.
Le plan visuel
Le JSON à coller
{
"name": "Relance devis non signé",
"description": "Envoie un message WhatsApp 3 jours après l'import d'un contact avec le tag devis.",
"status": "Brouillon",
"start_type": "Import CSV",
"nodes": [
{
"id": "n_depart",
"type": "depart",
"name": "Import CSV devis",
"label": "Import CSV — devis",
"description": "Se déclenche à l'import d'un contact avec le tag 'devis'.",
"fields": {
"source": "Import CSV",
"filtre": { "tag": "devis" }
}
},
{
"id": "n_attente",
"type": "verif",
"name": "Attendre 3 jours",
"label": "Attendre 3 jours",
"description": "Délai pour laisser le client réfléchir.",
"fields": { "delai_minutes": 4320 }
},
{
"id": "n_wa",
"type": "message",
"name": "Rappel devis",
"label": "Envoyer un WhatsApp",
"description": "Rappel courtois sur le devis envoyé.",
"fields": {
"canal": "WhatsApp",
"contenu": "Bonjour {{contact.prenom}}, avez-vous eu le temps de regarder le devis envoyé le {{devis.date}} ? Je reste disponible pour en discuter. — {{compte.nom}}"
}
}
],
"edges": [
{ "id": "e1", "source": "n_depart", "target": "n_attente", "name": "Toujours" },
{ "id": "e2", "source": "n_attente", "target": "n_wa", "name": "Délai écoulé" }
]
}Anatomie d’un JSON de relance
Tous les JSON de relance suivent la même structure. Voici les champs à connaître.
Champs de la relance (racine)
| Champ | Type | Valeurs possibles | Description |
|---|---|---|---|
name | texte | libre | Nom affiché dans la liste des relances. |
description | texte | libre | Phrase qui résume l’objectif. |
status | texte | Brouillon, Actif, En pause | Statut de la relance. |
start_type | texte | Appel manqué, Shopify, PrestaShop, Import CSV, Webhook entrant | Point de départ de la relance. |
nodes | tableau | — | Liste des blocs qui composent la relance. |
edges | tableau | — | Liste des liens entre les blocs. |
Champs d’un bloc (nodes)
| Champ | Type | Description |
|---|---|---|
id | texte | Identifiant unique (n_xxx). Référencé par les liens. |
type | texte | depart, verif, message, etape. |
name | texte | Nom interne du bloc. |
label | texte | Petit texte affiché dans le plan visuel. |
description | texte | Note libre pour vous. |
fields | objet | Champs à remplir, dépendent du type de bloc. |
Champs d’un lien (edges)
| Champ | Type | Description |
|---|---|---|
id | texte | Identifiant unique (e_xxx). |
source | texte | ID du bloc de départ. |
target | texte | ID du bloc d’arrivée. |
name | texte | Libellé du lien (par exemple Oui, Non, Toujours, Délai écoulé). |
Variables disponibles dans les messages
Dans un message (contenu ou sujet), vous pouvez insérer des variables qui seront remplacées automatiquement :
| Variable | Description |
|---|---|
{{contact.prenom}} | Prénom du contact. |
{{contact.nom}} | Nom du contact. |
{{contact.telephone}} | Numéro de téléphone du contact. |
{{contact.email}} | Email du contact. |
{{compte.nom}} | Nom de votre compte Relancia. |
{{devis.date}} | Date du devis (pour les relances de devis). |
{{commande.numero}} | Numéro de la commande (pour les relances e-commerce). |
{{commande.montant}} | Montant de la commande. |
Bonnes pratiques pour générer un JSON
Si vous utilisez une IA pour générer un JSON de relance, partagez-lui les
indications suivantes : la liste des start_type valides, la liste des
type de bloc, la structure nodes et edges, et la liste des variables
ci-dessus. Une relance doit avoir au moins un bloc depart relié à au
moins un autre bloc.
- Toujours commencer par un bloc
depart. - Toujours relier chaque bloc sauf le dernier.
- Garder des
iduniques (préfixen_pour les blocs,e_pour les liens). - Ne pas inventer de types : restez sur
depart,verif,message,etape. - Tester en
Brouillonavant de passer enActif.
Aller plus loin
- Notions clés — définitions précises de chaque bloc
- Bibliothèque de blocs — la structure JSON de chaque bloc
- Éditeur de relance — utiliser l’interface visuelle
- Import et export JSON — coller et sauvegarder
- Bonnes pratiques — éviter les erreurs courantes