Skip to content

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.

ActionCe qu'elle fait
find_memberRecherche 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_segmentTrouve tous les membres correspondant à un filtre (retourne une liste sur laquelle boucler).
create_memberInsère un nouvel enregistrement de membre.
update_memberChange un ou plusieurs champs sur un membre.
change_membership_typeConvertit visiteur → membre, etc.
mark_member_lostDéfinit lost_at.
recover_memberEfface lost_at.
delete_memberSuppression logique.
assign_unit / remove_from_unitAttribution d'unité organisationnelle.
assign_group / remove_from_groupAttribution à un petit groupe.
assign_ministry / remove_from_ministryAttribution à un ministère.
enroll_school / graduate_school / remove_from_schoolCycle de vie du programme d'école.
add_noteAjoute une note au profil du membre.

Actions de communication

Celles-ci envoient des messages.

ActionCe qu'elle fait
send_messageEnvoie via WhatsApp / SMS / e-mail à un destinataire.
send_notificationEnvoie 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.

ActionCe qu'elle fait
conditionSe ramifie selon un booléen — sorties vrai / faux
splitExécute plusieurs branches en parallèle
wait_delayMet en pause N minutes / heures / jours avant de continuer
wait_untilMet en pause jusqu'à une date/heure spécifique
wait_eventMet en pause jusqu'à ce qu'un autre événement se déclenche
go_toSaute vers un autre nœud (boucle / saut)
for_eachBoucle 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.

ActionCe qu'elle fait
set_variableStocke une valeur pour utilisation dans les actions ultérieures
aggregateCompte / somme / moyenne sur une liste
math_operationAdditionner, soustraire, multiplier, diviser
lookupLit un seul champ d'une table associée

Actions d'intégration

Celles-ci atteignent au-delà de GCM.

ActionCe qu'elle fait
send_webhookPOST vers une URL externe avec une charge utile personnalisée
create_taskCré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