Ask questions, share tips, and discuss best practices with community peers.
Recently active
Our project is quite large, so we use "treat warnings as errors" to keep the codebase as clean as possible. During our recent upgrade to Xcode 26, we noticed that some dependencies such as ZendeskSupportSDK (9.0.0) are emitting deprecation warnings like the following: 'mainScreen' is deprecated: first deprecated in iOS 26.0 - Use a UIScreen instance found through context instead (i.e, view.window.windowScene.screen), or for properties like UIScreen.scale with trait equivalents, use a traitCollection found through context. We tried moving the `ZendeskSupportSDK` dependency into its own target with warnings-as-errors disabled. Unfortunately, that doesn’t seem to work, because the SDK is treated as an explicitly precompiled module. As a result, it is compiled before the rest of the project and still picks up the main app target’s treat warnings as errors setting. We're wondering if there is a way for the dependency to either 1) move away from using UIScreen.main altogether
Hi, Is it possible to sync the created date and last commented date timestamps from a linked Jira into corresponding Zendesk ticket fields? We wanted these fields to sync from Jira to Zendesk, so that we can calculate: the time the Zendesk ticket spent with the group until the linked Jira was created the time it took from Jira created date to Zendesk ticket closure date I see that Zendesk has a custom “date” field which does not seem to support actual timestamps. So not sure, if it is possible to still sync over these dates into Zendesk using the standard Jira Zendesk integration app. Any suggestions if anyone has executed similar sync without a third party app.Thanks in advance.
Currently on Zendesk WFM the way to track the overtime on our agents is: Sum of time of clock-outs that occur outside of scheduled hoursHowever, if agents take extra hours it won't be easily verifiable for our WFM team if those extra hours were previously approved or not (considering that agents work from home). What I am currently doing is that we extend the shift of the agents using a general task called ‘Emails OT’ that adheres to the ‘Email’ workstream, so it won't affect our agents' adherence metric, this way we can easily download the time for overtime historically on our reports. However, it affects the way we can easily track our Email coverage when we check the staffing charts on the ‘schedule’ site (check you check it in daily level). Because the staffing chats uses workstreams to track how good or bad we are staffed for the day and not "general tasks". Is there any other way that we can easily track overtime and at the same time it would be easier t
I had a question regarding the send/post message API endpoint (link of doc: https://developer.zendesk.com/api-reference/conversations/#tag/Messages/operation/PostMessage).api endpoint: https://{subdomain}.zendesk.com/sc/v2/apps/{appId}/conversations/{conversationId}/messageswith body for sending attachments:{ "author": { "type": "business" }, "content": { "type": "image", “mediaUrl”: “xyz” "text": "very big text" }}If the content.type is set to "image", is there any limitation on the content.text character length? Specifically, if the text field contains a long string, is there a maximum character limit that could potentially cause an error?
Hi! I found in https://developer.zendesk.com/api-reference/ticketing/tickets/tickets/#update-ticket that for handling tags I need to use additional_tags. However it does not seem to work when I'm just updating a single ticket but only when bulk updating tickets. How do I add a tag to single ticket via API? If I use tags, it will replace already existing tags which is not the result I want. If I use additional_tags in my PUT request {{testUrl}}/api/v2/tickets/883 it does nothing. Br. Otto
Hi Everyone I hope this message finds you all well. Today, I am reaching out to seek assistance and advice regarding a technical issue we are facing with our data center and the integration of Zendesk API. Our organization relies heavily on Zendesk for customer support and ticket management. To enhance our processes, we have recently implemented the Zendesk API to integrate it with our data center infrastructure. However, we are encountering challenges related to the seamless integration of Zendesk API within our data center environment. Here are the specific issues we are currently facing: Performance and response time: Since integrating the Zendesk API, we have noticed a decrease in overall system performance and response time. Data retrieval and updates via the API take longer than expected, impacting the efficiency of our customer support processes. Connectivity and reliability: We have experienced intermittent connectivity issues with the Zendesk API from within our data cente
Hi all,I'm implementing a data sync thing using Zendesk's Incremental Export APIs (specifically the cursor-based version), and I want to confirm that the approach I'm using is sound. I'm primarily interested in making the incremental sync recoverable. So, if everything blows up in the middle of paging over incremental requests and I lose a valid cursors, I want to be able to fallback to timestamp. My idea is to use the timestamp right before a successful end_of_stream response as a recovery point. Here's the pattern I'm thinking:Initial Full Sync:Before fetching any data at all, I record a start_time timestamp. I then perform a full sync using the standard REST APIs to pull all existing records.I record the timestamp before any requests to catch anything that may have changed during the full sync. First incremental sync or recovery from timestamp (no cursor): I start the first incremental sync using either last_recovery_time or start_time, and loop through the res
Does anyone know which endpoint(s) I need to use to access time tracking data? We report on number of touches and time spent, and in Explore can access this data via the “Support: Updates history" report type and the "Update handling time” metric. According to the example response on this page - https://developer.zendesk.com/api-reference/ticketing/tickets/ticket_audits/ - this data looks like it should come out as “time_spent” when using the ticket_audits endpoint, but I can't find any more details about what this metric actually relates to, and it doesn't appear when I make calls to that endpoint in our account.
Hey team, We have several custom fields that are checkboxes on the ticket form. Is it possible to check/uncheck them using an API call? So far I had no luck doing so. { "ticket": { "custom_fields": [ { "id": 31040284313501, "value": true } ] }}Thanks!
Hoje o aplicativo não consegue buscar os tickets de conversa paralela: Estou tentando criar um app que busque e exiba todas as conversas paralelas vinculadas ao ticket, traga o tempo em minutos em cada status desse ticket da conversa paralela, a nota da pesquisa de csat, tenha o link de direcionamento para os tickets paralelos desse ticket original. Essa listagem com as conversas paralelas devem exibir id do ticket, assunto, grupo, status, data de criação, tempo por status do ticket em minutos, link de direcionamento, nota csat do ticket paralelo, opção de adicionar comentarios no ticket selecionado
For many teams in Zendesk, sales and support often run on separate tracks. This can be a reason for creating gaps in visibility, slowing down workflows, and making it harder to maintain a unified view of the customer journey.A practical solution is to use Kanban boards to manage both tickets and deals in a single interface. Boards can be created for different workflows and switched between as needed: Support ticket management (tracking ticket progress from new to resolved) Sales pipeline tracking (monitoring deals from initial contact to closed-won) Renewals and upsells (keeping visibility on ongoing opportunities) Post-sale follow-up processes (ensuring consistent customer engagement) Each card on the board represents a ticket or deal and can be moved across stages with drag-and-drop. Views are fully customizable, allowing team members to focus on what’s most relevant to their work while keeping all activities in a single, visual workspace.Do you think this approach could be useful fo
I am attempting to create a ticket using the `comment.body` field to use Markdown formatting documented here: https://developer.zendesk.com/api-reference/ticketing/tickets/ticket_comments/#bodies Here's an example curl request with my test body: curl https://{subdomain}.zendesk.com/api/v2/tickets.json \ -d '{"ticket": {"assignee_id": 1234, "id": null, "subject": "A test email", "comment": {"body": "This message should render **markdown**"}, "requester": {"email": "redacted@rdctd.io", "id": null, "name": "redacted"}}}' \ -v -u "{username}:{password}" -X POST -H "Content-Type: application/json" The sent email is not formatted as expected. My suspicion is that the body is incorrectly translated to HTML because `html_body` is populated in the response: ...ticket audit response"events":[{"id":12345,"type":"Comment","author_id":15379865986587,"body":"This message should render **markdown**","html_body":"<div class=\"zd-comment\" dir=\"auto\"><p dir=\"auto\">This message should
So i try to get looker api token using these options const loginOptions = { type: "POST", url: "https://domain.cloud.looker.com/api/4.0/login/", contentType: 'application/x-www-form-urlencoded', data: "client_id=id&client_secret=secret", }; const response = await zafClient.request(loginOptions);i got 400 bad request, when i am trying with curl/postman it's worked, currently i'm using zaf sdk version 2.0.11, anyone can help me?this is what i got in chrome dev tools: request actually go to the looker side, but it returns bad request
heyI want to delete my accountthe information in this post seems outdatedcan you please explain how to delete my account ? thanks
Just wondering how we hide custom user fields from agents and end users. We are using some that are just clutter and informational for the admins... Any ideas?
Hi all. I'm usually able to figure out just about anything on my own, but I'm struggling with this one and could use some help! If I'm using a lookup relationship field in a ticket form, I would like to create trigger that automatically populates a ticket field with an attribute from the related object. Here are some use cases: A - A user requests a piece of software. The Agent selects the application's custom object, and I want the name of the approver to be copied into the "Approver" field. B - I have a Requested For field (this is used for when the Requester is different than the person the request is for) and it is a lookup field that points to customer records. I would like the Email address of the Requested For user to be copied into a dedicated ticket field, and would like the user ID to be copied into a hidden field. C - Employee Onboarding. I would like the manager to be the Requester, and I would like the New Hire to be a lookup field that links to a customer reco
Hello, I'm attempting to create a timer app that will automatically add a tag to the ticket after a certain number of minutes. What works so far: Timer is able to be applied with click of a button Timer counts down correctly Timer continues even when ticket is adjusted or closed by user A Tag is applied after timer is done The issue: When the timer is done, the tag is just placed and requires a user to “Submit” the ticket After the app was updated to automatically “Submit” tickets it began throwing the error: Failed to submit ticket: {"name":"Error"} The app builder replied with: Now I can see the issue. The documentation doesn't show a ticket.submit action. Let me check if there's a different way to submit tickets or if we need to use a different approach. Looking at the documentation, I notice there are ticket submission events (ticket.submit.start, ticket.submit.done, etc.) but no explicit ticket.submit action. The error suggests that zafClient.invoke('ticket.submit')
What is the recommended approach to building an app in a test sandbox them moving that app to a production environment?
There are data retention policies due to GDPR and other privacy regulations that require organizations to manage and remove personal data after a certain period. These policies exist to protect customer privacy, reduce legal risk, and ensure that outdated or irrelevant data doesn’t accumulate in your systems.Working in Zendesk, users need a reliable way to enforce these policies without manual effort. Automated GDPR process schedules within the GDPR Compliance tool provide a clear and efficient solution.Here are the steps you need to follow: Create lists of tickets or users that meet your retention criteria — for example, tickets older than 2 years or users inactive for 18 months. Set up automated processes to delete or anonymize these lists on a recurring schedule, such as daily, weekly, monthly, or yearly. Activate the automation so it runs consistently without manual effort. If you need more detailed guidance, you can visit this page.Using this approach ensures that retention polici
We’ve noted a weird behavior of POST /api/v2/calls/{call_id}/comments endpoint. Randomly, we may get unrelated JSON back. We have hundreds of those cases daily. e.g. {'id': 26582381911698, 'type': 'Notification', 'via': {'channel': 'rule', 'source': {'from': {'deleted': False, 'title': 'Notify assignee of comment update', 'id': 29505822}, 'rel': 'trigger'}}, 'subject': '[{{ticket.account}}] Re: {{ticket.title}}', 'body': 'This ticket (#{{ticket.id}}) has been updated.\n\n{{ticket.comments_formatted}}', 'recipients': [22155944916242]} Since the introduction of the Calls API years ago, we have seen it across dozens of Zendesk instances. Can someone from the Zendesk team take a look and save our logs from those errors?
There should be a scroll bar here that has since gone missing over the weekend:We have made no changes to our Zendesk instance. Have also disabled custom sidebar apps and the problem persists. This seems to be a bug recently introduced by a Zendesk change.
I love this, but I'd like the app to be available in the nav bar. Is there a trick to doing that?
I'm programming a small custom App that depending on what is happening should display some popup notifications to the user. I am using the ZAF client invoke and doing the following:client.invoke('notify', 'somewarning, 'error', 30000);This by itself does work. I did however have issues finding any documentation on how to handle this through https://developer.zendesk.com/api-reference/apps/apps-core-api/client_api/#clientinvokename--args and the pages linked to from there. I only found this code snippet in an old app someone else had already done in our company. The following things I couldn't quite figure out: for the 3rd parameter, through some trial and error I found that ‘error’, ‘notification’ and ‘warning’ are options that change the color of the popups title. Are there any additional options that have other behaviours? For the text passed in the 2nd parameter, I'd like to do some formatting to make it look different. I have found that at least some simple HTML markup works,
How can I edit the URL of one of my forms? It would be nice to edit the whole URL, but ultimately I just need to add a word to the end of the URL. Current: https://___.zendesk.com/hc/en-us/requests/new?ticket_form_id=####### Needed: https://___.zendesk.com/hc/en-us/requests/new?ticket_form_id=#######_newword
We would like to found out and display what percentage of our total tickets in a 90 day period are tagged with certain issue tags. Is there a recipe to show this?
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.