Refiner
FormsRefiner runs in-app microsurveys for NPS, CSAT, CES and product-market fit at the moment a user is in your product. Agents push user traits and events in, pull responses and aggregated scores out, manage surveys and segments, and react when new feedback arrives.
What This Integration Enables
Refiner is a microsurvey tool for teams who think the useful question is the one asked inside the product, at the moment the user is doing the thing. What separates it from a general survey builder is the trait model: Refiner targets on attributes you push in from your own backend, so a renewal survey can be aimed at accounts over a contract value without that number ever reaching the browser. The API is where that model actually pays off.
FlowRunner agents use the write side to keep Refiner honest about who your users are, calling Identify User with plan, tenure and lifecycle traits pulled from billing, tracking product events so a survey fires on behavior rather than a calendar, and syncing manual segments built elsewhere. On the read side they pull responses and aggregated NPS, CES and CSAT figures on a schedule, tag open text into themes so the dashboards group it, and control collection windows with Publish Survey and Unpublish Survey. The one thing they hand back is erasure, because Refiner's delete reaches further than most people expect.
Without FlowRunner
With FlowRunner
Use Case Scenarios
-
A detractor score that reaches a human the same hour
On New Survey Response fires on a completed NPS survey. The agent reads the score and the comment, calls Get Contact for the traits Refiner already resolved, and posts the whole picture into the customer success channel in Slack with the plan and renewal date beside the verbatim. Tag Survey Response marks it as escalated so the reporting dashboard groups it with its siblings. If the account crosses a value threshold, the same message opens a follow up in Zendesk. The response never waits for an export.
-
Targeting that reflects what billing knows
On a schedule, the agent pulls accounts whose stage or renewal date moved in HubSpot, then calls Identify User for each one so Refiner holds the current plan, seat count and contract value. Add User To Segment places the changed accounts into a manual segment that a renewal survey targets. Because only manual segments accept membership writes, the agent checks the segment's manual flag from Get Segments first rather than discovering the refusal at write time. The survey then addresses exactly the list the revenue team built, without anyone maintaining it in two places.
-
A score that shows up where the team already looks
Get Reporting runs weekly for the Net Promoter Score over the trailing period and appends the figure with its promoter, passive and detractor split to a tracker in Google Sheets, then posts the movement to the team channel. When a release window opens, Publish Survey starts collection and Unpublish Survey closes it at the end without archiving or deleting anything, so the same survey can be reused next cycle and the historical responses stay in the score.
Human-in-Loop Highlight
Delete Contact is the operation on this connector that reaches furthest. It is irreversible, and it does not only remove the person: it deletes every survey response that contact ever submitted, which moves the NPS baseline the whole team reports on. Refiner ships a gentler sibling for the same intent, since Identify User can overwrite the sensitive traits with empty values and leave the feedback in place. So a FlowRunner agent handling an erasure request gathers the evidence and stops. It posts: "This request covers a contact with survey responses attached, including two that are cited in the current quarter's detractor themes. Delete Contact removes the person and those responses permanently. Clearing traits removes the personal data and keeps the responses. Which one?" The privacy owner answers, and the agent executes the path they named. The lookup was automatic. The choice between erasing a person and erasing a quarter of feedback was not.
Agent Capabilities
19 actionsUser Tracking
2- Identify User Creates or updates a contact with traits pushed from your own systems. Traits merge, and value types matter, so a score sent as a number charts and the same score sent as text does not. Also the safe path for stripping personal data without destroying feedback.
- Track Event Records a product event against a user from a server side workflow, so a survey can be timed to behavior rather than to a schedule.
Survey Responses
3- Get Survey Responses Reads responses newest first, filterable by survey, segment, question identifier and date. Supports cursor paging, which is the right choice past the first few thousand records.
- Store Survey Response Records a response against an existing survey. Used to backfill feedback from a legacy tool or to land answers collected in your own interface, so everything reports in one place.
- Tag Survey Response Applies tags to a response. The operation behind automatic theming of open text, and behind marking a response as escalated.
Reporting
1- Get Reporting Returns the aggregate score for a survey over a period, including the promoter, passive and detractor split. Used for scheduled digests and metrics stores rather than row by row analysis.
Contacts
3- Get Contacts Lists contacts with their traits and segment membership.
- Get Contact Retrieves one contact by identifier. Used to attach account context to a response before routing it.
- Delete Contact Permanently deletes a contact and every survey response that contact submitted. The operation this page's human gate exists for.
Surveys
6- Get Surveys Lists the surveys in the environment, with archived surveys hidden unless you ask for them.
- Publish Survey Starts collection on a survey. Used to open a feedback window at the start of a release.
- Unpublish Survey Stops a survey being shown without archiving or deleting anything. The safe way for a flow to halt collection.
- Archive Survey Archives a survey. Reversible in the dashboard, but the survey disappears from the default listing afterwards.
- Duplicate Survey Copies a survey. The copy is always created as an unpublished draft, so duplicating never starts collection by accident.
- Get Survey Change Log Reads the history of changes made to a survey. Useful when a score shifts and the question is whether the survey moved underneath it.
Segments
3- Get Segments Lists segments and reports which are manual. Check this before attempting a membership write.
- Add User To Segment Adds a user to a manual segment. Fails on a data driven segment, which Refiner recomputes from traits and events.
- Remove User From Segment Removes a user from a manual segment.
Account
1- Get Account Info Reports account usage against plan limits for tracked users and responses. The read behind alerting before a limit is reached rather than after.
Triggers
2 triggersEvent Triggers
2- On New Survey Response Fires when a new response appears. It polls the responses listing, which the vendor documents as reverse chronological, and defaults to completed responses only, so a half answered survey does not fire until the user finishes. The first cycle records what already exists and emits nothing.
- On New Contact Fires when a new contact appears in the environment. Refiner does not document the sort direction on its contacts listing, so this trigger assumes newest first and reads a configurable batch each cycle. On a high volume environment, raise the batch size or configure a dashboard webhook pointed at a FlowRunner flow instead.
Frequently Asked Questions
What can FlowRunner do with Refiner?
FlowRunner agents can run Identify User, Track Event, and Get Survey Responses in Refiner, plus 16 more actions.
Does connecting Refiner to FlowRunner require OAuth?
No. Refiner connects to FlowRunner with an API key, no OAuth flow required.
Can Refiner trigger a FlowRunner workflow automatically?
Yes. Refiner supports 2 triggers that can start a FlowRunner workflow automatically.
Start building with Refiner
Free plan, no card required. Connect in minutes.