# Account Setup and Login (Sandbox)

### Getting Started

#### Sign Up Process

1. Visit[ app.askyazi.com](http://app.askyazi.com/)
2. Click Sign Up
3. Register using your work email address
4. Verify your email address through the confirmation link sent to your inbox

<figure><img src="/files/77k7VUUcenMxGF7CfR5Y" alt=""><figcaption></figcaption></figure>

#### Login Options

Once you’ve created your account, you can sign in using any of three methods:

* Email and password — the credentials you set during registration
* Google — sign in with your Google account (single sign-on)
* Microsoft — sign in with your Microsoft account (single sign-on)

All login methods provide access to the same account and data.

{% embed url="<https://www.loom.com/share/30c05a4a9bd24422945bdd03887217e2>" %}

***

### Joining an Organization

#### Access Code

If you’ve been invited to join an existing organization (rather than creating your own), you’ll need an access code provided by your team administrator.

After logging in for the first time:

1. Enter the access code when prompted
2. You’ll be added to the organization workspace
3. You’ll have access to shared studies, broadcasts, and settings based on your assigned permissions

#### Organization vs. Individual Accounts

* Individual account — you create and manage your own studies independently
* Organization account — you’re part of a team workspace with shared resources, collaborative access, and centralized billing

***

### Sandbox Mode

#### What Is Sandbox Mode?

When you first sign up, your account starts in sandbox mode. This is a full-featured trial environment that lets you:

* Build and test complete studies using all available features
* Experience the full participant journey using Yazi’s test WhatsApp number
* Export sample data (limited to 10 rows)
* Learn the platform without any restrictions on functionality

#### Sandbox vs. Premium Features

| Feature            | Sandbox Mode                                                | Premium Account                                     |
| ------------------ | ----------------------------------------------------------- | --------------------------------------------------- |
| Study building     | Full access to all question types and configurations        | Same                                                |
| AI interviews      | Full AI interview capability with all configuration options | Same                                                |
| Testing            | Complete participant testing using Yazi’s test number       | Plus your own dedicated WhatsApp number             |
| Data export        | Limited to 10 rows of sample data                           | Unlimited data export                               |
| Broadcast sending  | Cannot send broadcasts to real participants                 | Full broadcast capability with your WhatsApp number |
| Live connections   | Not available                                               | Google Sheets, SharePoint integration               |
| Participant volume | Testing only                                                | Based on your pricing tier                          |

#### Why Start in Sandbox?

Sandbox mode allows you to:

* Learn the platform — build familiarity with all features before committing to a paid plan
* Test your study design — complete the full participant experience and refine your approach
* Demonstrate to stakeholders — show colleagues and clients how the platform works
* Plan your projects — build complete studies and get accurate pricing before launch

#### Moving from Sandbox to Premium

When you upgrade to a premium account:

* All your work carries over — studies built in sandbox can be published with your dedicated number
* No rebuild required — questions, configurations, and designs transfer seamlessly
* Immediate access — your dedicated WhatsApp number is provisioned quickly once Meta Business Manager access is provided

***

### Account Security

#### Password Requirements

* Minimum 8 characters
* Include at least one uppercase letter, lowercase letter, and number
* Special characters recommended but not required

#### Two-Factor Authentication

While not required, consider enabling 2FA on your Google or Microsoft account if using single sign-on, as this will secure your Yazi access as well.

#### Data Privacy

* All account data is stored securely with enterprise-grade encryption
* Participant data is processed in compliance with GDPR and regional privacy regulations
* You can delete your account and all associated data at any time through the settings panel

***

### Getting Help

#### First Steps

Once logged in, you can:

* Explore the interface — all features are available in sandbox mode
* Build a test study — try creating a survey, AI interview, or diary study
* Complete it yourself — use the test link to experience the participant journey
* Review the results — see how data appears in all the results tabs

#### Support Channels

* In-app feedback — use the feedback button in the navigation to report issues or ask questions
* Documentation — comprehensive guides available for all features
* WhatsApp support group — join the support community for quick assistance during setup

#### Next Steps

Ready to launch your first real study? See \[Setting Up Your WhatsApp Number] for the upgrade process and \[Creating a New Study] to start building your research.

<br>


# Dashboard & App Layout

### Overview

The Yazi dashboard is designed for intuitive navigation between building studies, managing participants, and analysing results. Everything you need is accessible from the main navigation, with most features requiring just one or two clicks to reach.

{% embed url="<https://www.loom.com/share/67bb8fae378d4413ba8ba4574e531161>" %}

***

### Main Navigation

The left sidebar provides access to all core features:

| Section            | Purpose                                                                               |
| ------------------ | ------------------------------------------------------------------------------------- |
| Studies            | Your research projects — surveys, AI interviews, diary studies, and multi-day studies |
| Broadcast Messages | Create and manage WhatsApp message templates for inviting participants                |
| Schedules          | Set up automated broadcasts based on time triggers or participant behaviour           |
| Settings           | Account configuration, branding, AI interview defaults, and activity logs             |
| Feedback           | Report issues, request features, or ask questions directly to the support team        |

***

### Studies Overview

#### Main Studies View

Your dashboard opens to the Studies section, displaying all your research projects in a clean tabular format:

* Study name and type — survey, AI interview, diary study, or multi-day
* Creation date and last modified
* Status — draft, published, or completed
* Participant count — how many people have started or completed each study
* Quick actions — duplicate, archive, or delete studies

#### Study Card View

Toggle to card view to see your studies as visual tiles, useful when you have many projects and prefer a more visual browsing experience.

#### Study Details

Click on any study to enter the study workspace, which contains five main tabs:

**1. Questions Tab**

* Survey questions — build and edit your structured questions
* AI interview configuration — set up the AI moderator behavior and objectives
* Routing logic — configure skip logic, branching, and conditional flows
* Preview — see exactly how questions will appear to participants

**2. Share Tab**

* Study links — get shareable links and QR codes for participant access
* Broadcast statistics — see delivery, engagement, and response rates for any messages sent
* UTM tracking — configure completion redirects and campaign tracking

**3. Results Tabs**

* Interview Transcripts — read full WhatsApp conversations in chat format
* Table Data — Excel-like view with filtering, exporting, and data enrichment
* Graph Data — live charts of quantitative responses with cross-tabulation
* Media Library — visual grid of all photos, videos, and voice notes submitted

***

### Creating New Studies

#### New Research Button

Click New Research in the top right to start building a study. You’ll be guided through:

1. Study type selection — single-day or multi-day sequential study
2. Setup method — upload a brief for AI generation, or build manually
3. Methodology choice — survey, AI interview, diary study, or combinations for multi-day studies

The study builder opens immediately, allowing you to start configuring questions and settings.

***

### Broadcast Messages Section

#### Message Management

The Broadcast Messages tab shows all your WhatsApp message templates:

* Template library — all created broadcast messages with approval status
* Message types — participant invites, reminders, thank you messages, etc.
* Send history — detailed logs of every broadcast sent, including individual participant delivery status
* Create new — design new broadcast templates with Meta approval workflow

#### Actions Menu

* Create — build new broadcast templates
* Send — dispatch approved messages to participant lists
* Edit — modify existing templates (requires new Meta approval)
* View stats — detailed engagement metrics for sent broadcasts

***

### Schedules

#### Automated Broadcasting

The Schedules section allows you to set up automated broadcasts that trigger based on:

* Time-based rules — send daily, weekly, or at specific dates/times
* Participant behavior — trigger reminders for those who haven’t completed studies
* Study events — send messages when participants reach certain milestones

This is particularly useful for diary studies and multi-day research where you need ongoing participant engagement.

***

### Settings

#### Account Configuration

The Settings section (accessed via the gear icon) contains:

**AI Interview Defaults**

* System prompts — default AI behavior and tone settings
* Question limits — standard interview length and probing intensity
* Model selection — choose between different AI models for different use cases

**Branding**

* Organization logo — used in broadcast message headers
* WhatsApp number settings — manage your dedicated number configuration
* Default messaging — standard intro and closing messages for studies

**Activity Log**

Complete audit trail of all account activity:

* Studies created, modified, or deleted
* Broadcasts sent and template changes
* User access and permission changes
* Settings modifications

This is valuable for team environments where multiple people have access and you need to track changes.

***

### Feedback System

#### In-App Support

The Feedback button in the navigation provides direct access to support:

* Subject line — categorize your feedback or issue
* Message box — describe your question, bug report, or feature request
* Screenshot attachment — include visual evidence of any issues
* Priority handling — urgent issues are escalated automatically

Feedback submissions go directly to the Yazi support team for immediate response.

***

### Dashboard Customization

#### Personal Preferences

* Default view — set whether you prefer tabular or card view for studies
* Timezone — all timestamps and scheduling adjusted to your local timezone
* Language — platform interface language (separate from study translation features)

#### Team Features

For organization accounts:

* User management — see team members and their access levels
* Shared resources — access studies and broadcasts created by colleagues
* Billing overview — usage tracking and invoice history

***

### Quick Navigation Tips

* Recent studies — your most recently accessed studies appear at the top of the list
* Search — use the search bar to quickly find specific studies by name
* Duplicate studies — quickly create variations by duplicating existing studies and modifying them
* Keyboard shortcuts — common actions like creating new studies have keyboard shortcuts for power users

The dashboard is designed to minimize clicks and maximize efficiency — most tasks require no more than 2–3 clicks from the main screen.

<br>


# Creating a WhatsApp API


# Summary

This is a brief summary of the following steps you will be taking!

#### Step by Step Summary <a href="#step-by-step-summary" id="step-by-step-summary"></a>

1. Get your Business manager verified and set up a new app in the [Developer portal](https://developers.facebook.com/apps/?business_id=830641582007032)
2. Add WhatsApp as a product in your new app in Developers portal
3. Setup a number in section 5 of “API Setup” in the [developers portal](https://developers.facebook.com/apps/759218118860831/whatsapp-business/wa-dev-console/?business_id=1501389280339074)
4. Add configuration keys - Callback URL and Verify token in the [Configuration section](http://developers.facebook.com/apps/863866785133829/whatsapp-business/wa-dev-quickstart/?business_id=270701782581397)
5. In the “Webhook fields” section directly below, press the “Manage” button and click ALL the tickboxes in “Subscribe” column
6. Add payment method in [Meta Business Manager](https://business.facebook.com/settings/whatsapp-business-accounts/106676589182397?business_id=1501389280339074)
7. Generate System User token\
   i. In [Business Manager](http://business.facebook.com/settings/system-users/61551346053861?business_id=1501389280339074), create an Asset with “Manage App” under Full control

   ii. Generate token - Select “Never” for token expiration and tick the following boxes

   1. Business Management
   2. WhatsApp business messaging
   3. WhatsApp Business management

   iii. Copy token and send it to Yazi
8. Copy the Phone number ID and WhatsApp Business Account ID in [API setup](https://developers.facebook.com/apps/759218118860831/whatsapp-business/wa-dev-console/?business_id=1501389280339074) in the developers Portal and send it to Yazi
9. Toggle Developer mode to be on Live

{% embed url="<https://app.tango.us/app/embed/Navigating-Research-Surveys-and-Configuring-WhatsApp-Manager---Meta-for-Developers-fc2a3edc11a344e4aef9643ca3780e2f>" %}

#### [META FOR DEVELOPERS](https://developers.facebook.com/apps/?business_id=830641582007032) <a href="#meta-for-developers" id="meta-for-developers"></a>

[<br>](https://yazi-1.gitbook.io/setting-up-whatsap/group-1/create-app-in-developers-portal)


# Setup a developer Portal

### 1. Setup Developer Portal <a href="#id-1.-setup-developer-portal" id="id-1.-setup-developer-portal"></a>

1.1 Create an app

Go to [Meta for Developers](https://developers.facebook.com/apps/?business_id=830641582007032) and click “Create App”

1. Select “Other” for “What do you want the app to do?”
2. Select “Business” for “Select an app type”
3. Give your app a name, add a contact email and associate it with a Meta Business Manager

<figure><img src="/files/DVsgBBvQEAOC1rTLl2h8" alt=""><figcaption><p>Step 1 </p></figcaption></figure>

<figure><img src="/files/rTZGlnHHVXVLZCLMgmVU" alt=""><figcaption><p>Step 2 </p></figcaption></figure>

<figure><img src="/files/JfvuLgWXQJfbgAyQ7rYG" alt=""><figcaption><p>Step 3 </p></figcaption></figure>


# Create a WhatsApp product

### 1.2 Create WhatsApp product

1. Click “Add Product”
2. Scroll down to WhatsApp and click “Set Up”
3. Press “Continue” in Quick start

<figure><img src="/files/F5MejNlIfE4xlTYgAXVb" alt=""><figcaption></figcaption></figure>

<figure><img src="https://codahosted.io/docs/lMuD8eJ7Id/blobs/bl-JOTQuw8GF1/922af0894dd27ca079d32c10adb4ce37b92b3b95198629ef93dae8f160cdbc478b25c8edcf6d2647ff746790301a5b79683ebac4622f35f17cd9a9c9a947b920b8a77ae1a8a173525ba3e5b0766b9c5211051c436b6993053742aa07e6260664c190fa66" alt=""><figcaption></figcaption></figure>


# API Setup

## 2. API Setup

### 2.1 Add phone number

1. Click on “Add phone number” button in “[Step 5: Add a phone number section](https://developers.facebook.com/apps/759218118860831/whatsapp-business/wa-dev-console/?business_id=1501389280339074)”. Fill out your profile name and add the number:\
   a) Add profile display name prescribed by Meta. Make sure it’s associated with your business’s actual name. If it is not associated, Meta is likely to reject it. For Research bots, we typically advise \[business\_name] + Research as your Display Name. See [Display Name Guidelines](https://www.facebook.com/business/help/757569725593362) article for more details.\
   b) Choose a category and business Description\
   c) Add number: Select country code and add a number to receive OTP via SMS or phone call to verify

{% hint style="info" %}

* Make sure you have the number ready to receive SMS or phone call
* After adding your number, you might need to refresh the page if the number isn’t showing up
  {% endhint %}

<figure><img src="/files/VfxKn5alCRoKj1UM44oF" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/aYHhvB00aas2NKKJLRfK" alt=""><figcaption></figcaption></figure>

#### 2.2 Setup Webhook <a href="#id-2.2-setup-webhook" id="id-2.2-setup-webhook"></a>

Go to the [Configuration section](http://developers.facebook.com/apps/863866785133829/whatsapp-business/wa-dev-quickstart/?business_id=270701782581397) and press the “Edit” button in the webhook card section

1. Enter the Callback URL and Verify token (both of these keys will be provided to you by Yazi)
2. Press the “Verify and Save” button (it will do a pink test and automatically save)

<figure><img src="/files/QnPca9XqyMKhINgUaILU" alt=""><figcaption></figcaption></figure>

*In the “Webhook fields” section directly below, press the “Manage” button*

* Click ALL TICKBOXES in the Subscribe column. This allows us to track and retrieve the data so make sure to tick every one!

<figure><img src="https://yazi-1.gitbook.io/~gitbook/image?url=https%3A%2F%2Fcodahosted.io%2Fdocs%2FlMuD8eJ7Id%2Fblobs%2Fbl-eUrK2GkzQE%2F9fe268dcbb20eef8a345b434ac2a038f8e3e0797ac5fb6e5565f67bae8dbf729c5a6aa0cef69584415da96ac92ef2b146569a8863fbef7b2c711790c72cc09374f308ad1b15ba85a25b9fb2d0a71ee18f1982bcbbcd348a0a8763e7a18bed8415c8114b9&#x26;width=300&#x26;dpr=4&#x26;quality=100&#x26;sign=9630a183b88d404057120d1393d20789398385c240a65a8973e09628d31b1398" alt=""><figcaption></figcaption></figure>

### [META BUSINESS MANAGER](https://business.facebook.com/settings/whatsapp-business-accounts/106676589182397?business_id=1501389280339074) <a href="#meta-business-manager" id="meta-business-manager"></a>


# System user token

### 4. System User token <a href="#id-4.-system-user-token" id="id-4.-system-user-token"></a>

You have now entered the identification that WhatsApp needs from our software system. Now, for our system to connect to your number, we need 3 items or identifiers from you. These are:

1. System User token
2. Phone number ID
3. WhatsApp Business Account ID

#### 4.1 Add System User if none existed <a href="#id-4.1-add-system-user-if-none-existed" id="id-4.1-add-system-user-if-none-existed"></a>

Head back to [Business Manager](http://business.facebook.com/settings/system-users/61551346053861?business_id=1501389280339074) to generate a system token from someone who is a System user:

<figure><img src="/files/4VuWBEABpYsCf8ied196" alt=""><figcaption></figcaption></figure>

> Go to Users and click on “System Users” (you need to be an Admin user to do this)

**Note:**

{% hint style="info" %}

* If no System user exists, Press the “Add” button → Set system user role to Admin&#x20;
* Difference between the system user and regular user. System user doesn’t require a reset of the token after it expires because the system can be set up as permanent. If the system is compromised then you can revoke
  {% endhint %}

#### 4.2 Add Asset <a href="#id-4.2-add-asset" id="id-4.2-add-asset"></a>

Click “Add Assets” and a Modal will pop up. Navigate the following:

1. Click the “Apps” page
2. Select the app you just created
3. Toggle “Manage App” under Full control to be on
4. Press the “Save changes” button

<figure><img src="/files/S7yCgsJH8WTJYDrDI9lB" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/e51NGfka4QiLOp5CQRa7" alt=""><figcaption></figcaption></figure>

#### 4.3 Generate Token <a href="#id-4.3-generate-token" id="id-4.3-generate-token"></a>

1. Click “Generate New Token”
2. Select your App
3. Select “Never” for token expiration

Tick the following boxes

* Business Management
* WhatsApp business messaging
* WhatsApp Business management

When you've done this, Click the “Generate Token” button

{% hint style="info" %}
Notes

* This is the identifier that will be sent back to Yazi to configure the system to your personal account.&#x20;
* Once the code is generated, you can send it to Yazi to complete the configuration of your account Selecting Never for Token expiration means you don’t have to keep configuring new tokens
  {% endhint %}

<figure><img src="/files/jGcqYqS34ecsb0gIMVPH" alt=""><figcaption></figcaption></figure>

&#x20;

<figure><img src="/files/LW5mzver9lWbKGjgTXqW" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/H4B8VwsG8stBuL9ljJ5B" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/UkzLMcTwJqIfnSDxKAtn" alt=""><figcaption></figcaption></figure>

### [META FOR DEVELOPERS](https://developers.facebook.com/tools/accesstoken/) <a href="#meta-for-developers-1" id="meta-for-developers-1"></a>

#### 4.4 Access Token via Debugger <a href="#id-4.4-access-token-via-debugger" id="id-4.4-access-token-via-debugger"></a>

To copy or access the information about the token: Go to Access token page in Tools in the Facebook Developers portal <https://developers.facebook.com/tools/accesstoken/>

1. Click “Debug” on the app you just created
2. Copy the Debug code

{% hint style="info" %}
Note:\
Also see all the information about the token
{% endhint %}

<figure><img src="/files/OXMfqgnmhxszoTXkHOIM" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/yupb9eyLU0fOROlu8fKH" alt=""><figcaption></figcaption></figure>


# Phone number ID and WhatsApp business account

### 5. Copy Phone number ID and WhatsApp Business Account ID <a href="#id-5.-copy-phone-number-id-and-whatsapp-business-account-id" id="id-5.-copy-phone-number-id-and-whatsapp-business-account-id"></a>

Go back to [API setup](https://developers.facebook.com/apps/759218118860831/whatsapp-business/wa-dev-console/?business_id=1501389280339074) in the developers PortalCopy the following:

1. Phone number ID
2. WhatsApp Business Account ID
3. The actual WhatsApp number

***Send these back to Yazi along with the System token***

<figure><img src="/files/MYnJeQWOe3DrWHJ9gIur" alt=""><figcaption></figcaption></figure>


# Toggle your App live

### 6. Toggle App Mode onto Live <a href="#id-6.-toggle-app-mode-onto-live" id="id-6.-toggle-app-mode-onto-live"></a>

Toggle the app to “Live”. As this is approved, you will normally be upgraded to be able to send 1,000 Template messages per day (1,000 outbound notification messages per 24 hours)&#x20;

{% hint style="info" %}
Note: You may need to add your Privacy policy in [Basic Settings](https://developers.facebook.com/apps/759218118860831/settings/basic/?business_id=1501389280339074) to be able to do this.
{% endhint %}

<figure><img src="/files/hAoOw5mKPB1mDmye2vM1" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/4iNWhxbAheLPeN4avXSK" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Might take a day to populate.
{% endhint %}

<figure><img src="/files/ZYgABAoi7QMucF5NKCOS" alt=""><figcaption></figcaption></figure>

### **Additional profile check**

1. Check the status of your number\
   Should take 1-2 business days to be approved
2. Profile\
   Add description\
   Picture


# Setting up Meta Business Manager

### Overview

Use this guide to create a Meta Business Manager, connect your WhatsApp number, and complete the setup needed for broadcast messaging in Yazi.

{% hint style="info" %}
You can start building and testing in Yazi before your live WhatsApp number is ready. Work completed in sandbox carries over once your number goes live.
{% endhint %}

### Before You Start

You will need:

* A work email address
* A Facebook login for Meta authentication
* Basic business details such as your company name, website, and address

<details>

<summary>Important clarification about using a personal Facebook login</summary>

* Business Manager stays separate from your personal Facebook account.
* Facebook is only used as the login mechanism.
* You can leave or remove it later if needed.
* Your personal profile is not linked to participant communications or business assets.

</details>

***

### Step-by-Step Setup

{% stepper %}
{% step %}

### Step 1: Create a Meta Business Manager

Go to [Meta Business Settings](https://business.facebook.com/settings) and click **Create Business**.

Enter:

* Your business name
* Your name
* Your business email address

Meta may also ask for:

* Website
* Business type
* Business address

Complete the phone or email verification step when prompted.

![Create Business Manager](https://codahosted.io/docs/K4MmttpZDs/blobs/bl-Iu4xlDWBqN/ddaa21e2e0372f496fab07831b9a9322620a8cfc971f089a533cbb4c0fc3bdf17072649cb718db9d5d75271347f71809d4fef924d324b821ac3a984e054a05a75be5deed0ffea64189385061970adc0b0d4bbb2e619fdc1098f837f127532383058f334b)
{% endstep %}

{% step %}

### Step 2: Add teammates to Business Manager (Optional)

If other team members need access:

1. Open [Business Manager](https://business.facebook.com/settings).
2. Go to **People**.
3. Click **Invite people**.
4. Assign the required permissions.
5. Use **Full control** only if they need admin-level access.

![Add people to Business Manager](https://codahosted.io/docs/K4MmttpZDs/blobs/bl-xAOM0onKgP/c7836abd534769791663ca94c3024e51dbb54b1e85caedbf5df8882593dcca19011e873d21d6ea59f74880cd32e4eaed70212b25da641638c086b79ccb8fb0f9bc0dfa9e3b1cd462e297dc5b6a4a166ad3dafbebdd06532e34d30f6c4ded90d1ac7285c1)

![Assign admin access](https://codahosted.io/docs/K4MmttpZDs/blobs/bl-VzuIvVqhGJ/08116c0983304fcccef1a341f6d6354cdfdf24cf78c914883d8ced6af03ed45a42fee9bd5985b8b842c5e7222573129183c1c4e1dda8c12b4f9f5adea457ab40ecec854152191cbb4e620c9bfdf0d6f93ba66a78db00a799f7d016e03c52226b1274766b)
{% endstep %}

{% step %}

### Step 3: Sign up to Yazi

1. Go to [app.askyazi.com](https://app.askyazi.com/).
2. Click **Sign Up**.
3. Register with your work email.
4. Join the organisation using access code `x`.
   {% endstep %}

{% step %}

### Step 4: Start your WhatsApp number setup in Yazi

After logging in:

1. Open **Settings**.
2. Select **Upgrade to Standard**.
3. Follow the prompts to connect your WhatsApp number.
4. Authenticate with Meta when prompted.

For a detailed walkthrough, see [Setting up WhatsApp number in Yazi platform](/setting-up-the-whatsapp-api-number/setting-up-whatsapp-number-in-yazi-platform).

{% hint style="info" %}
Meta may ask you to log in with a personal Facebook account during this step. This is only for authentication.
{% endhint %}
{% endstep %}

{% step %}

### Step 5: Choose your WhatsApp display name

Set the display name for your WhatsApp number. This should match your company name for Meta verification purposes.
{% endstep %}

{% step %}

### Step 6: Add payment details

Once your WhatsApp number is connected, add your payment method in Meta Business Manager.

This covers Meta messaging fees, such as broadcast sends. Marketing messages are typically charged by Meta at around **£0.0382 per message**.

For setup instructions, see [Add a Payment Method](/setting-up-the-whatsapp-api-number/add-a-payment-method).

{% hint style="info" %}
If you prefer, Yazi can consolidate Meta messaging costs into your Yazi invoice.
{% endhint %}
{% endstep %}

{% step %}

### Step 7: Verify your business for higher sending limits

If you plan to send at higher volume, verify your Meta Business Manager.

Verification usually requires:

* Proof of business address
* Business registration documents

You can start this in [Security Center](https://business.facebook.com/latest/settings/security_center).

Verification increases your daily sending limit from **250 per day** to **1,000+ per day**, depending on your Meta status.

For more detail, see [Get your business manager verified](/setting-up-the-whatsapp-api-number/get-your-business-manager-verified).

{% hint style="warning" %}
This is a standard anti-fraud process required by Meta for larger-scale messaging.
{% endhint %}
{% endstep %}

{% step %}

### Step 8: Finalise setup in Yazi

Once your number is live:

* Yazi will complete the remaining back-end configuration
* You can continue building your survey or interview flow in the app
* You can test using Yazi's test number until your dedicated number is fully live
  {% endstep %}
  {% endstepper %}

***

### Useful Notes

* Message usage can be tracked by project inside Yazi.
* This makes it easier to allocate costs internally.
* If your finance team prefers a single invoice, Yazi can consolidate WhatsApp and Meta messaging charges.


# Setting up WhatsApp number in Yazi platform

### P**rerequisites to setup the WhatsApp number**

1. **Meta Business Manager:** You must have "Full Control" access to your company's [Meta Business Manager](https://business.facebook.com/)—this is where you manage your business’s Instagram & Facebook page, WhatsApp account, Ad Manager, and other Meta assets.
2. **SIM Card:** You need a SIM Card that can receive a **SMS** or a phone call. <mark style="background-color:yellow;">**Note that you can't use an existing phone number registered in your WhatsApp Business app**</mark>**.** You will need a separate, dedicated phone number for Yazi to use WhatsApp that you **can receive a call or OTP from.** This is a limitation with WhatsApp’s API.

{% embed url="<https://www.loom.com/share/97291fda3fed41acb8e53b77304aa557>" %}

## **Steps**

1. Create a Meta Developer account (if you don't have one already): <https://business.facebook.com/settings>
2. Signup in webapp at <https://app.askyazi.com/register>
3. Click 'Create New Organisation'
4. Write your company's name and click 'Create organisation'. This opens a Meta window that will allow you to create the WhatsApp profile

<div><figure><img src="/files/vdZWh13xo3SrPvgdHrUA" alt=""><figcaption></figcaption></figure> <figure><img src="/files/bFhhYT82GthyDEtOYD49" alt=""><figcaption></figcaption></figure></div>

## Setting Up a WhatsApp API Number via the Embedded Signup Method

{% stepper %}
{% step %}

### **Select a Business Portfolio**

**Select a Business Portfolio**

* Navigate to the Business Profile selection screen.
* Choose an existing Business Portfolio or create a new one to add your WhatsApp number.

<figure><img src="/files/ckIW28eKKCs81ZBHAr5a" alt="" width="338"><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### **Create a New WhatsApp Business Account (if applicable)**

* If you don’t already have a WhatsApp Business Account, select "Create a new WhatsApp Business Account" and click **Next**.

<figure><img src="/files/OISJNlKRukfNft0WsF3x" alt="" width="337"><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### **Enter Account Details**

* Provide the name of your WhatsApp Business Account (this is the name visible to customers).
* Optionally, add a business website or profile link.

<figure><img src="/files/RQyapq4uXLIoNSZpl5Xy" alt="" width="336"><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### C**hoose Business Category**

Select the category that best fits your business from the dropdown menu.

<figure><img src="/files/ZMMg86T4SHQT09KeUOUv" alt="" width="325"><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### **Add Your Phone Number**

Enter the phone number you wish to use, ensuring the correct country code is selected.

<figure><img src="/files/KIOxRK5pZusT4fCGBupz" alt="" width="340"><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### **Verify Yazi as the Meta Tech Partner**

Confirm Yazi as your Meta-approved technology partner to proceed with setting up the account.

<figure><img src="/files/WurDbGxwFNAieOmOSVrL" alt="" width="335"><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### **Complete the Setup**

Follow the remaining on-screen instructions to finalise the setup and activate your WhatsApp Business API number.
{% endstep %}
{% endstepper %}

{% embed url="<https://app.tango.us/app/workflow/Setting-up-WhatsApp-number-in-Yazi-app-61f714b1477745d293f98a6b5a08f100>" %}


# WhatsApp Profile

### Profile photo

Update your profile photo here: <https://business.facebook.com/wa/manage/phone-numbers/?business_id=>

<figure><img src="/files/rbC3fEpgi453tn9YEa7f" alt=""><figcaption></figcaption></figure>

### Green tick or number verification

<figure><img src="/files/PjUs22haywkxJ8IK9LZx" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/jkp2JBPZuIw2dqn1Hnrl" alt=""><figcaption></figcaption></figure>


# Add a Payment Method

### 3. Add payment method <a href="#id-3.-add-payment-method" id="id-3.-add-payment-method"></a>

For the WhatsApp account to activate, you need to add a card or payment method.

1. Go to your [Meta Business Manager](https://business.facebook.com/settings/whatsapp-business-accounts/106676589182397?business_id=1501389280339074) to setup and select:\
   a) WhatsApp Accounts\
   b) Click on the new WA account\
   c) Settings \
   d) Payment Settings

<figure><img src="/files/xbvwW21YHjrkQaVrFvKB" alt=""><figcaption></figcaption></figure>

1. Modify finance permissions and add to yourself to be able to add card
2. Add business payment method -> to the overall account
3. Then add that payment method to the WhatsApp account

<figure><img src="/files/INaiuWwzOXT8j186iNJe" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/EbfkzuahXIQ5zdP3pDgR" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/7wFhqQi3YrDkB69wEk1k" alt=""><figcaption></figcaption></figure>


# Get your business manager verified

To use WhatsApp at scale through the Yazi platform, you’ll need to verify your **Meta Business Manager**. This is a mandatory step to:

* **Send over 250 message templates per day**
* **Access Flows and automation features**
* **Appear more legitimate to respondents** (your business name will be shown instead of a random number)
* **Prevent account shutdowns or limitations**

> 📌 *Meta will not allow scale messaging (e.g. sending multiple survey invitations per day) until this verification is complete.*

***

### Why Verification Helps

Once verified, your business can:

* Use **250+ message templates per 24 hours**, unlocking scale.
* Access advanced tools like **WhatsApp Flows**, message automation, and template scheduling.
* Build **trust and credibility** with customers through a branded, verified profile.
* Avoid account restrictions and protect your number from being disabled due to policy non-compliance.

***

### Steps to Verify Your Business Manager

1. **Go to Meta Business Settings**\
   Open your business settings here:\
   👉 [Meta Business Info Settings](https://business.facebook.com/settings/info)
2. **Locate Your Business Manager**\
   Make sure you're in the correct Business Manager that owns your WhatsApp number.
3. **Upload Required Documents**\
   Provide documents that confirm your **legal business name** and **business address or phone number**.

   **Accepted documents include:**

   * Certificate of Incorporation / Business Registration

   * Government-Issued Business Tax Document (e.g. tax certificate)

   * Business Bank Statement

   * Utility Bill (must show the legal business name for address/phone verification – not valid for legal name alone)

   > 📎 *Ensure documents are up-to-date and issued by a recognised authority. Self-filled forms or drafts are not accepted.*
4. **Wait for Meta Approval**\
   Approval typically takes 1–3 business days. You’ll receive a notification once verified.
5. **Return to Yazi Platform**\
   After verification, you can complete your WhatsApp setup and start sending templates or launching automated flows.

***

### Need More Help?

See Meta’s full guide on Business Verification here:\
👉 [Meta Article – How to Verify Your Business](https://www.facebook.com/business/help/2058515294227817?id=180505742745347)

<figure><img src="https://codahosted.io/docs/lMuD8eJ7Id/blobs/bl-scemqEOvTU/199dc56909b2c4376c1a7035832859176b667bf49e523e2faa2a6f6e1891fa4ebaaa2bed3fdc924e2282e13e6cff66507dba1fa308bda2a631b3305ede7e4fd7e8ff00a62f6a2ee8b9b1c5373ec08f132ab1cdabad6c56fef476f6e85de2131cecd6f1f3" alt=""><figcaption></figcaption></figure>


# Developer Portal method of setting up

#### Step by Step Summary <a href="#step-by-step-summary" id="step-by-step-summary"></a>

1. Get your Business manager verified and set up a new app in the [Developer portal](https://developers.facebook.com/apps/?business_id=830641582007032)
2. Add WhatsApp as a product in your new app in Developers portal
3. Setup a number in section 5 of “API Setup” in the [developers portal](https://developers.facebook.com/apps/759218118860831/whatsapp-business/wa-dev-console/?business_id=1501389280339074)
4. Add configuration keys - Callback URL and Verify token in the [Configuration section](http://developers.facebook.com/apps/863866785133829/whatsapp-business/wa-dev-quickstart/?business_id=270701782581397)
5. In the “Webhook fields” section directly below, press the “Manage” button and click ALL the tickboxes in “Subscribe” column
6. Add payment method in [Meta Business Manager](https://business.facebook.com/settings/whatsapp-business-accounts/106676589182397?business_id=1501389280339074)
7. Generate System User token\
   i. In [Business Manager](http://business.facebook.com/settings/system-users/61551346053861?business_id=1501389280339074), create an Asset with “Manage App” under Full control

   ii. Generate token - Select “Never” for token expiration and tick the following boxes

   1. Business Management
   2. WhatsApp business messaging
   3. WhatsApp Business management

   iii. Copy token and send it to Yazi
8. Copy the Phone number ID and WhatsApp Business Account ID in [API setup](https://developers.facebook.com/apps/759218118860831/whatsapp-business/wa-dev-console/?business_id=1501389280339074) in the developers Portal and send it to Yazi
9. Toggle Developer mode to be on Live

{% embed url="<https://app.tango.us/app/embed/Navigating-Research-Surveys-and-Configuring-WhatsApp-Manager---Meta-for-Developers-fc2a3edc11a344e4aef9643ca3780e2f>" %}

#### [META FOR DEVELOPERS](https://developers.facebook.com/apps/?business_id=830641582007032) <a href="#meta-for-developers" id="meta-for-developers"></a>

### 1. Setup Developer Portal <a href="#id-1.-setup-developer-portal" id="id-1.-setup-developer-portal"></a>

1.1 Create an app

Go to [Meta for Developers](https://developers.facebook.com/apps/?business_id=830641582007032) and click “Create App”

1. Select “Other” for “What do you want the app to do?”
2. Select “Business” for “Select an app type”
3. Give your app a name, add a contact email and associate it with a Meta Business Manager

<figure><img src="/files/DVsgBBvQEAOC1rTLl2h8" alt=""><figcaption><p>Step 1 </p></figcaption></figure>

<figure><img src="/files/rTZGlnHHVXVLZCLMgmVU" alt=""><figcaption><p>Step 2 </p></figcaption></figure>

<figure><img src="/files/JfvuLgWXQJfbgAyQ7rYG" alt=""><figcaption><p>Step 3 </p></figcaption></figure>

### 1.2 Create WhatsApp product

1. Click “Add Product”
2. Scroll down to WhatsApp and click “Set Up”
3. Press “Continue” in Quick start

<figure><img src="/files/F5MejNlIfE4xlTYgAXVb" alt=""><figcaption></figcaption></figure>

<figure><img src="https://codahosted.io/docs/lMuD8eJ7Id/blobs/bl-JOTQuw8GF1/922af0894dd27ca079d32c10adb4ce37b92b3b95198629ef93dae8f160cdbc478b25c8edcf6d2647ff746790301a5b79683ebac4622f35f17cd9a9c9a947b920b8a77ae1a8a173525ba3e5b0766b9c5211051c436b6993053742aa07e6260664c190fa66" alt=""><figcaption></figcaption></figure>

## 2. API Setup

### 2.1 Add phone number

1. Click on “Add phone number” button in “[Step 5: Add a phone number section](https://developers.facebook.com/apps/759218118860831/whatsapp-business/wa-dev-console/?business_id=1501389280339074)”. Fill out your profile name and add the number:\
   a) Add profile display name prescribed by Meta. Make sure it’s associated with your business’s actual name. If it is not associated, Meta is likely to reject it. For Research bots, we typically advise \[business\_name] + Research as your Display Name. See [Display Name Guidelines](https://www.facebook.com/business/help/757569725593362) article for more details.\
   b) Choose a category and business Description\
   c) Add number: Select country code and add a number to receive OTP via SMS or phone call to verify

{% hint style="info" %}

* Make sure you have the number ready to receive SMS or phone call
* After adding your number, you might need to refresh the page if the number isn’t showing up
  {% endhint %}

<figure><img src="/files/VfxKn5alCRoKj1UM44oF" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/aYHhvB00aas2NKKJLRfK" alt=""><figcaption></figcaption></figure>

#### 2.2 Setup Webhook <a href="#id-2.2-setup-webhook" id="id-2.2-setup-webhook"></a>

Go to the [Configuration section](http://developers.facebook.com/apps/863866785133829/whatsapp-business/wa-dev-quickstart/?business_id=270701782581397) and press the “Edit” button in the webhook card section

1. Enter the Callback URL and Verify token (both of these keys will be provided to you by Yazi)
2. Press the “Verify and Save” button (it will do a pink test and automatically save)

<figure><img src="/files/QnPca9XqyMKhINgUaILU" alt=""><figcaption></figcaption></figure>

*In the “Webhook fields” section directly below, press the “Manage” button*

* Click ALL TICKBOXES in the Subscribe column. This allows us to track and retrieve the data so make sure to tick every one!

<figure><img src="https://yazi-1.gitbook.io/~gitbook/image?url=https%3A%2F%2Fcodahosted.io%2Fdocs%2FlMuD8eJ7Id%2Fblobs%2Fbl-eUrK2GkzQE%2F9fe268dcbb20eef8a345b434ac2a038f8e3e0797ac5fb6e5565f67bae8dbf729c5a6aa0cef69584415da96ac92ef2b146569a8863fbef7b2c711790c72cc09374f308ad1b15ba85a25b9fb2d0a71ee18f1982bcbbcd348a0a8763e7a18bed8415c8114b9&#x26;width=300&#x26;dpr=4&#x26;quality=100&#x26;sign=9630a183b88d404057120d1393d20789398385c240a65a8973e09628d31b1398" alt=""><figcaption></figcaption></figure>

### [META BUSINESS MANAGER](https://business.facebook.com/settings/whatsapp-business-accounts/106676589182397?business_id=1501389280339074) <a href="#meta-business-manager" id="meta-business-manager"></a>

### 4. System User token <a href="#id-4.-system-user-token" id="id-4.-system-user-token"></a>

You have now entered the identification that WhatsApp needs from our software system. Now, for our system to connect to your number, we need 3 items or identifiers from you. These are:

1. System User token
2. Phone number ID
3. WhatsApp Business Account ID

#### 4.1 Add System User if none existed <a href="#id-4.1-add-system-user-if-none-existed" id="id-4.1-add-system-user-if-none-existed"></a>

Head back to [Business Manager](http://business.facebook.com/settings/system-users/61551346053861?business_id=1501389280339074) to generate a system token from someone who is a System user:

<figure><img src="/files/4VuWBEABpYsCf8ied196" alt=""><figcaption></figcaption></figure>

> Go to Users and click on “System Users” (you need to be an Admin user to do this)

**Note:**

{% hint style="info" %}

* If no System user exists, Press the “Add” button → Set system user role to Admin&#x20;
* Difference between the system user and regular user. System user doesn’t require a reset of the token after it expires because the system can be set up as permanent. If the system is compromised then you can revoke
  {% endhint %}

#### 4.2 Add Asset <a href="#id-4.2-add-asset" id="id-4.2-add-asset"></a>

Click “Add Assets” and a Modal will pop up. Navigate the following:

1. Click the “Apps” page
2. Select the app you just created
3. Toggle “Manage App” under Full control to be on
4. Press the “Save changes” button

<figure><img src="/files/S7yCgsJH8WTJYDrDI9lB" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/e51NGfka4QiLOp5CQRa7" alt=""><figcaption></figcaption></figure>

#### 4.3 Generate Token <a href="#id-4.3-generate-token" id="id-4.3-generate-token"></a>

1. Click “Generate New Token”
2. Select your App
3. Select “Never” for token expiration

Tick the following boxes

* Business Management
* WhatsApp business messaging
* WhatsApp Business management

When you've done this, Click the “Generate Token” button

{% hint style="info" %}
Notes

* This is the identifier that will be sent back to Yazi to configure the system to your personal account.&#x20;
* Once the code is generated, you can send it to Yazi to complete the configuration of your account Selecting Never for Token expiration means you don’t have to keep configuring new tokens
  {% endhint %}

<figure><img src="/files/jGcqYqS34ecsb0gIMVPH" alt=""><figcaption></figcaption></figure>

&#x20;

<figure><img src="/files/LW5mzver9lWbKGjgTXqW" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/H4B8VwsG8stBuL9ljJ5B" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/UkzLMcTwJqIfnSDxKAtn" alt=""><figcaption></figcaption></figure>

### [META FOR DEVELOPERS](https://developers.facebook.com/tools/accesstoken/) <a href="#meta-for-developers-1" id="meta-for-developers-1"></a>

#### 4.4 Access Token via Debugger <a href="#id-4.4-access-token-via-debugger" id="id-4.4-access-token-via-debugger"></a>

To copy or access the information about the token: Go to Access token page in Tools in the Facebook Developers portal <https://developers.facebook.com/tools/accesstoken/>

1. Click “Debug” on the app you just created
2. Copy the Debug code

{% hint style="info" %}
Note:\
Also see all the information about the token
{% endhint %}

<figure><img src="/files/OXMfqgnmhxszoTXkHOIM" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/yupb9eyLU0fOROlu8fKH" alt=""><figcaption></figcaption></figure>

### 5. Copy Phone number ID and WhatsApp Business Account ID <a href="#id-5.-copy-phone-number-id-and-whatsapp-business-account-id" id="id-5.-copy-phone-number-id-and-whatsapp-business-account-id"></a>

Go back to [API setup](https://developers.facebook.com/apps/759218118860831/whatsapp-business/wa-dev-console/?business_id=1501389280339074) in the developers PortalCopy the following:

1. Phone number ID
2. WhatsApp Business Account ID
3. The actual WhatsApp number

***Send these back to Yazi along with the System token***

<figure><img src="/files/MYnJeQWOe3DrWHJ9gIur" alt=""><figcaption></figcaption></figure>

### 6. Toggle App Mode onto Live <a href="#id-6.-toggle-app-mode-onto-live" id="id-6.-toggle-app-mode-onto-live"></a>

Toggle the app to “Live”. As this is approved, you will normally be upgraded to be able to send 1,000 Template messages per day (1,000 outbound notification messages per 24 hours)&#x20;

{% hint style="info" %}
Note: You may need to add your Privacy policy in [Basic Settings](https://developers.facebook.com/apps/759218118860831/settings/basic/?business_id=1501389280339074) to be able to do this.
{% endhint %}

<figure><img src="/files/hAoOw5mKPB1mDmye2vM1" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/4iNWhxbAheLPeN4avXSK" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Might take a day to populate.
{% endhint %}

<figure><img src="/files/ZYgABAoi7QMucF5NKCOS" alt=""><figcaption></figcaption></figure>

### **Additional profile check**

1. Check the status of your number\
   Should take 1-2 business days to be approved
2. Profile\
   Add description\
   Picture


# Research Campaign Setup

### Creating a New Study

{% embed url="<https://www.loom.com/share/ec35fc8ed049404591b0c1589de45408>" %}

### Overview

Yazi supports three core study types — **AI Interviews**, **Surveys**, and **Diary Studies** — each delivered entirely within WhatsApp. You can run any of these as a standalone single-day study, or combine them into a **Multi-Day Sequential Study** that links multiple activities together over time.

This page covers how to choose the right study type, the universal design principles that apply across all methodologies, and the shared builder features you'll use regardless of which study type you select.

***

### At a Glance

* **Single-day options:** Survey, AI Interview, or Diary Study
* **Multi-stage option:** Multi-Day Sequential Study
* **Setup methods:** Build manually or generate from a brief with AI
* **Delivery modes:** In-Chat or Flows
* **Best starting point:** Choose the method that matches your research goal first

{% hint style="info" %}
Pick the **methodology first**. Then decide whether it should run as a single activity or a multi-day journey.
{% endhint %}

***

### Choosing Your Study Type

{% tabs %}
{% tab title="AI Interview" %}
A structured survey followed by an AI-moderated qualitative interview.

* **Best for:** Understanding motivations, attitudes, and experiences
* **How questions work:** You write the survey; the AI generates follow-ups in real time
* **Typical sample size:** 12–100 participants
* **Typical question count:** 8–12 survey questions plus 5–15 AI follow-ups
* **Participant effort:** 8–20 minutes
* **What you get:** Structured data plus rich verbatims
* **Flagship capability:** The AI adapts based on what the participant has already said

{% content-ref url="/spaces/zMRQUXiGQlBwWdg6WEmG/pages/6nCoNmXByWhJJEWGuoXj" %}
[AI Moderated Interviews](/using-yazis-app/ai-moderated-interviews)
{% endcontent-ref %}
{% endtab %}

{% tab title="Survey" %}
A structured questionnaire delivered as a WhatsApp conversation.

* **Best for:** Quantitative measurement, tracking, and benchmarking
* **How questions work:** All questions are authored in advance
* **Typical sample size:** 250+ participants
* **Typical question count:** 22–28 questions
* **Participant effort:** 3–8 minutes
* **What you get:** Coded, countable data
* **Flagship capability:** Highest scale and speed

{% content-ref url="/spaces/zMRQUXiGQlBwWdg6WEmG/pages/i4ySra6vNXPfo06EHtfG" %}
[Survey Surveys in Yazi](/using-yazis-app/survey-surveys-in-yazi)
{% endcontent-ref %}
{% endtab %}

{% tab title="Diary Study" %}
A recurring set of questions that participants answer repeatedly over time.

* **Best for:** Longitudinal behaviour tracking and experience logging
* **How questions work:** The same journeys repeat across multiple sessions
* **Typical sample size:** 20–200 participants
* **Typical question count:** 3–6 questions per entry
* **Participant effort:** 2–5 minutes per entry
* **What you get:** Timestamped session data over time
* **Flagship capability:** Captures in-the-moment behaviour as it happens

{% content-ref url="/spaces/zMRQUXiGQlBwWdg6WEmG/pages/7sixACpej4dyuHQbV1BH" %}
[Diary Studies (Longitudinal & recurring questions)](/using-yazis-app/diary-studies-longitudinal-and-recurring-questions)
{% endcontent-ref %}
{% endtab %}
{% endtabs %}

#### Quick Decision Guide

* **"I need numbers and percentages"** → Survey
* **"I need to understand why"** → AI Interview
* **"I need to see patterns over time"** → Diary Study
* **"I need numbers first, then understanding"** → AI Interview (the survey section gives you the numbers, the AI section gives you the depth)
* **"I need evolving research across multiple days"** → Multi-Day Sequential Study (combine any of the above)

***

### Single-Day vs. Multi-Day

When creating a new study, you first choose between:

**Single Campaign (Single Day)** — one standalone activity. Choose a Survey, AI Interview, or Diary Study.

**Multi-Day Sequential Study** — multiple activities linked together over time. Each activity can use a different methodology. For example: Survey on Day 1 → Diary Study on Days 2–5 → AI Interview on Day 6.

{% content-ref url="/spaces/zMRQUXiGQlBwWdg6WEmG/pages/l7oXEH1et0sihOR3qoc1" %}
[Multi-Day Studies in Yazi](/using-yazis-app/multi-day-studies-in-yazi)
{% endcontent-ref %}

{% columns %}
{% column %}

#### Single-day study

* One standalone activity
* Faster to set up
* Best for one clear research task
* Uses one methodology
  {% endcolumn %}

{% column %}

#### Multi-day study

* Multiple linked activities
* Questions can evolve over time
* Best for journeys or longitudinal work
* Can mix methodologies
  {% endcolumn %}
  {% endcolumns %}

***

### Two Setup Methods

When you click **New Research** and select your study structure, you're presented with two setup methods:

#### Upload Brief with AI

Upload a research brief in Word or Google Doc format, and Yazi's AI will automatically generate your study — questions, answer options, routing logic, and interview configuration. The AI produces a complete draft in approximately 5–6 minutes, which you then edit and refine in the builder.

This is the fastest way to get started. Even a rough brief will produce a strong starting draft. Write out your research objectives, target audience, key topics, and any specific questions you need asked — the more detail you provide, the better the output. Depending on the complexity of your study, this can save hours of manual setup.

<figure><img src="/files/5dyJtWj7iUqA7kxgEich" alt=""><figcaption></figcaption></figure>

#### Manual Setup

Build your study from scratch in the builder. You choose your study type and add questions one by one.

Both methods produce the same output — a fully configurable study in the builder. You can always start with AI-generated questions and manually adjust from there.

{% columns %}
{% column %}

#### Upload Brief with AI

* Fastest starting point
* Best for rough or early-stage briefs
* Generates a full draft in minutes
* Good for saving setup time
  {% endcolumn %}

{% column %}

#### Manual setup

* Full control from the start
* Best when you already know the exact structure
* Good for smaller or highly specific studies
* No AI draft required
  {% endcolumn %}
  {% endcolumns %}

{% hint style="info" %}
You do not need a perfect brief. Even a rough brief can generate a strong first draft.
{% endhint %}

***

### Rendering Modes

All study types can be displayed in one of two rendering modes within WhatsApp:

#### In-Chat

Questions and answer options appear as native WhatsApp messages directly in the conversation thread — one message per question, with buttons or lists for answer options. This is the most familiar experience for participants and feels like a natural WhatsApp conversation.

#### Flows

Questions render as a dynamic modal overlay on top of the WhatsApp chat — similar to a browser window within WhatsApp. Participants can move through questions more quickly, making this particularly suited for longer quantitative surveys.

{% columns %}
{% column %}

#### In-Chat

* Native WhatsApp messages
* One question at a time
* Maximum compatibility
* Best for qualitative work and broad reach
  {% endcolumn %}

{% column %}

#### Flows

* Modal-style question experience
* Faster progression
* Requires newer WhatsApp versions
* Best for longer quantitative surveys
  {% endcolumn %}
  {% endcolumns %}

You can switch between In-Chat and Flows at any time in the builder without rebuilding your study.

{% hint style="info" %}
Default to **In-Chat** for maximum reach and compatibility. Use **Flows** when speed matters and your audience has up-to-date devices.
{% endhint %}

***

### Universal Question Types

All three study types support the same set of question types:

* **Single Select** — One answer from a set of options. Renders as buttons (≤3 options) or a scrollable list (4+ options).
* **Multi-Select** — Multiple answers from a set of options. Renders as a list with checkboxes.
* **Open Text** — Free-text response. The participant types their reply.
* **Rating Scale** — Numeric scale (e.g., 1–10, NPS). Renders as buttons or list depending on the range.
* **Voice Note** — Audio response recorded using WhatsApp's native voice note feature.
* **Image Upload** — Photo capture or gallery upload via native WhatsApp image sharing.
* **Video Upload** — Video capture or gallery upload via native WhatsApp video sharing.
* **Location** — GPS pin drop using WhatsApp's native location sharing.
* **File/Document** — PDF or document upload via native WhatsApp file sharing.

#### What You Can't Ask

WhatsApp's API and app interface do not support certain question formats. These are platform-level constraints that apply regardless of study type:

* **No grid/matrix questions** — The WhatsApp interface cannot render a grid of rows and columns. Break matrix questions into individual rating or select questions instead.
* **No ranking/sorting questions** — Participants cannot drag-and-drop or reorder items on a touchscreen within WhatsApp. Use sequential "most important" / "least important" questions as an alternative.

{% hint style="warning" %}
Design for the WhatsApp interface. If a question type would feel awkward in a messaging app, split it into simpler steps.
{% endhint %}

***

### Universal Builder Features

These features are available across all study types:

* **Text formatting** — Bold, italics, and quotes for emphasis in question text.
* **Live preview** — See exactly how each question renders in WhatsApp before publishing.
* **Validation warnings** — Answer options that exceed WhatsApp's character limits are flagged in red.
* **Option randomisation** — Shuffle answer option order per participant to reduce first-option bias.
* **"Other" option** — Add a free-text "Other" option to any select question. When selected, the participant is prompted to type a response, capturing answers you may not have anticipated.
* **Routing logic** — Skip logic, branching, screen-outs, and looping based on participant responses.
* **Intro message** — Customise the message participants see before the first question.
* **Closing message** — Customise the message shown after the final question.
* **Drag and reorder** — Rearrange questions freely without affecting existing response data.

{% columns %}
{% column %}

#### Builder controls

* Routing logic
* Randomisation
* Validation warnings
* Drag and reorder
  {% endcolumn %}

{% column %}

#### Experience controls

* Intro message
* Closing message
* Live preview
* Text formatting
  {% endcolumn %}
  {% endcolumns %}

***

### How Many Questions Should You Ask?

This is the most frequently asked question in research design, and the answer depends on your study type, your participants, and your incentive structure.

#### General Guidelines

* **22–28 questions** is the sweet spot for a standard quantitative survey with remunerated participants
* **8–12 survey questions + 5–15 AI follow-ups** for AI interviews
* **3–6 questions per entry** for diary studies, where participants log repeatedly
* **Beyond 32 questions**, expect significantly higher drop-off regardless of incentive

#### WhatsApp vs. Browser-Based Surveys

A common question: "Can I ask as many questions on WhatsApp as I would in a browser-based survey?"

The short answer is yes. The speed at which participants complete questions in WhatsApp is roughly the same as in a browser. The WhatsApp format is not a further limitation on survey length beyond what you'd expect from any mobile survey.

What is different:

* **Participants get distracted** — WhatsApp is a messaging app, and notifications from other chats may interrupt the flow.
* **Progress is saved** — Unlike browser surveys, participants can leave and come back without losing their answers.
* **Reminders bring them back** — You can send automated reminders to participants who started but didn't finish, prompting them to complete within your stipulated timeframe.

This means your effective completion rate can actually be higher than browser-based surveys, because you have tools to re-engage distracted participants rather than losing them permanently.

#### Every Question Counts Individually

Unlike browser-based surveys where you typically only get data when someone completes the entire questionnaire, Yazi captures each response as it's submitted. If a participant answers 15 out of 28 questions and drops off, you still have 15 usable data points.

**Design principle:** Place your most important questions first. Treat every subsequent question as a bonus. Even with drop-off, you'll have data on what matters most.

{% hint style="info" %}
Front-load your highest-value questions. Yazi captures each answer as it is submitted.
{% endhint %}

***

### Answer Option Display Rules

How your answer options render in WhatsApp depends on the number and length of options:

* **3 or fewer short options** → Tappable buttons directly in the chat
* **4 or more options** → Scrollable list accessed via a burger menu button
* **Option text exceeds \~24 characters** → Automatically switches from button to list format

The builder flags options that exceed the character limit in red so you can adjust before publishing.

**Tip:** Keep option text concise. If you need to provide context or definitions, put them in the question text rather than the answer options.

***

### Multi-Language Support

All study types support multi-language surveys with the same configuration:

1. Write all questions and options in your primary language (typically English).
2. Yazi auto-translates using Google Translate into your target languages.
3. Manually edit any translation for accuracy before publishing.
4. Participants select their preferred language at the start of the study.
5. All questions render in their chosen language.
6. Responses are captured in the original language and translated back to your primary language.

For multi-day studies, language settings are configured once at the study level and apply across all activities — participants don't need to re-select their language for each stage.

<figure><img src="/files/JChyhoMgY8WWhaNnyRJm" alt=""><figcaption></figcaption></figure>

***

### Publishing & Sharing

#### Publishing

A study must be published to WhatsApp before it can be accessed by participants. While in draft, you can build, edit, and preview — but the study link will not work and broadcast invitations cannot be sent until you publish.

#### Two Ways Participants Can Access Your Study

* **Link sharing** — Share a link via email, social media, QR code, or any other channel. Participants click the link, WhatsApp opens with a passcode, and they tap send to begin.
* **Broadcast invitations** — Send a WhatsApp message directly to a list of participants. They receive the message in their WhatsApp chat and tap a button to begin.

#### Live Link vs. Test Link

Every study generates two links:

* **Live link** — For real participants. Responses are recorded permanently.
* **Test link** — For previewing the experience yourself. Resets AI interview memory so you can test the full conversation repeatedly.

Always use the test link when testing AI interviews. The AI remembers previous conversations on the live link — if you've already reached the maximum question count, it won't ask further questions on subsequent attempts.

{% columns %}
{% column %}

#### Link sharing

* Share by email, QR, social, or any other channel
* Participant starts from a WhatsApp link
* Best when participants find the study themselves
  {% endcolumn %}

{% column %}

#### Broadcast invitations

* Send directly to a participant list
* Participant receives the invite in WhatsApp
* Best for proactive outreach
  {% endcolumn %}
  {% endcolumns %}

{% hint style="info" %}
Use the **test link** for internal testing. Use the **live link** only for real participant traffic.
{% endhint %}

***

### Sandbox vs. Live

You can build and test your entire study in the sandbox before going live:

* All work in the sandbox carries over when you publish with your dedicated WhatsApp number — nothing is lost.
* Test the full participant experience using Yazi's test number.
* Sandbox data exports are limited to 10 rows (full export available on live account).

{% hint style="info" %}
Build early in sandbox. You do not need to wait for the live number to start designing the study.
{% endhint %}

***

### Fraud Prevention

WhatsApp-based studies carry inherent fraud protections that apply across all study types:

* **Phone number authentication** — Each participant is tied to a verified phone number, making it difficult to create duplicate respondents.
* **Device fingerprinting** — WhatsApp is tied to a single device, preventing bot farms from scaling easily.
* **Voice note verification** — Requiring a voice note response confirms a real human participant.
* **Engagement patterns** — Response timing and interaction patterns are visible, making rushed or automated completions easy to identify.

{% hint style="success" %}
WhatsApp creates natural friction against duplicate and automated participation. That gives you cleaner data than many open web survey channels.
{% endhint %}


# Survey Surveys in Yazi

### Overview

Yazi surveys are delivered entirely within WhatsApp — no links, no app downloads, no browser redirects. Participants answer questions directly in their existing WhatsApp chat, making it feel like a natural conversation rather than a formal research exercise.

Each survey response is captured individually as the participant answers, meaning even partial completions yield usable data.

{% embed url="<https://www.loom.com/share/7572f1f60c524559bebba7f7d48dc1a5>" %}

***

### How It Works

#### Participant Experience

1. Participant receives a WhatsApp message inviting them to take part
2. They tap a button to begin
3. An introductory message is displayed before the first question
4. Questions appear one at a time within the chat
5. Participants respond using buttons, lists, text, voice notes, images, or video
6. On completion, they receive a customisable closing message

The entire experience stays inside WhatsApp. Participants can pause mid-survey and return later without losing progress.

Here’s the updated **Two Rendering Modes** section to replace the existing one in the Survey page:

***

### Two Rendering Modes

Yazi supports two ways of displaying questions within WhatsApp: **In-Chat** and **Flows**. Choosing the right render mode significantly affects the participant experience, the types of media you can collect, and how participants interact with your study.

#### In-Chat

Questions and answer options appear as native WhatsApp messages directly in the conversation thread — one message per question, with buttons or lists for answer options. This is the most familiar experience for participants and feels like a natural WhatsApp conversation.

**Key characteristics:**

* **Multi-select options** display as lettered list options (e.g., A, B, C, D) — functional but not the most elegant experience
* **Participants can leave and return** at any time — progress is always saved and the conversation picks up exactly where they left off
* **Supports voice note and video responses** from participants
* **Supports image responses** from participants
* **Participants can send media with a caption** — e.g., a photo accompanied by a text description in the same message
* **You can send images to participants** within the question (e.g., show a product image or stimulus material)
* **Slightly slower to complete** — one question per message creates a more conversational pace
* **Better for qualitative and diary studies** where rich media capture and the ability to return later are essential

<figure><img src="/files/hPVknsDXk2KfAUB1aFhQ" alt="" width="225"><figcaption></figcaption></figure>

#### Flows

Questions render as a dynamic modal overlay on top of the WhatsApp chat — almost like a browser window that opens within WhatsApp. Participants move through questions more quickly in a single interactive screen.

**Key characteristics:**

* **Multi-select options** display as proper tickboxes — a cleaner, more intuitive experience than lettered lists
* **Faster to complete** — participants can progress through questions more rapidly, making this well-suited for longer quantitative surveys
* **Participants cannot easily return** to complete a partially finished flow — if they exit mid-way, resuming may be less seamless than In-Chat
* **Does not support voice note or video responses** from participants — media capture questions are not available in Flows
* **You cannot send images to participants** within the question
* **Better for quantitative surveys** where speed of completion and clean answer selection matter more than media capture
* Requires a **newer version of WhatsApp** — older devices may not support the Flows interface

<figure><img src="/files/wcfLsWTiD3y4EBD9M96Y" alt="" width="224"><figcaption></figcaption></figure>

#### Side-by-Side Comparison

|                                      | **In-Chat**                                                            | **Flows**                                            |
| ------------------------------------ | ---------------------------------------------------------------------- | ---------------------------------------------------- |
| **Look and feel**                    | Native WhatsApp messages                                               | Pop-up window within WhatsApp                        |
| **Completion speed**                 | Conversational pace                                                    | Faster — all in one interface                        |
| **Multi-select display**             | Lettered list options                                                  | Proper tickboxes                                     |
| **Return to complete later**         | Yes — always                                                           | Not easily                                           |
| **Voice note responses**             | ✅ Supported                                                            | ❌ Not supported                                      |
| **Video responses**                  | ✅ Supported                                                            | ❌ Not supported                                      |
| **Image responses from participant** | ✅ Supported                                                            | ❌ Not supported                                      |
| **Media + caption from participant** | ✅ Supported                                                            | ❌ Not supported                                      |
| **Send images to participant**       | ✅ Supported                                                            | ❌ Not supported                                      |
| **Device compatibility**             | All devices and WhatsApp versions                                      | Requires newer WhatsApp version                      |
| **Best for**                         | Diaries, AI interviews, qualitative studies, any study requiring media | Quantitative surveys where speed and clean UX matter |

You can switch between In-Chat and Flows at any time in the survey builder — no need to rebuild your study.

> **Recommendation:** Default to **In-Chat** for maximum compatibility and whenever you need to collect media, run a diary study, or need participants to complete across multiple sessions. Use **Flows** when you’re running a purely quantitative survey and want a faster, cleaner completion experience — and your audience has up-to-date devices.

***

### The Survey Builder

<figure><img src="/files/I1ydt1A9t3rvvtbn4aPR" alt=""><figcaption></figcaption></figure>

#### Creating & Editing Questions

The survey builder lets you add, reorder, and delete questions from a single screen. Each question card shows the question text, answer options, and configuration settings at a glance.

Key builder features:

* Text formatting — question text supports bold, italics, and quotes for emphasis and clarity
* Live preview — press the “i” icon on any question to see exactly how it will render in WhatsApp before publishing
* Validation warnings — the builder flags answer options that exceed WhatsApp’s character limits, shown in red, so you can fix them before launch
* Drag and reorder — rearrange questions freely without affecting existing response data
* Settings wheel — access per-question configuration options including randomisation and “Other” toggles

#### Intro & Closing Messages

* Intro message: Customise the message participants see before the first question. Use this to explain the purpose of the survey, estimated completion time, and any incentive details.
* Closing remarks: Customise the message shown after the final question. Use this for a thank-you, next steps, or a redirect link.

***

### Question Types

#### Supported Types

| Type          | Description                            | Format                                    |
| ------------- | -------------------------------------- | ----------------------------------------- |
| Single Select | One answer from a set of options       | Buttons (≤3 options) or List (4+ options) |
| Multi-Select  | Multiple answers from a set of options | List format with checkboxes               |
| Open Text     | Free-text response                     | Participant types reply                   |
| Rating Scale  | Numeric scale (e.g., 1–10, NPS)        | Buttons or list depending on range        |
| Voice Note    | Audio response recorded in WhatsApp    | Native WhatsApp voice note                |
| Image Upload  | Photo capture or gallery upload        | Native WhatsApp image sharing             |
| Video Upload  | Video capture or gallery upload        | Native WhatsApp video sharing             |
| Location      | GPS pin drop                           | Native WhatsApp location sharing          |
| File/Document | PDF or document upload                 | Native WhatsApp file sharing              |

#### Display Behaviour

* 3 or fewer options: Render as tappable buttons directly in the chat (In-Chat mode)
* 4 or more options: Render as a scrollable list accessed via a burger menu button
* Long option text: Options exceeding \~24 characters automatically switch from button format to list format

#### “Other” Option

Toggle on an “Other” option for any single-select or multi-select question. When selected, the participant is prompted to type a free-text response, capturing answers you may not have anticipated.

#### Option Randomisation

Toggle randomisation on or off per question via the settings wheel. This shuffles the order of answer options for each participant, reducing first-option bias — particularly important on mobile where participants tend to tap the first visible choice.

#### Known Limitations

* No grid/matrix questions — WhatsApp’s API does not support grid layouts. Break grids into individual rating questions instead.
* No ranking questions — Participants cannot drag-and-drop to rank items. Use sequential “most important” / “least important” questions as an alternative.
* Button text limit — Button-style options are limited to approximately 24 characters. Longer text automatically renders as a scrollable list instead. The builder will flag options that exceed this limit in red.
* No native polls — WhatsApp’s poll feature is separate from the Business API and cannot be used.

***

### Routing & Logic

Surveys support conditional routing based on participant responses:

* Skip logic — skip irrelevant questions based on a previous answer
* Branching — route participants down different question paths (e.g., “Customer” path vs. “Non-customer” path)
* Screen-outs — end the survey early for participants who don’t qualify
* Looping — return participants to a menu to log multiple entries (e.g., multiple meals, multiple products used)

Routing is configured per question in the builder. When logic has been applied to a question, it is visually indicated so you can see your survey flow at a glance.

Complex routing with multiple conditional pathways and nested branches is supported. Simple linear flows and moderate branching carry no additional setup cost.

***

### Multi-Language Support

Surveys can be authored in one language and automatically translated into multiple languages for participants.

<figure><img src="/files/66Rz3vHcK6VUrGlZNZuS" alt=""><figcaption></figcaption></figure>

#### How It Works

1. Write all questions and options in your primary language (typically English)
2. Yazi auto-translates using Google Translate into your target languages
3. You can manually edit any translation for accuracy before publishing
4. At the start of the survey, each participant selects their preferred language
5. All questions render in their chosen language
6. Responses are captured in the original language and translated back into your primary language

<figure><img src="/files/LrAcnjxE6wXTG6uN2elu" alt=""><figcaption></figcaption></figure>

#### In the Results

Each response appears in three columns:

* Original response (in the participant’s language)
* English translation (or your primary language)
* Audio file (if voice note, with transcript in both languages)

This is particularly valuable for multilingual markets where participants may code-switch between languages within a single response.

***

### Survey Design Best Practices

#### Question Count

* Sweet spot: 22–28 questions for a standard survey
* Maximum: 32 questions before significant drop-off risk
* Minimum for statistical value: 8–10 questions
* Every individual question is captured as the participant answers, so even if someone drops off at question 15, you still have 15 usable data points

#### Question Order

* Place the most important questions first — treat every subsequent question as a bonus
* Put demographic/classification questions at the end unless they’re needed for routing
* Place open-text and voice note questions strategically (these have higher drop-off rates)

#### Avoiding Common Pitfalls

* Avoid internal jargon — participants won’t understand your organisation’s product names or acronyms. Use plain language they’d recognise.
* Avoid opinion-based multiple choice — if you want nuanced feedback, use open-text or voice note questions rather than forcing sentiment into predefined categories.
* Keep option lists short — more than 8–10 options in a single question creates fatigue. Consider splitting into two questions or using a different approach.
* Randomise options — enable randomisation on multiple-choice questions to avoid first-option bias.

***

### Brief Upload

If you have a research brief or discussion guide in Word or Google Doc format, upload it to Yazi’s AI generator to automatically create survey questions. The AI produces a draft in approximately 5–6 minutes, which you can then edit and refine in the survey builder.

<figure><img src="/files/JqWwyBNw8RflLJkcKFxE" alt=""><figcaption></figcaption></figure>

***

### Sandbox Testing

Before launching with your dedicated WhatsApp number, you can build and test your entire survey in the Yazi sandbox:

* All work carries over when you go live — nothing is lost
* Test the full participant experience using Yazi’s test number
* Sandbox data exports are limited to 10 rows (full export available on live account)


# OLD of Survey Campaign

{% @arcade/embed flowId="cYuGIRATdw1vEhoRcfsN" url="<https://app.arcade.software/share/cYuGIRATdw1vEhoRcfsN>" %}

### Overview

Yazi surveys are delivered entirely within WhatsApp — no links, no app downloads, no browser redirects. Participants answer questions directly in their existing WhatsApp chat, making it feel like a natural conversation rather than a formal research exercise.

Each survey response is captured individually as the participant answers, meaning even partial completions yield usable data. If a participant answers 15 out of 28 questions and drops off, you still have 15 data points to work with.

***

### How It Works

#### Participant Experience

1. Participant receives a WhatsApp message inviting them to take part.
2. They tap a button to begin.
3. An introductory message is displayed before the first question.
4. Questions appear one at a time within the chat.
5. Participants respond using buttons, lists, text, voice notes, images, or video.
6. On completion, they receive a customisable closing message.

The entire experience stays inside WhatsApp. Participants can pause mid-survey and return later without losing progress.

### Types of questions

#### Types of questions:

* Single-select and multi-select multiple-choice
* Open text
* Image
* Video
* Voice note

{% hint style="info" %}
**Note**: These relate to the response type expected from participants. For sending content to participants, images and videos can only be sent in questions without predefined options (open text, voice note, video, image questions).
{% endhint %}

**Question Type Rules**

* Only answers that match the question type specified will be accepted
* For example, a voice note will not be accepted for an image question type
* **Important**: The system processes one response at a time in sequence. If a participant sends multiple responses quickly, each will be assigned to consecutive questions.

**Character Limitations**

* Questions or messages to respondents: maximum 500 characters
* Multiple-choice option answers: maximum 50 characters (Meta limit)
* Multiple-choice options with buttons: 1-24 characters recommended for optimal display

<figure><img src="/files/figaiezXV19MaQ1A24x4" alt=""><figcaption></figcaption></figure>

### Question Types

| Type          | Description                            | Format                                    |
| ------------- | -------------------------------------- | ----------------------------------------- |
| Single Select | One answer from a set of options       | Buttons (≤3 options) or List (4+ options) |
| Multi-Select  | Multiple answers from a set of options | List format with checkboxes               |
| Open Text     | Free-text response                     | Participant types reply                   |
| Rating Scale  | Numeric scale (e.g., 1–10, NPS)        | Buttons or list depending on range        |
| Voice Note    | Audio response recorded in WhatsApp    | Native WhatsApp voice note                |
| Image Upload  | Photo capture or gallery upload        | Native WhatsApp image sharing             |
| Video Upload  | Video capture or gallery upload        | Native WhatsApp video sharing             |
| Location      | GPS pin drop                           | Native WhatsApp location sharing          |
| File/Document | PDF or document upload                 | Native WhatsApp file sharing              |

#### Display Behaviour

* 3 or fewer options: Render as tappable buttons directly in the chat (In-Chat mode)
* 4 or more options: Render as a scrollable list accessed via a burger menu button
* Long option text: Options exceeding \~24 characters automatically switch from button format to list format

#### “Other” Option

Toggle on an “Other” option for any single-select or multi-select question. When selected, the participant is prompted to type a free-text response, capturing answers you may not have anticipated.

#### Option Randomisation

Toggle randomisation on or off per question via the settings wheel. This shuffles the order of answer options for each participant, reducing first-option bias — particularly important on mobile where participants tend to tap the first visible choice.

#### Known Limitations

* No grid/matrix questions — WhatsApp’s API does not support grid layouts. Break grids into individual rating questions instead.
* No ranking questions — Participants cannot drag-and-drop to rank items. Use sequential “most important” / “least important” questions as an alternative.
* Button text limit — Button-style options are limited to approximately 24 characters. Longer text automatically renders as a scrollable list instead. The builder will flag options that exceed this limit in red.

No native polls — WhatsApp’s poll feature is separate from the Business API and cannot be used.

{% hint style="danger" %}
**Question Type rules**

Only answers that match the question type specified will be accepted. I.e. voice note will not be accepted for image question type
{% endhint %}

{% hint style="success" %}

#### Question text

A question or message sent to a respondent in the bot can't be more than 500 characters

\
To explain something to a respondent (where you do not want it to be a question): Make it a Multiple Choice question and put '**Continue**' or '**Understood**' as the answer
{% endhint %}

### Multiple choice

A multiple-choice option answer can't be more than <mark style="background-color:green;">50 characters (Meta limit) 1-24</mark> character multiple choice options appear as buttons

### Types of displays:

#### 1. Buttons

* <mark style="color:green;background-color:green;">**1 - 3 options**</mark> appear as buttons in the chat
* Best for short, simple responses

<figure><img src="/files/LcmfgcobXzLVqQCijnSz" alt="" width="188"><figcaption><p>Buttons for multiple choice question</p></figcaption></figure>

#### 2. List / Burger menu

* <mark style="background-color:green;">**4-10**</mark> options appear in a burger menu
* Options show up when clicked
* Ideal for medium-length option lists

<figure><img src="/files/tTf94WYqHsBi5SeETSRY" alt="" width="375"><figcaption><p>Burger menu or list for multiple choice question</p></figcaption></figure>

#### 3. List with letter options (A, B, C etc)

* A question where 1 of the multiple-choice options is <mark style="color:green;background-color:green;">25-50 characters</mark>&#x20;
* OR, if there are <mark style="color:green;background-color:green;">more than 10 answer options</mark> will appear with letters as the answer e.g. Option 1 is **A,** Option 2 is **B** etc
* OR, if it is a multi-select multiple choice question

<figure><img src="/files/WcVmYcTEDQiSHB5keYxS" alt="" width="188"><figcaption></figcaption></figure>

### Multi-Select Multiple choice

* <mark style="color:red;background-color:red;">**Do not use commas**</mark> in multi-select options as our system detects separate options by commas ❌
* For multi-select questions, instruct participants to separate their selections with commas (e.g., "a, c, d")

### Critical Response Handling Limitations

> <mark style="background-color:orange;">**⚠️ IMPORTANT: One Data Type At A Time**</mark>
>
> <mark style="background-color:orange;">The system only stores one type of data per question. If a participant sends:</mark>
>
> * <mark style="background-color:orange;">An image followed immediately by text: The image is stored for the current question, and the text is stored as the answer to the NEXT question</mark>
> * <mark style="background-color:orange;">Multiple images in succession: Each image will be assigned to consecutive questions in the sequence</mark>
>
> <mark style="background-color:orange;">These limitations apply to both survey and AI interviewer interactions.</mark>

### Best Practices for Media Questions

1. **Split media uploads and descriptions into separate questions:**
   * First question: "Please upload an image/screenshot"
   * Following question: "Tell us more about what's shown in this image"
2. **Add clear instructions at the beginning of your study:**
   * "Important: Please send only one response at a time and wait for the next question before responding again."
   * "For image questions: Send only the image first, then wait for the follow-up question where you can add your description."
3. **Include specific instructions in media question prompts:**
   * "Please send ONLY the image here and wait for the next question before adding any description."
   * "After sharing your image, you'll have an opportunity to explain it in the next question."
4. **For multiple media uploads:**
   * Create separate, sequential questions for each required media item
   * Add instructions like "Upload your first image here" followed by "Upload your second image here"
   * Consider adding a text question at the end for overall observations about all uploaded images

### Using Logic and Routing

*You can create conditional paths through your survey based on participants' answers:*

1. *Below any question, click "Add logic"*
2. *Select the condition (e.g., "When Question 1 contains 'Option A'")*
3. *Choose where to route participants (e.g., "then go to Question 5")*
4. *This allows you to personalise the journey based on previous responses*

<figure><img src="/files/voI4FYfYLfoNWfZ4wlon" alt=""><figcaption></figcaption></figure>

### Preview and Testing

* Preview the question type by clicking the 'Eye' icon
* Always test your survey before sending it to participants
* Verify that all logic and routing works as expected
* Check that media questions are properly set up with clear instructions about the one-response-at-a-time limitation

<figure><img src="/files/RyZEqOP35WqIxsc86GNP" alt=""><figcaption></figcaption></figure>

***

## Campaign Configuration Options

<figure><img src="/files/1lPI21hZaTBciYYYsk0X" alt=""><figcaption></figcaption></figure>

### Flow Mode

Flow Mode is a new feature allowing surveys to be set up in WhatsApp's new Flows feature:

* Compared to our usual message-by-message surveys inside WhatsApp chats, Flows make the experience much faster and more user-friendly
* Respondents can tap answers directly using buttons (including multi-select and radio options) instead of replying with letters
* This means cleaner data, quicker completions, and a smoother experience for everyone

<figure><img src="/files/DGBgdsbDQfhdoE9bGXDR" alt="" width="188"><figcaption></figcaption></figure>

#### Campaign Extender

You can redirect participants after they complete a survey:

* Assign a pre-approved broadcast message to your campaign
* The broadcast will be sent at the end of the survey
* Provides respondents the option to either continue the conversation or click a link to be redirected elsewhere
* Redirect options include another survey, a specific WhatsApp chat, or an external URL
* Note: Only broadcast messages without variables are available for selection

#### External Panel Partner

Configure integration with external panel providers for recruitment.

#### Result Obfuscation

Options for anonymising or obfuscating respondent data in results.

#### Code Generation

Generate codes for internal tracking or research panel building purposes.

#### Screener Questions

Set up qualifying questions to screen participants based on specific criteria.

***

### Launching Your Survey

Once your survey is ready:

1. Click "Publish Campaign" in the top right corner
2. Select your distribution method (WhatsApp links, Template Messages, etc.)
3. Monitor responses in the "Results" tab


# AI Moderated Interviews

### Overview

Yazi's AI Interview is a hybrid methodology that combines a structured survey section with an AI-moderated qualitative interview — all delivered within a single WhatsApp conversation. The AI interviewer adapts its follow-up questions in real time based on what the participant has already said, creating a conversational experience that sits between a traditional survey and a human-led depth interview.

The result is qualitative richness at quantitative scale — without needing a team of human moderators.

{% embed url="<https://www.loom.com/share/31f163e7d7be41f397c583081195e2d5>" %}

***

### At a Glance

* **Best for:** Understanding motivations, attitudes, experiences, and emotions
* **Typical sample size:** 12–100 participants
* **Typical structure:** 8–12 survey questions plus 5–15 AI follow-ups
* **Participant effort:** 8–20 minutes
* **Best output:** Structured data plus rich verbatims in one flow

{% hint style="info" %}
Use AI Interviews when you need both **measurement** and **depth** in the same study.
{% endhint %}

***

### How It Works

#### Participant Experience

{% stepper %}
{% step %}

### Step 1: Participant starts in WhatsApp

The participant receives a WhatsApp invitation and taps the button to begin.
{% endstep %}

{% step %}

### Step 2: Survey section runs first

The conversation starts with structured questions such as single select, multi-select, ratings, and media uploads.
{% endstep %}

{% step %}

### Step 3: AI interview begins

The AI uses the participant's earlier answers to generate personalised follow-up questions in real time.
{% endstep %}

{% step %}

### Step 4: Conversation adapts naturally

The AI probes, acknowledges what was said, and moves between topics based on the participant's responses.
{% endstep %}

{% step %}

### Step 5: Study closes cleanly

The participant reaches the configured question limit and receives a custom closing message.
{% endstep %}
{% endstepper %}

The transition from survey to interview is seamless. To the participant, it feels like a single conversation that starts structured and becomes more open and conversational.

<figure><img src="/files/ECiBJe9xfw6fDFa1QyDF" alt=""><figcaption></figcaption></figure>

#### Example Conversation

**Survey question:** "Have you switched banks in the last 5 years?" → Participant selects "Yes"

**AI follow-up:** "Since you switched banks in the last 5 years, what made you leave your old bank?"

**Participant responds:** "The fees were too high and the app kept crashing"

**AI follow-up:** "That sounds frustrating. When the app crashed, how did that affect your day-to-day banking? Did you find workarounds or just stop using it?"

The AI draws on the full context of the conversation — not just the most recent answer — to ask relevant, non-repetitive follow-up questions.

***

### When to Use AI Interviews vs. Surveys

Use a **Survey** when you need quantitative measurement, tracking, or benchmarking. Surveys are built for scale (250+ participants), deliver coded and countable data, and take participants 3–8 minutes to complete with 22–28 structured questions.

Use an **AI Interview** when you need to explore motivations, attitudes, experiences, or emotions. AI Interviews are designed for 12–100 participants, combine 8–12 survey questions with 5–15 AI-generated follow-ups, and take 8–20 minutes. You get rich verbatims, stories, and nuanced explanations alongside your structured data.

**Rule of thumb:** If you need numbers, use a survey. If you need understanding, use an AI interview. If you need both, use an AI interview — the survey section gives you the numbers, and the AI section gives you the depth.

{% content-ref url="/spaces/zMRQUXiGQlBwWdg6WEmG/pages/i4ySra6vNXPfo06EHtfG" %}
[Survey Surveys in Yazi](/using-yazis-app/survey-surveys-in-yazi)
{% endcontent-ref %}

***

### The Interview Builder

#### Two Sections

The AI interview builder has two distinct sections:

{% columns %}
{% column %}

#### Survey section

Built using the same builder as a standard survey.

* All normal question types are supported
* Routing logic still applies
* Randomisation still applies
* Formatting tools still apply
  {% endcolumn %}

{% column %}

#### Interview configuration

This controls how the AI behaves during the conversational part.

* What to explore
* How to probe
* What tone to use
* What to avoid
  {% endcolumn %}
  {% endcolumns %}

For the full survey builder, see [Survey Surveys in Yazi](/using-yazis-app/survey-surveys-in-yazi).

<figure><img src="/files/QoQTp5sTsgMVDd7UTcji" alt=""><figcaption></figcaption></figure>

#### Interview Configuration Fields

The interview configuration is split into three sections. This makes setup easier, and it gives the AI clearer instructions than a single long prompt.

{% hint style="info" %}
**Why this structure works**

A single broad prompt often makes the AI over-focus on the first topic mentioned. Splitting the setup into clear fields creates better topic balance, stronger probing, and more predictable interviews.
{% endhint %}

> The three sections below mirror the builder layout.
>
> Open each one to see the fields, examples, and options.

<details>

<summary><strong>1. Study Overview</strong> — what the interview must cover</summary>

#### Research Objectives

Required. State the insight you need to uncover.

* Aim for **200–500 characters**
* Be specific about the decision this research should support
* Focus on the insight, not just the topic

**Example**

*Understand why first-time users drop off after onboarding, and identify which moments create confusion, distrust, or low motivation to continue.*

#### Target Audience Description

Required. Describe exactly who the participant is.

Include:

* Relevant behaviours
* Life stage
* Geography
* Product or category usage

**Example**

*Adults aged 25–40 in urban South Africa who have ordered food delivery at least twice in the last month.*

#### Key Topic Areas

Required. Add **3–7 themes** the AI should explore.

This keeps the interview balanced across topics.

**Example topics**

* Onboarding experience
* First use barriers
* Trust and credibility
* Feature comprehension
* Reasons for stopping

#### Required Questions

Optional. Add any question that must be asked **verbatim**.

{% hint style="warning" %}
Use this sparingly. Too many required questions make the interview feel scripted.
{% endhint %}

**Example**

*If you could change one thing about the experience, what would it be?*

</details>

<details>

<summary><strong>2. Interview Approach</strong> — how the AI should ask questions</summary>

#### Question Style Preferences

Select one or more styles. The AI blends them naturally.

* **Open-ended** — Lets participants answer freely
* **Scenario-based** — Uses prompts like *"What would you do if..."*
* **Behavioral** — Focuses on real past actions
* **Feelings-based** — Explores emotions and reactions
* **Future-oriented** — Explores intent, expectations, or next steps

{% hint style="info" %}
**Common combinations**

* For exploratory work: **Behavioral + Feelings-based + Open-ended**
* For concept testing: **Scenario-based + Future-oriented + Open-ended**
  {% endhint %}

#### Probing Intensity

Controls how hard the AI follows up.

* **Minimal** — Follow up only when responses are vague or unclear
* **Standard** — Follow up on vague answers and contradictions
* **Deep** — Probe across emotions, contradictions, and emerging insights

> **Quick guide**
>
> * **Use Minimal** for short validation work
> * **Use Standard** for most projects
> * **Use Deep** for exploratory research where nuance matters

#### Maximum Questions

Sets the cap on interview length.

Recommended range:

* **5–8 questions** for short validation studies
* **8–12 questions** for most AI interviews
* **12+ questions** only when the audience is highly engaged

</details>

<details>

<summary><strong>3. Context &#x26; Preferences</strong> — how the conversation should adapt</summary>

#### Encourage Participants to Share

Choose what kinds of responses the AI should invite.

* **Text responses** — Always available
* **Voice notes** — Good for stories, emotion, and low-literacy audiences
* **Photos / images** — Good for product use, environments, and proof points
* **Videos** — Good for demos, routines, and observational tasks

You can also control how strongly the AI encourages each media type.

Examples:

* Voice notes as **secondary**
* Photos as **optional**

#### Language & Cultural Considerations

Tell the AI what language to use, which terms to avoid, and what local context matters.

Include:

* Brand or product names people actually use
* Local vocabulary
* Sensitive wording to avoid
* Cultural context the AI should recognise

**Example**

*Use "township" rather than "informal settlement". Acknowledge the impact of load shedding where relevant.*

#### Interview Language

Choose whether the interview language should be:

* **Derived from the survey**
* Set manually to a specific enabled language

#### Sensitive Topic Approach

Define what the AI should avoid, what it can ask carefully, and where it should move on.

**Example**

*Avoid detailed questions about personal trauma. If the participant raises financial stress, acknowledge it briefly and continue without pushing deeper.*

</details>

{% hint style="success" %}
If the client brief is clear, you can move most of it directly into the interview configuration.
{% endhint %}

<details>

<summary><strong>Client Brief Template</strong> — what to ask the client for</summary>

#### Client Brief Checklist

Ask for:

* The core research objective
* A clear description of the target audience
* **3–7** key topic areas
* Any must-ask questions
* Preferred question style
* Desired probing depth
* Ideal interview length
* Whether to invite text, voice notes, photos, or videos
* Required language, terms to use, and terms to avoid
* Any sensitive topics or boundaries

#### Suggested Brief Format

> **Copy this into a client brief**
>
> * **Research objective:** What must this interview uncover?
> * **Target audience:** Who is the participant?
> * **Key topic areas:** Which themes must be covered?
> * **Required questions:** Which questions must be asked exactly?
> * **Question style:** Open-ended, behavioral, scenario-based, feelings-based, future-oriented
> * **Probing intensity:** Minimal, Standard, or Deep
> * **Maximum questions:** How long should the interview be?
> * **Media to encourage:** Text, voice note, image, or video
> * **Language and cultural guidance:** Which terms should the AI use or avoid?
> * **Sensitive topic guidance:** What should the AI avoid or handle carefully?

</details>

***

### AI Behaviour & Controls

#### How the AI Decides What to Ask

The AI moderator reads three things before generating each follow-up question: all survey responses the participant has already provided, the full conversation history within the interview, and your interview configuration. It then generates the next most relevant question, avoiding repetition and ensuring coverage across your specified topic areas.

#### Conversation Flow

The AI asks one question at a time and waits for the participant's response. It acknowledges what the participant said before asking the next question. It probes deeper when responses are vague or surface-level, moves on when a topic has been sufficiently explored, and naturally transitions between topic areas.

#### Response Timing

The AI takes approximately 8–12 seconds to process a response and generate the next question. This is generally perceived as natural conversational pacing within WhatsApp. For older or slower-typing participants, you can extend the response timing in the settings.

#### Question Limit

Set a maximum question count to control interview length. The recommended range is 8–12 AI-generated questions per interview. The AI will naturally wrap up the conversation as it approaches the limit, ensuring a clean ending rather than an abrupt cutoff.

#### Handling Unexpected Participant Behaviour

* If a participant goes off-topic, the AI acknowledges their response and gently steers back to relevant themes.
* If a participant sends multiple short messages in quick succession, the AI waits for a pause before responding.
* If a participant responds with very brief answers, the AI probes for more detail.
* The AI will not reference random topics mentioned in passing unless they are relevant to your configured topic areas.

#### What the AI Won't Do

* It will not make promises on your behalf (e.g., "Someone will call you back").
* It will not provide advice, diagnoses, or recommendations to participants.
* It will not share information about other participants.
* It will not deviate from your configured research scope.

{% hint style="warning" %}
AI Interviews are strong within a defined research scope. They are not a substitute for human judgement in sensitive, regulated, or high-risk topics.
{% endhint %}

***

### Agent Takeover

At any point during an AI interview, a human moderator can take over the conversation.

#### How It Works

1. Open the conversation in the Yazi dashboard.
2. Activate agent takeover.
3. The AI pauses and the moderator messages the participant directly.
4. The participant sees no difference — messages continue in the same chat.
5. When the moderator is done, they hand back to the AI, which continues from where it left off.

#### When to Use Agent Takeover

* A participant shares something particularly interesting that deserves deeper human follow-up.
* The AI is not probing in the direction you want.
* You want to ask a very specific unscripted question.
* The participant is confused and needs human clarification.
* Your editorial or research team wants to conduct a live WhatsApp interview with selected participants.

The full transcript — both AI and human moderator messages — is captured in the results.

**The ideal workflow:** Use AI interviews at scale, review transcripts as they come in, and activate agent takeover for the 5–10 participants whose responses deserve deeper human exploration.

{% content-ref url="/spaces/zMRQUXiGQlBwWdg6WEmG/pages/zjRBjAPZmFGt5KVTwfXD" %}
[Agent Takeover (Human Moderation)](/results-and-reporting/agent-takeover-human-moderation)
{% endcontent-ref %}

***

### Multimedia in AI Interviews

The AI can request and receive multimedia responses during the interview:

* **Voice notes** — Capturing emotional responses, storytelling, and participants who prefer speaking to typing.
* **Videos** — Product demonstrations, environment documentation, and testimonials.
* **Images** — Workspace photos, product usage, and screenshots of relevant content.
* **Location** — Understanding where participants are when they engage in specific behaviours.

Configure media requirements in the interview settings to control when the AI requests specific media types. For example: *"Request a voice note when the participant describes an emotional experience"* or *"Ask for a photo when the participant mentions their daily routine."*

All media files are automatically transcribed (voice notes and videos) and available in the results alongside the text conversation.

***

### Multi-Language Support

AI interviews support the same multi-language functionality as surveys:

1. Configure your survey questions and interview fields in your primary language.
2. Auto-translate into target languages with manual editing.
3. Participants select their preferred language at the start.
4. The AI conducts the entire interview in the participant's chosen language.
5. All responses are translated back to your primary language in the results.

The AI naturally adapts to the participant's language style — if a participant uses informal terms or slang in their responses, the AI mirrors that register in its follow-up questions.

{% content-ref url="/pages/3mT0g6vSAYgscGB4z1AR" %}
[Language Translation](/zoom-in-on-advanced-features/language-translation)
{% endcontent-ref %}

***

### AI Interview Design Best Practices

#### Survey Section Design

* Keep the survey section to 8–12 questions — its purpose is to provide context for the AI, not to be a full quantitative study.
* Include key classification and behavioural questions that the AI can reference during the interview.
* Rating scales and single-select questions give the AI clear data points to probe on.
* Avoid long open-text questions in the survey section — save qualitative depth for the AI interview.

#### Configuration Tips

* **Be specific in your topic areas.** "Customer experience" is too broad. "Checkout experience, delivery tracking, returns process, customer support interactions" gives the AI clear territory to cover.
* **Include required questions sparingly.** 2–3 mandatory questions are fine. More than 5 makes the conversation feel scripted.
* **Set the right probing intensity.** For exploratory research, probe deeply. For validation studies, keep probing moderate.
* **Describe your audience.** The more the AI knows about who it's talking to, the better it calibrates tone and complexity.
* **Specify what to avoid.** If there are sensitive topics, competitor names to skip, or behaviours to discourage (like promising callbacks), state them explicitly.

#### Testing Protocol

{% stepper %}
{% step %}

### Run a cooperative test

Complete the interview yourself as an engaged participant.
{% endstep %}

{% step %}

### Run a low-effort test

Answer with very short or vague responses to see how the AI probes.
{% endstep %}

{% step %}

### Run an off-topic test

Go deliberately off-topic and check whether the AI brings the conversation back on track.
{% endstep %}

{% step %}

### Review the transcript

Check for repetition, missed topics, weak probing, and awkward transitions.
{% endstep %}

{% step %}

### Refine and retest

Update the configuration and repeat the test cycle. Plan for at least 2–3 rounds.
{% endstep %}
{% endstepper %}

**Important:** Test your AI interview configuration thoroughly before launch. Role-play different participant scenarios to ensure the AI handles each appropriately. Previous projects have required 2–3 rounds of prompt refinement.

***

### AI Interview vs. Human Interview

{% columns %}
{% column %}

#### AI interview strengths

* Runs many conversations at once
* Delivers consistent topic coverage
* Available 24/7
* Lower cost at scale
* Strong for structured exploration
  {% endcolumn %}

{% column %}

#### Human interview strengths

* Better at handling tangents
* Better with emotional nuance
* Better for live clarification
* Better for unexpected depth
* Best for small high-value samples
  {% endcolumn %}
  {% endcolumns %}

**Best combined:** Use AI for scale, then hand selected participants to a human moderator when deeper follow-up is needed.

***

### Known Limitations

{% hint style="warning" %}
**Known limitations**

* **AI response delay** — 8–12 seconds per response. This is usually acceptable but can feel slow for fast texters.
* **No guaranteed question order** — The AI chooses sequence based on conversation flow.
* **Context window** — Very long interviews can reduce recall of earlier details.
* **Language nuance** — Very local slang or dialect may still need manual review.
  {% endhint %}

***

### Sandbox Testing

Build and test your full AI interview in the sandbox before going live:

* Test the survey section and the AI interview section end to end.
* All configuration and content carries over when you launch with your dedicated number.
* Sandbox data exports are limited to 10 rows.

Always use the test link when testing AI interviews. The AI remembers previous conversations on the live link — if you've already reached the maximum question count, it won't ask further questions on subsequent attempts.

{% hint style="info" %}
Always use the **test link** for repeat testing. The live link preserves conversation history.
{% endhint %}

***

### Setup & Launch Timeline

* **Survey section configuration:** 1–2 hours
* **Interview configuration:** 30–60 minutes
* **Testing and refinement:** 2–3 rounds over 1–2 days
* **Total time to launch:** 2–4 days


# Diary Studies (Longitudinal & recurring questions)

### Overview

Yazi diary studies allow participants to log activities, experiences, or behaviours repeatedly over a longitudinal period — all within WhatsApp. Rather than answering a survey once, participants return to the same conversation to record entries whenever a relevant event occurs, building a rich picture of their habits and routines over days, weeks, or months.

Each entry is logged as a separate session, creating a timestamped dataset that shows patterns, changes, and trends over time.

{% embed url="<https://www.loom.com/share/bfbd8fa66ce2439197f2e6c0c2348093>" %}

***

### At a Glance

* **Best for:** Capturing behaviour in the moment
* **Typical structure:** 3–6 questions per journey
* **Participant effort:** 2–5 minutes per entry
* **Best output:** Timestamped session data over time
* **Best use case:** Repeated logging of habits, routines, and experiences

{% hint style="info" %}
Use a diary study when participants need to log the **same behaviour repeatedly** over time. Use a multi-day study when the **questions change** from one stage to the next.
{% endhint %}

***

### How It Works

#### Participant Experience

{% stepper %}
{% step %}

### Step 1: Participant joins the diary study

They receive a WhatsApp invitation and tap to begin.
{% endstep %}

{% step %}

### Step 2: The menu appears

The participant sees a list of activity types they can log.
{% endstep %}

{% step %}

### Step 3: They choose what to log

Each menu item opens a different journey with its own questions.
{% endstep %}

{% step %}

### Step 4: They complete a short entry

The participant answers a few focused questions about that specific moment or activity.
{% endstep %}

{% step %}

### Step 5: They return to the menu

After completing the journey, they can log another entry immediately or come back later.
{% endstep %}
{% endstepper %}

The conversation stays open indefinitely. Participants can come back at any time — when they next experience the behaviour you're tracking — and start a new entry from the menu. Each completed loop is logged as a separate session in your results.

<figure><img src="/files/WazJoKQ3nFLkrKqvsi6Y" alt="" width="223"><figcaption></figcaption></figure>

#### Chat Pinning

Participants can pin the diary study chat to the top of their WhatsApp conversation list, keeping it permanently visible. This is particularly effective for diary studies where you need participants to remember to log entries throughout the day — the study is always the first thing they see when they open WhatsApp.

**Tip:** Include an instruction in your introductory message asking participants to pin the chat. This simple step significantly improves engagement and logging frequency.

#### Example: Social Media Usage Diary

**Menu appears:** "What would you like to log?"

* Social media scroll
* End of day reflection

**Participant selects:** "Social media scroll"

**Questions asked:**

1. Which social media channels were you on?
2. What did you do there?
3. How long did you spend scrolling?
4. Did you see any content that made you stop and engage?

**On completion:** Participant is routed back to the menu and can log another session or come back later.

***

### When to Use Diary Studies

Diary studies are the right methodology when you need to capture behaviour as it happens, track patterns over time, or understand routines that unfold across days, weeks, or months.

**Behaviour tracking** — Daily food intake, exercise habits, medication adherence.

**Experience logging** — Customer service interactions, product usage moments, shopping trips.

**Media capture** — Screenshots of ads encountered, photos of meals, videos of routines.

**Mood & wellness** — Daily mood check-ins, symptom tracking, energy levels.

**Travel & commuting** — Transport choices, travel ad exposure, booking behaviour.

**Product trials** — Longitudinal feedback during a product test period.

**Work routines** — Creative tool usage, AI integration habits, daily workflows.

**Key distinction from surveys:** A survey captures a single snapshot. A diary study captures a pattern over time. If you need to understand what happened once, use a survey. If you need to understand what keeps happening, use a diary study.

{% content-ref url="/spaces/zMRQUXiGQlBwWdg6WEmG/pages/i4ySra6vNXPfo06EHtfG" %}
[Survey Surveys in Yazi](/using-yazis-app/survey-surveys-in-yazi)
{% endcontent-ref %}

***

### The Diary Study Builder

#### Menu Structure

The diary study builder is similar to the survey builder, with one critical difference: the first question is a **menu** that serves as the participant's home screen.

The menu lists the different types of activities or events the participant can log. Each menu item routes to a different set of questions — a different journey through the diary.

For example:

* **Menu item 1:** "Social media scroll" → routes to questions 2–5
* **Menu item 2:** "End of day reflection" → routes to questions 6–10
* **Menu item 3:** "Ad I saw today" → routes to questions 11–14

Each journey ends by routing the participant back to the menu, ready to log the next entry.

{% hint style="info" %}
Think of the menu as the diary study's home screen. Every option should be instantly recognisable to the participant.
{% endhint %}

#### Defining Journeys with Routing Logic

Each menu item triggers a different question pathway using the same routing logic available in standard surveys:

* **Branching from the menu** — Each menu option directs the participant to a specific question in the survey.
* **Sequential questions within a journey** — Questions flow in order within each pathway.
* **Return to menu** — The final question in each journey is marked as "survey complete," which logs the session and routes the participant back to the menu.
* **Nested logic within journeys** — You can add further branching within a journey based on participant responses (e.g., different follow-ups depending on which social media platform they used).

This allows you to build complex diary structures with multiple distinct journeys, all accessible from a single menu.

#### Session Logging

Every time a participant completes a journey (reaches a question marked as "survey complete"), it is recorded as a separate session. For example:

* Participant logs a social media scroll at 9am → Session 1
* Participant logs another scroll at 2pm → Session 2
* Participant logs an end of day reflection at 9pm → Session 3

Each session appears as a separate row in your results, timestamped and linked to the participant. Over the course of a study, a single participant may generate dozens of sessions.

#### Setting a Session Limit

You can define a maximum number of entries per participant. Once they reach the limit, the diary study closes for that participant. This is useful for controlling data volume, ensuring participants don't over-log trivial entries, and aligning with incentive structures tied to completion targets.

#### Custom Messages

Configure custom messages for key moments in the diary flow:

* **Session start message** — Instructions or reminders shown when the participant begins a new entry.
* **Session complete message** — A thank-you or acknowledgement after each logged entry.
* **Study complete message** — A closing message when the participant reaches their session limit or the study period ends.

These messages help maintain participant engagement and set expectations throughout the study.

{% columns %}
{% column %}

#### Builder essentials

* A menu as the first question
* One journey per activity type
* Routing back to the menu
* A completion rule for each journey
  {% endcolumn %}

{% column %}

#### Common controls

* Session limits
* Start and completion messages
* Reminder broadcasts
* Media capture prompts
  {% endcolumn %}
  {% endcolumns %}

***

### Question Types

Diary studies support all the same question types as standard surveys:

* Single Select
* Multi-Select
* Open Text
* Rating Scale
* Voice Note
* Image Upload
* Video Upload
* Location
* File or Document upload

All builder features also work the same way:

* Text formatting
* Live preview
* Validation warnings
* Option randomisation
* The **Other** toggle

For full details, see [Survey Surveys in Yazi](/using-yazis-app/survey-surveys-in-yazi).

***

### Scheduled Reminders

While participants initiate each diary entry themselves via the menu, you can set up broadcast reminders to prompt them to log:

* **Time-based frequency** — Send reminders daily, weekly, or at any custom interval.
* **Condition-based** — Trigger reminders only for participants who haven't logged an entry within a specified period.
* **Custom messaging** — Tailor reminder content to reinforce the study purpose and maintain motivation.

Reminders are configured in advance and run automatically for the duration of the study.

{% hint style="info" %}
Reminders are especially useful for time-based or end-of-day diary designs. They help turn an intended habit into an actual logging routine.
{% endhint %}

***

### Diary Study Design Best Practices

#### Keep Each Journey Short

Each logging session should take 2–5 minutes at most. Participants are logging entries multiple times — sometimes multiple times per day. Long question sets per entry will cause fatigue and abandonment.

* **3–6 questions per journey** is the sweet spot.
* Front-load the most important question in each journey.
* Use media capture (photos, voice notes) instead of lengthy open-text questions for richer data with less typing effort.

#### Design the Menu for Clarity

The menu is the participant's primary interface with the study. It should be:

* **Exhaustive** — Cover all the activities or events you want captured.
* **Mutually exclusive** — Each menu item should represent a clearly distinct activity so participants don't hesitate about which to choose.
* **Simply worded** — Use participant language, not research terminology.
* **Limited to 3–6 items** — Too many options creates decision fatigue.

#### Consider the Logging Trigger

Think about when and why participants will log entries, as this shapes your study design:

**Event-based logging** (e.g., "Log every time you see a travel ad") — The participant initiates at the time of the event. Keep questions very short so they can log in the moment.

**Time-based logging** (e.g., "Log your meals at breakfast, lunch, and dinner") — Use scheduled broadcast reminders to prompt entries at the right times.

**End-of-day logging** (e.g., "Reflect on your day before bed") — Include an "End of day" menu option with slightly longer reflection questions.

**Combination logging** (event logging throughout the day + end of day summary) — Use multiple menu items serving different purposes, with different question depths for each.

#### Plan for Partial Data

Not every participant will log every day. Not every entry will be complete. Design your study to be valuable even with gaps:

* Capture the most critical data point in the first question of each journey.
* Use scheduled broadcast reminders to prompt participants who haven't logged recently.
* Accept that diary data is inherently messier than survey data — the richness comes from patterns across entries, not perfection in any single one.

{% hint style="warning" %}
Keep the menu simple and each journey short. If logging feels heavy, participants will stop doing it.
{% endhint %}

***

### Diary Studies vs. Multi-Day Studies

Yazi supports two approaches to longitudinal research, and they serve different purposes:

{% columns %}
{% column %}

#### Diary studies

* Participant-initiated
* Same or similar questions each session
* High participant control
* Best for in-the-moment logging
  {% endcolumn %}

{% column %}

#### Multi-day studies

* Researcher-initiated
* Different questions across stages
* Fixed study timing
* Best for structured evolving journeys
  {% endcolumn %}
  {% endcolumns %}

You can combine both approaches: use a diary study for ongoing event logging, and layer scheduled broadcast messages on top for specific daily tasks or check-ins.

{% content-ref url="/spaces/zMRQUXiGQlBwWdg6WEmG/pages/l7oXEH1et0sihOR3qoc1" %}
[Multi-Day Studies in Yazi](/using-yazis-app/multi-day-studies-in-yazi)
{% endcontent-ref %}

***

### Common Diary Study Structures

#### Simple Recurring Log

A single menu item with 3–5 questions per entry and unlimited entries over the study period. Works well for daily mood tracking, medication adherence, or any single behaviour you want to track repeatedly.

#### Multi-Activity Log

3–5 menu items, each with its own question pathway. Participants choose which activity to log each time. Works well for studies like creative tool usage diaries (AI tools, design software, writing tools) or multi-channel shopping behaviour.

#### Activity Log + Daily Reflection

Menu items for in-the-moment logging throughout the day, plus an additional "End of day" menu item with broader reflection questions. Works well for studies like social media usage (log each session during the day) combined with an end of day summary (overall screen time, how they felt about their usage).

#### Product Trial Diary

Structured around product usage occasions, with media capture (photos/videos of the product in use) as core data. Often combined with scheduled broadcast reminders to prompt regular logging. Works well for new product trials tracked over multiple weeks — for example, a new skincare product trial over 4 weeks.

{% tabs %}
{% tab title="Simple recurring log" %}
Use this when you are tracking one repeated behaviour.

Examples:

* Mood tracking
* Medication adherence
* Daily habits
  {% endtab %}

{% tab title="Multi-activity log" %}
Use this when participants need to log different kinds of moments.

Examples:

* Shopping behaviour
* Tool usage
* Media exposure
  {% endtab %}

{% tab title="Activity + reflection" %}
Use this when you want in-the-moment logging plus a daily wrap-up.

Examples:

* Social media diaries
* Product trial diaries
* End-of-day reflections
  {% endtab %}
  {% endtabs %}

***

### Multi-Language Support

Diary studies support the same multi-language functionality as surveys and AI interviews. Write all questions and menu items in your primary language, auto-translate into target languages with manual editing, and participants select their preferred language at the start. All entries are captured in the original language and translated back. The menu, all journey questions, and custom messages are all translated.

{% hint style="info" %}
Translate the menu labels carefully. They are the main navigation points participants use throughout the study.
{% endhint %}

***

### Known Limitations

{% hint style="warning" %}
**Known limitations**

* **Menu display** — The menu renders as a WhatsApp list, so labels should stay short and easy to scan.
* **Session data structure** — Every completed entry creates a new row in your results.
* **Large datasets** — Frequent loggers can create many rows, so plan your analysis structure upfront.
  {% endhint %}

***

### Sandbox Testing

Build and test your full diary study in the sandbox before going live:

* Test each menu journey end to end.
* Verify that session logging works correctly (each completed journey should create a new entry).
* Confirm routing returns participants to the menu after each journey.
* Test the experience of logging multiple entries in a row.
* All content carries over when you launch with your dedicated number.

{% stepper %}
{% step %}

### Test every menu path

Go through each journey from start to finish.
{% endstep %}

{% step %}

### Confirm session logging

Make sure each completed journey creates a separate result entry.
{% endstep %}

{% step %}

### Confirm return-to-menu behaviour

Check that participants land back on the menu after each completed session.
{% endstep %}

{% step %}

### Test repeated logging

Run multiple entries in a row to make sure the experience still feels smooth.
{% endstep %}
{% endstepper %}

***

### Setup & Launch Timeline

{% stepper %}
{% step %}

### Menu and journey setup

Define the menu and create each diary pathway.

**Typical time:** 1–3 hours
{% endstep %}

{% step %}

### Routing logic setup

Configure routing from the menu and back again.

**Typical time:** 30–60 minutes
{% endstep %}

{% step %}

### End-to-end testing

Test all journeys and session logging behaviour.

**Typical time:** 1–2 rounds recommended
{% endstep %}
{% endstepper %}

**Typical total time to launch:** 2–4 days


# Multi-Day Studies in Yazi

{% embed url="<https://www.loom.com/share/c50ef12bb3ff4e1abcaafb4f21745902>" %}

### Overview

A multi-day study links multiple research activities into a single sequential experience for the participant. Each activity can be a different methodology — a survey on Day 1, a diary study on Day 2, an AI interview on Day 3 — all connected within one WhatsApp conversation.

This allows you to design structured longitudinal research where the questions evolve over time, combining different methods at different stages to capture a complete picture.

***

### At a Glance

* **Best for:** Longitudinal research with multiple stages
* **Typical structure:** 2–7 linked activities
* **Methodologies supported:** Survey, Diary Study, and AI Interview
* **Best output:** Connected data across multiple days or moments
* **Best use case:** Before / during / after journeys

{% hint style="info" %}
Use a multi-day study when your research needs to **change over time**. Use a diary study when you need the **same recurring questions** over time.
{% endhint %}

***

### How It Works

#### Participant Experience

{% stepper %}
{% step %}

### Step 1: Participant starts the study

The participant receives a WhatsApp invitation and begins the first activity.
{% endstep %}

{% step %}

### Step 2: Activity 1 is completed

This is often a baseline survey, screener, or first-touch interview.
{% endstep %}

{% step %}

### Step 3: The next activity is triggered

The next stage can start immediately or after a delay in hours, days, or weeks.
{% endstep %}

{% step %}

### Step 4: The journey continues in the same chat

Each new activity appears in the same WhatsApp thread, so the whole study feels continuous.
{% endstep %}

{% step %}

### Step 5: The final activity closes the study

Once the last stage is complete, the participant receives the closing message.
{% endstep %}
{% endstepper %}

From the participant's perspective, it feels like a single ongoing study that unfolds over time — not three separate surveys. Everything happens in the same WhatsApp chat.

<figure><img src="/files/krtJ202OdygwIABNTpGi" alt=""><figcaption></figcaption></figure>

#### Example: Young Adults & Social Media Study

**Day 1 — Survey:** Baseline questions about social media habits, platforms used, daily screen time.

**Days 2–5 — Diary Study:** Participants log their social media sessions as they happen, capturing what they saw and how they felt.

**Day 6 — AI Interview:** The AI explores patterns from the diary entries, probing on motivations, emotional responses, and behavioural triggers.

***

### When to Use Multi-Day Studies

Multi-day studies are the right choice when your research requires different methodologies at different stages, or when you need questions to evolve over time.

**Before / during / after** — Baseline survey → product trial diary → post-trial interview.

**Onboarding journeys** — Day 1 first impressions → Day 3 usage patterns → Day 7 overall experience.

**Evolving research questions** — Broad survey to categorise → diary to observe → interview to understand.

**Campaign tracking** — Pre-campaign attitudes → daily exposure logging → post-campaign recall.

**Longitudinal health studies** — Initial health assessment → daily symptom diary → follow-up interview.

**Event-based research** — Pre-event expectations → during-event experience diary → post-event reflection.

**Key distinction from diary studies:** A diary study repeats the same questions over time. A multi-day study changes the questions — and even the methodology — at each stage. Use a diary study to capture recurring behaviours. Use a multi-day study to guide participants through an evolving research journey.

{% content-ref url="/spaces/zMRQUXiGQlBwWdg6WEmG/pages/7sixACpej4dyuHQbV1BH" %}
[Diary Studies (Longitudinal & recurring questions)](/using-yazis-app/diary-studies-longitudinal-and-recurring-questions)
{% endcontent-ref %}

***

### Setting Up a Multi-Day Study

#### Creating the Study

{% stepper %}
{% step %}

### Step 1: Create a new study

Click **New Research** and select **Multi-Day Sequential Study**.
{% endstep %}

{% step %}

### Step 2: Define the structure

Choose how many days or activities the study should include.
{% endstep %}

{% step %}

### Step 3: Choose a methodology for each activity

Each stage can be:

* Survey
* Diary Study
* AI Interview
  {% endstep %}

{% step %}

### Step 4: Configure each activity

Set up each stage using its own builder and settings.
{% endstep %}

{% step %}

### Step 5: Set transition delays

Define how long participants wait before the next activity begins.
{% endstep %}
{% endstepper %}

You can mix methods freely across the sequence. For builder details, see:

* [Survey Surveys in Yazi](/using-yazis-app/survey-surveys-in-yazi)
* [AI Moderated Interviews](/using-yazis-app/ai-moderated-interviews)
* [Diary Studies (Longitudinal & recurring questions)](/using-yazis-app/diary-studies-longitudinal-and-recurring-questions)

#### Upload Brief with AI

You can use the Upload Brief with AI method to generate your multi-day study:

1. Upload your research brief.
2. Specify the number of days.
3. Select the methodology type for each day.
4. The AI generates a draft question set for each activity.
5. Edit and refine in the builder.

This is particularly useful for complex multi-day designs where you want a starting framework to iterate on.

***

### Controlling the Flow Between Activities

#### Transition Settings

Between each activity, you control how and when the participant moves to the next stage. Click the transition button between activities to configure the delay.

{% columns %}
{% column %}

#### Delay options

* **Immediate** — Start the next activity straight away
* **Hours** — Short reflection gap
* **Days** — Standard longitudinal spacing
* **Weeks** — Longer-term tracking
  {% endcolumn %}

{% column %}

#### When to use each

* Use **Immediate** for back-to-back flows
* Use **Hours** for short real-world experience gaps
* Use **Days** for behaviour tracking over time
* Use **Weeks** for change measurement
  {% endcolumn %}
  {% endcolumns %}

**Tip:** Match your delay to the behaviour you're studying. If you need participants to experience something in the real world between activities (e.g., use a product, attend an event), build in enough time for that to happen naturally.

<figure><img src="/files/PVHYrjqNp4TmJz0UdKrN" alt=""><figcaption></figcaption></figure>

***

### Mixing Methodologies

The power of multi-day studies is the ability to use different methodologies at different stages. Each activity in the sequence is configured independently using its own builder.

#### Common methodology combinations

{% tabs %}
{% tab title="Survey → Diary → AI Interview" %}
Start with a survey to capture baseline data and segment participants. Use a diary study to capture behaviour and media over time. Finish with an AI interview to probe on patterns and motivations.
{% endtab %}

{% tab title="AI Interview → Survey → AI Interview" %}
Start with an AI interview to explore expectations. Follow with a survey to quantify what happened. Finish with another AI interview to reflect on change.
{% endtab %}

{% tab title="Survey → Diary → Survey" %}
Use a survey for baseline attitudes. Use a diary study during the experience. Use a final survey for post-event recall and satisfaction.
{% endtab %}
{% endtabs %}

There are no restrictions on which methodology you use at each stage. You could run three surveys, three AI interviews, or any combination.

***

### Multi-Language Support

Language settings are configured once at the study level and apply across all activities in the multi-day study:

* Participants select their preferred language once at the start.
* All activities — surveys, diary studies, and AI interviews — render in the chosen language.
* You don't need to configure translations separately for each activity.
* Results are translated back to your primary language consistently across all stages.

To set up translations, go to Study Settings and add your target languages. The translations will be applied across every activity in the study.

***

### Multi-Day Study Design Best Practices

#### Activity Sequencing

**Start structured, end open.** Begin with a survey to capture baseline data, then use a diary or AI interview to go deeper. The structured data from early activities gives context for later qualitative exploration.

**Build on previous activities.** Design each activity to reference or build on what came before. If the AI interview is the final stage, it can draw on survey responses and diary patterns to ask more targeted questions.

**Don't front-load effort.** If Day 1 is too long or demanding, participants won't return for Day 2. Keep the opening activity short and engaging to establish momentum.

#### Managing Participant Drop-Off

Drop-off between activities is expected in any multi-day study. Design accordingly:

* Keep the first activity the shortest and easiest.
* Place your most critical research questions in the earliest activities.
* Use broadcast reminders between activities to re-engage participants.
* Set delays that feel natural — too short feels pushy, too long and participants forget.

#### Timing Considerations

* **Weekday vs. weekend:** Consider when your participants are most available and engaged.
* **Time of day:** Schedule activity triggers for times when participants are likely to be responsive.
* **Study duration:** Longer studies require stronger incentive structures and more frequent reminders to maintain engagement.

{% hint style="warning" %}
Keep the first activity short. If Day 1 feels heavy, many participants will never return for Day 2.
{% endhint %}

***

### Data Structure

Each activity in a multi-day study generates its own dataset, but all activities are linked by participant identifier. This means survey responses from Day 1, diary entries from Days 2–5, and AI interview transcripts from Day 6 are all connected to the same participant.

You can analyse each activity independently or combine data across activities for longitudinal analysis. Diary study activities generate multiple rows per participant (one per session), while surveys and AI interviews generate one row per participant.

{% hint style="info" %}
This structure lets you analyse each stage separately or stitch them together into a participant journey.
{% endhint %}

***

### Known Limitations

{% hint style="warning" %}
**Known limitations**

* **Participants must complete the current activity to progress** — If they abandon a stage, the next one will not trigger.
* **Delay timing starts from completion** — Participants can be at different stages at the same time.
  {% endhint %}

***

### Sandbox Testing

Build and test your full multi-day study in the sandbox before going live:

* Test each activity independently to verify questions and logic.
* Test the full sequential flow including transitions and delays.
* Verify that methodology switches (e.g., survey → diary → AI interview) work seamlessly.
* Confirm multi-language settings apply across all activities.
* All content carries over when you launch with your dedicated number.

{% hint style="info" %}
Test both the individual activities and the full end-to-end sequence. Transition timing is just as important as question logic.
{% endhint %}

***

### Setup & Launch Timeline

{% stepper %}
{% step %}

### Structure and methodology selection

Plan the study structure and choose the methodology for each stage.

**Typical time:** 30 minutes
{% endstep %}

{% step %}

### Configure each activity

Build each survey, diary, or AI interview stage.

**Typical time:** 1–3 hours per activity
{% endstep %}

{% step %}

### Add transitions and delays

Set how participants move between activities.

**Typical time:** 15 minutes
{% endstep %}

{% step %}

### Configure languages if needed

Add translated versions for all stages at the study level.

**Typical time:** 30–60 minutes
{% endstep %}

{% step %}

### Test the full study

Run end-to-end testing across the whole participant journey.

**Typical time:** 1–2 rounds recommended
{% endstep %}
{% endstepper %}

**Typical total time to launch:** 3–5 days


# Inviting Participants

There are 2 ways that you can get participants to complete the research study:

**1. By sharing a WhatsApp link**: When clicked will open WhatsApp to your research number and pre-populate the textbox with a phrase that will initiate the research

{% content-ref url="/pages/DI18Mc94sjdMxQ6ocD6n" %}
[Participant Access via Link](/participant-access-and-invitations-to-research/participant-access-via-link)
{% endcontent-ref %}

**2. Bulk message:** Or inviting them in WhatsApp via a Template message (bulk invite) of 1,000 participants per 24 hours.

{% content-ref url="/pages/STJHwYYeF4wnZ8gpJ2Bl" %}
[Create Broadcast/Template Message](/participant-access-and-invitations-to-research/create-broadcast-template-message)
{% endcontent-ref %}

{% content-ref url="/pages/tDvQSgRMDuLPpsky5SSz" %}
[Send  Broadcast/Template Message](/participant-access-and-invitations-to-research/send-broadcast-template-message)
{% endcontent-ref %}

### 💎 NB Summary 💎

1. Button = Passcode. The button must be equal to the Passcode (the Campaign name) that relates to the survey you are using the Template to invite people to. The buttons are automatically configured by our system. For the body of the message, we insert a suggested message and recommend you keep it similar to its current layout.
2. Type of Template: For survey invitations, select the Marketing type. For payment notifications, select the Utility type. Utility is cheaper than
3. Dynamic placeholders. To personalise the message, insert dynamic placeholders into the message, e.g. {{1}}. They can only be inserted in the body of the message → We only support dynamic fields in the body.
4. Approval: WhatsApp message templates must be submitted to WhatsApp for approval before use. This usually takes between 1 - 3 days.


# Participant Access via Link

{% embed url="<https://www.loom.com/share/308d7087cd4b422eb95e5f9f6c580518>" %}

### Overview

Every study on Yazi generates a shareable link. When a participant clicks the link, it opens WhatsApp with a pre-populated message containing a unique passcode. The participant sends this message to begin the study — no manual sign-up, no app download, no account creation.

This is the simplest way to get participants into a study. Share the link anywhere — email, social media, website, QR code, SMS — and anyone who clicks it is directed straight into the WhatsApp conversation.

**Important:** The study link will only work once the study has been published to WhatsApp. If the study is still in draft or unpublished, clicking the link will not start the survey. Make sure you publish your study before distributing the link.

***

### At a Glance

* **Best for:** Open recruitment and easy distribution
* **Works through:** Email, QR codes, websites, social media, SMS, and ads
* **Participant action:** Click link, open WhatsApp, tap send
* **Meta cost:** Free when the participant starts the conversation
* **Best alternative:** Use broadcast invites when you already have phone numbers

{% hint style="info" %}
Link access is the lowest-friction way to start a study. It works best when participants discover the study themselves.
{% endhint %}

***

### How It Works

#### Participant Flow

{% stepper %}
{% step %}

### Step 1: Participant clicks the study link

They can access the link from email, a website, social media, a QR code, SMS, or another channel.
{% endstep %}

{% step %}

### Step 2: WhatsApp opens automatically

The chat opens with a pre-populated message containing the study passcode.
{% endstep %}

{% step %}

### Step 3: Participant taps send

They do not need to sign up, create an account, or install a separate app.
{% endstep %}

{% step %}

### Step 4: The study starts

Yazi recognises the passcode and launches the study inside the WhatsApp conversation.
{% endstep %}
{% endstepper %}

The passcode identifies the participant and links them to the correct study. No additional steps, no login, no form to fill out.

***

### Live Link vs. Test Link

Every study generates two links, both accessible from the Share tab in the study builder:

**Live link** — The link you share with real participants. Responses are recorded permanently.

**Test link** — Identified by "test" appended to the URL. Use this to preview the participant experience yourself.

#### Why the Test Link Matters

The test link is particularly important for AI interviews. The AI remembers previous conversations — if you've already completed an AI interview on the live link and reached the maximum question count, the AI won't ask you anything further on subsequent attempts. The test link overrides previous AI interview responses, allowing you to test the full experience again from scratch.

For standard surveys and diary studies, the test link functions identically but keeps test responses separate from real participant data.

{% hint style="info" %}
Always use the **test link** for previewing and QA. Use the **live link** only for real participant traffic.
{% endhint %}

***

### Where to Share

The study link can be distributed through any channel:

* **Email** — Embed the link in an email invitation or newsletter.
* **Social media** — Post on Facebook, Instagram, LinkedIn, or Twitter/X.
* **Meta ads** — Use as the click-through URL in Facebook/Instagram advertising campaigns.
* **Website** — Embed as a button or banner on your site.
* **QR code** — Convert the link into a QR code for print materials, events, or in-store displays.
* **SMS** — Send the link via text message.
* **Other messaging apps** — Share via Telegram, Signal, email groups, Slack, etc.
* **Panel partners** — Provide the link to recruitment agencies or panel providers for distribution.
* **WhatsApp direct** — Use the Share button in the Yazi dashboard to send directly to a specific person via WhatsApp.

#### Sharing from the Platform

You can share the link directly from the Yazi dashboard. Open the Share tab in your study, click the Share button next to either the live link or test link, and WhatsApp opens with the link and a message ready to send. Alternatively, copy the link to distribute via any other channel.

{% columns %}
{% column %}

#### Best channels for reach

* Social media
* Websites
* QR codes
* SMS
* Meta ads
  {% endcolumn %}

{% column %}

#### Best channels for targeted use

* Email lists
* Panel partners
* Direct WhatsApp sharing
* Internal distribution
  {% endcolumn %}
  {% endcolumns %}

***

### Cost Advantage

When a participant initiates the conversation by clicking a link and sending the passcode, it is classified as a **service conversation** by Meta. Service conversations are free — no messaging cost is incurred. This makes link-based distribution the most cost-effective invitation method.

By comparison, a broadcast message invitation costs approximately $0.04 / R0.68 per participant at the marketing rate. A link click costs nothing.

{% hint style="success" %}
Link access is usually the cheapest distribution method because the participant starts the conversation.
{% endhint %}

***

### QR Codes

Any study link — live or test — can be converted into a QR code using a standard QR code generator on the web. Yazi does not generate QR codes natively — simply paste your study link into any free QR code tool to create one.

When scanned, the QR code opens WhatsApp with the pre-populated passcode message, identical to clicking the link.

#### QR Code Use Cases

* **Events and conferences** — Display on screen or print on materials for attendees to scan.
* **Retail locations** — Place at point of sale or on receipts.
* **Product packaging** — Include on packaging for post-purchase feedback.
* **Print advertising** — Embed in flyers, posters, or brochures.
* **Physical stores** — Place at different locations to collect on-site feedback.

***

### UTM Parameter Tracking

For panel integrations, CRM matching, or campaign tracking, you can append UTM parameters to the study link.

#### How It Works

1. Append a unique identifier to the link as a URL parameter (e.g., `?id=participant123`).
2. The identifier follows the participant through the entire study.
3. It appears alongside their responses in the exported data.
4. On completion, participants can be redirected to a custom URL with their ID appended.

#### Use Cases

**Panel integration** — The panel provider appends a participant ID to the link. Yazi captures it. On completion, a redirect sends the ID back to the panel for incentive payout.

**CRM matching** — Append a customer ID from your database to match survey responses to existing customer records.

**Campaign tracking** — Append a campaign source (e.g., `?source=facebook_ad`) to track which distribution channel drives the most responses.

**Multi-channel comparison** — Use different UTM parameters for email vs. social vs. QR code, then compare response rates by channel.

#### Completion Redirects

When a participant finishes the study, they can be redirected to a custom URL with their identifier appended. This enables panel completion tracking, incentive fulfilment, redirection to further research or sign-up forms, or redirection to a client website such as a product page or review site.

**Technical note:** Yazi URLs contain a question mark as part of the base URL structure. When appending additional UTM parameters, this creates multiple question marks in the URL. Some panel systems automatically strip duplicate question marks — confirm with your panel provider that their system handles this correctly before launch.

{% hint style="warning" %}
Test your full tracking link before launch. Some panel or redirect systems may not handle repeated question marks correctly.
{% endhint %}

***

### Social Media Recruitment

The study link integrates naturally with Meta's advertising ecosystem:

* **Facebook and Instagram ads** — Use the link as the ad's click-through URL. Participants tap the ad, WhatsApp opens, and they're in the study.
* **Organic posts** — Share the link in posts, stories, or bio links.
* **WhatsApp click-to-chat ads** — Meta's native ad format that opens WhatsApp directly.

This is particularly effective for recruiting participants who aren't on traditional research panels — real consumers encountered in their natural browsing environment.

***

### Link Sharing Best Practices

#### Make It Frictionless

The fewer steps between seeing the link and starting the study, the better. Don't require participants to visit a landing page first unless screening is necessary. The WhatsApp pre-populated message means participants only need to tap one button to begin.

#### Set Expectations Before the Click

Wherever you share the link, include a brief description of what the study is about, how long it will take, any incentive offered, and that it takes place on WhatsApp. This reduces drop-off from participants who click without understanding what they're signing up for.

#### Monitor Link Performance

Track how many participants enter the study from each distribution channel using UTM parameters. This helps you identify which channels deliver the best response rates, optimise recruitment spend across channels, and understand the quality of responses by source.

{% hint style="info" %}
Where possible, tell participants three things before they click:

* what the study is about
* how long it will take
* whether there is an incentive
  {% endhint %}

***

### Link Access vs. Broadcast Invitations

{% columns %}
{% column %}

#### Link access

* Participant clicks a link
* No phone number required upfront
* Free service conversation
* Best for open recruitment and broad reach
* Works well with UTM tracking
* Unlimited scale
  {% endcolumn %}

{% column %}

#### Broadcast invitations

* Participant receives a WhatsApp message directly
* Requires a contact list with phone numbers
* Paid Meta message
* Best for known audiences and follow-ups
* Identified by uploaded contact data
* Limited by sending thresholds
  {% endcolumn %}
  {% endcolumns %}

**Tip:** Use link access when you need reach. Use broadcast invitations when you need control over exactly who gets invited.

{% content-ref url="/spaces/zMRQUXiGQlBwWdg6WEmG/pages/tDvQSgRMDuLPpsky5SSz" %}
[Send  Broadcast/Template Message](/participant-access-and-invitations-to-research/send-broadcast-template-message)
{% endcontent-ref %}

***

### Known Limitations

{% hint style="warning" %}
**Known limitations**

* **Study must be published** — The link will not work until the study is published to WhatsApp.
* **WhatsApp is required** — Participants need WhatsApp installed.
* **One study per link** — Each study has its own unique link.
* **AI interview testing** — Use the test link to reset previous testing history.
* **UTM formatting** — Always validate panel and redirect tracking before launch.
  {% endhint %}


# Page 1

## Links for interviews

Interviews work a bit differently. Because the interview campaign uses OpenAI API credits ($), we do not allow anyone to access an interview until their number has been authenticated.&#x20;

A participant's number is authenticated for a specific interview once you send a Template message to them. However, it is possible to allow participants to access the interview by sending a phrase to the number or, by clicking a link and sending the pre-populated message in the WhatsApp text box.

**This is possible with the following steps:**

Create a template message and follow these instructions in its configuration:

1. **Template name:** Name it the Campaign title with the following changes.&#x20;
   1. Make all letters lower case
   2. Convert spaces to underscores
   3. Example campaign name: '**Future of research**' becomes 'future\_of\_research'
2. **Template body:** Don't use any placeholders for personalisation. This is because when the participant messages the bot first, the only information it has is their number. I.e. don't leave placeholder for name etc.
3. **Create link in Meta**: Once this has been approved, you can create a WhatsApp link with the Template name you just created. Navigate to the phone number you want to create it for in [WhatsApp manager](https://business.facebook.com/wa/manage/phone-numbers/). Process shown below.

**Creating link**

<div align="left"><figure><img src="/files/FkjVDTKDKUXAwl7ziA4x" alt="" width="375"><figcaption></figcaption></figure></div>


# Create Broadcast/Template Message

### Overview

Broadcast messages are WhatsApp messages sent from your dedicated number to participants. They are used to invite participants into studies, send reminders, share results, and communicate any other research-related messages throughout the lifecycle of a project.

Every broadcast message must be approved by Meta before it can be sent. This is a standard requirement of the WhatsApp Business API — Meta reviews each message template to ensure it meets their policies. Approval typically takes between 5 minutes and 4 hours.

{% embed url="<https://www.loom.com/share/4cd98fb5616e47edb11faaa069df7dc3>" %}

***

### How It Works

#### Creating a Broadcast

1. Navigate to the Broadcast Messages tab.
2. Click **Actions → Create**.
3. Select the type of broadcast you want to create.
4. Name your broadcast.
5. Choose the message category (Marketing or Utility).
6. Select the language.
7. Design the message (header, body, buttons).
8. Submit for Meta approval.
9. Once approved, send to your participants.

<div><figure><img src="/files/MQi3QWgG0cMU9BPT72X0" alt=""><figcaption></figcaption></figure> <figure><img src="/files/mvTSXlabV0pzi0O8EbFd" alt=""><figcaption></figcaption></figure></div>

***

### Broadcast Types

When creating a broadcast, you select from eight pre-configured types. Each type is designed for a specific purpose, and some have restrictions on how the message can be configured to ensure they function correctly.

1. **Participant Invite** — Invite participants to start a study with a campaign button to initiate the survey, interview, or diary.
2. **Reminder** — Prompt participants who haven't completed a study. These are sent automatically and can't use CSV variable placeholders.
3. **Follow-Up** — Re-engage participants after a study or between activities, suitable for multi-day studies or post-completion communication.
4. **External Link** — Direct participants to a pre-populated URL, such as a Google review, incentive page, or results page.
5. **Thank You** — Acknowledge completion and express gratitude, sent after study completion.
6. **Incentive** — Share details about rewards or incentives, such as prize draw announcements, voucher distribution, or payment confirmation.
7. **General** — For any other communication purposes, offering a flexible format for ad-hoc messages.
8. **Opt-Out Confirmation** — Confirm a participant's removal from future messages, triggered when they opt out.

**Note:** Some broadcast types restrict certain features to ensure they work correctly for their intended purpose. For example, reminder messages cannot include CSV variable placeholders because they are designed to fire automatically and cannot dynamically pull individual participant data at send time.

<figure><img src="/files/X8p8tbtW6Z7ONILHIVi7" alt=""><figcaption></figcaption></figure>

***

### Message Categories: Marketing vs. Utility

Every broadcast must be classified as either Marketing or Utility. This classification determines both the cost and the delivery rules.

#### Marketing Messages

Marketing messages are promotional or request-based messages where you're asking the participant to do something. Examples include invitations to take a survey, requests for feedback, and incentive-driven calls to action such as "Share your thoughts and win a R3,000 voucher."

Marketing messages cost approximately **$0.04 / R0.68 per message** and can be sent to any participant on your contact list.

#### Utility Messages

Utility messages are transactional messages directly related to a specific action or account event. Examples include post-purchase feedback requests referencing a specific transaction, appointment confirmations, and payment processing notifications.

Utility messages cost approximately **$0.01 / R0.15 per message** — roughly 5x cheaper than marketing — but must be directly related to a specific participant interaction or transaction.

#### How Meta Classifies Messages

Meta reviews every broadcast template and assigns the final classification — regardless of what you select when creating it. Meta is restrictive about granting utility classification. What commonly happens is that you create a broadcast and select "Utility" as the category, Meta reviews the template, and if the message doesn't meet their strict transactional criteria, Meta reclassifies it as Marketing.

To maximise your chances of utility classification:

* **Reference a specific event** — "You completed a purchase on \[date]" rather than "We'd love your feedback."
* **Use Meta's standard survey templates** as a starting point.
* **Keep the message short and transactional** in tone.
* **Include specific customer context** — account details, transaction references, service interactions.
* **Avoid promotional language** — words like "win," "exclusive," and "special offer" will trigger marketing classification.

**Quick classification guide**

* **Utility** — Service-related, transactional, or informational. Usually triggered by a user action or tied to an existing service interaction.
  * Examples:
    * Order confirmations
    * Appointment reminders
    * Account notifications
    * Service feedback requests like “Rate your experience”
* **Marketing** — Promotional or persuasive content.
  * Examples:
    * Sales offers
    * Product launches
    * Discounts or incentives
    * General newsletters

{% hint style="warning" %}
**Important**

* US numbers cannot receive marketing messages.
* To reach US contacts, your template must be classified as **Utility**.
* If Meta detects marketing language in a utility template, it may reclassify it automatically.
* Reclassified templates may be throttled or blocked for opted-out or low-engagement contacts.
  {% endhint %}

{% hint style="info" %}
**Cost optimisation tip**

Use link-based access where possible instead of broadcast invitations. If a participant clicks a link to start a study, Meta classifies it as a service conversation, which is free. Use broadcast invitations when you need to proactively reach participants.
{% endhint %}

<figure><img src="/files/nx6Y2UJhB0I9qvoEiofc" alt=""><figcaption></figcaption></figure>

### Using Meta's Utility Template Library

Meta provides a library of pre-approved utility templates that you can use as a starting point. These templates are already structured to meet Meta's utility classification criteria, which significantly increases your chances of approval.

To access the template library:

1. When creating a new broadcast in Yazi, select **Utility** as the message category.
2. Browse Meta's template library by category (e.g., Customer Feedback, Account Updates, Order Management).
3. Select a template that matches your use case.
4. Customise the placeholder text to fit your research context.

#### Customer Feedback Templates

The **Customer Feedback** category is the most relevant for research use cases. Meta offers several pre-approved feedback survey templates that can be adapted for post-service surveys, experience ratings, and participant follow-ups.

Here are the key templates available:

***

**`feedback_collection`**

A short, direct post-service feedback request tied to a specific service interaction.

```
Hi {{text}}, the service request we completed on {{date}} is now closed.
Please rate your experience from 1-5 and share any feedback to help us improve.
```

**Why it works for utility:** References a specific completed service request with a date, making it transactional rather than promotional.

***

**`feedback_survey_1`**

A polished feedback request with a link button, referencing a specific interaction.

```
Hi {{text}},

Thank you for your recent {{text}} on {{date}}.

We value your feedback and would appreciate you sharing more about
your experience with us at the link below.

This should only take {{number}} minutes. We appreciate your time.

[Leave feedback]
```

**Rendered example (what the participant sees):**

```
Hi John,

Thank you for your recent visit on Jan 1, 2025.

We value your feedback and would appreciate you sharing more about
your experience with us at the link below.

This should only take 5 minutes. We appreciate your time.

[Leave feedback]
```

**Why it works for utility:** Mentions a specific interaction type and date. The tone is service-oriented rather than promotional.

***

**`feedback_survey_2`**

A location-specific feedback request with a header and survey link.

**Header:** How did we do?

```
Thank you for visiting us at {{address}} on {{date}}.

We value your feedback.

Please fill out this short survey to let us know how we can
continue to improve.

[Fill out survey]
```

**Why it works for utility:** References a specific location and date, tying the message to a real-world interaction.

***

**`rate_your_experience`**

A simple, flexible post-experience survey invitation.

```
Rate your experience

Your feedback is important to us.

Please take a quick survey about your recent {{text}} experience.

[Take survey]
```

***

**`customer_feedback_survey`**

A longer-form template with multiple placeholders for full customisation.

```
At {{text}}, we value customer feedback and use it to continually
improve our {{text}}.

Please fill out a short {{text}}, linked below, to let us know
more about your recent {{text}} with us.

Thank you in advance.

[Take survey]
```

**Why it works for utility:** Multiple context placeholders allow you to tie the message to a specific product, service, or interaction.

***

### Practical Guide: Creating a Utility Template

Utility templates are roughly 5× cheaper than marketing templates (\~$0.01 vs \~$0.04 per message). If your research is tied to a specific participant interaction — a purchase, a visit, a service event — you should aim for utility classification.

**Keep the tone transactional**

The single most important factor for utility approval is tone. Your message must read like a service communication, not a marketing pitch.

**✅ Utility-safe language:**

* "Thank you for your recent visit"
* "Rate your experience"
* "We value your feedback"
* "This should only take 5 minutes"

**❌ Will trigger marketing reclassification:**

* "We'd love to hear from you!"
* "Share your thoughts and win..."
* "Exclusive opportunity to..."
* "Don't miss out on..."

**Always reference a specific interaction**

The key differentiator between utility and marketing is specificity. A utility message should make the participant think "this is about that specific thing I did" rather than "this company wants something from me."

Include at least one of:

* A **date** of the interaction
* A **location** or address
* A **product or service** name
* A **transaction or reference** number

***

#### When to Use Utility vs. Marketing

| Scenario                                                           | Category      | Reasoning                                 |
| ------------------------------------------------------------------ | ------------- | ----------------------------------------- |
| Post-purchase satisfaction survey referencing the transaction date | **Utility**   | Tied to a specific interaction            |
| Feedback request after a support ticket is closed                  | **Utility**   | Related to a completed service event      |
| General brand perception survey sent to a panel                    | **Marketing** | No specific interaction trigger           |
| Diary study invitation to a recruited panel                        | **Marketing** | Proactive outreach, not transaction-based |
| Follow-up survey after a store visit on a specific date            | **Utility**   | References a specific visit and date      |
| Incentive announcement for completing a study                      | **Marketing** | Promotional in nature                     |
| NPS survey sent after a policy renewal                             | **Utility**   | Tied to a specific account event          |

> **Tip:** When in doubt, default to Marketing. It's better to pay the higher rate and have your template approved than to have a utility template rejected or reclassified, which adds delay to your project timeline.

***

### Designing a Broadcast Message

Each broadcast message has three components: a header, a body, and buttons.

<figure><img src="/files/fmLOEDBItFxlg53JWvyB" alt=""><figcaption></figcaption></figure>

#### Header

Choose between a logo/image or text. The image option pulls your organisation's logo from your account settings. If you update the logo in settings, it updates across all broadcasts — even those already created.

**Tip:** Use the image header to include incentive details, study branding, or visual context. Participants are more likely to engage with messages that include an image.

#### Body

The main message text. This is where you explain what the study is about and why the participant should take part.

**Variable placeholders:** You can insert dynamic placeholders into the body text that are populated from your participant CSV upload. For example, `{{1}}` might map to the participant's first name, and `{{2}}` might map to a company name, product purchased, or any other CSV column.

When creating the broadcast, you insert dummy/proxy text into each placeholder. This dummy text serves two purposes: it shows Meta how the message will be used during the approval process, and it demonstrates the intended context and personalisation.

Example body text: *"Hi {{1}}, we're conducting research on {{2}} and would value your input. It takes just 5 minutes."*

Rendered for participant: *"Hi Sarah, we're conducting research on banking and would value your input. It takes just 5 minutes."*

**Note:** Variable placeholders are not available on all broadcast types. Reminder messages, for example, cannot use CSV variables because they fire automatically.

#### Buttons

Up to two buttons can be added at the bottom of the message:

**Campaign Button** — The primary call-to-action. When tapped, this starts the participant's entry into the study (survey, AI interview, or diary). The button text can be customised (e.g., "Start Survey," "Begin," "Take Part," "Share Feedback").

**Opt-Out Button** — Allows the participant to opt out of receiving further broadcast messages from your number. This gives participants control over their engagement and is required by Meta's policies.

***

### Meta Approval Process

#### How It Works

1. You design and submit your broadcast template.
2. Meta reviews the content, category, and structure.
3. Meta either approves or rejects the template.
4. If approved, you can begin sending immediately.
5. If rejected, you'll need to revise and resubmit.

#### Typical Approval Time

Most templates are approved within 5 minutes to 2 hours. Some templates take up to 4 hours. Rejected templates require revision and resubmission, adding an additional review cycle.

#### Tips for Fast Approval

* Follow Meta's template guidelines closely.
* Use clear, straightforward language.
* Avoid anything that could be interpreted as spam or misleading.
* Include an opt-out option.
* Don't include URL shorteners (use full URLs).
* Ensure placeholder text accurately represents how the message will be used.

#### Common Rejection Reasons

* Message is too promotional for utility classification.
* Missing opt-out option.
* Placeholder text is vague or misleading.
* Message violates Meta's commerce or advertising policies.
* URL shorteners or suspicious links included.

***

### Broadcast Costs & Billing

#### Message Pricing

* **Marketing:** \~$0.04 / R0.68 / £0.038 per message
* **Utility:** \~$0.01 / R0.15 per message
* **Service (participant-initiated via link click):** Free

#### How Billing Works

WhatsApp message costs are charged by Meta, not Yazi. You have two options for handling these costs:

**Pay Meta directly** — Enter your payment details within Meta Business Manager. Message costs are billed directly to your account. You can track usage by project within the Yazi platform for internal cost allocation.

**Consolidated billing** — Yazi can handle Meta message costs and add them to your Yazi invoice. This simplifies finance operations if you prefer a single vendor invoice.

***

### Opt-Outs & Compliance

#### How Opt-Outs Work

When a participant taps the opt-out button on any broadcast message, they are immediately removed from future broadcast messaging, they receive an opt-out confirmation, and their opt-out status is recorded in the platform. They can no longer be sent marketing or utility messages from your number.

#### Why This Matters

Meta requires that participants have the ability to opt out of receiving messages. Maintaining low opt-out and block rates protects your sending reputation and limits. High block rates can result in Meta restricting or suspending your number's messaging capabilities.

**Best practice:** Only send broadcasts to participants who have a reason to hear from you. Unsolicited messages to cold contacts will drive up block rates and damage your number's reputation.

***

### Message Design Best Practices

* **Keep it short** — Participants decide within seconds whether to engage. Front-load the value proposition.
* **Use an image header** — Messages with images get significantly higher engagement than text-only messages.
* **Include incentive details in the image** — If you're offering an incentive, put it in the header image where it's immediately visible.
* **Personalise with variables** — "Hi Sarah" performs better than "Hi there." Use CSV data to personalise wherever possible.
* **Set expectations** — Tell participants how long the study takes and what it's about.

For sending workflows, automated reminders, sending limits, timing, and delivery monitoring, see [Sending a Broadcast](https://claude.ai/chat/08-sending-a-broadcast.md) and [Broadcast Statistics](https://claude.ai/chat/09-broadcast-statistics.md).

***

### Known Limitations

* **Meta has final say on category** — You can request utility classification, but Meta may reclassify your template as marketing regardless of your selection.
* **Sending limits apply** — New numbers start at 250/day. Plan your number warm-up timeline before large launches.
* **Template approval is not instant** — While most templates are approved within minutes, allow up to 4 hours. Don't leave template creation to the last minute before a launch.
* **Reminder messages cannot use CSV variables** — Because they fire automatically, they cannot dynamically insert participant-specific data from your uploaded contact list.
* **Opt-out is permanent per number** — Once a participant opts out, you cannot send them further broadcast messages from that WhatsApp number.

### Steps to Create

{% stepper %}
{% step %}
Click "Create New" in the Share tab of a campaign or "Create" in the Broadcast Messages page

<figure><img src="/files/TFCvDuBf8YJWcd5mjqiy" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Specify the template details in Configuration tab

<figure><img src="/files/5HAqirWR8CILaG9TDDrV" alt=""><figcaption></figcaption></figure>

* Give the template a Name (all lowercase, no numbers or characters)
* Select the Type of template you want to create.\
  i) For survey invitations, select the <mark style="background-color:green;">Marketing type.</mark>\
  ii) For payment notifications, select the <mark style="color:yellow;background-color:yellow;">Utility type.</mark>

<figure><img src="/files/dNNFr2dnnvqeC500Iuio" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Specify the Message details in Content tab

<figure><img src="/files/3mKxFEPUK0VixOtRbKP0" alt=""><figcaption></figcaption></figure>

* Give it a Header: Either an image (Logo) or header text
* Update the Body of the message. You can also add [placeholders](https://developers.facebook.com/docs/whatsapp/api/messages/message-templates/interactive-message-templates/) to your message body to personalise the message for each recipient.
* Once you have filled in all the details, you can click ‘Create Template 🚀’
  {% endstep %}
  {% endstepper %}

{% hint style="info" %}
**Templates typically take 1 minute - 1 day to be approved.**
{% endhint %}

**Example of a Generic Template Message**

```vbnet
vbnetCopy codeHello {{1}} 👋🏽,

We're doing research into {{2}}.

We're inviting you to participate in a WhatsApp interview for this research.

Interview Details:
⏰ Questions: {{3}}

Just press 'Start Interview' to begin.
```

**Placeholder Guide**:

* `{{1}}`: Participant's name.
* `{{2}}`: Topic of research.
* `{{3}}`: Number of questions or interview details.


# Send  Broadcast/Template Message

### Overview

Once you've created a broadcast message and Meta has approved it, you can send it to your participants. This page covers the full sending process — uploading contacts, mapping variables, linking to a study, previewing messages, and monitoring deliverability.

{% embed url="<https://www.loom.com/share/9890b2b034664350bd9d014f2d9b586b>" %}

***

<figure><img src="/files/IJYWoZt7qrdsidITVYEH" alt="" width="225"><figcaption></figcaption></figure>

### Before You Send

Before you can send a broadcast, you need four things:

1. **A created broadcast message** — Designed and submitted through the Broadcast Messages tab. See [Broadcast Messages](https://claude.ai/chat/07-broadcast-messages.md) for how to create one.
2. **Meta approval** — The template must be approved by Meta before it can be sent. You can see the approval status in the Broadcast Messages tab.
3. **A published study** — If the broadcast includes a campaign button that starts a study, that study must be published to WhatsApp.
4. **A participant list** — Either a CSV/Excel file or manually entered contact numbers.

{% hint style="info" %}
Note: CSV/Excel must have phone number in the first column and the title must be **phoneNumber**. And cell phone numbers must have the **country code** in the beginning of the number.
{% endhint %}

***

### How to Send

#### Two Access Points

You can send a broadcast from two places in the platform:

* **From the study** — Navigate to the Share tab inside the study and click the send button.
* **From the Broadcasts tab** — Click Actions → Send in the sidebar.

Both routes lead to the same sending workflow.

<figure><img src="/files/wJPmQ8mA1CxMUda8Ib12" alt=""><figcaption></figcaption></figure>

***

### Step-by-Step Sending Process

{% stepper %}
{% step %}

### Step 1: Upload Participants

Choose how to provide participant contact details:

* **Upload a CSV or Excel file** with phone numbers and any fields you want to use as variables.
* **Enter numbers manually** if you only need to send to a few people.

Your file must include a phone number column with country codes. You can also add optional columns like name, topic, company, or product.
{% endstep %}

{% step %}

### Step 2: Select the Broadcast Template

Choose the approved broadcast template you want to send. The preview shows the header, body, placeholders, and buttons.
{% endstep %}

{% step %}

### Step 3: Map Variables to CSV Columns

If your template includes placeholders like `{{1}}` or `{{2}}`, map each one to a column in your CSV.

Example:

* `{{1}}` → `Name`
* `{{2}}` → `Topic`

The platform uses that mapping to personalise each message.

**Tip:** Use clear CSV column names. They appear exactly as written in the mapping screen.

<figure><img src="/files/lMvLbVTJkkru2I1iDhaZ" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Step 4: Connect to a Study

If the broadcast includes a campaign button like **Start Survey**, select the study you want to link. That ensures participants land in the correct survey, AI interview, or diary study.
{% endstep %}

{% step %}

### Step 5: Name the Send

Give the send a clear internal name. Examples include `Wave 1 — Banking study invites` or `Reminder batch 2`.

This makes it easier to track separate sends of the same template.
{% endstep %}

{% step %}

### Step 6: Preview and Send

Review the preview for each message before sending. Check that variables are populated correctly and the message reads naturally.

When you're happy, click **Send**.

<figure><img src="/files/tJfjKRsekV8W8kCBj1Ev" alt=""><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}

***

### Delivery & Batching

#### How Messages Are Sent

Messages are sent in batches of 25. Small sends (under 25 participants) deliver almost immediately. Larger sends (hundreds or thousands of participants) roll out over a period of minutes. You do not need to manage batching manually — the platform handles it automatically.

<figure><img src="/files/SS3HvZnU3wnibTSbbiRT" alt=""><figcaption></figcaption></figure>

#### Sending Limits

Your WhatsApp number has a daily sending limit based on your Meta Business Manager verification status:

* **Unverified:** 250 messages/day
* **Verified (Level 1):** 1,000 messages/day
* **Verified (Level 2):** 10,000 messages/day
* **Verified (Level 3):** 100,000 messages/day

If your send exceeds your daily limit, messages will queue and continue sending the following day.

**Plan ahead:** If you're launching a large study, ensure your number's sending limit can handle the volume. Start warming up your number well before launch day.

***

### Automated Reminders

Reminder broadcasts can be configured to send automatically based on participant behaviour:

* **Time-based** — Send a reminder X hours or days after the initial invitation.
* **Condition-based** — Send only to participants who haven't completed the study.
* **Frequency** — Daily, weekly, or custom intervals.
* **Scheduled** — Pre-configured to run automatically for the duration of the study.

#### Effective Reminder Content

Reminders work best when they include urgency ("Survey closes Friday" or "Last chance to participate"), incentive reinforcement ("Complete to enter the R3,000 prize draw"), brevity (one short message, not a paragraph), and a clear call to action (a single button to resume the study).

**Note:** Reminder messages cannot use CSV variable placeholders because they fire automatically and cannot dynamically pull individual participant data at send time.

***

### Monitoring Deliverability

After sending, you can track the performance of each broadcast in the Broadcasts tab. Refresh the page to see updated stats. Each send displays delivered, read, click/start, opt-out, and failed counts. See more here:

{% content-ref url="/pages/ZZXHytT5QGDjKCsaDD81" %}
[Template Message history/stats](/participant-access-and-invitations-to-research/template-message-history-stats)
{% endcontent-ref %}

#### Failure Reasons

When a message fails to deliver, the platform displays the reason. Common failure causes include:

1. **Invalid number**\
   The phone number doesn't exist or is incorrectly formatted. Check number formatting, particularly missing country codes or extra spaces.
2. **No WhatsApp account**\
   The number is valid but doesn't have WhatsApp installed.
3. **Number blocked your account**\
   The participant has previously blocked your WhatsApp number.
4. **Rate limit exceeded**\
   You've exceeded your daily sending limit.
5. **Template paused**\
   Meta has paused your template due to quality issues.

**Tip:** If you see a high failure rate, check your CSV for formatting issues — particularly missing country codes or extra spaces in phone numbers.

#### Stats in the Study View

Broadcast delivery stats also appear inside the study itself, displayed as a visual graph showing delivered, read, clicked, opted-out, and failed counts across all sends associated with that study. This gives you a consolidated view of participant engagement without needing to check each broadcast individually.

For detailed stats analysis, benchmarks, and optimisation strategies, see [Broadcast Statistics](https://claude.ai/chat/09-broadcast-statistics.md).

***

### Sending Multiple Batches

You can send the same broadcast template multiple times to different participant groups. Common scenarios include:

* **Wave-based recruitment** — Send to 500 participants on Monday, another 500 on Wednesday based on response rates from the first wave.
* **Segment-based sends** — Different CSV files for different participant groups (e.g., customers vs. non-customers).
* **Reminder sends** — Resend to participants who received the invitation but haven't started the study.
* **Geographic batching** — Send at different times for different timezones.

Each send is tracked separately in the Broadcasts tab with its own name, stats, and delivery metrics.

***

### Sending Best Practices

#### Before Sending

* **Verify your CSV** — Check phone number formatting, country codes, and that variable columns contain the correct data.
* **Preview every message** — Read through the personalised previews before hitting send, especially for the first batch.
* **Test first** — Send to yourself or a small internal group using the test link before sending to real participants.
* **Check your sending limit** — Ensure your daily limit can handle the volume you're about to send.

#### Timing Your Sends

* Mid-week mornings tend to yield the highest engagement for professional audiences.
* Weekday evenings work better for consumer audiences.
* Avoid early mornings, late nights, Mondays, and Fridays for initial invitations.
* Stagger large sends — if you're sending to thousands, spread across 2–3 days to monitor response rates and adjust messaging if needed.

#### Protecting Your Number Reputation

* **Don't spam** — Only message participants who have a reason to hear from you.
* **Honour opt-outs immediately** — This is both a Meta requirement and good practice.
* **Warm up new numbers gradually** — Start with small batches and scale up as your sending limit increases.
* **Monitor block rates** — If participants are blocking your number, revisit your message content and frequency.

#### After Sending

* **Monitor deliverability** — Check the Broadcasts tab shortly after sending to catch any delivery failures early.
* **Track click-through rates** — Low start rates relative to delivered rates may indicate your message needs to be more compelling.
* **Follow up** — Plan reminder broadcasts for participants who received but didn't start the study.
* **Watch opt-out rates** — High opt-outs signal your message may be poorly targeted or too frequent.

***

### Known Limitations

* **Batches of 25** — Messages are sent in groups of 25, so large sends take time to fully deliver. This is automatic and cannot be adjusted.
* **Failed messages are not retried** — If a message fails (invalid number, no WhatsApp account), it will not be automatically resent. Review failures and correct the data before resending manually.
* **Variable mapping is per-send** — If you send the same template to a new CSV, you'll need to remap variables each time.
* **Sending limits are daily** — They reset every 24 hours. If you hit your limit, remaining messages queue for the next day.
* **Stats may take a moment to update** — Refresh the Broadcasts tab after a few minutes to see the latest delivery metrics.


# Template Message history/stats

## Broadcast Statistics & Engagement

### Overview

Yazi provides detailed tracking of every broadcast message you send, allowing you to monitor delivery rates, engagement levels, and individual participant responses. This gives you complete visibility into how your messages are performing and helps you optimise your communication strategy.

{% embed url="<https://www.loom.com/share/8ae43d2a01544bd892329dbf48737ba0>" %}

***

### Where to View Stats

Broadcast statistics can be accessed in two places:

* **Inside your study** — Navigate to the Share tab to see stats for all broadcasts related to that specific study.
* **Broadcast Messages section** — View stats across all broadcasts, regardless of study.

Both locations provide the same detailed metrics and drill-down capabilities.

<figure><img src="/files/l5izEhTlCSVSh2RXhwgS" alt=""><figcaption></figcaption></figure>

***

### Key Metrics

Each broadcast displays five core engagement metrics:

1. **Sent** — Number of messages successfully submitted to Meta for delivery.
2. **Delivered** — Messages that reached the participant's WhatsApp.
3. **Read** — Messages opened and viewed by the participant.
4. **Started** — Participants who tapped the campaign button and entered the study.
5. **Opt-Out** — Participants who tapped the opt-out button to stop receiving messages.
6. **Failed** — Messages that could not be delivered.

<figure><img src="/files/yrElse398Ms15cZwDIpg" alt=""><figcaption></figcaption></figure>

#### Visual Dashboard

The Share tab displays your stats as a clear graph, showing the funnel from sent messages through to study starts. Below the graph, you can see individual broadcasts and batches that make up the overall statistics.

***

### Drilling Down to Individual Level

#### Participant-Level Detail

For any broadcast, you can drill down to see individual participant responses: who received the message, who opened it, who started the study, and who opted out. This granular visibility helps you understand engagement patterns and identify highly responsive vs. non-responsive segments.

<div><figure><img src="/files/3Q9aZsKA9XHwSsVbgImH" alt=""><figcaption></figcaption></figure> <figure><img src="/files/sYAAVJC1rrjW9Cv4Wzem" alt=""><figcaption></figcaption></figure></div>

#### Send History

Click on Send History to see a comprehensive record of all broadcasts sent, including batch details (when each group was sent and to how many participants), individual participant status (delivered, read, started, failed for each phone number), and failure analysis (specific reasons why messages failed to deliver).

***

### Understanding Message Failures

#### Common Failure Reasons

When messages fail to deliver, the platform displays the specific reason:

1. **User not interested in marketing**\
   Meta has data indicating this participant doesn't want to receive promotional messages. Try reclassifying your message as "utility" or use a link-based approach instead.
   * Fail reason: **This message was not delivered to maintain a healthy ecosystem...**
2. **Invalid number**\
   Phone number doesn't exist or is incorrectly formatted. Check number formatting, including country codes.
   * Fail reason: **Message undeliverable**.
3. **No WhatsApp account**\
   Valid phone number but no WhatsApp installed. Consider alternative channels or accept this participant is unreachable.
4. **Payment issues**\
   Billing problem preventing message send. Check your Meta Business Manager payment settings.
5. **Rate limit exceeded**\
   You've hit your daily sending limit. Wait for the limit to reset or increase your verification level.
6. **User blocked your number**\
   Participant has previously blocked your WhatsApp number. This participant cannot receive future messages from your number.
7. **Template paused**\
   Meta has paused your template due to quality issues. Review the template content and resubmit once issues are resolved.

#### Meta's Delivery Filtering

Meta actively filters messages they believe recipients don't want to receive. If a phone number has previously indicated disinterest in marketing messages (by blocking, reporting, or ignoring similar content), Meta may refuse to deliver your broadcast even if it's properly formatted and approved.

This is why utility message classification is valuable — utility messages have a higher delivery rate because they're perceived as transactional rather than promotional.

***

### Using Stats to Optimise Performance

#### Benchmark Metrics

Typical engagement rates for well-targeted WhatsApp broadcasts:

* **Delivery rate:** 85–95% (failures usually due to invalid numbers)
* **Read rate:** 70–90% of delivered messages
* **Click-through rate:** 15–40% of read messages (varies significantly by incentive, relevance, and audience)

#### Performance Analysis

Use broadcast stats to compare message variants (test different subject lines, incentives, or call-to-action wording), identify optimal timing (compare engagement rates across different send times and days), refine targeting (identify which participant segments engage most and focus future recruitment efforts), and improve message content (low read-to-click conversion may indicate your message needs a clearer value proposition or stronger call-to-action).

#### When to Send Reminders

Monitor your stats to decide on reminder timing:

**High delivery, low reads** — Participants received but haven't opened. Try a different send time.

**High reads, low clicks** — Participants saw the message but weren't compelled to start. Revise the message content or incentive.

**High clicks, low study completion** — Participants started but didn't finish. Use study-level completion tracking to send targeted completion reminders.

***

### Managing Opt-Outs

#### Opt-Out Tracking

The stats dashboard tracks opt-outs separately from other engagement metrics. Participants who opt out are immediately removed from future broadcasts, cannot be re-added to your messaging list, and receive a confirmation message acknowledging their opt-out.

#### Maintaining List Quality

Monitor opt-out rates as an indicator of message relevance and frequency. High opt-out rates may indicate your messaging is too frequent, poorly targeted, or not valuable to recipients. Consistent low opt-out rates suggest good message-audience fit. A spike in opt-outs after a particular message indicates that content may have been off-target.

**Best practice:** Aim for opt-out rates below 2%. Higher rates may damage your number's reputation with Meta and reduce future delivery rates.

***

### Known Limitations

* **Meta's filtering decisions** — Meta may choose not to deliver messages to certain numbers based on their internal algorithms, even if your template is approved and properly formatted. These appear as failures but are outside your control.
* **Delayed reporting** — Delivery and read statistics may take a few minutes to update, particularly for large sends.
* **Cross-number tracking** — If you use multiple WhatsApp numbers, stats are tracked per number, not consolidated across numbers.


# Interview Transcript

### Interview Transcripts

### Overview

The Interview Transcripts tab provides a WhatsApp-like view of every individual conversation that has taken place in your study. You can read through each participant's full journey — from structured survey questions through to AI-moderated interview responses — exactly as it appeared in the WhatsApp chat.

This is the closest you'll get to sitting alongside the participant and watching them complete the study in real time.

{% embed url="<https://www.loom.com/share/cec1926c2afb4b7a8265fda65ddb0900>" %}

***

### At a Glance

* **Best for:** Reviewing individual participant conversations
* **Shows:** Survey responses, AI follow-ups, media, and timestamps
* **Useful for:** QA, insight discovery, and participant review
* **Export option:** Download transcript data as CSV
* **Best companion page:** Interview Analysis for pattern-level analysis

{% hint style="info" %}
Use **Interview Transcripts** to inspect individual conversations. Use **Interview Analysis** to identify patterns across many conversations.
{% endhint %}

{% content-ref url="/spaces/zMRQUXiGQlBwWdg6WEmG/pages/Hy7BYst7QQdHGkeLN3je" %}
[Interview Analysis](/results-and-reporting/interview-analysis)
{% endcontent-ref %}

***

### What You See

#### Conversation View

Each transcript displays the full conversation in a familiar chat-style interface:

* **Survey questions and responses** — The structured questions appear first, with the participant's selected answers.
* **AI interview questions and responses** — The AI moderator's follow-up questions and the participant's replies appear in sequence.
* **Voice notes** — Displayed with an audio player and an automatic transcription of what was said.
* **Videos** — Displayed with a player and an automatic transcription of any spoken content.
* **Images** — Displayed inline within the conversation.
* **Timestamps** — Each message is timestamped so you can see the pace and rhythm of the conversation.

The interface makes it easy to follow the participant's full journey and understand the context behind each response — how one answer led to the next question, how the AI probed on specific topics, and where the participant shared the richest insights.

<figure><img src="/files/XMv1XCc1HLjb1V6n9w8u" alt=""><figcaption></figcaption></figure>

#### Participant List

The left panel displays a list of all participants. Click on any participant to load their individual transcript. You can also click **Load All** to load all participant conversations at once.

{% columns %}
{% column %}

#### Conversation view helps you

* Read the full participant journey
* Check question flow and logic
* Review media and transcriptions
* Understand response context
  {% endcolumn %}

{% column %}

#### Participant list helps you

* Jump to a specific person
* Review one transcript at a time
* Load all conversations together
* Compare engagement across participants
  {% endcolumn %}
  {% endcolumns %}

***

### Monitoring Progress

#### Progress Tracking

Click the **Progress** view to see how far each participant has progressed through the study.

You can quickly identify:

* Participants who have completed the study
* Participants who started but have not finished
* Participants who have not started
* Participants who have not engaged within a selected time window

#### Acting on Progress Data

Use progress tracking to:

* Identify drop-off points
* Trigger reminder messages
* Follow up with high-value participants
* Monitor whether fieldwork is on pace

{% hint style="info" %}
Progress tracking is especially useful during live fieldwork. It helps you act before a study loses momentum.
{% endhint %}

***

### Exporting Transcripts

#### CSV Download

Click **Download CSV** to export all transcript data.

The export includes:

* Participant identifier and contact details
* Survey responses
* AI interview questions and answers
* Voice note and video transcriptions
* Media file URLs
* Timestamps
* Translated responses, if multi-language is enabled

This gives you a complete, structured dataset for analysis outside the platform.

{% hint style="info" %}
Use the transcript export when you want to analyse conversations outside the platform or share raw material with a team.
{% endhint %}

***

### What Makes This Valuable

**Quality checking** — Read through conversations to verify that the AI is asking relevant follow-up questions and participants are providing genuine responses.

**Insight discovery** — Scan transcripts for powerful quotes, unexpected themes, and rich verbatims.

**Participant empathy** — Experience the study from the participant's perspective to identify friction points or confusing questions.

**Stakeholder sharing** — Show clients or colleagues exactly what the participant conversation looks like, building confidence in the methodology.

**Identifying standout participants** — Flag individuals whose responses deserve deeper follow-up via [Agent Takeover](/results-and-reporting/agent-takeover-human-moderation).

{% columns %}
{% column %}

#### Best for researchers

* QA on live studies
* Finding strong quotes
* Checking AI behaviour
* Spotting friction points
  {% endcolumn %}

{% column %}

#### Best for stakeholders

* Seeing real participant journeys
* Building confidence in the method
* Reviewing standout conversations
* Understanding the participant experience
  {% endcolumn %}
  {% endcolumns %}

***

### Known Limitations

{% hint style="warning" %}
**Known limitations**

* **Large studies take time to load** — Loading all conversations in a large study may take a moment.
* **Automatic transcription is not perfect** — Review important voice and video transcripts manually when accuracy matters.
  {% endhint %}


# Table Data

### Overview

The Table Data tab displays your study results in an Excel-like tabular interface. Every response is captured in real time — as participants answer each question, their data appears in the table immediately. You don't need to wait for a participant to complete the full study to see their responses.

This is your primary view for browsing, filtering, exporting, and enriching your raw data.

{% embed url="<https://www.loom.com/share/85c6aeba8f6542118a7fe699dcc0269e>" %}

***

### Loading Data

When you first open the Table Data tab, not all data will be visible. You need to click **Load All** to pull all rows into the view.

This is intentional. For large studies with hundreds or thousands of participants, loading all data at once can consume significant browser memory and potentially crash the tab. The Load All button lets you control when the full dataset renders.

**Tip:** For very large datasets, consider using the export or live Google Sheets connection instead of browsing all data in the browser.

<figure><img src="/files/VNbuvYp2pZabUNJmbAbS" alt=""><figcaption></figcaption></figure>

***

### Browsing the Data

#### Table Structure

Each row represents a participant (or a session, in the case of diary studies). Each column represents a question or data field. The table includes participant identifier and contact details, timestamps (when the participant started and when each response was submitted), survey responses (coded values), open text responses (full text), AI interview responses (full text of each AI-generated question and participant response), voice note and video transcriptions, media file URLs (clickable links to original files), translated responses (if multi-language is enabled, translated versions appear in separate columns), and enrichment data (any additional participant data you've uploaded).

#### Sorting

Click the up/down arrow on any column header to sort the data by that field. Sort by start date to see the most recent participants first, by completion status to group completed and in-progress participants, or by a specific question response to cluster similar answers together.

#### Reordering & Hiding Columns

Drag columns to reorder them in the view. Remove columns from the view entirely to focus on the data that matters most. These changes affect your current view only — the underlying data is not modified.

***

### Filtering

#### Column Filters

Click on any column header to apply a filter. You can filter on any data field — question responses, dates, completion status, or enrichment data.

Example filters: show only participants who selected "Very confident" on question 1, show only participants who started in March 2025, or show only participants from a specific demographic segment.

#### Combining Filters

Add multiple filters to narrow your data further. Filters are applied cumulatively — each additional filter narrows the dataset. For example, filtering on confidence level = "Very confident" might show 158 participants, then adding a filter on start date = March 2025 narrows that to 4 participants.

#### Clearing Filters

Clear all filters at once to reset the view to the full dataset.

***

### Completion Status

#### Live Data vs. Complete Data

Because Yazi captures data in real time at the individual question level, the table shows both completed participants (those who have answered every question) and in-progress participants (those who have started but not yet finished). This means you can see partial data as it comes in, but your table will include incomplete rows.

#### Filtering by Status

Use the completion status tabs to toggle between **All** (everyone who has started the study), **Completed** (only participants who have finished the entire study), and **In Progress** (only participants who are currently partway through).

**Tip:** When exporting data for analysis, decide whether you want completed responses only or all responses including partial completions. For most quantitative analysis, filter to completed only. For early fieldwork monitoring, view all.

***

### Exporting Data

#### Export Formats

Click the export button to download your data as **Excel (.xlsx)** or **CSV (.csv)**.

#### Export Options

When exporting, you can choose **Completed only** (export only participants who finished the full study) or **Completed + In Progress** (export all participants, including those with partial responses).

#### Live Connections

For ongoing studies where you need real-time data access without manual downloads:

**Google Sheets** — Connect your results to a live Google Sheet that updates automatically as new responses come in.

**Microsoft Excel (via SharePoint)** — Connect to a live Excel file via SharePoint for automatic syncing.

***

### Refreshing Data

Click the **Refresh** button to pull the latest responses into the table. This is useful during active fieldwork when new responses are arriving continuously.

***

### Translating Responses

If your study is set up with multi-language support, responses submitted in other languages can be translated directly in the table view. Click the **Translate** button to translate all non-primary-language responses into your primary language. Translated text appears in a separate column alongside the original response. Voice note and video transcriptions are also translated.

***

### Enriching Data

#### What Is Enrichment?

Data enrichment allows you to upload additional participant information — data you already have from other sources — and merge it with your study results.

#### How It Works

1. Click the **Enrich** button.
2. Upload a CSV or Excel file containing your additional data.
3. The file must include a phone number column — this is the matching key used to link the uploaded data to the correct participant.
4. Yazi matches each row in your uploaded file to the corresponding participant in the study.
5. The enrichment data appears as additional columns on the right side of the table.

#### Common Use Cases

**Recruitment screener** — Upload demographics, behavioural data, or segment classification to avoid re-asking questions participants already answered during screening.

**CRM export** — Upload customer tier, purchase history, or account status to cross-analyse survey responses against existing customer data.

**Panel provider** — Upload participant ID, panel classification, or incentive status to match panel data to study responses for reconciliation.

**Previous study** — Upload responses from an earlier wave to track changes in attitudes or behaviour over time.

**Important:** The phone number field is required for matching. Ensure phone numbers in your enrichment file use the same format (including country code) as the numbers in your study data.

***

### Viewing Progress

Click **Actions → View Progress** to see a summary of each participant's completion status: percentage complete, current position (which question or activity they're on), with page size toggles and sortable columns.

This view is particularly useful for identifying participants who are stuck or have dropped off, deciding when to send reminder broadcasts, and monitoring overall fieldwork progress against targets.

***

### Known Limitations

* **Load All required** — Data does not render fully until you click Load All. For very large studies, this may take a moment and consume significant browser memory.
* **Browser performance** — Extremely large datasets (10,000+ rows) may cause slow rendering in the browser. Use exports or live connections for heavy analysis.
* **Enrichment matching** — Matching is based on phone number only. If phone number formats differ between your study data and enrichment file (e.g., missing country codes), matches will fail. Standardise formats before uploading.
* **Column changes are view-only** — Reordering or hiding columns affects your current session only. Changes are not saved permanently.


# Graph Data

### Overview

The Graph Data tab provides a live visual view of your quantitative question responses. Every single-select and multi-select question is automatically rendered as a chart, updating in real time as participants complete each question.

This is your fastest route to understanding response patterns — no pivot tables, no manual charting, no waiting for data exports.

{% embed url="<https://www.loom.com/share/b212dbbcfccc4e94aa4de5aa65200066>" %}

***

### Real-Time Updates

Charts update at the individual question level, not at the study completion level. As soon as a participant answers question 1, the chart for question 1 updates. You don't need to wait for the participant to finish the entire study. During active fieldwork, you can watch response patterns emerge in real time.

<figure><img src="/files/kGchuNDaiL1o8xMK9bIY" alt=""><figcaption></figcaption></figure>

***

### Chart Display Options

Each question can be viewed in three formats:

**Bar chart** — Default view, showing horizontal or vertical bars with response counts and percentages.

**Pie chart** — Proportional view. Click the pie icon to switch.

**Table view** — Numeric view with response counts and percentages in tabular format.

Switch between formats using the icons on each question card.

***

### Filtering

#### Applying Filters

Click **Actions → Filter** to filter the graph data by any question response or participant attribute. All charts instantly update to show only the filtered subset.

#### Multiple Filters

Add multiple filters to drill down further. Each filter narrows the dataset across all charts simultaneously.

#### Clearing Filters

Click **Clear All** to reset all filters and return to the full dataset.

**Important:** Filters applied in the Graph Data view also affect your PowerPoint export. If you download the report while a filter is active, the exported charts will reflect the filtered data.

***

### Cross-Tabulation

#### What It Does

Cross-tabulation lets you break down every chart by the responses to a specific question. This adds a second dimension to your analysis — showing how different groups answered each question.

<figure><img src="/files/qjH3AF1RrZM5gyTa9Jvy" alt=""><figcaption></figcaption></figure>

#### How to Use It

1. Click **Actions → Cross Tab**.
2. Select the question you want to cross-tabulate by.
3. Every chart in the view now displays a breakdown by the selected cross-tab question.

For example, selecting "Have you participated in an AI moderator interview?" as your cross-tab question makes every chart show responses split between participants who said "Yes" and those who said "No" — instantly revealing differences between the two groups across every question in the study.

#### Removing the Cross-Tab

Clear the cross-tab to return to the standard single-dimension view.

**Tip:** Cross-tabs combined with filters give you powerful analytical capability without leaving the platform. Filter to a specific segment, then cross-tab by another variable to explore sub-group differences.

***

### Exporting Charts

#### PowerPoint Report

Click **Actions → Generate Report** to create a downloadable PowerPoint file containing all charts.

1. Click Generate Report.
2. The platform processes your charts (this takes a few minutes).
3. A Download button appears when the report is ready.
4. Click Download to save the PowerPoint file.

**Important:** Do not navigate away from the screen while the report is generating. The download button will appear on the current page once processing is complete.

The PowerPoint includes every quantitative question rendered as a chart, reflecting any filters and cross-tabs currently applied, with one chart per slide for clean presentation formatting.

**Tip:** Set up your desired filters and cross-tabs before generating the report. The PowerPoint output mirrors exactly what you see on screen — so configure the view first, then export.

#### Individual Chart Download

You can also download any single chart as an image file by clicking the Download button on that specific question card. This is useful when you need one chart for a presentation or report rather than the full set.

***

### Analysis Workflow

#### Recommended Approach

Start with the full view to scan all charts for immediate patterns and standout results. Apply filters to drill into specific segments and test hypotheses. Use cross-tabs to compare how different groups responded to each question. Download individual charts for quick sharing. Generate the PowerPoint to export the full filtered and cross-tabbed view for formal reporting.

#### What Graph Data Replaces

The Graph Data tab eliminates the need to export raw data to Excel, build pivot tables manually, create charts from scratch, or re-do analysis every time new responses come in. For many projects, it provides sufficient quantitative analysis without ever leaving the platform.

***

### Known Limitations

* **Quantitative questions only** — Charts are generated for single-select, multi-select, and rating scale questions. Open text, voice notes, images, and other media responses do not appear in Graph Data. Use [Table Data](https://claude.ai/chat/12-table-data.md) or [Interview Transcripts](https://claude.ai/chat/10-interview-transcripts.md) for qualitative data.
* **Report generation takes time** — The PowerPoint export processes all charts and may take several minutes for large studies. Do not navigate away during generation.
* **One cross-tab at a time** — You can only cross-tabulate by a single question at a time. For multi-dimensional analysis, export the raw data and use dedicated analysis tools.
* **Filter awareness** — Active filters affect both the on-screen view and any exports. Clear filters before exporting if you want the full unfiltered dataset.


# Interview Analysis

## Yazi AI Analysis Product: Complete Explainer

### Overview

Yazi's AI Analysis transforms raw interview data into structured, actionable insights through an intelligent 4-phase categorization system. The product automatically analyzes interview conversations, categorizes questions and answers, and presents findings through an interactive interface that allows users to explore patterns, drill down into specific insights, and validate AI classifications.

<figure><img src="/files/ZlVZqyNrPeuwGMBG4e3E" alt=""><figcaption></figcaption></figure>

## How It Works: The 4-Phase Analysis Process

### Phase 1: Question Category Generation

**When**: Automatically triggered once 20-30 questions have been collected\
**Purpose**: Create meaningful question categories that reflect the research objectives

**Process**:

* AI analyzes the research brief, survey questions, and sample of actual questions asked
* Generates 10-18 specific, actionable question categories (avoiding overly broad categories)
* Categories are tailored to the specific research context and objectives

**Example Categories**:

* "Affordability and Financial Considerations"
* "Product Features and Policy Options"
* "Claims Experience and Resolution"

### Phase 2: Question Categorization

**Purpose**: Classify every question into exactly one category

**Process**:

* Each AI interviewer question is analyzed and assigned to a single question category
* Uses single-select classification (one question = one category)
* Updates the messages table with category assignments

### Phase 3: Answer Category Generation

**Purpose**: For each question category, identify patterns in how people respond

**Process**:

* Groups all answers by their associated question category
* AI analyzes answer patterns within each question category
* Generates 12-18 specific answer categories per question category
* Categories are granular and specific (e.g., "Capitec Bank pricing" rather than "competitor pricing")

**Example Answer Categories for "Affordability" Questions**:

* "Direct Cost Sensitivity"
* "Premium vs. Cost Comparison"
* "Specific Competing Expenses"

### Phase 4: Answer Categorization

**Purpose**: Tag each answer with relevant categories (can be multiple)

**Process**:

* Each individual answer is processed and can receive multiple category tags
* Uses multi-select classification (one answer = multiple possible categories)
* Calculates proportions showing what percentage of answers fall into each category

### The Interactive Interface

#### Question Categories Sidebar (Left Panel)

* **Displays**: All question categories with count of questions in each
* **Numbers**: Show how many questions have been classified into that category
* **Interaction**: Click any category to filter the view and see its specific answer categories
* **Active State**: Selected category highlighted in blue theme

#### Answer Categories & Key Themes (Center Panel)

* **Displays**: Answer categories relevant to the selected question category
* **Progress Bars**: Show proportion of answers in each category (green theme)
* **Percentages**: Display both count and percentage of total answers
* **Interaction**: Click any answer category to see specific citations/examples
* **Active State**: Selected category highlighted in green theme

#### Citations (Right Panel)

* **Displays**: Actual question-answer pairs that exemplify the selected categories
* **Color-Coded Tags**:
  * Blue tags = Question categories
  * Green tags = Answer categories
* **Editable**: Users can click tags to reassign questions/answers to different categories
* **Copy Function**: Each citation can be copied for use in reports

### Key Features & Capabilities

#### 1. **Hierarchical Navigation**

Users can drill down from broad themes to specific examples: Question Category → Answer Categories → Individual Citations

#### 2. **Real-Time Classification Updates**

* Users can modify category assignments by clicking tags
* Changes are immediately reflected in the interface
* Proportions and counts update automatically

#### 3. **Quality Control & Validation**

* All AI classifications can be manually reviewed and corrected
* Color-coded system makes it easy to distinguish question vs. answer categories
* Clear visual hierarchy helps users understand relationships

#### 4. **Flexible Analysis**

* Switch between different question categories to explore different aspects of the research
* Each question category reveals its own unique set of answer patterns
* Multiple answer categories per response capture nuanced insights

### Business Value

#### For Researchers

* **Speed**: Automated categorization reduces analysis time from days to hours
* **Consistency**: AI ensures consistent categorization criteria across large datasets
* **Depth**: Captures nuanced patterns that might be missed in manual analysis
* **Flexibility**: Easy to explore different angles and drill down into specific insights

#### For Clients

* **Actionable Insights**: Specific, granular categories provide clear direction for action
* **Evidence-Based**: Every insight backed by actual customer quotes and examples
* **Comprehensive**: Captures the full spectrum of customer feedback and sentiment
* **Professional Presentation**: Clean, interactive interface suitable for stakeholder presentations

This AI Analysis product represents a significant advancement in qualitative research, combining the depth of human insight with the scale and consistency of artificial intelligence.


# Media Library

### Overview

The Media Library tab displays all media files submitted by participants in a visual grid — photos, voice notes, videos, and documents — giving you an immersive, at-a-glance view of the qualitative content your study has captured.

This is particularly valuable for studies that rely on multimedia responses: diary studies with photo documentation, AI interviews with voice note responses, product trial studies with video submissions, and any research where seeing and hearing participants brings the data to life.

{% embed url="<https://www.loom.com/share/22c86b2f15ff4a0894bf9c5862283ddd>" %}

***

### What You See

#### Grid View

All media files are displayed as visual tiles in a grid layout. Photos appear as thumbnail images, voice notes display with a play button and duration indicator, videos display with a play button and thumbnail preview, and documents or links display with a preview card showing the content type.

Each tile shows the media content, the participant identifier, and the media type label.

#### Loading Media

Click **Load All** to pull all media files into the view. The total count is displayed in the top right (e.g., 45/45), along with a loading progress indicator.

<figure><img src="/files/E1jCuIl7wl8QF9dHDK88" alt=""><figcaption></figcaption></figure>

***

### Filtering by Media Type

Use the media type filter in the top right to show only specific file types: **All Media** (everything), **Photos** (images only), **Voice Notes** (audio recordings only), or **Videos** (video files only).

This is useful when you need to focus on a specific content type — for example, browsing only the video testimonials or listening through all voice note responses.

***

### Selecting & Downloading

#### Selecting Files

Select individual files by clicking the checkbox on any tile, or click **Select All** to select every file currently displayed (respects any active filter).

#### Downloading

**Bulk download** — Download all selected files as a single ZIP folder. Once downloaded and unzipped, all files (images, MP4s, audio files) are available on your device.

**Individual download** — Select and download a single file at a time.

**Tip:** Use the media type filter before selecting all. For example, filter to "Videos" only, click Select All, then download — you'll get a clean ZIP containing only the video files from your study.

***

### When to Use the Media Library

**Qualitative immersion** — Browse through participant photos, voice notes, and videos to build empathy and understanding before formal analysis.

**Client presentations** — Find powerful visual content (participant photos, video testimonials, voice quotes) to include in reports and decks.

**Content creation** — Source authentic participant media for marketing assets, case studies, or insight videos.

**Quality checking** — Quickly scan media submissions to verify participants are providing genuine, relevant content.

**Highlight reels** — Select the best voice notes and videos for stakeholder presentations or insight summary videos.

***

### Best Practices

**Browse before analysing** — Spend time in the Media Library before diving into tables and charts. Seeing and hearing participants provides context that numbers alone cannot.

**Filter and focus** — If your study collected hundreds of media files, use the type filter to work through one content type at a time rather than scrolling through everything.

**Download in batches** — For large studies, download by media type (all photos, then all videos) to keep files organised on your device.

**Combine with transcripts** — Use the Media Library for browsing and discovery, then switch to [Interview Transcripts](https://claude.ai/chat/10-interview-transcripts.md) to see the full conversation context around any media file that stands out.

***

### Known Limitations

* **Load All required** — Media files do not display fully until you click Load All. For studies with large volumes of media, this may take a moment.
* **No participant-folder organisation** — Downloaded files are grouped in a single ZIP folder, not organised into sub-folders by participant. File names include participant identifiers, but you'll need to manually sort if you require per-participant organisation.
* **Browser memory** — Studies with hundreds of high-resolution images or videos may consume significant browser memory when all media is loaded. Download files rather than previewing everything in-browser for very media-heavy studies.
* **Playback** — Voice notes and videos can be played directly in the browser. Playback quality depends on your internet connection and browser capabilities.


# Agent Takeover (Human Moderation)

## Agent Takeover

### Overview

Agent takeover allows a human moderator to step into any active WhatsApp conversation and communicate directly with a participant. The AI pauses, the moderator takes control, and the participant sees no difference — messages continue in the same chat, from the same number.

This gives you the flexibility to combine AI scale with human depth — let the AI handle the bulk of conversations, and intervene personally when it matters most.

***

### How It Works

#### Taking Over a Conversation

1. Open the [Interview Transcripts](https://claude.ai/chat/10-interview-transcripts.md) tab.
2. Select the participant whose conversation you want to join.
3. Click **Agent Takeover** to activate.
4. The AI moderator immediately pauses.
5. You type and send messages directly to the participant.
6. The participant receives your messages in the same WhatsApp chat — there is no visible transition.
7. When you're finished, hand back to the AI, which resumes from where it left off.

<figure><img src="/files/6TwJNPZEGxs1pHzf9UEO" alt=""><figcaption></figcaption></figure>

#### What the Participant Experiences

From the participant's perspective, nothing changes. They continue receiving messages in the same conversation, from the same WhatsApp number. They have no way of knowing whether they're speaking to the AI or a human moderator — the transition is seamless in both directions.

***

### When to Use Agent Takeover

#### During an Active Study

**A participant shares something particularly interesting** — Probe deeper with human intuition and follow-up questions the AI might not think to ask.

**The AI isn't probing in the direction you want** — Steer the conversation toward a specific topic or angle.

**A participant is confused** — Clarify instructions, question meaning, or study expectations with a human touch.

**You want to ask a very specific unscripted question** — Insert a one-off question that isn't part of the configured interview.

**A participant mentions something sensitive** — Handle with human empathy and judgment rather than relying on AI.

**Your editorial or research team wants a live interview** — Conduct a full human-moderated WhatsApp interview with a selected participant.

#### After Reviewing Transcripts

A common and powerful workflow is to let the AI conduct interviews with all participants, review transcripts as they come in, identify the 5–10 most interesting participants, then use agent takeover to follow up with those individuals for deeper exploration.

This is the ideal hybrid approach: AI handles scale, humans handle depth. You get the breadth of 50+ AI interviews with the richness of hand-picked human follow-ups.

***

### What You Can Do in Agent Takeover

Once you've taken over a conversation, you can send text messages directly to the participant, ask follow-up questions probing on anything they've said so far, request media (photos, voice notes, videos, or location), provide clarification on questions, study instructions, or next steps, and have a full extended back-and-forth interview if needed.

#### Reading the Full Context

Before you start messaging, you can see the entire conversation history — all survey responses, AI interview exchanges, media files, and transcriptions. This means you can reference specific things the participant said earlier, creating a natural and informed follow-up.

For example: *"Earlier you mentioned that you stopped using the app because it kept crashing. Can you tell me more about that? How often was it happening and what were you trying to do when it crashed?"*

The participant experiences this as a seamless continuation of the conversation, not a cold outreach.

***

### Handing Back to the AI

When you've finished your human moderation, click to end agent takeover. The AI moderator resumes the conversation from where it left off. The AI has full context of both the original conversation and your moderator messages. The participant continues as normal with no visible transition.

***

### Transcript Recording

Everything that happens during agent takeover is captured in the transcript. All moderator messages are recorded alongside AI messages and participant responses. The full conversation — AI and human — appears in the transcript view and in data exports. Moderator messages are identifiable in the data so you can distinguish between AI-generated and human-generated questions during analysis.

***

### Best Practices

#### Preparation

* **Read the full transcript first** — Understand what the participant has already said before jumping in.
* **Have a clear purpose** — Know what you want to explore before you start typing.
* **Match the tone** — The participant has been speaking to an AI configured with a specific style. Maintain a similar register so the transition feels natural.

#### During the Conversation

* **Be responsive** — Once you've taken over, the participant expects human-speed responses. Don't leave them waiting.
* **Keep it conversational** — The participant has been in a chat environment. Formal interview language will feel jarring.
* **Reference earlier responses** — This demonstrates that you've been paying attention and makes the participant feel heard.
* **Know when to hand back** — Once you've got what you need, hand back to the AI cleanly rather than letting the conversation trail off.

#### After the Conversation

* **Review the combined transcript** — Check that the transition was smooth and the data is coherent.
* **Tag or flag the participant** — Note which participants received human follow-up for analysis purposes.
* **Share key quotes** — Agent takeover conversations often produce the most powerful verbatims in a study.

***

### Use Cases Beyond Research

**Customer support** — If a participant raises a complaint or issue during a study, a moderator can address it directly.

**Participant management** — Clarify incentive details, answer logistical questions, or resolve technical issues.

**Editorial interviews** — Your editorial or content team can conduct full WhatsApp interviews with selected participants, using the AI study as a warm-up and screening mechanism.

***

### Known Limitations

* **24-hour response window** — WhatsApp's Business API requires that you respond within 24 hours of the participant's last message. If more than 24 hours have passed, you'll need to send a broadcast template message to re-open the conversation window before using agent takeover.
* **One moderator at a time** — Only one moderator can control a conversation at any given time.
* **Participant may respond while you're typing** — Be prepared for overlapping messages, especially if the participant is a fast responder.
* **AI context after handback** — The AI resumes with full context, but very long moderator conversations may push earlier context further back in the AI's memory. Keep moderator interventions focused.


# Language Translation

### Overview

Yazi's translation feature allows you to run a single study across multiple languages without building separate studies for each. Write your questions once in your primary language, translate them automatically, and let participants choose their preferred language at the start — all responses are captured and translated back for unified analysis.

***

### How It Works

<figure><img src="/files/eYTaH7MUvIJDoSe0zZgW" alt=""><figcaption></figcaption></figure>

#### Setup

1. Build your study as normal in your primary language (typically English)
2. Navigate to **Study Settings**
3. Select **Add Language** and choose your target languages
4. Yazi automatically translates all questions, answer options, intro messages, and closing messages using Google Translate
5. Review and manually edit any translations before publishing

<figure><img src="/files/WTFsIDyOHQi9gej52sho" alt=""><figcaption></figcaption></figure>

#### Participant Experience

1. At the start of the study, the participant is shown a language selection question
2. They choose their preferred language
3. All questions, options, and messages render in their chosen language for the entire study
4. The participant responds naturally in their chosen language

#### Results

All responses appear in the Table Data view with three columns per question:

* **Original response** — exactly what the participant submitted, in their language
* **Translated response** — automatically translated back into your primary language
* **Audio/video transcription** — if the participant submitted a voice note or video, the transcript appears in both the original language and translated

This gives you a clean, unified dataset regardless of how many languages were used.

***

### Multi-Day Studies

For multi-day sequential studies, language settings are configured **once at the study level** and apply automatically across every activity:

* Participants select their language once at the beginning of Activity 1
* The same language is used for all subsequent activities — Day 2, Day 3, and beyond
* No need to configure translations separately per activity
* Participants are never asked to re-select their language

***

### Manual Translation Editing

Google Translate provides a strong starting point but may miss nuance, local terminology, or industry-specific language. Before publishing:

* Review each translated question and answer option
* Edit any translations that feel unnatural or inaccurate
* Pay particular attention to brand names, product terminology, and culturally specific concepts
* Test the translated version by completing the study in each language before launch

> **Tip:** For critical or sensitive research, have a native speaker review translations before launch, particularly for languages with regional dialect variations.

***

### Supported Languages

Yazi supports all languages available through Google Translate, including:

* **African languages** — Zulu, Xhosa, Afrikaans, Swahili, Amharic, Yoruba, and more
* **European languages** — French, German, Spanish, Portuguese, Italian, Dutch, Welsh, and more
* **Asian languages** — Mandarin, Japanese, Korean, Hindi, and more

> **Note:** Translation quality varies by language. Major world languages (French, Spanish, German, Mandarin) translate with high accuracy. Less common languages may require more manual editing.

***

### Code-Switching

Participants who naturally mix languages (common in multilingual markets) can do so freely. Yazi captures the original mixed-language response and translates it in full. This is particularly valuable in markets like South Africa where participants often blend English with local languages in a single response.

***

### Translation in Diary Studies

For diary studies, all menu items, journey questions, custom session messages, and session complete messages are translated. Participants interact with the menu and all logging screens in their chosen language throughout the entire study period.

***

### Known Limitations

* **Flows rendering** — translation is fully supported in In-Chat mode. Verify translation compatibility if using Flows, as some dynamic rendering elements may behave differently.
* **Translation accuracy** — automated translation is not perfect. Manual review is strongly recommended before launch.
* **Language selection** — once a participant selects a language, it applies for their entire study. They cannot change language mid-study.
* **Character limits** — some translations produce longer text than the original, which may affect button and option display in WhatsApp. Check for any red validation warnings after translating.


# AI Study Creation (Upload Brief)

### Overview

Yazi's AI Brief Upload feature allows you to generate a complete study — questions, answer options, routing logic, and AI interview configuration — from a research brief document. Instead of building questions manually from scratch, you upload your brief and the AI constructs a ready-to-edit study in minutes.

This can save hours of setup time, particularly for complex multi-day studies or projects with detailed research objectives.

{% embed url="<https://www.loom.com/share/8183cb58a85741818714c491c2a0e822>" %}

***

### How It Works

#### Step 1: Create a New Study

1. Click **New Research**
2. Choose **Single Day** or **Multi-Day Sequential Study**
3. Select **Upload Brief** (instead of manual setup)

#### Step 2: Assign Methodology (Multi-Day)

For multi-day studies, you'll see a list of activities corresponding to your study days. For each day/activity, assign the methodology you want:

* **Survey** — the AI will generate structured questions with answer options
* **AI Interview** — the AI will construct the interview configuration prompt, research objectives, topic areas, and probing guidance
* **Diary Study** — the AI will generate the menu structure and journey questions

> **Tip:** Match the methodology assignment to what you know about each phase of your research. An opening baseline works well as a survey; an exploratory final phase works well as an AI interview.

#### Step 3: Upload Your Brief

Upload your research brief as a **Word document**. Your brief should include:

* Research objectives and goals
* Target audience description
* Key topics and themes to explore
* Any specific questions you need asked
* Methodological preferences or constraints
* Brand or product context

The more detail in your brief, the better the AI output.

<figure><img src="/files/WcXWZWvEesppzUHc2OEj" alt=""><figcaption></figcaption></figure>

#### Step 4: Generate

Click **Generate**. The AI processes your brief and constructs the study. This takes a few minutes — the AI is:

* Reading and interpreting your research objectives
* Assigning questions to the survey portions
* Constructing AI interview prompts and configuration fields
* Building menu structures for diary components

#### Step 5: Review and Edit

Once generated, you'll see the complete study laid out across all activities. Review and refine:

* **Toggle question types** — switch between single-select, multi-select, open text, voice note, etc.
* **Add or remove questions** — insert additional questions or delete irrelevant ones
* **Add answer options** — expand or revise the AI-generated options
* **Configure routing logic** — add skip logic, branching, or screen-outs
* **Add back navigation** — configure return-to-menu options for diary studies
* **Preview questions** — click the preview button to see exactly how each question will look in WhatsApp
* **Edit AI interview configuration** — review and refine the AI moderator prompt fields

***

### Publishing

Once you're satisfied with the study:

1. Click **Create Study** to publish it to WhatsApp
2. The study is now live and can be tested using the test link
3. Use the test link to complete the study yourself and verify the experience before inviting real participants

> **Important:** The study is not live until you click **Create Study**. You can edit freely before publishing — no changes affect real participants until the study is published.

***

### Post-Completion Actions

After publishing, you can configure what happens when a participant completes the study:

* **Completion message** — add a customised closing note thanking the participant or explaining next steps
* **Broadcast trigger** — connect a pre-created broadcast message that fires automatically when a participant completes (e.g., a thank-you message, incentive notification, or follow-up study invite)

To add a triggered broadcast:

1. Create the broadcast message in advance in the Broadcast Messages tab
2. In the study settings, select the broadcast to trigger on completion
3. The message fires automatically to each participant as they finish

***

### Brief Writing Tips

The quality of the AI output is directly tied to the quality of your brief. For best results:

* **Be specific about objectives** — "Understand why customers churn in the first 3 months" is better than "Customer research"
* **Name your target audience clearly** — demographics, behaviors, and context help the AI tailor questions appropriately
* **List key topics explicitly** — the AI will allocate questions across the topics you specify
* **Include any mandatory questions** — if there are specific questions that must appear, state them clearly
* **Specify methodology preferences** — if you want voice notes for certain questions or specific question formats, note it in the brief
* **Include brand and product context** — names, terminology, and competitive context help the AI write relevant questions

***

### Known Limitations

* **Generation time** — AI processing takes a few minutes. The more complex the brief, the longer it takes.
* **Review always required** — the AI produces a strong starting point but always requires human review and editing before launch. Treat the output as a first draft, not a final product.
* **Methodology assignment is manual** — for multi-day studies, you must manually assign which methodology applies to each day before uploading the brief.


# Logic and Routing

### Overview

Routing logic allows you to create conditional pathways through your study — directing participants to different questions based on their previous answers. This ensures every participant sees only the questions that are relevant to them, improving data quality and reducing unnecessary friction.

Yazi supports multiple types of routing logic, from simple skip logic to complex nested conditional rules.

{% embed url="<https://www.loom.com/share/34f5fa2a3a1a436bbdb84605b2b3db78>" %}

***

### Types of Routing

#### Skip Logic

The most common routing type. When a participant selects a specific answer, they skip over irrelevant questions and jump directly to a more appropriate point in the survey.

**Example:**

* Question 4 asks: "How frequently do you use AI tools?"
* Participants who select "I've only tried it once" are routed to Question 5 (a question about why they haven't used it more) and skip the usage questions that only apply to regular users

<figure><img src="/files/RoZLSjZOQUaKCId7eoty" alt=""><figcaption></figcaption></figure>

#### Branching

Route different groups of participants down entirely separate question pathways based on their responses, then optionally merge them back together later.

**Example:**

* Customers → questions about their purchase experience
* Non-customers → questions about awareness and barriers to purchase
* Both groups → same closing questions about brand perception

#### Screen-Outs

End the survey early for participants who don't meet your criteria. When a participant is screened out, they receive a customised screen-out message.

**Example:**

* "Do you own a cat?" → No → screen out with a polite message explaining they don't qualify

#### Always Go-To (Unconditional Routing)

Route all participants from a specific question to another specific question, regardless of their answer. This is useful for:

* Jumping an entire group past an irrelevant section after a branched pathway
* Ending a sub-group's journey and taking them directly to the closing questions

#### Return to Menu (Diary Studies)

In diary studies, mark a question as the end of a journey to route participants back to the main menu, logging the completed session and resetting for the next entry.

***

### How to Set Up Routing

#### Question-Level Routing

1. Open the question you want to add logic to
2. Click the **Logic** icon or tab on the question card
3. Select the answer option you want to trigger the route
4. Choose the destination question the participant should jump to
5. Repeat for each answer option that requires a different pathway
6. Options without specific routing will follow the default sequential order

#### Always Go-To Routing

Use this when you want to redirect all participants from a question to a specific point — regardless of what they answered:

1. Open the question
2. Add an **Always Go-To** rule
3. Select the destination question
4. Remove any individual answer-level routing (the Always Go-To overrides everything)

> **Use case:** After a branched open text question that only applies to a sub-group, add an Always Go-To to jump those participants to the end of the survey, bypassing questions intended for the main group.

***

### Condition Types

For text-based questions (open text, voice note transcriptions), routing can be based on text matching:

| Condition         | How It Works                                                           |
| ----------------- | ---------------------------------------------------------------------- |
| **Text contains** | Route if the participant's response contains a specific word or phrase |
| **Text matches**  | Route if the response exactly matches a defined string                 |

This allows you to route participants based on keywords in their open-ended responses.

***

### Nested Logic (AND / OR Rules)

For complex routing requirements, you can combine multiple conditions:

#### AND Logic

Both conditions must be true for the route to trigger.

**Example:**

* Participant selected "ChatGPT" AND "Meta AI" → route to a comparison question about both tools

#### OR Logic

Either condition can be true for the route to trigger.

**Example:**

* Participant selected "Daily" OR "Multiple times a day" → route to the advanced usage section

#### Combining Multiple Rules

You can stack multiple logic rules on a single question, combining AND and OR conditions to create sophisticated pathways. Rules are evaluated in the order they appear — be mindful of rule priority when building complex flows.

***

### Routing Best Practices

#### Plan Before You Build

Sketch your routing logic on paper or in a flow diagram before setting it up in the builder. Complex routing is much easier to implement when you can see the full structure clearly.

#### Test Every Pathway

After setting up routing, test each possible pathway by completing the survey yourself with different answers. Verify that:

* Each route leads to the correct next question
* No participants get stuck in a loop
* Screen-outs work correctly
* All pathways eventually reach the closing message

#### Keep It As Simple As Possible

Complex routing increases setup time and the risk of errors. Always ask: "Can I achieve the same outcome with simpler logic?" Often you can restructure questions to reduce the need for complex branching.

#### Use Always Go-To to Clean Up Sub-Group Journeys

When a sub-group of participants goes through a specific branch, always ensure they have a clear path out. Use the Always Go-To rule to jump them past irrelevant sections rather than leaving them to answer questions not meant for them.

***

### Routing in Diary Studies

Diary studies use routing to create multiple journeys from a single menu:

* Each menu item routes to a different starting question
* The final question in each journey routes back to the menu (marked as survey complete)
* You can add nested logic within any journey for additional branching

See \[Diary Studies] for full details on menu-based routing.

***

### Known Limitations

* **Preview routing** — always use the test link to experience routing in the actual WhatsApp interface. The builder preview shows individual questions but not the full conditional flow.
* **Text matching is case sensitive** — ensure your text match conditions account for different capitalisation possibilities
* **Voice note routing** — routing based on voice note content uses the automatic transcription, which may occasionally contain transcription errors. Use this for broad keyword matching only.


# Data Enrichment

### Overview

Data enrichment allows you to merge external participant data with your study results — adding demographic, behavioural, or contextual information you already hold into the same dataset as your survey responses. This eliminates the need to re-ask questions participants have already answered elsewhere, and enables deeper cross-analysis of your results.

***

<figure><img src="/files/CDVtDurm9lvdJtUZGH8t" alt=""><figcaption></figcaption></figure>

### How It Works

#### The Matching Process

1. Navigate to the **Table Data** tab in your study results
2. Click **Enrich**
3. Upload a CSV or Excel file containing your existing participant data
4. Yazi matches each row in your uploaded file to the corresponding participant in the study using the **phone number** as the matching key
5. Matched data appears as additional columns on the right side of the table, alongside your study responses

> **Important:** Your enrichment file must contain a phone number column, formatted consistently with the phone numbers in your study data (including country code). Mismatched formats will result in failed matches.

<figure><img src="/files/4uqvmg5cUfxK5cNOX0lb" alt=""><figcaption></figcaption></figure>

***

### What You Can Enrich With

#### From Recruitment Screeners

If your recruitment agency collected qualifying data before participants entered the study, upload that screener data to enrich your results:

* **Demographics** — age, gender, income, education, location
* **Behavioral data** — product usage, brand ownership, purchase frequency
* **Segment classification** — which quota cell each participant belongs to

This means you don't need to re-ask demographic questions inside the study itself, keeping the study shorter and improving completion rates.

#### From Your CRM or Customer Database

Merge internal customer data with survey responses to cross-analyse attitudes with actual behaviour:

* **Customer tier** — premium vs. standard vs. new customer
* **Purchase history** — recent purchases, average spend, product category
* **Account status** — active, dormant, churned
* **Tenure** — how long they've been a customer

#### From Previous Studies

Upload results from an earlier research wave to track changes in attitudes or behaviour over time:

* Map responses from Wave 1 to Wave 2 participants
* Compare individual-level changes across survey periods
* Identify participants whose views have shifted significantly

<figure><img src="/files/7QV9xyJjlL119dOcNyto" alt=""><figcaption></figcaption></figure>

#### From Panel Providers

If using a recruitment panel, the provider may supply additional participant attributes:

* **Panel ID** — for tracking and incentive reconciliation
* **Profile data** — pre-verified demographics from the panel database
* **Study participation history** — other studies this participant has completed

***

### CSV Format Requirements

Your enrichment file should be structured as:

| phone\_number | field\_1 | field\_2 | field\_3 |
| ------------- | -------- | -------- | -------- |
| +27821234567  | Female   | 28       | Premium  |
| +44771234567  | Male     | 34       | Standard |

**Requirements:**

* **Phone number column is mandatory** — this is the only matching key
* **Country codes must be included** — format consistently with your study data
* **Any additional columns** will be imported as enrichment fields
* **Column headers** become the field names shown in the table
* **No limit on additional columns** — add as many enrichment fields as needed

***

### Viewing Enriched Data

Once enrichment is complete, your table expands to show:

* All original study responses (left side)
* All enrichment fields (right side, clearly separated)

You can then:

* **Filter by enrichment fields** — show only female participants, or only premium customers
* **Sort by enrichment data** — order results by age, customer tier, or any other field
* **Export combined data** — download the full enriched dataset as Excel or CSV
* **Use in Graph Data cross-tabs** — cross-tabulate survey responses by any enrichment field

***

### Use Cases

| Scenario                        | What You Enrich With                             | What You Gain                                              |
| ------------------------------- | ------------------------------------------------ | ---------------------------------------------------------- |
| **Customer satisfaction study** | CRM data (customer tier, tenure, purchase value) | Understand how satisfaction varies by customer value       |
| **Product trial feedback**      | Screener demographics                            | Analyse responses by age, gender, income without re-asking |
| **Panel research**              | Panel profile data                               | Leverage pre-verified demographics for deeper analysis     |
| **Longitudinal tracking**       | Previous wave responses                          | Compare individual-level attitude changes over time        |
| **Employee research**           | HR data (department, tenure, location)           | Cross-analyse feedback by team or seniority                |

***

### Known Limitations

* **Phone number matching only** — the only matching key is phone number. If participants used a different number to complete the study than the one in your enrichment file, they won't be matched.
* **Format consistency** — phone numbers must be in exactly the same format in both files. A number with a + prefix in one file and without in another will not match.
* **No automatic re-enrichment** — if you update your enrichment file, you'll need to re-upload it to refresh the data in the table.
* **Enrichment is per study** — enrichment data applies only to the study you uploaded it to. It does not carry across to other studies.


# Google Sheets & Excel Integration

### Overview

Yazi's live data connections allow you to sync your study results directly to Google Sheets or Microsoft Excel via SharePoint. Instead of manually downloading and re-downloading exports as new responses come in, your spreadsheet updates automatically in real time — giving you and your team a live view of results without logging into the platform.

{% embed url="<https://www.loom.com/share/33e800e4cc374711b2185d681ed246a2>" %}

***

### Why Use a Live Connection?

| Manual Export                          | Live Connection                                |
| -------------------------------------- | ---------------------------------------------- |
| Download CSV at a point in time        | Data updates automatically as responses arrive |
| Must re-download for latest data       | Always current — no manual refresh needed      |
| One person downloads, shares with team | Team accesses a shared live document           |
| Snapshot analysis only                 | Real-time fieldwork monitoring                 |

This is particularly valuable during active fieldwork when you're tracking response rates, monitoring data quality, or sharing live results with a client or stakeholder.

***

### Google Sheets Integration

#### Setting Up

1. Navigate to the **Table Data** tab in your study results
2. Click the **Export** button
3. Select **Connect to Google Sheets**
4. Authenticate with your Google account
5. Choose an existing Google Sheet or create a new one
6. Click **Connect**

#### How It Works

* A new sheet tab is created in your Google Sheet
* All current study data populates immediately
* As new participants complete questions, their responses appear in the sheet automatically
* The connection remains active for the duration of the study
* Multiple team members can access the same Google Sheet simultaneously

#### Data Structure in Google Sheets

The sheet is structured identically to the Table Data view:

* **Row 1:** Column headers (question names, participant fields)
* **Each subsequent row:** One participant's responses
* **Columns:** Phone number, timestamps, all question responses, media URLs, translations, enrichment data

#### Refreshing Data

Google Sheets updates automatically as new responses arrive. If you need to force a refresh, return to the Table Data tab in Yazi and re-sync the connection.

***

### Microsoft Excel Integration (via SharePoint)

#### Setting Up

1. Navigate to the **Table Data** tab
2. Click **Export**
3. Select **Connect to Excel / SharePoint**
4. Enter your SharePoint URL or authenticate with your Microsoft account
5. Select the destination file and sheet
6. Click **Connect**

#### How It Works

* Results sync to the connected Excel file via SharePoint
* Data updates automatically as new responses arrive
* The file is accessible to anyone with SharePoint access permissions
* Works with existing Excel workflows and templates you may already use for reporting

***

### Use Cases

#### Fieldwork Monitoring

Share a live Google Sheet with your research team so everyone can see response rates and data quality in real time — without each person needing a Yazi account.

#### Client Dashboards

Connect results to a Google Sheet that feeds a client-facing dashboard. Clients see live progress without accessing the Yazi platform directly.

#### Automated Reporting

Use Google Sheets or Excel's formula and pivot table functionality to build automated reporting on top of live Yazi data. As new responses arrive, your calculations, charts, and summaries update automatically.

#### Data Science & Analysis

Connect the live sheet to tools like Python, R, or Tableau that can read from Google Sheets or SharePoint, enabling advanced analysis on live data without manual exports.

#### Multi-Study Aggregation

Connect multiple studies to separate tabs within the same Google Sheet, then create a summary tab that aggregates data across all studies — useful for tracking studies, panel research, or multi-wave projects.

***

### Managing the Connection

#### Disconnecting

To remove the live connection:

1. Navigate to the **Table Data** tab
2. Click **Export → Manage Connections**
3. Select and remove the active connection

Disconnecting stops future data syncing but does not affect data already in the sheet.

#### Multiple Connections

You can connect the same study to multiple destinations — for example, a Google Sheet for the research team and a SharePoint file for the client. Both receive the same data simultaneously.

***

### Best Practices

* **Set up the connection at launch** — don't wait until fieldwork is complete. A live connection from Day 1 gives you continuous visibility throughout data collection.
* **Share with view-only access** — if sharing the live sheet with clients or stakeholders who shouldn't edit the data, set their access to view-only.
* **Build your analysis layer separately** — keep the raw Yazi data tab untouched and create a separate tab for pivot tables, charts, and formulas. This prevents analysis from breaking when new rows are added.
* **Use filters carefully** — filters applied in the Yazi Table Data view do not affect what syncs to Google Sheets. The live connection always receives the full unfiltered dataset.

***

### Known Limitations

* **Authentication required** — you must authenticate with Google or Microsoft to establish the connection. Ensure you have the appropriate permissions to create or edit files in the destination.
* **Large datasets** — very large studies with thousands of responses and many columns may experience slight delays in sync. For most studies, updates appear within seconds.
* **Media files** — media file URLs (voice notes, images, videos) appear as clickable links in the spreadsheet. The actual files are not embedded — they remain stored in Yazi and accessible via the link.
* **Enrichment data** — if you upload enrichment data after establishing the live connection, re-sync the connection to include the enrichment columns in your sheet.
* **SharePoint permissions** — for Microsoft Excel integration, ensure your SharePoint file permissions allow external write access. IT or admin configuration may be required depending on your organisation's SharePoint settings.


# Setting up event-triggers

This document outlines how to programmatically trigger scheduled messages in Yazi through the API.

> For the complete documentation index, see [llms.txt](https://docs.askyazi.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.askyazi.com/apis-and-integrations/setting-up-event-triggers.md).

## Setting up event-triggers

> For the complete documentation index, see [llms.txt](https://docs.askyazi.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.askyazi.com/apis-and-integrations/setting-up-event-triggers.md).

### Setting up event-triggers

> For the complete documentation index, see [llms.txt](https://docs.askyazi.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.askyazi.com/apis-and-integrations/setting-up-event-triggers.md).

#### Setting up event-triggers

**Yazi API**

The Yazi API lets you programmatically send WhatsApp template messages and access your research data. You can trigger on-demand messages to individual phone numbers, broadcast to study participants, and pull study results -- all via simple REST endpoints.

**Base URL:** `https://api.askyazi.com/v1`

***

**Authentication**

All requests require an API key sent as a header:

```
x-api-key: your-api-key-here
```

{% hint style="warning" %}
The header name must be exactly `x-api-key` (all lowercase). It is case-sensitive.
{% endhint %}

Your API key is provided by the Yazi team. Include it on every request.

**Example:**

```bash
curl -H "x-api-key: your-api-key" https://api.askyazi.com/v1/study
```

Contact the Yazi team if you need your API key or have any questions about the integration.

***

**Conventions**

* Most request and response fields use camelCase (e.g. `phoneNumber`, `campaignId`). The schedule endpoints (`/v1/jobs/schedule`) are an exception and use snake\_case (e.g. `template_name`, `message_variables`).
* Authentication uses the `x-api-key` header with your organisation API key, unless stated otherwise.
* Phone numbers must be in E.164 format **with a leading `+`** (e.g. `+27821234567`). Numbers without the `+` are rejected.

***

**Quick reference**

| Action                          | Method | Endpoint                              |
| ------------------------------- | ------ | ------------------------------------- |
| List event schedules            | `GET`  | `/v1/jobs/schedule`                   |
| Create event schedule           | `POST` | `/v1/jobs/schedule`                   |
| Update event schedule           | `PUT`  | `/v1/jobs/schedule/{configurationId}` |
| Trigger schedule (send message) | `POST` | `/v1/jobs`                            |
| List studies                    | `GET`  | `/v1/study`                           |
| Study details                   | `GET`  | `/v1/study/{studyId}`                 |
| Study results                   | `GET`  | `/v1/study/{studyId}/results`         |
| Study participants              | `GET`  | `/v1/study/{studyId}/participants`    |

***

**Event-triggered schedules**

Event-triggered schedules let your system send a WhatsApp template message to a single phone number on demand. You set up a schedule configuration once (choosing the template, variables, and buttons), then trigger it whenever you need to send a message.

**Typical use case:** Your CRM fires a webhook when a new lead signs up. That webhook calls the trigger endpoint with the lead's phone number and name, and a personalised WhatsApp message goes out instantly.

```
┌───────────────┐    POST /v1/jobs    ┌────────────────┐    WhatsApp API     ┌─────────────┐
│  Your System  │ ──────────────────> │  Yazi Platform │ ──────────────────> │  Recipient  │
│  (CRM, App)   │  phone + variables  │                │  Template message   │             │
└───────────────┘                     └────────────────┘                     └─────────────┘
```

**You have two options:**

* **Option A:** Create the schedule yourself via API, then trigger it.
* **Option B:** Ask the Yazi team to create the schedule for you -- then you only need to call the trigger endpoint.

***

**List event schedules**

Returns all event-triggered schedule configurations for your organisation. Use this to find your `configurationId` if you don't have it.

```
GET /v1/jobs/schedule
```

**Example:**

```bash
curl -H "x-api-key: your-api-key" \
  https://api.askyazi.com/v1/jobs/schedule
```

***

**Create a schedule**

Define which WhatsApp template to send and what variables it expects. You create it once, then trigger it as many times as you need.

```
POST /v1/jobs/schedule
```

**Headers:**

```
Content-Type: application/json
x-api-key: your-api-key
```

**Body:**

```json
{
  "name": "Welcome Message",
  "description": "Send a welcome message to new users",
  "template_name": "welcome_v1",
  "message_variables": ["first_name"]
}
```

| Field               | Type      | Required | Description                                                   |
| ------------------- | --------- | -------- | ------------------------------------------------------------- |
| `name`              | string    | Yes      | A name for this schedule (for your reference)                 |
| `description`       | string    | No       | A description of what this schedule does                      |
| `template_name`     | string    | Yes      | The exact WhatsApp template name (must exist and be approved) |
| `message_variables` | string\[] | No       | Variable names your template uses, in order                   |
| `buttons`           | object\[] | No       | Button definitions (see Advanced sections below)              |
| `language`          | string    | No       | Template language code (default: `en_US`)                     |
| `status`            | string    | No       | `ACTIVE` or `INACTIVE` (default: `ACTIVE`)                    |

**Response (201):**

```json
{
  "success": true,
  "message": "Schedule configuration created",
  "data": {
    "id": "abc12345-def6-7890-abcd-ef1234567890",
    "name": "Welcome Message",
    "description": "Send a welcome message to new users",
    "templateName": "welcome_v1",
    "organisationId": "org-uuid-here",
    "messageVariables": ["first_name"],
    "buttons": [],
    "type": "event_triggered",
    "status": "ACTIVE",
    "createdAt": "2025-01-15T10:00:00.000Z"
  }
}
```

Save the returned `id`. This is your `configurationId` that you will use to trigger messages.

{% hint style="info" %}
Template validation: The `template_name` must match an approved WhatsApp template in your organisation. If the template doesn't exist, the API returns an error with a list of your available templates. If the template exists but isn't approved yet (e.g. still PENDING in Meta), the API will tell you the current status.
{% endhint %}

***

**Update a schedule**

Update any field of a schedule. Send only the fields you want to change. All fields are optional.

```
PUT /v1/jobs/schedule/{configurationId}
```

| Field               | Type      | Description                                         |
| ------------------- | --------- | --------------------------------------------------- |
| `name`              | string    | Schedule name                                       |
| `description`       | string    | Schedule description                                |
| `template_name`     | string    | WhatsApp template name (must exist and be approved) |
| `message_variables` | string\[] | Variable names for the template                     |
| `buttons`           | object\[] | Button definitions                                  |
| `language`          | string    | Template language code                              |
| `status`            | string    | `ACTIVE` or `INACTIVE`                              |

**Example: deactivate a schedule**

```json
{
  "status": "INACTIVE"
}
```

**Example: change the template**

```json
{
  "template_name": "welcome_v2",
  "message_variables": ["first_name", "last_name"]
}
```

{% hint style="info" %}
If you change the `template_name`, the same validation applies. The template must exist and be approved, or you'll get an error with the list of available templates.
{% endhint %}

***

**Trigger a schedule (send a message)**

Send a WhatsApp template message to a single phone number.

```
POST /v1/jobs
```

**Headers:**

```
Content-Type: application/json
x-api-key: your-api-key
```

**Body:**

```json
{
  "configurationId": "your-config-id",
  "phoneNumber": "+27821234567",
  "variables": {
    "Name": "Thabo",
    "Topic": "DSTV Feedback"
  }
}
```

| Field             | Type   | Required | Description                                                                  |
| ----------------- | ------ | -------- | ---------------------------------------------------------------------------- |
| `configurationId` | string | Yes      | The schedule configuration to trigger. Find it with `GET /v1/jobs/schedule`. |
| `phoneNumber`     | string | Yes      | E.164 format with a leading `+` (e.g. `+27821234567`). Required.             |
| `variables`       | object | Depends  | Key-value pairs matching the parameter names from your template              |

**Response (202):**

```json
{
  "status": "success",
  "data": {
    "jobId": "request-id",
    "type": "EVENT_TRIGGERED",
    "status": "ACCEPTED",
    "message": "Job has been accepted for processing."
  }
}
```

{% hint style="info" %}
Don't want to create the schedule yourself? The Yazi team can set it up for you. Just tell us which WhatsApp template to use, what variable names the template needs, and whether buttons should link to a campaign or URL. We'll give you a `configurationId` and you just call `POST /v1/jobs`.
{% endhint %}

***

**Sending and receiving your own participant data**

**Variables: how they work**

Variables are the dynamic parts of your WhatsApp template. For example, if your template says:

> Hi {{1}}, we are conducting research on {{2}}. Press Start to begin.

And the template has parameters defined as `["Name", "Topic"]`, then:

**When creating the schedule:**

```json
"message_variables": ["Name", "Topic"]
```

**When triggering, use the exact parameter names:**

```json
"variables": {
  "Name": "Thabo Mokoena",
  "Topic": "Customer Satisfaction"
}
```

The result: *"Hi Thabo Mokoena, we are conducting research on Customer Satisfaction. Press Start to begin."*

**Key points:**

* Variable names must exactly match the parameter names defined in your WhatsApp template.
* Variables are a simple flat object -- just `"name": "value"` pairs.
* The order is handled automatically based on the `message_variables` array.
* If you're missing a required variable, the API will tell you exactly which ones are needed.

***

**Advanced: templates with URL buttons**

If your template has a button that links to a URL with a dynamic part (e.g. a survey link), you can include button variables.

**Creating the schedule:**

```json
{
  "name": "Survey Invite",
  "template_name": "survey_invite_v2",
  "message_variables": ["first_name"],
  "buttons": [
    {
      "type": "url",
      "text": "Start Survey",
      "url": "https://app.example.com/survey/{{survey_id}}",
      "variables": ["survey_id"]
    }
  ]
}
```

**Triggering: all variables go in one flat object**

```json
{
  "configurationId": "your-config-id",
  "phoneNumber": "+27821234567",
  "variables": {
    "first_name": "Thabo",
    "survey_id": "abc-123"
  }
}
```

You don't need to separate message variables from button variables. Put everything in `variables` and the service handles the rest.

***

**Advanced: templates with quick reply buttons**

Quick reply buttons let the recipient tap a button to start a campaign or opt out.

**Creating the schedule:**

```json
{
  "name": "Campaign Invite",
  "template_name": "campaign_invite_v1",
  "message_variables": ["first_name"],
  "buttons": [
    {
      "type": "quick_reply",
      "text": "Start",
      "campaignId": "your-campaign-uuid"
    },
    {
      "type": "quick_reply",
      "text": "Opt-out"
    }
  ]
}
```

***

**Send broadcast**

Send a WhatsApp template message to all (or filtered) participants of a study.

```
POST /v1/study/{studyId}/broadcast
```

**Headers:**

```
Content-Type: application/json
x-api-key: your-api-key
```

**Body:**

```json
{
  "templateName": "follow_up_reminder",
  "variables": {
    "first_name": "Thabo"
  },
  "filterByActivity": "activity-uuid",
  "filterByStatus": "active"
}
```

| Field              | Type   | Required | Description                                                                  |
| ------------------ | ------ | -------- | ---------------------------------------------------------------------------- |
| `templateName`     | string | Yes      | The WhatsApp template name to send                                           |
| `variables`        | object | No       | Key-value pairs for template variables                                       |
| `filterByActivity` | UUID   | No       | Only send to participants in this activity                                   |
| `filterByStatus`   | string | No       | Filter by participant status: `active`, `completed`, `dropped_out`, `paused` |

***

**Error handling**

All errors return a JSON body with details about what went wrong.

**Template not found**

If the `template_name` you provide doesn't exist for your organisation:

```json
{
  "success": false,
  "error": "Template \"nonexistent_template\" not found for this organisation",
  "details": {
    "providedTemplate": "nonexistent_template",
    "availableTemplates": [
      "welcome_v1",
      "survey_invite_v2",
      "campaign_invite_v1"
    ]
  }
}
```

The `availableTemplates` list shows all approved templates you can use.

**Template not approved**

If the template exists but hasn't been approved by Meta yet:

```json
{
  "success": false,
  "error": "Template \"pending_template\" is not approved (current status: PENDING)",
  "details": {
    "templateName": "pending_template",
    "templateStatus": "PENDING",
    "hint": "Only templates with status APPROVED can be used. Check your Meta Business Manager."
  }
}
```

**Missing variables**

If required template variables are not included when triggering a schedule:

```json
{
  "status": "error",
  "error": {
    "code": "INVALID_CONFIGURATION",
    "message": "Invalid job configuration.",
    "requestId": "request-uuid",
    "details": {
      "missingVariables": ["Name", "Topic"],
      "example": {
        "Name": "<value>",
        "Topic": "<value>"
      }
    }
  }
}
```

**Validation error**

```json
{
  "status": "error",
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "phoneNumber: Must be E.164 format (e.g. +27821234567)"
  }
}
```

**Schedule configuration not found**

```json
{
  "status": "error",
  "error": {
    "code": "CONFIGURATION_NOT_FOUND",
    "message": "Schedule configuration not found"
  }
}
```

**Invalid or missing API key**

**Missing (401):**

```json
{
  "status": "error",
  "error": {
    "code": "MISSING_API_KEY",
    "message": "An x-api-key header is required. Include your API key in the request.",
    "requestId": "request-uuid"
  }
}
```

**Invalid (401):**

```json
{
  "status": "error",
  "error": {
    "code": "INVALID_API_KEY",
    "message": "The provided API key is not valid.",
    "requestId": "request-uuid"
  }
}
```

**Status codes**

| Status | Meaning                                            |
| ------ | -------------------------------------------------- |
| 200    | Success                                            |
| 201    | Created successfully                               |
| 202    | Accepted for processing                            |
| 400    | Bad request -- check the error message for details |
| 401    | Missing or invalid API key                         |
| 404    | Resource not found (study, schedule, etc.)         |
| 429    | Rate limit exceeded -- wait and retry              |
| 500    | Server error -- contact Yazi support               |

***

**Postman collection**

A ready-to-import Postman collection is available. To get started:

1. Open **Postman**
2. Click **Import** and select the `postman-collection.json` file
3. Click the collection name, go to the **Variables** tab
4. Fill in:
   * `baseUrl` -- the API URL (provided by the Yazi team)
   * `apiKey` -- your API key
   * `studyId` -- a study ID (use the List Studies endpoint to find one)
   * `configurationId` -- a schedule ID (after creating one, or provided by the Yazi team)
5. Save and start testing

***

**Need help?**

Contact the Yazi team if you need:

* Your API key
* Help choosing or creating a WhatsApp template
* A schedule configuration set up for you
* Access to additional endpoints
* Any questions about the integration


# Pricing

WhatsApp message pricing for Yazi, including free windows, charged templates, and key market rates.

Meta charges on a **per-delivered-message** basis for WhatsApp template messages. These are the underlying costs Yazi pays to Meta when messages go out to participants.

This page shows what is free, what is charged, and the current rate card by market.

### At a glance

* Meta only charges for **delivered template messages**
* **Service messages** inside the 24-hour customer service window are **free**
* **Utility templates** inside that same 24-hour window are also **free**
* Pricing depends on the **recipient's country calling code**
* Pricing also depends on the **message category**

{% hint style="info" %}
**Effective date:** These rates are effective from **January 1, 2026**. Meta can update pricing on the first day of each quarter: **Jan 1, Apr 1, Jul 1, Oct 1**. Source: [Meta WhatsApp Pricing Documentation](https://developers.facebook.com/documentation/business-messaging/whatsapp/pricing)
{% endhint %}

{% hint style="warning" %}
**ZAR values are approximate.** USD is the definitive Meta pricing currency. ZAR conversions here use roughly **R18.00/USD**.
{% endhint %}

***

### How Meta decides the charge

{% stepper %}
{% step %}

#### 1. Match the market

Meta looks at the recipient's **country calling code**.
{% endstep %}

{% step %}

#### 2. Match the message category

The message is priced as **marketing**, **utility**, **authentication**, or **service**.
{% endstep %}

{% step %}

#### 3. Check whether a free window applies

Some messages are free if they fall inside the **24-hour customer service window** or a **72-hour free entry point window**.
{% endstep %}

{% step %}

#### 4. Charge only if the message is delivered

If a template message does **not** deliver, Meta does **not** charge for it.
{% endstep %}
{% endstepper %}

***

### Message categories

{% tabs %}
{% tab title="Marketing" %}
Promotional messages, offers, announcements, and anything designed to drive awareness or sales.

This is usually the **most expensive** category.
{% endtab %}

{% tab title="Utility" %}
Transactional messages such as confirmations, updates, reminders, and account notices.

These are usually **cheaper than marketing**.
{% endtab %}

{% tab title="Authentication" %}
One-time passwords, verification codes, and login confirmation messages.

This is usually priced the same as utility, but some markets have a separate **authentication-international** rate.
{% endtab %}

{% tab title="Service" %}
Free-form replies sent inside the **24-hour customer service window**.

These are **always free**.
{% endtab %}
{% endtabs %}

***

### What's free vs what's charged

{% columns %}
{% column %}

#### Free

* **Service messages** inside the 24-hour customer service window
* **Utility templates** inside the 24-hour customer service window
* **All messages** inside a 72-hour free entry point window
* **Incoming messages** from users to businesses

**24-hour window:** Opens when the user messages the business. It resets every time the user sends a new message.

**72-hour free entry point:** Opens when the user starts from a click-to-chat ad or Facebook Page button, and the business responds within 24 hours.
{% endcolumn %}

{% column %}

#### Charged

* **Marketing templates** — always charged
* **Authentication templates** — always charged
* **Utility templates** sent **outside** the 24-hour customer service window
* Any charged template sent **outside** a free entry point window

Charges only apply when the message is **delivered**.
{% endcolumn %}
{% endcolumns %}

{% hint style="success" %}
Incoming messages from participants are **never charged**.
{% endhint %}

***

### Worked example

{% stepper %}
{% step %}

#### Business sends a marketing template

This is a **charged** message.
{% endstep %}

{% step %}

#### User replies

This opens the **24-hour customer service window**.
{% endstep %}

{% step %}

#### Business sends a free-form reply

This is **free**.
{% endstep %}

{% step %}

#### Business sends a utility template inside the 24-hour window

This is also **free**.
{% endstep %}

{% step %}

#### The 24-hour window expires

No charge happens here. The free window simply ends.
{% endstep %}

{% step %}

#### Business sends another utility template

This is now **charged** at the utility rate.
{% endstep %}
{% endstepper %}

In this example, the business sent **4 messages**, but only **2 were charged**.

***

### Rates by market

#### Key markets for Yazi

These are the markets most relevant to Yazi's operations.

| Market                            | Marketing         | Utility           | Authentication    |
| --------------------------------- | ----------------- | ----------------- | ----------------- |
| **South Africa**                  | $0.0379 (\~R0.68) | $0.0076 (\~R0.14) | $0.0076 (\~R0.14) |
| **Nigeria**                       | $0.0516 (\~R0.93) | $0.0067 (\~R0.12) | $0.0067 (\~R0.12) |
| **Rest of Africa**                | $0.0225 (\~R0.41) | $0.0040 (\~R0.07) | $0.0040 (\~R0.07) |
| **Kenya (Rest of Africa)**        | $0.0225 (\~R0.41) | $0.0040 (\~R0.07) | $0.0040 (\~R0.07) |
| **India**                         | $0.0118 (\~R0.21) | $0.0014 (\~R0.03) | $0.0014 (\~R0.03) |
| **Brazil**                        | $0.0625 (\~R1.13) | $0.0068 (\~R0.12) | $0.0068 (\~R0.12) |
| **United Kingdom**                | $0.0529 (\~R0.95) | $0.0220 (\~R0.40) | $0.0220 (\~R0.40) |
| **United States (North America)** | $0.0250 (\~R0.45) | $0.0034 (\~R0.06) | $0.0034 (\~R0.06) |

<details>

<summary>Full rate card — all markets</summary>

| Market               | Marketing (USD) | Marketing (GBP) | Marketing (ZAR) | Utility (USD) | Utility (GBP) | Utility (ZAR) | Auth (USD) | Auth (GBP) | Auth (ZAR) | Auth-Intl (USD) |
| -------------------- | --------------- | --------------- | --------------- | ------------- | ------------- | ------------- | ---------- | ---------- | ---------- | --------------- |
| Argentina            | $0.0618         | £0.0445         | R1.11           | $0.0260       | £0.0188       | R0.47         | $0.0260    | £0.0188    | R0.47      | n/a             |
| Brazil               | $0.0625         | £0.0451         | R1.13           | $0.0068       | £0.0049       | R0.12         | $0.0068    | £0.0049    | R0.12      | n/a             |
| Chile                | $0.0889         | £0.0641         | R1.60           | $0.0200       | £0.0144       | R0.36         | $0.0200    | £0.0144    | R0.36      | n/a             |
| Colombia             | $0.0125         | £0.0090         | R0.23           | $0.0008       | £0.0004       | R0.01         | $0.0008    | £0.0004    | R0.01      | n/a             |
| Egypt                | $0.0644         | £0.0464         | R1.16           | $0.0036       | £0.0026       | R0.06         | $0.0036    | £0.0026    | R0.06      | $0.0650         |
| France               | $0.0859         | £0.0620         | R1.55           | $0.0300       | £0.0216       | R0.54         | $0.0300    | £0.0216    | R0.54      | n/a             |
| Germany              | $0.1365         | £0.0985         | R2.46           | $0.0550       | £0.0397       | R0.99         | $0.0550    | £0.0397    | R0.99      | n/a             |
| India                | $0.0118         | £0.0086         | R0.21           | $0.0014       | £0.0010       | R0.03         | $0.0014    | £0.0010    | R0.03      | $0.0280         |
| Indonesia            | $0.0411         | £0.0297         | R0.74           | $0.0250       | £0.0180       | R0.45         | $0.0250    | £0.0180    | R0.45      | $0.1360         |
| Israel               | $0.0353         | £0.0254         | R0.64           | $0.0053       | £0.0038       | R0.10         | $0.0053    | £0.0038    | R0.10      | n/a             |
| Italy                | $0.0691         | £0.0498         | R1.24           | $0.0300       | £0.0216       | R0.54         | $0.0300    | £0.0216    | R0.54      | n/a             |
| Malaysia             | $0.0860         | £0.0620         | R1.55           | $0.0140       | £0.0101       | R0.25         | $0.0140    | £0.0101    | R0.25      | $0.0418         |
| Mexico               | $0.0305         | £0.0221         | R0.55           | $0.0085       | £0.0062       | R0.15         | $0.0085    | £0.0062    | R0.15      | n/a             |
| Netherlands          | $0.1597         | £0.1152         | R2.87           | $0.0500       | £0.0361       | R0.90         | $0.0500    | £0.0361    | R0.90      | n/a             |
| Nigeria              | $0.0516         | £0.0372         | R0.93           | $0.0067       | £0.0048       | R0.12         | $0.0067    | £0.0048    | R0.12      | $0.0750         |
| Pakistan             | $0.0473         | £0.0341         | R0.85           | $0.0054       | £0.0039       | R0.10         | $0.0054    | £0.0039    | R0.10      | $0.0750         |
| Peru                 | $0.0703         | £0.0507         | R1.27           | $0.0200       | £0.0144       | R0.36         | $0.0200    | £0.0144    | R0.36      | n/a             |
| Russia               | $0.0802         | £0.0578         | R1.44           | $0.0400       | £0.0288       | R0.72         | $0.0400    | £0.0288    | R0.72      | n/a             |
| Saudi Arabia         | $0.0455         | £0.0327         | R0.82           | $0.0107       | £0.0077       | R0.19         | $0.0107    | £0.0077    | R0.19      | $0.0598         |
| South Africa         | $0.0379         | £0.0273         | R0.68           | $0.0076       | £0.0055       | R0.14         | $0.0076    | £0.0055    | R0.14      | $0.0200         |
| Spain                | $0.0615         | £0.0443         | R1.11           | $0.0200       | £0.0144       | R0.36         | $0.0200    | £0.0144    | R0.36      | n/a             |
| Turkey               | $0.0109         | £0.0078         | R0.20           | $0.0053       | £0.0038       | R0.10         | $0.0053    | £0.0038    | R0.10      | n/a             |
| United Arab Emirates | $0.0499         | £0.0360         | R0.90           | $0.0157       | £0.0113       | R0.28         | $0.0157    | £0.0113    | R0.28      | $0.0510         |
| United Kingdom       | $0.0529         | £0.0382         | R0.95           | $0.0220       | £0.0159       | R0.40         | $0.0220    | £0.0159    | R0.40      | n/a             |

</details>

<details>

<summary>Regional / catch-all rates</summary>

Countries not listed individually fall into one of these regional groupings. The region is determined by the phone number's calling code. See [Meta's country calling code mapping](https://developers.facebook.com/docs/whatsapp/pricing#country-calling-codes).

| Region                           | Marketing         | Utility           | Authentication    |
| -------------------------------- | ----------------- | ----------------- | ----------------- |
| North America                    | $0.0250 (\~R0.45) | $0.0034 (\~R0.06) | $0.0034 (\~R0.06) |
| Rest of Africa                   | $0.0225 (\~R0.41) | $0.0040 (\~R0.07) | $0.0040 (\~R0.07) |
| Rest of Asia Pacific             | $0.0732 (\~R1.32) | $0.0113 (\~R0.20) | $0.0113 (\~R0.20) |
| Rest of Central & Eastern Europe | $0.0860 (\~R1.55) | $0.0212 (\~R0.38) | $0.0212 (\~R0.38) |
| Rest of Latin America            | $0.0740 (\~R1.33) | $0.0113 (\~R0.20) | $0.0113 (\~R0.20) |
| Rest of Middle East              | $0.0341 (\~R0.61) | $0.0091 (\~R0.16) | $0.0091 (\~R0.16) |
| Rest of Western Europe           | $0.0592 (\~R1.07) | $0.0171 (\~R0.31) | $0.0171 (\~R0.31) |
| Other                            | $0.0604 (\~R1.09) | $0.0077 (\~R0.14) | $0.0077 (\~R0.14) |

</details>

***

### Volume tiers

Meta offers volume discounts on **utility** and **authentication** messages. Marketing messages do **not** get tier discounts.

| Tier   | Discount on base rate |
| ------ | --------------------- |
| Tier 1 | Base rate             |
| Tier 2 | 5% off                |
| Tier 3 | 10% off               |
| Tier 4 | 15% off               |
| Tier 5 | 20% off               |

The thresholds vary by market and category. Discounts apply only to messages inside that tier, not retroactively to earlier volume.

***

### Authentication-international rates

Some markets have a separate, higher rate for authentication messages sent to users with international phone numbers.

This applies to:

* Egypt
* India
* Indonesia
* Malaysia
* Nigeria
* Pakistan
* Saudi Arabia
* South Africa
* United Arab Emirates

{% hint style="warning" %}
Example: South Africa's standard authentication rate is **$0.0076**, but its **authentication-international** rate is **$0.0200**.
{% endhint %}

***

### What this means for Yazi

For a typical Yazi research study:

* A **survey invitation** to a South African participant, using a marketing template, costs **$0.0379 (\~R0.68)** per delivered message
* Once the participant replies, **follow-up service messages** inside the 24-hour window are **free**
* A **utility reminder** sent outside that window costs **$0.0076 (\~R0.14)** in South Africa
* Most African markets outside South Africa and Nigeria fall under **Rest of Africa** at **$0.0225 (\~R0.41)** for marketing

The cheapest markets for Yazi are typically **Rest of Africa** for marketing and **India / Colombia** for utility. Some of the highest rates are in European markets such as **Germany** and **Netherlands**.

{% hint style="success" %}
If participants reply quickly, you can move more follow-up communication into the **free service window**.
{% endhint %}

***

### Key takeaways

* You only pay for **template messages that are delivered**
* **Service messages** inside 24 hours are **always free**
* **Utility templates** inside 24 hours are **free**
* **Marketing** is usually the most expensive category
* Rates vary widely by country
* Utility and authentication can get **up to 20%** volume discount

***

### References

* [Meta WhatsApp Pricing Overview](https://developers.facebook.com/documentation/business-messaging/whatsapp/pricing)
* [Template Categorization](https://developers.facebook.com/documentation/business-messaging/whatsapp/templates/template-categorization)
* [Country Calling Code Mapping](https://developers.facebook.com/docs/whatsapp/pricing#country-calling-codes)
* [Authentication-International Rates](https://developers.facebook.com/docs/whatsapp/pricing/authentication-international-rates)

*Last updated: March 2026. ZAR conversion at \~R18.00/USD.*


# Data Security - Executive Summary

## Executive Summary

(Updated: 07/08/2023)

Our company is legally obligated to safeguard the privacy and security of the personal data that we process from our users. We have implemented a comprehensive data security program that complies with the applicable data protection laws and regulations. <br>

**Data Security Legal Requirements and Obligations**

Our data security legal requirements and obligations are to:

* Ensure the confidentiality, integrity, and availability of our users' personal data.
* Comply with the data protection laws and regulations of the jurisdictions where we operate, such as the GDPR.
* Demonstrate our accountability and transparency regarding our data security practices.<br>

**Data Security Program**

Our data security program consists of the following measures and procedures:

* Physical security: We have established physical security measures to prevent unauthorised access, damage, or theft of our data processing equipment and facilities through our AWS managed system integration. These measures include access control systems, surveillance cameras, and alarm systems. (See:[ https://aws.amazon.com/compliance/data-center/controls/](https://aws.amazon.com/compliance/data-center/controls/))
* Logical security: We use various logical security measures to prevent unauthorised access, interference, or disclosure of our users' personal data. These measures include firewalls, intrusion detection systems, and data encryption.
* Data access controls: We have implemented data access controls to limit access to our users' personal data to authorised personnel only, based on the principle of least privilege and need-to-know.
* Data encryption: We encrypt all personal data at rest and in transit, using strong encryption algorithms and keys.
* Data backup and recovery: We have a comprehensive data backup and recovery plan in place to ensure the resilience and continuity of our data processing activities in the event of a data breach or other disaster.
* Incident response: We have a well-defined incident response plan to identify, contain, analyse, remediate, and report on security incidents.

**Certifications, Standards, and Best Practices**

Our company is in the process of obtaining ISO/IEC 27001 certification, which is the international standard for information security management systems. We also adhere to the standards and best practices recommended by the following organisations:

* The National Institute of Standards and Technology (NIST)
* The Payment Card Industry Data Security Standards Council (PCI SSC)
* The General Data Protection Regulation (GDPR)

**GDPR Compliance and Data Processing**

Our company is committed to complying with the General Data Protection Regulation (GDPR), which is a regulation of the European Union (EU) that sets out the rules for the protection of personal data. We have implemented measures and procedures to ensure that our data processing activities comply with the GDPR.

**Data Processing**

We process our users’ personal data in accordance with the GDPR’s principles of lawfulness, fairness, and transparency. We only collect and process personal data that is necessary for the purposes for which it was collected, and we ensure that our users are informed about how their personal data is being used as per our[ Privacy Policy](https://www.askyazi.com/privacy-policy)

\
**Data Deletion**

We respect our users’ right to request the deletion of their personal data from our servers. When a user makes such a request, we will take all reasonable steps to delete their personal data from our systems, subject to any legal obligations that may require us to retain certain data. We have established procedures to ensure that our users’ requests for data deletion are handled promptly and efficiently. Data deletion requested will be processed in accordance with section 14 of our[ Terms of Service](https://www.askyazi.com/terms-of-service)

**Conclusion**

We are committed to fulfilling our legal obligations regarding the privacy and security of our users' personal data. We have implemented a comprehensive data security program that complies with the applicable data protection laws and regulations. We believe that our data security program is robust and effective. We take our obligations under the GDPR seriously and have implemented measures to ensure that our data processing activities comply with its requirements. We are confident that we can protect our users' personal data from unauthorised access, use, disclosure, alteration, or destruction. If you have any questions or concerns about how we process your personal data, please do not hesitate to contact us.

<br>


# Yazi Information Security Policy

**1. Purpose**

This Information Security Policy outlines Yazi's commitment to protect the confidentiality, integrity, and availability of data collected through our market research platform, especially survey data containing PII. It aims to establish a framework for securing survey data against unauthorised access or breaches, and ensuring compliance with data protection laws such as GDPR and other relevant local data protection laws.

**2. Scope**

The policy applies to all employees, contractors, and third-party partners who interact with Yazi's data and systems. This includes the management of survey data from the point of collection to its processing and storage within our AWS-managed system infrastructure.

**3. Data Classification and Handling**

* **Survey Data (Confidential)**: Survey responses containing PII are treated as confidential information. Access is restricted to authorised personnel and specific roles that require data interaction for analysis and reporting purposes.
* **Database Encryption**: All survey data is encrypted in transit and at rest within our AWS RDS databases using AES-256 encryption standards. We employ AWS Key Management Service (KMS) to manage and rotate encryption keys.
* **PII Handling**: When handling PII, employees are required to follow strict operational procedures including secure data entry, anonymisation techniques, and adherence to data minimisation principles.
* **Additional Data Types**: Any additional data types handled by Yazi (e.g., metadata, operational data) are classified and managed according to their sensitivity and the potential impact of their exposure.

**4. Access Control**

* **User Access**: Access to the survey platform and databases is controlled via AWS Identity and Access Management (IAM), ensuring that employees have access only to the resources necessary for their job function.
* **Principle of Least Privilege**: We operate on the principle of least privilege, granting permissions to the minimum level of access required to perform job tasks.
* **Authentication**: Multi-factor authentication (MFA) is enforced for all access to cloud services where survey data is stored or processed.
* **Review of Access Rights**: Access rights are reviewed regularly (quarterly) to ensure they remain appropriate. Exceptions are documented and managed on a case-by-case basis.

**5. Risk Management**

* **Risk Assessments**: Regular risk assessments are conducted to identify potential risks associated with survey data collection and processing. These assessments help inform our security posture and refine our data protection strategies.
* **Risk Assessment Methodology**: Our risk assessments follow a structured methodology, identifying risks, evaluating their potential impact, and prioritising mitigation measures based on severity.
* **Incident Response**: When a potential security incident is detected, our incident response procedure is activated to handle the situation swiftly and effectively, minimising any potential harm.
  * **Identification**: Any unusual activity must be reported immediately to the Privacy & Compliance Lead (<accounts+privacy@askyazi.com>). Detection coverage is provided by Amazon GuardDuty, AWS Config, Amazon Inspector, and AWS CloudTrail — all deployed across the Yazi AWS organisation. Application-level monitoring is provided by Amazon CloudWatch.
  * **Containment**: The first step is to contain the incident to prevent further data compromise. This may involve isolating affected systems or temporarily suspending certain services.
  * **Eradication**: Once contained, we investigate to identify the root cause. Necessary measures are then taken to remove the cause of the breach, which may involve system patches, resetting passwords, or other remediation actions.
  * **Recovery**: After eradicating the threat, we restore services and data from backups if necessary. This stage includes rigorous testing to ensure that systems are clean before being reintroduced to the network.
  * **Communication**: We communicate with all relevant stakeholders, including customers, employees, and regulatory bodies, about the nature of the incident, as dictated by the severity and potential data exposure.
  * **Documentation**: Every step of the process is documented for future reference, including the nature of the incident, how it was discovered, the response actions taken, and the lessons learned.
  * **Review**: Post-incident, we review the effectiveness of the response and update our policies and procedures to mitigate the risk of future incidents.

**6. Data Retention**

Survey data is retained only as long as necessary for the purpose it was collected or as required by law. Following this period, data is securely deleted in accordance with our data retention guidelines.

**7. Security Training and Awareness**

* **Training Sessions**: Regular, mandatory training sessions are held, which every Yazi employee must attend. These cover secure handling of survey data, with a focus on identifying and avoiding phishing attacks, correct data disposal methods, and secure use of cloud services.
* **AWS Partner Training**: AWS Partner, Silicon Overdrive also provides annual training and keeps Yazi up to date on the latest security trends and best practices.
* **Training Metrics**: Training effectiveness is measured using assessments and feedback, with results used to improve future training sessions.

**8. Vendor and Third-Party Security**

* **Due Diligence**: Yazi conducts due diligence to ensure third-party service providers comply with our security expectations, focusing on their data handling and storage practices, especially when survey data is involved.
* **Access Management**: We use AWS's IAM (Identity and Access Management) to ensure that vendor access is limited to what is strictly necessary for their service provision.
* **Ongoing Monitoring**: Vendor compliance is monitored regularly, with annual reviews to ensure continued adherence to our security standards.

**9. Physical Security**

* **Device Encryption**: Although Yazi operates primarily online, any physical devices used are encrypted and stored securely when not in use. Given the small team size, device management is straightforward and closely monitored.
* **AWS Security**: AWS's physical security mechanisms protect our virtual infrastructure, and Yazi leverages these through compliance with AWS best practices.

**10. Compliance and Legal Obligations**

* **GDPR and Local Laws**: We ensure GDPR compliance through data minimization, gaining explicit consent for data collection, and facilitating user rights such as data access and erasure.
* **Audits**: Annual audits are performed, combining AWS security features with our internal checks to guarantee compliance with data protection laws.
* **Certifications**: Yazi is actively aligning its information security management system with ISO/IEC 27001:2022 — Stage 1 certification audit planned for November 2026 with a UKAS-accredited certification body, Stage 2 in Q1 2027. Yazi references the NIST Cybersecurity Framework in its risk-management methodology. Yazi inherits AWS's own ISO/IEC 27001, ISO/IEC 27017, ISO/IEC 27018, SOC 1/2/3, and PCI DSS certifications for the infrastructure layer.

**11. Policy Maintenance and Review**

* **Bi-Annual Review**: Our Information Security Policy is a living document, revisited bi-annually or following any significant operational change. Given the agile nature of Yazi, policies are adapted to the evolving tech landscape, with revisions approved by our CEO.
* **Employee Briefing**: Employees are briefed on any updates to ensure everyone is aligned with the current policy standards, crucial for maintaining a secure and aware working environment.
* **Version Control**: A version control section is included to document changes and updates to the policy.

**12. Data Encryption and Handling**

* **Encryption in Transit**: All survey data collected via our platform is encrypted both in transit and at rest. For in-transit data, we use TLS encryption to secure the data as it moves from the respondents to our servers. AWS provides this encryption automatically for data moving between AWS services.
* **Encryption at Rest**: The AWS RDS service that hosts our databases uses encryption to safeguard stored data. The encryption keys are managed through AWS Key Management Service (KMS), ensuring they are rotated regularly and never exposed.
* **Handling of PII**: Handling of Personally Identifiable Information (PII) is done with utmost care. Access to PII is strictly controlled and logged, and staff are trained in the secure handling of such sensitive data, ensuring they understand the importance of confidentiality and the potential consequences of a data breach.

**13. Account Management**

* **Principle of Least Privilege**: The principle of least privilege is rigorously applied at Yazi. Access to systems and data is provided based on role-specific requirements, ensuring that staff have only the access they need to perform their job functions.
* **AWS IAM**: AWS IAM is used to manage user access, creating individual accounts for each staff member with permissions tailored to their responsibilities. Multi-factor authentication (MFA) is enforced on all accounts with access to sensitive data or systems.
* **Regular** **Audits**: Access rights are reviewed quarterly. Audits are facilitated by AWS CloudTrail (organisation-wide, KMS-encrypted), AWS Config (resource configuration tracking, with managed rules for compliance), Amazon GuardDuty (threat detection), and Amazon Inspector (vulnerability scanning). Findings and remediation actions are tracked in Yazi's Corrective Actions Register.

**14. Security Incident Management and Reporting**

* **Incident Management Protocol**: Yazi has an incident management protocol to address any security events promptly. This protocol includes immediate isolation of affected systems, investigation to determine the cause and scope, and steps to prevent a recurrence.
* **Stakeholder Communication**: In the event of a security incident, stakeholders, including clients and regulatory bodies, are informed as required by law and contractual obligations. We use a standardised incident response template to ensure that all communications are clear, factual, and timely.
* **Incident Logging**: We keep a detailed incident log within AWS CloudWatch Logs. This log records all security events, the responses taken, and their outcomes. It's reviewed regularly to identify trends and areas for security enhancement.
* **Incident Response Drills**: Periodic incident response drills are conducted to ensure readiness and effectiveness of our incident management protocol.

**15. Change Management**

* **Change Control Policy**: All changes related to production and support processes, as well as information processing facilities, follow a formal Change Control Policy. This policy includes detailed procedures for requesting, evaluating, and implementing changes.
* **Emergency Changes**: Emergency changes follow the same procedures as regular changes, with additional expedited approvals. Documentation is mandatory for all emergency changes.
* **Communication and Logging**: Significant changes are communicated to all relevant parties prior to implementation. Change logs are maintained to ensure transparency and traceability.
* **Separation of Duties**: Duties are separated among personnel who authorise changes and those who implement them, ensuring proper oversight and reducing the risk of errors.

**16. Backup and Recovery**

* **Backup Procedures**: Yazi implements comprehensive backup procedures to ensure data integrity and availability. Backups are encrypted and stored off-site to protect against data loss.
* **Backup Frequency and Retention**: Differential, incremental, and full backups are conducted regularly. Backup success rates are monitored, and data retention policies ensure that backups are stored for the necessary duration.
* **Testing and Verification**: Regular tests are conducted to verify the integrity and recoverability of backups. Any issues identified are addressed promptly to ensure data can be restored when needed.

**17. Vendor Management**

* **Approved Supplier List**: Yazi maintains an approved supplier list, ensuring that all third-party service providers meet our security and compliance standards.
* **Contractual Obligations**: Contracts with suppliers, freelancers, and third-party service providers include relevant information security, data protection, and confidentiality requirements.
* **Risk Management**: Risks related to external parties are identified and addressed through due diligence, review meetings, and regular audits to ensure compliance with Yazi's security policies.

**18. User Management**

* **User Registration and De-registration**: Formal procedures are in place for granting and revoking access to information systems. User privileges are restricted and controlled based on role requirements.
* **Password Policy**: Password policies enforce complexity, length, and expiry periods. High-privilege accounts are subject to stricter policies, and inactive sessions are automatically logged out.
* **Access Reviews**: Regular reviews of access rights ensure that permissions remain appropriate. Any changes are documented and approved through formal procedures.

**19. Data Protection and Privacy**

* **Personal Data in Transit**: Procedures are in place to protect personal data in transit, including encryption for email, media, and paper-based data transfers.
* **Clear Desk and Clear Screen Policy**: Policies ensure that sensitive information is not left unattended. Employees are required to clear their desks and screens when not in use.
* **Incident Reporting**: Any security incidents or data breaches must be reported within 24 hours. Incident management procedures ensure timely and effective responses.

**20. Business Continuity and Disaster Recovery**

* **Business Impact Analysis (BIA)**: Documented BIAs include Recovery Time Objectives (RTO) and Recovery Point Objectives (RPO) for critical functions and assets.
* **Business Continuity Plans**: Up-to-date business continuity plans are reviewed regularly. These plans include detailed procedures for maintaining operations during disruptions.
* **Testing and Review**: Business continuity plans are tested periodically, with results documented and used to improve future preparedness.

**21. Physical Security**

* **Office Security**: Physical security measures, such as access controls, barriers, and surveillance, protect Yazi's office premises. Security staff monitor the premises 24/7.
* **Equipment Protection**: Policies ensure that equipment is protected from loss, damage, theft, or compromise. Secure disposal procedures prevent unauthorised access to retired equipment.
* **Remote and Mobile Security**: Procedures ensure the security of remote and mobile users. Access is controlled and monitored, with measures in place to address any security issues.


# Data Classification Policy

### 1. Purpose

This Data Classification Policy outlines the framework for classifying data collected and processed by Yazi. It aims to ensure that all company data is appropriately classified and handled according to its level of sensitivity and corresponding requirements for confidentiality, integrity, and availability.

### 2. Classification Levels and Data Types

#### Public (Level 1)

* Data that is intended for public release.
* Includes marketing materials, published survey results, or any data that is not deemed sensitive.
* Public data may be shared via company website, press releases, or social media.

#### Internal (Level 2)

* Internal operational data not meant for public release.
* Includes internal policies, employee schedules, or nonsensitive survey data.
* Should be shared internally using company-sanctioned methods such as company email or internal document management systems. It should not be shared on public platforms, like personal social media accounts.

#### Confidential (Level 3)

* Sensitive data that could harm individuals or Yazi if disclosed.
* Includes personal data of survey respondents, HR records, and customer information.
* Sharing should only be done through secure channels, such as encrypted emails or secure file transfer protocols. Confidential data must not be shared over messaging apps like WhatsApp or unsecured email.

#### Highly Confidential (Level 4)

* Highly sensitive data that would cause severe damage if disclosed.
* Includes proprietary research, legal documents, trade secrets, and detailed personal information.
* Strictly controlled access on a need-to-know basis. Distribution should be done through encrypted databases with access logging. No external sharing without explicit authorization.

### 3. Data Handling Guidelines

#### Email

* Public: Can be shared via company or personal email without restriction.
* Internal: Can be shared via company email; should be clearly marked as Internal.
* Confidential: Must be shared via company email with encryption, and the subject line should indicate it's confidential.
* Highly Confidential: Prohibited from being sent via email unless encrypted with the highest security standards and approved by the Data Protection Officer.

#### Messaging Apps (e.g., WhatsApp)

* Public: Allowed.
* Internal: Allowed for non-sensitive communication; not for sharing documents or detailed data.
* Confidential & Highly Confidential: Strictly prohibited.

#### Excel, Databases, and Other Data Storage

* Public: Can be stored and shared without restriction.
* Internal: Stored on internal secure servers; shared with necessary access controls.
* Confidential: Stored in secure databases with encryption; access granted on a limited basis and tracked.
* Highly Confidential: Stored in the most secure databases with multi-factor authentication and encryption; access is heavily restricted and monitored.

#### Granting Access

* Public: Open access.
* Internal: Access granted by managers or team leads.
* Confidential: Access granted only by the Security Officer or Data Protection Officer with documented approval.
* Highly Confidential: Access is highly restricted and requires executive approval. Access is granted only for specified time frames and specific purposes.

### 4. Training and Awareness

* All employees will receive training on this policy.
* Refresher training will be conducted annually or when significant changes to the policy are made.
* New employees will be trained on this policy as part of their induction program.

### 5. Policy Maintenance

* This policy will be reviewed at least annually.
* The review will be conducted by the Security Officer, with changes proposed to reflect evolving best practices and regulatory requirements.

### 6. Compliance

* Compliance with this policy is mandatory.
* Any breaches of this policy must be reported immediately and may result in disciplinary action.

### 7. Data Declassification and Retention

Data is declassified according to legal and operational requirements. Retention periods are defined for each classification level, after which the data is securely destroyed or anonymized.

### 8. Policy Governance

* This policy is governed by Yazi's Security Officer, Mzwandile Sotsaka, who is responsible for its implementation, enforcement, and review.


# Yazi Security and Data Management Policies

### Access Control Policy

**Introduction**

Yazi ensures that access to its systems and data is tightly controlled and monitored to maintain security and compliance with relevant regulations. This policy outlines the access control mechanisms in place.

**Access Control Principles**

* Role-Based Access Control (RBAC): Access is granted based on the role of the individual within the organisation, ensuring that users only have access to the data and systems necessary for their role.
* Least Privilege: Users are granted the minimum level of access required to perform their job functions.
* Separation of Duties: Critical tasks are divided among multiple individuals to prevent fraud and errors.

**Access Levels**

* Administrator: Full access to all systems and data, including the ability to grant and revoke access.
* Manager: Access to management-related data and systems, with the ability to approve access requests.
* User: Access to specific data and systems required for daily operations.
* Guest: Limited access for temporary or external users, restricted to specific, non-sensitive data.

**Granting Access**

* Access Request: Users must submit an access request form, specifying the required access level and justification.
* Approval Process: Access requests are reviewed and approved by a manager and an administrator.
* Access Provisioning: Once approved, access is granted by the administrator and logged for auditing purposes.

**Monitoring and Auditing**

* Access Logs: All access events are logged, including login attempts, access to sensitive data, and changes to access permissions.
* Regular Audits: Access logs are reviewed regularly to detect any unauthorised access or anomalies.
* Incident Response: Any suspicious activity is investigated immediately, and corrective actions are taken.

***

### Environment Access Policy

**Introduction**

Yazi maintains separate environments for development, testing, and production to ensure security and stability. This policy outlines the access controls for each environment.

**Environment Overview**

* Development Environment: Used for coding and initial testing of new features.
* Testing Environment: Used for quality assurance and performance testing.
* Production Environment: Used for live operations and customer-facing services.

**Access Controls**

* Development Environment: Access is limited to developers and authorised personnel. All changes are logged and reviewed.
* Testing Environment: Access is restricted to QA engineers and authorised personnel. Data used in this environment is anonymised.
* Production Environment: Access is strictly controlled and limited to senior administrators. All access events are logged and audited.

**Access Procedures**

* Requesting Access: Users must submit an access request form, specifying the environment and justification.
* Approval Process: Access requests are reviewed and approved by a manager and an administrator.
* Provisioning Access: Access is granted by the administrator and logged for auditing purposes.

**Monitoring and Auditing**

* Access Logs: All access events are logged and reviewed regularly.
* Incident Response: Any unauthorised access is investigated immediately, and corrective actions are taken.

***

### Data Ownership Policy

**Introduction**

This policy defines the ownership and responsibilities related to data collected and processed by Yazi.

**Data Ownership**

* Client Ownership: All data collected through Yazi's platform is owned by the client. Yazi acts as a data processor on behalf of the client.
* Responsibility: Clients are responsible for ensuring the data they collect complies with relevant laws and regulations.

**Yazi Responsibilities**

* Data Processing: Yazi processes data according to client instructions and ensures data security and privacy.
* Compliance: Yazi complies with all relevant data protection laws and regulations.
* Support: Yazi provides tools and support for clients to manage their data effectively.

***

### Data Anonymisation Guide

**Introduction**

This guide outlines the methods used by Yazi to anonymise data, ensuring privacy and compliance with data protection regulations.

**Anonymisation Techniques**

* Data Masking: Replacing sensitive data with fictional but realistic data.
* Aggregation: Combining data from multiple sources to prevent identification of individuals.
* Tokenisation: Replacing sensitive data with unique identifiers that have no meaningful value outside the system.

**Implementation Process**

1. Identify Sensitive Data: Determine which data elements need to be anonymised.
2. Select Technique: Choose the appropriate anonymisation technique based on the data and use case.
3. Apply Anonymisation: Implement the chosen technique and verify that the data is anonymised.
4. Review and Update: Regularly review the anonymisation process and update as necessary to ensure continued compliance.

**Compliance**

* Regulations: Ensure all anonymisation processes comply with relevant data protection laws, such as GDPR.
* Auditing: Conduct regular audits to verify that anonymisation techniques are effective and compliant.

***

### Yazi Cloud Hosting Document

**Introduction**

Yazi uses AWS for cloud hosting, providing a secure and scalable environment for its platform.

**Cloud Hosting Overview**

* Provider: AWS
* Regions: Yazi's primary processing region is eu-west-2 (London, UK), with af-south-1 (Cape Town) used for South African survey-respondent data where required by client residency instructions. A small set of website-staging assets remains in us-east-1 pending migration to eu-west-2 during 2026 (no survey-respondent personal data). Yazi does not process production data in eu-central-1 (Frankfurt) or ap-southeast-2 (Sydney). Per-client region selection is documented in the Data Processing Agreement.
* Services Used: EC2, S3, RDS, DynamoDB, and other AWS services.

**Security Measures**

* Encryption: All data is encrypted at rest and in transit using industry-standard encryption techniques.
* Access Control: Strict access controls are enforced using AWS IAM roles and policies.
* Monitoring: Detective coverage is provided by Amazon GuardDuty (threat detection), AWS Config (configuration tracking), Amazon Inspector (vulnerability scanning), and AWS CloudTrail (organisation-wide audit logging). Application-level monitoring is provided by Amazon CloudWatch.

**Compliance**

* Certifications: Yazi is aligning its information security management system with ISO/IEC 27001:2022 — Stage 1 certification audit planned for November 2026 with a UKAS-accredited body, Stage 2 in Q1 2027. Yazi inherits AWS's own ISO/IEC 27001, ISO/IEC 27017, ISO/IEC 27018, SOC 1/2/3, and PCI DSS certifications for the infrastructure layer.
* Audits: Regular security audits are conducted to ensure compliance with relevant regulations.

***

### Data Handling Policy

**Introduction**

This policy outlines how Yazi handles personal and regulated data to ensure privacy and compliance with data protection laws.

**Data Collection**

* Consent: Data is collected only with explicit consent from individuals.
* Purpose: Data is collected for specific, legitimate purposes and not used for any other purposes without additional consent.

**Data Storage**

* Encryption: All personal and regulated data is encrypted at rest and in transit.
* Access Control: Access to data is restricted based on role and necessity.

**Data Processing**

* Minimisation: Only the minimum amount of data necessary for the intended purpose is processed.
* Anonymisation: Data is anonymised whenever possible to protect individual privacy.

**Data Deletion**

* Retention Period: Data is retained only for as long as necessary to fulfil the purposes for which it was collected.
* Deletion Process: Data is securely deleted when no longer needed, using industry-standard methods to ensure it cannot be recovered.

**Compliance**

* Regulations: All data handling practices comply with relevant data protection laws, such as GDPR and CCPA.
* Auditing: Regular audits are conducted to ensure compliance and identify areas for improvement.

***

### Data Collection Policy

**Introduction**

This policy describes how Yazi collects data, including user preferences, usage behaviour, location, and device type.

**Data Collection Methods**

* Active Collection: Data collected directly from users through forms, surveys, and other input methods.
* Passive Collection: Data collected automatically through cookies, web beacons, and similar technologies.

**Types of Data Collected**

* User Preferences: Information about user settings and preferences.
* Usage Behaviour: Data on how users interact with the platform, including page views, clicks, and time spent.
* Location: Geographic location data based on IP address or GPS.
* Device Type: Information about the device used to access the platform, such as operating system and browser.

**Data Use**

* Analytics: Data is used to improve the platform and enhance user experience.
* Personalisation: Data is used to provide personalised content and recommendations.
* Security: Data is used to detect and prevent fraudulent activity.

**Compliance**

* Consent: Users are informed about data collection practices and must provide consent.
* Privacy Policy: A detailed privacy policy is available to users, explaining how data is collected, used, and protected.

***

### Data Encryption Policy

**Introduction**

This policy outlines the encryption methods used by Yazi to protect data at rest and in transit.

**Encryption at Rest**

* Techniques: Data is encrypted using AES-256 encryption.
* Key Management: Encryption keys are managed using AWS Key Management Service (KMS) to ensure secure storage and rotation.

**Encryption in Transit**

* Techniques: Data is encrypted using TLS 1.2 or higher during transmission.
* End-to-End Encryption: Ensures data remains encrypted from the source to the destination.

**Implementation**

* Systems: All databases, file storage systems, and backups are encrypted.
* Communication: All API calls, web traffic, and data transfers are encrypted.

**Compliance**

* Standards: Encryption practices comply with industry standards such as NIST and ISO.
* Audits: Regular security audits are conducted to ensure encryption methods remain effective and compliant.

\ <br>


# Yazi Vendor Management Policy

## 1. Introduction

This Vendor Management Policy ("Policy") outlines Yazi's approach to identifying, onboarding, monitoring, and managing all vendors and third-party service providers ("Vendors") who may have access to Yazi systems, networks, or data, including client data. The Policy is designed to minimise risks associated with third-party relationships, ensure compliance with applicable regulations (such as POPIA and GDPR), and protect Yazi’s operational integrity.

***

### 2. Scope

This Policy applies to all vendors that:

* Process or store Yazi's or client data
* Provide critical services or infrastructure
* Have access to Yazi's systems or networks
* Integrate with Yazi's WhatsApp research platform

It covers the lifecycle of the vendor relationship, including selection, due diligence, onboarding, ongoing monitoring, and termination.

***

### 3. Roles and Responsibilities

* Vendor Relationship Owner (VRO): The Yazi employee responsible for initiating the vendor engagement, coordinating due diligence, and acting as the primary liaison.
* Legal & Compliance Team: Ensures all contractual and regulatory obligations are addressed, conducts legal review of agreements, and advises on compliance.
* Information Security Team: Evaluates and approves the security posture of Vendors, conducts risk assessments, and manages incidents.
* Finance Team: Reviews financial viability and ensures that negotiated terms align with Yazi’s budget and payment processes.
* Executive Management: Approves strategic or high-risk vendor relationships, especially those handling sensitive or mission-critical operations.

***

### 4. Vendor Classification

Yazi classifies Vendors into three risk-based levels:

#### 4.1 Level 1 (Critical)

* Vendors with direct access to personal or confidential data
* Integration with Yazi's core platform services (e.g., AWS, WhatsApp Business API providers)
* High impact on business continuity if services are disrupted
* Example: Hosting providers, payment gateways, communication APIs

#### 4.2 Level 2 (Important)

* Vendors who have access to some internal systems or process non-sensitive data
* Moderate impact on Yazi’s operations
* Example: Analytics providers, specialised software tools

#### 4.3 Level 3 (Standard)

* Vendors with no direct access to systems or data
* Minimal impact on business operations
* Example: Office supplies, cleaning services

Classification ensures that due diligence and monitoring are proportionate to the level of risk.

***

### 5. Vendor Selection & Due Diligence

#### 5.1 Identification and Evaluation

1. Business Need Identification: Department requesting the service identifies business objectives and requirements.
2. Preliminary Vendor Research: A shortlisting of possible Vendors based on capabilities, market presence, and references.
3. RFP/RFQ Process (If Required): For major or complex engagements, a formal Request for Proposal (RFP) or Request for Quotation (RFQ) may be used to compare Vendors.

#### 5.2 Initial Assessment

All prospective Vendors undergo an evaluation to ensure they meet Yazi’s standards:

1. Security Capabilities Evaluation: Assess the Vendor’s information security controls and policies.
2. Regulatory Compliance Check: Confirm Vendor adherence to POPIA, GDPR, or other relevant regulations.
3. Financial Stability Review: Request financial statements or credit references to verify sustainability.
4. Technical Capability Assessment: Evaluate the Vendor’s infrastructure, scalability, and compatibility with Yazi’s environment.
5. Privacy Impact Assessment: For Level 1 Vendors, a formal privacy impact assessment is required to understand data handling risks.

#### 5.3 Documentation Requirements

Depending on the Vendor’s classification, Yazi may request:

* Information security policies (e.g., ISO 27001 certification)
* Data protection procedures and certifications (e.g., SOC 2, ISO 27701)
* Compliance certifications for relevant regulations
* Business continuity and disaster recovery plans
* Insurance coverage documents
* Penetration test reports or vulnerability scans (Level 1 Vendors)

All documentation is reviewed by the relevant Yazi teams to confirm appropriateness.

***

### 6. Security Requirements

#### 6.1 Baseline Security Requirements (All Vendors)

* Data Encryption: All Vendor-managed data for Yazi must be encrypted both in transit (TLS 1.2 or higher) and at rest.
* Access Controls: Implement role-based access with the principle of least privilege. Access to Yazi data or systems must be granted only as necessary.
* Incident Reporting: Provide immediate notification to Yazi (within 24 hours) of any security incident affecting Yazi data or operations.
* Regular Security Assessments: The Vendor must conduct periodic vulnerability assessments. Yazi may request copies of summary reports.
* Employee Screening: Vendors must have background checks or vetting procedures for personnel handling Yazi data.

#### 6.2 Additional Requirements for Level 1 Vendors

* Multi-Factor Authentication (MFA): Mandatory for all user accounts with access to Yazi data.
* Regular Penetration Testing: Provide evidence of at least annual penetration tests and remediation.
* Security Audit Reports: Submit independent audit reports (e.g., ISO 27001, SOC 2 Type II) on a regular basis.
* Data Localisation Compliance: Where regulations demand local data storage, the Vendor must ensure data residency within specified jurisdictions.

***

### 7. Contractual Requirements

#### 7.1 Mandatory Contract Clauses

1. Data Protection: Outline obligations regarding personal data handling, including privacy and data protection laws (POPIA, GDPR).
2. Confidentiality: Prohibit unauthorised disclosure of Yazi information.
3. Security Standards Compliance: Specify baseline security controls and regular audits.
4. Incident Reporting: Define timelines and responsibilities for reporting and resolving security or data breaches.
5. Right to Audit: Allow Yazi or a designated third party to review the Vendor’s compliance with contract terms.
6. Termination & Exit Clauses: Establish conditions for termination and how data will be returned or destroyed.
7. Liability & Indemnification: Clarify financial responsibility in the event of data breaches or non-compliance.

#### 7.2 Contract Approval Process

All Vendor agreements must be reviewed and approved by:

* Legal & Compliance: Ensures all legal, regulatory, and risk provisions are covered.
* Information Security: Confirms alignment with security requirements.
* Finance: Reviews financial terms and budgets.
* Executive Management: Provides final sign-off for Level 1 Vendors or high-value contracts.

***

### 8. Monitoring and Review

#### 8.1 Ongoing Performance Monitoring

* Service Level Monitoring: The Vendor Relationship Owner tracks performance metrics (uptime, response times) monthly.
* Periodic Review Meetings: Depending on the Vendor’s classification, quarterly or biannual check-ins are held to discuss service quality and any issues.
* Risk Assessments: The Information Security Team may require Vendors to complete annual security questionnaires.
* Compliance Checks: Vendors handling personal data may need to provide updated privacy statements or compliance reports.

#### 8.2 Documentation

All reviews and assessments must be documented:

* Assessment Results & Follow-up Actions
* Compliance & Security Reports
* Performance Metrics
* Incident Reports

These records are maintained by the Vendor Relationship Owner in a central repository and are accessible for audit.

***

### 9. Access Control

For Vendors requiring system or data access:

1. Unique Credentials: Each Vendor user must have a unique ID; shared accounts are prohibited.
2. Role-Based Access: Access is granted based on job function and is periodically reviewed.
3. Access Reviews: Departments must review and confirm active Vendor accounts on at least a quarterly basis.
4. Prompt Termination: Access must be revoked immediately upon the completion of a project or change in Vendor personnel.
5. Logging and Monitoring: Activities by Vendor accounts are logged; suspicious activity triggers an investigation.

***

### 10. Data Protection

When Vendors process Yazi or client data:

1. Data Minimisation: Vendors should only collect and process the minimum amount of data necessary.
2. Purpose Limitation: Data must be used solely for the contracted service.
3. Storage & Retention: Data must be stored securely and retained only as long as necessary or legally required.
4. Cross-Border Transfers: Any transfer of data across borders must comply with POPIA, GDPR, or local requirements.
5. Encryption & Secure Disposal: Ensure encryption at rest, and securely destroy data after contract termination.

***

### 11. Incident Management

#### 11.1 Vendor Obligations

* Immediate Notification: Vendors must inform Yazi within 24 hours of discovering a breach that may affect Yazi data.
* Collaboration: Provide complete cooperation during incident investigations and disclose relevant findings.
* Root Cause Analysis & Remediation: Vendors must identify the issue, implement fixes, and prevent recurrence.
* Client Notification Support: Where required by law or contract, Vendors must support Yazi in notifying affected clients.

#### 11.2 Post-Incident Review

A post-incident review meeting may be held to evaluate response effectiveness and update any security or process gaps.

***

### 12. Business Continuity

#### 12.1 Vendor Responsibilities

* Continuity & Recovery Plans: Vendors must maintain documented plans for business continuity, disaster recovery, and workforce continuity.
* Regular Testing: Plans must be tested at least annually.
* Recovery Objectives: Clearly define recovery time and recovery point objectives (RTO/RPO) for critical services.
* Backup Procedures: Data backups must be performed regularly and stored securely.
* Alternative Arrangements: In case of an extended disruption, Vendors must have contingency options to continue critical services.

***

### 13. Vendor Termination

#### 13.1 Exit Management

* Notice Period: Observe contractually required notice.
* Data Return/Destruction: Ensure all Yazi or client data is returned or securely destroyed.
* System Access Removal: Revoke access rights promptly.
* Knowledge Transfer: Where needed, Vendors must assist in transferring knowledge to new providers or Yazi teams.
* Final Security Audit: May be performed to confirm that data has been appropriately disposed of.

#### 13.2 Documentation

A formal termination report should record:

* Reason for termination
* Completed exit tasks
* Lessons learned

***

### 14. Compliance Monitoring

#### 14.1 Audits

Yazi reserves the right to audit Vendors for compliance with contractual and regulatory obligations, particularly if the Vendor handles Level 1 or Level 2 data.

#### 14.2 Remediation

If audit findings reveal non-compliance or security gaps, the Vendor must provide a remediation plan and timeline.

***

### 15. Policy Governance

#### 15.1 Review & Updates

* Annual Review: This Policy is reviewed annually by Yazi’s Legal & Compliance and Information Security teams.
* Continuous Improvement: Feedback from incidents, audits, or lessons learned is incorporated as needed.
* Change Management: Major changes must be approved by Executive Management.
* Stakeholder Communication: Updated versions are communicated to relevant internal and external stakeholders.
* Training Requirements: Yazi employees involved in vendor management must complete periodic training on Policy requirements.

#### 15.2 Documentation Requirements

Mandatory records:

* Vendor agreements and addendums
* Security assessments, questionnaires, and audit reports
* Performance reports and SLAs
* Incident logs
* Access records and termination proofs

<br>


# Data Retention Policy

### 1. Purpose and Scope

#### 1.1 Purpose

This policy defines the requirements for retaining and disposing of data collected and processed through Yazi’s WhatsApp research platform. It is designed to ensure that data is only held for as long as necessary to fulfil its purpose and in compliance with all applicable legal requirements, including the Protection of Personal Information Act (POPIA) in South Africa and the General Data Protection Regulation (GDPR) in the United Kingdom and European Economic Area. This policy applies especially to financial services data, while also addressing the retention of personal data and system records.

#### 1.2 Scope

This policy applies to all data handled by Yazi Research (Pty) Ltd, including but not limited to:

* Survey response data
* Customer research data
* System logs and audit trails
* Backup data
* Participant personal information
* Client configuration data

All retention and deletion practices shall adhere to the principles of data minimisation, purpose limitation, and storage limitation as required by POPIA, GDPR, and any other applicable regulations.

***

### 2. Data Classification and Retention Periods

Data is categorised based on its nature and the regulatory obligations governing it. The retention periods for each category are as follows:

**Important**: For data Yazi processes as an Operator (Processor) on behalf of a client — including all survey-respondent data flowing through the Yazi platform — retention is set by the client (Responsible Party / Controller) in the Data Processing Agreement or Statement of Work, and Yazi does not retain such data longer than the client instructs. In the absence of specific client instruction, Yazi applies a default of 24 months from project close. The category defaults below apply to data Yazi processes as a Responsible Party (Controller) — website-visitor data, client-account records, billing, employee data and system logs.

#### 2.1 Financial Services Research Data

* Survey Responses: 5 years
* Customer Feedback: 5 years
* Transaction-related Research: 7 years
* Market Research Data: 3 years
* Client Reports: 7 years

#### 2.2 Personal Information

* Active Participant Data: Retained for the duration of the research plus an additional 6 months
* Inactive Participant Data: Retained for 12 months from the last interaction
* Contact Information: Retained for the duration of the research plus an additional 6 months
* Consent Records: 7 years

Note: Retention periods are determined by the purpose for which the data was collected and any applicable statutory requirements. Once the retention period expires, data must be securely deleted or anonymised unless a legal hold or other exception applies.

#### 2.3 System Data

* Access Logs: 2 years
* Security Audit Trails: 5 years
* System Backups: Maintained on a 30-day rolling basis
* Error Logs: 90 days

***

### 3. Automated Deletion Procedures

#### 3.1 Automated Processes

To ensure that data is not held longer than necessary, the following automated processes are in place:

* Daily Scanning: Systems automatically scan all stored data against defined retention rules.
* Automated Flagging: Data approaching the end of its retention period is flagged for review and deletion.
* Systematic Deletion: Expired data is systematically and securely deleted in accordance with defined protocols.
* Verification: Automated systems verify the completion of deletion processes.
* Audit Trails: Detailed logs of all deletions are generated and maintained for compliance purposes.

#### 3.2 Deletion Methods

* Soft Delete: Data is initially removed from active systems, making it inaccessible to users while still available for recovery within a defined grace period.
* Hard Delete: After a 30-day grace period, data is permanently removed from all systems.
* Backup Purge: Expired data is also removed from backup systems following the respective retention period.
* Secure Wiping: Where necessary, secure wiping methods that comply with the Department of Defence (DOD) standards or equivalent are applied to ensure irretrievable deletion.

***

### 4. Exception Handling

Certain circumstances may require an extension of data retention beyond the standard periods. These include:

#### 4.1 Legal Holds

* Implementation: A formal process is in place for implementing legal holds when data must be preserved for legal or regulatory investigations or litigation.
* Documentation: All legal holds must be documented, including the rationale and the duration of the hold.
* Review: Legal holds are subject to regular review to determine if they are still necessary.
* Release Procedures: Once the legal hold is lifted, data will be processed for deletion in accordance with this policy.

#### 4.2 Special Circumstances

* Regulatory Investigations: Extended retention may be required during regulatory or governmental investigations.
* Client-Requested Extensions: Requests by clients for extended retention, where justified and compliant with applicable law, will be documented and approved.
* Research Integrity and Dispute Resolution: Data may be retained longer to maintain research integrity or resolve disputes, subject to appropriate documentation and approval.

***

### 5. Data Subject Rights and Requests

In line with GDPR (and where applicable POPIA), data subjects have certain rights regarding their personal data. This section outlines how data subject requests impact data retention:

* Right to Erasure: Data subjects may request the deletion of their personal data, and such requests will be processed in accordance with applicable law. Exceptions may apply if the data is required for compliance with legal obligations.
* Right to Rectification and Access: Data subjects may request access to and correction of their data, which may affect retention if inaccuracies are discovered.
* Retention Adjustments: Requests that affect the retention period will be reviewed by Yazi's Privacy & Compliance Lead (<accounts+privacy@askyazi.com>) to ensure compliance with both POPIA and GDPR, while balancing legal obligations and data-integrity requirements.

***

### 6. Verification and Audit

#### 6.1 Deletion Verification

* Automated Verification: Systems automatically verify that deletion processes have been completed as scheduled.
* Manual Spot Checks: Periodic manual checks are performed to ensure compliance with retention rules.
* Compliance Reporting: Detailed reports summarising deletion activities and any exceptions are generated regularly.
* Exception Documentation: Any deviations from standard procedures are documented and justified.

#### 6.2 Audit Trail Requirements

Audit trails must include:

* Retention Period Details: Start and end dates for each retention period.
* Deletion Timestamps: Precise timestamps indicating when data was deleted.
* Verification Confirmations: Records confirming that deletion procedures were successfully completed.
* Exception Records: Documentation of any exceptions or legal holds.
* Approval Documentation: Sign-off records for all retention-related decisions.

***

### 7. Roles and Responsibilities

#### 7.1 Privacy & Compliance Lead (Information Officer)

* Policy Oversight: Monitors and oversees the implementation of this policy.
* Exception Approvals: Reviews and approves any exceptions or legal holds.
* Compliance Monitoring: Ensures all retention and deletion processes comply with POPIA, GDPR, and other relevant legislation.
* Regular Policy Review: Conducts regular reviews of the policy and recommends updates as necessary.

#### 7.2 Technical Team

* Automated Systems Implementation: Develops, implements, and maintains automated retention and deletion systems.
* Verification: Conducts routine verifications of system operations and deletion activities.
* Maintenance: Ensures that all systems are updated to reflect current retention requirements.
* Documentation: Maintains detailed technical documentation related to retention processes.

#### 7.3 Client Services

* Client Communication: Liaises with clients regarding retention schedules and any exceptions requested.
* Retention Tracking: Monitors client-specific data retention periods and facilitates data subject requests.
* Reporting: Generates reports on retention compliance and provides these to the Privacy & Compliance Lead and senior management as required.

***

### 8. Compliance and Documentation

#### 8.1 Regulatory Requirements

This policy complies with:

* POPIA: Ensuring the protection and lawful processing of personal information within South Africa.
* GDPR: Meeting the requirements for data protection and privacy for clients in the United Kingdom and European Economic Area.
* Financial Sector Regulations: Adhering to any additional data retention requirements specific to financial services.
* Industry Standards: Aligning with recognised standards and best practices in data security and retention.

#### 8.2 Documentation Requirements

* Retention Schedules: Detailed schedules outlining retention periods for all data categories.
* Deletion Logs: Comprehensive logs of all deletion activities.
* Exception Records: Documentation of all legal holds and retention exceptions.
* Audit Trails: Secure storage of audit trails for retention and deletion activities.
* Compliance Reports: Regular reports detailing adherence to regulatory requirements.

***

### 9. Review and Updates

#### 9.1 Regular Review

* Annual Policy Review: The entire policy is reviewed at least once per year.
* Quarterly Compliance Checks: Regular checks to ensure systems are operating as required.
* Monthly System Checks: Continuous monitoring of automated processes.
* Daily Automated Monitoring: Ongoing monitoring to detect any discrepancies in real time.

#### 9.2 Update Procedures

* Policy Revision Process: Any changes in legal or regulatory requirements will trigger a review and update of the policy.
* Stakeholder Notification: All relevant stakeholders will be notified of changes.
* Implementation Timeline: A clear timeline for the implementation of any updates will be established.
* Training Requirements: Staff will receive training on any significant updates to ensure continued compliance.

***

### 10. Implementation Procedures

#### 10.1 Technical Implementation

* Automated Scanning Systems: Systems in place to continuously scan data against retention rules.
* Deletion Mechanisms: Secure and verifiable deletion methods, including both soft and hard delete processes.
* Verification Tools: Tools that confirm the successful deletion of data according to schedule.
* Audit Logging Systems: Systems to maintain an immutable record of all retention and deletion actions.

#### 10.2 Operational Implementation

* Staff Training: Regular training sessions to ensure that all personnel understand the policy and their responsibilities.
* Client Notification: Informing clients of retention periods and any potential impacts of data subject requests.
* Documentation Updates: Keeping all policy documents and procedures current.
* Monitoring Procedures: Continuous monitoring to ensure compliance with the policy.

***

<br>


# Business Continuity Plan (BCP)

### 1. Introduction

#### 1.1 Purpose

This Business Continuity Plan (BCP) establishes the procedures and systems that Yazi Research (Pty) Ltd has implemented to:

* Ensure the continuity of critical business operations during disruptive events.
* Protect client data and uphold privacy controls in all circumstances.
* Fulfil our regulatory and contractual obligations concerning data protection.
* Maintain the service levels of our WhatsApp research platform, ensuring continuous engagement with our clients.

#### 1.2 Scope

This plan covers:

* All production systems hosted on Amazon Web Services (AWS).
* Data processing and storage operations.
* Client communications and support services.
* Internal operations and personnel activities.

#### 1.3 Objectives

The primary objectives of this BCP are to:

* Maintain data privacy and security throughout disruptive events.
* Ensure continuous availability of all critical services.
* Minimise downtime and data loss during incidents.
* Protect client interests and sensitive information.
* Remain compliant with all applicable regulatory standards.

***

### 2. Data Privacy and Protection Controls

#### 2.1 Data Protection During Disruptions

* Encryption: All data remains encrypted during failover procedures.
* Access Controls: Strict access protocols are maintained to ensure data integrity during recovery.
* Data Residency: Compliance with data residency requirements is enforced during all failover activities.
* Privacy Impact Assessments: These assessments are conducted regularly and particularly during recovery operations.
* Audit Logging: All recovery actions are fully audited and logged for accountability.

#### 2.2 Privacy Controls in Recovery Operations

* Authorised Access: Only authorised personnel are granted access to client data during recovery.
* Data Segregation: Client data remains segregated from other datasets at all times.
* Backup System Compliance: Privacy requirements are rigorously enforced across all backup systems.
* Restoration Protocols: Strict controls are in place to manage data restoration.
* Regular Testing: Privacy controls are regularly tested in simulated recovery scenarios.

***

### 3. Recovery Time and Point Objectives

#### 3.1 Recovery Time Objectives (RTO)

* Critical Systems: 4 hours
* Support Systems: 8 hours
* Non-Critical Systems: 24 hours

#### 3.2 Recovery Point Objectives (RPO)

* Critical Data: 15 minutes
* Support Systems: 1 hour
* Non-Critical Systems: 4 hours

***

### 4. AWS Infrastructure Recovery Procedures

#### 4.1 Primary Infrastructure

Yazi Research (Pty) Ltd supports two distinct data residency options. The primary infrastructure is configured based on the client’s selected region:

**For Clients with South African Data Residency:**

* Region: AWS Africa (Cape Town)
* Production Environment: Deployed across three availability zones.
* Database: Amazon RDS Multi-AZ deployment, with servers physically located in South Africa.
* Storage: Amazon S3 storage with cross-region replication configured to ensure that backups remain within South African territory.

**For Clients with United Kingdom Data Residency:**

* Region: AWS Europe (London)
* Production Environment: Configured across multiple availability zones in the London region.
* Database: Amazon RDS Multi-AZ deployment, with servers located within the United Kingdom.
* Storage: Amazon S3 storage with cross-region replication designed to ensure that all data storage and backup processes comply with GDPR requirements.

Detailed documentation is maintained for both configurations to ensure strict adherence to each client’s data residency selection.

#### 4.2 Failover Procedures

* Automated Failover: Automated failover between availability zones is implemented within each region.
* Manual Failover: In the event of a regional AWS failure, manual failover procedures are available. These procedures are tailored based on the client’s selected data residency region.
* Database Failover: Automatic redirection to standby replicas is enabled. For UK data residency, this includes adherence to GDPR-based recovery protocols.
* Load Balancer Health Checks: Regular health checks are conducted, and load balancers automatically reroute traffic as required.
* DNS Management: Rapid DNS updates are managed via AWS Route 53, ensuring that traffic is directed to the correct regional endpoints.

#### 4.3 Data Recovery Procedures

* Automated Backups: Databases are recovered using automated backups that are region-specific.
* Point-in-Time Recovery: Enabled to recover data up to the client-specific recovery point objective (RPO).
* Version Control: Amazon S3 versioning is utilised to restore previous versions of data, ensuring that restoration aligns with the client’s selected data residency.
* Consistency Verification: Detailed checks are performed to confirm data integrity and consistency post-recovery.
* Privacy and Regulatory Verification: Recovery procedures include steps to verify that privacy controls and regulatory requirements (POPIA for South Africa and GDPR for the UK) are fully maintained.

***

### 5. Incident Response and Escalation

#### 5.1 Incident Classification

* Level 1 – Minor Disruption: Affects a single component.
* Level 2 – Significant Disruption: Impacts multiple components.
* Level 3 – Major Disruption: System-wide impact.
* Level 4 – Catastrophic Failure: Complete service outage.

#### 5.2 Response Team and Responsibilities

* Incident Commander: Timothy Treagus (CEO)\
  Oversees overall incident management and client communications.
* Technical Lead / Security Officer: Mzwandile Sotsaka (CTO)\
  Directs technical recovery and ensures that security protocols are adhered to.
* Client Communications: Timothy Treagus\
  Manages all client and stakeholder communications during incidents.

#### 5.3 Escalation Matrix

* Level 1:
* * First Response: Technical Team
  * Escalation Time: Within 30 minutes
  * Notification: Internal teams only
* Level 2:
* * First Response: Technical Lead
  * Escalation Time: Within 1 hour
  * Notification: Affected clients are informed
* Level 3:
* * First Response: Technical Lead and CEO
  * Escalation Time: Immediate
  * Notification: All clients receive notification
* Level 4:
* * First Response: Full response team activation
  * Escalation Time: Immediate
  * Notification: All stakeholders, including regulatory bodies if necessary

***

### 6. Testing and Maintenance

#### 6.1 Testing Schedule

* Monthly: Component-specific tests.
* Quarterly: Full failover testing across key systems.
* Bi-annual: Disaster recovery simulation exercises.
* Annual: Comprehensive review and testing of the entire BCP.

#### 6.2 Testing Procedures

* Pre-Test Planning: Notification of stakeholders and detailed planning.
* Execution: Real-time monitoring during test events.
* Documentation: Detailed recording of test results and performance metrics.
* Privacy Verification: Specific tests to verify the effectiveness of privacy controls.
* Gap Analysis: Identification and resolution of any detected deficiencies.
* Reporting: Distribution of comprehensive test reports to the response team.

#### 6.3 Documentation Requirements

* Test Plans: Detailed scenarios and methodologies.
* Results and Metrics: Documentation of performance and outcomes.
* Privacy Control Assessments: Verification of controls during tests.
* Remediation Records: Documentation of any identified gaps and corrective actions.
* Approval: Sign-off by the Security Officer following each test.

***

### 7. Client Communication Procedures

#### 7.1 Notification Templates

* Service Disruption Notices: Clear, timely updates regarding any disruption.
* Status Updates: Regular progress updates during incident resolution.
* Resolution Confirmations: Formal confirmation once services are restored.
* Post-Incident Reports: Detailed summaries and follow-up actions after an incident.

#### 7.2 Communication Channels

* Email: Direct notifications to clients.
* Status Page: Real-time updates on our dedicated status page.
* Direct Contact: Personal outreach by account managers for critical clients.
* Regulatory Notifications: Timely communication with regulatory bodies where required.

***

### 8. Data Backup and Recovery

#### 8.1 Backup Procedures

* Daily Automated Backups: Full backups are executed daily.
* Transaction Log Backups: Performed at 15-minute intervals to minimise data loss.
* Cross-Region Backup Replication: Backups are replicated across regions according to the client’s data residency selection. This ensures that for South African clients, all backups remain within South Africa, and for UK clients, backups remain within the United Kingdom.
* Encryption: All backups are encrypted to maintain data confidentiality.
* Regular Backup Testing: Frequent testing is conducted to verify the integrity and correct regional placement of backups.
* Location Verification: Procedures include explicit steps to verify that the backup data remains in the client-selected region.

#### 8.2 Recovery Procedures

* Team Authentication: The recovery team is authenticated before initiating any recovery process.
* Backup Integrity Verification: Backups are rigorously verified for integrity prior to restoration.
* Secure Restoration: Data is restored in a secure environment that complies with the client’s data residency requirements.
* Data Consistency Checks: Post-restoration, thorough checks are performed to ensure data consistency.
* Privacy Control Validation: All privacy controls are validated during the recovery process.
* Regulatory Compliance Verification: Recovery procedures incorporate additional compliance checks to ensure adherence to local data protection regulations—POPIA for South African data and GDPR for UK data.
* Operational Resumption: Services are gradually resumed following successful verification and restoration.

***

### 9. Compliance and Audit

#### 9.1 Regulatory Requirements

* POPIA: Strict adherence to the Protection of Personal Information Act is maintained during all recovery procedures.
* GDPR: For data processed within the United Kingdom, full compliance with the General Data Protection Regulation is ensured.
* Industry Standards: Our practices are aligned with recognised standards such as ISO 27001.
* Independent Assessments: Periodic independent security assessments validate our data protection measures and regulatory adherence.

#### 9.2 Audit Procedures

* Regular Audits: Scheduled audits of the BCP and its effectiveness.
* Privacy Impact Assessments: Regular reviews of the privacy implications of our recovery procedures.
* Control Testing: Periodic tests of security and privacy controls.
* Documentation Reviews: Comprehensive review of all recovery documentation.
* Compliance Verification: Regular verification against applicable regulatory standards.

***

### 10. Plan Maintenance and Updates

#### 10.1 Review Schedule

* Monthly: Update of emergency contact lists.
* Quarterly: Review and refinement of recovery procedures.
* Annual: Full review and update of the entire BCP.
* Post-Incident: Immediate updates following any significant incident.

#### 10.2 Version Control

* Document Tracking: All changes are tracked with version numbers.
* Change Log: A detailed log of changes is maintained.
* Approval Documentation: All updates are formally approved.
* Distribution: Controlled distribution to ensure all stakeholders have the latest version.

***

### 11. Emergency Contacts

#### 11.1 Internal Contacts

* CEO: Timothy Treagus\
  Tel: +27 60 946 6174\
  Email: \[CEO Email]
* CTO / Security Officer: Mzwandile Sotsaka\
  Tel: \[CTO Phone Number]\
  Email: \[CTO Email]
* Technical Support:\
  Email: \[Technical Support Email]

#### 11.2 External Contacts

* AWS Support: Enterprise Support (24/7)
* Internet Service Provider: \[Provider Contact Details]
* Data Centre (AWS Cape Town): \[Contact Details]
* Legal Counsel: \[Legal Counsel Contact Information]

***

### 12. Appendices

#### Appendix A: Recovery Checklists

* System Recovery Procedures: Detailed step-by-step recovery actions.
* Data Verification Steps: Procedures for verifying data integrity.
* Privacy Control Checks: Steps to ensure privacy controls are operational.
* Communication Templates: Pre-approved templates for client and stakeholder notifications.
* Testing Scenarios: A compendium of simulated scenarios for training and testing purposes.

#### Appendix B: Risk Assessment

* Critical System Dependencies: Identification of key systems and interdependencies.
* Single Points of Failure: Analysis of any areas where failure could lead to significant impact.
* Recovery Priorities: Clear prioritisation of system recovery.
* Risk Mitigation Strategies: Strategies to reduce identified risks.

***

<br>


# Quality Control Plan for Yazi Research (Pty) Ltd

### 1. Introduction

This Quality Control Plan outlines the procedures and processes that Yazi Research (Pty) Ltd employs to ensure the highest standards of data quality and consistency in the services provided to our clients. As a software provider, Yazi Research facilitates the collection and reporting of data through our platform, ensuring that project guidelines are clearly defined and adhered to throughout the project's lifecycle.

### 2. Project Setup and Definition

**Clear Project Guidelines and Scope Definition**

* Initial Consultation: At the start of each project, a comprehensive meeting is held with the client to define project objectives, deliverables, timelines, and quality expectations. This meeting ensures that both parties have a clear understanding of the project's goals and the specific requirements for successful completion.
  * **Practical Implementation:** We use detailed checklists and templates during this consultation to capture all necessary information. These documents are shared with the client for review and approval.
  * **Documentation**: Detailed project documentation is created, outlining all agreed-upon parameters, including data collection methods, reporting formats, and any specific requirements unique to the client.
* **Practical Implementation**: The documentation includes a project charter, a detailed timeline with milestones, and a quality plan that specifies the standards and metrics for success. This documentation is stored in a shared, secure online repository accessible to both Yazi Research and the client.
* **Approval Process**: The project plan, including quality standards, is reviewed and approved by both Yazi Research and the client before any data collection begins.
* **Practical Implementation**: A formal sign-off process is employed, where both parties review and sign the project plan. This ensures mutual agreement and commitment to the project's success.

### 3. Data Collection and Reporting

**Quality Standards for Data Collection**

* **Participant Instructions**: Clear and concise instructions are provided to participants, ensuring they understand their tasks and the importance of accurate and timely data submission.
* **Practical Implementation**: Instructions are delivered via WhatsApp messages that include text, images, and videos to make the tasks easily understandable. We also provide a helpline for participants to call if they have any questions.
* **Automated Invitations**: Participants receive automated invitations via WhatsApp, guiding them through the process of completing their tasks over a specified period.
* **Practical Implementation**: Our system schedules and sends these invitations at optimal times to maximise response rates. Reminders are also sent automatically to participants who have not completed their tasks.

**Data Reporting and Format Specifications**

* **Raw Data Format**: Data collected is compiled and delivered in a raw format, typically in Excel, with clearly defined columns and rows as agreed upon with the client.
* **Practical Implementation:** Data is exported from our system in the required format. We use standardised templates for different types of studies to ensure consistency and clarity.
* **Data Integrity Checks**: Automated systems are in place to check for inconsistencies, missing data, and incorrect dates. Any anomalies are flagged and reviewed by the Yazi Research team.
* **Practical Implementation:** Our software runs predefined validation checks on the data as it is collected. Reports of any anomalies are generated daily and reviewed by our quality assurance team.
* **Customisation and Integration:** Customised reports and data integration pipelines are set up as per client specifications, ensuring seamless data flow and usability.
* **Practical Implementation**: We work with the client's IT team to integrate our data with their systems. Custom scripts are written and tested to automate data transfers and ensure compatibility.

### 4. Client Enablement and Training

Client Training and Support

* **Platform Training**: Comprehensive training sessions are provided to the client's team to ensure they are confident in using the Yazi platform. Training covers all aspects of the software, from data collection to reporting.
* **Practical Implementation**: Training sessions include live webinars, pre-recorded tutorials, and hands-on workshops. We provide a detailed training manual and quick reference guides.
* Self-Service Capability: Clients are empowered to use the platform independently, with access to resources and support as needed.
* Practical Implementation: We set up user accounts with appropriate access levels, and our support team is available 24/7 to assist with any issues or questions.

**Ongoing Support and Issue Resolution**

* Support Channels: Dedicated support channels are available for clients to report issues or seek assistance. Support is provided promptly to resolve any problems and ensure continuous operation.
* **Practical Implementation**: Clients can reach us through a dedicated support email, phone line, and chat service. We use a ticketing system to track and manage support requests.
* Automatic Notifications: Systems are in place to detect and notify the Yazi Research team of any technical issues, such as system downtime or data processing errors. These notifications trigger immediate response actions to rectify the issues.
* **Practical Implementation**: Our monitoring systems send alerts to our technical team via email and SMS. We have a predefined incident response plan to address and resolve issues swiftly.

### 5. Quality Control During and After Data Collection

**Continuous Monitoring and Quality Assurance**

* **Real-time Monitoring**: Data collection is monitored in real-time to ensure that participants are engaging as expected. Any deviations or issues are addressed promptly.
* **Practical Implementation:** Our dashboard provides real-time updates on participant activity and data submission. Alerts are set up to notify us of any irregularities or drop-offs in participation.
* Data Review and Validation: Collected data undergoes a thorough review and validation process to ensure accuracy and completeness before being delivered to the client.
* Practical Implementation: Our quality assurance team conducts manual checks on a sample of the data to verify accuracy. Automated validation scripts are also run to detect any issues.

**Feedback and Improvement**

* **Client Feedback**: Regular feedback is solicited from the client to identify any areas for improvement in the data collection and reporting process.
* Practical Implementation: We schedule regular review meetings with the client to discuss their feedback and any issues they have encountered. An online survey is also sent out at the end of each project to gather detailed feedback.
* Continuous Improvement: Based on feedback and internal reviews, processes are continually refined and improved to maintain high-quality standards.
* **Practical Implementation**: Feedback is documented and discussed in our monthly team meetings. Action items are assigned to team members to implement improvements, and progress is tracked over time.

### 6. Documentation and Compliance

**Standards and Guidelines Documentation**

* **SOPs and Guidelines**: Standard Operating Procedures (SOPs) and guidelines are documented for all critical tasks and processes, ensuring consistency and adherence to quality standards.
* **Practical Implementation**: SOPs are reviewed and updated annually or as needed. They are stored in a centralised document management system accessible to all relevant staff.
* **Compliance Audits:** Periodic audits are conducted to ensure compliance with documented standards and guidelines. Any non-compliance issues are addressed through corrective actions.
* **Practical Implementation**: Internal audits are conducted quarterly, and results are reported to senior management. Corrective actions are tracked and verified to ensure compliance.

**Data Protection and Confidentiality**

* **Data Security**: Robust data protection measures are in place to ensure the confidentiality and security of all collected data. Compliance with relevant data protection laws and regulations is maintained at all times.
* **Practical Implementation**: Data is encrypted both in transit and at rest. Access controls are implemented to restrict data access to authorised personnel only. Regular security assessments are conducted to identify and mitigate risks.

### 7. Conclusion

Yazi Research (Pty) Ltd is committed to delivering high-quality data collection and reporting services through well-defined processes and continuous quality control. By ensuring clear project guidelines, thorough training, and ongoing support, we strive to meet and exceed our clients' expectations in all aspects of our services.

<br>


