Configure a custom action

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.

Consent and data governance

In Journey Optimizer, you can apply data governance and consent policies to your custom actions to prevent specific fields from being exported to third-party systems or exclude customers who have not consented to receive email, push or SMS communication. For more information, refer to the following pages:

Configuration steps

Here are the main steps required to configure a custom action:

  1. 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.

  2. Enter a name for your action.


    Do not use spaces or special characters. Do not use more than 30 characters.

  3. Add a description to your action. This step is optional.

  4. 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.

  5. Define the different URL Configuration parameters. See this page.

  6. Configure the Authentication section. This configuration is the same as for data sources. See this section.

  7. Define the Action parameters. See this page.

  8. Click Save.

    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.

URL configuration

When configuring a custom action, you need to define the following URL Configuration parameters:

  1. 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.

  2. 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.

  3. Define the headers and query parameters:

    • In the Headers section, click Add a header field to define the HTTP headers of the request message to be sent to the external service. The Content-Type and Charset header fields are set by default. You cannot modify or delete these fields.

    • In the Query parameters section, click Add a Query parameter field to define the parameters you want to add in the URL.

  4. Enter the label or name of the field.

  5. Select the type: Constant or Variable. If you have selected Constant, then enter the constant value in the Value field. If you have selected Variable, then you will specify this variable when adding the custom action to a journey. Learn more.


    After you have added the custom action to a journey, you can still add header or query parameters 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 fields to the new custom action.

    Headers are validated according to field parsing rules. Learn more in this documentation.

Define the action parameters

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:

  • Constant means that the value of the parameter is defined in the action configuration pane by a technical persona. The value will be always the same across journeys. It will not vary and the marketer won’t see it when using the custom action in the journey. It could be for example an ID the third-party system expects. In that case, the field on the right of the toggle constant/variable is the value passed.
  • Variable means the value of the parameter will vary. Marketers using this custom action in a journey will be free to pass the value they wants or to specify where to retrieve the value for this parameter (e.g. from the event, from Adobe Experience Platform, etc.). In that case, the field on the right of the toggle constant/variable is the label marketers will see in the journey to name this parameter.

On this page