SlideShare ist ein Scribd-Unternehmen logo
1 von 56
Downloaden Sie, um offline zu lesen
Office Dev Day 2018 - Extending Microsoft Teams
IT Deputy Director | Business Technology
Office Servers and Services MVP
https://andrevala.com
/in/andrevala
@atomicvee
andre.vala@gmail.com
CONNECTORS
4
BOTS
3
TABS
2
ACTIVITY FEED
5
MESSAGING
EXTENSIONS
6
APPS FOR TEAMS
1
PACKAGING &
DEPLOYMENT
MICROSOFT
GRAPH
7 9
RESOURCES
& LABS
8
CONCLUSION
& ROADMAP
Office Dev Day 2018 - Extending Microsoft Teams
1 APPS FOR TEAMS
Enable teams to make decisions and take action faster
Reduce context switching on important tasks
Create opportunities for collaboration around external content
Increased Productivity
1 APPS FOR TEAMS
• Access sales information
• Time and absence reporting
• Travel and expenses
• Lookup benefits and HR
• IT Helpdesk and Support
Create enterprise-specific solutions for your end users by
integrating with your existing internal services and processes
Examples
1 APPS FOR TEAMS
Tabs
Surface rich content within Teams
Bots
Help users get tasks done in
conversations
Connectors
Post rich updates to channels
Activity Feed
Engage users via feed notifications
Messaging Extensions
Allow users to query and share rich cards in
conversations
Actionable Messages
Add rich interaction to your connector cards
Microsoft Graph
Build in intelligence and connect to data that drives productivity
1 APPS FOR TEAMS
Component Personal Channel Team
Tabs Yes Yes No
Bots Yes No Yes
Connectors No Yes No
Activity Feed Yes No No
Messaging Extensions Yes No Yes
1 APPS FOR TEAMS
PACKAGE
MANIFEST.JSON
COLOR ICON
OUTLINE ICON
App manifest file in
JSON format. Must
be placed at the top
level of the package.
Color icon used in app
galleries, bots, flyouts
and so on. Must be
96x96 pixels.
Outline icon used in the app
bar, pinned composed
extensions and chiclets. Must
be 20x20 pixels, white with a
transparent background.
ZIP file
1 APPS FOR TEAMS
{
"$schema": "https://statics.teams.microsoft.com/sdk/v1.2/manifest/MicrosoftTeams.schema.json",
"manifestVersion": "1.2",
"version": "1.0.0",
"id": "%MICROSOFT-APP-ID%",
"packageName": "com.example.myapp",
"developer": {
"name": "Publisher Name",
"websiteUrl": "https://website.com/",
"privacyUrl": "https://website.com/privacy",
"termsOfUseUrl": "https://website.com/app-tos"
},
[...]
Developer
company
information
1 APPS FOR TEAMS
[...]
"name": {
"short": "Name of your app (max 30 chars)",
"full": "Full name of app (if greater than 30)"
},
"description": {
"short": "Short description of your app (max 80 chars)",
"full": "Full description of your app (max 4000 chars)"
},
"icons": {
"outline": "%FILENAME-20x20px%",
"color": "%FILENAME-96x96px"
},
"accentColor": "%HEX-COLOR%",
[...]
App name
Relative path to
application icons
App description
1 APPS FOR TEAMS
[...]
"configurableTabs": [...],
"staticTabs": [...],
"bots": [...],
"connectors": [...],
"composeExtensions": [...],
"permissions": [
"identity",
"messageTeamMembers"
],
"validDomains": [
"*.taburl.com",
"*.otherdomains.com"
]
}
App package
components
(optional)
App permissions
(optional)
Valid domains from where
contents can be loaded
(required only for tabs)
1 APPS FOR TEAMS
In-App Gallery Office Store Sideloading
Quality control and
validation by Microsoft
Yes Yes No
Availability Searchable and deployable
to any Team globally
Searchable and deployable
to any Team globally
Available only to the Team
where it was sideloaded
Searchable in the Office
Store
No Yes No
Searchable in the In-App
Gallery
Yes Yes No
Required permissions Team owner Team owner Team owner for sideloading,
but this option must be
enabled first by a tenant
admin
Office Dev Day 2018 - Extending Microsoft Teams
• Web pages presented in Teams
through an iframe
• Can be used for team productivity,
in channels, or for personal
productivity, as an app flyout
• Leverages Microsoft Teams Tab
javascript library for context and
interactivity
• Supports deep links to native apps
2 TABS
Example: benefits dashboard
2 TABS
Configuration Page
Page used to add or update the tab and set the content page
Content Page
The primary page displayed in the tab
Removal Page
Optional page displayed when a tab is removed
2 TABS
• Must use HTTPS
• Content must work on an iframe
• Include Microsoft Teams Tab library as a script source
<script src="https://statics.teams.microsoft.com/sdk/v1.0/js/MicrosoftTeams.min.js" />
• Once the page has successfully loaded, call
microsoftTeams.initialize() to the display it
• All domains for pages displayed in tabs must be listed in the
manifest’s validDomains
2 TABS
Channel scope (configurable tab)
• Tab added to a channel
• Can be configured when added to the channel
• Accessible by all members of the team
Personal scope (static tab)
• Allows for a private interaction with the user
• Accessible through the app bar
• Cannot be added or removed
Office Dev Day 2018 - Extending Microsoft Teams
2 TABS
• Put information at the fingertips of users
• Leverage collaborative nature of the product
• Minimize context switching – easy to find what users need
• Focus on content that makes sense in the solution
• Minimize extra chrome – focus on what you want the user to do
• Design for bite-size tasks – power users should use your full SaaS
2 TABS
"configurableTabs": [
{
"configurationUrl": "https://taburl.com/config.html",
"canUpdateConfiguration": true,
"scopes": [ "team" ]
}
],
"staticTabs": [
{
"entityId": "idForPage",
"name": "Display name of tab",
"contentUrl": "https://teams-specific-webview.website.com",
"websiteUrl": "http://fullwebsite.website.com",
"scopes": [ "personal" ]
}
],
Office Dev Day 2018 - Extending Microsoft Teams
• Bots make it easy for users to
interact with your app in team
conversations or 1:1
• Built using Microsoft Bot
Framework
• Complete tasks via basic
commands, menu or natural
language
3 BOTS
Example: time and absence entry and reporting
1. Register the bot with the Microsoft Bot Framework
2. Build the bot using the Microsoft Teams .NET SDK, Node.js SDK
or Microsoft Bot Connector API
3. Test it using the Bot Framework Emulator
4. Deploy it to a cloud service
5. Create an app package
6. Sideload it or publish the package to the store
3 BOTS
Extensions to the Bot Builder SDK that allow Teams-specific operations
• Fetch a Team’s list of channels
• Fetch profile info about Team members
• Fetch tenant ID from an incoming message to the bot
• Create a 1:1 chat with a user
• Mention a specific user
• Consume various events such as channel-created, team-renamed
• Accept messages only from specific tenants
• Write Messaging Extensions
3 BOTS
3 BOTS
Format User > Bot Bot > User Notes
Rich Text Yes Yes
Pictures Yes Yes Max 1024x1024 and 1MB (PNG, JPG or GIF)
Cards No Yes Hero, Thumbnail and Office 365 Connector cards
Emojis No Yes Via UTF-16
Office Dev Day 2018 - Extending Microsoft Teams
• Whether used as a CLI for your SaaS, or to manage workflows,
create the experience that makes the most sense for your end
users
• Use context to provide the appropriate functionality in channel vs
1:1 chat
• Leverage the Bot Framework and Microsoft Teams SDKs to easily
consume APIs
• Use the input menu to keep your end users “on rails”
3 BOTS
3 BOTS
"bots": [
{
"botId": "%MICROSOFT-APP-ID-REGISTERED-WITH-BOT-FRAMEWORK%",
"needsChannelSelector": "true",
"isNotificationOnly": "false",
"scopes": [ "team", "personal" ],
"commandLists": [
{
"scopes": ["team"],
"commands": [
{
"title": "Command 1",
"description": "Description of Command 1"
},
{
"title": "Command N",
"description": "Description of Command N"
}
]
}
]
}
],
Office Dev Day 2018 - Extending Microsoft Teams
• Leverages incoming webhook API
• Send activities into Teams (or
Groups)
• Push rich interactive cards into
channels for user quick actions
• Supported in Outlook, Teams and
Yammer
• Build your own connector
4 CONNECTORS & ACTONABLE MESSAGES
Example: incident notifications
1. Register the connector (https://outlook.office.com/connectors/publish)
2. Create a landing page for users with a Connect button
3. Create a callback page to store the webhook URL
4. Deploy it to a cloud service
5. Create an app package
6. Sideload it or publish the package to the store
7. Install the connector to a channel
4 CONNECTORS & ACTONABLE MESSAGES
1. Create an actionable message card
2. Create a request with the card definition (JSON) as payload
3. POST the request to the webhook URL
4 CONNECTORS & ACTONABLE MESSAGES
4 CONNECTORS & ACTONABLE MESSAGES
Card Playground
https://messagecardplayground.azurewebsites.net/
section
card title
section’s activityImage
section‘s activityTitle
section‘s activitySubtitle
section‘s facts
section‘s text
section‘s potentialActions
MAX
10
MAX
5
Office Dev Day 2018 - Extending Microsoft Teams
4 CONNECTORS & ACTONABLE MESSAGES
"connectors": [
{
"connectorId": "GUID-FROM-CONNECTOR-DEV-PORTAL",
"scopes": [ "team"]
}
],
Office Dev Day 2018 - Extending Microsoft Teams
• Notify users personally via the
activity feed
• Same API as sending bot messages
• Deep links straight into tabs
5 ACTIVITY FEED
Example: new approval request
5 ACTIVITY FEED
"bots": [
{
"botId": "%MICROSOFT-APP-ID-REGISTERED-WITH-BOT-FRAMEWORK%",
"needsChannelSelector": "true",
"isNotificationOnly": "true",
"scopes": [ "team", "personal" ],
"commandLists": [
{
"scopes": ["team"],
"commands": [
{
"title": "Command 1",
"description": "Description of Command 1"
},
{
"title": "Command N",
"description": "Description of Command N"
}
]
}
]
}
],
Office Dev Day 2018 - Extending Microsoft Teams
• Personalize Teams Compose box
with your App & Services content
• Users can query and insert your
app content into conversations
6 MESSAGING EXTENSIONS
Example: lookup and share a company resource
• Share content that makes sense in conversations
• Take advantage of the rich card types
• Optimize search results to keep it snappy and responsive
• Leverage Teams SDKs to easily add your core bot offering
6 MESSAGING EXTENSIONS
6 MESSAGING EXTENSIONS
"composeExtensions": [
{
"botId": "%MICROSOFT-APP-ID-REGISTERED-WITH-BOT-FRAMEWORK%",
"scopes": ["team", "personal"],
"commands": [
{
"id": "exampleCmd",
"title": "Example Command",
"description": "Command Description e.g. Search on the web",
"initialRun": "true",
"parameters": [
{
"name": "keyword",
"title": "Search keywords",
"description": "Enter the keywords to search for"
}
]
}
]
}
],
Office Dev Day 2018 - Extending Microsoft Teams
• Integrate with the Microsoft Graph in your Teams app
• Leverage existing Graph APIs like emails, documents, and
calendar
• Teams-specific APIs available in Beta with more coming soon
7 MICROSOFT GRAPH
Create/Get/Update Team
Create/Get/List Channels
Create Chat Thread
Get Chat Messages
Office Dev Day 2018 - Extending Microsoft Teams
8 CONCLUSIONS & ROADMAP
Your App
Page
Page
Bot
Connector
Microsoft Teams
Teams
Team
Channel
Conversation
Tab
Personal
Tab
Channel
Conversation
Tab
Tab
Chat 1:1
Activity Feed
Microsoft Bot
Framework
STATIC TAB
NOTIFICATION
CONFIGURABLE TAB
ACTIONABLE MESSAGE
TEAM CHAT
MESSAGING EXTENSION
CHAT 1:1
MESSAGING EXTENSION
Command bar
Lobby support
Transfer to PSTN call
Anonymous join call
Safe call transfer
8 CONCLUSIONS & ROADMAP
Federated chat between Teams and Skype for Business
Enable call quality analytics
Message retention policies
Import contacts from Skype for Business
Give and take control in sharing
Share/mute chat
Unified presence
Support for contact groups
Team templates
Out of office support
Organizational auto-attendant
Forward group
Do not disturb breakthrough
Call queues
Whiteboard and meeting notes
PowerPoint load and share
Escalate 1:1 chat/call to multi-party
Large meeting support (250 participants)
Cloud recording
Broadcast meetings
Calling support between Teams and Skype consumer
Group call pickup
Location based routing
Office Dev Day 2018 - Extending Microsoft Teams
Code Samples
https://developer.microsoft.com/en-us/microsoft-
teams/gallery/?filterBy=Samples,Microsoft%20Teams
Official Documentation
http://aka.ms/TeamsDocs
YouTube Teams Channel
http://aka.ms/TeamsVideos
9
Create a tab for Microsoft Teams
https://github.com/OfficeDev/TrainingContent/blob/master/Teams/01%20Tabs/Lab.md
Prerequisites
To complete the step-by-step instructions in this lab, you will need:
• Office 365 Tenant and Microsoft Azure subscription
• Microsoft Teams must be turned on in the tenant
• Microsoft Teams must be installed
• Visual Studio 2017 with ASP.NET and web application components
9
Create Office 365 Connectors for Microsoft Teams
https://github.com/OfficeDev/TrainingContent/blob/master/Teams/02%20Connectors/Lab.md
Prerequisites
To complete the step-by-step instructions in this lab, you will need:
• Office 365 Tenant and Microsoft Azure subscription
• Microsoft Teams must be turned on in the tenant
• Microsoft Teams must be installed
• Curl must be installed
• Visual Studio 2017 with ASP.NET and web application components
9
Create a Bot in Microsoft Teams
https://github.com/OfficeDev/TrainingContent/blob/master/Teams/03%20Bots/Lab.md
Prerequisites
To complete the step-by-step instructions in this lab, you will need:
• Office 365 Tenant and Microsoft Azure subscription
• Visual Studio 2017 and bot templates installed
• Microsoft Teams must be turned on in the tenant
• Microsoft Teams must be installed
9
Creating Microsoft Teams Apps (by Paul Schaeflein)
https://github.com/pschaeflein/hol-microsoft-teams
This hands-on lab is composed of several modules which will help you learn how to develop apps for Teams, leveraging
its many extensibility points. It covers the following topics:
• Module 1: Create and Test a Basic Teams App using Yeoman
• Module 2: Call Microsoft Graph inside a Tab
• Module 3: Create a basic Teams bot
• Module 4: Add Microsoft Teams functionality to a bot
• Module 5: Creating Compose Extensions
• Module 6: Connectors & webhooks
Prerequisites
To complete this lab, you will need to prepare your environment by following the instructions here:
https://github.com/pschaeflein/hol-microsoft-teams/blob/master/Prerequisites.md
9
https://techcommunity.microsoft.com @OfficeDev
St ar tSt ar t
http://dev.office.com/podcasts
http://sharepoint.uservoi
ce.com/
Stack overflow
[sharepoint] http://aka.ms/O365DevShow
SharePoint Patterns and Practices
http://aka.ms/sppnp
Thank You!

Weitere ähnliche Inhalte

Was ist angesagt?

ECS19 - Dragan Panjkov - Connecting Enterprise Software With Flow
ECS19 - Dragan Panjkov - Connecting Enterprise Software With FlowECS19 - Dragan Panjkov - Connecting Enterprise Software With Flow
ECS19 - Dragan Panjkov - Connecting Enterprise Software With FlowEuropean Collaboration Summit
 
Office 365 Groups Deep Dive
Office 365 Groups Deep DiveOffice 365 Groups Deep Dive
Office 365 Groups Deep DiveAndré Vala
 
ECS2018 - Accelerate success and time to-value for Office 365 with best pract...
ECS2018 - Accelerate success and time to-value for Office 365 with best pract...ECS2018 - Accelerate success and time to-value for Office 365 with best pract...
ECS2018 - Accelerate success and time to-value for Office 365 with best pract...Patrick Guimonet
 
SharePoint Benefits
SharePoint BenefitsSharePoint Benefits
SharePoint BenefitsSameh Senosi
 
ECS19 - Mike Ammerlaan - The Microsoft 365 Platform: A Developer’s Tour
ECS19 - Mike Ammerlaan - The Microsoft 365 Platform: A Developer’s TourECS19 - Mike Ammerlaan - The Microsoft 365 Platform: A Developer’s Tour
ECS19 - Mike Ammerlaan - The Microsoft 365 Platform: A Developer’s TourEuropean Collaboration Summit
 
SharePoint Designer Workflows - Nuts, Bolts and Examples
SharePoint Designer Workflows - Nuts, Bolts and ExamplesSharePoint Designer Workflows - Nuts, Bolts and Examples
SharePoint Designer Workflows - Nuts, Bolts and ExamplesDrew Madelung
 
Custom Connectors for Microsoft Flow - Your Service Is My Command
Custom Connectors for Microsoft Flow - Your Service Is My CommandCustom Connectors for Microsoft Flow - Your Service Is My Command
Custom Connectors for Microsoft Flow - Your Service Is My CommandDipti Chhatrapati
 
SPUnite17 Building Great Client Side Web Parts with SPFx
SPUnite17 Building Great Client Side Web Parts with SPFxSPUnite17 Building Great Client Side Web Parts with SPFx
SPUnite17 Building Great Client Side Web Parts with SPFxNCCOMMS
 
Getting started with ms graph api
Getting started with ms graph apiGetting started with ms graph api
Getting started with ms graph apiJasjit Chopra
 
ECS19 - Bill Ayers - UNLOCK YOUR BUSINESS KNOWLEDGE WITH THE MICROSOFT GRAPH,...
ECS19 - Bill Ayers - UNLOCK YOUR BUSINESS KNOWLEDGE WITH THE MICROSOFT GRAPH,...ECS19 - Bill Ayers - UNLOCK YOUR BUSINESS KNOWLEDGE WITH THE MICROSOFT GRAPH,...
ECS19 - Bill Ayers - UNLOCK YOUR BUSINESS KNOWLEDGE WITH THE MICROSOFT GRAPH,...European Collaboration Summit
 
Office Delve for Office 365 Administrators
Office Delve for Office 365 AdministratorsOffice Delve for Office 365 Administrators
Office Delve for Office 365 AdministratorsSteve Stewart
 
SharePoint Conference Munich 2014: Work Management Service
SharePoint Conference Munich 2014: Work Management ServiceSharePoint Conference Munich 2014: Work Management Service
SharePoint Conference Munich 2014: Work Management ServiceAdis Jugo
 
Bringing Zest to SharePoint Sites Using Out-of-the-Box Technology
Bringing Zest to SharePoint Sites Using Out-of-the-Box TechnologyBringing Zest to SharePoint Sites Using Out-of-the-Box Technology
Bringing Zest to SharePoint Sites Using Out-of-the-Box Technologyjoelsef
 
Workflow Manager Tips & Tricks
Workflow Manager Tips & TricksWorkflow Manager Tips & Tricks
Workflow Manager Tips & TricksMai Omar Desouki
 
Full Trust Solution Development in SharePoint 2013
Full Trust Solution Development in SharePoint 2013Full Trust Solution Development in SharePoint 2013
Full Trust Solution Development in SharePoint 2013Ed Musters
 
SharePoint Saturday Chicago Suburbs 2016 - Modern Intranet Development Best P...
SharePoint Saturday Chicago Suburbs 2016 - Modern Intranet Development Best P...SharePoint Saturday Chicago Suburbs 2016 - Modern Intranet Development Best P...
SharePoint Saturday Chicago Suburbs 2016 - Modern Intranet Development Best P...Nik Patel
 
10 Best SharePoint Features You’ve Never Used (But Should)
10 Best SharePoint Features You’ve Never Used (But Should)10 Best SharePoint Features You’ve Never Used (But Should)
10 Best SharePoint Features You’ve Never Used (But Should)Christian Buckley
 
SharePoint Server 2016 - Lets get ready - Wisconsin SharePoint User Group
SharePoint Server 2016 - Lets get ready - Wisconsin SharePoint User GroupSharePoint Server 2016 - Lets get ready - Wisconsin SharePoint User Group
SharePoint Server 2016 - Lets get ready - Wisconsin SharePoint User GroupDrew Madelung
 

Was ist angesagt? (20)

ECS19 - Dragan Panjkov - Connecting Enterprise Software With Flow
ECS19 - Dragan Panjkov - Connecting Enterprise Software With FlowECS19 - Dragan Panjkov - Connecting Enterprise Software With Flow
ECS19 - Dragan Panjkov - Connecting Enterprise Software With Flow
 
Office 365 Groups Deep Dive
Office 365 Groups Deep DiveOffice 365 Groups Deep Dive
Office 365 Groups Deep Dive
 
ECS2018 - Accelerate success and time to-value for Office 365 with best pract...
ECS2018 - Accelerate success and time to-value for Office 365 with best pract...ECS2018 - Accelerate success and time to-value for Office 365 with best pract...
ECS2018 - Accelerate success and time to-value for Office 365 with best pract...
 
SharePoint Benefits
SharePoint BenefitsSharePoint Benefits
SharePoint Benefits
 
ECS19 - Mike Ammerlaan - The Microsoft 365 Platform: A Developer’s Tour
ECS19 - Mike Ammerlaan - The Microsoft 365 Platform: A Developer’s TourECS19 - Mike Ammerlaan - The Microsoft 365 Platform: A Developer’s Tour
ECS19 - Mike Ammerlaan - The Microsoft 365 Platform: A Developer’s Tour
 
SharePoint Designer Workflows - Nuts, Bolts and Examples
SharePoint Designer Workflows - Nuts, Bolts and ExamplesSharePoint Designer Workflows - Nuts, Bolts and Examples
SharePoint Designer Workflows - Nuts, Bolts and Examples
 
Microsoft Office Delve
Microsoft Office DelveMicrosoft Office Delve
Microsoft Office Delve
 
Custom Connectors for Microsoft Flow - Your Service Is My Command
Custom Connectors for Microsoft Flow - Your Service Is My CommandCustom Connectors for Microsoft Flow - Your Service Is My Command
Custom Connectors for Microsoft Flow - Your Service Is My Command
 
SPUnite17 Building Great Client Side Web Parts with SPFx
SPUnite17 Building Great Client Side Web Parts with SPFxSPUnite17 Building Great Client Side Web Parts with SPFx
SPUnite17 Building Great Client Side Web Parts with SPFx
 
Getting started with ms graph api
Getting started with ms graph apiGetting started with ms graph api
Getting started with ms graph api
 
Sharepoint Basics
Sharepoint BasicsSharepoint Basics
Sharepoint Basics
 
ECS19 - Bill Ayers - UNLOCK YOUR BUSINESS KNOWLEDGE WITH THE MICROSOFT GRAPH,...
ECS19 - Bill Ayers - UNLOCK YOUR BUSINESS KNOWLEDGE WITH THE MICROSOFT GRAPH,...ECS19 - Bill Ayers - UNLOCK YOUR BUSINESS KNOWLEDGE WITH THE MICROSOFT GRAPH,...
ECS19 - Bill Ayers - UNLOCK YOUR BUSINESS KNOWLEDGE WITH THE MICROSOFT GRAPH,...
 
Office Delve for Office 365 Administrators
Office Delve for Office 365 AdministratorsOffice Delve for Office 365 Administrators
Office Delve for Office 365 Administrators
 
SharePoint Conference Munich 2014: Work Management Service
SharePoint Conference Munich 2014: Work Management ServiceSharePoint Conference Munich 2014: Work Management Service
SharePoint Conference Munich 2014: Work Management Service
 
Bringing Zest to SharePoint Sites Using Out-of-the-Box Technology
Bringing Zest to SharePoint Sites Using Out-of-the-Box TechnologyBringing Zest to SharePoint Sites Using Out-of-the-Box Technology
Bringing Zest to SharePoint Sites Using Out-of-the-Box Technology
 
Workflow Manager Tips & Tricks
Workflow Manager Tips & TricksWorkflow Manager Tips & Tricks
Workflow Manager Tips & Tricks
 
Full Trust Solution Development in SharePoint 2013
Full Trust Solution Development in SharePoint 2013Full Trust Solution Development in SharePoint 2013
Full Trust Solution Development in SharePoint 2013
 
SharePoint Saturday Chicago Suburbs 2016 - Modern Intranet Development Best P...
SharePoint Saturday Chicago Suburbs 2016 - Modern Intranet Development Best P...SharePoint Saturday Chicago Suburbs 2016 - Modern Intranet Development Best P...
SharePoint Saturday Chicago Suburbs 2016 - Modern Intranet Development Best P...
 
10 Best SharePoint Features You’ve Never Used (But Should)
10 Best SharePoint Features You’ve Never Used (But Should)10 Best SharePoint Features You’ve Never Used (But Should)
10 Best SharePoint Features You’ve Never Used (But Should)
 
SharePoint Server 2016 - Lets get ready - Wisconsin SharePoint User Group
SharePoint Server 2016 - Lets get ready - Wisconsin SharePoint User GroupSharePoint Server 2016 - Lets get ready - Wisconsin SharePoint User Group
SharePoint Server 2016 - Lets get ready - Wisconsin SharePoint User Group
 

Ähnlich wie Office Dev Day 2018 - Extending Microsoft Teams

Office 365 Developer Bootcamp: Microsoft Teams
Office 365 Developer Bootcamp: Microsoft TeamsOffice 365 Developer Bootcamp: Microsoft Teams
Office 365 Developer Bootcamp: Microsoft TeamsDavid Schneider
 
Microsoft Team Messaging Extension Deep Dive
Microsoft Team Messaging Extension Deep DiveMicrosoft Team Messaging Extension Deep Dive
Microsoft Team Messaging Extension Deep DiveManoj Mittal
 
Building apps for microsoft teams - aossg
Building apps for microsoft teams - aossgBuilding apps for microsoft teams - aossg
Building apps for microsoft teams - aossgJenkins 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
 
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
 
ESPC19 - Supercharge Your Teams Experience with Advanced Development Techniques
ESPC19 - Supercharge Your Teams Experience with Advanced Development TechniquesESPC19 - Supercharge Your Teams Experience with Advanced Development Techniques
ESPC19 - Supercharge Your Teams Experience with Advanced Development TechniquesSébastien Levert
 
ESPC Teams week Microsoft Teams & Bot Framework – a Developer’s Perspective
ESPC Teams week Microsoft Teams & Bot Framework – a Developer’s PerspectiveESPC Teams week Microsoft Teams & Bot Framework – a Developer’s Perspective
ESPC Teams week Microsoft Teams & Bot Framework – a Developer’s PerspectiveThomas Gölles
 
Bot & AI - A Bot for Productivity
Bot & AI - A Bot for ProductivityBot & AI - A Bot for Productivity
Bot & AI - A Bot for ProductivityMarvin Heng
 
Microsoft Graph: Connect to essential data every app needs
Microsoft Graph: Connect to essential data every app needsMicrosoft Graph: Connect to essential data every app needs
Microsoft Graph: Connect to essential data every app needsMicrosoft Tech Community
 
Microsoft Graph: Connect to essential data every app needs
Microsoft Graph: Connect to essential data every app needsMicrosoft Graph: Connect to essential data every app needs
Microsoft Graph: Connect to essential data every app needsMicrosoft Tech Community
 
SPVIE - Slidedeck Get started with developing for Microsoft Teams
SPVIE - Slidedeck Get started with developing for Microsoft TeamsSPVIE - Slidedeck Get started with developing for Microsoft Teams
SPVIE - Slidedeck Get started with developing for Microsoft TeamsPaul Keijzers
 
Building apps for microsoft teams - aosKL
Building apps for microsoft teams - aosKL Building apps for microsoft teams - aosKL
Building apps for microsoft teams - aosKL Jenkins NS
 
Intégrez vos applications métiers dans Microsoft Teams
Intégrez vos applications métiers dans Microsoft TeamsIntégrez vos applications métiers dans Microsoft Teams
Intégrez vos applications métiers dans Microsoft TeamsGuillaume Meyer
 
#Techorama belgium 2018 vincent biret what's new with the #MicrosoftGraph
#Techorama belgium 2018 vincent biret what's new with the #MicrosoftGraph#Techorama belgium 2018 vincent biret what's new with the #MicrosoftGraph
#Techorama belgium 2018 vincent biret what's new with the #MicrosoftGraphVincent Biret
 
SPUnite17 Extending Groups-Teams-Planner
SPUnite17 Extending Groups-Teams-PlannerSPUnite17 Extending Groups-Teams-Planner
SPUnite17 Extending Groups-Teams-PlannerNCCOMMS
 
Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...
Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...
Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...Anupam Ranku
 
#Techorama belgium 2018 vincent biret deep dive with the #MicrosoftGraph
#Techorama belgium 2018 vincent biret deep dive with the #MicrosoftGraph#Techorama belgium 2018 vincent biret deep dive with the #MicrosoftGraph
#Techorama belgium 2018 vincent biret deep dive with the #MicrosoftGraphVincent Biret
 
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
 
O365Con18 - Reach for the Cloud Build Solutions with the Power of Microsoft G...
O365Con18 - Reach for the Cloud Build Solutions with the Power of Microsoft G...O365Con18 - Reach for the Cloud Build Solutions with the Power of Microsoft G...
O365Con18 - Reach for the Cloud Build Solutions with the Power of Microsoft G...NCCOMMS
 
#SPSottawa The SharePoint Framework and The Microsoft Graph on steroids with ...
#SPSottawa The SharePoint Framework and The Microsoft Graph on steroids with ...#SPSottawa The SharePoint Framework and The Microsoft Graph on steroids with ...
#SPSottawa The SharePoint Framework and The Microsoft Graph on steroids with ...Vincent Biret
 

Ähnlich wie Office Dev Day 2018 - Extending Microsoft Teams (20)

Office 365 Developer Bootcamp: Microsoft Teams
Office 365 Developer Bootcamp: Microsoft TeamsOffice 365 Developer Bootcamp: Microsoft Teams
Office 365 Developer Bootcamp: Microsoft Teams
 
Microsoft Team Messaging Extension Deep Dive
Microsoft Team Messaging Extension Deep DiveMicrosoft Team Messaging Extension Deep Dive
Microsoft Team Messaging Extension Deep Dive
 
Building apps for microsoft teams - aossg
Building apps for microsoft teams - aossgBuilding apps for microsoft teams - aossg
Building apps for microsoft teams - aossg
 
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
 
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
 
ESPC19 - Supercharge Your Teams Experience with Advanced Development Techniques
ESPC19 - Supercharge Your Teams Experience with Advanced Development TechniquesESPC19 - Supercharge Your Teams Experience with Advanced Development Techniques
ESPC19 - Supercharge Your Teams Experience with Advanced Development Techniques
 
ESPC Teams week Microsoft Teams & Bot Framework – a Developer’s Perspective
ESPC Teams week Microsoft Teams & Bot Framework – a Developer’s PerspectiveESPC Teams week Microsoft Teams & Bot Framework – a Developer’s Perspective
ESPC Teams week Microsoft Teams & Bot Framework – a Developer’s Perspective
 
Bot & AI - A Bot for Productivity
Bot & AI - A Bot for ProductivityBot & AI - A Bot for Productivity
Bot & AI - A Bot for Productivity
 
Microsoft Graph: Connect to essential data every app needs
Microsoft Graph: Connect to essential data every app needsMicrosoft Graph: Connect to essential data every app needs
Microsoft Graph: Connect to essential data every app needs
 
Microsoft Graph: Connect to essential data every app needs
Microsoft Graph: Connect to essential data every app needsMicrosoft Graph: Connect to essential data every app needs
Microsoft Graph: Connect to essential data every app needs
 
SPVIE - Slidedeck Get started with developing for Microsoft Teams
SPVIE - Slidedeck Get started with developing for Microsoft TeamsSPVIE - Slidedeck Get started with developing for Microsoft Teams
SPVIE - Slidedeck Get started with developing for Microsoft Teams
 
Building apps for microsoft teams - aosKL
Building apps for microsoft teams - aosKL Building apps for microsoft teams - aosKL
Building apps for microsoft teams - aosKL
 
Intégrez vos applications métiers dans Microsoft Teams
Intégrez vos applications métiers dans Microsoft TeamsIntégrez vos applications métiers dans Microsoft Teams
Intégrez vos applications métiers dans Microsoft Teams
 
#Techorama belgium 2018 vincent biret what's new with the #MicrosoftGraph
#Techorama belgium 2018 vincent biret what's new with the #MicrosoftGraph#Techorama belgium 2018 vincent biret what's new with the #MicrosoftGraph
#Techorama belgium 2018 vincent biret what's new with the #MicrosoftGraph
 
SPUnite17 Extending Groups-Teams-Planner
SPUnite17 Extending Groups-Teams-PlannerSPUnite17 Extending Groups-Teams-Planner
SPUnite17 Extending Groups-Teams-Planner
 
Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...
Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...
Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...
 
#Techorama belgium 2018 vincent biret deep dive with the #MicrosoftGraph
#Techorama belgium 2018 vincent biret deep dive with the #MicrosoftGraph#Techorama belgium 2018 vincent biret deep dive with the #MicrosoftGraph
#Techorama belgium 2018 vincent biret deep dive with the #MicrosoftGraph
 
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
 
O365Con18 - Reach for the Cloud Build Solutions with the Power of Microsoft G...
O365Con18 - Reach for the Cloud Build Solutions with the Power of Microsoft G...O365Con18 - Reach for the Cloud Build Solutions with the Power of Microsoft G...
O365Con18 - Reach for the Cloud Build Solutions with the Power of Microsoft G...
 
#SPSottawa The SharePoint Framework and The Microsoft Graph on steroids with ...
#SPSottawa The SharePoint Framework and The Microsoft Graph on steroids with ...#SPSottawa The SharePoint Framework and The Microsoft Graph on steroids with ...
#SPSottawa The SharePoint Framework and The Microsoft Graph on steroids with ...
 

Mehr von André Vala

RGPD - Testemunho do Mundo Real
RGPD - Testemunho do Mundo RealRGPD - Testemunho do Mundo Real
RGPD - Testemunho do Mundo RealAndré Vala
 
From Event Receivers to SharePoint Webhooks
From Event Receivers to SharePoint WebhooksFrom Event Receivers to SharePoint Webhooks
From Event Receivers to SharePoint WebhooksAndré Vala
 
SharePoint - Presente e Futuro
SharePoint - Presente e FuturoSharePoint - Presente e Futuro
SharePoint - Presente e FuturoAndré Vala
 
Soluções com Office Graph
Soluções com Office GraphSoluções com Office Graph
Soluções com Office GraphAndré Vala
 
Host-Named Site Collections in SharePoint 2013
Host-Named Site Collections in SharePoint 2013Host-Named Site Collections in SharePoint 2013
Host-Named Site Collections in SharePoint 2013André Vala
 
User License Enforcement em SharePoint 2013
User License Enforcement em SharePoint 2013User License Enforcement em SharePoint 2013
User License Enforcement em SharePoint 2013André Vala
 
How To Use Host-Named Site Collections
How To Use Host-Named Site CollectionsHow To Use Host-Named Site Collections
How To Use Host-Named Site CollectionsAndré Vala
 
Novidades na pesquisa no SharePoint 2013
Novidades na pesquisa no SharePoint 2013Novidades na pesquisa no SharePoint 2013
Novidades na pesquisa no SharePoint 2013André Vala
 
Building Public Web Sites in SharePoint 2010
Building Public Web Sites in SharePoint 2010 Building Public Web Sites in SharePoint 2010
Building Public Web Sites in SharePoint 2010 André Vala
 
SharePoint + Azure = Better Together
SharePoint + Azure = Better TogetherSharePoint + Azure = Better Together
SharePoint + Azure = Better TogetherAndré Vala
 
Federated Authentication in SharePoint 2010
Federated Authentication in SharePoint 2010Federated Authentication in SharePoint 2010
Federated Authentication in SharePoint 2010André Vala
 
Using BCS to integrate Azure Services with SharePoint 2010
Using BCS to integrate Azure Services with SharePoint 2010Using BCS to integrate Azure Services with SharePoint 2010
Using BCS to integrate Azure Services with SharePoint 2010André Vala
 
LINQ to SharePoint
LINQ to SharePointLINQ to SharePoint
LINQ to SharePointAndré Vala
 
Solução de Negócio baseadas em Office 2010 e SharePoint 2010
Solução de Negócio baseadas em Office 2010 e SharePoint 2010Solução de Negócio baseadas em Office 2010 e SharePoint 2010
Solução de Negócio baseadas em Office 2010 e SharePoint 2010André Vala
 
SharePoint Deployment
SharePoint DeploymentSharePoint Deployment
SharePoint DeploymentAndré Vala
 
Microsoft Planner Deep Dive
Microsoft Planner Deep DiveMicrosoft Planner Deep Dive
Microsoft Planner Deep DiveAndré Vala
 
Office 365 Groups Deep Dive
Office 365 Groups Deep DiveOffice 365 Groups Deep Dive
Office 365 Groups Deep DiveAndré Vala
 
Content Recommendation with SharePoint Search
Content Recommendation with SharePoint SearchContent Recommendation with SharePoint Search
Content Recommendation with SharePoint SearchAndré Vala
 
Building Solutions with Office Graph
Building Solutions with Office GraphBuilding Solutions with Office Graph
Building Solutions with Office GraphAndré Vala
 
Working with AngularJS
Working with AngularJSWorking with AngularJS
Working with AngularJSAndré Vala
 

Mehr von André Vala (20)

RGPD - Testemunho do Mundo Real
RGPD - Testemunho do Mundo RealRGPD - Testemunho do Mundo Real
RGPD - Testemunho do Mundo Real
 
From Event Receivers to SharePoint Webhooks
From Event Receivers to SharePoint WebhooksFrom Event Receivers to SharePoint Webhooks
From Event Receivers to SharePoint Webhooks
 
SharePoint - Presente e Futuro
SharePoint - Presente e FuturoSharePoint - Presente e Futuro
SharePoint - Presente e Futuro
 
Soluções com Office Graph
Soluções com Office GraphSoluções com Office Graph
Soluções com Office Graph
 
Host-Named Site Collections in SharePoint 2013
Host-Named Site Collections in SharePoint 2013Host-Named Site Collections in SharePoint 2013
Host-Named Site Collections in SharePoint 2013
 
User License Enforcement em SharePoint 2013
User License Enforcement em SharePoint 2013User License Enforcement em SharePoint 2013
User License Enforcement em SharePoint 2013
 
How To Use Host-Named Site Collections
How To Use Host-Named Site CollectionsHow To Use Host-Named Site Collections
How To Use Host-Named Site Collections
 
Novidades na pesquisa no SharePoint 2013
Novidades na pesquisa no SharePoint 2013Novidades na pesquisa no SharePoint 2013
Novidades na pesquisa no SharePoint 2013
 
Building Public Web Sites in SharePoint 2010
Building Public Web Sites in SharePoint 2010 Building Public Web Sites in SharePoint 2010
Building Public Web Sites in SharePoint 2010
 
SharePoint + Azure = Better Together
SharePoint + Azure = Better TogetherSharePoint + Azure = Better Together
SharePoint + Azure = Better Together
 
Federated Authentication in SharePoint 2010
Federated Authentication in SharePoint 2010Federated Authentication in SharePoint 2010
Federated Authentication in SharePoint 2010
 
Using BCS to integrate Azure Services with SharePoint 2010
Using BCS to integrate Azure Services with SharePoint 2010Using BCS to integrate Azure Services with SharePoint 2010
Using BCS to integrate Azure Services with SharePoint 2010
 
LINQ to SharePoint
LINQ to SharePointLINQ to SharePoint
LINQ to SharePoint
 
Solução de Negócio baseadas em Office 2010 e SharePoint 2010
Solução de Negócio baseadas em Office 2010 e SharePoint 2010Solução de Negócio baseadas em Office 2010 e SharePoint 2010
Solução de Negócio baseadas em Office 2010 e SharePoint 2010
 
SharePoint Deployment
SharePoint DeploymentSharePoint Deployment
SharePoint Deployment
 
Microsoft Planner Deep Dive
Microsoft Planner Deep DiveMicrosoft Planner Deep Dive
Microsoft Planner Deep Dive
 
Office 365 Groups Deep Dive
Office 365 Groups Deep DiveOffice 365 Groups Deep Dive
Office 365 Groups Deep Dive
 
Content Recommendation with SharePoint Search
Content Recommendation with SharePoint SearchContent Recommendation with SharePoint Search
Content Recommendation with SharePoint Search
 
Building Solutions with Office Graph
Building Solutions with Office GraphBuilding Solutions with Office Graph
Building Solutions with Office Graph
 
Working with AngularJS
Working with AngularJSWorking with AngularJS
Working with AngularJS
 

Kürzlich hochgeladen

Introduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptxIntroduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptxIntelliSource Technologies
 
online pdf editor software solutions.pdf
online pdf editor software solutions.pdfonline pdf editor software solutions.pdf
online pdf editor software solutions.pdfMeon Technology
 
Enterprise Document Management System - Qualityze Inc
Enterprise Document Management System - Qualityze IncEnterprise Document Management System - Qualityze Inc
Enterprise Document Management System - Qualityze Incrobinwilliams8624
 
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/MLBig Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/MLAlluxio, Inc.
 
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...Jaydeep Chhasatia
 
Growing Oxen: channel operators and retries
Growing Oxen: channel operators and retriesGrowing Oxen: channel operators and retries
Growing Oxen: channel operators and retriesSoftwareMill
 
Your Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software TeamsYour Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software TeamsJaydeep Chhasatia
 
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...OnePlan Solutions
 
Webinar_050417_LeClair12345666777889.ppt
Webinar_050417_LeClair12345666777889.pptWebinar_050417_LeClair12345666777889.ppt
Webinar_050417_LeClair12345666777889.pptkinjal48
 
Streamlining Your Application Builds with Cloud Native Buildpacks
Streamlining Your Application Builds  with Cloud Native BuildpacksStreamlining Your Application Builds  with Cloud Native Buildpacks
Streamlining Your Application Builds with Cloud Native BuildpacksVish Abrams
 
Kawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in TrivandrumKawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in TrivandrumKawika Technologies
 
Generative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-CouncilGenerative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-CouncilVICTOR MAESTRE RAMIREZ
 
IA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeIA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeNeo4j
 
Cybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadCybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadIvo Andreev
 
How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?AmeliaSmith90
 
eAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionseAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionsNirav Modi
 
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine HarmonyLeveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmonyelliciumsolutionspun
 
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdfARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdfTobias Schneck
 
Why Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdfWhy Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdfBrain Inventory
 

Kürzlich hochgeladen (20)

Introduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptxIntroduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptx
 
online pdf editor software solutions.pdf
online pdf editor software solutions.pdfonline pdf editor software solutions.pdf
online pdf editor software solutions.pdf
 
Enterprise Document Management System - Qualityze Inc
Enterprise Document Management System - Qualityze IncEnterprise Document Management System - Qualityze Inc
Enterprise Document Management System - Qualityze Inc
 
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/MLBig Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
 
Salesforce AI Associate Certification.pptx
Salesforce AI Associate Certification.pptxSalesforce AI Associate Certification.pptx
Salesforce AI Associate Certification.pptx
 
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
 
Growing Oxen: channel operators and retries
Growing Oxen: channel operators and retriesGrowing Oxen: channel operators and retries
Growing Oxen: channel operators and retries
 
Your Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software TeamsYour Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
 
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
 
Webinar_050417_LeClair12345666777889.ppt
Webinar_050417_LeClair12345666777889.pptWebinar_050417_LeClair12345666777889.ppt
Webinar_050417_LeClair12345666777889.ppt
 
Streamlining Your Application Builds with Cloud Native Buildpacks
Streamlining Your Application Builds  with Cloud Native BuildpacksStreamlining Your Application Builds  with Cloud Native Buildpacks
Streamlining Your Application Builds with Cloud Native Buildpacks
 
Kawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in TrivandrumKawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in Trivandrum
 
Generative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-CouncilGenerative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-Council
 
IA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeIA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG time
 
Cybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadCybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and Bad
 
How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?
 
eAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionseAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspections
 
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine HarmonyLeveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
 
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdfARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
 
Why Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdfWhy Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdf
 

Office Dev Day 2018 - Extending Microsoft Teams

  • 2. IT Deputy Director | Business Technology Office Servers and Services MVP https://andrevala.com /in/andrevala @atomicvee andre.vala@gmail.com
  • 3. CONNECTORS 4 BOTS 3 TABS 2 ACTIVITY FEED 5 MESSAGING EXTENSIONS 6 APPS FOR TEAMS 1 PACKAGING & DEPLOYMENT MICROSOFT GRAPH 7 9 RESOURCES & LABS 8 CONCLUSION & ROADMAP
  • 5. 1 APPS FOR TEAMS Enable teams to make decisions and take action faster Reduce context switching on important tasks Create opportunities for collaboration around external content Increased Productivity
  • 6. 1 APPS FOR TEAMS • Access sales information • Time and absence reporting • Travel and expenses • Lookup benefits and HR • IT Helpdesk and Support Create enterprise-specific solutions for your end users by integrating with your existing internal services and processes Examples
  • 7. 1 APPS FOR TEAMS Tabs Surface rich content within Teams Bots Help users get tasks done in conversations Connectors Post rich updates to channels Activity Feed Engage users via feed notifications Messaging Extensions Allow users to query and share rich cards in conversations Actionable Messages Add rich interaction to your connector cards Microsoft Graph Build in intelligence and connect to data that drives productivity
  • 8. 1 APPS FOR TEAMS Component Personal Channel Team Tabs Yes Yes No Bots Yes No Yes Connectors No Yes No Activity Feed Yes No No Messaging Extensions Yes No Yes
  • 9. 1 APPS FOR TEAMS PACKAGE MANIFEST.JSON COLOR ICON OUTLINE ICON App manifest file in JSON format. Must be placed at the top level of the package. Color icon used in app galleries, bots, flyouts and so on. Must be 96x96 pixels. Outline icon used in the app bar, pinned composed extensions and chiclets. Must be 20x20 pixels, white with a transparent background. ZIP file
  • 10. 1 APPS FOR TEAMS { "$schema": "https://statics.teams.microsoft.com/sdk/v1.2/manifest/MicrosoftTeams.schema.json", "manifestVersion": "1.2", "version": "1.0.0", "id": "%MICROSOFT-APP-ID%", "packageName": "com.example.myapp", "developer": { "name": "Publisher Name", "websiteUrl": "https://website.com/", "privacyUrl": "https://website.com/privacy", "termsOfUseUrl": "https://website.com/app-tos" }, [...] Developer company information
  • 11. 1 APPS FOR TEAMS [...] "name": { "short": "Name of your app (max 30 chars)", "full": "Full name of app (if greater than 30)" }, "description": { "short": "Short description of your app (max 80 chars)", "full": "Full description of your app (max 4000 chars)" }, "icons": { "outline": "%FILENAME-20x20px%", "color": "%FILENAME-96x96px" }, "accentColor": "%HEX-COLOR%", [...] App name Relative path to application icons App description
  • 12. 1 APPS FOR TEAMS [...] "configurableTabs": [...], "staticTabs": [...], "bots": [...], "connectors": [...], "composeExtensions": [...], "permissions": [ "identity", "messageTeamMembers" ], "validDomains": [ "*.taburl.com", "*.otherdomains.com" ] } App package components (optional) App permissions (optional) Valid domains from where contents can be loaded (required only for tabs)
  • 13. 1 APPS FOR TEAMS In-App Gallery Office Store Sideloading Quality control and validation by Microsoft Yes Yes No Availability Searchable and deployable to any Team globally Searchable and deployable to any Team globally Available only to the Team where it was sideloaded Searchable in the Office Store No Yes No Searchable in the In-App Gallery Yes Yes No Required permissions Team owner Team owner Team owner for sideloading, but this option must be enabled first by a tenant admin
  • 15. • Web pages presented in Teams through an iframe • Can be used for team productivity, in channels, or for personal productivity, as an app flyout • Leverages Microsoft Teams Tab javascript library for context and interactivity • Supports deep links to native apps 2 TABS Example: benefits dashboard
  • 16. 2 TABS Configuration Page Page used to add or update the tab and set the content page Content Page The primary page displayed in the tab Removal Page Optional page displayed when a tab is removed
  • 17. 2 TABS • Must use HTTPS • Content must work on an iframe • Include Microsoft Teams Tab library as a script source <script src="https://statics.teams.microsoft.com/sdk/v1.0/js/MicrosoftTeams.min.js" /> • Once the page has successfully loaded, call microsoftTeams.initialize() to the display it • All domains for pages displayed in tabs must be listed in the manifest’s validDomains
  • 18. 2 TABS Channel scope (configurable tab) • Tab added to a channel • Can be configured when added to the channel • Accessible by all members of the team Personal scope (static tab) • Allows for a private interaction with the user • Accessible through the app bar • Cannot be added or removed
  • 20. 2 TABS • Put information at the fingertips of users • Leverage collaborative nature of the product • Minimize context switching – easy to find what users need • Focus on content that makes sense in the solution • Minimize extra chrome – focus on what you want the user to do • Design for bite-size tasks – power users should use your full SaaS
  • 21. 2 TABS "configurableTabs": [ { "configurationUrl": "https://taburl.com/config.html", "canUpdateConfiguration": true, "scopes": [ "team" ] } ], "staticTabs": [ { "entityId": "idForPage", "name": "Display name of tab", "contentUrl": "https://teams-specific-webview.website.com", "websiteUrl": "http://fullwebsite.website.com", "scopes": [ "personal" ] } ],
  • 23. • Bots make it easy for users to interact with your app in team conversations or 1:1 • Built using Microsoft Bot Framework • Complete tasks via basic commands, menu or natural language 3 BOTS Example: time and absence entry and reporting
  • 24. 1. Register the bot with the Microsoft Bot Framework 2. Build the bot using the Microsoft Teams .NET SDK, Node.js SDK or Microsoft Bot Connector API 3. Test it using the Bot Framework Emulator 4. Deploy it to a cloud service 5. Create an app package 6. Sideload it or publish the package to the store 3 BOTS
  • 25. Extensions to the Bot Builder SDK that allow Teams-specific operations • Fetch a Team’s list of channels • Fetch profile info about Team members • Fetch tenant ID from an incoming message to the bot • Create a 1:1 chat with a user • Mention a specific user • Consume various events such as channel-created, team-renamed • Accept messages only from specific tenants • Write Messaging Extensions 3 BOTS
  • 26. 3 BOTS Format User > Bot Bot > User Notes Rich Text Yes Yes Pictures Yes Yes Max 1024x1024 and 1MB (PNG, JPG or GIF) Cards No Yes Hero, Thumbnail and Office 365 Connector cards Emojis No Yes Via UTF-16
  • 28. • Whether used as a CLI for your SaaS, or to manage workflows, create the experience that makes the most sense for your end users • Use context to provide the appropriate functionality in channel vs 1:1 chat • Leverage the Bot Framework and Microsoft Teams SDKs to easily consume APIs • Use the input menu to keep your end users “on rails” 3 BOTS
  • 29. 3 BOTS "bots": [ { "botId": "%MICROSOFT-APP-ID-REGISTERED-WITH-BOT-FRAMEWORK%", "needsChannelSelector": "true", "isNotificationOnly": "false", "scopes": [ "team", "personal" ], "commandLists": [ { "scopes": ["team"], "commands": [ { "title": "Command 1", "description": "Description of Command 1" }, { "title": "Command N", "description": "Description of Command N" } ] } ] } ],
  • 31. • Leverages incoming webhook API • Send activities into Teams (or Groups) • Push rich interactive cards into channels for user quick actions • Supported in Outlook, Teams and Yammer • Build your own connector 4 CONNECTORS & ACTONABLE MESSAGES Example: incident notifications
  • 32. 1. Register the connector (https://outlook.office.com/connectors/publish) 2. Create a landing page for users with a Connect button 3. Create a callback page to store the webhook URL 4. Deploy it to a cloud service 5. Create an app package 6. Sideload it or publish the package to the store 7. Install the connector to a channel 4 CONNECTORS & ACTONABLE MESSAGES
  • 33. 1. Create an actionable message card 2. Create a request with the card definition (JSON) as payload 3. POST the request to the webhook URL 4 CONNECTORS & ACTONABLE MESSAGES
  • 34. 4 CONNECTORS & ACTONABLE MESSAGES Card Playground https://messagecardplayground.azurewebsites.net/ section card title section’s activityImage section‘s activityTitle section‘s activitySubtitle section‘s facts section‘s text section‘s potentialActions MAX 10 MAX 5
  • 36. 4 CONNECTORS & ACTONABLE MESSAGES "connectors": [ { "connectorId": "GUID-FROM-CONNECTOR-DEV-PORTAL", "scopes": [ "team"] } ],
  • 38. • Notify users personally via the activity feed • Same API as sending bot messages • Deep links straight into tabs 5 ACTIVITY FEED Example: new approval request
  • 39. 5 ACTIVITY FEED "bots": [ { "botId": "%MICROSOFT-APP-ID-REGISTERED-WITH-BOT-FRAMEWORK%", "needsChannelSelector": "true", "isNotificationOnly": "true", "scopes": [ "team", "personal" ], "commandLists": [ { "scopes": ["team"], "commands": [ { "title": "Command 1", "description": "Description of Command 1" }, { "title": "Command N", "description": "Description of Command N" } ] } ] } ],
  • 41. • Personalize Teams Compose box with your App & Services content • Users can query and insert your app content into conversations 6 MESSAGING EXTENSIONS Example: lookup and share a company resource
  • 42. • Share content that makes sense in conversations • Take advantage of the rich card types • Optimize search results to keep it snappy and responsive • Leverage Teams SDKs to easily add your core bot offering 6 MESSAGING EXTENSIONS
  • 43. 6 MESSAGING EXTENSIONS "composeExtensions": [ { "botId": "%MICROSOFT-APP-ID-REGISTERED-WITH-BOT-FRAMEWORK%", "scopes": ["team", "personal"], "commands": [ { "id": "exampleCmd", "title": "Example Command", "description": "Command Description e.g. Search on the web", "initialRun": "true", "parameters": [ { "name": "keyword", "title": "Search keywords", "description": "Enter the keywords to search for" } ] } ] } ],
  • 45. • Integrate with the Microsoft Graph in your Teams app • Leverage existing Graph APIs like emails, documents, and calendar • Teams-specific APIs available in Beta with more coming soon 7 MICROSOFT GRAPH Create/Get/Update Team Create/Get/List Channels Create Chat Thread Get Chat Messages
  • 47. 8 CONCLUSIONS & ROADMAP Your App Page Page Bot Connector Microsoft Teams Teams Team Channel Conversation Tab Personal Tab Channel Conversation Tab Tab Chat 1:1 Activity Feed Microsoft Bot Framework STATIC TAB NOTIFICATION CONFIGURABLE TAB ACTIONABLE MESSAGE TEAM CHAT MESSAGING EXTENSION CHAT 1:1 MESSAGING EXTENSION
  • 48. Command bar Lobby support Transfer to PSTN call Anonymous join call Safe call transfer 8 CONCLUSIONS & ROADMAP Federated chat between Teams and Skype for Business Enable call quality analytics Message retention policies Import contacts from Skype for Business Give and take control in sharing Share/mute chat Unified presence Support for contact groups Team templates Out of office support Organizational auto-attendant Forward group Do not disturb breakthrough Call queues Whiteboard and meeting notes PowerPoint load and share Escalate 1:1 chat/call to multi-party Large meeting support (250 participants) Cloud recording Broadcast meetings Calling support between Teams and Skype consumer Group call pickup Location based routing
  • 51. Create a tab for Microsoft Teams https://github.com/OfficeDev/TrainingContent/blob/master/Teams/01%20Tabs/Lab.md Prerequisites To complete the step-by-step instructions in this lab, you will need: • Office 365 Tenant and Microsoft Azure subscription • Microsoft Teams must be turned on in the tenant • Microsoft Teams must be installed • Visual Studio 2017 with ASP.NET and web application components 9
  • 52. Create Office 365 Connectors for Microsoft Teams https://github.com/OfficeDev/TrainingContent/blob/master/Teams/02%20Connectors/Lab.md Prerequisites To complete the step-by-step instructions in this lab, you will need: • Office 365 Tenant and Microsoft Azure subscription • Microsoft Teams must be turned on in the tenant • Microsoft Teams must be installed • Curl must be installed • Visual Studio 2017 with ASP.NET and web application components 9
  • 53. Create a Bot in Microsoft Teams https://github.com/OfficeDev/TrainingContent/blob/master/Teams/03%20Bots/Lab.md Prerequisites To complete the step-by-step instructions in this lab, you will need: • Office 365 Tenant and Microsoft Azure subscription • Visual Studio 2017 and bot templates installed • Microsoft Teams must be turned on in the tenant • Microsoft Teams must be installed 9
  • 54. Creating Microsoft Teams Apps (by Paul Schaeflein) https://github.com/pschaeflein/hol-microsoft-teams This hands-on lab is composed of several modules which will help you learn how to develop apps for Teams, leveraging its many extensibility points. It covers the following topics: • Module 1: Create and Test a Basic Teams App using Yeoman • Module 2: Call Microsoft Graph inside a Tab • Module 3: Create a basic Teams bot • Module 4: Add Microsoft Teams functionality to a bot • Module 5: Creating Compose Extensions • Module 6: Connectors & webhooks Prerequisites To complete this lab, you will need to prepare your environment by following the instructions here: https://github.com/pschaeflein/hol-microsoft-teams/blob/master/Prerequisites.md 9
  • 55. https://techcommunity.microsoft.com @OfficeDev St ar tSt ar t http://dev.office.com/podcasts http://sharepoint.uservoi ce.com/ Stack overflow [sharepoint] http://aka.ms/O365DevShow SharePoint Patterns and Practices http://aka.ms/sppnp