This document provides information about building apps for Microsoft Teams. It discusses various topics like communicating through chat, calls and meetings in Teams, collaborating using integrated Office 365 apps, customizing and extending Teams through third party apps and developer tools, and working with confidence through enterprise security, compliance and manageability features. It also provides details on the Microsoft Teams platform, building experiences using tabs, bots, messaging extensions and other capabilities.
How AI Bot can help to increase the productivity of an organization. Learn the integration of Bot into a team collaboration tool - Microsoft Teams.
www.techconnect.io
Marvin Heng, Microsoft MVP
The Sherpa Approach: Features and Limitations of Exchange E-DiscoverySherpa Software
If you’ve wondered what the pros & cons are for using the inherent e-Discovery features of Exchange versus using a 3rd party e-Discovery tool like Sherpa Software’s Discovery Attender, this white paper outlines the details feature by feature.
How AI Bot can help to increase the productivity of an organization. Learn the integration of Bot into a team collaboration tool - Microsoft Teams.
www.techconnect.io
Marvin Heng, Microsoft MVP
The Sherpa Approach: Features and Limitations of Exchange E-DiscoverySherpa Software
If you’ve wondered what the pros & cons are for using the inherent e-Discovery features of Exchange versus using a 3rd party e-Discovery tool like Sherpa Software’s Discovery Attender, this white paper outlines the details feature by feature.
Sps mad2019 es el momento, empieza a desarrollar para microsoft teams Ruben Ramos
Además de sus conocidas características de colaboración Microsoft Teams ofrece muchísimas capacidades de integración con otras plataformas. En esta sesión veremos como podemos empezar a extender Teams con nuevas funcionalidades adaptadas a nuestras necesidades.
Office Dev Day 2018 - Extending Microsoft TeamsAndré Vala
Microsoft Teams is one of the new kids on the block and, probably, the most successful new application in the Office 365 suite. It has quickly become the team collaboration hub for many organizations around the world, driving the modern workplace transformation and facilitating new ways to be productive.
In this developer-focused demo-packed session, we'll go through all the extensibility points available in Microsoft Teams: tabs, bots, compose extensions, connectors and actionable messages. For each extension type, we'll explain what kind of features are supported and how it is packaged. We'll also explain the concept of a Teams app, it packaging and distribution model, as well as common usage scenarios.
Mark Stafford from the Microsoft Graph team hosted the call this month. We first shared the new PowerApp templates powered by Microsoft Graph, and then Microsoft PM, Sudhi Ramamurthy, talked about modern Excel programmability and how you can use Microsoft Graph to power apps that use Excel calc engine. Next, Gavin Barron from Intergen shared a very cool app that he built for his personal productivity. The app uses Microsoft Graph, Bot Framework and Azure Functions, and helps him efficiently manage his calendar. Finally, Andrew Connell from Voitanos talked about the launch of the new Microsoft Graph Community samples repo. Developers can now contribute and share their code and projects that integrate with Microsoft Graph.
Blazor + Bot Framework = a Microsoft Teams Platform Dream TeamThomas Gölles
Join us to take a look behind the curtains of developing for Teams as a platform with a special view on a Blazor Web App running on Azure which can be smartly connected with a chatbot built using the Microsoft Bot Framework and Azure Conversational AI platform to get the most out of your LOB Teams applications!
Webinar - 2020-03-24 - Build your first Microsoft Teams app using SPFxSébastien Levert
Congratulations! You’ve been working hard and you can now master the SharePoint Framework! How awesome would it be if the skills you developed could be reused in other emerging and bleeding-edge technologies? Like MS Teams? Your wishes just came true as it’s now absolutely possible to leverage the same SPFx toolchain to build great apps within Microsoft Teams! Come learn the basics of a Microsoft Teams App and how you can use the SharePoint Framework to build your next big application!
Benefits of Attending this Webinar:
-Get the roadmap to transfer your SPFx skills to Teams
-Leverage a new integration opportunity in MS Teams
-Understand how powerful SPFx is for multiple types of projects
Microsoft Graph provides a unified programmability model that you can use to build apps for organizations and consumers that interact with the data of millions of users. You can use the Microsoft Graph REST APIs to access data in Azure Active Directory, Office 365 services, Enterprise Mobility and Security services, Windows 10 services, Dynamics 365, and more. We will spend the next 30 minutes exploring what you can do with the Microsoft Graph.
ATD 13 - Enhancing your applications using Microsoft Graph APIDragan Panjkov
This session is created with developers in mind. We often have the need to access and use data stored in multiple Office 365 workloads in our custom applications, and Microsoft Graph API enables that we do that using single authentication and single service endpoint. The session will be comprehensive overview of development against Microsoft Graph APIs on both released and beta endpoint, and will provide examples of: application configuration, using REST calls and using Graph SDK.
All about Send proactive messages in Microsoft Teams BOTJenkins NS
A proactive message is any message sent by a bot that is not in direct response to a request from a user. Being able to proactively send a message or card from a bot to a user or channel is key to almost all bot logics.
This session will help you through the end-to-end experience of creating a Microsoft Teams bot, send proactive messages to personal app, send proactive messages to channel conversation and post proactive messages from your custom applications.
What are Proactive Message Bot App for Microsoft Teams?
A way to send proactive messages and make the conversation more interactive from external application.
How do we build and deploy?
In this session, I will show the end to end demo!
What attendees expect to learn?
They learn how to build and deploy a Microsoft Teams Bot App with send proactive messages in a Microsoft Teams tenant
Surfacing SPFx Solutions in SharePoint, MS Teams, and Outlook Add-inJenkins NS
SharePoint Extensibility
Build modern SP solutions
Full-trust JavaScript based framework running in the main app
Use modern auth to integrate with Graph
SP add-ins
Provider-hosted based via iframes
Low-trust, end user acquisition model
Distribute via Office Store
Teams Platform
Build apps to custom tailor your teams
Modern embedding via tabs
Enhance integrations via bots, messaging extensions, Adaptive cards, and Graph
Add communication services, e.g. programmable voice and video
Outlook Platform
Build Add-ins
Build solutions that extend Office applications
Bring external data into Office, automate Office documents, expose third-party functionality in Office clients, and more. For example, use Microsoft Graph API to connect to data that drives productivity.
Create new rich, interactive objects that can be embedded in Office documents
More Related Content
Similar to Building apps for microsoft teams - aossg
Sps mad2019 es el momento, empieza a desarrollar para microsoft teams Ruben Ramos
Además de sus conocidas características de colaboración Microsoft Teams ofrece muchísimas capacidades de integración con otras plataformas. En esta sesión veremos como podemos empezar a extender Teams con nuevas funcionalidades adaptadas a nuestras necesidades.
Office Dev Day 2018 - Extending Microsoft TeamsAndré Vala
Microsoft Teams is one of the new kids on the block and, probably, the most successful new application in the Office 365 suite. It has quickly become the team collaboration hub for many organizations around the world, driving the modern workplace transformation and facilitating new ways to be productive.
In this developer-focused demo-packed session, we'll go through all the extensibility points available in Microsoft Teams: tabs, bots, compose extensions, connectors and actionable messages. For each extension type, we'll explain what kind of features are supported and how it is packaged. We'll also explain the concept of a Teams app, it packaging and distribution model, as well as common usage scenarios.
Mark Stafford from the Microsoft Graph team hosted the call this month. We first shared the new PowerApp templates powered by Microsoft Graph, and then Microsoft PM, Sudhi Ramamurthy, talked about modern Excel programmability and how you can use Microsoft Graph to power apps that use Excel calc engine. Next, Gavin Barron from Intergen shared a very cool app that he built for his personal productivity. The app uses Microsoft Graph, Bot Framework and Azure Functions, and helps him efficiently manage his calendar. Finally, Andrew Connell from Voitanos talked about the launch of the new Microsoft Graph Community samples repo. Developers can now contribute and share their code and projects that integrate with Microsoft Graph.
Blazor + Bot Framework = a Microsoft Teams Platform Dream TeamThomas Gölles
Join us to take a look behind the curtains of developing for Teams as a platform with a special view on a Blazor Web App running on Azure which can be smartly connected with a chatbot built using the Microsoft Bot Framework and Azure Conversational AI platform to get the most out of your LOB Teams applications!
Webinar - 2020-03-24 - Build your first Microsoft Teams app using SPFxSébastien Levert
Congratulations! You’ve been working hard and you can now master the SharePoint Framework! How awesome would it be if the skills you developed could be reused in other emerging and bleeding-edge technologies? Like MS Teams? Your wishes just came true as it’s now absolutely possible to leverage the same SPFx toolchain to build great apps within Microsoft Teams! Come learn the basics of a Microsoft Teams App and how you can use the SharePoint Framework to build your next big application!
Benefits of Attending this Webinar:
-Get the roadmap to transfer your SPFx skills to Teams
-Leverage a new integration opportunity in MS Teams
-Understand how powerful SPFx is for multiple types of projects
Microsoft Graph provides a unified programmability model that you can use to build apps for organizations and consumers that interact with the data of millions of users. You can use the Microsoft Graph REST APIs to access data in Azure Active Directory, Office 365 services, Enterprise Mobility and Security services, Windows 10 services, Dynamics 365, and more. We will spend the next 30 minutes exploring what you can do with the Microsoft Graph.
ATD 13 - Enhancing your applications using Microsoft Graph APIDragan Panjkov
This session is created with developers in mind. We often have the need to access and use data stored in multiple Office 365 workloads in our custom applications, and Microsoft Graph API enables that we do that using single authentication and single service endpoint. The session will be comprehensive overview of development against Microsoft Graph APIs on both released and beta endpoint, and will provide examples of: application configuration, using REST calls and using Graph SDK.
All about Send proactive messages in Microsoft Teams BOTJenkins NS
A proactive message is any message sent by a bot that is not in direct response to a request from a user. Being able to proactively send a message or card from a bot to a user or channel is key to almost all bot logics.
This session will help you through the end-to-end experience of creating a Microsoft Teams bot, send proactive messages to personal app, send proactive messages to channel conversation and post proactive messages from your custom applications.
What are Proactive Message Bot App for Microsoft Teams?
A way to send proactive messages and make the conversation more interactive from external application.
How do we build and deploy?
In this session, I will show the end to end demo!
What attendees expect to learn?
They learn how to build and deploy a Microsoft Teams Bot App with send proactive messages in a Microsoft Teams tenant
Surfacing SPFx Solutions in SharePoint, MS Teams, and Outlook Add-inJenkins NS
SharePoint Extensibility
Build modern SP solutions
Full-trust JavaScript based framework running in the main app
Use modern auth to integrate with Graph
SP add-ins
Provider-hosted based via iframes
Low-trust, end user acquisition model
Distribute via Office Store
Teams Platform
Build apps to custom tailor your teams
Modern embedding via tabs
Enhance integrations via bots, messaging extensions, Adaptive cards, and Graph
Add communication services, e.g. programmable voice and video
Outlook Platform
Build Add-ins
Build solutions that extend Office applications
Bring external data into Office, automate Office documents, expose third-party functionality in Office clients, and more. For example, use Microsoft Graph API to connect to data that drives productivity.
Create new rich, interactive objects that can be embedded in Office documents
Introduction to Power Platform
Low Code Evolution
Who is building solutions with the Power Platform?
Why Power Platform?
Integrated low code platform
What is the Common Data Service?
Two Types of Data.
Power Apps
Power Automate
Power BI
Demo
Reference
M365 virtual marathon build your first power virtual agents botJenkins NS
Introduction
A Robust Virtual Agent Platform
Converse everywhere
Easily make your bots better
Create personalized customer experiences
Transfer to a human agent
Built on Power Platform & Azure Bot Service
Extend your bot capabilities with Azure Bot Service
Demo
Create and deploy a Power Virtual Agents bot
Jenkins NS delivered a session on Consume Graph APIs in SPFx
Agenda:
• Overview of MS Graph
• Office 365 APIs
• What is Graph API?
• Consume Microsoft Graph
• AadHttpClient object
• MSGraphClient object
• API permissions requests
• Isolated web parts
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
3. 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
4. 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
6. 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
7. 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
8. 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. 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.
11. 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
12. 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
);
13. 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
14. 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
15. 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,
}
]
16. 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
17. 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. Events and Queries
Activity payload
composeExtension/query
composeExtension/querySettingUr
l
composeExtension/setting
21. 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”
22. 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
23. 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.
24. 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“
}
]
}
]
}
]
25.
26. Using Cards in Bots
Using Cards in Messaging Extensions
Adaptive Cards support in Microsoft Teams
27. 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.
28. Using Cards in Messaging Extensions
Respond with attachment layout of “List”
Format each query result as a card
Do not include actions
29. 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
30.
31. Using Cards in Bots
Using Cards in Messaging Extensions
Adaptive Cards support in Microsoft Teams
32. Static Tabs
A content page declared directly in manifest
No Configuration
Added in “personal” scope
Accessed via the app bar or alongside bot
conversation
33. 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"
]
34. 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
[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.
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
`
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