Comment connecter Zendesk à l'Shopify Flow

Zendesk peut déclencher un Webhook à partir d'un déclencheur ou d'une automatisation chaque fois qu'un ticket subit une modification. Workflow Webhooks transforme cet appel en un Webhook « **Shopify Flow **», ce qui permet à votre boutique de réagir en conséquence : attribuer une balise à un client, ajouter une note de commande, envoyer un e-mail interne, mettre à jour un métachamp… tout ce qu'Shopify Flow est capable de faire.

Ce guide décrit l'ensemble du processus : Zendesk envoie, Workflow Webhooks reçoit et vérifie, Shopify Flow effectue l'action, la signature HMAC de Zendesk étant vérifiée à chaque requête, de sorte que seul Zendesk puisse déclencher votre workflow.

Ce que vous pouvez construire

  • Mettez en mention le client Shopify associé à un ticket qui a été transmis à un niveau supérieur, afin que votre équipe puisse le voir dans l'interface d'administration.
  • Ajoutez une note relative à la commande lorsqu'un ticket d'assistance concernant cette commande est résolu.
  • Envoyez un e-mail à un responsable lorsqu'un client important attribue une note de satisfaction faible.

Exemples d'événements à envoyer : création d'un ticket, résolution d'un ticket, réception d'une note de satisfaction.

Avant de commencer

  • Workflow Webhooks installé sur votre boutique Shopify.
  • Shopify Flow installée, disponible gratuitement sur l'App Store de Shopify.
  • Un compte Zendesk disposant des droits nécessaires pour créer des webhooks.

Étape 1 - Créez le webhook sur Workflow Webhooks

  1. Accédez à Workflow Webhooks -> Webhooks -> Créer un webhook et attribuez-lui un nom que vous pourrez reconnaître dans Shopify Flow, tel que Zendesk events.
  2. Dans la section « Authentification », sélectionnez « HMAC ».
  3. Dans la section « Fournisseur de signature », sélectionnez Zendesk. L'application remplit automatiquement les champs « en-tête », « algorithme », « payload signé » et « fenêtre de relecture » ; vous n'avez rien d'autre à configurer.
  4. Pour l'instant, ne renseignez pas le champ « secret » et cliquez sur « Enregistrer ». Copiez l'URL du webhook qui s'affiche sur la page.

Consultez Authentification pour connaître les autres modes d'authentification, et Mappage de la charge utile et variables de flux pour savoir quels champs sont transmis à Shopify Flow.

Étape 2 - Ajoutez le point de terminaison dans Zendesk

Dans le Centre d'administration Zendesk, ouvrez « Applications et intégrations » → « Webhooks », créez un webhook pointant vers l'URL que vous avez copiée, associez-le à un déclencheur, puis utilisez la fonction « Afficher le secret ».

Comment trouver votre clé de signature Zendesk

Le secret de signature du webhook (Centre d'administration -> Applications et intégrations -> Webhooks -> Afficher le secret).

La documentation de Zendesk consacrée aux signatures de webhooks () contient le libellé exact et des captures d'écran correspondant à votre compte.

Collez ce secret dans le champ « Secret » du webhook sur Workflow Webhooks, puis enregistrez. À partir de ce moment, chaque envoi Zendesk sera vérifié avant d'atteindre Shopify Flow.

Ce que cette vérification permet de vérifier

Quoi ? Valeur
En-tête de signature X-Zendesk-Webhook-Signature
Emplacement de la signature La valeur complète de l'en-tête
Ce qui est signé {header:x-zendesk-webhook-signature-timestamp}{body}
Signature HMAC-SHA256, encodé en base64
Horodatage Non utilisé par cet expéditeur
Protection contre la lecture ultérieure Aucune - cet expéditeur ne signe pas l'horodatage ; par conséquent, toutes les signatures valides restent valides
Le secret À utiliser sous forme de texte brut. Copiez-collez-le exactement tel que l'expéditeur l'a indiqué.

Dans la payload signée, {body} correspond au corps brut de la requête, octet par octet, et {header:x-zendesk-webhook-signature-timestamp} correspond à l'en-tête de la requête x-zendesk-webhook-signature-timestamp.

Toute requête qui ne respecte pas l'une de ces conditions est rejetée avec le message 401, est enregistrée dans Historique et dépannage et ne déclenche jamais de workflow.

Étape 3 - Créer le workflow Shopify Flow

  1. Dans «Shopify Flow », créez un workflow et sélectionnez le déclencheur «Workflow Webhooks».
  2. Cliquez sur « Enregistrer les événements », puis envoyez un événement test depuis Zendesk (ou utilisez l'option « Envoyer un test » dans Workflow Webhooks) afin que Shopify Flow apprenne la structure de vos données.
  3. Chaque webhook dont vous disposez déclenche le même déclencheur de flux ; veuillez donc ajouter une première condition basée sur l'identifiant du webhook afin de limiter ce workflow à Zendesk uniquement. Cet identifiant est indiqué sur la page dédiée aux webhooks.
  4. Ajoutez vos actions : identifiez un client, ajoutez une note, envoyez un e-mail interne, mettez à jour un métachamp.
Shopify Flow
Dans Shopify Flow, sélectionnez « Select a trigger », ouvrez Workflow Webhooks et choisissez « Webhook Trigger ».
Condition de Shopify Flow : l'ID du webhook est identique à celui d'un webhook
La première étape de chaque workflow : une condition portant sur l'identifiant du webhook, afin que le workflow ne s'exécute que pour ce webhook.
Le workflow final : déclencheur Webhook, une condition portant sur l'identifiant du webhook, puis l'envoi d'un e-mail interne sur la branche « Vrai »
Le workflow final : un déclencheur, une condition basée sur l'identifiant du webhook, puis votre action sur la branche « True ».

Étape 4 - Testez le système de bout en bout

Déclenchez un événement réel dans Zendesk. Dans « Workflow Webhooks » (Événements) -> « History » (Historique), vous devriez voir l'invocation avec le statut « Success » (Réussite). Si la signature était incorrecte, vous obtiendrez à la place une entrée indiquant un échec avec le motif correspondant ; la page Vérification des webhooks signés explique le fonctionnement de l'outil de test de signature qui vous indique précisément quelle étape a échoué.

Une requête a été enregistrée dans l'historique avec ses en-têtes de requête, sa payload, son statut, sa durée et ses identifiants
Un événement « livré » dans « History » : le statut « Success » signifie que Shopify Flow l'a accepté.
La signature ne correspond pas▾

Dans cette commande : le secret (cause la plus fréquente : un espace supplémentaire ou une clé provenant d'un environnement incorrect), le fait que l'expéditeur utilise le secret d'un autre point de terminaison, et le fait que quelque chose entre Zendesk et l'application réécrive le corps du message. Les signatures portent sur les octets bruts ; ainsi, un proxy qui reformate le JSON les invalide. Le testeur de signature disponible sur la page des webhooks affiche le texte exact qui a été signé.

Je reçois un code 401 à chaque requête▾

Vérifiez que l'authentification du webhook est configurée sur HMAC avec le fournisseur Zendesk sélectionné, que le secret est renseigné et que Zendesk envoie ses requêtes à l'URL exactement telle qu'elle apparaît dans l'application, y compris le code à la fin.

Rien n'apparaît dans l'historique▾

La requête n'est jamais parvenue à destination. Vérifiez à nouveau l'URL dans Zendesk et consultez le journal de livraison de Zendesk pour voir la réponse reçue. Un message 404 indique qu'un webhook est incorrect ou a été supprimé ; un message 429 signifie que vous avez dépassé la limite d'appels de votre forfait - consultez Forfaits et utilisation.

Le workflow s'exécute pour des événements incorrects▾

Chaque webhook de votre boutique déclenche le même déclencheur Flow. Ajoutez une condition portant sur l'identifiant du webhook comme première étape du workflow, ou affinez les événements que vous envoyez depuis Zendesk.

Connexes