> This page is part of the [Customer.io documentation](https://docs.customer.io). For the complete index, see [llms.txt](https://docs.customer.io/llms.txt).
> Last updated: July 10, 2026

# Follow up on NPS responses

Set up a webhook-triggered campaign to trigger follow-up responses for people who respond to your Satismeter NPS surveys!

As a part of this guide, you’ll:

1.  Set up a webhook-triggered campaign, capturing a response from Satismeter when someone fills out your survey and converting it to an event.
2.  Set up an event-triggered campaign (using the Satismeter event) to message people based on their net promoter score (NPS).

## Before you begin

You’ll need access to your Satismeter account and your Customer.io *Site ID* and *API Key* credentials. You can find your Customer.io *Site ID* and *API Key* credentials under **Integrations** > **Customer.io API**.

Satismeter events have the same general shape, but we’ll base this tutorial off the following example data:

```json
{
  "event": "completed",
  "response": {
    "answers": [
      {
        "id": "00000000000000",
        "label": "How would you rate the support?",
        "value": 5
      },
      {
        "id": "00000000000000",
        "label": "Select your favourite feature from the list",
        "value": "Dashboard filters"
      },
      {
        "id": "00000000000000",
        "label": "Do you have any comments for us?",
        "value": "You are awesome!"
      }
    ],
    "category": "promoter",
    "completed": true,
    "created": "2015-07-31T19:48:07.648Z",
    "feedback": "You are awesome!",
    "id": "00000000000000",
    "ip": "88.100.78.186",
    "location": {
      "city": "Springfield",
      "country": "US",
      "long": "Springfield, United States",
      "short": "Springfield"
    },
    "method": "In-app",
    "project": "00000000000000",
    "rating": 6,
    "referrer": "https://app.satismeter.com/sample",
    "user": {
      "email": "homer@simpson.com",
      "name": "Homer Simpson",
      "traits": {},
      "userId": "1234"
    }
  }
}
```

## Set up your webhook-triggered campaign

This workflow will convert your incoming Satismeter event—sent when someone fills out your NPS survey—to a Customer.io event. We’ll use this event to [trigger a campaign](#people-campaign) to respond to people who filled out your survey depending on their net promoter score.

1.  Go to **Campaigns** and click **Create Campaign**.
    
2.  Click the trigger block then choose  **Webhook**.
    
3.  Copy the *Webhook URL*.
    
4.  In Satismeter, go to *Settings* > *Integrations* > *Webhooks* and click **Add Another Webhook**.
    
    *   Paste the *Webhook URL* that you copied from Customer.io in the *Webhook URL* field.
    *   Select the *Survey completed* Trigger, and then click **Save Changes**.
    *   If possible, fill out your Satismeter form as a test. This will send test data back to Customer.io, which can help you set up your campaign.
        
        [![Set up your webhook in Satismeter](https://docs.customer.io/images/data-workflow-satismeter-setup.png)](#51cd16b630cb97641bf0d9e184586b9f-lightbox)
        
5.  Return to Customer.io and click **Save and build workflow**.
    
6.  Drag **Send Event** into your workflow and click it.
    
7.  Set an *Event Name* and click **Add event**.
    
8.  Under *Find or add person*, select **email** and then click the `email` value in in your sample *Trigger data*.
    
9.  For the *Event Name*, set *Static value* to **NPM survey submitted**.
    
10.  Under *Event Attribute*, add an attribute called **rating** and click the`rating` in your *Trigger data*.
    
    [![create an event to trigger a campaign when people give you an NPS rating](https://docs.customer.io/images/satismeter-create-event.png)](#4a6a564e74b280c142e7250932e4e492-lightbox)
    
11.  Click **Save Changes**. Now you’re ready to [set up your campaign to message people](#people-campaign) who responded to your NPS survey!
    

## Set up your event-based campaign

You’ll trigger your campaign from the `nps survey submitted` event you set up in your webhook-triggered campaign.

 Tag your campaigns

In this tutorial, you need two campaigns to achieve your goal. If you [apply a tag](/messaging/send/tagging-campaigns/) to both your webhook-triggered and event-based campaigns, you can easily relate and find your campaigns on the **Campaigns** page.

1.  Go to **Campaigns** and click **Create Campaign**.
2.  Click the trigger block, and click **Event** as the trigger type.
3.  Set `nps survey submitted` as the trigger event and then filter the event data for dissatisfied customers. In this example, we want people who rated us below 7.
    
    [![set up an event trigger based on your webhook-triggered campaign](https://docs.customer.io/images/data-workflow-event-trigger.png)](#af33103cf3727857ca45b73567c82a03-lightbox)
    
4.  In your workflow, add your message. In our case, we’re *only* responding to people who gave us a score of 7 or less. However, if you don’t filter by rating, you might:
    *   Create a multi-split branch by rating (people who gave you a rating less than 7, between 7 and 8, or above 8) to send different messages to people based on their NPS score.
    *   Send a single, more generic message, using [liquidA syntax that supports variables, letting you personalize messages for your audience. For example, if you want to reference a person’s first name, you might use the variable `{{customer.first_name}}`.](/journeys/liquid/using-liquid) to differentiate different ratings.
5.  When you’re finished, click **Save & Next**, and finish configuring your campaign. Now, when someone fills out your Satismeter NPS survey, you can send them a response automatically!

*   *   [Before you begin](#before-you-begin)
    *   [Set up your webhook-triggered campaign](#set-up-your-webhook-triggered-campaign)
    *   [Set up your event-based campaign](#people-campaign)

Copy page

Copy page [Download .md](/messaging/send/campaigns/data-workflows/satismeter-data-campaign.md)

Is this page helpful?

![](https://docs.customer.io/images/export-success.png) ![](https://docs.customer.io/images/export-failure.png)

# How can we make it better?

Close

Do you need help from Customer.io support?  No  
 Yes

What part of Customer.io do you need help with? 

How can we improve this page?

Email (optional):  Please provide a valid email address

 I am not a bot

 

We appreciate your feedback!

Our support team will contact you as soon as possible
