INTEGRATION
Make API documentation

Make.com API documentation

SEA Survey provides a Make.com integration that triggers scenarios in real time whenever a customer submits a survey response.

Full interactive API reference: API Reference (Redoc) · OpenAPI spec (JSON)


Quick Start

Open the Make integration from SEA Survey

Connect the Make app from the Integrations section in the sidebar.

Generate an API key

Go to Integrations > Make, click Generate API Key, and copy the key.

Create a connection in Make

Create a new connection for the SEA Post Purchase Survey app in Make and paste your API key.

Add the instant trigger

Add the Watch survey responses trigger to your scenario — it fires instantly whenever a new survey response is submitted.

Turn on your scenario

Map the response fields to your action apps (Google Sheets, Slack, email...) and switch the scenario on.


Authentication

All API requests require an API Key, passed as a Bearer token (recommended) or via the X-API-Key header:

Authorization: Bearer YOUR_API_KEY

Base URL:

https://survey.avada.io/make

Test Connection

GET /shop/status

Response (200 OK):

{
  "success": true,
  "data": {
    "shopId": "my-awesome-store.myshopify.com",
    "shopName": "My Awesome Store",
    "email": "owner@my-awesome-store.com",
    "authenticated": true
  },
  "message": "Connection successful"
}
StatusDescription
401Missing or invalid API key, or key is not a Make key
500Internal server error

Instant Trigger — Watch survey responses

Type: webhook (real-time). When a scenario is switched on, Make subscribes a webhook URL; SEA Survey sends a POST request to that URL for every new survey response.

Trigger Output Fields

FieldTypeDescription
idstringUnique response ID (Firestore document ID)
surveyIdstringSurvey ID the response belongs to
surveyTitlestringName of the survey
surveyTypestringSurvey type (e.g., survey, surveyForm)
customerIdstring or nullShopify customer ID
customerEmailstring or nullCustomer email address
customerNamestring or nullCustomer display name
answersarrayList of question-answer pairs
answers[].questionstringThe question text
answers[].answerstring or nullAnswer value. Multiple-choice answers are joined with ", "; null when skipped
answers[].answerTypestringQuestion type (see Answer Types)
createdAtstringISO 8601 date-time of when the response was submitted
channelTypestring or nullDelivery channel (see Channel Types)

Example Trigger Payload

{
  "id": "aB3dE5fG7hI9jK1LmN0p",
  "surveyId": "Qw8rT2yU4iO6pA1sD3fG",
  "surveyTitle": "Post Purchase Satisfaction Survey",
  "surveyType": "survey",
  "customerId": "6789012345",
  "customerEmail": "jane.smith@example.com",
  "customerName": "Jane Smith",
  "answers": [
    {
      "question": "How satisfied are you with your purchase?",
      "answer": "Extremely satisfied",
      "answerType": "single"
    },
    {
      "question": "Which aspects did you like?",
      "answer": "Product Quality, Fast Shipping",
      "answerType": "multiple"
    },
    {
      "question": "Product quality rating",
      "answer": "5",
      "answerType": "star_rating"
    }
  ],
  "createdAt": "2025-12-23T08:30:45.123Z",
  "channelType": "postPurchasePage"
}

Answer Types

TypeDescriptionAnswer Format
singleSingle-choice questionstring — selected option
multipleMulti-select questionstring — selected options joined with ", "
star_ratingStar rating (1-5)string — numeric value (e.g., "4")
number_scaleNumeric scale (e.g., 0-10)string — numeric value (e.g., "7")
satisfactionSatisfaction levelstring — e.g., "satisfied", "neutral", "dissatisfied"
short_answerFree-text responsestring — user's text input
dateDate pickerstring — date value
consent_emailEmail consent checkboxstring"true" or "false"
text_imageText & image questionstring — selected option
emailEmail capturestring — email address
uploadFile uploadstring — uploaded file URL

Channel Types

dedicatedPageSurvey, siteWidget, postPurchasePage, exitIntent, postPurchaseEmail, hyperLink, embedSurvey, embedEmail, surveyForm


Webhook API

These endpoints are used internally by Make to manage webhook subscriptions. They are documented here for reference.

Subscribe (ATTACH)

POST /webhooks

Body:

{
  "url": "https://hook.eu1.make.com/abc123xyz789",
  "event": "response.created"
}

Response (200 OK) — the returned data.id is the externalHookId used to unsubscribe:

{
  "success": true,
  "data": {
    "id": "Zx7cV5bN3mQ1wE9rT2yU"
  }
}

Unsubscribe (DETACH)

DELETE /webhooks/{externalHookId}
StatusDescription
200Webhook unsubscribed successfully
404Subscription not found (unknown ID, already deleted, or not your shop's)

Test webhook delivery

POST /webhooks/test

Body: {"targetUrl": "https://hook.eu1.make.com/abc123xyz789"} — sends a sample payload to the URL for testing.


For the complete request/response schemas, see the interactive API reference or download the OpenAPI 3.0 spec.

Product
Install AppWebsiteChangelog
Resources
DocumentationFAQIntegrations
Company
Avada GroupPrivacy PolicyContact
© 2026 SEA Commerce. All rights reserved.