About Azure Resource Manager
Azure Resource Manager (ARM) is the deployment and management service for Azure. It provides a management layer that enables you to create, update, and delete resources in your Azure account. This integration enables Serval workflows to interact with Azure infrastructure including subscriptions, resource groups, virtual machines, and other Azure services.What the Azure Resource Manager integration enables
| Capability | Description |
|---|---|
| Automation workflows | Manage Azure subscriptions, resource groups, virtual machines, storage accounts, and other Azure resources through Serval workflows |
Serval configuration
Serval supports two methods of connecting with your Azure tenant:- Sign in with Microsoft (recommended when available): Connect using your Microsoft account with delegated permissions. This method uses OAuth 2.0 authorization code flow.
- Client Credentials: Create your own Microsoft Entra app registration with application permissions. This method is recommended for server-to-server automation without user interaction.
Sign in with Microsoft
This option is only available if your Serval instance has been configured with Microsoft OAuth credentials that include Azure Resource Manager permissions.
- In Serval, navigate to Apps → Available → Azure Resource Manager
- Click Connect to bring up the “Connect” dialog
- Click “Sign in with Microsoft”
- Sign in with a Microsoft account that has access to the Azure subscriptions you want to manage
- Review and accept the requested permissions:
https://management.azure.com/user_impersonation- Access Azure Service Management as you
- You will be redirected back to Serval with your integration configured
Client Credentials
- In Serval, navigate to Apps → Available → Azure Resource Manager
- Click Connect to bring up the “Connect” dialog
- Click “Client Credentials”
- Fill in the following information (see Azure configuration steps below):
- Instance Name: A descriptive name for this integration (e.g., “Production Azure”)
- Tenant ID: Your Azure AD tenant ID
- Client ID: Your application client ID
- Client Secret: Your application client secret
- Click Submit to establish the integration
- Click Run on the health checks to confirm permissions are set up properly
Microsoft Entra ID / Azure AD Configuration
The following steps require access to the Azure Portal with sufficient administrator permissions.1. Create Entra App Registration
- Go to the Azure Portal and sign in with admin privileges
- Navigate to Microsoft Entra
- Navigate to App registrations in the left sidebar
- Click New registration
- Configure the application:
- Name: “Serval Azure Resource Manager 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 → Client secrets → New client secret
- Add description: “Serval Integration Secret”
- Choose an expiration period and click Add
- Important: Copy the secret Value immediately - this is your
Client Secret. You won’t be able to see it again.
3. Configure API Permissions
- Navigate to API permissions → Add a permission
- Select Azure Service Management (not Microsoft Graph)
- Select Delegated permissions or Application permissions based on your needs:
- Application permissions (for client credentials flow):
user_impersonation- Access Azure Service Management as the application
- Application permissions (for client credentials flow):
- Click Add permissions
- Click Grant admin consent for [Your Organization] → Yes
- Verify the permission shows Granted for [Your Organization]
4. Assign Azure RBAC Roles
API permissions alone are not sufficient for Azure Resource Manager. You must also assign Azure RBAC roles to your application:- Navigate to the Azure subscription(s) you want to manage
- Go to Access control (IAM) → Add → Add role assignment
- Select an appropriate role:
- Reader: Read-only access to all resources
- Contributor: Full access to manage resources (but not access control)
- Owner: Full access including access control (use sparingly)
- Click Next, then select User, group, or service principal
- Click Select members and search for your app registration name
- Select the application and click Select
- Click Review + assign
Troubleshooting
”No subscriptions found” error
This typically means:- The application doesn’t have any Azure RBAC role assignments
- The RBAC roles were assigned to a different subscription than expected
- The application permissions haven’t been granted admin consent
Authentication errors
Common authentication error codes:- AADSTS700016: Application not found in the directory. Verify your Client ID and Tenant ID.
- AADSTS7000215: Invalid client secret. Check that you copied the secret value (not the secret ID).
- AADSTS700082: Client secret has expired. Generate a new secret in the Azure Portal.

