Messaging β
Most of what your church needs to communicate ends up being a message β Sunday service reminders, prayer requests, birthday greetings, meeting changes. The Messaging module handles all three of the channels your members actually check.

The channels β
| Channel | Best for | Cost | Reach |
|---|---|---|---|
| day-to-day pastoral comms | tiny per-message | nearly universal in many regions | |
| SMS | urgent updates, low-friction reach | mid per-message | universal |
| longer-form, formatted content | near-zero | universal but lower open-rates |
If your congregation already uses WhatsApp, lead with that. We see open rates above 95 percent versus around 25 percent for email.
Single vs bulk send β
Two distinct flows:
- Single send β to one or two members. Open the member's profile and use the send-message action.
- Bulk send β to a list (everyone in a unit, everyone tagged with a specific custom field value, etc.). From Messaging β Send.
Both write to the same communication_log table so delivery results land in one place.
Bulk pacing β
For large sends WhatsApp specifically enforces tight rate limits. We auto-pace bulk sends:
- For WACRM-backed channels (one of our WhatsApp providers), messages spread across UTC days rather than burst β the bulk endpoint returns
estimated_completion+spans_daysso you can plan around it. - For SMS providers, we throttle per the gateway's documented limits.
- For email, we use SendGrid or Resend's per-second envelope.
TIP
A 5,000-recipient WhatsApp bulk send won't finish in five minutes β and that's by design. If you need everyone to receive a message at exactly 9 AM Sunday, send to a smaller priority list first and a larger one later.
Templates and merge tokens β
The compose window supports merge tokens β {{member.first_names}}, {{member.unit.name}}, etc. The token picker shows every field available based on whether you're sending to members or other recipients.
Templates live in Messaging β Templates and are reusable. Workflows can reference templates by ID so you don't need to copy text around.
Conversations β
WhatsApp and SMS are two-way. When a member replies, the inbound shows in Conversations β see Conversations. Staff can respond from the same view without leaving the app.
Email is one-way for now (your church's reply-to inbox handles responses externally).
Channels and providers β
Each channel is backed by a provider. You configure providers per channel in Settings β Channels.
| Channel | Built-in providers |
|---|---|
| WAHA-backed (WACRM), WhatsApp Official, smsmobileapi | |
| SMS | Twilio, smsmobileapi |
| Resend, SMTP, SendGrid |
See Channels & unsubscribe for configuration details and rate limits per provider.
Unsubscribe handling β
Compliance matters. Every message footer (where the channel allows it) includes an unsubscribe link. When a member unsubscribes:
- They're added to the unsubscribe list for that channel.
- Future bulk sends skip them automatically.
- Single sends to them surface a warning before send.
You can review and manage the unsubscribe list from Messaging β Unsubscribe.
Delivery status β
Every message gets a delivery status:
- Queued β handed to the provider, not yet processed.
- Sent β provider accepted.
- Delivered β confirmed by the recipient's device.
- Read (WhatsApp only) β confirmed by the recipient opening it.
- Failed β provider couldn't deliver. The reason is shown.
Delivery statuses update via webhooks from the provider. WhatsApp gives the richest data; email and SMS often top out at Sent.
Permissions β
| Action | Admin | Shepherd | Member |
|---|---|---|---|
| Send single message | yes | scoped | no |
| Send bulk | yes | scoped | no |
| Configure channels | yes | no | no |
| View conversations | yes | scoped | own only |
| View unsubscribe list | yes | no | no |
Next steps β
- WhatsApp β the channel most churches lead with.
- Channels & unsubscribe β set up at least one provider.
- Conversations β handle the replies.
- Connect messaging to Workflows for automated follow-ups.