RRelancia
Référence

Exemple complet

Une relance prête à coller dans l'éditeur, conforme à toutes les règles de la section Référence.

Cette page propose un exemple complet d'une relance "Rappel après appel manqué avec WhatsApp et email de secours". Le JSON ci-dessous est conforme à toutes les règles listées dans Limites et peut être collé tel quel dans l'éditeur Relancia via le bouton Coller JSON.

Code JSON complet

{
  "name": "Rappel WhatsApp après appel manqué",
  "description": "Relance un client qui n'a pas eu quelqu'un au téléphone avec un WhatsApp, et un email en repli.",
  "status": "draft",
  "trigger_type": "missed_call",
  "nodes": [
    {
      "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"
        }
      }
    },
    {
      "id": "check-hours",
      "type": "condition",
      "position": { "x": 360, "y": 60 },
      "data": {
        "label": "Vérifier les horaires",
        "subtitle": "Moment d'envoi",
        "channel": "vérification",
        "description": "Envoie uniquement pendant les horaires d'ouverture.",
        "parameters": {
          "plage_debut": "08:00",
          "plage_fin": "18:00"
        }
      }
    },
    {
      "id": "check-whatsapp-optin",
      "type": "condition",
      "position": { "x": 660, "y": 60 },
      "data": {
        "label": "WhatsApp disponible ?",
        "subtitle": "Vérification du canal",
        "channel": "vérification",
        "description": "Vérifie si le client peut être joint sur WhatsApp.",
        "parameters": {
          "verifier_mobile": "oui",
          "fallback": "email"
        }
      }
    },
    {
      "id": "send-whatsapp-recall",
      "type": "message",
      "position": { "x": 960, "y": 0 },
      "data": {
        "label": "Envoyer un WhatsApp de rappel",
        "subtitle": "Relance rapide",
        "channel": "whatsapp",
        "description": "Premier contact WhatsApp après l'appel manqué.",
        "parameters": {
          "template": "appel_manque_rappel",
          "delai_min": "2",
          "body_source": "statique",
          "body": "Bonjour {{contact.prenom}}, vous avez essayé de joindre {{compte.nom}}. Souhaitez-vous que nous vous rappelions ?"
        }
      }
    },
    {
      "id": "send-email-fallback",
      "type": "message",
      "position": { "x": 960, "y": 200 },
      "data": {
        "label": "Envoyer un email de relance",
        "subtitle": "Repli par email",
        "channel": "email",
        "description": "Email envoyé en repli si WhatsApp n'est pas disponible.",
        "parameters": {
          "template": "fallback_email",
          "expediteur": "hello@relancia.app",
          "body_source": "statique",
          "body": "Bonjour {{contact.prenom}}, nous avons manqué votre appel. Souhaitez-vous que nous vous recontactions ?"
        }
      }
    },
    {
      "id": "create-sales-task",
      "type": "action",
      "position": { "x": 1260, "y": 100 },
      "data": {
        "label": "Créer une tâche commerciale",
        "subtitle": "Suivi humain",
        "channel": "commercial",
        "description": "Crée une tâche interne pour l'équipe commerciale.",
        "parameters": {
          "assignation": "commercial",
          "priorite": "normale"
        }
      }
    },
    {
      "id": "tag-contact-relanced",
      "type": "action",
      "position": { "x": 1260, "y": 300 },
      "data": {
        "label": "Marquer le contact",
        "subtitle": "Étiquetage",
        "channel": "commercial",
        "description": "Pose l'étiquette 'relancé' sur le contact.",
        "parameters": {
          "action_type": "tag_contact",
          "tag": "relance_appel_manque"
        }
      }
    }
  ],
  "edges": [
    { "id": "e1", "source": "trigger-missed-call", "target": "check-hours", "animated": true },
    { "id": "e2", "source": "check-hours", "target": "check-whatsapp-optin", "label": "Pendant les horaires", "animated": true },
    { "id": "e3", "source": "check-whatsapp-optin", "target": "send-whatsapp-recall", "label": "WhatsApp ok", "animated": true },
    { "id": "e4", "source": "check-whatsapp-optin", "target": "send-email-fallback", "label": "Fallback email", "animated": true },
    { "id": "e5", "source": "send-whatsapp-recall", "target": "create-sales-task", "animated": true },
    { "id": "e6", "source": "send-email-fallback", "target": "create-sales-task", "animated": true },
    { "id": "e7", "source": "send-whatsapp-recall", "target": "tag-contact-relanced", "animated": true },
    { "id": "e8", "source": "send-email-fallback", "target": "tag-contact-relanced", "animated": true }
  ]
}

Flux visuel

Appel manqué


Vérifier les horaires ── (sinon : fin)


WhatsApp disponible ? ── (non) ──► Envoyer un email ──► Créer tâche + Marquer

   (oui)

Envoyer un WhatsApp ──► Créer tâche + Marquer

Pourquoi ce plan

  • Le déclencheur est missed_call (canal appel), ce qui correspond à trigger_type à la racine.
  • La première vérification Vérifier les horaires évite d'envoyer un message en pleine nuit.
  • La deuxième vérification WhatsApp disponible ? choisit entre WhatsApp et email.
  • Les deux branches convergent vers une tâche commerciale et un marquage du contact.
  • Toutes les valeurs de parameters sont des chaînes de texte.
  • Les ids sont uniques et en kebab-case.
  • Les liaisons sont orientées de gauche à droite, avec un pas de 300 px entre les colonnes.

Variantes

Variante "Panier abandonné"

Pour faire la même chose sur un panier Shopify :

  • Changez le trigger_type à shopify
  • Remplacez le premier bloc par un déclencheur shopify (canal shopify)
  • Le reste du plan reste valide, seules les variables {{evenement.panier.*}} changent

Variante "Client inactif PrestaShop"

  • trigger_type à prestashop
  • Premier bloc : déclencheur prestashop (canal prestashop)
  • Variables : {{evenement.import.*}} ou vide

Variante "Webhook CRM"

  • trigger_type à webhook
  • Premier bloc : déclencheur webhook (canal lien)
  • Aucune variable d'événement standard ; le payload est mappé via les paramètres contact_phone_field, contact_email_field, contact_name_field

On this page