CRM para WhatsApp

Un CRM que Vive Junto a Tus Chats de WhatsApp

Cada cliente que escribe se convierte en un contacto. Organízalos con etiquetas, atributos personalizados, notas y fechas de seguimiento, mueve oportunidades por un embudo de arrastrar y soltar y mantén el consentimiento en orden con bajas que siguen al número de teléfono. Los contactos están en los planes Team y Business; el embudo de ventas, en Business.

✦ Prueba gratis de 14 días · Tu propio número de WhatsApp Business · Meta factura los mensajes directamente

Contactos con Todo lo que Tu Equipo Necesita

Cada contacto tiene etiquetas, atributos personalizados, una etapa del embudo, un responsable, una fecha de seguimiento y un estado de suscripción, y puedes filtrar la lista por cualquiera de ellos. Busca por nombre o teléfono, abre la página del contacto para ver de dónde vino y actualiza etiquetas, notas, etapa y seguimiento desde el panel del contacto, junto a su chat en la bandeja compartida. Cada fila tiene un botón Abrir chat o Iniciar chat, y al marcar contactos, o seleccionar a todos los que coinciden con tus filtros, puedes crear una nueva campaña a partir de la selección.

  • Etiquetas y atributos personalizados
  • Notas internas y fechas de seguimiento
  • Filtros por etiqueta, etapa, responsable, seguimiento, suscripción, interacción y fechas
  • Origen de cada contacto, incluidos los anuncios Click-to-WhatsApp
  • Abrir chat o Iniciar chat desde cualquier fila de contacto
Contactos de WhatsApp con etiquetas y atributos personalizados

Un Embudo de Arrastrar y Soltar con Tus Propias Etapas

El embudo muestra tus contactos como tarjetas en un tablero, una columna por etapa, para que veas en qué punto está cada consulta u oportunidad. Arrastra una tarjeta a otra etapa o usa su menú Mover a… en el teléfono. Los Managers crean, renombran, reordenan y eliminan etapas; eliminar una etapa nunca elimina contactos, simplemente pasan a Sin etapa. Los flujos de chatbot pueden mover un contacto a una etapa automáticamente. El embudo está en el plan Business, junto con las conversiones que logran tus campañas; en Team puedes ver dónde están los leads, pero no moverlos.

  • Etapas personalizadas que nombras y ordenas
  • Filtra el tablero por responsable, etiquetas o etapa
  • Los flujos de chatbot pueden cambiar la etapa por ti
  • Ventas informadas por tu sistema acreditadas a la campaña que las trajo (Business)
Tablero de embudo de ventas de WhatsApp con etapas personalizadas
Funciones del CRM

Datos Ordenados y Consentimiento Confiable

Sin grupos de contactos que mantener: segmenta con etiquetas y etapas del embudo.

  • Etiquetas

    Etiqueta contactos por interés, estado o campaña. Las etiquetas definen audiencias de campañas, filtros y flujos de chatbot, que pueden añadirlas o quitarlas.

  • Atributos Personalizados

    Guarda tus propios campos, como ciudad o ID del último pedido, y úsalos como variables de plantilla en campañas.

  • Notas y Seguimientos

    Deja notas internas que el cliente nunca ve y fija una fecha de seguimiento; luego filtra los contactos por seguimiento para ver a quién hay que volver a llamar. Una nota que ya no necesitas se puede eliminar para todos.

  • Seguimiento de Origen

    Cada contacto registra de dónde vino: WhatsApp, manual, CSV, enlace, API o anuncio Click-to-WhatsApp. Los contactos de anuncios conservan el título, el texto y el ID de clic del anuncio.

  • Bajas que Siguen al Número

    Un cliente que responde STOP no puede recibir mensajes desde la bandeja, campañas, automatizaciones ni la API hasta que responda START. La baja se guarda en el número de teléfono, así que eliminar y volver a añadir el contacto no la levanta.

  • Importación y Exportación CSV

    Importa un CSV y asigna sus columnas a teléfono, nombre, correo, etiquetas y campos personalizados. Exporta los contactos de la página actual, con tus filtros, como CSV.

  • Cumpleaños, Aniversarios y Renovaciones

    Filtra por una fecha guardada en cualquier campo del contacto: hoy, mañana, los próximos 7 o 30 días, o un número de días hacia adelante o hacia atrás. Activa Cada año para cumpleaños y aniversarios, o déjalo desactivado para una fecha única, como una renovación.

  • Interacción y Segmentos

    Cada contacto muestra Muy activo, En riesgo, Recuperar o Nunca interactuó, según la última vez que te escribió o leyó tus mensajes, y puedes filtrar por ello. En el plan Business, los filtros de interacción, fecha y etapa del embudo se convierten en segmentos: audiencias de campaña que se actualizan solas.

  • Marcas de Alcance

    “Ofertas desactivadas en WhatsApp” significa que el cliente desactivó tus ofertas en WhatsApp: las campañas de marketing lo omiten hasta la fecha indicada, mientras que los mensajes de utilidad y tus respuestas le siguen llegando. “WhatsApp no pudo entregar” significa que WhatsApp no pudo entregar al número: las campañas lo omiten hasta la fecha indicada, o hasta que te escriba.

  • Contactos con Nombre de Usuario de WhatsApp

    Quien escribe desde un nombre de usuario de WhatsApp, sin compartir su número, también se convierte en contacto. Tus respuestas le llegan, y Meta añade el número una vez que han hablado. Por la API, estos contactos llevan un waUserId y todavía ningún teléfono.

Importación CSV

Trae a Tus Clientes Actuales, con Consentimiento

01

1. Sube un CSV

Usa un CSV en UTF-8 con números en formato internacional, como +919876543210. Los duplicados y los números no válidos se omiten.

02

2. Asigna las columnas

Asocia cada columna a teléfono, nombre, correo, etiquetas o un campo personalizado.

03

3. Confirma el consentimiento

Marca la casilla de consentimiento solo si estos clientes aceptaron recibir tus mensajes. Sin ella, se importan sin suscripción y no se les puede escribir.

Compara

CRM para WhatsApp vs. Hojas de Cálculo y un Teléfono

Dónde viven los datos de los clientes y cuánto de ellos actualizas a mano.

Capacidad CRM StartMessaging Hojas de cálculo Teléfono compartido / app WhatsApp Business
Contacto creado cuando el cliente escribe ✓ Automático ✗ Se escribe a mano Guardado solo en el teléfono
Datos del cliente junto al chat ✓ Panel del contacto en la bandeja ✗ Archivo aparte Solo etiquetas
Embudo de ventas ✓ Tablero de arrastrar y soltar con etapas personalizadas (Business) Una columna de estado editada a mano
Origen del contacto ✓ Registrado automáticamente, con datos del anuncio para Click-to-WhatsApp Solo si alguien lo rellena
Bajas (STOP/START) ✓ Registrado por número y comprobado en cada envío Se controla a mano Se controla a mano
Sincronización con tus sistemas ✓ API REST y webhooks de contactos Exportación e importación manuales
API de Contactos

Crea o actualiza clientes desde tu tienda o CRM por número de teléfono

curl -X POST https://waba-api.startmessaging.com/api/v1/contacts \
  -H "Authorization: Bearer sm_live_your_api_key" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: contact-sync-A-1042" \
  -d '{
    "phone": "+919812345678",
    "name": "Asha Verma",
    "email": "asha@example.com",
    "tags": { "add": ["website-order"] },
    "attributes": { "city": "Pune", "lastOrderId": "A-1042" }
  }'
const res = await fetch('https://waba-api.startmessaging.com/api/v1/contacts', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer ' + process.env.SM_API_KEY, // sm_live_your_api_key
    'Content-Type': 'application/json',
    'Idempotency-Key': 'contact-sync-A-1042',
  },
  body: JSON.stringify({
    phone: '+919812345678',
    name: 'Asha Verma',
    email: 'asha@example.com',
    tags: { add: ['website-order'] },
    attributes: { city: 'Pune', lastOrderId: 'A-1042' },
  }),
});

// 201 = created, 200 = updated (upsert by phone)
const { data } = await res.json();
console.log(data.created, data.contact.id);
import os, requests

res = requests.post(
    'https://waba-api.startmessaging.com/api/v1/contacts',
    headers={
        'Authorization': f"Bearer {os.environ['SM_API_KEY']}",  # sm_live_your_api_key
        'Idempotency-Key': 'contact-sync-A-1042',
    },
    json={
        'phone': '+919812345678',
        'name': 'Asha Verma',
        'email': 'asha@example.com',
        'tags': {'add': ['website-order']},
        'attributes': {'city': 'Pune', 'lastOrderId': 'A-1042'},
    },
)

# 201 = created, 200 = updated (upsert by phone)
data = res.json()['data']
print(data['created'], data['contact']['id'])
<?php
$body = <<<'JSON'
{
  "phone": "+919812345678",
  "name": "Asha Verma",
  "email": "asha@example.com",
  "tags": { "add": ["website-order"] },
  "attributes": { "city": "Pune", "lastOrderId": "A-1042" }
}
JSON;

$ch = curl_init('https://waba-api.startmessaging.com/api/v1/contacts');
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer ' . getenv('SM_API_KEY'), // sm_live_your_api_key
        'Content-Type: application/json',
        'Idempotency-Key: contact-sync-A-1042',
    ],
    CURLOPT_POSTFIELDS => $body,
]);
$data = json_decode(curl_exec($ch), true)['data'];
echo ($data['created'] ? 'created ' : 'updated ') . $data['contact']['id'];
# Add and remove tags without overwriting other writers' changes
curl -X PATCH "https://waba-api.startmessaging.com/api/v1/contacts/%2B919812345678" \
  -H "Authorization: Bearer sm_live_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{ "tags": { "add": ["vip"], "remove": ["lead"] } }'

# Pull everything that changed since your last checkpoint (oldest change first)
curl -G https://waba-api.startmessaging.com/api/v1/contacts \
  -H "Authorization: Bearer sm_live_your_api_key" \
  --data-urlencode "updatedSince=2026-10-01T00:00:00Z" \
  --data-urlencode "limit=100"
FAQs

CRM para WhatsApp — FAQ

¿Puedo organizar los contactos en grupos?

En lugar de grupos, usas etiquetas y etapas del embudo. Un contacto puede tener muchas etiquetas, y las campañas segmentan la audiencia por etiqueta, por suscripción o desde un CSV y, en el plan Business, también por interacción, un campo de fecha o la etapa del embudo. Las etapas del embudo muestran en qué punto del proceso de ventas está cada contacto.

¿Cómo importo mis contactos actuales?

Sube un CSV, asigna sus columnas a teléfono, nombre, correo, etiquetas y campos personalizados, y marca la casilla de consentimiento solo si estos clientes aceptaron recibir tus mensajes. Los números necesitan el código de país. Los duplicados y los números no válidos se omiten, y a los contactos importados sin la casilla de consentimiento no se les puede escribir.

¿Qué pasa cuando un cliente responde STOP?

El contacto queda dado de baja, y todo envío a ese número se rechaza, desde la bandeja, campañas, automatizaciones y la API, hasta que responda START o tu equipo reactive la suscripción con su consentimiento. La baja pertenece al número de teléfono, así que se mantiene aunque elimines el contacto y lo vuelvas a añadir.

¿Puedo exportar mis contactos?

Sí. El botón de exportar descarga los contactos de la página actual, con tus filtros actuales, como archivo CSV. Para llevar toda tu lista a otro sistema, usa GET /api/v1/contacts con paginación por cursor.

¿Cómo mantengo el CRM sincronizado con mis sistemas?

POST /api/v1/contacts crea o actualiza un contacto por número de teléfono. PATCH /api/v1/contacts/{idOrPhone} acepta las etiquetas como { add, remove }, lo que es seguro cuando varios sistemas escriben a la vez. GET /api/v1/contacts con updatedSince devuelve solo lo que cambió, del cambio más antiguo al más reciente. Los webhooks contact.created, contact.opted_out y contact.opted_in te avisan de nuevos contactos y cambios de consentimiento. Poner un contacto en una etapa del embudo con pipelineStageId requiere el plan Business; los contactos que escribieron desde un nombre de usuario de WhatsApp vuelven con un waUserId y phone nulo.

¿Puedo ver qué anuncio trajo a un contacto?

Sí. Un contacto que inició el chat desde un anuncio Click-to-WhatsApp queda marcado con ese origen, y su página muestra el título y el texto del anuncio, el ID y el enlace del anuncio o publicación, y el ID de clic. Los demás orígenes son WhatsApp, manual, CSV, enlace y API.

¿Los flujos de chatbot pueden actualizar el CRM?

Sí. Los pasos del flujo pueden añadir o quitar etiquetas, definir un campo, cambiar la etapa del embudo y asignar un agente, de modo que un lead calificado por el bot llega etiquetado y en su etapa. Los flujos de chatbot están en el plan Business e incluidos en la prueba gratis de 14 días.

¿Qué plan necesito para los contactos y el embudo?

Añadir y editar contactos, etiquetas, notas y seguimientos está en Team y Business. El embudo de ventas, las conversiones y los segmentos para audiencias de campaña están en Business; en Team puedes ver el tablero, pero no mover tarjetas. Los planes Developer muestran los contactos en un panel de solo lectura, y tu app puede seguir creándolos y actualizándolos por la API. La prueba gratis de 14 días incluye todo lo de Business.

¿Cómo se acreditan las ventas a las campañas?

En el plan Business, tu tienda, sistema de facturación o CRM informa una venta con POST /api/v1/conversions (alcance conversions:write): el teléfono del cliente y, opcionalmente, un ID de pedido, valor, moneda y hora. La venta se acredita a la última campaña entregada a ese número dentro de tu ventana de conversión, 7 días salvo que la cambies, y el informe de la campaña la cuenta y suma el valor. Enviar el mismo orderId otra vez nunca cuenta una venta dos veces.

WhatsApp API

Convierte los Chats de WhatsApp en un Embudo de Ventas

Prueba gratis de 14 días. Conecta tu propio número de WhatsApp Business e importa tus contactos con consentimiento.