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

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Automate / How Are Resources Allo...
Power Automate
Answered

How Are Resources Allocated When Using Degree of Parallelism?

(1) ShareShare
ReportReport
Posted on by 21

Hi there,

We recently ran into an issue after enabling Degree of Parallelism in a Power Automate flow, and I’m trying to understand how resource allocation works behind the scenes.

Our production environment became unstable due to an integration with Marketo. Around 1 million leads were pushed into Dynamics, which triggered flows based on owner assignment. After raising a Microsoft support ticket, we were told that resources were not available, and this eventually impacted and brought down all our flows.

I’d like to understand:

  • How are resources allocated when Degree of Parallelism is enabled?

  • How does Power Automate distribute and manage resources in the backend?

  • What limits or throttling mechanisms exist?

  • In what scenarios should parallelism be used, and when should it be avoided?
     

(No AI answers please)

Thanks in advance.

I have the same question (0)
  • Suggested answer
    Assisted by AI
    RaghavMishra Profile Picture
    261 on at

    Hi there! Great question — this is really critical for production environments handling high-volume flows. Here's what Microsoft Learn documents on resource allocation when using Degree of Parallelism.

    🔢 1. How "Degree of Parallelism" Works in Power Automate

    In cloud flows, this is the Apply to each concurrency setting — it controls how many loop iterations run simultaneously.

    • Default: 1 (sequential)
    • Configurable range: 1 to 50 parallel iterations
    • This is separate from Concurrent runs (trigger-level setting, default 25, max 100)

    📖 Ref: Concurrency, looping, and debatching limits – Microsoft Learn

    ⚡ 2. How Power Automate Distributes Resources in the Backend

    Power Automate runs on shared multi-tenant infrastructure — there is no dedicated compute per flow. Key mechanics:

    • Every action (connector calls, HTTP, built-ins, even Initialize Variable) counts as a Power Platform request, metered against your license allocation.
    • Enabling parallelism means iterations fire simultaneously → action requests multiply in parallel, all drawing from the same license pool.
    • Throttling uses sliding windows: if limits are exceeded, the flow is slowed (not immediately failed) and auto-resumes when the window clears.

    📖 Ref: Throughput limits – Microsoft Learn

    🚧 3. Key Limits & Throttling Mechanisms

    Setting Limit
    Apply to each concurrency (parallelism) Default: 1 / Max: 50
    Apply to each array items 5,000 (Low) / 100,000 (standard)
    Concurrent flow runs (trigger) Unlimited (off) / 1–100 (on, default 25)
    Waiting runs queue 10 + degree of parallelism when concurrency is on
    Power Platform requests per 5 min 100,000 (transition limit)
    • Important: When Concurrency Control is on, additional runs over the limit are queued (up to 10 + parallelism). Retries can fail if the queue stays full for an extended period.
    • A flow that consistently exceeds limits for 14 days will be automatically turned off.

    📖 Ref: Limits of automated, scheduled, and instant flows – Microsoft Learn

    ⚠️ 4. When to Use Parallelism — and When to Avoid It

    ✅ Good candidates for parallelism:

    • Items are independent (no shared state, no ordering requirements)
    • Actions are idempotent
    • Downstream APIs can handle concurrent requests

    ❌ Avoid or reduce parallelism when:

    • Your target system (Dynamics, Marketo, SharePoint) has its own API throttle — high concurrency can hit both the Power Platform limit and the downstream connector limit simultaneously
    • You're writing to shared variables or resources requiring ordered updates
    • You're near your Power Platform request limits — more parallelism = more API calls per second = faster throttle
    • Other flows in the same environment share the resource pool
    ⚠️ What likely happened in your scenario: Pushing ~1M Dynamics records with high Apply to Each concurrency likely exhausted both the Power Platform request allocation and the Dynamics connector throttle simultaneously — causing resource unavailability that cascaded across all flows.

    📚 References

    Found this helpful? Please mark ✅ "Does this answer your question?" so others searching for the same issue can find it quickly. A 👍 on "Was this reply helpful?" or a ♥ Like is also much appreciated!

    Raghav MishraLinkedIn | PowerAI Labs

  • Suggested answer
    11manish Profile Picture
    3,333 on at
    How Resources Are Allocated When Degree of Parallelism Is Enabled in Power Automate
     
    When you enable Degree of Parallelism (Concurrency Control), Power Automate does not reserve dedicated resources for your flow. Instead, it allows multiple instances of an action or loop iteration to run simultaneously using Microsoft's shared cloud infrastructure.
     
    How does Power Automate distribute and manage resources in the backend?
     
    Microsoft doesn't publicly disclose the exact architecture, but based on Microsoft's documentation, service protection limits, and real-world behavior, Power Automate operates as a shared, multi-tenant cloud service where resources are dynamically allocated and managed across all customers.
     
    What limits or throttling mechanisms exist?
    Already mentioned in Ragha answer
     
    In what scenarios should parallelism be used, and when should it be avoided?

    Use Degree of Parallelism when processing independent items that can safely run at the same time.
     
    Avoid it for large Dataverse updates, dependent processes, shared-record updates, or high-volume integrations where throttling, locking, and resource exhaustion
     
    can occur.
  • André Arnaud de Calavon Profile Picture
    679 on at
    Hi Kalyan,
     
    You can find information about limits and throttling on the next page: Understand platform limits and avoid throttling - Power Automate | Microsoft Learn
     
    As mentioned by Manish, the Degree of Parallelism can be used if each instance of a loop can run independently. The highest number I used in a recent flow was 50. When setting it back to 30, there was no read difference in total run time. At that moment, I found an issue. The flow was about an auto-claim for license assignments. As the available licenses was not updated synchronously, there were more attempt to assign a license than available.
    This scenario should run one by one to ensure the correct claim on licenses, but it took too long to process. When setting the Degree of Parallelism to 10, the performance was acceptable and some actions with errors where as there was no license available. These were reprocessed and then reported with a comment that there were not sufficient licenses. The total time, including the error handling was with this number optimal.
  • Suggested answer
    chiaraalina Profile Picture
    2,425 Super User 2026 Season 1 on at
     
    From reading Microsoft's documentation this is how I understood the topic:
     
    Degree of Parallelism means “how many things Power Automate is allowed to try doing at the same time.”
    It does not mean Microsoft gives you that many dedicated servers or guaranteed resources.
     

    You tell Power Automate: "You may process up to 10 items at the same time.”

    But Power Automate still decides: “Do I currently have enough available capacity to actually run all 10 right now?”

    So parallelism is more like a speed setting, not a reserved engine.

     

    Let's say you have 1,000 leads to process.

    If parallelism is 1, Power Automate handles them one by one: Lead 1 → Lead 2 → Lead 3 → Lead 4

    If parallelism is 10, it can try to handle 10 at once: Leads 1–10 at the same time, then 11–20, then 21–30

    This can make the flow faster. But it also means you may hit limits faster.

     

    Parallelism does not remove limits. Parallelism can make your flow faster, but it can also make it hit limits faster.

    Even if you allow 10 things to run at the same time, each action still counts against: your Power Platform request limits, connector limits, Dataverse limits, API throttling limits, etc.

    So if you run too much too quickly, Microsoft may slow you down.

     

    Your issue happened because around 1 million lead updates all triggered flows at the same time. Power Automate then had to suddenly process a huge amount of work.

    The platform tried to allocate resources, but the demand was too high too quickly. As a result flows started waiting in queues, some actions were slowed down, some failed. 

    So when Microsoft said “resources were not available” = The shared Power Automate infrastructure could not give your environment enough execution capacity at that moment to process all those flow runs successfully.

     

    Hope it helps!

  • Verified answer
    Kalyan Shetty Profile Picture
    21 on at
    Thank you for your answers. I really appreciate your help!

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

Season of Sharing Community Challenge Launch!

Jump in, show your community spirit, and win prizes!

Kudos to our 2025 Community Spotlight Honorees

Expanding mentorship, skilling, and AI innovation

Congratulations to the May Top 10 Community Leaders!

These are the community rock stars!

Leaderboard > Power Automate

#1
Valantis Profile Picture

Valantis 377

#2
11manish Profile Picture

11manish 279

#3
David_MA Profile Picture

David_MA 234 Super User 2026 Season 1

Last 30 days Overall leaderboard