Integración con Zapier
Descripción General
Zapier es una plataforma de automatización que conecta más de 6,000 aplicaciones sin necesidad de programar. La integración nativa de Cotizera con Zapier te permite automatizar flujos de trabajo como:
- Recibir notificaciones en Slack cuando se crea o acepta una cotización
- Registrar automáticamente nuevos clientes en tu CRM
- Crear filas en Google Sheets cada vez que se genera una cotización
- Enviar correos automáticos cuando cambia el estado de una cotización
A diferencia de los webhooks genéricos, la integración nativa de Zapier ofrece una experiencia guiada: seleccionas "Cotizera" como app, eliges un trigger o acción, y Zapier se encarga del resto.
Requisitos Previos
- Plan Pro de Cotizera (la integración con Zapier requiere plan Pro)
- Una cuenta de Zapier (el plan gratuito permite hasta 5 Zaps)
- Una clave API de Cotizera generada en Configuración → Integraciones → Claves API
Tu clave API tiene el formato ctza_... y es única por tenant. No la compartas públicamente.
Conectar Cotizera a Zapier
Paso 1: Aceptar la Invitación
Cotizera está disponible como app privada en Zapier. Accede mediante el enlace de invitación:
Aceptar invitación de Cotizera en Zapier
Haz clic en "Accept Invite & Build a Zap" para agregar Cotizera a tu cuenta de Zapier.
Paso 2: Crear un Nuevo Zap
- En Zapier, haz clic en "Create Zap"
- En el trigger, busca "Cotizera"
- Selecciona uno de los triggers disponibles (por ejemplo, "New Quote")
- Haz clic en "Continue"
Paso 3: Autenticación con Clave API
- Zapier te pedirá conectar tu cuenta de Cotizera
- Haz clic en "Sign in to Cotizera"
- Ingresa tu clave API (
ctza_...) que generaste en Configuración → Integraciones → Claves API - Haz clic en "Yes, Continue"
Puedes generar múltiples claves API para diferentes integraciones. Cada clave puede tener permisos específicos.
Paso 4: Probar la Conexión
- Zapier intentará obtener datos de prueba de tu cuenta
- Si tienes datos existentes (cotizaciones, clientes, productos), verás registros de ejemplo
- Selecciona un registro de prueba y haz clic en "Continue"
Si no tienes datos en tu cuenta, crea al menos un registro de prueba antes de configurar el Zap.
Triggers Disponibles
Los triggers son eventos en Cotizera que inician un Zap automáticamente.
| Trigger | Evento | Descripción | Caso de Uso |
|---|---|---|---|
| New Quote | quote_created |
Se dispara cuando se crea una nueva cotización | Notificar al equipo, registrar en Sheets |
| Quote Status Changed | quote_status_changed |
Se dispara cuando cambia el estado de una cotización | Alertar cuando se acepta/rechaza |
| Quote Sent | quote_sent |
Se dispara cuando se envía una cotización al cliente | Registrar envíos, notificar al gerente |
| New Client | client_created |
Se dispara cuando se agrega un nuevo cliente | Sincronizar con CRM, enviar bienvenida |
| New Product | product_created |
Se dispara cuando se agrega un nuevo producto | Actualizar catálogo externo |
Campos de Salida por Trigger
New Quote / Quote Sent:
| Campo | Tipo | Descripción |
|---|---|---|
id |
string | ID único de la cotización |
quoteNumber |
string | Número de cotización (e.g., COT-0042) |
status |
string | Estado: GENERATED, SENT, ACCEPTED, REJECTED |
total |
number | Total de la cotización |
clientId |
string | ID del cliente asociado |
clientName |
string | Nombre del cliente |
clientEmail |
string | Email del cliente |
createdAt |
string | Fecha de creación (ISO 8601) |
items |
array | Líneas de la cotización con producto, cantidad, precio |
Quote Status Changed:
Incluye todos los campos anteriores más:
| Campo | Tipo | Descripción |
|---|---|---|
previousStatus |
string | Estado anterior |
newStatus |
string | Nuevo estado |
New Client:
| Campo | Tipo | Descripción |
|---|---|---|
id |
string | ID único del cliente |
name |
string | Nombre del cliente |
email |
string | Correo electrónico |
phone |
string | Teléfono |
company |
string | Empresa |
rfc |
string | RFC (identificación fiscal) |
createdAt |
string | Fecha de creación (ISO 8601) |
New Product:
| Campo | Tipo | Descripción |
|---|---|---|
id |
string | ID único del producto |
name |
string | Nombre del producto |
sku |
string | SKU / código de producto |
price |
number | Precio unitario |
unit |
string | Unidad de medida |
description |
string | Descripción del producto |
createdAt |
string | Fecha de creación (ISO 8601) |
Acciones Disponibles
Las acciones son operaciones que Zapier ejecuta en Cotizera como parte de un Zap.
| Acción | Descripción | Campos Requeridos |
|---|---|---|
| Create Quote | Crea una nueva cotización | clientId, items (array con productId, quantity) |
| Create Client | Crea un nuevo cliente | name, email |
| Create Product | Crea un nuevo producto | name, price |
Campos de Create Quote
| Campo | Requerido | Tipo | Descripción |
|---|---|---|---|
clientId |
Sí | string | ID del cliente (usar búsqueda "Find Client") |
items |
Sí | array | Líneas: productId, quantity, unitPrice (opcional) |
notes |
No | string | Notas adicionales de la cotización |
validDays |
No | number | Días de vigencia (default: 30) |
discount |
No | number | Descuento global en porcentaje |
Campos de Create Client
| Campo | Requerido | Tipo | Descripción |
|---|---|---|---|
name |
Sí | string | Nombre completo o razón social |
email |
Sí | string | Correo electrónico |
phone |
No | string | Teléfono |
company |
No | string | Nombre de empresa |
rfc |
No | string | RFC / identificación fiscal |
address |
No | string | Dirección completa |
Campos de Create Product
| Campo | Requerido | Tipo | Descripción |
|---|---|---|---|
name |
Sí | string | Nombre del producto |
price |
Sí | number | Precio unitario |
sku |
No | string | SKU / código |
unit |
No | string | Unidad de medida (pieza, hora, kg, etc.) |
description |
No | string | Descripción del producto |
Búsquedas Disponibles
Las búsquedas permiten encontrar registros existentes en Cotizera para usarlos en pasos posteriores del Zap.
| Búsqueda | Descripción | Campos de Búsqueda |
|---|---|---|
| Find Client | Buscar cliente por nombre o email | name o email |
| Find Product | Buscar producto por nombre o SKU | name o sku |
Usa las búsquedas en combinación con las acciones. Por ejemplo, busca un cliente antes de crear una cotización para obtener su clientId.
Flujos de Ejemplo
Notificación en Slack al Crear una Cotización
- Trigger: Cotizera → New Quote
- Action: Slack → Send Channel Message
- Configurar mensaje:
- Canal:
#ventas - Mensaje:
Nueva cotización {{quoteNumber}} creada para {{clientName}} por ${{total}}
- Canal:
Registro en Google Sheets
- Trigger: Cotizera → New Quote
- Action: Google Sheets → Create Spreadsheet Row
- Mapear campos:
- Columna A:
{{quoteNumber}} - Columna B:
{{clientName}} - Columna C:
{{total}} - Columna D:
{{status}} - Columna E:
{{createdAt}}
- Columna A:
Sincronización con CRM al Crear Cliente
- Trigger: Cotizera → New Client
- Action: HubSpot → Create Contact
- Mapear campos:
- First Name:
{{name}} - Email:
{{email}} - Phone:
{{phone}} - Company:
{{company}}
- First Name:
Notificación por Email al Aceptar Cotización
- Trigger: Cotizera → Quote Status Changed
- Filter: Solo continuar si
newStatusesACCEPTED - Action: Gmail → Send Email
- Configurar:
- Para: gerente-ventas@tuempresa.com
- Asunto:
Cotización {{quoteNumber}} aceptada - Cuerpo:
El cliente {{clientName}} aceptó la cotización {{quoteNumber}} por ${{total}}.
Probar tus Zaps
- Test del trigger: Zapier muestra datos de prueba al configurar. Verifica que los campos se muestran correctamente.
- Test de la acción: Usa el botón "Test Action" de Zapier para ejecutar la acción con datos reales.
- Test completo: Crea un registro de prueba en Cotizera y verifica que el Zap se ejecuta correctamente.
Los tests de acción crean datos reales en las apps conectadas (ej: envían mensajes reales en Slack). Usa canales de prueba durante la configuración.
Solución de Problemas
| Problema | Solución |
|---|---|
| "Invalid API Key" al conectar | Verifica que la clave API es correcta y no ha expirado. Genera una nueva en Configuración → Integraciones → Claves API |
| El trigger no se dispara | Verifica que el Zap está encendido (ON). Revisa que el evento ocurrió después de activar el Zap |
| Campos vacíos en el trigger | Asegúrate de tener datos existentes. Zapier necesita al menos un registro para detectar campos |
| Error al crear cotización | Verifica que clientId y productId son IDs válidos de tu cuenta |
| Rate limit (429) | Cotizera permite 30 requests por minuto. Reduce la frecuencia de tus Zaps |
Para problemas más complejos, consulta la Guía de Solución de Problemas con Zapier.