# Omnisend — Pipedream Connect

> Marketing automation built for ecommerce. Increase your sales, not your workload.

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

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

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

const { tools } = await mcp.listTools()

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

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

## API proxy

For a Omnisend 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.omnisend.com/v3/contacts

curl "https://api.pipedream.com/v1/connect/{project_id}/proxy/aHR0cHM6Ly9hcGkub21uaXNlbmQuY29tL3YzL2NvbnRhY3Rz?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: "omnisend-list-campaign-id-options",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    omnisend: { 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 (7)

### `omnisend-list-campaign-id-options` — List Campaign ID Options (Read-only)

Retrieves available options for the Campaign ID field.

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

### `omnisend-list-contact-id-options` — List Contact ID Options (Read-only)

Retrieves available options for the Contact ID field.

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

### `omnisend-list-event-id-options` — List Event ID Options (Read-only)

Retrieves available options for the Event ID field.

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

### `omnisend-start-campaign` — Start Campaign (Write)

Starts a marketing campaign for selected subscribers. See the documentation

Full schema: https://pipedream.com/apps/omnisend/actions/start-campaign.md

### `omnisend-track-event` — Trigger Custom Event (Write)

Trigger custom event to Omnisend. See the documentation

Full schema: https://pipedream.com/apps/omnisend/actions/track-event.md

### `omnisend-unsubscribe-contact-by-email` — Unsubscribe Contact by Email (Write)

Unsubscribe an existing Omnisend contact from the email channel by their full email address. This action does not create new contacts. See the documentation

Full schema: https://pipedream.com/apps/omnisend/actions/unsubscribe-contact-by-email.md

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

Modify subscriber information or update their subscription status. See the documentation

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

## Triggers (2)

### `omnisend-new-contact-created` — New Contact Created (Polling)

Emit new event each time a new contact is created in Omnisend.

Full schema: https://pipedream.com/apps/omnisend/triggers/new-contact-created.md

### `omnisend-new-order-completed` — New Order Completed (Polling)

Emit new event for each new completed order in Omnisend.

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

---

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