OpenClaw

Cómo integramos Zoho CRM con OpenClaw para automatizar nuestra prospección comercial

Nuestros agentes de IA buscan clientes, verifican sus webs con un navegador real, y guardan todo en Zoho CRM. Te enseñamos cómo lo montamos.
En: OpenClaw, Zoho CRM, Ventas, Automatización

El problema: prospectos en un JSON y emails en Discord

En los posts anteriores de esta serie contamos cómo montamos un pipeline multi-agente para prospección comercial: un agente Prospector que busca empresas, y un agente Designer que verifica sus webs con un navegador real y compone emails de venta aplicando los principios de Cialdini.

Funcionaba, pero tenía un problema serio: toda la información vivía en un archivo JSON en el servidor. Los prospectos se guardaban en prospects.json, los borradores de email llegaban por Discord DM, y no había forma de visualizar el pipeline, trackear si un prospecto respondió, o saber qué emails se abrieron.

Necesitábamos un CRM real. Pero uno que se integrara con OpenClaw sin romper el flujo automatizado.

Por qué elegimos Zoho CRM

Evaluamos cuatro opciones. La decisión no fue obvia:

Zoho CRMHubSpotMondayHolded
Contactos gratis5.0001.0001.000N/A
Automatización gratisMuy limitadaNoNo
Skill nativo OpenClawSí (3+ skills)NoNoNo
MCP servers oficiales4 de ZohoNoNo1 community
Data center EUNo
Upgrade si creces14€/mes45€+/mes12€+/mes15€/mes

Los factores decisivos fueron tres:

  1. Skill nativo de OpenClaw — se instala con un comando y gestiona OAuth automáticamente
  2. Data center EU — estamos en España, GDPR sin complicaciones
  3. Free tier generoso — 5.000 contactos con automatización incluida, 5x más que HubSpot
🔗
Holded era tentador por su compatibilidad con TicketBAI (facturación electrónica en País Vasco), pero su integración con OpenClaw es manual y su CRM es secundario a su core de facturación. Para facturación, podemos añadir Holded más adelante sin conflicto.
Equipo de trabajo analizando datos en pantalla
De un JSON en un servidor a un CRM visual con pipeline de ventas — un cambio que tardamos una tarde en implementar.

Cómo conectar Zoho CRM con OpenClaw

La integración se hace en tres pasos. No hace falta tocar código:

Paso 1: Instalar el skill

openclaw skills install zoho-crm

Esto descarga el skill desde ClawHub y lo instala en el workspace. El skill usa Maton como gateway OAuth — Maton gestiona los tokens de Zoho automáticamente para que no tengas que lidiar con refresh tokens.

Paso 2: Configurar la API key de Maton

Creá una cuenta gratuita en maton.ai, copiá tu API key desde la configuración, y añadila al entorno de OpenClaw:

# Añadir la key al entorno del gateway
export MATON_API_KEY="<TU_API_KEY_DE_MATON>"

# Reiniciar el gateway para que cargue la variable
openclaw gateway restart

Paso 3: Autorizar la conexión con Zoho

Desde el servidor de OpenClaw, creá la conexión OAuth:

# Crear conexión
python3 -c "
import urllib.request, os, json
data = json.dumps({'app': 'zoho-crm'}).encode()
req = urllib.request.Request('https://api.maton.ai/connections', data=data, method='POST')
req.add_header('Authorization', 'Bearer ' + os.environ['MATON_API_KEY'])
req.add_header('Content-Type', 'application/json')
resp = json.load(urllib.request.urlopen(req))
print('Abrí esta URL en tu navegador:')
# Obtener URL de autorización
req2 = urllib.request.Request('https://api.maton.ai/connections/' + resp['connection_id'])
req2.add_header('Authorization', 'Bearer ' + os.environ['MATON_API_KEY'])
resp2 = json.load(urllib.request.urlopen(req2))
print(resp2['connection']['url'])
"

Abrís la URL en tu navegador, autorizás con tu cuenta de Zoho, y listo. La conexión queda activa y los tokens se renuevan solos.

⚠️
Maton es un proxy OAuth de terceros — si su servicio cae, las llamadas a Zoho fallan. Para tu volumen de prospección (decenas de calls al día) funciona perfecto, pero si necesitas independencia total, podés crear un Self Client directamente en la consola de API de Zoho.

El pipeline de ventas que diseñamos

Separamos el flujo en dos módulos de Zoho CRM, cada uno con su propio ciclo:

Leads — territorio de los agentes

Los agentes de OpenClaw crean y actualizan Leads automáticamente. El ciclo:

No contactado → Contactar en el futuro → Previamente clasificado → Intento de contacto → Contactado
  (Prospector       (Designer verifica       (Roberto aprueba       (Designer compone      (Prospecto
   encuentra)        con browser)             en Zoho UI)            email + Nota)           respondió)

Deals — territorio humano

Cuando un Lead responde y hay interés real, Roberto hace clic en "Convertir" dentro de Zoho. Esto crea automáticamente un Contacto + Cuenta + Deal, que se mueve por el pipeline de ventas:

Reunión programada (20%) → Reunión realizada (40%) → Propuesta enviada (60%) → Negociación (80%) → Cerrado ganado/perdido

La separación es clave: los agentes nunca tocan los Deals. Su trabajo termina cuando el email está listo. La decisión de enviar, negociar y cerrar es siempre humana.

Cómo los agentes usan Zoho CRM

El Prospector: busca y crea

Cada martes y jueves, el agente Prospector se despierta por un cron job. Antes de auditar una empresa, busca en Zoho para no crear duplicados:

# Verificar si la empresa ya existe en Zoho
criteria = "(Company:equals:NOMBRE_EMPRESA)"
# GET /Leads/search?criteria=...
# Si devuelve 204 (No Content) → no existe, crear Lead
# Si devuelve datos → skip, ya está en el CRM

Para cada empresa que pasa el filtro, crea un Lead con los datos de auditoría: sector, ciudad, problemas detectados, score, y pitch angle. Todo en el campo Description con un formato estructurado que el Designer puede parsear.

El Designer: verifica y prepara el email

El Designer lee Leads por status. Para verificación, busca Leads con status "No contactado", navega sus webs con un navegador real (Playwright/Chromium), y actualiza los datos verificados. Para emails, busca Leads con status "Previamente clasificado" (aprobados por Roberto), navega competidores del sector, y compone el email aplicando los 6 principios de Cialdini.

El borrador del email se guarda como Nota en el Lead de Zoho:

# Guardar borrador como Nota en el Lead
# POST /Leads/{lead_id}/Notes
note = {
    "Note_Title": "EMAIL BORRADOR - Listo para enviar",
    "Note_Content": "SUBJECT: ...\n\n[cuerpo del email]\n\n---\nÁNGULO DE VENTA: ...\nSEGUIMIENTO: ..."
}
🛡️
El agente NUNCA envía emails directamente. Compone el borrador y lo guarda como Nota. Roberto abre el Lead en Zoho, revisa el borrador, edita si quiere, y envía manualmente con el botón "Send Email". La decisión de contactar a un prospecto es SIEMPRE humana.

Email tracking nativo

Esta es la funcionalidad que más nos faltaba con el flujo anterior (prospects.json + Discord). Cuando enviás un email desde un Lead en Zoho CRM:

  • Zoho inserta un pixel de tracking invisible
  • Sabés si el email fue abierto (y cuántas veces)
  • Sabés si hizo clic en algún enlace
  • Sabés si rebotó
  • Todo queda en el timeline del Lead — historial completo de la relación
Configurar el email en Zoho CRM es simple: Configuración → Canales → Correo electrónico. Podés usar Zoho Mail directamente o configurar IMAP/SMTP con tu dominio propio (como [email protected]).

Resultado

En una tarde pasamos de un JSON en un servidor a un CRM profesional con:

  • 14 prospectos migrados con todos sus datos de auditoría y verificación
  • Pipeline visual — ves de un vistazo cuántos leads hay en cada etapa
  • Email tracking — sabés si el prospecto leyó tu email
  • Historial completo — cada interacción queda registrada en el Lead
  • Sin Discord para emails — todo vive en Zoho, con un solo clic para enviar
  • Coste: 0€ — todo dentro del free tier de Zoho CRM

La lección más importante: no hace falta un CRM caro para tener un pipeline profesional. Zoho CRM gratis + OpenClaw + Maton te dan un sistema de prospección automatizada con tracking que hace 5 años habría costado miles de euros en licencias y desarrollo.

Dashboard con métricas de ventas
El pipeline visual de Zoho CRM: de un vistazo sabés cuántos leads hay en cada etapa y quién necesita seguimiento.

Próximos pasos

El sistema está funcionando, pero hay mejoras en el horizonte:

  • Envío directo desde la API — cuando Maton añada el scope de email, los agentes podrán enviar directamente desde Zoho con tracking, sin paso manual
  • Workflows automatizados — Zoho permite crear reglas como "si un Lead lleva 7 días en Intento de contacto sin respuesta, crear tarea de seguimiento"
  • Modelo gratuito para el blog — mover el agente blog-writer a Google Gemini (free tier) para reducir costes de Bedrock

Si tenés preguntas o querés montar algo similar para tu empresa, escríbenos a [email protected].

Escrito por
Roberto Rabasco
Emprendedor y experto en software con 20 años de experiencia. Ex: Just Eat, ASOS, Carglass, Deutsche Telekom... Fundador de varias startups como Orvium y BooleanCloud.
Más de Damos forma a la tecnología

En Orvium Labs, estamos listos para ayudarte a convertir tus ideas en realidad ¡Contáctanos hoy!

Contacto
¡Genial! Te has inscrito con éxito.
Bienvenido de nuevo! Has iniciado sesión correctamente.
Te has suscrito correctamente a Damos forma a la tecnología.
Su enlace ha caducado.
¡Éxito! Comprueba en tu correo electrónico el enlace mágico para iniciar sesión.
Éxito! Su información de facturación ha sido actualizada.
Su facturación no se actualizó.