Passer au contenu principal

Approbations avec intervention humaine pour les procédures Fin

Utilisez cet article pour ajouter une boucle dans l'étape teammate / agent d'une procédure Fin, mettant Fin en pause pour attendre une décision humaine avant de continuer. Connectez un webhook, configurez les champs de réponse et le temps d'attente, pu...

L'étape Loop in teammate / agent permet à Fin de faire une pause en cours de procédure et d'attendre une décision humaine avant de continuer. Fin envoie une notification à un système externe de votre choix — quelqu'un examine la demande, une décision est renvoyée, et Fin reprend là où il s'était arrêté.

L'éditeur de procédure Fin affichant une procédure à plusieurs étapes avec une étape Loop in teammate / agent configurée en étape 7

Les données de rapport pour les étapes Human-in-the-Loop s'appliquent uniquement aux emails et non aux chats.


Quand utiliser le webhook HITL autonome

L'étape Loop in teammate / agent a deux usages principaux :

  • Supervision humaine — pour les actions à haut risque ou à forte valeur où un humain doit examiner et approuver avant que Fin ne continue. Exemples : approbations de remboursements ou d'exceptions, demandes sensibles à la conformité (ex. fermetures de compte, suppression de données), escalades clients à forte valeur, gestes de bonne volonté, ou toute situation où la politique exige une validation humaine.

  • Test de procédure — pour remplacer un connecteur de données ou une action backend non encore construite. Un humain peut effectuer l'étape manuellement, vous permettant de tester le flux complet de la procédure avant que l'intégration soit prête.


Ce dont vous aurez besoin

Avant de commencer, assurez-vous d'avoir :

  • Une procédure Fin avec au moins une étape Loop in teammate / agent

  • Une URL (point de terminaison webhook) où votre système peut recevoir et répondre aux notifications de Fin

  • La permission Manage apps and integrations dans les Paramètres

Note : Vous n'avez pas besoin d'outils de développement tiers ni d'identifiants d'application pour configurer cela — tout est configuré directement dans l'éditeur de procédure.


Comment ça fonctionne

Lorsqu'une conversation client atteint une étape Loop in teammate / agent dans une procédure Fin :

1. Fin met la conversation en pause

  • Avant la pause, Fin peut envoyer un message au client — l'informant que sa demande est en cours d'examen.

  • Fin envoie une notification à votre système externe.

  • Fin attend et ne continue pas tant qu'une réponse n'est pas reçue ou que le délai de l'étape n'est pas dépassé.

2. Votre système est notifié

  • Votre système reçoit une notification avec les détails de la conversation et les informations nécessaires pour prendre une décision.

  • Un réviseur humain voit la demande — ou votre système applique sa propre logique pour répondre automatiquement.

Lorsque Fin atteint l'étape Loop in teammate / agent, il envoie une notification à votre système externe avec les détails de la conversation et l'action requise. Dans cet exemple, un réviseur reçoit une demande de réinitialisation 2FA et des instructions pour vérifier l'identité du client avant de répondre.

Une conversation Fin Messenger montrant Fin confirmant une demande de réinitialisation 2FA d'un client, puis laissant un commentaire interne avec des instructions pour que le réviseur vérifie l'identité du client et désactive son inscription 2FA existante avant de répondre.

3. La décision est renvoyée

  • Votre système renvoie la décision à Fin.

4. Fin continue la procédure

  • Fin reprend là où il s'était arrêté.

  • La réponse de votre système est disponible dans les étapes suivantes via une étape Read attribute.

  • Utilisez une condition IF/ELSE pour bifurquer selon le résultat — par exemple : approuvé, continuer ; refusé, envoyer un message au client.

Important : Une procédure avec une étape Loop in teammate / agent ne peut pas être publiée tant que la connexion webhook n'est pas configurée. Vous serez invité à terminer la configuration avant la publication.


Étape 1 : Ajouter et configurer l'étape

  1. Allez dans Train > Procedure et ouvrez la procédure à laquelle vous souhaitez ajouter l'étape.

  2. Dans le bloc d'instructions, tapez @ et sélectionnez Loop in teammate / agent.

    Le menu de mention @ dans l'éditeur de procédure Fin montrant Loop in teammate / agent mis en surbrillance sous Routage et fin.

  3. L'étape apparaît dans l'éditeur de procédure. Vous verrez un compteur Collect indiquant le nombre de champs de réponse définis, et un Wait time indiquant la durée d'attente de Fin — les deux sont configurés depuis le panneau des paramètres de l'étape.

    Le bloc Loop in teammate / agent dans l'éditeur de procédure, montrant un indicateur Collect avec 0 champs de réponse définis et un temps d'attente de 10 minutes.

  4. Cliquez sur l'icône d'engrenage pour ouvrir les paramètres de l'étape. Le panneau des paramètres comporte trois sections : Ask via webhook (pour la connexion webhook), Response to collect (les champs que votre réviseur doit remplir), et Wait time (la durée d'attente avant expiration).

    Le panneau des paramètres de l'étape montrant trois sections : Ask via webhook avec un bouton Configurer la connexion webhook et un avertissement de configuration avant mise en production, Response to collect avec un bouton + Ajouter, et Wait time réglé à 10 minutes avec un message d'expiration modifiable côté client.
  5. Sous Ask via webhook, cliquez sur Configurer. Entrez votre Delivery URL — l'adresse web où Intercom envoie la notification lorsque cette étape est atteinte — puis cliquez sur Enregistrer.

    La fenêtre modale Configurer la connexion webhook montrant un champ d'entrée Delivery URL, un modèle d'URL de rappel en lecture seule, et le sujet abonné défini sur procedure.hitl_notification.created.

    La fenêtre modale Loop in teammate / agent webhook révèle vos identifiants développeur une fois connectée.

  6. Sous Response to collect, cliquez sur + Ajouter pour définir les champs que votre réviseur doit remplir. Donnez à chaque champ un format et un nom — par exemple, un champ texte « Raison du rejet » ou un booléen « Approuvé ».

    La fenêtre modale Ajouter un champ de réponse avec un menu déroulant Format réglé sur Texte, un champ Nom avec texte d'espace réservé, et un champ Description optionnel.

    Chaque champ de réponse a un format — liste déroulante, texte ou booléen (vrai/faux) — un nom, et une description optionnelle. Lorsqu'un teammate est inclus, il remplit ces champs directement dans la conversation.

    La section Response to collect dans le panneau des paramètres de l'étape montrant un champ ajouté nommé Approuvé, configuré comme un attribut booléen avec valeurs Vrai ou Faux.

  7. Sous Wait time, définissez combien de temps Fin doit attendre une réponse avant expiration. Le minimum est 1 minute — il n'y a pas de maximum. Vous pouvez choisir minutes ou heures. Modifiez le message ci-dessous pour contrôler ce que Fin dit au client si le temps d'attente est dépassé.

    La section Wait time montrant un menu déroulant de durée avec Minute(s) sélectionné et Heures en alternative, avec un message d'expiration modifiable en dessous.

  8. Enregistrez votre Procédure. Passez à l'étape 2 pour obtenir vos identifiants développeur — la procédure ne peut pas être publiée tant que la connexion webhook n'est pas configurée.

Note : Pour l'étape Loop in teammate / agent avec livraison webhook, c'est le seul canal de livraison — il n'y a pas d'option pour router vers une inbox ou une équipe.


Étape 2 : Obtenez vos identifiants développeur

Après avoir enregistré la Delivery URL dans la fenêtre modale Loop in teammate / agent webhook, la fenêtre affiche Webhook connected et révèle trois identifiants dont votre développeur a besoin. Si elle affiche Not configured, vérifiez que votre Delivery URL est enregistrée et qu'aucun jeton d'accès précédemment émis n'a expiré ou été révoqué — un jeton révoqué empêche aussi la mise en production de la procédure Fin.

  • Access token — authentifie les réponses que votre système renvoie à Fin.

  • Signing secret — confirme que les notifications entrantes proviennent bien d'Intercom.

  • Exemple d'URL de rappel — une URL unique est générée pour chaque conversation. Votre système POST la décision du réviseur à cette URL pour reprendre la procédure.

Note : Vous pouvez consulter ces identifiants à tout moment en cliquant sur Configurer dans la section Ask via webhook du panneau des paramètres de l'étape. Seuls les teammates avec la permission Manage apps and integrations peuvent ouvrir cette fenêtre — les autres verront une demande d'autorisation à la place.


Étape 3 : Traitez la charge utile du webhook

Une fois que la fenêtre modale affiche Webhook connected, partagez le Access token, le Signing secret et l'Exemple d'URL de rappel de la fenêtre modale Loop in teammate / agent webhook avec le développeur qui construit l'intégration. Il créera le point de terminaison qui :

  • Reçoit la notification de Fin lorsque l'étape est atteinte

  • Présente la demande à un réviseur, ou applique une logique automatisée

  • Envoie la décision pour que Fin puisse continuer

Charge utile du webhook

Lorsque la procédure atteint l'étape Loop in teammate / agent, Intercom envoie une requête POST à votre Delivery URL. La charge utile inclut :

  • L'ID de la conversation

  • La question posée par Fin

  • Les attributs que votre système doit remplir

  • Une URL de rappel pour envoyer votre réponse

  • Les messages récents de la conversation pour le contexte

Pour la charge utile complète, les spécifications des champs, le format de la requête de rappel, les détails d'authentification, les types de données supportés et les codes d'erreur, consultez la référence API des procédures.


Comment tester le webhook HITL autonome

Utilisez les Simulations — des tests automatisés dans l'éditeur de procédure — pour tester l'étape Loop in teammate / agent sans déclencher une vraie notification webhook vers votre système.

Ouvrez une simulation pour la procédure et cherchez la section Teammate input available to Fin. Ajoutez les valeurs que vous attendez d'un réviseur — par exemple, Approuvé : vrai — puis lancez la simulation. Fin utilise ces valeurs comme si votre système avait répondu.

Note : Si vous n'ajoutez pas de valeurs avant de lancer, Fin considère que l'étape a expiré.


Limitations

  • Il y a une URL de livraison par espace de travail. La modifier met à jour la connexion webhook pour chaque procédure Fin utilisant l'étape Loop in teammate / agent.

  • Si le temps d'attente expire sans réponse, Fin envoie au client le message d'expiration que vous avez configuré — la procédure se termine et la conversation est escaladée.

  • Le message d'expiration par défaut fait référence à « l'équipe » — modifiez-le avant la mise en production pour correspondre à votre configuration réelle.


Webhook HITL autonome vs approche API Developer Hub

Les deux méthodes mettent une procédure en pause à une étape HITL et notifient votre système via webhook — mais elles diffèrent dans leur configuration et leur public :

  • Webhook HITL autonome : Configuré directement dans l'éditeur de procédure — aucune application Developer Hub ni scopes OAuth requis. Une URL de livraison par espace de travail. Disponible uniquement pour les espaces de travail Fin Standalone. Le canal webhook est activé automatiquement sur toutes les étapes HITL des procédures Standalone.

  • Approche API Developer Hub : Nécessite une application Developer Hub, une version Preview de l'API, et les scopes OAuth read_conversations et write_conversations. Activé par étape et fonctionne avec les canaux Intercom Inbox et Slack. Disponible pour les espaces de travail non-Standalone. Voir Approbations Human-in-the-loop via API.

Du point de vue du client, les deux approches sont invisibles — la conversation continue sans interruption une fois que votre système répond.


FAQ

Puis-je utiliser une URL webhook différente pour différentes procédures ?

Vous ne pouvez pas utiliser une URL webhook différente pour différentes procédures — il y a une URL de livraison par espace de travail. Chaque procédure Fin utilisant l'étape Loop in teammate / agent envoie des notifications au même point de terminaison. Si vous devez router les demandes différemment selon la procédure, votre système externe peut gérer cela en fonction des détails inclus dans la notification.

Que se passe-t-il pour le client pendant qu'il attend une réponse ?

Pendant l'attente d'une réponse, Fin met la conversation en pause silencieusement sauf si vous avez ajouté un message d'attente. Vous pouvez configurer cela dans la section Wait time des paramètres de l'étape — par exemple, « Nous examinons votre demande et reviendrons vers vous sous peu. » Si aucune réponse n'est reçue à temps, Fin envoie le message d'expiration que vous avez configuré, la procédure se termine, et la conversation est escaladée.

Puis-je ajouter plus d'une étape Loop in teammate / agent à la même procédure ?

Oui, vous pouvez ajouter plusieurs étapes Loop in teammate / agent à la même procédure. Plusieurs étapes sont prises en charge pour collecter des entrées humaines à différents points du flux. Toutes les étapes partagent la même connexion webhook d'espace de travail.

Puis-je changer la Delivery URL après l'avoir configurée ?

Oui, vous pouvez changer la Delivery URL après l'avoir configurée. Cliquez sur Configurer dans la section Ask via webhook du panneau des paramètres de l'étape et saisissez une nouvelle URL. Gardez à l'esprit que la modification met à jour la connexion webhook pour chaque procédure Fin utilisant cette étape, pas seulement celle que vous éditez actuellement.

Y a-t-il un moyen de suivre les décisions prises ?

Il n'y a aucun moyen de suivre les décisions prises via cette étape dans Intercom — il n'existe pas de rapports ou d'analyses pour les décisions individuelles. Votre système externe est responsable de la journalisation et du suivi des réponses.

Avez-vous trouvé la réponse à votre question ?