Notification channels for your tenants

Configure email, SMS, WhatsApp, and Telegram notification channels for your Booknetic SaaS tenants — owner setup, per-plan capabilities, and limits.

Version:
Categories

A quick clarification before we start

Booknetic SaaS has three "notification"-shaped things that are easy to mix up. Quick map before we go deeper, so you know you're on the right page:

  • Notification channels (this page) — the actual delivery surfaces: Email, SMS, WhatsApp, Telegram. What they are, who configures them, and what your tenants can change.
  • Workflow events — the moments that fire a message: a tenant signs up, a customer books, a payment goes through, a subscription expires. Covered alongside the Workflows module.
  • Workflow Logs — the receipt that tells you whether a message actually went out and what happened if it didn't. See Workflow Logs in Booknetic SaaS.

A workflow event triggers an action on a channel, and the result is recorded in a workflow log. This page is about the channel in the middle.

What channels Booknetic SaaS supports

Out of the box, your tenants can reach their customers through four built-in channels:

  • Email — always available; powered by your WordPress site's mail setup.
  • SMS — powered by Twilio.
  • WhatsApp — powered by Twilio's WhatsApp Business product (Sandbox for testing, Business API for production).
  • Telegram — powered by a Telegram bot you create.

You'll also see two extra notification options if you install their add-ons — Mailchimp Transactional Email and Amazon SNS SMS — plus a Webhook (HTTP request) action that's not really a channel but is often used the same way (sending notifications into Zapier, Make, or your own service). This page focuses on the four headline channels above; the others follow the same pattern.

Booknetic SaaS Settings — Integrations index showing the channel rows

You'll find every channel listed under WP Admin → Booknetic SaaS → Settings → Integrations.

Who configures what — owner vs. tenant

This is where most "why isn't my tenant's notification working?" tickets come from. Booknetic SaaS splits channel configuration in three places, not one. Read it once, share it with your tenants:

What gets configured Who does it Where it lives
Provider credentials — your Twilio Account SID + Auth Token, your Telegram bot token, your email gateway. The technical bits the messaging providers give you. You, the SaaS owner, one time, for the whole platform. WP Admin → Booknetic SaaS → Settings → Integrations → (channel).
Which channels each tenant can use, and how many messages per channel — for example "the Pro plan includes SMS, the Starter plan doesn't" or "the Pro plan gets 500 SMS, the Starter plan gets 50". You, the SaaS owner, per plan. WP Admin → Booknetic SaaS → Plans → (plan) → Capabilities and Limits tabs. See Plans and plan capabilities for the full picture.
Per-channel message content + recipients — the actual workflow that sends "Booking confirmation" to a customer with a service name, a date, a price. The tenant, inside their own Booknetic admin. Tenant → Booknetic → Workflows → create / edit workflow.
Sender display name and Reply-To (Email only — see Email section) The tenant, where you allow it. Tenant → Booknetic → Settings → Email.

Two consequences flow from that split:

  • Your tenants don't see your Twilio Account SID or Telegram bot token. Those settings live in the SaaS owner panel, not in the tenant's panel. Your tenants just see the action — "Send SMS via Twilio" — appear in their workflow editor when their plan includes that channel.
  • The provider account is yours, not theirs. When a tenant sends 100 SMS, those 100 SMS come out of your Twilio account and your Twilio bill. The way you recoup that cost is by including SMS as a paid capability in the plan you sell them.

Booknetic SaaS Plans list — channels are gated per plan via Capabilities + Limits tabs

Email

Email is the only channel that's available to every tenant out of the box, with no provider account on your side. Booknetic uses WordPress's built-in mail to send.

What you set up once. WordPress's wp_mail works out of the box, but on a production SaaS install you'll almost always want an SMTP plugin (any reputable one — WP Mail SMTP, FluentSMTP, Post SMTP). Connect that to a transactional mail provider (Mailgun, SendGrid, Amazon SES, Brevo, Postmark — any of them) so your tenants' booking confirmations and reminders actually land in inboxes instead of spam folders. This is the single most important deliverability decision you make as a SaaS owner.

Open WP Admin → Booknetic SaaS → Settings → Integrations → Email to see your platform's email settings.

Booknetic SaaS Email settings entry point

What the tenant can change. Each tenant can set their own sender name and Reply-To address so the booking emails their customers receive say "Aurora Wellness Studio" rather than your platform's name. The underlying mail gateway stays under your control.

Per-plan limit. Your plan capabilities let you cap how many emails a tenant can send. If you give the Starter plan 200 emails/month and the tenant hits 200, that tenant's email channel pauses for the rest of the period — see the "What happens when a tenant hits their channel limit" section below.

Common gotcha. If a tenant's reminder emails are landing in spam, the fix is at the SMTP/provider level, not in Booknetic — your transactional email provider's authentication (SPF, DKIM, DMARC on your sending domain) is what email clients look at.

SMS — via Twilio

The built-in SMS channel sends through Twilio. The SMS add-on registers a workflow action called Send SMS message via Twilio that your tenants can drop into any workflow.

What you set up once.

  1. Sign up at twilio.com and get an active phone number that supports SMS in the regions your tenants' customers are in.
  2. In WP Admin → Booknetic SaaS → Settings → Integrations → SMS Twilio, paste your Account SID, Auth Token, and Sender phone number (the number you bought from Twilio, in E.164 format like +14155551234).

Booknetic SaaS SMS Twilio settings entry point

That one Twilio account powers SMS for every tenant on your platform. Your tenants don't have their own Twilio accounts — they all share yours.

What the tenant does. The tenant adds the Send SMS via Twilio action inside one of their workflows (for example, on "Appointment approved", send the customer their booking details). They write the message body, pick the recipient (usually {customer_phone}), and save. Your global Twilio credentials handle the actual send.

Per-plan limit and capability. Your plan capabilities control two things for SMS: whether a tenant can use the SMS channel at all (capability on/off per plan), and how many SMS that tenant can send before the channel pauses (numeric limit per plan).

Who pays. Twilio charges you for every SMS sent. The standard SaaS pricing pattern is to set a generous SMS allowance on each paid plan, fold the expected cost into your plan price, and rely on the per-plan limit to stop a tenant burning through your Twilio balance.

Heads-up: phone number formatting. Twilio is strict about E.164 format (international country code, no spaces, no dashes, leading +). If your tenants' customers are entering phone numbers in local formats, make sure their booking forms either validate to E.164 or store the country alongside the number.

WhatsApp — via Twilio

Same provider as SMS, different product surface. WhatsApp uses Twilio's WhatsApp Business product, which has two distinct setup paths and the choice matters a lot:

  • WhatsApp Sandbox — Twilio's testing environment. Free to use, recipients have to opt in by sending a join code to a shared Twilio number first, and there's no business branding. Good for proving that your Booknetic → Twilio → WhatsApp pipe works end-to-end before you commit to the production path.
  • WhatsApp Business API — production. Requires a verified Twilio WhatsApp Sender (your own approved business phone number) and pre-approved message templates from Meta. This is what real tenants ship to real customers with.

What you set up once.

  1. Get Twilio's WhatsApp working — either join the Sandbox or go through Twilio's WhatsApp Sender approval, then create the Content Templates Meta has approved for your message types (reminders, confirmations).
  2. In WP Admin → Booknetic SaaS → Settings → Integrations → WhatsApp Twilio, paste your Account SID and Auth Token, then add your Messaging Service ID and your approved Content Template identifier(s) with their template variables.

Booknetic SaaS WhatsApp Twilio settings entry point

What the tenant does. Tenants add the Send WhatsApp message via Twilio action in a workflow, pick a recipient, and select which approved template to use. Booknetic substitutes the workflow shortcodes into the template's variables when the message fires.

Per-plan limit and capability. Same pattern as SMS — per-plan on/off and a per-plan message limit (shows up in the plan's Limits tab as "WhatsApp messages").

Heads-up: templates are non-negotiable in production. Meta requires WhatsApp Business API messages to use templates they've approved. Free-form WhatsApp messages only work inside an open 24-hour conversation window with the customer. For appointment confirmations, reminders, and the like — everything Booknetic is going to send — you'll be sending templated messages. Get your templates approved in Twilio before you turn the WhatsApp channel on for paid tenants.

Telegram

Telegram is the cheapest channel to operate — there's no per-message cost — but it requires the tenant's customers to have a Telegram account and to start a chat with your bot first.

What you set up once.

  1. Open Telegram, message @BotFather, run /newbot, follow the prompts, and copy the bot token BotFather hands you.
  2. In WP Admin → Booknetic SaaS → Settings → Integrations → Telegram Bot, paste the bot token. That's the whole setup.

Booknetic SaaS Telegram Bot settings entry point

How tenants and their customers connect to the bot. A Telegram bot can only send a message to a chat that has already started a conversation with it. So the way Telegram notifications work in practice:

  • For tenant-to-staff Telegram notifications (an internal "you have a new booking" alert), the staff member opens Telegram, starts a chat with the bot, and the workflow points at their chat ID.
  • For tenant-to-customer Telegram notifications, the customer has to have started a chat with the bot first — typically by clicking a "Subscribe to Telegram updates" link the tenant exposes during booking.

The tenant fills the recipient chat ID into the Send Telegram message workflow action. Your bot token does the rest.

Per-plan limit and capability. Per-plan on/off, plus a per-plan message limit (shown in the plan's Limits tab).

Heads-up: Telegram is opt-in. Unlike Email and SMS, the bot can't reach a customer who hasn't initiated the chat. Plan your tenant onboarding so they understand they need to drive customers to the bot first.

A quick map of the workflow side

Every channel above is a workflow action. The tenant builds a workflow by picking a When this happens event (for example, Appointment approved) and a Do this action (for example, Send SMS via Twilio). The events available depend on what the tenant has installed and what their plan includes; the actions available depend on which channel add-ons you've enabled platform-wide and which channels their plan includes.

Workflow create panel showing the When / Do this event-and-action selectors

If a channel action isn't showing up for a tenant when you expect it to, the check order is:

  1. Is the channel add-on installed and active on the SaaS install? (You.)
  2. Does the tenant's plan include that channel capability? (You — Plans → Capabilities tab.)
  3. Has the tenant already hit their per-plan limit for that channel? (Plans → Limits tab. If yes, see the next section.)
  4. Does the tenant's user role have permission to edit workflows? (Inside the tenant's own admin.)

What happens when a tenant hits their channel limit

This is the single most common "why did the email arrive but the SMS didn't?" pattern. Here's what's going on.

Each channel has a separate per-plan limit. When a tenant's usage of a specific channel reaches that plan's limit, Booknetic stops sending on that channel until the limit clears. Critically — other channels keep working. If your tenant's workflow says "on booking, send the customer an email AND an SMS", and they've hit the SMS limit but not the email limit, the customer will get the email and not the SMS. The workflow still fires; just the SMS step gets suppressed.

The clearest way to confirm a limit hit is to open the tenant's Workflow Logs — see Workflow Logs in Booknetic SaaS. The skipped SMS step will surface there with an error message that points at the limit. Once you raise the limit (or move the tenant to a higher plan, or wait for the next period if the limit resets per period), that channel resumes on the next workflow run.

The same suppression applies to every per-channel limit: Email, SMS, WhatsApp, Telegram, Mailchimp, AWS SNS, and Webhook all behave the same way.

Turning a channel off for a specific tenant

You don't toggle channels per tenant directly. Instead, you control channel access at the plan level:

  • To take SMS away from a tenant, move them to a plan that doesn't include the SMS capability — or edit their current plan's Capabilities tab to turn SMS off.
  • To throttle a tenant's SMS volume without removing access entirely, lower the per-plan SMS limit on their plan.

When a tenant's plan doesn't include a channel, the channel action stops being available in their workflow editor. Existing workflows that referenced the action will stop firing on that channel as soon as the plan change takes effect (other channels in the same workflow keep working).

Plans are how you express every tenant-specific channel decision in Booknetic SaaS. See Plans and plan capabilities for the full pattern.

Common questions

"Can each of my tenants use their own Twilio account?"

Today, no — your Twilio account is shared across all your tenants. Whichever Account SID + Auth Token you paste into Settings → Integrations → SMS Twilio (and WhatsApp Twilio) is what every tenant sends through.

Two practical workarounds depending on what you're trying to solve:

  • You want tenants to pay for their own SMS usage. Set a per-plan SMS limit and price the plan to recoup your Twilio cost. Your tenants pay you, you pay Twilio.
  • A tenant insists on their own Twilio account for compliance or branding reasons. Today this isn't supported in the built-in SMS add-on. Reach out to support — we'd like to hear the use case so we can weigh it against the roadmap.

"What happens if my Twilio credentials are wrong?"

The workflow will run, the SMS or WhatsApp step will fail, and a Failed row will appear in the tenant's Workflow Logs with the Twilio error (typically "authentication failed" or "invalid credentials"). Fix the Account SID / Auth Token in Settings → Integrations → SMS Twilio, then either wait for the next workflow trigger or use Retry on the failed log row.

"How does a tenant test a channel?"

Inside the tenant's workflow editor, the Save & Test button on any action sends a test message using the action's current settings. Two things to know:

  • Save & Test runs with empty event data, so any shortcodes in the message (like {customer_name} or {service_name}) won't fill in — the test message goes out with the placeholders visible, or in some cases an empty string. That's expected — Save & Test confirms the channel and provider settings work, not the workflow event context. For a full end-to-end check, trigger the real event (book a real test appointment) once the test send succeeds.
  • A test send still counts as a Workflow Log entry. The Event column shows Test so you can tell test runs apart from real ones.

"Do channel limits reset every month?"

The reset cadence depends on how your plan is configured and which release of Booknetic SaaS you're on. The safest path: check the plan's Limits tab against your tenant's current usage in their Workflow Logs to see where they stand, and contact support if the behaviour you're seeing doesn't match what you expected — we'll confirm the exact period for your setup.

"Can my tenants customise notification templates per channel?"

Yes. Each tenant builds their own workflows in their own Booknetic admin. Inside each workflow action, the tenant writes the message body for that specific channel (the subject + HTML body for an email, the SMS text, the WhatsApp template variables, the Telegram message text) and uses Booknetic shortcodes to pull in dynamic data like the customer's name, the service, the appointment date, and so on. One tenant's templates don't affect another tenant's templates — workflows are tenant-scoped.

"My tenant has been waiting for their reminder SMS for an hour and it hasn't arrived."

Walk through the diagnostic in this order:

  1. Open the tenant's Workflow Logs. Did the workflow even fire? If there's no log row, the trigger never reached the SMS step (workflow disabled, event filter mismatched, or — for scheduled reminders — WordPress cron isn't running).
  2. If there's a Failed row, open Details and read the error message. Common causes: invalid phone number format (Twilio is strict about E.164), the tenant's plan SMS limit was hit, or the Twilio credentials need fixing.
  3. If there's a Success row, Booknetic handed the message to Twilio cleanly. Check Twilio's own logs for delivery state — provider-side failures (carrier rejection, recipient phone off, recipient in a region not enabled on your Twilio account) won't surface in Booknetic.

"My WhatsApp template isn't sending — what's wrong?"

The two most common causes in production WhatsApp:

  • The Content Template you picked in the workflow action hasn't been approved on Meta's side yet, or the variables you're filling don't match the template's variable count/order.
  • The customer hasn't opted in. WhatsApp Business API requires the recipient to have an existing relationship with your business number, established either through a template-initiated conversation or by the customer messaging you first.

In Sandbox mode, the most common cause is the recipient hasn't sent the Twilio Sandbox join code yet — Sandbox is opt-in per recipient.

Related pages

  • Workflow Logs in Booknetic SaaS — the diagnostic surface that tells you whether a channel send actually went out (and why it didn't, if it didn't).
  • Plans and plan capabilities in Booknetic SaaS — where you control which channels each tenant has access to, and how much volume per channel each plan includes.
  • Workflows — the editor where your tenants put channel actions to work behind events like Appointment approved or Appointment cancelled.