Skip to main content

Configure a Full Callout Payload

Build a Payload that sends a request from Salesforce to an external API, reads the response, and maps response data back into Salesforce.

Configure a Full Callout Payload

Use a Full Callout Payload when Salesforce needs to call an external API and then do something useful with the response. That is the main difference between a Full Callout and an Outbound Webhook. A webhook is normally about sending an event and checking whether it succeeded. A Full Callout is for a fuller exchange: build the request, send it, model the response, and optionally write response values back into Salesforce.

If you are still choosing between Payload types, start with Choose a Payload type.

When to use it

Use a Full Callout Payload when you need to:

  • send Salesforce data to an external API

  • include headers, URL parameters, or URL modifiers

  • build a JSON, XML, form URL encoded, or plain text request body

  • read the API response body or headers

  • create or update Salesforce records from response values

  • keep request and response configuration on one Payload record

The Stripe demo Payload creates a Checkout Session from a Salesforce Opportunity. It queries the Opportunity, builds the Stripe request, sends it to Stripe, and is ready to map values from the Stripe response back into Salesforce.

Payload structure

A Full Callout Payload has two main sides: Callout and Response.

The Callout side describes the request Payloads sends to the external API. It can include Dynamic Inputs, Data Queries, Body elements, Headers, Parameters, and Modifiers.

The Response side describes what Payloads expects to receive back. It can include a response Body model, response Headers, and Data Targets for writing response values into Salesforce.

A Full Callout Payload record showing the configured Stripe checkout request and response sections.

The Full Callout layout keeps the outbound Callout configuration and inbound Response handling on the same Payload record.

Header fields

Start with the main fields on the Payload record.

  • Type: choose Full Callout.

  • Integration: choose the Integration this Payload belongs to.

  • Credential: choose the Credential Payloads should use when calling the API.

  • Endpoint: enter the external API URL.

  • Method: choose the HTTP method, usually GET, POST, PUT, PATCH, or DELETE.

  • Outbound Content Type: choose the format Payloads should send.

  • Inbound Content Type: choose the format Payloads should expect in the response.

  • Timeout: set the maximum callout time in seconds.

  • Response Failure Policy: choose how Payloads should treat the API response status.

For most production callouts, Fail On Non 2xx is the right starting point. It keeps failed API responses visible in Job records instead of treating them as successful runs.

Dynamic Inputs

Dynamic Inputs are values supplied when the Payload runs.

Use them for values that change each time but are not stored directly on the Payload, such as a record Id passed from Flow, a session Id passed from another Payload, or a value selected by a user.

Once an input is referenced in the Payload configuration, Payloads shows it in the Dynamic Inputs tab. That gives admins a quick way to see what the Payload expects at runtime.

Data Queries

Data Queries fetch Salesforce data before the callout is built.

Use a Data Query when the API request needs values from Salesforce records. In the Stripe checkout example, the Payload queries an Opportunity, then uses fields from that Opportunity to build the checkout request.

Each query should have a clear purpose. Keep the record limit tight where possible, and make sure the filter matches the way the Payload will be run.

Body

The Body tab defines the request body.

For JSON and XML, the Body is usually a tree of Elements. Each Element represents a value, object, array, or attribute in the outgoing request. For form URL encoded requests, the Elements represent the name/value pairs Payloads sends to the API.

Each Body Element needs a source. Common sources are:

  • Static Value: a fixed value on the Payload

  • Field: a value from a Data Query

  • Dynamic Input: a value passed in when the Payload runs

  • Transformation: a calculated value based on another value

The Stripe demo uses all of these patterns. Currency is transformed to Stripe's lower-case format, amount is transformed into minor units, and Opportunity fields are used for the checkout session.

Headers, Parameters, and Modifiers

Use Headers for HTTP headers that are part of the request, such as Content-Type, Idempotency-Key, or custom routing values.

Use Parameters for query string values. Payloads appends these to the endpoint URL when the request is sent.

Use Modifiers when part of the endpoint URL itself needs to be replaced at runtime.

For example, an endpoint such as /customers/CUSTOMER_ID can use a Modifier to replace CUSTOMER_ID with a Salesforce value or Dynamic Input.

Credentials are normally a better place for authentication headers. Keep authentication in the Credential where possible, and use Payload Headers for request-specific values.

A Full Callout Payload record showing configured outbound request headers for the Stripe checkout call.

The Stripe checkout example uses request headers for call-specific metadata, while authentication stays on the Credential.

A Full Callout Payload record showing configured outbound request parameters for the Stripe checkout call.

Request parameters are appended to the endpoint URL when Payloads sends the callout.

Response Body and Headers

The Response Body tab describes the values Payloads should understand from the API response.

You do not need to model every field returned by the external API. Model the fields your team actually needs to read, display, store, or use later.

Use Response Headers when the API returns important values in headers rather than the body, such as a request Id, rate-limit value, or pagination cursor.

A Full Callout Payload record showing modelled response body fields from the Stripe checkout response.

The response body only models the values Payloads needs later, such as the checkout session id, URL, and payment status.

Data Targets

Data Targets write values from the response back into Salesforce.

Use them when the API returns data that Salesforce should keep, such as an external Id, status, URL, error code, or timestamp.

A Data Target defines the Salesforce object, operation, identifier, and field mappings.

Keep the mapping narrow: write the values that are needed for operations or reporting, not every value the API returns.

What to check before testing

Before you run the Payload, check that:

  • the Endpoint and Method match the external API documentation

  • the Credential is attached and uses the right placement

  • the Outbound Content Type matches the request Body you built

  • the Inbound Content Type matches the expected response

  • required headers and parameters are present

  • Data Queries return the records you expect

  • response Data Targets only update fields you intend to maintain

  • the Response Failure Policy will mark failed API responses clearly

After the first test run, open the Job record and compare the outbound request, response status, response body, and any target updates.

Did this answer your question?