
How CFA Institute migrated from n8n and scaled production-critical monitoring with Windmill
CFA Institute's SRE team needed to replace n8n with a platform robust enough for production-critical monitoring. After their SRE manager tested Windmill internally for a year, they fully migrated in early 2025. Today, Windmill runs 25 synthetic tests every 5 minutes protecting revenue-generating processes, and usage has "exploded" across their IT organization.
About
CFA Institute is a global association of investment professionals that sets standards and provides education for the financial services industry, serving hundreds of thousands of investment professionals worldwide. Their SRE team needed to replace n8n and scattered AWS Lambda scripts with a platform robust enough to handle production-critical monitoring, complex integrations, and rapid deployment requirements, all while meeting enterprise compliance standards.
The Problem
CFA Institute's SRE team faced a common enterprise dilemma: they needed to automate frequent operational tasks, but their company's maintenance requirements made rapid deployment nearly impossible.
"Our company has strict requirements around maintenance and deployment processes. We needed a way to get scripts into production quickly while still meeting those compliance standards."
— Cam Barts, Manager, SRE
The team had been using a patchwork of solutions: ad hoc scripts deployed as AWS Lambdas or Azure functions, n8n for basic automation workflows, and manual processes that couldn't be quickly automated. While n8n worked for simple automations, the platform hit its limits as their needs grew more complex.
The critical requirements they needed:
- Real Programming Capabilities - Complex business logic beyond visual workflows
- Production Reliability - Mission-critical monitoring that can't fail
- Streamlined Deployment - Faster path to production while maintaining compliance
- Team Collaboration - Proper version control and Git workflows
- Scale - Handle hundreds of executions per hour with complex orchestration
"We needed something that was going to be a lot more robust, something that we could actually write code inside of. Windmill was kind of a natural evolution from n8n."
— Cam Barts
The Solution
Real code with full language features
Unlike n8n's visual workflows, Windmill enabled the team to write actual Python code with full language features and library support. This was essential for their most critical use case: synthetic monitoring of revenue-generating processes.
# Example CFA Institute synthetic monitoring script
def main(endpoint: str, expected_status: int = 200):
# Real Python with full ChromeDriver integration
from selenium import webdriver
options = webdriver.ChromeOptions()
driver = webdriver.Chrome(options=options)
try:
driver.get(endpoint)
# Complex validation logic here
return {"status": "success", "timestamp": datetime.now()}
finally:
driver.quit()
Today, CFA Institute runs 25 concurrent synthetic tests every 5 minutes (300 executions per hour) using ChromeDriver-based browser automation. These aren't simple uptime checks; they're full user journey simulations that validate every step of their critical revenue processes.
Windmill's high performance handled this workload with ease. The platform's optimized execution runtime and efficient job queue management ensure that all 25 concurrent tests execute reliably without bottlenecks, maintaining the 5-minute cadence that protects their revenue-generating processes around the clock.
Streamlined deployment within compliance framework
Windmill scripts integrate into CFA Institute's formal change management process through a hot path that accelerates production readiness while maintaining proper controls. With Git sync, proper version control, and workspace collaboration features, the entire SRE team could work together seamlessly within their governance framework.
"We were very quickly able to get our scripts out of n8n and transitioned over into Windmill pretty quickly. And then from there our use of Windmill has kind of exploded."
— Cam Barts
Enterprise-wide integration platform
Beyond synthetic monitoring, CFA Institute built sophisticated integrations that extended across their organization:
Microsoft Teams Bot - Built on Windmill's Teams integration, the bot became "the biggest hit with leadership." Available in every channel, it handles postmortem searches, release status queries, and Jira notifications. Development teams use it for release monitoring, DevOps teams track deployment pipelines, and production support searches historical postmortems, all through natural language queries in Teams.
Grafana Data Layer - Windmill serves as a data processing layer between complex data sources and Grafana. Instead of connecting Grafana directly to sources with limitations (like Jira's 50-ticket pagination limit), Windmill scripts fetch data from multiple sources, perform transformations and merging, apply business logic, and expose clean results via API. Business stakeholders consume integrated data through Grafana dashboards without knowing Windmill powers them behind the scenes.
The Result
After seven months in production, Windmill usage has "exploded" across CFA Institute's IT organization. What started as a single SRE team pilot has grown into organization-wide demand, with multiple teams actively building and weekly requests for expansion.
The platform has proven production-stable for their most critical workloads: 25 synthetic tests running every 5 minutes without failures, platform updates every 2 weeks with zero incidents, and mission-critical monitoring that directly protects revenue-generating processes.
The transition from n8n required only brief training sessions before the entire team became productive and, ultimately, advocates. Business stakeholders and non-technical teams now have access to sophisticated automation through Grafana dashboards, Teams bot queries, and auto-generated UIs, all powered by real code underneath that developers can iterate on rapidly.
Conclusion
CFA Institute's journey from n8n to Windmill demonstrates how the right platform can transform isolated scripts into an enterprise-wide automation layer. By choosing a developer-first platform that supports real code, Git workflows, and production-grade reliability, they've built mission-critical infrastructure that protects revenue while enabling rapid iteration.