Zendesk
This page provides information for connecting Appsmith to Zendesk, which allows you to interact with support data such as tickets and users within your applications.

Connect Zendesk
The following section is a reference guide that provides a complete description of all the parameters to connect to an Zendesk datasource.
Subdomain
The subdomain is the unique identifier in your Zendesk account URL. It appears as the first part of your Zendesk domain and looks like this:
https://<your-subdomain>.zendesk.com
For more details, refer to the Zendesk documentation.
Authentication
After adding your subdomain, you are redirected to the authentication page. The page displays the authentication method based on your Zendesk account configuration. You can authenticate using your email address and password.
Query Zendesk
The following section is a reference guide that provides a description of the available commands with their parameters to create Zendesk queries.
Create Ticket
The create ticket command allows you to generate a new ticket in Zendesk by providing relevant details such as the subject, description, requester information, and optional fields like tags, priority, and due dates. It is used to log new issues or requests in the system for tracking and resolution.
Ticket Subject string
This property defines the title or brief description of the issue or request. It helps to summarize the content of the ticket in a concise manner, allowing for easier identification and prioritization.
Example: If you want to dynamically set the subject from an Input widget, use:
{{Title_Input.text}}
// Example: "Broken link on homepage"
Ticket Description string
This property provides a detailed explanation of the issue or request. It allows the requester to fully describe the problem or inquiry, helping the support team understand the context and provide better assistance. The description must include relevant details, such as steps to reproduce the issue, error messages, or any other information that can aid in resolving the ticket.
Example: If you want to dynamically set the subject from an Input widget, use:
{{Info_Input.text}}
Ticket Requester Name string
This property holds the name of the person submitting the ticket. It identifies the individual who needs assistance or support, allowing for personalized communication and a more effective resolution process.
Example: If you want to dynamically set the Requester Name from an Input widget, use:
{{user_name.text}}
// Example: "John Doe"
Ticket Requester Email string
This property holds the email address of the person submitting the ticket. It ensures the requester can be contacted for updates, resolutions, or clarifications.
Example: If you want to dynamically set the Requester Email from an Input widget, use:
{{user_email.text}}
// Example: "john.doe@example.com"
Assignee Id number
This property defines the Zendesk Agent assigned to handle the ticket. It helps track responsibility for resolving the issue, ensuring that each ticket is directed to the appropriate support representative. If not specified, the ticket remains unassigned.
The Assignee ID is a unique numeric identifier for each Zendesk Agent. Users can find it in the Zendesk Admin Center under Team Members.
Example: To dynamically set the Assignee ID (Agent ID) from a Select widget, use:
{{fetch_agent.selectedOptionValue}}
//632345679
Ticket Type string
This property defines the type of ticket, helping categorize the request for better organization and management. It assists in determining the correct workflow for handling the ticket. If not provided, the default value is usually question
.
- Problem: For issues or bugs that need to be fixed.
- Incident: For service disruptions or outages.
- Question: For general inquiries or support questions.
- Task: For administrative or procedural tasks.
Ticket Priority string
This property defines the urgency of the ticket. It helps support teams prioritize tickets and address the most critical issues first. If not provided, the default value is usually normal
.
- Low: Non-urgent issues that can be handled later.
- Normal: Standard tickets that need resolution within a reasonable time frame.
- High: Urgent issues requiring quick attention.
- Urgent: Critical issues that need immediate resolution.
Ticket Status string
This property specifies the current status of the ticket, indicating its progress in the resolution process. It helps categorize tickets for better management and visibility.
- New: The ticket has been created but not yet assigned or worked on.
- Open: The ticket is currently being worked on.
- Pending: Waiting for more information from the requester.
- Hold: Waiting for a third party or internal process before proceeding.
- Solved: The ticket has been resolved but not yet closed.
Ticket Due At string
This property specifies the due date and time for the ticket, applicable only if the ticket type is set to task. The date must be provided in the ISO 8601 format (YYYY-MM-DDTHH:mm:ssZ
), which ensures accurate time tracking and scheduling.
Example: To dynamically set the due date based on a Datepicker widget:
{{DatePicker.selectedDate}}
Ticket Tags array<string>
This property allows associating tags with the ticket for categorization or easy search. Tags help to quickly filter tickets by specific topics or issues.
Example: For tickets related to a specific feature or campaign, tags such as homepage
, bug
, or marketing
can be applied.
Ticket External Id string
This property is used for associating the ticket with an external system or tracking reference. It helps link the ticket to an issue in a different tool or system.
Example: If the ticket is related to a bug tracked in an external issue tracker, the external ID could be the reference number from that system.
Ticket Custom Fields object
This property is used for associating the ticket with an external system or tracking reference. It helps link the ticket to an issue in a different tool or system.
Example: If the ticket is related to a bug tracked in an external issue tracker, the external ID could be the reference number from that system.
Update Ticket
The update ticket command enables you to modify an existing ticket in Zendesk by updating its properties, such as status, description, priority, or due date. This is used to manage and track changes to the ticket as it progresses through the resolution process.
Ticket ID
This property specifies the unique identifier of the ticket to update. It is a mandatory field used to ensure the correct ticket is being modified.
Example: To dynamically reference the ticket ID from a selected row in a Table widget, use:
{{Table1.selectedRow.ticketId}}
// Example: "56690"
Subject
This property allows you to update the title or brief description of the ticket. It helps to revise the summary of the issue for clarity or to reflect any changes in the request.
Example: To update the subject from an input widget, use:
{{Title_Input.text}}
// Example: "Updated: Broken link on homepage"
Description
This property provides the ability to update the detailed explanation of the issue. Use it to add more information, clarify the problem, or reflect the current status of the ticket.
Example: To update the description dynamically from a text widget, use:
{{Info_Input.text}}
// Example: "The broken link is on the 'Contact Us' page and leads to a 404 error."
Requester Name
This property allows you to update the name of the person associated with the ticket. It is useful if the requester changes or needs to be corrected.
Example: To update the requester name dynamically from the logged-in user’s details, use:
{{appsmith.user.username}}
// Example: "Jane Doe"
Requester Email
This property updates the email address of the person associated with the ticket. It ensures the requester’s contact details remain accurate for ongoing communication.
Example: To update the requester email dynamically, use:
{{appsmith.user.email}}
// Example: "jane.doe@example.com"
Assignee Id
This property updates the Zendesk Agent assigned to the ticket. Use it to reassign the ticket to another agent or team.
Example: To update the assignee ID dynamically from a dropdown selection, use:
{{fetch_agent.selectedOptionValue}}
// Example: "23456789" (Agent ID)
Type
This property updates the type of the ticket. Use it to change the category of the request to better reflect the nature of the issue.
Problem
: Issues or bugs needing fixes.Incident
: Service disruptions or outages.Question
: General inquiries or support questions.Task
: Administrative or procedural tasks.
Priority
This property updates the urgency of the ticket. Use it to adjust the priority as circumstances change.
Low
: Non-urgent issues.Normal
: Standard tickets needing resolution.High
: Urgent issues requiring quick attention.Urgent
: Critical issues needing immediate resolution.
Status
This property updates the current status of the ticket, indicating its progress. Use it to track and manage the ticket’s resolution.
New
: The ticket is created but not yet acted on.Open
: The ticket is being worked on.Pending
: Waiting for more information from the requester.Hold
: Waiting on a third party or process.Solved
: The ticket has been resolved but not yet closed.
Due At
This property updates the due date for the ticket, applicable for tasks only. The date must be in ISO 8601 format (YYYY-MM-DDTHH:mm:ssZ
).
Example: To update the due date dynamically from a date picker widget:
{{DatePicker.selectedDate}}
// Example: "2025-01-25T15:00:00Z"
External Id
This property is used to associate the ticket with an external system or tracking reference. Update it to reflect changes in external issue trackers or related systems.
Example: To set the external ID dynamically:
{{ExternalId_Input.text}}
// Example: "BUG-4567"
Add Comments to Ticket
The Add Comments to Ticket command allows you to append a new comment to an existing Zendesk ticket. Comments can be public replies visible to the requester or internal notes for private team collaboration.
Ticket ID number
This property specifies the unique identifier of the ticket where the comment is added. It ensures the comment is associated with the correct ticket for tracking and resolution.
Example: To dynamically reference the ticket ID from a selected row in a Table widget, use:
{{Table1.selectedRow.ticketId}}
// Example: "56690"
Comment Body string
This property defines the content of the comment. It can be written in plain text or HTML, allowing for rich formatting if needed. The comment helps provide updates, additional information, or responses to inquiries.
Example: If you want to set the comment dynamically using a rich text editor, use:
{{RichTextEditor1.text}}
Is This Internal Note boolean
This property determines whether the comment is a private internal note or a public reply visible to the requester.
true
: The comment is an internal note, only visible to support agents.false
(default): The comment is a public reply, visible to the requester.
Search Tickets
The Search Tickets command allows you to retrieve tickets from Zendesk based on various filter criteria. You can filter results by subject, description, status, type, priority, requester, assignee, tags, external ID, and date ranges. This command helps in finding relevant tickets efficiently for tracking and resolution.
Ticket Subject string
This property filters results by the text in the ticket’s subject. It searches for tickets containing the specified keyword or phrase in their subject line.
Example: To dynamically filter tickets by a subject from an Input widget, use:
{{SearchInput.text}}
// Example: "Login issue"
Ticket Description string
This property filters tickets based on keywords in their description. It searches for tickets where the description contains the specified text, allowing you to find tickets with similar issues.
Example: To dynamically filter tickets based on an issue description from an Input widget, use:
{{IssueDescriptionInput.text}}
// Example: "User unable to reset password"
Ticket Status string
This property filters tickets based on their current status. You can select from the options below. When JavaScript is enabled, you can also dynamically assign values using JS.
- new: The ticket has been created but not yet assigned or worked on.
- open: The ticket is currently being worked on.
- pending: Waiting for more information from the requester.
- hold: Waiting for a third party or internal process before proceeding.
- solved: The ticket has been resolved but not yet closed.
Example: To filter tickets by status from a Select widget, use:
{{StatusDropdown.selectedOptionValue}}
// Example: "open"
Ticket Type string
This property filters tickets based on their type, helping categorize them for better organization.
- problem: For issues or bugs that need to be fixed.
- incident: For service disruptions or outages.
- question: For general inquiries or support questions.
- task: For administrative or procedural tasks.
Example: To dynamically set the ticket type filter from a Select widget, use:
{{TypeDropdown.selectedOptionValue}}
// Example: "incident"