Zendesk
ClearFeed offers a highly configurable bi-directional integration between Slack & Zendesk, enabling triaging of Slack requests using AI, filing Zendesk tickets using structured intake forms, allowing agents to work on synced tickets from either Slack and Zendesk and consolidating all ticket data including CSAT in Zendesk.
Getting Started Resources
For a quick getting started guide on how to use ClearFeed for providing Customer Support on Slack in conjunction with Zendesk, see: Using an External Ticketing System
To understand how Requests and Tickets work in ClearFeed, see: Requests, Tickets and Tasks
Table of Contents
Integrate Zendesk
The ClearFeed user connecting to Zendesk should have an account on Zendesk and must be using the same email address on both platforms.
The integration can only be authorized by a Zendesk Admin.
The email address used for the integration must exist as a user in both Zendesk and Slack. If you wish to use a shared email or group email (e.g.,operationsteam@yourcompany.com) and it does not exist in Slack, you will need to create a Slack account for that email to complete the integration.
On the ClearFeed web app, navigate to the
Settingsfrom the nav bar, and then open the Integrations section.

Next, click on the
Connectbutton next to Zendesk. This will open a modal.Input your Zendesk sub-domain in the modal and click on the
Connect.

This will redirect you to Zendesk's sign-in page. Fill in your credentials and sign in.

After you sign in, you will be redirected to ClearFeed, and your integration will be completed.

After you have successfully integrated your Zendesk account with ClearFeed, it is time to set Zendesk as a Ticketing Integration for your Collection.
Enable Zendesk Ticketing
On the ClearFeed web application, open the Collection where you want to enable Ticketing
Click on
Settingstab, and expand theTicketing Settingssection.Enable the toggle, and choose the
Zendeskas theTicketing Integration.Choose the Trigger Mode: Emoji (Manual) or Automatic
Emoji: Create tickets when the configured emoji is used on a message.
Automatic: Create tickets for all new messages on a channel.
Ask for Requester Email: Enable this checkbox to associate a separate requester email for tickets initiated by responders.
Note:
This feature is helpful for agents filing tickets on behalf of requesters (customers or internal users). It allows them to associate the ticket with the requester's email address instead of their own.
When this setting is enabled, users will always be prompted to provide a requester email regardless of whether a default email is configured for Requester Email.
Click on
Saveto save the integration successfully

ClearFeed can give you the ability to push private comments from the triage channel as Internal Comments on Zendesk. Learn how to enable the same here.
Create Zendesk Tickets
Create Zendesk Tickets Manually (using Emoji)
How to use emoji reaction to manually create a Zendesk ticket?
A conversation is initiated on the request channel.
React to the first message on the thread using the 🎫 emoji.
A Zendesk ticket is created for the thread. All messages in the thread (along with the attachments) are synced to the ticket.

Create Zendesk Tickets Automatically
How to automatically convert threads into Zendesk tickets?
Every new conversation (Slack thread) that is initiated on the request channel gets converted into a Zendesk ticket automatically.
As soon as the ticket conversation occurs, ClearFeed posts a message on the Slack thread sharing the Zendesk ticket details.

Create Zendesk Tickets from Triage Channel
How to file Zendesk tickets from the Triage channel?
Requests in the Triage channel can be easily converted to Zendesk tickets using the More Actions button. Follow the below steps to do so:
For any request on the Triage channel, click on the
More Actionsbutton.This will open a modal. Here, select the
File a Zendesk Ticketoption and proceed.This successfully converts the request into a Zendesk ticket.
The corresponding request channel thread on Slack now displays the title, ID, and Status of the Zendesk ticket.

Creating Zendesk Tickets Privately
Important: Creating Zendesk tickets privately via Direct Messages, File Ticket button or /File command requires a DM Collection which is only supported in Internal Helpdesk and Integrations product edition. If you are on External Helpdesk product edition and don't see a DM collection or these options - please contact ClearFeed Support.
If you have Internal Helpdesk Collections with ClearFeed's native ticketing (ClearFeed Tickets), private ticket creation options are available. Learn more about these methods:
Private Tickets - Create tickets privately using the ClearFeed App for Slack, File Ticket button, or Slack shortcuts
Slack Shortcuts - Use shortcuts like
/cf-fileto quickly create tickets from anywhere in Slack
Link to Zendesk Ticket
You can link Slack threads to existing Zendesk tickets.
Messages are added from the thread to the Zendesk ticket.
Replies are shared on the Slack thread and vice-versa.

Each Zendesk ticket can only be linked to one Slack thread at a time. If a ticket is already linked to another thread, it will not appear as an option in the dropdown when attempting to link it to a new thread. To link the ticket to a different thread, you must first unlink it from the current thread.
Solving Zendesk Tickets
You can solve Zendesk tickets from the request channel by clicking on the Mark As Solved button on the ticket details message.
This button can be configured to be accessed by everyone or only responders. If you want to configure the accessibility and visibility of this action, read about Screen Configuration for Zendesk to understand the detailed steps.

Disconnect Tickets from Zendesk
After the Support team resolves the issue and the ticket is transferred to another team or the conversation shifts to a different topic, it may be necessary to unlink the Zendesk ticket from the Slack thread. You can do this directly from Zendesk:
Open the Zendesk ticket that you want to stop syncing with Slack
Go to the
TagssectionAdd the following tag -> cf-disabled
This ticket will now stop syncing comments and status updates between Zendesk and Slack.
What Happens After Creating a Zendesk Ticket
Once you create a Zendesk ticket from Slack, ClearFeed enables the following:
Replies on the Slack thread and the Zendesk ticket are synced bidirectionally.
The corresponding request channel thread on Slack now displays the
Title,ID,URL, andStatusof the Zendesk Ticket.Status changes from Zendesk are reflected on Slack
We also support showing Zendesk Custom Statuses on Slack.
ClearFeed adds the following tags to the Zendesk ticket when sync is active:
slack-channel-name,clearfeed, and the name of the form used to create the ticket.The
clearfeedtag is present on tickets created via ClearFeed and can be safely used in your Zendesk triggers/automations (for example: "If tagclearfeedis present, do not auto-assign" so that ClearFeed's own assignment rules can run).If the
cf-disabledtag is present on a Zendesk ticket, ClearFeed–Zendesk sync is disabled for that ticket and theclearfeedtag will not be added or updated by ClearFeed.
Public comments from the triage channel are also synced back to the Zendesk ticket.
Internal Comments from the Triage channel are synced back to the Zendesk ticket as Internal Notes.
Message edits from Slack (in either triage or request channels) are synced to the linked Zendesk ticket as Internal Notes.
Status change updates are posted on the thread when the Zendesk ticket is moved to
Solvedstatus.

Private Message Edits: For edits to private messages to sync properly as Internal Notes, ensure the "Sync Private Comments on triage channel and linked tickets" setting is enabled with mode set to "Push all private comments to the integrated ticketing system".
If a Zendesk ticket is closed and the linked Slack thread receives a reply:
ClearFeed will automatically create a new Follow-up ticket in Zendesk.
The new ticket is created only if:
The reply is from a non-responder (i.e., not the agent who resolved the request).
The message is non-ignorable (not system-generated, bot posts, or empty).
Auto-assign to First Responder for ClearFeed Requests and Zendesk Tickets: This feature automatically assigns both the ClearFeed request and its linked Zendesk ticket to the first eligible team member who responds in the Slack thread. Learn how to configure it here.

How ClearFeed Posts to Zendesk (Authorship)
ClearFeed creates tickets and posts comments in Zendesk using the Zendesk account of the integrator — the Zendesk Admin who connected the integration. How an individual message is attributed depends on the type of comment and whether the author can be matched to a Zendesk user who is permitted to author it.
Tickets are filed for the requester
When a ticket is filed, the requester is set from the requester email. The requester email is obtained from the Slack profile of the requester. If it is not available from the profile, either the person filing the ticket is prompted for it, or the Slack User ID is used as a fallback external_id for the Zendesk profile lookup/creation. The requester does not need to already exist in Zendesk:
If a Zendesk user with that email/external_id already exists, the ticket is attached to them.
If not, Zendesk creates a new end-user with that email/external_id and name, and files the ticket for them.
The ticket itself is always created through the integrator's Zendesk credentials. See Requester Email handling for how the requester email is captured.
Comments are posted as the author when Zendesk allows it
When a Slack reply is synced to Zendesk, ClearFeed tries to post it under the author's own Zendesk identity. It only falls back to posting as the integrator — with a "Sent by {name}" prefix — when the author cannot author that comment themselves (for example, an end-user cannot post an internal note, or a Light Agent cannot post a public reply), or when the message comes from a bot.
Public reply
End-user, agent, or admin
As the author
Public reply
No matching user
A new end-user is created, and the reply is posted as them
Public reply
Light Agent
As the integrator, prefixed "Sent by" (requires the Light Agent setting; otherwise Zendesk rejects the reply)
Internal note
Agent or admin (incl. Light Agent)
As the author
Internal note
End-user, or no matching user
As the integrator, prefixed "Sent by"
Any
Slack bot (e.g. Virtual Agent / automation)
As the integrator, prefixed "Sent by {bot name}"
"Posted on behalf of" footer: This footer is added by Zendesk, not ClearFeed. It appears when a comment attributed to one admin is posted using another admin's credentials, and names the integrator. It typically does not appear for regular agents or end-users. See also the FAQ.
Light Agents
Zendesk Light Agents can post internal notes, but cannot post public replies.
A Light Agent's internal note is posted under their own name, like any other agent.
A Light Agent's public reply would be rejected by Zendesk. With an opt-in setting (configured by our Support team), ClearFeed instead posts it as the integrator, prefixed with "Sent by {name}", so the reply still goes through. Without this setting, the reply is not posted.
Contact Support to enable Light Agent public-reply proxying.
Emoji Rules for Zendesk
ClearFeed allows you to use emoji reactions on Slack messages to assign and resolve Zendesk tickets directly from Slack — using both standard and custom emoji configurations.
Setting Up Emoji Rules for Zendesk Ticketing
To enable and configure emoji rules:
Open your Collection's Settings.
Expand the Emoji Rules section.
Enable the rules you want to use.
Click the edit icon to customize the emoji for each action.
To use a custom emoji, click Add Custom Emoji and select your desired emoji.
Under Apply emoji rules for, choose one of:
External ticketing platform
ClearFeed requests & external ticketing platform
Behavior When Emoji Rules Are Applied for Zendesk Ticketing
Once configured, emoji reactions can trigger Zendesk ticket updates:
Reacting with 👀 (or your chosen "Assign" emoji) will:
Assign the Zendesk ticket to the reacting user
Reacting with ✅ (or your chosen "Solved" emoji) will:
Move the Zendesk ticket to Done
Who Can Trigger Emoji-Based Zendesk Actions
Responder / Non-Responder
Can assign and resolve Zendesk Tickets using emoji reactions, as configured.
Whitelisted Bots
Can only mark Zendesk tickets as solved via emoji. Assign emoji will not work.
Non-whitelisted Bots
Reactions will not trigger any Zendesk updates.
Notes:
Emoji rules work only when the emojis is applied on the request from Request Channel and by one of the Responders
Urgent Emoji is not supported for Zendesk.

Zendesk Ticket Screens
When requests are turned into Zendesk tickets, details are sent back to the requester in a designated ticket message block on the request channel. The screens section lets you customize the ticket message shown to the requester. You can show or hide ticket fields and manage the ticket resolution button.
Screen configuration is global for a given Zendesk integration. The fields you choose to show or hide (including Ticket URL, Status, etc.) apply to all Slack channels and all Zendesk ticket forms; per-form or per-channel screen variations are not supported.
You can completely disable the ticket message by toggling off Screens. This would mean that whenever a Zendesk ticket is created, users will not see any confirmation message and ticket details.
The confirmation text posted at the top of the ticket message (ie. "A ticket has been created") is currently not customizable.
If you want to customize the title of the alert message shared with requesters in the request channel, please reach out to our Support team via Slack or email us at support@clearfeed.ai
To configure the ticket message for Zendesk ticketing, follow the steps given below:
Head over to the Forms section on the ClearFeed web application
Under the ticketing drop-down, select
Zendesk Ticketing.Select
Screensfrom the tabs mentioned under Zendesk Ticketing.

Zendesk Ticket Fields
Status - By default, the Status of the Zendesk ticket is always shown to the requester. This cannot be configured to be hidden.
Note: Custom Zendesk statuses are also supported.
Priority - The priority of the ticket can be shown to the requester using this field. The priority of the ticket will be pulled directly from Zendesk.
Assignee - By default, the Assignee is hidden. If enabled, the ticket block will show the Zendesk Assignee on Slack.
Ticket URL - Allows you to show or hide the Zendesk ticket URL to the requester.
Showing the URL is advisable if you have the Help Center enabled for your customers.
Form Name - Name of the Form used to create the ticket.
Note: Form name appears only if there is more than one form in the account.
Fields populated by Create Form - Only non-empty, non-hidden fields, marked as editable by 'All' in the 'Create Form', will be displayed in the message.
Fields populated by Edit Form - Only non-empty, non-hidden fields, marked as editable by 'All' in the 'Edit Form', will be displayed in the message.
Zendesk Ticket Actions
Mark As Solved button: You can choose to expose the
Mark as Solvedbutton which allows responders/requesters to solve a ticket right from the request channel.Check the option to display the
Mark as Solvedbutton on the ticket message block.Permissions:
AllorResponder.All- Allows access to theMark as Solvedbutton to both the requester and responderResponder- Only agents/responders will be able to use theMark as Solvedaction to resolve tickets.
Edit Ticket button: The Edit ticket button will be present on the ticket message by default whenever the Edit action Form is enabled.
Disabling a Parent Form (or its underlying Edit action form) will disable the editing feature for existing tickets created using it and the
Edit Ticketbutton will be hidden from all new tickets created using the Form.

Unlink Ticket button: This button allows users to unlink a ticket from its associated request in the Request Channel. By default, it is visible only to responders in the channel. Check the option to display the
Unlink Ticketbutton on the ticket message block.Permissions:
AllorResponder.All- Allows access to theUnlink Ticketbutton to both the requester and responderResponder- Only agents/responders will be able to use theUnlink Ticketaction to unlink tickets.

Zendesk Settings
Zendesk Sync Settings
Sync settings for Zendesk tickets allow you to choose whether messages are synced bidirectionally or in a single direction. Additionally, you can decide if updates to the linked ticket's status are shared in the Slack thread.
For all Zendesk Tickets
To configure common sync settings for all new tickets - follow the steps below:
Go to Forms on the web app and then go to Sync Settings
Choose your Message Sync Mode
Select whether status updates are shared in the Status Sync Mode setting

For Individual Zendesk Tickets
You can also configure different sync settings for individual tickets. Once a ticket is created from Slack, access the three-dot menu (shown in the illustration below) and configure your settings.
Only Responders can configure Sync Settings for individual tickets from the request channel in Slack

Message Sync Mode
Determines how messages are synced between Slack and Zendesk.
2-way sync between Zendesk and Slack thread: Replies from Slack are posted on Zendesk and comments from Zendesk are synced to Slack.
Only forward sync from Slack thread to Zendesk: Replies from Slack are posted on Zendesk but comments from Zendesk are not posted back on Slack.
Only backward sync from Zendesk to Slack thread: Only Zendesk comments are posted on Slack and replies from Slack do not go to Zendesk.
No sync between Zendesk and Slack thread: No comments are synced from Slack or Zendesk.
Status Sync Mode
Determine whether status updates are shared on the request channel thread on Slack or not.
Updates are only delivered when the status is changed to "Solved" or moved to "Open" from "Solved"
Sync key status changes from Zendesk to Slack thread: Whenever the ticket is "Solved" or moved to "Open" from "Solved - the updates are shared on Slack.
No sync of status changes from Zendesk to the Slack thread: No status updates are synced to Slack.
AI-Driven Status Transition Settings for Zendesk
ClearFeed automatically transitions the Zendesk ticket's status to Pending/Open based on the nature of the requester's reply.
You can access these settings on the Settings tab here.
Re-Open Tickets on All Customer Messages
If toggled ON: Every customer message will re-open a ticket.
If toggled OFF: ClearFeed will not re-open tickets when customers express thanks or satisfaction but will re-open tickets on all other messages.
Mark Ticket Pending on Responder Reply
If Toggled ON: ClearFeed will move tickets to pending automatically on Responder replies. The only exceptions are when the Responder expresses thanks or makes a promise to act in the future.

AI-Summarization Settings for Zendesk Ticketing
You can access these settings on the Settings tab here.
If enabled, the Description of the Zendesk ticket will include a summary of the thread messages followed by the messages themselves. If disabled, only the messages will be included.

Zendesk Forms
Visit the Forms section to learn how to set up forms and utilize them for ticket creation.
FormsCreating Zendesk Tickets with Forms
Once the forms are set up, users will see a File Ticket button. Clicking this button will prompt users to complete ticket creation.
If multiple forms are set up, a drop-down will appear asking the user to choose which form to fill for the particular ticket.

Zendesk Field Types Summary
ClearFeed supports the following field types for Zendesk forms:
Basic Input Fields:
Text, Multi-line Text, Email, Phone Number
Number (whole numbers & decimals), Date, Date & Time
Selection Fields:
Drop-down (choose one option from a list)
Multi-select (choose multiple options)
Checkbox (yes/no option)
System Fields (automatically filled):
Subject, Description, Requester Email, Status, Priority, Assignee, Group
Additional Fields:
Tags, Attachments (files are also shared in the Slack thread)
For detailed information on field types, validation limits, attachment constraints, and other limitations, see the Supported Zendesk Field Types and Limitations section in the Forms documentation.
Mandatory fields for Zendesk Tickets
On Zendesk, you can configure the custom fields as Required to solve a ticket. This ensures certain fields are always updated before tickets are resolved (read more here).

If you have configured fields on Zendesk that are required before solving a ticket - ClearFeed will display these fields in a Solve ticket dialog box when you try to solve a ticket in which such mandatory fields are associated.

Note: This dialog box supports most common field types including text fields, drop-downs, multi-select lists, checkboxes, numbers, dates, email, and phone number fields.
If any other field types are required to solve the ticket - we will show an error message stating the field names. These fields can be updated from Zendesk to solve the ticket.

Sync CSAT Survey to Zendesk Tickets
You can automatically sync CSAT (Customer Satisfaction) survey responses collected in ClearFeed back to the corresponding tickets in Zendesk.
How It Works
ClearFeed supports both legacy (2-point) and newer Zendesk (up to 5-point) CSAT surveys. When a user submits a CSAT rating on a ClearFeed request that is linked to a Zendesk ticket, their response is added as CSAT on the corresponding Zendesk ticket.
Important: Your ClearFeed CSAT survey configuration must match the point rating system configured in Zendesk (e.g., if Zendesk uses a 5-point survey, configure ClearFeed to use a 5-point survey as well).
How to Enable CSAT Sync for Zendesk Tickets
To set up this integration:
In ClearFeed:
Open the target Collection.
Set Ticketing to Zendesk (under Collection Settings → Ticketing).
Configure the CSAT Survey format to match your Zendesk setup (2-point, 3-point, 4-point, or 5-point).
Enable the ”Sync CSAT responses to Zendesk” toggle.
In Zendesk:
Ensure CSAT is enabled under Admin Center → Settings → Customer Satisfaction (CSAT).
Configure your CSAT survey format to match the ClearFeed setup.
Authentication Requirements:
ClearFeed needs the Zendesk impersonation scope to post comments.
If impersonation hasn’t been granted, you’ll see an error when enabling the sync.
To resolve this, go to Integrations → Zendesk and click Reconnect Integration to re-authorize with the necessary permissions.
Important: If you are switching from legacy (2-point) Zendesk CSAT rating to a 5-point system (or changing CSAT survey formats in Zendesk), you must reconnect ClearFeed to Zendesk for the sync to work properly. Go to Integrations → Zendesk and click Reconnect Integration after making the change in Zendesk.
Proper CSAT Trigger Sequencing for Zendesk Tickets
For smooth CSAT handling, it’s important to sequence the triggers correctly between Zendesk and ClearFeed:
Zendesk must trigger first: Set Zendesk to trigger CSAT immediately when tickets are solved. This creates the CSAT survey record in Zendesk.
ClearFeed can populate next: ClearFeed’s CSAT survey can trigger immediately or with a delay after the ticket is solved.
Synced reporting: As long as Zendesk’s CSAT triggers first, both systems work well together with properly synced reporting.
Why this sequence matters: Zendesk must create the CSAT survey record before ClearFeed can populate it. If ClearFeed tries to submit CSAT before Zendesk has created the survey record, the sync will fail.
Edit Zendesk Tickets from Slack
You can manage Zendesk tickets filed using ClearFeed directly from a Triage channel. This allows agents to view and edit the ticket's details, and directly solve them, all from a Triage.
Reverse Zendesk Flow
Work on Zendesk Tickets created from other channels (eg. email, help centre, chat) from Slack using ClearFeed's Reverse Zendesk flow.
Supported Zendesk Reverse Workflows
Zendesk tickets that are started outside of Slack (via email or help centre) can be brought to Slack
ClearFeed would enable bi-directional sync of comments and status ensuring that the support team can remain on Slack first
Agents can respond to these tickets from Slack. They can also edit the ticket properties from the triage channel
If a Form has been used in Zendesk while creating the ticket - you can also choose to import that form in ClearFeed to display its values in Slack
Zendesk Reverse Flow Setup
Create a dedicated Slack channel (or reuse where the Zendesk ticket notifications would arrive. Also, monitor this channel using ClearFeed (learn how to monitor a channel)
Create a new Slack Webhook Workflow
Go to Slack Workflow Builder
Create a workflow and start the workflow from a webhook
Configure the variables ticket_id and ticket_url
As a next step, select Send Messages to a channel
Select the channel that we configured in Step 1.
Add the message exactly as follows: Ticket #ticket_id needs attention
Finish and publish the workflow

Copy the Web Request URL from the webhook workflow step once published.

Now go to Zendesk Admin Center → Webhooks and Create a New Zendesk Webhook as shown below
The endpoint URL should be the same as the Web request URL copied from Slack in the previous step

Create a new Zendesk Trigger: Go to Zendesk Admin Center → Business Rules → Triggers and Create a new Zendesk trigger with the following conditions:

In the Actions section, choose Notify by > Active webhook and point to the Slack Webhook Web Request URL.
The request body can be customized based on the variables set up in the Slack Webhook Workflow

Whitelist the Slack Webhook Workflow Bot: Go to the following page → https://web.clearfeed.app/settings/additional-settings and under Bot Whitelisting Preferences, select and add the bot with the same name as the webhook workflow created previously.

Testing the Zendesk Reverse Flow
Start a ticket directly from Zendesk or via email (to the Zendesk support group)
Notice how the ticket comes as a notification into Slack in the monitored channel
ClearFeed replies to the notification with ticket sync details
Reply to the Slack thread and observe how the comments get synced back to Zendesk and vice-versa.
FAQs for Zendesk Ticketing
What happens if a requester tries to change the sync settings from the request channel? Answer: If a requester tries to modify any of the sync settings from Slack, they see an error that points out that this setting is only accessible by responders.

Why do I see a footer saying "submitted .. on behalf of" when Slack messages are posted in Zendesk by ClearFeed? Answer: This footer is added by Zendesk, not ClearFeed. It appears when a comment is posted using the integrator's credentials on behalf of another Zendesk admin, and names the person who connected the integration. It typically does not appear for regular agents or end-users. See How ClearFeed Posts to Zendesk for full details.

Zendesk "Posted on behalf of" footer Is it possible to tag users on Slack when they are mentioned in a Zendesk ticket? Answer: Yes, it is possible to tag Slack users when they are mentioned in a Zendesk ticket. However, this feature is disabled by default to prevent duplicate notifications. If you'd like to enable this functionality, please reach out to our Support team .
Why am I seeing a “Failed to sync Zendesk Webhook” error? Answer: This error appears when ClearFeed attempts to periodically update the Zendesk webhook subscription but is unable to do so due to insufficient permissions.
Does this error mean my Zendesk–ClearFeed sync is broken? Answer: Not necessarily. If your sync is working in both directions, the error can be safely ignored. The error only indicates that ClearFeed was unable to refresh the webhook subscription, not that the active sync is failing.
Are there any scenarios when we cannot unlink a ticket/task from Slack? Answer: Yes - if the corresponding ClearFeed Request/Ticket is in a Solved or Closed state - tasks cannot be unlinked.
Last updated
