Set Up the Sidekick + Zendesk Integration

Prev Next

Sidekick integrates directly with Zendesk to automate customer support conversations. This guide walks you through the steps required to connect your Zendesk instance to Gladly and configure the settings needed for Sidekick to perform reliably.

Zendesk requires a Team, Professional, or Enterprise plan to enable this integration.

Before You Begin

Enable Listening Mode

This step is only relevant to organizations using Structured Threads.

Before configuring the integration, we recommend switching Sidekick V1 into Listening Mode. This prevents replies from being sent to customers until your setup is complete.

To switch to Listening Mode:

  • Your Name (top right) → Behavior → Listening Mode

  • Switch to Live Mode when you are ready for Sidekick to reply.

Using Multiple Zendesk Environments

If you use both UAT and Production, you can integrate both environments. This is the recommended approach.

Part 1: Provision a Seat for Gladly

Sidekick needs its own Zendesk seat to read and reply to customer tickets.

Requirements

Create a new Zendesk user with the following settings:

Field

Value

Email

ai@gladly.com

Role

Admin (recommended) or a custom role

Name

Gladly AI

Why this is required

Sidekick replies to your customers using this seat. Admin permissions provide the most seamless setup. On Enterprise plans, you may create a custom role with limited permissions if preferred.

If your account uses SSO

You must manually trigger a password reset for ai@gladly.com before continuing.

Part 2: Integrate Gladly With Zendesk

Step 1: Add the Zendesk Integration in Gladly

  1. Go to Integrations in Gladly.

  2. Click + Add Helpdesk Integration.

  3. Select Zendesk, then click ADD INTEGRATION.

Step 2: Create Notification Endpoints

Notification Endpoints are the internal URLs your Zendesk instance will call whenever tickets change.

  1. In the Zendesk integration, open Notification Endpoints.

  2. Click + New Notification Endpoint.

  3. Give the endpoint a descriptive name (e.g., Zendesk, US Store, EMEA Brand).

  4. If you have multiple brands or backends, create a separate endpoint for each.

  5. Click Save.

  6. Copy the generated Notification Endpoint URLs — you’ll paste these into Zendesk later.

Step 3: Generate a Zendesk API Token

  1. Open the Zendesk Admin Center.

    1. (Click the Products icon → Admin Center).

  2. Go to Apps and integrationsAPI tokens.

  3. Click Add API token.

  4. Enter a descriptive name.

  5. Save the token.

Copy the token immediately and store it securely

Zendesk will not display the token again.

Step 4: Add Your Zendesk Credentials in Gladly

  1. Return to GladlyIntegrations → your Zendesk integration.

  2. Open the Authorization tab.

  3. Paste your:

    1. API Token

    2. Subdomain

    3. Email (found via your Zendesk avatar → View Profile)

  4. This authorizes Gladly to interact with your Zendesk tickets.

Step 5: Create a Webhook in Zendesk

  1. In the Zendesk Admin Center, go to: Apps and integrations → Webhooks

  2. Click Create webhook.

  3. Choose Trigger or automation → Next.

  4. Fill in:

    1. Name: Gladly

    2. Endpoint URL: Paste the Notification Endpoint URL from Gladly

    3. Request method: POST

    4. Request format: JSON

    5. Authentication: None

  5. Click:

    1. Create Webhook

    2. Finish Setup

    3. Leave without connecting

Step 6: Create the Zendesk Trigger

This trigger tells Zendesk when it should notify Gladly.

  1. In Zendesk Admin Center, go to: Objects and Rules → Triggers

  2. Click Create trigger.

Configure the trigger:

  • Configure Basic Details:

    • Name: Notify Gladly of Ticket Change

    • Category: Initial category

  • Conditions: Meet ALL of the following

    • For single-brand setups, add:

      Category

      Operator

      Value

      Ticket > Brand

      Is

      Your Brand Name

      Ticket > Received at

      Is not

      gladly@<your domain>

      Ticket > Comment

      Is

      Public

      Your Brand Name is found in:

      Admin Center → Account → Brands.

    • For multi-brand setups, choose one of the following approaches:

      • Different AI behavior per brand

        • Create one trigger per brand, each pointing to its own Notification Endpoint in Gladly.

      • Same AI behavior for all brands

        • You may omit the brand condition entirely.

  • Conditions: Meet ANY of the following

    These ensure Gladly is notified for every ticket change.

    Category

    Operator

    Value

    Ticket > Ticket

    Is

    Created

    Ticket > Ticket

    Is

    Updated

Actions

  • Add:

    • Notify byActive webhook → choose the webhook created earlier.

  • In the JSON body, paste exactly:

    {
    "id": {{ticket.id}}
    }
  • Click Save.

  • Your Zendesk integration with Sidekick is now active!

Optional – Testing the Trigger

You can confirm the trigger is firing correctly using two methods:

  1. Trigger Count

  • Check the Triggered counter under

  • Objects and Rules → Triggers.

  • Creating or updating a matching ticket should increase the count.

  1. API Usage

  • Go to: Admin CenterAccountUsageAPI

  • Under “Callers by volume,” you should see activity from your webhook with low or zero errors.

Key Considerations

  • Add Gladly to All Zendesk Groups

    • If Gladly is assigned a ticket but not part of that group, Zendesk will prevent Gladly from unassigning itself.

  • Changes to Required Ticket Fields

    • Adding or modifying required fields may prevent Gladly from solving tickets.

    • If you plan to adjust required fields, notify Gladly so we can update Sidekick flows as needed.

  • Add a Failsafe Automation

    • In rare cases — such as outages — Gladly may not handle a ticket it’s assigned to.

    • Create an automation to unassign Gladly after 1 hour as a safety measure.

  • If using a “Notify requester with email update” trigger

    • Add this to the trigger’s ALL conditions:

      Category

      Operator

      Value

      Ticket > Channel

      Is not

      Web Service (API)