ZIS built-in actions
Built-in actions are predefined requests for common tasks in a ZIS flow. For example, you can use a built-in action to load settings from a ZIS config or transform data using jq. You can use a built-in action in an action state without defining the action as a separate resource in the ZIS bundle.
LoadConfig
Loads settings from a ZIS config. For more information, refer to Loading a config in a ZIS flow.
Action name
zis:common:action:LoadConfig
Parameters
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
| scope | string | true | Scope of the config to load |
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
Makes a partial update to a ZIS config. The action only changes settings you specify. For more information, refer to Updating a config in a ZIS flow.
Action name
zis:common:action:PatchConfig
Parameters
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
| scope | string | true | Scope of the config to update |
| config | object | true | Settings for the config, provided as arbitrary key-value pairs |
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 one or more ZIS links. For more information, refer to Loading ZIS links .
Action name
zis:common:action:LoadLinks
Parameters
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
| link_type | string | true | Type of links to load |
| left_object_name | string | One or both of left_object_name or right_object_name is required | Left object of the links to load |
| right_object_name | string | One or both of left_object_name or right_object_name is required | Right object of the links to load |
| page_size | integer | false | Maximum number of links returned per page. Defaults to 20. Can't exceed 100. See cursor pagination |
| page_after_cursor | string | false | Link id used to paginate to the next page of results. See cursor pagination |
| page_before_cursor | string | false | Link id used to paginate to the previous page of results. See cursor pagination |
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"}],"meta": {"after": "string","before": "string","has_more": true}}
CreateLink
Creates a new ZIS link. For more information, see Creating a ZIS link .
Action name
zis:common:action:CreateLink
Parameters
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
| link_type | string | true | Relationship between the objects. Multiple links can share the same link type |
| left_object | object | true | Left object for the link |
| left_object.name | string | true | Data in the left object you want to link. Supports name attributes. Must be 3–150 characters. Can contain numbers, letters, and the following characters: :, /, _, -, and . |
| left_object.metadata | object | false | Contains arbitrary metadata for the left object |
| right_object | object | true | Right object for the link |
| right_object.name | string | true | Data in the right object you want to link. Supports name attributes. Must be 3–150 characters. Can contain numbers, letters, and the following characters: :, /, _, -, and . |
| right_object.metadata | object | false | Contains arbitrary metadata for the right object |
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": {"orgName.$": "$.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 ZIS link from the ZIS Links Service. For more information, refer to Deleting a ZIS link .
Action name
zis:common:action:DeleteLink
Parameters
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
| link_type | string | true | Type of link to delete |
| left_object_name | string | true | Left object of the link to delete |
| right_object_name | string | true | Right object of the link to delete |
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
Makes a partial update to a ZIS link. For more information, refer to Updating a ZIS link .
Action name
zis:common:action:PatchLink
Parameters
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
| link_type | string | true | Type of link to update |
| left_object_name | string | true | Left object of the link to update |
| left_object | object | One or both of left_object or right_object is required | Contains updated values for the left object |
| left_object.name | string | If left_object is provided, this parameter is required | Data for the left object. Supports name attributes. Must be 3–150 characters. Can contain numbers, letters, and the following characters: :, /, _, -, and . |
| left_object.metadata | object | false | Contains arbitrary metadata for the left object |
| right_object_name | string | false | Right object of the link to update |
| right_object | object | One or both of left_object or right_object is required | Contains updated values for the right object |
| right_object.name | string | If right_object is provided, this parameter is required | Data for the right object. Supports name attributes. Must be 3–150 characters. Can contain numbers, letters, and the following characters: :, /, _, -, and . |
| right_object.metadata | object | false | Contains arbitrary metadata for the right object |
Action example
"PatchLink": {"Type": "Action","ActionName": "zis:common:action: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. For example jq expressions and limitations, refer to the jq cheat sheet.
Among the ZIS built-in actions, only the zis:common:transform:Jq action supports jq-based data transformations. This built-in action allows you to manipulate and convert data using jq expressions directly within your flow. Other built-in actions, such as LoadConfigs or PatchLink, as well as custom actions, do not support jq transformations.
Tip: You can sometimes use a Pass state to avoid passing large JSON objects, such as the $ object, to a Transform action. This can help the action run more efficiently. See Adding data to a reference path in the Pass state documentation.
Action name
zis:common:transform:Jq
Parameters
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
| expr | string | true | jq expression |
| data | string | true | Reference path to input data for the jq expression |
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"}