> ## Documentation Index
> Fetch the complete documentation index at: https://docs.incident.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Advanced settings

> Covers advanced settings, including how to prevent duplicate workflow runs by controlling how often a workflow fires for the same incident, user, or other resource.

## How often should this workflow run?

Many workflow triggers fire repeatedly for the same incident — for example, "an incident is updated" fires every time any field changes. Without deduplication, this could flood channels with duplicate messages or re-run actions that should only happen once.

By default, workflows are configured to run **once** for a given resource, like an incident or a message. This is controlled by the "How often should this workflow run?" setting, which you'll find in the **Advanced** section of the workflow editor.

### How it works

When a workflow fires, incident.io checks whether it has already run for the same combination of values. If it has, the workflow is silently skipped.

For example, if a workflow is set to run once per **Incident**, it will fire the first time its trigger and conditions match for a given incident, but won't fire again for the same incident — even if the trigger fires multiple times.

If you clear the run once setting entirely, the workflow will run **every time** the trigger fires and conditions match, with no deduplication.

### Configuring run frequency

1. Open the workflow you want to edit.
2. Click **Advanced** to open the advanced settings drawer.
3. Under **How often should this workflow run?**, you'll see the current
   configuration.
4. Click the edit icon to change which resources the workflow should deduplicate on.
5. Use the dropdown to add or remove resources, then click **Confirm**.

The available resources depend on the trigger you've selected. Common options
include:

| Resource      | Meaning                                                      |
| ------------- | ------------------------------------------------------------ |
| **Incident**  | Run once per incident                                        |
| **User**      | Run once per user (combined with other selections)           |
| **Message**   | Run once per Slack message                                   |
| **Severity**  | Run once per severity value (combined with other selections) |
| **Action**    | Run once per action item                                     |
| **Follow-up** | Run once per follow-up                                       |

You can select multiple resources. When you do, the workflow runs once for each
**unique combination** of those values.

### Interaction with loops

If your workflow includes a [loop](/workflows/loops), the run once setting applies to non-looped steps as normal. However, looped steps can still "catch up" with new values even after the non-looped steps have been skipped. See [How often will workflow loops run?](/workflows/loops#how-often-will-workflow-loops-run) for a detailed example.

<AccordionGroup>
  <Accordion title="What happens if I don't configure run once at all?">
    Each trigger has a sensible default. For example, "An incident is updated" defaults to once per incident, while "A
    user joins the incident channel" defaults to once per incident and user. You can see the current setting in the
    Advanced section and change it at any time.
  </Accordion>

  <Accordion title="Can I make a workflow run every time, with no limits?">
    Yes. Edit the run once setting and remove all resources. The workflow will then run every time its trigger fires and
    conditions match.
  </Accordion>

  <Accordion title="Does run once apply across workflow versions?">
    Run once is scoped to the workflow itself, not to a specific version. If you edit and save a workflow, the
    deduplication still considers previous runs of the same workflow.
  </Accordion>
</AccordionGroup>
