Actions
Une action est une étape à l'intérieur d'un flux de travail. Une fois que le déclencheur s'active, GCM parcourt les actions connectées dans l'ordre, exécutant chacune d'elles. Le catalogue complet est regroupé en cinq catégories.
Actions de membre
Celles-ci lisent ou écrivent dans la table des membres.
| Action | Ce qu'elle fait |
|---|---|
find_member | Recherche un membre par téléphone, e-mail ou critères personnalisés. Le résultat est disponible pour les actions ultérieures. |
find_members_by_segment | Trouve tous les membres correspondant à un filtre (retourne une liste sur laquelle boucler). |
create_member | Insère un nouvel enregistrement de membre. |
update_member | Change un ou plusieurs champs sur un membre. |
change_membership_type | Convertit visiteur → membre, etc. |
mark_member_lost | Définit lost_at. |
recover_member | Efface lost_at. |
delete_member | Suppression logique. |
assign_unit / remove_from_unit | Attribution d'unité organisationnelle. |
assign_group / remove_from_group | Attribution à un petit groupe. |
assign_ministry / remove_from_ministry | Attribution à un ministère. |
enroll_school / graduate_school / remove_from_school | Cycle de vie du programme d'école. |
add_note | Ajoute une note au profil du membre. |
Actions de communication
Celles-ci envoient des messages.
| Action | Ce qu'elle fait |
|---|---|
send_message | Envoie via WhatsApp / SMS / e-mail à un destinataire. |
send_notification | Envoie une notification in-app ou push web au personnel. |
Les deux vous permettent de choisir parmi un modèle ou de composer en ligne. Les jetons de fusion remplissent les données dynamiques.
TIP
Préférez toujours les modèles aux messages en ligne pour les flux de travail de production. Modifier un modèle plus tard met à jour chaque flux de travail qui l'utilise.
Actions de contrôle de flux
Celles-ci contrôlent comment le flux de travail parcourt le graphe.
| Action | Ce qu'elle fait |
|---|---|
condition | Se ramifie selon un booléen — sorties vrai / faux |
split | Exécute plusieurs branches en parallèle |
wait_delay | Met en pause N minutes / heures / jours avant de continuer |
wait_until | Met en pause jusqu'à une date/heure spécifique |
wait_event | Met en pause jusqu'à ce qu'un autre événement se déclenche |
go_to | Saute vers un autre nœud (boucle / saut) |
for_each | Boucle sur une liste — la sortie de l'action précédente |
Les opérateurs de condition sont riches : is, is_not, contains, greater_than, less_than, is_empty, matches_regex, is_exactly_n_days_ago, is_between_days_ago, is_today, is_within_last_n_days, is_in_next_n_days, is_during_business_hours, et plusieurs autres.
Actions de données
Celles-ci manipulent les données sans changer directement les membres.
| Action | Ce qu'elle fait |
|---|---|
set_variable | Stocke une valeur pour utilisation dans les actions ultérieures |
aggregate | Compte / somme / moyenne sur une liste |
math_operation | Additionner, soustraire, multiplier, diviser |
lookup | Lit un seul champ d'une table associée |
Actions d'intégration
Celles-ci atteignent au-delà de GCM.
| Action | Ce qu'elle fait |
|---|---|
send_webhook | POST vers une URL externe avec une charge utile personnalisée |
create_task | Crée une tâche dans votre gestionnaire de tâches d'équipe |
L'action webhook est l'issue de secours. Si vous devez parler à Zapier, Slack, votre feuille Google de gestion d'église, ou tout autre système, c'est la voie à suivre.
Configurer une action
Cliquez sur n'importe quel nœud d'action pour ouvrir le panneau de configuration à droite. Chaque action a au minimum :
- Nom d'affichage — ce qui s'affiche sur le canevas.
- Configuration spécifique à l'action — sélecteur de destinataire pour les messages, sélecteur de champ pour les mises à jour, etc.
- Gestion d'erreurs — quoi faire si l'action échoue (réessayer, sauter, abandonner l'exécution).
La plupart des champs de configuration prennent en charge les jetons de fusion, vous pouvez donc construire des actions dynamiques comme « envoyer un message à quiconque est le pasteur du membre du déclencheur » sans écrire de code.
Gestion d'erreurs
Chaque action peut être configurée pour les échecs. Options :
- Réessayer — essayer à nouveau jusqu'à N fois avec backoff.
- Sauter et continuer — journaliser l'erreur, passer à l'action suivante.
- Abandonner l'exécution — arrêter le flux de travail ici.
Les valeurs par défaut sont raisonnables :
send_message— réessaie 3 fois puis saute.update_member— abandon en cas d'échec (cohérence des données).send_webhook— réessaie 3 fois puis saute.
Idempotence
Là où c'est possible, les actions sont idempotentes — les exécuter deux fois avec la même entrée a le même effet que de les exécuter une fois. Cela compte pour les nouvelles tentatives et pour les doubles déclenchements accidentels. send_message en particulier utilise une clé d'idempotence (ID d'exécution du flux de travail + ID d'action + ID de membre) afin que le destinataire ne reçoive jamais de doublons si l'appel sous-jacent est réessayé.
Actions personnalisées
Les types d'actions personnalisées ne sont pas configurables par l'utilisateur en v1. Si vous avez besoin d'un comportement qui n'est pas dans le catalogue, utilisez send_webhook pour atteindre une fonction externe. Écrivez-nous si vous avez un motif récurrent qui devrait être intégré.
Questions courantes
Une action peut-elle parler aux données d'une autre organisation ? Non. Toutes les actions sont délimitées à l'organisation du flux de travail via current_org_id(). Même si vous fabriquiez une charge utile webhook pour interroger une autre organisation, RLS la refuserait.
Puis-je supprimer un nœud au milieu du graphe ? Oui — sélectionnez et appuyez sur supprimer. Les lignes se reconnectent à n'importe quel nœud en amont.
Que se passe-t-il si mon flux de travail reste bloqué sur un wait_delay ? L'exécution reste dans l'état en attente jusqu'à ce que le délai s'écoule. Vous pouvez l'annuler manuellement depuis la page des exécutions si nécessaire.
Étapes suivantes
- Déclencheurs — ce qui déclenche le flux de travail.
- Multi-étapes et délais — séquencer les actions dans le temps.
- Suivi des exécutions — déboguer les échecs.
