SlideShare une entreprise Scribd logo
1  sur  39
Bots, Adaptive Cards, Task
Module, Message Extensions
in Microsoft Teams
Jenkins NS
 Modern Workplace Solution Architect
 International Speaker
 Trainer
 @ JPOWER4 (http://www.jpower4.com/)
 jenkinsns@jpower4.com
 jenkinsns@gmail.com
 @jenkinsns
 My Blog Posts : http://www.Jenkinsblogs.com
 SPFx: https://www.facebook.com/spfxinfo/
 MS Teams: https://www.facebook.com/msteamsinfo
 Github : https://github.com/jenkinsns
Communicate
through chat, meetings & calls
Collaborate
with deeply integrated Office 365 apps
Customize& extend
with 3rd party apps, processes, and devices
Work withconfidence
enterprise level security, compliance,
and manageability
Desktop Mobile Browsers
iPhone Android
iPad
OS X 10.10+
Windows 7+
Edge
Chrome
Firefox
STANDALONEWEB,
DEVICE,AND SERVICE
APPS
EXTENSIONS
EMBEDDED CANVASES
MicrosoftGraph External Data & Content
1stPartyApps 3rd PartyApps Custom Apps
HUB EXPERIENCE
Enable your teams tomake decisions and
take action faster
Reduce context switching on important tasks
Create opportunities for collaboration
around external content
Microsoft Teams Platform
build experiences that people love
Communicate
through chat, meetings & calls
Collaborate
with deeply integrated Office 365 apps
Customize& extend
with 3rd party apps, processes, and
developer tools
Work withconfidence
enterprise level security, compliance,
and manageability
Gain context
without switching
context
Meet your
people where
they are
Tailor your
teamwork
your app/service
tabs adaptive
cards
notificationsbots messaging
extensions
connectors
task
modules graph
Microsoft Teams
team
scope
personal
scope
Tabs
Surface rich content within
Teams
Distribute and manage your app
Bots
Help users get tasks done in
conversations
Voice and video
Add rich calling and meeting
automation and media
Messaging Extensions
Allow users to query and share
rich cards in conversations
Power your apps using Graph. Build intelligence and connect to data that
drives productivity
Microsoft Graph
Adaptive Cards
Add rich interaction to your
connector cards
Notifications
Post rich updates to channels
via connectors
Enterprise Developers
Upload to your organization’s app
catalog
ISV / SI / MSP Partners
Publish to AppSource to make
available in the Teams app store
Build apps using rich capabilities to empower your
users in chat, channels, and personal workspace
Administrators
Assign policy for apps over end users.
Preinstall and pre-pin apps to drive
adoption
Chat
Lightweight collaboration in 1:1 or group setting without complex permissions
Example: 1:1 topics between manager and direct report
Team and channel
Enable public collaboration and workflows with all team members
Example: share, discuss, and get notified about new service incidents
Personal
User-centric view, showing aggregate content along with private bot chat
Example: list of all tasks assigned to me
Custom-tailor your app’s
functionality depending
on which of these
contexts you will support
Conversations
Notification-Only Bots
Sending and Receiving Files
Conversations
Series of messages sent between your bot and one or more users. Conversations are in one of
the following scopes:
Teams
Also called channel conversations,
visible to all members of the channel.
Personal
Conversations between bots and a
single user.
Group chat
Chat between a bot and two or more
users.
Bot Events in Microsoft Teams
Activity objects are used to pass information back and forth between bot and channel (or user).
Activities can represent Events, denoted by ActivityType == ‘conversationUpdate’
Team Member Events
teamMemberAdded
teamMemberRemoved
Payload object contains
added/removed members
*Adding bot fires this event
Channel Events
channelCreated
channelRenamed
channelDeleted
ChannelData object reflects
current state
Reactions
reactionsAdded
reactionsRemoved
replyToId contains the ID of the
specific message
Team Events
teamRenamed
ChannelData object reflects
current state
Teams Context
Your bot can access additional context about the team or chat, such as user profile. This information
can be used to enrich your bot's functionality and provide a more personalized experience.
Members in conversation
var mbrs = await connector.Conversations
.GetConversationMembersAsync(
message.Conversation.Id
);
foreach (var mbr in mbrs.AsTeamsChannelAccounts())
{
[...]
}
Channels in Team
ConversationList channels =
client
.GetTeamsConnectorClient()
.Teams
.FetchChannelList(
activity.GetChannelData<TeamsChannelData>()
.Team.Id
);
Proactive Messaging
A proactive message is an activity sent by a bot to start a conversation
Start Personal conversation
Must have user’s information cached
• From team roster
• From previous interaction with user
• From conversationUpdate events
Use the CreateOrGetDirectConversation method
Start Channel conversation
Must have channel information cached
• From previous interaction in channel
• From conversationUpdate events
To create conversation:
• Create ConnectorClient with service Uri
• Call
connector.Conversations.CreateConversationAsync,
passing channel account for bot
• Set Conversation property of new message
• Call connector.Conversations.SendToConversationAsync
Activity Feed
Optionally send personal chat messages into the
feed as preview cards summarizing your app's
activity.
Construct the message such that choosing the card
navigates the user straight to the message or object
that triggered the notification, such as an entity in a
tab.
Must include Text and Summary properties
Notification only bots
Bots can update the activity feed
If the sole purpose of the bot is to deliver notifications,
consider a notification only bot.
• Users cannot message your notification-only bot
• Users cannot @mention the bot
bots node
isNotificationOnly property
"bots": [
{
"botId": "[MicrosoftAppId]",
"scopes": [
"personal",
"team"
],
"isNotificationOnly": true,
}
]
Send and Receive file
Sending and receiving files through a bot can be accomplished via two different APIs
Microsoft Graph API
Obtain access to OneDrive folder (user or group drive)
Get reference to file
Post message to conversation with card attachment
Microsoft Teams API
Personal context (1:1) only
Enable files in manifest
Teams client provides a file picker experience
Teams client will store file in OneDriveCreate and then post
activity with metadata, including content URL
Bot must download and handle file as appropriate
Enable send and receive
Teams client will handle file selection and
storage
Handles scenario User -> Bot
bots node
supportsFiles property
"bots": [
{
"botId": "[MicrosoftAppId]",
"scopes": [
"personal",
"team"
],
"supportsFiles": true,
}
]
Events and Queries
Responding to User Requests
Message Extensions in App
Manifest
Events and Queries
 Activity payload
 composeExtension/query
 composeExtension/querySettingUr
l
 composeExtension/setting
Events and Queries
Query events
Query data sent to bot
Activity.GetComposeExtensionQueryData()
• Verify commandId and parameters
• Use parameter value to query your service
Respond with attachment layout of “List”
Events and Queries
Settings events
If canUpdateConfiguration is true, Teams
will send Settings events in response to
user action
onQuerySettingsUrl
• Sent when “Settings” clicked
• Return Url of settings page
• Teams will render page
onSettingsUpdate
• Sent when settings page is closed
• Storage of settings is developer
responsibility
Responding to User Requests
Service must respond within 5 seconds.
Response is not an activity sent via the Bot Framework.
Response is an HTTP Response:
• HTTP Status of 200
• Content type application/json
• Response body must contain a valid composeExtension object.
Message Extensions in App Manifest
composeExtension node
Associated with a registered application
Personal and Team scopes
Define command UI and parameter
Multiple extensions
Your extension shown along
with all others added to Teams
"composeExtensions": [
{
"botId": "[MicrosoftAppId]",
"scopes": [
"team"
],
"canUpdateConfiguration": true,
"commands": [
{
"id": "searchCmd",
"description": "Search Bot Channels",
"title": "Bot Channels",
"initialRun": false,
"parameters": [
{
"name": "searchText",
"description": "Enter your search text",
"title": "Search Text“
}
]
}
]
}
]
http://jenkinsblogs.com/2019/10/30/create-custom-microsoft-teams-messaging-extensions-using-nodejs/
Using Cards in Bots
Using Cards in Messaging Extensions
Adaptive Cards support in Microsoft Teams
Using Cards in Bots
Adaptive Card
A customizable card that can contain any
combination of text, speech, images,
buttons, and input fields.
Supported in Teams, Outlook, Windows,
etc.
Hero
Largest card
Best used for articles, long descriptions or
scenarios where your image is telling most of
the story
Receipt
A card that enables a bot to provide a receipt
to the user. It typically contains the list of items
to include on the receipt, tax and total
information, and other text.
Using Cards in Messaging Extensions
Respond with attachment layout of “List”
Format each query result as a card
Do not include actions
Adaptive Cards support in Microsoft Teams
Microsoft Teams supports three action types for Adaptive cards:
• Action.OpenUrl
• Action.Submit
• Action.ShowCard
Actions other than these are not supported
Using Cards in Bots
Using Cards in Messaging Extensions
Adaptive Cards support in Microsoft Teams
Static Tabs
A content page declared directly in manifest
No Configuration
Added in “personal” scope
Accessed via the app bar or alongside bot
conversation
Static Tabs - Manifest
staticTabs node
contentUrl is hosted in IFRAME in Teams
websiteUrl is used as target for link
validDomains node
A list of valid domains from which the extension
expects to load any content.
"staticTabs": [
{
"entityId": "candidatesTab",
"name": "Candidates",
"contentUrl": "https://.../Tabs/candidates.html",
"websiteUrl": "https://.../Tabs/candidates.html?web=1",
"scopes": [
"personal"
]
}
],
"validDomains": [
"token.botframework.com"
]
Tab Configuration and Content
Tab Configuration
Configured in manifest
Displayed when Tab added to Channel
Collect information
Call setSettings() specifying Content Url and Entity Id
Tab Content
Rendered in IFRAME
Url specified by configuration page
Inspect context for EntityId/SubEntityId
Retrieve state based on Entity/SubEntity/User
Enjoy the Bootcamp
Call to action
Join Office 365 developer program
https://dev.office.com/devprogram
to leverage all resources for Office 365
development learning
Build applications on Office 365 platform
Attend MVP led local community events to
continue learning on Office 365 development
Share your feedback on Bootcamp at
https://aka.ms/Microsoft365DevBootcampSurvey2019

Contenu connexe

Tendances

TeamsNation 2022 - Governance for Microsoft Teams - A to Z.pptx
TeamsNation 2022 - Governance for Microsoft Teams - A to Z.pptxTeamsNation 2022 - Governance for Microsoft Teams - A to Z.pptx
TeamsNation 2022 - Governance for Microsoft Teams - A to Z.pptxJasper Oosterveld
 
Migrating Your Intranet to SharePoint Online
Migrating Your Intranet to SharePoint OnlineMigrating Your Intranet to SharePoint Online
Migrating Your Intranet to SharePoint OnlinePerficient, Inc.
 
Well architected ML platforms for Enterprise Data Science
Well architected ML platforms for Enterprise Data ScienceWell architected ML platforms for Enterprise Data Science
Well architected ML platforms for Enterprise Data ScienceLeela Krishna Kandrakota
 
Exploring the SharePoint 2013 Community Site Template
Exploring the SharePoint 2013 Community Site TemplateExploring the SharePoint 2013 Community Site Template
Exploring the SharePoint 2013 Community Site TemplateSusan Hanley
 
10 Best SharePoint Features You’ve Never Used (But Should)
10 Best SharePoint Features You’ve Never Used (But Should)10 Best SharePoint Features You’ve Never Used (But Should)
10 Best SharePoint Features You’ve Never Used (But Should)Christian Buckley
 
Training – Introduction to SharePoint Online for Collaboration and Document M...
Training – Introduction to SharePoint Online for Collaboration and Document M...Training – Introduction to SharePoint Online for Collaboration and Document M...
Training – Introduction to SharePoint Online for Collaboration and Document M...Suhail Jamaldeen
 
次世代 IDaaS のポイントは本人確認 NIST と、サプライチェーンセキュリティと、みなしご ID - OpenID Summit 2020
次世代 IDaaS のポイントは本人確認 NIST と、サプライチェーンセキュリティと、みなしご ID  - OpenID Summit 2020次世代 IDaaS のポイントは本人確認 NIST と、サプライチェーンセキュリティと、みなしご ID  - OpenID Summit 2020
次世代 IDaaS のポイントは本人確認 NIST と、サプライチェーンセキュリティと、みなしご ID - OpenID Summit 2020OpenID Foundation Japan
 
Navigating the mess of a Shared Network Drive Migration to SharePoint - SPS B...
Navigating the mess of a Shared Network Drive Migration to SharePoint - SPS B...Navigating the mess of a Shared Network Drive Migration to SharePoint - SPS B...
Navigating the mess of a Shared Network Drive Migration to SharePoint - SPS B...Joanne Klein
 
Service now incidents-and_requests
Service now incidents-and_requestsService now incidents-and_requests
Service now incidents-and_requestsmcheyne
 
ITSM Project
ITSM ProjectITSM Project
ITSM ProjectOleksandr
 
SharePoint Benefits
SharePoint BenefitsSharePoint Benefits
SharePoint BenefitsSameh Senosi
 
Enriching ServiceNow Discovery and Service Mapping with Mainframe Machine and...
Enriching ServiceNow Discovery and Service Mapping with Mainframe Machine and...Enriching ServiceNow Discovery and Service Mapping with Mainframe Machine and...
Enriching ServiceNow Discovery and Service Mapping with Mainframe Machine and...Precisely
 
Everything you need to know about external sharing in OneDrive, SharePoint, a...
Everything you need to know about external sharing in OneDrive, SharePoint, a...Everything you need to know about external sharing in OneDrive, SharePoint, a...
Everything you need to know about external sharing in OneDrive, SharePoint, a...Drew Madelung
 
Revolutionize your IT Team with JIRA Service Desk
Revolutionize your IT Team with JIRA Service Desk Revolutionize your IT Team with JIRA Service Desk
Revolutionize your IT Team with JIRA Service Desk ACA IT-Solutions
 
Introduction to Microsoft SharePoint Online Capabilities, Security, Deploymen...
Introduction to Microsoft SharePoint Online Capabilities, Security, Deploymen...Introduction to Microsoft SharePoint Online Capabilities, Security, Deploymen...
Introduction to Microsoft SharePoint Online Capabilities, Security, Deploymen...Microsoft Private Cloud
 
Shared services what global companies do
Shared services what global companies doShared services what global companies do
Shared services what global companies doCapgemini
 
Getting started with with SharePoint Syntex
Getting started with with SharePoint SyntexGetting started with with SharePoint Syntex
Getting started with with SharePoint SyntexDrew Madelung
 
Enterprise Architecture Toolkit Overview
Enterprise Architecture Toolkit OverviewEnterprise Architecture Toolkit Overview
Enterprise Architecture Toolkit OverviewMike Walker
 
SharePoint Overview
SharePoint OverviewSharePoint Overview
SharePoint OverviewAmy Phillips
 

Tendances (20)

TeamsNation 2022 - Governance for Microsoft Teams - A to Z.pptx
TeamsNation 2022 - Governance for Microsoft Teams - A to Z.pptxTeamsNation 2022 - Governance for Microsoft Teams - A to Z.pptx
TeamsNation 2022 - Governance for Microsoft Teams - A to Z.pptx
 
Migrating Your Intranet to SharePoint Online
Migrating Your Intranet to SharePoint OnlineMigrating Your Intranet to SharePoint Online
Migrating Your Intranet to SharePoint Online
 
Well architected ML platforms for Enterprise Data Science
Well architected ML platforms for Enterprise Data ScienceWell architected ML platforms for Enterprise Data Science
Well architected ML platforms for Enterprise Data Science
 
Exploring the SharePoint 2013 Community Site Template
Exploring the SharePoint 2013 Community Site TemplateExploring the SharePoint 2013 Community Site Template
Exploring the SharePoint 2013 Community Site Template
 
10 Best SharePoint Features You’ve Never Used (But Should)
10 Best SharePoint Features You’ve Never Used (But Should)10 Best SharePoint Features You’ve Never Used (But Should)
10 Best SharePoint Features You’ve Never Used (But Should)
 
Training – Introduction to SharePoint Online for Collaboration and Document M...
Training – Introduction to SharePoint Online for Collaboration and Document M...Training – Introduction to SharePoint Online for Collaboration and Document M...
Training – Introduction to SharePoint Online for Collaboration and Document M...
 
次世代 IDaaS のポイントは本人確認 NIST と、サプライチェーンセキュリティと、みなしご ID - OpenID Summit 2020
次世代 IDaaS のポイントは本人確認 NIST と、サプライチェーンセキュリティと、みなしご ID  - OpenID Summit 2020次世代 IDaaS のポイントは本人確認 NIST と、サプライチェーンセキュリティと、みなしご ID  - OpenID Summit 2020
次世代 IDaaS のポイントは本人確認 NIST と、サプライチェーンセキュリティと、みなしご ID - OpenID Summit 2020
 
ITSM Presentation
ITSM PresentationITSM Presentation
ITSM Presentation
 
Navigating the mess of a Shared Network Drive Migration to SharePoint - SPS B...
Navigating the mess of a Shared Network Drive Migration to SharePoint - SPS B...Navigating the mess of a Shared Network Drive Migration to SharePoint - SPS B...
Navigating the mess of a Shared Network Drive Migration to SharePoint - SPS B...
 
Service now incidents-and_requests
Service now incidents-and_requestsService now incidents-and_requests
Service now incidents-and_requests
 
ITSM Project
ITSM ProjectITSM Project
ITSM Project
 
SharePoint Benefits
SharePoint BenefitsSharePoint Benefits
SharePoint Benefits
 
Enriching ServiceNow Discovery and Service Mapping with Mainframe Machine and...
Enriching ServiceNow Discovery and Service Mapping with Mainframe Machine and...Enriching ServiceNow Discovery and Service Mapping with Mainframe Machine and...
Enriching ServiceNow Discovery and Service Mapping with Mainframe Machine and...
 
Everything you need to know about external sharing in OneDrive, SharePoint, a...
Everything you need to know about external sharing in OneDrive, SharePoint, a...Everything you need to know about external sharing in OneDrive, SharePoint, a...
Everything you need to know about external sharing in OneDrive, SharePoint, a...
 
Revolutionize your IT Team with JIRA Service Desk
Revolutionize your IT Team with JIRA Service Desk Revolutionize your IT Team with JIRA Service Desk
Revolutionize your IT Team with JIRA Service Desk
 
Introduction to Microsoft SharePoint Online Capabilities, Security, Deploymen...
Introduction to Microsoft SharePoint Online Capabilities, Security, Deploymen...Introduction to Microsoft SharePoint Online Capabilities, Security, Deploymen...
Introduction to Microsoft SharePoint Online Capabilities, Security, Deploymen...
 
Shared services what global companies do
Shared services what global companies doShared services what global companies do
Shared services what global companies do
 
Getting started with with SharePoint Syntex
Getting started with with SharePoint SyntexGetting started with with SharePoint Syntex
Getting started with with SharePoint Syntex
 
Enterprise Architecture Toolkit Overview
Enterprise Architecture Toolkit OverviewEnterprise Architecture Toolkit Overview
Enterprise Architecture Toolkit Overview
 
SharePoint Overview
SharePoint OverviewSharePoint Overview
SharePoint Overview
 

Similaire à Bots, adaptive cards, task module, message extensions in microsoft teams

Bots, adaptive cards, task module, message extensions in microsoft teams
Bots, adaptive cards, task module, message extensions in microsoft teamsBots, adaptive cards, task module, message extensions in microsoft teams
Bots, adaptive cards, task module, message extensions in microsoft teamsJenkins NS
 
Building apps for microsoft teams - aossg
Building apps for microsoft teams - aossgBuilding apps for microsoft teams - aossg
Building apps for microsoft teams - aossgJenkins NS
 
Bot & AI - A Bot for Productivity
Bot & AI - A Bot for ProductivityBot & AI - A Bot for Productivity
Bot & AI - A Bot for ProductivityMarvin Heng
 
Microsoft Team Messaging Extension Deep Dive
Microsoft Team Messaging Extension Deep DiveMicrosoft Team Messaging Extension Deep Dive
Microsoft Team Messaging Extension Deep DiveManoj Mittal
 
Global office 365 developer bootcamp Slovenia 2018
Global office 365 developer bootcamp Slovenia 2018Global office 365 developer bootcamp Slovenia 2018
Global office 365 developer bootcamp Slovenia 2018Thomas Gölles
 
Office Dev Day 2018 - Extending Microsoft Teams
Office Dev Day 2018 - Extending Microsoft TeamsOffice Dev Day 2018 - Extending Microsoft Teams
Office Dev Day 2018 - Extending Microsoft TeamsAndré Vala
 
Building apps for microsoft teams - aosKL
Building apps for microsoft teams - aosKL Building apps for microsoft teams - aosKL
Building apps for microsoft teams - aosKL Jenkins NS
 
Microsoft Teams - A developers perspective
Microsoft Teams - A developers perspectiveMicrosoft Teams - A developers perspective
Microsoft Teams - A developers perspectiveThomas Gölles
 
Office 365 Developer Bootcamp: Microsoft Teams
Office 365 Developer Bootcamp: Microsoft TeamsOffice 365 Developer Bootcamp: Microsoft Teams
Office 365 Developer Bootcamp: Microsoft TeamsDavid Schneider
 
Sps mad2019 es el momento, empieza a desarrollar para microsoft teams
Sps mad2019   es el momento, empieza a desarrollar para microsoft teams Sps mad2019   es el momento, empieza a desarrollar para microsoft teams
Sps mad2019 es el momento, empieza a desarrollar para microsoft teams Ruben Ramos
 
Microsoft Graph community call - April, 2018
Microsoft Graph community call - April, 2018Microsoft Graph community call - April, 2018
Microsoft Graph community call - April, 2018Microsoft 365 Developer
 
Microsoft Teams Development - Conversational AI
Microsoft Teams Development - Conversational AIMicrosoft Teams Development - Conversational AI
Microsoft Teams Development - Conversational AIThomas Gölles
 
Intégrez vos applications métiers dans Microsoft Teams
Intégrez vos applications métiers dans Microsoft TeamsIntégrez vos applications métiers dans Microsoft Teams
Intégrez vos applications métiers dans Microsoft TeamsGuillaume Meyer
 
Microsoft Bot Framework (Node.js Edition)
Microsoft Bot Framework (Node.js Edition)Microsoft Bot Framework (Node.js Edition)
Microsoft Bot Framework (Node.js Edition)Jens Siebert
 
Build Modern Apps on Microsoft Teams-September 2018
Build Modern Apps on Microsoft Teams-September 2018Build Modern Apps on Microsoft Teams-September 2018
Build Modern Apps on Microsoft Teams-September 2018Microsoft 365 Developer
 
Building apps using azure for microsoft teams
Building apps using azure for microsoft teamsBuilding apps using azure for microsoft teams
Building apps using azure for microsoft teamsJenkins NS
 
API Workshop Series Part 2: The Future of Intelligent User Interactions
API Workshop Series Part 2: The Future of Intelligent User InteractionsAPI Workshop Series Part 2: The Future of Intelligent User Interactions
API Workshop Series Part 2: The Future of Intelligent User InteractionsCaitlin Zucal
 
In.Telligentroadmap
In.TelligentroadmapIn.Telligentroadmap
In.Telligentroadmapnomadixone
 
ECS19 - Bill Ayers - UNLOCK YOUR BUSINESS KNOWLEDGE WITH THE MICROSOFT GRAPH,...
ECS19 - Bill Ayers - UNLOCK YOUR BUSINESS KNOWLEDGE WITH THE MICROSOFT GRAPH,...ECS19 - Bill Ayers - UNLOCK YOUR BUSINESS KNOWLEDGE WITH THE MICROSOFT GRAPH,...
ECS19 - Bill Ayers - UNLOCK YOUR BUSINESS KNOWLEDGE WITH THE MICROSOFT GRAPH,...European Collaboration Summit
 

Similaire à Bots, adaptive cards, task module, message extensions in microsoft teams (20)

Bots, adaptive cards, task module, message extensions in microsoft teams
Bots, adaptive cards, task module, message extensions in microsoft teamsBots, adaptive cards, task module, message extensions in microsoft teams
Bots, adaptive cards, task module, message extensions in microsoft teams
 
Building apps for microsoft teams - aossg
Building apps for microsoft teams - aossgBuilding apps for microsoft teams - aossg
Building apps for microsoft teams - aossg
 
Bot & AI - A Bot for Productivity
Bot & AI - A Bot for ProductivityBot & AI - A Bot for Productivity
Bot & AI - A Bot for Productivity
 
Microsoft Team Messaging Extension Deep Dive
Microsoft Team Messaging Extension Deep DiveMicrosoft Team Messaging Extension Deep Dive
Microsoft Team Messaging Extension Deep Dive
 
Global office 365 developer bootcamp Slovenia 2018
Global office 365 developer bootcamp Slovenia 2018Global office 365 developer bootcamp Slovenia 2018
Global office 365 developer bootcamp Slovenia 2018
 
Office Dev Day 2018 - Extending Microsoft Teams
Office Dev Day 2018 - Extending Microsoft TeamsOffice Dev Day 2018 - Extending Microsoft Teams
Office Dev Day 2018 - Extending Microsoft Teams
 
Building apps for microsoft teams - aosKL
Building apps for microsoft teams - aosKL Building apps for microsoft teams - aosKL
Building apps for microsoft teams - aosKL
 
Microsoft Teams - A developers perspective
Microsoft Teams - A developers perspectiveMicrosoft Teams - A developers perspective
Microsoft Teams - A developers perspective
 
Office 365 Developer Bootcamp: Microsoft Teams
Office 365 Developer Bootcamp: Microsoft TeamsOffice 365 Developer Bootcamp: Microsoft Teams
Office 365 Developer Bootcamp: Microsoft Teams
 
Sps mad2019 es el momento, empieza a desarrollar para microsoft teams
Sps mad2019   es el momento, empieza a desarrollar para microsoft teams Sps mad2019   es el momento, empieza a desarrollar para microsoft teams
Sps mad2019 es el momento, empieza a desarrollar para microsoft teams
 
Microsoft Graph community call - April, 2018
Microsoft Graph community call - April, 2018Microsoft Graph community call - April, 2018
Microsoft Graph community call - April, 2018
 
Microsoft Teams Development - Conversational AI
Microsoft Teams Development - Conversational AIMicrosoft Teams Development - Conversational AI
Microsoft Teams Development - Conversational AI
 
Intégrez vos applications métiers dans Microsoft Teams
Intégrez vos applications métiers dans Microsoft TeamsIntégrez vos applications métiers dans Microsoft Teams
Intégrez vos applications métiers dans Microsoft Teams
 
Microsoft Bot Framework (Node.js Edition)
Microsoft Bot Framework (Node.js Edition)Microsoft Bot Framework (Node.js Edition)
Microsoft Bot Framework (Node.js Edition)
 
Build Modern Apps on Microsoft Teams-September 2018
Build Modern Apps on Microsoft Teams-September 2018Build Modern Apps on Microsoft Teams-September 2018
Build Modern Apps on Microsoft Teams-September 2018
 
Building apps using azure for microsoft teams
Building apps using azure for microsoft teamsBuilding apps using azure for microsoft teams
Building apps using azure for microsoft teams
 
API Workshop Series Part 2: The Future of Intelligent User Interactions
API Workshop Series Part 2: The Future of Intelligent User InteractionsAPI Workshop Series Part 2: The Future of Intelligent User Interactions
API Workshop Series Part 2: The Future of Intelligent User Interactions
 
In.Telligentroadmap
In.TelligentroadmapIn.Telligentroadmap
In.Telligentroadmap
 
ECS19 - Bill Ayers - UNLOCK YOUR BUSINESS KNOWLEDGE WITH THE MICROSOFT GRAPH,...
ECS19 - Bill Ayers - UNLOCK YOUR BUSINESS KNOWLEDGE WITH THE MICROSOFT GRAPH,...ECS19 - Bill Ayers - UNLOCK YOUR BUSINESS KNOWLEDGE WITH THE MICROSOFT GRAPH,...
ECS19 - Bill Ayers - UNLOCK YOUR BUSINESS KNOWLEDGE WITH THE MICROSOFT GRAPH,...
 
Bitrix24fullpresentation
Bitrix24fullpresentationBitrix24fullpresentation
Bitrix24fullpresentation
 

Plus de Jenkins NS

All about Send proactive messages in Microsoft Teams BOT
All about Send proactive messages in Microsoft Teams BOTAll about Send proactive messages in Microsoft Teams BOT
All about Send proactive messages in Microsoft Teams BOTJenkins NS
 
Surfacing SPFx Solutions in SharePoint, MS Teams, and Outlook Add-in
Surfacing SPFx Solutions in SharePoint, MS Teams, and Outlook Add-inSurfacing SPFx Solutions in SharePoint, MS Teams, and Outlook Add-in
Surfacing SPFx Solutions in SharePoint, MS Teams, and Outlook Add-inJenkins NS
 
Global M365 Developer Bootcamp 2020 Hyderabad: KEYNOTE
Global M365 Developer Bootcamp 2020 Hyderabad: KEYNOTEGlobal M365 Developer Bootcamp 2020 Hyderabad: KEYNOTE
Global M365 Developer Bootcamp 2020 Hyderabad: KEYNOTEJenkins NS
 
Global M365 Developer Bootcamp 2020 Hyderabad: WELCOME NOTE
Global M365 Developer Bootcamp 2020 Hyderabad: WELCOME NOTEGlobal M365 Developer Bootcamp 2020 Hyderabad: WELCOME NOTE
Global M365 Developer Bootcamp 2020 Hyderabad: WELCOME NOTEJenkins NS
 
SPFx Outlook add-in with Azure Cognitive services to detect the sentiment bef...
SPFx Outlook add-in with Azure Cognitive services to detect the sentiment bef...SPFx Outlook add-in with Azure Cognitive services to detect the sentiment bef...
SPFx Outlook add-in with Azure Cognitive services to detect the sentiment bef...Jenkins NS
 
Extend the unextended in microsoft teams
Extend the unextended in microsoft teamsExtend the unextended in microsoft teams
Extend the unextended in microsoft teamsJenkins NS
 
Power Automate integration with SPFX webpart
Power Automate integration with SPFX webpartPower Automate integration with SPFX webpart
Power Automate integration with SPFX webpartJenkins NS
 
Task-oriented interactions in Microsoft Teams with messaging extensions
Task-oriented interactions in Microsoft Teams with messaging extensionsTask-oriented interactions in Microsoft Teams with messaging extensions
Task-oriented interactions in Microsoft Teams with messaging extensionsJenkins NS
 
Microsoft power platform
Microsoft power platformMicrosoft power platform
Microsoft power platformJenkins NS
 
Introduction to microsoft teams app templates
Introduction to microsoft teams app templatesIntroduction to microsoft teams app templates
Introduction to microsoft teams app templatesJenkins NS
 
Build an app from scratch using teams app studio for ms teams
Build an app from scratch using teams app studio for ms teamsBuild an app from scratch using teams app studio for ms teams
Build an app from scratch using teams app studio for ms teamsJenkins NS
 
Empowering citizen developers using power apps
Empowering citizen developers using power appsEmpowering citizen developers using power apps
Empowering citizen developers using power appsJenkins NS
 
Ms teams webinar-getting started with microsoft teams development
Ms teams webinar-getting started with microsoft teams developmentMs teams webinar-getting started with microsoft teams development
Ms teams webinar-getting started with microsoft teams developmentJenkins NS
 
M365 virtual marathon build your first power virtual agents bot
M365 virtual marathon   build your first power virtual agents botM365 virtual marathon   build your first power virtual agents bot
M365 virtual marathon build your first power virtual agents botJenkins NS
 
harePoint Framework Webinar Series: Consume Graph APIs in SharePoint Framework
harePoint Framework Webinar Series: Consume Graph APIs in SharePoint FrameworkharePoint Framework Webinar Series: Consume Graph APIs in SharePoint Framework
harePoint Framework Webinar Series: Consume Graph APIs in SharePoint FrameworkJenkins NS
 
SPFx Webinar Loading SharePoint data in a SPFx Webpart
SPFx Webinar Loading SharePoint data in a SPFx WebpartSPFx Webinar Loading SharePoint data in a SPFx Webpart
SPFx Webinar Loading SharePoint data in a SPFx WebpartJenkins NS
 
SPSChennai2020
SPSChennai2020SPSChennai2020
SPSChennai2020Jenkins NS
 
Trivandrumtechcon20
Trivandrumtechcon20Trivandrumtechcon20
Trivandrumtechcon20Jenkins NS
 
Governance and administration for teams app development
Governance and administration for teams app developmentGovernance and administration for teams app development
Governance and administration for teams app developmentJenkins NS
 
Getting started with spfx
Getting started with spfxGetting started with spfx
Getting started with spfxJenkins NS
 

Plus de Jenkins NS (20)

All about Send proactive messages in Microsoft Teams BOT
All about Send proactive messages in Microsoft Teams BOTAll about Send proactive messages in Microsoft Teams BOT
All about Send proactive messages in Microsoft Teams BOT
 
Surfacing SPFx Solutions in SharePoint, MS Teams, and Outlook Add-in
Surfacing SPFx Solutions in SharePoint, MS Teams, and Outlook Add-inSurfacing SPFx Solutions in SharePoint, MS Teams, and Outlook Add-in
Surfacing SPFx Solutions in SharePoint, MS Teams, and Outlook Add-in
 
Global M365 Developer Bootcamp 2020 Hyderabad: KEYNOTE
Global M365 Developer Bootcamp 2020 Hyderabad: KEYNOTEGlobal M365 Developer Bootcamp 2020 Hyderabad: KEYNOTE
Global M365 Developer Bootcamp 2020 Hyderabad: KEYNOTE
 
Global M365 Developer Bootcamp 2020 Hyderabad: WELCOME NOTE
Global M365 Developer Bootcamp 2020 Hyderabad: WELCOME NOTEGlobal M365 Developer Bootcamp 2020 Hyderabad: WELCOME NOTE
Global M365 Developer Bootcamp 2020 Hyderabad: WELCOME NOTE
 
SPFx Outlook add-in with Azure Cognitive services to detect the sentiment bef...
SPFx Outlook add-in with Azure Cognitive services to detect the sentiment bef...SPFx Outlook add-in with Azure Cognitive services to detect the sentiment bef...
SPFx Outlook add-in with Azure Cognitive services to detect the sentiment bef...
 
Extend the unextended in microsoft teams
Extend the unextended in microsoft teamsExtend the unextended in microsoft teams
Extend the unextended in microsoft teams
 
Power Automate integration with SPFX webpart
Power Automate integration with SPFX webpartPower Automate integration with SPFX webpart
Power Automate integration with SPFX webpart
 
Task-oriented interactions in Microsoft Teams with messaging extensions
Task-oriented interactions in Microsoft Teams with messaging extensionsTask-oriented interactions in Microsoft Teams with messaging extensions
Task-oriented interactions in Microsoft Teams with messaging extensions
 
Microsoft power platform
Microsoft power platformMicrosoft power platform
Microsoft power platform
 
Introduction to microsoft teams app templates
Introduction to microsoft teams app templatesIntroduction to microsoft teams app templates
Introduction to microsoft teams app templates
 
Build an app from scratch using teams app studio for ms teams
Build an app from scratch using teams app studio for ms teamsBuild an app from scratch using teams app studio for ms teams
Build an app from scratch using teams app studio for ms teams
 
Empowering citizen developers using power apps
Empowering citizen developers using power appsEmpowering citizen developers using power apps
Empowering citizen developers using power apps
 
Ms teams webinar-getting started with microsoft teams development
Ms teams webinar-getting started with microsoft teams developmentMs teams webinar-getting started with microsoft teams development
Ms teams webinar-getting started with microsoft teams development
 
M365 virtual marathon build your first power virtual agents bot
M365 virtual marathon   build your first power virtual agents botM365 virtual marathon   build your first power virtual agents bot
M365 virtual marathon build your first power virtual agents bot
 
harePoint Framework Webinar Series: Consume Graph APIs in SharePoint Framework
harePoint Framework Webinar Series: Consume Graph APIs in SharePoint FrameworkharePoint Framework Webinar Series: Consume Graph APIs in SharePoint Framework
harePoint Framework Webinar Series: Consume Graph APIs in SharePoint Framework
 
SPFx Webinar Loading SharePoint data in a SPFx Webpart
SPFx Webinar Loading SharePoint data in a SPFx WebpartSPFx Webinar Loading SharePoint data in a SPFx Webpart
SPFx Webinar Loading SharePoint data in a SPFx Webpart
 
SPSChennai2020
SPSChennai2020SPSChennai2020
SPSChennai2020
 
Trivandrumtechcon20
Trivandrumtechcon20Trivandrumtechcon20
Trivandrumtechcon20
 
Governance and administration for teams app development
Governance and administration for teams app developmentGovernance and administration for teams app development
Governance and administration for teams app development
 
Getting started with spfx
Getting started with spfxGetting started with spfx
Getting started with spfx
 

Dernier

New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 

Dernier (20)

New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 

Bots, adaptive cards, task module, message extensions in microsoft teams

  • 1. Bots, Adaptive Cards, Task Module, Message Extensions in Microsoft Teams Jenkins NS
  • 2.  Modern Workplace Solution Architect  International Speaker  Trainer  @ JPOWER4 (http://www.jpower4.com/)  jenkinsns@jpower4.com  jenkinsns@gmail.com  @jenkinsns  My Blog Posts : http://www.Jenkinsblogs.com  SPFx: https://www.facebook.com/spfxinfo/  MS Teams: https://www.facebook.com/msteamsinfo  Github : https://github.com/jenkinsns
  • 3. Communicate through chat, meetings & calls Collaborate with deeply integrated Office 365 apps Customize& extend with 3rd party apps, processes, and devices Work withconfidence enterprise level security, compliance, and manageability
  • 4. Desktop Mobile Browsers iPhone Android iPad OS X 10.10+ Windows 7+ Edge Chrome Firefox
  • 6. 1stPartyApps 3rd PartyApps Custom Apps HUB EXPERIENCE Enable your teams tomake decisions and take action faster Reduce context switching on important tasks Create opportunities for collaboration around external content
  • 7. Microsoft Teams Platform build experiences that people love Communicate through chat, meetings & calls Collaborate with deeply integrated Office 365 apps Customize& extend with 3rd party apps, processes, and developer tools Work withconfidence enterprise level security, compliance, and manageability Gain context without switching context Meet your people where they are Tailor your teamwork
  • 8. your app/service tabs adaptive cards notificationsbots messaging extensions connectors task modules graph Microsoft Teams team scope personal scope
  • 9. Tabs Surface rich content within Teams Distribute and manage your app Bots Help users get tasks done in conversations Voice and video Add rich calling and meeting automation and media Messaging Extensions Allow users to query and share rich cards in conversations Power your apps using Graph. Build intelligence and connect to data that drives productivity Microsoft Graph Adaptive Cards Add rich interaction to your connector cards Notifications Post rich updates to channels via connectors Enterprise Developers Upload to your organization’s app catalog ISV / SI / MSP Partners Publish to AppSource to make available in the Teams app store Build apps using rich capabilities to empower your users in chat, channels, and personal workspace Administrators Assign policy for apps over end users. Preinstall and pre-pin apps to drive adoption
  • 10. Chat Lightweight collaboration in 1:1 or group setting without complex permissions Example: 1:1 topics between manager and direct report Team and channel Enable public collaboration and workflows with all team members Example: share, discuss, and get notified about new service incidents Personal User-centric view, showing aggregate content along with private bot chat Example: list of all tasks assigned to me Custom-tailor your app’s functionality depending on which of these contexts you will support
  • 12. Conversations Series of messages sent between your bot and one or more users. Conversations are in one of the following scopes: Teams Also called channel conversations, visible to all members of the channel. Personal Conversations between bots and a single user. Group chat Chat between a bot and two or more users.
  • 13. Bot Events in Microsoft Teams Activity objects are used to pass information back and forth between bot and channel (or user). Activities can represent Events, denoted by ActivityType == ‘conversationUpdate’ Team Member Events teamMemberAdded teamMemberRemoved Payload object contains added/removed members *Adding bot fires this event Channel Events channelCreated channelRenamed channelDeleted ChannelData object reflects current state Reactions reactionsAdded reactionsRemoved replyToId contains the ID of the specific message Team Events teamRenamed ChannelData object reflects current state
  • 14. Teams Context Your bot can access additional context about the team or chat, such as user profile. This information can be used to enrich your bot's functionality and provide a more personalized experience. Members in conversation var mbrs = await connector.Conversations .GetConversationMembersAsync( message.Conversation.Id ); foreach (var mbr in mbrs.AsTeamsChannelAccounts()) { [...] } Channels in Team ConversationList channels = client .GetTeamsConnectorClient() .Teams .FetchChannelList( activity.GetChannelData<TeamsChannelData>() .Team.Id );
  • 15. Proactive Messaging A proactive message is an activity sent by a bot to start a conversation Start Personal conversation Must have user’s information cached • From team roster • From previous interaction with user • From conversationUpdate events Use the CreateOrGetDirectConversation method Start Channel conversation Must have channel information cached • From previous interaction in channel • From conversationUpdate events To create conversation: • Create ConnectorClient with service Uri • Call connector.Conversations.CreateConversationAsync, passing channel account for bot • Set Conversation property of new message • Call connector.Conversations.SendToConversationAsync
  • 16. Activity Feed Optionally send personal chat messages into the feed as preview cards summarizing your app's activity. Construct the message such that choosing the card navigates the user straight to the message or object that triggered the notification, such as an entity in a tab. Must include Text and Summary properties
  • 17. Notification only bots Bots can update the activity feed If the sole purpose of the bot is to deliver notifications, consider a notification only bot. • Users cannot message your notification-only bot • Users cannot @mention the bot bots node isNotificationOnly property "bots": [ { "botId": "[MicrosoftAppId]", "scopes": [ "personal", "team" ], "isNotificationOnly": true, } ]
  • 18. Send and Receive file Sending and receiving files through a bot can be accomplished via two different APIs Microsoft Graph API Obtain access to OneDrive folder (user or group drive) Get reference to file Post message to conversation with card attachment Microsoft Teams API Personal context (1:1) only Enable files in manifest Teams client provides a file picker experience Teams client will store file in OneDriveCreate and then post activity with metadata, including content URL Bot must download and handle file as appropriate
  • 19. Enable send and receive Teams client will handle file selection and storage Handles scenario User -> Bot bots node supportsFiles property "bots": [ { "botId": "[MicrosoftAppId]", "scopes": [ "personal", "team" ], "supportsFiles": true, } ]
  • 20.
  • 21. Events and Queries Responding to User Requests Message Extensions in App Manifest
  • 22. Events and Queries  Activity payload  composeExtension/query  composeExtension/querySettingUr l  composeExtension/setting
  • 23. Events and Queries Query events Query data sent to bot Activity.GetComposeExtensionQueryData() • Verify commandId and parameters • Use parameter value to query your service Respond with attachment layout of “List”
  • 24. Events and Queries Settings events If canUpdateConfiguration is true, Teams will send Settings events in response to user action onQuerySettingsUrl • Sent when “Settings” clicked • Return Url of settings page • Teams will render page onSettingsUpdate • Sent when settings page is closed • Storage of settings is developer responsibility
  • 25. Responding to User Requests Service must respond within 5 seconds. Response is not an activity sent via the Bot Framework. Response is an HTTP Response: • HTTP Status of 200 • Content type application/json • Response body must contain a valid composeExtension object.
  • 26. Message Extensions in App Manifest composeExtension node Associated with a registered application Personal and Team scopes Define command UI and parameter Multiple extensions Your extension shown along with all others added to Teams "composeExtensions": [ { "botId": "[MicrosoftAppId]", "scopes": [ "team" ], "canUpdateConfiguration": true, "commands": [ { "id": "searchCmd", "description": "Search Bot Channels", "title": "Bot Channels", "initialRun": false, "parameters": [ { "name": "searchText", "description": "Enter your search text", "title": "Search Text“ } ] } ] } ]
  • 28. Using Cards in Bots Using Cards in Messaging Extensions Adaptive Cards support in Microsoft Teams
  • 29. Using Cards in Bots Adaptive Card A customizable card that can contain any combination of text, speech, images, buttons, and input fields. Supported in Teams, Outlook, Windows, etc. Hero Largest card Best used for articles, long descriptions or scenarios where your image is telling most of the story Receipt A card that enables a bot to provide a receipt to the user. It typically contains the list of items to include on the receipt, tax and total information, and other text.
  • 30. Using Cards in Messaging Extensions Respond with attachment layout of “List” Format each query result as a card Do not include actions
  • 31. Adaptive Cards support in Microsoft Teams Microsoft Teams supports three action types for Adaptive cards: • Action.OpenUrl • Action.Submit • Action.ShowCard Actions other than these are not supported
  • 32.
  • 33. Using Cards in Bots Using Cards in Messaging Extensions Adaptive Cards support in Microsoft Teams
  • 34. Static Tabs A content page declared directly in manifest No Configuration Added in “personal” scope Accessed via the app bar or alongside bot conversation
  • 35. Static Tabs - Manifest staticTabs node contentUrl is hosted in IFRAME in Teams websiteUrl is used as target for link validDomains node A list of valid domains from which the extension expects to load any content. "staticTabs": [ { "entityId": "candidatesTab", "name": "Candidates", "contentUrl": "https://.../Tabs/candidates.html", "websiteUrl": "https://.../Tabs/candidates.html?web=1", "scopes": [ "personal" ] } ], "validDomains": [ "token.botframework.com" ]
  • 36. Tab Configuration and Content Tab Configuration Configured in manifest Displayed when Tab added to Channel Collect information Call setSettings() specifying Content Url and Entity Id Tab Content Rendered in IFRAME Url specified by configuration page Inspect context for EntityId/SubEntityId Retrieve state based on Entity/SubEntity/User
  • 37.
  • 39. Call to action Join Office 365 developer program https://dev.office.com/devprogram to leverage all resources for Office 365 development learning Build applications on Office 365 platform Attend MVP led local community events to continue learning on Office 365 development Share your feedback on Bootcamp at https://aka.ms/Microsoft365DevBootcampSurvey2019

Notes de l'éditeur

  1. [This is an animated slide. Please show it in presentation mode] [MAIN POINT TO LAND] Microsoft Teams is a hub for teamwork, a chat-based workspace that enables teams to be more productive by giving them a single and secure location that brings together everything a team needs: chats, meetings, calls, files, and tools. Microsoft Teams is one place for all the needs your teams have.   Microsoft Teams delivers on four core promises to create a digital workspace for high performing teams. [COMMUNICATE] First, Microsoft Teams solves for the communication needs of a diverse workforce. Since preview, Microsoft Teams has evolved to include a complete meetings experience, as well as chat, voice and video - You can use Teams for informal 1:1 or group chats – directly on your phone if you’re on the go. Or you can have an open conversation in a channel. This enables people to share information in a transparent way to accelerate decision making. And it's super easy to move from a chat into a face to face meeting, helping you to bridge geographical barriers.   [COLLABORATE] When it comes to collaboration, the deep Office integration enables today’s multigenerational workforce to use the Office apps they are familiar with and love - Word, Excel, PowerPoint, OneNote, SharePoint, Planner, even Power BI - right within the context of Teams. Teams is unique in how we enable collaboration. Today, when you want somebody’s feedback, you send them the file via email, they store it locally with comments, you store it again…… it's a vicious cycle that results in v2, v3, v4 versions – and you have to jump between email and other apps to get the work done. Teams brings all the Office 365 services together – so that you can easily share and co-author files without the need for email attachments.   [CUSTOMIZE] Many of you use other services than Office 365 as well which results in you having to jump between and spend time in disparate experiences. We built Teams to not only be the hub for Office 365 services, but for all the services and tools teams use on a day to day basis. So, you can customize Teams with tabs, connector and bots to include the apps and services you need - <mention relevant 3rd party apps like GitHub and Trello that can be included in Teams>– we have integrations with over 150 partners. For our developer community, we have also created an extensible platform, to enable building apps and to integrate with business processes.   [WORK WITH CONFIDENCE] Microsoft Teams comes with the enterprise grade security, compliance and manageability that you expect from Office 365 which customers tell us is a huge value add for them.
  2. `
  3. Talk track: And core to that are the investments we’ve made in the Teams Platform, allowing users & developers alike to customize and build on Teams, in order to deliver experiences that your people & customers LOVE. And when it comes to the platform and the value that our customers are seeing from it, we are seeing three distinct categories emerging: Gain context without switching context: Teams pillar of integration (the single hub for Office) but also the ability to simply curate your experience so you reduce the information overload you get every day and focus on the content that's most relevant to you to get your job done, better. INFUSION Meet Your people where they are: Bring together all the apps and tools your organization is already using, into one user interface. Guess what, for IT that means better & easier management, reduced security threats, and more time you can spend on valuable, forward-looking projects. For end users, #1 just got even better. (opportunity to share a 3rd party apps slide here) Tailoring your experience: to me, this delivers superpowers to people through proactive intelligence. This is the core to the extensibility of the Teams platform. Deliver intelligent experiences using our APIs and/or our partner community that: First: make the most difficult and time-wasting tasks at work, easy Thereafter: drive intelligence to your people that allows them to understand how they add more value to the organization, and then deliver it more efficiently & quickly
  4. Tabs - Surface rich content as well as SharePoint Framework based solutions Connectors - Post rich updates to channels Adaptive Cards - Add rich interaction to your connector cards Bots - Help users get tasks done in conversations Message Extensions - Allow users to query and share rich cards in conversations Notifications - Engage users via feed notifications ------ Graph - Build in intelligence and connect to data that drives productivity Apps Store - Drive engagement by submitting your app to our app store or just to certain company stores
  5. Microsoft Teams has an open developer platform with a rich set of capabilities to build apps or integrate with new or existing business processes and services.
  6. Teams will send notifications to your bot for changes or events that happen in contexts where your bot is active. You can use these events to trigger service logic, such as: Trigger welcome message when your bot is added to a team. Query and cache team information when the bot is added to a team. Updated cached information on team membership or channel information changes. Remove cached information for a team if the bot is removed. Since bot is scoped to team, no events for team creation/deletion provided. When bot is added/removed, TeamMember events are sent.
  7. Use the Microsoft.Bot.Connector.Teams package to get extension methods for Microsoft Teams. Handles the parsing of the Bot Framework payload with Teams-specific functionality.
  8. Personal conversation requires User Id (from Teams) and Tenant Id
  9. Personal conversation requires User Id (from Teams) and Tenant Id
  10. commandExtension is part of the manifest.json file Scope determines if 1:1 (personal) or channel (team)
  11. This is a sample of cards that can be used. Refer to https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/cards/cards-reference for details
  12. To provide a seamless tab experience, perform provisioning and authorization on configuration page when possible. If context has entity/subentity, then respond to a deeplink State storage is developer’s responsibility