Generic Import Source

This page provides a guide to configuring a Generic Import Source in Verba.

Verba’s capabilities are now further expanded by the Generic Import functionality: import any supported media - with CDR contained in .csv, .xml, or .json files - exported from your existing recordings directly to the Verba Platform. This feature enables you to import the files yourself or to significantly decrease handle time. The list of supported media formats can be found in the following article: Storage requirements


For a general description of Verba Import sources, please refer to Import sources.

For a general description of Data Import action, please refer to Data Import policy.

The Generic Import function can import 240K records a day.

For non-real time import, the Enable Recording Rules option should be unchecked in the Data Import configuration.

Creating a generic import source

Step 1 - Open the Verba Web interface then select Data > Import Sources from the top menu

Step 2 - Click on the Add New Import Source link on the top right

Step 3 - Complete the configuration according to the requirements in the following table

Configuration item


NameName your import source. This name will identify this source across the system
TypeSelect Generic

Source Files Type


CSV Separator

the delimiter character

Source Files Folder

Path to the files. Local storage or NAS is supported.

Custom cred

Field for credentials if the NAS requires it.

On Completion

Select the action taken for the successfully imported files.


Timezone of the conversations in the file

Stop words

The list of possible denotations of empty value

Step 4 - Click Save to save the settings

Import / Export

All settings can be imported from, or exported to a JSON format, except the custom credential information.

After pressing the export configuration button the current configuration's JSON file will be available to copy to the clipboard. This configuration can be pasted into a different Verba instance, using the import configuration button.

Configuring CDR field mapping

Mandatory fields

These three pre-defined CDR fields are mandatory in the Verba recording system. It is possible that one of the fields is not specified in the import source, the system will accept any of the two out of the three, and calculate the third one. The Start Time and End Time fields can be configured for the format in the source, for the required time format, please refer to Generic Import Time/Date patterns. The Duration Interval is expected in seconds.

The full list of valid field can be found at Generic Import CDR fields.

Recommended fields

There are two more fields that aren't mandatory, but are highly recommended that at least one of the is set properly for each entry: Recorded Extension or Recorded Party. These fields signal the import source that for each entry in the import files signals which participant should the record be associated to.

For example take a voice type entry with the following fields:

StartTime, EndTime, path, SourceID, DestinationID, Direction, Modality

and this example CSV, where both extension 422 and 433 are set up to be recorded:


Will be saying to the Generic Import source that 422 is calling 433 and the entry has Direction 1 which is PSTN In, meaning that the recording was made from the perspective of 433. All well and good, but this entry will produce

2 CDR entries, because it can't tell that for this single line for which side should the entry be created for, thus it will fall back to creating a CDR record for both 422 and 433.

This is more than likely not what is intended as most systems would make a recording entry for both sides of the communication like so:

2015.11.23.10:23:11.432,2015.11.23.10:25:23.665,"D:/some_path/media_for_433.file",422,433,1,"voice" (Direction PSTN In)

2015.11.23.10:23:11.432,2015.11.23.10:25:23.665,"D:/some_path/media_for_422.file",422,433,2,"voice" (Direction PSTN Out)

In this scenario with the above configuration import source will fall back on making a CDR record for both entries in essence duplicating the number of entries. Making 4 instead of the expected 2.

This is why it is recommended to include the Recorded Extension or Recorded Party in each individual entry like so:

StartTime, EndTime, path, SourceID, DestinationID, Direction, Modality, Recorded Extension



This will produce the expected two records for the two entries, properly associating the unique recording file to the appropriate CDR entry.

Expression types


The constant expression type can be either a pre-defined value or an editable textbox depending on the Field.


The field expression type is a pointer for a value in the source file. As the supported source file types have different structures, the setup for them differs slightly.

The import service is case sensitive for the fields.


For a CSV source file, the name of the column needs to be specified. Using the Column and the number of the call in the list the value can unambiguously defined


For a JSON source file, the required property names and array indexes need to be chained together.["Extensions"][1]["Office"]

The specification used is ECMA-404


For an XML source file,  the required property names and array indexes need to be chained together. The Attribute values can be referered to as well.   

//Extensions/List[1] /Office

The specification used is XML 1.0 3rd edition 


The function expression type is a collection of tools for transforming the source data if needed, and combining fields if one to one mapping is not possible.

The full list of valid Functions can be found at Generic Import functions