web
You’re offline. This is a read only version of the page.
close
Skip to main content

Notifications

Announcements

No record found.

Community site session details

Community site session details

Session Id :
Customer experience | Sales, Customer Insights,...
Answered

Best way for Async Workflow to "Check for" the existence of the record that triggered its execution?

(0) ShareShare
ReportReport
Posted on by 1,589

I've got an interesting situation I need to resolve. High volume usage situation and lots of async workflows.

I have an Async Workflow that triggers when a particular record is saved with a certain set of values. 

The workflow deletes the record, and the reason it runs Async is because I need to ensure that several other workflows that run off of the same trigger complete successfully before the record is deleted. If that does not happen, there will be significant data integrity issues that arise. 

Sometimes the system is being used heavily and the async process takes "a little longer than usual". 

The problem is users get antsy and start re-updating the record many times in rapid succession to try and force the deletion. As a result there are now 100+ async processes to delete that record.

As a result we had an outage situation several days ago because 3000+ users all started rapidly re-editing the records to try and "force" it instead of waiting and trusting the system. 

We had 20,000+ suspended processes and 20,000 waiting for resources/waiting workflow executions because of so many trying to "force" it. 

99% of the backlog was the async delete workflow executions. And 99% of them ended up suspended because the record they were trying to delete did not exist, since the first time the async workflow ran it was deleted. 

How can I build in a check so that when the workflow runs, it checks to make sure the record that triggered it still exists? If the record doesn't exist, I want to cause the workflow to stop/end. If the record DOES exist, then the workflow can run and delete it. That way, if someone happens to get click happy and triggers the workflow 10000 times, it only actually attempts to delete the record one time, instead of chewing up resources attempting to delete a record that's already been deleted, and thus ending up suspended 10000 times. 

I have the same question (0)
  • Verified answer
    ACECORP Profile Picture
    1,589 on at

    I ended up solving this by writing a Custom Workflow Activity.

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Responsible AI policies

As AI tools become more common, we’re introducing a Responsible AI Use…

Neeraj Kumar – Community Spotlight

We are honored to recognize Neeraj Kumar as our Community Spotlight honoree for…

Leaderboard > Customer experience | Sales, Customer Insights, CRM

#1
Tom_Gioielli Profile Picture

Tom_Gioielli 70 Super User 2025 Season 2

#2
Gerardo Rentería García Profile Picture

Gerardo Rentería Ga... 33 Most Valuable Professional

#3
Daniyal Khaleel Profile Picture

Daniyal Khaleel 32 Most Valuable Professional

Last 30 days Overall leaderboard

Product updates

Dynamics 365 release plans