Modèles pas à pas
Relier le registre de pointage à ses outils sans écrire de code, avec Make (formule gratuite suffisante pour débuter), Zapier (les webhooks demandent une formule payante) ou n8n. Chaque modèle part d'un webhook : le pointage prévient l'outil, qui fait le reste.
Ces outils travaillent avec le compte de l'utilisateur et ses propres accès (Google, Pennylane, Slack…) : cmonblaze ne voit pas ces comptes et ne facture rien à sa place, il fournit les heures.
Étape commune : brancher le webhook
- Dans Make : créer un scénario, premier module
Webhooks › Custom webhook, « Add », donner un nom, puis copier l'adresse (https://hook.eu1.make.com/…). Make attend alors un premier envoi pour apprendre la forme des données.
Zapier : déclencheurWebhooks by Zapier › Catch Hook. n8n : nœudWebhook, méthode POST, adresse de production. - Dans l'espace client, carte « API », bloc « Webhooks » : coller l'adresse, cocher le ou les événements du modèle, « Ajouter le webhook ».
- Cliquer « Envoyer un test » : l'outil reçoit un exemple fictif de chaque événement coché (agent « Karim B. (exemple) », client « Résidence Les Tilleuls »…), marqué
test: true. Make affiche « Successfully determined » : les champs sont maintenant proposés dans les modules suivants. - Juste après le webhook, ajouter un filtre «
testégal àfalse» (Make : clic sur le lien entre deux modules › « Set up a filter » ; Zapier :Filter by Zapier). Les exemples ne créeront ainsi ni ligne ni facture. - Pour un webhook qui ne doit traiter qu'un événement, ajouter au filtre «
evenementégal àmois_termine» (ou l'événement voulu), ou créer un webhook par scénario. - Activer le scénario (Make : interrupteur « Immediately as data arrives » ; Zapier : « Publish »).
- Make affiche les heures dans le fuseau de l'organisation : le régler sur
Europe/Paris(profil › « Time zone ») pour queformatDatedonne l'heure de Paris.
1. Heures du mois dans Google Sheets
Événement : mois_termine (le 1er du mois vers 7 h, totaux du mois précédent).
Résultat : une ligne par client final dans un tableur : mois, client, heures, présences, départs non pointés.
- Préparer un tableur avec en ligne 1 :
Mois,Client final,Heures,Présences,Départs non pointés. - Webhook + filtre (étape commune), puis
Flow Control › Iteratorsurdonnees › par_clients(une passe par client final). Google Sheets › Add a Row: choisir le tableur et la feuille, puis relier les colonnes àmois,nom,heures,presences,departs_non_pointes.
Zapier : Looping by Zapier sur la liste, puis Google Sheets › Create Spreadsheet Row. Pour des totaux par agent (paie), itérer sur par_agents.
Sans Make ni Zapier : le lien secret Google Sheets de l'espace (=IMPORTDATA) donne déjà ces totaux, mis à jour toutes les heures.
2. Brouillon de facture Pennylane chaque mois
Événement : mois_termine.
Résultat : dans Pennylane, une facture en brouillon par client final, avec les heures du mois. Rien n'est envoyé au client tant que la facture n'est pas relue et finalisée dans Pennylane.
- Dans Pennylane, vérifier que chaque client final existe sous le même nom que dans l'espace de pointage (« Clients finaux »).
- Webhook + filtre (étape commune), puis
Flow Control › Iteratorsurdonnees › par_clients. - Filtre après l'itérateur :
nomdifférent de « Sans client final » etheuressupérieur à 0. - Retrouver le client : application Pennylane V2, module de recherche ou de liste des clients, filtré sur le nom.
- Créer la facture : Pennylane V2 › Create a Customer Invoice, en brouillon (
draft= oui), client = celui trouvé à l'étape précédente, une ligne :- libellé :
Heures d'intervention+mois; - quantité :
heures(décimal : 53.25 = 53 h 15) ; - prix unitaire : le tarif horaire HT, avec le taux de TVA habituel.
- libellé :
- Faire un premier essai avec « Run once » et un seul client, puis ouvrir le brouillon dans Pennylane : vérifier qu'aucun client n'a été créé en double et que la ligne est juste.
Google Sheets › Search Rows avant de créer la facture.departs_non_pointes supérieur à 0 : des heures manquent. Saisir les départs oubliés dans l'espace, puis corriger le brouillon (ou attendre le 2 pour finaliser).Zapier : Looping by Zapier, Pennylane › Retrieve Customer V2 puis Pennylane › Create Customer Invoice V2 (brouillon). Axonaut, Sellsy, Tiime, Henrri… : même principe avec le module « créer une facture » ou « créer un devis » de l'application.
3. Départ oublié : SMS ou Slack
Événement : depart_oublie (arrivée sans départ 16 h après, signalée une fois en journée).
Résultat : un message au responsable, pour qu'il demande l'heure à l'intervenant et la saisisse dans l'espace.
- Webhook + filtre (étape commune).
- Slack :
Slack › Create a Messagedans le canal de l'équipe. SMS : le module d'envoi de SMS du fournisseur (Brevo, Twilio, OVHcloud…). - Texte du message, par exemple :
{{agent}} n'a pas pointé son départ ({{point_nom}}, arrivée le {{formatDate(arrivee; "DD/MM à HH:mm")}}).
Variante : depart pour être prévenu de chaque fin d'intervention (maintien à domicile, ménage terminé en conciergerie…).
4. Feuille de temps en direct
Événement : depart (chaque fin de présence, pointée ou saisie à la main).
Résultat : une ligne par intervention, au fil de l'eau : date, agent, client final, arrivée, départ, heures.
- Webhook + filtre (étape commune).
Google Sheets › Add a Row:formatDate(arrivee; "DD/MM/YYYY"),agent,join(clients_finaux; ", "),formatDate(arrivee; "HH:mm"),formatDate(depart; "HH:mm"),heures.
Un départ saisi à la main arrive avec depart_saisi_a_la_main = vrai : une colonne « Saisi » permet de le repérer.
Champs utiles
| Champ | Contenu |
|---|---|
evenement | passage, depart, depart_oublie ou mois_termine |
test | true pour les exemples du bouton « Envoyer un test » |
donnees › agent, point_nom, clients_finaux | Qui, où, pour quel client (liste) |
donnees › arrivee, depart | Date et heure (heure de Paris) |
donnees › heures, duree_minutes | Temps passé : 9.5 = 9 h 30 |
donnees › par_clients, par_agents | Totaux du mois (mois_termine) : nom, heures, presences, departs_non_pointes |
Liste complète, signature et nouveaux essais : documentation technique. Question : contact@cmonblaze.com.