Skip to main content

Call another Payload as an Action

Reuse a callout-only Outbound Payload, map its inputs and publish results to the parent sequence.

Call another Payload as an Action

Use a Payload Action to reuse an Outbound callout in another Payload's sequence. Map the parent's available values into the child Payload's Dynamic Inputs, then publish only the child results needed by later Actions.

Prepare an eligible child

The child must be an Outbound Payload in the same Integration. It cannot be the parent itself and must not contain Data Targets, Flow Actions or further Payload Actions. These restrictions keep the child callout-only.

Configure its request, response structure, credentials and Dynamic Inputs before adding it to the parent. Use a controlled endpoint for testing.

Add the Payload Action

  1. Open the parent and select the plus button at the desired position.

  2. Choose Payload.

  3. Search for and select the eligible child Payload.

  4. Enter an Action Name that describes this use of the child.

  5. Under Inputs, choose a Value Source for each required child Dynamic Input and map the parent's value.

  6. Under Outputs, select New. Choose the child Action and its Output & Field, then enter an Output Name.

  7. Repeat for each result to expose, then select Save.

If the picker reports no eligible callout-only Outbound Payloads, check the child's Integration, type and Actions. A Payload containing a Salesforce update is not eligible simply because it also makes an HTTP request.

The child runs immediately as part of the parent Action. Its own manually selected scheduling mode does not turn this Action into a separately queued run.

The child selector limits the choices to eligible callout-only Outbound Payloads.

The child selector limits the choices to eligible callout-only Outbound Payloads.

Map a child result downstream

In a later parent Action, set Value Source to Payload Data and select the Payload Action and its published output.

Worked example: look up a product

Configure an Outbound child called Fetch Sample Product with a GET endpoint such as https://api.restful-api.dev/objects/{productId}. Add a String URL modifier named {productId}, choose Dynamic Input and name its input productId. Define the child HTTP Response Body with String fields id and name.

In an Immediate Inbound parent, define the incoming String field productId and add a Payload Action called Fetch Product between HTTP Request and HTTP Response. Select the child, then configure:

Mapping

Selection

Input productId

Value Source Payload Data → Action HTTP Request → Output & Field Body · productId

Published output

Action HTTP Response → Output & Field Body · name → Output Name productName

Parent response field productName

Value Source Payload Data → Action Fetch Product → Output & Field productName

The saved child Action declares its input and the output available to later Actions.

The saved Action publishes productName for the parent's response.

Run the parent with {"productId":"1"}. In the verified demo run, the child returned Google Pixel 6 Pro and the parent responded with {"productName":"Google Pixel 6 Pro"}. This public sample API's data can change; use an endpoint you control for a repeatable integration test.

The Job records the actual product ID passed to the child and the product name published back to the parent.

Inspect Inputs and Outputs on the Payload Action before checking the parent response.

Place child callouts before Data Targets. A Flow that performs DML can also prevent a later callout even though it appears as a Flow card. Review the complete transaction, including work performed inside called Flows.

Review and maintain the contract

Select the saved Payload Action to review its child, inputs and outputs. Its Edit control changes those mappings. Removing an output used by later Actions requires resolving those dependencies first.

In v1.53, reopening a saved input mapping can show No actions available even when the mapping is valid and the Payload runs successfully. If this happens, cancel the editor to preserve the saved mapping and contact Payloads support with the affected Action and Job details. Do not replace the mapping with a hand-written internal path.

When changing the child, review every parent that calls it. Changing a child Dynamic Input or response structure can affect parent mappings even when the parent sequence has not changed.

Run the parent and inspect the Payload Action on its Job timeline. Use the child detail available there to compare child inputs and outputs with the values published to the parent. Test child failures as well as successful responses.

Did this answer your question?