Skip to content

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.

Messaging overview

The channels

ChannelBest forCostReach
WhatsAppday-to-day pastoral commstiny per-messagenearly universal in many regions
SMSurgent updates, low-friction reachmid per-messageuniversal
Emaillonger-form, formatted contentnear-zerouniversal 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_days so 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.

ChannelBuilt-in providers
WhatsAppWAHA-backed (WACRM), WhatsApp Official, smsmobileapi
SMSTwilio, smsmobileapi
EmailResend, 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

ActionAdminShepherdMember
Send single messageyesscopedno
Send bulkyesscopedno
Configure channelsyesnono
View conversationsyesscopedown only
View unsubscribe listyesnono

Next steps

  1. WhatsApp — the channel most churches lead with.
  2. Channels & unsubscribe — set up at least one provider.
  3. Conversations — handle the replies.
  4. Connect messaging to Workflows for automated follow-ups.