Build through your agent.
Run on Integrate.
Integrate stores and runs workflows across your connected apps. Your agent creates the definition through MCP. Developers use the same operations through the API, SDK, or CLI.
Connect your agent
Add a remote Streamable HTTP MCP server in your agent’s settings. Use this URL and sign in when prompted. Review the permissions before granting access.
https://integrate.dev/mcpRead lets the agent inspect resources, workflows, receipts, and balance. Manage permits account connections and workflow publication. Execute permits running and retrying workflows. Access tokens expire after 15 minutes. Offline access allows token renewal until you revoke the agent in the app.
Ask your agent to list Integrate’s actions and connections. If credentials are missing, it returns a secure connection link. Open that link yourself and enter the token there.
Three workflows to start with
A new lead, in the right places.
Use Integrate to connect my Tally form, Airtable base, and Slack channel. When someone submits the form, upsert a record in my selected Airtable table by email, then post the record link to Slack. Discover the available forms, table fields, and channels. Ask me which to use. Validate a draft and show me its dry run and cost before publishing.
$0.02 per run after successful completion.
A purchase starts the welcome.
Use Integrate to connect Stripe, Notion, and Slack. For paid Checkout purchases containing my selected Pro price, create an onboarding page under my selected Notion parent, then send its link to my Slack channel. Discover my prices, pages, and channels. Deduplicate by Checkout Session ID. Validate a draft and show me its dry run and cost before publishing.
$0.02 per run after successful completion.
Friday’s update writes itself.
Use Integrate to connect Linear, Notion, and Slack. Every Friday at 16:00 Europe/Amsterdam, fetch the previous week’s completed issues from my selected teams, group them by project into a deterministic digest, create a Notion page under my selected parent, and send its link to Slack. Discover the teams, pages, and channels. Validate a draft and show me its dry run and cost before publishing.
$0.03 per run after successful completion.
Draft, validate, publish
Agents discover resources, create a draft, validate the input mappings, and inspect a dry run with sample data. A dry run resolves known fields without executing connector calls. Later step outputs remain unresolved until a real run. Explicitly publishing activates triggers and creates an immutable version. Updating a draft does not change existing runs.
Definitions contain native actions, literal values, field references such as {"$ref":"input.email"}, filters, deterministic transforms, and bounded iteration. References may use input, an earlier step’s output, or the current loop item. Loops must declare a limit. A run has a maximum of 100 action invocations.
Connect once, restrict access
Hosted connection links expire after 15 minutes and can be used once. Tokens are encrypted on the server. Account discovery is included in execution pricing.
| App | Credential and permissions |
|---|---|
| Tally | API key. Choose the forms Integrate can use. Signed webhooks are checked before ingestion. |
| Airtable | Base-scoped personal access token with record read/write and schema read permissions. |
| Slack | Internal app bot token with chat:write and channels:read. Invite it to selected channels. |
| Notion | Internal integration with read and insert content. Explicitly share the selected parent pages. |
| Linear | Read-only API key. Restrict teams where available, then select allowed teams in Integrate. |
| Stripe | Restricted key with Checkout Session, price, product, and line item read access. Automatic webhook registration also requires webhook endpoint write access. Manual endpoint setup is supported. |
Revoking a connection prevents further use inside Integrate. Revoke the provider token in its original app to invalidate it everywhere.
Install the SDK and CLI
Versioned packages are served directly from Integrate. No registry account is required.
npm install https://integrate.dev/downloads/integratedotdev-sdk-0.1.0.tgz
npm install -g https://integrate.dev/downloads/integratedotdev-cli-0.1.0.tgzSHA-256 checksums · Node.js 20 or later.
import { Integrate } from '@integratedotdev/sdk';
const integrate = new Integrate({
apiKey: process.env.INTEGRATE_API_KEY!
});
console.log(await integrate.actions.list());
console.log(await integrate.balance());Create a scoped API key in the app. Keys are shown once, stored hashed, and can be revoked. Keep workspace keys on your server.
integrate login
integrate actions
integrate workflows list
integrate runs list
integrate balanceOn macOS, login reads the key from standard input and saves it in Keychain. Other operating systems use the INTEGRATE_API_KEY environment variable. The CLI does not write credentials to project files.
Embed customer workflows
A workspace-wide server key can create isolated customer contexts. Connections, workflows, runs, and credentials belong to that context. Context-scoped keys cannot access other customers. Your server creates connection links and sends each customer their own URL.
const customer = await integrate.contexts.create({
externalId: 'customer_42',
name: 'North Studio'
});
const link = await integrate.connections.link({
contextId: customer.id,
provider: 'slack',
label: 'Team Slack'
});
const key = await integrate.keys.create({
contextId: customer.id,
name: 'North Studio runtime',
scopes: ['read', 'manage', 'execute']
});Personal agent OAuth is restricted to the account’s personal context. Workspace owner sessions can monitor all customer contexts.
What happens during a run
Signed events and private payloads are persisted before acknowledgment. A recovery dispatcher picks up queued runs every minute. Vercel Workflow runs a compiled interpreter against the stored immutable definition. Database leases, unique event keys, and step receipts protect against repeated execution.
Retries continue after completed steps. Connector writes that return an ambiguous result are held for reconciliation. Ask your agent to verify the external outcome and reconcile its receipt before another attempt. Integrate does not silently repeat an uncertain write.
Pausing stops future dispatch. An action already sent to a provider may still complete. Scheduled workflows use IANA timezones, including daylight saving changes. The Friday digest uses a half-open window from the previous Friday at 16:00 to the current Friday at 16:00.
Private input and output payloads are retained for 30 days. Run receipts remain available after payload expiry. Provider tokens never appear in receipts.
Action limits
| Action | Bound |
|---|---|
| Airtable upsert | One record per action, matched by email. |
| Airtable read | 10 pages, 1,000 records maximum. |
| Linear completed issues | 10 pages, 1,000 issues maximum. |
| Stripe session | One session, 10 pages of line items, 1,000 items maximum. |
| Slack post | One message, 40,000 characters maximum. |
| Notion create or append | 100 text blocks, 150,000 characters maximum. |
Prepaid execution
Every verified account receives $1 once. Credit packages are $5, $20, and $50 in USD. Each successful logical connector action costs $0.01, including reads. Provider pagination within the documented action limit is included.
Trigger ingestion, necessary trigger validation, resource discovery, filters, and transforms are included. A Tally lead or Stripe onboarding flow uses two billable actions and costs $0.02. The weekly digest uses three and costs $0.03.
Credit is reserved atomically before each connector action, settled on success, and released on confirmed failure. Automatic retries charge once. Already completed actions remain charged if a later action fails. Insufficient credit blocks the run before its next chargeable action. Adding credit lets blocked runs continue. Deliberate replay with a new idempotency key creates a new billable run.
Refunds remove the corresponding unused or credited amount from the ledger. If refunded credit has already been spent, the account must restore its balance before running more actions. No internal model execution is included in this release.
API reference
The API uses Bearer keys at https://integrate.dev/api/v1. Successful responses return a data property. Errors return an error with code and message. Submit an Idempotency-Key header when starting a run.
OpenAPI 3.1 document · Agent documentation
curl https://integrate.dev/api/v1/balance \
-H "Authorization: Bearer $INTEGRATE_API_KEY"