Terminez d'abord "Leçon 2 : Construire votre premier workflow avec des déclencheurs et des actions" pour débloquer cette leçon.Aller à la leçon précédente

Connecter des applications dans n8n — La vue d'ensemble

Dans n8n, chaque workflow commence par un trigger (un node qui déclenche le processus) et se poursuit avec des nodes d'action qui communiquent avec d'autres services. Pour faire dialoguer deux applications, vous avez besoin de trois éléments : un identifiant (pour que n8n soit autorisé à accéder à l'application), le bon type de node pour ce service, et une compréhension de la forme que prennent les données lorsqu'elles circulent entre les nodes.

n8n fait transiter les données entre les nodes sous forme d'objets JSON. Chaque node reçoit un tableau d'items, effectue une opération dessus, puis transmet un nouveau tableau. Cette structure cohérente est ce qui vous permet d'enchaîner quasiment n'importe quelles deux applications sans écrire de code de liaison.

diagramme flowchart montrant un node trigger transmettant des items JSON à un node de service, puis à un node de transformation, puis à un autre node de service

Identifiants et choix du bon node

Avant que n8n puisse lire ou écrire dans une application externe, vous devez ajouter un identifiant. Rendez-vous dans la barre latérale gauche, cliquez sur Credentials, créez-en un nouveau et choisissez le type d'application (par exemple, Google Sheets OAuth2, token API Slack ou PAT Airtable). Une fois enregistré, chaque node de ce type dans vos workflows peut le réutiliser.

Chaque application dans n8n propose généralement plusieurs nodes. Pour Google Sheets, vous disposez d'un seul node « Google Sheets » avec plusieurs opérations (lire des lignes, ajouter une ligne, mettre à jour une ligne). Pour les CRM ou les outils marketing, vous voyez souvent un node par ressource. Choisir le bon node consiste essentiellement à faire correspondre l'opération dont vous avez besoin : lire, écrire ou mettre à jour.

javascript
// Example: a credential reference shown in an n8n node (conceptual)
{
"node": "Google Sheets",
"operation": "readRows",
"credential": "Google Sheets account 1",
"sheetId": "1AbC...",
"range": "A1:D100"
}

Mapper les champs entre les services

Différentes applications nomment le même concept différemment. Un client dans Stripe correspond à `customer.email` ; dans HubSpot, il s'agit de `properties.email` ; dans une Google Sheet, cela peut être la colonne `Email`. Lorsque vous glissez la sortie d'un node dans le champ d'entrée d'un autre, n8n construit une **expression** qui extrait la valeur du JSON de l'item précédent.

Vous pouvez écrire des expressions manuellement en utilisant la syntaxe d'expression n8n, qui encapsule les références entre `{{ }}`. Par exemple, pour extraire un e-mail d'un node précédent appelé « Stripe Trigger » :

javascript
{{ $json.customer.email }}

Pour récupérer une valeur depuis un node spécifique nommé plus en amont (utile lorsque le node précédent est un Set ou un Filter) :

javascript
{{ $node["HTTP Request"].json["body"]["title"] }}

Ce système de référencement constitue le cœur du mapping des champs entre les services.

Transformer les données avec les nodes Set et Code

Parfois, les données que vous recevez ne correspondent pas à ce qu'attend l'application suivante. Vous devrez peut-être renommer des clés, combiner des champs, supprimer les valeurs vides ou calculer un nouveau champ. Le node **Set** gère les cas simples : renommer, ne conserver que certaines clés ou ajouter de nouveaux champs statiques ou basés sur des expressions.

javascript
// Set node "Edit Fields" configuration (conceptual)
{
"values": {
"string": [
{ "name": "fullName", "value": "{{ $json.firstName }} {{ $json.lastName }}" },
{ "name": "email", "value": "{{ $json.email }}" }
]
},
"options": { "keepOnlySet": true }
}

Lorsque vous avez besoin de boucles, de conditions ou de toute logique réelle, insérez un node **Code**. Il exécute du JavaScript ou du Python sur chaque item d'entrée et renvoie un nouveau tableau.

javascript
// Code node (JavaScript mode) — keep only paying customers
const items = $input.all();
return items.map(item => {
if (item.json.plan !== 'free') {
return { json: { id: item.json.id, email: item.json.email } };
}
return null;
}).filter(Boolean);

Le node Code est la solution de secours lorsque les expressions et le node Set ne suffisent pas.

Exemple concret : d'un paiement Stripe à une notification Slack

Imaginez que vous souhaitiez poster un message Slack à chaque fois qu'un nouveau client payant apparaît dans Stripe. Le flux comporte quatre nodes : Stripe Trigger (sur nouveau client) → Set (remodeler les données) → Code (filtrer sur les plans payants) → Slack (poster un message). Le node Set construit une chaîne de message conviviale, le node Code supprime les clients du plan gratuit, et le node Slack envoie un bloc formaté dans un canal.

javascript
// Slack node "message" field, built from the Set node output
{{ $json.greeting }} — new paying customer!
Email: {{ $json.email }}
Plan: {{ $json.plan }}
diagramme de workflow linéaire montrant Stripe Trigger vers Set vers Code vers Slack avec des flèches étiquetées par les données transmises

Erreurs fréquentes et correctifs rapides

L'erreur la plus fréquente consiste à référencer un champ qui n'existe pas sur l'item entrant — n8n renverra silencieusement `undefined`. Ouvrez toujours le panneau de sortie du node précédent et inspectez la forme du JSON avant de câbler vos expressions. Un autre piège est d'oublier que les données dans n8n sont un **tableau d'items**, et non un objet unique ; ainsi, `json‘faitreˊfeˊrenceaupremieritemet‘json` fait référence au premier item et `input.all()` renvoie le tableau complet. Enfin, attention aux limites de taux : de nombreuses applications (Slack, Google Sheets, HubSpot) limitent les rafales, donc ajoutez un node **Wait** ou divisez les lots lorsque vous synchronisez de grands volumes de données.

Résumé

Connecter des applications dans n8n repose sur trois compétences : ajouter le bon identifiant et le bon node, mapper les champs avec des expressions, et remodeler les données avec les nodes Set ou Code lorsque les formes ne s'alignent pas. Maîtrisez-les, et presque n'importe quelles deux applications métier pourront échanger des données sans code personnalisé.

Entraînement

Point de contrôle de la leçon

Révisez la leçon et recevez des conseils sur votre travail.

0/1
Répondu · 0/1
Leçon 3 : Connecter des applications et travailler avec les données