External Signal activity - Call a workflow with parameters

The External Signal activity is used to organize and orchestrate different processes that are part of the same customer journey into different workflows. This activity can start one workflow from another. The External Signal activity can call a workflow and pass parameters, like an audience name to target, a file name to import, or a part of the message content, from one workflow to another. It can also call a REST API to integrate with external systems, like a content management system. With the Test activity, tests can be run on this functionality.

Learn how to configure External Signal activity to receive parameters** from an external system, customize a workflow with external parameters, and configure an end activity to call a workflow with the external parameters

Adobe Campaign Standard, let’s you call a workflow with parameters, such as, audience name to target, filename to import or part of message content, etc. This way, you can easily integrate your Campaign automations with your external system. Let’s take the following example. We would like to send emails directly from a content management system using Campaign. In that case, you can configure your system to select the audience and email content from the CMS. Clicking on send in the CMS, should then trigger a Campaign workflow with these parameters, that will enable you to use them in the workflow to define the audience and the content of the delivery. First, we will need to configure the external signal activity. The external signal activity is available under the Execution section in the activity panel, on the left. Drag and drop it onto the workflow canvas and open it.
Next, we will define the parameters that we will receive from the external signal. In our example, the parameters will receive from the CMS system, my_target, which is a target audience, and a personalized offer, I’ve already even added. Click on, Add an elements to add a new parameter. Add the name and the data type, string, number, boolean or datetime.
Once you’ve configured all the required parameters, you can close the window. The next step is to define the API call. For that, I’m using an external tool.
The payload and structure are very simple. We have two attributes, which are the parameters and the source. We need to make sure that the keys match the parameters we configured and the signal activity. So, my target is the key for the first parameter and the name, AUD2, is the value.
Similar, the key for the second parameter is my offer and the value is a simple string with the product name and the price. Based on how we configured the parameters in the signal activity in our workflow, these are the only parameters and format that it will accept. Any other format or parameters pass through the API will generate an error.
Let’s go back to the workflow. In 19.2, we introduced a new activity called Test. This activity allows you to define conditions based on the incoming parameters.
In our example, we defined a very simple condition. If my target and my offer are not empty, then continue the workflow. If the condition is not met, we will stop the workflow. To define the condition, click into the Condition field and onto the folder on the right. On this screen, you can browse and select your Event variables which are basically the parameters we defined in the signal activity. You can also use the Expression editor to define the condition.
Now, we just have to make sure that the Use default transition checkbox is checked, so that alternative transition is created when no condition matches.
Now, let’s configure the transition path that applies when our conditions are met. Let’s start with the Read audience activity. We’ll configure it so that it takes the audience that we receive from the CMS through this external signal. On the Properties tab, you’ll find a new option called Use a dynamic audience. This is what we need to configure in order to be able to use the audience coming from the external signal. For our example, we’re using my_target as the Event variable.
Now, we will need to add the parameters to the email activity as the delivery itself is an object separate to the workflow. Go to the Advanced parameters of the email activity. You will find the delivery parameters on the General tab.
To add a new delivery parameter, click on the Add an element button.
Give the parameter a name and select the right value. For our example, we have used the my_offer value. This will be used to personalize the email. my_offer will now be available as a personalization field in the delivery.
To add this field to our email delivery, I will click on the email activity.
On the delivery dashboard, click on the Content to access the email designer. As you can see here, highlighted in blue, I have already added my delivery parameter, my_offer, to the email. To add the delivery parameter as a personalization field, set the cursor to where you would like to enter this field and click on Insert personalization field.
And, as you can see here, a new node called Workflow parameters is now available. You will find the delivery parameter we just added beneath this node. Now, that we have everything configured, I’ll go back to the workflow and start the workflow.
Now that the workflow has started, it will be running and waiting for call from the external system.
I will trigger a call from the API tool. The payload is ready. We’ve defined both the target audience, as well as the offer. Now I can trigger my API call and we’ll go back to the workflow to see what happens.
I’ll refresh the screen.
As you can see, the condition has been matched and it has activated the correct transition, target and offer not empty. It has selected the correct audience. And then, let’s take a look if the correct personalization in the email has been applied.
So, I will open the email activity and go directly to the sending logs.
You can access the sending logs by clicking these three dots.
As this is a recurring delivery, there are several deliveries. I’m opening the latest one. We are now in the dashboard of the latest delivery, let’s go to the sending logs.
Okay, I’m going to look at one of the mirror pages, of the last emails that were sent and here we can see our offer, the new computer with the price, has been added to the email.
So, the parameters coming from the external system have been correctly applied. The external signal activity, however, also allows you to receive parameters from other workflows.
We will have to configure the end activity if we want to trigger another workflow, from this workflow. So, let’s open up the End activity.
Now we get into the External Signal tab.
This is where you can decide which workflow to trigger and which parameters and values you want to add to the payload which will be pushed over to the other workflow.
So in our case, we will trigger this workflow that we have predefined in Campaign and we will add my_target, the audience will receive from the external system to the payload.
Once the end activity has been configured to trigger another workflow, this little icon will appear on the activity.
In summary, you can call a workflow from an API call or from another workflow and pass different parameters by other payload. These parameters, the event variables, can be used in different workflow activities. For example, to segment or, within the data management, to transfer file activity or load a file activity. You’ll find the details for each activity in the documentation. Thank you for watching.