aethexDocs
Zoho CRM logo
CRM

Zoho CRM

Connectez votre CRM Zoho et vos agents vocaux peuvent reconnaître l'appelant, consulter ses contacts, ses pistes et ses deals ouverts, tenir la fiche à jour et consigner les appels aboutis sur le contact, le tout pendant l'appel, dans votre propre Zoho.

Fonctionnement

Connectez votre CRM Zoho une fois, choisissez les agents autorisés à l'utiliser et donnez à chacun un accès en lecture ou en écriture. Aethex stocke la connexion chiffrée et transforme votre CRM en un petit ensemble d'actions qu'un agent peut appeler en cours d'appel, en décidant lui-même quand chacune est nécessaire. L'accès dit tout : la lecture permet à un agent de consulter, l'écriture lui permet de modifier votre CRM et de faire consigner ses appels aboutis. Tout ce qui suit découle de ce seul choix.

AETHEXvotre agentLECTUREIdentifier l'appelantLire contacts, pistes et affairesÉCRITUREMettre une fiche à jourJournaliser l'appelautolectureécritureL'écriture inclut tout ce que permet la lecture. Le journal d'appel suit l'autorisation d'écriture.

Centres de données de l'UE uniquement

Zoho répartit ses clients entre des centres de données indépendants — États-Unis, UE, Inde, Australie, Chine, Japon, Canada et Arabie saoudite — et chacun exploite son propre serveur de comptes. Aethex se connecte via celui de l'UE, accounts.zoho.eu : cette intégration fonctionne donc pour les organisations dont le compte Zoho réside dans le centre de données de l'UE. Vérifiez le vôtre en vous connectant à Zoho CRM et en lisant la barre d'adresse : une organisation de l'UE est servie depuis un domaine en .eu.

Attention
Vérifiez-le avant de commencer. Un jeton de rafraîchissement n'est utilisable qu'auprès du serveur de comptes qui l'a émis : Zoho refuse donc le consentement d'un client hors UE sur son propre écran de connexion, avant même qu'Aethex ne voie la demande. Rien ne reste à moitié connecté, mais réessayer ne fera pas aboutir cet écran de consentement.
ÉTAPE 01

Connectez votre CRM Zoho

Zoho se connecte via OAuth : vous ne manipulez donc jamais de clé API. Appelez POST /api/v1/integrations/zoho/authorize avec une clé portant le scope integrations:write, et elle renvoie une authorize_url. Envoyez-y le navigateur du client : il se connecte à Zoho et approuve un écran de consentement qui accorde l'accès à ses contacts, pistes, deals, appels et notes. Zoho redirige ensuite vers Aethex, la connexion est créée, et le navigateur revient sur votre page d'intégrations. Aethex maintient ensuite la connexion, en rafraîchissant le jeton en arrière-plan.Vous obtenez une connexion Zoho active par espace de travail, et se reconnecter la remplace. Se reconsentir conserve vos réglages, les outils restreints et le nom d'affichage, mais pas vos accès d'agent : un nouveau consentement peut viser un autre compte, donc Aethex ne réoriente pas vos agents en silence. Accordez-leur l'accès de nouveau ensuite.

Remarque
C'est sur l'écran de consentement que l'accès est accordé : le compte qui l'approuve est donc celui que vos agents liront et modifieront. Approuvez-le avec l'utilisateur Zoho dont l'agent doit voir les contacts, pistes et deals, et dont les règles d'accès doivent borner ce qu'il peut faire.
Lancer le flux de connexion OAuth
bash
# 1. Start the connect flow. Returns the Zoho consent URL.
curl -X POST https://api.aethexai.com/api/v1/integrations/zoho/authorize \
  -H "X-API-Key: $AETHEX_API_KEY"

# Response:
# { "authorize_url": "https://accounts.zoho.eu/oauth/v2/auth?client_id=...&state=..." }

# 2. Send the customer's browser to authorize_url. They sign in to Zoho and
#    approve one consent screen. Zoho then redirects back to Aethex, the
#    connection is created, and the browser lands on your integrations page.
ÉTAPE 02

Accordez l'accès aux agents

La connexion stocke le lien ; elle ne le confie à rien. Une connexion sans agent est inerte : aucun appel ne voit ses outils et rien n'est écrit dans votre CRM. Accordez l'accès par agent avec PUT /integrations/{id}/agents. Ce PUT remplace tout l'ensemble : envoyez donc chaque agent qui doit conserver l'accès, pas seulement celui que vous ajoutez. Commencez en lecture (read) ; passez un agent en écriture (write) seulement lorsque vous voulez qu'il modifie des fiches et consigne des appels.

Accorder l'accès à un agent
bash
curl -X PUT https://api.aethexai.com/api/v1/integrations/$CONNECTION_ID/agents \
  -H "X-API-Key: $AETHEX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "agents": [
      { "agent_id": "<agent-uuid>", "access": "read" }
    ]
  }'
ÉTAPE 03

Ce qu'un agent peut faire

Ce qu'un agent peut atteindre est décidé à l'assemblage de l'appel : une action hors de son accès n'est jamais proposée au modèle, si bien qu'un agent en lecture seule n'a aucun moyen de modifier quoi que ce soit. Voici les outils, et l'accès requis par chacun.

OutilCe qu'il faitAccès
zoho_lookup_contactTrouve l'appelant par téléphone ou e-mail dans vos contacts et vos pistes, en un seul résultat, pour que l'agent puisse le saluer par son nom et reprendre là où la dernière conversation s'était arrêtée. Recherche à la fois sur les champs téléphone et mobile.lecture
zoho_get_contactLit le détail complet d'un contact ou d'une piste dont vous avez déjà l'id, lorsque l'agent a besoin de plus que ce que renvoie la recherche d'appelant.lecture
zoho_list_stagesListe les étapes de pipeline que votre CRM utilise pour les deals ou les pistes, afin que l'agent connaisse le pipeline dans lequel il travaille.lecture
zoho_search_dealsTrouve les deals ouverts de l'appelant par contact, nom ou étape, pour que l'agent parle de ce qui est réellement en cours.lecture
zoho_record_callerCrée un nouveau contact, ou une piste lorsqu'un nom d'entreprise est fourni, avec le numéro depuis lequel il a appelé déjà renseigné. Renvoie l'id de la nouvelle fiche.écriture
zoho_update_contactModifie un contact ou une piste précis dont vous avez déjà l'id. Seuls les champs que vous envoyez changent ; les autres restent tels quels.écriture
zoho_add_noteAjoute une note à un contact, une piste ou un deal, pour un détail que l'appelant donne et qui a sa place sur la fiche plutôt que dans le journal d'appel.écriture
zoho_move_lead_stageDéplace une piste ou un deal vers une autre étape de pipeline. Désactivé par défaut ; activez-le par connexion avec config.enabled_tools.écriture, optionnel
Remarque
zoho_move_lead_stage est optionnel, car un changement d'étape est une décision à choisir explicitement. Pour l'activer, envoyez config.enabled_tools avec la liste complète des outils que la connexion doit exposer (c'est une liste blanche exacte, pas un ajout aux valeurs par défaut). Gardez zoho_log_call dans cette liste, ou la consignation automatique des appels ci-dessous s'arrête.

Consignation automatique des appels

À la fin d'un appel, Aethex recherche l'appelant et consigne l'appel comme une activité d'appel sur son contact ou sa piste : le sujet, le sens, l'heure de début, la durée et un bref résumé de ce qui a été dit. Aucun appel d'outil ni invite nécessaire.

Astuce
Elle suit l'accès en écriture : elle a lieu pour les agents à qui vous avez accordé l'écriture, et pas pour ceux en lecture seule ou sans accès. Et elle n'écrit que sur une correspondance non ambiguë : un numéro qui correspond à deux fiches est laissé à un humain plutôt que consigné sur la mauvaise. Les appels de test depuis le navigateur n'ont pas de numéro à faire correspondre et sont exclus : pour voir la consignation de bout en bout, passez un vrai appel depuis un numéro qui appartient à exactement une fiche, avec un agent que vous avez autorisé en écriture.

Importer des contacts comme listes d'appels

Une connexion Zoho peut aussi alimenter des listes d'appels à partir de votre CRM, sans exposer toute votre organisation. Listez ce que vous pouvez importer avec GET /integrations/{id}/imports/entities — Contacts et Leads, et uniquement ceux que cette connexion peut réellement lire — voyez les champs sûrs avec GET /integrations/{id}/imports/fields?entity=Contacts, prévisualisez un échantillon validé avec POST /integrations/{id}/imports/preview, et lisez les lignes paginées avec POST /integrations/{id}/imports/page. Phone et Mobile sont tous deux proposés comme sources d'appel, dans cet ordre de priorité. Les champs sensibles comme les coordonnées bancaires, les jetons et les identifiants nationaux ne sont jamais proposés, et le flux est en lecture seule jusqu'à ce que vous lanciez l'import.

Remarque
Les leads sont lus comme Zoho les lit par défaut : non convertis uniquement. Un lead converti est déjà un contact, donc importer les deux appellerait deux fois la même personne.

Sécurité

Le jeton OAuth est chiffré au repos et n'est jamais renvoyé par aucun endpoint. Aethex dialogue avec Zoho en HTTPS public, ne suit pas les redirections et fixe un délai d'expiration de 9 secondes par requête. Les accès en lecture et en écriture sont appliqués par agent, et les scopes que vous avez approuvés sur l'écran de consentement s'appliquent en plus : un accès ne peut donc que restreindre ce que ce compte Zoho pouvait déjà faire. La connexion est limitée à votre espace de travail : aucun autre locataire ne peut la lister, l'accorder ou l'atteindre.

Erreurs

Les appels de connexion et d'outil renvoient ces statuts.

401Identifiant rejeté

Zoho a rejeté le jeton d'accès, le plus souvent parce que le consentement a été révoqué dans Zoho ou que le jeton ne peut plus être rafraîchi.

Reconnectez pour relancer le flux de consentement, puis accordez de nouveau l'accès à vos agents.

403Accès refusé

Le consentement approuvé ne couvre pas l'opération tentée par l'agent : Zoho l'a donc refusée.

Reconnectez et approuvez l'écran de consentement complet, qui accorde les contacts, pistes, deals, appels et notes.

404Introuvable

La connexion n'est pas celle de cet espace de travail ou n'est plus active, ou un agent_id de l'appel d'accès n'est pas l'un de vos agents.

Vérifiez l'id de connexion, et que chaque agent_id est un agent de ce locataire. Un id étranger est volontairement indiscernable d'un id manquant.

422Requête inutilisable

Le nom du fournisseur n'a pas été reconnu lors de l'appel de connexion.

Lisez le message ; il nomme le problème précis. Utilisez zoho comme fournisseur.

429Trop de requêtes

La limite de débit de connexion par locataire a été dépassée.

Patientez et réessayez après la fenêtre Retry-After. La connexion est une configuration ponctuelle : cela signale donc souvent une boucle de tentatives à corriger.

503Service indisponible

Zoho était injoignable, la clé de chiffrement n'est pas configurée, ou le magasin d'état de connexion est hors ligne.

Transitoire ; réessayez sous peu.

Notes et limites

Quelques points à connaître avant de bâtir dessus.

LimiteDétail
Une connexion par espace de travailUn espace de travail ne détient qu'une connexion Zoho active : connecter un second compte remplace le premier et emporte ses accès d'agents.
Le téléphone n'est pas une clé uniqueAethex recherche sur les champs téléphone et mobile, et renvoie les correspondances ambiguës comme candidats à désambiguïser par l'agent plutôt que de deviner de quelle fiche il s'agit.
Reconnectez pour élargir l'accèsLe jeton porte exactement les scopes que vous avez approuvés. Si vous voulez que l'agent atteigne davantage de votre CRM, reconnectez et approuvez le consentement plus large ; un nouveau consentement conserve vos réglages mais pas vos accès d'agent, alors accordez-les de nouveau.
L'enregistrement n'est pas un upsert atomiqueEnregistrer un appelant est une recherche puis écriture : deux appelants simultanés avec le même nouveau numéro peuvent donc créer des fiches en double.