Conecta tu formulario web con ConvertCore

Si tienes tu propio formulario de contacto — en tu sitio web, en una landing de campaña, en Webflow, Wix, WordPress, o cualquier otra plataforma — puedes hacer que cada vez que alguien lo llene, el contacto llegue automáticamente a ConvertCore, se guarde en tu lista de clientes, y se dispare una respuesta automática.

Esta guía explica cómo hacerlo paso a paso.


Cuándo usar esta integración vs. el widget de reservas

SituaciónQué usar
Tu cliente quiere agendar una cita con fecha y horaWidget de reservas
Tu cliente llena un formulario de contacto o "quiero más información"Esta guía — formulario web

Si lo que necesitas es que el cliente elija un servicio y una hora, usa el widget. Si lo que necesitas es capturar el nombre, teléfono y correo de alguien interesado (un lead), usa esta integración.


Cómo funciona

Cuando tu formulario se envía, hace una llamada automática a ConvertCore. ConvertCore recibe esos datos y:

  1. Crea el contacto en tu lista de clientes — o lo actualiza si ya existía, sin duplicados.
  2. Dispara el trigger "Envío de formulario" — puedes configurar un workflow que le mande un mensaje de bienvenida al cliente y te notifique a ti.
  3. Dispara el trigger "Contacto creado" — si el cliente era nuevo, también se activa este trigger (útil para workflows de bienvenida diferenciados).

Paso 1. Consigue tu URL y tu API Key

Ve a Ajustes → Claves API.

Ahí encuentras:

  • Tu API Key — el código largo que empieza con letras y números. Cópialo.
  • El endpoint de tu formulario — la URL completa ya con tu slug incluido, lista para copiar. Se ve así:
https://app.convertcoreai.com/api/webhooks/nombre-de-tu-negocio/form-submission

No tienes que armar esa URL a mano — aparece en la pantalla lista para copiar.


Paso 2. Configura tu formulario para que envíe los datos a esa URL

En tu formulario (ya sea en Webflow, WordPress, código propio, o cualquier plataforma), tienes que hacer que al enviarse haga un POST a esa URL con los datos del cliente.

Si usas JavaScript (código propio o Webflow)

Pega este código en el evento "submit" de tu formulario:

fetch("https://app.convertcoreai.com/api/webhooks/TU_SLUG/form-submission", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "x-api-key": "TU_API_KEY"
  },
  body: JSON.stringify({
    name: "Nombre del cliente",   // reemplaza con el valor real del campo
    phone: "+593991234567",       // con código de país
    email: "cliente@ejemplo.com",
    service: "Consulta inicial",  // opcional
    message: "Texto libre",       // opcional
    source: "sitio web"           // opcional — de dónde vino el lead
  })
})

Reemplaza TU_SLUG y TU_API_KEY con los valores que copiaste en el Paso 1.

Si usas Zapier

  1. Crea un Zap con trigger en tu formulario (Typeform, Gravity Forms, etc.)
  2. Acción: Webhooks by Zapier → POST
  3. URL: la que copiaste en el Paso 1
  4. Headers: x-api-key: TU_API_KEY y Content-Type: application/json
  5. Body: mapea los campos de tu formulario a name, email, phone

Campos que puedes enviar

CampoTipoObligatorioDescripción
nametextoNombre completo del cliente
phonetextoSí*Teléfono con código de país (+1..., +593...)
emailtextoSí*Correo del cliente
servicetextoNoServicio que le interesa
messagetextoNoMensaje que dejó en el formulario
sourcetextoNoDe dónde vino ("sitio web", "instagram", etc.)

*Al menos phone o email debe estar presente. Puedes enviar ambos.


Paso 3. Configura el workflow de respuesta automática (opcional pero recomendado)

Una vez que el formulario esté conectado, puedes configurar una respuesta automática que le llegue al cliente en segundos.

  1. Ve a Flujos → Nuevo flujo.
  2. En Trigger, elige "Envío de formulario".
  3. Agrega el paso "Enviar WhatsApp" o "Enviar email" con el mensaje de bienvenida.
  4. Guarda y activa el flujo.

A partir de ese momento, cada lead que llene tu formulario recibe respuesta inmediata y tú ves el contacto guardado en Contactos.


Errores comunes

"El contacto no llega a ConvertCore"

Causa más frecuente: estás usando el endpoint equivocado.

ConvertCore tiene dos endpoints distintos y es fácil confundirlos:

EndpointPara qué sirve
/api/webhooks/[slug]/form-submissionCapturar leads desde formularios externos. Crea el contacto. Usa esto.
/api/public/workflows/in/[token]Disparar un workflow desde un sistema externo (Stripe, Calendly, etc.). No crea contactos.

Si usaste el de workflows y te devuelve {"ok":true,"accepted":true} pero no aparece ningún contacto — ese es el problema. Cambia al endpoint de formularios.

"Me devuelve error 401"

Tu API Key está mal, está incompleta, o le falta el header x-api-key. Verifica que el header se llame exactamente x-api-key (en minúsculas) y que el valor sea la API Key completa sin espacios.

"Me devuelve error 422"

El body no tiene ni phone ni email. Al menos uno de los dos es obligatorio para poder identificar al contacto.

"Me devuelve error 403"

La API Key que usaste pertenece a un workspace diferente al del slug en la URL. Verifica que el slug y la API Key sean del mismo workspace.


Preguntas frecuentes

¿Qué pasa si el cliente ya existe en ConvertCore? Se actualiza con los datos que falten — no se crea un duplicado. El historial de conversaciones, citas y notas que ya tiene se conserva intacto.

¿Puedo probar el endpoint antes de tocar mi sitio? Sí. Abre una terminal y ejecuta esto (reemplaza los valores):

curl -X POST https://app.convertcoreai.com/api/webhooks/TU_SLUG/form-submission \
  -H "Content-Type: application/json" \
  -H "x-api-key: TU_API_KEY" \
  -d '{"name":"Prueba Test","phone":"+593991234567"}'

Si devuelve {"ok":true,"created":true,...} — funcionó. Ve a Contactos y el nombre "Prueba Test" debe estar ahí.

¿Puedo usar esto desde Webflow, Wix o WordPress? Sí. Cualquier plataforma que permita JavaScript personalizado o conexión con Zapier funciona. En Webflow, pega el snippet de JavaScript en un bloque de código personalizado adjunto al formulario.

¿El campo source para qué sirve? Para que sepas de dónde vino el lead. Aparece en el perfil del contacto. Útil si tienes formularios en distintas páginas o campañas y quieres saber cuál convierte mejor.

¿Puedo mandar campos adicionales que no están en la lista? Sí. Cualquier campo extra que mandes se guarda como nota en el contacto. Si mandas {"name":"...","email":"...","presupuesto":"5000"}, el valor del presupuesto queda registrado.


Respuesta del servidor

CódigoQué significa
201Contacto creado — era nuevo
200Contacto actualizado — ya existía
401Falta el header x-api-key o la API Key es inválida
403La API Key no pertenece al workspace del slug en la URL
422Falta phone y email — al menos uno es obligatorio
400El JSON está mal formado

Si el endpoint no responde como esperas, revisa el estado del sistema en convertcore.ai/status. Para soporte técnico: soporte@convertcore.ai