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
| Capability | Description |
|---|---|
| Automation workflows | Manage mail, calendar, files, Teams, device management, security, and compliance tasks automatically through Serval workflows |
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

