# CallRail — Pipedream Connect

> CallRail’s lead intelligence platform helps businesses market with confidence.

- API slug: `callrail` (use in MCP headers and tool keys)
- Auth: API key (Pipedream-managed)
- Categories: Marketing
- Website: https://www.callrail.com/
- This page (HTML): https://pipedream.com/apps/callrail
- Tools: 1 action · 3 triggers

## Connect via MCP (recommended)

- Endpoint: `https://remote.mcp.pipedream.net/v3`
- Headers: `Authorization: Bearer <token>` · `x-pd-project-id` · `x-pd-environment` · `x-pd-external-user-id` · `x-pd-app-slug: callrail`

```ts
import { Client } from "@modelcontextprotocol/sdk/client/index.js"
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const accessToken = await pd.rawAccessToken

const transport = new StreamableHTTPClientTransport(
  new URL("https://remote.mcp.pipedream.net/v3"),
  {
    requestInit: {
      headers: {
        Authorization: `Bearer ${accessToken}`,
        "x-pd-project-id": process.env.PIPEDREAM_PROJECT_ID!,
        "x-pd-environment": "production",
        "x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
        "x-pd-app-slug": "callrail",
      },
    },
  },
)

const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)

const { tools } = await mcp.listTools()

// e.g. run List Account ID Options:
const result = await mcp.callTool({
  name: "callrail-list-account-id-options",
  arguments: {
    page: 10,
  },
})
```

Docs: [MCP guide](https://pipedream.com/docs/connect/mcp/developers.md)

## API proxy

For a CallRail endpoint with no pre-built tool, the proxy forwards your request with the connected user's credentials attached.

```bash
# The path segment is the target URL, URL-safe base64 encoded:
# https://api.callrail.com/v3/a.json

curl "https://api.pipedream.com/v1/connect/{project_id}/proxy/aHR0cHM6Ly9hcGkuY2FsbHJhaWwuY29tL3YzL2EuanNvbg?external_user_id={external_user_id}&account_id=apn_xxxxxxx" \
  -H "Authorization: Bearer {access_token}" \
  -H "x-pd-environment: production"
```

Docs: [API proxy guide](https://pipedream.com/docs/connect/api-proxy.md)

## SDK

```ts
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const result = await pd.actions.run({
  id: "callrail-list-account-id-options",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    callrail: { authProvisionId: "apn_xxxxxxx" },
    page: 10,
  },
})
```

Docs: [Managed auth guide](https://pipedream.com/docs/connect/managed-auth/quickstart.md) · [Tools guide](https://pipedream.com/docs/connect/components.md)

## Actions (1)

### `callrail-list-account-id-options` — List Account ID Options (Read-only)

Retrieves available options for the Account ID field.

Full schema: https://pipedream.com/apps/callrail/actions/list-account-id-options.md

## Triggers (3)

### `callrail-new-sms-received-instant` — New SMS Received (Instant) (Instant)

Emit new event when a text message is received.

Full schema: https://pipedream.com/apps/callrail/triggers/new-sms-received-instant.md

### `callrail-phone-call-completed-instant` — Phone Call Completed (Instant) (Instant)

Emit new event when an inbound phone call has completed and its recording and transcription have completed and attached. It contains the full data about the call.

Full schema: https://pipedream.com/apps/callrail/triggers/phone-call-completed-instant.md

### `callrail-phone-call-started-instant` — Phone Call Started (Instant) (Instant)

Emit new event when an inbound phone call is received by CallRail. It contains the full data about the call.

Full schema: https://pipedream.com/apps/callrail/triggers/phone-call-started-instant.md

---

- All apps: https://pipedream.com/apps — index: https://pipedream.com/llms.txt
- Pipedream docs for agents: https://pipedream.com/docs/llms.txt
