ATAKO

Intégration × harnais

Donner à un agent Hermes l’accès à HubSpot

Sur Atako, un agent Hermes accède à HubSpot par le broker d’intégrations : vous créez un jeton Private App, vous le connectez une fois, puis vous n’accordez à l’agent que les endpoints dont il a besoin. Le jeton n’entre jamais dans la configuration de l’agent, et chaque appel est journalisé.

Écrit par les agents Atako · Relu et validé par Romain Laodicina · CTO d'Atako
HubSpotHubSpot × Hermes Agent

Mise en place, étape par étape

Captures réalisées sur Atako le 9 octobre 2026, avec des données de démonstration.

  1. 1

    Créer un jeton Private App dans HubSpot

    Dans HubSpot, ouvrez Settings, Integrations, Private Apps, puis créez une private app. Accordez les scopes dont l’agent a besoin : crm.objects.contacts, crm.objects.companies et crm.objects.deals (lecture et écriture), tickets, et crm.objects.owners.read. Ajoutez crm.schemas.contacts.write seulement si l’agent doit créer des propriétés, et content seulement pour les e-mails marketing. Copiez le jeton d’accès, qui commence par pat-.

  2. 2

    Connecter HubSpot dans Atako

    Ouvrez le catalogue d’intégrations, choisissez HubSpot et collez le jeton. Atako le conserve côté serveur et le vérifie par un appel sans effet sur l’endpoint des owners : un jeton erroné ou un scope manquant se voit tout de suite.

    Catalogue des intégrations d’Atako filtré sur HubSpot, avec la connexion affichée comme connectée.
    Catalogue des intégrations d’Atako filtré sur HubSpot, avec la connexion affichée comme connectée.
  3. 3

    Donner l’accès à votre agent Hermes

    Sur la page de l’agent, choisissez HubSpot, puis un niveau : la puce Lecture, la puce Écriture, ou les deux. Cochez ensuite les endpoints un par un, par exemple search_contacts et get_contact pour lire, update_deal pour écrire. Ce qui reste décoché n’est tout simplement pas appelable par l’agent.

    Droits de l’agent sur HubSpot : 3 endpoints de lecture sur les contacts et un seul en écriture, create_note.
    Droits de l’agent sur HubSpot : 3 endpoints de lecture sur les contacts et un seul en écriture, create_note.
  4. 4

    Demander à l’agent de travailler dans HubSpot

    Écrivez à l’agent comme à un collègue : trouve les contacts créés cette semaine, vérifie leur entreprise et note ceux qui semblent qualifiés. L’agent appelle HubSpot par le broker, dans les droits que vous lui avez donnés, et répond en disant ce qu’il a fait.

    L’agent Hermes renvoie les 3 contacts HubSpot créés le plus récemment (données de test), sans rien modifier.
    L’agent Hermes renvoie les 3 contacts HubSpot créés le plus récemment (données de test), sans rien modifier.
  5. 5

    Vérifier les appels dans le journal

    Chaque appel est enregistré avec son outil, son statut, son code HTTP et sa latence. Vous le voyez sur l’agent et dans le dashboard, dans l’usage des intégrations et le journal des intégrations. En cas de doute, vous réduisez l’accès ou vous révoquez la connexion.

    Journal des intégrations filtré sur HubSpot : un appel list_contacts, HTTP 200, 305 ms.
    Journal des intégrations filtré sur HubSpot : un appel list_contacts, HTTP 200, 305 ms.

Cas d’usage

Qualifier un lead entrant

Un formulaire ou un e-mail arrive chez l’agent. Il lance search_contacts pour savoir si la personne est déjà dans le CRM, lit la fiche avec get_contact, consigne son évaluation avec create_note et, si le lead mérite un appel, ouvre un suivi avec create_task pour le bon responsable. Le commercial démarre sa journée avec un lead documenté plutôt qu’un simple nom.

Mettre à jour un deal après un appel

Après un appel commercial, vous envoyez vos notes à l’agent. Il retrouve le deal avec search_deals, vérifie les étapes avec list_pipelines, déplace le deal avec update_deal et joint le résumé par create_note. Comme seuls update_deal et create_note ont été accordés en écriture, l’agent ne peut rien toucher d’autre dans le compte.

Résumé hebdomadaire du pipeline

Chaque lundi, une tâche planifiée réveille l’agent. En lecture seule, il liste les deals ouverts avec search_deals, les regroupe par étape et publie un court résumé à votre équipe : ce qui a avancé, ce qui stagne, ce qui demande une décision. Aucun endpoint d’écriture n’est accordé : le rapport ne peut pas modifier les données qu’il décrit.

Actions que l’agent peut recevoir

Chaque action est accordée séparément, en lecture ou en écriture.

  • search_contacts
  • get_contact
  • update_contact
  • search_deals
  • update_deal
  • list_pipelines
  • create_note
  • create_task

Pourquoi le jeton ne doit pas vivre dans l’agent

Hermes Agent, l’agent open source de Nous Research, sait très bien dialoguer avec HubSpot. La question est de savoir où va l’identifiant. Dans une installation auto-hébergée, le jeton HubSpot finit dans un fichier .env ou dans config.yaml, à côté de l’agent, sur une machine que vous gardez allumée, mettez à jour et sauvegardez. Quiconque, ou quoi que ce soit, qui peut lire cette configuration, y compris l’agent lui-même sous un prompt malveillant, peut lire le jeton.

Sur Atako, l’identifiant reste hors de ce tableau. Vous connectez HubSpot une fois, au niveau de l’entreprise. Le jeton est stocké côté serveur et injecté au moment où l’appel part. L’agent Hermes ne le reçoit jamais : il demande au broker d’intégrations d’exécuter une action, et le broker décide si cette action est permise. Le même mécanisme couvre tous les connecteurs du catalogue ; ce que vous apprenez ici vaut donc pour le suivant.

Ce qu’il vous faut avant de commencer

Il vous faut un compte HubSpot où vous pouvez créer une private app, ce qui demande en général les droits de super admin, et un agent Atako qui tourne sur le harnais Hermes. Hermes est le harnais par défaut des nouveaux agents : un agent tout juste créé convient donc déjà. Si vous hésitez encore sur le harnais, la page pilier sur les agents autonomes explique comment un agent fonctionne sur la plateforme.

Créer le jeton avec les scopes les plus étroits

Une private app HubSpot émet un jeton lié à une liste fixe de scopes. Cette liste est votre premier plafond : même si vous accordez plus tard davantage dans Atako, HubSpot refusera ce que le jeton ne couvre pas. Partez de ce que l’agent fera réellement. Un agent qui qualifie des leads doit lire les contacts et écrire des notes et des tâches. Un agent de reporting n’a besoin que de lire les deals et les pipelines. N’ajoutez le scope de création de propriétés que si vous voulez que l’agent crée des propriétés personnalisées, et le scope content que s’il doit préparer des e-mails marketing.

Traitez le jeton comme un mot de passe. Collez-le dans Atako et nulle part ailleurs : ni dans une conversation avec l’agent, ni dans un document que l’agent peut lire. Une fois connecté, vous n’avez plus besoin de le revoir.

Connecter une fois, accorder par agent

Connecter HubSpot dans Atako est une action au niveau de l’entreprise, faite depuis le catalogue d’intégrations. Elle rend HubSpot disponible, mais ne donne aucun droit à aucun agent. Les droits viennent de l’accès que vous créez sur chaque agent.

Cet accès fonctionne en deux couches. Vous choisissez d’abord un niveau avec les puces Lecture et Écriture. Vous cochez ensuite les endpoints un par un. Un agent qui résume le pipeline reçoit search_deals et list_pipelines, rien d’autre. Un agent qui consigne l’issue des appels reçoit update_deal et create_note. C’est plus proche du moindre privilège qu’une clé d’API unique du tout ou rien, et c’est facile à relire : la liste des endpoints cochés est la liste de ce que l’agent peut faire.

Parler à l’agent

Une fois l’accès créé, vous n’écrivez aucune configuration d’outil. Vous décrivez le travail en langage courant : trouve les contacts créés depuis lundi, vérifie lesquels appartiennent à une entreprise existante et ajoute une note sur ceux qui correspondent à notre profil idéal. L’agent choisit les bons endpoints parmi ceux qui lui ont été accordés, les appelle par le broker et vous rend compte. Un endpoint non accordé ne peut simplement pas être appelé, et c’est à vous de décider d’élargir l’accès.

Comme un agent Hermes tourne aussi sur planning, le même accès sert les tâches récurrentes. Un résumé hebdomadaire du pipeline ou une vérification quotidienne des deals qui stagnent utilise exactement les droits que vous avez déjà définis.

Garder un œil sur ce qui se passe

Chaque appel qui passe par le broker est enregistré : quel outil, quel statut, quel code HTTP, combien de temps. L’enregistrement est visible sur l’agent et dans le dashboard de l’entreprise, dans la vue d’usage des intégrations et dans le journal des intégrations. C’est votre piste d’audit. Quand un commercial demande pourquoi un deal a changé d’étape, vous ouvrez le journal et vous voyez l’appel, au lieu de deviner à partir du seul historique du CRM.

Le journal aide aussi à ajuster les droits. Si un agent tente à répétition un endpoint qui ne lui a pas été accordé, c’est un signal : soit la tâche en a besoin et vous l’ajoutez en connaissance de cause, soit l’agent dérive et c’est le prompt qu’il faut retravailler.

Ce que cette configuration ne fait pas

L’accès sélectionne des endpoints. Il ne restreint pas les enregistrements qu’un endpoint peut toucher : un agent autorisé à appeler update_deal peut modifier n’importe quel deal que le jeton atteint. Si vous voulez une frontière plus serrée, créez la Private App avec moins de scopes, ou gardez les écritures sensibles derrière une étape humaine. Demandez par exemple à l’agent de proposer d’abord le changement dans la conversation, puis de l’appliquer après votre confirmation.

Pour le côté HubSpot du connecteur, avec toutes les actions qu’il expose, consultez la page de l’intégration HubSpot. Pour des workflows commerciaux concrets, le cas d’usage RevOps montre ce que fait un agent une fois l’accès en place, et le cas d’usage opérations marketing couvre le versant campagnes.

Pour aller plus loin

Autres intégrations avec Hermes Agent

Écrit par les agents Atako · Relu et validé par Romain Laodicina · CTO d'Atako

Questions fréquentes

Où est stocké le jeton HubSpot ?

Du côté d’Atako, jamais dans la configuration de l’agent. L’agent ne reçoit pas le jeton : il demande au broker de faire un appel, et le jeton est injecté au moment où la requête part. Une configuration d’agent qui fuit, ou une injection de prompt, ne peut donc pas l’exposer.

Puis-je limiter l’agent à la lecture seule ?

Oui. Choisissez uniquement la puce Lecture, puis cochez les endpoints voulus, comme search_contacts, get_contact et search_deals. Les endpoints d’écriture comme update_deal ou create_note restent inaccessibles tant que vous ne les ajoutez pas.

Comment voir ce que l’agent a fait dans HubSpot ?

Chaque appel est journalisé avec son outil, son statut, son code HTTP et sa latence. Vous lisez le journal sur l’agent et dans le dashboard, dans l’usage des intégrations et le journal des intégrations.

Qu’est-ce qui change par rapport à un Hermes auto-hébergé ?

Sur un Hermes auto-hébergé, vous posez vous-même le secret HubSpot, dans un fichier .env ou dans config.yaml, sur une machine que vous faites tourner et que vous sauvegardez. Sur Atako, le secret vit dans le broker d’intégrations, les droits se règlent par endpoint, et le journal est fourni.

Comment couper l’accès de l’agent ?

Décochez l’endpoint ou retirez l’accès sur l’agent pour une coupure partielle, révoquez la connexion dans Atako pour couper tous les agents d’un coup, ou supprimez la Private App dans HubSpot pour invalider le jeton à la source.

À lire ensuite

Sources

Romain Laodicina

CTO d'Atako

Ce contenu a été rédigé par les agents IA d'Atako, puis relu, corrigé et validé par Romain Laodicina, CTO d'Atako.

Déployez vos premiers agents IA

Créez votre compte gratuitement et lancez un agent en quelques minutes, sans code.

Newsletter

Gardez une longueur d'avance sur l'IA.

Recevez les nouveautés produit, les nouveaux agents et nos analyses IA directement dans votre boîte mail. Pas de spam, désinscription à tout moment.