.
Write an Apex trigger to send an outbound message to ESB
Update workflow rule conditions to exclude the ERP Order Number field update
Update workflow rule conditions to exclude the Integration User
Update the outbound message to exclude the Integration User
Named credential set with “per-user” identify type to control the Apex callout
Custom permission to control the Apex callout to retrieve different levels of details
Hierarchical custom setting to store back-end system user credentials and referenced in the Apex callout
Permission set to identify users with higher-level privileges in order to control the Apex callout
Dell boomi for data from Salesforce and data from other sources
Wave Data flow for Salesforce data and Dell boomi for data from other sources
Export data from all sources into Excel and use Wave connector to import data
Use Wave data flow for Salesforce data and data from other sources
Leverage Identity Product
Leverage SOAP API
Leverage Message Queue Product
Leverage REST API
Invoke a continuation callout to MDM from a VF Page controller
Invoke a continuation callout to MDM from a before insert trigger
Invoke a continuation callout to MDM from a VF Page JavaScript
Invoke a continuation callout to MDM from a VF Page @future call
Fire outbound messages to a middleware that stores the credentials instead of an Apex callout
Use custom settings to store the username and password allowing the Apex callout to read it
Set up a Named Credential with a Named Principal Identity Type allowing the Apex callout to use it
Store the username/hashed password in a private Static Resource, allowing the Apex callout to read it
UI Update Based on Data Changes and Batch Data Synchronization
Remote Process Invocation-Fire and Forget, with UI Update Based on Data Changes
Remote Call-In, with UI Update Based on Data Changes
Remote Process Invocation-Request and Reply
Use Heroku Connect to provide access to products as external objects from other orgs
Use Salesforce Connect with oData to provide access to products as external objects
Use Apex HTTP Callouts to call Salesforce Rest APIs and provide access restrictions within the Apex class
Use Cross-Org adapter for Salesforce Connect to provide access to products as external objects
Remote Process Invocation – Fire and Forget
Batch Data Synchronization
Remote Process Invocation – Request and Reply
Remote Call-In
Use the partial copy for performance testing and full sandbox for integration and user acceptance testing
Use the full sandbox for performance and user acceptance testing and the partial copy for integration testing
Use the full sandbox for integration testing and the partial copy for user acceptance and performance testing
Use the full sandbox for user acceptance testing and use the partial copy for integration and performance testing
A scheduled batch Apex to gather additional information from Salesforce and make a sync callout to the quote engine
Workflow-initiated alert to the Sales Rep, who will submit a request from a custom controller in a Visualforce page
Workflow-initiated outbound message with a callback to gather additional information from Salesforce
Workflow-initiated Apex to gather additional information from Salesforce and make a sync callout to the quote engine
Leverage a related push topic that pushed information to the portal client
Leverage a Streaming API client to subscribe to the related push topic
Leverage Canvas to send information to the portal whenever an idea is voted on
Leverage an outbound message to the portal whenever an idea is voted on the saved
Create a batch Apex to run on a daily basis, which converts order status to pre-defined order status
ETL Change Data Capture interface to send only required status updates to Salesforce
ETL change Data capture interface transforms the SAP order statuses to Salesforce order status
Update the SAP Order fulfillment process to match Salesforce Order Statuses against the SAP order status
Workflow Outbound SOAP API message to a middleware system
Workflow Outbound SOAP message to the order management system
Workflow Outbound SOAP message to a middleware system
Workflow Outbound REST message to the order management system
Create a Submit to Forecast Button on the Order Page to send the data to the Web application via REST
Configure an Outbound Message to send a SOAP call via a Workflow rule to the Forecasting application on close
Create an APEX trigger that makes the REST callout to the Forecasting application with the data when the deal closes
Utilize a third-party ETL tool to synchronize the data from Salesforce to the Forecasting application using the Bulk API
Bulk API needs fewer network round trips to complete the data load
Bulk API doesn’t need a login to Salesforce and can process data offline
Bulk API doesn’t need XML processing and can send data using CSV
Bulk API needs Partner WSDL, whereas SOAP API needs Enterprise WSDL
Use the Force.com canvas framework to embed the external application into Salesforce
Use Steaming API to create a push topic to send the message to the external system asynchronously
Use Rest API to pull data from Salesforce and update the external application
Order information sent to the system via outbound message with session ID
Order information sent via a Visualforce page with an Apex callout
Order information inserted or updated via Salesforce Connect: OData 2.0
Order information sent via process builder via invocable method/future method callout
Request and Reply
Fire and Forget
Remote Call-In
UI Update Based on Data Changes
Have the user refresh the standard VisualForce page to see closed case updates by setting up the refresh interval on the browser
Use a standard Visualforce page and embed JavaScript in the standard Visualforce page to refresh the porting of the standard page layout
Create a custom VisualForce page, subscribe to the “closed cases” push topic, and display alerts onscreen
Create a custom Visualforce page with a custom polling mechanism to poll for closed cases and display alerts on the Visualforce page
Perform the login call only when the session/access token has expired or no longer works
Perform the login authentication call before each integration call to Salesforce every time
Only perform a single login call forever, and store the session/access token permanently
Perform the login authentication call before a single transaction of multiple calls to Salesforce
Perform the DML operation within the Test.StartTest and Test.Stop Test and make the callout within Test.StartTest and Test.StopTest block
Perform the DML operation outside the Test.StartTest and Test.StopTest and make the callout within the Test.StartTest and Test.StopTest block
Perform the DML operation inside the Test.StartTest and Test.Stop Test and make the callout outside the Test.StartTest and Test.Stop Test block
Perform the DML operation outside the Test.StartTest and Test.StopTest and make the callout outside of the Test.StartTest and Test.StopTest block
Use a different user for each integration
Set the permission login to never expire for the user
Cache the session ID to avoid a login call
Keep re-typing the login call until it’s successful
Use @future annotation to make the HTTP Callout
Replace the standard HTTP Callout with Continuation
Invoke a Workflow Outbound message from the Apex trigger
Set a timeout on the web service HTTP callout
Use an Apex callout to indentify new case records and send them to the client
Use Streaming API to publish new case records to a push topic and subscribe to it.
Use Generic Streaming to send push notifications of case creation events to the client
Use REST API to identify new case records in Salesforce every 15 minutes
Set up a Named-Principal Named Credential and have the administrator set up the username/password
Set up a Per-User Named Credential and have the users each set up their username/password
Fire outbound messages to a middleware that stores the credentials instead of an Apex callout
Use hierarchical custom settings to store the username/password allowing the Apex callout to read it
An ETL job to leverage Bulk API to extract modified opportunities
An ETL job to leverage REST API to extract all opportunities
An ETL job to leverage SOAP API to extract modified opportunities
An ETL job to leverage SOAP API to extract all opportunities
Customer wants the ability to query external data using Global Search and reports
Customer does not want real-time access to the ERP data and is willing to wait for hourly refreshes
Customer wants to create a master-detail relationship between Opportunity and the external object
Customer needs to query small amounts of data at any time and display using a related list
Customer has a large amount of data that they do not want to load into Salesforce
Support for Metadata API
Extract, transform, and load
Message queuing
Synchronous transactions
The system is reaching daily limits of @future calls. Replace the HTTP Callout with a Workflow Rule and Outbound messages
The system is reaching daily limits of web service callouts. Batch web service callouts to stay under the limit
The system is reaching daily limits of @future calls. Remove @future annotation and call the web service directly from the trigger
The system is reaching daily limits of web service callouts. Create a ticket to Salesforce support to increase the limit
Load the customer-provided csv file as a static resource and refer to it in the test classes
Load the customer-provided csv file as a Chatter file and refer to it in the test classes
Load the customer-provided csv file under Documents and refer to it in the test classes
Load the customer-provided csv file to a custom object for testing and delete the test records after testing
Create a VisualForce page for Accounts/Contacts that will pull the data from MDM, display it, and send any changes from Salesforce
Implement a third-party middleware tool to maintain the synchronization between Salesforce and the MDM database as they occur
Create a Batch process that runs every 5 minutes to pull the changes from MDM and any updates from Salesforce
Modify the MDM database application to send and receive updates to and from Salesforce via REST or SOAP as they occur
Use Bulk API for a one-time migration and an Apex web service call-in for an incremental load
Use Bulk API for a one-time migration and a SOAP API call-in for an incremental load
Use SOAP API for a one-time migration and a REST API call-in for an incremental load
Use Bulk API for a one-time migration and a Bulk API call-in for an incremental load
UI Update Based on Data Changes
Remote Process Invocation-Request and Reply
Remote Process Invocation-Fire and Forget
Remote Call-In
A batch Apex job that performs an Apex SOAD or HTTP callout in a synchronous manner
A custom Visualforce page or button that initiates an Apex REST callout in a synchronous manner
A custom Visualforce page or button that initiates an Apex SOAP callout in a synchronous manner
A trigger that’s invoked from Salesforce Data changes, performs and Apex SOAP in a synchronous manner
The REST API should be SSLO enabled with a CA-signed certificate
The order details should be passed in a URL parameter in the REST API endpoint
The REST API should be SSL enabled with a Salesforce client certificate
The order details should be passed in the body of the REST API callout
Apex @ future callout from an update trigger with an opportunity page refresh using Streaming API
Workflow Outbound message with an email notification on callback from SAP
Apex callout from an update trigger with an opportunity page refresh using Streaming API
Workflow Outbound message with an email notification on acknowledgement from SAP
Use the SOAP API’s getUpdated() method to retrieve changed record IDs, then retrieve records
Use scheduled Apex to do an Apex callout to the data warehouse
Use native Outbound message functionality to send a message with each record change
Use a trigger to do an Apex callout to the data warehouse with each record change
Partner WSDL because of a requirement to utilize SOAP-based web services
Partner WSDL because of a requirement to dynamically inspect field names during runtime
Streaming API because of a requirement to dynamically inspect field names during runtime
Enterprise WSDL because of a requirement to utilize SOAP-based services
Partner WSDL because of a requirement to utilize REST-based web services
Leverage Salesforce Connect to display order information in Salesforce
Write an outbound message to receive orders from ERP system as they are created
Build a scheduled ETL job to sync all customer order history in the Orders object
Leverage the REST API to receive orders from the ERP system as they are created
Extract Salesforce lead data into a staging table and use ETL to de-duplicate
Create a custom web service to identify duplicate leads and load
Design an ETL job to eliminate duplicates from the lead aggregation system
Use duplicate management rules on Lead to report duplicate records
Create a Workflow outbound message during Opportunity creation and provide the Opportunity ID and Session ID to the remote system
Use a REST API callback to update the Opportunity record with the product usage data from the remote system
Create a Process Builder outbound message during Opportunity creation and provide the Opportunity ID and Session ID to the remote system
Use a SOAP API callback to update the Opportunity record with the product usage data from the remote system
Generate a partner WSDL in Salesforce and provide it to the remote system to create a client stub
Use outbound messaging to send a unique message ID to the ERP system
Use the upsert() function instead of create() to prevent the creation of unwanted duplicate records
Use a middleware tool to handle the responsibility for managing multiple duplicate calls
Customize the Apex web service REST call to send a unique message ID to the ERP system
Make an @future callout to MDM from a trigger with page refresh using Action region
Make a continuation callout from VF page controller with page refresh using Action poller
Make an asynchronous callout from VF page controller with page refresh using Action region
Make a synchronous callout from VF page controller with page refresh using Action region
Set up data replication for order and service data syncing
Use an Apex callout to look up order information on the ERP system
Use Salesforce connect for looking up order information from ERP
Use Salesforce connect to write service data into UC’s ERP system
Use staging tables with an ETL tool for data cleaning and standardization
Use a custom REST service for data cleaning and standardization
Use a custom SOAP service for data cleaning and standardization
Use standard SOAP API for data cleaning and standardization
Set up the external applications as Connected apps into the Salesforce user interface
Use streaming API to integrate these applications into the Salesforce user interface
Set up the external applications as Canvas apps into the Salesforce user interface
Connect the external applications into the Salesforce user interface using Salesforce Connect
Apex callout to the client-side app with the callout payload encrypted with custom Apex code
Outbound message received by client-side app that uses a Salesforce-provided client certificate
Apex callout with the client-side app that provides Salesforce with a CA-signed client certificate
Outbound message sent to a client-side app endpoint defined with a Per-User Named Credential
Salesforce Outbound Messaging
Integration Middleware
Message-oriented Middleware
Salesforce Continuation
All back-end systems get uncontrolled access to any data within the Salesforce environment
Unintended password resets will cause the integration to stop working and disrupt business processes
Apex web services can executive with system privileges with such Salesforce credentials
Unsecure storage of the credentials may result in hackers gaining unauthorized access to Salesforce
Develop a VisualForce page that uses the Steaming API
Use Heroku to develop a dashboard page that uses the REST API
Use native Salesforce dashboard functionality
Develop a Visualforce page that uses JavaScript Remoting
Use a publisher action to update the data and callback to the other system
Use the generic streaming API to publish changes and listen for updates
Use a custom Apex class with a webservice method that performs both actions
Use the SOAP API to upsert the data. The API will then return all opportunity details
Custom Web Tab
Lightning Component
Visualforce
Canvas
Custom Web Tab
Visualforce
Lightning Connect
Apex callout
Use an Outbound Message with the record's data
Use an Apex class to perform the REST Callout asynchronously
Use the REST API with the Content -Type header set to "JSON"
Use Lightning Connect to save the data to an external object.
Custom Apex class with webservice methods that implement the SMTP protocol
Lightning Connect with an oData/SMTP interchange
Lightning Connect with an oData/SMTP interchange
Custom InboundEmailHandler to process the messages
Web-to-Lead requests have their own limits separate from other APIs
Web-to-Lead can be utilized for Lead data migrations
Web-to-Lead can be used to deduplicate leads during integrations
Web-to-Lead is a simple way to capture responses to marketing landing pages
Leverage the Salesforce Data Replication API getUpdated() operation to retrieve Accounts records updated within the last 24 hours
Leverage the Enterprise WSDL getUpdated() operation to retrieve Account records updated within the last 24 hours
Leverage a time -based workflow action to trigger an account outbound message notification for all records updated within the last 24 hours
Leverage a third -party tool ETL with a dynamically changing SOQL query to retrieve Accounts updated within the last 24 hours
Leverage the REST API /sobjects/Account/updated URI to retrieve Account records updated within the last 24 hours
Process multiple batch jobs asynchronously
Process multiple batch jobs synchronously
Roll back all transactions within a batch of 10000 records
Monitor job status via the Web UI
Monitor job status via the API
Provide a session ID as part of the outbound message
Repeatedly send a SOAP notification for up to 24 hours until an acknowledgement is received
Build integration components without the use of Apex
Define a WSDL based upon 2 objects related via Master-Detail relationship
Define a custom WSDL based upon an Apex Interface class definition
They cannot utilize publisher actions
They require unit and functional testing
They cannot be built or maintained declaratively
They consume more API limits than SOAP or REST API
WSDL2Apex can be used to generate stub code
WSDL2Apex supports RPC-style SOAP callouts
SOAP callouts cannot occur after any DML statements
SOAP callouts consume API limits
When integrating chatter into custom mobile apps
When migrating Opportunity data
When uploading large files
When posting status updates to social media
Partner WSDL because of a requirement to utilize REST -based web services
Partner WSDL because of a requirement to dynamically introspect field names during run time
Streaming API because of a requirement to dynamically introspect field names during run time
Partner WSDL because of a requirement to utilize SOAP -based web services
Enterprise WSDL because of a requirement to utilize SOAP -based services
Download the latest enterprise WSDL that contains the new object definition to generate web service stubs for the new Salesforce object
Download the latest partner WSDL that contains the new object definition to generate web services stubs for the new Salesforce object
Migrate to the partner WSDL to generate a generic sObject service stub that can be leveraged for existing and future Salesforce objects
Migrate to the metadata API to download the new Salesforce sObject definition into the financial system LI integration
Enterprise WSDL supports WS -Security
Enterprise WSDL minimizes payload size
REST API supports WS-Security
REST API supports oAuth
The SOAP API avoids record locking contention on parent objects of Master -Detail relationships
DML limits on Bulk jobs are not governed on Salesforce servers
The Bulk API may cause record locking contention on parent objects of Master -Detail relationships
The SOAP API provides job monitoring on the Salesforce setup menu
The Bulk API allows multiple attachments to be loaded from within a single ZIP file
Utilize an Apex trigger with an @future class to callout to the accounting system after the month-end processing is complete
Utilize workflow outbound messaging, which has a built-in queuing framework
Utilize the Enterprise WSDL to query Salesforce from the Accounting system for opportunities that have changed to Closed-Won
Utilize an Enterprise Service Bus to mediate the web service calls between Salesforce and the Accounting system
Leverage the REST API to receive orders from the ERP system as they are created
Build a scheduled ETL job to sync all customer order history in the Orders object
Leverage Salesforce Lightning Connect to display order information in Salesforce
Write an outbound message to receive orders from ERP system as they are created
Build a scheduled ETL job to sync products on a nightly basis from ERP
Write a custom web service to accept product catalog changes from ERP
Write an outbound message to send product changes in real time from ERP
Use the Streaming API to receive product changes in real time from ERP
Build a custom Address object and a trigger that will validate the address against the object
Write a trigger with an @future callout that validates addresses against an API
Implement a Visualforce page that validates entered addresses against an API
Leverage an AppExchange application to validate addresses entered.
Middleware tool to pull quote requests from SF and push to the legacy system
Trigger with an @Future method to send quote requests to the legacy system
Outbound message to send quote requests from Salesforce to the legacy system
Apex callout to send quote requests from Salesforce to the legacy system
Use Outbound messages to send orders from Universal Containers to Planetary Shipping
Use Apex callout to push orders from Universal Containers to Planetary Shipping
Use a middleware tool to pull orders from Universal Containers and push to Planetary Shipping
Use Salesforce-to-Salesforce integration between Universal Containers and Planetary Shipping
Use a middleware tool to pull case status from Salesforce and push to the legacy system at regular intervals
Use Apex callout to send case status from Salesforce to the legacy system
Write an Apex web service returning case status, to be called from the legacy system
Use Outbound messages to send status updates from Salesforce to the legacy system
Build a custom Java application using the Enterprise WSDL to pull data from Salesforce and push it to the marketing system
Use Outbound Messages to send customer data from Salesforce to the marketing system
Write a custom Apex web service, which will be called from the marketing system to retrieve customer data
Use a middleware tool to pull customer data from Salesforce and push it to the marketing system on a daily basis
Use Apex callout to send customer data from Salesforce to the marketing system
Bulk API with parallel option and a batch size of 1000 or less
Bulk API with serial option and a batch size of 1000 or less
SOAP API with a batch size of 1000 or less
SOAP API with a batch size of 200 or less
ETL tool that is capable of identifying common accounts using email address and performs updates
Dataloader upsert operation with a custom External ID field containing the email address
ETL tool that is capable of identifying common accounts using a Salesforce ID and performing updates
Dataloader insert operation and Saleforce's native deduplication after the load
Outbound messaging does not offer any reliability
Outbound messaging does not support SOAP
Outbound messaging cannot be made secure
Outbound messaging does not support multiple objects
Apex Batch Processing
Point-to-Point
Web Mashup
Middleware
Exceeding Governor Limits
Duplicate messages
Out-o-order delivery
Orphaned Requests
Orchestration
Logging
Performance
Bulkification
Error Handling
Middleware
APEX Callout
Outbound Messaging
APEX Batch
Sync the MDM system to a custom object in Salesforce and execute a lookup validation rule against this object
Use Out -of -the -Box Lead Deduplication Rules to check against MDM
Outbound message to MDM with a callback to Salesforce to mark duplicate Leads
Batch APEX process to deduplicate all records first in Salesforce, then against MDM, deleting the newest MDM record
Data Loader
Middleware
Process Builder
Canvas
Create a de-duplication trigger before loading the data
Load the data into Salesforce and then utilize the Contact Duplicate Rule feature
Utilize a batch apex process to de-duplicate the data after loading
Utilize an off-platform de-duplication tool prior to loading
Bulk API with serial option
Standard API with serial option
Bulk API with parallel option
Standard API with parallel option
External IDs can be used to upsert records
External ID fields are always unique
External IDs must be Text fields
External IDs are always searchable
Unit Testing
Performance Testing
User Acceptance testing
Regression Testing
Users should be testing in a Developer Pro sandbox in order to replicate Production functionality and performance characteristics
Users should be testing in a Full Sandbox in order to replicate Production functionality and performance characteristics
Users should be testing in a Partial Sandbox in order to replicate Production functionality and performance characteristics
Users should be testing with real data loaded into the Developer sandbox in order to replication Production functionality and performance. characteristics
Store the Salesforce Product ID in the source system to eliminate the need for External IDs and UPSERT API calls
Pre-process the data to avoid the need for workflow rules or triggers
Use Outbound Messaging to notify Salesforce promptly when product availability changes in the source system
Contact Salesforce Support to request that they turn off record locking on the Product2 object
Use the Bulk API to UPDATE or UPSERT records more efficiently
Developer Pro Sandbox
Full Sandbox
Partial Copy Sandbox
Developer Org
Use Salesforce-to-Salesforce to keep data synchronized between Production and Full Sandboxes
Request that Salesforce schedule a Full Sandbox refresh on a nightly basis
Utilize a middleware solution and bulk API to do a nightly sync from Production to Full Sandbox
Create Apex unit tests so testing can be done against Production data, but rolled back before being committed
Use the Metadata API
Use the Apex Data Loader
Refresh a Full Sandbox
Refresh a Partial Copy Sandbox
Request a Snapshot from Support
They securely store credentials in a maintainable way
They enforce secure communication to external systems
They simplify utilizing oAuth for Apex callouts
They secure integrations to Salesforce from other systems
Use Platform Encryption to secure the data before transporting
Encrypt the data with a shared key before performing the Apex callout
Base64 encode the data before performing the callout from Apex
Salesforce automatically secures all data transmissions to external systems
TLS
SSH
SMTP
SFTP
Use a single "Integration User" with Profile settings restricted to "View All for Opportunity and "Modify All for Accounts
Utilize a single "Integration User" with the "Modify All Data" profile setting enabled so that all integrations always have access to all data
Utilize separate credentials for each system with both credentials having the "modify all data" permission on the profile
Utilize separate credentials and profiles for each integration, one having "View All" to Opportunities and the other having "Modify All" to Accounts
Utilize a 3rd -party SSO solution to authenticate the session
Digitally sign the payload using a private key trusted by the external system
Include a secret passphrase in the payload that is validated by the external system
Base64 encode the data to ensure untrusted 3rd parties don't see it
Provide each business partner a shared integration username/password with a specific role/profile provisioned to the appropriate data
Provide each business partner their own username/password with a specific role/profile provisioned to the appropriate data
Provide each business partner their own username/password with a shared integration profile provisioned to the appropriate data
Provide each business partner their own username/password with an Apex custom web service to filter the data appropriately
Use oAuth which will pass their portal credentials to the Chatter API
Use oAuth to authorize the portal to access the Chatter API on behalf of the user
Use a Chatter API integration user which authenticates to Salesforce using oAuth
Use a Chatter API integration user which authenticates to Salesforce using Enterprise WSDL login()
Whitelist the Salesforce IP range on the firewall to ensure only Salesforce originated traffic can access the network
Enable platform encryption in the Salesforce org to ensure network communication to the Accounting system is encrypted
Utilize an Enterprise Service Bus to ensure Accounting system credentials are not stored within Salesforce
Enable WS -Security for web services made between Salesforce and the accounting system
Terminate the SSL connection at a reverse proxy in the DMZ which establishes trust in the connection using mutual SSL
Prompt for the mobile user's username and password; utilize the oAuth Username-Password flow to obtain an oAuth token
Create a mobile integration user ID whose credentials are stored within the mobile application code
Prompt for the mobile user's username and password; utilize the Enterprise WSDL login() operation to obtain a session ID
Redirect to Salesforce via the User -agent oAuth flow to obtain an access token and refresh token
Bulk Web-to-Lead
Data Import Wizard
Salesforce Workbench
Salesforce Data Loader
Salesforce Workbench
Salesforce Data Loader
Excel Connector
Data Import Wizard
Perform loads over a weekend to ensure server resource availability
Perform a test load using a full sandbox prior to the production load
Pre-process data so that triggers and workflows can be deactivated
Leverage several workstations, loading different objects simultaneously
Build all integrations as nightly ETL batches to minimize real-time overhead
Leverage Apex Callouts to integrate directly with acquired applications
Use an ESB to abstract the Salesforce integration from other enterprise applications
Use Custom Links to direct users to the appropriate ERP system to view order status
Workbench
Data Loader
Metadata Audit Trail
Force.com SOAP Explorer
Enable duplicate management in the Org to prevent duplicates
Write a Batch Apex class to manage the deduplication
Leverage an AppExchange data management tool to deduplicate contacts
Assign new contacts to queues to be reviewed by a data quality team
Review the firewall logs to make sure that the outbound messages are being delivered
Review the Outbound Messaging Audit logs to make sure that the messages are being successfully processed by the target system
Review the Enterprise Service Bus logs to make sure that orders are being created only one time
Review the Enterprise Service Bus logs to make sure that successful orders are being acknowledged
Review the Outbound Messaging Delivery Status logs to make sure that the messages are being delivered and acknowledged by the target system
The integration is causing UC to exceed its API limits
The integration cannot find the parent Orders for some Shipments
The integration takes more than five minutes to run
Error reporting is not enabled in Salesforce
Data skew is causing record locking issues on the OrderShare object
The trigger is failing Unit Tests that access the new data
API limits being exceeded
Record locking contention on the parent Account