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) Email Facebook 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) Email Facebook 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) Email Facebook 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 name field, 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 invoke activities. 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 name field, which is meaningful within the scope of a channel.

Message update

\ Direct Line Direct Line (Web Chat) Email Facebook 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) Email Facebook 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/verifyState
  • signin/tokenExchange
  • tokens/response

Uncategorized

\ Direct Line Direct Line (Web Chat) Email Facebook GroupMe Kik Teams Slack Skype Skype Business Telegram Twilio
endOfConversation
installationUpdate
typing

Out of use

  • deleteUserData
  • handoff
  • invoke: payment request
  • invoke: address
  • ping

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

  • conversationUpdate
  • event
    • CreateConversation
    • ContinueConversation
  • invoke
    • signin/tokenExchange
    • signin/verifyState
    • tokens/response
  • message

Email

  • message

Facebook

  • invoke
    • tokens/response
  • message

GroupMe

  • conversationUpdate
  • invoke
    • tokens/response
  • message

Kik

  • conversationUpdate
  • invoke
    • tokens/response
  • message

Teams

  • conversationUpdate
  • invoke
  • message
  • messageDelete
  • messageReaction
  • messageUpdate

Slack

  • conversationUpdate
  • invoke
    • tokens/response
  • message

Skype

  • contactRelationUpdate
  • invoke
    • tokens/response
  • message

Skype Business

  • contactRelationUpdate
  • invoke
    • tokens/response
  • message

Telegram

  • conversationUpdate
  • invoke
    • tokens/response
  • message

Twilio

  • message

Summary table all activities to all channels

\ Direct Line Direct Line (Web Chat) Email Facebook 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) Email Facebook 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
Email 🖼 📄 📄 📄
Facebook ⚠🖼
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.