What are datasets?
Datasets let you bring data from external systems into Gainable. A dataset groups data from one or more connected sources — like Google Sheets, HubSpot, and Stripe — into a single collection. The data comes in as-is from each source, with no transformation or merging required. You can have several sources in one dataset, and each source’s data stays separate within it. When you’re ready, attach the entire dataset to an app or use it to build a new app from data.If you need to merge or normalize data from multiple sources into a single unified output (e.g., matching contacts by email across HubSpot and Google Sheets), use a data model and include it in your dataset.
Two ways to use datasets
Build a new app from data
Create a dataset, sync your sources, and let the DataAnalyzer agent design an entire app around your data. Best when starting a new project from existing data.
Attach to an existing app
Attach a dataset to an app you’ve already built. The synced data appears as read-only collections in your app.
Supported data sources
CRM
| Source | Auth | Capabilities |
|---|---|---|
| HubSpot | OAuth | Read & write contacts, companies, deals |
| Attio | OAuth | Read & write CRM data |
| Folk CRM | API key | Read & write CRM data |
| Salesforce | OAuth | Read & write CRM data |
Databases and spreadsheets
| Source | Auth | Capabilities |
|---|---|---|
| Google Sheets | OAuth | Read & write rows |
| Airtable | OAuth | Read & write bases |
| Supabase | API key + URL | Read & write tables |
Analytics and product
| Source | Auth | Capabilities |
|---|---|---|
| Google Analytics | OAuth | Read analytics data |
| PostHog | API key | Read event and user data |
| Mixpanel | OAuth | Read analytics data |
| Typeform | OAuth | Read form responses |
| Linear | OAuth | Read & write issues |
| Jira | OAuth | Read & write issues |
Payments and data warehouses
| Source | Auth | Capabilities |
|---|---|---|
| Stripe | API key | Read customers, invoices, subscriptions |
| Databricks | Client credentials | Read catalogs, schemas, tables, run SQL |
How it works
Connect a data source
Choose a connector and authenticate with OAuth or an API key. Gainable securely stores the connection. You can have several connectors to the same source with different credentials, for example multiple HubSpot accounts.
Create a dataset
Create a new dataset and give it a name. A dataset is a container for one or more data sources.
Add sources to the dataset
Select which connected sources to include in the dataset. For each source, pick what data to include (for Google Sheets: spreadsheet + sheet, for HubSpot: contacts, deals, etc.).You can add multiple sources to the same dataset — for example, contacts from HubSpot, revenue data from Google Sheets, and payment data from Stripe.
Optionally include data models
If you need merged or normalized views of your data, create a data model and include it in the dataset. Data models let you combine data from multiple sources using merge keys and field mappings.
Multiple sources in one dataset
A key feature of datasets is combining data from different systems without merging. Each source stays separate — you’re grouping related data together, not transforming it.Example: Sales operations dataset
Example: Sales operations dataset
You have customer data spread across three systems:
- HubSpot — contacts and deals
- Google Sheets — quarterly targets and notes
- Stripe — payments and subscriptions
Including data models in a dataset
Datasets take data as-is from sources. But sometimes you need a unified view — for example, merging contacts from HubSpot and Google Sheets by email, or normalizing field names across systems. For this, create a data model with merge keys and field mappings, then include it in your dataset. The data model produces a single merged output that lives alongside your raw source data in the dataset.Manage datasets
The dataset interface has 3 main areas:- Connections tab: View all connected sources in the dataset
- Preview tab: View sample data from connected sources before committing a sync
- Cron tab: Enable auto sync to keep the data updated from connected sources
Best practices
Group related sources together
Group related sources together
Use data models for merging
Use data models for merging
Don’t try to work around source boundaries. If you need to match records across sources (e.g., contacts by email), create a data model with merge keys and include it in the dataset.
Test with preview before syncing
Test with preview before syncing
Always check the Preview tab before running a full sync. This lets you catch unexpected data or connection issues before they reach your app.
Learn more
Build from data
Let AI analyze your dataset and build an app around it
Data models
Merge and normalize data from multiple sources
AI agents overview
Add intelligent AI assistants to your apps
Agent functions
Connect agents to your app data through API endpoints