Zonka Feedback
FormsZonka Feedback runs NPS, CSAT and CES surveys over email, SMS, WhatsApp, web, kiosks and in-app SDKs, with AI scoring for sentiment and urgency. Agents read responses and their scores, upsert contacts, send survey links and distributions, manage surveys, locations and devices, and react to new feedback.
What This Integration Enables
Zonka Feedback is an experience program with a physical estate attached, and that is what makes it different from the survey tools it sits beside. It runs NPS, CSAT and CES across email, SMS, two way SMS, WhatsApp, web, in app SDKs and tablet kiosks, attributes every response to a location and to the specific employee who collected or was rated in it, scores each one for sentiment, urgency, intent and emotion, and carries a task object so the follow up is a piece of owned work rather than a line in a report. The API exposes the whole of that: the responses, the distributions, the contact list with its deliverability flags, the single use links, the kiosk fleet and its battery levels, the locations, the users and the tasks.
FlowRunner agents work all of it and are built and verified against the Zonka Feedback API. They read feedback filtered by the AI insights rather than by score alone, bring feedback collected outside Zonka into the same inbox, hand a respondent a single use link carrying their order number and agent, keep a contact list in step with a CRM in both directions, and watch a terminal fleet for the devices about to stop collecting. What FlowRunner's human-in-the-loop discipline governs here is the outbound side, because on this connector the agent holds four channels that reach a real customer and a parameter that switches off the vendor's own protection against overusing them.
Without FlowRunner
With FlowRunner
Use Case Scenarios
-
A detractor becomes work someone owns
On New Response fires and the record already carries what most platforms make you compute: the NPS band, the sentiment, the urgency and the emotion. The agent branches on urgency and emotion together, because a calm two and an angry two are different problems. Where both are high it resolves the site with Get Location and the employee named on the response with Get User, opens a ticket in Zendesk with the verbatim attached, and calls Create Task so the same follow up exists inside Zonka with the location manager as the assignee, a due date and a reminder. The response inbox URL and the task go to the site's channel in Slack, so the manager opens the feedback rather than a summary of it.
-
The right survey, on the channel that contact actually uses
A ticket closes, an order ships or a clinic visit ends, and the agent decides how to ask. It calls Get Contact first, because bounce and unsubscribe flags are the difference between a survey and a complaint, and reads the last email and SMS send dates recorded on the contact. A reachable email address gets Send Email Survey with the first question embedded. A mobile only contact gets Send SMS Survey, or Send Two Way SMS Survey where the questionnaire is short enough to answer by replying. A WhatsApp contact gets Send WhatsApp Survey against the account's pre approved template, since WhatsApp is not a free text channel. Contact records stay aligned with HubSpot through Upsert Contacts, and the bounce and unsubscribe filters on List Contacts feed the CRM's own suppression list.
-
Watching the terminals before they go dark
Nightly the agent walks List Devices, then pairs Get Device Uptime with Get Device Response Counts over the same window for each site. A terminal that was up all week and collected nothing is a different fault from one that was offline half the time, and neither looks unusual in a response count alone. Devices on an old app build or with a battery trending down get flagged the same way. The agent assembles the case, resolves the site address with Get Location, and proposes a dispatch. A person confirms the visit, because sending a technician to a branch costs real money and the agent is reasoning from telemetry rather than from having stood in the lobby.
Human-in-Loop Highlight
Zonka will not send a second survey to the same recipient for thirty days, and every one of the four distribution actions carries Ignore Throttling to override that for transactional sends. The parameter exists for good reasons: a survey after a ticket closes is not the same thing as a monthly relationship survey. It is also the one setting on this connector that lets an agent do real damage while behaving exactly as instructed. A customer who closes four tickets in a week is a customer who has already told you something, and asking them four times is how a feedback program becomes a nuisance. None of it can be recalled, and on WhatsApp there is not even a free text field to soften it with, because the send has to match a pre approved template. So the transactional agent sends inside the throttle without asking, and stops at the edge of it: "Ticket batch of 46 closures. 41 recipients are outside the thirty day window and will send normally. 5 were surveyed in the last thirty days, including 2 who are current detractors: [list]. Ignoring throttling reaches all 46. Send the 41 only, send all 46, or skip the 5?" The agent picks the survey, the channel and the timing. Whether a customer's patience gets spent twice in a month is a call the experience owner makes.
Agent Capabilities
34 actionsResponses
4- List Responses Retrieves responses filtered by date range and by any combination of survey, location, device, channel, tag and rated user. The AI filters for sentiment, intent, emotion and urgency and the NPS, CES and CSAT bands narrow the list to the feedback worth acting on, such as every detractor with an angry emotion this week.
- Get Response Retrieves one response with the respondent, the location, the collecting and rated users, the channel and its delivery timestamps, the tags, all three score types, the AI insights and every question with the answer given. Used to enrich a record that arrived carrying only an identifier.
- Add Response Records a completed response on behalf of a respondent, which is how feedback collected outside Zonka, from an IVR, a point of sale terminal or a partner app, joins the same inbox, reporting and alerting. Answers are matched to questions by the variable identifier shown in the survey builder.
- Update Response Updates an existing response, replacing the answers and any attribution fields. The survey a response belongs to cannot be changed. Used to correct an imported response or to add contact attribution that was missing when it was recorded.
Survey Links
5- Create Survey Link Generates a unique, single use link for one respondent, which is how a survey travels over a channel Zonka does not send on itself: a chat reply, a printed receipt code, an in app banner. The link can carry identity and attributes such as an order number or seat class, all bound to the eventual response. Links expire after 72 hours unless an expiry is given.
- List Survey Links Lists the active single use links, optionally narrowed to one survey, each with its URL, tracking code, bound contact and attributes, location, agent, status and expiry. Used to audit which invitations are still outstanding.
- Get Survey Link Retrieves one link by identifier with everything bound to it. Used to check whether an invitation is still active before resending, or to recover a URL created earlier in a flow.
- Update Survey Link Updates an unused link, which is how an invitation is extended, shortened or corrected after it has been handed out. Attribute keys merge into what the link already carries, while the contact object replaces the existing one outright. A link that has already been used cannot be updated.
- Delete Survey Link Permanently deletes a link and the contact and attribute data stored against it, revoking an invitation that should no longer be answerable. Responses already submitted through it are unaffected. This cannot be undone, so prefer shortening the expiry when the link may still be needed.
Surveys
4- List Surveys Lists the account's surveys, optionally limited to one workspace or to active surveys, each with its identifier, name, active state, workspace, bound locations and public URLs.
- Get Survey Retrieves one survey with its name and description, active state, web survey title and public URLs, and the locations it is bound to. Used to confirm a survey is still live before an invitation goes out.
- Get Survey Snapshot Retrieves the headline metrics for one survey over a date range: response count, average completion time, completion rate, and the NPS, CSAT and CES scores broken into their bands. This is the figure set a weekly digest needs, computed by Zonka rather than by counting responses in a flow, and it can be narrowed to one location.
- List Workspaces Lists the account's workspaces with identifier, name and last modification. Workspaces group surveys by team, brand or business unit, so this is the first call when a flow works through one team's surveys.
Contacts
4- List Contacts Lists contacts, optionally narrowed by survey, location, acquisition channel or segment, and by the deliverability flags for bounced addresses, email unsubscribes and SMS unsubscribes. Those filters are what keep an external CRM's suppression list aligned with Zonka's.
- Get Contact Retrieves one contact by Zonka identifier or by your own external identifier, returning identity, segments, acquisition channel, the dates the last email and SMS surveys went out, response count, custom attributes, pending task count and the bounce and unsubscribe flags. The deliverability check before an invitation.
- Upsert Contacts Creates or updates up to twenty five contacts in one call, matching each on email, mobile or unique identifier, which keeps a customer list in step with a CRM without checking first whether each record exists. Custom attributes travel alongside the identity fields and appear in the survey builder as contact variables.
- List Contact Segments Lists the account's contact segments with identifier, name, type and contact count. A standard segment holds a fixed membership while a dynamic one is evaluated from its rules each time it is used. The distribution actions accept segment names, and this is the call that supplies them.
Survey Distribution
5- Send Email Survey Sends a survey by email to one recipient or to whole segments, using the survey's saved template unless overridden. The first question can be embedded directly instead of a start button, the styling can be changed per send, and reminders can be scheduled for recipients who do not answer.
- Send SMS Survey Sends a survey by SMS to one number or to whole segments, with a short message linking to the survey and a body that can be overridden per send. Sends can be scheduled, attributed to a location, and given attributes bound to the response.
- Send Two Way SMS Survey Sends a conversational survey where the respondent answers by replying to the message rather than by opening a link, which reaches people who will not follow a URL and handsets without a browser. It takes the same targeting, scheduling, location attribution and attribute parameters as the link based send.
- Send WhatsApp Survey Sends a survey over WhatsApp through the account's registered Business template. WhatsApp requires a pre approved template, so the template name and language must match one registered with the provider, and the sending number can be overridden where the account has more than one.
- List Distribution Logs Retrieves the delivery log for one survey and one channel within a date range, showing the recipient, when it was sent, when the email was opened, when the survey was opened, when it was submitted, the location and the outcome. Filtering by status isolates invitations delivered but never opened, or opened but never completed.
Devices
4- List Devices Lists the kiosk and tablet devices registered with the account, optionally narrowed by app status, label, survey or location, each carrying hardware details, app version, battery level and charging state, time zone, last communication and current app status.
- Get Device Retrieves one device with its full detail, including serial number, screen resolution, battery state, location, last login and current app status. Used to check a single terminal before dispatching a technician.
- Get Device Uptime Retrieves total uptime in seconds for one or more devices over a date and time range. Uptime is the measure of whether a terminal was actually available to collect responses, which is what separates a quiet location from a broken one.
- Get Device Response Counts Retrieves the number of responses collected by one or more devices over a date and time range, which is how a terminal's throughput is compared against its uptime or against other sites.
Tasks
4- List Tasks Lists follow up tasks, optionally narrowed by assignee, type or status. Tasks are what close the loop on negative feedback, so filtering to pending or overdue is the usual way to find work that is slipping.
- Create Task Creates a follow up task and assigns it to one or more users, which is how a detractor response becomes work someone owns. The type names the kind of follow up, the due date drives the overdue status, and the reminder nudges the assignee before it.
- Update Task Updates a task's name, type, description, due date, reminder or assignees. Used to reassign work when an owner is unavailable, to push a due date, or to change the type once the nature of the follow up is clear.
- Delete Tasks Permanently deletes one or more follow up tasks. Deletion cannot be undone, so mark a task complete instead when the record should be kept.
Locations and Users
4- List Locations Lists the account's locations, optionally narrowed by label, group or active status. A location is a store, branch, clinic or site that responses, devices and distributions are attributed to, so this is what a flow reads to iterate over sites.
- Get Location Retrieves one location with its name, address, external identifier, active state and labels. Used to resolve the location carried on a response into the site name and address a notification or a ticket needs.
- List Users Lists the users with access to the account, optionally narrowed by role, label or status, including the locations each user is scoped to. This resolves the assignee identifiers Create Task needs, and doubles as an access audit.
- Get User Retrieves one user with their identity, role, labels, last login, ownership and active flags, and the locations they are scoped to. Used to resolve the rated or collecting user on a response into a person a notification can be addressed to.
Triggers
1 triggersEvent Triggers
1- On New Response Fires once for every new response received for the watched survey, emitting the full record: the respondent, the location, the collecting and rated users, the tags, the NPS, CES and CSAT scores, the AI sentiment, urgency, intent and emotion, the response inbox URL and every question with the answer given. It can be narrowed to a single location so a per site flow only wakes for its own feedback. Zonka publishes no webhook management API, so this trigger polls, and the first cycle records the responses that already exist without firing so a flow does not replay history when it is switched on.
Frequently Asked Questions
What can FlowRunner do with Zonka Feedback?
FlowRunner agents can run List Responses, Get Response, and Add Response in Zonka Feedback, plus 31 more actions.
Does connecting Zonka Feedback to FlowRunner require OAuth?
No. Zonka Feedback connects to FlowRunner with an API key, no OAuth flow required.
Can Zonka Feedback trigger a FlowRunner workflow automatically?
Yes. Zonka Feedback supports 1 trigger that can start a FlowRunner workflow automatically.
Start building with Zonka Feedback
Free plan, no card required. Connect in minutes.