ZIS built-in actions
Actions are wrappers for making an API request. Zendesk Integration Services (ZIS) provides some built-in actions to perform common tasks such as loading configuration settings for an integration and transforming data. They can be referenced in a ZIS Flow without having to be defined as a separate resource in your ZIS Bundle, as opposed to custom actions.
LoadConfig
Loads the configuration settings for an integration. See the ZIS Configs API docs.
Action name
zis:common:action:LoadConfig
Parameters
Parameter | Type | Description | Required |
---|---|---|---|
scope | string | Name of the scope the configuration belongs to | Yes |
Note: The scope parameter accepts an asterisk (*) as a wildcard to match multiple scopes. However, this action only returns the first configuration found.
Example action
"LoadConfig": {
"Type": "Action",
"ActionName": "zis:common:action:LoadConfig",
"Parameters": {
"scope.$": "my-integration:{{$.accountId}}/name"
},
"ResultPath": "$.config_result",
"Next": "NextState"
}
Response
{
"config": {
"key": "value"
}
}
PatchConfig
Updates the configuration settings for an integration in the ZIS Configurations Service. It merges changes with the existing configuration.
Action name
zis:common:action:PatchConfig
Parameters
Parameter | Type | Description | Required |
---|---|---|---|
scope | string | Scope of the configuration | Yes |
config | object | The new config attributes | Yes |
Example action
"PatchConfigExample": {
"Type": "Action",
"ActionName": "zis:common:action:PatchConfig",
"Parameters": {
"scope.$": "my-integration:{{$.accountId}}/name",
"config": {
"name": {
"firstname.$": "$.firstname",
"lastname.$": "$.lastname"
}
}
},
"Next": "NextState"
}
Response
No response from this action.
LoadLinks
Loads links which are associations between two objects such as ticket ID to a Slack thread. Providing the link_type
, you can search the left object, right object name, or both. For more information, see Understanding ZIS Links.
Action name
zis:common:action:LoadLinks
Parameters
Parameter | Type | Description | Required |
---|---|---|---|
link_type | string | LinkType of the link to load | Yes |
left_object_name | string | LeftObject of the link to load | One or both of left_object_name or right_object_name is required |
right_object_name | string | RightObject of the link to load | One or both of left_object_name or right_object_name is required |
Note: At least one of the left or right object names is required.
Example action
"LoadLinks": {
"Type": "Action",
"ActionName": "zis:common:action:LoadLinks",
"Parameters": {
"link_type": "account_to_organization_link",
"left_object_name.$": "$.accountId"
},
"ResultPath": "$.link_results",
"Next": "NextState"
}
Response
{
"count": 0,
"links": [
{
"left_object": {
"metadata": {},
"name": "string",
"name_attrs": {}
},
"link_type": "string",
"right_object": {
"metadata": {},
"name": "string",
"name_attrs": {}
},
"uuid": "string"
}
]
}
CreateLink
Creates a new link in the ZIS Links Service.
Action name
zis:common:action:CreateLink
Parameters
Parameter | Type | Description | Required |
---|---|---|---|
link_type | string | LinkType of the link to load | Yes |
left_object | object | The link’s LeftObject to create. name is a required child key |
Yes |
right_object | object | The link’s RightObject to create. name is a required child key |
Yes |
Note: The left and right object should be specified as shown below:
{
"left_object": {
"name.$": "channel:{{$.input.message.channel_id}}/message:{{$.input.message.message_id}}"
}
}
If you specify the left and right name
parameters using key-value pairs separated by slashes (/), those key-value pairs are created as name attributes (name_attrs
) that are easily referenced in flows using their JSON paths. Example:
"name_attrs": { "channel": 999, "message": 12345 }
Example action
"CreateLink": {
"Type": "Action",
"ActionName": "zis:common:action:CreateLink",
"Parameters": {
"link_type": "account_to_organization_link",
"left_object": {
"name.$": "$.accountId"
},
"right_object": {
"name.$": "$.organizationId",
"metadata": {
"name.$": "$.organizationName"
}
}
},
"Next": "NextState"
}
Response
{
"link": {
"account_id": 0,
"integration": "string",
"left_object": {
"metadata": {},
"name": "string",
"name_attrs": {}
},
"link_type": "string",
"right_object": {
"metadata": {},
"name": "string",
"name_attrs": {}
},
"uuid": "string"
}
}
DeleteLink
Removes a link from the ZIS Links Service.
Action name
zis:common:action:DeleteLink
Parameters
Parameter | Type | Description | Required |
---|---|---|---|
link_type | string | LinkType of the link to load | Yes |
left_object_name | string | LeftObject of the link to load | Yes |
right_object_name | string | RightObject of the link to load | Yes |
Example action
"DeleteLink": {
"Type": "Action",
"ActionName": "zis:common:action:DeleteLink",
"Parameters": {
"link_type": "account_to_organization_link",
"left_object_name.$": "$.accountId",
"right_object_name.$": "$.organizationId"
},
"Next": "NextState"
}
Response
No response from this action.
PatchLink
Updates an existing link in ZIS Links with new values.
Action name
zis:common:action:PatchLink
Parameters
Parameter | Type | Description | Required |
---|---|---|---|
link_type | string | LinkType of the link to load | Yes |
left_object_name | string | The target link’s LeftObject to update | Yes |
right_object_name | string | The target link’s RightObject to update | Yes |
left_object | object | The updated value for left_object | One or both of left_object or right_object is required |
right_object | object | The updated value for right_object | One or both of left_object or right_object is required |
Action example
"PatchLink": {
"Type": "Action",
"ActionName": "PatchLink",
"Parameters": {
"link_type": "account_to_organization_link",
"left_object_name.$": "$.accountId",
"right_object_name.$": "$.organizationId",
"left_object": {
"name.$": "$.accountId"
},
"right_object": {
"name.$": "$.organizationId",
"metadata": {
"name.$": "$.organizationName"
}
}
},
"Next": "NextState"
}
Response
{
"link": {
"account_id": 0,
"integration": "string",
"left_object": {
"metadata": {},
"name": "string",
"name_attrs": {}
},
"link_type": "string",
"right_object": {
"metadata": {},
"name": "string",
"name_attrs": {}
},
"uuid": "string"
}
}
Transform
Performs a JQ transform on the input data and passes the output to the next state.
Action name
zis:common:transform:Jq
Parameters
Parameter | Type | Description | Required |
---|---|---|---|
expr | string | JQ expression | Yes |
data | string | input data to perform transform on | Yes |
Example action
"TransformTicketIdToString": {
"Type": "Action",
"ActionName": "zis:common:transform:Jq",
"Parameters": {
"expr": ".ticket_event.ticket.id | tostring",
"data.$": "$.input"
},
"ResultPath": "$.transformed.ticket.id",
"Next": "NextState"
}