29. Connectors
Post activity to a channel
• Text
• Card
• Actionable messages
Incoming webhook
Posting a JSON to an HTTP endpoint
30. Actionable messages
• Get notified of activity but also act on this
activity
• Removes the need of extra steps like
switching application
Create an actionable message:
http://messagecardplayground.azurewebsites.net/
33. Message extensions
• Integrate your app directly in a
chat
• Get information from your app
and post that information
• Uses the bot framework
34. • 5 seconds to respond
• Default query possible (initialrun = true)
• Recently viewed items
• Favorites
• Every request has information about the user
40. Activity feed integrations
• Uses the bot framework api
• Flag specific messages to appear in the activity
feed
• Use deep linking to navigate the user to content
• You can create a notification only bot
43. Outgoing Webhooks
(custom bots)
• Easy way to extend teams without the
need of building a full bot
• Listens to @mentions
• First authenticate the caller
44. Outgoing webhooks
limitations
• Outgoing webhooks do not have access
to non-messaging APIs, such as team
roster membership.
• Outgoing webhooks cannot post into
channels proactively.
• Although outgoing webhooks can use
cards, they cannot use button actions
like imBack or invoke.
47. Calls and
meetings
• 2 types of meetings:
• Ad-hoc
• Scheduled
For a bot this is not true: A meeting is just a (multiparty)
call with additional metadata such as: chatId, joinUrl,
startTime, endTime,…
48. ngrok
• Setup an account and get an auth token
• Run ngrok authtoken <yourtoken>
• Update file with
• tunnels:
• signaling: addr: 12345
• proto: http
• host-header: localhost:3979
• media:
• addr: 8445
• proto: tcp
!!Python style
49. Add additional permissions for the AAD app
Permission Display String Description Admin Consent Required
Calls.Initiate.All Initiate outgoing 1:1 calls from the app
(preview)
Allows the app to place outbound calls to a single user and transfer
calls to users in your organization’s directory, without a signed-in
user.
Yes
Calls.InitiateGroupCall.All Initiate outgoing group calls from the app
(preview)
Allows the app to place outbound calls to multiple users and add
participants to meetings in your organization, without a signed-in
user.
Yes
Calls.JoinGroupCall.All Join Group Calls and Meetings as an app
(preview)
Allows the app to join group calls and scheduled meetings in your
organization, without a signed-in user. The app will be joined with the
privileges of a directory user to meetings in your tenant.
Yes
Calls.JoinGroupCallasGuest.All Join Group Calls and Meetings as a guest
(preview)
Allows the app to anonymously join group calls and scheduled
meetings in your organization, without a signed-in user. The app will
be joined as a guest to meetings in your tenant.
Yes
Calls.AccessMedia.All Access media streams in a call as an app
(preview)
Allows the app to get direct access to media streams in a call, without
a signed-in user.
Yes