Your spreadsheet assumptions are already wrong. The market moved, your metrics changed, and that "current" forecast is based on last week's numbers. Sound familiar?
Today we're introducing Connections—a way to power your Monte Carlo simulations with live data from the tools you already use.
The problem with static assumptions
Traditional simulation tools treat inputs as one-time entries. You gather your data, type it in, run your model, and move on. But real-world assumptions don't work that way.
- Market data changes constantly — Stock prices, exchange rates, and commodities shift by the minute
- Business metrics evolve — User growth, churn, and conversion rates are living numbers
- Teams maintain data separately — Finance owns the spreadsheet, product owns the analytics
Every copy-paste introduces friction. And friction means your models drift from reality.
Introducing Connections
Connections are live data sources that feed directly into your simulations. Create a connection once, and every referenced value stays in sync with the source.
The syntax is simple: @connection_name.field_name
// Reference live data in any formula
base_revenue * @assumptions.growth_rate
// Combine multiple sources
@sales.revenue * shares * (1 + @analytics.user_growth)
Seven ways to connect
We've built integrations for the most common data sources. Each one takes minutes to set up and works seamlessly with Carlo's formula engine.
Manual
Enter values directly for quick assumptions and scenario testing.
@assumptions.growth_rate
Webhook
Receive updates from Zapier, Make, or any automation tool.
@crm.pipeline_value
PostHog
Pull analytics metrics: events, users, pageviews, custom queries.
@analytics.unique_users_7d
Stripe
Sync billing metrics: MRR, ARR, customer counts, and revenue.
@billing.mrr
Airtable
Pull data from Airtable bases and tables with name/value pairs.
@metrics.conversion_rate
Notion
Sync from Notion databases. Great for team-managed assumptions.
@notion_data.growth_rate
REST API
Connect any JSON endpoint. Use for custom APIs and internal tools.
@api.active_users
How it works
Setting up a connection takes three steps:
- Create the connection — Choose a type and give it a name like
marketoranalytics - Configure the source — Enter credentials, select data, or set up the webhook
- Reference in formulas — Use
@connection.fieldanywhere you'd use a number
In the app, connections fetch live data when you click Run. Embedded simulations use cached data for instant loading, with automatic background refresh when the cache is stale.
Use cases
Here's what you can build with connections:
SaaS forecasting with real metrics
Connect PostHog to feed your user count, event volumes, and conversion rates directly into revenue projections. As your product grows, your forecasts update automatically.
Team-maintained assumptions
Finance updates growth assumptions in Notion or Airtable. Product updates conversion rates. Your simulation pulls from both, always in sync, no meetings required.
Revenue forecasting with Stripe
Connect Stripe to pull your actual MRR, ARR, and customer counts into projections. As your revenue grows, your forecasts stay accurate without manual updates.
Automated data pipelines
Use webhooks to push data from Zapier, Salesforce, or your CRM. When pipeline value changes, your projections update instantly.
Custom API integrations
Connect any JSON API with the REST API connection. Pull data from internal dashboards, custom analytics systems, or any service that returns JSON.
Getting started
Connections are available now for all Carlo users:
- Open any simulation you own
- Click the settings icon and navigate to Connections
- Add a connection and choose your data source
- Use
@connection.fieldin any formula
Check out the Connections documentation for detailed setup guides and examples.
The best forecast is one that never goes stale. Connections make that possible.
We're excited to see what you build. Tag us with your connected simulations—we'd love to feature the most creative uses.



