Ask questions, share tips, and discuss best practices with community peers.
Recently active
Hey community,We want to open up a discussion around a major theme from our Relate 2026 roundtables: navigating team uncertainty. When we introduce AI agents, it's completely natural for frontline staff to feel a bit anxious about how their roles might shift. Change can be intimidating! But the teams hitting a 50% ticket deflection rate while keeping morale high aren't replacing humans. Instead, they focus on two key strategies: Elevating the human experience: Human service remains non-negotiable for premium, high-touch customer tiers. Because AI can struggle with vague queries, scaling successfully means building seamless, zero-friction "Can I talk to a human?" escalation paths the moment automation hits its limits. Guiding teams through the transition: Frontline adoption is a psychological milestone, not just a technical one. Leaders are smoothing out resistance by launching volunteer tiger teams and internal champions, reframing AI as a career accelerator, and hosting casual win-
Hello! I am trying to build a report that will show me two things:1. ticket ID2. the text contained in the final note on a ticketI would filter by solved tickets, date range, and inbound call. The place I am struggling is with how to retrieve the actual text of the final note on the ticket. Ideas?
Hi,I'm looking for a way in Zendesk to group edit and reorder macros. We have over 500 macros in our account, and doing it manually takes a lot of time and is tedious. Is there a way to fasten this process?
Hello everyone, I’m trying to calculate Ticket Age (in days) in Zendesk Explore by finding the difference between the Ticket Created Date and the current date. 🎯 Requirement / LogicI want to:Subtract Ticket created date from Today’s date Get the result as number of days (Ticket Age) 🔍 What I triedDATE_DIFF(TODAY(), [Ticket created - Timestamp], "days") ❗ IssueI’m getting the error:“Invalid time unit for the given dates”(Attached screenshot for reference) ✅ AskWhat is the correct formula to calculate Ticket Age in days in Zendesk Explore? Which function and time unit should be used (DATEDIFF, DATE_DIFF, etc.)? Should this be built as a standard calculated attribute or a metric? Any working example or guidance would really help. Thanks in advance! 🙏
Hello everyone! 👋I'm curious how different teams handle collaboration between customer support and engineering.When a support ticket requires help from developers, what does your workflow look like?Do you create a Jira issue, keep everything inside Zendesk, or maybe use another tool or process?One thing I've noticed is that keeping both teams aligned can get tricky, especially when updates, priorities, and customer context need to move between systems.I'd love to hear how your teams handle this. What works well, and what challenges have you run into?
We have been using a React Native wrapper for Zendesk Messaging:https://github.com/leegeunhyeok/react-native-zendesk-messaging/tree/mainThe wrapper’s most recent change was made about a year ago. Recently, however, we have received multiple reports of users suddenly being unable to send messages. When this occurs, the message displays a “Tap to retry” option, but retrying does not successfully resend it.Since there have been no recent changes to the wrapper, we would like to ask whether there have been any upstream changes to the Zendesk Messaging SDK or service that could be causing the wrapper to fail intermittently.At the moment, restarting the app resolves the issue for most users, allowing them to send messages normally again. However, there are still some cases where users continue to see the same “Tap to retry” error even after restarting the app.From the development side, we have not been able to reproduce the “Tap to retry” failure consistently, which has made it difficult to
We have multiple Brands with two product pages that can access Zendesk directly via the web/messaging widget. We use a standard SSO with email address as the identifier. As our help center is restricted, for end users to receive article suggestions and authenticate when creating, we require JWT authentication which requires an external_id. Although Zendesk discourages, we used email as the external_id.With over 600k end users, many inactive, we needed a way to update activate users and new users with the external_id. Action Builder can make decisions based on ticket and also user events - one Flow on new user creates and another when a user logs in.Creating an action Flow is easy:Create a connection to your help center. While API token is simple, Zendesk is moving away so might as well create OAuth. Under custom actions, create a PUT request (for either, as it’s an update) to your connection. I pass user id (for the actual request) and email (to update the external_id). Since we only u
Hi everyone, I’m trying to understand how Zendesk teams handle attachments when side conversations are involved.For example: A customer sends a file in the main ticket, but the agent needs to share it with a supplier or internal team in a side conversation.Or the opposite happens: someone replies in a side conversation with a file, and the agent needs that file to be available back on the main ticket.I’m curious how teams usually handle this today.Do agents download the file and upload it again manually?Do you have any workaround for this?Or is this not really a problem in your workflow?I made a small prototype to test one possible solution, but before going further I’d like to understand whether this is actually a common pain point. Would love to hear how other Zendesk teams deal with this.
In one of my apps I’m trying to have the app create 2 custom objects (v2). To do that I’m including a requirements.json file in my app and specifying the creation of the 2 objects. When you use custom objects by default 2 standard fields get created, Name and ExternalId. The issue I am running into is that when I try to specify the autoincrement settings for Name or add a description for ExternalId the app fails to install. I’m assuming because the custom object believes I’m asking for a duplicate field to be set where as all I’m trying to do is set the autoincrement on the Name and a description on the ExternalId. Things that I can easily do in the UI but since this is an app I cannot go the UI route.I have code similar to this:{ "custom_objects_v2": { "objects": [ { "key": "object_1", "include_in_list_view": false, "title": Object 1", "title_pluralized": "Object 1", "description": "object
Hi allI’ve read and re-read the Action Flows articles and tried to make some basic ones of my own but I just don’t understand what I’m doing wrong or what all the technical terms mean. I’m not a developer, I’m an admin trying to build basic things like “If a ticket has a specific tag added to it, add this task list to it” but I just can’t figure it out. The inputs, variables and all the other things are so complicated to understand.I don’t see an Academy course for Action Flows and all the videos I can find that talk about it are very high level and don’t explain everything that I’m seeing. Is there any content I’m missing or can an Academy course be made for this? I like to think I’m at least of average intelligence but I just can’t wrap my head around Action Flows!Thanks!
is Oauth token expiration for oauth using client credentials grant type also? I am trying to create a new OAuth client using client credentials to test token expiry and obtain new tokens. But get not a valid grant type error. Is the grant type restricted to only one oAuth client?URL used is url = "https://gsmls.zendesk.com/oauth/tokens”If i use the existing Oauth client to get token get below error“{"error":"unauthorized_client","error_description":"The authenticated client is not authorized to use the access grant “
Today I got a 2nd email announcement about the coming end-of-life for AI Agents-Essential. This email notes that the changes are rolling out starting April 27 (i.e., 2 days ago). But if you link to the announcement post, you’ll note that the rollout has slipped a month (to May 25-June 12) with no change to the end-of-support/end-of-life dates.The post also notes “In the coming months, we’ll share detailed timelines, transition plans, and guidance to help you transition to the upgraded AI agent experience.” (emphasis added). Those details, plans, and guidance should be in place now. The schedule has barely 2 months from the end of the rollout window until the end-of-support date.We have a Professional instance - no sandbox. Any changes we need to make are to our production environment. This is fraught with risk. Setting up AI Agents-Essential for email was trivial and works well. Reading the documentation for email for AI Agents-Professional makes my head spin with the level of complexi
(New to Zendesk :)) We are bringing a particular assignment process into Zendesk. Our agents are assigned to clients individually and rely on a “Show Name" field to ensure correct work is being accomplished, per show. Our agents do not have faith our clients can consistently write their show names in manually (they are probably right) and are looking for something to automate the process so the correct Show Name is appearing on the ticket for work in our system. We are looking at the use of Organization Fields. “Show Names” field would house their past/current/future show names. We also have a written text field “Show Name” that is exposed to the End-Users. We cannot expose all of our clients show names, due to privacy. Is there any way to automate the "Show Name” field into the ticket for end-users to select (based on which Organization they are in)? Or is there a way to automate the written field to match that internal Show Names field via tags and triggers or Action Builder? Thank
Hi, we are trying to connect our AI Agent to a custom crm api connection that we created within Zendesk, but the current documentation seems to reference how it was done before the merge of Advanced AI Agents into the base AI. Does anyone know how this is currently connected? Thanks in advance John
I’m scanning through the recommendation from Admin Copilot and there are a number of “Create an article” suggestions. These are recommendations that I create articles for FAQs for which we already have articles. And when I click in the “Related tickets” for the recommendation, it’s quite clear that the AI Agent (Essentials) has replied appropriately to the end-user’s request based on the existing Help Center articles.Our Help Center is 98% locked down - the only 2 anonymously viewable articles are “How to Use this Support Site” and “Legal Notices”. Everything else requires authentication, which is required by our InfoSec team due to the subject matter in our Help Center. Is Admin Copilot basing its recommendations solely on anonymously viewable articles? If so, it’s basically useless for us, and in fact, a distraction (since most of its recommendations are to create articles that exist).
I am trying to prepare for the end-of-life of AI Agents-Essential, and since we are Suite Professional, not Suite Enterprise, I have to do this in my production environment. So the risk of breakage is very high. I’ve built a set of automations and Agent SOP around the AI Agents-Essential behaviors and I cannot find sufficient documentation on the new AI Agent email behaviors to have any idea how to make things work the same way.For example - I have triggers for the ar_suggest_true and ar_suggest_false tags being set on a ticket. to guide my Agents? When a ticket is tagged ar_suggest_true, the Agent reviews the AI Agent’s response and unless it’s clearly something they need to manually address, move the ticket to a custom Deferred status, taking no further action unless the end-user indicates that they still need help. Conversely, a ticket tagged ar_suggest_false gets priority because no response has been sent to the end user.Do these tags still exist with the new AI Agent? Is there som
I've figured out how to schedule replies in Zendesk!! Using a combination of triggers, tags, automations, and ticket types, it actually is possible to send with an approximate delay. Because automations run only once each hour (at the same time every hour for your own account), this won't be exact; it's accurate to within about an hour. For example, if I'm replying on Saturday morning (but I don't work weekends!), I can delay the email 47 hours to have it sent Monday morning. Similarly, if I work Sunday afternoon, I can set the email to wait 18 hours and show up on Monday morning...and so on. Here's how to set it up: Step 1: Decide what your tags will be to manage this I used "delay1", "delay2", etc. Adjust these times based on when you're likely to be writing replies, and when you want the emails to be sent. I've set up my preset delays to be 1, 2, 4, 8, 12, 18, 24, 36, 42, and 47 hours. This will allow me to work any time I want, and then have the email be
Hello! I’m working on setting up some advanced AI agents right now for email. We have patients & staff both send questions to the same channel. Ideally, I’d like my AI agent to only respond to questions from patients, not from staff members. However, although I’ve set up instructions & use cases for this, it continues to just respond to every question during testing. Does anyone have suggestions on how I can get it to automatically send questions that don’t pertain to set up use cases directly to live agents?
Hello, with the new Suggested Assignees EAP (no group created in Zendesk Community) it recommends users who are no longer agents in Zendesk. We typically remove the agent license and adjust them down to End User, however, I also attempted to suspend the user but they were still recommended.
Hey Community! Today we’re hosting a Digital Desk webinar on Admin Copilot, and I’d love to keep the conversation going here!For those using Admin Copilot, I’d love to hear what’s working for you:How are you using it in your instance? Any helpful insights, recommendations, or cleanup opportunities you’ve uncovered? Any tips you’d share with other admins?We’re also hosting the webinar again on July 23rd, so I’ll link the registration here for anyone who is interested!Looking forward to learning from this thread!- Emma CollinsSr. Content Manager, CX Programs
Hi, hope you are doing well!The metrics I check most often in Zendesk are CSAT, first response time, and resolution time. They help me understand how satisfied customers are and how efficiently support requests are being handled.I usually set goals by looking at past performance and making small improvements over time, rather than aiming for unrealistic numbers. Reviewing reports regularly helps me spot trends, like recurring issues or slower response times, so I can improve workflows or update help center content when needed.I don't rely only on numbers. Customer comments are just as important because they explain the reason behind the ratings and often highlight areas that need attention. For me, the best way to measure success is by combining performance metrics with customer feedback to continuously improve the overall customer experience. ThanksIfra Saqlain
Problem StatementThe iFrame app is a ticket sidebar application that provides embedded access to external web content directly within the ticket context. It dynamically renders a configurable URL inside the sidebar, allowing agents to interact with external tools and workflows without leaving the ticket view. Location: nav bar. PromptCreate a nav_bar app called "Iframe" that embeds an admin-configured external website inside Zendesk Support, allowing agents to quickly navigate to an external resource and return to their tickets without interrupting their workflow.The app requires one install-time setting: **Iframe URL** (parameter name `iframeURL`, type: url, required). This is the external website address the admin enters during installation. On load, retrieve the setting by calling `const metadata = await zafClient.metadata()` and reading `metadata.settings.iframeURL`. Do NOT use `zafClient.get('setting.iframeURL')` — that is not a valid ZAF path and will throw an APIUnavailable erro
Hello. Following this announcement https://support.zendesk.com/hc/en-us/articles/10955445787546-Announcing-outbound-calling-restrictions-by-agent-group-for-Voice, it is now possible to configure which groups are authorised to make outgoing calls by line. Is it possible to apply the same settings to external numbers? (which are, in fact, only used for outgoing calls)
Hi Zendesk team,I’m currently building reporting around our use of Agent Copilot (Auto Assist), and I’m trying to better understand how to accurately define and extract “eligible tickets” for AI suggestions.Specifically, I’m looking to identify:The set of tickets where Copilot could have generated a suggestion, regardless of whether a suggestion was actually surfaced or accepted.I’ve reviewed the available dashboards and metrics, including:“Enriched tickets” in Intelligent Triage Auto Assist usage metrics (auto assist vs non-auto assist tickets)However, I’m not sure if either of these directly represents the population of tickets where AI suggestions were eligible to appear.My questions are:Is there a field, attribute, or dataset in Explore that identifies whether a ticket was eligible for Copilot suggestions? If not, what is the recommended way to approximate this population for reporting purposes? Is “enriched tickets” the closest proxy, or is there a more accurate method?My goal is
For our team, it's really about balancing the numbers with the overall experience. Metrics are important, but they don't tell the whole story.The metrics we watch most closely are first response time, time to resolution, ticket volume by category, and CSAT. First response time lets our users know we're engaged, while resolution time helps us identify where processes might need improvement. Looking at ticket trends is especially valuable because recurring issues often point to opportunities for better documentation, training, or system improvements.Our targets are based on the priority of the request rather than trying to fit everything into the same SLA. A critical issue affecting multiple users is going to have a much different response expectation than a routine service request.One of the biggest benefits of tracking this data is being able to spot patterns. If we notice an increase in tickets around a particular application or process, we can often address the root cause before it b
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.