Skip to main content

Set up inbound endpoints and Sites

Prepare Salesforce Sites so external systems can call Payloads Inbound Payloads.

Set up inbound endpoints and Sites

Use a Salesforce Site when an external system needs a public entry point for an Inbound Payload. Authenticated API clients can also call the Apex REST route through the org domain; a successful authenticated test does not verify Site guest access.

The Site provides the public URL. Payloads provides the Apex REST endpoint and the Payload configuration that decides what happens when the request arrives.

There are two parts to get right: the public routing path and the Salesforce permissions behind it. If either part is wrong, the external system may not reach the Payload even though the Payload itself looks correctly configured.

For Endpoint record setup, see Configure Endpoints.

For production checks around Site guest users, Credentials, Endpoints, and Job data, see Secure Payloads for production.

How inbound URLs work

Payloads exposes inbound requests through an Apex REST URL under the Site domain.

The URL follows this pattern:

https://your-site-domain/services/apexrest/pylds/endpoint/YOUR_ENDPOINT_NAME

The Endpoint record stores the Site, generated URL, method, path, and related Payload. This generated URL is the one you give to the external system.

Create or choose the Site

Use a Salesforce Site that is intended for API traffic.

The Site should be active and reachable by the external system. Use a stable domain and path because external systems may store the URL in their own configuration.

If your org already uses Sites for other public endpoints, decide whether Payloads should share that Site or use a dedicated one. A dedicated Site can make permissions and operational ownership clearer, especially when Payloads endpoints are managed by a different team from other public Site features.

Assign Site Guest User access

Assign the Payloads Site Guest User permission set to the Site Guest User.

The Site Guest User needs read access to the Payloads configuration required to route and run the inbound request.

If the inbound Payload writes to Salesforce records, also review object, field, validation, and sharing behaviour for the target records. Do not grant broad guest access to business data just to make an endpoint work. Keep the guest user permissions as narrow as the integration allows.

For permission guidance, see Set up permissions and access.

Configure the Inbound Payload

Create an Inbound Payload and choose its Firing Mode before saving. Use Immediate when the caller needs processing results in the response. Queueable and Batchable return an early acknowledgement; their later processing result is recorded on the Job.

In Actions, select HTTP Request. Edit Request Settings to choose the incoming Content Type, then define the Body, Headers and Parameters needed by your mappings. Add Query, Target, Flow or eligible child Payload Actions in the permitted positions.

Select HTTP Response to define the outgoing Content Type and response body. For asynchronous Inbound, the response cannot use outputs from Actions that run after the acknowledgement.

Configure the Endpoint

Select HTTP Request and create an Endpoint from its Endpoints section.

Choose the Site, Endpoint Name, and Method.

Payloads builds the URL using the Site domain and Endpoint Name. Check the generated URL before giving it to the external system.

If you are testing connectivity, use Echo Mode temporarily. Turn Echo Mode off before using the Endpoint as a live integration endpoint.

The Endpoint modal showing a Salesforce Site, generated public URL, selected method, Echo Mode, and endpoint secret settings.

The Endpoint modal is where the Site, generated URL, method, and request access settings come together.

Give the URL to the external system

Give the external system the details it needs to call the endpoint correctly:

  • the Endpoint URL

  • the HTTP method

  • required headers

  • required URL parameters

  • request body format

  • expected response format

  • any endpoint secret header or parameter values

Use demo-safe values in screenshots and documentation. For live integrations, share endpoint access values through your normal secure process rather than pasting them into tickets or articles.

Test the first request

Send a small, representative request from the external system or an API client.

Then open the Job in Payloads. Check its Status and Error Message, select HTTP Request to inspect the received body, headers and parameters, and select HTTP Response to inspect the response. Review each Query, Target, Flow or child Payload Action that processed the request.

If no Job is created, check the Site URL, Site status, endpoint path and guest user access. Test through the public Site URL when verifying guest access; an authenticated org-domain request uses a different user context.

What to check

Before going live, check that:

  • the Site is active

  • the Endpoint URL uses the intended Site

  • the HTTP method matches the caller

  • the Site Guest User has the required package access

  • the Payload has the correct inbound and outbound content types

  • the request model only includes values Payloads needs

  • Data Targets use controlled matching and update rules

  • Echo Mode is disabled

  • the external system receives the expected response

Did this answer your question?