How does the Salesforce streaming API ensure message reliability? I understand you can replay events from any replay id within the retention period, but this does not guarantee message delivery.

CometD supports message reliability through the acknowledgement extension but this does not appear to be supported by Salesforce. Anyone aware of a way to guarantee delivery or acknowledge message receipt to the server?

  • You already know the answer - not via CometD. Even if SF supported the ACK extension, the current impl with 24-hr retention limit is hardly an accepted definition of reliable. IMO it's easier to deal with this at the application rather than protocol level
    – identigral
    Commented Jan 26, 2020 at 22:14

1 Answer 1


Since the concept of Platform Events relies on publishing to an Event Bus, you can only guarantee that the message is posted to said bus, but cannot guarantee that whoever is listening for events in the Bus actually receives it (at least not in a standard way that I know of).

To guarantee message posting to the Event Bus, you could create a trigger / process builder that subscribes to said event, this way when said automation listens for the event you could say it was posted successfully since you have a subscriber that did receive it.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .