Azure Logic Apps
Build a no-code integration workflow in Logic Apps that triggers on a new email, transforms the payload, and writes a record to Azure SQL Database.
Azure Logic Apps is a free Cloud & IT Cert Prep lesson on CoddyKit — lesson 3 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the Cloud & IT Cert Prep learning path, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.
What Is Azure Logic Apps?
Azure Logic Apps is a low-code/no-code integration platform that lets you build automated workflows visually using a drag-and-drop designer. Each workflow consists of a trigger (the event that starts it) and one or more actions (steps that execute in sequence). Logic Apps connects hundreds of services — Office 365, Salesforce, ServiceNow, Azure SQL, Blob Storage, and many more — through pre-built connectors, without writing integration code from scratch.
Logic Apps vs Azure Functions
Both Logic Apps and Azure Functions enable event-driven, serverless automation — but they target different audiences. Logic Apps is designed for integration specialists and business analysts who prefer visual, no-code workflows with enterprise connectors. Azure Functions is designed for developers who need full programming language control, custom business logic, and lower latency. For complex conditional logic or performance-critical paths, Azure Functions is the better fit; for SaaS integration and business process automation, Logic Apps wins.
Logic Apps Hosting: Consumption vs Standard
Logic Apps offers two hosting plans. Consumption (classic) runs workflows on shared multi-tenant infrastructure, billed per action execution — ideal for low-frequency automations. Standard runs on dedicated single-tenant App Service infrastructure, supports VNet integration, custom connectors via managed APIs, and multiple workflows per Logic App. Standard is billed by the hour for the plan, similar to App Service. Choose Standard for enterprise workflows needing compliance isolation or VNet connectivity.
# Create a Consumption Logic App
az logic workflow create \
--name MyLogicApp \
--resource-group MyRG \
--location eastus \
--definition @workflow-definition.json
# Create a Standard Logic App (requires an App Service plan)
az logicapp create \
--name MyStandardLogicApp \
--resource-group MyRG \
--plan MyAppServicePlan \
--storage-account mystorageaccountTriggers: Starting a Workflow
Logic Apps workflows start with a trigger that fires on a specific event. Polling triggers check a service at regular intervals (e.g., 'When a new email arrives' in Outlook checks every minute). Push triggers use webhooks and fire immediately when an event occurs (e.g., 'When an HTTP request is received'). Recurrence triggers fire on a schedule. The trigger output data (email body, HTTP payload) is available to all subsequent actions in the workflow.
// Workflow definition snippet: HTTP trigger
{
'definition': {
'triggers': {
'manual': {
'type': 'Request',
'kind': 'Http',
'inputs': {
'schema': {
'type': 'object',
'properties': {
'customerName': { 'type': 'string' },
'orderTotal': { 'type': 'number' }
}
}
}
}
}
}
}Actions and Connectors
Actions are the steps that execute after the trigger. Each action uses a connector — a pre-built integration adapter for a specific service or protocol. Logic Apps has over 400 built-in and managed connectors including Office 365 Outlook, SharePoint, Azure SQL Database, Salesforce, Slack, Twitter/X, SAP, and generic HTTP, SFTP, and FTP connectors. Managed connectors handle authentication and connection management automatically.
// Workflow: send an email via Office 365 after HTTP trigger
// Actions section of the workflow definition:
{
'Send_an_email': {
'type': 'ApiConnection',
'inputs': {
'host': { 'connection': { 'name': '@parameters("$connections")["office365"]["connectionId"]' } },
'method': 'post',
'path': '/v2/Mail',
'body': {
'To': 'manager@contoso.com',
'Subject': 'New Order from @{triggerBody()["customerName"]}',
'Body': 'Order total: @{triggerBody()["orderTotal"]}'
}
}
}
}Control Flow: Conditions and Loops
Logic Apps supports standard control flow constructs. Condition actions branch the workflow based on an expression (e.g., orderTotal > 1000). Switch actions route to different branches based on a value. For Each loops iterate over an array (e.g., process each attachment in an email). Until loops repeat actions until a condition is true. All these constructs are configurable visually in the designer or as JSON in the workflow definition.
// Condition action in workflow definition
{
'Check_order_value': {
'type': 'If',
'expression': {
'and': [{
'greater': ['@triggerBody()["orderTotal"]', 1000]
}]
},
'actions': {
'Notify_Manager': { /* send email action */ }
},
'else': {
'actions': {
'Auto_Approve': { /* approve action */ }
}
}
}
}Expressions and Functions
Logic Apps uses an expression language to transform and reference data between actions. Expressions are wrapped in @{...} and support built-in functions for strings (concat, toLower), arrays (length, first, filter), dates (utcNow, addDays), JSON manipulation, and workflow references (triggerBody(), outputs('ActionName')). These functions are evaluated at runtime when the step executes.
// Expression examples in Logic Apps actions
// Reference trigger data
'@triggerBody()["customerName"]'
// String manipulation
'@toUpper(triggerBody()["customerName"])'
// Date operations
'@addDays(utcNow(), 7)' // One week from now
// Reference previous action output
'@outputs("Get_customer")["body"]["email"]'
// Conditional expression
'@if(greater(triggerBody()["total"], 1000), "VIP", "Standard")'Error Handling: Run After and Retry
Each action in Logic Apps has a Run After setting that controls when it executes: after the previous step succeeds, fails, times out, or is skipped. This enables robust error handling — add a compensation or alert action that only runs when the preceding step fails. Each action also has configurable retry policies (fixed interval, exponential backoff) to handle transient failures from downstream services automatically.
// Action that runs only when a previous action fails
{
'Send_failure_alert': {
'type': 'ApiConnection',
'runAfter': {
'Process_order': ['Failed', 'TimedOut']
},
'inputs': { /* Teams notification */ },
'operationOptions': 'DisableAsyncPattern',
'runtimeConfiguration': {
'staticResult': null
}
}
}Integration with Azure Services
Logic Apps integrates directly with core Azure services as both triggers and actions. You can trigger a workflow when a blob is added to a storage container, write the results to Azure SQL Database, send a message to Azure Service Bus, call an Azure Function for custom logic, or log results to a Log Analytics workspace. This makes Logic Apps an effective orchestration layer that glues together specialised Azure services without custom code.
// Azure Blob trigger + SQL Database action pattern
// Trigger: 'When a blob is added or modified'
// Action 1: Read blob contents
// Action 2: Parse CSV/JSON body
// Action 3: 'Insert row' into Azure SQL Database
// Action 4: 'Delete blob' from source container
// Action 5: Send success notification email
//
// No custom code required for this common ETL patternMonitoring and Run History
Every Logic Apps workflow run is recorded in run history, accessible in the Azure portal. You can inspect each run's inputs, outputs, duration, and error messages at the individual action level, making debugging straightforward. Enable diagnostic logging to send run history and trigger logs to a Log Analytics workspace for long-term analysis and alerting. Set up Azure Monitor alerts on the RunsFailed metric to detect broken workflows.
# Enable diagnostic logging for a Logic App
az monitor diagnostic-settings create \
--resource '/subscriptions/.../providers/Microsoft.Logic/workflows/MyLogicApp' \
--name 'LogAnalyticsLogs' \
--workspace /subscriptions/.../workspaces/MyLogAnalytics \
--logs '[{"category": "WorkflowRuntime", "enabled": true, "retentionPolicy": {"days": 30, "enabled": true}}]'When to Choose Logic Apps
Choose Logic Apps for: SaaS and enterprise application integration (Salesforce, SAP, ServiceNow), business process automation with approval workflows, ETL pipelines triggered by file uploads, notification and alerting workflows, and scenarios where non-developers (business analysts) need to modify workflow steps without code. Avoid Logic Apps for high-frequency, low-latency scenarios (use Azure Functions instead) or when you need complex programming constructs not available in the expression language.
Quick Check
Test your understanding of Microsoft Azure Fundamentals (AZ-900) concepts from this lesson.
Lesson Recap
In this lesson you learned: Azure Logic Apps provides low-code workflow automation with 400+ pre-built connectors, Run After settings enable granular error handling per action, and Logic Apps excels at SaaS integration and business process automation where non-developers need to modify workflows. Next up we explore Event Grid and event-driven architecture.
Frequently asked questions
Is the “Azure Logic Apps” lesson free?
Yes — the full text of “Azure Logic Apps” is free to read here on the web, and the Cloud & IT Cert Prep course includes 4 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the Cloud & IT Cert Prep course, upgrade to CoddyKit PRO.
What will I learn in “Azure Logic Apps”?
Build a no-code integration workflow in Logic Apps that triggers on a new email, transforms the payload, and writes a record to Azure SQL Database. You practise Cloud & IT Cert Prep with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.
Do I need any experience to start Cloud & IT Cert Prep?
No prior experience is required. Cloud & IT Cert Prep on CoddyKit is structured for beginners through advanced learners; this is — lesson 3 of 4, so you can start here or from the beginning and move at your own pace.
How long does the “Azure Logic Apps” lesson take?
Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.
Can I write and run code in this Cloud & IT Cert Prep lesson?
Yes. Every Cloud & IT Cert Prep lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.