Skip to main content

Configure omnichannel communications

How to configure channels (email, SMS, WhatsApp, Telegram, push) and launch a multi-channel message flow that picks the optimal channel per member.

Case: after a campaign closes you want to send the winners segment a congratulations message, using WhatsApp if they have phone + opt-in, or email as fallback.

Time: ~35 min · Level: intermediate.

Prerequisites

  • Accounts at the providers you'll use:
    • Twilio for SMS (Account SID, Auth Token, sender number).
    • Meta Business for WhatsApp (Phone Number ID, Access Token, approved templates).
    • Telegram Bot (token via @BotFather).
    • SMTP for email (host, user, password, port).
    • VAPID keys for Web Push (IncentIA can auto-generate).

1. Configure Email

Admin → CommunicationsChannelsEmail.

  • SMTP host, port (465 or 587).
  • User and password.
  • Sender address: no-reply@your-domain.app.
  • Sender name: Your Brand.
  • Send test email button → lands in your inbox.

Configure SPF, DKIM, and DMARC in your DNS to avoid spam folders.

2. Configure SMS (Twilio)

Admin → CommunicationsChannelsSMS.

  • Account SID: SIDxxx
  • Auth Token: xxx
  • Sender Number: +1... (must be a valid Twilio number).

Test by sending an SMS to your phone.

3. Configure WhatsApp (Meta)

Admin → CommunicationsChannelsWhatsApp.

  • Phone Number ID (Meta Business Manager → WhatsApp API).
  • Access Token.
  • Business Account ID.
  • Webhook URL: IncentIA gives you a URL; configure it in Meta Business to receive user replies.

Approved templates

WhatsApp requires "non-conversational outbound messages" to use pre-approved templates.

  1. In Meta Business Manager → Message templatesCreate template.
  2. Language, category (marketing, utility, authentication).
  3. Body with variables: Hi {{1}}, your prize {{2}} is ready.
  4. Submit → Meta reviews in 1–24h.

Once approved, it appears in IncentIA as an available template.

4. Configure Telegram

Admin → CommunicationsChannelsTelegram.

  • Bot Token (from @BotFather).
  • Bot Username: your_bot.
  • IncentIA generates the sign-up deep link: https://t.me/your_bot?start={memberId}.

Every member who interacts with the bot for the first time is "linked" and can receive messages.

5. Configure Push

Admin → CommunicationsChannelsPush.

  • VAPID Public / Private Key: generate from the panel.
  • VAPID Subject: mailto:admin@your-domain.app.
  • Members opening the PWA are prompted for notification permission.

6. Create templates

For each event type + channel, create a template.

Example — Campaign winner

Template campaign_winner:

  • Subject (email): 🎉 You won!
  • Body HTML (email):
    <h1>Congratulations, {{member.name}}!</h1>
    <p>You won <strong>{{prize.name}}</strong>.</p>
    <p>Code: <code>{{prize.code}}</code></p>
  • Body (SMS): Congrats {{member.name}}! Code: {{prize.code}}
  • Body (WhatsApp): use approved template campaign_winner_v1 with params [member.name, prize.name, prize.code].
  • Body (Push): title Winner!, body Your prize {{prize.name}} is ready.

Each channel can have its own tone and length. Channel Router will pick which to use.

7. Member channel preferences

Members pick their preferred channel in their portal (PWA → Profile → Communications). The Channel Router respects the preference:

  1. Member prefers WhatsApp → try WhatsApp first.
  2. If it fails (e.g. no opt-in), try the next: Email → SMS → Telegram → Push.

8. Create a multi-channel flow

Admin → CommunicationsFlowsNew.

"Winner congrats" flow:

  1. Trigger: CampaignGameWon event (fires when someone wins a prize).
  2. Audience: filter over the event (e.g. grand prize only).
  3. Action: send template campaign_winner via Channel Router → let IncentIA pick.
  4. Wait: 48h.
  5. Condition: did the member redeem the prize?
    • Yes → End.
    • NoAction: resend via a different channel than used (manual fallback).

Publish the flow.

9. Test the flow

  • Dry-run: IncentIA simulates the flow and shows what would be sent to each member, per channel.
  • Test audience: run only against a "Testers" segment with your internal email/phone.
  • Template preview: shows how the message looks with sample data.

10. Monitor

Communications dashboard:

  • Messages sent per channel and per day.
  • Delivery / open / click / opt-out rates.
  • Most-used templates.
  • Members who changed preference.

11. Best practices

  • One priority channel + one fallback works better than trying all.
  • WhatsApp > Email for critical alerts (higher CTR), but watch the cost per message.
  • Push > SMS for members with active app.
  • Don't flood: configure a global throttle (max N messages per member per day).
  • Multi-language templates: one template with es, en, pt variants.

12. Compliance

  • All marketing communication requires explicit member opt-in.
  • Every message carries an unsubscribe link (email) or "STOP" text (SMS).
  • Preference changes are logged with timestamp for audit.
  • Review templates for GDPR / privacy compliance (minimum data, clear purpose).

What you built

  • 5 channels configured and operational.
  • Multi-channel templates for the same event.
  • Channel Router picking the optimal channel per member.
  • Automated flow with cross-channel fallback.
  • Monitoring dashboard.

Next steps

  • Create Dynamic Links inside messages for advanced tracking → Dynamic Links.
  • Combine with segmentation for micro-targeting → members concepts.
  • Launch a complex flow with conditional branches using the visual editor.