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.
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"
}