Action Step Payload Examples

Event Orchestration – Action Step Payload Examples

Aim of this section

Provides ready-to-use examples of the payload (Body, Headers, Properties) that can be sent to a partition or integration target in the Event Workflow / Scheduler Action step.

Related sections

How to Create Event Workflow, How to Create Scheduler

Required permissions

Event Orchestration - edit

Overview

In the Action step you define the payload sent with the triggered action. The payload has three parts:

  • Body – Free-form JSON sent with the action. You can either tick Use the original event payload as the body, or paste custom Payload content. Event Orchestration does not impose any schema on the Body — the field names you use are entirely up to what the target action (the partition logic/calculation/data load, or the IM route) is built to read.

  • Headers – Key/value pairs sent as request headers (standard HTTP / Camel headers).

  • Properties – Key/value pairs that become Camel exchange properties in the target route.

ℹ️ Properties are available only for the Integration target type. They cannot be set when the Target Type is Partition.

ℹ️ For the Route action type, the route must be of type direct.


Partition targets

When the target is a partition, the Body is passed as a parameter to the triggered logic / calculation / data load. Use field names your target action expects. Properties are not available for partition targets.

Example 1 — Action Type: Logic

Run a partition logic and pass it parameters.

Body

JSON
{
  "runMode": "DELTA",
  "changedSince": "2026-06-01T00:00:00Z",
  "productGroups": ["BEVERAGES", "SNACKS"],
  "dryRun": false
}


Example 2 — Action Type: Dataload

Trigger a Data Load, telling it how to run.

Body

JSON
{
  "incremental": true,
  "sourceFile": "product_master_2026-06-11.csv",
  "truncateBeforeLoad": false
}


Example 3 — Action Type: Calculation (CFS)

Run a Calculation Field Set, scoped via parameters the CFS reads.

Body

JSON
{
  "calculationName": "CFS_LIST_PRICE",
  "effectiveDate": "2026-06-11",
  "currency": "EUR",
  "scope": { "priceListCode": "PL-2026-Q3" }
}



Integration (IM) targets

When the target is an IntegrationManager instance with Action Type Route, all three parts are available. In the route:

  • Body arrives as the Camel message body (a Map) — access with ${body[field]}

  • Headers are read with ${header.X}

  • Properties are read with ${exchangeProperty.Y}

Example 4 — Action Type: Route

Push approved price updates to an external system.

Body

JSON
{
  "priceGridCode": "PG-2026-Q3",
  "currency": "EUR",
  "items": [
    { "sku": "SKU-001", "newPrice": 12.50, "oldPrice": 11.90 },
    { "sku": "SKU-002", "newPrice": 9.99,  "oldPrice": 9.50 }
  ]
}


Headers

Key

Value

Content-Type

application/json

X-Correlation-Id

WF-ACME-2026-06-11-001

Properties

Key

Value

targetSystem

SAP-S4HANA

integrationScenario

PRICE_UPDATE

retryCounter

0

How the target route reads the payload:

Java
<route id="pushPriceUpdate">
    <from uri="direct:pushPriceUpdate"/>
    <log message="Scenario ${exchangeProperty.integrationScenario}, corr ${header.X-Correlation-Id}, grid ${body[priceGridCode]}"/>
    <split>
        <simple>${body[items]}</simple>
        <!-- per item: ${body[sku]}, ${body[newPrice]} -->
    </split>
</route>



Using the original event payload as the Body

Instead of entering custom JSON, you can tick Use the original event payload as the body. The action then receives the raw Pricefx event. The event is a Map; the most-used fields are eventType and data[]:

JSON
{
  "eventType": "CALCULATION_COMPLETED_CFS",
  "status": "FINISHED",
  "data": [
    {
      "targetName": "PriceLists",
      "calculationName": "CFS_LIST_PRICE",
      "jobStatusTracker": "PriceListCalc-2026-06-11"
    }
  ]
}


A route can then branch on it, for example with ${body[eventType]} and ${body[data][0][targetName]}.