Outbound Message Flashcards
1
Q
Considerations for “Outbound message” integration
A
- Supports a single object.
- The record Id field is mandatory in the message.
- The session ID can also be included for the callback.
- Messages are queued for 24 hours(if not delivered) and discarded after that.
- If a message cannot be delivered, the interval between retries increases exponentially, up to a maximum of two hours between retries.
- Messages are retried independent of their order in the queue. This may result in messages being delivered out of order.
- You cannot build an audit trail using outbound messaging. While each message should be delivered at least once, it may be delivered more than once. Also, it may not be delivered at all if delivery cannot be done within 24 hours. Finally, as noted above, the source object may change after a notification is queued but before it is sent, so the endpoint will only receive the latest data, not any intermediate changes.
- Because a message may be delivered more than once, your listener client should check the notification IDs delivered in the notification before processing.
2
Q
What are the different ways to trigger an outbound message?
A
- Workflow rules
- Approval processes
- Entitilement processes
3
Q
Security considerations for Outbound messages?
A
- The SessionId included in the outbound message is scoped only for API requests and doesn’t apply to UI requests.
- Lock down the client application’s listener to accept requests only from Salesforce IP ranges. While this action guarantees that the message came from Salesforce, it does not guarantee that another customer is not pointing to your endpoint and sending messages.
- The organization Id is included in each message. For more information about the Id field type, see ID Field Type. Your client application should validate that messages contain your organization Id.
- Use SSL/TLS. Using SSL/TLS provides confidentiality while data is transported across the internet. Without it, a malicious third party can eavesdrop on your data. This issue is especially important if you pass data with privacy requirements and you pass a SessionId with the message. Also, we authenticate the certificate presented on connection, ensure that it is from a valid Certificate Authority, and check that the domain in the certificate matches the one Salesforce is trying to connect. This prevents us from communicating with the wrong endpoint.
- When you select Send Session ID, only HTTPS is supported for the endpoint URL to ensure secure transmission of the session ID.
4
Q
What is the message timeout period in Outbound Messaging approach?
A
The default timeout period is 24 hours which can be extended to 7 days with request to Salesforce.
All failed messages after 24 hours are placed in a queue and administrators must monitor this queue for any messages exceeding the 24-hour delivery period and retry manually, if necessary.