Workflow n8n

Automatisation Airtable avec n8n : gestion des données en temps réel

Ce workflow n8n a pour objectif d'automatiser la gestion des données dans Airtable en intégrant des opérations avec Redis. Dans un contexte où la rapidité et l'efficacité sont essentielles pour les entreprises, ce type d'automatisation permet de réduire les erreurs humaines et d'optimiser le flux de travail. Les cas d'usage incluent la synchronisation des données entre différentes plateformes et la gestion des informations en temps réel, ce qui est particulièrement utile pour les équipes marketing et de gestion de projet.

  • Étape 1 : le workflow commence par un déclencheur Webhook, permettant de recevoir des données externes.
  • Étape 2 : les données sont ensuite traitées par plusieurs nœuds Set pour structurer les informations.
  • Étape 3 : des opérations avec Redis sont effectuées pour stocker temporairement des données, ce qui améliore la performance.
  • Étape 4 : des conditions sont appliquées pour vérifier si les données doivent être mises à jour par minute ou par heure, garantissant ainsi une gestion efficace des informations. En fin de compte, cette automatisation n8n apporte une valeur ajoutée significative en réduisant le temps de traitement des données et en minimisant les risques d'erreurs, ce qui se traduit par une meilleure productivité et une prise de décision plus rapide.
Tags clés :automatisationAirtableRedisn8ngestion des données
Catégorie: Webhook · Tags: automatisation, Airtable, Redis, n8n, gestion des données0

Workflow n8n Airtable, Redis, gestion des données : vue d'ensemble

Schéma des nœuds et connexions de ce workflow n8n, généré à partir du JSON n8n.

Workflow n8n Airtable, Redis, gestion des données : détail des nœuds

  • Airtable

    Ce noeud interagit avec une table Airtable pour effectuer des opérations spécifiques.

  • Redis

    Ce noeud gère les opérations de stockage et de récupération de données dans Redis.

  • Redis1

    Ce noeud effectue des opérations sur une clé spécifique dans Redis.

  • Set1

    Ce noeud permet de définir des valeurs dans le contexte du workflow.

  • Webhook1

    Ce noeud reçoit des requêtes via un webhook et peut répondre selon les options définies.

  • Function

    Ce noeud exécute un code JavaScript personnalisé pour traiter des données.

  • Set

    Ce noeud permet de définir des valeurs dans le contexte du workflow, similaire à Set1.

  • Set2

    Ce noeud définit des valeurs dans le contexte du workflow, comme les précédents noeuds Set.

  • Set3

    Ce noeud permet de définir des valeurs dans le contexte du workflow, continuant la série des noeuds Set.

  • Per hour

    Ce noeud évalue des conditions pour déterminer si une action doit être exécutée chaque heure.

  • Per minute

    Ce noeud évalue des conditions pour déterminer si une action doit être exécutée chaque minute.

Inscris-toi pour voir l'intégralité du workflow

Inscription gratuite

S'inscrire gratuitementBesoin d'aide ?
{
  "nodes": [
    {
      "name": "Airtable",
      "type": "n8n-nodes-base.airtable",
      "position": [
        1650,
        300
      ],
      "parameters": {
        "table": "Pokemon",
        "operation": "list",
        "additionalOptions": {}
      },
      "credentials": {
        "airtableApi": "Airtable Credentials @n8n"
      },
      "typeVersion": 1
    },
    {
      "name": "Redis",
      "type": "n8n-nodes-base.redis",
      "position": [
        600,
        600
      ],
      "parameters": {
        "key": "={{$json[\"apiKey\"]}}",
        "ttl": 3600,
        "expire": true,
        "operation": "incr"
      },
      "credentials": {
        "redis": "Redis Cloud Credentials"
      },
      "typeVersion": 1
    },
    {
      "name": "Redis1",
      "type": "n8n-nodes-base.redis",
      "position": [
        1200,
        450
      ],
      "parameters": {
        "key": "={{$json[\"apiKey\"]}}",
        "operation": "incr"
      },
      "credentials": {
        "redis": "Redis Cloud Credentials"
      },
      "typeVersion": 1
    },
    {
      "name": "Set1",
      "type": "n8n-nodes-base.set",
      "position": [
        1600,
        550
      ],
      "parameters": {
        "values": {
          "string": [
            {
              "name": "message",
              "value": "You exceeded your limit"
            }
          ]
        },
        "options": {},
        "keepOnlySet": true
      },
      "typeVersion": 1
    },
    {
      "name": "Webhook1",
      "type": "n8n-nodes-base.webhook",
      "position": [
        200,
        600
      ],
      "webhookId": "a3167ed7-98d2-422c-bfe2-e3ba599d19f1",
      "parameters": {
        "path": "a3167ed7-98d2-422c-bfe2-e3ba599d19f1",
        "options": {},
        "responseMode": "lastNode",
        "authentication": "headerAuth"
      },
      "credentials": {
        "httpHeaderAuth": "Credential Example"
      },
      "typeVersion": 1
    },
    {
      "name": "Function",
      "type": "n8n-nodes-base.function",
      "position": [
        1900,
        300
      ],
      "parameters": {
        "functionCode": " const limit = `Limit consumed: `+ $node['Redis1'].json[$node[\"Set2\"].json[\"apiKey\"]];\n return [\n  {\n    json: {\n      message:limit,\n      body: items.map(item => {\n        const name= item.json.fields.name\n        const url= item.json.fields.url\n        return {name,url}\n      })\n    }\n  }\n]\n"
      },
      "typeVersion": 1
    },
    {
      "name": "Set",
      "type": "n8n-nodes-base.set",
      "position": [
        400,
        600
      ],
      "parameters": {
        "values": {
          "string": [
            {
              "name": "apiKey",
              "value": "={{$json[\"headers\"][\"x-api-key\"] +'-'+ new Date().getHours() +'-'+ new Date().getMinutes()}}"
            }
          ]
        },
        "options": {},
        "keepOnlySet": true
      },
      "typeVersion": 1
    },
    {
      "name": "Set2",
      "type": "n8n-nodes-base.set",
      "position": [
        1000,
        450
      ],
      "parameters": {
        "values": {
          "string": [
            {
              "name": "apiKey",
              "value": "={{$node['Webhook1'].json[\"headers\"][\"x-api-key\"] +'-'+ new Date().getHours()}}"
            }
          ]
        },
        "options": {},
        "keepOnlySet": true
      },
      "typeVersion": 1
    },
    {
      "name": "Set3",
      "type": "n8n-nodes-base.set",
      "position": [
        1000,
        700
      ],
      "parameters": {
        "values": {
          "string": [
            {
              "name": "message",
              "value": "You exceeded your limit"
            }
          ]
        },
        "options": {},
        "keepOnlySet": true
      },
      "typeVersion": 1
    },
    {
      "name": "Per hour",
      "type": "n8n-nodes-base.if",
      "position": [
        1400,
        450
      ],
      "parameters": {
        "conditions": {
          "number": [
            {
              "value1": "={{$json[$node[\"Set2\"].json[\"apiKey\"]]}}",
              "value2": 60
            }
          ],
          "string": []
        }
      },
      "typeVersion": 1
    },
    {
      "name": "Per minute",
      "type": "n8n-nodes-base.if",
      "position": [
        800,
        600
      ],
      "parameters": {
        "conditions": {
          "number": [
            {
              "value1": "={{$json[$node[\"Set\"].json[\"apiKey\"]]}}",
              "value2": 10,
              "operation": "smallerEqual"
            }
          ]
        }
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "Set": {
      "main": [
        [
          {
            "node": "Redis",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set2": {
      "main": [
        [
          {
            "node": "Redis1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Redis": {
      "main": [
        [
          {
            "node": "Per minute",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Redis1": {
      "main": [
        [
          {
            "node": "Per hour",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Airtable": {
      "main": [
        [
          {
            "node": "Function",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Per hour": {
      "main": [
        [
          {
            "node": "Airtable",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Set1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook1": {
      "main": [
        [
          {
            "node": "Set",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Per minute": {
      "main": [
        [
          {
            "node": "Set2",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Set3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Workflow n8n Airtable, Redis, gestion des données : pour qui est ce workflow ?

Ce workflow s'adresse aux équipes marketing et opérationnelles des PME et grandes entreprises qui cherchent à automatiser la gestion de leurs données. Un niveau technique intermédiaire est recommandé pour la mise en place et la personnalisation de ce workflow n8n.

Workflow n8n Airtable, Redis, gestion des données : problème résolu

Ce workflow résout le problème de la gestion manuelle des données dans Airtable, qui peut être source d'erreurs et de pertes de temps. En automatisant le processus, les utilisateurs peuvent éviter les erreurs humaines et gagner du temps sur des tâches répétitives. De plus, il permet de garantir que les données sont toujours à jour, ce qui réduit le risque de prise de décision basée sur des informations obsolètes.

Workflow n8n Airtable, Redis, gestion des données : étapes du workflow

Étape 1 : le workflow est déclenché par un Webhook qui reçoit des données.

  • Étape 1 : les données sont traitées par des nœuds Set pour les structurer.
  • Étape 2 : des opérations avec Redis sont effectuées pour stocker temporairement les données.
  • Étape 3 : des conditions sont appliquées pour déterminer si les mises à jour doivent se faire par minute ou par heure.
  • Étape 4 : les données sont ensuite envoyées vers Airtable pour être mises à jour ou ajoutées.

Workflow n8n Airtable, Redis, gestion des données : guide de personnalisation

Pour personnaliser ce workflow, il est nécessaire de modifier l'URL du Webhook pour l'adapter à votre application. Vous pouvez également ajuster les paramètres des nœuds Redis pour définir les clés et les durées de vie des données. Enfin, les nœuds Set peuvent être adaptés pour inclure les valeurs spécifiques que vous souhaitez gérer dans Airtable. Assurez-vous de tester le flux pour garantir son bon fonctionnement et de surveiller les performances pour optimiser les temps de réponse.