Platform Integrations#
Outeract provides unified access to multiple messaging platforms through a single API. Each platform integration handles authentication, message formatting, and webhook processing automatically.
Supported Platforms#
| Platform | Auth Method | Webhook Type | Description |
|---|---|---|---|
| Discord | Token | Dedicated | Send and receive messages via Discord Bot API for community … |
| Facebook Messenger | OAuth | Shared | Connect your Facebook Page to send and receive messages via … |
| Instagram Business | OAuth | Shared | Connect your Instagram Business account via Facebook Login … |
| Maileroo | Token | Dedicated | Connect your email service to send and receive messages via … |
| Slack | Token | Dedicated | Connect your Slack workspace to send and receive messages … |
| Telegram | Token | Dedicated | Send and receive messages via Telegram Bot API with … |
| Twilio SMS | Token | Dedicated | Send and receive SMS messages via Twilio API |
| WhatsApp Business | OAuth | Shared | Connect your WhatsApp Business account via OAuth for … |
| iMessage | Token | Dedicated | Send and receive iMessages via LoopMessage API with … |
Quick Comparison#
Authentication Methods#
OAuth Platforms (WhatsApp, Instagram, Facebook)
- Click “Authorize” button in console
- Automatic token exchange and refresh
- No manual credential management
Token-Based Platforms (Telegram, Slack, Discord)
- Obtain credentials from platform developer portal
- Enter token/secret in console
- Manual token management
API Key Platforms (SMS, Email, iMessage)
- Obtain API keys from provider
- Enter credentials in console
- Per-request authentication
Webhook Architecture#
Shared Webhooks (Meta platforms)
Meta Cloud API ──► Outeract Shared Webhook ──► Route by Account ID ──► Connection- Single webhook URL for all connections
- Routing based on business account ID
- Simplified Meta app configuration
Dedicated Webhooks (Other platforms)
Platform ──► Unique Webhook URL ──► Specific Connection- Each connection has unique URL
- Direct routing, no payload inspection
- Connection-specific secrets
Platform Features Matrix#
| Feature | Telegram | Slack | Discord | SMS | ||||
|---|---|---|---|---|---|---|---|---|
| Text Messages | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Images | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Videos | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Audio | ✓ | - | ✓ | ✓ | ✓ | ✓ | - | - |
| Documents | ✓ | - | ✓ | ✓ | ✓ | ✓ | - | ✓ |
| Reactions | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - | - |
| Read Receipts | ✓ | ✓ | ✓ | - | - | - | - | - |
| Typing Indicators | ✓ | - | ✓ | ✓ | - | ✓ | - | - |
| Templates | ✓ | - | ✓ | - | - | - | - | ✓ |
| Interactive Buttons | ✓ | - | ✓ | ✓ | ✓ | ✓ | - | - |
| Group/Channel | - | - | - | ✓ | ✓ | ✓ | - | - |
Getting Started#
1. Choose Your Platform#
Consider these factors when selecting platforms:
- Audience reach - Where are your users?
- Feature requirements - Rich media? Buttons? Groups?
- Authentication complexity - OAuth vs API keys
- Compliance needs - Data residency, encryption
2. Set Up Platform Account#
Each platform has specific requirements:
- Meta platforms: Business verification, app review
- Telegram: Create bot via @BotFather
- Slack: Create app in workspace settings
- SMS/Email: Sign up with provider
3. Create Platform Connection#
mutation {
createPlatformConnection(
platformName: WHATSAPP
name: "Production WhatsApp"
config: {
# Platform-specific configuration
}
) {
id
webhookUrl
}
}4. Configure Webhooks#
For dedicated webhooks, configure the provided URL in your platform settings.
For shared webhooks (Meta), configure once in your Meta App settings.
5. Test the Connection#
mutation {
testPlatformConnection(id: "pc_abc123") {
success
message
health {
status
lastCheckedAt
}
}
}Common Operations#
Send a Message#
mutation {
sendMessage(
platformConnectionId: "pc_abc123"
toExternalId: "+14155551234"
message: "Hello from Outeract!"
) {
id
status {
success
externalMessageId
}
}
}Send with Attachment#
mutation {
sendMessage(
platformConnectionId: "pc_abc123"
toExternalId: "+14155551234"
message: "Check out this image"
fileIds: ["file_xyz789"]
) {
id
}
}Check Connection Health#
query {
platformConnection(id: "pc_abc123") {
id
name
health {
status
lastCheckedAt
errorMessage
}
}
}Platform-Specific Guides#
Click on a platform below for detailed setup instructions:
Best Practices#
1. Use Environment Separation#
Create separate applications for development, staging, and production.
2. Monitor Health Regularly#
Set up alerts for platform connection health degradation.
3. Handle Rate Limits#
Implement queuing and backoff strategies for high-volume messaging.
4. Validate Webhooks#
Always verify webhook signatures to prevent spoofing.
5. Test Thoroughly#
Test all message types (text, media, buttons) before production deployment.