External actions configuration

External actions allow account journeys in Journey Optimizer B2B Edition to connect with external systems directly from the journey canvas. When an account audience reaches an external action node, the system makes an asynchronous outbound call to a configured external service, passing audience attribute data for accounts, people, or both. The external service processes the data and responds using a callback, returning audience data and metadata that can be used to guide journey execution.

This feature supports two journey node types:

  • External action – Calls an external service and continues along a single outgoing path. Ideal for fire-and-forget integrations, such as updating a CRM record or triggering a downstream notification.
  • External split paths – Calls an external service and evaluates the response to route accounts along one of several defined paths.
NOTE
External action services are supported only for account journeys. These node types are not available for person journeys.

Implementation overview

Setting up external actions requires coordination across three roles in sequence:

Implement the external service implement-service

The developer must create and publish a public-facing web service that complies with the Adobe Journey Optimizer B2B Edition External Actions Service Provider Interface.

NOTE
The callback function requires a bearer token. Retrieve this by setting up OAuth Server-to-Server credentials in Adobe Developer Console for your IMS Organization.

After the service is live, provide the URL to the OpenAPI specification and the authentication credentials to the product administrator who is responsible for configuring the action.

Configure the action configure-action

An action must be configured and activated before marketers can use it in a journey. Actions are created in Draft state and your changes are saved automatically. It remains as a draft until you activate it.

PREREQUISITES
Obtain the URL to the OpenAPI specification and the authentication credentials from the developer before you add the configuration.
To define and activate an external action, you must have the Manage B2B Admin Configurations product permission.
  1. Go to Administration > Configurations.

  2. Click External Actions on the intermediate panel.

    Access the External Actions configuration space {width="800" modal="regular"}

  3. Click Create action at the top right.

  4. Enter the URL to the OpenAPI specification for your external service and click Create.

    Enter the service URL {width="500"}

    The external service must be live and reachable for this step to succeed. If there is a validation error, the dialog displays a message to describe the error and a suggestion for resolving it. For more information, see Troubleshooting.

  5. When the URL resolves successfully, review the Service details.

    The service details are read directly from the OpenAPI specification when the action is created. You cannot change these properties in the configuration after creation.

    table 0-row-3 1-row-3 2-row-3 3-row-3
    Property Description OpenAPI spec property
    Name Name for the action info.title
    Description Description for the action info.description
    URL URL to the OpenAPI specification that defines the external service servers.url
  6. Enter the Authentication credentials for the external service (components.securitySchemes).

    note
    NOTE
    The displayed credential fields depend on the authentication mechanism defined in the external service. Supported types are API Key, OAuth2, and HTTP Basic Authentication.

    Add the authentication credentials {width="600" modal="regular"}

    You can change the credentials as needed when the configured action is in the Draft or Active status.

  7. Click Next.

  8. Set the Configurations properties to define how the action exchanges data with the external service.

    note
    NOTE
    Properties marked as Static are not updatable at configuration time and are based on the service definition.
    • Action type (Static) – The supported journey node type:

      • External action (enableSplitPath = false)
      • External action split path (enableSplitPath = true)

      You cannot change the action type after creating the action configuration.

    • Accessors (Static) – (External action split path only) The variables that are returned by the external service to be available as path conditions in an External split path node. (invocationPayloadDef.accessorsMetadata)

    • Journey context (Static) – The scope of audience data sent in the request (supportedEntityType):

      • Account – Sends only accounts

      • People – Sends only people

      • People in Account – Sends accounts and account-related people

    • Outgoing Fields – Map each field in the table to an XDM field. These fields are sent in the request body to the external service. Service definition properties: invocationPayloadDef.accountFields, invocationPayloadDef.fields.

      Map external action outgoing fields {width="600" modal="regular"}

    • Incoming Fields – Map each field in the table to an updatable XDM field. These fields are populated from the external service response. Service definition properties: callbackPayloadDef.accountFields, callbackPayloadDef.fields. Updatable after creation.

    • Header parameters – Enter a value for each row to pass as an HTTP header in the request. Service definition property: invocationPayloadDef.headers.

    • Timeout – Enter the number of minutes to wait for the external service to invoke the callback before the request is considered failed. Service definition property: timeout.

    • Global attributes – Enter a value for each row to include as a static field in the request body. Service definition property: invocationPayloadDef.globalAttributes.

      External action header parameters, timeout, and global attributes {width="600" modal="regular"}

  9. Click the Back arrow to return to the list and keep the action in a Draft state.

    Or, click Activate to change the action configuration to the Active state. The configured external action must be active to make it available for use in account journeys.

Troubleshooting troubleshooting

When you enter the URL to the OpenAPI specification for your external service and click Create, the system performs validation of the service. When it encounters an error, the dialog displays a message to describe the error.

External action URL service validation error message {width="600" modal="regular"}

NOTE
Many of the following errors require that you work with the developer who created and published the public-facing web service to resolve.

Validation error details

Displayed error
Why it happened
What to do
This URL is already used by another external action
This spec URL is already registered to a different action in your org.
Use a different spec URL, or delete the existing action that already uses it.
An action with this name already exists
The info.title in your spec matches an action that already exists
Change the title in your spec’s info.title field to something unique.
Duplicate operation ID found in the specification
Two or more operations in your spec share the same operationId.
Give every operation a unique operationId.
Field in the specification exceeds the maximum allowed length
A text field in your spec (such as a title or description) is too long.
Shorten the field that is flagged.
The entity type value is invalid
An Adobe-specific x- extension for entity type has an unrecognised value
Correct the entity type to a supported value. See the developer documentation for the valid options.
The provided document is not a valid OpenAPI specification
The spec can’t be parsed structurally.
Validate your spec against the OpenAPI 3.0 schema and fix any issues.
Required OpenAPI field is missing
A standard OpenAPI required field is absent (such as info or paths).
Add the missing field.
Required endpoint is missing from the specification
An endpoint that Adobe Journey Optimizer B2B Edition requires is not defined in your spec.
Add the required endpoint. See the developer documentation for which endpoints are needed.
Required extension field is missing
A required Adobe x- extension field is absent from your spec.
Add the missing extension field as described in the documentation.
Security schemes are missing from the specification
Your spec has no securitySchemes defined under components.
Define at least one security scheme.
Multiple authentication types are not supported
Your spec defines more than one authentication scheme.
Update your spec to use a single authentication type.
The authentication type is not supported
The security scheme type you’ve used (such as oauth2 or openIdConnect) is not supported.
Switch to a supported auth type. See the developer documentation for the supported options.
The OpenAPI version is not supported
Version mismatch at the spec level
Update your spec to use OpenAPI 3.0.x.
An unexpected error occurred
An unclassified problem was found in your spec.
Check your spec for anything unusual and try again. If the error persists, contact support.

Add an external node to a journey add-journey-node

After an action is activated, marketers can add an External action or External split path node to any account journey. For information about how to add and use these nodes in the account journey canvas, see External nodes.

recommendation-more-help
journey-optimizer-b2b-help-user