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 → Communications → Channels → Email.
- 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 → Communications → Channels → SMS.
- 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 → Communications → Channels → WhatsApp.
- 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.
- In Meta Business Manager → Message templates → Create template.
- Language, category (marketing, utility, authentication).
- Body with variables:
Hi {{1}}, your prize {{2}} is ready. - Submit → Meta reviews in 1–24h.
Once approved, it appears in IncentIA as an available template.
4. Configure Telegram
Admin → Communications → Channels → Telegram.
- 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 → Communications → Channels → Push.
- 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_v1with params[member.name, prize.name, prize.code]. - Body (Push): title
Winner!, bodyYour 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:
- Member prefers WhatsApp → try WhatsApp first.
- If it fails (e.g. no opt-in), try the next: Email → SMS → Telegram → Push.
8. Create a multi-channel flow
Admin → Communications → Flows → New.
"Winner congrats" flow:
- Trigger:
CampaignGameWonevent (fires when someone wins a prize). - Audience: filter over the event (e.g. grand prize only).
- Action: send template
campaign_winnervia Channel Router → let IncentIA pick. - Wait: 48h.
- Condition: did the member redeem the prize?
- Yes → End.
- No → Action: 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,ptvariants.
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.