Field note
Entra Provisioning Callouts: Failure Design
A custom attribute calculation becomes part of the joiner path as soon as provisioning depends on it.
A joiner workflow can be delayed by something as small as an unavailable service that generates an alias. Once account creation depends on that service, its behaviour needs the same care as the rest of the identity system.
Microsoft’s 12 October Entra roundup includes generally available provisioning callouts.
They make more complex attribute generation possible, but they also introduce another place for a new account to wait, fail or receive the wrong value.
Decide whether a callout is necessary
Start with the simplest requirement. If an attribute can be produced by a direct mapping, a constant or a supported expression, those options are documented in the attribute-mapping reference. An external workflow is justified when there is a real dependency on business logic or information that those mappings cannot provide.
Write the requirement as a function: defined source fields go in; one validated attribute value comes out. Avoid a vague instruction such as “prepare the employee”. That scope is too broad to reason about when retries or partial failures occur.
For an illustrative alias-generation service, define the accepted characters, maximum length, uniqueness rule and ownership of the reserved value. Decide which identifier ties a repeated request to the same employee. Do not invent a new alias every time an HTTP call is repeated.
Respect the current feature boundaries
Microsoft’s callout reference describes an LCW extensibility workflow invoking a Consumption Logic App to generate an attribute value. The documented callouts are for create events, not updates or deletes; they are not supported for Cloud Sync, and generated attributes cannot be used as matching attributes.
Those limits affect the design. A workflow used to calculate an initial alias does not automatically become the mechanism for later name changes. Write a separate ownership decision for later corrections and explain where that change is made.
Confirm the identity-governance, Azure and administrator-role prerequisites before building the workflow. Keep application permissions limited to the resources the calculation needs. The existing application consent audit is relevant when the workflow introduces another application identity.
Define failure outcomes explicitly
Use a small set of testable outcomes:
- Valid input produces a value with the expected format.
- Repeating the same business request returns the same reserved result.
- A duplicate or conflicting identity is sent for review.
- A dependency timeout produces a visible failure.
- A malformed response is rejected before becoming an account attribute.
A fallback value such as “unknown” is appropriate only if the business has deliberately approved that meaning. It is a poor emergency answer for an identifier that must be unique or a field that influences access.
Set a time budget for the complete operation. Include the provisioning callout, the Logic App and the services it calls. A long retry policy at each layer can turn one failed request into a much longer delay than the support team expects.
Azure Logic Apps has configurable retry policies, with behaviour depending on the action and connector. Review the actual settings rather than assuming “default” means a single attempt. If a downstream operation changes state, its repeat behaviour needs an explicit design.
Prove the unhappy paths in a test environment
Use synthetic identities and a test dependency that you can deliberately make unavailable. Measure which stage fails and what the provisioning operator sees. Do not discover that behaviour with the first employee who is due to start on Monday.
Capture a request identifier across the workflow, a sanitised input summary, the generated result or failure category, and the processing time. Keep personal data and credentials out of general diagnostic output. The service desk needs enough information to identify the failed stage without receiving the full HR record.
Test recovery after a timeout. A dependency may have completed its work even when the caller did not receive the response. The workflow should be able to find the existing result instead of creating another one.
Before the pilot, retain the prior mapping and define how to pause new account creation for the affected population. Reverting a mapping does not automatically repair accounts already created with an incorrect attribute, so identify those objects separately.
Expand only when the workflow produces predictable results, failures reach an owner and replay has a defined outcome. Custom logic is useful when it makes a necessary business rule reliable. It should not turn a simple account-creation path into an unowned chain of dependencies.
References
- Microsoft — October Entra announcement, 12 October 2026. Accessed 17 October 2026.
- Microsoft — Extend attribute mappings with custom callouts. Accessed 17 October 2026.
- Microsoft — Handle workflow errors and exceptions in Azure Logic Apps. Accessed 17 October 2026.
- Microsoft — Customise provisioning attribute mappings. Accessed 17 October 2026.
Related notes
17 Oct 2026 · 4 min
17 Oct 2026 · 5 min
17 Oct 2026 · 4 min
Need help mapping this to your own tenant, controls, or assessment timeline?