Webhook signature verification

Webhooks can now be signed, so your server can verify that each request genuinely came from Zonka Feedback and wasn't altered in transit.

Every signed webhook carries an HMAC-SHA256 signature in a Zonka-Signature header, generated from a secret unique to that webhook. Your server recomputes the signature and rejects anything that doesn't match.

Turn it on from Settings → Developers → Webhooks. It's on by default for new webhooks, and existing ones are unchanged until you enable it.

Setup steps, the header reference, and verification samples in Node.js, Python and PHP:

Learn more about Webhook Signature Verification

Get notified when an Offline Surveys device goes offline

You can now get an email the moment an Offline Surveys device stops connecting to Zonka Feedback, and another when it’s back online. No more finding out days later that a kiosk or tablet quietly dropped off and stopped syncing responses.

Here’s how it works:

  • Your devices check in with Zonka Feedback about once a minute.
  • If a device hasn’t checked in for 5 minutes, it’s marked Offline and an Offline email goes out.
  • As soon as it reconnects, it’s marked Online and you get a Back Online email, including how long it was offline.
  • You’ll get just one email per offline period, so a device that stays offline for hours won’t flood your inbox.

Two settings control the emails:

  • Notify when a device goes offline — turns the Offline email on or off.
  • Notify when a device comes back online — sends the Back Online email (available once the offline notification is on).

A few things worth knowing:

  • Both notifications are off by default, so you’ll need to switch them on.
  • Emails go to all admins and the account owner.
  • Each email has a View Device Details button that takes you straight to the device in Settings.

You’ll find it under Settings → Survey Hub → Offline Surveys → Notifications.

Send Two-Way SMS Surveys with Zendesk Triggers

You can now send Two-Way SMS surveys automatically through your Zendesk triggers. Your customers can respond to the survey right in their SMS conversation.

What’s new
When you create or edit a Zendesk trigger in Zonka Feedback, you’ll now see Two-Way SMS Survey as a channel option alongside Email Survey and SMS Survey. You can choose when the SMS is sent, decide whether to ignore throttling, and set ticket conditions (for example, sending only when a ticket has specific tags), just like your other triggers.

How to set it up
Go to your survey → Integrations → Zendesk → Send Zonka Feedback survey automatically → create or edit a trigger → select Two-Way SMS Survey → configure timing, throttling and conditions → Save.

Important: Make sure your customers’ mobile numbers in Zendesk include the country code (for example, +1, +44, +91). SMS can’t be delivered to numbers without one.

Trigger SMS Surveys from Salesforce, with Automatic Fallback to SMS

Reach more of your customers right from Salesforce. You can now send SMS surveys automatically when something happens in Salesforce, and make sure customers without an email address still get your survey through Fallback to SMS.

📱 Automated SMS Surveys from Salesforce

Just like Salesforce email triggers, you can now send SMS surveys automatically whenever a Salesforce event fires, such as a Case being closed or a deal being won.

  • Choose the trigger object: pick the Salesforce object that sends the SMS (e.g., Case, Contact or any custom object)
  • Map recipient details: select the fields that hold each customer’s name and phone number
  • Carry Salesforce data onto responses: add merge fields like Case ID, Account ID or Contact ID to every response, then filter and report on them
  • Send in your customer’s language: map a language field so each customer gets the SMS in their own language
  • Customize your message: edit your SMS template anytime, including multilingual versions

How to set it up: Go to Distribute → SMS & WhatsApp → Trigger via Integrations → Salesforce → Configure.

⚠️ Make sure phone numbers in Salesforce include the country code (e.g., +1, +91). SMS can’t be sent to numbers without one.

✉️➡️📱 Fallback to SMS for Salesforce Email Triggers

Some Salesforce records have a phone number but no email address. With Fallback to SMS turned on, your email trigger automatically sends the survey by SMS when a record has no email, so no customer gets skipped.

  • Email always comes first: if a record has both an email address and a phone number, the survey is sent by email only, so customers never receive it twice
  • No extra Salesforce setup: the same Endpoint URL works for both email and SMS, so there’s no new Outbound Message or Flow to create
  • Easy to enable: set up the SMS trigger on the same Salesforce object as your email trigger, configure your SMS template, and switch on the toggle

How to turn it on: Go to Distribute → Email → Trigger via Integrations → Salesforce → Configure, then switch on Fallback to SMS in the Configure Email tab.

📖 Learn more: Integration with Salesforce

Set a response quota on any survey

You can now cap how many responses a single survey collects. Once it reaches the limit, the survey stops collecting on its own — across survey links, QR codes, email, SMS, WhatsApp, web widgets and devices. No more remembering to switch a survey off.

Choose how often the quota resets:

  • Per day — resets at midnight in your timezone
  • Per week — resets every Monday
  • Per month — resets on your billing renewal date, alongside your response credits
  • Lifetime — never resets; the survey closes once the limit is reached

A few things worth knowing:

  • Partial and completed responses both count towards the quota.
  • You’ll get an email and in-app alert at 80% and 90%, so you can raise the limit before the survey pauses.
  • Reset the counter whenever you like to start collecting again — responses already collected are kept.
  • Collecting on devices? They carry on capturing offline and sync automatically once the quota resets.

You’ll find it under Build → Settings → General Settings → Response Quota.

Available on the Enterprise plan. Learn more →

Filter API Responses by Hidden Variables and Contact Attributes

You can now filter responses by hidden variables and contact attributes using the Responses API. This lets you fetch only the feedback you need, such as responses from a specific store, channel or customer segment, without pulling everything and filtering it yourself.

How it works

  • Hidden variables: Use the hidden variable name as the query parameter.
    store_location=Downtown,Airport
  • Contact attributes: Add the prefix contact_ to the attribute name.
    contact_plan=Pro,Enterprise
  • Multiple values: Separate values with commas to match any of them.

You can combine these with existing filters like surveyId, startDate and limit.

Example

GET /responses?store_location=Downtown,Airport&contact_plan=Pro,Enterprise

This returns responses from the Downtown or Airport stores, submitted by contacts on the Pro or Enterprise plan.

Use cases

  • Sync feedback for specific locations or regions into your BI tools
  • Analyse responses by customer plan, tier or segment
  • Build focused reports without extra filtering on your side

View the Responses API documentation → 

Introducing the Zonka Feedback MCP Server

We're excited to roll out the Zonka Feedback MCP Server — a new way to work with your customer feedback right inside the AI tools your team already uses, like Claude and ChatGPT.

Until now, getting answers from your feedback meant opening dashboards, building reports, or exporting data. With the MCP server, you just ask — in plain language, from your AI assistant, using your live Zonka Feedback data.


What's New?

🔗 Connect your AI tools to Zonka Feedbackng dashboards, building reports, or exporting data. With the MCP server, you simply ask—in plain language, from your AI assistant—using your live Zonka Feedback data.

Link Claude, ChatGPT, or any MCP-compatible tool to your account in a couple of clicks. Zonka Feedback is listed in the Claude connector directory, so there's nothing to wire up by hand.

🧠 Ask questions in plain language

Query your survey responses, NPS, CES, CSAT, and sentiment, online reviews and reputation, and your AI Feedback Intelligence themes — down to the verbatim quotes behind them — just by asking. No exports, no query language.

🔐 Grounded in your data, scoped to your permissions

Every connection signs in with OAuth and runs with that user's own role and access. The connector is read-only — it reads and analyzes your feedback, and never changes your account.


Why It Matters

  • Answers where you already work: pull feedback insights inside your AI assistant, not another tab.
  • Skip the export-and-analyze loop: go from question to answer in seconds.
  • Trustworthy by design: read-only, permission-aware, and traceable back to real customer responses.

Example Use Cases

📊 Track your metrics — "What's our NPS this quarter, and how does it compare to last?"

🧠 Find what's driving sentiment — "Which themes are behind our negative feedback right now?"

⭐ Watch your reputation — "What's our average review rating this year, and how many did we reply to?"


Plan Availability

Available on all plans. An account admin turns it on under Settings → AI Governance → AI Features → Agents & MCP, after which everyone on the account can connect their own AI tool.

Learn more here

Create or update Salesforce records using an External ID

Salesforce mappings used to force a choice up front: create a new record, or update an existing one. Pick wrong and you got duplicate Contacts, or updates that went nowhere.

Custom Mapping now has a fourth action: Create or update a record using an External ID.

Choose a Salesforce field you already use to identify customers — account number, CRM ID, subscription reference — and every response is checked against it. Match updates the record. No match creates one.

Get the identifier onto a response three ways:

  • Survey link — ?sf_External_Field_1__c=Get%20Started (sf_ prefix + the Salesforce API name)
  • Survey question — pick it in the Match Value dropdown
  • Salesforce email trigger — pass the field through and it rides along with the survey

Set it up under Integrations → Salesforce → Add Mapping. Only fields marked as External ID in Salesforce appear — mark yours Unique too, or a value matching multiple records won't sync. Matching is exact, case and spacing included.

Setup guide →

Introducing Signals: Turn Analyzed Feedback Into What to Act On Today

We're excited to roll out Signals in the Intelligence Hub — a prioritized list of what's changing, who's at risk, and what's worth acting on right now.

Until now, Snapshot told you your scores, and Deep Dive let you explore themes — but you still had to work out what mattered most. Signals does that read for you: it turns your analyzed feedback into a ranked set of things to act on, each tied to real customer quotes.


What's New?

📈 Key Drivers — The sub-themes moving your experience most: what's trending, newly appearing, emerging fastest, and your strongest positives and negatives.

💬 Feedback Queries — What customers are asking for and asking about. A spike in questions usually points to an onboarding or documentation gap.

⚠️ Churn Signals — Relationships at risk, complaints, and time-bound Recovery Opportunities — recent high-urgency negatives where the customer still looks winnable.

🎉 Praises & Recommendations — What's working and worth protecting, ready for advocacy and testimonials.


How It Works

Every row is one sub-theme carrying that signal, with its volume, change against the previous equal period, and a sentiment bar. Expand any row to read the customer quotes behind it — for intent signals, you see the exact sentence, not the whole response. Colour follows sentiment, and for churn, complaints, and negative drivers, a rise shows red, so the things getting worse stand out immediately.


Act Without Leaving the Page

Every row has an action bar: create a ticket, post to Slack or Microsoft Teams, or send an email — each pre-filled with the sub-theme, sentiment, volume, change, and quote. Filters are global and carry over from Snapshot and Deep Dive, and CSV export respects your active filters and sort.


Why It Matters

  • From data to decision: Stop interpreting dashboards — open Signals and see what to do today.
  • Catch risk early: Churn and Recovery Opportunities surface at-risk relationships while they're still recoverable.
  • Route in one click: Insights become tickets, messages, and emails without copy-paste.

Who Is It For?

  • CX & operations leads: a daily prioritized worklist instead of a report to decode.
  • Support & CS teams: recovery opportunities and complaints, ready to action.
  • Product & marketing: feature requests and advocacy, surfaced automatically.

Getting Started

Signals lives under Intelligence Hub → your project → Signals tab. It needs Intelligence Hub enabled and a completed analysis run for a project

Available on all Enterprise Plans with Intelligence enabled

Introducing: Survey Links API — Distribute Surveys Through Your Own Channels

We're excited to introduce the Survey Links API — generate unique, tracked survey links programmatically and send them through whatever channel you already use.

Until now, sending a tracked survey meant sending it from Zonka. If you wanted to trigger a survey from your own app, your own CRM sequence, or a push notification, you gave up the attribution that makes the response useful. With this update, your system creates the link and keeps every bit of context attached to it.


What's New?

🔗 Tracked Links, Generated On Demand

Call the API with a survey and a contact, and you get back a unique URL to distribute however you like — email, SMS, WhatsApp, push, in-app, or anywhere else. The link resolves against your survey's default URL, using your white-label survey domain when you have one configured.

🎯 Full Context Travels With the Link

Pass contact details, contact attributes, hidden and survey variables, and CRM variables when you create the link. When the respondent submits, all of it binds to the response automatically — no prefill parameters to construct, no follow-up call to enrich. You can attribute the response to a specific location and agent at the same time.

👤 Single-Use and Time-Bound

Each link is consumed on the first submitted response, so one link means one respondent. You can set your own expiry per link as well.


Working With Links

Five endpoints, under Settings → Developers → API for your auth token:

  • POST /survey-links — create a tracked link
  • GET /survey-links — list your active links
  • GET /survey-links/{linkId} — fetch one link
  • PATCH /survey-links/{linkId} — update an unused link
  • DELETE /survey-links/{linkId} — remove a link

✅ Responses Land Exactly Where You Expect

A response submitted through an API-generated link is recorded with the channel External — visible in your Response Inbox filters, reports, exports, and webhook payloads, with the same attribution you'd get from a Zonka-sent Email or SMS link. Nothing about your existing reporting changes.


🚀 Getting Started

Generate your auth token under Settings → Developers → API, then explore the endpoints in our Postman collection.

Building an integration? Write to us at [email protected] and we'll walk through it with you.

👉 Survey Links API — Documentation


Plan Availability

Available on Growth and Enterprise plans.


Show Previous EntriesShow Previous Entries