All integrations

Downright + Zapier

The biggest app directory of the three. Needs a paid Zapier plan — Webhooks by Zapier is one of their premium modules.

Get the answers out

Every answer can post itself to Zapier the moment it arrives, and go anywhere from there — Slack, a spreadsheet, your CRM.

  1. In Zapier, add a Webhooks by Zapier › Catch Hook and copy its URL.
  2. In Downright, paste it under Settings › Webhook URL and save.
  3. Answer one of your own surveys to send a real event through.

What arrives, exactly as the app sends it:

{
  "event": "response.created",
  "survey": {
    "id": "C9kIGpyl",
    "name": "After a support chat",
    "question": "NPS",
    "channel": "link"
  },
  "response": {
    "id": "va5cZvLGf7g",
    "score": 9,
    "comment": "Quick and friendly, thanks.",
    "answered_at": "2026-09-01T20:41:15Z"
  },
  "contact": {
    "email": "customer@example.com",
    "name": "Sam Taylor"
  },
  "account": { "name": "Acme Coffee Roasters" },
  "sent_at": "2026-09-01T20:41:15Z"
}

On an anonymous answer contact is missing entirely rather than present and empty, so your automation can tell a link answer from a contact with no name. Two events exist — response.created and response.updated, when somebody adds a comment to a score they already gave. Same shape.

Let a filter decide who needs a human

This one condition is most of the value of the whole setup. Add a Filter step (or Paths, to route each band differently) after the webhook, with a single rule:

response.score <= 6

Only the answers that need a person get past it — into the Slack channel the shift is watching, a ticket with the comment already in the body, a message naming who to call back today. Everything else is counted and left alone. The score bands are the standard NPS ones: 0–6 detractor, 7–8 neutral, 9–10 promoter.

Send surveys without touching Downright

The half that matters most: something happens in your world and the survey goes out on its own. Add an Webhooks by Zapier › POST pointed at one of your surveys — the id is on your surveys page.

POST https://www.usedownright.com/api/v1/surveys/SURVEY_ID/invitations

Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

{
  "contact_email": "customer@example.com",
  "contact_name": "Sam Taylor",
  "locale": "it"
}

locale is optional and sticks to that person from then on. Downright speaks 13 languages, so the survey arrives in the customer's own without branching in Zapier.

Ask at the right moment

Asking how the delivery went while the parcel is still in the van gets you an answer about the wait. Add deliver_at and Downright holds the survey until the moment is right:

{
  "contact_email": "customer@example.com",
  "deliver_at": "2026-09-04T09:00:00Z"
}

Send an offset or a Z; without one it is read as UTC. Unsubscribes, throttling and your quota are re-checked at the moment of sending, so somebody who unsubscribes on Tuesday will not get Wednesday what you queued on Monday.

Check it really came from us (optional)

Every delivery is signed, so an automation that acts on the data can verify before it acts:

X-Downright-Event:     response.created
X-Downright-Event-Id:  unique per event, safe to use for idempotency
X-Downright-Timestamp: unix seconds
X-Downright-Signature: hex HMAC-SHA256 of "<timestamp>.<body>"

Skip it while trying the recipe out; add it before the automation matters.

When Zapier is the right pick

Zapier connects more apps than anyone. If the tool you need to reach lives only there, this is the way — and if you already pay for Zapier, carry on here. On a budget, Make and n8n run the same recipe on their free plans.

Built with Webhooks by Zapier — there is no Downright app in Zapier's directory yet, and this recipe does not need one. Splitting one answer several ways needs Paths, on their higher plans.