All integrations

Downright + Make

Surveys that send themselves, answers that find your team. Free plan is enough for both.

Get the answers out

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

  1. In Make, add a Webhooks › Custom webhook 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-01T04:39:44Z"
  },
  "contact": {
    "email": "customer@example.com",
    "name": "Sam Taylor"
  },
  "account": { "name": "Acme Coffee Roasters" },
  "sent_at": "2026-09-01T04:39:44Z"
}

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.

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 HTTP › Make a request 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 Make.

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.

Why Make first

The webhook and the HTTP call — the whole recipe — sit on Make's free plan, and its routers split one incoming answer several ways in a single scenario: detractors to Slack, everything to a sheet, from the one webhook Downright sends to.

Built with Make's own Webhooks and HTTP modules — there is no Downright app in Make's directory yet, and this recipe does not need one.