Overview
WOODY.IO can notify an Azure Event Grid Custom Topic in two ways:
- HTTP Request notification type: a generic notification that sends a raw HTTP call to any URL you configure.
- Azure Event Grid notification type: a dedicated notification built on Microsoft's official @azure/eventgrid SDK, purpose-built for publishing to Event Grid Topics and Domains.
Both can technically get an event onto an Event Grid Topic. The difference that matters in practice is authentication: specifically, what happens when your organisation wants to authenticate with a Managed Identity instead of a long-lived key.
How each type authenticates
HTTP Request notification type
The HTTP Request notification has four configuration fields: Url, Method, Headers, and Body. There is no built-in authentication logic: if the target endpoint requires a credential, you supply it yourself as a static header value (e.g. aeg-sas-key: <key> or Authorization: Bearer <token>).
This works fine for Event Grid's Access Key or SAS Token auth, because those are long-lived static secrets: you paste the value in once and it keeps working until you rotate it.
It does not work well for Azure AD / Entra ID authentication (which is what Managed Identity uses), for one core reason:
Azure AD access tokens are short-lived: typically valid for around 60-90 minutes. A Bearer token pasted into a static header will expire, and every publish attempt after that will fail with a 401 Unauthorized until someone manually regenerates and re-pastes a fresh token.
The HTTP Request notification type has no mechanism to request a token on your behalf, and no mechanism to refresh one before it expires. To authenticate with a Managed Identity through this notification type, you would need to run a separate process to fetch a token from Azure AD and keep the notification's header field updated, which isn't practical for an unattended, scheduled system like WOODY.IO.
Net effect: teams using the HTTP Request notification type are effectively pushed toward Access Key or SAS Token auth, even when their organisation's security policy prefers (or mandates) Managed Identity / Entra ID authentication over static keys.
Azure Event Grid notification type
The Azure Event Grid notification type sends events through Microsoft's own SDK rather than a hand-built HTTP call. Under the hood it still communicates over HTTPS, but token handling is delegated entirely to the SDK's credential objects.
It offers four auth modes:
| Auth Type | How it Works | Token Handling |
| Service Principal (Managed Identity) | Resolves the identity automatically via Azure's standard credential chain (this is where Managed Identity is picked up when WOODY.IO runs in an Azure environment with a system- or user-assigned identity attached) | Automatic: acquired and refreshed by the SDK on every publish |
| Application Service Principal | Uses a service principal registered against the WOODY.IO application/project | Automatic: acquired and refreshed by the SDK |
| Custom Service Principal | Explicit Tenant ID / Client ID / Client Secret you provide | Automatic: acquired and refreshed by the SDK |
| Access Key | Classic Event Grid access key (equivalent to the aeg-sas-key header) | N/A: key is passed directly, stored securely (Key Vault backed field) |
Choosing Service Principal is what lets you authenticate with a Managed Identity: no Bearer token to fetch, store, or refresh, and no secret sitting in a header field at all. The SDK requests a fresh token immediately before each publish.
Why this Matters?
Microsoft's own guidance for Event Grid recommends Entra ID (Managed Identity / Service Principal) authentication over Access Key or SAS Token where possible, since it avoids storing static secrets and benefits from features like Conditional Access. The HTTP Request notification type structurally cannot deliver on that recommendation for unattended publishing: it can only really support the key-based auth methods reliably. The Azure Event Grid notification type removes that constraint entirely.
Recommendation
| Scenario | Recommended notification type |
| Publishing to an Event Grid Custom Topic and you want Managed Identity / Entra ID auth | Azure Event Grid |
| Publishing to an Event Grid Custom Topic and Access Key/SAS auth is acceptable | Either works, but Azure Event Grid is still preferred (built-in CloudEvent/Custom schema handling, no manual header/body construction) |
Sending a Webhook/ call to a non-Event Grid endpoint | HTTP Request |
If your team is being asked to configure a Notification that uses Managed Identity as Auth type, that's a sign the notification should be switched from HTTP Request to Azure Event Grid with the Service Principal auth option: the token handling problem goes away entirely.
If you have any further questions, please feel free to Contact Us.
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article