> ## Documentation Index
> Fetch the complete documentation index at: /docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Adapters Overview

> Deploy bots to multiple messaging platforms

## Available Adapters

> [card] [Discord](/docs/sdk/router/adapters/discord.md)
>
> Discord bot integration with slash commands

> [card] [Telegram](/docs/sdk/router/adapters/telegram.md)
>
> Telegram bot with inline keyboards

> [card] [Slack](/docs/sdk/router/adapters/slack.md)
>
> Slack app with events API

> [card] [WhatsApp](/docs/sdk/router/adapters/whatsapp.md)
>
> WhatsApp Business API integration

> [card] [Crisp](/docs/sdk/router/adapters/crisp.md)
>
> Crisp live chat widget

> [card] [Custom](/docs/sdk/router/custom-adapters.md)
>
> Build your own platform adapter

## What are Adapters?

Adapters connect the Router SDK to messaging platforms. Each adapter:

* Receives messages from the platform
* Normalizes message format
* Sends responses back to the platform
* Handles platform-specific features

## Using Adapters

Import and configure adapters:

```javascript theme={null}
import { Router, DiscordAdapter, TelegramAdapter } from '@boostgpt/router';

const router = new Router({
  apiKey: process.env.BOOSTGPT_API_KEY,
  projectId: process.env.BOOSTGPT_PROJECT_ID,
  defaultBotId: process.env.BOOSTGPT_BOT_ID,
  adapters: [
    new DiscordAdapter({
      discordToken: process.env.DISCORD_TOKEN
    }),
    new TelegramAdapter({
      telegramToken: process.env.TELEGRAM_TOKEN
    })
  ]
});

await router.start();
```

## Multi-Platform Deployment

Deploy to multiple platforms with one codebase:

```javascript theme={null}
import {
  Router,
  DiscordAdapter,
  TelegramAdapter,
  SlackAdapter
} from '@boostgpt/router';

const router = new Router({
  apiKey: process.env.BOOSTGPT_API_KEY,
  projectId: process.env.BOOSTGPT_PROJECT_ID,
  defaultBotId: process.env.BOOSTGPT_BOT_ID,
  adapters: [
    new DiscordAdapter({
      discordToken: process.env.DISCORD_TOKEN
    }),
    new TelegramAdapter({
      telegramToken: process.env.TELEGRAM_TOKEN
    }),
    new SlackAdapter({
      slackToken: process.env.SLACK_TOKEN,
      signingSecret: process.env.SLACK_SIGNING_SECRET
    })
  ]
});

router.onMessage(async (message, context) => {
  // Same handler works across all platforms
  if (message.content === '/help') {
    return 'I can help you! Ask me anything.';
  }
  return null;
});

await router.start();
console.log('Bot running on Discord, Telegram, and Slack!');
```

## Platform-Specific Logic

Handle platform differences when needed:

```javascript theme={null}
router.onMessage(async (message, context) => {
  if (message.platform === 'discord') {
    return 'Discord response with <@user> mentions';
  }

  if (message.platform === 'telegram') {
    return 'Telegram response with /commands';
  }

  if (message.platform === 'slack') {
    return 'Slack response with <@U123> format';
  }

  // Default response for all platforms
  return null;
});
```

## Adapter Configuration

Each adapter has specific configuration:

### Discord

```javascript theme={null}
new DiscordAdapter({
  discordToken: 'your-discord-bot-token'
})
```

### Telegram

```javascript theme={null}
new TelegramAdapter({
  telegramToken: 'your-telegram-bot-token'
})
```

### Slack

```javascript theme={null}
new SlackAdapter({
  slackToken: 'xoxb-your-slack-token',
  signingSecret: 'your-signing-secret'
})
```

### WhatsApp

```javascript theme={null}
new WhatsAppAdapter({
  phoneNumberId: 'your-phone-number-id',
  accessToken: 'your-access-token',
  verifyToken: 'your-verify-token'
})
```

### Crisp

```javascript theme={null}
new CrispAdapter({
  identifier: 'your-identifier',
  key: 'your-key'
})
```

## Getting Platform Credentials

* **Discord**: [Discord Developer Portal](https://discord.com/developers/applications)
* **Telegram**: [@BotFather](https://t.me/botfather)
* **Slack**: [Slack API](https://api.slack.com/apps)
* **WhatsApp**: [Meta Business](https://developers.facebook.com/docs/whatsapp)
* **Crisp**: [Crisp App Settings](https://app.crisp.chat)

## Next Steps

Choose your platform to get started:

> [card] [Discord](/docs/sdk/router/adapters/discord.md)
>
> Setup Discord bot

> [card] [Telegram](/docs/sdk/router/adapters/telegram.md)
>
> Setup Telegram bot

> [card] [Slack](/docs/sdk/router/adapters/slack.md)
>
> Setup Slack app


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.