# Zendesk App

## Overview

The Rep.ai Zendesk is a native Zendesk application that allows you to view visitors actions on your site directly from Zendesk. When viewing a visitor's session you can annotate the screen, takeover their mouse and keyboard and request a full screen share.

<figure><img src="/files/BKIiP0GXIpXBy3nJdBN1" alt=""><figcaption></figcaption></figure>

## Install

### Prerequisites

* Administrator access to Zendesk
* Zendesk widget installed on your website.
* Ability to add/update script tags and on your website.&#x20;
* Mechanism for identifying visitors on your website and assigning them an id or email address.

### Install the app in your Zendesk instance.

1. Download the Rep.ai Zendesk App zip file from [here](https://servicebell-zendesk-app.s3.amazonaws.com/servicebell-zendesk-app-20220922-1.zip)
2. Follow the instructions [here](https://developer.zendesk.com/documentation/apps/getting-started/uploading-and-installing-a-private-app/#uploading-and-installing-a-private-app-in-zendesk) to install the application in your Zendesk instance.

### Install and configure Rep.ai widget.

1. Follow the [Quickstart Instructions](/master.md) to install the Rep.ai widget on your site.
2. Configure the display and location of the widget so it does not conflict with the Zendesk widget. The Rep.ai widget can be positioned in the opposite corner or hidden altogether. Configure the display in the "Position & Visibility" section of the Rep.ai [settings page](https://app.rep.ai/settings/widget?expand=position-visibility).

### Identify Rep.ai Visitors

You'll need to inform Rep.ai of a website visitor's identity. This is how Rep.ai associates website visitors with Zendesk users. There are two pieces of metadata Rep.ai can use to associate a visitor with a Zendesk user, email address and external\_id. If your Zendesk installation is already assigning external\_ids that is the best way to make the association. For more information on assigning an external ID in Zendesk see their [docs](https://developer.zendesk.com/documentation/custom-data/profiles/using-external-id-with-profiles/).

Go to [Custom Visitor Identities](/custom-user-identities.md) to learn how to use the Rep.ai api to identify visitors.

When identifying visitors add their "email" to the metadata and use the Zendesk external\_id as the "Custom ID". If you are not assigning an external\_id use a [UUID](https://www.npmjs.com/package/uuid) or other unique id for "Custom ID"

#### Code Sample

```javascript
RepAI("identify",
  ZENDESK_EXTERNAL_ID_OR_UUID, // String or integer, replace with Zendesk external_id or your own custom unique value
  {
    email: "daniel@rep.ai", // Changes the email of the visitor in the dashboard
  },
);
```

## Usage

1. Ask your Rep.ai administrator to invite you to the Rep.ai organization if you are not already a member.

2. Accept the invitation and follow the instructions or log in to Rep.ai if you were already a member.

3. Close the Rep.ai dashboard and open Zendesk.

4. Navigate to a ticket. If possible choose a ticket for a user that is currently on the site, active chat conversations are a good candidate.

5. Click the grid icon on the right side of the ticket.

   <figure><img src="/files/3lfyeUfwc4NEzu5J3h4q" alt=""><figcaption></figcaption></figure>

6. Click the down chevron next to the Rep.ai app. If the chevron is pointed up then the app is already open and loading.

   <figure><img src="/files/1qaFI4ohuA6q74eAQIzu" alt=""><figcaption></figcaption></figure>

7. If the Zendesk user is currently on the site you can now view their browser session and interact with them in real time. Use the toolbar at the top to:
   1. Control - request permission to take over their mouse & keyboard remotely.
   2. Draw - Annotate the page with a drawing tool. Be your own[ John Madden](https://www.wired.com/1999/01/john-madden-on-gridiron-tech/).
   3. Request Screenshare - Ask the visitor to share their entire desktop when seeing their browser session is not enough.

<figure><img src="/files/hrSEvsdHVdLOivJxwwI7" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.rep.ai/experimental/zendesk-app.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
