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
Featuring
Cam Barts
Manager, SRE at CFA Institute
Case StudyJanuary 28, 2026

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.