Ask questions, share tips, and discuss best practices about apps and integrations, App builder, APIs, SDKs, ZAF, and Sunshine
Recently active
Zendesk doesn’t offer a built-in way to remove multiple attachments at once. Handling them one by one can be slow and inefficient, especially with large volumes of files.The Attachment Redaction Add-on in the GDPR Compliance app makes this process simple and flexible. Users can set their preferences, choose what to remove, and process single tickets, users, or entire lists — all while keeping the rest of the ticket intact.Use cases it solves Freeing up storage: Quickly remove attachments that take up significant space without affecting ticket content. Data compliance: Safely redact sensitive files to meet GDPR or other privacy requirements. Inactive or outdated data cleanup: Remove attachments from tickets or users that are no longer relevant. File-type specific removal: Target large media files while keeping important documents untouched (for example). Custom lists and conditions: Users can create specific lists of tickets or users with their own conditions, making bul
Hi Zendesk team, We noticed the Central Admin API appears in your Zendesk Public API - Postman Collection, but it’s missing from the official API reference and the endpoints are under private path: /api/admin/private/accounts/current/Despite the private path, these endpoints are reachable with an API token and are critical for us for automating SAML SSO management (e.g., rotating certificates, updating IdP settings) which we need to do programmatically. Questions: Is this API supposed to be only internal/private, or can be considered public but falling under your Undocumented APIs "policy"? What is the stability/future of this API? Will it be officially supported at some point so can we rely on it for production automation? If not supported, what’s the recommended programmatic approach to manage SAML SSO settings? Any clarification from Zendesk staff would be greatly appreciated as we want to ensure our automation is safe and future-proof. Thank you!
This app connects to a shopify store and displays customer data and ordersProblem StatementSupporting e-commerce can require data that's stored in different tools. Getting a customer's order status can require many data sources. Agents can spend significant time switching apps and contexts. Minimizing that time would increase customer satisfaction and agent productivity. Potential EnhancementsThis app is a read-only version and limited to customer and order records. A more full-featured app could be more tightly tied with business needs, such as a refund button, a fulfillment option, a cancel feature, and additional recommended products. This app is well-designed to iterate through additional tabs, features, controls, and further integrations. Screenshots Prerequisites A Shopify store token with at least read_customers and read_orders scope. Additional scope items will depend on additional data you wish to receive. &nb
Onboarding a new employee requires a number of steps that require tight coordination and deadlines. This app creates a checklist of which steps in the process have been completed and allows the agent to see what needs to be done next.Problem StatementUser onboarding requires coordination of many teams, each doing tasks that may be sequential or may be possible to execute in parallel. Agents need to be able to see where in the process a new hire is and what steps need to be completed to successfully onboard them,Screenshots Prerequisites This prompt is looking for a user field with the ID of 41586677216283 to read the lists of “Onboarding Tasks”. Please create a multi-select custom User Field, call it Onboarding Tasks, and add your steps to that dropdown. Then edit the prompt to use your specific field ID.PromptWe are creating an HR onboarding App to assure that each step of the new hire onboarding process has been followed. When the app is opened,
An app which gives agent an at-a-glance view of CSAT for their entire brand for some time period, including trends. It keeps them from having to leave Zendesk, search for tickets or guess what the trend is. The article gives the prompt used to generate one version of this app. Problem StatementWhen working on a ticket for a customer, an agent may want to know the sentiment over time of the customer, as well as comments made on the customer's tickets after the ticket closed. Doing so may take them away from the customer's current reply and might involve hunting through older tickets and checking for comments. If this retreival can be automated to keep the agent focused on the customer , it will improve response time and provide agents with real-time help in understanding this customer in-depth. Screenshots PromptWe are making CSAT Dashboard for ag
Hello! We are currently integrating your messaging SDK into our Unity application and have encountered a technical issue with the GetUnreadMessageCountAsync methodHere are the details of the issue:In our usage GetUnreadMessageCountAsync(Action onUnreadCountChanged, bool shouldSubscribe) returns 0 until the user opens the support conversation.We attempted subscribing to the WebSocket event outside of the conversation, but this did not resolve the issue.The method only starts returning valid information after the user has opened the support conversation. Our goal is to notify users of new responses from support agents by displaying a notification dot above the support button. However, the current behaviour of the SDK prevents us from achieving this functionality. Expected Behaviour:We expect that the GetUnreadMessageCountAsync method should return the actual unread message count as soon as the SDK is initialised, regardless of whether the user has opened the support conver
We are seeing a crash in the Zendesk Messaging Android SDK when the conversation screen renders HTML content. The app throws java.lang.AbstractMethodError referencing android.text.Html$TagHandler.handleTag(boolean, java.lang.String, android.text.Editable, org.xml.sax.XMLReader) during HTML to Spanned conversion. Zendesk Messaging (Android) SDK version:zendesk.messaging:messaging-android:2.34.0 Crash Detail: Fatal Exception: java.lang.AbstractMethodError: abstract method "void android.text.Html$TagHandler.handleTag(boolean, java.lang.String, android.text.Editable, org.xml.sax.XMLReader)" at android.text.HtmlToSpannedConverter.handleStartTag(Html.java:842) at android.text.HtmlToSpannedConverter.startElement(Html.java:1243) at org.ccil.cowan.tagsoup.Parser.push(Parser.java:795) at org.ccil.cowan.tagsoup.Parser.rectify(Parser.java:1062) at or
Recipes for App Builder work best if readers can discover them and can tell quickly if this recipe solves their problem. Start with a summary so that readers can tell quickly what the recipe is about. If you were publishing this recipe to the Zendesk App Marketplace, this is the quick blurb to get readers to read on. A recipe does not need all these sections to be helpful to other app builders. You can write a Problem Statement and a Prompt and have enough to help people make a similar app.Make sure to give your recipe a clear title, since that's going to be prominently displayed and found in searches. start with “Recipe: ”, then something helpful like the title of the app or the purpose, then “app” or “application”. Making your recipe easy to find helps everyone.Problem StatementWhat is the problem being addressed? This lets readers know if this recipe will solve their problem exactly or if it will need to be tweaked. Potential Enha
Zendesk does not allow iframing of a web application.Zendesk prevents the iframing of Zendesk by setting an HTTP header (X-Frame-options) to SAMEORIGIN for all server responses.
An app which limits the reassignment process so that a ticket that is assigned to an agent cannot be reassigned to a group, only another agent. The article gives the prompt and the generated blueprint.Problem StatementSome businesses do not wish to allow a Zendesk ticket to be reassigned to a group after it has already been assigned to an agent. They wish to be able to reassign tickets, but only to actual agents. This app is designed to restrict agents from assigning a ticket to a group. Potential EnhancementsThe admin creating this app could add more restrictions or conditions on the restrictions, such as restrictions only for a particular agent group or allowing group reassignment for some agent groups but not others, a status requirement (e.g. 'only allow group reassignment if ticket status is New'), or any other customer-specific workflow. ScreenshotsThese are typical screenshots from executing this prompt in App Builder. As with any AI generated
Using JWT Authentication, it would be expected that once a request is marked “read” that it will remain “read”. However, if a user acquired a new JWT, it seems the “read” state of all requests is lost. The user experiences a total reset of the “read” status of all tickets, causing confusion and annoyance. Create a ticket via SDK Channel with JWT authentication Have an agent respond to the ticket Get updates for device View all requests Refresh JWT (in our case, logout then login of app) Get updates for device Notice all previously “read” requests are “unread” Is there a way to avoid this issue?
Hello all, I am trying to integrate an application using the external ID in Zendesk. When I login through zendesk, I can see the external ID on the tickets I am working on: Yet when I access through the API the external ID is set as null:I am using the tickets API: /api/v2/tickets/ticket_id Any help on this?
i am calling zendesk rest API from my Backend systems.i need to fetch all the tickets those matches the requester's phone Number pattern.e. g. if give the searchPattern as “1234” it needs to search all the tickets of the requester those have “1234” as part of there phone number .i have used below endpoint as per some documentation i found online but its not working (right now its matching only one requester,but i also need a pattern here as well):https://8x8qatest.zendesk.com/api/v2/search.json?query=type:ticket requester.phone:+43211234Any Suggesstion, or any other Rest endpoint i can use for my requirement.
Hey!We have been using Zendesk for the past few years for our customer support on IOS, We have shifted our architecture in React Native which supports IOS and Android.Currently we are using (https://www.npmjs.com/package/react-native-zendesk-messaging?activeTab=readme)Which works well on IOS side but it failed to load chats on Android Side although we get message Initialised Successful. I am attaching screenshots for refrence
When using SunshineConversation's API Pass Control to connect a user to an Agent Workspace operator, is there a way to set the SunshineConversation user's email address (profile.email) to the Zendesk user's email address (user.email)?The SunshineConversation user's name (profile.givenName) is reflected in the Zendesk user's name (user.name), but the email address is not.
Hello Zendesk Support Team,Subject: Persistent ZAF Modal Error: APIUnavailable for instance.data I am developing a Zendesk app with a ticket sidebar that opens a modal dialog. I am facing a persistent issue where I cannot pass data from the parent sidebar app to the modal. When the modal app attempts to retrieve the data using client.get('instance.data'), it consistently returns the following error:APIUnavailable: "ticket.requester.id" Could not find handler for: "instance.data"This error occurs immediately upon the modal appearing.I have extensively troubleshooted this issue by trying the following:- Using client.on('app.registered'): I placed the data-retrieval logic inside this event handler to ensure the app is fully registered and the API is ready. The error still occurred.- Passing data via URL query parameters: To bypass the client.get method, I attempted to send the data directly in the modal's URL. This also resulted in errors due to cross-origin security polici
Current OAuth 2.0 authentication support for webhooks only works with non-expiring tokens, as there is no mediation between Zendesk and the authentication provider.Only the Bearer Token itself can be configured when setting up OAuth 2.0 authentication, which means, out-of-the-box, OAuth 2.0 authentication does not support mechanisms such as client-credentials flow: https://auth0.com/docs/get-started/authentication-and-authorization-flow/client-credentials-flow
I use Zendesk Sell for managing leads and sales, and I’m looking for a VoIP solution that integrates smoothly with it. Ideally, I want to be able to make calls directly from the platform, automatically log call activity under the right contact, and maybe record calls for training purposes. What VoIP systems have you used that work well with Zendesk Sell, and what’s been your experience with them?
I have a custom checkbox field in Zendesk ticket form that I need to set to ‘True’ on ticket creation that I will later use in some triggers/automation. I do not need the customer to see this field when submitting a ticket - i just want it to be checked by way of the Web widget submitting a ticket. I cannot get this functionality to work and have tried everything - // Method 1: webWidget:set with contactFormzE('webWidget:set', 'contactForm', { 'customField:1234567891011': true});// Method 2: webWidget set with contactForm zE('webWidget', 'set', 'contactForm', { 'customField:1234567891011': true});// Method 3: Event listener for widget openzE('webWidget', 'on', 'open', function() { // Set custom field logic}); Error Messages Received: Method webWidget:set.contactForm does not exist Method webWidget.set does not exist Method webWidget.on does not exist What is the correct API syntax for setting custom field value
Feature Request Summary We need an improved search API that can help distinguish "direct line" and secondary phone fields. This should allow us/partners to build more solid solutions that can handle shared user numbers. Use Case The issue is that when we have multiple requestors that are calling in via Amazon Connect that have the same telephone number. Our voice integration (by Voicefoundry/TTEC) allows for the customers requestor account to be popped to the screen with open tickets, but this is causing issues with requestors that share the same telephone number, for example a hospital department or office that has multiple requestors but they dial out from one phone number. ZD has clarified that they cannot resolve this OOTB (see Why are some users not correctly identified when they call in? – Zendesk help). Shared numbers are possible in ZD but the calls will always be associated with the user that has the number put the "direct line" originally. ZD's solution is to just change the
We've been developing a Zendesk sidebar app and want it to use the full available sidebar screen space, both in width and height. While setting the width to 100% works as expected, setting height: '100%' viaclient.invoke('resize', { width: '100%', height: '100%'});has no effect – the height simply isn't respected unless we provide a fixed pixel value. But hardcoding a value doesn't adapt to the dynamic space available, which is essential for our app since it displays live contextual data. We’ve also tried using CSS to enforce full height, including height: 100% and min-height: 100vh on the body and root elements, but that didn’t solve the issue either. We noticed that Zendesk’s own demo apps (e.g. https://github.com/zendesk/demo_apps/blob/master/v2/support/basic_ticket_sample_app/assets/iframe.html) navigate around this by setting small fixed heights, but that’s not sufficient for real-world use cases like ours. We’re looking for a reliable and flexibl
I find the examples in the API documentation lacking and I've spent all morning trying to implement a search of my custom object records using the API. I've tried the curl example in the docs (modified with my subdomain, custom object type and a relevant search query, of course. Also, I found I needed to add -g to get curl to ignore the [ and ] globbing characters ) and got back “Invalid search: Unable to execute search request”. Is there something wrong with this?curl --request GET https://$ZENDESK_SUBDOMAIN.zendesk.com/api/v2/custom_objects/type_of_custom_object/records/search\?page\[after\]\=\&page\[before\]\=\&page\[size\]\=100\&query\=usb\&sort\= --header "Content-Type: application/json" -u "$ZENDESK_EMAIL/token:$ZENDESK_API_TOKEN" -gThe environment variables are set up correctly and other API calls work just fine using them in this way. I think it's also worth noting this. I've also tried in a node script that just tries the call the search endpoi
I am using the API for Audit logs and it says i can use the filter[created_at] and whenever i use it i get the error at the bottom. Can't find out how to enter the value as an array. An example would be helpful or if this feature has a bug in it. Here is an example of how i am using it:curl -g 'https://{subdomain}.zendesk.com/api/v2/audit_logs.json?filter[created_at]>2022-08-12T16:10:49Z' -v -H "Authorization: Basic *********************" Keep in mind I have tested with the other filters and have not had any issues. "error": { "title": "Invalid attribute", "message": "You passed an invalid value for the filter.created_at attribute. Invalid parameter: filter.created_at must be an array from api/v2/audit_logs/index" }
I'm building an Android app that's using `5.2.0` version of the Zendesk's Support SDK so that users can view individual Zendesk content articles. The SDK doesn't seem to handle YouTube videos very well. My end goal is to view the video on the device in full screen. Nothing happens after tapping on the full screen frame icon within the embedded YouTube window within the article. The SDK doesn't handle the UI well if the user taps on `Shorts` as well. Visit https://imgur.com/a/ZzRfel7 to see what I'm talking about. Is this something that Zendesk can fix?Based on what https://support.zendesk.com/hc/en-us/articles/4408829384986-Inserting-videos-in-articles-and-content-blocks says below, it seems like maybe there's a way to use custom unsafe HTML embed code + `allowfullscreen` to embed the YouTube video instead of relying on Zendesk's article editor toolbar video method. custom embed code Related: https://support.zendesk.com/hc/en-us/community/posts/5379550100122-Native
I am using zendesk dotnet sdk by justeat but when i try to search for the user or create user it gives me this error Error converting value {null} to type 'System.Boolean'. Path ‘results[0].two_factor_auth_enabled What I don’t understand is that it was working earlier but now it is causing this issue. I have gone through the sdk code they have not handled this case and expect only boolean value. Has anyone else faced the same issue, If so is there any fix or ill need to implement the service.
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.