logo
Développement
Rechercher
Zoho Sales IQ

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

  1. 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 à :

  2. 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.

    image-20250507153254209

  3. 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.

    image-20250507153127149

    image-20250507153459912

  4. 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.

    image-20250507160039517

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

  1. Connectez-vous à GPTBots

  2. 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

    image-20250225121541516

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

    image-20250507163753173

  4. 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.

    image-20250507164140213

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

    image-20250507165858728

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

    image-20250507172323517

  7. 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.

    alt text

    alt text

    alt text

  8. 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.created et conversation.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 de conversation.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

    alt text

    ⚠️ 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.

  9. 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.

    image-20250507173308438

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.
image-20250507182819135

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 :

  1. 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 ;
  2. Accédez à Configurations - Channels de cette marque et confirmez que l'interrupteur Live chat est activé ;
  3. 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é

  1. L'interrupteur tout à droite de ce Workflow est à l'état ENABLED (vert) ;

  2. 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 ;

  3. Module est Conversation ;

  4. Events inclut à la fois conversation.created et conversation.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

  1. 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 ;
  2. URL pointant vers un autre environnement : confirmez que le nom de domaine correspond à l'environnement que vous utilisez actuellement ;
  3. 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 ;
  4. 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 ;
  5. 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 ;
  6. 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 :

  1. Accédez à Settings - Workflows - Data Workflows et confirmez que le statut du Workflow concerné est ENABLED ;
  2. Confirmez que les Brands sélectionnées dans le Workflow correspondent à la marque réellement utilisée ;
  3. 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) ;
  4. 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.