Enhancing User Productivity with Outlook Actionable Messages
Explore how to develop and deploy Outlook Actionable Messages to optimize user productivity. Join Julie Turner, a seasoned professional developer, in learning about connectors, message creation, API endpoints, security, and more, to create targeted and interactive messages within Outlook. Get a hands-on demo of the Message Card Playground and discover how to effectively send actionable messages using adaptive card formats.
Download Presentation
![](/assets/img/so-down.gif)
Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
E N D
Presentation Transcript
Develop and deploy Outlook Actionable Messages for optimize user productivity Julie Turner
Are you in the right spot? Developer who s done full stack dev and is familiar with building WebAPI. Or Interested in the technology and are looking for an understanding of what s possible and how much effort it might take.
Julie Turner Principal Architect Professional developer since 1995 Working with SharePoint since 2007 Microsoft MVP, Office Servers and Services http://julieturner.net https://www.linkedin.com/in/juliemturner @jfj1997 http://bit.ly/julieturnerslides https://github.com/juliemturner/Public-Samples
Agenda What are Outlook Actionable Messages Connectors vs Messages Overview of the Flow Scenario / Demo Creating the Message Creating the Action API Endpoints Security
Connectors Uses web hooks to broadcast messages to all subscribers
Messages Targeted to a particular recipient
Creating the Message New Adaptive Card format (as of Build 2018) Currently only supported in Outlook online? Requires change to HTML header/script tag in Body of email <script type='application/ld+json > <script type='application/adaptivecard+json'> Old format still supported Use the Message Card Playground to test your work
Demo Message Card Playground
Sending the message Create an email message Insert adaptive card json into script tag in header Put message to display if client doesn t support Actionable Messages in body <html> <head> <meta http-equiv='Content-Type' content='text/html; charset=utf-8 > <script type='application/adaptivecard+json >CARD BODY</script> </head> <body>MESSAGE BODY</body> </html>
Register your service Actionable Message Developer Dashboard Test actionable messages from your service to your own mail box Publish actionable message from your service so any email user within your organization Publish actionable messages from your service so any email user in Office 365 using your service can receive these specially formatted messages
Security Limited Purpose Token Act as correlation IDs (for e.g. a hashed token using the userID, requestID, and salt). Keep track of the action URLs generated and sent out and match it with action requests coming in. Also can be used to protect from replay attacks. https://contoso.com/approve ?requestId=abc &limitedPurposeToken=0a3ee52b-a8cc-4729-adc4-7d32ade720f2
Demo Sending the Message
Responding to Actions Create REST endpoint to accept call and perform desired action General idea is one REST endpoint per card Action Links do not require a REST call Use any technology that works for your solution WebAPI - Serverless Flow MVC app hosted on a Virtual Machine (Azure, Amazon, Google, etc) MVC web app hosted on premises (appropriate ports available)
Security Bearer Tokens Validate that the token has been issued by Microsoft for the specified target ( aud claim in token) Verify that the sender and action performer are who we expect. The sender is the identity of the entity that initially sent the Actionable Message The action performer is the identity of the user who actually took the action ( sub claim in token)
Demo Responding to Actions
Updating the Card Include the JSON payload of the new card in the body of the response to the HTTP POST request it received. Add the CARD-UPDATE-IN-BODY: true HTTP header to the response Lets the receiving client know that it should parse the response body and extract a new card Avoids unnecessary processing when no refresh card is included
Thank You Resources Actionable Messages Actionable messages in Outlook, Office 365 Groups, and Microsoft Teams Designing Outlook Actionable Message cards with the Adaptive Card format Message Card Playground Register your service with the actionable email developer dashboard Post an actionable message card to an Office 365 group MORE The Slides: http://bit.ly/julieturnerslides The Blog Article(s): http://julieturner.net The GitHub Repo: https://github.com/juliemturner/Public-Samples