Obj - Classer les boutiques et analyser les écarts de fin de mois
Ce use case illustre une utilisation concrète du plugin Biron dans Zapier. Si vous n’êtes pas encore familier avec son fonctionnement (authentification, structure d’une requête, gestion des variables), consultez d’abord le guide Biron × Zapier avant de continuer.
Ce qu’on construit
Section intitulée « Ce qu’on construit »Un Zap qui se déclenche le 1er de chaque mois et produit deux choses :
- Un message Slack récapitulatif classant chaque boutique par niveau de réussite sur le mois écoulé
- Des analyses d’écart en thread pour les boutiques aux résultats extrêmes — celles qui ont surperformé ou échoué — générées via le sous-Zap d’analyse d’écart
Les niveaux de réussite sont définis ainsi :
| Niveau | Seuil | Emoji |
|---|---|---|
| Incroyable | ≥ 140 % de l’objectif | 🚀 |
| Réussite | 100 % à 140 % | 🟢 |
| Échec | 90 % à 100 % | 🟠 |
| Catastrophe | < 90 % | 🔴 |
Architecture du Zap
Section intitulée « Architecture du Zap »Schedule → Calcul des dates → Requête boutiques → Formatage → Slack → Boucle (Filtre → Sous-Zap)Trigger — Schedule by Zapier
Section intitulée « Trigger — Schedule by Zapier »Configurez un bloc Schedule by Zapier :
- Frequency : Every Month
- Day : 1
- Time : 9:00 AM
Calcul des dates
Section intitulée « Calcul des dates »Les requêtes Biron nécessitent des dates explicites. Ce bloc génère dynamiquement les bornes du mois précédent à chaque exécution.
Ajoutez un bloc Code by Zapier (Python). Utilisez le prompt suivant pour générer le code, puis collez le résultat dans le bloc :
Rôle : Expert Python pour Zapier.Objectif : Créer un script de calcul de dates relatives.
Calculer les dates suivantes en gérant les spécificités du calendrier(années bissextiles, fins de mois) :- Début du mois précédent- Fin du mois précédent
Sortie : retourner un dictionnaire "output" avec toutes les dates au format YYYY-MM-DD.Requête boutiques — taux d’objectif
Section intitulée « Requête boutiques — taux d’objectif »Créez dans Biron un chart par boutique récupérant le taux d’atteinte de l’objectif sur le mois précédent. Copiez le NexusQL, collez-le dans le bloc Biron Query et remplacez les dates statiques par les variables produites à l’étape précédente.
Ajoutez ensuite la colonne calculée suivante directement dans la requête pour catégoriser chaque boutique :
CASE WHEN `% Atteint Objectif CA HT` < 0.90 THEN 'Catastrophe' WHEN `% Atteint Objectif CA HT` < 1 THEN 'Echec' WHEN `% Atteint Objectif CA HT` < 1.40 THEN 'Réussite' ELSE 'Incroyable'END AS result_tierFormatage — message récapitulatif
Section intitulée « Formatage — message récapitulatif »Les données Biron doivent être converties en message Slack lisible. Ajoutez un bloc Code by Zapier (Python) et utilisez ce prompt pour générer le code :
Rôle : Expert Python pour Zapier.Objectif : Générer un message Slack récapitulatif des performances des boutiquespar rapport à leurs objectifs sur le mois précédent.
Inputs disponibles (via input_data) :- boutiques : noms des boutiques (liste séparée par des virgules)- objectifs : taux d'atteinte de l'objectif en % (liste séparée par des virgules)- tiers : catégorie de performance (liste séparée par des virgules)
Demande :1. Calculer automatiquement le nom du mois précédent en français et l'année.2. Regrouper les boutiques par catégorie dans cet ordre, avec l'emoji associé : 🚀 Incroyable | 🟢 Réussite | 🟠 Echec | 🔴 Catastrophe Les catégories inconnues vont dans un groupe ⚪ Autres affiché en dernier, avec la catégorie d'origine entre parenthèses.3. Pour chaque boutique, afficher : ▪️ Nom boutique : 97%4. Générer un message Slack slack_message avec : - Titre en gras : *📊 Récapitulatif des Objectifs par Boutique - {Mois} {Année}* - Les groupes de boutiques, nom de catégorie en majuscules - Les catégories vides ne sont pas affichées5. Retourner le résultat dans output avec la clé slack_message.Envoi — Slack
Section intitulée « Envoi — Slack »Ajoutez un bloc Slack et configurez :
- Channel : le canal où envoyer le récapitulatif
- Message Text : la variable
slack_messageproduite par le bloc de formatage
Boucle — Looping by Zapier
Section intitulée « Boucle — Looping by Zapier »Ajoutez un bloc Looping by Zapier en lui passant les noms de boutiques et leur result_tier issus de la requête.
La boucle itère sur chaque boutique et exécute les deux étapes suivantes pour chacune d’elles.
Filtre — Filter by Zapier
Section intitulée « Filtre — Filter by Zapier »Ajoutez un bloc Filter avec la condition suivante :
- Continuer uniquement si
result_tierest parmi :Incroyable,Echec,Catastrophe
Les boutiques en Réussite sont stoppées ici — leur résultat est conforme et ne nécessite pas d’analyse approfondie.
Lancement du sous-Zap — analyse d’écart
Section intitulée « Lancement du sous-Zap — analyse d’écart »Pour chaque boutique passant le filtre, déclenchez le sous-Zap d’analyse d’écart en lui transmettant les quatre variables attendues :
| Variable | Valeur à transmettre |
|---|---|
start_date | Début du mois précédent (étape Calcul des dates) |
end_date | Fin du mois précédent (étape Calcul des dates) |
shop_id | Nom ou identifiant de la boutique (boucle en cours) |
slack_ts | TS du message Slack envoyé à l’étape précédente |
Résultat attendu
Section intitulée « Résultat attendu »Le 1er de chaque mois à 9h, votre équipe reçoit un récapitulatif Slack du mois écoulé. Les boutiques aux résultats extrêmes — en surchauffe ou en difficulté — reçoivent automatiquement une analyse d’écart en thread, expliquant les causes du résultat et les leviers d’action.