Skip to content

When MoveData processes a notification, it runs within a single Salesforce transaction. All changes are committed together at the end, or rolled back entirely if an error occurs.

The problem#

Salesforce does not allow HTTP callouts to external systems while a transaction has uncommitted changes. If you attempt a callout from a flow or Apex code during MoveData processing, Salesforce returns the following error:

Can't perform callout because of pending uncommitted changes related to a process, flow, or Apex operation. Commit or roll back the work, and then try again.

The solution#

Move your HTTP callout into code that runs after the MoveData transaction has completed. There are two approaches:

  • Asynchronous flow — Run your post-processing flow asynchronously so it executes in a separate transaction. See Run post-processing asynchronously for configuration steps.
  • After Apex trigger — Use an after insert or after update Apex trigger on the relevant object. The trigger fires after MoveData's transaction has committed, so callouts are permitted.

Both approaches ensure the callout occurs outside the MoveData transaction, avoiding the Salesforce restriction.

Ask MoveData AI
Ask about setup, configuration, or troubleshooting
How can I help you with MoveData today?