Aller au contenu

Obj - Notifier l'atteinte d'un objectif mensuel en temps réel

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.


Deux Zaps complémentaires :

  • Zap principal — se déclenche chaque matin de semaine, détecte les boutiques ayant atteint leur objectif mensuel depuis la veille, et envoie une notification Slack. Un système de mémoire garantit qu’une boutique ne reçoit l’alerte qu’une seule fois par mois.
  • Zap de réinitialisation — s’exécute le 1er de chaque mois pour effacer la mémoire et remettre le système à zéro.

Zap principal

Schedule → Calcul des dates → Requête boutiques → Boucle (Check stockage → Filtre → Slack → Écriture stockage)

Zap de réinitialisation

Schedule → Nettoyage du stockage

Configurez un bloc Schedule by Zapier :

  • Frequency : Every Week
  • Days : Monday, Tuesday, Wednesday, Thursday, Friday
  • Time : 9:00 AM

Les requêtes Biron nécessitent des dates explicites. Ce bloc les génère dynamiquement à 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) :
- Hier
- Début du mois
- Fin du mois
Sortie : retourner un dictionnaire "output" avec toutes les dates au format YYYY-MM-DD.

Créez dans Biron un chart par boutique récupérant le CA du mois en cours et l’objectif mensuel. Copiez le NexusQL généré, collez-le dans le bloc Biron Query de Zapier, puis remplacez les dates statiques par les variables produites à l’étape précédente.

Ajouter la condition suivant à la requête pour filtrer automatiquement et ne retourner que les boutiques ayant dépassé leur objectif. (A adapter aux noms de vos métriques dans la requête)

WHERE
`CA HT Mois En Cours` >= `Objectif CA HT`

Ajoutez un bloc Looping by Zapier en lui passant uniquement les noms de boutiques issus de la requête précédente.

La boucle itère sur chaque boutique ayant dépassé son objectif et exécute les quatre étapes suivantes pour chacune d’elles.


Pour chaque boutique, récupérez la valeur shop_reached_target_[Nom Boutique] dans le Zapier Storage.

Si cette clé existe, la boutique a déjà été notifiée ce mois-ci. Si elle est absente, la boutique vient d’atteindre son objectif.


Ajoutez un bloc Filter avec la condition suivante :

  • Continuer uniquement si shop_reached_target_[Nom Boutique] n’existe pas dans le stockage

Les boutiques déjà notifiées sont stoppées ici. Les nouvelles passent à l’étape suivante.


Ajoutez un bloc Slack et configurez :

  • Channel : le canal où envoyer la célébration
  • Message Text : message indiquant que la boutique a atteint son objectif mensuel, avec les variables CA et objectif issues de la requête Biron

Une fois le message envoyé, écrivez la clé shop_reached_target_[Nom Boutique] dans le Zapier Storage pour bloquer les notifications suivantes jusqu’à la réinitialisation mensuelle.


Ce Zap efface chaque mois toutes les clés de mémoire pour permettre au Zap principal de repartir à zéro.

Configurez un bloc Schedule by Zapier :

  • Frequency : Every Month
  • Day : 1
  • Time : 2:00 AM

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 :

Je veux nettoyer des données stockées dans le Zapier Storage.
J'ai des entrées dont le nom commence par shop_reached_target_ et je veux
toutes les supprimer automatiquement.
Écris-moi le code Python pour une étape "Code by Zapier" qui :
1. Se connecte au Zapier Storage avec une clé secrète que j'ajouterai
dans le code
2. Récupère toutes les entrées stockées
3. Supprime uniquement celles dont le nom commence par shop_reached_target_

Dès qu’une boutique franchit son objectif mensuel, votre équipe reçoit une notification Slack — une seule fois par mois, quelle que soit la fréquence d’exécution du Zap. Le 1er de chaque mois, la mémoire est effacée et le cycle recommence.