Overview
This node enables making HTTP requests to the Microsoft Graph API with support for multiple Azure AD tenants. It handles authentication by obtaining access tokens for each specified tenant and then performs the requested HTTP operation on the Microsoft Graph endpoint.
Common scenarios include:
- Accessing user, group, or organizational data across different Azure AD tenants.
- Automating management tasks such as creating users, updating resources, or querying directory information.
- Integrating Microsoft 365 services (like Outlook, OneDrive, Teams) into workflows that require multi-tenant support.
Practical example:
- Querying the profile of a user in a specific tenant using a GET request to
https://graph.microsoft.com/v1.0/users/{userId}. - Creating a new event in a user's calendar via a POST request with JSON body content.
- Updating group membership with PATCH requests while handling rate limits gracefully.
Properties
| Name | Meaning |
|---|---|
| Tenant ID | Azure AD Tenant (Directory) ID to authenticate against. |
| HTTP Method | HTTP method to use for the request: GET, POST, PATCH, PUT, DELETE. |
| URL | Full Microsoft Graph API URL to call (e.g., https://graph.microsoft.com/v1.0/me). |
| Query Parameters | Optional key-value pairs appended as query parameters to the URL. |
| Body Content Type | Content type of the request body when using POST, PATCH, or PUT: JSON, Text, or Form Data. |
| Body (JSON) | JSON-formatted body content (used if Body Content Type is JSON). |
| Body (Text) | Plain text body content (used if Body Content Type is Text). |
| Body (Form Data) | Form data fields as key-value pairs (used if Body Content Type is Form Data). |
| Response Format | Expected response format: JSON or String. |
| Custom Headers | Additional HTTP headers to send with the request (excluding Authorization header). |
Output
The node outputs an array of items where each item contains a json field representing the response from the Microsoft Graph API call.
- If the response format is JSON (default), the
jsonfield contains the parsed JSON object returned by the API. - If the response format is String, the
jsonfield contains the raw response string. - In case of errors (and if "Continue On Fail" is enabled), the output includes an error message inside the
json.errorfield.
The node does not output binary data.
Dependencies
- Requires an API authentication token credential configured for Microsoft Graph OAuth2.
- The node internally obtains OAuth2 client credentials tokens per tenant using the provided Tenant ID, client ID, and client secret.
- No additional external dependencies beyond standard HTTP requests and OAuth2 token retrieval.
Troubleshooting
- Failed to retrieve access token for tenant: Indicates invalid or missing tenant ID, client ID, or client secret. Verify credentials and tenant ID correctness.
- Body must be valid JSON: When sending JSON body content, ensure the JSON syntax is correct.
- Rate limiting (HTTP 429): The node automatically retries up to 5 times with delay based on the
Retry-Afterheader or default delay. If you still get errors, consider reducing request frequency. - Authorization errors: Ensure the API key credential has sufficient permissions/scopes for the requested Microsoft Graph endpoints.
- Invalid URL or method: Confirm the URL is a valid Microsoft Graph API endpoint and the HTTP method matches the operation requirements.