INTEGRATION
Zapier API documentation

Zapier API documentation

SEA Survey provides a Zapier integration that allows you to automate workflows based on survey responses. When a customer submits a survey response, Zapier can automatically trigger actions in hundreds of other apps.


Quick Start

Open the Zapier app from the SEA Survey

Connect the Zapier app from the Integrations section in the sidebar

Connect your account

Connect your account using your API key from the SEA Survey dashboard.

Create a Zap

Create a Zap using the "New Response" trigger.

Map response fields

Map response fields to your desired action app (e.g., Google Sheets, Slack, Email).

Turn on your Zap

Turn on your Zap — it will fire automatically whenever a new survey response is submitted.

For detailed instructions

[Working with Zapier](#)

Example Use Cases

  • Google Sheets: Log every survey response to a spreadsheet for analysis
  • Slack: Send a notification to a channel when a negative response is received
  • Email: Send a follow-up email to customers who gave low satisfaction scores
  • CRM: Create or update customer records with survey feedback
  • Help Desk: Create a support ticket when a customer reports an issue

Authentication

All API requests require an API Key passed via the X-API-Key header.

Generating an API Key

Open admin dashboard

Open your AG Survey admin dashboard.

Navigate to Zapier integration

Go to Settings > Integrations > Zapier.

Generate key

Click Generate API Key.

Copy key

Copy the generated key — it will only be shown once.

Using the API Key

Include the API key in every request header:

X-API-Key: your_api_key_here

Test Connection

Verify your API key is valid.

Endpoint:

GET /zapier/shop/status

Headers:

HeaderTypeRequiredDescription
X-API-KeystringYesYour API key

Response (200 OK):

{
  "success": true,
  "data": {
    "shopId": "gid://shopify/Shop/123456",
    "shopName": "my-store",
    "authenticated": true
  },
  "message": "Connection successful"
}

Error Responses:

StatusBodyDescription
401{"success": false, "error": "API Key is required"}Missing API key header
401{"success": false, "error": "Invalid API Key"}API key not found or deactivated
500{"success": false, "error": "Authentication error"}Internal server error

Triggers

New Response

Fires when a new survey response is submitted by a customer.

Type: REST Hook (real-time webhook)

When a Zap is turned on, Zapier subscribes a webhook URL. AG Survey sends a POST request to that URL every time a new response is received.

Trigger Output Fields

FieldTypeDescription
idstringUnique response ID
surveyIdstringSurvey ID that the response belongs to
surveyTitlestringName of the survey
customerIdstringShopify customer ID
customerEmailstringCustomer email address
customerNamestringCustomer display name
answersarrayList of question-answer pairs
answers[].questionstringThe question text
answers[].answerstring or arrayThe customer's answer. String for single-value answers, array for multi-select
answers[].answerTypestringAnswer type (see Answer Types)
createdAtstringISO 8601 timestamp of when the response was submitted
channelTypestringHow the survey was delivered (e.g., email, popup, embedded)

Example Trigger Payload

{
  "id": "response_abc123",
  "surveyId": "survey_def456",
  "surveyTitle": "Post-Purchase Satisfaction",
  "customerId": "customer_789",
  "customerEmail": "jane@example.com",
  "customerName": "Jane Doe",
  "answers": [
    {
      "question": "How satisfied are you with your purchase?",
      "answer": "Very Satisfied",
      "answerType": "single"
    },
    {
      "question": "Which aspects did you like?",
      "answer": ["Product Quality", "Fast Shipping"],
      "answerType": "multiple"
    },
    {
      "question": "Rate your overall experience",
      "answer": "5",
      "answerType": "star_rating"
    },
    {
      "question": "Any additional feedback?",
      "answer": "Great experience, will buy again!",
      "answerType": "short_answer"
    }
  ],
  "createdAt": "2024-11-15T09:30:00.000Z",
  "channelType": "email"
}

Answer Types

TypeDescriptionAnswer Format
singleSingle-choice questionstring — selected option
multipleMulti-select questionarray — list of selected options
star_ratingStar rating (1-5)string — numeric value (e.g., "4")
number_scaleNumeric scale (e.g., 1-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"

Webhook API

These endpoints are used internally by Zapier to manage webhook subscriptions. They are documented here for reference and advanced use cases.

Subscribe to Webhook

Register a webhook URL to receive new response events.

Endpoint:

POST /zapier/webhooks

Headers:

HeaderTypeRequiredDescription
X-API-KeystringYesYour API key
Content-TypestringYesapplication/json

Request Body:

{
  "targetUrl": "https://hooks.zapier.com/hooks/catch/12345/abcdef/",
  "event": "response.created"
}
FieldTypeRequiredDefaultDescription
targetUrlstringYesThe URL to receive webhook POST requests
eventstringNoresponse.createdEvent type to subscribe to

Response (200 OK):

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

Error Responses:

StatusBodyDescription
400{"success": false, "error": "Target URL is required"}Missing targetUrl
401{"success": false, "error": "Shop not identified"}Invalid or missing API key

Note: If a subscription already exists for the same shop and target URL, it will be reactivated and the existing ID returned.


Unsubscribe from Webhook

Remove a webhook subscription.

Endpoint:

DELETE /zapier/webhooks

Headers:

HeaderTypeRequiredDescription
X-API-KeystringYesYour API key
Content-TypestringYesapplication/json

Request Body:

{
  "targetUrl": "https://hooks.zapier.com/hooks/catch/12345/abcdef/"
}
FieldTypeRequiredDescription
targetUrlstringYesThe webhook URL to unsubscribe

Response (200 OK):

{
  "success": true,
  "message": "Webhook unsubscribed successfully"
}

Test Webhook

Send a sample payload to a webhook URL for testing.

Endpoint:

POST /zapier/webhooks/test

Headers:

HeaderTypeRequiredDescription
X-API-KeystringYesYour API key
Content-TypestringYesapplication/json

Request Body:

{
  "targetUrl": "https://hooks.zapier.com/hooks/catch/12345/abcdef/"
}

Response (200 OK):

{
  "success": true,
  "message": "Test webhook sent successfully"
}

The test will send a sample response payload to the specified URL with dummy data.


List Surveys (Polling Fallback)

Returns a list of surveys with sample response data. Used by Zapier as a polling fallback when webhooks are not available.

Endpoint:

GET /zapier/surveys

Headers:

HeaderTypeRequiredDescription
X-API-KeystringYesYour API key

Query Parameters:

ParameterTypeDefaultDescription
pageinteger1Page number
limitinteger10Items per page

Response (200 OK):

{
  "success": true,
  "data": {
    "items": [
      {
        "surveyId": "survey_123",
        "surveyTitle": "Post-Purchase Feedback",
        "customerId": "sample_customer",
        "customerEmail": "sample@example.com",
        "customerName": "Sample Customer",
        "answers": [
          {
            "question": "How was your experience?",
            "answer": "Great",
            "answerType": "single"
          }
        ],
        "channelType": "email"
      }
    ],
    "total": 5,
    "hasNext": false,
    "hasPre": false
  }
}

Supported Events

EventDescription
response.createdTriggered when a customer submits a new survey response

Rate Limits

  • Webhook delivery timeout: 10 seconds per request
  • Failed webhook deliveries are logged but not retried automatically
  • API requests are subject to Firebase Cloud Functions quotas

Error Handling

All error responses follow a consistent format:

{
  "success": false,
  "error": "Human-readable error message"
}

Common HTTP Status Codes

StatusMeaning
200Success
400Bad request — missing or invalid parameters
401Unauthorized — invalid or missing API key
500Internal server error

Base URL

https://sea-commerce-survey-app.firebaseapp.com

All endpoint paths in this documentation are relative to this base URL.


With the Zapier integration, SEA Survey enables you to turn customer feedback into automated actions across your existing tools. Whether you’re syncing responses to spreadsheets, notifying teams in real time, or creating records in your CRM, this integration helps you act faster on customer insights.

If you need more advanced workflows or custom integrations, feel free to reach out to our support team for further assistance.

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