Frontend
Overview
While N2ACD attempts to apply standard defaults across both the flow editor and administration GUIs, there are situations in which site-specific configuration is required. Configuration can be applied for the following features:
Configuration Field | Description |
---|---|
Default Parent Customer | The initial parent customer selected on the customer creation screen. |
Display Timezones | The list of timezones available for users. |
Flow Editor Site | The location of the flow editor application. |
Restrict Announcement Search | Prefix-based or partial name matching in announcement searches. |
Show Start Node | Whether to show the start node in the flow editor. |
Node Types | Flow Editor node-specific configuration. |
User Buffers | Flow Editor user buffer configuration. |
User Counters | Flow Editor user counter configuration. |
Default Parent Customer
A parent customer must always be selected when creating a new customer in N2ACD.
Specifying the default_parent_customer
property in the frontend
configuration block initialises the parent customer selection on the customer creation screen. The setting’s value is the database identifier for the customer.
"frontend": {
"default_parent_customer": 1
, ...
}
Defaults to null
.
Display Timezones
The flow editor and administration GUIs both support timezone compensation for displayed dates and times. A configurable list of display timezones is available to individual users to enable them to choose how they wish to see date/time data displayed across both applications.
The contents of the display_timezones
property in the frontend
configuration block determines which timezones users can select from in both the flow editor and the administration GUI.
"frontend": {
"display_timezones": [
{
"name": "NSW and ACT",
"value": "Australia/Sydney",
"default": true
},
{
"name": "VIC and TAS",
"value": "Australia/Melbourne"
},
{
"name": "QLD",
"value": "Australia/Brisbane"
}
]
, ...
}
Property | Type | Default | Description |
---|---|---|---|
name |
string |
- |
[Required] The display name of the timezone presented to users in the GUIs. |
value |
string |
- |
[Required] The value that is used to apply the timezone adjustment. This must be a valid IANA timezone identifier. |
default |
boolean |
false |
Whether or not the associated display timezone will be assigned to new users the first time they log into either the flow editor or administration GUI. Only one timezone should be configured as the default timezone. |
Defaults to:
"display_timezones": [
{
"name": "New Zealand",
"value": "Pacific Auckland",
"default": true
}
]
Flow Editor Site
The administration GUI displays various flow version references. For ease of use, those references include direct links to the flow editor for the corresponding flow versions.
Some N2ACD deployments co-locate the flow editor and administration GUIs, while others may deploy them separately. Therefore, in order for flow version link URLs to be constructed correctly, the administration GUI needs to be configured with the base path to the flow editor.
Specifying the flow_editor_site
property in the frontend
configuration block enables the adiminstration GUI to construct appropriate link URLs.
"frontend": {
"flow_editor_site": "https://n2acd-flow-editor-uri/n2acd-fe"
, ...
}
Defaults to http://localhost/n2acd-fe
.
Restrict Announcement Search
The announcement search dialog used by various flow editor nodes supports both prefix and partial match search modes.
Search mode is controlled on a system-wide basis by the restrict_announcement_search
property in the frontend
configuration block.
"frontend": {
"restrict_announcement_search": true
, ...
}
Value true
means announcement search will use prefix matching. Announcement search results will include announcements with names that start with the search term.
Value false
means announcement search will use partial matching. Announcement search results will include announcements with names that contain the search term in any part of the announcement name.
Defaults to true
.
Show Start Node
The flow editor allows for the Start node to be hidden if there is at least one other node in the flow.
The visibility of the Start node is controlled by the show_start_node
property in the frontend
configuration block.
"frontend": {
"show_start_node": true
, ...
}
Value true
means the Start node should always be shown.
Value false
means the Start node will be hidden when there is at least one other node in the flow.
Defaults to true
.
Node Types
Various flow editor nodes require or support configuration.
The node-type configuration that only affects the flow editor itself is specified in the node_types
sub-section of the frontend
configuration block.
Defaults to:
"frontend": {
"node_types": {
"Caller Type": {
"type_mappings": {
"international": "International",
"landline": "Landline",
"mobile": "Mobile",
"payphone": "Payphone"
}
},
"Cellsite Routing": {
"cellsites": [
"AKL"
, "WLG"
, "CHCH"
]
}
, "Connect": {
"single_number_only": false
}
, "Menu": {
"exit_render_rule": "hide_empty"
}
, "Proportional Distribution": {
"exit_name_type": "percentage"
}
}
, ...
}
The following nodes can be configured within the node_types
sub-section:
- Business Hours
- Caller Type
- Cellsite Routing
- Connect
- End Call
- Menu
- Proportional Distribution
Business Hours
The Business Hours node and associated Day of Week, Day of Year, and Time of Day nodes have a timezone field. The options available in that field are determined by the values of the Business Hours node’s timezone_list
and allow_caller_timezone
properties.
timezone_list
may be set to one of:
display
: Use thefrontend.display_timezones
timezone list.- an array of IANA timezone identifiers
The default array of IANA timezone identifiers is defined in all_timezones.js
.
When the allow_caller_timezone
property is true
, an additional Caller Timezone
option will be included as the first option in the timezone field. When Caller Timezone
is selected, ACD will use a deployment-specific mechanism to determine the caller’s timezone, and use that timezone for the corresponding node logic.
Defaults to:
"Business Hours": {
"allow_caller_timezone": false
, "timezone_list": ["Africa/Abidjan", "Africa/Accra", "Africa/Addis_Ababa", "Africa/Algiers", "Africa/Asmara", "Africa/Asmera", "Africa/Bamako", "Africa/Bangui", "Africa/Banjul", "Africa/Bissau", "Africa/Blantyre", "Africa/Brazzaville", "Africa/Bujumbura", "Africa/Cairo", "Africa/Casablanca", "Africa/Ceuta", "Africa/Conakry", "Africa/Dakar", "Africa/Dar_es_Salaam", "Africa/Djibouti", "Africa/Douala", "Africa/El_Aaiun", "Africa/Freetown", "Africa/Gaborone", "Africa/Harare", "Africa/Johannesburg", "Africa/Kampala", "Africa/Khartoum", "Africa/Kigali", "Africa/Kinshasa", "Africa/Lagos", "Africa/Libreville", "Africa/Lome", "Africa/Luanda", "Africa/Lubumbashi", "Africa/Lusaka", "Africa/Malabo", "Africa/Maputo", "Africa/Maseru", "Africa/Mbabane", "Africa/Mogadishu", "Africa/Monrovia", "Africa/Nairobi", "Africa/Ndjamena", "Africa/Niamey", "Africa/Nouakchott", "Africa/Ouagadougou", "Africa/Porto-Novo", "Africa/Sao_Tome", "Africa/Timbuktu", "Africa/Tripoli", "Africa/Tunis", "Africa/Windhoek", "America/Adak", "America/Anchorage", "America/Anguilla", "America/Antigua", "America/Araguaina", "America/Argentina/Buenos_Aires", "America/Argentina/Catamarca", "America/Argentina/ComodRivadavia", "America/Argentina/Cordoba", "America/Argentina/Jujuy", "America/Argentina/La_Rioja", "America/Argentina/Mendoza", "America/Argentina/Rio_Gallegos", "America/Argentina/Salta", "America/Argentina/San_Juan", "America/Argentina/San_Luis", "America/Argentina/Tucuman", "America/Argentina/Ushuaia", "America/Aruba", "America/Asuncion", "America/Atikokan", "America/Atka", "America/Bahia", "America/Bahia_Banderas", "America/Barbados", "America/Belem", "America/Belize", "America/Blanc-Sablon", "America/Boa_Vista", "America/Bogota", "America/Boise", "America/Buenos_Aires", "America/Cambridge_Bay", "America/Campo_Grande", "America/Cancun", "America/Caracas", "America/Catamarca", "America/Cayenne", "America/Cayman", "America/Chicago", "America/Chihuahua", "America/Coral_Harbour", "America/Cordoba", "America/Costa_Rica", "America/Cuiaba", "America/Curacao", "America/Danmarkshavn", "America/Dawson", "America/Dawson_Creek", "America/Denver", "America/Detroit", "America/Dominica", "America/Edmonton", "America/Eirunepe", "America/El_Salvador", "America/Ensenada", "America/Fort_Wayne", "America/Fortaleza", "America/Glace_Bay", "America/Godthab", "America/Goose_Bay", "America/Grand_Turk", "America/Grenada", "America/Guadeloupe", "America/Guatemala", "America/Guayaquil", "America/Guyana", "America/Halifax", "America/Havana", "America/Hermosillo", "America/Indiana/Indianapolis", "America/Indiana/Knox", "America/Indiana/Marengo", "America/Indiana/Petersburg", "America/Indiana/Tell_City", "America/Indiana/Vevay", "America/Indiana/Vincennes", "America/Indiana/Winamac", "America/Indianapolis", "America/Inuvik", "America/Iqaluit", "America/Jamaica", "America/Jujuy", "America/Juneau", "America/Kentucky/Louisville", "America/Kentucky/Monticello", "America/Knox_IN", "America/La_Paz", "America/Lima", "America/Los_Angeles", "America/Louisville", "America/Maceio", "America/Managua", "America/Manaus", "America/Marigot", "America/Martinique", "America/Matamoros", "America/Mazatlan", "America/Mendoza", "America/Menominee", "America/Merida", "America/Mexico_City", "America/Miquelon", "America/Moncton", "America/Monterrey", "America/Montevideo", "America/Montreal", "America/Montserrat", "America/Nassau", "America/New_York", "America/Nipigon", "America/Nome", "America/Noronha", "America/North_Dakota/Center", "America/North_Dakota/New_Salem", "America/Ojinaga", "America/Panama", "America/Pangnirtung", "America/Paramaribo", "America/Phoenix", "America/Port-au-Prince", "America/Port_of_Spain", "America/Porto_Acre", "America/Porto_Velho", "America/Puerto_Rico", "America/Rainy_River", "America/Rankin_Inlet", "America/Recife", "America/Regina", "America/Resolute", "America/Rio_Branco", "America/Rosario", "America/Santa_Isabel", "America/Santiago", "America/Santo_Domingo", "America/Sao_Paulo", "America/Scoresbysund", "America/Shiprock", "America/St_Barthelemy", "America/St_Johns", "America/St_Kitts", "America/St_Lucia", "America/St_Thomas", "America/St_Vincent", "America/Swift_Current", "America/Tegucigalpa", "America/Thule", "America/Thunder_Bay", "America/Tijuana", "America/Toronto", "America/Tortola", "America/Vancouver", "America/Virgin", "America/Whitehorse", "America/Winnipeg", "America/Yakutat", "America/Yellowknife", "Antarctica/Casey", "Antarctica/Davis", "Antarctica/DumontDUrville", "Antarctica/Macquarie", "Antarctica/Mawson", "Antarctica/McMurdo", "Antarctica/Palmer", "Antarctica/South_Pole", "Antarctica/Syowa", "Arctic/Longyearbyen", "Asia/Aden", "Asia/Almaty", "Asia/Amman", "Asia/Anadyr", "Asia/Aqtau", "Asia/Aqtobe", "Asia/Ashgabat", "Asia/Ashkhabad", "Asia/Baghdad", "Asia/Bahrain", "Asia/Baku", "Asia/Bangkok", "Asia/Beirut", "Asia/Bishkek", "Asia/Brunei", "Asia/Calcutta", "Asia/Choibalsan", "Asia/Chongqing", "Asia/Chungking", "Asia/Colombo", "Asia/Dacca", "Asia/Damascus", "Asia/Dhaka", "Asia/Dili", "Asia/Dubai", "Asia/Dushanbe", "Asia/Gaza", "Asia/Harbin", "Asia/Ho_Chi_Minh", "Asia/Hong_Kong", "Asia/Hovd", "Asia/Irkutsk", "Asia/Istanbul", "Asia/Jakarta", "Asia/Jayapura", "Asia/Jerusalem", "Asia/Kabul", "Asia/Kamchatka", "Asia/Karachi", "Asia/Kashgar", "Asia/Kathmandu", "Asia/Katmandu", "Asia/Kolkata", "Asia/Krasnoyarsk", "Asia/Kuala_Lumpur", "Asia/Kuching", "Asia/Kuwait", "Asia/Macao", "Asia/Macau", "Asia/Magadan", "Asia/Makassar", "Asia/Manila", "Asia/Muscat", "Asia/Nicosia", "Asia/Novosibirsk", "Asia/Omsk", "Asia/Oral", "Asia/Phnom_Penh", "Asia/Pontianak", "Asia/Pyongyang", "Asia/Qatar", "Asia/Qyzylorda", "Asia/Rangoon", "Asia/Riyadh", "Asia/Saigon", "Asia/Sakhalin", "Asia/Samarkand", "Asia/Seoul", "Asia/Shanghai", "Asia/Singapore", "Asia/Taipei", "Asia/Tashkent", "Asia/Tbilisi", "Asia/Tehran", "Asia/Tel_Aviv", "Asia/Thimbu", "Asia/Thimphu", "Asia/Tokyo", "Asia/Ujung_Pandang", "Asia/Ulaanbaatar", "Asia/Ulan_Bator", "Asia/Urumqi", "Asia/Vientiane", "Asia/Vladivostok", "Asia/Yakutsk", "Asia/Yekaterinburg", "Asia/Yerevan", "Atlantic/Azores", "Atlantic/Bermuda", "Atlantic/Canary", "Atlantic/Cape_Verde", "Atlantic/Faeroe", "Atlantic/Faroe", "Atlantic/Jan_Mayen", "Atlantic/Madeira", "Atlantic/Reykjavik", "Atlantic/South_Georgia", "Atlantic/St_Helena", "Atlantic/Stanley", "Australia/ACT", "Australia/Adelaide", "Australia/Brisbane", "Australia/Broken_Hill", "Australia/Canberra", "Australia/Currie", "Australia/Darwin", "Australia/Eucla", "Australia/Hobart", "Australia/LHI", "Australia/Lindeman", "Australia/Lord_Howe", "Australia/Melbourne", "Australia/NSW", "Australia/North", "Australia/Perth", "Australia/Queensland", "Australia/South", "Australia/Sydney", "Australia/Tasmania", "Australia/Victoria", "Australia/West", "Australia/Yancowinna", "Brazil/Acre", "Brazil/DeNoronha", "Brazil/East", "Brazil/West", "CET", "CST", "CST6CDT", "Canada/Atlantic", "Canada/Central", "Canada/East-Saskatchewan", "Canada/Eastern", "Canada/Mountain", "Canada/Newfoundland", "Canada/Pacific", "Canada/Saskatchewan", "Canada/Yukon", "Chile/Continental", "Chile/EasterIsland", "Cuba", "EET", "EST", "EST5EDT", "Egypt", "Eire", "Etc/GMT", "Etc/GMT+0", "Etc/GMT+1", "Etc/GMT+10", "Etc/GMT+11", "Etc/GMT+12", "Etc/GMT+2", "Etc/GMT+3", "Etc/GMT+4", "Etc/GMT+5", "Etc/GMT+6", "Etc/GMT+7", "Etc/GMT+8", "Etc/GMT+9", "Etc/GMT-0", "Etc/GMT-1", "Etc/GMT-10", "Etc/GMT-11", "Etc/GMT-12", "Etc/GMT-13", "Etc/GMT-14", "Etc/GMT-2", "Etc/GMT-3", "Etc/GMT-4", "Etc/GMT-5", "Etc/GMT-6", "Etc/GMT-7", "Etc/GMT-8", "Etc/GMT-9", "Etc/GMT0", "Etc/Greenwich", "Europe/Amsterdam", "Europe/Andorra", "Europe/Athens", "Europe/Belfast", "Europe/Belgrade", "Europe/Berlin", "Europe/Bratislava", "Europe/Brussels", "Europe/Bucharest", "Europe/Budapest", "Europe/Chisinau", "Europe/Copenhagen", "Europe/Dublin", "Europe/Gibraltar", "Europe/Guernsey", "Europe/Helsinki", "Europe/Isle_of_Man", "Europe/Istanbul", "Europe/Jersey", "Europe/Kaliningrad", "Europe/Kiev", "Europe/Lisbon", "Europe/Ljubljana", "Europe/London", "Europe/Luxembourg", "Europe/Madrid", "Europe/Malta", "Europe/Mariehamn", "Europe/Minsk", "Europe/Monaco", "Europe/Moscow", "Europe/Nicosia", "Europe/Oslo", "Europe/Paris", "Europe/Podgorica", "Europe/Prague", "Europe/Riga", "Europe/Rome", "Europe/Samara", "Europe/San_Marino", "Europe/Sarajevo", "Europe/Simferopol", "Europe/Skopje", "Europe/Sofia", "Europe/Stockholm", "Europe/Tallinn", "Europe/Tirane", "Europe/Tiraspol", "Europe/Uzhgorod", "Europe/Vaduz", "Europe/Vatican", "Europe/Vienna", "Europe/Vilnius", "Europe/Volgograd", "Europe/Warsaw", "Europe/Zagreb", "Europe/Zaporozhye", "Europe/Zurich", "GB", "GB-Eire", "GMT", "GMT+0", "GMT-0", "GMT0", "Greenwich", "HST", "Hongkong", "Iceland", "Indian/Antananarivo", "Indian/Chagos", "Indian/Christmas", "Indian/Cocos", "Indian/Comoro", "Indian/Kerguelen", "Indian/Mahe", "Indian/Maldives", "Indian/Mauritius", "Indian/Mayotte", "Indian/Reunion", "Iran", "Israel", "Jamaica", "Japan", "Kwajalein", "Libya", "MET", "MST", "MST7MDT", "Mexico/BajaNorte", "Mexico/BajaSur", "Mexico/General", "NZ", "NZ-CHAT", "Navajo", "PRC", "PST", "PST8PDT", "Pacific/Apia", "Pacific/Auckland", "Pacific/Chatham", "Pacific/Easter", "Pacific/Efate", "Pacific/Enderbury", "Pacific/Fakaofo", "Pacific/Fiji", "Pacific/Funafuti", "Pacific/Galapagos", "Pacific/Gambier", "Pacific/Guadalcanal", "Pacific/Guam", "Pacific/Honolulu", "Pacific/Johnston", "Pacific/Kiritimati", "Pacific/Kosrae", "Pacific/Kwajalein", "Pacific/Majuro", "Pacific/Marquesas", "Pacific/Midway", "Pacific/Nauru", "Pacific/Niue", "Pacific/Norfolk", "Pacific/Noumea", "Pacific/Pago_Pago", "Pacific/Palau", "Pacific/Pitcairn", "Pacific/Ponape", "Pacific/Port_Moresby", "Pacific/Rarotonga", "Pacific/Saipan", "Pacific/Samoa", "Pacific/Tahiti", "Pacific/Tarawa", "Pacific/Tongatapu", "Pacific/Truk", "Pacific/Wake", "Pacific/Wallis", "Pacific/Yap", "Poland", "Portugal", "ROC", "ROK", "Singapore", "Turkey", "US/Alaska", "US/Aleutian", "US/Arizona", "US/Central", "US/East-Indiana", "US/Eastern", "US/Hawaii", "US/Indiana-Starke", "US/Michigan", "US/Mountain", "US/Pacific", "US/Pacific-New", "US/Samoa", "UTC", "W-SU", "WET"]
}
Caller Type
The Caller Type node supports configuration of the available caller types via the type_mappings
property.
type_mappings
is an object of types mapped to display names.
Defaults to:
"Caller Type": {
"type_mappings": {
"international": "International",
"landline": "Landline",
"mobile": "Mobile",
"payphone": "Payphone"
}
},
Valid key values are:
international
landline
mobile
payphone
Cellsite Routing
The Cellsite Routing node supports configuration of the available cellsites via the cellsites
property.
cellsites
is an array of cellsite labels.
Defaults to:
"Cellsite Routing": {
"cellsites": [
"AKL"
, "WLG"
, "CHCH"
]
}
Connect
The Connect node supports various configuration properties.
Configuration Field | Type | Default | Description |
---|---|---|---|
single_number_only |
boolean |
false |
Whether or not to allow a sequence of termination numbers to be specified in a single connect node. |
Defaults to:
"Connect": {
"single_number_only": false
}
End Call
The End Call node has a reason field within its advanced options. The options available in that field are determined by the contents of the End Call node’s reasons
property.
"End Call": {
"reasons": [
{ "key": "route_select_failure", "description": "route select failure (INAP 3 / SIP 404)" }
, { "key": "busy", "description": "busy (INAP 17 / SIP 486)" }
, { "key": "no_answer", "description": "no answer (INAP 19 / SIP 480)" }
, { "key": "normal_unspecified", "description": "normal, unspecified (INAP 31 / SIP 603)" }
]
}
Property | Type | Description |
---|---|---|
key |
string |
[Required] A unique identifier for the reason. |
description |
string |
[Required] The option label to display in the flow editor’s reason field. |
Defaults to:
"End Call": {
"reasons": []
}
Menu
The Menu node supports various configuration properties.
Configuration Field | Type | Default | Description |
---|---|---|---|
exit_render_rule |
enumerated |
hide_empty |
Controls which exits should be shown:show_all : show all exits, regardless of whether they’re connected or not.between : show the exits between and including the first connected exit and last connected exit.hide_empty : only show the connected exits. |
Defaults to:
"Menu": {
"exit_render_rule": "hide_empty"
}
Proportional Distribution
The Proportional Distribution node supports various configuration properties.
Configuration Field | Type | Default | Description |
---|---|---|---|
exit_name_type |
enumerated |
percentage |
Controls exit names/labels:weight : show the configured proportions.percentage : show percentages calculated from the configured proportions. |
default_proportion_value |
integer |
50 | The default value used for the proportions. |
Defaults to:
"Proportional Distribution": {
"exit_name_type": "percentage"
, "default_proportion_value" : 1
}
User Buffers
Several N2ACD nodes including the User Input node use buffers for input and/or output.
The contents of the user_buffers
property in the frontend
configuration block determines which buffers are available for selection in the flow editor.
"frontend": {
"user_buffers": [
{
"id": "buffer1"
, "name": "Buffer 1"
, "default": true
}
, {
"id": "buffer2"
, "name": "Buffer 2"
}
]
, ...
}
Property | Type | Default | Description |
---|---|---|---|
id |
string |
- |
[Required] A unique identifier for the buffer. |
name |
string |
- |
[Required] The option label to display in the flow editor buffer fields. |
read_only |
boolean |
false |
Whether or not the associated buffer is read-only, and therefore can only be used as a source. |
default |
boolean |
false |
Whether or not the associated buffer will be selected by default in node buffer fields. Only one buffer should be configured as the default buffer. |
Defaults to:
"user_buffers": [
{
"id": "Calling Party Number"
, "name": "Calling Party Number"
, "read_only": true
, "default": true
}
, {
"id": "Dialled Number"
, "name": "Dialled Number"
, "read_only": true
}
, {
"id": "Mobile Location ID"
, "name": "Mobile Location ID"
, "read_only": true
}
, {
"id": "Original Called Number"
, "name": "Original Called Number"
, "read_only": true
}
]
, ...
User Counters
The Set Counter, Increment Counter, and Branch Counter nodes enable counter-based flow control.
The contents of the user_counters
property in the frontend
configuration block determines which counters are available for selection in the flow editor.
"frontend": {
"user_counters": [
{
"id": "counter1"
, "name": "Counter 1"
}
, {
"id": "counter2"
, "name": "Counter 2"
}
]
, ...
}
Property | Type | Description |
---|---|---|
id |
string |
[Required] A unique identifier for the counter. |
name |
string |
[Required] The option label to display in the flow editor counter fields. |
Defaults to:
"user_counters": [
{
"id": "Loop Counter"
, "name": "Loop Counter"
}
]
, ...