Zoho Desk ACTION
List Ticket Fields
Lists every field configured on a Zoho Desk module (defaults to Tickets), including each field's
apiName, displayLabel, type, and for picklist fields - the allowedValues array. Useful for discovering valid picklist values (e.g. for status, priority, channel, category, subCategory, classification) before creating or routing tickets. See the documentation- Action
- Read only
- OAuth
- SDK
- MCP
IMPLEMENTATION
Call this tool
Connect a user's Zoho Desk account once, then configure and run List Ticket Fields from your backend or agent.
import { PipedreamClient } from "@pipedream/sdk"
const pd = new PipedreamClient({
projectId: process.env.PIPEDREAM_PROJECT_ID!,
clientId: process.env.PIPEDREAM_CLIENT_ID!,
clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
projectEnvironment: "production",
})
const result = await pd.actions.run({
id: "zoho_desk-list-ticket-fields",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
zoho_desk: { authProvisionId: "apn_xxxxxxx" },
orgId: "Organization ID",
module: "Module",
},
})
console.log(result)curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
-H "Content-Type: application/json" \
-H "X-PD-Environment: production" \
-H "Authorization: Bearer {access_token}" \
-d '{
"external_user_id": "{external_user_id}",
"id": "zoho_desk-list-ticket-fields",
"configured_props": {
"zoho_desk": { "authProvisionId": "apn_xxxxxxx" },
"orgId": "Organization ID",
"module": "Module"
}
}'// accessToken: mint a short-lived token with the Connect SDK — see the MCP guide
const transport = new StreamableHTTPClientTransport(
new URL("https://remote.mcp.pipedream.net/v3"),
{
requestInit: {
headers: {
Authorization: `Bearer ${accessToken}`,
"x-pd-project-id": "{project_id}",
"x-pd-environment": "production",
"x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
"x-pd-app-slug": "zoho_desk",
},
},
},
)
const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)
const { tools } = await mcp.listTools()
// listTools() hands your model this tool's input schema, so it can
// fill the arguments itself:
const result = await mcp.callTool({
name: "zoho_desk-list-ticket-fields",
arguments: {
orgId: "Organization ID",
module: "Module",
},
})SCHEMA
Inputs
Pipedream supplies the connected account. Your application provides the operation-specific values below. Dynamic inputs are resolved against that user's account.
| Property | Type | Description |
|---|---|---|
orgId Organization ID | string | The ID of the organization Required Dynamic |
module Module | string | The Zoho Desk module whose fields to list. Defaults to tickets. Optional |
apiNames API Names | string[] | Select one or more field API names to filter the response (e.g. category, subCategory, classification, priority, status) (max 100 chars). Leave blank to return every field in the selected module. Optional Dynamic |
REFERENCE
Tool details
Behavior hints are published with the component in the Pipedream registry and surface as MCP tool annotations, so an agent can reason about a tool before it calls it.
- Registry key
- zoho_desk-list-ticket-fields
- Version
- 0.0.3
- App
- Zoho Desk
- Authentication
- OAuth
- Read-only
- Yes
- Destructive
- No
- Open world
- Yes
- Source
- View on GitHub ↗