Create Source Map
|
Creates a legend or map used to interpret data structures between the CXone system and your CRM Third-party systems that manage such things as contacts, sales information, support details, and case histories.. |
Dependencies
Create Source Map is for use with Proactive XS only.
Supported Script Types
|
Phone |
Input Properties
These properties define data that the action uses when executing.
Property |
Description |
---|---|
Caption |
Enter a short phrase that uniquely identifies this action in the script. The caption appears on the script canvas under the action icon. |
SourceName | The name of the source where the records originated. Provides a logical grouping of records within the system. If you have an invalid or missing source map, you may receive a Missing External ID error. |
Mapping | The dynamic data structure that enables the CXone system to interpret the data from your system (CRM). |
Result Branch Conditions
Result branch conditions allow you to create branches in your script to handle different outcomes when an action executes.
Condition |
Description |
---|---|
Default | Path taken unless the script meets a condition that requires it to take one of the other branches. It is also taken if the action's other branches are not defined. |
InvalidSource | Path taken if the source name provided does not exist. |
InvalidRootNode | Path taken if CXone cannot determine the presence of a system field or a custom definition for that field name. |
InvalidFieldName | Path taken if CXone cannot determine the presence of a system field or a custom definition for that field name. |
MissingRequiredField | Path taken if a required field necessary to process the contact is not found. Required fields include a phone number field and ExternalID. |
Error | Path taken when the action fails to execute properly. For example, when there is an unexpected problem such as poor connectivity, syntax errors, and so on. The _ERR variable, with a single underscore character, should be populated with a condensed explanation of the problem. |
FieldsInUseCantApply | Path taken if there is an attempt made to change or remove a value currently in use by a filter. |
NoChangesMade | Path taken if the mapping between CXone and your system match exactly. |
ExceededMaxDestinations | Path taken if the number of phone numbers per contact exceeds the designated amount. For example, if the system allows for six numbers per contact and you provide seven, the system would follow this branch. |
Mapping Fields
In conjunction with the Create Source Map action, you must include a
- Address
- Agent
- CallerID
- CallRequestStaleMinutes
- City
- Compliance
- ConfirmationRequired
- CustomerField1
- CustomerField2
- ExternalID
- FirstName
- LastName
- Notes
- PhoneNumber
- PreferredCallTime
- Priority
- Score
- State
- TimeZone
- Zip
You can also map to Custom Data Definition you created in CXone.
This is an example to show how this action can be used in scripts. It is not intended to be a complete script. Additional scripting may be required.
The script shown below can be used to retrieve a source map (using Get Source Map) or to create a new source map (using Create Source Map). Take notice of all the mappings coming off the Create Source Map, which enable the records coming from the CRM to be dialed.
This script contains two
The Make Changes Here GET SOURCE snippet contains the following line of code
ASSIGN sourceName = "Nick Desk"
The Make Changes Here CREATE SOURCE snippet contains the following code:
DYNAMIC testData
// CHANGE BELOW VALUE DEPENDING ON TEST
ASSIGN switchValue = "No Changes Made"
SWITCH switchValue
{
CASE "Invalid Source"
{
sourceName = "I Don't Exist"
}
CASE "Invalid Root Node"
{
testData.Fail.Phone = ""
}
CASE "Invalid Field Name"
{
testData = initialResult
testData.Mappings.MyCustomField = ""
}
CASE "Missing Required Fields"
{
testData.Mappings.City = "City"
testData.Mappings.State = "State"
}
CASE "Field In Use Cant Apply"
{
// Switch ValueString with a CDD or SDD that you currently have applied to a source and using to filter
testData = initialResult
testData.Mappings.FilterOnMe = "City"
}
CASE "No Changes Made"
{
// Don't Change anything just pass in the exact same mapping we've already got
testData = initialResult
}
CASE "Create Mapping System"
{
// SYSTEM DATA DEFINITIONS
testData = initialResult
testData.Mappings.TimeZone = "Time Zone"
testData.Mappings.Compliance = "Is Cell Phone"
testData.Mappings.ConfirmationRequired = "Confirmation Required"
testData.Mappings.CallerID = "Caller ID"
testData.Mappings.Score = "Score"
testData.Mappings.CustomerField1 = "Customer Field 1"
testData.Mappings.CustomerField2 = "Customer Field 2"
testData.Mappings.ExternalID = "External ID"
testData.Mappings.Priority = "Priority"
testData.Mappings.Zip = "Zip"
testData.Mappings.State = "State"
testData.Mappings.City = "City"
testData.Mappings.Address = "Address"
testData.Mappings.LastName = "Last Name"
testData.Mappings.FirstName = "First Name"
testData.Mappings.PhoneNumber = "Phone Number"
}
CASE "Update Mapping System"
{
// SYSTEM DATA DEFINITIONS
testData = initialResult
testData.Mappings.TimeZone = "My TimeZone"
testData.Mappings.ConfirmationRequired = "Requires Confirmation"
testData.Mappings.CallerID = "Phone Number"
testData.Mappings.State = "Contacts State"
}
CASE "Create Mapping Custom"
{
// CUSTOM DATA DEFINITIONS
testData = initialResult
testData.Mappings.YourCDDName = "[COLUMN TO MAP IT TO]"
}
CASE "Update Mapping Custom"
{
// CUSTOM DATA DEFINITIONS
testData = initialResult
testData.Mappings.YourCDDName = "[COLUMN TO MAP IT TO]"
}
}