(Spoiler: It’s Complicated)
TL;DR
Azure Logic Apps is genuinely low-code – it lowers the barrier to building integrations dramatically.
But it’s rarely no-code: the moment you need real-world error handling, data shaping, or proper deployment, you’re writing something that walks and quacks like code.
Here’s where the marketing meets reality, and a straight answer on when to reach for Logic Apps, Function Apps, or combine both when you need the strengths of each.
When Azure Logic Apps really is a 'no-code' dream
Credit where it’s due. For a specific class of problem, Logic Apps absolutely delivers:
- “When an email arrives with an attachment, save it to SharePoint and post to Teams.” Three connectors, zero code, done in ten minutes.
- You have simple, linear trigger-action workflows where connectors do exactly what you need out of the box.
- You’re connecting SaaS platforms with first-party connectors.
- The workflow genuinely looks like a recipe: do this, then this, then this.
Where Azure Logic Apps quietly becomes code
1. The expression language is code
@{items('For_each')?['orderId']}
2. You will end up in code view
Every Logic App is JSON underneath.
3. Error handling is an engineering exercise
Retries, runAfter configurations, scopes, try/catch patterns, dead-lettering, idempotency.
4. Deployment is infrastructure as code
Run a single Logic App manually in the Azure portal and sure, no code.
5. Data transformation hits a wall
Need to map a complex payload?
- Liquid templates
- Data Operations
- Integration Accounts
- XML and EDI transformations
So, is Azure Logic Apps low-code, no-code or neither?
Low-code is the honest label.
Logic Apps doesn't eliminate engineering. It changes where the engineering effort goes - from writing boilerplate code to designing reliable, observable and deployable workflows.
Azure Logic Apps vs Function Apps: which should you use?
This is the question I get on nearly every engagement.
Logic Apps handles the “what happens when”.
Function Apps handle the “how”.
When to use Azure Logic Apps
Reach for Logic Apps when:
- You’re orchestrating chaining systems together and the value is in the workflow, not the compute.
- The heavy lifting is already handled by a prebuilt connector (Office 365, Service Bus, SAP, Salesforce, SQL there are 1,400-odd of them).
- The process is event-driven or schedule-driven “when X lands, do Y, then Z.”
- You want the logic to be visible and business-readable someone other than the original author can open the designer and follow it.
- Volume is low-to-moderate.
- Approvals
- Notifications
- B2B and EDI processes
- System synchronisation
- Long-running workflows with built-in state
When to use Azure Function Apps
Reach for Function Apps when:
- You’re writing genuine custom business logic, an algorithm, a gnarly calculation, parsing something nobody built a connector for.
- You need low latency, performance or high throughput. Functions scale for compute in a way Logic Apps doesn’t.
- The transformation would be painful in WDL but simple in C#, Python or JavaScript.
- You’re dealing with heavy nested looping, calculations or complex processing and multiple downstream services.
- Custom APIs
- Data processing
- Image processing
- Business rules engines
- Anything you’d want a test suite around
When to combine Logic Apps and Function Apps and go hybrid?
Honestly? Most of the time.
- Logic App as the conductor: owns triggers, connectors, retries and end-to-end orchestration.
- Function App as the brains: handles complex transformations, calculations and custom logic.
| If you need… | Use |
|---|---|
| Connectors, orchestration, visible workflow | Logic Apps |
| Custom code, performance, testability | Function Apps |
| Orchestration and custom business logic | Hybrid (Logic App + Function App) |
Frequently asked questions
Are Azure Logic Apps really no-code?
When should I use Azure Functions instead of Logic Apps?
Can Logic Apps and Function Apps be used together?
The bottom line
Are Azure Logic Apps really low-code or no-code?
- Orchestration leans towards Logic Apps.
- Custom business logic leans towards Functions.
- Most serious integration architectures benefit from both.


