# Keap (Infusionsoft) — Pipedream Connect

> CRM, sales & marketing platform

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

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

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

const { tools } = await mcp.listTools()

// e.g. run Add Contact to Automation:
const result = await mcp.callTool({
  name: "infusionsoft-add-contact-to-automation",
  arguments: {
    automationId: "Automation",
    sequenceId: "Sequence",
  },
})
```

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

## API proxy

For a Keap (Infusionsoft) 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.infusionsoft.com/crm/rest/v1/oauth/connect/userinfo

curl "https://api.pipedream.com/v1/connect/{project_id}/proxy/aHR0cHM6Ly9hcGkuaW5mdXNpb25zb2Z0LmNvbS9jcm0vcmVzdC92MS9vYXV0aC9jb25uZWN0L3VzZXJpbmZv?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: "infusionsoft-add-contact-to-automation",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    infusionsoft: { authProvisionId: "apn_xxxxxxx" },
    automationId: "Automation",
    sequenceId: "Sequence",
  },
})
```

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

## Actions (34)

### `infusionsoft-add-contact-to-automation` — Add Contact to Automation (Write)

Add one or more contacts to an automation sequence in Keap CRM. See docs here

Full schema: https://pipedream.com/apps/infusionsoft/actions/add-contact-to-automation.md

### `infusionsoft-apply-tag-to-contacts` — Apply Tag to Contacts (Write)

Apply a tag to one or more contacts in Keap CRM. See the documentation

Full schema: https://pipedream.com/apps/infusionsoft/actions/apply-tag-to-contacts.md

### `infusionsoft-create-affiliate` — Create Affiliate (Write)

Create a new affiliate in Keap CRM. See the documentation

Full schema: https://pipedream.com/apps/infusionsoft/actions/create-affiliate.md

### `infusionsoft-create-company` — Create Company (Write)

Create a new company (account) in Keap CRM. See the documentation

Full schema: https://pipedream.com/apps/infusionsoft/actions/create-company.md

### `infusionsoft-create-contact` — Create Contact (Write)

Create a new contact in Keap CRM. See the documentation

Full schema: https://pipedream.com/apps/infusionsoft/actions/create-contact.md

### `infusionsoft-create-contact-note` — Create Contact Note (Write)

Create a new note for a contact in Keap CRM. See the documentation

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

### `infusionsoft-create-opportunity` — Create Opportunity (Write)

Create a new opportunity in Keap CRM. See the documentation

Full schema: https://pipedream.com/apps/infusionsoft/actions/create-opportunity.md

### `infusionsoft-create-opportunity-stage` — Create Opportunity Stage (Write)

Create a new opportunity stage in Keap CRM. See the documentation

Full schema: https://pipedream.com/apps/infusionsoft/actions/create-opportunity-stage.md

### `infusionsoft-create-order-item` — Create Order Item (Write)

Add an item to an existing order See docs here

Full schema: https://pipedream.com/apps/infusionsoft/actions/create-order-item.md

### `infusionsoft-create-payment` — Create Payment (Write)

Create or add a payment record See docs here

Full schema: https://pipedream.com/apps/infusionsoft/actions/create-payment.md

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

Create a new task in Keap CRM. See the documentation

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

### `infusionsoft-delete-task` — Delete Task (Write)

Delete a single task by ID. See the documentation

Full schema: https://pipedream.com/apps/infusionsoft/actions/delete-task.md

### `infusionsoft-get-company` — Get Company (Read-only)

Retrieve details of a Company See docs here

Full schema: https://pipedream.com/apps/infusionsoft/actions/get-company.md

### `infusionsoft-get-contact` — Get Contact (Read-only)

Retrieve details of a Contact See docs here

Full schema: https://pipedream.com/apps/infusionsoft/actions/get-contact.md

### `infusionsoft-list-affiliates` — List Affiliates (Read-only)

List affiliates with optional filters in Keap CRM. See the documentation

Full schema: https://pipedream.com/apps/infusionsoft/actions/list-affiliates.md

### `infusionsoft-list-companies` — List Companies (Read-only)

Search for and list all the companies that match by filters. See the documentation

Full schema: https://pipedream.com/apps/infusionsoft/actions/list-companies.md

### `infusionsoft-list-contact-notes` — List Contact Notes (Read-only)

List notes for a contact in Keap CRM. See the documentation

Full schema: https://pipedream.com/apps/infusionsoft/actions/list-contact-notes.md

### `infusionsoft-list-contacts` — List Contacts (Read-only)

Search for and list all the contacts that match by filters. See the documentation

Full schema: https://pipedream.com/apps/infusionsoft/actions/list-contacts.md

### `infusionsoft-list-opportunities` — List Opportunities (Read-only)

List opportunities with optional filters. See the documentation

Full schema: https://pipedream.com/apps/infusionsoft/actions/list-opportunities.md

### `infusionsoft-list-opportunity-stages` — List Opportunity Stages (Read-only)

List opportunity stages in Keap CRM with optional filtering. See the documentation

Full schema: https://pipedream.com/apps/infusionsoft/actions/list-opportunity-stages.md

### `infusionsoft-list-tasks` — List Tasks (Read-only)

Retrieves a list of tasks based on the provided filter. Tasks which are not assigned may be queried with user_id==UNASSIGNED. See the documentation

Full schema: https://pipedream.com/apps/infusionsoft/actions/list-tasks.md

### `infusionsoft-list-users` — List Users (Read-only)

List users in Keap CRM with optional filtering. See the documentation

Full schema: https://pipedream.com/apps/infusionsoft/actions/list-users.md

### `infusionsoft-retrieve-contact-model` — Retrieve Contact Model (Read-only)

Retrieve the custom fields model for contacts to discover available custom field IDs and types. See the documentation

Full schema: https://pipedream.com/apps/infusionsoft/actions/retrieve-contact-model.md

### `infusionsoft-retrieve-opportunity` — Retrieve Opportunity (Read-only)

Retrieve a single opportunity by ID. See the documentation

Full schema: https://pipedream.com/apps/infusionsoft/actions/retrieve-opportunity.md

### `infusionsoft-retrieve-opportunity-custom-fields-model` — Retrieve Opportunity Custom Fields Model (Read-only)

Retrieve the custom fields model for opportunities. See the documentation

Full schema: https://pipedream.com/apps/infusionsoft/actions/retrieve-opportunity-custom-fields-model.md

### `infusionsoft-retrieve-task` — Retrieve Task (Read-only)

Retrieve a single task by ID. See the documentation

Full schema: https://pipedream.com/apps/infusionsoft/actions/retrieve-task.md

### `infusionsoft-retrieve-user` — Retrieve User (Read-only)

Retrieve a single user by ID from Keap CRM. See the documentation

Full schema: https://pipedream.com/apps/infusionsoft/actions/retrieve-user.md

### `infusionsoft-send-email` — Send Email (Write)

Send an email to one or more contacts in Keap CRM. See the documentation

Full schema: https://pipedream.com/apps/infusionsoft/actions/send-email.md

### `infusionsoft-send-email-template` — Send Email Template (Write)

Send an email template to one or more contacts in Keap CRM. See the documentation

Full schema: https://pipedream.com/apps/infusionsoft/actions/send-email-template.md

### `infusionsoft-set-opportunity-stage` — Set Opportunity Stage (Write)

Set the stage of an opportunity in Keap CRM. See the documentation

Full schema: https://pipedream.com/apps/infusionsoft/actions/set-opportunity-stage.md

### `infusionsoft-update-contact` — Update Contact (Write)

Update an existing contact in Keap CRM. See the documentation

Full schema: https://pipedream.com/apps/infusionsoft/actions/update-contact.md

### `infusionsoft-update-opportunity` — Update Opportunity (Write)

Update an existing opportunity in Keap CRM. See the documentation

Full schema: https://pipedream.com/apps/infusionsoft/actions/update-opportunity.md

### `infusionsoft-update-task` — Update Task (Write)

Update an existing task in Keap CRM. See the documentation

Full schema: https://pipedream.com/apps/infusionsoft/actions/update-task.md

### `infusionsoft-upload-file` — Upload File (Write)

Upload a file to Keap CRM. See the documentation

Full schema: https://pipedream.com/apps/infusionsoft/actions/upload-file.md

## Triggers (3)

### `infusionsoft-new-invoice` — New Invoice (Instant)

Emit new event for each new invoice See docs here

Full schema: https://pipedream.com/apps/infusionsoft/triggers/new-invoice.md

### `infusionsoft-new-order` — New Order (Instant)

Emit new event for each new order See docs here

Full schema: https://pipedream.com/apps/infusionsoft/triggers/new-order.md

### `infusionsoft-new-payment` — New Payment (Instant)

Emit new event for each new payment See docs here

Full schema: https://pipedream.com/apps/infusionsoft/triggers/new-payment.md

---

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