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.
Note: Routing trigger does not affect personal queue requests, because personal queue requests go directly to a CSR's inbox without routing.

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&amp;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.