Stop Power Automate Failures: Delay vs Delay Until Secrets
At a Glance
- Target Audience
- Power Automate Developers, Microsoft 365 Admins
- Problem Solved
- Workflow failures due to premature execution before data readiness, race conditions, and inconsistent timing in automations.
- Use Case
- Automating employee onboarding with start date triggers or delaying PDF generation after form submissions in SharePoint-integrated flows.
Most people build automation to happen instantly. It almost never works. You create a record, trigger an alert, and suddenly the data is missing. The system needs a breath. You cannot force a process to run before the data is ready. Fix your timing first. Then let the workflow do its job.
You have two ways to pause a Power Automate workflow: Delay and Delay Until actions. They sound identical. They serve completely different purposes.
For a visual breakdown of how this looks in practice, watch this: https://youtu.be/Nl6d6_O1Vo4
Delay Until is for hard deadlines
Use this when you have a specific date on the calendar. You feed it a timestamp and the flow goes to sleep until that exact moment.
The catch is the formatting. Delay Until requires an ISO 8601 timestamp like 2023-12-01T10:00:00Z.
If you pull data from Microsoft lists, you are in luck. SharePoint date columns natively output in this exact ISO 8601 format. You can drop that dynamic content straight into your action without writing complex conversion expressions.
Think about employee onboarding. You pull a start date from SharePoint. You set the flow to delay until 8:00 AM on that specific Tuesday. The system waits. The welcome email triggers exactly when the new hire logs in. You look like a genius.
Delay is your strategic buffer
Sometimes you do not have a hard date. You just need a buffer. That is where the standard Delay action comes in.
Instead of pointing to a calendar, you set a countdown timer. You can pause your flow for Months, Weeks, Days, Hours, Minutes, or Seconds.
This is your secret weapon against race conditions. Let us say a user submits a form. The system needs time to generate a PDF document before sending it as an attachment. Add a 30-second delay. Give the server time to catch up.
Or maybe you want to send a follow-up email exactly three days after a customer opens a support ticket. Set a three-day delay. It is not glamorous. It is just consistency over a long period of time.

