Product API Pricing Docs Sign in Build my Agent

What would you like to automate?

What do you want to connect? We'll build the integration
Process refund requests from Zendesk and update Shopify orders Scrape competitor pricing and update our CRM daily Onboard new employees across Slack, Google Workspace, and Jira Extract data from invoices and populate our accounting system Qualify inbound leads and enrich them in HubSpot automatically Monitor social media mentions and create support tickets Connect our ERP to Salesforce and keep customer records in sync
Try it
Integrating with
AmazonAmazon SalesforceSalesforce PG&EPacific Gas & Electric LightspeedLightspeed HubSpotHubSpot NotionNotion ZendeskZendesk SlackSlack MetaMeta MyHSAMyHSA 100,000+ others AmazonAmazon SalesforceSalesforce PG&EPacific Gas & Electric LightspeedLightspeed HubSpotHubSpot NotionNotion ZendeskZendesk SlackSlack MetaMeta MyHSAMyHSA 100,000+ others
10x faster to production Five lines of code Works on 95% of sites

Why is every integration a 3-week project?

Auth is a beast

OAuth flows. Token refresh logic. Rate limit handling. You've built it six times and it's never fun.

APIs aren't always there

Most platforms you need to connect don't have an API. Or it's incomplete. Or it changes without warning.

Integrations break

You ship it. It works. Three months later a site update takes it down — and you're debugging at midnight.

APIs Break. Deck Doesn't.

Deck's AI agents handle authentication, data access, and reliability — so your team ships features instead of plumbing.

Auth Solved. Automatically.

OAuth, session tokens, MFA, login flows. Deck handles it on any site. You connect once and it just works.

No API? No Problem.

95% of sites have no API. Deck uses AI-powered browser agents to access any platform — with or without one.

Five Lines of Code. That's It.

Describe what you need. Deck gives you a clean endpoint. Your sprint stays intact.

connect.ts TypeScript
import Deck from "deck";

const deck = new Deck({ apiKey: process.env.DECK_API_KEY });

const source = await deck.sources.create({
  name: "Salesforce",
  type: "website",
  website: { url: "https://login.salesforce.com" }
});

const run = await deck.tasks.run(taskId, {
  connection_id: conn.id,
  input: { query: "all active accounts" }
});
console.log(run.output);
// → [{ name: "Acme Corp", status: "Active", ... }, ...]

Months of Integration? Gone.

Step 1

Describe the connection

Tell Deck what platform to access and what data you want. That's the whole brief.

Step 2

Deck handles auth and access

AI agents log in, navigate, and extract — handling every edge case automatically.

Step 3

Call it like any API

Clean, structured data. Standard endpoint. Your code doesn't care how it got there.

SShopify••••••••••Rotated 2d ago
ZZendesk••••••••••Active
SFSalesforce••••••••••Active
{
  "status": "completed",
  "output": {
    "contacts": [
      { "name": "Jane Doe", "email": "[email protected]" }
    ],
    "plan": {
      "type": "Business 500",
      "renewal": "2026-04-01"
    }
  }
}

What dev teams are automating with Deck

Pull invoice data from vendor portals into your ERP
Keep customer records in sync across 5 platforms
Extract pricing data from supplier sites without an API
Automate auth flows for legacy enterprise systems
Connect two SaaS tools that have no native integration

Questions devs ask before they ship

That's exactly what Deck is built for. Browser agents navigate any site — logged in, with session handling — just like a human would.

You don't. Deck does. OAuth, session-based login, MFA — managed end to end.

Five lines of code. Deck exposes a standard API endpoint. You call it from wherever you already work.

Deck monitors for changes and self-heals. When something shifts, Deck adapts — not your on-call engineer.

Stop burning sprints on integration plumbing.

Tell Deck what you need to connect. Ship it today.