Ask questions, share tips, and discuss best practices with community peers.
Recently active
Many of Zendesk agents rely on macros to share troubleshooting steps, guides, forms, or documentation with customers. But it’s not always clear which links inside those macros actually help customers, and which ones they ignore or miss.Reviewing link engagement can be a simple way to understand how effective your macros really are. When you can see which links customers click (and how often), it becomes easier to notice patterns, for example:Some help center articles get consistent clicks, meaning they’re clear and useful Others get almost no engagement, which can signal outdated content or unclear wording A macro with several links might show that customers only follow the first one Certain topics may require more detailed instructions because customers don’t interact with the initial linkThese insights help you adjust your macros so customers receive clearer, more helpful information, plus agents spend less time sending follow-ups or re-explaining steps.If you want to track link acti
Problem StatementThe Attachment Manager app is a ticket sidebar application that helps manage ticket attachments. It lets agents redact sensitive files, control which file types are allowed/invalid, organize attachments in a library, and tag tickets based on attachments. Location: ticket sidebar PromptCreate a ticket_sidebar app called "Attachment Manager" that lets agents view, redact, and manage ticket attachments through an accordion-style interface with three sections: All Attachments, Invalid Attachments, and a personal Attachment Library. Define five app parameters in the manifest so they appear on the app's installation settings screen:`attachment_tag` — labelled "Attachment tag". Help text: "Tag added to existing tickets which have attachments." (type: text, required, default: `has_attachment`) `new_attachment_tag` — labelled "New attachment tag". Help text: "Tag to be added to new ticket comments with attachments." (type: text, required, default: `has_new_attachment`) `allowli
After the most recent update, our view for all open tickets is keeping solved tickets on the board. We have the ticket status filter to only show open values, and even tried adding a hard exclude for solved and dismissed. Anyone else experiencing this or have a fix?
I have custom private app and using Zafclient to fetch data from external API to show on ticket side bar. When I include a custom HTTP header like ZENDESK_AUTH_TOKEN, that header is not being sent to the external API (I have access to external API, so I can see request metadata). However if I add Authorization HTTP header, I can see that header is sent. Is there restriction on which headers can be sent to external API via Zafclient and Zendesk proxy? I am using secure settings with placeholder {{setting.myParam}} and Zendesk proxy to replace these values, in case this helps.
We’re seeing occasional fatal crashes in production that symbolicated to SunCoFayeClient.connect inside ZendeskSDKMessaging (Sunshine / Faye layer), not our app code — e.g. SunCoFayeClient.swift ~line 155, with thunk for closure, objc_destructInstance / swift_deallocClassInstance, and work on a background queue (EXC_BAD_ACCESS / bad pointer).Setup: Native iOS app, ZendeskSDKMessaging 2.37.0 (update if we’ve bumped), initialize Messaging after login with channel key + JWT (initialize, loginUser, event observers). Crashes correlate with iOS 26.x (e.g. 26.3.x) on recent iPhones.We’ve already tried main-thread dispatch for app state updates from SDK callbacks, weak captures in observers, and serializing init, but stacks still point at SunCoFayeClient.connect.Questions for Zendesk / the community:Is this a known issue with a fix in a specific SDK version or release notes we should read? Any recommended patterns for iOS 26 (init/teardown order, avoiding overlapping connect, threading)? Are o
I remember when testing the incremental API few years back that adding a comment to a ticket using the dashboard did not trigger an update event but changing the priority/status/assignee did. But when I tried the incremental API recently, adding a comment to the ticket via the dashboard successfully triggered an update event when using the incremental API for tickets object. Was there a change in the API behavior ? If so can someone please point me to the documentation / changelog where this is mentioned. Many thanks.
We have a tool, Help Desk Migration, that supports the automatic migration from and to Zendesk. Recently, we have been encountering the issue with getting the 403 error when sending the API requests to Zendesk.If we use the method GET on these endpoints:help_center/user_segmentshelp_center/localeshelp_center/categories/{category_id}/translations/missinghelp_center/sections/{section_id}/translations/missing And the token of the Zendesk instance where we send the request is expired, we get the error 403. However, the error we should be getting is 401, not 403. The same happens if we use the methods GET and POST at these endpoints:help_center/articleshelp_center/categorieshelp_center/sectionshelp_center/categories/{category_id}/translationshelp_center/sections/{section_id}/translationshelp_center/articles/{article_id}/translationshelp_center/articles/{article_id}/bulk_attachmentsAlso, the same error when deleting article using help_center/articles/{article_id} We get the 403 error when
Problem StatementThe Proactive Tickets App helps build better relationships with your customers by allowing you to proactively reach out to them via Zendesk Support tickets. The app allows you to search a list of your users based on any searchable user field, and then create tickets in bulk on their behalf. Location: nav bar Screenshots Prompt Create a nav_bar app called "Proactive Tickets" that lets agents search for end users, build a ticket template, and bulk-create one support ticket per selected user — then create a Zendesk view to track all those tickets.Add two settings to the app so admins can configure them during installation:`newStatusTicketFieldId` — labelled "Status field ID". Help text: "The ID of the ticket status field. Find it under Admin > Objects and rules > Tickets > Fields." Required, type: number. `numberOfUsersPerPage` — labelled "Users per page". Help text: "Number of users to show per page in the search results." Type: number, default: 20.Read thes
Olá, pessoal!Gostaria de entender melhor a viabilidade de cruzar informações do Zendesk QA (Klaus) com os campos de ticket do Zendesk Support, utilizando as APIs disponíveis.Nosso objetivo é conseguir relacionar os dados das avaliações de qualidade (como score, avaliador, avaliado e scorecard) com informações operacionais dos tickets, principalmente campos personalizados, como por exemplo:motivo de contatoA ideia é construir uma visão analítica que permita identificar, de forma clara, quais são os principais motivos de contato associados às avaliações de QA, possibilitando análises como:desempenho por motivo de contatoqualidade por categoria ou tipo de atendimentoidentificação de pontos críticos com base nos scores das avaliaçõesSabemos que o campo externalId pode ser utilizado para relacionar as conversas do QA com os tickets do Support, porém gostaríamos de confirmar:Essa abordagem é oficialmente recomendada pela Zendesk para esse tipo de cruzamento?Existe alguma limitação conhecida
Like those little Note and Warning boxes? Want them in your Help Desk articles? You can quickly turn any piece of text into one of those by inserting a little CSS into your Help Desk code. This hijacks two of the WYSIWYG color swatches built into the article editing tool. The specific colors are pink120 and pink130, shown below.Just add these lines to your CSS, upload the :before images to the Assets section, and fill in the background url for the :before elements. Then when creating an article, highlight the text you want to turn into one of these and select the corresponding Info or Warning color, and viola! Once you publish the article, you will have those nice, shiny boxes. Feel free to tweak the colors to your liking or to match your brand, and comment to show us how you used it! See a live example here: https://knowledge.chronotrack.com/hc/en-us/articles/204785404 span[class=wysiwyg-color-pink120] {background: repeating-linear-gradient(135deg,#e2e2e2,#e2e2e2 30px,#d9d9
Hi everyone,When collecting customer feedback in Zendesk, surveys are often limited to a single format. For example, just NPS or just a rating. While that works, it doesn’t always give the full picture. Sometimes you need both a quick score and a bit more context behind it.With the latest update in the NPS and Survey app, it’s now possible to mix different question types within a single survey. Instead of sticking to one format, you can combine multiple types depending on what you want to learn.For example, you can now:Send an NPS (0–10) question and follow it with a text feedback question Combine a CSAT rating (1–5) with a yes/no question Use an NPS (0–10) and CSAT rating (1–5) together Mix structured ratings with open-ended responsesWhy this works better:More context behind scores: A number alone doesn’t always explain why a customer feels a certain way. Adding a follow-up question helps you understand the reasoning. Better quality feedback: You can keep the first question simple and
Hi Zendesk Support Team,Hope you’re doing well.We’re currently exploring options to embed/display the conversation timestamp more prominently within the helpcenter in our Zendesk instance. I’ve attached a reference screenshot highlighting the exact element we’re referring to.As part of our initial review, we went through the article_page.hbs template, but we weren’t able to clearly identify how this can be configured or customized for our use case.Could you please help us with:Guidance on how to enable or embed conversation timestamps within the ticket view, and Any additional documentation or best practices that can support this requirement?For reference, we also reviewed the following article:[Insert article link here]We’d really appreciate your support in pointing us in the right direction.Looking forward to your guidance.
Hello Team, According to the following article Sharing Explore dashboards outside Zendesk, dashboards can be shared via external links with users who do not have Zendesk accounts and any configured IP restrictions are enforced, meaning access is limited to the approved IP range.However, the same article also states that “Prebuilt Live Dashboards cannot be shared via external links with users outside of a Zendesk account”. Given that IP restrictions still apply to external links, this limitation appears inconsistent with the overall sharing and security model described.From a business and security perspective, we do not see a clear reason why Prebuilt Live Dashboards should not be eligible for external sharing under the same enforced IP restrictions. We would appreciate it if this limitation could be reconsidered and fixed. Thank you.
Hi allI’m not a developer but I am the Customer Experience Manager at my company and we have an app for iOS and Android. We want to add the option for customers to access support through the app (including chatting with an agent, engaging with AI agents, accessing Knowledge articles, submitting a ticket). I’m confused as to how we can do this and what it could look like if we did. I have two questions:where do we find resources that explain how to do what we are trying to do? where can we find examples of what it could look like, or other companies who have done it?Thanks so much!Fiona
Hey, we’ve been having issues syncing some comments/internal notes from Zendesk to Jira. It appears that comments that have a complex HTML design/format are not syncing directly, and they appear as a blank space on Jira (e.g. email responses to a ticket that have a signature, messages in bold, etc).Also, it seems that attachments aren’t syncing to Jira. We had a .mov file not sync to Jira.I’ve checked on Jira and we do have Wiki Style Renderer activated for comments.Any help would be appreciated!
SummaryI’m working to build out a java client for Zendesk. When I aim to emulate the documented api calls, I am running into some errors that don’t make sense to me. Is creating a category and its translations in the same API call not supported?Test setup context: I’ve enabled both the en-us and fr locales. Below is my debugging to try and figure out how to properly support this. Calling the same api call as the docsin the docs, we read that we can create a category AND its translations at the same time. # You can also specify multiple translations for the new category:curl https://{subdomain}.zendesk.com/api/v2/help_center/categories \ -d '{"category": {"position": 2, "translations": \ [{"locale": "en-us", "title": "Super Hero Tricks", \ "body": "This category contains a collection of Super Hero tricks"}, \ {"locale": "fr", "title": "Trucs Super Heros", \ "body": "Cette categorie contient une collection de trucs super heros"}]}}' \ -v -u {email_address}/token:{api_toke
There is an error in validation for creating translations for categories and sections. The returned error is "Name cannot be blank" however what it is actually validating on is "Title." for sectionLocale in missingSectionTranslations: #create a new section for each translation payload["translation"]["locale"] = sectionLocale payload["translation"]["title"] = payload["translation"]["name"] response = requests.request( "POST", c.URL+"sections/"+str(section["id"])+"/translations", json=payload, auth=(c.USER,c.PASSWORD), headers=c.HEADERS )
I need to copy value of one of the custom ticket fields to another custom field. So, I am trying to get the value of field1 using "client.get()" and once it is returned, trying to assign it to field2 using "client.set()", as shown in the code. But it isn't working. Can someone please suggest what's is wrong with this code or provide an alternative code to achieve this? I am executing this on "ticket.save" event in ticket_sidebar location. var client = ZAFClient.init();client.invoke('resize', { width: '100%', height: '200px' });client.on('ticket.save', function(data) { client.get('ticket.customField:custom_field_900009336126').then(function(data){ console.log('fulfilled'); //this is printing console.log("Field_1_Value", data['ticket.customField:custom_field_900009336126']); //this is printing //Assign value of field_1(900010861363) to another field_2(900005555555) client.set('ticket.customField:custom_field_900010861363', data['ticket.customField:custom_field_900005555555']); /
I'm currently trying to create a trigger to copy a custom text field on a ticket into a custom user field. When I use the following placeholder as the value to set user field to on the action, it doesn't treat the placeholder as a variable, and instead literally copies this text into the user field: {{ticket.ticket_field_4971504499091}} See below for a screenshot of what I'm trying to do:
Hi everyone,I’m looking for inspiration and best practices from the community on how to build a function that allows agents to move tickets between views.Context:We currently have multiple groups each with its own dedicated email and several views. The agents need to move tickets that have arrived in incorrect e-mails between views.To give you an example it looks somewhat like this:Group a (group-a@email.com) View a, invoices View b, technical support View C, salesGroup B (group-B@email.com) View d, invoices View e, technical support View f, salesGroup C (group-C@email.com) View g, invoices View h, technical support View i, salesSo far i have tried creating a group for each view which creates a abundance of groups when its really just 3 groups handling all the tickets.I have also tried creating a drop-down field with each view and then editing the conditionals of the views. Ive had the most success with this method so far but it results in alot of conditionals for each view
Hi there!We're currently using the classic Web Widget embedded within a Help Centre, the widget script has been rolled out and is working fine. We've customised some of the CSS so the button is more on-brand. My question is, if we upgrade our widget to support Messaging by ticking 'Turn on messaging for this web widget', will the widget script need to be deployed again or will it remain the same? Will any of the associated classes etc change within the widget?
Is there a way to open the web widget with a help center article loaded? Right now I have a link in my app that opens a help center article in a new tab, and I would like to keep them in-app by opening it in the web widget instead. I know that there are ways to open the widget with a search query or filter but I would like to just immediately open the article inside the widget.
I'm hoping to get some guidance. We want to try to give people access to the articles they probably need, ideally before submitting a ticket, whether using the chatbot, suggested articles, email autoreplies, etc. The thing I'm getting hung up on though is recommending articles based on a specific tag or label without me manually entering each article I want to recommend.Ideally, any of the following would work, but I haven't found anything to let me do roughly what I'm after: On the New Request page, specify suggested articles based on the specific request form (can't seem to find any way to tweak these suggestion settings) Using the conversation bots to recommend articles based on a tag (have to enter articles manually, and only 3 per step) Using conversation bots to link to a Guide search for the content tag (looks like this can be done, but I need to find the content_tag IDs manually to make the links, which is fine for 1 or 2 buttons, but we've got many more to do) Email autoreplie
We have 2 distinct organizations of licensed agents accessing the same one Enterprise account. One organization uses Microsoft Active Directory and the other uses Google G-Suite/Workspace. For security purposes, we want users from both organizations to be authenticated using single sign-on by their own identity management system. Is this possible? Is there an article? Thanks
Hi champs!As specified in this doc (https://developer.zendesk.com/documentation/apps/app-developer-guide/manifest/#gaid) I added my google analytics to my Marketplace application.I do see events like “first_visit”, “page_view” etc on Google analytics etc but I had questions about the rest:“form_start” seems to fire when the user selects the plan, at the stage where it’s required to select their Zendesk subdomain. Can you confirm? Is this the last event that the page fires before the user navigates away from this page? I’m searching for the best conversion event for advertisement campaign that I’d like to launch - Is any event for when the app is installed by the user or is the form_start the last ? LMK if you need more information
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.