Create Webhook

surveymonkey.create_webhook
ActionBusiness appsconnection required

Calls the SurveyMonkey API with the connection's credentials.

Subscribe a URL to a SurveyMonkey event so a workflow starts whenever a response is completed, a collector changes or a survey is edited.

Connection

Required
Yes — the node will not save without one
Auth type
OAuth 2.0
Providers
SurveyMonkey
Secret shape
the OAuth2 access token, or {"access_token": "…"}
Config it needs
base_url, datacenter
Resolved by
config.connection_id, else node.connection_id

Configuration

8 fields, 3 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.

FieldTypeRequiredDefaultConstraintsExample
name
A name for this subscription, shown in SurveyMonkey's webhook list.
stringYes——Mantle response intake
subscription_url
The URL SurveyMonkey posts each event to — normally a published trigger.webhook ingress URL. It must be unique in the account and answer 200 to a HEAD request.
stringYes—url formathttps://mantle.example.com/webhooks/surveymonkey-responses
event_type
Which SurveyMonkey event this webhook listens to.
stringYes—one of "survey_created", "response_completed", "response_updated", "response_disqualified", "response_created", "response_deleted", "response_overquota", "collector_created", "collector_updated", "collector_deleted", "survey_updated", "survey_deleted", "app_installed", "app_uninstalled"response_completed
object_type
Which kind of object the events are filtered by; SurveyMonkey requires it for every event except survey_created.
stringNo—one of "survey", "collector", "app"survey
object_ids
The ids of the objects to watch, comma-separated; required whenever object_type is set.
stringConditional—only with object_type—
authorization
An Authorization header value SurveyMonkey should send with each callback, so the receiver can tell a real event from a forged one. It is never returned in this node's output.
stringNo———
verify_ssl
Verify the TLS certificate of the subscription URL; SurveyMonkey defaults to true.
booleanNotrue——
bypass_ping
Skip SurveyMonkey's HEAD ping of the subscription URL — use it only while the receiving endpoint is not reachable yet.
booleanNofalse——

Example configuration

Every value below is the contract’s own example or default — nothing invented.

{
  "bypass_ping": false,
  "event_type": "response_completed",
  "name": "Mantle response intake",
  "object_type": "survey",
  "subscription_url": "https://mantle.example.com/webhooks/surveymonkey-responses",
  "verify_ssl": true
}

Output

One shape.

result

FieldTypeExample
id
The webhook id.
string—
name
The webhook name.
string—
event_type
The event this webhook is subscribed to.
string—
object_type
Which kind of object the webhook filters on.
string—
object_ids
The ids of the objects the webhook filters on.
array—
subscription_url
The URL SurveyMonkey posts each event to.
string—
href
The webhook's own API URL.
string—
authorization_set
True when the webhook carries an Authorization header value; the value itself is never returned.
boolean—
ping_verified
True when SurveyMonkey verified the subscription URL with its HEAD ping; false when bypass_ping skipped that check.
boolean—
{
  "authorization_set": false,
  "event_type": "",
  "href": "",
  "id": "",
  "name": "",
  "object_ids": [],
  "object_type": "",
  "ping_verified": false,
  "subscription_url": ""
}

Notes

  • A webhook's subscription_url must be unique across the account and must answer 200 to a HEAD request, or SurveyMonkey refuses to create it.
  • Point subscription_url at a published trigger.webhook workflow; the callback carries ids (resources.survey_id, object_id), not the answers.

See Create Webhook run in a workflow.

In a technical demo we add the SurveyMonkey connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.