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 .
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.
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.
- Drag and drop an External signal activity into your destination 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.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.
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.
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.For example:
tcode;tdate;customer;product;tamount aze123;21/05/2015;firstname.lastname@example.org;A2;799 aze124;28/05/2015;email@example.com;A7;8 aze125;31/07/2015;firstname.lastname@example.org;A7;8 aze126;14/12/2015;email@example.com;A10;4 aze127;02/01/2016;firstname.lastname@example.org;A3;79 aze128;04/03/2016;email@example.com;A8;149
- A Reconciliation activity creates the links between the imported data and the database so that the transactions data are properly connected to profiles and products.
- An Update data activity inserts and updates the Transactions resource of the database with the incoming data.
- An End activity triggers the destination workflow, which is used to update aggregates.
The destination workflow is presented as follows:
- An External signal activity waits for the source workflow to be successfully finished.
- A Query activity targets profiles and enrich them with a collection set to retrieve the last purchase date.
- An Update data activity stores the additional data in a dedicated custom field. Note that the profile resource has been extended to add the Last purchase date field.