Zendesk · emploidai Marketplace
emploidai Marketplace
Add-onsAppletsPlugins
Search tools, teams, and capabilitiesPublish
MarketplacePluginsZendesk
Plugin
Limited listing

Zendesk

by lysonober · v0.0.1

Zendesk ticketing integration for Dify workflows. Create, query, and manage support tickets.

93 installsUpdated Feb 4, 2026
Publisher information is incomplete

This community listing does not yet include every recommended support, privacy, pricing, and permission disclosure. Review the available package permissions before installing.

Capabilities

Tools

Available inside your emploidai workspace after installation.

Data sources

Available inside your emploidai workspace after installation.

Category

tool

Version

0.0.1lysonober

Requirements

Maximum memory 256MB

Pricing

Not disclosed by publisher

Security & access

Review before installing

CompatibleRequires emploidai 1.0.0+

Permissions

  • Uses endpoint capability
  • Requires encrypted tool credentials

Dependencies

No additional dependencies

Resources

Privacy policy
emploidai Marketplace

Discover capabilities. Review access. Install inside your workspace.

DocumentationSecuritySupportPrivacyTerms

Zendesk Plugin for Dify

A support system is essentially a to-do list. Each ticket represents a problem that a user encountered at some point, waiting to be seen, responded to, and resolved. Zendesk is one of the standard answers in this space, valued not for its interface aesthetics but for its battle-tested ticket lifecycle management logic.

This plugin does one thing: it brings Zendesk's ticket management capabilities into Dify workflows. Your AI Agent can create tickets, check status, add notes, and update progress. In other words, it gives your Agent the ability to "remember problems" and "follow up on them."

Getting Started

Credentials Setup

Before enabling this plugin in Dify, you'll need three things:

CredentialDescriptionExample
SubdomainYour Zendesk subdomainIf your URL is https://acme.zendesk.com, enter acme
EmailAn Agent or Admin account emailsupport@acme.com
API TokenZendesk API tokenGenerate from Admin Center > Apps and integrations > Zendesk API > Settings

These credentials are used for Basic Authentication in the format {email}/token:{api_token}. All tools share the same credentials.

Tools Overview

ToolFunctionTypical Use Case
Create TicketCreate a new ticketUser submits issue, automated error reporting
Get TicketRetrieve single ticket detailsCheck ticket status, get conversation history
List TicketsList multiple ticketsView pending queue, filter by status
Update TicketUpdate ticket propertiesChange priority, update status, reassign
Add CommentAdd comment to ticketReply to customer, add internal notes
List ViewsList all ViewsFind View IDs for filtering tickets
List GroupsList all GroupsFind Group IDs for ticket assignment

Create Ticket

Creates a new ticket that will appear in the Zendesk Agent dashboard, ready for processing.

Parameters

ParameterTypeRequiredDescription
subjectstring✓Ticket title, brief summary of the issue
descriptionstring✓Issue details, becomes the first comment on the ticket
priorityselectPriority: low / normal (default) / high / urgent
typeselectType: question / incident / problem / task
group_idnumberAssign to a Group, determines which Views the ticket appears in
tagsstringTags, comma-separated, e.g., forum_bot,billing
requester_emailstringEmail of the person reporting the issue
requester_namestringName of the person reporting the issue

Example

Input:

{
  "subject": "Cannot login to dashboard",
  "description": "User reports seeing 'Invalid credentials' error after password reset. Browser: Chrome 120.",
  "priority": "high",
  "group_id": 12345678,
  "tags": "login,password",
  "requester_email": "john@example.com"
}

Output (JSON):

{
  "ticket_id": 42,
  "ticket_url": "https://acme.zendesk.com/agent/tickets/42",
  "status": "new",
  "priority": "high",
  "subject": "Cannot login to dashboard",
  "created_at": "2024-01-15T10:30:00Z"
}

Output (Text):

ticket_id: 42

Making Tickets Appear in Specific Views

Zendesk Views automatically filter tickets based on conditions. If you want a new ticket to appear in a specific View, the ticket's properties must match that View's filter conditions.

For example, suppose your company has a View called "Community Tickets" with the condition "Group is forum_bot." To make a ticket appear in this View, you need to set the group_id when creating it:

  1. Call List Groups to find the ID for "forum_bot"
  2. Set that group_id when calling Create Ticket
  3. The new ticket will automatically appear in the "Community Tickets" View

Get Ticket

Retrieves complete information for a single ticket.

Parameters

ParameterTypeRequiredDescription
ticket_idnumber✓The ticket ID

Example

Input:

{
  "ticket_id": 42
}

Output (JSON):

{
  "id": 42,
  "subject": "Cannot login to dashboard",
  "description": "User reports seeing 'Invalid credentials' error...",
  "status": "open",
  "priority": "high",
  "type": "incident",
  "requester_id": 123456,
  "assignee_id": 789012,
  "group_id": 12345678,
  "tags": ["login", "password"],
  "created_at": "2024-01-15T10:30:00Z",
  "updated_at": "2024-01-15T11:00:00Z"
}

List Tickets

Lists tickets with optional filtering by status or View.

Parameters

ParameterTypeRequiredDescription
view_idnumberFilter by View, takes priority over status
statusselectFilter by status: new / open / pending / hold / solved / closed
sort_byselectSort field: created_at (default) / updated_at / priority / status
sort_orderselectSort direction: asc / desc (default)
per_pagenumberNumber of results, 1 to 100, default 25

Example

Filter by status:

{
  "status": "open",
  "sort_by": "updated_at",
  "per_page": 10
}

Filter by View:

{
  "view_id": 360001234567,
  "per_page": 50
}

Output (JSON):

{
  "count": 3,
  "tickets": [
    {
      "id": 42,
      "subject": "Cannot login to dashboard",
      "status": "open",
      "priority": "high",
      "created_at": "2024-01-15T10:30:00Z"
    },
    {
      "id": 41,
      "subject": "Payment failed",
      "status": "open",
      "priority": "normal",
      "created_at": "2024-01-15T09:00:00Z"
    }
  ]
}

Update Ticket

Updates ticket properties. You can modify status, priority, assignee, or tags.

Parameters

ParameterTypeRequiredDescription
ticket_idnumber✓The ticket ID
statusselectNew status: open / pending / hold / solved
priorityselectNew priority: low / normal / high / urgent
assignee_idnumberNew assignee ID
tagsstringNew tags (note: replaces all existing tags)

Example

Input:

{
  "ticket_id": 42,
  "status": "pending",
  "priority": "normal"
}

Output (JSON):

{
  "ticket_id": 42,
  "status": "pending",
  "priority": "normal",
  "updated_at": "2024-01-15T14:00:00Z"
}

Add Comment

Adds a comment to a ticket. Can be a public reply visible to the customer or an internal note visible only to agents.

Parameters

ParameterTypeRequiredDescription
ticket_idnumber✓The ticket ID
bodystring✓Comment content
publicbooleantrue (default) = public reply, false = internal note

Example

Public reply:

{
  "ticket_id": 42,
  "body": "Hi John, I've reset your password. Please try logging in again with the temporary password sent to your email.",
  "public": true
}

Internal note:

{
  "ticket_id": 42,
  "body": "Checked auth logs, user account was locked due to 5 failed attempts. Unlocked manually.",
  "public": false
}

List Views

Lists all available Views in Zendesk. Views are predefined ticket filters configured by administrators.

Parameters

ParameterTypeRequiredDescription
active_onlybooleantrue (default) = only return active Views

Example

Output (JSON):

{
  "count": 5,
  "views": [
    {
      "id": 360001234567,
      "title": "All unsolved tickets",
      "active": true
    },
    {
      "id": 360001234568,
      "title": "Community Tickets",
      "active": true
    }
  ]
}

List Groups

Lists all available Groups in Zendesk. Groups are used to organize agents and can be assigned to tickets.

Parameters

None.

Example

Output (JSON):

{
  "count": 3,
  "groups": [
    {
      "id": 12345678,
      "name": "forum_bot"
    },
    {
      "id": 12345679,
      "name": "Support Team"
    },
    {
      "id": 12345680,
      "name": "Billing"
    }
  ]
}

Output Format

Each tool returns two messages:

  1. JSON message: Contains complete structured data, suitable for further processing in workflows
  2. Text message: Contains key identifiers (like ticket_id) for easy reference in subsequent nodes

This design means if you only need to pass the ticket ID to the next node, use the Text output. If you need to parse ticket details, use the JSON output.

Development & Debugging

Local Testing

  1. Copy .env.example to .env and configure the debug connection:
INSTALL_METHOD=remote
REMOTE_INSTALL_URL=debug.dify.ai:5003
REMOTE_INSTALL_KEY=your-debug-key
  1. Run the plugin:
python -m main
  1. Refresh your Dify page, the plugin will show a "debugging" label

Packaging

dify-plugin plugin package ./zendesk

Related Links

  • Zendesk API Reference
  • Zendesk Ticketing API
  • Dify Plugin SDK

Contact

For questions or support, please contact: lysonober@gmail.com