Cloud Roadshow
Advanced Office add-in
Development with Outlook
Agenda
• Intro to Mail Add-ins
• Contextual Activation and Rules
• Office.js API Outlook
• Compose Add-ins
• Outlook Add-in Vision
Office Add-ins
• Built with web standards <?xml version="1.0" encoding="UTF-8"?>
Office.js provides interop
<OfficeApp xsi:type="MailApp">
• <Version>1.0.0.0</Version>
<ProviderName>Salesforce.com</ProviderName>
• Hosted centrally <DefaultLocale>en-US</DefaultLocale>
<DisplayName DefaultValue=“Salesforce" />
<Capabilities>
Almost zero client footprint
Office.js
• <Capability Name="Mailbox" />
</Capabilities> Browser Control
Runs where Office runs
<DesktopSettings>
• or iFrame
<SourceLocation DefaultValue=“https://salesforce.com/office" />
Web Server With HTML5,
<RequestedHeight>300</RequestedHeight>
Discoverable marketplace
</DesktopSettings>
• JavaScript, CSS
<Permissions>ReadItem</Permissions>
<Rule xsi:type="RuleCollection" Mode="Or">
<Rule xsi:type="ItemIs" ItemType="Message"/>
<Rule xsi:type="ItemIs" ItemType="Appointment"/>
</Rule>
</OfficeApp>
A new way to build extensions for Office
Contextual Mail Add-in
Add-in launched contextually from a mail message or appointment
Outlook and Outlook Web Access (OWA)
Task Pane Add-in
Add-in that runs beside a document/mail with read/write access
Word, Excel, PowerPoint, Project, Outlook
Content Add-in
Add-in that runs within a document content with read/write access
Excel, PowerPoint, Access
Add-in Command
Command in the Office UI to launch add-in or perform UI-less operation
Outlook, Outlook Web Access (OWA)
Add-in Name
Mail Add-in Body
Context trigger
Exchange Server
• Hosts mailboxes for users
• Host Mail Add-in Manifests
Web Server
• Hosts HTML, CSS and
JavaScript
<Rule xsi:type=“ItemIs” ItemType=“Message”>
<Rule xsi:type=“ItemHasKnownEntity” EntityType=“Address” />
Entity type Recognition condition
Address United States street addresses
1 Microsoft Way, Redmond, WA 07722
EmailAddress Any SMTP email address
MeetingSuggestion A reference to an event or meeting
Let’s meet next Tuesday for lunch.
Contact A personal name related to other entities
Steve Ballmer, Microsoft, 1 Microsoft Way, Redmond, WA 07722
PhoneNumber United States telephone numbers
(507) 555-1212
TaskSuggestion Actionable sentences in an email
Please install Office 2013 on my computer.
Url A file name or web address
Item can be
cast to one of
four different
types
{
"aud" : "https://mailhost.contoso.com/IdentityTest.html",
"iss" : "
[email protected]",
"nbf" : "1331579055",
"exp" : "1331607855",
"appctxsender":"
[email protected]",
"isbrowserhostedapp":"true",
"appctx" : {
"msexchuid" : "
[email protected]",
"version" : "ExIdTok.V1“,
"amurl" : "https://mailhost.contoso.com:443/autodiscover/metadata/json/1"
}
}
Use core JS APIs User Identity Token
O365 API requests
Read/Write recipients Settings
Read/Write subject User Profile
Get/set/add recipients or
attendees
Read/Write recipients
Read/Write subject Get/set the subject
Add file or item attachments
Read/Write recipients
Read/Write subject
Add attachments
Prepend to the body
Read/Write recipients Overwrite current selection in
Read/Write subject body
Add attachments
Write to the body
Get/set start or end time
Get/set location
Read/Write recipients Get/set/add attendees
Read/Write subject
Add attachments
Write to the body
R/W appointment properties
Saved on the sent item
Read/Write recipients Can be used to mark a
Read/Write subject composed message (eg
“Tracked” in CRM)
Add attachments
Write to the body
R/W appointment properties
Custom item properties
30
Summary
• Intro to Mail Add-ins
• Contextual Activation and Rules
• Office.js API Outlook
• Compose Add-ins
• Outlook Add-in Vision
Getting Started with Office add-ins
Office add-in Code Samples
Office add-in Training videos & hands on labs
Office add-in Snack videos
Office add-in documentation
http://dev.office.com/devprogram
St ar t
https://www.yammer.com/itpronetwork @OfficeDev
http://aka.ms/O365DevShow
http://dev.office.com/podcasts
http://officespdev.userv
oice.com/
©2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Office, Azure, System Center, Dynamics and other product names are or may be registered trademarks and/or trademarks in the
U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft
must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after
the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.