External signal

Description

The
External signal
activity triggers a workflow when some conditions are successfully met in another workflow or from a REST API call.

Context of use

The
External signal
activity is used to organize and orchestrate different processes that are part of the same customer journey into different workflows. It allows to start one workflow from another, enabling to support more complex customer journeys, while being able to better monitor and react in case of issue.

The
External signal
activity is designed to be placed as the first activity of a workflow. It can be triggered from the
End
activity of another workflow or from a REST API call (for more on this, refer to the
API documentation
).

When triggered, external parameters can be defined and be available in the workflow events variables. The process to call a workflow with external parameters is detailed in
this section.

Note:

The activity cannot be triggered more often than every 10 minutes.

Note that an
External signal
activity can be triggered from several different events. In that case, the
External signal
is triggered as soon as one of the source workflows or API call is executed. It does not require that all source workflows are finished.

Configuration

When configuring an external signal, it is important to first configure the
External signal
activity in the destination workflow. Once this configuration is done, the
External signal
activity of this workflow becomes available to configure the
End
activity of the source workflow.

Select the activity, then open it using the
button from the quick actions that appear.

Edit the label of the activity. This label is needed when configuring the source workflow that triggers the
External signal
.

If you want to call the workflow with parameters, use the
Parameters
area to declare them. For more on this, refer to
this section.

Confirm the configuration of your activity, add any other activity you need and save your workflow.

Note:

If you want to trigger the destination workflow from another workflow, proceed with the following steps. If you want to trigger the destination workflow from a REST API call, consult the
API documentation
to get more details.

Open the source workflow and select an
End
activity. If there is no
End
activity available, add one after the last activity of a branch of the workflow.

Some activities do not have any outbound transition by default. From the
Properties
tab of these activities, you can add an outbound transition.

For example, in an
Update data
activity, go to the
Transitions
tab and check the
Add an outbound transition without the population
option. This option allows to add a transition that does not contain any data and do not consume any unnecessary space on your system. It is just used to connect the extra
End
activity that triggers the destination workflow.

In the
External signal
tab of the
End
activity, select the destination workflow as well as the
External signal
activity to trigger within that workflow.

When you set an
End
activity to trigger another workflow, its icon is updated with an additional signal symbol.

If you want to call the workflow with parameters, use the
Parameters and values
area. For more on this, refer to
this section.

Save the source workflow.

Once the
End
activity of the source workflow or the REST API call is executed, the destination workflow is automatically triggered from the
External signal
activity.

Note:

The destination workflow must be started manually before it can be triggered. When started, the
External activity
is activated and waits for the signal from the source workflow.

Example

The following example illustrates the
External signal
activity in a typical use case. A data import is performed in a source workflow. Once the import is done and the database updated, a second workflow is triggered. This second workflow is used to update an aggregate on the imported data.

The source workflow is presented as follows:

A
Load file activity uploads a file containing new purchase data. Note that the
database has been extended accordingly as purchase data are not present by default in the datamart.