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

Announcements

No record found.

News and Announcements icon
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

Introducing the 2026 Season 1 community Super Users

Congratulations to our 2026 Super Stars!

Congratulations to our 2025 Community Spotlights

Thanks to all of our 2025 Community Spotlight stars!

Leaderboard > Customer experience | Sales, Customer Insights, CRM

#1
ManoVerse Profile Picture

ManoVerse 189 Super User 2026 Season 1

#2
CU11031447-0 Profile Picture

CU11031447-0 100

#3
NeerajPawar Profile Picture

NeerajPawar 66

Last 30 days Overall leaderboard

Product updates

Dynamics 365 release plans