Yazi askyazi.com

Yazi

Changelog

Everything we ship, in plain language. Updated every week.

35 changes
New feature

Matrix questions: rate a whole list of things on one scale

You can now ask a Matrix question: give participants a list of items and one shared rating scale (1 to 5 by default, and you can relabel every point), and they rate the lot in one go. On WhatsApp it arrives as a proper grid the participant fills in rather than a long string of separate questions. Building one is a spreadsheet-style grid in the study builder, rows down the left and the scale across the top, with drag-to-reorder and in-place editing. You can randomise the row order per participant, translate the column labels, and the WhatsApp confirmation now names each row so it reads "Street food: 5, Home-cooked: 3" instead of "Rating: 5, Rating: 3". It works across Survey, Recurring Survey, AI Interview and Multi-Activity studies. This was the single biggest capability gap clients kept running into.

New feature

"Select all that apply" questions arrive as a tappable form

Multiple-choice questions that let people pick more than one answer used to reach participants as a plain text list they had to reply to with letters ("reply A, C, E"). They now arrive as a clean WhatsApp form with tappable checkboxes, the same format as Matrix questions, including any "pick at least or at most N" limits and a Back button for changing an earlier answer. Studies that don't have the form set up keep working exactly as before with letter replies, so nothing breaks mid-field. Single-select multiple choice is unchanged.

New feature

Export results as numeric codes, not just answer text

Quant teams working in Q or SPSS can now choose how a CSV or Excel export is written. Answer values can come out as labels, as numeric codes, or as both in separate columns. Column headings can be the full question text or short variable names (Q1, Q2). Multi-select questions can be split into one 0/1 column per option, matching the SPSS export. A small options screen appears when you click Export and it remembers your choice, so you don't set it every time. It's on Survey, AI Interview and Recurring/Diary results. This is presentation only: the raw data and the existing SPSS (.sav) export are unchanged.

New feature

17 ready-made interview briefs, and an assessor that reviews yours

The Research objectives step of an AI interview now has two new things. A template gallery of 17 interview briefs, written from studies that actually ran well in production: browse by category or search, preview the full brief, and start from it instead of a blank box. And an objective assessor that reads your brief back to you when you've finished writing it, with a quality rating, a plain-language summary and specific fixes you can apply in one click. It can also fill in your target audience, key topics and required questions, and anything it changes can be undone. The assessor is advisory only. It never changes your campaign settings on its own.

New feature

Pipe someone's earlier answers into a later question's options

A question's answer options can now be built from what the participant picked earlier, instead of being typed out by hand. Ask which brands someone uses, then have the follow-up show only those brands. You set it up in a Piping panel next to Question Logic in the builder, and the options are resolved at send time from that person's actual prior answer. It handles the awkward cases properly: if the source question was skipped, answered with "none of the above", or left unanswered, the piped question is skipped forward rather than sent with nothing in it.

New feature

Retry a reward payment that failed

Reward Approvals now has a Failed tab listing every payment that didn't go through, why it failed, and how many times it was tried, with a Reprocess button on each row. Some failures happen for reasons that go away, for example the airtime float being topped up a few minutes later, and until now a failed payment was simply stuck. Reprocess now genuinely gives a payment a fresh set of attempts. It also can't accidentally pay someone twice: before sending again it checks with the provider whether the earlier attempt actually went through, and adopts that result if it did.

New feature

Yazi now works properly on a phone

We spent the week making the web app usable on a phone rather than a shrunken desktop site, and the whole batch is live. Pop-up dialogs slide up as full-width sheets from the bottom instead of stranding a thin card mid-screen. Responses arrive as readable cards, one respondent per card with their answers stacked, plus a Cards/Table switch if you'd rather compare across people, and your choice is remembered. The dashboard campaign list, broadcast history, Share screen and broadcast send flow all stack one item per row instead of squeezing into columns. The study title and the Build/Share/Responses/Reporting tabs are readable and scroll cleanly. The navigation drawer has a close button and responds to Escape. Adding a question opens the card fully expanded, and the per-question actions sit behind a labelled menu instead of running off the edge. And the floating Ask Yazi button no longer sits on top of the main Continue button, which was making the primary action partly untappable. Desktop is unchanged throughout.

Improvement

Reward payouts now wait for credits instead of getting stuck

If a participant finished a study at a moment when the account had run out of reward credits, their payout used to get stuck and never go out, even after the account was topped up. Someone had to re-approve each one by hand, and in practice people were being left unpaid. Those payouts now park in a clear "waiting on credits" state and send themselves automatically the moment the balance is topped up. The rewards screen shows that state plainly instead of spinning.

Improvement

Big studies open twice as fast and no longer freeze

Clicking "Load all" on a study with hundreds of responses could lock the browser tab for minutes and sometimes looked like a crash. The cause turned out to be our own session-recording tool trying to capture the entire results grid every time it redrew, which on a 1,523-respondent study was 91 percent of all the work the browser was doing. That recorder now skips results grids, and the results page no longer builds a hidden second copy of the whole table for phones when you're on a laptop. On the study that reported it, Load all went from roughly 18 minutes to 18 seconds. Opening a large study's responses went from about 22 seconds to about 11, and the page stays usable throughout. Three places that were only ever looking at the first 100 responses are fixed too: adding data to a study, downloading photos and voice notes, and approving participant incentives, which previously meant you couldn't see the answers of the 150th respondent you were paying.

Improvement

Shared results links show the whole study, and no longer carry participant details

The public shared-results link got a redesign: a proper header with your logo, the study name, who shared it and a "view only" pill, cleaner white cards, and a Bar/Table/Pie toggle the viewer controls. It also closed a real privacy problem. The public link previously exposed participant phone numbers and demographic details in its underlying data; respondents now appear as "Respondent 1", "Respondent 2" and that data is stripped before it leaves our servers. Separately, a shared link for a multi-activity study used to show only the first activity. It now shows the whole study, every activity's charts stacked under the study title, with a per-activity picker for transcripts. Existing links get all of this automatically, so nothing needs resharing.

Improvement

A readable phrase to start a study on WhatsApp

The message a participant sends to begin a study used to be a bare code, which people mistyped, edited or deleted, and then hit a dead end. It now reads as a sentence, for example "Send to start #4F9A1", and the Share Link modal offers the phrase in each language the study runs in. Campaigns already launched are unaffected, since a phrase is only ever finalised once at go-live.

Improvement

Change how every question displays in one click

The results toolbar now lets you switch every question to Bar, Table or Pie at once, instead of setting each one on a large study, and the toolbar itself is icon-first so it stops crushing the stats row on a laptop. In Table Data you can also hide or show a whole family of columns at a time (Survey answers, Themes, Transcriptions, Translations) rather than toggling columns one by one to reach the transcripts.

Improvement

Turn the participant progress counter on or off

The "Question X of Y" counter that participants see is now under your control on every study type. The Hide Message Count setting, previously only on AI Interviews, is now on Surveys, Recurring Surveys, Diary studies and Live Forms, and a bug where the setting didn't actually take effect on surveys is fixed. Newly created campaigns hide the counter unless you switch it on. Anything already running is unchanged.

Improvement

Question images now show in the transcript

When a study attaches images to a question, for example asking people to rate a logo or a pack shot, those images go out to participants on WhatsApp but were missing from the transcript on the Responses screen. You'd see the question and the answer but not the thing the participant was actually looking at, which made responses hard to read. The transcript now shows each question's images, with captions, in order, exactly as the participant saw them, across all four study types.

Improvement

Activity schedules now explain what they actually do

A setting called "Only send once the previous activity is completed" was saving fine but nothing in the platform ever read it, so switching it off changed nothing. On one live study that meant 19 people were expected to get an invite and 3 did, with nothing on screen explaining the gap. We removed the switch rather than leave it promising something the platform can't do, and put a "How this schedule works" section in its place that explains the real behaviour: each participant moves at their own pace, the time you pick is the earliest an invite can go out after they finish the previous activity, people who haven't finished wait rather than being skipped, and if the time has already passed when they finish, the next activity opens straight away. Second fix on the same screen: if you hadn't picked a broadcast or written an invite message, Save still looked clickable and silently did nothing. It's now properly disabled and tells you which field needs filling in.

Improvement

Create a broadcast template without leaving the send flow

Sending a broadcast from the Share tab used to bounce you out to the Broadcast Messages screen if you needed a new template, and you'd lose your place. There's now a "+ New template" button inside the send wizard that opens template creation on top of it, so you land back in the same flow with your template ready. Works across all campaign types, in English and Portuguese. Related: extra columns in an uploaded recipient CSV, for example surname, category or group, now appear as selectable message variables. Previously anything beyond phone and name was silently dropped from the variable list, the preview and the outgoing file.

Improvement

Ask Yazi understands Matrix questions, and speaks in names not IDs

Ask Yazi didn't know Matrix questions existed. If you asked for one it said it couldn't, and if it drafted a study that needed one it quietly substituted an ordinary open-text question, so you got a weaker questionnaire than the one you described with no indication anything had changed. It now suggests, builds and converts Matrix questions properly, and tells you when one won't work on a given campaign. Separately, when it proposes a change the confirmation card now shows the campaign's name and the question number ("Q1") with the answer options as tags, instead of a long internal ID and a key like "iXjCCMn".

Improvement

Filter media by the answer someone gave

The media library filter that lets you pull voice notes and photos from people who gave a particular answer has been in the product for a while and, it turns out, never matched anybody. It's now fixed end to end, including the case where option wording was edited in Build after respondents had already answered, which used to break the match. The filter list has also been reorganised into a Questions folder split by with-media and without-media, instead of one long flat list.

Improvement

The Share tab now speaks Portuguese

Every piece of wording on a campaign's Share tab now comes from our translation files rather than being written into the page, so the Portuguese white-label build stops showing English on that screen. Nothing changes for English users. We also added an automatic check that fails the build if any of this wording goes missing, because when a translation is absent the system quietly prints its own internal label on screen instead of raising an error, which normal testing never catches.

Improvement

Better test-run coverage in the Simulator

The Test Simulator's Run Simulation view was reworked, with logic-path coverage so you can see which routes a test run exercised, and detail on past runs. Separately the workflow canvas got a usability pass (edge routing, click handling, drawer navigation and the embedded logic-rule editor), and "Decision Map" is now called "Logic Map" throughout the builder.

Improvement

LSM bands calculate automatically on the Ipsos panel

LSM, the 1 to 10 Living Standard Measure band worked out from a participant's household answers, used to be calculated only as a side effect of a Tivian webhook, so any study without that webhook attached never produced a band. It now calculates whenever a participant finishes a survey and is stored on the participant, so quota logic and per-band broadcasts can read it. No change for any organisation other than Ipsos.

Improvement

Security and privacy hardening across the platform

Another round of hardening shipped ahead of the upcoming audit. The parts worth knowing about as a client: participant answers, voice-note transcriptions and the AI interviewer's replies are no longer written into our logs word for word, so a survey answer containing a name, a location or a health detail can't be read out of a log; the AI interviewer is now protected against instructions hidden inside an uploaded participant list, with uploaded details clearly marked as information to read and never as commands to follow; we send the AI less personal data, with surnames removed entirely and names shortened to a first name, which matters for POPIA and GDPR because those prompts are processed outside South Africa; two paths that create and update AI interview records were missing an ownership check and now confirm you belong to the organisation that owns the interview before anything is written; and the production database has stopped accepting connections from a broad whole-network rule, so only the specific services that need it (plus the team VPN) can reach it, with a watchdog that checks every five minutes. No customer data was changed and we found no sign any of these gaps were ever used.

Fix

Broadcast "Started" counts were reading zero

If you sent a broadcast from a multi-activity study, Send History showed Started: 0 even when people had plainly begun, which made the whole table look untrustworthy. Two things were wrong: broadcasts sent from a study were filed against the study while the count looked them up against each individual activity, so it found nothing; and someone only counted as "Started" once they had replied, so anyone partway through was invisible. Both are fixed. Across the platform this recovered 1,175 participants who were being under-counted, 155 broadcasts now report higher, correct numbers, and not one went down. The page also loads about five times faster.

Fix

Failed reward payouts no longer show as if they were fine

On the Incentive Approvals screen, a reward payment that failed was displayed as a plain grey "Not required", visually identical to one that had been paid. The "Failed" counter at the top was structurally incapable of ever showing a number, so it always read zero. On live data that meant 61 rewards which genuinely failed to reach participants were invisible on that screen, with 50 of them counted under "Approved". A failed payout now shows as a red "Failed", the counters add up to every reward in the list, and a failure is never counted as approved. Reward Approvals also gained a search by participant ID and a CSV export of the visible list.

Fix

PowerPoint downloads work again on multi-activity studies

Downloading a PowerPoint from a study activity had been failing since 13 July with a red "Generation Failed" banner that only said "Network Error", so no study-level PowerPoint had been generated in that time. The report was never the problem: the request was being sent to the wrong one of our two APIs and rejected before anything started, and a browser reports a missing endpoint the same way it reports a lost connection, which is why the error pointed at the network. That's fixed, and we've added an automated check that verifies every request the app makes actually points at an API that can serve it, since this same mistake has reached production eight times over the past months. Campaign-level PowerPoint export was never affected.

Fix

The completion message setting now stays where you put it

Switching on "Send a completion message" wouldn't stick: it looked saved and then quietly reverted after publishing, and once a study had the closing message off there was no way to switch it back on from the platform at all. The closing message is where clients often put payment instructions or a link, and two of the affected client's live surveys were finishing without one. The reverse case is fixed too, where publishing could wipe a deliberately switched-off setting. Applies to every organisation and all four study types, and nothing anyone had written was lost.

Fix

Participants mid-study are no longer told they aren't enrolled

Someone partway through a multi-day study who sent a message in the gap after finishing one activity and before the next one opened could be told "you're not enrolled in any interviews at the moment", which reads like being removed from the study. They now get a proper reply saying they're still taking part and we'll message them when the next activity is ready, in whichever language they're already being spoken to in. Related: a participant who finished an activity later than planned used to have the next activity start cold without the invite message the researcher had written, and that invite is now sent first. The Opt out button on those invites also wasn't actually opting anyone out, and on Portuguese studies it would have restarted the study rather than ending it. Both fixed.

Fix

Messages WhatsApp rejects are no longer lost

When someone answers very quickly, WhatsApp sometimes refuses the next message because it limits how fast one business number can message one person. That message used to be thrown away, leaving the participant waiting for a question that was never coming, with nothing recorded. Rejected messages are now saved and automatically resent a few seconds later, and if one still can't be delivered after several tries it stops and raises an alert rather than disappearing quietly. Surveys aren't any slower: the first attempt is still sent immediately and nothing is saved or retried unless it has already failed. Nobody gets asked the same question twice.

Fix

Answers and photos that were being silently dropped

Four separate ways a participant's answer could go missing are fixed. Photos sent at the moment a survey was expecting a button answer were being discarded while the participant still saw a "thanks for your images!" message, so nobody knew data was lost; they're now held and attached to the upload question. A participant removed from a study and then re-added had their new answers written but permanently hidden from the transcript, Table Data and every export. People recruited through a Facebook ad were answering the consent question and never getting the button through to the actual survey, because the redirect was sent using the wrong WhatsApp number's credentials and Meta rejected it. And participants tapping a click-to-chat link sometimes had the whole link pasted as their message, which our system couldn't read as a survey code, so they were told they weren't enrolled in anything.

Fix

Round selfie videos now get a reply

If someone answered a question with one of WhatsApp's round "instant video" selfies, our bot said nothing back. The message looked delivered on their side, no answer was recorded, and the study appeared to have gone dead, so people simply stopped. WhatsApp doesn't pass those videos to us at all, it only tells us "unsupported type", and we were quietly accepting that. Participants now get told straight away that we can't accept that format and to send it another way, in whichever of the 17 languages they're being spoken to in, rate-limited to one notice per person every five minutes.

Fix

Duplicating a study no longer copies the original's routing

Duplicating a campaign left the copy's logic rules pointing at the original campaign's questions, which surfaced in the logic editor as blank or "Participant Language" rules defaulting to Q1. Fixed in both the Duplicate Campaign button and the study/activity duplication path, and the one live campaign affected has already had its data corrected. No participant was affected.

Fix

The question builder no longer loses focus while you type

When you were building a survey and typing an answer option, the text box was losing focus on almost every keystroke, so you'd type a letter and get kicked out. This was a large part of why people abandoned question setup partway through. Building questions holds focus properly again.

Fix

The Participants tab shows the right information

Three things on the Participants tab were wrong. "Last activity" was always blank even for people who had clearly started, because the information was being dropped before it reached the screen. "Source" said "Link" for people uploaded by CSV, because the rule was backwards and treated an inferred link as more trustworthy than a file someone deliberately uploaded. And people who'd already been sent a broadcast still showed "Ready to invite" on multi-activity studies. All three are fixed, along with the filter counts, which were under-counting in the same way.

Fix

Panel completes from PureSpectrum are credited properly

When someone from a paid panel finished one of our surveys, we sent them back to be marked complete and paid, and that handover has to be cryptographically signed. Ours wasn't signed correctly, so it was rejected, and silently: the respondent saw a "thanks, you're done" screen, so nobody had any signal anything had gone wrong. They just never got paid and we never got credited. Fixed end to end, and anything unexpected is now rejected outright rather than waved through as a complete.

Fix

Small things that were quietly wrong

A handful of smaller fixes worth knowing about. "Other" now appears as a selectable answer in Question Logic when its toggle is on, instead of being dropped from the routing rule builder. The Insights tab shows the survey analysis that already existed on studies set up as interviews but answered like a survey, and shows a proper "no insights yet" empty state rather than a blank section or a copy of Graph Data. Test-data deleted with "Remove all simulated" now disappears from results immediately instead of lingering for up to fifteen minutes. Publishing no longer reports false "empty text" errors against the wrong question number or creates phantom duplicate blocks on retry. The Test Simulator, which had been unable to run any survey since a protective change the day before, works again. You can finish signing up on a short browser window, where the Create Account button used to be out of reach with no way to scroll. And new organisations reliably get their demo survey data, which for accounts with AI switched off was being thrown away by a failing AI-interview step. In the agent takeover screen, a participant's first message after connecting no longer goes missing, and photos a researcher sends now display instead of showing as broken images.

20 changes
New feature

Participants can now see how far along they are

Survey questions on WhatsApp now show a running count ("Q1 of Q2", "Q2 of Q2"), and when a survey rolls into an AI interview the count keeps going ("Q3", "Q4") instead of restarting from one. We deliberately don't show a total for the AI-interview part, because the AI often wraps up early, so rather than promising "Q1 of 5" and stopping at three, it just keeps counting honestly. It works across every campaign type, and if you've hidden the counter it stays hidden. Nothing about answers, routing, data or reports changes: this is display only, so people are less likely to drop off wondering how much is left.

WhatsApp survey question showing a "Question 2 of 13" progress count
WhatsApp survey question showing a "Question 2 of 13" progress count
New feature

Group recurring-survey results by participant or segment

The Recurring Survey results table (Responses, Table Data) now has a Group by control: None, Segment or Participant. On a recurring or diary study a person answers over many waves, so the flat table ends up with hundreds of rows and one participant's answers scattered across all of them. Grouping folds that into tidy collapsible headers like "Participant X (9)" that you can expand or collapse, so the table is finally scannable. Grouping is a view preference only: your exports and charts still use the full underlying data.

New feature

A translated transcript column for AI interviews

AI-interview Table Data now carries a Translated Transcript column, so interviews run in another language show the translation alongside the original without you exporting and translating by hand.

Improvement

Reporting numbers now agree across every tab

A study's Graph Data, Report and Insights tabs used to show different headline numbers, single-choice answers could add up to more than 100 percent, the Insights text showed stray ** symbols instead of bold, and the raw-responses export couldn't be grouped. All of that is fixed. Single-choice percentages now total exactly 100 percent (multi-select still shows real per-option shares), the report's fieldwork dates, sample size and headline stat match reality with the hero number paired to the caption that describes it, Insights and the exported PowerPoint show proper bold text, the PDF renders cleanly, and the raw-responses CSV/Excel now carries a stable per-interview and per-question id so you can group it by participant or by question.

Improvement

Block routing now works in in-chat surveys too

Routing between blocks used to be a WhatsApp Flow feature only. It now works in in-chat surveys as well, and the rules are more capable: an Always-Go-To rule, multiple conditions combined with AND/OR in a single modal, and loop detection so you can't build a route that circles back on itself. Each Flow-enabled block also gets an eye icon that previews the whole block as a real WhatsApp Flow screen, with an all-at-once versus one-at-a-time toggle. We also fixed the "equals" condition, which could silently produce a rule that never matched.

Improvement

AI interviews always ask your required closing question

You can set a question to be asked at the very end of an AI interview, for example "please share the number for your incentive". The interviewer was sometimes hitting its message limit and ending without ever asking it. It now guarantees any required question is asked before it wraps up, word for word, on the last turn, translated automatically if the interview is running in another language. A genuine "I'm done" from the participant still ends things gracefully, and the study builder now explains that required questions are always asked near the end and lets you reorder them.

Improvement

Trust review is clearer, and now lives in Table Data

The Participants tab now splits the Trust column into a Verdict and a Reason (previously only visible on hover), and when you change a verdict you can add a note that shows under the AI reason with your name and the date. The same trust status and note are now available as columns on the survey and interview Table Data grid, with an "Approved" status filter and a bulk verdict-update popover so you can review and update many rows at once.

Participant table with a Trust column showing an Approved verdict and the survey-done funnel filter selected
Participant table with a Trust column showing an Approved verdict and the survey-done funnel filter selected
Improvement

Broadcasts show the right status

Several broadcast status problems are fixed. Recipients could get stuck on "Pending" forever when a status update from WhatsApp arrived a second before we'd finished writing the message's tracking record; we now write the record as the message is sent and hold any too-early update briefly until it lands. Sends that can never go through because an account is billing-blocked now correctly show as Failed instead of Pending, and recipients left pending are aged to "unconfirmed" after 24 hours. So the dashboard reflects what actually happened.

Improvement

Panel completes from PureSpectrum now register

When someone recruited through PureSpectrum finished a survey, they were marked complete on the panel's side but Yazi never ticked them off, so the recruitment window sat on zero with an empty progress bar even though people had genuinely finished. On the study that flagged this, 20 people had completed and Yazi showed none. That handoff is fixed, and completions are now counted once and only once even if the same message arrives twice.

Improvement

Airtime rewards now work like the other reward types

Airtime rewards now get the same broadcast-selection experience as Tremendous vouchers, and reward confirmations send as an in-window message first, falling back to an approved template once WhatsApp's 24-hour session window closes. Separately, if an organisation doesn't have its own airtime-confirmation template approved with Meta, the confirmation now falls back to a plain WhatsApp text rather than silently never arriving. The reward itself was always delivered; this makes sure the participant always gets told.

Improvement

A cleaner study setup screen

Study settings now live in a floating panel on the right of the Build tab, with a quick switch between Settings and Blocks. Everything sits in the same place for every study, so there's nothing to relearn.

Improvement

Media in results loads faster

Audio, video and picture grids in the qualitative results card now load progressively instead of rendering everything at once, so studies with a lot of media open noticeably quicker.

Improvement

Ask Yazi no longer swallows the questions it drafts

When you asked Ask Yazi to propose a study or survey, it could end with an empty chat bubble under a false "changes applied" banner, dropping the questions you'd asked for. The proposal now renders as text you can read, and proposing a plan is no longer mistaken for a change that was applied.

Improvement

Recurring-survey results table matches the others

The Recurring Survey results table now has the same toolbar as Survey and AI Interview: a show/hide-columns button, a compact Export button, and a Shareable-link button aligned with the rest. While building show/hide columns we also fixed a subtle issue across Survey, AI Interview, Recurring Survey and Multi-Activity where hiding a column could quietly drop it from an export. Hiding a column is now purely a view preference and never changes what's in your download.

Improvement

Security and privacy hardening across the platform

We ran another security pass this week as part of pentest-readiness and shipped a batch of hardening to production. The parts worth knowing about as a client: our AI-interview chat servers now accept only modern encryption (TLS 1.2 and 1.3) and refuse the old, unsafe versions; every backend service now fetches its passwords and API keys from a secure store at runtime rather than holding them in plain configuration; all traffic to the production database is encrypted and the database now sits in a locked-down private network; fonts are served from our own servers instead of a third party; and the production firewall now inspects all traffic with no exceptions. Nothing was breached; these close gaps proactively, with no change to how anything works for you.

Fix

Rewards in local currencies are billed correctly

Rewards paid in a non-US currency (for example R35 of ZAR airtime) were being deducted from your credit balance as if the local-currency number were dollars, so R35 took $35.00 instead of about $2.12. Credit checks and deductions now convert the reward's local-currency value to USD at a live rate before touching your balance, and the participant results table shows the real reward amount rather than the converted figure.

Fix

Hidden phone numbers stay hidden, and shown ones aren't faked

An organisation that had never explicitly set its phone-privacy preference was being treated as "hide numbers", which masked every participant's number and surfaced as garbled fake numbers in the Media Library. Numbers now only hide when an organisation opts in, and the Media Library no longer formats a masked id as a fake phone number.

Fix

You can finish signing up on your phone

When someone created an account on a mobile phone, the welcome screen filled the display and the "Get Started" button was hidden behind the browser's address bar, so new users got stuck partway through signup. The screen now sizes itself to the visible area, so the button always stays in view. Signing up on a desktop was never affected.

Fix

No stray translation columns on single-language studies

Downloading Table Data for a study without translations turned on still included empty "Translation" columns in the export and the on-screen table. Those columns now appear only for studies that actually have translations enabled.

Fix

Broadcasts accept spreadsheets saved with semicolons

A recipient file saved with semicolons between columns (a common Excel regional setting) was read as having no valid phone numbers, so the broadcast failed with a vague error. Uploads now accept any common separator (comma, semicolon, tab, pipe), and when a send genuinely can't go ahead the screen shows the real reason instead of a generic message.

12 changes
New feature

Route between blocks in a WhatsApp Flow survey

Blocks group questions onto a single WhatsApp screen, and you can now set what happens after each screen: if the answer was X, skip ahead, screen the person out, or end the survey. Routing only ever moves forward, which is what WhatsApp allows, so you cannot accidentally build a Flow that Meta rejects. Each block also gets a show-all versus one-at-a-time toggle, so you choose whether the questions on a screen appear together or reveal one after another as the person answers. Grouping questions no longer wipes your existing skip logic, which was an old rough edge.

New feature

Wire up event triggers yourself

When you set up an event-triggered schedule, the summary screen now shows your Configuration ID and Organisation ID with tap-to-copy, and the API returns them too. You can connect your own systems to a Yazi trigger without asking us to look the IDs up for you.

Improvement

One share link, all your results in tabs

Sharing a campaign's results externally used to mean sending up to three separate links: one for Table Data, one for Graph Data, one for Transcripts. It is now a single link that opens one page with tabs for all of them, so your client sees everything in one place. Shared Table Data and Transcript links also used to stop at the first 25 rows. They now return the full result set. Older links still work, and the Copy share link buttons sit exactly where they did.

Improvement

The broadcast dashboard now shows real Started and Completed counts

Started always read 0 on the broadcast dashboard, even when people had genuinely begun the survey, and there was no Completed count at all. Both numbers were being read from WhatsApp's delivery status, which only knows whether a message was sent, delivered, read or accepted. They now come from the survey itself, and there is a new Completed tile alongside them. To be precise about the three: opted in means they accepted the WhatsApp invite, started means they began the survey, completed means they reached the end.

Improvement

Test data now behaves the same way everywhere

Test-simulator responses used to appear in some reporting views and silently vanish from others, so the charts, the table and the headline counts could all disagree while you were checking your setup. There is now one labelled control on a study's Reporting page. Switch it on and test responses appear consistently across the table, the charts, the media library and the response counts. Switch it off and they all disappear together, and the platform remembers your choice per study. Test data stays clearly labelled and can never end up in an export, a report or a shared link.

Improvement

Ask Yazi tells you what it did

When you ask Ask Yazi to make a change, it now shows a summary card at the top of the panel once it is done: "3 of 4 changes applied", with any failures or skipped steps called out, and the full step list if you expand it. It used to just go quiet and you had to ask whether it had worked. The count now reflects real changes only, so read-only steps like searching or reading a report no longer get counted as edits it failed to make.

Improvement

Study Simulations are about twice as fast

A Run Simulation with around 20 synthetic personas used to be slow and could freeze partway through, because only 4 personas ran at a time and the run hit an internal time limit. It now runs 8 at a time, so a 20-persona run finishes in roughly 9 to 10 minutes and completes reliably.

Improvement

Clearer "Screened out" on the Share screen

Participants who were screened out of a survey used to show a half-finished progress bar, which read as though they had dropped off mid-way. They now show a clean "Screened out" bar on both the campaign and study Share screens.

Improvement

Security and privacy hardening across the platform

We ran a full security pass this week and shipped a batch of fixes to production. The ones worth knowing about as a client: access to campaigns, panel campaigns, reports, participant lists and interview transcripts is now checked against the organisation that owns them, so nothing can be reached across organisations; sensitive data such as phone numbers, survey answers and tokens is no longer written to our internal system logs in plain text; our product analytics no longer captures on-screen text or identifiers from research screens; and our core web libraries are on their patched versions. Nothing was breached. This is us closing gaps proactively.

Fix

PDF transcript export now works

Per-respondent PDF transcript export had been failing since it launched, and the two earlier fixes were treating symptoms. The real cause was memory: image-heavy transcripts decode every image at full resolution during the render, which exhausted the export worker. That is fixed and exports run through, faster than before.

Fix

AI chart summaries no longer quote counts that contradict the chart

The AI summary under a chart used to quote a fixed respondent count, such as "5 out of 7", which could disagree with the total shown above it once you hid test data. Summaries now describe findings in words instead of quoting counts. Existing summaries keep their old wording until they next regenerate.

Fix

White-label participants no longer see English or the wrong brand

Three participant-facing surfaces still had English-only text or hard-coded Yazi branding: the in-app AI assistant panel, the WhatsApp survey fallback messages ("you've already completed this", welcome-back, completion), and the AI assistant's action cards. All three now follow the client's own brand and language. The default English experience is unchanged. One related fix, the screening web page, is ready but waiting on its deploy pipeline.

13 changes
New feature

Swahili is now a full platform language

Surveys, interviews and diary studies can run end to end in Swahili. Every participant-facing message, button and prompt is translated, and Swahili now shows up in the language pickers everywhere instead of only in some places. This opens up clean fieldwork in Kenya and the wider East African market. One thing to know: WhatsApp template approval for Swahili still needs to be submitted in Meta Business Manager before templated broadcasts go out in the language.

New feature

Turn AI off per account and per surface

You can now switch AI features off for a specific account, surface by surface. There are 14 toggles covering things like report generation, highlight reels, transcription and image analysis, plus an approval step so a change has to be signed off before it takes effect. This is built for clients whose own governance rules say certain data cannot be processed by AI. When AI is off for an account, those surfaces show a clear disabled state instead of running.

New feature

Send rewards as airtime or store vouchers

Participants can now be rewarded with airtime (via Reloadly) or store vouchers (via Yoyo / wiGroup), on top of the existing options. The reward amount shows in the delivery message so the participant knows exactly what they got. Handy for incentivised recruitment where cash is not the easiest thing to hand out.

New feature

Approve reward payouts before they go out

There is a new Reward Approvals drawer on the Share screen. You can see each pending payout with its delivery status, a per-person reward snapshot and the participant's trust score, then approve or decline before anything is sent. It puts a human check between a completed response and money leaving the account.

New feature

Restrict an API key to specific endpoints

When you create a Connect Gateway API key you can now scope it to specific endpoints instead of giving it full access. There are presets for trigger-only, read-only and full access, plus a custom option, and the limit is enforced at the gateway. Existing keys are untouched and keep working exactly as before.

Improvement

Open a survey with the participant's name

Surveys can now start with the participant's name, for example "Hi Thandi", using a new name variable in piping. Until now only the AI interviewer picked up the name. Worth knowing the name comes from the participant's WhatsApp profile, so it is not guaranteed for every person, and there is a sensible fallback when it is missing.

Improvement

Switching between accounts is now instant

Moving between organisations used to trigger a full page reload that could take up to two minutes. It now does a soft reset with a short loading screen, so the switch feels instant. This mostly helps anyone managing several client accounts from one login.

Improvement

One review step before you publish

All three builders now share a single pre-publish review panel that checks your study and flags anything to fix, replacing the old stack of publish pop-ups. You can also edit the incentive amount and response-quality settings right there before going live.

Improvement

Recurring survey graphs now cover every question type

Graph data on recurring and diary studies used to show only multiple-choice questions. It now includes every question type, so you get the full picture of what is changing over time.

Improvement

Smarter scheduling across timezones

The schedule picker now covers more timezones, shows GMT offsets and defaults to your own timezone, and the schedule tag is easier to find. Fewer chances of a broadcast going out at the wrong local time.

Fix

Flow settings now save reliably on surveys

Flow configuration (the CTA message, button text and welcome message) was in some cases not saving and reverting to English defaults on reload. That is fixed, so what you set is what participants get.

Fix

No more translation prompt on exports with nothing to translate

The "Translate before downloading?" pop-up was appearing on table-data exports even for campaigns that had no translations at all. It now only shows when there is genuinely more than one language in play.

Fix

New-account onboarding and demo restored

Fresh signups were in some cases missing the onboarding wizard and the demo campaigns. That is fixed, so a brand new account lands in the intended first-run experience.

No changes match that.