Les événements WhatsApp qui pilotent vos flux de travail n8n.

Les webhooks signés de Flowella lancent vos workflows n8n via le déclencheur Webhook propre à n8n, et le nœud « Requête HTTP » renvoie les modèles WhatsApp via l'API Flowella.

  • Fonctionne aujourd'huiVia l'API Flowella et les webhooks
  • À venirUn nœud Flowella pour n8n
Flo, la mascotte de Flowella, branche un câble sur le dernier des trois nœuds colorés pour les relier entre eux

Déclenchez un événement, suivez la charge utile.

Voici un workflow n8n, représenté dans le style de Flowella. Choisissez un exemple d'événement et envoyez-le, puis suivez-le de nœud en nœud : le nœud Switch achemine chaque événement, et un nœud HTTP Request alerte votre équipe, met à jour votre liste de diffusion ou renvoie un modèle WhatsApp via l'API Flowella. Sélectionnez n'importe quel nœud pour voir exactement ce qu'il a reçu ou envoyé.

Flo pointe dans la direction indiquée par l'une des trois flèches du panneau indicateur, à l'image d'une branche de workflow qui choisit un chemin
Uniquement les nœuds propres à n8n
Exemple d'événement
Acme ClubCompte professionnel
Données d’exemple

Aujourd'hui

Bonjour Ada, ton adhésion au Club Acme prend fin le 31 octobre. N'hésite pas à répondre à ce message si tu as des questions.
Événements FlowellaFlux de travail n8n
Données d’exemple

Ce que Flowella a publié sur le webhook Données d’exemple

POST/webhook/flowella-events

Content-Type
application/json
X-Flowella-Signature
Signé lorsqu'un événement se produit

Envoyez une invitation pour voir les publications de Flowella ici.

POST/webhook/flowella-events

Content-Type
application/json
X-Flowella-Signature
5d2c9f1a…e19a
{
  "id": "6f1d8a2c-4b7e-4c19-9a53-0e2b7c4d9f10",
  "type": "message.received",
  "created_at": "2026-10-16T08:41:07.000Z",
  "payload_version": "1",
  "data": {
    "messageId": "clsamplemsg00000000000043",
    "conversationId": "clsampleconv0000000000007",
    "contactId": "clsamplecontact0000000003",
    "direction": "INBOUND",
    "type": "TEXT",
    "metaMessageId": "wamid.sample00000000000043"
  }
}

POST/webhook/flowella-events

Content-Type
application/json
X-Flowella-Signature
5d2c9f1a…e19a
{
  "id": "6f1d8a2c-4b7e-4c19-9a53-0e2b7c4d9f10",
  "type": "optout.created",
  "created_at": "2026-10-16T08:41:07.000Z",
  "payload_version": "1",
  "data": {
    "contactId": "clsamplecontact0000000003",
    "conversationId": "clsampleconv0000000000007",
    "phone": "+447700900123",
    "reason": "USER_KEYWORD"
  }
}

POST/webhook/flowella-events

Content-Type
application/json
X-Flowella-Signature
5d2c9f1a…e19a
{
  "id": "6f1d8a2c-4b7e-4c19-9a53-0e2b7c4d9f10",
  "type": "template.status_updated",
  "created_at": "2026-10-16T08:41:07.000Z",
  "payload_version": "1",
  "data": {
    "metaTemplateId": "1234567890123456",
    "templateName": "autumn_fair_invite",
    "status": "APPROVED",
    "language": "en_GB"
  }
}

Chaque envoi utilise la même enveloppe, et les champs propres à l'événement figurent dans sa dernière clé : id type created_at payload_version data

Vérifiez la valeur « X-Flowella-Signature » avant d'agir : il s'agit d'un condensé hexadécimal HMAC-SHA256 du corps brut, généré à l'aide de votre clé secrète de signature.

Switch : pour chaque événement, on retient la première règle dont toutes les conditions sont remplies

Cet événement : Pas encore vérifié type: message.received data.type: TEXT type: optout.created type: template.status_updated data.status: APPROVED

  1. Prévenez l'équipe {{ $json.body.type }} est égal à message.received {{ $json.body.data.type }} est égal à TEXT
  2. Mettre à jour la liste de diffusion {{ $json.body.type }} est égal à optout.created
  3. Envoyer la campagne {{ $json.body.type }} est égal à template.status_updated {{ $json.body.data.status }} est égal à APPROVED

En attente d'un événement.

La règle n° 1 s'applique, l'événement déclenche donc une alerte à l'équipe.

La règle n° 2 s'applique, donc l'événement passe à l'étape « Mise à jour de la liste de diffusion ».

La règle n° 3 s'applique, donc l'événement passe à l'étape « Envoyer la campagne ».

Le Switch transmet l'événement tel quel, ce qui permet au nœud suivant de lire également $json.body.

Ce qu'a envoyé le nœud « Requête HTTP » Données d’exemple

POSThttps://alerts.example.com/hooks/whatsapp-replies

Content-Type
application/json

Ce nœud ne s'exécute que lorsque la règle n° 1 est remplie.

POSThttps://alerts.example.com/hooks/whatsapp-replies

Content-Type
application/json

conversationId depuis {{ $json.body.data.conversationId }}contactId depuis {{ $json.body.data.contactId }}

{
  "conversationId": "clsampleconv0000000000007",
  "contactId": "clsamplecontact0000000003"
}
200 OK

POSThttps://alerts.example.com/hooks/whatsapp-replies

Content-Type
application/json

Non exécuté. Le Switch a redirigé cet événement vers une autre sortie.

C'est l'événement qui comporte des identifiants, et non la réponse elle-même ; votre équipe ouvre donc la conversation dans la boîte de réception de Flowella et y répond.

Ce qu'a envoyé le nœud « Requête HTTP » Données d’exemple

POSThttps://lists.example.com/v1/unsubscribes

Content-Type
application/json

Ce nœud ne s'exécute que lorsque la règle n° 2 est remplie.

POSThttps://lists.example.com/v1/unsubscribes

Content-Type
application/json

phone depuis {{ $json.body.data.phone }}reason depuis {{ $json.body.data.reason }}

{
  "phone": "+447700900123",
  "reason": "USER_KEYWORD"
}
200 OK

POSThttps://lists.example.com/v1/unsubscribes

Content-Type
application/json

Non exécuté. Le Switch a redirigé cet événement vers une autre sortie.

« optout.created » est l'événement qui transmet un numéro de téléphone, ce qui permet à vos autres outils de cesser également de lui envoyer des messages.

Ce qu'a envoyé le nœud « Requête HTTP » Données d’exemple

POSThttps://api.flowella.io/v1/templates/send

Authorization
Bearer flo_(masquée)À partir de vos identifiants n8n
Content-Type
application/json

Ce nœud ne s'exécute que lorsque la règle n° 3 est remplie.

POSThttps://api.flowella.io/v1/templates/send

Authorization
Bearer flo_(masquée)À partir de vos identifiants n8n
Content-Type
application/json
Idempotency-Key
6f1d8a2c-4b7e-4c19-9a53-0e2b7c4d9f10

templateId depuis {{ $json.body.data.metaTemplateId }}Idempotency-Key depuis {{ $json.body.id }}, ainsi, une livraison réessayée n'est jamais envoyée deux foisrecipients à partir de la liste des membres gérée par n8n

{
  "templateId": "1234567890123456",
  "whatsappChannelId": "clsamplechannel0000000001",
  "recipients": [
    { "phone": "+447700900123", "bodyParameters": ["Ada"] },
    { "phone": "+447700900456", "bodyParameters": ["Ben"] }
  ]
}
202 Accepted{ "id": "v1ts-0123456789abcdef", "status": "accepted" }

POSThttps://api.flowella.io/v1/templates/send

Authorization
Bearer flo_(masquée)À partir de vos identifiants n8n
Content-Type
application/json

Non exécuté. Le Switch a redirigé cet événement vers une autre sortie.

Conservez la clé API dans un identifiant n8n, jamais dans le workflow lui-même. Le statut « 202 Accepted » signifie que Flowella a mis l'envoi en file d'attente et le transmet en arrière-plan.

Configurez-le en trois étapes.

Vous devez disposer d'un compte Flowella associé à WhatsApp, d'un modèle approuvé par Meta et d'un workflow n8n. Ensuite :

  1. Étape 1 : Ajouter un déclencheur Webhook

    Lancez le workflow à l'aide du nœud « Webhook » de n8n, configurez-le sur « POST », puis copiez son URL de production.

    Nœud WebhookDonnées d’exemple
    Méthode
    POST
    Chemin d'accès
    flowella-events
    URL
    https://n8n.example.com/webhook/flowella-events
    Écoute
    Webhooks sortants
  2. Étape 2 : S'abonner à Flowella

    Dans Paramètres → Webhooks, ajoutez cette URL, sélectionnez les événements souhaités et enregistrez la clé de signature. L'option « Envoyer un test » déclenche un événement « webhook.test ». Vous devez disposer du rôle « Propriétaire » ou « Administrateur ».

    WebhooksDonnées d’exemple
    Point d'extrémité
    https://n8n.example.com/webhook/flowella-events
    Événements
    message.received, optout.created, template.status_updated
    Secret de signature
    Enregistré
    Test envoyé
    Paramètres des webhooks
  3. Étape 3 : Renvoyer via une requête HTTP

    Ajoutez un nœud « Requête HTTP » qui envoie une requête POST à /v1/templates/send, en indiquant votre clé API Flowella dans un en-tête d'authentification.

    Nœud « Requête HTTP »Données d’exemple
    Méthode
    POST
    URL
    https://api.flowella.io/v1/templates/send
    Certificat
    Header: Authorization
    202 Accepté
    Référence de l'API

Ce qui fonctionne aujourd'hui, et ce qui se profile à l'horizon.

Tout ce qui précède fonctionne grâce à l'API Flowella et aux webhooks, déjà disponibles. Un nœud Flowella pour n8n sera bientôt disponible.

À venir

Un nœud Flowella pour n8n

Nous publierons ici les instructions d'utilisation dès que tout sera prêt. En attendant, le déclencheur « Webhook » et le nœud « Requête HTTP » de n8n font l'affaire.

Bon à savoir

  • Vérifiez la signatureChaque requête contient l'en-tête « X-Flowella-Signature », qui correspond à un condensé hexadécimal HMAC-SHA256 du corps brut de la requête. Vérifiez-le avant d'agir. Lorsque vous effectuez une rotation de la clé secrète, l'en-tête « X-Flowella-Signature-Previous » contient également la signature de l'ancienne clé.
  • Répondez dans les 10 secondesFlowella attend jusqu'à 10 secondes pour obtenir un code 2xx et tente la transmission au maximum 3 fois, à 1 et 2 secondes d'intervalle. Répondez d'abord, puis effectuez les tâches qui prennent du temps.
  • Attendez-vous à des rediffusionsUne tentative de livraison répétée porte le même identifiant d'enveloppe ; conservez donc les identifiants que vous avez déjà traités et considérez cette nouvelle tentative comme une opération sans effet.
  • Des identifiants, pas des motsLa variable `message.received` contient les identifiants, la direction et le type du message, mais jamais son contenu. Votre équipe lit les réponses et y répond depuis la boîte de réception de Flowella.

Disponible dès aujourd'hui Fonctionne aujourd'hui

Compatible avec tout outil capable d'envoyer et de recevoir des requêtes HTTP, y compris n8n.

Événements Webhook auxquels vous pouvez vous abonner dès aujourd'hui

  • message.received
  • message.sent
  • message.delivered
  • message.read
  • message.failed
  • conversation.opened
  • conversation.closed
  • optout.created
  • template.status_updated
  • contact.created
  • contact.updated
  • contact.deleted

Sans oublier webhook.test, que Send test déclenche à la demande.

Flo saute de joie, le poing levé et un téléphone à la main

Commencez à créer avec Flowella et n8n.

Tout ce qui figure sur cette page fonctionne aujourd’hui grâce à l’API Flowella et aux webhooks. Réservez une démonstration de 30 minutes sur Teams et nous examinerons ensemble vos flux de travail.

Voir toutes les intégrations