Event-Driven Automation
From Azure Blob Storage to Email in 3 Steps
Introduction
In modern cloud environments, automation is not a luxury — it is a necessity. One of the most common real-world requirements is: “Notify the team when a new file arrives.” This sounds simple, but doing it in a scalable, enterprise-grade way requires the right tools
.
In this article, I will show you how I built a fully automated notification workflow using Azure Logic Apps — step by step, with practical screenshots and real code.
Note for Power Platform users: Azure Logic Apps is the enterprise equivalent of Power Automate. Both share the same connector ecosystem. If you know one, you understand the other.
What We Are Building
New file uploaded to Azure Blob Storage
↓
Logic App Trigger fires
↓
HTTP POST to REST API
↓
Automated Email Notification sentA complete end-to-end automation — no manual steps, no polling, no scripts running on a server.
Prerequisites
Azure Subscription (Pay-as-you-go works fine)
Outlook or Office 365 account for email
Basic understanding of Azure Portal
Cost: This demo costs only a few cents on Pay-as-you-go. Logic Apps Consumption plan charges per action execution.
Step 1: Create a Resource Group
First, organize everything under one Resource Group.
Go to portal.azure.com
Click “Resource Groups” → “+ Create”
Fill in:
Name:
my-demoRegion: West Europe
Click “Review + Create” → “Create”
Best Practice: Always group related resources together. Makes cleanup, cost tracking, and access control much easier.
Step 2: Create Azure Storage Account
Click “+ Create a resource”
Search “Storage Account” → Click “Create”
Fill in:
Resource Group:
my-demoName:
uttamdemo2026Region: West Europe
Performance: Standard
Redundancy: LRS (Locally Redundant Storage)
Click “Review + Create” → “Create”
Step 3: Create Blob Container
Open your Storage Account
Click “Containers” on the left menu
Click “+ Container”
Fill in:
Name:
documentsAccess level: Private
Click “Create”
Security Note: Always use Private access for production containers. Use SAS tokens or Managed Identity for access control.
Step 4: Create the Logic App
Click “+ Create a resource”
Search “Logic App” → Click “Create”
Fill in:
Resource Group:
my-demoName:
demo-blob-notificationRegion: West Europe
Plan type: Consumption ← important for cost efficiency
Click “Review + Create” → “Create”
Step 5: Configure the Blob Storage Trigger
Open your Logic App
Click “Logic App Designer”
Click “Blank Logic App”
Search for “Azure Blob Storage”
Select trigger: “When a blob is added or modified (V2)”
Configure:
Connection name:
blob-connectionStorage account:
uttamdemo2026Container:
/documentsInterval:
1 Minute
Step 6: Add HTTP Action — Call a REST API
This step demonstrates API integration — a core DevOps skill.
Click “+ New Step”
Search “HTTP”
Select “HTTP” (Built-in)
Configure:
Method:
POSTURI:
https://jsonplaceholder.typicode.com/postsHeaders:
Key:
Content-TypeValue:
application/json
Body:
json
{
"fileName": "@{triggerBody()?['Name']}",
"message": "New file uploaded to Blob Storage",
"uploadedAt": "@{utcNow()}"
}Real World Usage: Replace the test URI with your actual Azure Function or API Management endpoint. This pattern is used for triggering downstream processes, logging events, or notifying microservices.
Step 7: Add Email Notification
Click “+ New Step”
Search “Outlook”
Select “Office 365 Outlook”
Select action: “Send an email (V2)”
Sign in with your Microsoft account
Configure:
Subject:
New file uploaded: @{triggerBody()?['Name']}Body:
Hello,
A new file has been uploaded to Blob Storage.
File Name: @{triggerBody()?['Name']}
Uploaded At: @{utcNow()}
This is an automated notification.
Regards,
Uttam Chaturvedi
DevOps EngineerStep 8: Save and Publish
Click “Save”
Click “Publish”
Status should show “Active”
Step 9: Test the Workflow
Go to your Storage Account
Open the
documentscontainerClick “Upload”
Upload any file — for example your CV or a test PDF
Wait 1-2 minutes
Check your inbox — you should receive the automated email!
Results
After uploading a file, the Logic App:
✅ Detected the new blob in under 1 minute
✅ Called the REST API with file metadata
✅ Sent an automated email with filename and timestamp
✅ Completed in 648 milliseconds
The Run History in Azure Portal shows every execution with status, duration, and input/output for each step — perfect for debugging and monitoring.
Why This Matters for DevOps
This simple demo demonstrates several important DevOps principles:
1. Event-Driven Architecture
React to events rather than polling. More efficient, more scalable.
2. API Integration
Connecting systems via REST APIs is at the heart of modern integration patterns.
3. Infrastructure as Code mindset
Logic Apps can be exported as ARM templates and deployed via CI/CD pipelines — making them fully automatable.
4. Monitoring built-in
Every run is logged automatically. No extra monitoring setup needed for the demo.
5. Security
Blob container is private. Connections use OAuth. No credentials hardcoded anywhere.
Logic Apps vs Power Automate — What is the Difference?
FeatureLogic AppsPower AutomateTarget audienceDevelopers / DevOpsBusiness usersHostingAzure PortalMicrosoft 365PricingPay per executionPer user licenseCI/CD supportFull ARM template supportLimitedCustom connectorsYesYesSame connectorsYesYes
Key insight: For enterprise DevOps scenarios, Logic Apps gives you more control, better CI/CD integration, and infrastructure-level governance. For business user automation, Power Automate is faster to get started.
Next Steps
You can extend this workflow to:
Send to Microsoft Teams instead of email
Write metadata to Azure SQL Database
Trigger an Azure Function for processing
Add approval gates before notification
Deploy via Azure DevOps pipeline using ARM templates
Conclusion
In less than an hour, we built a production-ready automated notification system using Azure Logic Apps. This pattern is directly applicable to real enterprise scenarios — file processing, compliance notifications, audit trails, and more.
The same concept applies in Power Automate — if you understand Logic Apps, you understand Power Automate. The connectors, triggers, and actions work the same way.
Have questions or feedback? Connect with me on LinkedIn or visit my website.


