How to send survey responses to Zapier
May 06, 2025
It can be useful to send survey responses to Zapier. This way you can automatically trigger workflows in thousands of other apps, such as creating tickets in your help desk or updating your CRM with customer feedback.
To show you how, in this tutorial we set up an example Zap to add survey responses to a Google Sheet.
Step 1: Create a survey
First, you'll need to create a survey. Our docs cover how to do this, so we won't go into detail here. We also have framework-specific tutorials.
Once your survey is created, submit a few sample responses.
Step 2: Set your Zap trigger
You have two options for creating your Zap and setting its trigger:
Option 1: Via the PostHog app in Zapier recommended
- In PostHog, go to the actions tab.
- Click New action and then From event or pageview.
- Select the Other events tab and select for the
survey sent
event. - Name your action
Survey sent action
and click Save. - Then in your Zapier dashboard, go to your zaps and create a new zap.
- Add the PostHog app as a trigger.
- Configure the PostHog app by setting the Trigger event to
Action Performed
. - Click Continue and select the relevant organization and project. In the Action section, select the Survey sent action you created in the previous steps.
- Click Continue and test your trigger.


Option 2: Via PostHog's Data pipelines
- In PostHog, click the Data pipeline tab in the left sidebar.
- Click the Destinations tab.
- Search for Zapier and click + Create.
- In the Match events and actions section, search for and select
survey sent
. - Then in your Zapier dashboard, create a new Zap with a webhook trigger
- Set the Trigger event in the webhook to
Catch Hook
and press Continue. - Leave Pick off a Child key as blank and click Continue. Do not test your Zap just yet.
- Go back to your PostHog app then add your webhook URL in PostHog under Zapier hook path.
- Press Create & Enable and then click Start testing.
- In the test JSON, replace the
event
andperson
keys with the below (leave the rest of the JSON as is, as Zapier needs theproject
key):
"event": {"uuid": "a74ebf50-d3ee-485d-bb71-d18e65712fae","distinct_id": "00f04232-7ab2-4b23-b447-06cadeeda53d","timestamp": "2025-05-02T10:38:57.964Z","elements_chain": "","url": "https://us.posthog.com/project/22100/events/","event": "survey sent","properties": {"$current_url": "https://us.posthog.com/project/22100/pipeline/destinations/hog-0196908f-5715-0000-0c61-58b9e9994d38/configuration","$browser": "Chrome","$survey_id": "01968718-2d82-0000-3dbf-8feac9b6fd09","$survey_response_4c3581e0-0131-4c0e-b471-9d70266e565a": 9,"$survey_questions": [{"id": "4c3581e0-0131-4c0e-b471-9d70266e565a","index": 0,"question": "How likely are you to recommend us to a friend?"}]}},"person": {"id": "965a371a-a1a5-4881-8b95-9747d1b0d4ac","properties": {"email": "max@posthog.com"},"name": "Max the hedgehog","url": "https://us.posthog.com/person/965a371a-a1a5-4881-8b95-9747d1b0d4ac"},// ...rest of the json
- Click Test function. You should see a
Success
banner. - Go back to Zapier and press Test trigger. You should see the test request appear.


Step 3: Add the Google Sheet action
- Create a new spreadsheet and name it something like
PostHog survey tutorial
. - In the first row, add these headers to your columns:
email
,question
,response
- Go to Zapier and add Google Sheet as an action.
- Under Action event, select
Create Spreadsheet Row
. - Connect your Google account if you haven't already.
- Fill out the rest of the action as needed.
Note that to select the correct key for the survey responses in Zapier, you'll need to go to your survey page in PostHog and click Copy survey response key for each question. Each key has a format of $survey_response_{response_key}
and you can paste this into Zapier.
Once you've completed this step, you can publish your Zap and survey responses should begin to populate the sheet.
Available properties
You can extract the following properties from surveys to your zaps:
Property | Description |
---|---|
event.properties.$survey_name | The name of the survey |
event.properties.$survey_questions | An array of objects containing the following survey question properties: id , index , and question |
event.properties.$survey_response_{response_key} | The response to a specific question. To find response_key , go to your survey page and click on the button Copy survey response key. There's one for each question in your survey. response_key is identical to the corresponding survey question ID |
person.name or other person properties | The name of the person who responded or other properties |
Further reading
- How to set up surveys in Next.js
- How to show a survey after a delay
- How to analyze surveys with ChatGPT
Subscribe to our newsletter
Product for Engineers
Read by 60,000+ founders and builders.
We'll share your email with Substack
Questions? Ask Max AI.
It's easier than reading through 637 pages of documentation