[2024]Digital Global Overview Report 2024 Meltwater.pdf
aOS Kuala Lumpur 2019 Regional Directors Conference
1. aOS Kuala Lumpur 2019
2 Regional Directors, 14 Microsoft MVPs, 20 Sessions, 2 Workshops
Brought to you by:
aOS Kuala Lumpur 2019
Community for Azure, Office 365 & SharePoint
3. aOS Kuala Lumpur 2019
Regional Director
MVP
Gurus
Where our presenters came from?
India
4. aOS Kuala Lumpur 2019
Hi! I am Jenkins NS
Founder @JPOWER4
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
5. aOS Kuala Lumpur 2019
• Understand what’s possible with
the Teams Platform
• Learn about Teams app
capabilities
• See an end-to-end example
bringing together bots, tabs,
Graph, and other capabilities
• Get started with building a Teams
app to drive digital
transformation
• Check out documentation and
Getting Started guides
6. aOS Kuala Lumpur 2019
Microsoft Teams
Communicate
through chat, meetings & calls
Collaborate
with deeply integrated Office 365 apps
Customize& extend
with 3rd party apps, processes, and devices
Work with confidence
enterprise level security, compliance,
and manageability
7. aOS Kuala Lumpur 2019
Teams
March 2017 launch
IC
Meeting
Voice
Hybrid
Devices
Meeting rooms
Phones
Accessories
Enterprise
Compliance
GDPR
eDiscovery
Governance
Collaboration
Office 365
Messaging
Contacts
Teams today
The single hub for
communications & collaboration
Collaboration
Office 365
Messaging
Contacts
Teams Platform
Microsoft Graph, Apps,
(Bots, Message
Extensions, Adaptive
Cards, etc.)
8. aOS Kuala Lumpur 2019
Cross platform presence – Teams where you want it
Desktop Mobile Browsers
iPhone Android
iPad
OS X 10.10+
Windows 7+
Edge
Chrome
Firefox
9. aOS Kuala Lumpur 2019
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 with confidence
enterprise level security, compliance,
and manageability
Gain context
without switching
context
Meet your
people where
they are
Tailor your
teamwork
10. aOS Kuala Lumpur 2019
1stPartyApps 3rd PartyApps Custom Apps
HUB EXPERIENCE
Enable your teams to make decisions and
take action faster
Reduce context switching on important tasks
Create opportunities for collaboration
around external content
12. aOS Kuala Lumpur 2019
Solves customer challenges
Challenges
Scattered apps/services, lost in platforms transition,
lack of context, high IT maintenance cost
Team webpage
3rd party apps
Tailored Team Workspace
Opportunity
Hub for collaboration and Teamwork, take action and make decisions faster, security
and compliance
Checks email to find
work emails & triggered
notifications with URLs
Opens the web
browser to visit
intranet portal
Accesses SharePoint
portal to documents
and relevant portal
Collaborates with
coworkers across
numerous docs & paper
Apps and servicesOn-prem apps
13. aOS Kuala Lumpur 2019
Rapid Innovations & Growth w/Teams
Recent announcements from Enterprise Connect 2019
Calling
Virtualized SBC’s
Dynamic e911, Location based routing, Music on Hold and
Busy on Busy
Cloud Voicemail
Meetings
ChatandConversations
Secure Private Channels
Information barriers
Office365
App Setup Policies
eDiscovery, Legal Hold, Custodian, Retention, DLP and
Supervision
Virtual Desktop Integration (VDI)
New Calendar App
Live Captions and Custom Backgrounds
Content Cameras for whiteboards
Microsoft Whiteboard
Chrome browser meeting update
Live Events
Meetings First
More info at: //aka.ms/TeamsBlog
14. aOS Kuala Lumpur 2019
The possibilities are endless
Horizontal
Industry
15. aOS Kuala Lumpur 2019
Custom Solutions on Teams
Create a tailored Teams workspace
your customers love
Customize channels to include important files,
apps or dashboard for easy reference
Integrate workflows to simplify processes
and accelerate decision-making
Integrate with 3rd party services, apps and business
solutions to quickly access information when needed
Automate and manage Teams lifecycle with
Graph API
Empower firstline workers with tools to
succeed every day incl. schedule management
16. aOS Kuala Lumpur 2019Healthcare Retail Manufacturing Transportation Hospitality Financial Services Public Sector
Microsoft 365 Cloud
Organizations own their data /
organizations give developers access
Partner Solution
Azure: Bot Framework, LUIS, Cortana, AI, Cognitive Services etc.
Business
Logic
Business
Logic
On Premise
• Line of Business (LOB) apps
• ISV solutions
• SharePoint solutions
Users
Information Worker, Firstline Worker, Students, Leadership, etc.
Private/Public Cloud
• Line of Business (LOB) apps
• ISV solutions
• SharePoint solutions
Teams Application Platform & Graph APIs
LOB Apps3rd Party AppsMicrosoft Workloads
Microsoft Teams
Azure
Meetings Calling Video Chat Sharing Broadcast
SPFx
Microsoft Teams – Hub for Teamwork
Partner Opportunity
17. aOS Kuala Lumpur 2019
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
18. aOS Kuala Lumpur 2019
Types of Apps
• Bots
• Message Extension
• Tabs
• Connectors
• Editor’s
• Cards
• Adaptive Card
• Hero Card
• Thumbnail Card
• Control Library
19. aOS Kuala Lumpur 2019
Conversations
Notification-Only Bots
Sending and Receiving Files
20. aOS Kuala Lumpur 2019
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.
21. aOS Kuala Lumpur 2019
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
22. aOS Kuala Lumpur 2019
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
);
23. aOS Kuala Lumpur 2019
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
24. aOS Kuala Lumpur 2019
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
25. aOS Kuala Lumpur 2019
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,
}
]
26. aOS Kuala Lumpur 2019
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
27. aOS Kuala Lumpur 2019
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,
}
]
28. aOS Kuala Lumpur 2019
Events and Queries
Responding to User Requests
Message Extensions in App
Manifest
29. aOS Kuala Lumpur 2019
Events and Queries
• Activity payload
• Type is invoke
• Name identifies type of event
• composeExtension/query
• composeExtension/querySetting
Url
• composeExtension/setting
• Sent to registered bot endpoint
• Teams Connector NuGet package
provides detection methods and data
models
30. aOS Kuala Lumpur 2019
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”
• Adaptive Card
• Hero Card
• Thumbnail Card
• O365Connector Card
31. aOS Kuala Lumpur 2019
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
32. aOS Kuala Lumpur 2019
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.
33. aOS Kuala Lumpur 2019
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“
}
]
}
]
}
]
34. aOS Kuala Lumpur 2019
Using Cards in Bots
Using Cards in Messaging Extensions
Adaptive Cards support in Microsoft Teams
35. aOS Kuala Lumpur 2019
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.
36. aOS Kuala Lumpur 2019
Using Cards in Messaging Extensions
Respond with attachment layout of “List”
Format each query result as a card
• Adaptive Card
• Hero Card
• Thumbnail Card
• O365Connector Card
Do not include actions
37. aOS Kuala Lumpur 2019
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
38. aOS Kuala Lumpur 2019
Using Cards in Bots
Using Cards in Messaging Extensions
Adaptive Cards support in Microsoft Teams
39. aOS Kuala Lumpur 2019
Static Tabs
A content page declared directly in manifest
No Configuration
Added in “personal” scope
Accessed via the app bar or alongside bot conversation
40. aOS Kuala Lumpur 2019
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"
]
41. aOS Kuala Lumpur 2019
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
42. aOS Kuala Lumpur 2019
Connectors vs Notification Bots
Connector Registration
Inline connector experience
43. aOS Kuala Lumpur 2019
Connectors vs Notification-only Bot
Connectors and Notification-only bots have similar characteristics. The following are considerations for each:
Connector
Configured for a specific channel
Added via specific Connector experience
Notification-only bot
Configured for an entire Team
Added to Team using the App experience
Can work in Personal scope
Can post to Activity Feed
44. aOS Kuala Lumpur 2019
Connectors Developer Dashboard
New Connector section
Field Notes
Connector Name Shown in connector list
Logo Shown in connector list
Short description Shown in connector list
Detailed description Shown when adding / configuring
a connector
Company website Shown when adding / configuring
a connector
Configuration page for
your Connector
Shown in an IFRAME in the
Microsoft Teams app for
configuration
Valid domains Domains for which Actions are
supported
45. aOS Kuala Lumpur 2019
Connectors Developer Dashboard
Registered Connector section
Item Notes
Build your Connector Provides a link to the Microsoft Teams
javascript file
Test your Connector –
Download manifest
Provides a manifest.json file with the
connector registration added.
Publish to Store For publicly-available connectors,
initiates the review/publish process
46. aOS Kuala Lumpur 2019
Inline Connector Experience
Integrating the configuration experience
• The user clicks on your connector to begin the
configuration process.
• Teams will load your configuration experience in line.
• The user interacts with your web experience to complete
the configuration.
• The user presses "Save", which triggers a callback in your
code.
• Your code will process the save event by retrieving the
webhook settings Your code should then store the
webhook to post events later.
48. aOS Kuala Lumpur 2019
Teams Dev Center
• Get started building great apps, bots & tabs
for Microsoft Teams
• Training and tutorials
• Use our resources to get up to speed
quickly
Developer Support
• Dev Forum (StackOverflow)
• Announcements and program information
• Stay up to date on best practices and
network with peers
Success with Teams Developer
Guidance
• Learn how to plan, deliver, adopt and
manage Microsoft Teams
• Includes Skype for Business to Teams
transition guidance
https://aka.ms/TeamsDeveloper
Microsoft Teams Resource Cheat Sheet
https://aka.ms/TeamsDevSupport https://aka.ms/TeamsDevDocs
49. aOS Kuala Lumpur 2019
Teams Partner Kit
• Expand your business with
teamwork scenarios
• Land the value with your
customers
• Use our resources to get up to
speed quickly
M365 Partner
Community
• Announcements and program
information
• Stay up to date on best
practices and network with
peers
Success with Teams
Practical Guidance
• Learn how to plan, deliver, adopt
and manage Microsoft Teams
• Includes Skype for Business to
Teams transition guidance
Coffee in the Cloud on
YouTube
• Short how-to videos for IT Pro’s
and Champions
• Long form end user &
administrator training
https://aka.ms/TeamsPartnerKit
Microsoft Teams Resource Cheat Sheet
https://aka.ms/TeamsCommunity https://aka.ms/SuccessWithTeams https://aka.ms/CoffeeInTheCloud
50. aOS Kuala Lumpur 2019
Please give us your feedback
Rate each session with our Konfx Apps
(scroll down at each activity session in the Apps
agenda)
Event Code (with hashtag) : #AOSKL
THANK YOU !
[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.
7
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
`
As Teams platform functionality has evolved, it has opened up this new partner opportunity.
As I mentioned at the beginning, collaboration and Teamwork has significantly increased, and we are facing different generations of workers.
On top of that, the IT environment is getting more and more complex, we are overloaded with emails, so many different apps/services to use, SharePoint content to build, but no one is using them…or working on files but facing version control issue… or feeling less connected with the right coworkers.
Oftentimes, a lot of time spent is just on finding the thing that related to the project to be able to get things done.
It is great to have customers start using Teams, and help them get familiar with the out-of-the-box features, but where customers can really experience the full value of Teams is when customized solutions are created that:
Focus on mission-critical business outcomes
Connect Teams with their back-end data,
Integrate with existing industry solutions/services
Have the familiar 1st party and 3rd party apps right in the channel at their fingertips
Drive business workflow and process automation
Manage access of different stakeholders, and manage app policies etc.
And that’s where partners can monetization these opportunities!
These types of business solution opportunities around Teamwork are pretty much endless!
From airline, retail, healthcare, legal firm, real estate, different industries and different functions. You can envision with your customers, understand their business process and teamwork needs, and connect Teams to the tools and services they use everyday to help them fully realize Teams’ value. This purpose of this slide is to give you some ideas, to start thinking about what your customers need.
[MAIN POINT TO LAND]
Every team is unique, but consistently every team has a variety of apps and tools they are using, existing data, and services they connect to complete everyday tasks.
Wouldn’t it be great if your customers could access their familiar apps and service right in Teams? Wouldn’t it be great if you could help them build the process and workflow to help boost their productivity?
By offering your customers in different industries, functions, and organizations a Tailored Team Workspace we truly believe you can help them realize the full value of Microsoft Teams, drive their business outcome, build customer stickiness, and differentiate and expand your market reach.
You can help your customers realize the full value of Microsoft Teams by integrating Teams with their existing services & solutions, connecting to their data infrastructure, and leveraging data in Microsoft Graph and M365’s built-in AI capability to make Microsoft Teams the hub for teamwork. You can customize and extend your customer’s workspace with 3rd party apps, processes, and devices.
Teams offers an extensible platform that allows for a personalized experience in order to get work done better, more efficiently, and more transparently.
You can customize the workspace itself by pinning important files, apps or dashboards at the top of each channel for easy reference.
Infusing Teams with the applications customers use every day, allows them to better leverage the apps and tools they love – giving them access to the information needed right in the context of Teams. By connecting workplace tools into one single hub, users can simplify processes and accelerate decision-making.
(For Firstline workers, Teams provides an additional set of capabilities. Schedule management will empower firstline workers to take control of their schedules and focus more on what matters most to getting their jobs done.)
Animated Slide!!!!
Value Prop for customers:
Streamline work by integrating LOB and collaboration
Lower cost and time to market of business applications
Reduce the learning curve by building on tools users already know
Fill industry-specific gaps in Office 365 (e.g. governance and other scenarios)
Value Prop for partners:
Ongoing revenue opportunities “after initial deployment/migration”
Build on the momentum of Office 365
Faster time to market
Reduced hosting costs by moving work to customer’s O365 tenant
Keep up as Microsoft modernizes its collaboration stack
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.
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.
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.
Personal conversation requires User Id (from Teams) and Tenant Id
Personal conversation requires User Id (from Teams) and Tenant Id
commandExtension is part of the manifest.json file
Scope determines if 1:1 (personal) or channel (team)
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
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
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.
Provide data in well-defined fields. Rendering is handled by host application
Provide data in well-defined fields. Rendering is handled by host application