# Crear leads y contactos en Hubspot usando el CLI de Formspree

> Formspree Docs · Usar el CLI · 14 de julio de 2023

Agregar la acción **hubspot** en el archivo `formspree.json` tiene el mismo efecto que añadir el plugin de Hubspot en el panel de Formspree. Consulta el [artículo de ayuda del plugin de Hubspot](/es/articles/plugins/use-hubspot-to-create-leads-and-contacts/) para conocer más sobre **leadStatus,** **lifeCycleStage** y obtener más información. 

## Crear una Private App

Hubspot ha dejado obsoleta la API Key de cuenta. Por ahora, deberías crear una Private App y seleccionar scopes específicos para el access token. Para más información [consulta aquí.](https://developers.hubspot.com/docs/api/private-apps)

-   En tu cuenta de HubSpot, haz clic en el **icono de configuración** en la barra de navegación principal.
-   En el menú lateral izquierdo, ve a **Integrations**\>**Private Apps**.
-   Haz clic en **Create private app**.
-   Configura los detalles de tu app
-   Haz clic en la pestaña **scopes** y marca 
    -   `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)
-   En el cuadro de diálogo, revisa la información sobre el access token de tu app y luego haz clic en **Continue creating**.

Para empezar a hacer llamadas a la API, ve a la página de detalles de tu app.

En la tarjeta _Access_ _token_, haz clic en **Show token** para mostrar tu access token. Haz clic en **Copy** para copiar el token al portapapeles y pégalo en tu archivo de despliegue del CLI de Formspree como atributo accessToken.

## Configuración de Formspree.json

| Clave | Tipo | Descripción |
| --- | --- | --- |
| `app` |  String | Debe ser `hubspot` |
| `type` |  String | Debe ser `createContact` |
| `apiKey` |  String | Tu clave de API (debe ser una referencia a una variable de entorno con `$`, requerido) (obsoleto) |
| `accessToken` |  String | El access token de tu Private APP (debe ser una referencia a una variable de entorno con `$`, requerido)  |
| `leadStatus` |  String | Campo opcional. Debe ser uno de `NEW`, `OPEN`, `IN_PROGRESS`, `OPEN_DEAL`, `UNQUALIFIED`, `ATTEMPTED_TO_CONTACT`, `CONNECTED`, o `BAD_TIMING`. El valor por defecto es `NEW`. |
| `lifeCycleStage` |  String | Campo opcional. Debe ser uno de `subscriber`, `lead`, `marketingqualifiedlead`, `salesqualifiedlead`, `opportunity`, `customer`, u `other`. El valor por defecto es vacío. |
| `overwriteContact` |  Boolean | Campo opcional. Si es true, sobrescribe la información del contacto si el correo del contacto ya existe en Hubspot. El valor por defecto es false |

**Ejemplo**

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

## Reglas de validación

La acción **create support ticket** añade implícitamente las siguientes reglas de validación:

| Campo | Regla de validación |
| --- | --- |
| `email` | Requerido |
| `email` | El tipo es `email` |
