Automated weekly project cost reports with MySQL and Outlook HTML emails
$20/month : Unlimited workflows
2500 executions/month
THE #1 IN WEB SCRAPING
Scrape any website without limits
HOSTINGER 🎉 Early Black Friday Deal
DISCOUNT 20% Try free
DISCOUNT 20%
Self-hosted n8n
Unlimited workflows - from $4.99/mo
#1 hub for scraping, AI & automation
6000+ actors - $5 credits/mo
Automated Weekly Project Cost Reports with MySQL and Outlook HTML Emails
🧠 Use Case
Need to keep your finance or operations team updated on missing project costs?
This practical automated report workflow does the job without AI — and saves hours weekly.
- Runs on a weekly schedule
- Queries your MySQL database for projects missing cost data
- Filters by
budgeted_project_cost IS NULL - Generates a clean HTML email report
- Sends it through Microsoft Outlook to relevant teams
🚀 How It Works
- Schedule Trigger – Runs every Monday at 8 AM
- MySQL Node – Connects and runs SQL to fetch project data missing
budgeted_project_cost - Switch Node – Routes logic based on
cost_center(e.g., Retail, Service, Projects) - Outlook Nodes – Sends formatted HTML emails; each node handles a specific group
- Dynamic Content – Inject values using mustache tags like
{{ $json.project_name }}
🔧 Setup Instructions
MySQL Setup:
- Ensure the MySQL node is connected using a valid credential set:
- Hostname/IP
- Port (default: 3306)
- Database name
- Username with SELECT permissions
- Password
- Query Example:
SELECT project_name, cost_center FROM tabProject WHERE status = 'Open' AND project_type = 'External' AND budgeted_project_cost IS NULL;
- Ensure the MySQL node is connected using a valid credential set:
Outlook Configuration:
- Connect your Microsoft Outlook node using OAuth2 credentials.
- Rename each Outlook node clearly (e.g.,
Send Email - Retail,Send Email - Service).
Switch Node:
- Modify cost center values as needed to match your organization (e.g.,
'Retail','Service','Projects').
- Modify cost center values as needed to match your organization (e.g.,
HTML Email Formatting:
- Customize the HTML message body using inline styles and mustache syntax.
- Sample:
<h3>Missing Budgeted Cost Report</h3> <ul> <li>Project: {{ $json.project_name }}</li> <li>Cost Center: {{ $json.cost_center }}</li> </ul>
Recipients:
- Replace
[email protected]with the actual email addresses of the concerned teams.
- Replace
📘 Read More
📺 Demo & Tutorial
🎥 Watch the video walkthrough:
https://youtube.com/@syncbricks
👤 About the Creator
Amjid Ali
🌐 amjidali.com
📘 n8n Book
🎓 Learn n8n
> “Start simple, scale smart. Even basic workflows like this can save your team hours!” — Amjid Ali