This tutorial describes the Tech Support Interaction, one of the Interactions that is provided to demonstrate Zendesk integration. At the end of this Interaction flow, a Zendesk ticket is automatically created by using an Integration Point. Information collected throughout the Interaction (e.g., ticket subject) is used by the Integration Point during ticket generation. 

Since Integration Points for Zendesk integration are not provided out-of-the-box, the second part of the tutorial explains how to create an Integration Point for this purpose.

Designing the Interaction Flow

The Tech Support Interaction is an example of an flow that agents can use in Pre-ticket mode. The flow involves determining the nature of the caller's issue. If certain criteria are met, a support ticket is automatically created. 

The phases of the Interaction are explained in detail in the sections following the diagram. 

Note: The diagram below shows only a partially completed Interaction flow, for the purpose of illustration.

Phase 1: Collecting Customer Information
In this phase, customers are asked for their name and email address. These values (as well as any others that you define, such as Subscription Type) are allocated into variables. For example:

In runtime, the values are displayed to the agent in the Information pane of the Jacada Ticket Guidance application.

Phase 2: Determining Query Type
This phase involves answering a multi-choice question. Agents select the category that most closely matches the caller's issue. In our example, the agent selects Device failure.

Phase 3: Creating the Ticket Subject
At this point, the value of the Zendesk variable Ticket subject is assigned, using an Allocator. This value will later be passed to the Integration Point that creates the ticket.

Phase 4: Determining Device Status
In this part of the Interaction, the caller is asked a series of questions. In our example, the customer's device has power, and an error code is displayed on the device. In the last question, which is an input question, the agent is prompted to enter the error code before continuing with the Interaction.

Phase 5: Running the Integration Point
Entering an error code triggers the Create Ticket Integration Point to run, and a Zendesk ticket is created. This phase of the Interaction is transparent to the agent, who immediately sees the Statement described in the next phase.

Phase 6: Displaying Ticket Data
In the final step of the Interaction, the agent is shown a Statement that displays ticket information and prompts for what to tell the customer. Note that the values for the error code (4444) and the ticket subject (Device failure) are taken from the Interaction. The ticket identifier (71) is returned by the Integration Point.

Creating the Integration Point

An Integration Point is a call to a web service that retrieves information from an external data source. This part of the tutorial explains how to build a REST Integration Point that creates a ticket in Zendesk. 

Note: For detailed information about Integration Points, refer to Utilizing External Data Sources.

To design an Integration Point that creates a Zendesk ticket:

  1. From the Resources menu of the Admin Console, select Integration Points.
    The Web Service Integration Points page opens. 
  2. At the upper right corner of the page, click Add, and then select REST.

    The New Rest Integration Point wizard opens.

  3. In the REST Url field, enter the endpoint URL for Zendesk ticket creation. Be sure to include the identifier for your Zendesk account in the URL.
    For example:
  4. From the Request Type dropdown list, select POST.
  5. In the Request Headers field, add a line and enter your authentication credentials. For successful authentication, base64 encoding needs to be used on either an API token, or on your Zendesk credentials.

    Basic Access Authentication

    In this case, authentication is done against your Zendesk account credentials (as shown in this tutorial scenario). As an example, assume that your authentication credentials are zendeskUser:zendeskPassword. Following encoding using basic access authentication, the credentials are emVuZGVza1VzZXI6emVuZGVza1Bhc3N3b3Jk
    For more information about basic access authentication, click here.

    Enter the credentials in the Request Headers field using the following format:
    Authorization: Basic <encoded credentials>
    For example:

    API Token Authentication

    In this case, the API token used to authenticate against the Zendesk server is base64 encoded and passed in the request header. If you have an API token, you may use it anytime (instead of basic access authentication). An API token must be used if you authenticate to Zendesk using Active Directory (or any other external server).

    As an example, assume that your authentication credentials are Following base64 encoding, the credentials are emVuZGVza1VzZXJAZXhhbXBsZS5jb20vdG9rZW46QVBJVG9rZW4=
    For more information about API token authentication, click here.

    Enter the credentials in the Request Headers field using the following format:
    Authorization: Basic <encoded credentials>
    For example: Authorization: Basic emVuZGVza1VzZXJAZXhhbXBsZS5jb20vdG9rZW46QVBJVG9rZW4=

  6. In the Request Body field, enter parameters from the Interaction that will be used in the creation of the ticket. For example:
    "comment": { "body": "${comment}" },
    "priority": "${priority}"

  7. At the upper right corner of the page, click Next.
    The Request page is displayed.
  8. For each parameter, in the Variable Type column, select the appropriate parameter type. Then, if desired, in the Variable Name column, change the default name to a more meaningful name. The name assigned in this column is the one displayed to users in the Interaction Designer.
  9. Click Next
    The Response page is displayed, with basic response mapping displayed by default.
  10. Click the link at the bottom of the page to display advanced response mapping. Then, for each required response parameter, enter a parameter name and variable name, and select the appropriate variable type. To add a new row, click Add.
    In the following example, the Integration Point will return the identifier and subject of the new ticket.

  11. Click Next.
    The Definition page is displayed, listing the request and response parameters.
  12. At the top of the page, enter a relevant name and description in the appropriate fields. For example:

  13. At the upper right corner of the page, click Create.
    A confirmation message appears, and the Finished page is displayed.

  14. To exit the wizard, click Done

Note: If desired, you may test the Integration Point by clicking Test. This navigates you to the Test Integration Point page. For details, refer to Testing Integration Points.