SlideShare une entreprise Scribd logo
1  sur  100
Getting started with Microsoft
Teams development
17-Jun-2020
Jenkin NS | JPOWER4
Jenkins NS
Modern Workplace Solution Architect | Consultant
15+ Years of experience
Microsoft Teams, Power Platform and SPFx Specialist
International Speaker | Blogger | Trainer
SPS Bangalore Organizer
aOS Ambassador
https://www.facebook.com/msteamsinfo
in/jenkinsns
jenkinsns@gmail.com
@jenkinsns
http://www.jenkinsblogs.com
jenkinsns
https://www.facebook.com/spfxinfo/
Agenda
 Introduction
 Teams Developer Platform – Overview and
Opportunity
 Building Apps and Solutions with Microsoft
Teams
 Extend your solution with Microsoft Graph
 Building Teams Apps using Solution Accelerators
Microsoft Teams
Microsoft Teams
The fastest growing business application in
Microsoft history
13M+ daily active users and
19M+ weekly active users
13M+
More than 500,000
organizations use Teams
500,000+
91 Fortune 100 companies
use Teams
91%
In 181 markets with support
for 53 languages and growing
53+
Over 200 organizations have
10,000 or more active users
10,000+
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
Apps In Teams
1st Party Apps
 Developed by Microsoft
 Office 365 or Office workloads
 Enable better together scenarios
3rd Party Apps
 Not built by Microsoft
 Popular work applications
 Enabled in central location
Custom Apps
 Built by your organization
 Custom for business needs
 Accessible by users in Teams
So, where do you start?
Start with the scenario
Decision criteria
Does it solve a real
problem for a team?
How often will
it be used?
What ROI does it
provide for the team?
Common scenarios our customers
and partners are building
Empower employees
Self service
Pulse surveys
Enterprise search
Employee engagement
Learning and development
Onboarding and scheduling
Engage customers
Customer support
Sales associate productivity
Digital marketing
Social engagement
Agent productivity
Feedback loops
Optimize operations
Business processes
Supply chain management
Care coordination
Delivery management
Operational effectiveness
Live tracking
Transform products
Project management
Service Incidents
Engineering workflows
Defects management
Ideation tools
Design collaboration
App scenarios across industries and horizontals…
Industry vertical
Airlines, transportation
Flight/route crew communication hub
Local crew shift management
Financial services
Proposal Manager for commercial banking
Content sharing with compliance
Retail and consumer goods
Supply chain real-time collaboration
Shift, pricing, and inventory management
Mining, oil, and gas
New location development
Daily quality monitoring and analysis
Government
Emergency/disaster response and recovery
Citizen service: permitting and licensing
Healthcare
Patient care coordination
Telemedicine
Manufacturing
Key accounts inventory, logistics
Change order services
Power and utilities
Field service real-time remote assist
Billing and customer management
Real estate and construction
Leasing office tenant management
Real estate customer engagement
Horizontal
Marketing
Brand partnership hub
Industry event planning
Marketing hub
HR
Recruiting tool
New hire onboarding and
support tools
Project management
Billable hours management
Client engagement hub
Service desks
Self-service knowledge base
Customer service desk
Procurement center service
Firstline workers
Shift management
Remote worker task
management
Reference Architecture
Your App
Interface
Tabs Bots Adaptive cards Messaging extensions Task modules Notifications
Teams Application Platform & Graph APIs
Back-end
Partner Solution
Azure: Bot Framework, LUIS, Cortana, AI, Cognitive Services etc.
Azure
SPFx
Business
Logic
Business
Logic
Microsoft 365 Cloud
Organizations own their data /
organizations give developers access
Private/Public Cloud
• Line of Business (LOB) apps
• ISV solutions
• SharePoint solutions
On Premise
• Line of Business (LOB) apps
• ISV solutions
• SharePoint solutions
Healthcare Retail Manufacturing Transportation Hospitality Financial Services Public Sector
Power BI
Building Apps and
Solutions with Microsoft
Teams
Tabs - a big canvas to host your UI
When your app needs a large area to present information to users a tab is
a great place to show a list of work items or a dashboard users can chat
about the content of your tab which will keep it foremost in a channel as a
threaded conversation.
Message Actions – interpret a chat
The starting place is a conversation. Let users send text to your app and you
can use it to create new things, add to existing entities
Bots – smart chat skills for your users
Use a bot to drive engagement in a channel or in 1:1 conversations. Bots
are an excellent way to handle question and answer scenarios or times
when you need to message a channel on behalf of your service. Our bots
also let you host tabs for complimentary browsing scenarios and post rich
interactive cards.
Task Modules – a dialog for tasks
Task modules let you open a dialog from bot cards or tabs. When you need
to do a little form entry, a lookup, or keep a 1:1 interaction out of a channel,
pop open a dialog.
Message Extensions – share rich cards
Your users can share rich actionable cards that grab people’s attention and
can get simple jobs done without leaving the conversation. Why send a
link when you can include summary, status, and a wide range of
interactions.
Notifications – getting users’ attention
Use toast, @mentions, just posting to a channel to call attention to changes
and important actions users care about. Teams gives your app the flexibility
to proactively notify people as quietly or loudly as you need
Teams platform is built for flexibility
Webhooks and Connectors
Enabling external services to post messages to the conversation, and
your users to send messages to your service. You can take advantage of
cards and card actions to create rich, actionable messages.
Build for individuals and groups
Teams is about collaboration – Teams Scope puts your app where the action is
Teams is the hub. Bring content to the user in the right place and at the right time.
Collaborate in Channels
Interacting in front of or with a group of people increases your app’s visibility and enhances discoverability. To meet this mark the content should be actionable and not simply
informational
Encourage Sharing
Message extensions allow sharing and interaction in 1:1, Group chat, Teams, and from the Commandbox. Now when users paste a link from your website we can even convert it to
your specially designed and actionable cards.
Be proactive in channels
Help with discovery. Send a daily digest, update the team on the latest changes and maximize your usage with actionable messages, and if your tab is in the channel you can notify
users in the tab thread to help them see the changes in the context of the big picture.
Make your interactions here customizable
When users get your data the way they want it is satisfying. Customizing notifications is always a great start. Customizing Tabs lets Teams see exactly what they need and letting
users configure your Message Extensions gives them the head start to find and share in a snap.
Teams is about the individual – Personal Scope lets you interact with your users 1:1
There are times when we need to close the door and get things done, your app can do that too.
Personal apps
A personal app can bring your entities from all the channels in Teams into a unified view for the user. They support tabs optionally bot conversations in one place for the user to get
things done. If you have a users who is looking at different work items in different teams and channels in your Team Scope tabs a Personal app can show everything in one place.
1:1 Bots
Some messages and interactions are for your eyes only. Bots can get notify your users and get things done without disturbing everyone else
Easy to distribute to your customers
Publish to the store
Make your app available to the world. Let people
know the category of your service, include
screenshots and videos and easy to access app details
that show off your app’s capabilities and skills.
Publish to your tenant
When your app is designed to support a specific
function in your company you can make it easy to find
for all your company’s users. We’ve got a great place
for your admin to host all your internal apps and they
can suggest publicly available apps here too.
Publish to a team
When you want to test your app or if it was
designed for a specific group of people you can
sideload your app and use it right away.
Building scenarios
Some ideas to get you started
Scenarios
Have a conversation
about work items
A tab with a list of work items it
is easy to talk about what to do
next and make sure everyone is
working on the same project
Share a sales report
Use a message extension to find
and share a class activity with a
great summary and instructions
for your students
Submit a social media
post for approval
See how your tweets are
trending, and submit new
posts that get routed through
your PR team for approval
Your “task” hub
Personal apps create one
place to see all the different
things a person needs to do
regardless of which team has
created the work
Scenarios
Look up a place to eat
Access your service from
anywhere without missing
a beat.
Convert a chat to a sales
opportunity
Use the power of the graph and
let users send chats to your app
to get things done
Create a team, add
members, and a message
Onboard users on your
project the easy way.
A Microsoft Teams app
app.zip
Web pages with server side
and client side logic
Web API—for Bots and
business logic
Background jobs
Bot Framework channel
registrations
Outlook Connector
registrations
Building apps
1
2
3
4
5
App Studio
App Studio
App Studio is a Teams app made for developers which:
• Eliminates the need to manually craft an app package
• Consolidates many registration and management
experiences and reduces them down to single clicks
• Provides a continually expanding set of tools such as a
Card Editor to make the inner loop development
process easier
• Is itself built on the Teams platform and can be
installed like any other app
Step 1: Get App Studio from Store
• In Teams, click Apps button, search for “App Studio”, install.
Step 2. Go to App Studio, create an app
• Go to App Studio > Manifest editor > Create a new app
Step 3: App details
• Use “idt-teams-bot” for short name, long name & short description.
• Use “idt-teams-bot long description” for the long description.
• Generate an App Id
• Use “com.mycompany.idt.bot” for package name, “0.0.1” for version.
• Use “idt-teams-bot” for Name
• Use http://www.mywebsite.com for all urls.
Step 4: Add existing Bot
• Under Capabilities->Bots choose “Set up” Existing bot.
• Name: “idt-teams-bot”
• Bot ID: Either “Select from one of my existing bots” if logged into the
same AAD account, or “Connect to a different bot id” and paste in the
Microsoft id found in the appsettings.json file of the bot.
• (if connected instead of selected):
• Endpoint: https://idt-teams-bot.azurewebsites.net/api/messages
Step 5: Add domain to validate & install
• Under Finish > Valid domains, add “*.botframework.com” as a valid
domain.
• Under Finish > Test and distruibute, click “Install”
• Choose Personal and Team checkboxes.
• Click “Open” to open the Bot to begin testing.
Step 6: Test your skill
• Type “hi” (Bot says “Hello.”)
• Type “schedule a meeting” (Bot requests a login) click “login”
• Log in to your non-AAD account, but do not close the window.
• A validation code will appear. Copy the code.
• Paste the code into the conversation with the bot.
• (follow further prompts in the conversation to set up a meeting)
Adaptive Cards
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
• Adaptive Card
• Hero Card
• Thumbnail Card
• O365Connector 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
Plan your development environment
Using c# Using node Using yo teams – Yeoman Generators
Message Extensions
&
Actions
Share a sales report
Message extensions
Search for or show recently
viewed reports.
Share a sales report
Message extensions
Search for or show recently
viewed reports.
Compose with card
Add comments and
@mention the people who
need to see the information.
Share a sales report
Message extensions
Search for or show recently
viewed reports.
Compose with card
Add comments and
@mention the people who
need to see the information.
Share to team
Now everyone can see the
summary, open a link to your
content or take immediate
action right from the chat.
Convert chat to a sales opportunity
Message actions
Your users can send chats to your
service and include time, sender
information, text and if you use
graph chats above and below the
selection for additional context.
Convert chat to a sales opportunity
Message actions
Your users can send chats to your
service and include time, sender
information, text and if you use
graph chats above and below the
selection for additional context.
Tasks where the
conversation is happening
Create one or more actions that
appear in our context menus.
Convert chat to a sales opportunity
Message actions
Your users can send chats to your
service and include time, sender
information, text and if you use
graph chats above and below the
selection for additional context.
Tasks where the
conversation is happening
Create one or more actions that
appear in our context menus.
Confirm with a task module
Keeping the user in control but
using natural language
processing to extract the words
you need to get the job done
quickly and intelligently.
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“
}
]
}
]
}
]
"composeExtensions": [
{
"botId": "57a3c29f-1fc5-4d97-a142-35bb662b7b23",
"canUpdateConfiguration": true,
"commands": [
{
"id": "reassignTodo",
"description": "Reassign a todo item",
"title": "Create To Do",
"type": "Action",
"context": ["message"],
"fetchTask": true
}]
Tabs
Have a conversation about work items
Tabs
When your app needs a large
area to present information to
users a tab is a great place to
show a list of work items or a
dashboard
Have a conversation about work items
Tabs
When your app needs a large
area to present information to
users a tab is a great place to
show a list of work items or a
dashboard
Chat in context
Users can chat about your page,
interact with it and draw people’s
attention to important
information all in one place
Have a conversation about work items
Tabs
When your app needs a large
area to present information to
users a tab is a great place to
show a list of work items or a
dashboard
Chat in context
Users can chat about your page,
interact with it and draw people’s
attention to important
information all in one place
Post tab threads
Conversations within the tab will
be posted in the team’s channel
and promote your tab
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
Bots & Task Modules
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.
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,
}
]
Submit a social media post for approval
Social media dashboard
A great view of my company’s
social media engagement and
how we are trending
Submit a social media post for approval
Social media dashboard
A great view of my company’s
social media engagement and
how we are trending
Submit a post for approval
Approval workflows get routed
to the right team for quick review
and automated posting to your
corporate social media accounts
Submit a social media post for approval
Social media dashboard
A great view of my company’s
social media engagement and
how we are trending
Submit a post for approval
Approval workflows get routed
to the right team for quick review
and automated posting to your
corporate social media accounts
Notify the right team
Approval workflows get routed
to the right team for quick review
and automated posting to your
corporate social media accounts
Look up a place to eat
Find a restaurant without
losing your place
@mentioning your app in the
command box gives users global
access to your app, while they
are anywhere in teams.
Look up a place to eat
Find a restaurant without
losing your place
@mentioning your app in the
command box gives users global
access to your app, while they
are anywhere in teams.
Search with one or more
parameters
You can make your app
incredibly powerful with single
parameter or multi parameter
queries, and even default queries
you save for everyone or per
user.
Look up a place to eat
Find a restaurant without
losing your place
@mentioning your app in the
command box gives users global
access to your app, while they
are anywhere in teams.
Search with one or more
parameters
You can make your app
incredibly powerful with single
parameter or multi parameter
queries, and even default queries
you save for everyone or per
user.
Share
Users can get the information
they need and get back to work
or share your card with others.
Create a team, add members, and a message
Kicking off a new project
can be easier
Using Teams templates and your
app you can automate the
onboarding process.
Create a team, add members, and a message
Kicking off a new project
can be easier
Using Teams templates and your
app you can automate the
onboarding process.
Simplify known workflows
Select users who will be team
owners vs team members to
comply with access and role
limitations, pick documents in
your service or on SharePoint to
add to the mix. Add a welcome
message.
Create a team, add members, and a message
Kicking off a new project
can be easier
Using Teams templates and your
app you can automate the
onboarding process.
Simplify known workflows
Select users who will be team
owners vs team members to
comply with access and role
limitations, pick documents in
your service or on SharePoint to
add to the mix. Add a welcome
message.
Bot notification
In the new team we start the
project knowing what we are
doing and where everything is.
Your “task” hub
The Development channel
has some tasks for Daniella
This is a project with specific
goals and work items.
Your “task” hub
The Development channel
has some tasks for Daniella
This is a project with specific
goals and work items.
The Marketing channel is in
another team
But Daniella has things she needs
to do here too.
Your “task” hub
The Development channel
has some tasks for Daniella
This is a project with specific
goals and work items.
The Marketing channel is in
another team
But Daniella has things she needs
to do here too.
Personal apps can create a
unified view
Daniella will likely start her day
here, and it’s a great place to see
all the work she has to do in one
place… with handy links to take
her to the channels where she
needs to collaborate
App Templates
App Templates for Custom Company Apps
Plug n Play Experiences
Community-driven, pre-built Teams apps for
common line-of-business scenarios. Minimal
configuration needed and no coding required.
One-Click Deployment
Secure, Configurable & Extensible
Full Catalog:
https://aka.ms/TeamsAppTemplates
List Search Company Communicator FAQ Plus
Icebreaker Custom Stickers
Meeting Room Bot HR Support Scrum bot
Celebration Bot
Contoso HR Support
Contoso HR Support
Tell me about Diversity/Inclusion at Contoso?
Here’s what I found:
HR
Support
Bot
A bot for
corporate
HR teams
to answer
commonly
asked
employee
questions
and
provide
support.
Welcome cards that
tells the employees at
Contoso about what
the bot can do
A dedicated tab that contains entry
points to commonly accessed
SharePoint/other sites for HR tasks.
Contoso HR Support
Contoso HR Support
The bot responds with
an answer if it is
contained in the
knowledgebase User can ask questions to the bot. The
bot is built on top of Microsoft QnA
Maker tool and leverages natural
language understanding.
The user can click on
Ask an Expert if they
want additional
support
The user can submit general
feedback about the app or
the question/answer in
particular
What is our benefits policy?
Your benefits are determined by the options you chose during
open enrollment. Follow this link to check your benefits enrollment
and policy details.
Contoso HR Support
Contoso HR Support
The employee can
request expert support
as needed.
Contoso HR Support
I referred a friend and he joined Contoso. However, I
still haven’t received my referral bonus.
Contoso HR Support
Contoso HR Experts Team:
Where bot posts notifications
on employee ‘ask an expert’
queries.
The bot posts a real-time
notification to the Experts
Team.
Expert Team can perform
light-weight ticketing
operations on the incoming
requests – such as assign,
close, reopen. The bot
maintains an audit trail of all
actions, so the entire team is
on the same page.Any one of the experts can
provide instant help through
chat at the click of a button.
Yashraj Mungale is requesting support.
Employee referral
I referred a friend and he joined Contoso….
Contoso HR Support
Opens the underlying
SharePoint site/website
for additional details.
The bot intelligently surfaces information
when certain tags match the commonly
referred HR links and drives awareness
towards Contoso’s existing investments
in knowledge management.
For example, here the question matches
the tag ‘diversity and inclusion’ for which
there is an existing SharePoint site for
additional details.
Contoso HR Support
Contoso HR Support
Tell me about Diversity/Inclusion at Contoso?
Here’s what I found:
Frequently accessed HR links provide a useful quick access entry
point to employees from within Teams itself to existing
SharePoint sites/intranet websites. On click, the article referred
by the tile will open in a browser.
Contoso HR Support
Lorem ipsum dolor sit amet, consectetur
adipiscing elit, sed do eiusmod tempor
incididunt ut labore.
Lorem ipsum dolor sit amet, consectetur
adipiscing elit, sed do eiusmod tempor
incididunt ut labore.
Lorem ipsum dolor sit amet, consectetur
adipiscing elit, sed do eiusmod tempor
incididunt ut labore.
Lorem ipsum dolor sit amet, consectetur
adipiscing elit, sed do eiusmod tempor
incididunt ut labore.
Lorem ipsum dolor sit amet, consectetur
adipiscing elit, sed do eiusmod tempor
incididunt ut labore.
FAQ Plus – A simple FAQ bot that brings a
human in the loop
Teams Adoption
Answer common employee questions about your
Teams deployment
New Product Rollout
Answer employee questions on any new initiatives
and create an immediate feedback loop with the
support teams
Lightweight helpdesk
Create lightweight helpdesk + FAQ apps for
common line of business scenarios such as HR,
Marketing, Operations
Company Communicator – Send targeted
communication to employees on Teams
Teams Adoption
Send users proactive communication on rollout of
Teams
Company Announcements
Modernize dissemination and consumption of
employee announcements
Modern Learning and Development
Modernize how employees receive and consume
learning and development content
List Search – Search and share items within
SharePoint List
Customer Tracking
Customer tracking, issue tracking.
Bug tracking
Searching, sharing and Collaborating on
software bugs
Company glossary
Searching and sharing common company acronyms
Icebreaker – Modern Employee Engagement
Conference communities
CS Ready Las Vegas 2019 (1,000+ CSMs/CSAs
meeting new person everyday)
New employee/intern cohorts
Icebreaker @ Microsoft Worldwide Commercial
Business Interns (50+ interns)
Employee communities
Women in CSU @ Microsoft (300+ women in CSU)
Key Resources
https://aka.ms/teamsapptemplates
Contains overview of all available app templates, along with links to GitHub repos
GitHub Repos direct link:
Icebreaker bot
List Search
Custom Stickers
Blogs:
FAQ Plus - Modernize employee experience with this no-code chatbot in Teams
Geekwire – Coverage on Icebreaker bot
OnMicrosoft – Coverage on Icebreaker bot
Icebreaker Blog – Assisted happenstance to strengthen your company culture
FAQs
• Are these apps secure?
• The app templates conform to recommended best practices around security and infrastructure, and all
community submitted changes to them are reviewed to ensure continued conformance.
• What would it take to take these apps and deploy them in my tenant?
• All App Templates come with detailed deployment instructions and take minutes to set up. You don’t require
a developer to deploy and use these app templates out of the box.
• Can everyone deploy these app templates?
• Typically, organizations have their own review processes to upload an app to their internal catalog. Anyone
with these permissions can deploy these apps.
• Do these apps cost anything?
• These app templates are free to use as they are open-sourced. They may incur Azure consumption charges
but there are free trials available.
Extend your solution
with Microsoft Graph
Microsoft Graph
a unified REST API
and comprehensive developer experience
for integrating the data and intelligence
exposed by Microsoft services.
Integrate Microsoft Graph into your app
Create
Get
Update
Delete
Clone
Archive
Unarchive
List Joined
List All
Team Group
https://graph.microsoft.com
Create
Get
Update
Delete
Renew
Create
Add owner
List owners
Add member
List member
Remove member
Create setting
Get settings
List settings
Channel
Create
Get
Update
Delete
List
Tabs
Add
Get
Update
Delete
List
App
Add
List
Upgrade
Remove
Chat
Add
Get
Update
Remove
List
https://graph.microsoft.com/beta
Mail, Calendar,
Contacts and Tasks
Sites and Lists
Drives and Files
Channels, Messages
Tasks and Plans
Spreadsheets
Notes, and more…
Identity Management
Access Control
Synchronization
Domains
Administrative Units
Applications and Devices
Advanced Threat Analytics
Advanced Threat Protection
Alerts
Policies
and more…
Permissions
Two types of permissions:
• User delegated permissions for when there is a user present
• Application permissions for when there isn't
Teams APIs require Group.Read.All or Group.ReadWrite.All
• For user delegated, means all groups the user can read/write
• For application permissions, means all groups in the tenant
• Admin consent required for both user delegated and application permissions
Graph can automate team lifecycles
Create a team
Add members
and owners
Configure
team settings
Add channels
Install apps
Add tabs
Send a
message
Archive or
delete the
team when
the time
comes
Building Teams Apps using
Solution Accelerators
Teams + SharePoint
Framework
• Modern client-side development
• Lightweight web and mobile
• Supports open source tools
& JavaScript web frameworks
• Built-in Graph support, Azure Active
Directory secured APIs and free hosting
on SharePoint
SharePoint Framework
Cloud ServicesMicrosoft Graph Lists & Files
SharePoint Framework
Modern client-side development
Lightweight web and mobile
Supports open source tools
& JavaScript web frameworks
Built-in Graph support, Azure Active
Directory secured APIs and free
hosting on SharePoint
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
Microsoft Power Platform
Power BI
Business analytics
Power Apps
Application development
Power Automate
Process automation
Power Virtual Agents
Intelligent virtual agents
The low-code platform that spans Office 365, Azure, Dynamics 365, and standalone applications
Innovation anywhere. Unlocks value everywhere.
Common
Data Service
Data
connectors
AI BuilderPortals
Teams + Power Apps
Teams + Power BI
Teams Lifecycle
management and Design
Guideline for Apps
Publish your app to your
organization
Deploy Microsoft Teams App in Azure
 Create a Web App in Azure
 Create a repository in GitHub
 Create an App using ‘yo teams’
 Build the App
 Deploying to Azure using Git
 Deploy the package to Teams to test the app
Thank You

Contenu connexe

Tendances

Microsoft Teams – The Future of Teamwork in Office 365
Microsoft Teams – The Future of Teamwork in Office 365Microsoft Teams – The Future of Teamwork in Office 365
Microsoft Teams – The Future of Teamwork in Office 365WinWire Technologies Inc
 
Microsoft Teams Preview - Technical Overview
Microsoft Teams Preview - Technical OverviewMicrosoft Teams Preview - Technical Overview
Microsoft Teams Preview - Technical OverviewOlivier Carpentier
 
Learn More About Microsoft Teams
Learn More About Microsoft Teams Learn More About Microsoft Teams
Learn More About Microsoft Teams Dock 365
 
Microsoft Office 365 for Enterprise - Presented by Atidan
Microsoft Office 365 for Enterprise - Presented by AtidanMicrosoft Office 365 for Enterprise - Presented by Atidan
Microsoft Office 365 for Enterprise - Presented by AtidanDavid J Rosenthal
 
Microsoft 365 business presentation
Microsoft 365 business presentationMicrosoft 365 business presentation
Microsoft 365 business presentationGordon Pong
 
Microsoft Teams - Transform Workplace Collaboration
Microsoft Teams - Transform Workplace CollaborationMicrosoft Teams - Transform Workplace Collaboration
Microsoft Teams - Transform Workplace CollaborationDavid J Rosenthal
 
Microsoft Teams - The Hub for Teamwork in Office 365
Microsoft Teams - The Hub for Teamwork in Office 365Microsoft Teams - The Hub for Teamwork in Office 365
Microsoft Teams - The Hub for Teamwork in Office 365David J Rosenthal
 
Microsoft Teams Phone - Calling Made Simple
Microsoft Teams Phone  - Calling Made SimpleMicrosoft Teams Phone  - Calling Made Simple
Microsoft Teams Phone - Calling Made SimpleDavid J Rosenthal
 
Presentation on Microsoft Teams
Presentation on Microsoft Teams Presentation on Microsoft Teams
Presentation on Microsoft Teams SoHo Dragon
 
Microsoft Teams for Educators @ CEWA
Microsoft Teams for Educators @ CEWAMicrosoft Teams for Educators @ CEWA
Microsoft Teams for Educators @ CEWADaniel M Groenewald
 
SharePoint Online (365) vs SharePoint On-Premises
SharePoint Online (365) vs SharePoint On-PremisesSharePoint Online (365) vs SharePoint On-Premises
SharePoint Online (365) vs SharePoint On-PremisesLior Zamir
 
Shared channels in Microsoft Teams, an overview - JcGonzalez.pptx
Shared channels in Microsoft Teams, an overview - JcGonzalez.pptxShared channels in Microsoft Teams, an overview - JcGonzalez.pptx
Shared channels in Microsoft Teams, an overview - JcGonzalez.pptxJuan Carlos Gonzalez
 

Tendances (20)

Microsoft Teams – The Future of Teamwork in Office 365
Microsoft Teams – The Future of Teamwork in Office 365Microsoft Teams – The Future of Teamwork in Office 365
Microsoft Teams – The Future of Teamwork in Office 365
 
Microsoft Teams
Microsoft TeamsMicrosoft Teams
Microsoft Teams
 
Microsoft Teams Preview - Technical Overview
Microsoft Teams Preview - Technical OverviewMicrosoft Teams Preview - Technical Overview
Microsoft Teams Preview - Technical Overview
 
Learn More About Microsoft Teams
Learn More About Microsoft Teams Learn More About Microsoft Teams
Learn More About Microsoft Teams
 
Microsoft Office 365 for Enterprise - Presented by Atidan
Microsoft Office 365 for Enterprise - Presented by AtidanMicrosoft Office 365 for Enterprise - Presented by Atidan
Microsoft Office 365 for Enterprise - Presented by Atidan
 
Microsoft 365 business presentation
Microsoft 365 business presentationMicrosoft 365 business presentation
Microsoft 365 business presentation
 
Microsoft Teams - Transform Workplace Collaboration
Microsoft Teams - Transform Workplace CollaborationMicrosoft Teams - Transform Workplace Collaboration
Microsoft Teams - Transform Workplace Collaboration
 
Microsoft Teams - The Hub for Teamwork in Office 365
Microsoft Teams - The Hub for Teamwork in Office 365Microsoft Teams - The Hub for Teamwork in Office 365
Microsoft Teams - The Hub for Teamwork in Office 365
 
Microsoft Teams Phone - Calling Made Simple
Microsoft Teams Phone  - Calling Made SimpleMicrosoft Teams Phone  - Calling Made Simple
Microsoft Teams Phone - Calling Made Simple
 
Microsoft Viva Topics
Microsoft Viva TopicsMicrosoft Viva Topics
Microsoft Viva Topics
 
Office 365
Office 365Office 365
Office 365
 
Microsoft Teams' Direct Routing for UCaaS and CCaaS
Microsoft Teams' Direct Routing for UCaaS and CCaaSMicrosoft Teams' Direct Routing for UCaaS and CCaaS
Microsoft Teams' Direct Routing for UCaaS and CCaaS
 
Presentation on Microsoft Teams
Presentation on Microsoft Teams Presentation on Microsoft Teams
Presentation on Microsoft Teams
 
Microsoft Teams for Educators @ CEWA
Microsoft Teams for Educators @ CEWAMicrosoft Teams for Educators @ CEWA
Microsoft Teams for Educators @ CEWA
 
MS Office 365
MS Office 365MS Office 365
MS Office 365
 
Microsoft Enterprise Voice
Microsoft Enterprise VoiceMicrosoft Enterprise Voice
Microsoft Enterprise Voice
 
SharePoint Online (365) vs SharePoint On-Premises
SharePoint Online (365) vs SharePoint On-PremisesSharePoint Online (365) vs SharePoint On-Premises
SharePoint Online (365) vs SharePoint On-Premises
 
Shared channels in Microsoft Teams, an overview - JcGonzalez.pptx
Shared channels in Microsoft Teams, an overview - JcGonzalez.pptxShared channels in Microsoft Teams, an overview - JcGonzalez.pptx
Shared channels in Microsoft Teams, an overview - JcGonzalez.pptx
 
Microsoft Teams
Microsoft TeamsMicrosoft Teams
Microsoft Teams
 
Overview of Microsoft Exchange Online
Overview of Microsoft Exchange OnlineOverview of Microsoft Exchange Online
Overview of Microsoft Exchange Online
 

Similaire à Ms teams webinar-getting started with microsoft teams development

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
 
Microsoft Teams community call-September 2019
Microsoft Teams community call-September 2019Microsoft Teams community call-September 2019
Microsoft Teams community call-September 2019Microsoft 365 Developer
 
Microsoft Teams community call-February 2019
Microsoft Teams community call-February 2019Microsoft Teams community call-February 2019
Microsoft Teams community call-February 2019Microsoft 365 Developer
 
Use your Web skills and the Microsoft Graph to build apps for Microsoft Teams
Use your Web skills and the Microsoft Graph to build apps for Microsoft TeamsUse your Web skills and the Microsoft Graph to build apps for Microsoft Teams
Use your Web skills and the Microsoft Graph to build apps for Microsoft TeamsJenkins NS
 
Build a Modern Workplace using Microsoft Teams
Build a Modern Workplace using Microsoft TeamsBuild a Modern Workplace using Microsoft Teams
Build a Modern Workplace using Microsoft TeamsWinWire Technologies Inc
 
Introduction to Microsoft Viva and the Employee Experience Platform with Joel...
Introduction to Microsoft Viva and the Employee Experience Platform with Joel...Introduction to Microsoft Viva and the Employee Experience Platform with Joel...
Introduction to Microsoft Viva and the Employee Experience Platform with Joel...Joel Oleson
 
Community Platform: Choosing the Right One
Community Platform: Choosing the Right One Community Platform: Choosing the Right One
Community Platform: Choosing the Right One Satya S
 
CCI2018 - Le possibilità di estensione di Microsoft Teams
CCI2018 - Le possibilità di estensione di Microsoft TeamsCCI2018 - Le possibilità di estensione di Microsoft Teams
CCI2018 - Le possibilità di estensione di Microsoft Teamswalk2talk srl
 
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
 
M365 Conf - Microsoft Viva Interactive Overview - 2021 Dec 06.pdf
M365 Conf - Microsoft Viva Interactive Overview - 2021 Dec 06.pdfM365 Conf - Microsoft Viva Interactive Overview - 2021 Dec 06.pdf
M365 Conf - Microsoft Viva Interactive Overview - 2021 Dec 06.pdfMichelle Caldwell, PSM, SSGB
 
SPSChennai2020
SPSChennai2020SPSChennai2020
SPSChennai2020Jenkins NS
 
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
 
How to Build Mobile Apps Fast with The Marketing App Cloud by Proscape
How to Build Mobile Apps Fast with The Marketing App Cloud by ProscapeHow to Build Mobile Apps Fast with The Marketing App Cloud by Proscape
How to Build Mobile Apps Fast with The Marketing App Cloud by ProscapeProscape
 
Montreal Skype and Teams User Group: Développer une application Microsoft Teams
Montreal Skype and Teams User Group: Développer une application Microsoft TeamsMontreal Skype and Teams User Group: Développer une application Microsoft Teams
Montreal Skype and Teams User Group: Développer une application Microsoft TeamsNicolas Georgeault
 
Target SharePoint and Teams with SharePoint Framework
Target SharePoint and Teams with SharePoint FrameworkTarget SharePoint and Teams with SharePoint Framework
Target SharePoint and Teams with SharePoint FrameworkHaaron Gonzalez
 
Top .NET development companies to outsource
Top .NET development companies to outsourceTop .NET development companies to outsource
Top .NET development companies to outsourceMindfire LLC
 
Digital Workplace by Lizard Soft
Digital Workplace by Lizard SoftDigital Workplace by Lizard Soft
Digital Workplace by Lizard SoftKirill Kazachiner
 
Digital Workplace by Lizard Soft
Digital Workplace by Lizard SoftDigital Workplace by Lizard Soft
Digital Workplace by Lizard SoftIgor Petrushyn
 
Digital Workplace Solution by Lizard Soft
Digital Workplace Solution by Lizard Soft Digital Workplace Solution by Lizard Soft
Digital Workplace Solution by Lizard Soft Rita Podkova
 

Similaire à Ms teams webinar-getting started with microsoft teams development (20)

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
 
Microsoft Teams community call-September 2019
Microsoft Teams community call-September 2019Microsoft Teams community call-September 2019
Microsoft Teams community call-September 2019
 
Microsoft Teams community call-February 2019
Microsoft Teams community call-February 2019Microsoft Teams community call-February 2019
Microsoft Teams community call-February 2019
 
Use your Web skills and the Microsoft Graph to build apps for Microsoft Teams
Use your Web skills and the Microsoft Graph to build apps for Microsoft TeamsUse your Web skills and the Microsoft Graph to build apps for Microsoft Teams
Use your Web skills and the Microsoft Graph to build apps for Microsoft Teams
 
Build a Modern Workplace using Microsoft Teams
Build a Modern Workplace using Microsoft TeamsBuild a Modern Workplace using Microsoft Teams
Build a Modern Workplace using Microsoft Teams
 
Introduction to Microsoft Viva and the Employee Experience Platform with Joel...
Introduction to Microsoft Viva and the Employee Experience Platform with Joel...Introduction to Microsoft Viva and the Employee Experience Platform with Joel...
Introduction to Microsoft Viva and the Employee Experience Platform with Joel...
 
Community Platform: Choosing the Right One
Community Platform: Choosing the Right One Community Platform: Choosing the Right One
Community Platform: Choosing the Right One
 
CCI2018 - Le possibilità di estensione di Microsoft Teams
CCI2018 - Le possibilità di estensione di Microsoft TeamsCCI2018 - Le possibilità di estensione di Microsoft Teams
CCI2018 - Le possibilità di estensione di Microsoft Teams
 
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
 
M365 Conf - Microsoft Viva Interactive Overview - 2021 Dec 06.pdf
M365 Conf - Microsoft Viva Interactive Overview - 2021 Dec 06.pdfM365 Conf - Microsoft Viva Interactive Overview - 2021 Dec 06.pdf
M365 Conf - Microsoft Viva Interactive Overview - 2021 Dec 06.pdf
 
SPSChennai2020
SPSChennai2020SPSChennai2020
SPSChennai2020
 
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
 
How to Build Mobile Apps Fast with The Marketing App Cloud by Proscape
How to Build Mobile Apps Fast with The Marketing App Cloud by ProscapeHow to Build Mobile Apps Fast with The Marketing App Cloud by Proscape
How to Build Mobile Apps Fast with The Marketing App Cloud by Proscape
 
Montreal Skype and Teams User Group: Développer une application Microsoft Teams
Montreal Skype and Teams User Group: Développer une application Microsoft TeamsMontreal Skype and Teams User Group: Développer une application Microsoft Teams
Montreal Skype and Teams User Group: Développer une application Microsoft Teams
 
Ms teams dev community call march 2018
Ms teams dev community call march 2018Ms teams dev community call march 2018
Ms teams dev community call march 2018
 
Target SharePoint and Teams with SharePoint Framework
Target SharePoint and Teams with SharePoint FrameworkTarget SharePoint and Teams with SharePoint Framework
Target SharePoint and Teams with SharePoint Framework
 
Top .NET development companies to outsource
Top .NET development companies to outsourceTop .NET development companies to outsource
Top .NET development companies to outsource
 
Digital Workplace by Lizard Soft
Digital Workplace by Lizard SoftDigital Workplace by Lizard Soft
Digital Workplace by Lizard Soft
 
Digital Workplace by Lizard Soft
Digital Workplace by Lizard SoftDigital Workplace by Lizard Soft
Digital Workplace by Lizard Soft
 
Digital Workplace Solution by Lizard Soft
Digital Workplace Solution by Lizard Soft Digital Workplace Solution by Lizard Soft
Digital Workplace Solution by Lizard Soft
 

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
 
Empowering citizen developers using power apps
Empowering citizen developers using power appsEmpowering citizen developers using power apps
Empowering citizen developers using power appsJenkins 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
 
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
 
Architecting your Intranet with SharePoint Modernization
Architecting your Intranet with SharePoint ModernizationArchitecting your Intranet with SharePoint Modernization
Architecting your Intranet with SharePoint ModernizationJenkins NS
 
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
 
Packaging teams solutions(manifest, app studio, packaging)
Packaging teams solutions(manifest, app studio, packaging)Packaging teams solutions(manifest, app studio, packaging)
Packaging teams solutions(manifest, app studio, packaging)Jenkins 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
 
Empowering citizen developers using power apps
Empowering citizen developers using power appsEmpowering citizen developers using power apps
Empowering citizen developers using power apps
 
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
 
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
 
Architecting your Intranet with SharePoint Modernization
Architecting your Intranet with SharePoint ModernizationArchitecting your Intranet with SharePoint Modernization
Architecting your Intranet with SharePoint Modernization
 
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
 
Packaging teams solutions(manifest, app studio, packaging)
Packaging teams solutions(manifest, app studio, packaging)Packaging teams solutions(manifest, app studio, packaging)
Packaging teams solutions(manifest, app studio, packaging)
 

Dernier

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAnitaRaj43
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMKumar Satyam
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)Samir Dash
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 

Dernier (20)

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 

Ms teams webinar-getting started with microsoft teams development

  • 1. Getting started with Microsoft Teams development 17-Jun-2020 Jenkin NS | JPOWER4
  • 2. Jenkins NS Modern Workplace Solution Architect | Consultant 15+ Years of experience Microsoft Teams, Power Platform and SPFx Specialist International Speaker | Blogger | Trainer SPS Bangalore Organizer aOS Ambassador https://www.facebook.com/msteamsinfo in/jenkinsns jenkinsns@gmail.com @jenkinsns http://www.jenkinsblogs.com jenkinsns https://www.facebook.com/spfxinfo/
  • 3. Agenda  Introduction  Teams Developer Platform – Overview and Opportunity  Building Apps and Solutions with Microsoft Teams  Extend your solution with Microsoft Graph  Building Teams Apps using Solution Accelerators
  • 5. Microsoft Teams The fastest growing business application in Microsoft history 13M+ daily active users and 19M+ weekly active users 13M+ More than 500,000 organizations use Teams 500,000+ 91 Fortune 100 companies use Teams 91% In 181 markets with support for 53 languages and growing 53+ Over 200 organizations have 10,000 or more active users 10,000+
  • 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 with confidence enterprise level security, compliance, and manageability Gain context without switching context Meet your people where they are Tailor your teamwork
  • 7. Apps In Teams 1st Party Apps  Developed by Microsoft  Office 365 or Office workloads  Enable better together scenarios 3rd Party Apps  Not built by Microsoft  Popular work applications  Enabled in central location Custom Apps  Built by your organization  Custom for business needs  Accessible by users in Teams
  • 8. So, where do you start?
  • 9. Start with the scenario Decision criteria Does it solve a real problem for a team? How often will it be used? What ROI does it provide for the team?
  • 10. Common scenarios our customers and partners are building Empower employees Self service Pulse surveys Enterprise search Employee engagement Learning and development Onboarding and scheduling Engage customers Customer support Sales associate productivity Digital marketing Social engagement Agent productivity Feedback loops Optimize operations Business processes Supply chain management Care coordination Delivery management Operational effectiveness Live tracking Transform products Project management Service Incidents Engineering workflows Defects management Ideation tools Design collaboration
  • 11.
  • 12. App scenarios across industries and horizontals… Industry vertical Airlines, transportation Flight/route crew communication hub Local crew shift management Financial services Proposal Manager for commercial banking Content sharing with compliance Retail and consumer goods Supply chain real-time collaboration Shift, pricing, and inventory management Mining, oil, and gas New location development Daily quality monitoring and analysis Government Emergency/disaster response and recovery Citizen service: permitting and licensing Healthcare Patient care coordination Telemedicine Manufacturing Key accounts inventory, logistics Change order services Power and utilities Field service real-time remote assist Billing and customer management Real estate and construction Leasing office tenant management Real estate customer engagement Horizontal Marketing Brand partnership hub Industry event planning Marketing hub HR Recruiting tool New hire onboarding and support tools Project management Billable hours management Client engagement hub Service desks Self-service knowledge base Customer service desk Procurement center service Firstline workers Shift management Remote worker task management
  • 13. Reference Architecture Your App Interface Tabs Bots Adaptive cards Messaging extensions Task modules Notifications Teams Application Platform & Graph APIs Back-end Partner Solution Azure: Bot Framework, LUIS, Cortana, AI, Cognitive Services etc. Azure SPFx Business Logic Business Logic Microsoft 365 Cloud Organizations own their data / organizations give developers access Private/Public Cloud • Line of Business (LOB) apps • ISV solutions • SharePoint solutions On Premise • Line of Business (LOB) apps • ISV solutions • SharePoint solutions Healthcare Retail Manufacturing Transportation Hospitality Financial Services Public Sector Power BI
  • 14. Building Apps and Solutions with Microsoft Teams
  • 15. Tabs - a big canvas to host your UI When your app needs a large area to present information to users a tab is a great place to show a list of work items or a dashboard users can chat about the content of your tab which will keep it foremost in a channel as a threaded conversation. Message Actions – interpret a chat The starting place is a conversation. Let users send text to your app and you can use it to create new things, add to existing entities Bots – smart chat skills for your users Use a bot to drive engagement in a channel or in 1:1 conversations. Bots are an excellent way to handle question and answer scenarios or times when you need to message a channel on behalf of your service. Our bots also let you host tabs for complimentary browsing scenarios and post rich interactive cards. Task Modules – a dialog for tasks Task modules let you open a dialog from bot cards or tabs. When you need to do a little form entry, a lookup, or keep a 1:1 interaction out of a channel, pop open a dialog. Message Extensions – share rich cards Your users can share rich actionable cards that grab people’s attention and can get simple jobs done without leaving the conversation. Why send a link when you can include summary, status, and a wide range of interactions. Notifications – getting users’ attention Use toast, @mentions, just posting to a channel to call attention to changes and important actions users care about. Teams gives your app the flexibility to proactively notify people as quietly or loudly as you need Teams platform is built for flexibility Webhooks and Connectors Enabling external services to post messages to the conversation, and your users to send messages to your service. You can take advantage of cards and card actions to create rich, actionable messages.
  • 16. Build for individuals and groups Teams is about collaboration – Teams Scope puts your app where the action is Teams is the hub. Bring content to the user in the right place and at the right time. Collaborate in Channels Interacting in front of or with a group of people increases your app’s visibility and enhances discoverability. To meet this mark the content should be actionable and not simply informational Encourage Sharing Message extensions allow sharing and interaction in 1:1, Group chat, Teams, and from the Commandbox. Now when users paste a link from your website we can even convert it to your specially designed and actionable cards. Be proactive in channels Help with discovery. Send a daily digest, update the team on the latest changes and maximize your usage with actionable messages, and if your tab is in the channel you can notify users in the tab thread to help them see the changes in the context of the big picture. Make your interactions here customizable When users get your data the way they want it is satisfying. Customizing notifications is always a great start. Customizing Tabs lets Teams see exactly what they need and letting users configure your Message Extensions gives them the head start to find and share in a snap. Teams is about the individual – Personal Scope lets you interact with your users 1:1 There are times when we need to close the door and get things done, your app can do that too. Personal apps A personal app can bring your entities from all the channels in Teams into a unified view for the user. They support tabs optionally bot conversations in one place for the user to get things done. If you have a users who is looking at different work items in different teams and channels in your Team Scope tabs a Personal app can show everything in one place. 1:1 Bots Some messages and interactions are for your eyes only. Bots can get notify your users and get things done without disturbing everyone else
  • 17. Easy to distribute to your customers Publish to the store Make your app available to the world. Let people know the category of your service, include screenshots and videos and easy to access app details that show off your app’s capabilities and skills. Publish to your tenant When your app is designed to support a specific function in your company you can make it easy to find for all your company’s users. We’ve got a great place for your admin to host all your internal apps and they can suggest publicly available apps here too. Publish to a team When you want to test your app or if it was designed for a specific group of people you can sideload your app and use it right away.
  • 18. Building scenarios Some ideas to get you started
  • 19. Scenarios Have a conversation about work items A tab with a list of work items it is easy to talk about what to do next and make sure everyone is working on the same project Share a sales report Use a message extension to find and share a class activity with a great summary and instructions for your students Submit a social media post for approval See how your tweets are trending, and submit new posts that get routed through your PR team for approval Your “task” hub Personal apps create one place to see all the different things a person needs to do regardless of which team has created the work
  • 20. Scenarios Look up a place to eat Access your service from anywhere without missing a beat. Convert a chat to a sales opportunity Use the power of the graph and let users send chats to your app to get things done Create a team, add members, and a message Onboard users on your project the easy way.
  • 21. A Microsoft Teams app app.zip Web pages with server side and client side logic Web API—for Bots and business logic Background jobs Bot Framework channel registrations Outlook Connector registrations
  • 24. App Studio App Studio is a Teams app made for developers which: • Eliminates the need to manually craft an app package • Consolidates many registration and management experiences and reduces them down to single clicks • Provides a continually expanding set of tools such as a Card Editor to make the inner loop development process easier • Is itself built on the Teams platform and can be installed like any other app
  • 25. Step 1: Get App Studio from Store • In Teams, click Apps button, search for “App Studio”, install.
  • 26. Step 2. Go to App Studio, create an app • Go to App Studio > Manifest editor > Create a new app
  • 27. Step 3: App details • Use “idt-teams-bot” for short name, long name & short description. • Use “idt-teams-bot long description” for the long description. • Generate an App Id • Use “com.mycompany.idt.bot” for package name, “0.0.1” for version. • Use “idt-teams-bot” for Name • Use http://www.mywebsite.com for all urls.
  • 28. Step 4: Add existing Bot • Under Capabilities->Bots choose “Set up” Existing bot. • Name: “idt-teams-bot” • Bot ID: Either “Select from one of my existing bots” if logged into the same AAD account, or “Connect to a different bot id” and paste in the Microsoft id found in the appsettings.json file of the bot. • (if connected instead of selected): • Endpoint: https://idt-teams-bot.azurewebsites.net/api/messages
  • 29. Step 5: Add domain to validate & install • Under Finish > Valid domains, add “*.botframework.com” as a valid domain. • Under Finish > Test and distruibute, click “Install” • Choose Personal and Team checkboxes. • Click “Open” to open the Bot to begin testing.
  • 30. Step 6: Test your skill • Type “hi” (Bot says “Hello.”) • Type “schedule a meeting” (Bot requests a login) click “login” • Log in to your non-AAD account, but do not close the window. • A validation code will appear. Copy the code. • Paste the code into the conversation with the bot. • (follow further prompts in the conversation to set up a meeting)
  • 32. 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.
  • 33. 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
  • 34. 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
  • 35.
  • 36. Plan your development environment Using c# Using node Using yo teams – Yeoman Generators
  • 38. Share a sales report Message extensions Search for or show recently viewed reports.
  • 39. Share a sales report Message extensions Search for or show recently viewed reports. Compose with card Add comments and @mention the people who need to see the information.
  • 40. Share a sales report Message extensions Search for or show recently viewed reports. Compose with card Add comments and @mention the people who need to see the information. Share to team Now everyone can see the summary, open a link to your content or take immediate action right from the chat.
  • 41. Convert chat to a sales opportunity Message actions Your users can send chats to your service and include time, sender information, text and if you use graph chats above and below the selection for additional context.
  • 42. Convert chat to a sales opportunity Message actions Your users can send chats to your service and include time, sender information, text and if you use graph chats above and below the selection for additional context. Tasks where the conversation is happening Create one or more actions that appear in our context menus.
  • 43. Convert chat to a sales opportunity Message actions Your users can send chats to your service and include time, sender information, text and if you use graph chats above and below the selection for additional context. Tasks where the conversation is happening Create one or more actions that appear in our context menus. Confirm with a task module Keeping the user in control but using natural language processing to extract the words you need to get the job done quickly and intelligently.
  • 44. 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“ } ] } ] } ]
  • 45. "composeExtensions": [ { "botId": "57a3c29f-1fc5-4d97-a142-35bb662b7b23", "canUpdateConfiguration": true, "commands": [ { "id": "reassignTodo", "description": "Reassign a todo item", "title": "Create To Do", "type": "Action", "context": ["message"], "fetchTask": true }]
  • 46. Tabs
  • 47. Have a conversation about work items Tabs When your app needs a large area to present information to users a tab is a great place to show a list of work items or a dashboard
  • 48. Have a conversation about work items Tabs When your app needs a large area to present information to users a tab is a great place to show a list of work items or a dashboard Chat in context Users can chat about your page, interact with it and draw people’s attention to important information all in one place
  • 49. Have a conversation about work items Tabs When your app needs a large area to present information to users a tab is a great place to show a list of work items or a dashboard Chat in context Users can chat about your page, interact with it and draw people’s attention to important information all in one place Post tab threads Conversations within the tab will be posted in the team’s channel and promote your tab
  • 50. Static Tabs A content page declared directly in manifest No Configuration Added in “personal” scope Accessed via the app bar or alongside bot conversation
  • 51. 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" ]
  • 52. 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
  • 53. Bots & Task Modules
  • 54. 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.
  • 55. 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, } ]
  • 56. 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
  • 57. 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, } ]
  • 58. Submit a social media post for approval Social media dashboard A great view of my company’s social media engagement and how we are trending
  • 59. Submit a social media post for approval Social media dashboard A great view of my company’s social media engagement and how we are trending Submit a post for approval Approval workflows get routed to the right team for quick review and automated posting to your corporate social media accounts
  • 60. Submit a social media post for approval Social media dashboard A great view of my company’s social media engagement and how we are trending Submit a post for approval Approval workflows get routed to the right team for quick review and automated posting to your corporate social media accounts Notify the right team Approval workflows get routed to the right team for quick review and automated posting to your corporate social media accounts
  • 61. Look up a place to eat Find a restaurant without losing your place @mentioning your app in the command box gives users global access to your app, while they are anywhere in teams.
  • 62. Look up a place to eat Find a restaurant without losing your place @mentioning your app in the command box gives users global access to your app, while they are anywhere in teams. Search with one or more parameters You can make your app incredibly powerful with single parameter or multi parameter queries, and even default queries you save for everyone or per user.
  • 63. Look up a place to eat Find a restaurant without losing your place @mentioning your app in the command box gives users global access to your app, while they are anywhere in teams. Search with one or more parameters You can make your app incredibly powerful with single parameter or multi parameter queries, and even default queries you save for everyone or per user. Share Users can get the information they need and get back to work or share your card with others.
  • 64. Create a team, add members, and a message Kicking off a new project can be easier Using Teams templates and your app you can automate the onboarding process.
  • 65. Create a team, add members, and a message Kicking off a new project can be easier Using Teams templates and your app you can automate the onboarding process. Simplify known workflows Select users who will be team owners vs team members to comply with access and role limitations, pick documents in your service or on SharePoint to add to the mix. Add a welcome message.
  • 66. Create a team, add members, and a message Kicking off a new project can be easier Using Teams templates and your app you can automate the onboarding process. Simplify known workflows Select users who will be team owners vs team members to comply with access and role limitations, pick documents in your service or on SharePoint to add to the mix. Add a welcome message. Bot notification In the new team we start the project knowing what we are doing and where everything is.
  • 67. Your “task” hub The Development channel has some tasks for Daniella This is a project with specific goals and work items.
  • 68. Your “task” hub The Development channel has some tasks for Daniella This is a project with specific goals and work items. The Marketing channel is in another team But Daniella has things she needs to do here too.
  • 69. Your “task” hub The Development channel has some tasks for Daniella This is a project with specific goals and work items. The Marketing channel is in another team But Daniella has things she needs to do here too. Personal apps can create a unified view Daniella will likely start her day here, and it’s a great place to see all the work she has to do in one place… with handy links to take her to the channels where she needs to collaborate
  • 71. App Templates for Custom Company Apps Plug n Play Experiences Community-driven, pre-built Teams apps for common line-of-business scenarios. Minimal configuration needed and no coding required. One-Click Deployment Secure, Configurable & Extensible Full Catalog: https://aka.ms/TeamsAppTemplates List Search Company Communicator FAQ Plus Icebreaker Custom Stickers Meeting Room Bot HR Support Scrum bot Celebration Bot
  • 72. Contoso HR Support Contoso HR Support Tell me about Diversity/Inclusion at Contoso? Here’s what I found: HR Support Bot A bot for corporate HR teams to answer commonly asked employee questions and provide support.
  • 73. Welcome cards that tells the employees at Contoso about what the bot can do A dedicated tab that contains entry points to commonly accessed SharePoint/other sites for HR tasks. Contoso HR Support Contoso HR Support
  • 74. The bot responds with an answer if it is contained in the knowledgebase User can ask questions to the bot. The bot is built on top of Microsoft QnA Maker tool and leverages natural language understanding. The user can click on Ask an Expert if they want additional support The user can submit general feedback about the app or the question/answer in particular What is our benefits policy? Your benefits are determined by the options you chose during open enrollment. Follow this link to check your benefits enrollment and policy details. Contoso HR Support Contoso HR Support
  • 75. The employee can request expert support as needed. Contoso HR Support I referred a friend and he joined Contoso. However, I still haven’t received my referral bonus. Contoso HR Support
  • 76. Contoso HR Experts Team: Where bot posts notifications on employee ‘ask an expert’ queries. The bot posts a real-time notification to the Experts Team. Expert Team can perform light-weight ticketing operations on the incoming requests – such as assign, close, reopen. The bot maintains an audit trail of all actions, so the entire team is on the same page.Any one of the experts can provide instant help through chat at the click of a button. Yashraj Mungale is requesting support. Employee referral I referred a friend and he joined Contoso…. Contoso HR Support
  • 77. Opens the underlying SharePoint site/website for additional details. The bot intelligently surfaces information when certain tags match the commonly referred HR links and drives awareness towards Contoso’s existing investments in knowledge management. For example, here the question matches the tag ‘diversity and inclusion’ for which there is an existing SharePoint site for additional details. Contoso HR Support Contoso HR Support Tell me about Diversity/Inclusion at Contoso? Here’s what I found:
  • 78. Frequently accessed HR links provide a useful quick access entry point to employees from within Teams itself to existing SharePoint sites/intranet websites. On click, the article referred by the tile will open in a browser. Contoso HR Support Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.
  • 79. FAQ Plus – A simple FAQ bot that brings a human in the loop Teams Adoption Answer common employee questions about your Teams deployment New Product Rollout Answer employee questions on any new initiatives and create an immediate feedback loop with the support teams Lightweight helpdesk Create lightweight helpdesk + FAQ apps for common line of business scenarios such as HR, Marketing, Operations
  • 80. Company Communicator – Send targeted communication to employees on Teams Teams Adoption Send users proactive communication on rollout of Teams Company Announcements Modernize dissemination and consumption of employee announcements Modern Learning and Development Modernize how employees receive and consume learning and development content
  • 81. List Search – Search and share items within SharePoint List Customer Tracking Customer tracking, issue tracking. Bug tracking Searching, sharing and Collaborating on software bugs Company glossary Searching and sharing common company acronyms
  • 82. Icebreaker – Modern Employee Engagement Conference communities CS Ready Las Vegas 2019 (1,000+ CSMs/CSAs meeting new person everyday) New employee/intern cohorts Icebreaker @ Microsoft Worldwide Commercial Business Interns (50+ interns) Employee communities Women in CSU @ Microsoft (300+ women in CSU)
  • 83. Key Resources https://aka.ms/teamsapptemplates Contains overview of all available app templates, along with links to GitHub repos GitHub Repos direct link: Icebreaker bot List Search Custom Stickers Blogs: FAQ Plus - Modernize employee experience with this no-code chatbot in Teams Geekwire – Coverage on Icebreaker bot OnMicrosoft – Coverage on Icebreaker bot Icebreaker Blog – Assisted happenstance to strengthen your company culture
  • 84. FAQs • Are these apps secure? • The app templates conform to recommended best practices around security and infrastructure, and all community submitted changes to them are reviewed to ensure continued conformance. • What would it take to take these apps and deploy them in my tenant? • All App Templates come with detailed deployment instructions and take minutes to set up. You don’t require a developer to deploy and use these app templates out of the box. • Can everyone deploy these app templates? • Typically, organizations have their own review processes to upload an app to their internal catalog. Anyone with these permissions can deploy these apps. • Do these apps cost anything? • These app templates are free to use as they are open-sourced. They may incur Azure consumption charges but there are free trials available.
  • 85. Extend your solution with Microsoft Graph
  • 86. Microsoft Graph a unified REST API and comprehensive developer experience for integrating the data and intelligence exposed by Microsoft services.
  • 87. Integrate Microsoft Graph into your app Create Get Update Delete Clone Archive Unarchive List Joined List All Team Group https://graph.microsoft.com Create Get Update Delete Renew Create Add owner List owners Add member List member Remove member Create setting Get settings List settings Channel Create Get Update Delete List Tabs Add Get Update Delete List App Add List Upgrade Remove Chat Add Get Update Remove List https://graph.microsoft.com/beta Mail, Calendar, Contacts and Tasks Sites and Lists Drives and Files Channels, Messages Tasks and Plans Spreadsheets Notes, and more… Identity Management Access Control Synchronization Domains Administrative Units Applications and Devices Advanced Threat Analytics Advanced Threat Protection Alerts Policies and more…
  • 88. Permissions Two types of permissions: • User delegated permissions for when there is a user present • Application permissions for when there isn't Teams APIs require Group.Read.All or Group.ReadWrite.All • For user delegated, means all groups the user can read/write • For application permissions, means all groups in the tenant • Admin consent required for both user delegated and application permissions
  • 89. Graph can automate team lifecycles Create a team Add members and owners Configure team settings Add channels Install apps Add tabs Send a message Archive or delete the team when the time comes
  • 90. Building Teams Apps using Solution Accelerators
  • 92. • Modern client-side development • Lightweight web and mobile • Supports open source tools & JavaScript web frameworks • Built-in Graph support, Azure Active Directory secured APIs and free hosting on SharePoint SharePoint Framework Cloud ServicesMicrosoft Graph Lists & Files SharePoint Framework Modern client-side development Lightweight web and mobile Supports open source tools & JavaScript web frameworks Built-in Graph support, Azure Active Directory secured APIs and free hosting on SharePoint
  • 93. 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
  • 94. Microsoft Power Platform Power BI Business analytics Power Apps Application development Power Automate Process automation Power Virtual Agents Intelligent virtual agents The low-code platform that spans Office 365, Azure, Dynamics 365, and standalone applications Innovation anywhere. Unlocks value everywhere. Common Data Service Data connectors AI BuilderPortals
  • 97. Teams Lifecycle management and Design Guideline for Apps
  • 98. Publish your app to your organization
  • 99. Deploy Microsoft Teams App in Azure  Create a Web App in Azure  Create a repository in GitHub  Create an App using ‘yo teams’  Build the App  Deploying to Azure using Git  Deploy the package to Teams to test the app

Notes de l'éditeur

  1. So let’s go deep into Microsoft Teams.
  2. Microsoft Teams is the fastest growing business application in Microsoft history. A couple of stats for you: 13M daily active users Over 500,000 organization are using Teams. 91% of the Fortune 100 companies use Teams. 181 markets are using Teams with support for 53 languages and growing But really the stat that I love is this stat which is over 200 organizations have 10,000 or more active users.
  3. [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 a complete meetings and calling solution, incl. chat, voice and video, as we have completed our roadmap for bringing Skype for Business Online features and functionality into Teams. 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. You can avoid email attachments and having to search for the latest version of a document. Teams brings all the Office 365 services together – so that you can easily share and co-author files.   [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 be the hub for all the services and tools your 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>. We have also created an extensible platform, to enable building apps and to integrate with business processes. And for Firstline workers, Teams provides an additional set of capabilities including schedule management.    [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. ------ And that product is Microsoft Teams. And back to that Satya quote we shared earlier about Microsoft as a platform company, Core to the value of Teams is also the platform that it’s built upon. (click slide to build) which enables you to customize & extend your experience. Today, we will discuss how to unleash the real power of Teams to and create experiences that help solve the communication challenges we mentioned earlier, and deliver experiences that most organizations have only dreamt about.   Now, why is a platform important? Because while every team is unique, one thing that is consistent is that every team will need a variety of apps and tools to get their work done. Since there is no such thing as a universal tool for work, the extensibility of the Teams platform delivers a universal hub for teamwork to infuse all those tools, together.   Let us show you what we mean by infusing your tools, together.
  4. 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
  5. We start with a quick overview of the types of apps in Teams. 1st Party Apps are those that are published by Microsoft. These are familiar apps like Word, excel powerpoint, and other apps like Bing News, Flows, Dynamics 365 etc. Other apps are published by other 3rd party vendors. You’ll find several of them on the Teams in-app store. <Show the store in the app at this point> Company Apps: The Microsoft Teams Company App Catalog lets you distribute your line-of-business applications that were built specifically for your organization and that you rely on to complete critical business functions to your users. Custom apps are apps that are specific to your organization, built and used specifically for users in your organization. Here’s where you’ll find apps that are specific to Microsoft as a company. These apps have been published by the global admins over at the Microsoft IT department <Show the Microsoft apps in the Teams app store? With every IT Professional’s focus on security and privacy for cloud or SaaS apps, what controls are we providing organization admins to allow or block these apps? How do admins disable company specific apps if they find issues or bugs with them?
  6. No that you understand the basics of what’s possible, let’s get into the details around why you want to build for Teams and where you can start
  7. To start developing for Teams, it is important to decide on many points. First, when you are building any application, you need to ask yourself, does it really solve a real-world problem for a team? You don’t want to build something which is not solving any business problem. Because there will be no user of your app. Next, important decision point will be how often user will use this. If your app value proposition is not well balanced with the effort and cost associated with it, then might need to explore other options. Teams is all about user experience and their interaction with the tool. If you want app to win people choice award, then think about user personas and how your app can improve their life As mentioned, the return of investment for the app can be justifiable easily. Someone
  8. Discussion notes: To recap, we’ve covered the various capabilities available in Teams, shared some insights around our product roadmap (only if customer is NDA and slides have been reviewed with them), and talked through a few examples of how apps drive value across various functions in an organization. My question to you now is, what do you want to enable today for your organization? There are four key areas that we’ve found Teams delivers value for our customers – Firstly, empowering of employees, which is done via self-service, efficient searching & sharing of information, gauging employee engagement, and learning & development activities. Next, we have engaging with customers – this includes enabling timely feedback loops, providing customer support, measuring sales associate productivity, and much more. In the context of optimizing operations, Teams allows for effective execution of business processes, delivery management, and live tracking of in-flight products or services. Finally, Teams transforms products along with your workforce, ranging from project management to engineering workflows, through to managing service incidents and design collaboration.
  9. These are few of many companies who are building and porting their existing apps to Teams.
  10. 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.
  11. 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. Tabs allow you to surface rich content within Teams, so you can bring the tools and services your team cares about right into a channel or private chat. Add rich dashboards and data visualization, collaborate on documents and note taking, manage tasks across the group, share designs. Bots help users get tasks done in conversation in Teams. Bots can do things like kick off workflows and provide status on them, give and receive kudos from team members, create lightweight surveys to gauge employee satisfaction, and answer natural language questions about sales and customer usage data. Connectors help bring useful information and rich content from external services into channels in Microsoft Teams. Get social media notifications, updates about pull and push requests, news updates. With Actionable messages, you can add rich content to your connector cards. Compose extensions allow users to query and share rich cards in conversations. Activity feed notifications engage users via feed notifications. To learn more about the Teams developer platform, visit the Office Dev Center at Developer.Microsoft.com/Microsoft-Teams.
  12. 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. Tabs allow you to surface rich content within Teams, so you can bring the tools and services your team cares about right into a channel or private chat. Add rich dashboards and data visualization, collaborate on documents and note taking, manage tasks across the group, share designs. Bots help users get tasks done in conversation in Teams. Bots can do things like kick off workflows and provide status on them, give and receive kudos from team members, create lightweight surveys to gauge employee satisfaction, and answer natural language questions about sales and customer usage data. Connectors help bring useful information and rich content from external services into channels in Microsoft Teams. Get social media notifications, updates about pull and push requests, news updates. With Actionable messages, you can add rich content to your connector cards. Compose extensions allow users to query and share rich cards in conversations. Activity feed notifications engage users via feed notifications. To learn more about the Teams developer platform, visit the Office Dev Center at Developer.Microsoft.com/Microsoft-Teams.
  13. Most of you came to this conference because you have real customers that have data in Microsoft Services. Microsoft Graph is the way to access that data.
  14. 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
  15. You’ve seen today how Building Teams apps is really about leverage all the experience that you as a developer have, and bringing it into a single unified platform. Bots, cards, sites, and more. Whether you’re an ISV, an internal developer, or a developer just getting into this space, start developing for Teams today!
  16. commandExtension is part of the manifest.json file Scope determines if 1:1 (personal) or channel (team)
  17. 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
  18. Personal conversation requires User Id (from Teams) and Tenant Id
  19. Notes: App templates are production-ready apps for Microsoft Teams that are community driven, open-source, and available on GitHub. Each contains detailed instructions for deploying and installing that app for your organization, providing a ready-to-use app that you can install and begin using immediately. The complete source code is available as well, so you can explore it in detail, or fork the code and alter it to meet your specific needs. Key benefits of using app templates Plug and play experience: All app templates include deployments scripts that will allow you to host all necessary services in Microsoft Azure. No coding is required to deploy the apps. Production-ready code: The app templates conform to recommended best practices around security and infrastructure, and all community submitted changes to them are reviewed to ensure continued conformance. Customizable and extensible: While all app templates are ready to deploy as they are, we provide the entire code base and deployment scripts so that you can easily customize or extend them to fit your unique needs. Detailed documentation & support: All app templates are accompanied by end-to-end documentation on solution architecture, deployment, and configuration steps. The repositories are monitored as well, so please report any issues you encounter by raising an Issue on GitHub.
  20. Scenario: The HR team at Contoso is rolling out a new HR support bot to enable its employees to get instant answers to mostly commonly asked HR related questions and request expert help when needed.
  21. Collaboration in Microsoft Teams quite often references information contained within items in a SharePoint list. Simply pasting a link to the item in question forces everyone to switch context away from the conversation, find the needed information, then return to Teams to continue the conversation. As the conversation continues typically people will have to switch back to the reference item multiple times to verify new comments and refresh their memories of the information contained within the item. This context switching creates a barrier to smooth collaboration, and is a recipe for things falling through the cracks. To help alleviate this pain, we are happy to bring to you the List Search app template. Millions of users use SharePoint to power some of the core workflows in their organizations. However, collaborating around lists can be especially tedious. Using the List Search app template in Microsoft Teams, users can insert information from SharePoint list items directly within a chat conversation to alleviate the context-switching caused when simply inserting a link into a chat. The information is inserted as an easy-to-read auto-formatted card, helping your users stay engaged in the conversation.
  22. Icebreaker is a Microsoft Teams bot that helps your team get closer by pairing two random team members up every week to meet. The bot makes scheduling easy by automatically suggesting free times that work for both members. Strengthen personal connections and build a tightly knit community with this app. In addition to encouraging personal connections across your entire team, the Icebreaker app can help cultivate interest-based communities within your organization. For example, you can use this app for a DevOps interest group to help ideas and best practices organically spread across your organization.
  23. Most of you came to this conference because you have real customers that have data in Microsoft Services. Microsoft Graph is the way to access that data.
  24. The SharePoint Framework (SPFx) is a developer toolkit that provides full support for modern client-side SharePoint development, easy integration with SharePoint data, and support for open source tooling. With the SharePoint Framework, you can use modern web technologies and tools in your preferred development environment to build productive experiences and apps that are responsive and mobile-ready from day one. The SharePoint Framework works for SharePoint Online and supports many open-source tools and is Javascript web framework agnostic. Another key advantage is that, developers can leverage all of SharePoint’s capabilities, including lists, files, security, CDNs, and integration with Microsoft Graph and Azure Active-Directory secured APIs, to deliver full end-to-end applications for their organization. This in-turn helps reduces operational costs and minimizes deployment complexity. In short: if you’re thinking about building an app as an Enterprise or Office developer, then the SharePoint Framework is the preferred way to do it because it’s free and extremely powerful because it takes care of so much of the plumbing for you.