# Creare lead e contatti in HubSpot usando la CLI di Formspree

> Formspree Docs · Usare la CLI · 14 luglio 2023

Aggiungere l'azione **hubspot** nel file `formspree.json` ha lo stesso effetto di aggiungere il plugin HubSpot nella dashboard di Formspree. Consulta l'[articolo di aiuto sul plugin HubSpot](/articles/plugins/use-hubspot-to-create-leads-and-contacts/) per conoscere **leadStatus,** **lifeCycleStage** e per maggiori informazioni.

## Creare una Private App

HubSpot ha deprecato la API Key dell'account. Per ora, dovresti creare invece una Private App e selezionare scope specifici per il token di accesso. Per maggiori informazioni [consulta qui.](https://developers.hubspot.com/docs/api/private-apps)

-   Nel tuo account HubSpot, clicca sull'**icona delle impostazioni** nella barra di navigazione principale.
-   Nel menu della barra laterale sinistra, vai su **Integrations**\>**Private Apps**.
-   Clicca su **Create private app**.
-   Configura i dettagli della tua app
-   Clicca sulla scheda **scopes** e seleziona 
    -   `crm.objects.contacts.read` (CRM->Contacts->Read)
    -   `crm.objects.contacts.write` (CRM->Contacts->Read)
    -   `crm.objects.companies.read` (CRM->Companies->Read)
    -   `crm.objects.companies.write` (CRM->Companies->Write)
-   Nella finestra di dialogo, esamina le informazioni sul token di accesso della tua app, poi clicca su **Continue creating**.

Per iniziare a effettuare chiamate API, vai alla pagina dei dettagli della tua app.

Nella scheda _Access_ _token_, clicca su **Show token** per rivelare il tuo token di accesso. Clicca su **Copy** per copiare il token negli appunti e incollalo nel file di distribuzione della CLI di Formspree come attributo accessToken.

## Configurazione di Formspree.json

| Chiave | Tipo | Descrizione |
| --- | --- | --- |
| `app` |  String | Deve essere `hubspot` |
| `type` |  String | Deve essere `createContact` |
| `apiKey` |  String | La tua API key (deve essere un riferimento a una variabile d'ambiente con $, obbligatorio) (deprecato) |
| `accessToken` |  String | Il token di accesso della tua Private APP (deve essere un riferimento a una variabile d'ambiente con $, obbligatorio)  |
| `leadStatus` |  String | Campo opzionale. Deve essere uno tra `NEW`, `OPEN`, `IN_PROGRESS`, `OPEN_DEAL`, `UNQUALIFIED`, `ATTEMPTED_TO_CONTACT`, `CONNECTED`, o `BAD_TIMING`. Il valore predefinito è `NEW`. |
| `lifeCycleStage` |  String | Campo opzionale. Deve essere uno tra `subscriber`, `lead`, `marketingqualifiedlead`, `salesqualifiedlead`, `opportunity`, `customer`, o `other`. Il valore predefinito è vuoto. |
| `overwriteContact` |  Boolean | Campo opzionale. Se true, sovrascrive le informazioni del contatto se l'email del contatto esiste già in HubSpot. Il valore predefinito è false |

**Esempio**

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

## Regole di validazione

L'azione **create support ticket** aggiunge implicitamente le seguenti regole di validazione:

| Campo | Regola di validazione |
| --- | --- |
| `email` | Obbligatorio |
| `email` | Il tipo è `email` |
