Make
Lleva lo que pasa en Cord a cualquier app de Make, y crea datos en Cord desde tus escenarios.
Qué hace
La app de Cord para Make tiene un disparador instantáneo (Watch Events), acciones para crear y cambiar datos en Cord, búsquedas con paginación y un módulo universal para cualquier otra operación de la API. Se autoriza con un clic en una pantalla de Cord, sin llaves, y funciona en todas las zonas de Make.
Requisitos
| Dónde | Qué necesitas |
|---|---|
| Cord | El permiso de Ajustes en el espacio de trabajo que vas a conectar. Cualquier plan. |
| Make | Una cuenta de Make. Para instalar la app, ser Administrador, Propietario o Desarrollador de aplicaciones de esa organización de Make. Las operaciones que consumen tus escenarios las cobra Make según tu plan de Make. |
| Cuota | Cada módulo de acción o búsqueda gasta llamadas de la cuota mensual de API de tu plan de Cord. Ver Límites. |
Conectar la app de Cord
La app de Cord para Make se comparte por invitación. En Ajustes › Integraciones › Make está el botón Abrir Cord en Make, que lleva directo a la invitación.
- Instala la app. Pulsa Abrir Cord en Make, luego Instalar, elige tu organización de Make y confirma. Make solo deja instalar apps a quien es Administrador, Propietario o Desarrollador de aplicaciones de esa organización.
- Crea la conexión. En un escenario agrega cualquier módulo de Cord y pulsa Create a connection › Save.
- Autoriza en Cord. Se abre una pantalla de Cord donde eliges el espacio de trabajo y pulsas Autorizar. No hay llaves que crear ni que pegar.
Quien autoriza necesita acceso a Ajustes en ese espacio. Make renueva el acceso solo; para cortarlo, revoca la conexión en la pestaña Llaves del Cord Workbench, donde aparece como Conexión autorizada de Make.
| Tipo | Módulos |
|---|---|
| Disparador instantáneo | Watch Events: eliges los eventos de Cord y el escenario arranca en cuanto pasan. |
| Acciones | Create a Client, Update a Client, Get a Client, Create a Quote, Get a Quote, Send a Quote, Mark a Quote as Paid y Create a Task. |
| Búsquedas | Search Clients y Search Quotes, con paginación. |
| Universal | Make an API Call, para cualquier otra operación de la API de Cord. |
Cada Watch Events activo crea su propio webhook en Cord, con un cupo aparte de los endpoints de tu plan.
Qué viaja y en qué dirección
| Dirección | Qué viaja | Cuándo |
|---|---|---|
| De Cord a Make | El evento que elegiste en Watch Events, con los datos del objeto. | Al instante, cada vez que pasa en Cord. |
| De Make a Cord | Lo que haga el módulo: crear o actualizar un cliente, crear o enviar una cotización, marcarla pagada o crear una tarea. | Cuando el escenario corre. |
| Búsquedas y consultas | Make lee clientes o cotizaciones para usarlos en el módulo siguiente. No cambia nada. | Cuando el escenario corre. |
Lo que un módulo hace en Cord dispara los mismos eventos que si lo hiciera una persona, con Quién lo originó: La API.
Límites
| Límite | Valor |
|---|---|
| Llamadas a la API al mes | Gratis 100, Starter 1,000, Pro 5,000, Scale 10,000, Developer 50,000 |
| Al pasar la cuota | En Gratis las llamadas se rechazan hasta el siguiente mes; desde Starter se cobran como excedente, con un tope de seguridad de 10 veces lo incluido |
| Webhooks que crean tus escenarios | 100 por organización, aparte de los endpoints de webhook de tu plan |
| Conexiones autorizadas vivas | 25 por app y por organización |
- Qué gasta cuota: cada módulo de acción, búsqueda o Make an API Call, y registrar o borrar el webhook de Watch Events. Recibir eventos no gasta cuota.
- Cuánto llevas: en Ajustes › Planes y suscripción › Suscripción, fila Llamadas a la API.
- Las peticiones con HTTP › Make a request y una llave
sk_live_…también gastan cuota; consk_test_…no.
Desconectar
Apagar un escenario: desactívalo en Make. Para que Cord deje de enviarle eventos, borra también su webhook en la sección Webhooks de Make: al borrarlo, Make lo retira de Cord.
Cortar el acceso de Make a Cord:
- Ve a Ajustes › Integraciones › Make y pulsa Ver conexiones autorizadas. Se abre la pestaña Llaves del Cord Workbench.
- Busca la fila Conexión autorizada de Make, con la etiqueta OAuth.
- Pulsa Revocar y confirma.
Desde ese momento Make ya no puede llamar a la API con esa conexión, y los webhooks que habían creado sus escenarios dejan de recibir eventos. En Make, los módulos de Cord fallan con un error de autorización hasta que vuelvas a crear la conexión. Si usaste la alternativa con Webhooks y HTTP, borra el endpoint en Webhooks y revoca la llave en API.
Alternativa: Webhooks y HTTP
Si prefieres no instalar la app, Make se conecta con Cord usando dos módulos que Make ya trae:
| Dirección | Módulo de Make | Qué necesitas en Cord |
|---|---|---|
| Cord → Make: un evento de Cord arranca tu escenario | Webhooks › Custom webhook | Un endpoint de webhook con la URL de Make |
| Make → Cord: tu escenario crea o actualiza datos en Cord | HTTP › Make a request | Una llave de API secreta con permiso de escritura |
Las dos cosas se configuran en el Cord Workbench (pestañas Webhooks y Llaves): si no lo ves, activa el Modo desarrollador en Tu cuenta › Preferencias.
Recibir eventos de Cord
- Crea el webhook en Make. En tu escenario agrega Webhooks › Custom webhook, pulsa Add, ponle nombre y copia la URL que te da Make.
- Registra el endpoint en Cord. Abre Webhooks en el panel de Desarrolladores, pega la URL de Make y guarda. Cord te muestra un secreto de firma una sola vez; Make no lo usa, pero guárdalo si piensas verificar firmas más adelante.
- Elige los eventos. Marca solo los que tu escenario necesita, por ejemplo
quote.approvedoinvoice.paid. - Enséñale a Make la forma del evento. En Make pulsa Redetermine data structure y, en Cord, pulsa Probar en el endpoint. Make recibe un evento de ejemplo y aprende sus campos.
- Mapea y activa. Usa los campos en los siguientes módulos (por ejemplo
data.folio,data.total,data.cliente) y enciende el escenario.
Qué llega en cada evento
Cada evento es un JSON con cuatro campos:
| Campo | Qué es |
|---|---|
id |
Identificador único del evento. Es el mismo si Cord reintenta la entrega. |
event |
El tipo de evento, por ejemplo quote.paid. |
created_at |
Cuándo ocurrió. |
data |
Los datos del objeto: en una cotización, id, folio, status, moneda, total, cliente, cliente_id y el link público. |
La lista completa de eventos y los campos de cada uno está en Webhooks para desarrolladores.
Un endpoint o varios
Puedes registrar un endpoint por escenario con solo sus eventos, o uno con varios eventos y un Router en Make que filtre por event. Lo primero es más fácil de mantener; lo segundo usa menos endpoints.
Los endpoints que registras a mano cuentan dentro del límite de webhooks de tu plan: 16 en Gratis, Starter y Pro; 32 en Scale; 100 en Developer.
Entregas y reintentos
Cada endpoint guarda un registro de entregas con el estado, el tiempo de respuesta y la respuesta de Make. Si Make no responde, Cord reintenta la entrega. Como el id no cambia entre reintentos, agrega en Make un filtro o un almacén de datos para no procesar dos veces el mismo id.
Trata la URL del webhook de Make como un secreto. Make no verifica la firma de Cord, así que cualquiera que conozca la URL podría mandarle datos falsos a tu escenario. No la compartas y, si crees que se filtró, borra el endpoint en Cord, crea un webhook nuevo en Make y registra la URL nueva.
Crear o actualizar datos en Cord
- Crea una llave. En API, en el panel de Desarrolladores, crea una llave secreta con alcance de escritura. Se muestra una sola vez; guárdala en la conexión de Make, no en un texto del escenario.
- Agrega HTTP › Make a request en tu escenario.
- Configúralo:
- URL: el endpoint, por ejemplo
https://cordhq.app/api/v1/clientes. - Method:
POSTpara crear,PATCHpara actualizar,GETpara buscar. - Headers:
AuthorizationconBearerseguido de tu llave, yContent-Typeconapplication/json. - Body type:
Raw, con Content type JSON y los campos del recurso. - Parse response: activado, para usar la respuesta en los siguientes módulos.
- URL: el endpoint, por ejemplo
- Evita duplicados con el header
Idempotency-Key(ver abajo).
Qué puedes hacer
| Quieres | Petición |
|---|---|
| Buscar un cliente por correo antes de crearlo | GET /api/v1/clientes?email=correo@cliente.com |
| Crear un cliente | POST /api/v1/clientes con al menos empresa |
| Actualizar el contacto de un cliente | PATCH /api/v1/clientes/{id} con contacto, email, telefono, etc. |
| Buscar una cotización por folio | GET /api/v1/cotizaciones?folio=COT-00104 |
| Crear una cotización | POST /api/v1/cotizaciones |
| Enviar, aprobar, rechazar o marcar pagada una cotización | POST /api/v1/cotizaciones/{id} con action: send, resend, approve, reject o mark_paid |
| Crear una tarea | POST /api/v1/tareas con titulo y, opcional, due_date y cotizacion_id |
Los campos de cada endpoint: Clientes, Cotizaciones y Tareas.
Evitar duplicados
Make puede reintentar un módulo. Para que un reintento no cree el mismo cliente dos veces, agrega el header Idempotency-Key con un valor fijo para esa operación, por ejemplo el id del evento que la originó o el id de la fila de tu hoja de cálculo. Si Cord ya recibió esa llave con la misma petición, devuelve el resultado original en lugar de crear otro registro.
Llaves de prueba
Con una llave sk_test_… tu escenario trabaja sobre el entorno de prueba de tu cuenta, aislado de tus datos reales. Úsala mientras armas el escenario y cámbiala por la sk_live_… al terminar.
Ejemplos de escenarios
- Cotización aprobada → hoja de cálculo: Custom webhook con
quote.approved→ Google Sheets › Add a row con folio, cliente y total. - Formulario → cliente en Cord: Typeform › Watch responses → HTTP
GET /api/v1/clientes?email=→ si no existe, HTTPPOST /api/v1/clientes. - Factura pagada → contabilidad: Custom webhook con
invoice.paid→ tu sistema contable. - Pago en otra plataforma → marcar pagada en Cord: el disparador de tu plataforma → HTTP
GET /api/v1/cotizaciones?folio=→ HTTPPOST /api/v1/cotizaciones/{id}con{"action":"mark_paid"}.
Errores comunes
| Respuesta de Cord | Causa | Qué hacer |
|---|---|---|
| 401 | Falta la llave, está mal copiada o fue revocada. | Revisa el header Authorization: Bearer sk_live_…. |
| 403 | La llave es de solo lectura. | Crea una llave con alcance de escritura. |
| 404 | El id no existe en tu organización. | Revisa que mapeaste el id correcto, no el folio. |
409 invalid_state |
La acción no aplica al estado actual, por ejemplo aprobar un borrador. | Revisa el estado de la cotización antes de la acción. |
422 idempotency_key_reused |
Usaste la misma Idempotency-Key con otra petición. |
Usa una clave distinta por operación. |
| 429 | Superaste el límite por minuto o la cuota mensual de API. | Agrega una pausa entre módulos o reduce la frecuencia. Revisa tu consumo en Ajustes › Planes y suscripción; en Gratis, espera al siguiente mes o sube de plan. |
| “No puedes conectar apps aquí” al autorizar | Tu usuario no tiene el permiso de Ajustes en ese espacio. | Pide a quien lo tenga que autorice. |
Más en Errores de la API.