Managing Customizers for IVRs



A customizer provides a powerful tool to manipulate the system, and therefore you should only use customizers you can trust. Never use customizers from an unknown source, and test all customizers in a test system before adapting them to a real production use.

If customized functions are needed for a custom IVR, they can be added to the system as Python code customizer.

  • Only one customizer can be active at a time for each custom IVR.

  • Use customizer only if you cannot achieve the same outcome using VXML elements.

  • You should be familiar with Python before attempting to create your own customized functions.

  • Customizers can be used for:

    • ODBC calls to external databases.

    • Doing several looping operations and condition tests to create a Python list or dictionary.

    • SOAP queries if you wish to have the username and password as variables; for other queries you can use soap element.

To call the customizer from the IVR application, define the customstate element in the application.


An appropriate Python customizer file (.py) must be available.

Before you add any customizer, Sinch needs to verify that the customizer doesn't cause security or performance issues. Create a service request via the support portal for the customizer review. This is billable work and based on actual review hours.


  1. Go to IVR Management > Custom IVRs, click the Search button, and double-click the appropriate IVR in the table.

  2. Expand the Customizers block.

Using Customizer

  1. To add a new customizer, or a new version of an existing one, click Add New, choose the file that contains the code, and click Open.

    To modify an existing customizer version, choose the version on the table, click Import Code folder icon on that row, and choose the file.

  2. Information of the imported code is displayed in the table in the following way:

    Table 1. Customizers




    Versions have unique numbers. A added new version gets a new number also when some of the earlier versions are deleted. You can modify, activate, and so on, any of the versions.


    The date when the customizer was initially created


    The date when the customizer version was modified latest.

    Class Name

    The Python class name. The name origins from the file, but you can also edit this information.


    Enter a free description or name for the customizer function.


    A read-only checkbox shows if the customizer is active or not. Activate and deactivate customizers with the buttons above the table.

    Import Code

    To modify an existing customizer version, click the folder on the appropriate row, and select the file where the code to be imported is located.

  3. To activate a customizer, choose the appropriate customizer version, and click Activate. Only one customizer version (one row) can be active at a time.

  4. To stop using a customizer, choose the appropriate customizer version, and click Deactivate.

  5. To delete a customizer, choose the version, make sure the customizer is not active, or deactivate it, and click the Delete button above the table.

  6. To export customizer code to a Python file, choose the customizer version, click the Export button above the table, and define the file name.