Agenda for the month included:
-What’s new for developers
-Why build LoB apps on Microsoft Teams
-What problems can you solve?
-Teams app building blocks
-LoB App demo
-Getting started resources
-What’s coming for developers
-Q&A
2. • https://aka.ms/microsoftteamscommunitycall
• Monthly cadence
• Next call: March 19th, 2019 at 8:00am PST
• What’s new & how you can use it
• Meet the product teams behind Microsoft Teams Developer
Platform
• Technical deep dives
• Q&A
5. • Stability & Performances fixes
• Backend work to enable amazing things I can’t talk about
• Deep links can trigger chat actions & scheduling actions
7. Effortless discovery
Each employee already has access to Microsoft Teams as the primary collaboration and communication platform. It’s intuitive to
leverage an existing platform to float your app / service. Bring your service to where your users already are
Rich App Platform
Microsoft Teams app platform supports multiple ways of interacting with your users already and more are coming up every quarter
so that you can build immersive experiences on an enterprise-grade app platform!
Conversations come free!
Microsoft Teams is built for collaboration through conversations which means your app / service does not need to build a
conversation layer of its own – just plug into ours
Build once, use everywhere
Reduce design, development and service overheads by building a Microsoft Teams app once and enable users to access it across
Microsoft Teams clients on Windows Desktop, Mac, Web, Android and iOS platform
Choose the audience for your app
Install apps at the organization, group, channel, or personal level. Admins can push, or users can pull.
Why build line of business apps on Microsoft Teams platform?
8. HUB EXPERIENCE
Enable your teams to make decisions and
take action faster
Reduce context switching on important tasks
Create opportunities for collaboration
around external content
1st Party Apps 3rd Party Apps Line of Business Apps
10. Why, for your users?
- More discoverable
- Cross platform
- Reduce context switching
Why, for you?
- Low risk
- Drive Teams adoption
- Learn the platform with a well-
defined scope
Examples
• Ticketing systems
• Reserving resources
• Requesting approval
• Webhooks for notifications
Really, most any existing Line of
Business application you’re using
11. Facilities management
Business needs
Our team generates thousands of monthly facilities requests.
Scheduling and coordinating the requests wasn’t easy as
booking information was delayed and employees had too
many options in how they could submit the request.
Solution
A simple bot gave our users quick access to
reserve the facilities they needed. This helped
users pick the most appropriate room for their
event and gave them the ability to create other
non-frequent requests as well.
Outcome
Users can create facilities tickets in a quick and
efficient manner for the top facilities use cases
like office temperature adjustment, furniture
requests, conference room issues, light bulb
replacement etc.
12. Schedule service
Create tickets for office
management
Submit tickets
Submit requests for things
like general cleaning
Get notified
Receive notifications about
your service requests
Facilities management
13. What kinds of scenarios?
- Highly collaborative, targeted
audience
- Advanced bot scenarios
- Ad-hoc group and/or discussion
creation based on external
stimulus
Examples
- Discuss items from systems with
people who don’t have access to
those systems
- Create an incident management
discussion
14. Livesite Incident management
Business needs
In the event of an outage or service delay,
our team needed a way to quickly pull data logs
to plan next steps. Manually sourcing and
bringing everything together wasted time that
was needed to solve the issue.
Solution
When an outage or other major event happens
that requires intervention from our engineers, a
bot triggers a meeting to start right away. The
engineers on duty can collaborate and publish
the relevant logs.
Outcome
Service delays are solved more quickly, allowing
our team to have less downtime. Engineers can
track ticket escalations and get to the right files
at the right time.
15.
16. “Welcome to Contoso Incident Management Bot”
Press “1” to listen to the Incident details
Press “2” to join the Incident meeting
Press “9” to reject this call and assign to next available agent
21. Microsoft Teams doesn’t host your app. You deploy a manifest to Teams that
contains pointers and parameters to tell Teams where your app is and how to
talk to it.
Use the Teams app called App Studio to guide you throw making a manifest.
22. Platform Interfaces
- Tabs
- Personal
- Group
- Channel
- Bots
- Conversations (1-1 or group)
- Messaging Extensions
- Outgoing Webhooks
- Connectors
Interactive communication tools
- Cards
- Task Modules
- Deep Links
- Activity Feed
25. - Fancy APIs that facilitate
communication flow from
the Teams client to some
other system and back
- Interact with your users
through conversations,
message extensions or
outgoing webhooks
26. - Create an endpoint that
can use to post
information to Teams
- Configure which channels
listen to posts on the
endpoint
- Actionable messages allow
you to your users to send
information back (JSON
payload in an HTTP Post),
or open an URI
28. - Primary method of
formatting information for
presentation to your users
- Come in lots of flavors
- Adaptive
- Message
- O365 Connector
- Thumbnail
- And more…
29. - Modal popup experience
useful for collecting
information or displaying
rich content (streaming
video, Power BI
dashboards)
30. - Allow you to create a context aware link to an
entity or an action
- Link to a specific item within a tab or conversation
- Initiate a chat
- Start scheduling a meeting
https://teams.microsoft.com/l/chat/0/0?users=<user1>,<user2>,...&topicName=<chat
name>&message=<precanned text>
31. - Your user’s “inbox” that
summarizes all activity
across Teams
- Your app can post cards
with deep links for
important notifications
32. Choose one or more
platform capabilities
from our offerings to
suit your app
scenarios
Build immersive apps
by implementing
multiple platform
capabilities in your app
Implement bots to
leverage conversations
for quick workflows
and queries
Notify users 1:1 or in
channels through bot
notifications in the
Activity Feed
Leverage new
adaptive cards to
surface rich,
actionable UI across
all clients
Build intelligent
apps using Office
365 knowledge
available through
Graph APIs
Bake in-the-
moment actions
right inside your
app to reduce
context switching
Adopt a refined
way of querying
content & sharing
information from
your services
Putting it all together
Navigate the user
flow from one app
capability to
another using deep
links
Leverage existing
SharePoint portals or
Websites by bringing
them in as tabs
33.
34. • Teams Bot Builder SDK v4 for Node preview release
• Mobile parity for apps including
• Messaging Extensions
• Channel Tabs in app
• Authentication in app
• Task modules
• Request access to device functionality (camera, microphone, location)
• App pinning
• App localization support
35. More about today’s topics:
LoB App Samples:
https://aka.ms/teamslobsamples
Teams app developer community
https://aka.ms/msteamsdev
Questions?
Reach out to us on StackOverflow or raise an Issue on our
Developer Documentation library!
36.
37. Booking shuttles
Business needs
Our employees use Microsoft Shuttle service to
travel across campus daily for business meetings.
Long shuttle wait times and delayed phone calls
resulted in employees spending more time
coordinating rides than working.
Solution
Creating a travel app lets employees book
shuttles on the go, no matter where they are. If
an employee needed to confirm a reservation or
to change an already reserved trip, they could do
so with the click of a button.
Outcome
Employees spend less time coordinating shuttle
service, so they can focus on their job at hand.
Shuttle confirmation notifications and updates
are immediately sent to the user, allowing them
to plan for delays as needed.
Shuttle assets
38. Browse trips
Browse recent trips and
bookings with Tabs
Reserve resources
Reserve the right resource
when you need it
Take action
Coordinate and confirm
shuttle arrival times
Booking shuttles
39. Managing workflows
Business needs
Our User Voice feedback tool is filled with
thousands of comments a day that need to be
directed to the right people at the right time. We
needed a way to manage the traffic and note
edits to the backlog.
Solution
Creating a personal dashboard view allowed
feedback managers to route work to the right
teams, get notified of trending new issues,
escalate where appropriate and publicly
announce new feature releases.
Outcome
Feedback managers can notify, coordinate, and
share specific issues within one platform,
eliminating the need for redundant meetings
and ensuring that we can share and respond to
customer comments in real-time.
40. Collaborate
Collaborate in a tab with
custom workflows
Notify
Get notified in a team
or 1:1
Managing workflows
Share
Shares issues and updates
with team members
41. Cross platform presence – Teams where you want it
Desktop Mobile Browsers
iPhone Android
iPad
OS X 10.10+
Windows 7+
Edge
Chrome
Firefox
Editor's Notes
What do you mean by lob apps?
Here’s an example of how we used MS Teams for facilities management.
[BUSINESS NEEDS]
It was hard for employees to book facilities requests because booking information was delayed and uncoordinated.
[SOLUTION]
Creating a bot to engage with our users made it easy for them to reserve the right facilities they needed and to coordinate other requests as well.
[OUTCOME]
Users can create facilities request tickets in a quick and efficient manner and reservations are locked in real-time.
Features include:
Schedule service
Submit service requests
Get notifications about your request
Pull in a company record from your CRM, discuss with folks w/o a CRM license
We do this with GitHub Issues and Stack Overflow questions
Project team creation and setup
Incident setup
Here’s an example of how we used MS Teams for incident management.
[BUSINESS NEEDS]
When service delays or outages occur, our team has to be able to quickly pull data logs and plan next steps. The existing setup made it so users had to manually search data.
[SOLUTION]
In the occurrence of a service delay, a bot automatically triggers a meeting for our engineers on duty to collaborate and publish the relevant logs to solve the issue.
[OUTCOME]
Our team can fix service delays and outages more quickly, leading to less downtime.
adsf
Land the point about why IT developers should be interested in building apps for their businesses. Give some examples
Here’s an example of how we used MS Teams to book shuttles.
[BUSINESS NEEDS]
Booking shuttle service on our campus was difficult due to long wait times and delayed phone calls to schedule service. Employees spent more time trying to coordinate service than working.
[SOLUTION]
We created a travel app that lets employees book shuttle service on the go. Users can confirm or change an existing trip reservation with the click of a button.
[OUTCOME]
Employees are able to focus on their job at hand, rather than spending time trying to coordinate shuttles to travel across campus.
Features include:
Browsing recent trips and booking with Tabs
Reserving the right resource when needed
Coordinating and confirming shuttle arrival times
Here’s an example of how we used MS Teams to manage our workflows.
[BUSINESS NEEDS]
Heavy user traffic in our user voice feedback tool made it challenging for our team to get the right messages to the right people. We needed a way to manage the traffic and escalate issues where appropriate.
[SOLUTION]
We created a personal dashboard view that let feedback managers coordinate traffic, identify service issues, escalate when appropriate and announce new feature releases all within one platform.
[OUTCOME]
Feedback managers are able to better manage the influx of user comments and get valuable time back by reducing the need of redundant meetings to share information.
Features include:
Collaboration in one tab with custom workflows
1:1 or team notifications
Finally, Microsoft Teams provides industry leading security and compliance capabilities and rich management capabilities.
With Microsoft Teams, customers benefit from the Office 365 hyper-scale, enterprise-grade cloud.
[MAIN POINT TO LAND]
From Day 1, the requirement has been for Teams to provide you with the same Office 365 capabilities that you’re used to and to build security, privacy and trust directly into the service.
You can manage and monitor all features in one centralized portal:
Data encryption at all times, at-rest and in-transit.
Customer data at rest remains in region
Ability to have local data residency for core customer data at rest, plus failover and disaster recovery (see data residency slide in the appendix for details)
Human back-up via on-call support engineers standing by 24×7
Customer content is never accessible in logs or telemetry
Multi-factor authentication for enhanced identity protection.
Secure guest access with AAD managed guest accounts
A big privacy topic for all our European customers is of course GDPR – the Global Data Protection Regulation. We will adhere to this ahead of the May 2018 deadline
Microsoft Teams supports key standards including SOC 1, SOC 2, EU Model Clauses, HIPPA, and more. Since preview, we’ve added mobile management with Microsoft Intune and new features for compliance and litigation support, including audit log search, eDiscovery and legal hold for channels, chats and files.
The Microsoft Teams admin center [coming early 2018] provides you with a single coherent admin experience where you can manage all aspects of Microsoft Teams including users, settings, and analytics.
Teams provides enterprise manageability to configure and set policies at a per-user level and manage trusted apps for employees and the organization.
PSTN connectivity in Office 365 will give you the option to connect existing on-premises investments in the future.
Advanced call management controls include call routing, auto attendant, call queues, and reporting.
While security and compliance are critical, our responsibility goes beyond this. Our mission talks about empowering every person to achieve more. With that in mind, we’re focused on building an inclusive experience, including support for those who use screen readers, high contrast, and keyboard-only navigation, to enable the collective brainpower and potential of everyone.