> For the complete documentation index, see [llms.txt](https://docs.dapta.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.dapta.ai/dapta-docs-es/dapta-forms/connect/hubspot/how-sync-works.md).

# Cómo funciona la sincronización y solución de problemas

Cómo empareja Dapta Forms cada respuesta con un contacto de HubSpot, los estados que detienen la sincronización antes de empezar (sin dirección de correo, HubSpot sin conectar, un mapeo de correo en c

Casi toda duda sobre HubSpot se reduce a una regla y a cuatro estados que la bloquean. Esta página cubre las dos cosas, y luego te muestra dónde mirar cuando un lead no llegó.

***

## La única regla: los contactos se emparejan por correo

La explicación de **Cómo funciona la sincronización** está arriba de la tarjeta de **HubSpot**, sobre todas las secciones de mapeo.

<figure><img src="https://365551146-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMUYDYzjmxpzlYaw0gcaZ%2Fuploads%2Fgit-blob-13b651cec87d7bea7ae00df0dc2c5a46810c304d%2Fforms-how-sync-works-01-explainer.png?alt=media" alt="La explicación Cómo funciona la sincronización dentro de la tarjeta de HubSpot, sobre las secciones de mapeo"><figcaption><p>La regla sobre la que está construida toda la integración, enunciada en la propia tarjeta.</p></figcaption></figure>

**Cada respuesta se empareja con un contacto por dirección de correo: se actualiza un contacto existente, y se crea uno nuevo cuando no hay coincidencia. Un formulario que nunca pide un correo no se puede sincronizar.**

De ahí salen tres consecuencias:

* La misma persona respondiendo dos veces actualiza un contacto en lugar de crear dos.
* Quien llega al punto de envío parcial ya cae en HubSpot, porque la dirección de correo se conoce desde ese paso. Mira [Respuestas parciales](/dapta-docs-es/dapta-forms/builder/partial-submissions.md).
* Una respuesta que no está mapeada simplemente no viaja. Se sigue guardando en Dapta Forms y sigue apareciendo en **Respuestas**.

***

## Estado 1: el formulario no tiene dirección de correo

Si nada en el formulario puede producir una dirección de correo, la tarjeta reemplaza todas las secciones de mapeo por un solo panel.

<figure><img src="https://365551146-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMUYDYzjmxpzlYaw0gcaZ%2Fuploads%2Fgit-blob-8d949c0fc9a481c5eedaced92195fe84a0813a19%2Fforms-how-sync-works-02-no-email.png?alt=media" alt="La tarjeta de HubSpot en un formulario sin pregunta de correo, mostrando el panel titulado Este formulario no tiene dirección de correo que sincronizar"><figcaption><p><strong>Este formulario no tiene dirección de correo que sincronizar.</strong> No hay nada que mapear hasta que el formulario pueda identificar a quien responde.</p></figcaption></figure>

El panel deja claro el porqué: una respuesta sin dirección llega sin nada que identificar, así que no se crea ningún contacto y el lead no se sincroniza.

**Cómo arreglarlo:** abre la pestaña **Construir** y añade una pregunta de **Correo**, o añade un paso de **Agendador**. Calendly recoge la dirección del invitado cuando alguien reserva, y eso basta para indexar el contacto. Vuelve a **Conectar** y aparecen las secciones de mapeo.

***

## Estado 2: HubSpot no está conectado en la cuenta

Sin conexión de cuenta, la tarjeta muestra **Conecta HubSpot para mapear este formulario**, explica que HubSpot todavía no está conectado en tu cuenta, y ofrece un botón **Ir a Conexiones**.

Conectar se hace una sola vez, por un admin o un owner, desde **Integraciones** en el rail de la izquierda. Después, cada formulario del workspace la comparte. Mira [Conexiones (a nivel de cuenta)](/dapta-docs-es/dapta-forms/connect/connections.md).

Si tu portal es alcanzable pero contesta lento, puedes ver en su lugar **Las propiedades de HubSpot no están disponibles temporalmente, pero todavía puedes escribir un nombre de propiedad.** Tus mapeos se guardan igual; los selectores vuelven solos.

***

## Estado 3: un mapeo que detiene la sincronización

En un formulario cuya única fuente de dirección es un paso de **agendador**, la reserva aporta el correo. Mapear una pregunta a `email` en ese formulario toma el control como clave del contacto, y las respuestas dejan de llegar a HubSpot tras una reserva.

La tarjeta lo detecta con la alerta **Este mapeo detiene la sincronización** y nombra la pregunta a corregir. Devuelve la propiedad de esa pregunta a **(ninguna)** y la sincronización se reanuda. En estos formularios la ayuda de **Mapear preguntas** dice **No mapees nada a «email»** en lugar de la línea habitual.

***

## Estado 4: un segundo destino de HubSpot

Un formulario solo puede tener un destino de HubSpot. Si existe un segundo, la tarjeta avisa **Este formulario tiene una segunda conexión de HubSpot** y explica que esta pantalla solo edita la primera.

Para enviar una respuesta a varias propiedades, no añadas un segundo destino: añade las propiedades extra a la misma pregunta en los mapeos de campo personalizados. Mira [Asignar preguntas a propiedades del contacto](/dapta-docs-es/dapta-forms/connect/hubspot/map-questions.md).

***

## Leer el historial de HubSpot

Cada tarjeta lleva su propio registro de entregas. En la de HubSpot está abajo, como una línea que dice **Historial de HubSpot** con una etiqueta de **{n} entregas**, o una roja de **{n} fallidas** cuando algo salió mal. Haz clic en **Ver historial**.

<figure><img src="https://365551146-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMUYDYzjmxpzlYaw0gcaZ%2Fuploads%2Fgit-blob-a5519761dc7190b15459b5d56514441efe7577fb%2Fforms-how-sync-works-03-history.png?alt=media" alt="El diálogo Historial de HubSpot listando cinco entregas, de la más reciente a la más antigua, cada una con una píldora Entregado, una etiqueta completa o parcial y una marca de tiempo"><figcaption><p>Las últimas entregas que hizo este formulario, de la más reciente a la más antigua. La fila de arriba es la respuesta completada que se acaba de sincronizar.</p></figcaption></figure>

| Columna             | Qué significa                                                                                                                                                                     |
| ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Píldora de estado   | **Entregado** (llegó), **En curso** (encolada o reintentando), **Fallido** (se rindió tras el último intento) u **Omitido** (fue reemplazada y nunca se envió).                   |
| Nombre de la acción | El nombre propio de la cola para la entrega. En la tarjeta de HubSpot es `partial` o `complete`, así distingues una captura de lead de una respuesta terminada.                   |
| Insignia **Prueba** | Un ping de prueba en lugar de respuestas reales. **Enviar prueba** existe solo en la tarjeta de **Webhook**, así que esas filas aparecen en el **Historial de webhook**, no aquí. |
| **{n} intentos**    | Se muestra cuando la entrega necesitó más de un intento.                                                                                                                          |
| Marca de tiempo     | Cuándo se hizo la entrega, en la hora local de tu navegador.                                                                                                                      |

**Refrescar** recarga la lista, **Cerrar** descarta el diálogo, y el panel conserva las 25 entregas más recientes. Antes de enviar nada dice **Todavía no se ha entregado nada.**

> **⚠️ Nota:** Las filas se despliegan para mostrar **Qué enviamos** y **Qué volvió** solo cuando una entrega es una única petición HTTP, que es el caso de los webhooks. Una sincronización con HubSpot son varias llamadas de API seguidas, así que esas filas no tienen cuerpo que desplegar. Para inspeccionar un payload exacto, añade un webhook junto a HubSpot: mira [Webhooks](/dapta-docs-es/dapta-forms/connect/webhooks.md).

***

## Un lead no llegó: qué revisar, en orden

1. **¿Está encendido el interruptor?** La tarjeta de **HubSpot** tiene que decir **Activado**.
2. **¿Hay dirección de correo?** Abre la respuesta en **Respuestas**. Si el campo de correo está vacío, no se sincronizó nada, y eso es lo esperado.
3. **¿Está la pregunta mapeada a `email`?** Sin esa fila, no se crea ningún contacto. Mira [Asignar preguntas](/dapta-docs-es/dapta-forms/connect/hubspot/map-questions.md).
4. **¿Era una respuesta parcial?** El puntaje, el resultado, las propiedades estáticas, la nota y la actividad de envío de formulario se escriben solo en respuestas completadas.
5. **Revisa el registro.** Abre el **Historial de HubSpot**. Una fila **Fallido** muestra el motivo que registró, o **No se registró ningún motivo.** cuando el fallo no traía ninguno.
6. **¿No hay nada en el registro?** La entrega nunca se encoló, lo que apunta de vuelta a los pasos 1 a 3 y no a HubSpot.

Las entregas se reintentan solas con retrasos crecientes, así que un portal que estuvo caído un rato normalmente se resuelve por su cuenta. No hay reenvío manual. Todo el comportamiento de reintentos está en [Entrega, reintentos e historial](/dapta-docs-es/dapta-forms/connect/delivery-and-retries.md).

***

## Qué sigue

* [Asignar preguntas a propiedades del contacto](/dapta-docs-es/dapta-forms/connect/hubspot/map-questions.md): arregla el mapeo al que se reducen casi todos los problemas de sincronización.
* [Elementos del formulario: UTMs, puntaje, resultado, fecha de envío](/dapta-docs-es/dapta-forms/connect/hubspot/form-elements.md): lo que se escribe solo al final.
* [Conexiones (a nivel de cuenta)](/dapta-docs-es/dapta-forms/connect/connections.md): la conexión de cuenta que comparte cada formulario.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.dapta.ai/dapta-docs-es/dapta-forms/connect/hubspot/how-sync-works.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
