Channels reference
Categorized activities by channel
APPLIES TO: SDK v4
The following tables show what events (activities on the wire) can come from which channels.
These symbols are used in the tables:
| Symbol | Meaning |
|---|---|
| ✔ | The bot should expect to receive this activity. |
| ❌ | The bot should never expect to receive this activity. |
| ❓ | Currently undetermined whether the bot can receive this. |
Activities can meaningfully be split into separate categories. For each category, we have a table of possible activities. See the Bot Framework activity schema for a detailed description of each type of activity, and the information that each type of activity contains.
Conversational
| \ | Direct Line | Direct Line (Web Chat) | GroupMe | Kik | Teams | Slack | Skype | Skype Business | Telegram | Twilio | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
message |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
messageReaction |
❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✔ | ❌ | ❌ | ❌ | ❌ | ❌ |
- All channels send message activities.
- If your bot uses a dialog, forward message activities to the dialog.
- Message reactions don't need to be forwarded to the dialog, even though they're very much part of the conversation.
- There are logically two types of message reactions: added and removed.
Tip
Message reactions are things like a thumbs up on a previous comment. They can happen out of order, and can be thought of as similar to buttons.
Welcome
| \ | Direct Line | Direct Line (Web Chat) | GroupMe | Kik | Teams | Slack | Skype | Skype Business | Telegram | Twilio | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
conversationUpdate |
✔ | ✔ | ❌ | ❓ | ✔ | ✔ | ✔ | ✔ | ❌ | ❌ | ✔ | ❌ |
contactRelationUpdate |
❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✔ | ✔ | ❌ | ❌ |
- It is common for channels to send conversation update activities.
- The main types of conversation updates are conversation members added and members removed.
- Some channels send the conversation update when the bot is added to a conversation, and some send it after the first message sent to the bot.
- To produce a reliable Welcome behavior, include user state in your bots welcome logic.
Application extensibility
| \ | Direct Line | Direct Line (Web Chat) | GroupMe | Kik | Teams | Slack | Skype | Skype Business | Telegram | Twilio | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
event |
✔ | ✔ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ |
name = CreateConversation |
❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ |
name = ContinueConversation |
❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ |
- Event activities communicate programmatic information from a client or channel to a bot. The meaning of an event activity is defined by the
namefield, which is meaningful within the scope of a channel. - An application that owns both the client and server can chose to tunnel their own events through the service using event activities.
Microsoft Teams
- Along with other activity types, Microsoft Teams defines a few Teams-specific
invokeactivities. See How Microsoft Teams bots work for more information. - Invoke activities communicate programmatic information from a client or channel to a bot, and have a corresponding return payload for use within the channel. The meaning of an invoke activity is defined by the
namefield, which is meaningful within the scope of a channel.
Message update
| \ | Direct Line | Direct Line (Web Chat) | GroupMe | Kik | Teams | Slack | Skype | Skype Business | Telegram | Twilio | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
messageUpdate |
❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✔ | ❓ | ❌ | ❌ | ❌ | ❌ |
messageDelete |
❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✔ | ❓ | ❌ | ❌ | ❌ | ❌ |
- Message update is currently supported by Teams.
OAuth
| \ | Direct Line | Direct Line (Web Chat) | GroupMe | Kik | Teams | Slack | Skype | Skype Business | Telegram | Twilio | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
invoke |
✔ | ✔ | ❌ | ❓ | ❓ | ❓ | ❌ | ❓ | ❓ | ❓ | ❓ | ❓ |
Important
For dialogs and OAuth prompts to work, you must forward the following invoke activities to the dialog:
signin/verifyStatesignin/tokenExchangetokens/response
Uncategorized
| \ | Direct Line | Direct Line (Web Chat) | GroupMe | Kik | Teams | Slack | Skype | Skype Business | Telegram | Twilio | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
endOfConversation |
✔ | ✔ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
installationUpdate |
✔ | ✔ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
typing |
✔ | ✔ | ❌ | ✔ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Out of use
deleteUserDatahandoffinvoke: payment requestinvoke: addressping
Note
The handoff activity is different from the handoff-to-human scenario. See Transition conversations from bot to human for more information.
Summary of activities supported per channel
Direct Line
conversationUpdateeventCreateConversationContinueConversation
invokesignin/tokenExchangesignin/verifyStatetokens/response
message
message
invoketokens/response
message
GroupMe
conversationUpdateinvoketokens/response
message
Kik
conversationUpdateinvoketokens/response
message
Teams
conversationUpdateinvokemessagemessageDeletemessageReactionmessageUpdate
Slack
conversationUpdateinvoketokens/response
message
Skype
contactRelationUpdateinvoketokens/response
message
Skype Business
contactRelationUpdateinvoketokens/response
message
Telegram
conversationUpdateinvoketokens/response
message
Twilio
message
Summary table all activities to all channels
| \ | Direct Line | Direct Line (Web Chat) | GroupMe | Kik | Teams | Slack | Skype | Skype Business | Telegram | Twilio | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
contactRelationUpdate |
❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✔ | ✔ | ❌ | ❌ |
conversationUpdate |
✔ | ✔ | ❌ | ❓ | ✔ | ✔ | ✔ | ✔ | ❌ | ❌ | ✔ | ❌ |
endOfConversation |
✔ | ✔ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
event |
✔ | ✔ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ |
- CreateConversation |
❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ |
- ContinueConversation |
❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ |
installationUpdate |
✔ | ✔ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
message |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
messageDelete |
❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✔ | ❓ | ❌ | ❌ | ❌ | ❌ |
messageReaction |
❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✔ | ❌ | ❌ | ❌ | ❌ | ❌ |
messageUpdate |
❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✔ | ❓ | ❌ | ❌ | ❌ | ❌ |
typing |
✔ | ✔ | ❌ | ✔ | ❌ | ❌ | ✔ | ✔ | ❌ | ❌ | ✔ | ❌ |
Support for event and invoke activities varies by the activity's name and varies by channel.
Action support by channel
The following table shows the maximum number of suggested actions and card actions that are supported in each channel. The ❌ indicates that the action is not supported at all in the specified channel.
| \ | Direct Line | Direct Line (Web Chat) | GroupMe | Kik | Line | Teams | Slack | Skype | Skype Business | Telegram | Twilio | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Suggested actions | 100 | 100 | ❌ | 10 | ❌ | 20 | 13 | ❌ | ❌ | 10 | ❌ | 100 | ❌ |
| Card actions | 100 | 100 | ❌ | 3 | ❌ | 20 | 99 | 50 | 100 | 3 | ❌ | ❌ | ❌ |
For more information about the numbers shown in the above table, refer to channel support code listed here.
For more information on suggested actions, see how to Use button for input article.
For more information on card actions, see the Send a hero card section of the Add media to messages article.
Card support by channel
| Channel | Adaptive Card | Animation card | Audio card | Hero card | Receipt card | Sign-in card | Thumbnail card | Video card |
|---|---|---|---|---|---|---|---|---|
| 🖼 | 📄 | 📄 | ✔ | ✔ | ✔ | ✔ | 📄 | |
| ⚠🖼 | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ❌ | |
| GroupMe | 🖼 | 📄 | 📄 | 📄 | 📄 | 📄 | 📄 | 📄 |
| Kik | 🖼 | ✔ | ✔ | ❌ | 📄 | ❌ | ✔ | 📄 |
| Line | ⚠🖼 | ✔ | 📄 | ✔ | ✔ | ✔ | ✔ | 📄 |
| Microsoft Teams | ✔ | ❌ | ❌ | ✔ | ✔ | ✔ | ✔ | ❌ |
| Skype | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
| Slack | 🖼 | ✔ | 📄 | 📄 | ✔ | ✔ | 📄 | 📄 |
| Telegram | ⚠🖼 | ✔ | 📄 | ✔ | ✔ | ✔ | ✔ | ✔ |
| Twilio | 🖼 | 📄 | ❌ | 📄 | 📄 | 📄 | 📄 | ❌ |
| Web Chat | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
Note
The Direct Line channel technically supports all cards, but it's up to the client to implement them.
- ✔: Supported - card is supported fully with the exception that some channels only support a subset of card actions or may limit the number of actions allowed on each card. Varies by channel.
- ⚠: Partial support - card may not be displayed at all if it contains inputs or buttons. Varies by channel.
- ❌: No support
- 🖼: Card is converted to an image
- 📄: Card is converted to unformatted text - links may not be clickable, images may not display, and media may not be playable. Varies by channel.
These categories are intentionally broad and don't fully explain how every card feature is supported in each channel due to the many possible combinations of cards, features, and channels. Use this table as a base reference, but test each of your cards in the desired channel.