Avec la fonctionnalité WhatsApp d'ActiveCampaign, vous pouvez utiliser ChatGPT pour créer un flux qui répond aux questions les plus fréquentes concernant votre entreprise. Cela permet à votre équipe d'assistance de se concentrer sur des problèmes clients plus complexes et vous aide à fournir des informations sur vos produits ou services 24h/24 et 7j/7, même lorsque vos agents ne sont pas en ligne.
Cet article vous explique comment créer un flux d'agent IA d'assistance entrant qui répond aux questions des clients, avec une condition de transfert permettant d'envoyer la conversation à un agent humain si la question est trop complexe pour l'IA.
Remarque
- Pour effectuer cette configuration, vous avez besoin de :
- Une clé OpenAPI pour l'authentification. Inscrivez-vous pour obtenir un compte OpenAI
- Un assistant chez OpenAI. Lisez le « Guide de migration des assistants »
- Nous vous recommandons d'utiliser le bac à sable si vous n'êtes pas encore familiarisé avec l'API. Notez votre assistant_id, car vous en aurez besoin ultérieurement
- Cette option est destinée aux utilisateurs avancés. Vous devez être à l'aise avec le code. Notre équipe Expérience client ne peut pas vous aider à implémenter ou à résoudre les problèmes liés au code
- Ce flux nécessite l'utilisation d'un champ de saisie de texte de contact personnalisé pour enregistrer la réponse du client à votre message d'accueil. Dans les étapes ci-dessous, nous utilisons un champ nommé « gpt_response ». Découvrez comment créer un champ de contact personnalisé
Créer un flux Support GPT
Étape 1 : Créez un nouveau flux.
Depuis votre compte ActiveCampaign :
- Cliquez sur WhatsApp > Flux de messagerie.
- Cliquez sur « Nouveau flux de messagerie ».
- Sous l'onglet « Détails », donnez à votre flux un nom court mais descriptif. Puis cliquez sur « Suivant ».
- Sous l'onglet « Déclencheur », déterminez comment les contacts entrent dans votre flux. Pour cet exemple :
- Sélectionnez « Message entrant »
- Sélectionnez « Any Message ». Cela garantit que le flux démarre chaque fois qu'un prospect ou un contact envoie un message à votre numéro d'assistance.
- Cliquez sur « Suivant »
Étape 2 : Ajoutez une étape « Question » à votre flux.
Lorsqu'un client déclenche notre flux, nous souhaitons l'accueillir avec un message ou une question. Pour ce faire, nous allons ajouter l'étape « Question » à notre flux.
La réponse du client à cette étape est enregistrée dans le flux en tant que variable d'étape. Nous ferons référence à cette variable à l'étape 3 ci-dessous.
Veuillez noter que nous enregistrons automatiquement le prénom, le nom et le numéro de téléphone du client lorsqu'il initie un flux entrant.
- Sélectionnez l'option d'étape « Question », puis cliquez sur « Ajouter ».
-
Configurez l'étape « Question » :
- Cliquez sur l'icône en forme de crayon et donnez un nom à votre étape. Nous vous recommandons d'utiliser des noms courts et descriptifs. Dans cet exemple, nous appellerons cette étape « Démarrer la conversation »
-
Saisissez la question que vous souhaitez poser dans le champ prévu à cet effet. Par exemple, « Bonjour ! » Comment puis-je vous aider aujourd'hui ?
Encadré de conseil en vert : Cliquez sur l'icône d'éclair dans le compositeur pour personnaliser le message. Par exemple, vous pouvez accueillir vos clients par leur prénom. - Sélectionnez un type de réponse. Veuillez noter que, selon le type de réponse sélectionné, des configurations supplémentaires seront nécessaires. Lisez l'article sur l'étape « Question » pour plus d'informations
- Fournir un message de validation de réponse
-
Cliquez sur les boutons facultatifs pour les activer :
- Accéder à une autre étape si le contact ne répond pas correctement à la question
- Passer à une autre étape si le contact ne répond pas à la question dans un certain délai
- Effectuer une action si l'envoi du message échoue
Étape 3 : Enregistrer la réponse du client
Ensuite, nous souhaitons enregistrer la réponse du client à l'étape « Question » ci-dessus. Pour ce faire, nous allons ajouter l'étape « Mettre à jour le contact » à notre flux. L'étape « Mettre à jour le contact » enregistre la réponse du client en tant que valeur de champ personnalisé dans sa fiche de contact.
-
Ajoutez l'étape « Mettre à jour le contact » à votre flux :
- Cliquez sur le nœud (« + ») sous l'étape « Question »
- Sélectionnez « Mettre à jour le contact »
-
Configurez l'étape « Mettre à jour le contact » :
- Cliquez sur l'icône en forme de crayon et donnez un nom à votre étape. Dans cet exemple, nous appellerons cette étape « Créer/Mettre à jour le contact »
- Cliquez sur l'onglet « Personnalisé » > le bouton « Ajouter une propriété »
- Cliquez sur le premier menu déroulant et sélectionnez le champ personnalisé que vous souhaitez mettre à jour avec la réponse du client. Dans cet exemple, nous allons utiliser un champ de contact personnalisé appelé "gpt_response"
-
Ensuite, nous devons mapper notre champ personnalisé à la variable d'étape qui a enregistré la réponse du client. Pour ce faire, cliquez sur l'icône d'éclair, cliquez sur « Variables d'étape », puis sélectionnez la variable d'étape fournie. (Une seule devrait être répertoriée à ce stade)
Étape 4 : Intégrer GPT pour répondre aux questions
Dans cette étape, nous allons démarrer un thread OpenAI pour envoyer la réponse de l'utilisateur à l'agent IA.
-
Ajoutez une étape « API » à votre flux :
- Cliquez sur le nœud (+) sous l'étape « Mettre à jour le contact »
- Sélectionnez « Connect APIs », puis cliquez sur « Add »
-
Configurez l'étape « Connecter les API » :
- Cliquez sur l'icône en forme de crayon et donnez un nom à votre étape. Dans cet exemple, nous appellerons cette étape « Démarrer le fil OpenAI »
- Sélectionnez « Post » sous « Method Type »
- Saisissez l'URL suivante : https://api.openai.com/v1/threads
- Sélectionnez « JSON » sous l'onglet « Body ». Laissez le « Message body » vide
- Sous l'onglet « Headers », ajoutez les trois en-têtes suivants :
- En-tête 1 : OpenAI-Beta / assistants=v2
- En-tête 2 : Content-Type / application/json
- En-tête 3 : Authorization / Bearer YOUR_API_KEY
-
Gérer la réponse de l'API :
- OpenAI répondra avec un objet JSON contenant le thread_id, et les données seront disponibles pour le reste de l'exécution du flux. Ces données sont temporaires. Si vous avez besoin de référencer ces données après que le contact a quitté le flux, nous vous recommandons de les enregistrer
Étape 5 : Envoyer la requête du client à OpenAI
-
Ajoutez une autre étape « API » à votre flux :
- Cliquez sur le nœud (+) sous la branche « Réponse » de l'étape précédente
- Sélectionnez « Connect APIs », puis cliquez sur « Add »
-
Configurez l'étape « Connecter les API » :
- Cliquez sur l'icône en forme de crayon et donnez un nom à votre étape. Dans cet exemple, nous appellerons cette étape « Envoyer un message au fil OpenAI »
- Sélectionnez « Post » sous « Method Type »
- Saisissez l'URL suivante : https://api.openai.com/v1/threads//messages
- Nous devons maintenant mettre à jour l'URL pour qu'elle contienne la réponse du client à notre étape « Question ». Pour cela :
- Cliquez entre les deux barres obliques « // » dans l'URL
- Ensuite, cliquez sur l'icône d'éclair > Variables d'étape
- Sélectionnez la variable d'étape qui contient « step.STEPNAME.response.ID ». Pour continuer avec notre exemple, notre variable ressemble à : « step. »Send Message to OpenAI Thread.respose.id"
- Sous l'onglet « Body », sélectionnez « JSON »
- Ajoutez l'objet JSON suivant dans le corps :
{ "role": "user", "content": "" } - Nous devons maintenant mettre à jour l'objet JSON pour faire référence au champ que nous avons utilisé dans l'étape « Mettre à jour le contact » ci-dessus :
- Cliquez entre les deux guillemets (« ») dans la ligne de contenu
- Cliquez sur l'icône d'éclair > Contact > Nom du champ. Pour continuer avec notre exemple, nous utilisons le champ appelé « last_chatgpt_response »
Étape 6 : Exécuter le thread OpenAI
-
Ajoutez une étape API pour exécuter l'assistant :
- Cliquez sur le nœud (+) sous la branche « Réponse »
- Sélectionnez « Connect APIs », puis cliquez sur « Add »
-
Configurez l'étape « Connecter les API » :
- Cliquez sur l'icône en forme de crayon et donnez un nom à votre étape. Dans cet exemple, nous l'appellerons « Run OpenAI thread with messages »
- Sélectionnez « Post » sous « Method Type »
- Saisissez l'URL suivante : https://api.openai.com/v1/threads//runs
- Nous devons maintenant mettre à jour l'URL pour qu'elle contienne l'identifiant de réponse du fil de discussion. Pour cela :
- Cliquez entre les deux barres obliques « // » dans l'URL
- Ensuite, cliquez sur l'icône d'éclair > Variables d'étape
- Sélectionnez la variable d'étape qui contient l'ID du fil de réponse. Pour continuer avec notre exemple, nous allons sélectionner « step ».Démarrer OpenAI thread.response.id"
- Sous l'onglet « Body », sélectionnez « JSON »
- Ajoutez l'objet JSON suivant dans le corps :
{
"assistant_id": "YOUR_ASSISTANT_ID"
}- Veuillez noter que vous devrez insérer votre identifiant d'assistant. Vous pouvez obtenir l'identifiant de l'assistant lors de la création d'un nouvel assistant dans OpenAI
Étape 7 : Vérifier la réponse GPT
Ici, nous ajoutons une autre étape « Connect APIs » pour obtenir une réponse d'OpenAI. Nous ajouterons également une étape « Conditionnelle » pour vérifier si une réponse a été envoyée.
-
Ajoutez l'étape « Connecter les API » pour vérifier une réponse :
- Cliquez sur le nœud (+) sous la branche « Réponse »
- Sélectionnez « Connect APIs », puis cliquez sur « Add »
-
Configurez l'étape « Connecter les API » :
- Cliquez sur l'icône en forme de crayon et donnez un nom à votre étape. Pour notre exemple, nous appellerons cette étape « Get generated OpenAI »
- Sélectionnez « Get » sous « Method Type »
- Saisissez l'URL suivante : https://api.openai.com/v1/threads//messages
- Nous devons maintenant mettre à jour l'URL pour qu'elle contienne l'identifiant de réponse au fil de discussion. Pour cela :
- Cliquez entre les deux barres obliques « // » dans l'URL
- Ensuite, cliquez sur l'icône d'éclair > Variables d'étape
- Sélectionnez la variable d'étape qui contient l'ID du fil de réponse. Pour continuer avec notre exemple, nous allons sélectionner « step ».Démarrer OpenAI thread.response.id"
- Ne sélectionnez rien dans l'onglet « Body »
-
Ajouter une étape « Conditionnelle » :
- Cliquez sur le nœud (+) sous la branche « Réponse »
- Sélectionnez « Conditionnel » puis cliquez sur « Ajouter »
-
Définissez la condition pour vérifier si la réponse OpenAI est vide. Pour cela :
- Donnez un nom à votre étape. Pour notre exemple, nous l'appellerons « Validate if the message is there »
- Utilisez les champs déroulants pour sélectionner vos conditions. Pour notre exemple, nous utilisons les éléments suivants :
Où : étape.Obtenir les messages OpenAI générés.response.data.0.role (Est) Égal à assistant
AND step.Obtenir les messages OpenAI générés.response.data.0.content.0.text.value « Est vide. »
Cliquez sur l'option « x Non »
-
Configurez la branche « Chemin 1 » :
- Ajoutez une étape « Délai » qui attend 10 secondes
-
Ajoutez une étape « Aller à » pour revenir à l'étape API qui vérifie la réponse GPT
-
Configurez la branche « Sinon ». Ici, nous devons vérifier si la réponse GPT indique la nécessité d'une intervention humaine :
-
Ajouter une étape « Conditionnelle » :
- Cliquez sur le nœud (+) sous la branche « Else »
- Sélectionnez « Conditionnel » puis cliquez sur « Ajouter »
-
Configurer l'étape :
- Donnez un nom à votre étape. Dans notre exemple, nous l'appellerons « Assigner un humain »
-
Utilisez les champs déroulants pour sélectionner vos conditions. Vous pouvez le configurer pour qu'il recherche des mots-clés ou des expressions spécifiques dans la réponse GPT qui indiquent la nécessité d'une intervention humaine. Pour notre exemple, nous utilisons les éléments suivants :
Où : étape.Obtenir les messages OpenAI générés.response. Data.0.content.0.text.value
Contient Assign Human
-
Ajouter une étape « Conditionnelle » :
Étape 8 : Configurer la branche « Chemin 1 » sous l'étape « Conditionnel »
- Cliquez sur le nœud (+) sous « Chemin 1 ».
-
Sélectionnez « Question » puis cliquez sur « Ajouter ».
- Cliquez sur l'icône en forme de crayon et donnez un nom à votre étape. Dans notre exemple, nous l'appellerons « Continuer le chat »
- Dans le corps du message, cliquez sur l'éclair, puis cliquez sur « Variables d'étape »
- Sélectionnez la variable d'étape pour l'étape « Obtenir le message OpenAI généré ». Pour notre exemple, nous utiliserons « step ».Obtenir le message OpenAI généré.reponse.data.0.content.0.text.value
-
Sélectionnez « Texte libre » pour le type de message
-
Cliquez sur le nœud, puis ajoutez l'étape « Mettre à jour le contact ». Pour configurer cette étape :
- Cliquez sur l'icône en forme de crayon et donnez un nom à votre étape. Dans notre exemple, nous allons l'appeler « Create/Update contact 2 »
- Cliquez sur l'onglet « Personnalisé », puis cliquez sur « Ajouter une propriété »
- Sélectionnez le champ personnalisé que vous avez créé pour ce flux. Le nôtre s'appelle « last_chatgpt_response »
- Pour la valeur, cliquez sur l'éclair, puis cliquez sur « Variables d'étape »
- Sélectionnez la variable d'étape pour l'étape précédente. Dans cet exemple, le nôtre s'appelle « step ».Continuer le chat"
-
Cliquez sur le nœud et ajoutez une étape « Aller à ». Ici, nous souhaitons que les contacts accèdent à l'étape « Message envoyé au fil OpenAI ». Pour cela :
- Cliquez sur l'icône en forme de crayon et donnez un nom à votre étape. Nous appelons le nôtre « Retour à OpenAI »
- L'étape que nous sélectionnons est « Envoyer un message au fil OpenAI ». Notez les deux étapes mises en évidence dans l'image ci-dessous :
Étape 9 : Configurer la branche « Sinon » et attribuer un agent
Dans cette dernière partie du flux, nous allons ajouter deux étapes supplémentaires qui envoient un message au contact pour l'informer que nous le transférons vers un agent. La dernière étape consiste à attribuer la conversation à l'agent.
-
Cliquez sur le nœud sous la branche « Sinon » et sélectionnez l'étape « Message ». Pour configurer cette étape :
- Cliquez sur l'icône en forme de crayon et donnez un nom à votre étape. Nous appellerons le nôtre « Assign agent message »
- Cliquez sur le menu déroulant pour « Type de message » et sélectionnez « Texte »
- Pour le corps, rédigez un bref message informant le client qu'il est transféré à un agent
- Attribuez la conversation à une équipe ou à un agent. Pour cela :
- Cliquez sur le nœud situé sous l'étape précédente, puis sélectionnez l'étape « Conversation »
- Configurez l'étape :
- Cliquez sur l'icône en forme de crayon et donnez un nom à votre étape. Nous appelons le nôtre « Attribuer un agent »
- Pour le menu déroulant « Utilisateur(s) à qui attribuer cette conversation », sélectionnez l'utilisateur auquel vous souhaitez envoyer le message
- Cliquez sur le bouton bascule pour le paramètre « Ajouter des tags ? ». Cela signifie que toutes les balises ajoutées au contact ou à la conversation s'ajouteront aux balises déjà existantes
Étape 10 : Enregistrer et publier le flux
Cliquez sur « Publier » pour activer le flux.
Exemple de structure de flux
Votre flux doit maintenant avoir la structure suivante :
- Déclencheur : Tout message entrant
- Étape de question : Demandez à l'utilisateur de formuler sa requête
- Étape Mettre à jour le contact : Enregistrer la réponse de l'utilisateur
- Étape de connexion des API : Intégrer OpenAI pour répondre aux questions
- Étape de connexion des API : Envoyer la requête de l'utilisateur à OpenAI
- Étape Connecter les API : Exécuter un thread OpenAI avec des messages
- Étape de connexion des API : Vérifier la réponse d'OpenAI
-
Étape conditionnelle : Vérifier si la réponse est présente
-
Branche du chemin 1 :
- Étape de délai : Attendre 10 secondes
- Aller à l'étape : Revenir en arrière pour vérifier la réponse d'OpenAI
-
Branche Sinon :
-
Étape conditionnelle : Vérifier si une intervention humaine est nécessaire
-
Branche du chemin 1 :
- Étape de question : Obtenir une réponse générée par OpenAI
- Étape de mise à jour du contact : Mettre à jour un champ personnalisé avec les informations du client
- Aller à l'étape : Revenir à l'étape « Envoyer un message au fil OpenAI » (étape 5 ci-dessus)
-
Branche Sinon :
- Étape de message : Informez le client que vous le transférez vers un agent.
- Étape Attribuer un agent : Attribuer la conversation à un agent
-
Branche du chemin 1 :
-
Étape conditionnelle : Vérifier si une intervention humaine est nécessaire
-
Branche du chemin 1 :
Étapes finales
Envoyez un message test à votre numéro d'assistance pour vous assurer que le flux se déclenche correctement et que les réponses GPT sont précises. Tenez également compte des conversations réelles que vos utilisateurs pourraient avoir et ajustez le prompt GPT ainsi que la base de connaissances en conséquence pour améliorer les réponses.