Aller au contenu

n8n

Vos propres flux avec le nœud Cord, ou avec le nœud HTTP pour n’importe quel endpoint.

Ce que fait l’intégration

n8n se connecte à Cord de deux façons. Le nœud Cord (n8n-nodes-cord) est le chemin le plus court : il apporte un déclencheur, Cord Trigger, qui démarre votre flux quand quelque chose se passe dans Cord, et un nœud d’actions, Cord, qui crée et consulte des clients, des devis et des tâches. Le nœud HTTP Request sert pour tout endpoint de l’API que le nœud ne couvre pas encore.

n8n utilise une clé API de Cord, et non l’autorisation en un clic de Zapier et Make : chaque installation de n8n a sa propre adresse de retour, et Cord n’accepte que des adresses enregistrées à l’avance.

Prérequis

Où Ce qu’il vous faut
Cord Le droit Paramètres pour activer le mode développeur et créer une clé secrète avec accès en écriture. Toutes les offres.
n8n Votre propre installation de n8n 1.x et des droits d’administrateur pour installer des nœuds communautaires. Sur n8n Cloud, le nœud apparaîtra quand n8n aura terminé de le vérifier.
Réseau Une adresse https publique pour votre n8n : Cord n’envoie pas d’événements vers http, localhost ni vers des adresses internes ou privées.
Quota Chaque opération du nœud consomme des appels du quota mensuel d’API de votre offre Cord. Voir Limites.

Connecter avec le nœud Cord

  1. Dans n8n, allez dans Settings › Community nodes et installez n8n-nodes-cord.
  2. Dans Cord, allez dans Paramètres, activez le mode développeur en bas de l’index et ouvrez API. Créez une clé secrète avec accès en écriture ; les clés qui commencent par sk_test_ travaillent sur votre environnement de test. La clé n’est affichée qu’une seule fois.
  3. Dans n8n, créez des identifiants Cord API et collez la clé. Le bouton de test confirme que la clé fonctionne.
  4. Ajoutez le nœud Cord Trigger, choisissez les événements et activez le flux : n8n enregistre le webhook dans Cord et le supprime quand vous désactivez le flux.
  5. Pour agir sur Cord, utilisez le nœud Cord.
Workflow n8n : Cord Trigger écoute quote.approved et payment.partial, un nœud IF filtre et le nœud Cord crée une tâche. Ouverts, les identifiants « Cord API » avec la clé API masquée et le test de connexion réussi.

Le déclencheur : Cord Trigger

Dans Events, vous choisissez un ou plusieurs des 41 événements de Cord. Cord n’envoie que ceux que vous avez choisis, et le nœud vérifie la signature X-Cord-Signature-V1 de chaque envoi avec le secret reçu lors de l’enregistrement du webhook (Verify Signature, activé par défaut) : un POST qui ne vient pas de Cord est refusé.

Les événements apparaissent en anglais dans n8n, regroupés par catégorie :

Catégorie Événement dans n8n Clé Quand il se produit
Quotes Quote created quote.created Un devis est créé.
Quotes Quote sent quote.sent Un devis est envoyé.
Quotes Client opened a quote quote.viewed Le client ouvre le devis.
Quotes Quote approved quote.approved Un devis est approuvé.
Quotes Quote rejected quote.rejected Un devis est refusé.
Quotes Quote edited and resent quote.updated Un devis est modifié et renvoyé.
Quotes Quote expired quote.expired Un devis expire.
Quotes Draft deleted quote.deleted Un brouillon est supprimé.
Quotes Message posted on a quote quote.comment_added Un message est publié sur un devis.
Approvals Internal approval requested quote.approval_requested Un devis demande une validation interne.
Approvals Internal approval decided quote.approval_decided Une validation interne est tranchée.
Payments Quote paid in full quote.paid Un devis est payé en totalité.
Payments Partial payment received payment.partial Un paiement partiel est reçu.
Payments Recurring charge failed payment.failed Un paiement récurrent échoue.
Payments Dispute opened dispute.created Un litige est ouvert.
Payments Dispute closed dispute.closed Un litige est clos.
Payments Refund succeeded refund.succeeded Un remboursement aboutit.
Payments Refund failed refund.failed Un remboursement échoue.
Payments Payout paid payout.paid Un versement est effectué sur votre compte bancaire.
Payments Payout failed payout.failed Un versement échoue.
Payments Payments account updated account.updated Votre compte de paiement change.
Invoices Quote invoiced invoice.issued Un devis est facturé.
Invoices Quote CFDI stamped invoice.stamped Le CFDI d’un devis est timbré.
Invoices Invoice issued invoice.finalized Une facture est émise.
Invoices Invoice sent invoice.sent Une facture est envoyée.
Invoices Invoice paid invoice.paid Une facture est payée.
Invoices Invoice payment failed invoice.payment_failed Le paiement d’une facture échoue.
Invoices Invoice overdue invoice.overdue Une facture passe en retard.
Invoices Invoice voided invoice.voided Une facture est annulée.
Invoices Invoice marked uncollectible invoice.marked_uncollectible Une facture est marquée comme irrécouvrable.
Clients Client created client.created Un client est créé.
Clients Client updated client.updated Un client est mis à jour.
Clients Client deleted client.deleted Un client est supprimé.
Products Product created product.created Un produit est créé.
Products Product updated product.updated Un produit est mis à jour.
Products Product deleted product.deleted Un produit est supprimé.
Tasks Task created task.created Une tâche est créée.
Tasks Task completed task.completed Une tâche est terminée.
Tasks Payment promise recorded promise.created Une promesse de paiement est enregistrée.
Tasks Payment promise kept promise.kept Une promesse de paiement est tenue.
Tasks Payment promise broken promise.broken Une promesse de paiement n’est pas tenue.

Les déclencheurs temporels de Cord Workflows (échéances qui approchent et factures en retard depuis plusieurs jours) et le déclencheur planifié n’existent pas dans n8n : utilisez le nœud Schedule Trigger de n8n et les recherches du nœud Cord pour les reproduire. Les champs de chaque événement sont décrits dans Webhooks pour les développeurs.

Si vous modifiez les événements d’un Cord Trigger déjà actif, le nœud filtre ceux que vous avez retirés même si Cord continue de les envoyer ; pour que Cord cesse de les envoyer, désactivez puis réactivez le flux.

Les actions : le nœud Cord

Ressource Opération Champs
Client Create Company (obligatoire). Facultatifs : Contact, Email, Phone, Tax ID, Country Code et Payment Terms (Upfront, Net 7, Net 15, Net 30, Net 45, Net 60 ou Net 90 ; Net 7, Net 15, Net 45 et Net 90 à partir de la version 1.2.0 du nœud).
Client Update Client ID et les champs que vous voulez modifier.
Client Get Client ID.
Client Search Texte ou e-mail à rechercher.
Quote Create Client ID et Items (Description, Quantity, Unit Price). Facultatifs : Currency, Payment Terms, Valid For (Days), Notes et Send Now pour l’envoyer dès sa création.
Quote Get Quote ID.
Quote Search Numéro de devis ou client à rechercher.
Quote Send Quote ID d’un brouillon.
Quote Mark as Paid Quote ID et, en option, Payment Method.
Task Create Title. Facultatifs : Due Date et Quote ID pour la rattacher à un devis.

Le nœud Cord peut aussi servir d’outil à un agent IA dans n8n.

Avec le nœud HTTP Request

  1. Pour recevoir des événements, ajoutez un webhook dans l’onglet Webhooks du Workbench avec l’URL du nœud Webhook de n8n et choisissez les événements.
  2. Pour appeler l’API, utilisez HTTP Request sur https://cordhq.app/api/v1/... avec l’en-tête Authorization: Bearer sk_....
  3. Ajoutez l’en-tête Idempotency-Key avec une valeur unique par opération quand vous créez des données, pour qu’une relance ne les duplique pas.

Avec le nœud Webhook générique, c’est vous qui vérifiez la signature ; les détails figurent dans Webhooks pour les développeurs.

Ce qui circule et dans quel sens

Sens Ce qui circule Quand
De Cord vers n8n Les événements choisis dans Cord Trigger, signés, avec id, event, created_at et data. Instantanément, chaque fois qu’ils se produisent dans Cord. Si n8n ne répond pas, Cord relance l’envoi.
De n8n vers Cord Ce que fait le nœud Cord ou votre HTTP Request : clients, devis, paiements enregistrés ou tâches. Quand le flux s’exécute.

Ce que n8n fait dans Cord déclenche les mêmes événements que si une personne l’avait fait, avec Qui l’a déclenché : L’API. Si un flux écoute un événement et le provoque aussi, attention aux boucles : filtrez sur le champ modifié ou sur l’auteur de l’action.

Limites

Limite Valeur
Appels API par mois Gratuit 100, Starter 1 000, Professionnel 5 000, Scale 10 000, Developer 50 000
Au-delà du quota Avec l’offre Gratuite, les appels sont refusés jusqu’au mois suivant ; à partir de Starter, ils sont facturés en dépassement, avec un plafond de sécurité fixé à 10 fois le volume inclus
Clés API actives Gratuit 2, Starter 5, Professionnel 20, Scale 50, Developer 200
Webhooks enregistrés par Cord Trigger 100 par organisation, partagés avec Zapier et Make, en plus des endpoints de votre offre
Webhooks que vous créez à la main (nœud HTTP) Ceux de votre offre : 16 avec Gratuit, Starter et Professionnel ; 32 avec Scale ; 100 avec Developer
  • Ce qui consomme du quota : chaque opération du nœud Cord et chaque appel HTTP Request avec une clé sk_live_…, ainsi que l’enregistrement ou la suppression du webhook quand vous activez ou désactivez un flux avec Cord Trigger. Recevoir des événements ne consomme pas de quota, pas plus qu’une clé sk_test_….
  • Votre consommation : dans Paramètres › Offres et abonnement › Abonnement, ligne Appels API.

Déconnecter

  • Désactiver un flux : quand vous désactivez un flux avec Cord Trigger, n8n supprime dans Cord le webhook qu’il avait enregistré. Si le webhook n’existait déjà plus dans Cord, n8n se désactive quand même.
  • Couper complètement l’accès :
  1. Dans Cord, ouvrez l’onglet Clés API du Cord Workbench.
  2. Repérez la clé que vous avez collée dans n8n et cliquez sur Révoquer. Confirmez : elle cesse de fonctionner immédiatement et cette action est irréversible.
  3. Dans n8n, supprimez les identifiants Cord API.

Une fois la clé révoquée, n8n ne peut plus appeler l’API avec elle, et les webhooks que cette clé avait enregistrés cessent de recevoir des événements.

  • Avec le nœud HTTP Request : supprimez aussi le webhook dans l’onglet Webhooks du Workbench.

Problèmes fréquents

Message ou symptôme Que faire
Le test des identifiants échoue Collez une clé secrète (sk_live_ ou sk_test_). Les clés publiables (pk_) ne fonctionnent pas ici. Si la clé a été révoquée, créez-en une autre.
Le flux avec Cord Trigger ne s’active pas La clé doit avoir l’accès en écriture pour enregistrer le webhook. Vérifiez aussi que l’adresse de n8n est en https et publique : Cord refuse http, localhost et les adresses internes ou privées.
Cord indique que vos intégrations ont atteint le maximum de 100 abonnements par organisation Désactivez les flux n8n, les Zaps ou les scénarios que vous n’utilisez plus pour libérer de la place.
n8n répond 401 aux envois de Cord Le déclencheur refuse les envois dont la signature ne correspond pas au secret reçu lors de l’enregistrement du webhook. Désactivez puis réactivez le flux pour qu’il en enregistre un nouveau.
Le nœud Cord répond 429 Vous avez dépassé la limite par minute ou le quota mensuel d’API. Vérifiez votre consommation ; avec l’offre Gratuite, attendez le mois suivant ou changez d’offre.
Vous ne pouvez pas créer la clé Vous avez atteint le nombre maximal de clés actives de votre offre. Révoquez-en une que vous n’utilisez plus.

Voir aussi