Skip to main content

Tickets: Update Tool

Usage

All Portia tools using API endpoints that require OAuth are built with plug and play authentication support. They use Portia client credentials including client ID, client name and redirect URL. Such tools will raise a Action Clarification with an OAuth link as the action URL. The portia.wait_for_ready() method must be used in this scenario: Portia's OAuth server will listen for the authentication result and resolve the concerned clarification, allowing your plan run to resume again.

For more on this, please visit to the section on running Portia tools ().

Configure your Zendesk tools with Portia AI

You will need to provide the subdomain of your Zendesk account to use with Portia AI. This is because Zendesk creates a unique subdomain for each account.

Configure access in Portia AI

  1. Log into your Portia dashboard ↗
  2. Navigate to the Manage Org tab.
  3. Enter the subdomain of your Zendesk account. Your subdomain is the part of your Zendesk URL before the .zendesk.com domain. For example, if your Zendesk URL is https://portialabs.zendesk.com, your subdomain is portialabs.

You are now ready to call Zendesk tools on our cloud!

Tool details

Tool ID: portia:zendesk:tickets:update

Tool description: Updates an existing ticket in Zendesk with the provided details. For fields requiring group and user ID fields, use the ZendeskSearchGroupsTool and ZendeskSearchUsersTool to get the IDs. This tool can be run once with multiple details updated on the ticket or multiple times with a single detail updated on the ticket. A ticket in Zendesk is intended to be used by agents or admins. They can be used to track and resolve requests raised by end users (e.g. customer service) or for internal issue tracking.

Args schema:

{
"$defs": {
"TicketPriority": {
"description": "Ticket priority.",
"enum": [
"urgent",
"high",
"normal",
"low"
],
"title": "TicketPriority",
"type": "string"
},
"TicketStatus": {
"description": "Ticket status.",
"enum": [
"new",
"open",
"pending",
"hold",
"solved",
"closed"
],
"title": "TicketStatus",
"type": "string"
},
"TicketType": {
"description": "Ticket type.",
"enum": [
"problem",
"incident",
"question",
"task"
],
"title": "TicketType",
"type": "string"
}
},
"description": "Input schema for ZendeskUpdateTicketTool.",
"properties": {
"ticket_id": {
"description": "The ID of the ticket to update",
"title": "Ticket Id",
"type": "integer"
},
"subject": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The subject of the ticket",
"title": "Subject"
},
"comment": {
"anyOf": [
{
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional comment to add. Format: {'body': 'comment text', 'public': true/false}",
"title": "Comment"
},
"priority": {
"anyOf": [
{
"$ref": "#/$defs/TicketPriority"
},
{
"type": "null"
}
],
"default": null,
"description": "The ticket priority. Can be 'urgent', 'high', 'normal', or 'low'"
},
"status": {
"anyOf": [
{
"$ref": "#/$defs/TicketStatus"
},
{
"type": "null"
}
],
"default": null,
"description": "The state of the ticket. Can be 'new', 'open', 'pending', 'hold', 'solved', or 'closed'"
},
"type": {
"anyOf": [
{
"$ref": "#/$defs/TicketType"
},
{
"type": "null"
}
],
"default": null,
"description": "The type of the ticket. Can be 'problem', 'incident', 'question', or 'task'"
},
"assignee_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "The ID of the agent to assign the ticket to",
"title": "Assignee Id"
},
"group_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "The ID of the group to assign the ticket to",
"title": "Group Id"
},
"collaborator_ids": {
"anyOf": [
{
"items": {
"type": "integer"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Array of user IDs to CC on the ticket",
"title": "Collaborator Ids"
}
},
"required": [
"ticket_id"
],
"title": "ZendeskUpdateTicketToolSchema",
"type": "object"
}

Output schema:

('application/json', 'application/json: Returns the updated ticket data from Zendesk API. This includes information from the schema and other immutable ticket data')