Microsoft Graph Multi-Tenant icon

Microsoft Graph Multi-Tenant

Consume Graph API with multi-tenant support

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 json field contains the parsed JSON object returned by the API.
  • If the response format is String, the json field 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.error field.

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-After header 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.

Links and References

Discussion