Ora

What is the limit of outbound messages in Salesforce?

Published in Salesforce Integration 5 mins read

Salesforce imposes no daily limit on the number of outbound messages you can send. This mechanism is designed for high volume, allowing organizations to integrate seamlessly with external systems without hitting a cap on message transmission.

Understanding Salesforce Outbound Messages

An outbound message in Salesforce is a powerful declarative tool that enables you to send data from Salesforce to an external system. It acts as a workflow or flow action that delivers a notification, including specified fields, to a designated external endpoint (typically a web service listener) when certain conditions are met within Salesforce.

  • Purpose: To automate data synchronization, trigger processes in external applications, or simply notify other systems about changes occurring in Salesforce records.
  • Trigger Mechanisms: Traditionally configured via Workflow Rules (now largely superseded by Flows) or Process Builder, and now primarily within Salesforce Flows.
  • Delivery: Outbound messages are queued by Salesforce and delivered asynchronously, ensuring that the process doesn't block user interface interactions or other Salesforce operations. If the external system is unavailable, Salesforce retries sending the message for up to 24 hours.

Outbound Message Limits: The Reality

As established, there isn't a hard daily limit on the number of outbound messages Salesforce allows. This distinction is crucial because it often gets confused with other Salesforce API limits. Importantly, outbound messages and Apex callouts initiated from Salesforce are not counted against your organization's incoming API call limits.

This design ensures that your integrations can scale without concern for daily volumetric caps on outbound data flow.

Distinguishing Outbound Messages from API Limits

It's vital to understand the difference between Salesforce Outbound Messages and general Salesforce API Limits. While both facilitate integration, their nature and impact on Salesforce governance limits differ significantly.

Feature Outbound Message API Limit (Incoming)
Direction Salesforce to external system External system to Salesforce
Trigger Workflow Rule (legacy), Process Builder (legacy), Flow External application calling Salesforce API
Data Flow Pushes data out Pulls data or pushes data in
Counting against daily limits No (unlimited messages per day) Yes (governed by your Salesforce edition and licenses)
Delivery Mechanism Asynchronous, queued, retries Synchronous or Asynchronous (via Bulk API)
Configuration Declarative (point-and-click) Programmatic (API client development)

The unlimited nature of outbound messages makes them an excellent choice for scenarios requiring frequent, high-volume data pushes from Salesforce to another application, without consuming your valuable incoming API call allowance.

Best Practices for Implementing Outbound Messages

While there's no limit on the number of outbound messages, effective implementation is key to reliable and robust integrations.

  • Implement Robust Error Handling on the Receiving End: The external system listening for outbound messages must be prepared to handle failures gracefully. This includes logging errors, sending acknowledgments, and potentially triggering alerts.
  • Ensure Idempotency: Design the external system to process the same message multiple times without causing unintended side effects. Salesforce retries sending messages for up to 24 hours if the initial delivery fails, meaning your external system might receive duplicate messages.
  • Monitor External System Performance: While Salesforce doesn't limit outbound messages, your external system might have its own capacity limitations. Monitor its performance to ensure it can keep up with the volume of messages sent from Salesforce.
  • Use Queuing Mechanisms on the Receiving End: For very high volumes, consider placing a message queue (e.g., Kafka, RabbitMQ, AWS SQS) in front of your external processing application. This decouples the Salesforce delivery from your application's processing speed, providing greater resilience.
  • Secure Endpoints: Always use HTTPS for your external endpoint URL to ensure secure communication.
  • Minimize Data Sent: Only include necessary fields in your outbound message to reduce payload size and improve transmission efficiency.

Potential Considerations and Performance

Although there's no hard limit, very high volumes (e.g., millions of messages within a short window) can still place demands on the Salesforce queuing system and, more critically, on the receiving external system. Salesforce's asynchronous nature and retry mechanism are designed to handle this gracefully, but the bottleneck will typically shift to the processing capacity of the integrated application.

How to Configure an Outbound Message

Outbound messages are configured as actions within Salesforce automation tools:

  1. Navigate to Flows: In Salesforce Setup, search for "Flows" and create a new Flow (Record-Triggered Flow is common for this).
  2. Define Trigger: Set the criteria for when the flow should run (e.g., when a Contact record is created or updated).
  3. Add Action: In the Flow builder, add an "Action" element.
  4. Select Outbound Message: Choose the "Outbound Message" action type and select an existing outbound message or create a new one.
  5. Specify Endpoint: When creating a new outbound message, you'll define the external endpoint URL and select the Salesforce fields to be sent.

For more detailed steps, refer to the official Salesforce documentation on Outbound Messages.