Docs
Integrations
WhatsApp

WhatsApp integration

WhatsApp is the most-used messaging app in our primary markets, so thola treats it as a first-class channel. This page is the complete list of what thola sends over WhatsApp and how to control it.

thola integrations mapWhatsApp is one of four primary integrations. Each is independent and toggleable.

What thola sends over WhatsApp

Message typeToDefault state
Sign-up OTPNew usersAlways on
Workspace inviteInviteesAlways on
Red Flag (High severity)MembersOpt-in
Morning BriefingMembersOpt-in
Payment receiptOwnerOpt-in
Payment reminder (to customers)Your customersOpt-in per customer
Worker-task linkWorkersOpt-in per project

Notice: nothing customer-facing is on by default. We don't auto-message your customers. You decide channel per customer.

OTPs

WhatsApp OTPs are the default channel for:

  • Sign-up — verify phone number at registration
  • Password reset — verify identity before reset
  • Sensitive action — some Settings changes (changing default payment method, transferring workspace ownership)

OTPs are 6 digits, valid for 5 minutes. We use the WhatsApp Business API under a registered business number.

If you can't receive WhatsApp (out of region, signal issue), every OTP flow has a "Send by SMS instead" fallback.

Workspace invites

When you invite a teammate by phone, thola sends them a WhatsApp message with:

  • Inviter's name
  • Workspace name
  • A one-tap link to accept

The link is a deep-link: tapping opens the thola app (if installed) or the accept-invite web page (if not). The token in the link is single-use and expires in 14 days.

Customer-facing messages

For messages to your customers — payment reminders, invoice send, follow-up — WhatsApp delivery is opt-in per customer.

When you record a customer:

  • You can tag their preferred channel (WhatsApp, SMS, email)
  • The preferred channel is what thola uses for all outbound to them
  • You can override per-message

When the agent drafts a customer message, the preview shows which channel and gives you a chance to switch.

The send confirmation

We never send a customer-facing WhatsApp message without showing you a preview first. Even on workspaces with agent-first posture, customer outbound is confirmation-required by design.

The preview shows:

  • Recipient name + number
  • Channel (WhatsApp, SMS, email)
  • Message body, in the recipient's language
  • "Send now", "Schedule", "Edit", "Cancel"

For bulk outbound (e.g. payment reminders to 30 customers), the preview lists all of them; you select-all or pick subset.

Turning WhatsApp off

You can disable WhatsApp in three scopes:

ScopeWhereEffect
Just meProfile → Notifications → WhatsAppI personally don't get WhatsApp messages from thola
A specific customerCustomer record → Preferred channelthola uses email/SMS for this customer
Entire workspaceSettings → Workspace → Channels → WhatsAppNo outbound WhatsApp from this workspace, ever

The workspace-wide toggle is useful for businesses operating in regions where WhatsApp Business API has restrictions, or where customers have explicitly opted out.

Templates & approval

WhatsApp Business has rules about template messages — pre-approved formats for non-conversational outbound. thola uses approved templates for:

  • OTPs
  • Payment reminders
  • Workspace invites
  • Bill receipts

These templates are submitted to Meta for approval. Once approved, you can use them within thola without further configuration.

For custom outbound (an agent-drafted message to a specific customer about a specific deal), thola uses the "session" window — the 24 hours after the customer last messaged you. Outside that window, custom messages fall back to email.

Rate limits

Meta caps how many fresh-conversation messages you can send per day, based on your workspace's quality rating. thola respects this automatically:

  • If you're approaching the cap, the agent warns you
  • Bulk sends queue up and spread across the day
  • Quality-rating drops are surfaced as a Medium Red Flag so you can investigate (usually: stop sending to customers who marked you spam)

Privacy

We log delivery state (sent, delivered, read) but not message content beyond the time the message is in the worker queue. The message body is encrypted at rest in our outbox; it expires from the outbox after 30 days.

Customer messages and your agent chats use the same agentic-messaging substrate but live in different scopes — customer-facing is workspace-isolated, never aggregated.


→ Next: Google SSO