Conector de Zapier

Conecta Zapier con Brevo a través de Tajo para enlazar miles de aplicaciones de terceros con tus flujos de automatización de marketing, habilitando flujos de datos sin código y triggers basados en eventos en todo tu stack tecnológico.

Resumen

PropiedadValor
PlataformaZapier
CategoríaAutomatización (Personalizada)
Complejidad de configuraciónFácil
Integración oficialNo
Datos sincronizadosEventos, Contactos, Workflows, Triggers
Método de autenticaciónAPI Key / OAuth 2.0

Funcionalidades

  • Orquestación multi-app - Conecta más de 6.000 apps con Brevo a través de workflows de Zap
  • Triggers por webhook - Recibe eventos en tiempo real desde cualquier app conectada a Zapier
  • Sincronización de contactos - Envía y recibe contactos entre plataformas conectadas a Zapier y Brevo
  • Reenvío de eventos - Enruta eventos de aplicaciones a través de Tajo hacia automatizaciones de Brevo
  • Zaps multi-paso - Crea workflows complejos con filtros, formatters y delays
  • App personalizada de Zapier - Usa la Zapier Platform CLI para construir integraciones a medida

Requisitos previos

Antes de empezar, asegúrate de tener:

  1. Una cuenta de Zapier (nivel Free o superior)
  2. Una cuenta de Brevo con acceso a la API
  3. Una cuenta de Tajo con permisos de conector
  4. Node.js 18+ instalado (para desarrollo de integraciones basadas en CLI)

Autenticación

Autenticación con API Key

Terminal window
# Set your Zapier Platform credentials
export ZAPIER_DEPLOY_KEY=your_deploy_key
export TAJO_API_KEY=your_tajo_api_key
export BREVO_API_KEY=your_brevo_api_key

OAuth 2.0

Zapier admite OAuth 2.0 para conectar servicios de terceros dentro de los Zaps:

const authentication = {
type: 'oauth2',
oauth2Config: {
authorizeUrl: {
url: 'https://your-app.com/oauth/authorize',
params: {
client_id: '{{process.env.CLIENT_ID}}',
state: '{{bundle.inputData.state}}',
redirect_uri: '{{bundle.inputData.redirect_uri}}',
response_type: 'code'
}
},
getAccessToken: {
url: 'https://your-app.com/oauth/token',
method: 'POST',
body: {
code: '{{bundle.inputData.code}}',
client_id: '{{process.env.CLIENT_ID}}',
client_secret: '{{process.env.CLIENT_SECRET}}',
grant_type: 'authorization_code',
redirect_uri: '{{bundle.inputData.redirect_uri}}'
}
},
refreshAccessToken: {
url: 'https://your-app.com/oauth/token',
method: 'POST',
body: {
refresh_token: '{{bundle.authData.refresh_token}}',
client_id: '{{process.env.CLIENT_ID}}',
client_secret: '{{process.env.CLIENT_SECRET}}',
grant_type: 'refresh_token'
}
}
}
};

Configuración

Configuración básica

connectors:
zapier:
enabled: true
webhook_url: "https://hooks.zapier.com/hooks/catch/YOUR_HOOK_ID"
sync:
contacts: true
events: true
workflows: true
triggers:
- contact_created
- order_placed
- form_submitted
mapping:
email: email
first_name: FIRSTNAME
last_name: LASTNAME

Configuración de webhooks

Configura Tajo para enviar eventos a los webhooks de Zapier:

webhooks:
zapier:
url: "https://hooks.zapier.com/hooks/catch/YOUR_HOOK_ID"
events:
- contact.created
- contact.updated
- order.completed
- cart.abandoned
retry:
max_attempts: 3
backoff: exponential

Endpoints de la API

EndpointMétodoDescripción
https://hooks.zapier.com/hooks/catch/{id}POSTWebhook catch hook
https://nla.zapier.com/api/v1/dynamic/exposed/GETListar acciones expuestas
https://nla.zapier.com/api/v1/dynamic/exposed/{action_id}/execute/POSTEjecutar una acción
https://zapier.com/api/platform/cli/appsGETListar apps registradas
https://zapier.com/api/platform/cli/pushPOSTDesplegar integración

Ejemplos de código

Inicializar el conector

import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({
apiKey: process.env.TAJO_API_KEY,
brevoApiKey: process.env.BREVO_API_KEY
});
// Connect Zapier via webhook
await tajo.connectors.connect('zapier', {
webhookUrl: process.env.ZAPIER_WEBHOOK_URL,
events: ['contact.created', 'order.completed']
});

Crear una integración personalizada de Zapier con la Platform CLI

const { version: platformVersion } = require('zapier-platform-core');
const App = {
version: require('./package.json').version,
platformVersion,
authentication,
triggers: {
new_contact: {
key: 'new_contact',
noun: 'Contact',
display: {
label: 'New Contact in Tajo',
description: 'Triggers when a new contact is synced.'
},
operation: {
perform: async (z, bundle) => {
const response = await z.request({
url: 'https://api.tajo.io/v1/contacts',
params: { since: bundle.meta.lastPoll }
});
return response.data;
}
}
}
},
creates: {
sync_contact: {
key: 'sync_contact',
noun: 'Contact',
display: {
label: 'Sync Contact to Brevo',
description: 'Syncs a contact to Brevo via Tajo.'
},
operation: {
inputFields: [
{ key: 'email', required: true, type: 'string' },
{ key: 'firstName', type: 'string' },
{ key: 'lastName', type: 'string' }
],
perform: async (z, bundle) => {
const response = await z.request({
method: 'POST',
url: 'https://api.tajo.io/v1/contacts/sync',
body: bundle.inputData
});
return response.data;
}
}
}
}
};
module.exports = App;

Gestionar webhooks entrantes de Zapier

app.post('/webhooks/zapier', async (req, res) => {
const { event, data } = req.body;
await tajo.connectors.handleWebhook('zapier', {
topic: event,
payload: data
});
res.status(200).json({ status: 'received' });
});

Límites de velocidad

PlanPeticionesTasks/mesIntervalo de polling
Free100/día10015 min
Starter1.000/día75015 min
Professional5.000/día2.0002 min
Team10.000/día50.0001 min

Límites de tasks de Zapier

Cada paso de un Zap cuenta como una task. Los Zaps multi-paso consumen varias tasks por ejecución. Monitoriza tu uso de tasks en el panel de Zapier para evitar excesos.

Resolución de problemas

ProblemaCausaSolución
Webhook no se disparaZap desactivadoRevisa el estado del Zap en el panel de Zapier
Los datos no se mapeanNombre de campo distintoVerifica que las claves de campo coincidan entre apps
Contactos duplicadosSin deduplicación configuradaActiva la deduplicación por email en Tajo
Errores del ZapRate limit de la API superadoAñade pasos de delay o amplía tu plan de Zapier
Autenticación expiradaToken no refrescadoVuelve a autenticar la conexión en Zapier

Modo depuración

connectors:
zapier:
debug: true
log_level: verbose
log_webhooks: true

Buenas prácticas

  1. Usa webhooks en lugar de polling - Los webhooks proporcionan flujo de datos en tiempo real frente a los retrasos del polling
  2. Añade gestión de errores - Usa Paths de Zapier para gestionar los escenarios de éxito/fallo
  3. Deduplica los datos - Activa claves de deduplicación para evitar registros duplicados
  4. Monitoriza el uso de tasks - Configura alertas antes de alcanzar los límites de tasks
  5. Usa filtros con criterio - Filtra pronto en los Zaps para reducir el consumo innecesario de tasks
  6. Versiona tus integraciones CLI - Usa versionado semántico para las apps de Platform CLI

Seguridad

  • Solo HTTPS - Todas las URLs de webhook deben usar HTTPS
  • Rotación de API keys - Rota las claves periódicamente desde el panel de Zapier
  • OAuth 2.0 - Usa OAuth para autenticar servicios de terceros
  • Verificación de webhooks - Valida las firmas de webhook entrantes
  • Permisos limitados - Concede el acceso mínimo necesario por Zap

Recursos relacionados

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

auto-detect
Asistente AI

¡Hola! Pregúntame lo que quieras sobre la documentación.