> ## Documentation Index
> Fetch the complete documentation index at: https://agnt.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Connections Overview

> Proxy requests to third-party services through agntdata using your own vendor credentials.

## What are connections?

Connections let you proxy API requests to third-party services through agntdata using your own credentials with each vendor. Store your vendor API keys (or OAuth installs) securely in agntdata and call them with a single agntdata API key — without exposing vendor credentials in your client applications.

Connections are billed by the vendor (you pay the vendor directly). For curated data sources where agntdata pays the vendor and bills you in credits, see **[Data APIs](/data-apis/overview)**.

## How connections work

<Steps>
  <Step title="Configure a connection">
    Add your third-party API key (or complete the OAuth flow) for the vendor from the agntdata dashboard.
  </Step>

  <Step title="Make requests">
    Call the connection endpoint with your agntdata API key. agntdata proxies the request to the third-party service using your stored credentials.
  </Step>

  <Step title="Get the response">
    agntdata returns the third-party service response with a consistent envelope.
  </Step>
</Steps>

```mermaid theme={null}
sequenceDiagram
    participant App as Your App
    participant agntdata as agntdata API
    participant Service as Third-party Service

    App->>agntdata: Request with agntdata API key
    agntdata->>Service: Proxy request with your stored credentials
    Service->>agntdata: Response
    agntdata->>App: Proxied response
```

## OAuth-first

For vendors that support OAuth (Google Docs, Google Sheets, Slack, Stripe, Linear, Cal.com, Supabase, Dub), agntdata prefers an OAuth install over a pasted API key. If both exist on a connection, the OAuth credential is used — and most paste-key paths are disabled in the dashboard for OAuth-capable providers. This avoids the "I pasted a key but my OAuth is also connected" footgun.

## API endpoint

Make requests to third-party services through:

```
GET/POST/PUT/DELETE https://api.agntdata.dev/v1/connections/:vendor/*
```

agntdata forwards the wildcard path and query parameters to the third-party service.

### Example

```bash theme={null}
# Request through agntdata
curl -X GET "https://api.agntdata.dev/v1/connections/instantly/campaigns" \
  -H "Authorization: Bearer YOUR_AGNTDATA_API_KEY"

# Equivalent direct request (requires your Instantly API key)
curl -X GET "https://api.instantly.ai/api/v2/campaigns" \
  -H "Authorization: Bearer YOUR_INSTANTLY_API_KEY"
```

## Response format

Successful responses include the proxied data:

```json theme={null}
{
  "success": true,
  "data": {
    // Response from third-party service
  },
  "meta": {
    "vendor": "instantly",
    "cached": false,
    "latencyMs": 245
  }
}
```

## As MCP tools

Every connection automatically becomes a family of MCP tools (`connection_<vendor>_<operationId>`) on any deployed agent that has the connection enabled in its config. The Builder surfaces these under `list_workspace_integrations`. You don't have to pick them per-operation — installing the connection enables the whole family.

## Benefits

<AccordionGroup>
  <Accordion title="Secure credential storage">
    Vendor API keys are encrypted at rest. OAuth tokens are refreshed automatically; your client never sees the bot or access token.
  </Accordion>

  <Accordion title="Unified authentication">
    One agntdata API key authenticates every vendor proxy. Your app handles one key, not N vendor secrets.
  </Accordion>

  <Accordion title="Consistent error handling">
    agntdata normalizes errors into the same envelope shape as the rest of the API.
  </Accordion>

  <Accordion title="Agent-ready">
    Connections are automatically available to any deployed agent that needs them — no separate wiring.
  </Accordion>
</AccordionGroup>

## Available connections

Documented in detail:

<CardGroup cols={2}>
  <Card title="Stripe" icon="credit-card" href="/connections/vendors/stripe">
    Payments, customers, subscriptions, invoices, checkout.
  </Card>

  <Card title="Linear" icon="rocket" href="/connections/vendors/linear">
    Native MCP + GraphQL. Issues, projects, cycles, teams.
  </Card>

  <Card title="Cal.com" icon="calendar" href="/connections/vendors/calcom">
    Bookings, event types, schedules, availability (v2).
  </Card>

  <Card title="Supabase" icon="database" href="/connections/vendors/supabase">
    Your own Supabase organization — projects, SQL, edge functions, branches.
  </Card>

  <Card title="Dub" icon="link" href="/connections/vendors/dub">
    Short links, analytics, attribution.
  </Card>

  <Card title="Slack" icon="slack" href="/connections/vendors/slack">
    Native bot — chat, channels, escalations.
  </Card>

  <Card title="Exa" icon="magnifying-glass" href="/connections/vendors/exa">
    Neural search.
  </Card>
</CardGroup>

### Also available in the dashboard

Other providers ship with proxy support but don't have a dedicated page yet — find them in the dashboard at **Connections → Add connection**:

* **Google Docs** and **Google Sheets** (OAuth)
* **Attio** (CRM)
* **AgentMail** (transactional email)
* **HeyReach** (LinkedIn outreach)
* **Instantly** (email outreach)
* **PostHog** (product analytics)
* **SocialScraper** (additional social data)
* **X (official API)** — distinct from the unified X data API; useful when you need posting/write scopes.
* **memelord** — image generation utility.

## Next steps

<CardGroup cols={2}>
  <Card title="Configuring connections" icon="gear" href="/connections/configuring">
    The step-by-step setup guide for OAuth and BYOK.
  </Card>

  <Card title="Tools" icon="screwdriver-wrench" href="/agents/tools">
    How connections appear as agent tools.
  </Card>
</CardGroup>
