Skip to main content
All CollectionsTroubleshootingTechnical Questions
Run Campaign Post and Donation Post Asynchronously
Run Campaign Post and Donation Post Asynchronously
James Gilray avatar
Written by James Gilray
Updated over 4 months ago

Context

In certain scenarios you may want to run Campaign and/or Donation Post Flows asynchronously. Doing so moves these Flows (and associated Extension Flows) out of the MoveData execution and into their own separate thread, which can provide SOQL relief in the form of:

  • MoveData Campaign Post and Donation Post Flows are not subject to the SOQL limits of the core transaction

  • Non-MoveData triggers which run against records created or updated by these flows are not subject to the SOQL limits of the core transaction

In a practical sense, this can provide SOQL relief where your processes are creating or updating records on the basis of Campaign, Campaign Member, or Opportunity records being created or updated.

Disadvantages

We advise implementing asynchronous only when strictly necessary. This is because:

  • Asynchronous errors are unsupported by MoveData
    Because triggers which fire on create / update are moved out of the MoveData execution, MoveData will not receive an error should one of these processes fail. This means your desired functions may not complete due to said error, and MoveData will not be able to alert you to this.
    ​

  • Log information unavailable in MoveData Notification
    For the same reason, you are unable to report on the outcome of asynchronous processes via the MoveData Execution Logs, which can make debugging and troubleshooting more difficult
    ​

  • No Dependencies
    For the same reason, a subsequent MoveData Flow cannot depend on a change which is made in the Flow which has been set to Asynchronous, for that change will not have been made during the MoveData execution

Implementation

Create Configuration Flow

  • Create a new Autolaunched Flow

  • We will use a Flow Label of [MoveData-Extension] Donation: Configuration and Flow API Name of MoveData_Donation_Configuration_Ext

Configure Configuration Flow

  • From the Toolbox, create the following resources:

Resource Type

Variable

API Name

Keys

Data Type

Text

Allow multiple values (collection)

True

Available for input

False

Available for output

True

Resource Type

Variable

API Name

CampaignPostUpsertAsync

Data Type

Boolean

Allow multiple values (collection)

False

Available for input

False

Available for output

True

Resource Type

Variable

API Name

DonationPostUpsertAsync

Data Type

Boolean

Allow multiple values (collection)

False

Available for input

False

Available for output

True

  • If you wish to set Campaign Post to asynchronous, perform the following assignment:

  • If you wish to set Donation Post to asynchronous, perform the following assignment:

  • Save and Activate your Flow

Register Configuration Flow in MetaData

  • Open the MoveData Pipeline Setting from Setup β†’ Custom Metadata Types and click "Manage Records"

  • Click "New" to add a new entry

  • Register your Configuration Flow by adding the following information:

MoveData Pipeline Setting Name

DONATION_CONFIGURATION_EXT

Label

PIPELINE_DONATION_CONFIGURATION

Type

Flow

Handler

MoveData_Donation_Configuration_Ext

Order

1

Disabled

False

Review

Your Campaign and Donation Post Flows will now run asynchronously. You can now reprocess a failed notification to observe if doing so has bypassed your SOQL issue.

Did this answer your question?