Saltar al contenido

n8n

Flujos propios con el nodo de Cord, o con el nodo HTTP para cualquier endpoint.

Qué hace

n8n se conecta a Cord de dos formas. El nodo de Cord (n8n-nodes-cord) es el camino corto: trae un disparador, Cord Trigger, que arranca tu flujo cuando pasa algo en Cord, y un nodo de acciones, Cord, que crea y consulta clientes, cotizaciones y tareas. El nodo HTTP Request sirve para cualquier endpoint de la API que el nodo todavía no cubra.

n8n usa una llave de API de Cord, no la autorización de un clic de Zapier y Make: cada instalación de n8n tiene su propia dirección de regreso, y Cord solo acepta direcciones registradas de antemano.

Requisitos

Dónde Qué necesitas
Cord El permiso de Ajustes para activar el modo desarrollador y crear una llave secreta con permiso de escritura. Cualquier plan.
n8n Una instalación propia de n8n 1.x y ser administrador para instalar nodos comunitarios. En n8n Cloud el nodo aparecerá cuando n8n termine de verificarlo.
Red Que tu n8n tenga una dirección https pública: Cord no entrega eventos a http, localhost ni a direcciones internas o privadas.
Cuota Cada operación del nodo gasta llamadas de la cuota mensual de API de tu plan de Cord. Ver Límites.

Conectar con el nodo de Cord

  1. En n8n, entra a Settings › Community nodes e instala n8n-nodes-cord.
  2. En Cord, ve a Ajustes, activa el modo desarrollador al final del índice y abre API. Crea una llave secreta con permiso de escritura; las que empiezan con sk_test_ trabajan contra tu entorno de prueba. La llave se muestra una sola vez.
  3. En n8n crea una credencial Cord API y pega la llave. El botón de probar confirma que la llave funciona.
  4. Agrega el nodo Cord Trigger, elige los eventos y activa el flujo: n8n registra el webhook en Cord y lo borra cuando lo desactivas.
  5. Para actuar sobre Cord, usa el nodo Cord.
Flujo de n8n: Cord Trigger escucha quote.approved y payment.partial, un nodo IF filtra y el nodo Cord crea una tarea. Abierta, la credencial "Cord API" con la llave de API enmascarada y la prueba de conexión correcta.

El disparador: Cord Trigger

En Events eliges uno o varios de los 41 eventos de Cord. Cord solo envía los que elegiste y el nodo verifica la firma X-Cord-Signature-V1 de cada entrega con el secreto que recibió al registrar el webhook (Verify Signature, activado por defecto): un POST que no venga de Cord se rechaza.

Los eventos aparecen en n8n en inglés, agrupados por categoría:

Categoría Evento en n8n Clave Cuándo ocurre
Quotes Quote created quote.created Se crea una cotización.
Quotes Quote sent quote.sent Se envía una cotización.
Quotes Client opened a quote quote.viewed El cliente abre la cotización.
Quotes Quote approved quote.approved Se aprueba una cotización.
Quotes Quote rejected quote.rejected Se rechaza una cotización.
Quotes Quote edited and resent quote.updated Se modifica y reenvía una cotización.
Quotes Quote expired quote.expired Vence una cotización.
Quotes Draft deleted quote.deleted Se elimina un borrador.
Quotes Message posted on a quote quote.comment_added Llega un mensaje en una cotización.
Approvals Internal approval requested quote.approval_requested Una cotización pide aprobación interna.
Approvals Internal approval decided quote.approval_decided Se decide una aprobación interna.
Payments Quote paid in full quote.paid Se paga por completo una cotización.
Payments Partial payment received payment.partial Llega un pago parcial.
Payments Recurring charge failed payment.failed Falla un cobro recurrente.
Payments Dispute opened dispute.created Abren un contracargo.
Payments Dispute closed dispute.closed Se cierra un contracargo.
Payments Refund succeeded refund.succeeded Se completa un reembolso.
Payments Refund failed refund.failed Falla un reembolso.
Payments Payout paid payout.paid Se paga un depósito a tu banco.
Payments Payout failed payout.failed Falla un depósito.
Payments Payments account updated account.updated Cambia tu cuenta de cobros.
Invoices Quote invoiced invoice.issued Se factura una cotización.
Invoices Quote CFDI stamped invoice.stamped Se timbra el CFDI de una cotización.
Invoices Invoice issued invoice.finalized Se emite una factura.
Invoices Invoice sent invoice.sent Se envía una factura.
Invoices Invoice paid invoice.paid Se paga una factura.
Invoices Invoice payment failed invoice.payment_failed Falla el pago de una factura.
Invoices Invoice overdue invoice.overdue Vence una factura.
Invoices Invoice voided invoice.voided Se anula una factura.
Invoices Invoice marked uncollectible invoice.marked_uncollectible Se marca una factura como incobrable.
Clients Client created client.created Se crea un cliente.
Clients Client updated client.updated Se actualiza un cliente.
Clients Client deleted client.deleted Se elimina un cliente.
Products Product created product.created Se crea un producto.
Products Product updated product.updated Se actualiza un producto.
Products Product deleted product.deleted Se elimina un producto.
Tasks Task created task.created Se crea una tarea.
Tasks Task completed task.completed Se completa una tarea.
Tasks Payment promise recorded promise.created Se registra una promesa de pago.
Tasks Payment promise kept promise.kept Se cumple una promesa de pago.
Tasks Payment promise broken promise.broken Se incumple una promesa de pago.

Los disparadores de tiempo de Cord Workflows (vencimientos que se acercan y facturas que llevan días vencidas) y el disparador programado no existen en n8n: usa el nodo Schedule Trigger de n8n y las búsquedas del nodo Cord para armarlos. Los campos que trae cada evento están en Webhooks para desarrolladores.

Si cambias los eventos de un Cord Trigger ya activo, el nodo filtra los que quitaste aunque Cord siga enviándolos; para que Cord deje de enviarlos, desactiva y vuelve a activar el flujo.

Las acciones: el nodo Cord

Recurso Operación Campos
Client Create Company (obligatorio). Opcionales: Contact, Email, Phone, Tax ID, Country Code y Payment Terms (Upfront, Net 7, Net 15, Net 30, Net 45, Net 60 o Net 90; Net 7, Net 15, Net 45 y Net 90 desde la versión 1.2.0 del nodo).
Client Update Client ID y los campos que quieras cambiar.
Client Get Client ID.
Client Search Texto o correo a buscar.
Quote Create Client ID y Items (Description, Quantity, Unit Price). Opcionales: Currency, Payment Terms, Valid For (Days), Notes y Send Now para enviarla al crearla.
Quote Get Quote ID.
Quote Search Folio o cliente a buscar.
Quote Send Quote ID de un borrador.
Quote Mark as Paid Quote ID y, opcional, Payment Method.
Task Create Title. Opcionales: Due Date y Quote ID para ligarla a una cotización.

El nodo Cord también se puede usar como herramienta de un agente de IA dentro de n8n.

Con el nodo HTTP Request

  1. Para recibir eventos, agrega un webhook en la pestaña Webhooks del Workbench con la URL del nodo Webhook de n8n y elige los eventos.
  2. Para llamar a la API, usa HTTP Request contra https://cordhq.app/api/v1/... con el encabezado Authorization: Bearer sk_....
  3. Agrega el encabezado Idempotency-Key con un valor único por operación cuando crees datos, para que un reintento no los duplique.

Con el nodo Webhook genérico tú verificas la firma; los detalles están en Webhooks para desarrolladores.

Qué viaja y en qué dirección

Dirección Qué viaja Cuándo
De Cord a n8n Los eventos que elegiste en Cord Trigger, firmados, con id, event, created_at y data. Al instante, cada vez que pasa en Cord. Si n8n no responde, Cord reintenta la entrega.
De n8n a Cord Lo que haga el nodo Cord o tu HTTP Request: clientes, cotizaciones, pagos registrados o tareas. Cuando el flujo corre.

Lo que n8n hace en Cord dispara los mismos eventos que si lo hiciera una persona, con Quién lo originó: La API. Si un flujo escucha un evento y además lo provoca, cuidado con los ciclos: filtra por el campo que cambió o por el actor.

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
Llaves de API activas Gratis 2, Starter 5, Pro 20, Scale 50, Developer 200
Webhooks que registra Cord Trigger 100 por organización, compartidos con Zapier y Make, aparte de los endpoints de tu plan
Webhooks que creas a mano (nodo HTTP) Los de tu plan: 16 en Gratis, Starter y Pro; 32 en Scale; 100 en Developer
  • Qué gasta cuota: cada operación del nodo Cord y cada llamada de HTTP Request con una llave sk_live_…, más registrar o borrar el webhook al activar o desactivar un flujo con Cord Trigger. Recibir eventos no gasta cuota, y una llave sk_test_… tampoco.
  • Cuánto llevas: en Ajustes › Planes y suscripción › Suscripción, fila Llamadas a la API.

Desconectar

  • Apagar un flujo: al desactivar un flujo con Cord Trigger, n8n borra en Cord el webhook que había registrado. Si el webhook ya no existía en Cord, n8n se desactiva igual.
  • Cortar el acceso por completo:
  1. En Cord, abre la pestaña Llaves del Cord Workbench.
  2. Busca la llave que pegaste en n8n y pulsa Revocar. Confirma: deja de funcionar de inmediato y no se puede deshacer.
  3. En n8n, borra la credencial Cord API.

Al revocar la llave, n8n ya no puede llamar a la API con ella, y los webhooks que esa llave había registrado dejan de recibir eventos.

  • Con el nodo HTTP Request: borra también el webhook en la pestaña Webhooks del Workbench.

Problemas comunes

Mensaje o síntoma Qué hacer
La prueba de la credencial falla Pega una llave secreta (sk_live_ o sk_test_). Las llaves publicables (pk_) no sirven aquí. Si la llave se revocó, crea otra.
El flujo no se activa con Cord Trigger La llave necesita permiso de escritura para registrar el webhook. Revisa también que la dirección de n8n sea https y pública: Cord rechaza http, localhost y direcciones internas o privadas.
“Tus integraciones ya crearon 100 suscripciones, el máximo por organización.” Desactiva los flujos de n8n, Zaps o escenarios que ya no uses para liberar espacio.
n8n responde 401 a las entregas de Cord El disparador rechaza las entregas cuya firma no coincide con el secreto que recibió al registrar el webhook. Desactiva y vuelve a activar el flujo para que registre uno nuevo.
El nodo Cord responde 429 Pasaste el límite por minuto o la cuota mensual de API. Revisa tu consumo; en Gratis, espera al siguiente mes o sube de plan.
No puedes crear la llave Llegaste al máximo de llaves activas de tu plan. Revoca una que ya no uses.

Relacionadas