n8n
Fluxos próprios com o nó do Cord, ou com o nó HTTP para qualquer endpoint.
O que faz
O n8n se conecta ao Cord de duas formas. O nó do Cord (n8n-nodes-cord) é o caminho curto: ele traz um gatilho, Cord Trigger, que inicia seu fluxo quando algo acontece no Cord, e um nó de ações, Cord, que cria e consulta clientes, orçamentos e tarefas. O nó HTTP Request serve para qualquer endpoint da API que o nó ainda não cubra.
O n8n usa uma chave de API do Cord, e não a autorização com um clique do Zapier e do Make: cada instalação do n8n tem o próprio endereço de retorno, e o Cord só aceita endereços registrados previamente.
Requisitos
| Onde | O que você precisa |
|---|---|
| Cord | A permissão de Configurações para ativar o modo desenvolvedor e criar uma chave secreta com permissão de gravação. Qualquer plano. |
| n8n | Uma instalação própria do n8n 1.x e ser administrador para instalar nós da comunidade. No n8n Cloud, o nó aparecerá quando o n8n terminar de verificá-lo. |
| Rede | Que o seu n8n tenha um endereço https público: o Cord não entrega eventos para http, localhost nem para endereços internos ou privados. |
| Cota | Cada operação do nó gasta chamadas da cota mensal de API do seu plano do Cord. Veja Limites. |
Conectar com o nó do Cord
- No n8n, acesse Settings › Community nodes e instale
n8n-nodes-cord. - No Cord, acesse Configurações, ative o modo desenvolvedor no final do índice e abra Chaves. Crie uma chave secreta com permissão de gravação; as que começam com
sk_test_trabalham no seu ambiente de teste. A chave é mostrada uma única vez. - No n8n, crie uma credencial Cord API e cole a chave. O botão de teste confirma que a chave funciona.
- Adicione o nó Cord Trigger, escolha os eventos e ative o fluxo: o n8n registra o webhook no Cord e o exclui quando você o desativa.
- Para agir sobre o Cord, use o nó Cord.
O gatilho: Cord Trigger
Em Events, você escolhe um ou vários dos 41 eventos do Cord. O Cord só envia os que você escolheu, e o nó verifica a assinatura X-Cord-Signature-V1 de cada entrega com o segredo que recebeu ao registrar o webhook (Verify Signature, ativado por padrão): um POST que não venha do Cord é recusado.
Os eventos aparecem no n8n em inglês, agrupados por categoria:
| Categoria | Evento no n8n | Chave | Quando acontece |
|---|---|---|---|
| Quotes | Quote created | quote.created |
Um orçamento é criado. |
| Quotes | Quote sent | quote.sent |
Um orçamento é enviado. |
| Quotes | Client opened a quote | quote.viewed |
O cliente abre o orçamento. |
| Quotes | Quote approved | quote.approved |
Um orçamento é aprovado. |
| Quotes | Quote rejected | quote.rejected |
Um orçamento é recusado. |
| Quotes | Quote edited and resent | quote.updated |
Um orçamento é alterado e reenviado. |
| Quotes | Quote expired | quote.expired |
Um orçamento expira. |
| Quotes | Draft deleted | quote.deleted |
Um rascunho é excluído. |
| Quotes | Message posted on a quote | quote.comment_added |
Chega uma mensagem em um orçamento. |
| Approvals | Internal approval requested | quote.approval_requested |
Um orçamento pede aprovação interna. |
| Approvals | Internal approval decided | quote.approval_decided |
Uma aprovação interna é decidida. |
| Payments | Quote paid in full | quote.paid |
Um orçamento é pago por completo. |
| Payments | Partial payment received | payment.partial |
Chega um pagamento parcial. |
| Payments | Recurring charge failed | payment.failed |
Uma cobrança recorrente falha. |
| Payments | Dispute opened | dispute.created |
Uma contestação é aberta. |
| Payments | Dispute closed | dispute.closed |
Uma contestação é encerrada. |
| Payments | Refund succeeded | refund.succeeded |
Um reembolso é concluído. |
| Payments | Refund failed | refund.failed |
Um reembolso falha. |
| Payments | Payout paid | payout.paid |
Um repasse é pago ao seu banco. |
| Payments | Payout failed | payout.failed |
Um repasse falha. |
| Payments | Payments account updated | account.updated |
Sua conta de recebimentos muda. |
| Invoices | Quote invoiced | invoice.issued |
Um orçamento é faturado. |
| Invoices | Quote CFDI stamped | invoice.stamped |
O CFDI de um orçamento é timbrado. |
| Invoices | Invoice issued | invoice.finalized |
Uma fatura é emitida. |
| Invoices | Invoice sent | invoice.sent |
Uma fatura é enviada. |
| Invoices | Invoice paid | invoice.paid |
Uma fatura é paga. |
| Invoices | Invoice payment failed | invoice.payment_failed |
O pagamento de uma fatura falha. |
| Invoices | Invoice overdue | invoice.overdue |
Uma fatura vence. |
| Invoices | Invoice voided | invoice.voided |
Uma fatura é cancelada. |
| Invoices | Invoice marked uncollectible | invoice.marked_uncollectible |
Uma fatura é marcada como incobrável. |
| Clients | Client created | client.created |
Um cliente é criado. |
| Clients | Client updated | client.updated |
Um cliente é atualizado. |
| Clients | Client deleted | client.deleted |
Um cliente é excluído. |
| Products | Product created | product.created |
Um produto é criado. |
| Products | Product updated | product.updated |
Um produto é atualizado. |
| Products | Product deleted | product.deleted |
Um produto é excluído. |
| Tasks | Task created | task.created |
Uma tarefa é criada. |
| Tasks | Task completed | task.completed |
Uma tarefa é concluída. |
| Tasks | Payment promise recorded | promise.created |
Uma promessa de pagamento é registrada. |
| Tasks | Payment promise kept | promise.kept |
Uma promessa de pagamento é cumprida. |
| Tasks | Payment promise broken | promise.broken |
Uma promessa de pagamento é descumprida. |
Os gatilhos de tempo do Cord Workflows (vencimentos que se aproximam e faturas vencidas há alguns dias) e o gatilho agendado não existem no n8n: use o nó Schedule Trigger do n8n e as buscas do nó Cord para montá-los. Os campos que cada evento traz estão em Webhooks para desenvolvedores.
Se você mudar os eventos de um Cord Trigger já ativo, o nó filtra os que você removeu, mesmo que o Cord continue enviando-os; para que o Cord deixe de enviá-los, desative e ative o fluxo novamente.
As ações: o nó Cord
| Recurso | Operação | Campos |
|---|---|---|
| Client | Create | Company (obrigatório). Opcionais: Contact, Email, Phone, Tax ID, Country Code e Payment Terms (Upfront, Net 7, Net 15, Net 30, Net 45, Net 60 ou Net 90; Net 7, Net 15, Net 45 e Net 90 a partir da versão 1.2.0 do nó). |
| Client | Update | Client ID e os campos que você quer alterar. |
| Client | Get | Client ID. |
| Client | Search | Texto ou e-mail a buscar. |
| Quote | Create | Client ID e Items (Description, Quantity, Unit Price). Opcionais: Currency, Payment Terms, Valid For (Days), Notes e Send Now para enviá-lo ao criá-lo. |
| Quote | Get | Quote ID. |
| Quote | Search | Número ou cliente a buscar. |
| Quote | Send | Quote ID de um rascunho. |
| Quote | Mark as Paid | Quote ID e, opcionalmente, Payment Method. |
| Task | Create | Title. Opcionais: Due Date e Quote ID para vinculá-la a um orçamento. |
O nó Cord também pode ser usado como ferramenta de um agente de IA dentro do n8n.
Com o nó HTTP Request
- Para receber eventos, adicione um webhook na aba Webhooks do Workbench com a URL do nó Webhook do n8n e escolha os eventos.
- Para chamar a API, use HTTP Request em
https://cordhq.app/api/v1/...com o cabeçalhoAuthorization: Bearer sk_.... - Adicione o cabeçalho
Idempotency-Keycom um valor único por operação quando criar dados, para que uma nova tentativa não os duplique.
Com o nó Webhook genérico, você mesmo verifica a assinatura; os detalhes estão em Webhooks para desenvolvedores.
O que circula e em que direção
| Direção | O que circula | Quando |
|---|---|---|
| Do Cord para o n8n | Os eventos que você escolheu no Cord Trigger, assinados, com id, event, created_at e data. |
Na hora, cada vez que acontece no Cord. Se o n8n não responder, o Cord tenta a entrega de novo. |
| Do n8n para o Cord | O que o nó Cord ou o seu HTTP Request fizer: clientes, orçamentos, pagamentos registrados ou tarefas. | Quando o fluxo é executado. |
O que o n8n faz no Cord dispara os mesmos eventos que se uma pessoa o tivesse feito, com Quem originou: A API. Se um fluxo escuta um evento e também o provoca, cuidado com os ciclos: filtre pelo campo que mudou ou pelo autor.
Limites
| Limite | Valor |
|---|---|
| Chamadas de API por mês | Grátis 100, Starter 1.000, Profissional 5.000, Scale 10.000, Developer 50.000 |
| Ao ultrapassar a cota | No Grátis, as chamadas são recusadas até o mês seguinte; a partir do Starter, são cobradas como excedente, com um limite de segurança de 10 vezes o incluído |
| Chaves de API ativas | Grátis 2, Starter 5, Profissional 20, Scale 50, Developer 200 |
| Webhooks que o Cord Trigger registra | 100 por organização, compartilhados com o Zapier e o Make, além dos endpoints do seu plano |
| Webhooks que você cria manualmente (nó HTTP) | Os do seu plano: 16 no Grátis, no Starter e no Profissional; 32 no Scale; 100 no Developer |
- O que gasta cota: cada operação do nó Cord e cada chamada de HTTP Request com uma chave
sk_live_…, além de registrar ou excluir o webhook ao ativar ou desativar um fluxo com Cord Trigger. Receber eventos não gasta cota, e uma chavesk_test_…também não. - Quanto você já usou: em Configurações › Planos e assinatura › Assinatura, na linha Chamadas de API.
Desconectar
- Desativar um fluxo: ao desativar um fluxo com Cord Trigger, o n8n exclui no Cord o webhook que tinha registrado. Se o webhook já não existia no Cord, o n8n é desativado mesmo assim.
- Cortar o acesso por completo:
- No Cord, abra a aba Chaves do Cord Workbench.
- Procure a chave que você colou no n8n e clique em Revogar. Confirme: ela deixa de funcionar imediatamente, e isso não pode ser desfeito.
- No n8n, exclua a credencial Cord API.
Ao revogar a chave, o n8n não pode mais chamar a API com ela, e os webhooks que essa chave tinha registrado deixam de receber eventos.
- Com o nó HTTP Request: exclua também o webhook na aba Webhooks do Workbench.
Problemas comuns
| Mensagem ou sintoma | O que fazer |
|---|---|
| O teste da credencial falha | Cole uma chave secreta (sk_live_ ou sk_test_). As chaves publicáveis (pk_) não servem aqui. Se a chave foi revogada, crie outra. |
| O fluxo com Cord Trigger não é ativado | A chave precisa de permissão de gravação para registrar o webhook. Verifique também se o endereço do n8n é https e público: o Cord recusa http, localhost e endereços internos ou privados. |
| “Suas integrações já criaram 100 assinaturas, o máximo por organização.” | Desative os fluxos do n8n, Zaps ou cenários que você não usa mais para liberar espaço. |
| O n8n responde 401 às entregas do Cord | O gatilho recusa as entregas cuja assinatura não corresponde ao segredo que ele recebeu ao registrar o webhook. Desative e ative o fluxo novamente para que ele registre um novo. |
| O nó Cord responde 429 | Você ultrapassou o limite por minuto ou a cota mensal de API. Verifique seu consumo; no Grátis, aguarde o mês seguinte ou mude para um plano superior. |
| Você não consegue criar a chave | Você chegou ao máximo de chaves ativas do seu plano. Revogue uma que você não usa mais. |