Ir al contenido

API

3 publicaciones con la etiqueta “API”

Cómo crear un agente de IA para ventas: arquitectura y herramientas

Un agente de IA para ventas no empieza con un modelo ni con un canal. Empieza con una tarea concreta, datos autorizados y una forma de comprobar el resultado. Esta guía muestra una arquitectura mínima, cómo elegir modelo y canal, y qué medir antes de darle más autonomía.

Un agente de IA para ventas es un sistema que interpreta una solicitud, consulta información permitida y propone o ejecuta un siguiente paso. Se diferencia de una automatización porque puede decidir qué camino seguir dentro de unos límites; una regla fija como “si pasan siete días, crea una tarea” no necesita un agente. La arquitectura mínima es: cliente → agente → instrucciones y herramientas → acción → estado → evaluación. El agente no debe inventar datos ni tener acceso total por defecto: cada consulta y cada escritura deben poder explicarse y revisarse.

La guía práctica de agentes de OpenAI resume sus piezas esenciales como modelo, instrucciones y herramientas. Anthropic recomienda distinguir entre un flujo de pasos predeterminados y un agente que decide dinámicamente cómo avanzar.

1. Empieza por un trabajo, no por “vender”

Sección titulada «1. Empieza por un trabajo, no por “vender”»

“Atender las ventas” es demasiado amplio para un primer piloto. Elige un resultado que puedas revisar en una semana:

Trabajo inicial Resultado que debes poder comprobar
Preparar una llamada Resumen de la cuenta, necesidades y preguntas pendientes
Calificar una oportunidad Criterios cumplidos, evidencia y datos faltantes
Dar seguimiento Próxima acción propuesta con responsable y fecha
Investigar una cuenta Fuentes consultadas y hallazgos relevantes
Registrar una conversación Datos extraídos y tareas listas para revisar

Si una persona puede resolverlo con una regla exacta, usa un workflow (flujo de trabajo). Reserva el agente para los casos en los que debe interpretar contexto, comparar evidencia o escoger entre varias acciones.

Escribe el objetivo así:

“Cuando ocurre X, el agente revisa Y, devuelve Z y pide aprobación antes de W”.

Ejemplo: “Cuando termina una llamada, el agente revisa la transcripción autorizada, propone el estado y la próxima tarea, y pide aprobación antes de enviar un mensaje”. Si no puedes escribir esta frase, todavía no tienes un alcance que evaluar.

Es el lugar donde llega la solicitud: formulario web, aplicación interna, correo, WhatsApp o llamada. El canal cambia las reglas de consentimiento y latencia, pero no debería decidir qué datos puede leer el agente.

Interpreta la solicitud y decide el siguiente paso dentro de las instrucciones. No es una persona digital con acceso ilimitado; es un componente con un propósito y límites definidos.

Una capacidad es una instrucción reutilizable para una tarea: investigar una cuenta, preparar una llamada o diagnosticar una objeción. Cada una debe documentar:

  • qué datos necesita;
  • qué puede y qué no puede hacer;
  • qué formato debe devolver;
  • qué información debe marcar como desconocida.

Separarlas evita mantener un mensaje de sistema enorme y facilita probar un cambio sin romper todo el agente. Puedes usar como referencia las skills de ventas publicadas por OpenAI y el ejemplo de investigación de cuentas de Anthropic, pero adapta criterios, idioma y límites a tu negocio.

Son operaciones que el agente puede solicitar, por ejemplo buscar_cliente, consultar_producto, crear_tarea o actualizar_oportunidad. Una herramienta debe describir sus argumentos, permisos, resultado y posibles errores.

Es la información que queda después de la conversación: cliente, oportunidad, responsable, acuerdos, próxima acción y fecha. Sin estado compartido, cada interacción empieza de cero y el equipo no puede continuar el trabajo.

Es la evidencia de que el agente ayudó: exactitud, tiempo, costo, errores y revisiones humanas. Una demo convincente no sustituye una prueba con casos reales.

Consultar y modificar no tienen el mismo riesgo. Usa una matriz antes de conectar una API:

Operación Permiso recomendado
Buscar un cliente autorizado Automático, con fuente y fecha del dato
Resumir una cuenta Automático, indicando qué registros utilizó
Proponer una tarea o correo Preparar, pero no enviar
Cambiar etapa o condiciones comerciales Confirmación visible de una persona
Eliminar registros o enviar mensajes masivos Bloqueado para el piloto

También define qué sucede si falta un dato: detenerse con un mensaje claro, crear una tarea de revisión o transferir a una persona. No ocultes el error con una respuesta inventada.

Para una prueba pequeña, una hoja de cálculo puede ser suficiente. Cuando varias personas y canales necesitan ver el mismo cliente, un CRM ofrece un estado más confiable: responsables, historial, tareas, permisos y relaciones entre registros.

La pregunta útil no es “¿qué CRM entiende la IA?”, sino “¿dónde queda el dato que el equipo deberá reutilizar mañana?”. El registro mínimo de una interacción comercial debería conservar:

  1. qué sabemos;
  2. qué falta confirmar;
  3. qué se acordó;
  4. cuál es la próxima acción;
  5. quién es responsable y para cuándo.

Abera CRM puede cumplir ese papel sobre Corteza, con módulos, relaciones, permisos, API REST y webhooks configurables. Es una opción de implementación, no un requisito: el mismo patrón puede trabajar sobre otro sistema que ya tenga datos confiables.

No uses el modelo más costoso para todo. Separa el volumen de la complejidad y prueba con casos históricos:

Tarea Criterio para elegir
Extraer campos o clasificar Velocidad y costo bajo
Responder consultas habituales Buen equilibrio entre calidad y latencia
Investigar o resolver ambigüedades Mayor capacidad de razonamiento
Excepciones sensibles Modelo más capaz o revisión humana

Construye un conjunto de unos cincuenta casos reales, define la respuesta esperada y compara dos o tres modelos. Quédate con el más económico que mantenga la calidad necesaria. Los nombres y precios de los modelos cambian; tu conjunto de pruebas debería permanecer y volver a ejecutarse cuando cambies de proveedor. Consulta los modelos disponibles en OpenAI o la descripción de modelos de Anthropic directamente antes de presupuestar.

Es el punto de partida más simple: solicitud → agente → herramientas → sistema de registro. Puedes mostrar la respuesta y pedir confirmación antes de escribir.

El canal impone reglas adicionales. En la plataforma de WhatsApp Business, después de la ventana de atención de 24 horas los mensajes iniciados por la empresa deben usar plantillas aprobadas; además, el consentimiento y la opción de no recibir mensajes deben quedar registrados. El agente debe consultar el estado de la conversación antes de intentar enviar algo. Revisa la documentación de WhatsApp de Twilio porque las políticas y nombres de producto pueden cambiar.

Una llamada añade problemas que no existen en el texto: detectar cuándo terminó de hablar la persona, manejar interrupciones, transcribir y responder con poca demora. Hay dos enfoques:

Enfoque Cómo funciona Cuándo usarlo
Cadena de voz Voz a texto → modelo → texto a voz Cuando quieres controlar cada componente
Voz en tiempo real El modelo procesa audio de forma continua Cuando la latencia y la naturalidad son prioritarias

En la práctica, Twilio Media Streams puede aportar la telefonía, Vapi abstrae buena parte del agente de voz y LiveKit ofrece más control sobre turnos, silencios e interrupciones. No hacen lo mismo: elige la capa que resuelve tu restricción principal.

Antes de añadir más autonomía, registra diez o cincuenta casos y calcula:

Exactitud = tareas correctas / tareas evaluadas
Costo por tarea correcta = costo total / tareas correctas
Éxito de herramienta = llamadas de herramienta correctas / llamadas totales
Intervención humana = casos revisados por una persona / casos totales

Para voz añade tiempo hasta la primera respuesta, interrupciones incorrectas, silencios largos, errores de transcripción, duración y transferencias fallidas. Una voz agradable no compensa una herramienta mal utilizada o una tarea que una persona debe rehacer.

Define una meta antes de probar. Por ejemplo: “al menos 85 % de los resúmenes no requieren corrección y ninguna oportunidad queda sin próxima acción”. Si el agente no alcanza la meta, reduce el alcance y corrige los datos o las instrucciones antes de cambiar de modelo.

Día 1 — Alcance. Escoge una tarea, un responsable y una salida medible.

Día 2 — Datos. Lista los campos que puede leer, los que no y dónde quedará el resultado.

Día 3 — Herramientas. Implementa sólo tres a cinco operaciones; separa lectura de escritura.

Día 4 — Casos. Reúne ejemplos reales, anonimízalos y define la respuesta esperada.

Día 5 — Prueba. Ejecuta el agente con permisos limitados y registra errores, costo y tiempo.

Día 6 — Revisión. Una persona aprueba o corrige cada acción; documenta los fallos repetidos.

Día 7 — Decisión. Mantén, ajusta o detén el piloto según la meta definida. No aumentes autonomía sólo porque la demo se vea bien.

  • Crear varios agentes antes de demostrar que uno resuelve una tarea.
  • Poner todas las instrucciones en un solo mensaje difícil de revisar.
  • Dar permiso de escritura cuando sólo se necesita consultar.
  • Medir respuestas bonitas en lugar de tareas correctas.
  • Prometer integraciones o seguridad que todavía no están verificadas.
  • Enviar mensajes por WhatsApp sin revisar ventana, consentimiento y plantilla.
  • Hacer que el agente actualice el mismo registro que lo activa y provocar ciclos.

Si ya tienes el proceso y necesitas un estado compartido, Abera puede ayudarte a modelar módulos, permisos, relaciones y automatizaciones en Corteza y a exponer únicamente las operaciones necesarias mediante API o webhooks. MCP (Model Context Protocol) es un estándar para conectar un cliente de IA con herramientas. Un servidor MCP podría permitir que ese cliente invoque esas operaciones con nombres y permisos explícitos; su utilidad depende de la implementación, autenticación, registro y revisión humana. Conoce la propuesta de Abera CRM y valida primero un caso pequeño, sin datos sensibles.

¿Necesito un agente si sólo quiero crear tareas después de una fecha?

Sección titulada «¿Necesito un agente si sólo quiero crear tareas después de una fecha?»

No necesariamente. Un workflow con un disparador y una condición suele ser más barato, predecible y fácil de auditar. Usa un agente cuando deba interpretar texto o elegir entre varias acciones.

Sí, si hay pocas personas, pocos registros y un responsable claro. Migra a un estado compartido más estructurado cuando necesites historial, permisos, relaciones o varias integraciones.

¿El agente puede enviar mensajes sin aprobación?

Sección titulada «¿El agente puede enviar mensajes sin aprobación?»

Sólo después de demostrar que el contenido, el consentimiento y los límites funcionan. Para el primer piloto, prepara el mensaje y deja el envío a una persona.

El más económico que alcance tu meta en casos reales. Repite el mismo conjunto de pruebas cada vez que cambies de modelo o de instrucciones.

Elige una tarea repetitiva, escribe la frase “cuando X, revisa Y y devuelve Z”, reúne diez casos y define una métrica. Si no puedes evaluar el resultado, aún no estás listo para automatizarlo.

Cómo crear tu primer workflow en Corteza: guía práctica paso a paso

Un workflow convierte una regla de negocio en una secuencia que Corteza puede ejecutar por ti. Por ejemplo: cuando entra un lead, comprobar su prioridad, asignar una tarea y avisar a la persona responsable.

La idea puede sonar técnica, pero un workflow de Corteza se construye visualmente. La plataforma lo representa como un diagrama de flujo: eliges qué evento lo inicia, conectas los pasos, defines las condiciones y guardas el resultado. No necesitas empezar escribiendo JavaScript ni saber BPMN.

En esta guía vas a crear un flujo sencillo para dar seguimiento a nuevos leads. Al terminar tendrás una base que puedes adaptar a cotizaciones, soporte, aprobaciones, renovaciones o cualquier proceso repetitivo.

Nota sobre la interfaz: esta guía se basa en la documentación oficial de Corteza 2024.9. Los nombres de algunos recursos o funciones pueden cambiar según la versión y la configuración de tu instancia; usa siempre las opciones que aparecen en tu editor.

Quickstart: tu primer workflow en 10 minutos

Sección titulada «Quickstart: tu primer workflow en 10 minutos»

Si quieres probar la idea antes de leer todos los detalles, construye esta versión mínima en un namespace de prueba:

Nombre: Seguimiento de nuevos leads
Recurso: Compose Record
Evento: afterCreate
Namespace: CRM
Módulo: Leads
Condición: prioridad == "Alta"
Acción: crear una tarea de seguimiento

Prueba primero con un lead de ejemplo y confirma que la tarea se cree. Después añade la notificación, el segundo camino y las integraciones. Separar el primer resultado de las mejoras evita que una configuración grande sea difícil de depurar.

Regla práctica: un workflow debe resolver una repetición concreta. Si no puedes describirlo en una frase que empiece por “cuando…”, todavía no está listo para automatizarse.

Lista de workflows de Corteza con las opciones para crear, importar, exportar y filtrar

Figura 1. La aplicación de workflows reúne en un solo lugar los flujos existentes y el botón para crear uno nuevo.

Un workflow responde a esta pregunta:

Cuando ocurre X, si se cumple Y, ejecuta Z.

Parte Qué significa Ejemplo para ventas
Trigger (disparador) El evento que inicia el flujo Se crea un registro en el módulo Leads
Restricciones Filtros que evitan ejecuciones innecesarias Sólo en el namespace CRM y módulo Leads
Condición o gateway Decide por qué camino continúa el flujo Prioridad es “Alta”
Acción o función El trabajo que realiza Corteza Crear una tarea y enviar una notificación
Scope Datos disponibles durante la ejecución El lead actual, el módulo y el namespace
Terminación El punto donde termina la ejecución Flujo completado

La documentación de Corteza describe los workflows como diagramas BPMN simplificados. Cada workflow debe comenzar con un trigger; el paso de terminación es opcional porque el flujo también termina cuando ya no hay pasos conectados. Consulta la documentación oficial de workflows.

El ejemplo: seguimiento automático de un nuevo lead

Sección titulada «El ejemplo: seguimiento automático de un nuevo lead»

Vamos a construir este proceso:

  1. Se crea un lead en el módulo Leads.
  2. Corteza comprueba si la prioridad es alta.
  3. Si es alta, crea una tarea para contactar hoy y envía una alerta.
  4. Si no es alta, crea una tarea para contactar en los próximos dos días.
  5. El flujo termina y deja el resultado registrado.

Este ejemplo no intenta reemplazar el criterio comercial. Sólo evita que un registro nuevo quede sin responsable o sin siguiente acción.

Al terminar, un lead con prioridad alta debería producir algo parecido a esto:

Entrada Resultado esperado
Nombre: Empresa Demo Se crea una actividad relacionada con el lead
Origen: WhatsApp El origen queda disponible para el seguimiento
Prioridad: Alta La tarea vence hoy y genera una alerta
Responsable: Ana La tarea queda asignada a Ana

Si una de esas cuatro cosas no ocurre, no añadas más pasos todavía. Corrige primero el trigger, la condición o la función que corresponde.

Un workflow es tan confiable como los datos que recibe. Para este ejemplo, prepara un módulo Leads con campos parecidos a estos:

  • nombre: nombre del contacto o empresa.
  • origen: WhatsApp, formulario, referido, llamada u otro canal.
  • prioridad: Alta, Media o Baja.
  • responsable: usuario encargado del seguimiento.
  • proximaAccion: fecha o descripción del siguiente paso.

No tienes que copiar estos nombres literalmente. Lo importante es que puedas responder quién es el lead, de dónde llegó, quién lo atiende y qué debe ocurrir después.

Para hacer una prueba controlada, crea estos dos registros. Puedes copiarlos a una hoja de cálculo y cargarlos manualmente si tu instancia permite importar datos:

nombre,origen,prioridad,responsable,proximaAccion
Empresa Demo,WhatsApp,Alta,Ana,Contactar hoy
Comercial Ejemplo,Formulario,Media,Carlos,Contactar en 48 horas

El primer registro debe seguir la rama prioritaria y el segundo la rama normal. Tener un caso que cumple la condición y otro que no la cumple es más útil que probar sólo el camino “feliz”.

También escribe el resultado esperado antes de abrir el editor:

“Cada lead nuevo debe tener una tarea de seguimiento y, si es prioritario, una alerta inmediata”.

  1. Entra a tu instancia de Corteza.
  2. Abre la aplicación Workflows.
  3. Pulsa New Workflow.
  4. Completa los metadatos:
    • Label: Seguimiento de nuevos leads.
    • Handle: seguimiento-nuevos-leads.
    • Description: Crea una tarea de seguimiento según la prioridad del lead.
    • Run as: comienza con el usuario que invoca el flujo, salvo que tengas una razón clara para usar otro contexto de seguridad.

El handle debe ser único, comenzar por un carácter, tener como máximo 64 caracteres y utilizar letras, números, guion, guion bajo o punto. Usar handles hace que tus workflows sean más fáciles de leer y mover entre ambientes.

Formulario de configuración de un workflow en Corteza con nombre, identificador, descripción y estado activado

Figura 2. Antes de añadir pasos, define el nombre, el handle, la descripción y si el workflow estará activado.

El trigger define qué recurso, qué evento y qué condiciones ponen en marcha el workflow.

  1. Desde la barra de herramientas, arrastra un paso Trigger al lienzo.
  2. Abre su configuración.
  3. Selecciona el recurso relacionado con los registros de Compose, o el nombre equivalente que muestre tu instancia.
  4. Elige el evento de creación posterior, normalmente afterCreate, para reaccionar cuando el lead ya fue guardado.
  5. Añade restricciones:
    • Namespace: tu namespace de CRM.
    • Module: Leads.
  6. Comprueba que el trigger esté habilitado.

Las restricciones son importantes. Un trigger demasiado amplio puede ejecutar el workflow para registros de otros módulos o namespaces. La documentación oficial recomienda limitarlo tanto como sea posible.

Para esta prueba, tu configuración debería poder resumirse así:

Resource: Compose Record
Event: afterCreate
Constraint 1: Namespace = CRM
Constraint 2: Module = Leads
Enabled: true

Si tu instalación muestra etiquetas diferentes, conserva la misma lógica: registro creado, dentro del namespace correcto y sólo en el módulo que quieres automatizar.

Configuración del trigger de Corteza con Compose Record, evento After Create y el trigger habilitado

Figura 3. El trigger combina recurso, evento y estado habilitado. El nombre visible de la etiqueta se actualiza automáticamente.

Restricción de un trigger de Corteza por nombre de módulo y tabla de scope inicial

Figura 4. Las restricciones limitan el alcance del trigger; debajo aparece el scope inicial disponible para las expresiones.

Al trabajar con registros, el scope inicial suele incluir el registro actual, su versión anterior cuando aplica, el módulo relacionado, el namespace y posibles errores de validación. Revisa el panel de scope de tu versión para confirmar los nombres exactos de las variables.

Para separar los leads prioritarios de los demás, arrastra un gateway exclusivo después del trigger y conecta ambos pasos.

Un gateway exclusivo evalúa sus conectores en orden y continúa sólo por el primer camino cuya condición sea verdadera. En el primer conector escribe una expresión equivalente a:

lead.values.prioridad == "Alta"

lead y prioridad son nombres de ejemplo. En tu instancia debes utilizar la variable y el nombre de campo que aparecen en el scope. Corteza utiliza un lenguaje de expresiones basado en Gval; expresiones como total > 1000000, estado == "Ganado" o record.recordID != "0" son patrones habituales en la documentación.

Si el scope de tu trigger llama record al registro actual, la misma condición quedaría así:

record.values.prioridad == "Alta"

No copies ambas expresiones. Usa sólo la que corresponda al nombre visible en tu editor. Si el campo es una selección, escribe exactamente el valor guardado —por ejemplo Alta— y no necesariamente el texto que aparece en otro idioma en la interfaz.

Nombra los conectores para que el diagrama se entienda sin abrir cada configuración:

  • Prioridad alta.
  • Prioridad normal.

Editor visual de Corteza con un disparador, una pasarela exclusiva y dos ramas de ejecución

Figura 5. La pasarela exclusiva muestra dos caminos: una rama prioritaria y una salida alternativa. Haz clic en la etiqueta de cada camino para nombrarla y revisar su configuración.

En algunas instalaciones la salida alternativa aparece como Else (if) y la ventana del camino sólo muestra su etiqueta. Si tu versión no presenta un campo de expresión en ese panel, conserva la rama Else como salida por defecto y coloca la evaluación en un paso Expresiones o sigue la configuración de gateways de tu versión. No asumas que una etiqueta por sí sola está evaluando una condición.

El segundo camino puede quedar como salida por defecto si no tiene una condición específica. Si necesitas que varias acciones se ejecuten al mismo tiempo, usa un gateway fork. Si más de una condición puede cumplirse y quieres ejecutar cada camino válido, usa un gateway inclusivo. Revisa los tipos de gateway.

Después del conector Prioridad alta añade un paso Function.

En la lista de funciones, busca la operación para crear un registro en el módulo de tareas o actividades. Configura:

  • El namespace y módulo donde se guardará la tarea.
  • El nombre del lead como referencia.
  • El responsable del lead como asignado.
  • Una fecha de seguimiento para hoy.
  • Una descripción como Contactar lead prioritario: {{nombre}}.

Después puedes añadir otra función para enviar una notificación o correo interno. Usa valores constantes para textos fijos y expresiones para los datos que cambian en cada ejecución. Corteza documenta las funciones como operaciones configurables: crear registros, enviar notificaciones, registrar información y otras acciones dependen de los recursos habilitados en tu instancia.

Una forma sencilla de revisar la acción antes de guardarla es completar esta matriz:

Argumento de la función Valor de prueba
Módulo destino Actividades o Tareas
Referencia del lead El identificador del registro actual
Responsable El usuario del campo responsable
Fecha límite La fecha de hoy
Descripción Contactar lead prioritario: Empresa Demo

Si el responsable está vacío, decide qué debe ocurrir: crear una tarea para un usuario de respaldo, detener el flujo con un error claro o enviar una alerta al administrador. Automatizar un dato incompleto sin una regla de respaldo sólo mueve el problema a otro lugar.

Configuración de una función Compose record create en Corteza con sus argumentos y resultado

Figura 6. Una función define la operación que se ejecutará y muestra los argumentos obligatorios y el resultado que devuelve.

Repite la acción de creación de tarea en el segundo camino, pero asigna una fecha posterior y un texto como Primer contacto en 48 horas.

Si varias ramas necesitan exactamente la misma acción, puedes reunirlas después del gateway o duplicar el paso cuando el diagrama sea más fácil de mantener así. La legibilidad es una parte importante de la automatización: otra persona debe poder entender el flujo sin reconstruirlo mentalmente.

En Corteza no basta con configurar visualmente los pasos:

  1. Guarda el workflow con el botón de guardado o Ctrl + S.
  2. Verifica que el trigger esté marcado como habilitado.
  3. Comprueba que todas las conexiones tengan origen y destino.
  4. Revisa que cada función tenga sus argumentos obligatorios.
  5. Crea un lead de prueba en el módulo correcto.

La configuración de los pasos puede guardarse localmente en el editor, pero el workflow debe guardarse para que los cambios tengan efecto. “Activar” en la práctica significa que el workflow está guardado y sus triggers están habilitados; no lo confundas con publicar un artículo o desplegar una aplicación.

Lista de workflows de Corteza mostrando el workflow de demostración guardado y activado

Figura 7. La lista permite comprobar que el workflow existe, está activo y cuántos pasos tiene. Esta comprobación no sustituye la prueba con un registro real.

Haz dos pruebas y cambia una variable cada vez:

  • Crea un lead con prioridad = Alta.
  • Confirma que se cree una tarea para hoy.
  • Confirma que llegue la alerta esperada.
  • Revisa que el responsable y la referencia al lead sean correctos.
  • Crea otro lead con prioridad = Media.
  • Confirma que siga el segundo camino.
  • Comprueba que no se envíe la alerta de prioridad alta.

Considera la prueba aprobada sólo si puedes responder “sí” a estas preguntas:

  • ¿El workflow se ejecutó una sola vez por cada registro?
  • ¿La prioridad alta tomó el camino correcto?
  • ¿La tarea quedó relacionada con el lead?
  • ¿El responsable puede ver y completar la tarea?
  • ¿Un lead sin responsable produjo un resultado controlado?

Guarda una captura o anota el resultado de estas pruebas. Esa pequeña evidencia te ayudará cuando cambies un campo, migres el workflow o tengas que explicar el proceso a otra persona.

Si el resultado no coincide, revisa primero el trigger y sus restricciones; después revisa la expresión del gateway; por último, valida los argumentos de las funciones. Esta secuencia evita buscar el problema en todo el diagrama a la vez.

Para probar un workflow manualmente, crea un trigger System / onManual y utiliza el icono de ejecución del trigger. Es una forma útil de probar expresiones y funciones antes de conectarlas a datos reales. La documentación oficial también recomienda revisar las sesiones de ejecución para encontrar errores.

Añade un error handler alrededor de las acciones que dependen de datos dinámicos o servicios externos. Ese bloque funciona como un try/catch: si una operación falla, puedes registrar el error, avisar a un administrador o crear una tarea de revisión.

Ten presentes estas tres precauciones:

  1. Evita ciclos infinitos. Si el trigger se activa al actualizar un registro y el mismo workflow vuelve a actualizarlo, puedes provocar ejecuciones repetidas. Usa una condición, un campo de control o un evento más específico.
  2. Revisa permisos. Por defecto, el workflow utiliza los permisos del usuario que originó la acción. Si ese usuario no puede leer o modificar un recurso, la automatización puede fallar.
  3. Distingue síncrono de asíncrono. Un paso de espera (delay) o de interacción (prompt) vuelve asíncrono el workflow. En ese caso ya no puedes usarlo para invalidar la operación original de creación, edición o eliminación.

La documentación de automatización de Corteza explica estos límites y también cómo usar scripts cuando un workflow visual no cubre una lógica suficientemente compleja. Consulta automatización, permisos y ejecución.

Síntoma Revisa primero Corrección habitual
No se ejecuta Trigger y estado habilitado Guardar el workflow y confirmar el evento
Se ejecuta para demasiados registros Restricciones de namespace y módulo Añadir todas las restricciones posibles
La condición nunca coincide Nombre de variable o valor guardado Revisar el scope y usar el valor exacto
La tarea no aparece Permisos y argumentos de la función Probar con el mismo usuario que invoca el flujo
Se repite varias veces El workflow actualiza el registro que lo activa Añadir un campo de control o cambiar el evento
Se queda esperando Gateway inclusivo o ramas sin resolución Revisar las conexiones y terminar cada camino

No intentes solucionar todos los síntomas añadiendo más pasos. Cambia una sola configuración, ejecuta de nuevo las dos pruebas y registra qué cambió.

Una vez que entiendas el patrón trigger → condición → acción, puedes construir flujos como estos:

  • Crear una tarea cuando un lead lleva varios días sin actividad.
  • Cambiar el estado de una oportunidad después de registrar una cotización.
  • Enviar una notificación cuando una renovación se acerque.
  • Crear un registro relacionado, como una actividad, caso o seguimiento.
  • Ejecutar un proceso diariamente con un trigger de intervalo.
  • Recibir un webhook desde un formulario o una aplicación externa mediante Integration Gateway.
  • Procesar una lista de registros con un iterator.
  • Llamar un script de Corredor cuando necesites una integración o lógica que no exista como función nativa.

Tres automatizaciones que una pyme puede probar después

Sección titulada «Tres automatizaciones que una pyme puede probar después»

1. Recuperar una cotización olvidada

Trigger: una oportunidad pasa a Cotizada. Condición: han transcurrido tres días sin actividad. Acción: crear una tarea para el responsable y mostrarla en un panel de seguimiento.

2. Recibir un formulario web

Trigger: una petición POST llega al Integration Gateway. Condición: el correo no está vacío y el consentimiento está marcado. Acción: crear el contacto, crear la oportunidad y asignarla según ciudad o producto.

3. Preparar renovaciones

Trigger: ejecución diaria por intervalo. Condición: la fecha de renovación está dentro de los próximos 30 días y el estado no es Renovado. Acción: crear una tarea, enviar una notificación y registrar la fecha del último aviso.

En los tres casos conviene empezar con un solo resultado medible. Por ejemplo: “ninguna cotización sin siguiente acción durante más de tres días”. Si no puedes medir el resultado, todavía no sabrás si la automatización mejoró el proceso.

Para calendarios, Corteza admite triggers por intervalo con expresiones cron y triggers con timestamp. Para integraciones externas, el Integration Gateway puede recibir peticiones HTTP y entregarlas a un workflow. Consulta los ejemplos oficiales.

De un workflow a una integración con API o IA

Sección titulada «De un workflow a una integración con API o IA»

Un workflow no tiene que vivir aislado. La API puede conectar el proceso con un formulario, una herramienta de facturación, un calendario o un canal de mensajería. El orden recomendado es:

  1. Diseña y prueba el workflow dentro de Corteza.
  2. Expón sólo la operación necesaria mediante la API o un webhook.
  3. Define autenticación, permisos, límites y registro de actividad.
  4. Añade un agente de IA sólo para tareas concretas y reversibles, como resumir oportunidades vencidas o proponer el siguiente paso.
  5. Exige confirmación humana antes de enviar mensajes, eliminar registros o cambiar estados sensibles.

Por ejemplo, un agente podría consultar “¿qué leads prioritarios no tienen actividad esta semana?” y devolver un resumen basado en los datos autorizados. No debería modificar oportunidades o enviar mensajes automáticamente sólo porque tiene acceso a la API.

La documentación de Corteza indica que un workflow puede ejecutar scripts cuando la lógica no está disponible como función nativa. Eso permite combinar una automatización visual con una integración más especializada sin esconder toda la lógica dentro de código. Ejecución de scripts desde workflows.

  • El nombre y el handle describen el objetivo.
  • El trigger usa el recurso y evento correctos.
  • El namespace y módulo están restringidos.
  • Las condiciones usan los nombres reales del scope.
  • Cada camino tiene una salida clara.
  • Las funciones tienen permisos y argumentos válidos.
  • Hay tratamiento para errores importantes.
  • Se probó con un caso que cumple la condición y otro que no.
  • Se revisó el riesgo de ejecutar el mismo workflow varias veces.
  • El workflow está guardado y el trigger está habilitado.
  • Existe una forma de revisar sesiones, logs o registros de auditoría.
  • El equipo sabe qué hacer cuando una acción automática falla.
  • Hay una persona responsable de revisar el workflow después de los primeros días.

El mejor primer workflow no es el más grande. Es una regla pequeña que el equipo repite todas las semanas y que hoy depende de la memoria de alguien: asignar un lead, recordar una fecha, avisar de una renovación o registrar una actividad.

Empieza con un trigger, una condición y una acción. Mide el resultado. Después añade ramas, notificaciones e integraciones sólo cuando el proceso básico ya sea claro.

Si quieres aplicar este patrón a un proceso comercial real, solicita una revisión de tu proceso en Abera CRM. La conversación debe ayudarte a identificar qué automatizar primero, qué datos faltan y qué permisos necesitas; no tienes que comprar nada para empezar a ordenar el flujo.

Abera trabaja sobre Corteza para adaptar módulos, permisos, paneles, workflows e integraciones al contexto de cada negocio. También puedes revisar otros recursos prácticos de CRM o conocer el acceso anticipado.

Bloque para Medium: si esta guía te ayudó, compártela con la persona que hoy asigna seguimientos manualmente. Para probar el ejemplo en un proceso real, solicita una revisión de tu proceso con Abera CRM. Conserva los enlaces a la documentación oficial de Corteza para que el lector pueda verificar cada concepto.

Alternativas de CRM en Colombia: Google Sheets, HubSpot, Zoho y Corteza

Elegir un CRM para una pequeña empresa en Colombia no consiste solamente en comparar precios. También hay que decidir cuánto control necesita el negocio sobre sus datos, qué canales debe conectar y cuánto tiempo puede dedicar a configurar la herramienta.

Para algunos equipos, Google Sheets sigue siendo suficiente. Otros prefieren empezar con un plan gratuito de HubSpot, Zoho, Freshsales o RD Station CRM. Cuando el proceso comercial es más particular —o necesita integrarse con otros sistemas— una plataforma adaptable como Corteza puede ofrecer más control que un CRM cerrado.

La decisión correcta depende del momento del negocio, del número de personas que usarán el sistema y de la complejidad del proceso.

Opción Precio orientativo Puede funcionar bien para Principal límite
Google Sheets 0 COP, sin contar configuración Equipos pequeños con pocos contactos y un proceso sencillo El pipeline, los recordatorios, los permisos y los reportes se construyen manualmente
HubSpot CRM Plan gratuito y planes de pago por nivel Empezar rápido con un CRM SaaS conocido Los límites y el precio cambian al necesitar más automatización, marketing o usuarios
Zoho CRM Plan gratuito y planes de pago por usuario o módulo Empresas que quieren un ecosistema amplio de aplicaciones Puede requerir más configuración y administración
Freshsales, RD Station y CRM locales Desde planes gratuitos hasta planes por usuario o por empresa Equipos que buscan una alternativa intermedia o soporte regional Hay que revisar integraciones, exportación de datos y límites de cada plan
Corteza / una adaptación administrada Depende de alojamiento, configuración, soporte e implementación Procesos que necesitan módulos, permisos, flujos e integraciones propias Requiere definir bien el modelo de datos y el alcance de la implementación

Las cifras son referencias de mercado, no una cotización. Las guías para Colombia muestran opciones desde 0 COP hasta rangos de decenas o cientos de miles de pesos al mes, dependiendo de si el cobro es por usuario, por empresa o por módulo. Conviene confirmar el precio, los límites y los impuestos directamente con cada proveedor antes de tomar una decisión. Puedes consultar referencias de precios de CRM en Colombia, una comparativa de CRM para empresas colombianas y la comparativa de herramientas CRM B2B.

Una hoja de cálculo puede ser una buena primera etapa si hay una o dos personas gestionando pocos contactos. Es flexible, fácil de compartir y no obliga a aprender una plataforma nueva.

También sirve para diseñar el proceso antes de comprar o implementar un CRM. Por ejemplo, puedes probar columnas como:

  • Nombre y empresa.
  • Canal de origen.
  • Responsable.
  • Etapa comercial.
  • Próxima acción.
  • Fecha de seguimiento.
  • Valor estimado.
  • Notas de la última interacción.

El problema aparece cuando la hoja empieza a convertirse en la memoria completa del negocio. Las alertas, el historial, los permisos, los reportes y las integraciones dependen entonces de fórmulas, scripts o herramientas externas. Una copia descargada puede quedar desactualizada y una columna mal editada puede cambiar la lectura del pipeline.

Si el equipo ya tiene varios vendedores, recibe contactos por diferentes canales o necesita saber quién hizo cada cambio, es una señal para evaluar un CRM. En nuestra guía sobre cuándo pasar de Excel a un CRM explicamos otras señales prácticas.

HubSpot suele resultar atractivo para equipos que quieren empezar rápido con contactos, negocios, tareas y un pipeline visual. Su plan gratuito puede ser suficiente para validar hábitos de registro y seguimiento.

Su ventaja principal es la experiencia de uso y el ecosistema. Su límite aparece cuando la empresa necesita más automatización, marketing, reportes, permisos o volumen. En ese momento hay que revisar con cuidado qué función pertenece a cada plan y cuánto cuesta escalar por usuario o por módulo.

Zoho es una alternativa interesante para empresas que quieren combinar CRM con otras aplicaciones de negocio. Puede ofrecer más flexibilidad que una herramienta muy enfocada en ventas, pero esa amplitud también implica más decisiones de configuración y administración.

Antes de elegirlo conviene responder:

  1. ¿Qué módulos se necesitan realmente?
  2. ¿Qué usuarios deben ver o modificar cada dato?
  3. ¿Qué ocurre si la empresa quiere exportar su información?
  4. ¿Qué integraciones están incluidas y cuáles requieren un plan superior?

El plan gratuito puede ayudar a comenzar, pero “gratis” no significa que todas las funciones comerciales, de automatización o de integración estén disponibles.

También existen CRM como Freshsales, RD Station CRM y soluciones locales como dxCRM, Tatakoa o FusionCRM. Pueden ser una buena opción cuando el equipo quiere algo más estructurado que una hoja de cálculo, pero no necesita todavía una plataforma totalmente personalizada.

En estas alternativas es especialmente importante revisar cuatro puntos:

  • Si el precio es por usuario o por empresa.
  • Qué límites tiene el plan gratuito o básico.
  • Qué canales e integraciones están disponibles para Colombia.
  • Cómo se exportan los datos si el negocio cambia de herramienta.

Una solución local puede conocer mejor el contexto comercial del país o tener soporte en español. Sin embargo, lo local por sí solo no garantiza que el modelo de datos, la API o las condiciones de salida sean adecuados para tu operación.

Corteza no debe evaluarse como una hoja de cálculo con más botones ni como un CRM cerrado con un catálogo fijo de campos. Es una plataforma open source y adaptable que permite construir módulos, campos, relaciones, páginas, paneles, permisos y automatizaciones alrededor del proceso de cada organización.

Esto puede ser útil cuando una empresa necesita, por ejemplo:

  • Separar contactos, empresas, oportunidades, servicios y proyectos.
  • Crear campos propios sin forzar todo el proceso a una plantilla genérica.
  • Definir qué puede consultar o modificar cada equipo.
  • Relacionar una oportunidad con tareas, documentos o actividades.
  • Construir paneles para ventas, operaciones o servicio.
  • Mantener una estructura que pueda evolucionar con el negocio.

Abera parte de Corteza y trabaja en una adaptación administrada para el contexto de pequeñas empresas en Colombia. Eso no significa que todas las implementaciones sean iguales ni que el CRM resuelva automáticamente cualquier proceso. El resultado depende de cómo se diseñen los módulos, los permisos, los flujos y las integraciones.

La principal diferencia frente a un SaaS cerrado es el nivel de control y adaptación. La contrapartida es que hay que definir mejor el alcance, el alojamiento, el soporte y la responsabilidad sobre la configuración.

Por qué la API es más importante que una lista de funciones

Sección titulada «Por qué la API es más importante que una lista de funciones»

Una API permite que el CRM intercambie datos y acciones con otros sistemas. En la práctica, puede evitar que el equipo copie y pegue información entre formularios, WhatsApp, correo, facturación, calendarios, comercio electrónico o herramientas de analítica.

Algunos flujos posibles son:

  1. Un formulario registra un prospecto y crea una oportunidad.
  2. El sistema asigna el contacto a una persona según ciudad, producto o equipo.
  3. Se crea una tarea con fecha de seguimiento.
  4. Una respuesta del equipo actualiza la etapa comercial.
  5. Un tablero muestra oportunidades sin actividad o clientes que requieren atención.

La API también es la base para construir integraciones a medida y, cuando exista una implementación validada, exponer herramientas a agentes de IA mediante MCP. El punto importante no es decir “tenemos IA”, sino definir qué puede hacer el agente, con qué permisos, sobre qué registros y con qué trazabilidad.

Antes de elegir un CRM, pregunta por:

  • Autenticación y permisos por organización, usuario y módulo.
  • Operaciones disponibles para leer, crear, actualizar o eliminar.
  • Webhooks o mecanismos para reaccionar a cambios.
  • Límites de uso, errores y reintentos.
  • Registro de actividad y auditoría.
  • Exportación de datos.
  • Documentación y ejemplos reproducibles.

Una API bien diseñada reduce el riesgo de crear nuevos silos de información. También permite empezar con una integración pequeña y ampliar el sistema cuando el proceso esté probado.

En Agentes de IA para ventas con datos autorizados explicamos por qué una integración responsable debe limitar el acceso y exigir confirmación humana en las acciones sensibles.

  • Elige Google Sheets si el proceso es pequeño, manual y todavía estás aprendiendo qué datos necesitas.
  • Elige HubSpot o Zoho si quieres empezar rápido con un SaaS estándar y puedes aceptar los límites de sus planes.
  • Evalúa Freshsales, RD Station o un CRM local si necesitas una opción intermedia, atención en español o integraciones concretas.
  • Evalúa Corteza o una adaptación administrada como Abera si el proceso necesita módulos propios, permisos específicos, control sobre los datos y una API para integrarse con otros sistemas.

El objetivo no es abandonar Google Sheets por obligación. Es evitar que una herramienta que funcionaba para una etapa pequeña se convierta en el punto débil de la trazabilidad comercial.

Hay opciones gratuitas y planes básicos que pueden costar decenas de miles de pesos al mes. El precio final depende de usuarios, módulos, automatizaciones, soporte y tipo de cobro. Compara el costo total de operación, no solo el precio de entrada.

Puede funcionar como registro comercial básico, pero no ofrece de forma nativa todas las capacidades de un CRM: pipeline, historial de interacciones, permisos, tareas, automatizaciones y auditoría.

Corteza es una plataforma open source. Aun así, el alojamiento, la configuración, el soporte, el mantenimiento y las adaptaciones pueden tener costos. Es importante separar el costo de la licencia —si aplica— del costo real de operar el sistema.

¿Una API garantiza que podré integrar cualquier sistema?

Sección titulada «¿Una API garantiza que podré integrar cualquier sistema?»

No. La API es una base técnica, pero la integración depende de la autenticación, los permisos, los datos disponibles, los límites del sistema externo y el diseño del flujo. Hay que validar cada integración antes de prometerla.

Documentar el proceso mínimo: quién es el cliente, de dónde llegó, quién responde, en qué etapa está y cuál es la próxima acción. Después puedes probarlo en una hoja de cálculo o en un CRM y medir dónde aparecen los problemas.

Si quieres revisar un caso concreto, puedes conocer Abera CRM o consultar los planes. La herramienta debe adaptarse al proceso, no obligar al equipo a perder el contexto que ya necesita para vender y atender mejor.