Glossary

Azure Function

By Emil Björk · Microsoft business apps consultant, Gothenburg

Microsoft's serverless compute platform — used heavily for Dynamics 365 integrations, webhook receivers, scheduled jobs, and custom code beyond Power Automate.

An Azure Function is a unit of serverless compute — code (C#, JavaScript, Python, PowerShell, Java) that runs on demand, triggered by events rather than sitting on an always-running server. Triggers include HTTP (callable via a REST URL), Timer (scheduled execution), Service Bus / Queue (consume queue messages), Event Grid (consume events), Blob Storage, Cosmos DB, and more. For Dynamics 365 integrations, Azure Functions are the standard answer when Power Automate doesn't fit — complex data transformations, high-throughput processing, webhook receivers, scheduled batch jobs, and API façades that need real code rather than a flow's connector-and-action model.

In practice, the deciding question between a Power Automate flow and an Azure Function is usually "does this need to be code". A flow is faster to build and easier for a non-developer to maintain, but it struggles with intricate branching logic, heavy string or JSON manipulation, and anything approaching real unit-testability. An Azure Function trades that ease-of-authoring for full language power, proper source control, automated tests, and — depending on hosting tier — dramatically higher throughput. Hosting tiers reflect that trade-off differently again: Consumption is pay-per-execution and scales to zero, cheap for occasional workloads but with a cold-start delay on the first call after idle; Premium keeps instances pre-warmed to avoid that delay; Dedicated runs on an App Service plan the customer already pays for continuously, useful when the function needs to share infrastructure with another always-on app.

Where confusion shows up: an Azure Function authenticating to Dataverse is often set up with a service principal holding broad application-user privileges, when a narrower, purpose-scoped application user (or, where supported, Managed Identity) reduces the blast radius if the function's credentials ever leak. Telemetry is the other place teams under-invest — Application Insights integrates automatically and is close to free to enable, yet plenty of integration functions ship with no logging beyond a generic error message, which turns a production incident into blind debugging exactly when speed matters most.

Related terms

Mentioned in these guides