Providers

An Outlook.com API for personal mail, calendar and contacts.

Outlook.com, Hotmail, Live and MSN accounts sign in with Microsoft and are read through Microsoft Graph. Workwae keeps the delta sync and the subscriptions, and your app gets webhooks.

What Microsoft requires

Personal accounts are a Graph audience of their own.

These points are from Microsoft’s docs.

Outlook REST is gone

The older Outlook REST endpoints were to be decommissioned in March 2024. Microsoft points apps to Graph. Outlook REST and Graph

Account types on the app

An app registration chooses who can sign in. To accept Outlook.com users it must allow personal Microsoft accounts (AzureADandPersonalMicrosoftAccount or PersonalMicrosoftAccount). Supported account types

Only some permissions apply

All delegated permissions are valid for work or school accounts, but not all are valid for personal accounts. Check the permissions reference for each scope you ask for. Permissions overview

Worldwide cloud only

Apps that read consumer data for personal accounts should use the global Graph service. National clouds hold organizational data only. Graph deployments

What Workwae does

The same Graph sync as a work account.

Address recognition

Server discovery maps outlook.com, hotmail.com, live.com and msn.com to Microsoft, so a form that takes an address can send the user to Microsoft sign-in instead of asking for IMAP settings.

Delta sync and subscriptions

Mail uses messages/delta per folder, calendar uses calendarView/delta, and contacts delta the Contacts folder. Subscriptions on me/messages, me/events and me/contacts renew at half their lifetime. Microsoft lists message, event and contact notifications as supported for personal accounts with delegated access.

Sign-in directory

Workwae’s own Microsoft app defaults to the common directory, which accepts work and personal accounts. With your own app, set authority to common and register the app for personal accounts.

What does not apply

Organization connections with application permissions are for work and school tenants. Personal accounts have no GCC High, DoD or 21Vianet cloud. For those, see Microsoft 365.

SDK

One hosted link for Outlook.com.

Hosted connect offers Microsoft sign-in next to Google. Passing the address prefills it.

outlook.tsoutlook.py
const session = await workwae.connectSessions.create({
  redirectUri: "https://app.example.com/mail/connected",
  providers: ["microsoft"],
  loginHint: "ada@outlook.com",
  externalRef: user.id,
  options: { calendarEnabled: true, contactsEnabled: true },
});

return redirect(session.url);
session = workwae.connect_sessions.create(
    redirect_uri="https://app.example.com/mail/connected",
    providers=["microsoft"],
    login_hint="ada@outlook.com",
    external_ref=user.id,
    options={"calendar_enabled": True, "contacts_enabled": True},
)

return redirect(session.url)
FAQ

Questions teams ask.

Is Outlook.com the same as Microsoft 365?

Both use Microsoft Graph and the same Workwae calls. Outlook.com accounts are personal Microsoft accounts with no tenant, admin consent or national cloud. Microsoft 365 accounts belong to an organization. See Microsoft 365.

Can I read Outlook.com over IMAP instead?

Workwae can read Microsoft mailboxes over IMAP with Microsoft sign-in, but that grant carries mail scopes only, with no calendar or contacts. Graph is the full path. See IMAP.

Why would an Outlook.com user be refused?

The most common cause is an app registration that does not allow personal Microsoft accounts. Check the app’s supported account types.

Early access

Support personal and work Microsoft accounts together.

Tell us which account types your users bring.