# Créer des leads et des contacts dans HubSpot avec le CLI Formspree

> Formspree Docs · Utiliser le CLI · 14 juillet 2023

Ajouter l'action **hubspot** dans le fichier `formspree.json` produit le même effet qu'ajouter le plugin HubSpot dans le tableau de bord Formspree. Consultez l'[article d'aide sur le plugin HubSpot](/articles/plugins/use-hubspot-to-create-leads-and-contacts/) pour en savoir plus sur **leadStatus**, **lifeCycleStage** et d'autres informations.

## Créer une application privée

HubSpot a déprécié la clé API de compte. Vous devez désormais créer une application privée et sélectionner des portées spécifiques pour le jeton d'accès. Pour plus d'informations, [consultez cette page.](https://developers.hubspot.com/docs/api/private-apps)

-   Dans votre compte HubSpot, cliquez sur l'**icône des paramètres** dans la barre de navigation principale.
-   Dans le menu latéral gauche, naviguez vers **Intégrations** \> **Applications privées**.
-   Cliquez sur **Créer une application privée**.
-   Configurez les détails de votre application.
-   Cliquez sur l'onglet **Portées** et cochez :
    -   `crm.objects.contacts.read` (CRM->Contacts->Lecture)
    -   `crm.objects.contacts.write` (CRM->Contacts->Écriture)
    -   `crm.objects.companies.read` (CRM->Entreprises->Lecture)
    -   `crm.objects.companies.write` (CRM->Entreprises->Écriture)
-   Dans la boîte de dialogue, vérifiez les informations relatives au jeton d'accès de votre application, puis cliquez sur **Continuer la création**.

Pour commencer à effectuer des appels API, accédez à la page de détails de votre application.

Sur la carte _Jeton d'accès_, cliquez sur **Afficher le jeton** pour révéler votre jeton d'accès. Cliquez sur **Copier** pour le copier dans le presse-papiers et collez-le dans votre fichier de déploiement du CLI Formspree en tant qu'attribut `accessToken`.

## Configuration formspree.json

| Clé | Type | Description |
| --- | --- | --- |
| `app` |  String | Doit être `hubspot` |
| `type` |  String | Doit être `createContact` |
| `apiKey` |  String | Votre clé API (doit être une référence de variable d'environnement $, requis) (déprécié) |
| `accessToken` |  String | Votre jeton d'accès d'application privée (doit être une référence de variable d'environnement $, requis) |
| `leadStatus` |  String | Champ optionnel. Doit être l'une des valeurs suivantes : `NEW`, `OPEN`, `IN_PROGRESS`, `OPEN_DEAL`, `UNQUALIFIED`, `ATTEMPTED_TO_CONTACT`, `CONNECTED` ou `BAD_TIMING`. Par défaut : `NEW`. |
| `lifeCycleStage` |  String | Champ optionnel. Doit être l'une des valeurs suivantes : `subscriber`, `lead`, `marketingqualifiedlead`, `salesqualifiedlead`, `opportunity`, `customer` ou `other`. Par défaut : vide. |
| `overwriteContact` |  Boolean | Champ optionnel. Si true, écrase les informations du contact si l'adresse e-mail existe déjà dans HubSpot. Par défaut : false. |

**Exemple**

```javascript
{
  "forms": {
    "registrationForm": {
      "name": "Registration Form",
      "actions": [
        {
          "app": "hubspot",
          "type": "createContact",
          "accessToken": "$accessToken",
          "leadStatus": "NEW",
          "lifeCycleStage": "lead",
          "overwriteContact": true
        }
      ]
    }
  }
}
```

## Règles de validation

L'action **create support ticket** ajoute implicitement les règles de validation suivantes :

| Champ | Règle de validation |
| --- | --- |
| `email` | Requis |
| `email` | Le type est `email` |
