Workflow n8n

Automatiser la mise à jour des prix Shopify avec Google Sheets via n8n

Ce workflow a pour objectif d'automatiser la mise à jour des prix des produits sur Shopify en utilisant des données provenant de Google Sheets. Il s'adresse aux e-commerçants qui souhaitent optimiser leur gestion des prix sans intervention manuelle. Le processus commence par un déclencheur Cron qui active le workflow à intervalles réguliers. Ensuite, les données sont récupérées depuis Google Sheets, où les prix sont stockés. Un nœud Function permet de traiter ces données avant de les envoyer à Shopify pour mettre à jour les prix des produits. Un nœud Slack est également intégré pour notifier l'utilisateur des mises à jour effectuées, garantissant ainsi une communication fluide au sein de l'équipe. La condition IF permet de vérifier si les mises à jour sont nécessaires avant d'effectuer les changements, ce qui optimise le flux de travail et évite les mises à jour inutiles. En intégrant ces outils, ce workflow offre une solution efficace pour réduire le temps passé sur la gestion des prix, minimiser les erreurs humaines et améliorer la réactivité face aux changements de marché. Tags clés : automatisation, Shopify, Google Sheets.

Catégorie: Scheduled · Tags: automatisation, Shopify, Google Sheets, e-commerce, notification0

Vue d'ensemble du workflow n8n

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

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

Inscription gratuite

S'inscrire gratuitementBesoin d'aide ?
{
  "nodes": [
    {
      "name": "Cron",
      "type": "n8n-nodes-base.cron",
      "position": [
        -700,
        1500
      ],
      "parameters": {
        "triggerTimes": {
          "item": [
            {
              "hour": 10,
              "mode": "everyWeek"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "name": "Shopify",
      "type": "n8n-nodes-base.shopify",
      "position": [
        -500,
        1500
      ],
      "parameters": {
        "options": {},
        "operation": "getAll"
      },
      "credentials": {
        "shopifyApi": "shopify_nodeqa"
      },
      "typeVersion": 1
    },
    {
      "name": "Function",
      "type": "n8n-nodes-base.function",
      "position": [
        300,
        1400
      ],
      "parameters": {
        "functionCode": "let totalOrders = items.length;\nlet ordersSum = 0;\n\nfor(let i=0; i < items.length; i++) {\n  ordersSum = ordersSum + parseFloat(items[i].json.orderPrice);\n}\nreturn [{json:{totalOrders, ordersSum}}]"
      },
      "typeVersion": 1
    },
    {
      "name": "Google Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        500,
        1500
      ],
      "parameters": {
        "options": {},
        "sheetId": "1GVyV1yYwWZu510NTzVgi2RyesrsnuP3RxXmWbX1O7DQ",
        "operation": "append",
        "authentication": "oAuth2"
      },
      "credentials": {
        "googleSheetsOAuth2Api": "google_sheets_oauth"
      },
      "typeVersion": 1
    },
    {
      "name": "Slack",
      "type": "n8n-nodes-base.slack",
      "position": [
        500,
        1300
      ],
      "parameters": {
        "text": "=Hey team, this week we had {{$json[\"totalOrders\"]}} orders with a total value of € {{$json[\"ordersSum\"]}}.",
        "channel": "shopify",
        "attachments": [],
        "otherOptions": {}
      },
      "credentials": {
        "slackApi": "slack_nodeqa"
      },
      "typeVersion": 1
    },
    {
      "name": "Date & Time",
      "type": "n8n-nodes-base.dateTime",
      "position": [
        -300,
        1500
      ],
      "parameters": {
        "value": "={{$json[\"created_at\"]}}",
        "options": {},
        "dataPropertyName": "order_date"
      },
      "typeVersion": 1
    },
    {
      "name": "IF",
      "type": "n8n-nodes-base.if",
      "position": [
        -100,
        1500
      ],
      "parameters": {
        "conditions": {
          "dateTime": [
            {
              "value1": "={{$node[\"Date & Time\"].json[\"order_date\"]}}",
              "value2": "2021-08-17T15:00:53.223Z"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "name": "NoOp",
      "type": "n8n-nodes-base.noOp",
      "position": [
        100,
        1600
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "name": "Set price",
      "type": "n8n-nodes-base.set",
      "position": [
        100,
        1400
      ],
      "parameters": {
        "values": {
          "number": [
            {
              "name": "orderPrice",
              "value": "={{$json[\"total_price\"]}}"
            }
          ]
        },
        "options": {},
        "keepOnlySet": true
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "IF": {
      "main": [
        [
          {
            "node": "Set price",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "NoOp",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Cron": {
      "main": [
        [
          {
            "node": "Shopify",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Shopify": {
      "main": [
        [
          {
            "node": "Date & Time",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Function": {
      "main": [
        [
          {
            "node": "Slack",
            "type": "main",
            "index": 0
          },
          {
            "node": "Google Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set price": {
      "main": [
        [
          {
            "node": "Function",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Date & Time": {
      "main": [
        [
          {
            "node": "IF",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Pour qui est ce workflow ?

Ce workflow est destiné aux propriétaires de boutiques en ligne utilisant Shopify, ainsi qu'aux équipes marketing et aux gestionnaires de produits qui cherchent à automatiser la mise à jour des prix. Il est adapté aux utilisateurs ayant des compétences techniques intermédiaires, souhaitant améliorer leur efficacité opérationnelle.

Problème résolu

Ce workflow résout le problème de la gestion manuelle des prix sur Shopify, qui peut être chronophage et sujet à des erreurs. En automatisant ce processus, les utilisateurs peuvent économiser du temps et réduire les risques d'inexactitudes dans les prix affichés. Cela permet également une meilleure réactivité face aux fluctuations du marché, garantissant que les prix sont toujours à jour et compétitifs.

Étapes du workflow

Étape 1 : Le workflow est déclenché par un nœud Cron qui s'exécute à des intervalles définis. Étape 2 : Les données des prix sont récupérées depuis Google Sheets via un nœud dédié. Étape 3 : Un nœud Function traite ces données pour les préparer à la mise à jour. Étape 4 : La mise à jour des prix sur Shopify est effectuée grâce à un nœud Shopify. Étape 5 : Un nœud IF vérifie si des mises à jour sont nécessaires avant d'effectuer les changements. Étape 6 : Enfin, un nœud Slack envoie une notification à l'équipe pour les informer des mises à jour réalisées.

Guide de personnalisation du workflow n8n

Pour personnaliser ce workflow, commencez par ajuster le nœud Cron pour définir la fréquence de mise à jour souhaitée. Modifiez ensuite le nœud Google Sheets pour pointer vers le bon fichier et la bonne feuille contenant les prix. Dans le nœud Shopify, assurez-vous d'entrer les bonnes informations d'identification et de spécifier les produits à mettre à jour. Vous pouvez également adapter le nœud Function pour inclure des logiques spécifiques selon vos besoins. Enfin, personnalisez le message du nœud Slack pour qu'il corresponde à votre style de communication.