Intégration Shopify n8nAutomatiser Shopify avec n8n.
Combien d'heures par semaine partent à recopier des commandes Shopify à la main ? L'intégration Shopify n8n s'en charge : le nœud Shopify couvre 10 opérations sur les commandes et les produits, le Shopify Trigger écoute 59 événements webhook, et un seul credential suffit pour les deux.
Avis vérifiés sur Trustpilot · Agence IA, automatisation & growth
À quoi sert vraiment une intégration Shopify n8n ?
Une intégration Shopify n8n, c'est deux nœuds qui se répondent. Le Shopify Trigger reçoit les événements de la boutique par webhook, c'est-à-dire une URL que Shopify appelle dès qu'il se passe quelque chose, et le nœud Shopify interroge l'API Admin pour lire ou écrire des commandes et des produits. Entre les deux, tu mets ce que tu veux : un filtre, une étape IA, un message, une ligne de tableur. Tout tourne dans n8n, sur n8n Cloud ou sur ta propre machine.
Premier scénario, la boutique qui ne ressaisit plus rien. Le trigger part sur orders/paid, une opération Get an order récupère le détail complet parce que la charge utile du webhook ne porte pas toujours toutes les lignes, et la commande atterrit dans Google Sheets pour la compta. Même workflow, autre branche : le récapitulatif tombe dans le canal logistique de Slack, et personne n'ouvre l'admin pour préparer les colis.
Deuxième scénario, le stock. L'événement inventory_levels/update se déclenche à chaque mouvement. Un filtre ne garde que les variantes passées sous ton seuil, et l'alerte part vers la personne qui réassort. Pas besoin de surveiller un écran toute la journée.
Troisième scénario, le catalogue. Une exécution nocturne liste les produits avec Return All, compare au fichier fournisseur, et déclenche une opération Update a product là où un prix a bougé. Côté relation client, un nouvel acheteur peut être poussé dans HubSpot au moment où il commande.
La limite, maintenant, parce qu'elle change la façon de construire. Le nœud expose 2 ressources, Order et Product. Les clients, les expéditions, les remises, les commandes provisoires n'ont aucune opération ici, même si le trigger écoute leurs événements. Dans ce cas, le nœud HTTP Request appelle l'endpoint de l'API Admin en réutilisant exactement le même credential Shopify, sans rien reconfigurer.
Deux détails avant de te lancer. Le trigger ne retient qu'un événement par nœud : surveiller les commandes et les produits demande deux nœuds trigger. Et sur les opérations Get Many, laisser Return All décoché arrête la remontée à Limit, ce qui tronque un export sans rien signaler. Si l'outil lui-même est encore en question, l'Avis n8n passe les critères en revue.
Comment connecter Shopify à n8n ?
- 01
Choisis ta méthode d'authentification
Trois méthodes existent côté n8n, et une seule est recommandée. L'access token convient à une application privée sur une boutique unique, et un admin normal peut le créer. L'OAuth2 vise les applications publiques et impose un compte Shopify partner, avec un Client ID, un Client Secret et l'OAuth Redirect URL de n8n collée dans la configuration de l'app. L'API key, elle, est dépréciée : Shopify ne génère plus de clés avec mot de passe.
- 02
Crée l'application personnalisée et ses scopes
Dans Shopify, ouvre Admin, puis Settings, puis Apps and sales channels, puis Develop apps, puis Create a custom app. Renseigne l'App name et l'App developer : le propriétaire de la boutique, ou un compte ayant la permission Develop apps. Passe par Select scopes et coche, dans la section Admin API access scopes,
read_orders,write_orders,read_productsetwrite_productspour couvrir ce que fait le nœud. Enregistre avec Save, puis Install app. - 03
Remplis le credential dans n8n
Retour dans n8n, menu Credentials, nouveau credential Shopify. Le Shop Subdomain est la partie qui précède
.myshopify.com: une boutique surhttps://n8n.myshopify.coma pour sous-domainen8n. Dans la section API Credentials de l'app, copie l'Admin API Access Token dans Access Token et l'API Secret Key dans APP Secret Key. Le credential se crée une fois et apparaît ensuite dans la liste déroulante du nœud comme du trigger.
Qu'est-ce que le Shopify Trigger sait écouter ?
Shopify Trigger est le nœud qui démarre un workflow quand quelque chose se passe dans Shopify. Il écoute 59 événements, listés ci-dessous par famille. Tu en choisis un ou plusieurs, tu actives le workflow : n8n enregistre le webhook (l'URL que Shopify appelle) sur ton compte.
Ce que tu vois dans n8n
Tous les événements, par famille
Une ligne par objet, une puce par action. L'événement à cocher dans le nœud s'écrit objet.action ; survole une puce pour lire quand il se déclenche.
app/uninstalled.*1app/uninstalled.app/uninstalled
carts/create.*1carts/create.carts/create
carts/update.*1carts/update.carts/update
checkouts/create.*1checkouts/create.checkouts/create
checkouts/delete.*1checkouts/delete.checkouts/delete
checkouts/update.*1checkouts/update.checkouts/update
collection_listings/add.*1collection_listings/add. collection_listings/add
collection_listings/remove.*1collection_listings/remove. collection_listings/remove
collection_listings/update.*1collection_listings/update. collection_listings/update
collections/create.*1collections/create.collections/create
collections/delete.*1collections/delete.collections/delete
collections/update.*1collections/update.collections/update
customer_groups/create.*1customer_groups/create. customer_groups/create
customer_groups/delete.*1customer_groups/delete. customer_groups/delete
customer_groups/update.*1customer_groups/update. customer_groups/update
customers/create.*1customers/create.customers/create
customers/delete.*1customers/delete.customers/delete
customers/disable.*1customers/disable.customers/disable
customers/enable.*1customers/enable.customers/enable
customers/update.*1customers/update.customers/update
draft_orders/create.*1draft_orders/create. draft_orders/create
draft_orders/delete.*1draft_orders/delete. draft_orders/delete
draft_orders/update.*1draft_orders/update. draft_orders/update
fulfillment_events/create.*1fulfillment_events/create. fulfillment_events/create
fulfillment_events/delete.*1fulfillment_events/delete. fulfillment_events/delete
fulfillments/create.*1fulfillments/create.fulfillments/create
fulfillments/update.*1fulfillments/update.fulfillments/update
inventory_items/create.*1inventory_items/create. inventory_items/create
inventory_items/delete.*1inventory_items/delete. inventory_items/delete
inventory_items/update.*1inventory_items/update. inventory_items/update
inventory_levels/connect.*1inventory_levels/connect. inventory_levels/connect
inventory_levels/disconnect.*1inventory_levels/disconnect. inventory_levels/disconnect
inventory_levels/update.*1inventory_levels/update. inventory_levels/update
locales/create.*1locales/create.locales/create
locales/update.*1locales/update.locales/update
locations/create.*1locations/create.locations/create
locations/delete.*1locations/delete.locations/delete
locations/update.*1locations/update.locations/update
order_transactions/create.*1order_transactions/create. order_transactions/create
orders/cancelled.*1orders/cancelled.orders/cancelled
orders/create.*1orders/create.orders/create
orders/delete.*1orders/delete.orders/delete
orders/fulfilled.*1orders/fulfilled.orders/fulfilled
orders/paid.*1orders/paid.orders/paid
orders/partially_fulfilled.*1orders/partially_fulfilled. orders/partially_fulfilled
orders/updated.*1orders/updated.orders/updated
product_listings/add.*1product_listings/add. product_listings/add
product_listings/remove.*1product_listings/remove. product_listings/remove
product_listings/update.*1product_listings/update. product_listings/update
products/create.*1products/create.products/create
products/delete.*1products/delete.products/delete
products/update.*1products/update.products/update
refunds/create.*1refunds/create.refunds/create
shop/update.*1shop/update.shop/update
tender_transactions/create.*1tender_transactions/create. tender_transactions/create
themes/create.*1themes/create.themes/create
themes/delete.*1themes/delete.themes/delete
themes/publish.*1themes/publish.themes/publish
themes/update.*1themes/update.themes/update
Notes de configuration
01Set up the Shopify Trigger
Le Shopify Trigger enregistre un webhook auprès de la boutique au moment où tu actives le workflow. Shopify appelle ensuite l'URL n8n de lui-même, et chaque événement déclenche une exécution en quelques secondes. Rien à planifier, rien à interroger en boucle. Désactiver le workflow retire l'enregistrement côté Shopify.
Paramètres clés
- Trigger On : l'événement unique écouté par le nœud, à prendre dans la liste des 59 topics. Aucune option « tous les événements » n'existe, donc un nœud écoute un sujet et deux sujets demandent deux nœuds.
02Orders, payments and refunds
La famille la plus fournie, et celle qui amène la plupart des boutiques sur n8n : 13 événements autour de la vie d'une commande. orders/create, orders/updated, orders/paid, orders/fulfilled, orders/partially_fulfilled, orders/cancelled et orders/delete suivent la commande elle-même. order_transactions/create et tender_transactions/create remontent les mouvements d'argent qui s'y rattachent, refunds/create signale un remboursement, et les trois draft_orders/* couvrent les devis préparés dans l'admin. Trigger On ne retient qu'un topic : pour réagir au paiement et à l'annulation, tu poses deux nœuds trigger et tu réunis les branches plus loin.
orders/paid plutôt que orders/create dès que le workflow engage de l'argent ou expédie, parce qu'une commande peut exister bien avant d'être payée. Les événements de devis répondent à un autre besoin, celui des commandes montées à la main dans l'admin, avant le moindre encaissement.03Customers, carts and checkouts
Côté acheteur, 13 événements se regroupent ici. customers/create, customers/update et customers/delete concernent la fiche client, customers/enable et customers/disable l'activation ou la désactivation du compte, et les trois customer_groups/* les segments créés, modifiés ou supprimés. Avant la vente, carts/create et carts/update suivent le panier, pendant que checkouts/create, checkouts/update et checkouts/delete suivent le tunnel de commande. Ces deux derniers groupes se déclenchent pendant que l'acheteur hésite encore, donc la branche tourne aussi pour des visiteurs qui ne commanderont jamais et mérite une condition à elle.
checkouts/update, le délai d'attente se gère dans n8n et pas dans Shopify. Pour ce qui touche au compte plutôt qu'à l'achat, customers/enable et customers/disable disent les choses plus précisément qu'une simple mise à jour.04Products, collections and listings
Le catalogue pèse 12 événements, répartis en deux moitiés qu'on confond facilement. products/create, products/update et products/delete portent sur la fiche produit dans l'admin. product_listings/add, product_listings/remove et product_listings/update portent sur sa publication vers un canal de vente. Les collections fonctionnent pareil : collections/create, collections/update et collections/delete d'un côté, collection_listings/add, collection_listings/remove et collection_listings/update de l'autre. Une fiche peut bouger dans l'admin sans qu'aucun événement de listing parte, et un produit peut apparaître sur un canal sans que sa donnée change d'un iota.
product.get derrière le trigger et relis la fiche avant de brancher la suite.05Fulfillment, stock, locations and store settings
Derrière la vitrine, 13 événements de plus. fulfillments/create et fulfillments/update suivent les expéditions, fulfillment_events/create et fulfillment_events/delete les étapes de suivi qu'elles contiennent. Le stock se lit à deux niveaux : les trois inventory_items/* sur l'article, puis inventory_levels/connect, inventory_levels/disconnect et inventory_levels/update sur la quantité détenue à un endroit précis, avec locations/create, locations/update et locations/delete pour les lieux eux-mêmes.
Les réglages de boutique ajoutent 8 événements : les quatre themes/* dont themes/publish, les deux locales/*, plus shop/update et app/uninstalled.
inventory_levels/update, qui porte sur la quantité détenue à un endroit précis, et garde les inventory_items/* pour les changements sur l'article lui-même. app/uninstalled sert au ménage, puisqu'il prévient le workflow que la boutique n'est plus reliée.Que sait faire le nœud Shopify ?
Le nœud Shopify expose 10 opérations sur 2 ressources. Pour chacune : le nœud tel que tu le configures dans n8n, les champs obligatoires, et nos notes de terrain.
Sommaire des opérations
Order
5 opérationsCreate an order
order.createCe que tu vois dans n8n
Notes & cas d'usage
L'opération écrit une nouvelle commande dans la boutique et renvoie son identifiant Shopify, réutilisable dans les étapes suivantes.
Paramètres clés
- Line Items : chaque ligne porte Product Name or ID, Variant ID, Quantity et Price, pour que la commande reflète ce qui a réellement été acheté.
- Inventory Behaviour :
bypassne réserve aucun stock,decrementObeyingPolicyrespecte la politique du produit,decrementIgnoringPolicydécrémente quoi qu'il arrive. - Send Receipt : activé, Shopify envoie la confirmation de commande à l'acheteur.
Delete an order
order.deleteCe que tu vois dans n8n
Notes & cas d'usage
Supprime définitivement une commande de la boutique. Seule la confirmation revient, donc archive ce qui compte avant que le nœud ne s'exécute.
Paramètres clés
- Order ID : l'identifiant de la commande à supprimer, le plus souvent
{{ $json.id }}transmis par un trigger ou par une opération Get many orders placée juste avant.
Get an order
order.getCe que tu vois dans n8n
Notes & cas d'usage
Lit une commande entière : acheteur, lignes, totaux, adresses. C'est l'étape qui suit presque toujours un trigger, la charge utile du webhook étant rarement suffisante pour l'outil d'après.
Paramètres clés
- Order ID : la commande à lire, en général une expression qui pointe l'identifiant reçu du trigger.
- Fields : la liste des champs à renvoyer, séparés par des virgules. Laissé vide, tout revient, ce qui reste confortable tant que tu débogues.
Get many orders
order.getAllCe que tu vois dans n8n
Notes & cas d'usage
Remonte une liste de commandes, avec de quoi resserrer la fenêtre plutôt que de tout tirer.
Paramètres clés
- Return All : coché, n8n enchaîne les pages jusqu'à la dernière commande ; décoché, il s'arrête à Limit et l'export est tronqué sans message.
- Financial Status : ne garde que
paid,refunded,unpaidou les autres états de paiement. - Created At Min et Created At Max : la fenêtre de dates, le duo des exécutions quotidiennes ou mensuelles.
Update an order
order.updateCe que tu vois dans n8n
Notes & cas d'usage
Modifie une commande existante sans toucher à ses lignes. Utile quand le workflow a appris quelque chose que la boutique ignore encore. Méfie-toi de Source Name, proposé dans Update Fields mais modifiable uniquement à la création.
Paramètres clés
- Order ID : la commande à modifier, champ requis : vide, il bloque l'exécution du nœud.
- Tags : une chaîne de valeurs séparées par des virgules, la façon la plus simple de marquer une commande comme traitée.
- Note : la note libre qu'un commerçant peut attacher à la commande.
Product
5 opérationsCreate a product
product.createCe que tu vois dans n8n
Notes & cas d'usage
Ajoute un produit au catalogue et renvoie la fiche créée, avec son identifiant et son handle.
Paramètres clés
- Title : le nom du produit, seul champ requis, dont Shopify déduit le Handle si tu ne le remplis pas.
- Body HTML : la description, mise en forme HTML acceptée.
- Published Scope :
webpublie sur la boutique en ligne seulement,globalajoute le canal Point of Sale. - Tags : jusqu'à 250 tags de 255 caractères chacun, séparés par des virgules.
Delete a product
product.deleteCe que tu vois dans n8n
Notes & cas d'usage
Efface un produit du catalogue et sa présence sur les canaux de vente. Shopify ne propose aucun retour en arrière, donc une validation humaine avant ce nœud n'est jamais du luxe.
Paramètres clés
- Product ID : l'identifiant du produit à effacer. Shopify attend ce numéro, jamais le titre de la fiche : c'est l'erreur qui envoie ce nœud droit sur une 404.
Get a product
product.getCe que tu vois dans n8n
Notes & cas d'usage
Récupère une fiche produit avec ses variantes, ses images et ses options, telle que l'API Admin la renvoie.
Paramètres clés
- Product ID : le produit à lire, souvent
{{ $json.id }}fourni par un trigger de catalogue. - Fields : la liste, séparée par des virgules, de ce qui doit revenir. Vide, tous les champs remontent, pratique en construction et lourd quand le workflow tourne sur tout le catalogue.
Get many products
product.getAllCe que tu vois dans n8n
Notes & cas d'usage
Parcourt le catalogue et renvoie les produits qui correspondent aux filtres. C'est le point de départ de tout workflow de synchronisation.
Paramètres clés
- Return All : coché pour un catalogue complet, décoché pour s'arrêter à Limit pendant les tests.
- Published Status :
published,unpublishedouany, pour séparer ce que voit l'acheteur du reste. - Vendor et Product Type : les deux filtres qui découpent le catalogue par fournisseur ou par catégorie.
- Presentment Currencies : des codes ISO 4217, quand les prix doivent revenir dans une devise donnée.
Update a product
product.updateCe que tu vois dans n8n
Notes & cas d'usage
Retouche un produit existant champ par champ, sans le recréer, et renvoie la fiche mise à jour.
Paramètres clés
- Product ID : le produit à modifier, requis.
- Published At : une date au format ISO 8601. Mise à null, elle retire le produit de la boutique en ligne : c'est la façon propre de dépublier sans supprimer.
- Options : les propriétés personnalisées comme Size ou Color, jusqu'à 3 options de 255 caractères chacune.
- Images : la liste des objets image rattachés au produit.
Besoin d'aide pour automatiser Shopify avec n8n ?
L'équipe te répond directement.
Chaque message est lu par une personne.



