K Rudy
01/27/2026, 5:56 AMAI Evy
01/27/2026, 5:56 AMAI Evy
01/27/2026, 5:56 AMAI Evy
01/27/2026, 5:57 AM+ sign followed by the country code and number
- Example: "+14157774444" [(1) ]()
- Example: "+12137774445" [(2) ]()
For your batch call tasks, ensure the to_number field follows this format exactly. [(1) ]()
Bypassing E.164 validation (custom telephony only) :
If you're using custom telephony (not Retell Telephony) , you have two options:
1. **Via API**: Set ignore_e164_validation to true in your request. This only applies when using custom telephony. [(2) ]()
2. **Via CSV upload**: Add a column named ignore e164 validation with value true for numbers that don't conform to E.164. This only applies when using custom telephony and does not apply when using Retell Telephony. [(3) ]()
Common issues to check:
- Missing the + prefix [(4) ]()
- Including parentheses or dashes (e.g., +1(216) 340-9355 is incorrect — should be +12163409355)AI Evy
01/27/2026, 5:57 AMK Rudy
01/27/2026, 6:08 AMAI Evy
01/27/2026, 6:08 AMAI Evy
01/27/2026, 6:08 AMignore_e164_validation parameter should be added as a top-level field in the request body when making outbound calls. [(1) ]()
For the Create Phone Call API, include it like this:
javascript
const phoneCallResponse = await client.call.createPhoneCall({
from_number: '+14157774444',
to_number: '+12137774445',
ignore_e164_validation: true
}) ;
Important note: This parameter only applies when you are using custom telephony and does not apply when using Retell Telephony.AI Evy
01/27/2026, 6:08 AMAI Evy
01/27/2026, 6:08 AMK Rudy
01/27/2026, 6:10 AMK Rudy
01/27/2026, 6:11 AMAI Evy
01/27/2026, 6:11 AMAI Evy
01/27/2026, 6:11 AMtasks array. [(1) ]()
The tasks field is a list of individual call tasks, where each task represents a single outbound call and includes details such as the recipient's phone number and optional dynamic variables to personalize the call content.
Here's the structure based on the Create Batch Call API:
javascript
import Retell from 'retell-sdk';
const client = new Retell({
apiKey: 'YOUR_RETELL_API_KEY',
}) ;
const batchCallResponse = await client.batchCall.createBatchCall({
from_number: '+14157774444',
tasks: [{ to_number: '+12137774445' }],
}) ;
console.log(batchCallResponse.batch_call_id) ;
Each task in the tasks array can include its own to_number and dynamic variables specific to that recipient. You would structure it like:
json
{
"from_number": "+14157774444",
"tasks": [
{ "to_number": "+12137774445" },
{ "to_number": "+12137774446" }
]
}
For the dynamic variables per task, you can use retell_llm_dynamic_variables to inject personalized data (e.g., {"customer_name": "John Doe"}) . [(2) ]() [(3) ]()
I don't have explicit documentation showing the exact field name for dynamic variables within each batch call task object. You may want to check the full API reference at [Create Batch Call]() for the complete task object schema, or reach out via [Contact Sales]() for clarification.AI Evy
01/27/2026, 6:11 AMAI Evy
01/27/2026, 6:11 AMK Rudy
01/27/2026, 6:12 AMAI Evy
01/27/2026, 6:12 AMAI Evy
01/27/2026, 6:12 AMignore e164 validation with value true for each row/number that doesn't conform to E.164 format. [(1) ]()
For dynamic variables in batch calls via CSV, you add additional columns in the CSV with custom data for each recipient. For example, a column header first_name can be referenced as {{first_name}} in your agent prompts.
Example CSV structure with 3 dynamic variables:
| phone number | ignore e164 validation | first_name | appointment_date | account_id |
|--------------|------------------------|------------|------------------|------------|
| 5551234567 | true | John | 2025-02-01 | ACC001 |
| 5559876543 | true | Sarah | 2025-02-02 | ACC002 |
| 5554567890 | true | Mike | 2025-02-03 | ACC003 |
You can then reference these in your agent prompts as {{first_name}}, {{appointment_date}}, and {{account_id}}. , [(2) ]()
Important: The ignore e164 validation option only applies when you are using custom telephony and does not apply when using Retell Telephony. [(1) ]()
I don't have explicit documentation showing how to include ignore_e164_validation within each task object when using the Create Batch Call API programmatically. The available documentation shows the task object structure but doesn't specify this field at the task level. [(3) ]()
For the full API schema or to confirm the exact field placement for programmatic batch calls, check the [Create Batch Call API reference]() or reach out via [Contact Sales]() .AI Evy
01/27/2026, 6:12 AMAI Evy
01/27/2026, 6:12 AMK Rudy
01/27/2026, 6:13 AMAI Evy
01/27/2026, 6:13 AMAI Evy
01/27/2026, 6:13 AMignore_e164_validation or retell_llm_dynamic_variables within each task object when using the Create Batch Call API programmatically.
The sources I have available show:
- For single phone calls, retell_llm_dynamic_variables is a top-level field in the request body [(1) ]()
- For Register Phone Call (custom telephony) , retell_llm_dynamic_variables is also a top-level field [(2) ]()
Example from single call documentation:
json
{ "customer_name": "John Doe" }
[(1) ]()
However, I don't have the complete Create Batch Call API schema that shows whether these fields can be nested within individual task objects in the tasks array.
Check out these potentially useful sources:
- [Create Batch Call]() - for the full task object schema
- [Dynamic Variables]()
For clarification on the exact API structure for batch calls with per-task dynamic variables and E.164 validation bypass, you can reach out via [Contact Sales]() or visit [) .
Would you like me to try to answer generally based on common API patterns?AI Evy
01/27/2026, 6:13 AMAI Evy
01/27/2026, 6:13 AMK Rudy
01/27/2026, 6:23 AMK Rudy
01/27/2026, 6:23 AMAI Evy
01/27/2026, 6:23 AMAI Evy
01/27/2026, 6:23 AM+17216805586 appears to be in valid E.164 format (+ followed by country code 1 and 10 digits) . [(1) ]()
A few things to check:
1. Ensure there are no hidden characters - Sometimes copy/pasting can introduce invisible characters (spaces, special unicode characters) before the + or within the number.
2. Verify the area code is valid - 721 is not a standard US/Canada area code. US area codes don't start with 0 or 1 in the second digit (e.g., 721 would be invalid because the second digit is 2, but actually 721 is assigned to Sint Maarten in the Caribbean, not the US) .
3. If using custom telephony, you can bypass validation by setting ignore_e164_validation to true in your request.
javascript
const phoneCallResponse = await client.call.createPhoneCall({
from_number: '+14157774444',
to_number: '+12137774445',
ignore_e164_validation: true
}) ;
Important: The ignore_e164_validation option only applies when using custom telephony and does not apply when using Retell Telephony. [(2) ]() , [(1) ]()
If the number is genuinely a US number, double-check that it's typed correctly without any hidden characters or formatting issues.AI Evy
01/27/2026, 6:23 AMAI Evy
01/27/2026, 6:23 AM