Connect your tools. Model your data. Attach it to any app.
Set up connections to HubSpot, Stripe, Google Sheets, and more. Create data models that merge and normalize across sources. Package it all into a dataset, attach it to an app, and start building on real data.
Supported connectors
Authenticate with OAuth or API key. Keep multiple connections to the same service with different credentials.
How data flows into your app
Three layers, one outcome: your app running on live, structured data.
Connect your sources
Add connections to Google Sheets, HubSpot, Stripe, Databricks, or any supported source. Each connection authenticates independently. Connect 4 different Google Sheets, 2 HubSpot accounts, whatever you need.
Merge and normalize
Pull data from multiple connections into one model. Define merge keys (like email), set priority rules for conflicts, and map fields across sources. HubSpot contacts + Google Sheet leads + Stripe customers become one unified record.
Attach to your app
Create a dataset from your connections and published models. Pick exactly which data to include. Attach the dataset to an app and the AI data analyzer starts building around your real data.
See it in practice
A revenue ops lead wants one app that shows pipeline, payments, and territory data together.
Set up 4 connections: HubSpot deals, Stripe invoices, Google Sheet with territory assignments, and another Sheet with quota targets.
Create a data model that merges HubSpot and Stripe by customer email. Map "deal_amount" to "invoice_total" and resolve mismatches with priority rules.
Create a dataset that includes the published model plus both Google Sheets. Choose specific columns and date ranges.
Attach the dataset to a new app. Describe "revenue dashboard with pipeline vs. actuals by territory" and it builds around the data.
What you can do with connected data
Multiple connections per source
Connect the same service multiple times with different credentials. Two HubSpot portals, three Google Sheets, all feeding the same dataset.
Cross-source merging
Define a merge key like email or customer ID. The data model matches records across systems and produces one unified view.
Pick exactly what you need
Choose which tables, columns, and records make it into your dataset. Your app only sees the data that matters.
Read and write
Not just imports. Write back to HubSpot, Google Sheets, and more. Two-way sync keeps everything consistent.
Published models as building blocks
Publish a data model and reuse it across datasets. One "unified customer" model can feed your sales app, support app, and dashboard.
AI builds around your data
Attach a dataset to an app and the data analyzer reads its structure. Describe what you want and it builds with your real fields, real types, and real records.
Common setups
Real examples of how teams combine their tools.
Unified customer view
HubSpot contacts + Stripe billing + a Google Sheet of account notes. One data model merges them by email. One dataset feeds your account management app.
Revenue dashboard
Stripe invoices and HubSpot deals in one dataset. Attach it to a dashboard app that shows pipeline vs. actuals with live numbers.
Spreadsheet upgrade
Three Google Sheets that different teams maintain. One dataset combines them into a structured app with validation and permissions. The sheets keep working.
Multi-CRM migration
Attio and HubSpot running in parallel during a migration. A data model merges both into one view so your team works from a single source of truth while you transition.
Your tools, your data, one app.
Connect your sources, model the data you need, and build apps that run on real numbers from day one.
Connect your data