Déclencheurs temporels et liés aux stocks à partir de modèles
Déclencheurs personnalisés Shopify Flow : commande non traitée depuis N jours, colis bloqué, date de métachamp atteinte, stock bas par emplacement.
Shopify Flow réagit lorsqu'un événement se produit. Certaines des automatisations les plus utiles se déclenchent lorsqu'un événement ne se produit pas, ou lorsqu'une date est atteinte : une commande qui n'a toujours pas été expédiée au bout de trois jours, un colis dont le suivi n'affiche plus de mouvement, une date de sortie enregistrée dans un métachamp. D'autres nécessitent une règle qu'une condition de Shopify Flow ne peut pas exprimer, comme un seuil de stock minimum différent pour chaque emplacement.
Quatre modèles couvrent ces cas de figure. Chacun d'entre eux est un déclencheur personnalisé : vous sélectionnez le modèle dans l'éditeur de déclencheurs personnalisés, vous définissez quelques valeurs en haut du code, vous le testez, puis vous l'activez. Vous n'avez pas besoin d'écrire le code vous-même.
Les quatre modèles
| Modèle | Fonctionnement | À quoi réagit-il ? |
|---|---|---|
| Commande en attente depuis N jours | Selon un horaire, toutes les heures | Une commande en cours qui n'a toujours pas fait l'objet d'un traitement, ou qui en a fait l'objet que partiellement, depuis le nombre de jours que vous avez défini à compter de sa passation |
| L'envoi n'a pas bougé depuis N jours | Selon un horaire, toutes les heures | Un colis qui n'a pas été livré alors qu'aucun élément de la commande n'a changé pendant le nombre de jours que vous avez défini |
| Date atteinte dans un métachamp | À intervalles réguliers, toutes les 6 heures | Un métachamp de date associé à un produit ou à une commande qui correspond à une date atteinte ou à un nombre de jours à venir |
| Le niveau des stocks est passé en dessous du seuil fixé par l'emplacement concerné | À chaque modification du stock | Stock disponible dans un emplacement dont le niveau passe en dessous du seuil que vous avez défini pour cet emplacement |
L'intervalle correspond à la valeur initiale du modèle. Vous pouvez le modifier dans l'éditeur.
Utilisez un modèle
Créez un déclencheur personnalisé sur la page « Déclencheurs », dans la section Vos déclencheurs personnalisés. Attribuez-lui un nom et un identifiant. L'identifiant sert de critère de filtrage à votre workflow et ne peut pas être modifié ultérieurement.
En ce qui concerne les trois modèles programmés :
- Dans la section Comment cela fonctionne-t-il ?, sélectionnez l'option Selon un calendrier.
- Dans la fiche Calendrier, ouvrez la liste Créer à partir d'un modèle et sélectionnez le modèle souhaité. Cela remplace le code et définit la fréquence.
- Modifiez les valeurs situées en haut du code. Elles sont décrites ci-dessous pour chaque modèle.
- Testez-le. Un test exécute votre code une seule fois, n'envoie aucune donnée à Shopify Flow et n'enregistre rien ; vous pouvez donc le répéter autant de fois que vous le souhaitez.
- Activez le déclencheur et enregistrez.
Pour le modèle de stock :
- Dans la section Comment cela fonctionne, sélectionnez l'option « Un événement Shopify ».
- Ouvrez la liste Commencer à partir d'un modèle et sélectionnez le modèle de stock. Le système sélectionne automatiquement l'événement Modification du niveau de stock dans un emplacement et renseigne le code.
- Modifiez les valeurs en haut du code.
- Enregistrez un événement réel en modifiant le stock d'une variante dans votre boutique, puis effectuez un test sur cette modification.
- Activez le déclencheur et enregistrez.
Utilisez-le dans Shopify Flow
Ces quatre éléments apparaissent dans Shopify Flow sous le nom de « Déclencheur personnalisé ». Ajoutez-le à un workflow et définissez une condition : le champ Identifiant du déclencheur doit correspondre à l'identifiant de votre déclencheur. Chaque valeur envoyée par le modèle correspond à un champ du déclencheur.
Les trois modèles planifiés transmettent également la commande ou le produit sous la forme de l'identifiant de l'enregistrement correspondant à l'événement. Ajoutez une étape telle que Récupérer les données de la commande ou Récupérer les données du produit afin de charger l'enregistrement complet et de pouvoir l'utiliser dans les étapes suivantes.
Commande en attente depuis N jours
Permet de repérer les retards de livraison avant même que le client ne s'en aperçoive.
| Valeur dans le code | Commence par | Signification |
|---|---|---|
DAYS |
3 |
Nombre de jours écoulés depuis la passation de la commande |
ONLY_PAID |
true |
Seules les commandes payées sont prises en compte. Une commande non payée attend généralement son paiement, et non votre intervention. |
Le déclencheur lance votre workflow une fois pour chaque commande en cours qui n'a pas encore été traitée ou qui n'a été traitée que partiellement lorsqu'elle atteint l'ancienneté que vous avez définie. Une commande qui a été traitée dans les délais ne déclenche jamais ce workflow.
La vérification a lieu une seule fois par commande, à ce moment-là. Une commande qui n'est toujours pas traitée une semaine plus tard ne déclenche pas le workflow une deuxième fois. Avec le paramètre « paiement uniquement », une commande qui n'est réglée qu'après ce moment-là n'est pas non plus prise en compte.
| Champ envoyé à Shopify Flow | Contient |
|---|---|
name |
Le numéro de commande, par exemple n° 1042 |
placedAt |
Au moment où la commande a été passée |
daysSinceOrder |
Nombre de jours écoulés depuis la commande |
fulfillmentStatus |
L'état de traitement de la commande |
financialStatus |
L'état de paiement de la commande |
thresholdDays |
Le nombre de jours que vous avez défini |
La commande elle-même est transmise sous la forme de l'identifiant de l'enregistrement correspondant à l'événement.

L'envoi n'a pas bougé depuis N jours
Répond à la question « Où en est ma commande ? » avant même qu'elle ne soit posée.
| Valeur dans le code | Commence par | Signification |
|---|---|---|
DAYS |
5 |
Nombre de jours sans aucun changement |
ONLY_WITH_TRACKING |
true |
Les envois sans numéro de suivi ne sont pas pris en compte. Il n'est jamais possible de signaler leur livraison. |
DONE |
DELIVERED, PICKED_UP, CANCELED |
Statuts d'expédition considérés comme « terminés » |
Shopify ne permet pas d'effectuer une recherche en fonction de la date du dernier mouvement d'un envoi. Le modèle s'appuie donc sur la commande. Il recherche les commandes traitées ou partiellement traitées qui n'ont pas été mises à jour depuis le nombre de jours que vous avez défini et pour lesquelles il reste un envoi non finalisé.
Toute modification apportée à la commande relance le décompte. C'est le cas d'une mise à jour du suivi, mais aussi d'une note modifiée ou d'une nouvelle balise.
Le déclencheur lance votre workflow une fois par envoi bloqué ; ainsi, une commande comportant deux colis bloqués le lance deux fois. Jusqu'à trois envois par commande sont vérifiés.
| Champ envoyé à Shopify Flow | Contient |
|---|---|
name |
Le nom de la commande |
fulfillmentId |
L'identifiant de l'envoi |
shipmentStatus |
L'état actuel de l'expédition |
lastTrackingStatus |
État d'avancement du dernier événement de suivi |
lastMovedAt |
Date du dernier mouvement de l'envoi |
daysWithoutMovement |
Nombre de jours écoulés depuis le dernier mouvement de l'envoi |
shippedAt |
Lors de la création de l'expédition |
estimatedDeliveryAt |
La date de livraison estimée, si le transporteur en indique une |
carrier |
Le nom du transporteur |
trackingNumber |
Le numéro de suivi |
trackingUrl |
Le lien de suivi |
thresholdDays |
Le nombre de jours que vous avez défini |
La commande elle-même est transmise sous la forme de l'identifiant de l'enregistrement correspondant à l'événement.
Date atteinte dans un métachamp
Pour les dates de sortie, les garanties, les dates limites de consommation, les dates de renouvellement : tout ce qui concerne les dates figurant sur un produit ou une commande.
| Valeur dans le code | Commence par | Signification |
|---|---|---|
RESOURCE |
"products" |
Où se trouve le métachamp : au niveau des produits ou au niveau des commandes ? |
NAMESPACE |
"custom" |
L'espace de noms du métachamp |
KEY |
"release_date" |
La clé du métachamp |
OFFSET_DAYS |
0 |
Nombre de jours avant ou après la date. Voir les exemples ci-dessous |
Trois exemples de décalage :
| Décalage | Lorsque votre workflow démarre |
|---|---|
0 |
Le jour même |
-7 |
Sept jours avant la date |
30 |
Trente jours après la date |
Le déclencheur lance votre workflow une fois pour chaque produit ou commande dont la date d'échéance tombe ce jour-là. Les jours sont exprimés en UTC. Le déclencheur traite les données jour après jour ; ainsi, les jours manqués sont rattrapés dans l'ordre. Lorsque plus de 100 enregistrements arrivent à échéance un même jour, les autres sont traités lors des exécutions suivantes.
| Champ envoyé à Shopify Flow | Contient |
|---|---|
name |
Le titre du produit ou le nom de la commande |
date |
La date enregistrée dans le métachamp |
reachedOn |
Le jour où le document devait être remis |
offsetDays |
Le décalage que vous avez défini |
Le produit ou la commande elle-même est transmise en tant qu'identifiant de l'enregistrement de l'événement.
Le niveau des stocks est passé en dessous du seuil fixé par l'emplacement concerné
Une règle relative aux niveaux de stock minimaux par emplacement : 20 en entrepôt, 3 en magasin.
| Valeur dans le code | Commence par | Signification |
|---|---|---|
THRESHOLDS |
{ "Main warehouse": 20, "Pop-up store": 3 } |
Le seuil de chaque emplacement, en fonction du nom de cet emplacement |
DEFAULT |
5 |
Le seuil pour chaque emplacement qui ne figure pas dans la liste |
ALSO_WHEN_RESTOCKED |
false |
Que votre workflow commence également lorsque le niveau de stock atteint ou dépasse le seuil |
Pour ignorer un emplacement, attribuez-lui la valeur seuil null. Pour surveiller uniquement les emplacements répertoriés, définissez la valeur seuil par défaut sur null.
Le déclencheur lance votre workflow une seule fois, au moment du basculement : le stock était égal ou supérieur au seuil avant le changement et est inférieur à celui-ci après. Il ne réagit pas à chaque vente lorsque le stock est déjà faible. Cela est possible car l'application connaît le niveau de stock avant et après chaque changement.
Veuillez saisir les noms des emplacements exactement tels qu'ils apparaissent dans votre interface d'administration Shopify, sous Paramètres > Emplacements.
Ce modèle nécessite que le déclencheur Modification du niveau de stock à un emplacement soit activé et que les autorisations correspondantes soient accordées. C'est ce qui permet à l'application de suivre les niveaux de stock. Voir La page « Déclencheurs » (anciennement « Paramètres ») et Autorisations et accès aux données.
| Champ envoyé à Shopify Flow | Contient |
|---|---|
event |
Ce qui s'est passé : le cours de l'action est passé sous le seuil, ou le cours de l'action est remonté |
productTitle |
Le titre du produit |
variantTitle |
Le titre alternatif |
sku |
La référence de la variante |
location |
Le nom de l'emplacement |
locationId |
L'identifiant de l'emplacement |
oldAvailable |
Stock disponible avant le changement |
newAvailable |
Stock disponible après la modification |
threshold |
Le seuil qui s'appliquait |
Le champ « Ce qui s'est passé » peut prendre l'une des deux valeurs suivantes :
| Valeur | Signification |
|---|---|
below |
Le cours de l'action est passé sous le seuil |
restocked |
Le cours de l'action est revenu au niveau du seuil ou l'a dépassé |
Pourquoi mon workflow ne s'est-il pas lancé après avoir activé le déclencheur ?
Lors de sa première exécution, un modèle planifié ne mémorise que son point de départ. Le déclencheur réagit aux commandes, aux expéditions et aux dates qui franchissent ce seuil par la suite, et non à celles qui l'avaient déjà dépassé.
Puis-je effectuer cette vérification plus souvent qu'une fois par heure ?
Oui, c'est à vous de choisir la fréquence, de toutes les 30 secondes à une fois par jour. Une fréquence plus courte implique davantage de sessions, et chaque session compte pour votre forfait. Pour un objectif mesuré en jours, une fois par heure est généralement largement suffisante.
Le déclencheur de date signale une erreur. Quel est le problème ?
Il s'agit presque toujours de la définition du métachamp. Celui-ci doit être de type « Date » et l'option Filtrage doit être activée dans Paramètres > Données personnalisées. Vérifiez également que l'espace de noms et la clé dans le code correspondent exactement à la définition.
Un modèle peut-il modifier mes commandes ou mes produits ?
Non. Un déclencheur personnalisé est uniquement en lecture. Pour ajouter une balise à la commande, envoyer un e-mail ou mettre à jour un Métachamp, ajoutez ces actions au Workflow qui démarre avec ce déclencheur.
Une expédition est restée bloquée plus longtemps que le délai que j'avais défini, et mon workflow ne s'est pas déclenché. Pourquoi ?
Le décompte est calculé à partir de la dernière modification apportée à la commande. Si la commande a été modifiée entre-temps, que ce soit par le personnel, par une autre application ou à la suite d'une mise à jour du suivi, le décompte recommence à partir de ce moment-là.
Prochaines étapes
- Déclencheurs personnalisés : l'éditeur, les tests et le fonctionnement des déclencheurs personnalisés dans Shopify Flow.
- Générer du code de déclencheur à l'aide de l'IA : décrivez une règle différente et laissez l'IA écrire le code.
- Forfaits et utilisation : comment les exécutions et les événements sont pris en compte dans votre forfait.
- Déclencheurs de stock, étape par étape : les déclencheurs de stock intégrés, étape par étape.
