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

Update Salesforce records by matching any field

Your survey responses can now update the right Salesforce record using the identifiers you already have. With the new Update fields on an existing — match by any field action, you can match any Salesforce field to a hidden variable in your survey. That includes Account ID, Email, Lead Source, or a custom field.

What you can do

  • Match on any Salesforce field by pairing it with a Zonka Feedback hidden variable
  • Add multiple conditions to match more precisely. A record is matched only when all conditions are true.
  • Decide what happens when no record matches: skip the response, or create a new record instead
  • Decide what happens when several records match: update the most recently modified one, or update all matched records (up to 200)

If you don’t choose an option, a response with no match is skipped. A response that matches more than one record fails and is logged as an error, so nothing gets updated by mistake.

How to set it up
Open your survey and go to Integrations → Salesforce → Add Mapping. Under Select an Action, choose Update fields on an existing — match by any field.

👉 Learn more in our help article

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 → 

All response attributes now sync to your integrations

When Zonka sends a response to a connected tool — creating a ticket, posting a notification, or syncing the full response — it now carries every attribute on that response, not just the survey answers and a fixed set of contact fields.

Now included:

  • Contact attributes — email, mobile, name and any other contact fields
  • Response attributes — device, location, & agent etc.
  • Hidden attributes — values you pass at send time
  • Integration attributes — order, ticket and record data from the integration that triggered the survey

Attributes also travel across integrations, not just back where they came from. A Shopify post-purchase survey response now carries its order ID, order total, line items and shipping type into the Zendesk ticket it creates — so your team sees the order behind the feedback without leaving the helpdesk.

This works across ticket creation, notifications and full response sync, in every integration you've connected.

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 →

📣 New: Send WhatsApp Surveys via Gupshup

Great news — Zonka Feedback now supports Gupshup as a WhatsApp messaging provider, alongside Infobip!

Why this matters
If your team already uses Gupshup for WhatsApp Business messaging, you can now connect it directly to Zonka Feedback and start sending survey invites, feedback requests, and follow-ups — no extra tools needed.

What's new

  • New provider option: Choose "Gupshup" from the Provider dropdown under Settings → Survey Hub → WhatsApp Surveys.
  • Simple setup: Just add your Gupshup API Key, App Name, App ID, and WhatsApp Sender number to get connected.
  • Same great workflow: Once connected, sending surveys works exactly as before — configure your WhatsApp template, map placeholders, preview the message live, add recipients (manually, via contact segments, or CSV import), and send.
  • Full visibility: Track every message with WhatsApp Survey Logs, so you always know what's been sent, delivered, and responded to.

How to get started

  1. Go to Settings → Survey Hub → WhatsApp Surveys → WhatsApp Setup
  2. Select Gupshup from the Provider dropdown
  3. Enter your API Key, App Name, App ID, and Sender number, then hit Update
  4. Head to Distribute → SMS & WhatsApp to configure your template and send your first survey

Don't have a Gupshup account yet, or want help connecting a different sender? Reach out to us at [email protected] — we're happy to help.

Introducing Smart Send — Deliver Surveys at the Right Local Time, Every Time

Timing matters as much as targeting. A survey that lands at 3 AM in a recipient's timezone is far less likely to get a response than one that lands during their morning coffee. With Smart Send, Zonka Feedback now delivers your surveys within a preferred time window based on each recipient's local timezone — automatically.

What's New?

🌍 Timezone-Aware Delivery Smart Send detects each recipient's local timezone and holds delivery until it falls within your chosen sending window — instead of firing every survey the moment a trigger or schedule kicks off.

🕐 Three Delivery Windows to Choose From Pick the window that fits your audience:

  • Morning (8:00 AM – 12:00 PM) — for a focused, start-of-day nudge
  • Business Hours (8:00 AM – 5:00 PM) — the standard workday window
  • Extended Day (8:00 AM – 8:00 PM) — widest reach across the day

All windows run Monday to Friday, so surveys never land on a recipient's weekend.

🔌 Works Across Every Channel Smart Send applies uniformly across Email, SMS, WhatsApp, scheduled campaigns, and workflow-triggered sends — one setting, consistent behavior everywhere.

Why This Matters

Sending at the wrong hour is one of the quietest reasons response rates underperform — recipients simply aren't in a position to engage. With Smart Send, you can:

  • Improve response rates by reaching people when they're actually available
  • Avoid survey fatigue from odd-hour delivery
  • Maintain a consistent, professional send cadence across global audiences
  • Set it once and let delivery timing take care of itself

A Note on Auto Pilot

Smart Send controls when within the day a survey is delivered based on recipient timezone. It does not change how Auto Pilot schedules recurring cycles (every 3, 6, 12 months, etc.) or its Smart Distribution logic across a cycle — those continue to work exactly as before. The two features operate independently and can be used together.

Getting Started

Go to Settings → Survey Hub → Throttling & Smart Send and toggle on Smart Send, then choose your delivery window.

👉 Learn more about Smart Sending — Help Center

Plan Availability: Available on Growth, and Enterprise plans.

Introducing Webhooks 2.0

Webhooks in Zonka Feedback have been rebuilt with a new payload, and AI insights delivered inline. Your systems can now act on feedback the moment it arrives — without a follow-up API call to enrich it.


What's New?

🧠 AI Insights in Every Payload

Sentiment, urgency, intent, and emotion now ship with every response delivery. Route an angry, high-urgency response straight to a senior agent in your helpdesk, or open a Salesforce case only when intent signals churn risk — all from the webhook body, no enrichment step required.

🔧 A Cleaner, Parseable Payload

  • Event metadata: every delivery carries eventType and eventId, so you can identify the trigger and de-duplicate on your end.
  • Consistent attribute shape: contactAttributes and responseAttributes now use a fixed variableId + value structure instead of dynamic keys — no more schema that shifts per survey.
  • Noise removed: internal flags (starred, archived, task IDs), empty fields, and duplicate keys are gone. Answers arrive in a single, clearly named surveyResponse array.

Choosing Your Events

Under Settings → Developers → Webhooks, you'll now see four events:

  • response.added — completed response, new payload
  • partial.response.added — partial response, new payload

✅ Your Existing Webhooks Are Untouched

Every webhook created before this update keeps receiving the legacy payload exactly as before. We strongly recommend that you migrate to the new format ASAP, as the legacy formats will be deprecated in near future.


Getting Started

Go to Settings → Developers → Webhooks → Add Webhook and select the new response.added event.

Migrating an existing integration? Write to [email protected] and we'll walk through the payload mapping with you.

👉 Using Webhooks — Help Center


Plan Availability

Available on Professional, Growth and Enterprise plans.

Introducing Auto Pilot for Recurring Email Surveys

With this update, you can now set up recurring email surveys that send themselves on a schedule you choose — every 3, 6, 12 months or custom frequency — without having to trigger anything manually. This makes it easy to run continuous customer feedback programs like quarterly NPS, biannual CSAT, or annual relationship surveys with zero ongoing effort.


Key Features

🔁 Set a Recurring Schedule, Once

Pick how often you want each customer to be surveyed — every 3, 6, or 12 months, or a custom interval — and Auto Pilot handles the rest. Every cycle, the next survey goes out automatically. No need to remember when each round is due or rebuild your contact list every quarter.

📊 Smart Distribution Across the Cycle

Auto Pilot doesn't send to everyone on Day 1. Sends are spread evenly across your chosen cycle — every day, every week — so your feedback comes in as a steady stream instead of a single burst followed by silence. Your team gets responses to act on throughout the quarter, your email deliverability stays clean, and the signal you're tracking reflects the whole period, not just the first 48 hours.

🔔 Built-In Reminders That Stop on Reply

Add up to 2 follow-up reminders per cycle, set the gap between them (1 to 7 days), and write the subject and message yourself. Auto Pilot will only send reminders to contacts who haven't replied yet. The moment a contact responds, any pending reminders for them cancel automatically — no awkward nudges after they've already given feedback.


Why This Matters

Running a recurring feedback program by hand is a chore — remembering each round, rebuilding the contact list, chasing non-responders one by one. Auto Pilot lets you stop thinking about scheduling and focus on the feedback itself.

With Auto Pilot, teams can:

  • Run quarterly NPS, biannual CSAT, or annual relationship surveys without manual scheduling
  • Maintain a steady stream of feedback across the quarter instead of Day-1 spikes
  • Boost response rates with automatic reminders that respect the customer
  • Add or remove contacts anytime via manual entry, CSV upload, or contact segments — without breaking the schedule

Plan Availability

Available on on Growth and Enterprise Plans

Run Two-Way Surveys Over SMS — No Link Required

Two-Way SMS is here. Now you can run an entire survey over text, with no link and no landing page.

Sending a survey link by text works, but every extra tap costs you responses. Two-Way SMS skips the link, so the whole survey happens right inside the thread. SMS gets opened within minutes and keeps people from dropping off at a separate page, which usually means higher response rates than a link-based survey.

Your contact gets the question, replies with their answer, and it continues over SMS until they're done. You can shorten the wording for text, personalize with placeholders (like "Hi John, how was your experience?"), and add a custom exit message.

A few things to know:

  • Full question-and-answer flow stays inside SMS
  • Shortened wording, with the original question preserved in feedback
  • Placeholder personalization, custom exit message, and a retry for out-of-range replies
  • Multi-language template support
  • Billing is per message, both incoming and outgoing (costs vary by country; a few aren't supported)

P.S. Since the whole exchange runs on SMS, every extra tap also means an extra SMS. Each message in and out is billable, so a shorter survey protects both your response rate and your costs.

👉 Available on Professional, Growth & Enterprise plans.

Show Previous EntriesShow Previous Entries