>> Hello everybody. My name is Owen,
and I'm excited to talk to you about
all the new APIs that we've
launched from the Outlook side inside Microsoft Graph.
Let's get started by looking
at what we have new on the Calendar side.
As you know, Calendars are
an integral portion of Outlook and
a very important part of how
people organize their work and personal lives.
With these two new APIs,
this year you're going to have
access to shared calendars.
So this includes calendars that have
been specifically shared with you,
calendars to which you have delegate access which
is very common in enterprises,
as well as calendars that have
been shared with you as a part of a shared mailbox.
The second big announcement we
have this year is support for locations.
Increasingly meetings are being
simultaneously run at multiple geographical locations,
and the new locations API allows you to define as well as
read the various locations that have been
configured on individual meetings.
The third big one is on conference rooms.
So, conference rooms and equipment are
a key part of how most modern enterprises work.
Now with these two new APIs,
you not only get access to
the various conference room but
also the buildings or
the room lists that these rooms are a part of.
So on that note, let's just quickly jump in to
the Graph Explorer to see some
live demos of how these APIs work.
So first, what I'm willing to do is go to the Events API.
As you can see it's a graph at
microsoft.com/me/calendar/events,
and then I'm going to ask for
the locations along with the subject,
so you can see how the new location API works.
So, you can see that right
away I am able to get an array of
locations where every single location
that the meeting contains is a part of.
Since there is a demo environment,
there is only one location,
but once there are multiple locations you can
start to see those details filling up here.
The next API we're going to look at is rooms.
So, the rooms API is available in the beta API.
We are working on figuring our v1 version of it.
So you can see that when I
hit "findrooms" I'm going to get
a list of every single room that's a part of this tenet.
If you want to look at the calendar of room, for example,
all you need to do is copy the address and then go to
the /user/calendar endpoint of that particular room.
In case you want to navigate
the list by looking at room lists,
which could be buildings for example,
you can go to the list of room lists,
pick up the room lists that you want to understand,
copy it's address and then
you can quickly go in and say you want to
look at this room list.
So, you see that when I pass in
the room list to the find rooms API,
it's going to return me only the rooms that
are a part of that particular room list.
So, next up so let's look at the Outlook email APIs,
the new APIs that we've been working on.
The first one here again is
access to shared mail folders,
this is similar to the scenarios we discussed above.
It could be delegate access,
shared mailboxes, folders that are explicitly shared.
A couple of interesting APIs that we've
added this year are on message headers,
the flag status of an email which is often used
to mark it as
a task or something that you need to follow up on.
The third one is message rules.
So, message rules are basically
Outlook rules that users can configure to
automatically put all your messages to specific folders.
So, let's start by looking at message folders.
So here, I'm going to swap back to the v1 API,
because all of these have been in beta and have
been promoted to the v1 endpoint.
So we look at the inbox folder,
and then look at the message rules there.
So, the message rules API shows, you can see,
is going to tell me that
any new message that comes with Abracadabra and the body
or subject is going to automatically get
assigned to a category called magic.
In addition to assigning categories,
you can obviously move it to
various folders and even define fairly complex rules.
So, in addition to just viewing the message rules,
you can also use the API to
define automatic message rules which could come in very
handy if you want to apply a specific set of
rules for every single user in your tenet.
The next one we're going to look at is
the standard messages API which gone
out on list of all your messages,
but here we're going to look at the new flag and
the Internet message headers properties.
So here, you can see that for every single message,
it returns me a flag status to say,
has this message been flagged or not flagged,
flag meaning there's a follow up action.
For emails that have been delivered to me externally,
you can see that there's a fairly long list
of interim message headers.
This can come in quite handy in a couple of scenarios.
One is the security space
that you want to analyze the headers to
understand if this is really a safe mail,
and our compliance angle.
The second one is,
sometimes it's custom data that's being passed on.
For example, some CRM vendors put in
customer IDs to emails for integration with other system.
So, you can see that the entire set
of email headers is available to you as
a JSON array that you can start consuming in your app.
The third Outlook APIs that
we've been adding all along User Choices.
So, these are settings that users
have put in to customize their experience.
So, for a set of APIs that are on
categories, so in outlook,
you can basically assign
categories to various items that not
only puts them into
buckets but also allows for color coding.
So, one of the most common use cases
you might find yourself using categories is when
you want to flag items
that you want to
call orders coming specifically from your app.
For example, a CRM map might want to say,
these set of contacts have been sync
into Outlook from their CRM system,
all these sets of calendar events have been
imported from their external calendar.
The second set of Outlook User Choices
are on working hours.
These are very commonly used by
end users to define
what hours they are going to be working on,
especially for folks who are travelling.
So as an application developer,
you want to be very conscious of these working hours
because this allows you to communicate with
a user at a time that's going to be most convenient and
relevant for the end user.
The last two APIs are metadata APIs,
that tell you what are all
the various supported languages,
locales, and time zones that
can be supported for the specific user.
This again could mean if you want to
let the user pick from
a list of languages that can work well for him or her.
So, let's go ahead and first look at the Categories API.
So, the Categories API you
can find at /outlook/mastercategories.
So, this again is a v1 API that has been in beta.
We have tested it out and made sure it's
working for a production scale.
So here, you're going to find that there's
a list of categories that show up,
these are the default categories that Outlook provides.
But here again, by calling
the port and patch end points on this API,
you're going to be able to add your own categories.
These categories once defined can
be applied to individual messages as well as events,
tasks and contacts, using the categories,
over here, that's available
on each of those specific objects.
Let me quickly show you the supported time zones API.
So, this again can be handy if
you want to find out what are
all the supported time zones for this particular user,
based on how his exchange office system
has been configured.
Similarly, these are all the supported languages.
So, you can see that
this user has a wide array of languages to pick from.
Lastly, let's go to
the mailbox settings and
take a look at the working hours.
So here again, you can get to it directly by calling
mailboxsettings/workinghours or you can just go to
the mailbox settings API
where you're going to find working hours is included.
Here for this user, you can
find that this user works Monday to
Friday from eight to five in the Pacific time zone.
But here again, you have
the option of designing even more complex time zones,
for example, daylight saving settings to tell you easily.
So just to recap,
today we've been to the Outlook mail APIs,
Calendar APIs, and User Choice APIs.
Hope you like it. Thanks for your time.