Northern Trail Outfitters leverages Sales Cloud. When an opportunity has changed its status to ''Closed/Won'' and there are products attached, the details should be passed to the OMS for fulfillment operations. The callout from Salesforce to the OMS should be synchronous. What should an integration architect do to satisfy these requirements?
A synchronous requirement in Salesforce implies a Request-Reply pattern where the user waits for a response. To implement this correctly while adhering to platform constraints, the architect must initiate the callout from the User Interface (UI) layer.3
Option C is the correct architectural choice. By using a Lightning component and a button (or a Quick Act4ion), the callout is initiated directly from the user's session. The component calls an Apex controller, which performs the synchronous REST callout to the OMS. This allows the user to receive immediate feedback---such as a 'Success' message or an 'Error' notification from the OMS---directly on the Opportunity page.
Option A is incorrect because Apex Triggers are prohibited from making synchronous callouts. If a trigger initiates a callout, it must be asynchronous (using @future or Queueable Apex), which violates the business requirement for synchronicity. Making a synchronous call from a trigger would block the database transaction and could lead to 'Uncommitted Work Pending' errors or system timeouts. Option B (Batch Apex) is inherently asynchronous and delayed; an hourly job would not provide the real-time, synchronous feedback required during the 'Closed/Won' transition. Therefore, moving the integration logic to a UI-driven button is the only way to satisfy the synchronous requirement while staying within Salesforce's execution and transaction limits.
What is the first thing an integration architect should validate if a callout from a Lightning web component (LWC) to an external endpoint is failing?
When an integration initiated from the client-side (the browser) fails, the architect must first look at the browser's security policies. In Salesforce, Lightning Web Components are subject to the Lightning Component framework's Content Security Policy (CSP).
CSP is a security layer that prevents cross-site scripting (XSS) and other code injection attacks by restricting which domains the browser is allowed to communicate with. If an LWC attempts to make a fetch() call to an external REST endpoint, the browser will block the request unless that specific domain is whitelisted in CSP Trusted Sites.
Option B (Remote Site Settings) is a common distractor; these settings are strictly for server-side Apex callouts and have no effect on client-side JavaScript requests. Option A (CORS) is also a browser security mechanism, but it must be configured on the external server to allow Salesforce to access its resources. While CORS is necessary, the first thing to validate within the Salesforce environment for a failing LWC callout is the CSP Trusted Site entry. Without this whitelisting, the request will be terminated by the browser before it even leaves the client, regardless of how the external server is configured.
An enterprise architect has requested the Salesforce integration architect to review the following (see diagram and description) and provide recommendations after carefully considering all constraints of the enterprise systems and Salesforce Platform limits.
About 3,000 phone sales agents use a Salesforce Lightning user interface (UI) concurrently to check eligibility of a customer for a qualifying offer.
There are multiple eligibility systems that provide this service and are hosted externally.
However, their current response times could take up to 90 seconds to process and return (there are discussions to reduce the response times in the future, but no commitments are made).
These eligibility systems can be accessed through APIs orchestrated via ESB (MuleSoft).
All requests from Salesforce will have to traverse through the customer's API Gateway layer, and the API Gateway imposes a constraint of timing out requests after 9 seconds.

Which recommendation should the integration architect make?
The primary architectural challenge in this scenario is the massive discrepancy between the backend response time (up to 90 seconds) and the API Gateway timeout constraint (9 seconds). In any synchronous integration pattern, the connection must remain open across the entire path; if the API Gateway closes the connection at 9 seconds, a standard Salesforce 'Request-Reply' callout will fail long before the 90-second eligibility check is complete.
Option A is non-viable because synchronous polling at a high scale (3,000 concurrent users) would likely hit Salesforce concurrent request limits and place an immense, unnecessary load on the API Gateway. Option B, using Continuation, is designed to handle long-running callouts (up to 120 seconds) without blocking Salesforce threads, but it still requires the external connection path to remain open. It does not bypass the 9-second timeout imposed by the customer's API Gateway.
The optimal recommendation is Option C, which implements an Asynchronous Request-Reply pattern using Platform Events and the empAPI.12
Request Phase: The Salesforce UI initiates the request. To bypass the 9-second gateway timeout, the ESB (MuleSoft) should be configured to receive the request3 and immediately return an acknowledgment (e.g.,4 HTTP 202 Accepted). This allows the initial Salesforce callout to complete successfully within the 9-second window.56
Processing Phase: MuleSoft then proceeds with the long-running (up to 90 seconds) call to the external eligibility systems.78
Callback Phase (Remote Call-In)9: Once the eligibility result is received, MuleSoft calls back into Salesforce via the REST API to publish a Platform Event containing the result.10
UI Update (empA11PI): The 3,000 sales agents' browsers, having subscribed to the event channel using the empAPI (Lightning's built-in library for streaming events), receive the notification in real-time. The UI then updates to display the 'Display Response' step.
This event-driven architecture effectively 'insulates' Salesforce and the API Gateway from the backend's high latency, ensures scalability for 3,000 concurrent users, and provides a seamless, real-time user experience without hitting governor limits or timeout constraints.
==========
A company captures orders and needs to send them to the Order fulfillment system. The user is not required to have confirmation from the fulfillment system. Which system constraint question should be considered when designing this integration?
When a business process does not require immediate confirmation from a target system, the architecture can move from a synchronous Request-Reply pattern to an asynchronous Fire-and-Forget pattern. In this transition, the most critical 'non-functional' requirement for the Integration Architect is to define acceptable latency.
Latency determines the technical stack. If the fulfillment system must receive the order within seconds (Near Real-Time), the architect might choose Salesforce Outbound Messaging or a Flow-triggered Platform Event. If the order only needs to arrive within 4-12 hours, a Batch ETL process is more efficient as it conserves API limits and can handle much higher volumes more reliably.
While address validation (Option B) is a functional requirement, it does not define the architectural framework. Option C is a specific solution implementation question rather than a fundamental design constraint. By asking about latency, the architect identifies the time boundary between 'Data Entry' in Salesforce and 'Processing' in the fulfillment system. This answer directly informs the choice of pattern, the retry logic required, and the error-handling strategy needed to ensure the 'Order-to-Cash' cycle is completed successfully without blocking the sales rep's productivity.
Northern Trail Outfitters leverages Sales Cloud. When an opportunity has changed its status to ''Closed/Won'' and there are products attached, the details should be passed to the OMS for fulfillment operations. The callout from Salesforce to the OMS should be synchronous. What should an integration architect do to satisfy these requirements?
A synchronous requirement in Salesforce implies a Request-Reply pattern where the user waits for a response. To implement this correctly while adhering to platform constraints, the architect must initiate the callout from the User Interface (UI) layer.3
Option C is the correct architectural choice. By using a Lightning component and a button (or a Quick Act4ion), the callout is initiated directly from the user's session. The component calls an Apex controller, which performs the synchronous REST callout to the OMS. This allows the user to receive immediate feedback---such as a 'Success' message or an 'Error' notification from the OMS---directly on the Opportunity page.
Option A is incorrect because Apex Triggers are prohibited from making synchronous callouts. If a trigger initiates a callout, it must be asynchronous (using @future or Queueable Apex), which violates the business requirement for synchronicity. Making a synchronous call from a trigger would block the database transaction and could lead to 'Uncommitted Work Pending' errors or system timeouts. Option B (Batch Apex) is inherently asynchronous and delayed; an hourly job would not provide the real-time, synchronous feedback required during the 'Closed/Won' transition. Therefore, moving the integration logic to a UI-driven button is the only way to satisfy the synchronous requirement while staying within Salesforce's execution and transaction limits.
Kenneth Stewart
8 days agoAmanda Murphy
23 days agoNathan Taylor
1 month agoMatthew Lee
2 months agoMargaret Turner
2 months agoLinda Brown
3 months agoGerald Morgan
2 months agoSarah Martin
3 months agoBarbara Sanchez
2 months agoThomas King
2 months agoKimberly Morgan
3 months agoLavonda
3 months agoAnissa
4 months agoTammara
4 months agoMatt
4 months agoJunita
4 months agoClay
5 months agoMurray
5 months agoElfriede
5 months agoRosita
5 months agoBulah
6 months agoOlene
6 months agoTamar
6 months agoSommer
6 months agoLili
7 months agoMicheline
7 months ago