Voice surveys let you run surveys over a phone call, using AI to create a natural, conversational experience. The platform reads questions aloud, listens to spoken answers, and maps responses back to your survey structure. All of this happens automatically.
Voice survey quality is viable today and will only continue to improve as real-time voice LLM models advance.
Long-form voice interviews are supported. Audio is processed while the call is active so the interviewer can understand and respond, but MX8 Labs does not retain call audio or recordings after processing. Survey responses and operational lifecycle metadata are retained in the same way as other respondent-source data.
Before you start
- Advanced respondent sources must be enabled in your account.
- You need a Twilio Account SID, Auth Token, and a Twilio phone number.
- Your contact numbers must be in E.164 format (example:
+15551234567). See E.164 phone number format for the formatting rules and common country prefixes.
Step 1: Create a new Twilio Voice source
Go to Sources, click Add Respondent Source, search for "voice," and select Twilio Voice.

Fill in the Twilio-specific fields along with the selected base fields:
| Field | What to enter | Required |
|---|---|---|
| Name | A descriptive name for this source | Yes |
| Target responses | Number of completions required | Yes |
| Days in field | How long to keep the source active | Yes |
| Market | The country your respondents are in (US only) | Yes |
| Notification email | Email for notifications about this source | Optional |
| Completion url | Redirect base URL after survey completion | Optional |
| Default language | The default language for the respondent survey experience (en-us only) | Yes |
| Twilio account SID | Your Twilio Account SID | Yes |
| Twilio from number | The outbound caller ID used for survey calls, in E.164 | Yes |
| Twilio auth token | Your Twilio Auth Token | Required on create, optional on update |
| Voice name | The AI voice used during the phone call (alloy, ash, ballad, coral, echo, sage, shimmer, verse, marin, cedar) | Yes |
| Incoming calls | Allow respondents to call the Twilio number to start the survey | Optional (default off) |
| Background noise | Play low-level ambient audio during calls so the line does not sound dead | Optional (default on) |
| Calls per second | Maximum outbound survey calls to start per second for this source | Yes (min 1) |
| Delivery window time zone | IANA time zone used for campaign call hours (e.g. America/New_York) | Yes |
| Delivery window start | Local time calls may begin, in HH:MM (default 08:00) | Yes |
| Delivery window end | Local time calls must stop, in HH:MM (default 21:00) | Yes |
| Identity column | Contact file identity column name (default: Identifier) | Optional |

The Voice name dropdown lets you choose from several AI voices. Pick the one that best fits the tone and audience of your survey.
Twilio Voice sources currently support the US market and en-us language only.
Background noise
The Background noise option plays a low level of ambient audio underneath the call, so the line does not sound dead to the respondent. We recommend leaving background noise on for most studies. It is enabled by default.
Incoming calls (call-back)
By default, a Twilio Voice source only places outbound calls. Turn on Incoming calls to let respondents call the Twilio number back and start the survey themselves. Use it when a respondent misses your call, or when you want to publish the number and invite people to call in.
When incoming calls are enabled, an inbound call to your Twilio number is routed to the survey using the same Inbound webhook URL you configure in Step 3 below. A single webhook handles both outbound calls and call-backs. If incoming calls are left off, inbound calls to the number are rejected.
Step 2: Design your survey
All question types are supported for voice surveys. However, media-based content such as images, videos, and display text will not be presented to respondents since the survey is conducted entirely over audio.
The visual survey editor works the same way it does for any other respondent source. You can switch between the Code and Visual views using the toggle at the top of the editor.


Each survey step can be edited by clicking on it. Question text, options, and logic all work the same as other source types.

AI disclosure
The interviewer on a voice survey is automated. Write a disclosure into the opening of your survey: tell respondents at the start of the call that they are speaking with an automated, AI interviewer, before you ask the first question.
Disclosure requirements for AI-generated voice calls vary by jurisdiction and change over time. Confirm what applies in the markets you are calling, and check with your own legal or compliance team before you field.
Step 3: Configure Twilio webhook
- In the source, copy the Inbound webhook URL from the Twilio setup panel.
- In Twilio Console, paste that URL as your inbound webhook for the phone number.
- Save changes in Twilio.
This same webhook handles call-backs when Incoming calls is enabled, so there is nothing extra to configure for respondents to call the number back.
Step 4: Upload contacts
- Use Upload file.
- Supported file types:
.csv,.csv.gz,.xlsx. For.xlsx, the platform reads the workbook's active sheet. You do not need to format the data as an Excel table. - Include the configured Identity column (default
Identifier) and populate it with phone numbers in E.164 format (e.g.+15551234567). Numbers that are not in E.164 will be rejected. See E.164 phone number format for the formatting rules and common country prefixes. - The values in the identity column must be unique within the file. If any number appears more than once, the upload will be rejected. De-duplicate before uploading.
You can also include additional columns of first-party data alongside the identity column. Any column header that matches a question code, or that exactly matches the name of a stored variable in your survey, will be auto-matched. The value is pre-filled into the survey at runtime and is available in reporting. Matching to stored variables is exact and case-sensitive, so spell the column header identically to the stored variable.
Step 5: Test your survey
Open a survey test link and choose this voice source if prompted. Select Phone, enter a number in E.164 international format (for example, +15551234567), and start the test. The test number must not already be in this source's uploaded contacts. The platform will call you and run through the survey as a respondent would experience it.
Choose Online instead when you want to check wording and logic in your browser without placing a call. See Testing and Reviewing Your Survey for the complete market, source, mode, and test-data flow.
Step 6: Go live
- Use the Status action Go Live.
- Use Pause, Restart, or Complete as needed during fielding.
Reporting
Reporting for voice surveys works the same as for any other respondent source. Standard reports, crosstabs, and data exports include voice responses.
On the Summary tab, use the source's progress bar to track destinations through Planned, Scheduled, Starting, Delivered, or Failed. For voice calls, provider events such as answered, in progress, and completed map to Delivered; busy, no-answer, canceled, and failed events map to Failed. Delivery is not a survey outcome: an answered call can still end as In Progress, Terminated, Poor Quality, or Complete.
Use the field report separately to review respondent outcomes. If you have export permission, select Dispatch CSV there to investigate normalized and raw provider states, timestamps, respondent and provider identifiers, and failure details. See Field reports.

