If you are using a third-party system to send messages or if you want journeys to send API calls to a third-party system, use custom actions to configure its connection to your journey. For example you can connect to the following systems with custom actions: Epsilon, Slack, Adobe Developer, Firebase, etc.
Custom actions are additional actions defined by technical users and made available to marketers. Once configured, they appear in the left palette of your journey, in the Action category. Learn more in this page.
Custom actions come with a few limitations listed in this page.
In custom action parameters, you can pass a simple collection, as well as a collection of objects. Learn more about collection limitations in this page.
Also note that the custom actions parameters have an expected format (example: string, decimal, etc.). You must be careful to respect these expected formats. Learn more in this use case.
Here are the main steps required to configure a custom action:
In the ADMINISTRATION menu section, select Configurations. In the Actions section, click Manage. Click Create Action to create a new action. The action configuration pane opens on the right side of the screen.
Enter a name for your action.
Do not use spaces or special characters. Do not use more than 30 characters.
Add a description to your action. This step is optional.
The number of journeys that use this action is displayed in the Used in field. You can click the View journeys button to display the list of journeys using this action.
Define the different URL Configuration parameters. See this page.
Configure the Authentication section. This configuration is the same as for data sources. See this section.
Define the Action parameters. See this page.
The custom action is now configured and ready to be used in your journeys. See this page.
When a custom action is used in a journey, most parameters are read-only. You can only modify the Name, Description, URL fields and the Authentication section.
When configuring a custom action, you need to define the following URL Configuration parameters:
In the URL field, specify the URL of the external service:
If the URL is static, enter the URL in this field.
If the URL includes a dynamic path, enter only the static part of the URL, that is, the scheme, the host, the port, and, optionally, a static part of the path.
You will specify the dynamic path of the URL when adding the custom action to a journey. Learn more.
For security reasons, we strongly recommend that you use the HTTPS scheme for the URL. We don’t allow the use of Adobe addresses that are not public and the use of IP addresses.
Only the default ports are allowed when defining a custom action: 80 for http and 443 for https.
Select the call Method: it can be either POST or PUT.
The DELETE method is not supported. If you need to update an existing resource, select the PUT method.
In the Headers section, define the HTTP headers of the request message to be sent to the external service:
To add a header field, click Add a header field.
Enter the key of the header field.
To set a dynamic value for the key-value pair, select Variable. Otherwise, select Constant.
For example, for a timestamp, you can set a dynamic value.
If you have selected Constant, then enter the constant value.
If you have selected Variable, then you will specify this variable when adding the custom action to a journey. Learn more.
To delete a header field, point to the header field and click the Delete icon.
The Content-Type and Charset header fields are set by default. You cannot modify or delete these fields.
After you have added the custom action to a journey, you can still add header fields to it if the journey is in draft status. If you do not want the journey to be affected by configuration changes, duplicate the custom action and add the header fields to the new custom action.
Headers are validated according to field parsing rules. Learn more in this documentation.
In the Action parameters section, paste an example of the JSON payload to send to the external service.
The payload example cannot contain null values. Field names in the payload cannot contain a “.” character. They cannot start with a “$” character.
You will be able to define the parameter type (e.g.: string, integer, etc.).
You will also have a choice between specifying if a parameter is a constant or a variable: