About Microsoft Graph
Microsoft Graph is a unified API that provides access to Microsoft 365 and Enterprise Mobility + Security (EMS) services. This integration uses OAuth 2.0 Client Credentials flow for server-to-server authentication, enabling workflows to access Microsoft Graph APIs without user interaction.What the Microsoft Graph integration enables
Anything defined in the Microsoft Graph API can be accessed through Serval.
Azure AD Configuration
1. Create App Registration
- Go to the Azure Portal and sign in with admin privileges
- In the app selector, navigate to Microsoft Entra with this link
- Navigate to App registrations in the left sidebar
- Click New registration
- Configure the application:
- Name: “Serval Microsoft Graph Integration” (or similar)
- Supported account types: “Accounts in this organizational directory only”
- Redirect URI: Leave blank
- Click Register
- Copy these values from the Overview page:
- Application (client) ID - This is your
Client ID - Directory (tenant) ID - This is your
Tenant ID
- Application (client) ID - This is your
2. Create Client Secret
- Navigate to Certificates & secrets → New client secret
- Add description: “Serval Integration Secret”
- Choose expiration period and click Add
- ⚠️ Important: Copy the secret Value immediately - this is your
Client Secret
3. Configure API Permissions
- Navigate to API permissions → Add a permission → Microsoft Graph → Application permissions
-
Add required scopes based on your needs. Common permissions include:
Applications & App Catalog:
Application.Read.All- Read applicationsApplication.ReadWrite.All- Read and write applicationsApplication.ReadWrite.OwnedBy- Read and write applications owned by the current userAppCatalog.Read.All- Read app catalogAppCatalog.ReadWrite.All- Read and write app catalog
Directory.Read.All- Read directory dataUser.Read.All- Read user profilesUser.ReadWrite.All- Read and write user profilesGroup.Read.All- Read groupsGroup.ReadWrite.All- Read and write groups
Mail.Read- Read mail in all mailboxesCalendars.Read- Read calendarsContacts.Read- Read contacts
Files.Read.All- Read files in all sitesSites.Read.All- Read SharePoint items
Team.ReadBasic.All- Read team names/descriptionsTeamMember.Read.All- Read team members
DeviceManagementManagedDevices.Read.All- Read managed devices
Reports.Read.All- Read usage reportsSecurityEvents.Read.All- Read security events
.ReadWrite.Allpermissions. - Grant admin consent: Click Grant admin consent for [Your Organization] → Yes
- Verify all permissions show Granted for [Your Organization]
https://graph.microsoft.com/.default scope, which grants access to all application permissions configured above. For detailed permission information, see the Microsoft Graph permissions reference.
Serval Configuration
- In Serval, navigate to Apps → Available → Microsoft Graph → Connect
- Enter the required information:
- Instance Name: Descriptive name for this integration
- Tenant ID: Your Azure AD tenant ID (from step 1)
- Client ID: Your application client ID (from step 1)
- Client Secret: The secret value (from step 2)
- Click Connect to establish the integration

