Editing call lists
Contents
Editing parameters in real time
Sometimes you may need to edit some call list parameters during the progression of a call list. In this article, you will learn how to do this.
Voximplant allows editing the following parameters of the call list:
start_at — updates the earliest time (UNIX timestamp in seconds) for the next attempt to be made
attempts_left — updates the number of calling attempts left. If set to 0, the current attempt is considered the last, and the task is marked as failed. If not set explicitly, the current number of attempts left will be decreased by 1
custom_data — updates the data source for the task. If no data is provided, the task data remains intact
start_execution_time — updates the starting time for calling attempts. The calls cannot be made earlier than start_execution_time. The time format is HH:MM:SS (24-hour format), the time zone is UTC.
end_execution_time — updates the ending time for calling attempts. The calls cannot be made later than end_execution_time. The time format is HH:MM:SS (24-hour format), the time zone is UTC.
If start_execution_time is later than end_execution_time, calls are made after start_execution_time on one day and before end_execution_time on the next day.
To update the parameters, use the CallList.requestNextAttempt()
method. It accepts the new parameters, applies them, and then performs another call attempt with new parameters.
How it works
Let us create an example to show how it works. You will need:
- An application.
- A scenario where you describe the logic.
- A routing rule to launch the scenario.
- A phone number to use as a caller ID.
Prepare the CSV table to pass to the scenario in the custom data field in the following format:
numbers;first_name;last_name
18881231231,18881231232;Elon;Musk
Read more about custom data parameters usage in this article.
First, let us process the data from the CSV table. If the call connects, implement some logic, for example, read a message to the customer via TTS. You can find more information with examples in the main call list article.
If the call fails, let us update some parameters and retry. To do this, create an object with updated call list parameters (updatedCallListData
in this example), then pass the object to the CallList.requestNextAttempt()
method. This method makes a new calling attempt with updated parameters automatically.
Refer to this code example to understand how it works:
Editing a task's next attempt date
In addition to modifying the call list parameters in real time, you can specify the next attempt date for each task. In this case, the task does not start before the specified date.
You can specify the next attempt date in 3 ways:
In real time: just pass the
next_attempt_time
parameter into the EditCallListTask method, specifying the date in the2024-10-31T15:00:13.567+03:00
format.While creating the call list: specify a new column named
next_attempt_time
in the CSV sheet with call list tasks with the dates in the2024-10-31T15:00:13.567+03:00
format.In the VoxEngine scenario: pass the
next_attempt_time
parameter via theCallList.requestNextAttempt()
method with the dates in the2024-10-31T15:00:13.567+03:00
format. See the scenario example below to learn how to do it:
There are two restrictions for the next attempt date parameter:
- You cannot pass any time in the past, in this case the call list does not accept the value and sets the next attempt date to the request time plus the specified interval between calls.
- You cannot pass any time more than 9 months in the future, in this case the call list does not accept the value and sets the next attempt date to the request time plus the specified interval between calls.