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. 

  • Verified answer
    ACECORP Profile Picture
    1,589 on at
    RE: Best way for Async Workflow to "Check for" the existence of the record that triggered its execution?

    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

🌸 Community Spring Festival 2025 Challenge Winners! 🌸

Congratulations to all our community participants!

Adis Hodzic – Community Spotlight

We are honored to recognize Adis Hodzic as our May 2025 Community…

Kudos to the April Top 10 Community Stars!

Thanks for all your good work in the Community!

Leaderboard > Customer experience | Sales, Customer Insights, CRM

#1
Daivat Vartak (v-9davar) Profile Picture

Daivat Vartak (v-9d... 225 Super User 2025 Season 1

#2
Muhammad Shahzad Shafique Profile Picture

Muhammad Shahzad Sh... 83

#3
Vahid Ghafarpour Profile Picture

Vahid Ghafarpour 78 Super User 2025 Season 1

Overall leaderboard

Product updates

Dynamics 365 release plans