---
title: "SatisMeter Integration"
description: "SatisMeter runs NPS, CES, CSAT, PMF and custom surveys inside web apps, mobile apps and email. Agents export responses and statistics, identify and update users, insert responses, manage unsubscribes, and react to each new response."
url: https://flowrunner.ai/integrations/satismeter
date_modified: 2026-09-04T19:08:45-07:00
---

# SatisMeter

[Forms](https://flowrunner.ai/integrations/category/documents-forms)

SatisMeter runs NPS, CES, CSAT, PMF and custom surveys inside web apps, mobile apps and email. Agents export responses and statistics, identify and update users, insert responses, manage unsubscribes, and react to each new response.

1 trigger · 17 actions · API key · available

[SatisMeter website](https://satismeter.com/) · [Platform Documentation](https://app.satismeter.com/apidoc) · Capability data verified 2026-08-26

1.  On New Response fires when feedback arrives from the web app, a mobile app or an email survey
2.  The score, the answers and the respondent's traits are read from the response
3.  The score is tested against the threshold that defines a detractor for this survey
4.  A follow up ticket is opened with the verbatim feedback and the account context attached
5.  The account owner receives the response and the ticket link in their channel
6.  The owner decides whether to reach out now or defer this customer's next survey until the ticket closes

## What This Integration Enables

Most feedback tools are a widget. SatisMeter is a widget plus a mobile SDK plus an email channel, and that third surface is what makes this connector different from an in app survey integration: once you are sending surveys by email, the unsubscribe list stops being a setting and becomes a consent record you are accountable for.

FlowRunner agents work all three surfaces. On the way in, Identify User keeps traits current from billing or the CRM, Track Event times a survey around what the customer actually did, Insert Response lands feedback collected on a phone call or a paper form so it scores alongside everything else, and Schedule Next Survey moves someone forward or holds them back. On the way out, the v3 export reads responses with their answers, device, referrer and location, and Get Survey Statistics returns the calculated NPS, CES or CSAT figure. Around the edges sit the four unsubscribe operations, and three of them are safe reads or merges while one replaces the entire list. Knowing which is which is most of what [human-in-the-loop](https://flowrunner.ai/concepts/human-in-the-loop) is for on this connector.

### Without FlowRunner

**Three channels, three inboxes**: Web, mobile and email feedback are read in different places, and nobody trusts a single score

**Targeting drifts from reality**: Survey rules run on traits pushed once at signup, so a customer who upgraded a year ago is still surveyed as a trial user

**Opt outs live wherever they were recorded**: Someone unsubscribes in the marketing tool and keeps receiving email surveys from a system that never heard about it

### With FlowRunner

**One score across every channel**: Responses from all three surfaces are read through the same export and land in the same reporting row

**Targeting follows billing**: Traits are refreshed from the system of record on a schedule, so a survey addresses the customer as they are today

**Consent is synchronized deliberately**: The opt out list is reconciled against the system of record, and a person authorizes the change before it lands

## Use Case Scenarios

### Detractor feedback that turns into a ticket before it turns into a churn

On New Response fires with a low score. The agent reads the answers and the traits SatisMeter already holds for the respondent, then opens a ticket in [Zendesk](https://flowrunner.ai/integrations/zendesk) with the verbatim comment and the account context attached, so support is not reading a bare number. A message posts to the customer success channel in [Slack](https://flowrunner.ai/integrations/slack) with the score, the quote and the ticket link. When the score is high instead, the same flow tags the account in [Intercom](https://flowrunner.ai/integrations/intercom) as a reference candidate, because praise arriving on a Tuesday is worth as much as a complaint if somebody records it.

### Survey targeting that follows the contract, not the calendar

The agent pulls customers whose plan, seat count or renewal date changed in [HubSpot](https://flowrunner.ai/integrations/hubspot) and calls Identify User for each, sending only what moved, because SatisMeter merges traits rather than replacing them. When a renewal completes, Track Event records it so the next survey fires on that occurrence. If a customer has an open support ticket, Schedule Next Survey pushes their survey date out and brings it back once the ticket resolves, which stops the platform asking how things are going on the worst possible day.

### A feedback log the analytics team can actually use

Export All Responses runs on a schedule, walking the cursor for you and reporting when it stopped early with data still available. The rows append to a shared log in [Google Sheets](https://flowrunner.ai/integrations/google-sheets), and Get Survey Statistics adds the period's calculated score in the same run so the verbatims and the number are never read from different snapshots. Because both listings default to the last thirty days when no dates are given, the flow sets the window explicitly rather than trusting a default that makes a short export look complete.

## Human-in-Loop Highlight

SatisMeter's unsubscribe endpoint replaces the whole list. Sending a single address through Replace Unsubscribed Emails removes everyone else from it, which silently re-enables email surveys for every person who had opted out. Nothing errors, nothing warns, and the damage is only visible the next time a campaign sends. Add Unsubscribed Emails and Remove Unsubscribed Emails exist precisely because they read the current list, merge or filter, and write the whole thing back, so an agent reconciling consent from a system of record uses those by default. When the flow genuinely does own the entire list and a wholesale replace is the right call, the agent stops first. It calls List Unsubscribed Emails, diffs it against the incoming list, and posts: "This replace would drop addresses currently on the opt out list that are not in the incoming file. Those people start receiving email surveys again. Apply the replace, or merge the additions only?" The consent owner answers. An agent can reconcile two lists faster than anyone. It should not be the thing that decides whose opt out survives.

Agent processes routinely

Detects exception requiring judgment

Clear match Continues automatically

Ambiguous Routes to human via email

Human decides

Agent resumes with decision

## Agent Capabilities

17 actions

### Project

1

-   **Get Project** Reads the project's configuration. The first call to confirm a connection reaches the account you meant.

### Surveys

2

-   **List Surveys** Lists the surveys configured in the project, across NPS, CES, CSAT, PMF and custom types.
-   **Get Survey** Retrieves one survey's definition, including its questions and their identifiers.

### Responses

4

-   **List Project Responses** Reads responses across the whole project with cursor paging. Defaults to the last thirty days when no date range is given.
-   **List Survey Responses** Reads responses for one survey, with the same cursor paging and the same thirty day default.
-   **Export All Responses** Walks the cursor and returns the whole set up to a cap, reporting when it stopped early with data still available. The operation behind scheduled exports into a warehouse or a sheet.
-   **Insert Response** Records feedback collected outside the widget, from a phone call, a support ticket or a paper form. Uses a separate write credential from the rest of the connector, and question identifiers must match the target survey for the answer to chart.

### Statistics

1

-   **Get Survey Statistics** Returns the aggregate numbers behind a survey, including the calculated NPS, CES or CSAT score. Used to publish a figure without downloading rows.

### Users

5

-   **Identify User** Creates or updates a user with traits. Traits merge, so a flow sends only what changed, and dates must be ISO 8601 strings to be treated as dates.
-   **Track Event** Records a product event against a user so a survey can be timed around behavior.
-   **Schedule Next Survey** Moves a user's next survey date. Used to hold surveying while a support ticket is open, and to bring it forward once the issue is resolved.
-   **List Users** Lists users in the project. With no filter this returns every user in a single response, which on an established project is a large payload.
-   **Delete User** Permanently erases a user's personal data. Their responses survive in anonymized form, so scores and statistics are unaffected. Takes SatisMeter's internal record identifier, not the user ID your own system sends.

### Unsubscribes

4

-   **List Unsubscribed Emails** Reads the project's current email opt out list.
-   **Add Unsubscribed Emails** Reads the list, merges the additions and writes the result back. One of the two safe operations, and it reports which addresses it actually changed.
-   **Remove Unsubscribed Emails** Reads the list, filters out the named addresses and writes the result back. Matching is case insensitive.
-   **Replace Unsubscribed Emails** Overwrites the entire opt out list with the addresses supplied. Destructive by design and kept for flows that legitimately own the whole list. The operation this page's human gate exists for.

## Triggers

1 triggers

### Event Triggers

1

-   **On New Response** Fires when new feedback arrives, across every survey type and every channel. SatisMeter's own webhooks are configured by hand in its settings and expose no management API, so this trigger polls the v3 export instead. The first poll records a watermark and fires nothing, events are emitted oldest first, and a failed poll leaves the watermark untouched so a transient outage cannot lose feedback. Dismissals recorded as responses are emitted too, so branch on the answer value when the flow only wants completed feedback.

## Frequently Asked Questions

### What can FlowRunner do with SatisMeter?

FlowRunner agents can run Get Project, List Surveys, and Get Survey in SatisMeter, plus 14 more actions.

### Does connecting SatisMeter to FlowRunner require OAuth?

No. SatisMeter connects to FlowRunner with an API key, no OAuth flow required.

### Can SatisMeter trigger a FlowRunner workflow automatically?

Yes. SatisMeter supports 1 trigger that can start a FlowRunner workflow automatically.

**Work at SatisMeter?** This integration exposes SatisMeter to AI agents on every FlowRunner plan, including through MCP, at no cost to you. [See what FlowRunner offers integration partners](https://flowrunner.ai/integrations/partners), including how to keep this page current.

---
Markdown version of https://flowrunner.ai/integrations/satismeter. Site index: https://flowrunner.ai/llms.txt
