L'intégration entre Klaviyo et Kanal vous permet de déclencher l'envoi d'un template WhatsApp directement depuis un flow Klaviyo. Concrètement, vous créez une automatisation Kanal déclenchée par un webhook, puis vous appelez ce webhook depuis Klaviyo au moment voulu dans votre flow.
Exemple concret utilisé dans ce guide : un visiteur remplit le pop-up Klaviyo sur votre site (e-mail + numéro de téléphone), il est ajouté à une liste Klaviyo, ce qui déclenche un flow. Ce flow appelle le webhook Kanal, qui envoie automatiquement un template WhatsApp de bienvenue au club VIP avec un code promo.
Sur Kanal : créer une automatisation avec le déclencheur Incoming Webhook et y ajouter le template à envoyer.
Sur Kanal : copier les informations de connexion (URL de destination, header d'autorisation, corps JSON).
Sur Klaviyo : ajouter un bloc Webhook dans votre flow et y coller ces informations.
Dans votre interface Kanal :
Rendez-vous dans la section Automations.
Cliquez sur Create Automation en haut à droite pour créer une automatisation à partir de zéro.
Dans Trigger Type, sélectionnez Incoming Webhook.
Donnez un nom à votre automatisation (par exemple Flow Klaviyo), puis validez avec Create Automation.

Une fois dans l'éditeur de l'automatisation, vous voyez le nœud Trigger Element — Incoming Webhook. Connectez-y le template WhatsApp que vous souhaitez envoyer lorsque Klaviyo appellera le webhook.
Dans notre exemple, le template remercie le client d'avoir rejoint le club VIP et lui transmet un code promo de 10 %. Vous pouvez y intégrer des variables (comme le prénom du contact) qui seront alimentées par les données envoyées depuis Klaviyo.
⚠ Votre template doit être approuvé par Meta pour pouvoir être envoyé. Si un message d'alerte indique « Template not approved. Please edit and submit », vous devez d'abord soumettre le template à validation.
Cliquez sur le nœud Incoming Webhook : un panneau latéral s'ouvre à droite avec toutes les données à copier vers Klaviyo. Chaque champ dispose d'une icône de copie.

Voici les éléments à récupérer :
Le nœud Trigger Element : c'est le point d'entrée de votre automatisation, celui qui sera appelé par Klaviyo.
Destination URL : l'URL unique de votre automatisation, au format https://api.getkanal.com/api/v1/automations/....
Header (clé) : la clé du header d'authentification, à savoir Authorization.
Header (valeur) : votre token d'authentification, au format Bearer xxxxx. Ce token est confidentiel, ne le partagez pas.
JSON Body example : le corps de la requête à envoyer. Activez bien l'option Format JSON for Klaviyo pour que le JSON soit directement compatible avec la syntaxe Klaviyo.
💡 Si votre template contient des variables (prénom, code promo, etc.), déclarez-les dans la section Variables du panneau. Elles apparaîtront automatiquement dans le JSON à copier.
Rendez-vous maintenant sur Klaviyo, dans le flow concerné (dans notre exemple, un flow déclenché lorsqu'un contact est ajouté à une liste après avoir rempli le pop-up du site).
Ajoutez un bloc Webhook à l'endroit souhaité dans votre flow, puis ouvrez ses Webhook details.
Dans Destination URL, collez l'URL copiée depuis Kanal.
Dans Headers, cliquez sur Add header et renseignez la clé Authorization.
Dans le champ Value correspondant, collez votre token Bearer xxxxx.
Dans JSON body, collez le corps JSON copié depuis Kanal.

Le JSON contient le numéro de téléphone du contact ainsi que les variables de votre template, alimentés par les données du profil Klaviyo :
{
"phone_number": "{{ person.phone_number|default:'' }}",
"variables": {
"name": "{{ person.first_name|default:'' }}"
}
}N'oubliez pas de cliquer sur Save, puis de passer le bloc en Live pour l'activer.
Si vous souhaitez alimenter une variable de votre template avec une donnée spécifique de Klaviyo :
Cliquez sur « View profile & event properties ».
Cliquez sur le nom de la propriété souhaitée (elle sera copiée automatiquement).
Collez-la entre les guillemets de la variable correspondante dans le JSON body.