Foundational flows

  • Tier: Premium, Ultimate
  • Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated

Model information

Foundational flows are built and maintained by GitLab and display a GitLab-maintained badge ({tanuki-verified}).

Each flow is designed to solve a specific problem or help you with a development task.

The following foundational flows are available:

For developers

To learn how to create and add new foundational flows to GitLab, see the foundational flows development guide.

Configure flow execution CI/CD details

You can configure the environment where flows use CI/CD to execute.

For example, on GitLab Self-Managed, administrators can configure a custom container registry for foundational flow images.

For more information, see Configure flow execution.

Security for foundational flows

In the GitLab UI, foundational flows have access to the following GitLab APIs:

Service accounts

Foundational flows use a service account to complete tasks. For more information, see composite identity workflow.

When a foundational flow creates a merge request, the merge request is attributed to the human user who triggered the flow instead of the service account. This is done to adhere to compliance frameworks that require segregation of duties. See compliance considerations.

Turn foundational flows on or off

You can turn foundational flows on or off:

  • On GitLab.com: For top-level groups and projects.
  • On GitLab Self-Managed: For instances, groups, and projects.

You can also turn flow execution on or off to control whether features that consume compute minutes can run in the GitLab UI. These features include external agents, foundational flows, and custom flows.

On GitLab.com

For a top-level group

Prerequisites:

  • The Owner role for the top-level group.
  1. In the top bar, select Search or go to and find your top-level group.
  2. Select Settings > GitLab Duo.
  3. Select Change configuration.
  4. Under Flow execution, select the Allow flow execution and Allow foundational flows checkboxes.
  5. Select the checkbox for each foundational flow you want to turn on.
  6. Select Save changes.

When you turn off foundational flows for a top-level group, users with that group as their default GitLab Duo namespace cannot access foundational flows in any namespace.

For a project

Prerequisites:

  • The Maintainer or Owner role for the project.
  • Flow execution and foundational flows turned on for the top-level group.
  1. In the top bar, select Search or go to and find your project.
  2. In the left sidebar, select Settings > General.
  3. Expand GitLab Duo.
  4. Turn on the GitLab Duo, Allow flow execution, and Allow foundational flows toggles.
  5. Select Save changes.

On GitLab Self-Managed

Version history

  • Full image reference for image registry introduced in GitLab 19.0.
For an instance

Prerequisites:

  • Administrator access.
  1. In the upper-right corner, select Admin.

  2. In the left sidebar, select GitLab Duo.

  3. Select Change configuration.

  4. Under Flow execution, select the Allow flow execution and Allow foundational flows checkboxes.

  5. Optional. In the Image registry text box, enter one of the following:

    • A registry hostname to use the default image from that registry.
    • A full image reference to override the image entirely (for example, registry.example.com/group/project/image:tag).

    Leave blank to use the default registry.gitlab.com.

  6. Select Save changes.

For a group

Prerequisites:

  • The Maintainer or Owner role for the group.
  • Flow execution and foundational flows turned on for the instance.
  1. In the top bar, select Search or go to and find your group.
  2. In the left sidebar, select Settings > General.
  3. Expand GitLab Duo features.
  4. Under Flow execution, select the Allow flow execution and Allow foundational flows checkboxes.
  5. For top-level groups only, select the checkbox for each foundational flow you want to turn on.
  6. Select Save changes.

When turned on for the group, foundational flows are available to all subgroups and projects.

For a project

Prerequisites:

  • The Maintainer or Owner role for the project.
  • Flow execution and foundational flows turned on for the instance and group.
  1. In the top bar, select Search or go to and find your project.
  2. In the left sidebar, select Settings > General.
  3. Expand GitLab Duo.
  4. Turn on the GitLab Duo, Allow flow execution, and Allow foundational flows toggles.
  5. Select Save changes.