Microsoft Graph API

Starting Spring ’26, Einstein Activity Capture configured to use Microsoft Office 365 is automatically authenticated by using Microsoft Graph. Microsoft is retiring Exchange Web Services in October 2026 for Microsoft Office 365, and Microsoft Graph API replaces Exchange Web Services as a more advanced, secure, and scalable solution. Microsoft Graph exposes REST APIs and client libraries to access data on Microsoft Office 365.

Required Editions

Available in: Lightning Experience
Available with Einstein Activity Capture Standard in Sales in Starter, Pro Suite, Professional, and Enterprise Editions
Available with Unlimited Edition, Einstein 1 Sales Edition, and Agentforce 1 Edition
Available with Einstein for Sales, which is included in Einstein 1 Sales Edition and available for an extra cost in Enterprise and Unlimited Editions
Available with Sales Engagement, which is included with Sales in Performance and Unlimited Editions, and available for an extra cost in Professional and Enterprise Editions
Available with Revenue Intelligence, which is available for an extra cost in Enterprise and Unlimited Editions
Note
Note We’re reorganizing the Einstein Activity Capture documentation. We’re moving some information around, but we aren’t deleting anything.

Authentication Levels

Einstein Activity Capture supports Microsoft 365 authentication in three ways, each with a specific purpose.

User-Level OAuth
This authentication method requires each Einstein Activity Capture user to connect to their own Microsoft Office 365 account.
Role-Based Access Control (RBAC) OAuth
This authentication method combines OAuth’s delegated authorization with role-based permissions. Users get access to resources not individually, but through predefined roles defined within an app. You can configure the authentication mode for all Einstein Activity Capture users at the same time. RBAC OAuth requires Azure setup as a prerequisite.

RBAC OAuth authentication method isn’t available as an option while upgrading Einstein Activity Capture to Microsoft Graph API. To use RBAC OAuth, follow Change Microsoft Office 365 Authentication Level in Einstein Activity Capture.

Application-Level OAuth
This authentication method provides a broad, admin-approved access to an entire service instance. You can configure the authentication mode for all Einstein Activity Capture users at the same time.

Einstein Activity Capture uses Client Credential Authentication flow as part of Microsoft Graph API authentication. Salesforce stores the certificate securely in a Salesforce managed vault and rotates it periodically.

Org-Level Authentication Process Between Einstein Activity Capture and Microsoft Graph API

Authentication process between Einstein Activity Capture and Microsoft Graph API for application-level authentication.

Application-Level Authentication Sync Flow Between Einstein Activity Capture and Microsoft Graph API

Sync flow between Einstein Activity Capture and Microsoft Graph API for org-level authentication.

App ID for Microsoft Graph Authentication

Before you upgrade to Microsoft Graph, make sure that your Azure admin grants the application permissions required to proceed with the upgrade. We recommend that an Azure admin use the Admin Consent flow to automate scope authorization for your org. This flow prevents individual users from having to manually authorize the upgrade. Granting application permissions in advance simplifies the upgrade and prevents admin and user confusion by removing the need for additional authentication. To initiate the flow, Azure admins can use these links.

Note
Note Einstein Activity Capture and Lightning Sync use the same app ID links for Microsoft Graph authentication.
Authentication Level App ID
Application-Level https://login.microsoftonline.com/common/adminconsent?client_id=cbcb7087-72b9-4977-8dd7-aa803a5da602
RBAC https://login.microsoftonline.com/common/adminconsent?client_id=da3cd6f0-d438-40a4-8524-4cc3569a23b6
User-Level (Einstein Activity Capture and Inbox) https://login.microsoftonline.com/common/adminconsent?client_id=e535e657-0666-4ad5-940a-c3cf6296a541

Microsoft Graph API Calls

Salesforce makes these calls by using Microsoft Graph API to access emails, contacts, and events from Microsoft Office 365.

Microsoft Graph API Call Description
List messages Fetches a list of email message IDs.
Get Message Fetches detailed information about an email.
Create or Send draft message Creates and sends an email.
List events Accesses a list of calendar events.
Get event Accesses information for a calendar event.
Create event Creates an event in Microsoft Office 365.
Update event Updates an event in Microsoft Office 365.
Delete event Deletes an event in Microsoft Office 365.
Get contact Accesses information for a contact.
Create contact Creates a contact in Microsoft Office 365.
Update contact Updates a contact in Microsoft Office 365.
Delete contact Deletes a contact in Microsoft Office 365.
Note
Note For details, see Microsoft’s support website and search for these calls. This list doesn't include every calls Salesforce makes.

Microsoft Graph Scope/Permission

For Einstein Activity Capture or Inbox to access data in Microsoft Graph, the admin must grant the necessary permissions. Einstein Activity Capture uses these delegated and application permissions from Microsoft Graph.

Authentication Level Scope/permission
Application-Level Calendars.Read Application
Calendars.ReadWrite Application
Contacts.Read Application
Contacts.ReadWrite Application
Mail.Read Application
Mail.ReadWrite Application
Mail.Send Application
RoleManagement.Read.Directory Delegated
User.Read Delegated
User.Read.All Application
RBAC RoleManagement.Read.Directory Delegated
User.Read Delegated
User-Level Calendars.ReadWrite
User.Read
openid
profile
offline_access
Contacts.ReadWrite
Mail.Read
email
Mail.Send
Note
Note For details, see Microsoft’s support website and search for these calls.