Skip to content

Triggers

The Triggers page is used to manage Workflow Triggers in the system. Triggers are used to start workflows upon receiving an adapter event or a webhook (http request) event.

A Trigger may contain various conditions that are defined to filter the event from triggering the mapped workflow. Triggers build and supply the collection of properties that are passed to the workflow, based on the event or webhook properties.

The Triggers overview page displays the list of currently configured triggers.

Property Description
Name The name of the trigger.
Type The type of trigger - can be Event, Webhook, Advanced Webhook, or Adapter Type Event.
Item For Event triggers this will be the adapter name and the event name. For Adapter Type Event triggers this will be the adapter type and the event name. For webhook triggers, this will be the webhook URI.
Workflow The workflow that will be executed by this trigger - i.e. the mapped workflow.
Condition The expression that, if evaluated to true, leads to start of workflow.
Enabled The state of the trigger (enabled/disabled).

Add/Edit Trigger

Triggers can be added and modified using the Triggers page.

  • To add a trigger, click Add Trigger.
  • To edit a trigger, select the Edit link associated with the desired trigger.
  • Triggers can also be cloned. To clone an existing trigger, select the Clone link. The user will be taken to the Add Trigger page, when clicking on the Clone link, with all trigger settings filled in to match except for the Name. The Name field will be blank and needs to be filled in with a unique name.
  • Each trigger must have a unique Trigger name.
  • Triggers must have a Type selected from one of the available Trigger Types:
    • Event
    • Webhook
    • Advanced Webhook
    • Adapter Type Event
  • An Event trigger needs the following configuration settings:
    • The adapter that sends the event notification
    • The name of the event that the adapter sends
    • The workflow to start when this trigger matches
    • All Properties - specifies if the incoming request should be parsed as JSON and pass all properties found to the workflow.
      • wfsystem.adapterType can be used to pass the adapter type to the workflow
      • wfsystem.adapterName can be used to pass the adapter name to the workflow
  • An Adapter Type Event trigger needs the following configuration settings:
    • The adapter type of the adapter that sends the event notification
    • The name of the event that the adapter sends
    • The workflow to start when this trigger matches
    • All Properties - specifies if the incoming request should be parsed as JSON and pass all properties found to the workflow.
      • wfsystem.adapterType can be used to pass the adapter type to the workflow
      • wfsystem.adapterName can be used to pass the adapter name to the workflow
  • A Webhook trigger needs the following configuration settings:
    • The Webhook URI
      • This is the URI that external systems will use to execute this trigger.
      • To copy the complete Webhook URI to the clipboard, press the Copy button.
    • The workflow to start when this trigger matches
    • All Properties - specifies if the incoming request should be parsed as JSON and pass all properties found to the workflow.
  • An Advanced Webhook trigger needs the following configuration settings:
    • The Webhook URI
      • This is the URI that external systems will use to execute this trigger.
      • To copy the complete Webhook URI to the clipboard, press the Copy button.
    • An Authentication Type that specifies how the Advanced Webhook handler authenticate a request. If the authentication fails, the response will have the HTTP Status Code set to 401 (Unauthorized). The possible values are the following:
      • None - no authentication is made when a request is received by the Advanced Webhook
      • Basic with user and password - a basic authentication using the specified user and password is made when a request is received by the Advanced Webhook
      • Basic using the user and password set in Workflow settings - a basic authentication using the user and password set in Administration->Workflow page is made when a request is received by the Advanced Webhook.
      • HMAC SHA256 using key - a HMAC authentication using the specified Authentication Key is done when a request is received by the Advanced Webhook.
    • Username - this is applicable only if the Authentication Type is set to 'Basic with user and password'.
    • Password - this is applicable only if the Authentication Type is set to 'Basic with user and password'. The Username and Password values hashed together in Base64 representation cannot exceed 255 characters.
    • Authentication Key - this field appears only if the Authentication Type is set to 'HMAC SHA256 using key'. The field can contain only valid Base64 characters (letters, digits, /, +, =).
    • A Response Type that specifies how the Advanced Webhook handler sends a response and whether it should wait for the workflow to complete. The possible values are the following:
      • None - The request is sent to the trigger processor and does not wait for the workflow to complete. Sends an empty response that will have the HTTP Status Code set to 200 (OK).
      • Custom - The request is sent to the trigger processor and does not wait for the workflow to complete. Sends a response that will have the HTTP Status Code set to 200 (OK) and the following information:
        • the Content Type header set with the value from the Response Content Type field
        • the body set with the value from the Response Body field
      • Workflow - The request is sent to the trigger processor and waits for the workflow to complete. If the workflow is successfully executed, sends a JSON response with the workflow results: Content-Type header set to 'application/json', HTTP Status Code set to 200 (OK), Body set with the value from workflow results. If waiting for the workflow times out or the workflow fails, a response that will have the HTTP Status Code set to 500 (Internal Server Error) is returned.
      • Workflow Wrapper - The request is sent to the trigger processor and waits for the workflow to complete. If the workflow is successfully executed, sends a JSON response with the workflow results in the same wrapper as the current wait webhook. If waiting for the workflow times out or the workflow fails, a response that will have the HTTP Status Code set to 500 (Internal Server Error) is returned.
    • The workflow to start when this trigger matches
    • Parse Body - specifies if the body received in the request will be parsed or not.
      • If this option is checked, the request body will be parsed as JSON and each property found will be passed to the workflow. If the parsing fails, the advanced webhook is rejected.
      • If this option is unchecked, the wfsystem.bodyContentType property will be set as the Content Type of the body and the wfsystem.body property will be set as the body value as string.
    • Parse Body Prefix - this is applicable only if the Parse Body option is checked and defines an optional prefix to be added to all of the property names when the body is parsed into flattened JSON.
    • All Properties - specifies if the incoming request should be parsed as JSON and pass all properties found to the workflow. For this trigger type the behavior depends on the Parse Body option as it follows:
      • If All Properties is unchecked, the body will not be parsed as JSON and no extra property will be send to the workflow.
      • If All Properties is checked and Parse Body is unchecked, the wfsystem.bodyContentType property will be set as the Content Type of the body and the wfsystem.body property will be set as the body value as string.
      • If All Properties is checked and Parse Body is checked, the body will be parsed as JSON and all properties found will be passed to the workflow.
  • A newly added trigger is disabled by default. It must be explicitly enabled for use.

All trigger types can have a condition. This field is optional and the condition entered here is used to test if the trigger should start the workflow. The expression must have a valid syntax. If no condition is entered, the workflow will always be executed. See Condition Expressions for details. String Interpolation and JSON Flatten/Unflatten can also be used in the condition. For example the condition Regex(tempF, '\[0-9\]+') > 79 will be true only if the tempF property has a value larger than +79.

Users can also add any number of properties to pass from trigger to the workflow when it is started by the trigger. The properties are added in the form of name and value pairs (name is required but value is optional). String Interpolation and JSON Flatten/Unflatten are available for properties. For use of arrays in trigger properties see the Objects and Arrays section in String Interpolation and JSON Flatten/Unflatten. Only the properties listed explicitly in the trigger will be passed on to the workflow. If the workflow defines properties with the same name in the Workflow Properties collection, they will be overwritten by the properties map built by the trigger. An autocomplete list shows all the event properties of the selected adapter, built-in wfsystem workflow property and the functions.

Fields with non-blocking validation issues which still require your attention have a yellow warning message under them. For example, when an adapter which doesn't exist is used, etc.

After filling in the desired configuration settings, press Save to save the trigger. A confirmation message will be shown when this action is successful and an error message is shown when it fails. Note that in order to save an enabled trigger, the system will first need to confirm that there are sufficient trigger licenses.

The workflow engine will execute all triggers that match a specific event. IN other words, one incoming event can start multiple workflows (matching the trigger).

Delete Triggers

Triggers can be removed by using the Delete link on the Triggers page. An enabled trigger cannot be deleted, you need to first disable it.

Invoke Webhook triggers

See Webhook for more information.

Invoke Advanced Webhook triggers

See Advanced Webhook for more information.

Trigger and Workflow properties

Trigger and Workflow Properties