Summary
Contoso's equipment-provisioning solution no longer leaves a caller waiting on a slow availability check. It also no longer depends on anyone kicking off reconciliation or reacting to a Dataverse change by hand. Instead, a function acknowledges long-running work and resolves it in the background. It wakes itself up on a schedule or the moment a Dataverse event fires, and reaches Dataverse through a managed identity rather than a stored secret.
What you learned
- You explore how to replace a blocking request/response call with an acknowledge-and-poll contract. You also explore how Durable Functions coordinates multi-step and fan-out/fan-in workflows while checkpointing progress, so a restart resumes instead of starting over.
- You examine how a timer trigger's schedule,
runOnStartupsetting, and missed-occurrence handling keep nightly reconciliation reliable. You also examine how a Dataverse event reaches a function through either a direct webhook or an Azure Service Bus queue, depending on the coupling the two systems need. - You examine how a managed identity, paired with a Dataverse application user and a custom security role scoped to only the tables a function touches, authenticates that function to Dataverse. No client secret is left to store, rotate, or protect.