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#

PlatformAuth MethodWebhook TypeDescription
DiscordTokenDedicatedSend and receive messages via Discord Bot API for community …
Facebook MessengerOAuthSharedConnect your Facebook Page to send and receive messages via …
Instagram BusinessOAuthSharedConnect your Instagram Business account via Facebook Login …
MailerooTokenDedicatedConnect your email service to send and receive messages via …
SlackTokenDedicatedConnect your Slack workspace to send and receive messages …
TelegramTokenDedicatedSend and receive messages via Telegram Bot API with …
Twilio SMSTokenDedicatedSend and receive SMS messages via Twilio API
WhatsApp BusinessOAuthSharedConnect your WhatsApp Business account via OAuth for …
iMessageTokenDedicatedSend 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#

FeatureWhatsAppInstagramFacebookTelegramSlackDiscordSMSEmail
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.