WhatsApp · LINE · RCS
Connect WhatsApp (Meta Cloud API), LINE (Messaging API) and RCS (Google RBM) with your own provider accounts. Each is a channel in the same send waterfall as email, SMS and push — off until you connect it, with consent enforced at send time.
How it works
Bring your own account
Each channel uses your brand's own provider account — a Meta WhatsApp Business Account, a LINE Official Account, or a Google-verified RBM agent. The channel stays off until you connect it; nothing sends before that.
One send waterfall
There's no separate "send WhatsApp" API. Each is a channel in the same campaign/automation engine as email, SMS and push — one shared frequency cap, automatic fallback to the next channel (email always works).
Consent enforced at send
Marketing opt-in is checked per channel at send time (marketing_whatsapp / marketing_line / marketing_rcs). A member without the right consent is skipped, not sent.
Secrets encrypted
Access tokens, channel secrets and service-account keys are encrypted at rest and never returned by the API. You paste them once in Settings → Channels.
Connect your Meta WhatsApp Business Account. Business-initiated messages use Meta-approved templates.
// WhatsApp — Meta WhatsApp Cloud API (Settings → Channels → WhatsApp)
// • Phone number id — from your WhatsApp Business Account (WABA)
// • Access token — WABA access token (write-only, encrypted at rest)
// • Templates — business-initiated messages use Meta-APPROVED templates
//
// Addressed by the member's phone number. Off until enabled; once on, WhatsApp joins
// the send waterfall. Meta business verification happens on Meta's side before delivery.LINE
Connect a LINE Official Account. Members are reached by LINE userId — captured via the follow webhook (signature-verified) or one-tap portal Connect LINE. See the Member Portal Embed guide for the signed-in consumer session the portal flow relies on.
// LINE — Messaging API (Settings → Channels → LINE)
// • Channel access token — long-lived token (write-only, encrypted)
// • Channel secret — OPTIONAL, only to receive follow/unfollow events (below)
// • LINE Login channel — OPTIONAL, powers one-tap portal "Connect LINE"
//
// LINE is addressed by the member's LINE userId — captured two ways:
//
// 1) Follow webhook. Point your LINE Official Account's webhook at:
// POST https://flash.socialhub.ai/api/webhooks/line/{teamId}
// Flash verifies the x-line-signature header before acting:
// signature == base64( HMAC-SHA256( rawRequestBody, <channel secret> ) )
// follow -> the member's LINE userId is (re)linked
// unfollow-> Flash stops targeting them on LINE
// (Always returns 200 so LINE keeps the endpoint enabled.)
//
// 2) One-tap portal Connect LINE (needs the LINE Login channel). The member taps
// "Connect LINE" on their portal privacy page and authorizes via LINE Login;
// Flash links their LINE account to their membership automatically.RCS
Connect a Google-verified RBM agent and a service account. Flash exchanges the service-account key for an OAuth2 token server-side at send time.
// RCS — Google RCS Business Messaging / RBM (Settings → Channels → RCS)
// • RBM agent id — your Google-VERIFIED RBM agent (the sender)
// • Service-account email — the SA that calls the RBM API
// • Service-account key (PEM)— write-only, encrypted; exchanged for an OAuth2 token
// server-side at send time
//
// Addressed by E.164 phone (like SMS/WhatsApp). Reaches RCS-capable Android handsets;
// falls back automatically when a recipient can't receive RCS. Google verifies the
// RBM agent on Google's side before delivery is live.Good to know
- Each channel is per-workspace and off by default — a workspace with no connected account keeps the email-first path with no behavior change.
- You never call a per-channel "send" endpoint: author a campaign or automation once and the channel plan picks the right channel per member, falling back to email.
- WhatsApp and RCS are addressed by phone; LINE by the member's LINE userId (follow webhook or portal Connect LINE).
- Provider onboarding/verification (Meta business verification, LINE OA setup, Google RBM agent verification) happens on the provider's side — Flash holds the credentials and enforces consent, but can't shortcut a provider's approval.
Connecting a messaging channel?
Paste your provider credentials in Channel settings, enable, and the channel joins your existing campaigns and journeys automatically.