CSV File
GAX uses comma-separated value (CSV) files for the import\export of bulk updates to Agents. This section describes the format of the CSV file and provides some examples.
File Format
The source file is a text file in a comma-separated (CSV) format.
In the source file each line represents a single user or agent. The same user or agent can appear in the source file only once. The unique identifier of the user in the scope of the source file is the Username field.
The columns of the file are the properties of a user or an agent. The first row in the file has column names to identify the fields. The order of the columns is not important. A comma is inserted after each column header or value, or if the column does not have a value, immediately after the previous comma. Any non-mandatory column can be omitted from the source file, depending on user preference and/or the purpose of the file.
The source file contains the following properties for each user/agent:
Name | Type | Mandatory | Description |
---|---|---|---|
Action | ADD, UPDATE | Yes | Specifies the action to be taken with this agent data, either create a new agent (ADD) or modify the existing agent (UPDATE).
This column is added automatically by GAX when a file is exported, with a value of UPDATE for all records in it. If you create the source file from scratch, you must add this column manually. In either case, this field is mandatory, and you must provide a value for each record. |
First Name | String | Yes | The first name of the User/Agent |
Last Name | String | Yes | The last name of the User/Agent |
Employee Id | String | Yes | The employee identifier of the User/Agent |
Username | String | Yes | The username of the User/Agent |
Password | String | No | The password to be used with Username |
Password change | Boolean (Y or N) | No | Does the User/Agent need to update his or her password when he or she next logs on? |
Is Agent | Boolean | Yes | Determines if the record represents a user or an agent; script functionality differs between them. |
External Id | String | No | An external identifier |
Email address | String | No | E-mail address of the User/Agent; normally it is the same as Username. |
Extension | numeric string | No | The default extension of the Agent. If an extension is present, default Place creation is triggered. |
Enabled | Boolean | No | The state of the user—Y=enabled, N=disabled |
Folder | String | Yes | Folder and path to the root folder (Persons) where the User/Agent will be created; for example, Company/Department/Team |
Relational Columns
In addition to properties and folders, each row may contain relations between the User/Agent to other configuration objects, in particular Switches, Agent Groups, Skills and Access Groups. Every instance of a Switch, Agent Group, Access Group or Skill object will have a separate column in the source file. For example, if there are 10 Agent Groups, 1 Switch, 15 Skills and 4 Access Groups, there will be 30 additional columns in the source file, each one representing each configuration object. All relational columns are optional.
Each header for a relational column consists of the object type and the object name, which will form a unique column name. So, for example, there cannot be two Skills which have the same name, but a Skill object may have the same name as some Switch object.
Naming and value rules of relational columns are given in the following table:
Type | Column Name | Valid Values |
---|---|---|
Switch | Switch:<switch name> | Y – Create an Agent Login for this Agent on this Switch N – Remove the Agent Login for this Agent from this Switch <empty> - No action |
Agent Group | AgentG:<agent group name> | Y – Add this Agent to this Agent Group N – Remove this Agent from this Agent Group <empty> - No action |
Access Group | AccessG:<access group name> | Y – Add this User/Agent to this Access Group N – Remove this User/Agent from this Access Group <empty> - No action Important The Default Access Group specified in System Preferences does not apply when using bulk uploads, since the Access Group for the Agent is specified in the CSV file. |
Skill | Skill:<skill name> | <number> - Assign this Skill to this Agent with this Skill Level N – Remove this Skill from this Agent <empty> - No action |
Example
The following data is to be uploaded to GAX to create three Agents:
Action | First Name | Last Name | Employee Id | Username | Is Agent | External Id | Extension | Skill:English | Switch: San Fran | Switch: London | AgentG:Good | AccessG: Super | Folder |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ADD | Sarah | Lee | 223344 | sarahl@acme.com | N | Y | Acme/Branch/Team 1 | ||||||
ADD | John | Doyle | 223465 | johnd@acme.com | Y | 2233 | 1 | Y | N | Y | Acme/Branch/Team 2 | ||
ADD | Robert | Cook | 244456 | bobc@acme.com | Y | 2356 | 5 | Y | Y | Acme/Branch/Team 3 |
The contents of the CSV file for this data looks like this:
ADD,Sarah,Lee,223344,sarahl@acme.com,N,,,,,,,Y,Acme/Branch/Team 1
ADD,John,Doyle,223465,johnd@acme.com,Y,,2233,1,Y,N,Y,,Acme/Branch/Team 2
ADD,Robert,Cook,244456,bobc@acme.com,Y,,2356,5,Y,,Y,,Acme/Branch/Team 3