Trigger Categories
Trigger categories allow Zendesk admins to visually group triggers and make it easier for them to organize and manage their triggers. For more information, see Creating categories to organize triggers in Zendesk help.
JSON Format
Trigger Categories are represented as JSON objects with the following properties:
Name | Type | Read-only | Mandatory | Description |
---|---|---|---|---|
created_at | string | true | false | |
id | string | true | false | |
name | string | false | false | |
position | integer | false | false | |
updated_at | string | true | false |
List Trigger Categories
GET /api/v2/trigger_categories
Returns all the trigger categories in the account.
Parameters
Name | Type | In | Required | Description |
---|---|---|---|---|
include | string | Query | false | Allowed sideloads. Allowed value of "rule_counts". |
page | object | Query | false | Pagination parameters |
sort | string | Query | false | Sort parameters. Allowed values are "position", "-position", "name", "-name", "created_at", "-created_at", "updated_at", or "-updated_at". |
Using cURL
This example provides an example query with pagination parameters with cURL.
curl -u {email}:{password} -X GET \
--url https://{subdomain}.zendesk.com/api/v2/trigger_categories
Using JavaScript
This example provides an example query with pagination parameters in JavaScript.
fetch("https://{subdomain}.zendesk.com/api/v2/trigger_categories?include=rule_counts&page[size]=10&page[after]=eyJvIjoiLXNjb3JlLGlkIiwidiI6ImFRSUFBQUFBQUFBQWFRMHBJUUVBQUFBQSJ9", {
"method": "GET",
"headers": {}
})
.then(response => {
// do stuff with successful response
})
.catch(err => {
// do stuff with failed response
});
Example Response
Status 200 OK
{
"links": {
"next": "https://{subdomain}.zendesk.com/api/v2/trigger_categories.json?include=rule_counts&page[after]=eyJvIjoiLXNjb3JlLGlkIiwidiI6ImFRSUFBQUFBQUFBQWFRMHBJUUVBQUFBQSJ9&page[size]=2&sort=position",
"prev": "https://{subdomain}.zendesk.com/api/v2/trigger_categories.json?include=rule_counts&page[before]=eyJvIjoiLXNjb3JlLGlkIiwidiI6ImFRSUFBQUFBQUFBQWFRMHBJUUVBQUFBQSJ9&page[size]=2&sort=position"
},
"meta": {
"after_cursor": "eyJvIjoiLXNjb3JlLGlkIiwidiI6ImFRSUFBQUFBQUFBQWFRMHBJUUVBQUFBQSJ9",
"before_cursor": "eyJvIjoiLXNjb3JlLGlkIiwidiI6ImFRSUFBQUFBQUFBQWFRMHBJUUVBQUFBQSJ9",
"has_more": true
},
"trigger_categories": [
{
"created_at": "2020-07-17T01:30:07Z",
"id": "10001",
"name": "Email Triggers",
"position": 0,
"updated_at": "2020-07-17T01:30:07Z"
},
{
"created_at": "2020-07-17T01:30:07Z",
"id": "10002",
"name": "SMS Triggers",
"position": 1,
"updated_at": "2020-07-17T01:30:07Z"
}
]
}
Create Trigger Category
POST /api/v2/trigger_categories
Creates a trigger category.
Example Body
{
"trigger_category": {
"name": "All Notification Triggers",
"position": 0
}
}
Using cURL
This example provides an example trigger category POST request with cURL.
curl -u {email}:{password} -X POST \
--url https://{subdomain}.zendesk.com/api/v2/trigger_categories \
-H 'content-type: application/json' \
-d '{
"trigger_category": {
"name": "Example Category",
"position": 10
}
}'
Using JavaScript
This example provides an example trigger category POST request in JavaScript.
fetch("https://{subdomain}.zendesk.com/api/v2/trigger_categories", {
"method": "POST",
"headers": {
"content-type": "application/json"
},
"body": {
"trigger_category": {
"name": "Example Category",
"position": 10
}
}
})
.then(response => {
// do stuff with successful response
})
.catch(err => {
// do stuff with failed response
});
Example Response
Status 200 OK
{
"trigger_category": {
"created_at": "2020-07-17T01:30:07Z",
"id": "10001",
"name": "All Notification Triggers",
"position": 0,
"updated_at": "2020-07-17T01:30:07Z"
}
}
Create Batch Job for Trigger Categories
POST /api/v2/trigger_categories/jobs
Creates a job that performs a batch operation for the given trigger categories.
Example Body
{
"job": {
"action": "patch",
"items": {
"trigger_categories": [
{
"id": "10001",
"position": 0
},
{
"id": "10002",
"position": 1
}
],
"triggers": [
{
"active": false,
"category_id": "10001",
"id": "10011",
"position": 10
},
{
"active": true,
"category_id": "10002",
"id": "10012",
"position": 1
}
]
}
}
}
Using cURL
This example provides an example request for batch operating on existing trigger categories with cURL.
curl -u {email}:{password} -X POST \
--url https://{subdomain}.zendesk.com/api/v2/trigger_categories/jobs \
-H 'content-type: application/json' \
-d '{
"job": {
"action": "patch",
"items": {
"trigger_categories": [
{
"id": "10001",
"position": 20
},
{
"id": "10002",
"position": 21
}
],
"triggers": [
{
"id": "10011",
"position": 10,
"active": false,
"category_id": "10001"
},
{
"id": "10012",
"position": 1,
"active": true,
"category_id": "10002"
}
]
}
}
}'
Using JavaScript
This example provides an example request for batch operating on existing trigger categories in JavaScript.
fetch("https://{subdomain}.zendesk.com/api/v2/trigger_categories/jobs", {
"method": "POST",
"headers": {
"content-type": "application/json"
},
"body": {
"job": {
"action": "patch",
"items": {
"trigger_categories": [
{
"id": "10001",
"position": 20
},
{
"id": "10002",
"position": 21
}
],
"triggers": [
{
"id": "10011",
"position": 10,
"active": false,
"category_id": "10001"
},
{
"id": "10012",
"position": 1,
"active": true,
"category_id": "10002"
}
]
}
}
}
})
.then(response => {
// do stuff with successful response
})
.catch(err => {
// do stuff with failed response
});
Example Response
Status 200 OK
{
"results": {
"trigger_categories": [
{
"created_at": "2020-07-18T01:24:53Z",
"id": "10001",
"name": "Notifications",
"position": 0,
"updated_at": "2020-07-20T01:30:07Z"
},
{
"created_at": "2020-07-17T06:31:12Z",
"id": "10002",
"name": "Apply Tags",
"position": 1,
"updated_at": "2020-07-20T01:30:07Z"
}
],
"triggers": [
{
"actions": [
{}
],
"active": true,
"conditions": {},
"created_at": "2012-09-25T22:50:26Z",
"description": "Notify external target",
"id": 10012,
"position": 1,
"raw_title": "Notify target",
"title": "Notify Target",
"updated_at": "2020-07-20T01:30:07Z",
"url": "http://{subdomain}.zendesk.com/api/v2/triggers/10012.json"
},
{
"actions": [
{}
],
"active": false,
"conditions": {},
"created_at": "2012-09-25T22:50:26Z",
"description": "Close and save a ticket",
"id": 10011,
"position": 10,
"raw_title": "Close and Save",
"title": "Close and Save",
"updated_at": "2020-07-20T01:30:07Z",
"url": "http://{subdomain}.zendesk.com/api/v2/triggers/10011.json"
}
]
},
"status": "complete"
}
Show Trigger Category
GET /api/v2/trigger_categories/{trigger_category_id}
Returns the trigger category with the specified ID.
Parameters
Name | Type | In | Required | Description |
---|---|---|---|---|
trigger_category_id | string | Path | true | The id of the trigger category to retrieve |
Using cURL
This example provides an example request for an existing trigger category with cURL.
curl -u {email}:{password} -X GET \
--url https://{subdomain}.zendesk.com/api/v2/trigger_categories/10001
Using JavaScript
This example provides an example request for an existing trigger category in JavaScript.
fetch("https://{subdomain}.zendesk.com/api/v2/trigger_categories/10001", {
"method": "GET",
"headers": {}
})
.then(response => {
// do stuff with successful response
})
.catch(err => {
// do stuff with failed response
});
Example Response
Status 200 OK
{
"trigger_category": {
"created_at": "2020-07-17T01:30:07Z",
"id": "10001",
"name": "All Notification Triggers",
"position": 0,
"updated_at": "2020-07-17T01:30:07Z"
}
}
Update Trigger Category
PATCH /api/v2/trigger_categories/{trigger_category_id}
Updates the trigger category with the specified ID.
Parameters
Name | Type | In | Required | Description |
---|---|---|---|---|
trigger_category_id | string | Path | true | The id of the trigger category to update |
Example Body
{
"trigger_category": {
"name": "All Notification Triggers Updated",
"position": 10
}
}
Using cURL
This example provides an example request for updating an existing trigger category with cURL.
curl -u {email}:{password} -X PATCH \
--url https://{subdomain}.zendesk.com/api/v2/trigger_categories/10001 \
-H 'content-type: application/json' \
-d '{
"trigger_category": {
"name": "Example Category Updated"
}
}'
Using JavaScript
This example provides an example request for updating an existing trigger category in JavaScript.
fetch("https://{subdomain}.zendesk.com/api/v2/trigger_categories/10001", {
"method": "PATCH",
"headers": {
"content-type": "application/json"
},
"body": {
"trigger_category": {
"name": "Example Category Updated"
}
}
})
.then(response => {
// do stuff with successful response
})
.catch(err => {
// do stuff with failed response
});
Example Response
Status 200 OK
{
"trigger_category": {
"created_at": "2020-07-17T01:30:07Z",
"id": "10001",
"name": "All Notification Triggers Updated",
"position": 10,
"updated_at": "2020-07-18T05:23:32Z"
}
}
Delete Trigger Category
DELETE /api/v2/trigger_categories/{trigger_category_id}
Deletes the trigger category with the specified ID.
Parameters
Name | Type | In | Required | Description |
---|---|---|---|---|
trigger_category_id | string | Path | true | The id of the trigger category to delete |
Using cURL
This example provides an example request for deleting an existing trigger category with cURL.
curl -u {email}:{password} -X DELETE \
--url https://{subdomain}.zendesk.com/api/v2/trigger_categories/10001
Using JavaScript
This example provides an example request for deleting an existing trigger category in JavaScript.
fetch("https://{subdomain}.zendesk.com/api/v2/trigger_categories/10001", {
"method": "DELETE",
"headers": {}
})
.then(response => {
// do stuff with successful response
})
.catch(err => {
// do stuff with failed response
});
Example Response
Status 204 No Content