Update a triggered action

Modify an existing triggered action with an update request

You can update a triggered action to change the object and filters used to identify the trigger, or the configuration of the action, such as the template of the SMS message being sent or the URL of the external web service being called.

List existing triggered actions

To list existing triggered actions, use the GET call to the /triggered_actions endpoint.

This returns a JSON response with the following information:

  • id: The ID of the triggered action.
  • name" The name of the triggered action.
  • trigger: The trigger configuration, including the schemaName, filter, and type.
  • action: The action configuration, including the type, url, headers, and query.
  • customFields: Any custom fields associated with the triggered action.
  • created and updated: The date and time the triggered action was created and last updated.

Update an existing triggered action

Updating an existing triggered action is similar to creating a new one, however, you do not need to include all fields in the JSON payload. You only need to include the trigger or action configuration you want to change, or you can selectively update the name or customFields fields.

To change an existing triggered action, make a PATCH request to the /triggered_actions/{id} endpoint. You can obtain the ID of the triggered action from the response to the GET call to the /triggered_actions endpoint.

For example, to change the name of the triggered action, send a PATCH request to the /triggered_actions/{id} endpoint with the following JSON payload:

{
    "name": "Updated triggered action name"
}

Example: Update a triggered action

The following example shows how to update a triggered action to change the filter used to identify the record change that triggers the action.

In Create a triggered action for modified objects, we created a triggered action that sends an SMS message whenever the JobStatus of a job changes. In this example, we will update the filter on the triggered action so that an SMS message is sent when the job Start value changes, indicating that a new time has been scheduled for the job.

To do this, we need to identify the ID of the triggered action, then send a PATCH request to update the filter field of the triggered action to fire when the Current.Start field and the Previous.Start values change.

  1. Obtain the ID of the triggered action that you want to update.
  2. Send a PATCH request to the /triggered_actions/{id} endpoint, where {id} is the ID of the triggered action you want to update. Include the following configuration in the JSON payload:
    {
      "trigger": {
    	"schemaName": "Jobs",
    	"filter": "Current.Start != Previous.Start",
    	"type": "object_modified"
        }
    } 
    
  3. Successfully updated triggered actions show a 200 OK response. You can also use the GET call to the /triggered_actions endpoint to confirm the changes have been applied.

Note that in the provided example, the entire trigger object configuration is included in the JSON payload, not just the filter field. This is because the PATCH request replaces the existing configuration with the new configuration and all fields are required.

Attempting the above request with a field missing, for example, the type field, will result in a 400 Bad Request error with the following message:

[
	{
		"errorType": "field_error",
		"message": "Missing required field",
		"path": ".trigger.type"
	}
]

Limitations of updating a triggered action

Updating a triggered action cannot change the type of action. That is, you cannot update a triggered action to change it from sending information about a record change as an SMS via the send_sms action to instead sending the change to an external web service via the call_url action type.

Attempting to do so will result in a 400 Bad Request error with the following message:

{
    "errorType": "invalid_triggered_action",
    "message": "Cannot change the type of the action"
}