Skip to content

Commit

Permalink
(DOCS-8996) Add limits page for Workflow Automation (#25245)
Browse files Browse the repository at this point in the history
* (DOCS-8996) - add limits page for Workflow Automation

* word

* add more info and workarounds

* add link

* add to trigger

* consistency

* correction

* code review suggestions

* user throttling info

* getting rid of end user limit section
  • Loading branch information
neko-dd authored Sep 25, 2024
1 parent c985177 commit 0001683
Show file tree
Hide file tree
Showing 3 changed files with 76 additions and 1 deletion.
7 changes: 6 additions & 1 deletion config/_default/menus/main.en.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2418,11 +2418,16 @@ menu:
parent: workflows
identifier: workflows_test_and_debug
weight: 8
- name: Limits
url: service_management/workflows/limits/
parent: workflows
identifier: workflows_limits
weight: 9
- name: Actions Catalog
url: service_management/workflows/actions_catalog/
parent: workflows
identifier: workflows_actions_catalog
weight: 9
weight: 10
- name: App Builder
url: service_management/app_builder/
pre: app-builder
Expand Down
68 changes: 68 additions & 0 deletions content/en/service_management/workflows/limits.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
---
title: Limits
description: Rate Limits for Workflow Automation
algolia:
tags: ['workflow', 'workflows', 'workflow automation']
disable_toc: false
further_reading:
- link: "/service_management/workflows/build"
tag: "Documentation"
text: "Build Workflows"
---

{{< site-region region="gov" >}}
<div class="alert alert-warning">Workflow Automation is not supported for your selected <a href="/getting_started/site">Datadog site</a> ({{< region-param key="dd_site_name" >}}).</div>
{{< /site-region >}}

This page describes rate limits and throttles that apply to Workflow Automation.

## Account-level limits

### Paid accounts

Each organization:

* Can create up to 500 workflows per minute.
* Can execute up to 200 workflows per minute.
* Can execute up to 50 workflows per minute for a source (such as a specific monitor).
* Can buffer up to 500 requests.

When an organization exceeds a threshold, pending execution requests queue up to a maximum of 500 per organization then process according to the previously described limits. For example, if a monitor triggers 500 workflow runs, only 50 are triggered in the first minute. The remaining 450 workflow runs are queued and 50 workflows are triggered every minute until all workflows have been triggered.

### Trial accounts

Each organization:

* Can create up to 20 workflows per minute.
* Can execute up to 50 workflows per 20 minutes.
* Can execute up to 20 workflows per minute for a source (such as a specific monitor).
* Can buffer up to 100 requests.

When an organization exceeds a threshold, pending execution requests queue up to a maximum of 100 per organization then process according to the previously described limits. For example, if a monitor triggers 100 workflow runs, only 50 are triggered in the first 20 minutes. The remaining 50 workflow runs are queued and trigger after 20 minutes pass.

## Workflow-level limits

* A workflow can contain up to 100 steps. If you need more than 100 steps in a workflow, you can use the **Trigger workflow** action to [call a child workflow][2]. Use output parameters to pass the output of a child workflow back to your main workflow.
* A workflow can run for up to 24 hours. Workflows terminate when they attempt to run for longer than 24 hours.
* A workflow can start up to 30 steps per minute. If you exceed this rate, steps are throttled and start at a rate of 30 per minute.
* The sum of all step outputs for a workflow can be up to 150 MB.
* A workflow's output size can be up to 500 KB.

## Action limits

* An action's input can be up to 15 MB.
* An action's output can be up to 15 MB.
* User-supplied JavaScript can be up to 10 KB.
* Each org can execute up to 10,000 send email actions per day. If you exceed this limit, the action fails with an error message.
* The [for loop][1] action can run for up to 2000 iterations. If you need more than 2000 iterations, you can partition your input into sets of 2000 and compute them in parallel.


## Further Reading

{{< partial name="whats-next/whats-next.html" >}}

<br>Do you have questions or feedback? Join the **#workflows** channel on the [Datadog Community Slack][9].

[1]: /service_management/workflows/actions/flow_control/#for-loop
[2]: /service_management/workflows/trigger/#trigger-a-workflow-from-a-workflow
[9]: https://datadoghq.slack.com/
2 changes: 2 additions & 0 deletions content/en/service_management/workflows/trigger.md
Original file line number Diff line number Diff line change
Expand Up @@ -202,6 +202,8 @@ If the child workflow has [input parameters][5], these parameters appear as requ

{{< img src="service_management/workflows/trigger-workflow-step.png" alt="The service_name input parameter is required in the child workflow" style="width:100%;" >}}

You can also pass the result of a child workflow back to the parent workflow by defining **Output parameters** in the child workflow. Use the `WorkflowOutputs` context variable in the parent workflow to retrieve the output parameters of the child workflow. For example, given a child workflow named `Example_workflow` with an output parameter named `exampleList`, use `Steps.Example_workflow.workflowOutputs.exampleList` to access the result of the child workflow.

## Run history

After you trigger a workflow, the workflow page switches to the workflow's **Run History**. Click **Configuration** or **Run History** in the top-left to switch between the configuration and run history views. Use run history to watch the progress of a triggered workflow or [debug a failed step][13].
Expand Down

0 comments on commit 0001683

Please sign in to comment.