# Attio — Pipedream Connect

> Customer relationship magic. Powerful, flexible and data-driven, Attio makes it easy to build the exact CRM your business needs.

- API slug: `attio` (use in MCP headers and tool keys)
- Auth: OAuth (Pipedream-managed)
- Categories: CRM
- Website: https://attio.com/
- This page (HTML): https://pipedream.com/apps/attio
- Tools: 9 actions · 10 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: attio`

```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": "attio",
      },
    },
  },
)

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

const { tools } = await mcp.listTools()

// e.g. run Create Note:
const result = await mcp.callTool({
  name: "attio-create-note",
  arguments: {
    parentObject: "Parent Object",
    parentRecordId: "Parent Record ID",
  },
})
```

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

## API proxy

For a Attio 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.attio.com/v2/self

curl "https://api.pipedream.com/v1/connect/{project_id}/proxy/aHR0cHM6Ly9hcGkuYXR0aW8uY29tL3YyL3NlbGY?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: "attio-create-note",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    attio: { authProvisionId: "apn_xxxxxxx" },
    parentObject: "Parent Object",
    parentRecordId: "Parent Record ID",
  },
})
```

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

## Actions (9)

### `attio-create-note` — Create Note (Write)

Create a plaintext note attached to a record (person, company, deal, or any object). Use when you want to log context on a record. Set Parent Object, Parent Record ID, Title, and Content. Example: Parent Object people, Parent Record ID 891dcbfc-9141-415d-9b2a-2238a6cc012d, Title Intro call, Content…

Full schema: https://pipedream.com/apps/attio/actions/create-note.md

### `attio-create-update-record` — Create or Update Record (Write)

Creates or updates a specific record such as a person or a company. If a record with the same matching attribute already exists, it's updated; otherwise a new record is created. Objects without a unique attribute to match on (e.g. deals) are not available here. Example: Object companies, Matching…

Full schema: https://pipedream.com/apps/attio/actions/create-update-record.md

### `attio-create-person` — Create Person (Write)

Create a new person record in Attio. Use when adding a contact. Set any of the person fields (name, email, job title, phone, socials) and optionally link a company by its record id. Example: First Name Ada, Last Name Lovelace, Email ada@example.com, Job Title Analyst. Returns the created person…

Full schema: https://pipedream.com/apps/attio/actions/create-person.md

### `attio-create-task` — Create Task (Write)

Create a task in Attio with content, a deadline, completion state, optional assignees, and optional linked records. Use when you need a follow-up or to-do. Example: Content Email the signed contract to Ada, Deadline 2026-09-01T17:00:00Z, Is Completed false. Returns the created task with its id. See…

Full schema: https://pipedream.com/apps/attio/actions/create-task.md

### `attio-delete-list-entry` — Delete List Entry (Write)

Delete an entry from a list (this removes the record from the list, not the underlying record itself). Destructive — confirm the entry before deleting. Use List List ID Options to find a List ID, then choose the Entry ID to remove. Example: List ID 33ebdbe9-e529-47c9-b894-0ba25e9c15c0, Entry ID…

Full schema: https://pipedream.com/apps/attio/actions/delete-list-entry.md

### `attio-get-record` — Get Record (Read-only)

Retrieve a single record by its ID from a given object (people, companies, deals, or a custom object). Use when you have a record's id and need its attribute values. Example: Object people, Record ID 891dcbfc-9141-415d-9b2a-2238a6cc012d. Returns the record with its attribute values. See the…

Full schema: https://pipedream.com/apps/attio/actions/get-record.md

### `attio-list-list-id-options` — List List ID Options (Read-only)

List the workspace's lists as {value, label} options, to discover a List ID to pass to other actions (e.g. Delete List Entry). Use when you need a list's id and don't have it. Takes no input. Example: call with no arguments; returns e.g. [{ "value": "33ebdbe9-e529-47c9-b894-0ba25e9c15c0", "label"…

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

### `attio-list-records` — List Records (Read-only)

List records for an object (people, companies, deals, or a custom object), most recent first. Use when you need to find or enumerate records and don't have a specific id. Set Object and optionally a Limit and Fields. Example: Object companies, Limit 20. Returns an array of records with their…

Full schema: https://pipedream.com/apps/attio/actions/list-records.md

### `attio-update-person` — Update Person (Write)

Update an existing person record by its ID; only the fields you set are changed. Use Get Record (object people) or the Person ID lookup to find the Person ID first. Example: Person ID 891dcbfc-9141-415d-9b2a-2238a6cc012d, Job Title VP Sales, Email ada@example.com. Returns the updated person record…

Full schema: https://pipedream.com/apps/attio/actions/update-person.md

## Triggers (10)

### `attio-new-activity-created-instant` — New Activity Created (Instant) (Instant)

Emit new event when a note, task, or comment is created, useful for tracking engagement in real time.

Full schema: https://pipedream.com/apps/attio/triggers/new-activity-created-instant.md

### `attio-new-list-entry-instant` — New List Entry (Instant) (Instant)

Emit new event when a record, such as person, company, or deal, is added to a list

Full schema: https://pipedream.com/apps/attio/triggers/new-list-entry-instant.md

### `attio-list-entry-deleted-instant` — New List Entry Deleted (Instant) (Instant)

Emit new event when a list entry is deleted (i.e. when a record is removed from a list).

Full schema: https://pipedream.com/apps/attio/triggers/list-entry-deleted-instant.md

### `attio-list-entry-updated-instant` — New List Entry Updated (Instant) (Instant)

Emit new event when an existing list entry is updated (i.e. when a list attribute is changed for a specific list entry, e.g. when setting "Owner")

Full schema: https://pipedream.com/apps/attio/triggers/list-entry-updated-instant.md

### `attio-new-note-instant` — New Note (Instant) (Instant)

Emit new event when a new note is created.

Full schema: https://pipedream.com/apps/attio/triggers/new-note-instant.md

### `attio-note-updated-instant` — New Note Updated (Instant) (Instant)

Emit new event when a note is updated. Fires when the title is modified (note.updated) and when the body content is edited (note-content.updated).

Full schema: https://pipedream.com/apps/attio/triggers/note-updated-instant.md

### `attio-new-object-attribute-instant` — New Object Attribute (Instant) (Instant)

Emit new event when an object attribute is created (e.g. when defining a new attribute "Rating" on the company object)

Full schema: https://pipedream.com/apps/attio/triggers/new-object-attribute-instant.md

### `attio-object-attribute-updated-instant` — New Object Attribute Updated (Instant) (Instant)

Emit new event when an object attribute is updated (e.g. when renaming the "Rating" attribute to "Score" on the company object)

Full schema: https://pipedream.com/apps/attio/triggers/object-attribute-updated-instant.md

### `attio-new-record-created-instant` — New Record Created (Instant) (Instant)

Emit new event when new record, such as person, company or deal gets created

Full schema: https://pipedream.com/apps/attio/triggers/new-record-created-instant.md

### `attio-record-updated-instant` — New Record Updated (Instant) (Instant)

Emit new event when values on a record, such as person, company or deal, are updated

Full schema: https://pipedream.com/apps/attio/triggers/record-updated-instant.md

---

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