Comunicaciones: email, SMS y WhatsApp en un solo hilo

ConvertCore AI no es un cliente de correo ni un dialer. Es el lugar donde toda la conversación con cada cliente queda unificada — sin importar si fue por correo, SMS o WhatsApp — para que cualquier persona del equipo entienda el contexto sin abrir tres apps.

Esta guía te muestra cómo conectar los proveedores, crear plantillas y manejar el inbox.

Modelo

  • Email transaccional corre sobre Resend.
  • SMS y WhatsApp click-to-chat corren sobre Twilio.
  • Conversaciones es el inbox unificado: cada contacto tiene un hilo con todos sus mensajes en orden cronológico, filtrable por canal.

Tienes que conectar tus propias cuentas de Resend y Twilio (las de tu negocio, no las de ConvertCore). Esto te da control de tu deliverability y tus números, y mantiene tus costos transparentes.

Paso 1. Conectar Resend (correo)

1.1 Crear cuenta y verificar dominio

  1. Ve a resend.com, crea cuenta.
  2. Agrega tu dominio (ej. blossomspa.com).
  3. Resend te muestra registros DNS para verificar dominio (SPF, DKIM, opcional DMARC).
  4. Pega esos registros en tu DNS (Cloudflare, GoDaddy, etc.).
  5. Espera 5-30 minutos a que verifique. Resend te avisa cuando está listo.

Sin verificación de dominio, Resend solo te deja mandar desde su dominio compartido (onboarding@resend.dev), que llega a spam casi siempre. Con dominio verificado, llegas al inbox.

1.2 Generar API key

Resend → API Keys → Create API Key. Le pones nombre (ConvertCore production), copia la key.

1.3 Configurar en ConvertCore

Settings → Workspace → Integrations → Resend:

  • API Key: la pegas.
  • From email: el correo desde el que enviarás (hola@blossomspa.com).
  • From name: nombre que el destinatario ve (Blossom Spa).
  • Reply-to (opcional): si quieres que respondan a otra dirección.

Pulsa Probar conexión. ConvertCore manda un email de prueba a tu correo. Si llega, todo OK.

Paso 2. Conectar Twilio (SMS y WhatsApp)

2.1 Crear cuenta Twilio

twilio.com → cuenta nueva. Twilio pide validación de identidad y un número de tarjeta para deposito (mínimo $20).

2.2 Comprar números

  • Número SMS: en Twilio Console → Phone Numbers → Buy a Number. Elige un número del país de tu negocio o de tus clientes principales.
  • Número WhatsApp (opcional, requiere setup adicional): para hoy ConvertCore usa wa.me click-to-chat, que no requiere número Twilio WhatsApp. Si quieres WhatsApp Business API completa con plantillas aprobadas, hablamos en el roadmap.

2.3 Obtener credenciales

Twilio Console → Account → API keys & tokens:

  • Account SID.
  • Auth Token.

2.4 Configurar en ConvertCore

Settings → Workspace → Integrations → Twilio:

  • Account SID.
  • Auth Token.
  • Número SMS desde: el número que compraste.
  • WhatsApp: hoy seleccionas "Click-to-chat" (default). Tu staff abre conversaciones via wa.me desde la ficha del contacto.

Pulsa Probar conexión. Manda un SMS de prueba a tu propio número.

Paso 3. Crear plantillas

Settings → Communications → Templates.

Tipos de plantillas

  • Email: subject + body HTML/markdown. Editor visual con botones, links, imágenes.
  • SMS: solo texto, máximo 160 caracteres por mensaje (Twilio cobra por bloques de 160).
  • WhatsApp click-to-chat: texto que se pre-rellena cuando el staff abre wa.me/<numero>?text=<plantilla>.

Variables dinámicas

Mismas variables que en Workflows:

  • {{contact.first_name}}, {{contact.last_name}}, {{contact.email}}, {{contact.phone}}, custom fields ({{contact.tipo_de_piel}}).
  • {{appointment.service}}, {{appointment.date}}, {{appointment.time}}, {{appointment.staff}}.
  • {{deal.title}}, {{deal.value}}.
  • {{workspace.name}}, {{workspace.support_email}}.

Si una variable no existe en contexto, queda vacía. Probar antes de poner activa.

Plantillas que casi todos necesitan

PlantillaCanalCuándo se usa
Confirmación de citaEmail + SMS/WAInmediatamente después de reservar
Recordatorio 24hSMS / WhatsAppDía antes de la cita
Recordatorio 2hSMSEl mismo día
Cita canceladaEmailCuando staff o cliente cancela
Cita reagendadaEmailCuando se mueve la cita
BienvenidaEmailPrimer contacto creado
Follow-up post-citaEmail2-24 horas después de la cita
Felicitación cumpleañosEmailTrigger birthday
Recuperación de cliente dormidoEmail60+ días sin actividad

Empieza con 3-4. No intentes cubrir todo desde el día uno.

Editor de plantillas email

  • Modo visual: WYSIWYG. Bold, listas, links, colores básicos.
  • Modo markdown: si prefieres escribir markdown.
  • Preview con datos reales: eliges un contacto y ConvertCore te muestra cómo se ve el email con las variables resueltas.

Paso 4. Conversaciones: el inbox unificado

Conversaciones en el sidebar.

Lista de conversaciones

  • Por contacto: cada hilo es un contacto. La lista se ordena por última actividad.
  • Filtros: solo emails, solo SMS, solo WhatsApp, no leídos, asignados a mí.
  • Búsqueda: por nombre del contacto o contenido del mensaje.

Vista de un hilo

Click en un contacto → abre el timeline:

  • Mensajes enviados y recibidos en orden cronológico.
  • Cada mensaje muestra: canal (icono email/SMS/WA), timestamp, autor (cliente / miembro del equipo / workflow automático), contenido.
  • Puedes responder desde el inbox: caja inferior, eliges canal, escribes, mandas.

Asignar conversación a un miembro

Si trabajas en equipo, asigna cada conversación a quien va a responder. Botón "Asignar" arriba del hilo. Aparece en el dashboard de la persona.

Paso 5. Click-to-chat WhatsApp

ConvertCore hoy no maneja la API completa de WhatsApp Business. Pero sí tiene un atajo útil:

Desde la ficha del contacto → botón "Abrir WhatsApp" → te abre wa.me/<phone>?text=<plantilla> con la plantilla pre-rellenada. Tu staff manda desde su WhatsApp Web normal.

Cuando el cliente responde, eso pasa por WhatsApp directo (ConvertCore no ve esos mensajes). El staff puede pegar la respuesta como nota en el contacto si quiere mantener registro en ConvertCore.

Es una solución intermedia, suficiente para el 80% de los negocios LatAm. Si necesitas WhatsApp Business API plena, está en el roadmap. Avísanos si es bloqueante.

Paso 6. Logs de envío

Settings → Communications → Logs. Cada email/SMS/WA enviado deja log con:

  • Fecha y hora.
  • Destinatario.
  • Plantilla usada.
  • Workflow disparador (si aplica).
  • Estado: enviado, entregado, abierto (email), rebotado, fallido.
  • Razón de fallo si aplica (ej. número inválido, bounce de email).

Útil cuando un cliente dice "no me llegó nada" — buscas en logs y ves si se mandó, a dónde, y cuál fue el estado real.

Paso 7. Mejores prácticas

Para emails

  • Verifica dominio en Resend. Sin DKIM, vas a spam siempre.
  • Subject line corta y específica: "Tu cita confirmada — viernes 10:30" gana a "Confirmación de tu reserva".
  • Mobile first: 70% de emails se leen en celular. No pongas tablas anchas o imágenes pesadas.
  • Un solo CTA principal: "Ver detalles", "Reagendar", "Confirmar". Más botones reducen click-through.
  • Footer con unsubscribe: por ley en US y UE, recomendado siempre. Marketing emails deben tenerlo. Transaccional (confirmación, recordatorio) no requiere.

Para SMS

  • Corto. Cada SMS son 160 caracteres = $0.0075 USD aprox. Si te excedes a 161 caracteres, se cobra como 2 SMS.
  • Identifica tu marca al inicio: "Blossom Spa: tu cita...". El cliente desconoce el número saliente, eso le da contexto.
  • Sin emojis salvo en países donde la tasa de entrega no se afecta. Algunos carriers en LatAm degradan SMS con emojis.
  • Link corto: usa shortener si vas a incluir URL.

Para WhatsApp click-to-chat

  • Plantilla larga está bien: WhatsApp no cobra por longitud, lo importante es que sea claro.
  • Pregunta abierta al final: "¿Te confirmo o prefieres otro horario?". Inicia conversación real.
  • Tu staff debe responder en menos de 1 hora o pierde momentum del cliente.

Errores frecuentes

"Mando email y llega a spam." El dominio no está verificado en Resend, o tu IP está en blacklist por mandar mucho desde la misma cuenta sin warmup. Verifica DKIM y empieza con volúmenes chicos (200-500 emails/día) para construir reputación.

"SMS no llegan a clientes en otro país." Twilio tiene reglas regionales. Algunos países exigen registro previo (sender ID en Brasil, alphanumérica en México). Revisa Twilio Console → Programmable Messaging → Geo Permissions.

"Variables salen vacías en los emails." Causas: typo en el slug de la variable, contacto sin ese dato, o el workflow no tiene el contexto correcto (ej. usar {{appointment.date}} en un workflow trigger contact created — ahí no hay appointment).

"WhatsApp no abre con la plantilla pre-rellenada." El número del contacto no está en formato E.164. Tiene que ser +593..., no 0.... Edita el contacto y arregla.

"Mando 1000 emails y la mitad rebotan." Tu base tiene emails inválidos. Antes de blast masivo, valida con un servicio (Mailgun Validate, NeverBounce). Y nunca mandes a una lista comprada — eso destruye tu reputación de dominio.

"¿Puedo programar un email para mandar el martes a las 10 AM?" Sí, con un workflow: contact created (o trigger que tengas) → wait hasta el martes 10 AM → send email. La acción wait permite delays absolutos.

Próximos pasos

  • Conecta tus plantillas a workflows para automatizar envíos.
  • Configura el widget de reservas y conecta sus eventos a workflows que disparen confirmaciones.
  • Si quieres analizar performance de tus campañas, lee reportes.