Choose the right object
For
ORDER_APPROVED, use definition metadata to find the checkout subscription, occurrence metadata to trace one approval, and the message to carry orderId. Set the Job’s execution configuration in Runtime input.
Definition metadata stays with the definition. When the Job creates a Webhook, choose which values to include in its own metadata and which to send in the request.
Publish a traceable signal
Run this fragment in a low-code Component after establishing that the order was approved. Register an active customORDER_APPROVED Event targeting the intended Job template first.
api.input('message') and api.input('metadata'). Validate their contents, load the authoritative order and deliberately carry the operation key into the receiver contract or business record.
For a later Webhook, set its own metadata explicitly if you want the same correlation values in Webhook history. Set request.body or a receiver-supported header separately when the partner needs that identity. Metadata is not silently forwarded between every product boundary.
Filter in the correct namespace
An API Event filter can select the occurrence’s source:metadata.pipeline there selects message.metadata.pipeline, not the occurrence’s top-level metadata. Use the API for a filter on top-level metadata.source. Explore this distinction in Event filters.
When searching history, use the structured filter supported by that list operation. Database row filters, Event subscription filters and Platform API history filters are separate contracts; do not copy one query shape into another surface unchanged.
Keep correlation and protection separate
AcorrelationId groups related activity, such as all steps in checkout. An operationKey identifies one business effect, such as issuing one invoice. A resource ID identifies a stored object. They can appear together, but serve different purposes.
Setting metadata.operationKey does not call api.acquireIdempotencyKey() or make an external service idempotent. Use the idempotency pattern and retain the durable result. A new Event history ID on Replay should not accidentally create a new business identity.
Limits and handling
Standard user metadata accepts JSON values and is bounded to 16 KiB of UTF-8 JSON and 64 top-level keys. Top-level names beginning with__ are reserved. Use a small consistent schema; avoid changing a numeric field to a string across producers.
Store large payloads in Storage or Tables and carry their IDs. Keep credentials, raw authorization headers and sensitive personal data out of metadata, which is designed for discovery and operational inspection. Update behavior belongs to the resource’s API contract; do not assume that a partial metadata object performs a deep merge.
Continue with Event input, delivery guarantees and Trace.
Follow the complete Event → Job → Webhook example to connect configuration, inputs, correlation and observable outcomes.
