Workflows β
A workflow is an if-this-then-that rule for your church. When a new member registers, send a welcome WhatsApp message after 1 hour. When a member misses 6 weeks of service, notify the shepherd. When a donation arrives, post in the staff team chat.
GCM ships a visual builder (powered by XYFlow) where you drag triggers and actions, connect them, and turn it on. No code, no scripting.

The mental model β
Every workflow has three parts:
- One or more triggers β what fires the workflow. (Usually a single trigger; advanced workflows can junction multiple.)
- A sequence of actions β what happens. Can branch on conditions, wait for delays, loop over a list.
- A status β draft / active / paused.
When the trigger fires, GCM enqueues a run β one execution attempt for one subject (e.g. one specific member). The run walks through the actions in order. The history of runs is in Monitoring runs.
Why visual β
Workflows can get complicated quickly. The visual layout makes "what does this thing actually do" obvious at a glance. Pastors and admins who aren't comfortable with code can read and edit them confidently.
The downside is that very-long workflows become an unwieldy node graph. For those we recommend splitting into smaller workflows that hand off via custom events or workflow chains.
What you can trigger on β
The full list is in Triggers. The most common:
| Trigger | Use case |
|---|---|
member.created | Welcome message to new sign-ups |
member.birthday | Birthday greeting |
attendance.marked | Thank-you after a service |
giving.recorded | Receipt + appreciation |
member.marked_lost | Re-engagement outreach |
member.recovered | "Welcome back" |
form.submitted | Visitor form follow-up |
schedule | Recurring cron (e.g. weekly digest) |
manual | Run a workflow on demand |
webhook.received | External system triggers |
What you can do β
The full list is in Actions. Categories:
- Member actions β find, create, update, mark lost, change membership type.
- Communication β send WhatsApp, SMS, email, in-app notification.
- Flow control β condition, split, wait, loop, branch.
- Data β set variables, math, lookup.
- Integration β call a webhook, create a task.
Permissions β
| Action | Admin | Shepherd | Member |
|---|---|---|---|
| Create / edit workflow | yes | no | no |
| View workflow definitions | yes | view-only | no |
| View runs | yes | scoped to unit | no |
| Manually trigger | yes | no | no |
Workflows are admin-only by default β they can touch any member in the org and send to any channel, so we gate them tightly.
Plan availability β
Workflows are available on every plan. Some advanced features (multi-trigger junctions, complex conditional branching) work the same regardless of plan, but very-large workflow runs can be throttled on lower tiers to keep the queue healthy.
Next steps β
- Visual builder β get oriented with the canvas.
- Triggers β pick what fires the workflow.
- Actions β pick what it does.
- Multi-step & delays β chain steps with timing.
- Newcomer follow-up workflow β end-to-end recipe.