> 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/dforms/connect/hubspot/map-questions.md).

# Asignar preguntas a propiedades del contacto

Asigna cada pregunta de un formulario de dForms a una propiedad del contacto en HubSpot: usa el selector de propiedades buscable, deja que Auto-asignar llene las coincidencias obvias, añade claves ext

Mapear le dice a HubSpot dónde va cada respuesta. Hasta que una pregunta está mapeada, su respuesta se queda en dForms y nunca llega a tu CRM.

Abre tu formulario, haz clic en **Conectar** en la barra superior, y baja hasta la tarjeta de **HubSpot**.

***

**Paso 1:** Busca la sección **Asignar preguntas**. Lista cada pregunta del formulario bajo **Tu pregunta**, con su clave de campo debajo, y un selector bajo **Propiedad de HubSpot** junto a cada una.

<figure><img src="https://365551146-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMUYDYzjmxpzlYaw0gcaZ%2Fuploads%2Fgit-blob-6c7403a5e02731653c7ac65b6dfcb7f89b0ee143%2Fforms-map-questions-01-section.png?alt=media" alt="La sección Asignar preguntas listando cinco preguntas con sus selectores de propiedad de HubSpot y el botón Auto-asignar"><figcaption><p><strong>Asignar preguntas</strong> empareja cada pregunta con una propiedad del contacto. <strong>Auto-asignar</strong> llena las obvias por ti.</p></figcaption></figure>

La línea de ayuda enuncia la única regla que importa: **Envía cada respuesta a una propiedad de contacto de HubSpot. Una pregunta debería asignarse a “email”.**

***

**Paso 2:** Haz clic en **Auto-asignar** para llenar las coincidencias obvias de una vez.

**Auto-asignar** lee el texto y los tipos de tus preguntas, en inglés y en español, y sugiere las propiedades estándar del contacto: una pregunta de correo a `email`, una de teléfono a `mobilephone` o `phone`, una de sitio web o URL a `website`, una de empresa a `company`, una de puesto a `jobtitle`, y nombre y apellido a `firstname` y `lastname`.

Nunca sobrescribe un mapeo que ya hiciste, y nunca asigna una pregunta de **Subir archivo**: una respuesta de archivo no tiene texto que le sirva a una propiedad del contacto. Cuando encuentra algo obtienes **Se asignaron automáticamente {n} pregunta(s). Revísalas y guarda.**, y cuando no queda nada por sugerir obtienes **No hay nuevas coincidencias que sugerir.**

> **💡 Tip:** Revisa siempre lo que eligió **Auto-asignar**. Es un atajo para las propiedades estándar, no un sustituto de leer la lista.

***

**Paso 3:** Pon el resto a mano. Haz clic en un selector para abrir la lista de propiedades, escribe en el buscador para acotarla, y luego haz clic en la propiedad que quieras.

<figure><img src="https://365551146-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMUYDYzjmxpzlYaw0gcaZ%2Fuploads%2Fgit-blob-1f4299e2668e3ff248feee7a2031769a2c095af3%2Fforms-map-questions-02-property-picker.png?alt=media" alt="Un selector de propiedad de HubSpot abierto con la palabra job escrita en la búsqueda y tres propiedades coincidentes listadas"><figcaption><p>Cada propiedad de tu portal es buscable, y se muestra como <strong>Etiqueta (nombre_interno)</strong>.</p></figcaption></figure>

Cada entrada se lee **Etiqueta (nombre\_interno)**: la etiqueta es lo que ve tu equipo en HubSpot, y el valor entre paréntesis es el nombre interno que usa la API. Elige **(ninguna)** para limpiar un mapeo.

Dos detalles que conviene conocer:

* La misma pregunta puede alimentar varias propiedades. Mapéala una vez aquí, y añade los destinos extra en **Asignaciones personalizadas**, en el paso siguiente.
* Si no se puede contactar a tu portal un momento, la tarjeta dice **Las propiedades de HubSpot no están disponibles temporalmente; aún puedes escribir el nombre de una propiedad.** El mapeo se guarda igual.

***

**Paso 4:** Usa **Asignaciones personalizadas** para todo lo que no sea una pregunta normal: parámetros UTM, campos ocultos, o una clave que definas por la URL.

<figure><img src="https://365551146-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMUYDYzjmxpzlYaw0gcaZ%2Fuploads%2Fgit-blob-72dcf599888c8f51307373305ba54707a676bf8d%2Fforms-map-questions-03-custom-field-key.png?alt=media" alt="El selector de clave de Asignaciones personalizadas abierto, mostrando el grupo Preguntas del formulario, el grupo Campos del sistema con las cinco claves UTM, y la opción Clave personalizada"><figcaption><p>El selector de claves agrupa todo lo que puedes enviar: <strong>Preguntas del formulario</strong>, <strong>Campos del sistema</strong> y <strong>Clave personalizada…</strong>.</p></figcaption></figure>

Haz clic en **Añadir mapeo**, abre el selector de la izquierda y elige la clave:

| Grupo                        | Qué contiene                                                                                                                                                                                                                                                                                                                                                                                                             |
| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Preguntas del formulario** | Cada pregunta del formulario, listada como **Texto de la pregunta (clave\_de\_campo)**. Úsalo para enviar una respuesta a una segunda propiedad.                                                                                                                                                                                                                                                                         |
| **Campos del sistema**       | Los cinco parámetros UTM capturados: `utm_source`, `utm_medium`, `utm_campaign`, `utm_term` y `utm_content`. Cuando un paso de agendador es la única fuente de correo del formulario, también obtienes las claves de la reserva (**Agenda: nombre completo**, **Agenda: nombre**, **Agenda: apellido**, **Agenda: teléfono**). Mira [Sincronización de reservas](/dapta-docs-es/dforms/connect/hubspot/booking-sync.md). |
| **Clave personalizada…**     | Escribe cualquier clave a mano, para un campo oculto o un valor que pases por la URL. **Volver a la lista** regresa a los grupos.                                                                                                                                                                                                                                                                                        |

Luego elige la propiedad de HubSpot a la derecha. **Quitar** borra la fila. Sin filas, la sección dice **Aún no hay mapeos.**

> **💡 Tip:** Los campos ocultos y el prellenado con `?clave=valor` se explican en [Campos ocultos y prellenado por URL](/dapta-docs-es/dforms/builder/hidden-fields-and-url-prefill.md). Todo lo que caiga en un campo del formulario se puede mapear aquí.

***

**Paso 5:** Comprueba que una pregunta apunte a **Email (email)**. Este es el mapeo del que depende toda la integración.

<figure><img src="https://365551146-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMUYDYzjmxpzlYaw0gcaZ%2Fuploads%2Fgit-blob-f871ac8d8031a3d6d55f3e2a01955bb706b627e7%2Fforms-map-questions-04-email-row.png?alt=media" alt="Las filas de Asignar preguntas con la pregunta de correo de trabajo mapeada a Email (email) resaltada"><figcaption><p>Sin esta fila, las respuestas llegan sin nada con que identificar a la persona y no se crea ningún contacto.</p></figcaption></figure>

HubSpot empareja un contacto por dirección de correo: actualiza el que encuentra, o crea uno nuevo. Una respuesta que no lleva dirección no se puede emparejar, así que el lead no se sincroniza en absoluto. Si tu formulario no tiene pregunta de correo, la tarjeta reemplaza las secciones de mapeo por **Este formulario no tiene correo que sincronizar**.

Hay una excepción. En un formulario cuya única fuente de dirección es un paso de **agendador**, Calendly aporta la dirección del invitado cuando alguien reserva, y **no** deberías mapear nada a `email`. Hacerlo levanta la alerta **Este mapeo apaga la sincronización**. Mira [Cómo funciona la sincronización y solución de problemas](/dapta-docs-es/dforms/connect/hubspot/how-sync-works.md).

***

## Qué sigue

* [Mapas de valores y propiedades estáticas](/dapta-docs-es/dforms/connect/hubspot/value-maps-and-static-properties.md): traduce respuestas a los valores que esperan tus listas.
* [Elementos del formulario: UTMs, puntaje, resultado, fecha de envío](/dapta-docs-es/dforms/connect/hubspot/form-elements.md): mapea los metadatos que dForms captura por su cuenta.
* [Cómo funciona la sincronización y solución de problemas](/dapta-docs-es/dforms/connect/hubspot/how-sync-works.md): la regla del correo, los estados bloqueados y el registro de entregas.


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.dapta.ai/dapta-docs-es/dforms/connect/hubspot/map-questions.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
