Routing Trigger
The routing trigger is a site level configuration. It allows third-party systems to override WebACD's built-in routing functions, so that they can provide their own routing control.
Routing trigger is a URL. It allows the WebACD server to respond to an incoming request and asks a third-party application to perform the routine function. When the routing trigger is enabled for a site, then the following WebACD routing logics are disabled for all queues:
- Rules.
- Hours of Operation.
- Request Distribution.
- Wait Notification.
- Leave-Message - except leave-message form selection.
WebACD Variables
Variable | Description |
---|---|
QueueID | Unique identifier for the queue. |
QueueName | Name of the queue. |
CSRID | Unique identifier for the CSR. |
CSRName | Name of the CSR. |
RequestID | Unique identifier for the request. |
RoutingTime | Third-party ID to identify a routing request. |
RequestID | Request time. |
CustomerData | The CustomerData field contains all fields from it's entry-form, plus other data from third-party plug-ins such as TicketID and Ticket URL. |
Routing Trigger Return
Response from routing trigger can either return a CSR or a pending request. It is likely that a third-party routing application returns CSRs that either do not belong to the request's incoming queue or do not monitor a queue. In that case the WebACD server will re-send the routing request to a third-party routing engine again for a maximum of three times. After three attempts, if the third-party routing application still does not return any CSR that monitors the incoming queue, at the customer site, it will show a leave-message form. The Routing Trigger returns SOAP data in the following format:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | <? xml version = "1.0" encoding = "UTF-8" ?>< br > < SOAP-ENV:Envelopexmlns:SOAP-ENV = < SOAP-ENV:Body > < ns1:RoutingTriggerResponse SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/ " xmlns:ns1 = "urn:company.webex.com/WebACDService" > < execute > < task >RoutingTriggerResponse</ task > < XML > < ReturnCode >0</ ReturnCode > < ErrorMessage >Error message</ ErrorMessage > < requestID >request ID</ requestID > < queueID >queue ID</ queueID > < routingID >routing ID</ routingID > < CSRs > < CSR > < CSRID >nnn</ CSRID > < CSRName >xxx</ CSRName > </ CSR > </ CSRs > </ XML > </ execute > </ ns1:RoutingTriggerResponse > </ SOAP-ENV:Body > </ SOAP-ENV:Envelope > |
Routing Trigger Return Elements
Element Name | Value(s)/Limits | Description | Required |
---|---|---|---|
ReturnCode |
Possible values: 1: Pending routing. 100+: WebACD internal routing error code. 200+: third-party routing error code. |
Routing trigger return code. | Yes. |
ErrorMessage | N/A | Routing trigger error message. | Yes, if the return code is greater than 99. |
RequestID | Request ID passed to third party | WebACD request ID. | Yes. |
QueueID | N/A | WebACD queue ID. | |
RoutingID | N/A | Unique third-party identifier for a routing request. | |
CSRs | N/A | Qualified CSR elements. | Yes, if return code is 0. |
CSR | N/A | Qualified CSR. | Need at least one CSR element if the return code is 0. |
ID | N/A | Unique Webex CSR ID. | Yes. |
Name | N/A | Webex CSR name. |
Timeout for Third-party Routing Request
If a routing trigger is enabled, the middleware subsequently makes the call to the WebACD server through the SOAP API for Routing Trigger Notification. If the middleware does not call the WebACD server API to re-route a request that was not accepted by any CSR then the WebACD server will remove the request after N minutes and the customer site will show a leave-message form.
Runtime Exception Handling
When a runtime exception occurs while routing a URL, a leave-message form is shown on the customer side.
Routing Trigger can generate the following errors:
- Invalid URL.
- Return is not 200: Any HTTP return code other than one in the HTTP 200s is an invalid return.
- URL contains invalid WebACD variables.
- Routing URL returns an error code.
- Returns invalid data. See Routing Trigger Return Elements for more detail.
When any of the above errors happen, a leave-message page is shown at the customer side. At the same time, the WebACD server does the following:
- Sends an error notification email to the Routing Trigger system error email recipient. This error notification is sent every 30 minutes. If more than one error is generated during a 30 minute period, only one email is sent per site.
See Routing Error Notification Email Template for more details. - Logs an error in the WebACD server log. The log contains the following information:
- SiteID.
- Routing URL.
- Request ID.
- Error Code.
- Error Message.
Routing Cancellation Trigger
WebACD sends a routing cancellation trigger to a third-party application after the customer cancels the request and the request is still in pending status for third-party routing.
Routing Cancellation Trigger
The Webex site administrator defines routing cancellation trigger in the Webex Site Admin WebACD Settings page. It has the form: https://www.xyzcorp.com/route cancel?AUTH ID=webacd&PSWD=pass Where %customer_name% and %email% are WebACD variables. The site administrator can use any available WebACD variables and the WebACD server will replace those variables at runtime with the customer's data and send the URL to the third-party routing server. At runtime, routing URL will be resolved as: https://www.xyzcorp.com/route cancel?AUTH ID=webacd&PSWD=pass&REQUESTID= xxxxxx
Routing Cancellation Return
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <? xml version = "1.0" encoding = "UTF-8" ?> < SOAP-ENV:Envelope < SOAP-ENV:Body > < ns1:RoutingCancelTriggerResponse SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/ " xmlns:nsl = "urn:company.webex.com/company/webacd/acd.wbx" "> < ReturnCode >0</ ReturnCode > < ErrorMessage >Error message</ ErrorMessage > < RequestID >####</ RequestID > ;</ ns1:RoutingCancelTriggerResponse > </ SOAP-ENV:Body > </ SOAP-ENV:Envelope > |
1 | |
Routing Cancellation Return Elements
Element Name | Value(s)/Limits | Description | Required |
---|---|---|---|
ReturnCode |
Possible Values: 100+: WebACD internal routing error. 200+: Third-party routing error. |
Routing Cancellation URL return codes. | Yes. |
ErrorMessage | N/A | Routing trigger error message. | Yes, if the return code is greater than 99. |
RequestID | Request ID passed to a third-party. | Unique WebACD request ID. | Yes. |
Runtime Exception Handling
When a runtime exception occurs while routing a URL, a leave-message form is shown on the customer side.
Routing Cancellation Trigger can generate the following errors:
- Invalid URL.
- Return is not 200: Any HTTP return code other than one in the HTTP 200s is an invalid return.
- URL contains invalid WebACD variables
- Routing URL returns an error code.
- Returns invalid data. See Table 5-2 for more detail.
When any of the above errors happen, a leave-message page is shown at the customer side. At the same time, the WebACD server does the following:
- Sends an error notification email to the Routing Cancellation Trigger system error email recipient. This error notification is sent every 30 minutes. If more than one error is generated during a 30 minute period, only one email is sent per site. See "Routing Error Notification Email Template" on page 40 for more details.
- Logs an error in the WebACD server log. The log contains the following information:
- SiteID.
- Routing Cancellation URL.
- Request ID.
- Error Code.
- Error Message.
Routing Error Notification Email Template
This section describes the routing error notification template. WebACD sends routing error notification email to it's recipient when there is a run time routing error. The routing error notification is configurable in the Webex Site Admin WebACD Setting page.
Email Template
The following is the email template used by WebACD.
Email Name | WebACD Routing Error Notification Email |
From | WebACD System |
To | WebACD System |
Subject Line | Third-party Routing Trigger Runtime Error |
Message |
This is a notification to let you know the following runtime error for a third-party routing trigger. URL:%URL% ErrorCode:%ErrorCode% ErrorMessage%ErrorMessage% |
The following are the variables used in the email template.
Routing Error Notification Email Template Variables
Variable Name | Value |
---|---|
URL | For Routing Trigger error, use Routing Trigger URL. For Routing Cancellation Trigger error, use Routing Trigger URL. |
ErrorCode | Error code from routing trigger or routing cancellation trigger. |
ErrorMessage | Error message from routing trigger or routing cancellation trigger. |
CSR Status on WebACD
There are four possible statuses for a CSR:
- Available: Can take more requests.
- Busy: Has reached it's maximum capacity.
- Unavailable: Cannot take more requests.
- Disconnect: Not logged in.
CSR Status on WebACD and Third-party Routing
There are four possible statuses for a CSR:
- Available: Can take more requests.
- Busy: Has reached it's maximum capacity.
- Unavailable: Cannot take more requests.
- Disconnected: Not logged in.
Third-party Routing Authentication
Routing trigger authentication is as per HTTP request basis and must follow SSL protocols. The routing trigger URL should contain authentication information as a part of the URL parameters, such as pass AUTH_ID and Password in the URL.