# Connecter HubSpot

L’assistant lit dans HubSpot qui lui écrit : le contact et l’entreprise, les
affaires et les tickets de support. Il n’écrit jamais dans HubSpot. Ce qu’il
peut lire exactement, vous le définissez pour chaque boîte mail séparément. Le
fonctionnement général des connexions dans draften est décrit sur la page
[Intégrations](/fr/admin/integrations).

## Ce dont vous avez besoin

- Un compte HubSpot avec les droits **super admin** (ou avec l’autorisation
  **Developer tools access**) – seul un tel compte peut créer une clé pour
  l’API.
- Dans draften, **un propriétaire ou un gestionnaire de l’organisation**.

draften a besoin d’une **clé pour l’API avec uniquement des champs
d’application en lecture**. HubSpot la délivre aujourd’hui sous la forme d’une
**service key**. Les comptes plus anciens peuvent aussi avoir le jeton d’une
**private app** d’avant (il commence par `pat-`) ; il continue de fonctionner,
mais HubSpot ne permet plus de créer de nouvelles private apps.

## Dans HubSpot : service key

1. Ouvrez la liste des clés : dans le menu principal, **Development** →
   **Keys** → **Service keys** (dans certains comptes, **Settings** →
   **Integrations** → **Service Keys**).
2. En haut à droite, cliquez sur **Create service key** et nommez la clé, par
   exemple `draften`.
3. Cliquez sur **Add new scope**. Dans le panneau de droite, recherchez (champ
   **Find a scope**) et cochez uniquement ces champs d’application en lecture :
   - `crm.objects.contacts.read` – les contacts,
   - `crm.objects.companies.read` – les entreprises,
   - `crm.objects.owners.read` – qui s’occupe du contact,
   - `crm.objects.deals.read` – les affaires,
   - `crm.objects.tickets.read` – les tickets.

   N’ajoutez rien qui contient `.write`. Une clé ne peut recevoir que les
   autorisations dont dispose son créateur.
4. Créez la clé. Sur sa page, cliquez sur **Show**, puis sur **Copy**.

La clé peut plus tard être **remplacée** (**Rotate and expire now**, ou
**Rotate and expire later** – l’ancienne reste alors valable encore 7 jours).
Saisissez la nouvelle clé dans draften (voir ci-dessous).

## Dans draften

1. Ouvrez Organisation → **Intégrations** et, dans la carte **Intégrations**,
   renseignez :
   - **Système** – **HubSpot**,
   - **Nom** – par exemple `HubSpot – ventes et support`,
   - **Secret d’accès** – la clé copiée.

   Cliquez sur **Ajouter une connexion**. La clé est stockée chiffrée et n’est
   plus jamais affichée.
2. Dans la ligne de la connexion, ouvrez le menu **⋯** → **Tester la
   connexion**. Au bout d’un instant s’affiche « Connexion opérationnelle
   (…) ». Le test liste les champs d’application manquants sous « Non
   disponible avec ce jeton : » ; si la clé comporte aussi des champs
   d’application en écriture, il le signale.
3. Dans la partie **Quelles boîtes mail peuvent utiliser la connexion**,
   cliquez sur **Accorder** à côté d’une boîte mail, cochez ce que l’assistant
   peut lire, puis cliquez sur **Enregistrer l’accès** :
   - **Contact et entreprise**,
   - **Affaires** et, en dessous, **Montants des affaires**,
   - **Tickets de support** et, en dessous, **Détail du ticket** et **Notes
     internes d’un ticket**.
4. L’éditeur de l’assistant ajoute ensuite, dans Paramètres de l’assistant →
   **Connaissances**, une source de type **système externe** et choisit ce que
   l’assistant lit réellement – voir
   [Connecter un CRM et d’autres systèmes](/fr/connecting-a-crm).

Lorsque vous remplacez la clé, saisissez la nouvelle dans le champ **Nouveau
secret d’accès** de la connexion et cliquez sur **Remplacer** ; puis relancez
**Tester la connexion**.

## Erreurs du test de connexion

Le message du test est en anglais ; il vient directement de HubSpot ou de
draften :

| Dans le message | Ce que cela signifie | Que faire |
|---|---|---|
| `the access token was refused (401)` | HubSpot n’a pas accepté la clé – faute de frappe, ou la clé a été remplacée ou supprimée | saisir une clé valide |
| `… lacks a scope for this read (403)` | il manque à la clé un champ d’application en lecture | ajouter le champ d’application à la clé dans HubSpot |
| `HubSpot rate limit reached (429)` | la limite d’appels API est atteinte | réessayer plus tard |
| `HubSpot answered HTTP …` | une autre réponse de HubSpot | réessayer ; si cela persiste, remplacer la clé |
