Zoho Sales IQ
Vous pouvez intégrer le service Agent dans Zoho Sales IQ, permettant ainsi aux utilisateurs de Zoho Sales IQ de communiquer avec l'Agent via Zoho Sales IQ.
Préparation
Avant l'intégration, vous devez configurer certains paramètres dans Zoho, qui seront utilisés lors du processus d'intégration avec GPTBots.
Créer un Client ID
Connectez-vous à la Console API Zoho
Remarque : si votre compte n'est pas basé aux États-Unis, vous devez changer de domaine. Pour plus de détails, veuillez vous référer à :
Data Center Developer Console US (États-Unis) https://api-console.zoho.com/add EU (Europe) https://api-console.zoho.eu/add IN (Inde) http://api-console.zoho.in/add AU (Australie) http://api-console.zoho.com.au/add CN (Chine) http://api-console.zoho.com.cn/add JP (Japon) http://api-console.zoho.jp/add Si vous disposez déjà d'une Application disponible, accédez à l'Application concernée, cliquez sur Client Secret, puis copiez le Client ID et le Client Secret correspondants. Ceux-ci seront utilisés dans la configuration de l'intégration GPTBots.

Si vous n'avez pas d'Application disponible, cliquez sur ADD CLIENT en haut à droite et créez un Client approprié selon le type d'application.


Si vous créez une nouvelle Application, renseignez le nom de domaine du service actuel dans Homepage URL, et dans Authorized Redirect URIs, indiquez le nom de domaine du service actuel + /api/console/bot/zoho/salesiq/redirect, puis cliquez sur CREATE. Après la création réussie, le système générera un Client ID et un Client Secret. Copiez le Client ID et le Client Secret correspondants, qui seront utilisés dans la configuration de l'intégration GPTBots.

Remarque : un Client ID peut être autorisé avec succès jusqu'à 20 fois simultanément. Si ce nombre est dépassé, l'autorisation Zoho de l'agent autorisé en premier deviendra invalide.
Configuration de l'intégration
Connectez-vous à GPTBots
Accédez à l'organisation, sélectionnez l'Agent concerné, enregistrez la version puis cliquez sur Publish. Après la publication réussie, cliquez sur Integrations

Sélectionnez Zoho Sales IQ comme méthode d'intégration

Renseignez les paramètres correspondants
- Client ID et Client Secret : obligatoires, obtenus lors de la phase de préparation ;
- Screen Name : obligatoire, issu de la page du compte connecté. Vous devez prendre la première chaîne du chemin après le nom de domaine. Par exemple, dans l'adresse https://salesiq.zoho.com/gptbos/mychats/000000000000003, le Screen Name est gptbots ;
- Email : obligatoire, l'e-mail lié au profil du compte Zoho ;
- Server Region : sélectionnez la région du compte Zoho ;
- Public Key : optionnelle. Si vous activez Secure your webhook dans la configuration webhook ultérieure, cliquez d'abord sur Integation puis revenez pour la renseigner ; si cette option n'est pas activée, elle n'est pas nécessaire.

Après avoir cliqué sur Integration, une fenêtre contextuelle d'état d'autorisation apparaîtra. Veuillez cliquer sur Accept

Après autorisation réussie, GPTBots générera une adresse Webhook URL. À ce stade, vous devez vous rendre sur la page Setting.

Accédez successivement à Workflows - Data Workflows, puis cliquez sur Add(View) en haut à droite
Remarque : sur certaines versions de compte, cette entrée s'affiche sous la forme Webhooks - Data modifications ; les deux ont le même rôle.



Renseignez le contenu du webhook :
Brand : sélectionnez la marque qui recevra les Workflows (Webhook). Elle doit être identique à la marque réellement utilisée par les visiteurs, c'est-à-dire la marque à laquelle appartient le code d'installation du widget intégré à votre site web. Si vous sélectionnez la mauvaise marque ici, les événements générés par cette conversation ne déclencheront pas ce Workflow, et GPTBots ne recevra aucun message.
Module : sélectionnez Conversation
URL to be invoked : indiquez la Webhook URL obtenue lors de la configuration de l'intégration GPTBots. Copiez-la directement depuis la page de configuration de l'intégration, ne recopiez pas l'adresse d'un autre environnement, sinon les messages seront envoyés vers un autre environnement.
Events : vous devez cocher à la fois
conversation.createdetconversation.visitor.replied, aucun des deux ne peut manquer :conversation.created: notifie GPTBots lors de la création d'une nouvelle conversation, ce qui permet à GPTBots de prendre en charge (pick up) cette conversation ;conversation.visitor.replied: notification pour chaque message ultérieur du visiteur. Lors du traitement de cet événement, GPTBots vérifie l'appartenance de la conversation ; si la prise en charge n'a pas été effectuée faute deconversation.created, tous les messages ultérieurs du visiteur seront ignorés.
Les autres types d'événements ne sont pas traités par GPTBots ; les cocher n'aura aucun effet.
Action : sélectionnez Webhook
Une fois renseigné, cliquez sur Create webhook

⚠️ Remarque : la Webhook URL renseignée ici doit être la Webhook URL générée sur la page de configuration de l'intégration. Elle n'est pas la même adresse que l'adresse de rappel utilisée dans le scénario « Service humain - Other to Zoho Sales IQ » (
/api/console/human/callback/zoho/salesiq/event) ; les deux ont des usages différents, et les confondre entraînera la perte des messages. Si vous devez utiliser les deux scénarios, créez deux Data Workflows distincts.Secure your webhook : étape optionnelle. Vous pouvez choisir de vérifier la sécurité du webhook (s'il provient de la source officielle et non d'une requête falsifiée). Après activation, cliquez pour générer une public key, copiez la public key portant la mention In Use, puis renseignez-la sur la page de configuration de l'intégration GPTBots.

Dialoguer avec l'agent dans Zoho Sales IQ
Après une configuration d'intégration réussie, vous pouvez dialoguer avec l'agent dans le service Zoho.
Questions fréquentes
1. Impossible de créer une conversation, message Live chat has been disabled
Lorsque la fonction de chat en direct de la marque concernée est désactivée côté Zoho, Zoho refuse de créer la conversation et renvoie cette erreur. Veuillez vérifier :
- Accédez à Settings - Brands et confirmez que le statut de la marque cible est Active (l'interrupteur tout à droite de la liste est activé) ; lorsqu'une marque est désactivée, aucune conversation ne peut être créée sous celle-ci ;
- Accédez à Configurations - Channels de cette marque et confirmez que l'interrupteur Live chat est activé ;
- Confirmez que le département (Department) sélectionné n'est pas désactivé.
Si vous ne trouvez pas l'interrupteur Live chat dans Configurations, cela signifie généralement que cette capacité est désactivée au niveau du forfait du compte Zoho ; vous devez contacter le support officiel de Zoho pour la traiter.
2. Les messages envoyés dans le widget Zoho sont reçus par le service client Zoho, mais l'agent ne répond jamais
Comprenez d'abord un prérequis : après avoir reçu le webhook de Zoho, GPTBots renvoie immédiatement un succès, puis traite de manière asynchrone. Ainsi, même si le message est ignoré côté GPTBots, la colonne Failures reste à 0 dans la liste Data Workflows de Zoho ; Failures ne permet donc pas de juger s'il y a un problème. Le seul critère valable est la colonne Last Triggered.
Étape 1 : utilisez Last Triggered pour déterminer de quel côté se situe le problème
Accédez à Settings - Workflows - Data Workflows, trouvez la ligne pointant vers la Webhook URL de l'intégration et consultez Last Triggered. Notez que cette colonne affiche l'heure dans le fuseau horaire du compte Zoho, qui peut différer de plusieurs heures de votre heure locale ; convertissez-la avant de comparer.
- Vide, ou différente de l'heure à laquelle vous venez d'envoyer le message → Zoho n'a jamais envoyé la requête, le problème est côté Zoho (voir A ci-dessous) ;
- Exactement l'heure à laquelle vous venez d'envoyer le message → la requête a été envoyée, le problème vient des conditions de traitement côté GPTBots (voir B ci-dessous).
A. Côté Zoho : le Workflow n'a pas été déclenché
L'interrupteur tout à droite de ce Workflow est à l'état ENABLED (vert) ;
Brands inclut la marque réellement utilisée par le visiteur — ouvrez la conversation, le nom de la marque à laquelle elle appartient est visible en haut de la page de détails de la conversation ; comparez avec celui-ci. C'est la cause la plus fréquente : le widget installé appartient à la marque A alors que le Workflow est lié à la marque B ; l'événement ne se déclenchera jamais ;
Module est
Conversation;Events inclut à la fois
conversation.createdetconversation.visitor.replied.Remarque : le Workflow du scénario « Service humain - Other to Zoho Sales IQ » coche
conversation.operator.replied/conversation.completed; les messages envoyés par les visiteurs ne le déclenchent pas. L'existence de ce Workflow ne signifie pas que le scénario d'intégration est opérationnel ; chaque scénario nécessite son propre Workflow.
B. Côté GPTBots : la requête a été reçue mais ignorée
- URL utilisée pour le mauvais scénario : le scénario d'intégration utilise
/api/console/bot/integration/chat/zoho/salesiq/{clientId}, le scénario de service humain utilise/api/console/human/callback/zoho/salesiq/event. Si elles sont inversées, le message est ignoré faute de configuration correspondante, tandis que Zoho affiche toujours un succès ; - URL pointant vers un autre environnement : confirmez que le nom de domaine correspond à l'environnement que vous utilisez actuellement ;
- Secure your webhook activé mais Public Key non renseignée : une fois activé, Zoho signe chaque rappel ; si la Public Key est vide côté GPTBots, la vérification échoue systématiquement et la requête est rejetée. En phase de débogage, il est conseillé de désactiver d'abord cette option ;
- Agent non publié : le canal d'intégration lit la version publiée ; si l'Agent n'a jamais publié de version, les messages sont ignorés. Enregistrez d'abord la version puis cliquez sur Publish ;
- Conversation prise en charge par un autre opérateur : le scénario d'intégration exige que la conversation appartienne au compte Zoho correspondant à l'Email renseigné dans la configuration de l'intégration. Si la conversation est prise en charge manuellement par un autre opérateur, les messages ultérieurs du visiteur ne seront plus transmis à l'agent ;
- Autorisation expirée : retournez sur la page de configuration de l'intégration GPTBots et confirmez que l'état d'autorisation est normal. Lorsqu'un même Client ID a été autorisé avec succès plus de 20 fois, l'agent autorisé le plus ancien devient invalide (voir le rappel ci-dessus) et doit être réautorisé.
3. Zoho reçoit les messages, mais les réponses du service client humain ne reviennent pas
Il s'agit du phénomène typique de « communication unidirectionnelle », causé par un Webhook non opérationnel. Veuillez vérifier :
- Accédez à Settings - Workflows - Data Workflows et confirmez que le statut du Workflow concerné est ENABLED ;
- Confirmez que les Brands sélectionnées dans le Workflow correspondent à la marque réellement utilisée ;
- Confirmez que les Events requis sont cochés et que l'URL renseignée est l'adresse du scénario correspondant (les adresses du scénario d'intégration et du scénario de service humain sont différentes ; voir le rappel de l'étape 8 ci-dessus) ;
- Consultez la colonne Last Triggered de la liste ; si elle reste vide ou si l'heure ne correspond pas à cette conversation, cela signifie que l'événement n'a jamais été déclenché ; revérifiez les configurations ci-dessus. La colonne Failures ne peut pas servir de critère (voir la question fréquente précédente pour la raison).
4. Échec des rappels après activation de Secure your webhook
Une fois cette option activée, Zoho ajoute une signature à chaque rappel. Si la Public Key correspondante n'est pas renseignée côté GPTBots, la vérification de la signature échouera et la requête sera rejetée. Copiez la public key portant la mention In Use dans Zoho vers la page de configuration de l'intégration GPTBots ; en phase de débogage, vous pouvez également désactiver d'abord cette option pour vérifier la connectivité de la chaîne.
