Unified Integrations API

Connect your users' apps in minutes, not months

Unified API for CRM, storage, communication, and productivity. We handle OAuth, token refresh, and API quirks—you build features.

$1.00 / 1,000 API calls • No per-connection fees • No monthly minimums

Building integrations yourself

The old way

Months of development per integration
Learning each API's quirks
OAuth tokens and refresh logic
Rate limits and error handling
With Stack0 Integrations

One API, all integrations

Add any integration in minutes
Unified data models across providers
OAuth and tokens handled for you
We maintain provider updates
How It Works

Three steps to integration

1

User connects

User initiates connection via IntegrationsConnect component or custom UI.

2

OAuth handled

Stack0 handles the OAuth flow with the provider. You receive a connectionId.

3

Use unified API

Call unified endpoints with connectionId. We translate to provider APIs.

connection.ts
import { Stack0 } from '@stack0/sdk';
const stack0 = new Stack0({ apiKey: process.env.STACK0_API_KEY });
// Create connection session for user to connect HubSpot
const session = await stack0.integrations.createConnectionSession({
endUserId: 'user_123',
connectorSlug: 'hubspot',
redirectUrl: 'https://yourapp.com/integrations/callback',
});
// Redirect user to session.authUrl to complete OAuth
Supported Categories

Access data from tools your users already use

CRM

Access contacts, companies, deals, and notes from your users' CRM systems.

HubSpotSalesforcePipedrive
.listContacts().createContact().listCompanies().listDeals()

Storage

Upload, download, and manage files in your users' cloud storage.

Google DriveDropboxOneDrive
.listFiles().uploadFile().downloadFile().createFolder()

Communication

Send messages and interact with channels in messaging platforms.

SlackDiscord
.listChannels().sendMessage().listUsers()

Productivity

Work with documents, databases, and tables in productivity tools.

NotionGoogle SheetsAirtable
.listDocuments().listTables().createTableRow()
CRM Category

Unified CRM Access

Access contacts, companies, deals, and notes. Same code works with HubSpot, Salesforce, or Pipedrive.

crm.ts
// After connection, use unified CRM API
const { contacts } = await stack0.integrations.crm.listContacts({
connectionId: 'conn_abc123',
limit: 50,
});
// Create contact in user's CRM (works with HubSpot, Salesforce, or Pipedrive)
const contact = await stack0.integrations.crm.createContact({
connectionId: 'conn_abc123',
data: {
email: 'lead@example.com',
firstName: 'Jane',
lastName: 'Doe',
},
});
Storage Category

Unified File Storage

Upload, download, and manage files. Works with Google Drive, Dropbox, and OneDrive.

storage.ts
// Upload file to user's Google Drive/Dropbox/OneDrive
await stack0.integrations.storage.uploadFile({
connectionId: 'conn_def456',
name: 'report.pdf',
content: fileBuffer,
folderId: 'folder_123',
});
// List files in user's storage
const files = await stack0.integrations.storage.listFiles({
connectionId: 'conn_def456',
folderId: 'folder_123',
});
Communication Category

Unified Messaging

Send messages, list channels, interact with users. Works with Slack and Discord.

communication.ts
// Send message to user's Slack channel
await stack0.integrations.communication.sendMessage({
connectionId: 'conn_ghi789',
channelId: 'C1234567890',
text: 'New lead submitted! 🎉',
});
// List channels in user's workspace
const channels = await stack0.integrations.communication.listChannels({
connectionId: 'conn_ghi789',
});
Pre-Built UI

IntegrationsConnect Component

Drop-in React component handles OAuth flows and connection UI

Features

  • Pre-built connection UI
  • Customizable styling
  • Handles OAuth redirects
  • Connection status management
  • Error handling built-in
MyApp.tsx
import { IntegrationsConnect } from '@stack0/elements';
<IntegrationsConnect
baseUrl="/api/integrations"
onConnected={(connection) => {
console.log('Connected:', connection.connectorSlug);
}}
/>

Passthrough API

Need provider-specific features not in our unified model? Make raw API calls using your connection's credentials.

passthrough.ts
// For provider-specific features not in unified model
const response = await stack0.integrations.passthrough({
connectionId: 'conn_abc123',
method: 'GET',
path: '/crm/v3/objects/custom_object',
});
Features

Built for developers

Unified API

One consistent interface for all providers. Write code once, support every integration.

OAuth Made Simple

Pre-built connection UI handles auth flows. Your users connect in seconds.

Token Management

Automatic token refresh and credential storage. Never worry about expired tokens.

Type Safety

Full TypeScript support with auto-generated types for all endpoints and responses.

Passthrough API

Need provider-specific features? Make raw API calls with your connection's credentials.

Your OAuth Apps

Use your own OAuth credentials. Your branding, your trust relationship with users.

Use Cases

What you can build

CRM Sync for Sales Tools

Sync contacts, deals, and activities between your app and your users' CRM.

File Storage for Document Apps

Let users save and retrieve files from their preferred cloud storage.

Slack Notifications

Send alerts, updates, and notifications to your users' Slack channels.

Notion/Airtable Automation

Read and write data to users' databases for workflow automation.

Part of Stack0 Platform

Integrations work alongside Stack0 Mail, CDN, and other products. Same SDK, same dashboard, unified billing. Build faster with a complete backend toolkit.

Pricing

Simple, usage-based pricing

Pay only for the API calls you make. No per-connection fees.

Integrations API
$1.00/ 1K calls

Unified API access to all connected providers

All provider categories
OAuth token management
Connection health monitoring
Passthrough API access
No per-connection fees
Get Started

Start with $5 free credits. No credit card required.

Ready to start connecting?

Add integrations to your app in minutes. Stop building OAuth flows—start shipping features.