# SurveyMonkey — Pipedream Connect

> Online surveys

- API slug: `survey_monkey` (use in MCP headers and tool keys)
- Auth: OAuth (Pipedream-managed)
- Categories: Surveys & Forms
- Website: https://www.surveymonkey.com/
- Managed OAuth scopes: `surveys_write` · `surveys_read` · `contacts_read` · `contacts_write` · `responses_read` · `responses_read_detail` · `responses_write` · `webhooks_read` · `webhooks_write`
- This page (HTML): https://pipedream.com/apps/survey-monkey
- Tools: 12 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: survey_monkey`

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

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

const { tools } = await mcp.listTools()

// e.g. run Add Message Recipients:
const result = await mcp.callTool({
  name: "survey_monkey-add-message-recipients",
  arguments: {
    survey: "Survey",
    collectorId: "Collector",
  },
})
```

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

## API proxy

For a SurveyMonkey 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.surveymonkey.com/v3/users/me

curl "https://api.pipedream.com/v1/connect/{project_id}/proxy/aHR0cHM6Ly9hcGkuc3VydmV5bW9ua2V5LmNvbS92My91c2Vycy9tZQ?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: "survey_monkey-add-message-recipients",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    survey_monkey: { authProvisionId: "apn_xxxxxxx" },
    survey: "Survey",
    collectorId: "Collector",
  },
})
```

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

## Actions (12)

### `survey_monkey-add-message-recipients` — Add Message Recipients (Write)

Add recipients to an invite message, from new contacts, existing contact IDs, contact lists, or any combination. Uses the bulk endpoint, so nothing is re-added: a recipient already on the message or collector comes back under existing, while duplicate reports addresses repeated within this one…

Full schema: https://pipedream.com/apps/survey-monkey/actions/add-message-recipients.md

### `survey_monkey-create-collector` — Create Collector (Write)

Create a collector for a survey. A collector is the channel responses come in through — an SMS or email invitation, a web link, or a popup. See the documentation

Full schema: https://pipedream.com/apps/survey-monkey/actions/create-collector.md

### `survey_monkey-create-invite-message` — Create Invite Message (Write)

Create an invite message on an email or SMS collector. Add recipients with Add Message Recipients, then deliver it with Send Invite Message. See the documentation

Full schema: https://pipedream.com/apps/survey-monkey/actions/create-invite-message.md

### `survey_monkey-get-collector` — Get Collector Details (Read-only)

Get details for a Collector. See the docs here

Full schema: https://pipedream.com/apps/survey-monkey/actions/get-collector.md

### `survey_monkey-get-my-info` — Get My Info (Read-only)

Retrieve your account details. See the docs here

Full schema: https://pipedream.com/apps/survey-monkey/actions/get-my-info.md

### `survey_monkey-get-response` — Get Response Details (Read-only)

Get details for a Response. See the docs here

Full schema: https://pipedream.com/apps/survey-monkey/actions/get-response.md

### `survey_monkey-find-survey` — Get Survey Details (Read-only)

Get details for a Survey. See the docs here

Full schema: https://pipedream.com/apps/survey-monkey/actions/find-survey.md

### `survey_monkey-list-invite-messages` — List Invite Messages (Read-only)

Retrieve a collector's invite messages, each with its id and status. Run this to find a Message ID for Add Message Recipients, Send Invite Message, or the Copy From Message option on Create Invite Message. Filter by Status not_sent to get only the messages that can still be sent. See the…

Full schema: https://pipedream.com/apps/survey-monkey/actions/list-invite-messages.md

### `survey_monkey-list-collectors` — List Survey Collectors (Read-only)

Retrieve a survey's Collectors. See the docs here

Full schema: https://pipedream.com/apps/survey-monkey/actions/list-collectors.md

### `survey_monkey-list-responses` — List Survey Responses (Read-only)

Retrieve a survey's Responses. See the docs here

Full schema: https://pipedream.com/apps/survey-monkey/actions/list-responses.md

### `survey_monkey-list-surveys` — List Surveys (Read-only)

List all your Surveys. See the docs here

Full schema: https://pipedream.com/apps/survey-monkey/actions/list-surveys.md

### `survey_monkey-send-invite-message` — Send Invite Message (Write)

Send an invite message to its recipients, immediately or at a scheduled date. Create the message with Create Invite Message and add its recipients with Add Message Recipients first. SurveyMonkey only sends a message whose status is not_sent, so one that has already been sent or is still processing…

Full schema: https://pipedream.com/apps/survey-monkey/actions/send-invite-message.md

## Triggers (3)

### `survey_monkey-custom-webhook-events` — New Custom webhook events (Instant)

Emit new custom webhook event

Full schema: https://pipedream.com/apps/survey-monkey/triggers/custom-webhook-events.md

### `survey_monkey-new-survey` — New Survey (Instant)

Emit new created survey

Full schema: https://pipedream.com/apps/survey-monkey/triggers/new-survey.md

### `survey_monkey-new-survey-response` — New Survey Response (Instant)

Emit new survey response

Full schema: https://pipedream.com/apps/survey-monkey/triggers/new-survey-response.md

---

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