Ask questions, share tips, and discuss best practices with community peers.
Recently active
Hi, I'm working on a private Support app using the ZAF framework. When I go to upload the app within Zendesk I get this error. I've tried running `zcli apps:validate` but it says there are no validation errors. For some more context: the app is based on the provided react scaffold, and runs in the ticket_sidebar location. As far as I can tell, the manifest and other required files match what is described in the docs.
In handlebars, the required helper takes an id of a form field. Where is this configured? On my new_community_post_page.hbs, I have<div class="form-field {{#required 'details'}} required {{/required}}">and the helper evaluates to false. I would like it to be true. How do I tell Zendesk that the ‘details’ field is required?
The default handling for Suspended Tickets doesn't have a bulk mode, but in some cases the agents or admins want to take care of a number of suspended tickets in bulk, without entering each one, which saves time when lots of suspended tickets appear at once. This application allows anyone with access to quickly manage and delete or recover suspended tickets.Problem StatementAs ticket volumes increase, it can become time consuming to manage the volume of suspended tickets, and if a malicious user sends in tickets in bulk, cleaning them up can be tedious. Adding a management app like this creates an interface designed for bulk management of the suspension queue. Screenshots PromptThis should be a Side Navigation App, to provide enough room to see the details. We are making an app to handle bulk management of suspended tickets. Create an app that displays all tickets in the Suspended Tickets queue. Allow users to select one or more tickets from the li
From what I understand requests to the /requests endpoint will now trigger a verification email. However, there is also a way to attach x-csrf-tokens to the /requests endpoint (https://developer.zendesk.com/documentation/help_center/help-center-api/secured-requests/). If a request contain a x-csrf-token would it still be subject to the verification flow?
When opening Help Center articles on a mobile device, the video walkthrough appears partially displayed—only about half of the video is visible on screen. Users can manually scroll horizontally to view the rest of the video. This creates a less optimal user experience since the video does not automatically adjust to fit the full screen width of the device. It is currently unclear whether this issue is limited to Android devices or also affects iPhone devices. Questions / Request for Assistance: Is it possible to implement responsive video scaling so that video walkthroughs automatically adjust to the device’s screen size (both Android and iPhone)? Can a full-screen viewing option be included to improve usability and accessibility?
1. Is there a way to prevent a ticket from being created if the customer does not leave a voicemail or no transcription is detected? 2. Is there a way to prevent a ticket from being created if the voicemail or transcription is less than 9-10 seconds?
Hi Zendesk team,I've added the ticket editor placeholder to my zendesk app, and it behaves as expected in my local environment — the icon appears in both Public Reply and Internal Note views when the ticket editor pane is activated.However, in the hosted environment, the icon only appears in the Public Reply section. When I switch to Internal Note, the icon disappears entirely. I’ve already updated the manifest.json as per the documentation, and ensured that the app initializes correctly when the ticket editor is active.Has anyone faced a similar issue? Is there any additional configuration or workaround needed to ensure the icon renders properly in both editor modes in the hoisted environment?Any help or suggestions would be appreciated!Thanks in advance.
Hi Team, I am unable to see the signature in the side conversation all of a sudden. Earlier it was working just fine. Can someone point out to the right setting where I can correct this? Signature is added in my profile's 'signature' section: Side conversation doesn't show signature:
As a Zendesk Administrator, you understand the critical role schedules and holiday management play in providing seamless customer support. In this blog post, we'll explore the robust administrative features Zendesk offers at different plan levels and discuss the challenges administrators face when manually updating holiday schedules. Additionally, we'll highlight two innovative contributions to the Zendesk application marketplace that can significantly enhance your holiday management capabilities. Zendesk provides a range of administrative features related to schedules and holidays, catering to different plan levels. Let's delve into some of these features that can empower administrators to create efficient support workflows: **Multiple Schedules:** At the Professional level and above, Zendesk offers the flexibility of creating multiple schedules, allowing administrators to tailor support operations to different teams or regions. This feature is particularly valuable for organiza
I have 4 custom ticket fields:Start Date - Date field.End Date - Date field.Start Time - Regex field with HH:MM format.End Time - Regex field with HH:MM format. I'm trying to calculate the time between the Start Date + Start Time and End Date + End Time. This is the formula I got so far. It works but the results are incorrect and I can't figure out why. DATE_DIFF(DATE_ADD([Start Date - Timestamp], "minute", NUMBER(SUBSTR([Start Time (HH:MM)], 0, 2)) * 60 + NUMBER(SUBSTR([Start Time (HH:MM)], 3, 5))), DATE_ADD([End Date - Timestamp], "minute", NUMBER(SUBSTR([End Time (HH:MM)], 0, 2)) * 60 + NUMBER(SUBSTR([End Time (HH:MM)], 3, 5))), "nb_of_minutes") Here is how it looks like if I use "minute" instead of "nb_of_minutes": Calculated Start Date: DATE_ADD([Start Date - Date], "minute", NUMBER(SUBSTR([Start Time (HH:MM)], 0, 2)) * 60 + NUMBER(SUBSTR([Start Time (HH:MM)], 3, 5))) Calculated End Date: DATE_ADD([End Date - Date], "minute", NUMBER(SUBSTR([End Time (HH:MM)], 0, 2)) * 60 + NUMBE
I am unable to update custom fields from my app. I've even tried using the REPL app. The original field has the value “Test Hall 5”. As you can see below after setting the field, the response indicates it is successful. I then click submit on the ticket to save the changes. As you can see, when calling get() the the previous value is still there. Updating other ticket fields via set() works. What am I doing wrong? 1: async request - zafClient.set('ticket.customField:custom_field_27609398553885', "Test Updated");> {}1: async response (undefinedms)> { "errors": {}, "ticket.customField:custom_field_27609398553885": "Test Updated" }2: async request - zafClient.get('ticket.customField:custom_field_27609398553885');> {}2: async response (undefinedms)> { "errors": {}, "ticket.customField:custom_field_27609398553885": "Test Hall 5" }
I have been using zendesk for a while unfortunately due to an update i believe rolled out last year it has been difficult to read ticket due to the new background colour of text. As the new tickets are now Green and yellow it's difficult for myself to read do to being slightly color blind(Green and Yellow). It would be a great feature to have these text backgrounds to be changed as it would be easier for not only my self but other people who may be affected by this. I have tried using extensions but i have not been able to find one which truly does fix this problem Any suggestions for this would be greatly appreciated Thank again
Hi, I am struggling with uploading my zendesk app to my companies zendesk sandbox env. I have created my app by following the docs for “Using React in a Support app”. I am logged in to correct subdomain and have created a build. When I then type “zcli apps:create ./dist” from the root directory of my app, i am getting this error: Upload failed with response: <html><head><title>400 Bad Request</title></head><body><center><h1>400 Bad Request</h1></center><hr><center>cloudflare</center></body></html>Uploading app... Failed› Error: Failed to upload app When i try to run “zcli apps:validate ./dist”, i get this error: zcli apps:validate ./dist › Error: Error I am also getting Error:Error when trying to “zcli apps:package ./dist”. It creates a zip file tho, inside dist/tmp. I have tried to upload the fi
Hi, I'm working for a company that deals with calls from different countries in the EU, we have Customer support staff who can all speak different languages. I'm looking for information about how to route calls based on customer language and customer support agent languages spoken. Can we route calls based on incoming dialing code e.g. +44 routes to English speaking customer support agents?
We’ve encountered a challenge when managing prompts/labels across a large group of contributors.When driving adoption of a designated and standardized list, governance becomes critical. Currently, not being able to remove previously used prompts/labels creates ongoing confusion for users and makes it significantly harder to maintain consistency.Over time, this results in: Cluttered and outdated label lists Inconsistent usage across teams Increased administrative overhead for editors and publishers Reduced confidence in the system’s structure For teams managing knowledge at scale, the ability to clean up, retire, or remove previously used prompts/labels is essential for long-term governance and quality control.Suggested enhancement:Provide administrators with the ability to: Remove or retire previously used prompts/labels Archive labels so they are no longer selectable moving forward Strong knowledge governance requires not just creation controls, but lifecycle management. This capabili
Hello, I identified that the Help Center pages automatically inject a script block containing the HelpCenter.user object, which includes the logged-in user’s email address in plain text within the page source.Although this information is only visible to the authenticated user, our internal security policy requires that email addresses — which are used as authentication identifiers — must not appear in clear text within the page source.Is there any supported way to suppress, hide, or mask the email field within the HelpCenter.user object?If not, is there any configuration, setting, or alternative implementation approach that would allow us to prevent the email address from being exposed in the rendered HTML/JavaScript response?I would appreciate clarification on whether this behavior is mandatory for Guide functionality or if there is an enterprise-level option to modify it.
I see your announcement where you are forcing AI upon us.Will there be a way to turn it off as we do not want to be sharing our info with Microsoft or using this AI slop.
Hi! I'm building an app that will be deployed for any Zendesk account, so I will need a Global oAuth Client. But, when the user authorizes the installation, how do I get the account subdomain to make API calls? I know that https://{subdomain}.zendesk.com/api/v2/brands give all info, but it requires a subdomain too... Thanks.
What I am trying to do is to get the number of days since the last response. IF Current Day - Last Updated = less than a week (7days) → give me the number in daysIf Current Day - Last Updated = less than 4 weeks (a month) → give me the number in weeksIf Current Day - Last updated = more than 4 weeks → give me the number in months This is what I want to do. TO essentially tell the user that their ticket has been outstanding X days, weeks or month. How can I do this in a macro using the placeholder references / scripting language
I’m facing an issue with Zendesk AI intent detection and webhooks. I have AI intent detection enabled, and the intent is successfully detected on the ticket (I can see the system tags and the intent/confidence in the ticket events).I am trying to send the detected intent to an external system via webhook. My webhook body looks like this:{"ticket_id":"{{ticket.id}}","action":"{{ticket.ticket_field_33209525892626}}","intent":"{{ticket.ticket_field_option_title_33190930229522}}","tags":"{{ticket.tags}}","intent2":"{{ticket.ticket_field_33190930229522}}",}The problem is: Sometimes the webhook receives the correct intent. Other times, the webhook fires but the intent field is empty. In the ticket events, I can see that AI intent detection My questions: What is the recommended way to ensure the webhook only fires after AI intent detection is completed? Is there a guaranteed event or condition that indicates AI processing has fully finished? Is mapping AI intent directly to a custom field the
Hi everyone, I’m trying to send the selected values of a multi-select custom ticket field from one ticket to a different ticket using Zendesk triggers and webhooks. Setup: Trigger: fires when the source ticket is updated Action: Notify active webhook The webhook updates the target ticket using the Zendesk Tickets API Webhook is created and tested successfully. This is the JSON. { "ticket": { "custom_fields": [ { "id": 33766991659677, "value": ["{{ticket.ticket_field_33766991659677}}"] } ] }} Problem:When only one value is selected in the multi-select field on the source ticket, everything works correctly and the target ticket receives the value.However, when multiple values are selected in the multi-select field, the trigger runs but the multi-select field on the target ticket becomes empty, instead of being updated with all selected values.&
Does zendesk provide an incremental API for community posts? similar to https://developer.zendesk.com/api-reference/help_center/help-center-api/articles/#list-articles-incrementally for articles or https://developer.zendesk.com/api-reference/ticketing/ticket-management/incremental_exports/#incremental-ticket-export-cursor-based for tickets?
Is anyone else running into issues with the recent changes to pausable update SLAs, or are we just not understanding it? Zendesk Support confirmed that unpausing a ticket now resumes the timer rather than resetting the window - understood. But, this means the SLA is now cumulative. So if a complex ticket spends a total of 10 hours in “active” status and your SLA is 8 hours, it’ll breach regardless of how many times the agent replies. Support suggested just lengthening our SLA targets to “one week,” but that ruins our ability to track consistent update cadences.So my question is, how is everybody tracking agent update consistency now? Are there any workarounds (like triggers or different metrics) that yall have found to be helpful?Thanks!!
I've created a workflow in n8n that returns an error everytime I try to publish it.I've narrowed it down to that it is your webhook trigger that causes the error. If I remove all other nodes from my workflow, I still get an error when trying to publish the workflow. When I execute the workflow for test the trigger works perfectly fine. I just can't publish it. These are the two errors:"Problem activating workflowThe following error occurred on workflow activation: Bad request - please check your parameters" "Workflow could not be published: 400 - """
A feature I'd really love to see would be the ability to create a custom user role to allow our HR/IT department to provision/deprovision users. Right now, we need to give them admin roles add and remove new staff members. This means I hvae people in HR or IT who are massively over provisioned. Understandably it makes me really uncomfortable giving admin access to people with no understanding of the complexity of our setup and ultimately it gives them permission to do some real damage. Anyone else have this issue?
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.