Back to Case Studies
CFA Institute logo
Industry
Financial Services
Company Size
1000+
What they do
Global association of investment professionals that sets standards and provides education for the financial services industry, serving hundreds of thousands of investment professionals worldwide.
What they do on Windmill
Synthetic monitoringMicrosoft Teams BotGrafana data layer
Deployment
EE Cloud
Workers
21
Case Study

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 in his home lab for a year, they 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 some strict requirements around maintenance and deployment process to get those into production. So it was really difficult for us to get a script up and have it quickly deployed and easily maintained by the team."

— Cam Barts, SR 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
  • Rapid Deployment - Bypass enterprise change management for script iterations
  • 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

Discovery through open source validation

Cam Barts discovered Windmill through alternativeTo.net while searching for open-source alternatives. As a tech lead who regularly explores projects in his home lab, Cam deployed Windmill and tested it for approximately one year before introducing it to CFA Institute in February 2025.

This "try before you buy" approach was critical. Cam had already proven Windmill's capabilities in his own environment before advocating for enterprise adoption. His journey illustrates an important adoption pattern: personal exploration in a safe environment, proof of concept for team use cases, and organic advocacy that spreads through demonstrated value.

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 breeze. 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.

Rapid deployment without change management

Windmill scripts could be deployed immediately without going through CFA Institute's strict change management process. With Git sync, proper version control, and workspace collaboration features, the entire SRE team could work together seamlessly.

"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.