diff --git a/doc/user/duo_agent_platform/agents/custom.md b/doc/user/duo_agent_platform/agents/custom.md index 6b4994c5f7bf2f51d454e7830f93ac8aa2259b00..1b71bf6dea4ec33b5390e9226be8691fcab553c2 100644 --- a/doc/user/duo_agent_platform/agents/custom.md +++ b/doc/user/duo_agent_platform/agents/custom.md @@ -132,7 +132,8 @@ Prerequisites: - You must have at least the Maintainer role for the project. 1. On the left sidebar, select **Search or go to** > **Explore**. If you've [turned on the new navigation](../../interface_redesign.md#turn-new-navigation-on-or-off), this field is on the top bar. -1. Select **AI Catalog** and select the agent you want to enable. +1. Select **AI Catalog**, then select the **Agents** tab. +1. Select the agent you want to enable. 1. In the upper-right corner, select **Enable in project**. 1. From the **Project** dropdown list, select your project. 1. Select **Enable**. @@ -159,7 +160,7 @@ The agent no longer appears in the project, and is not available in Chat. ## Duplicate an agent Create a copy of an existing agent in a different source project. -Do this if you want to use an agent someone else created, or make changes to an agent without overwriting the original. +Do this to make changes to an agent without overwriting the original. Prerequisites: @@ -168,7 +169,8 @@ Prerequisites: To duplicate an agent: 1. On the left sidebar, select **Search or go to** > **Explore**. If you've [turned on the new navigation](../../interface_redesign.md#turn-new-navigation-on-or-off), this field is on the top bar. -1. Select **AI Catalog** and select the agent you want to duplicate. +1. Select **AI Catalog**, then select the **Agents** tab. +1. Select the agent you want to duplicate. 1. In the upper-right corner, select **Actions** ({{< icon name="ellipsis_v" >}}) > **Duplicate**. 1. Optional. Edit any fields you want to change. 1. Select **Create agent**. @@ -182,7 +184,8 @@ Prerequisites: - You must be a member of the source project and have at least the Maintainer role. 1. On the left sidebar, select **Search or go to** > **Explore**. If you've [turned on the new navigation](../../interface_redesign.md#turn-new-navigation-on-or-off), this field is on the top bar. -1. Select **AI Catalog** and select the agent you want to manage. +1. Select **AI Catalog**, then select the **Agents** tab. +1. Select the agent you want to manage. - To edit an agent: 1. In the upper-right corner, select **Edit**. 1. Edit any fields you want to change, then select **Save changes**. diff --git a/doc/user/duo_agent_platform/agents/external.md b/doc/user/duo_agent_platform/agents/external.md index 1223f2470fdcaac1339a44a09fb57e851ddc4f78..80bf663776c91c5574b1c2f6b5a44f4ad65f717e 100644 --- a/doc/user/duo_agent_platform/agents/external.md +++ b/doc/user/duo_agent_platform/agents/external.md @@ -186,7 +186,7 @@ For more information, see how to [add CI/CD variables to a project's settings](. Create an external agent and configure it to run on your environment with a flow configuration. -### By using the AI Catalog +### By using the UI {{< details >}} @@ -217,10 +217,11 @@ Prerequisites: 1. Under **Basic information**: 1. In **Display name**, enter a name. 1. In **Description**, enter a description. -1. Under **Visibility & access**: - 1. For **Visibility**, select **Private** or **Public**. -1. Under **Configuration**, enter your flow configuration. - You can write your own configuration, or edit one of the templates below. +1. Under **Visibility & access**, for **Visibility**, select **Private** or **Public**. +1. Under **Configuration**: + 1. Select **External**. + 1. Enter your flow configuration. + You can write your own configuration, or edit one of the templates below. 1. Select **Create flow**. The external agent appears in the AI Catalog. @@ -250,8 +251,7 @@ Prerequisites: To enable an external agent in a project: 1. On the left sidebar, select **Search or go to** > **Explore**. -1. Select **AI Catalog**. -1. Select the **Flows** tab. +1. Select **AI Catalog**, then select the **Flows** tab. 1. Select your external agent, then select **Enable in project**. 1. From the dropdown list, select the project you want to enable the external agent in. 1. Select **Enable**. diff --git a/doc/user/duo_agent_platform/flows/_index.md b/doc/user/duo_agent_platform/flows/_index.md index 0b35660f1c9e3d7f18aad3ad5eafde895ef97398..89d02177f19d10fa20bac2298be8fc4d1cc87d61 100644 --- a/doc/user/duo_agent_platform/flows/_index.md +++ b/doc/user/duo_agent_platform/flows/_index.md @@ -36,6 +36,16 @@ For more information, see the history. A flow is a combination of one or more agents working together to solve a complex problem. +GitLab provides two types of flows: + +- [Foundational flows](foundational_flows/_index.md) are pre-built, + production-ready workflows created by GitLab for common development + tasks. +- [Custom flows](custom.md) are workflows you create to automate your + team's specific processes. You define the workflow steps, select + which agents the flow uses, and define triggers to control when the + flow runs. + Flows are available in IDEs and the GitLab UI. - In the UI, they run directly in GitLab CI/CD, helping you automate common development tasks without the need to leave your browser. @@ -46,16 +56,12 @@ For more information about flows executing in CI/CD, see [the flow execution doc For more focused pieces of work, like understanding selected code, use [GitLab Duo Chat (Agentic)](../../gitlab_duo_chat/agentic_chat.md). -## Turn on flows - -To turn flows on or off, use [the GitLab Duo settings](../../gitlab_duo/turn_on_off.md). - -## Monitor running flows in the GitLab UI +## Prerequisites -To view flows that are running for your project: +To use flows: -1. On the left sidebar, select **Search or go to** and find your project. If you've [turned on the new navigation](../../interface_redesign.md#turn-new-navigation-on-or-off), this field is on the top bar. -1. Select **Automate** > **Sessions**. +- You must meet the [prerequisites](../_index.md#prerequisites). +- You must turn on flows with [the GitLab Duo settings](../../gitlab_duo/turn_on_off.md). ## View flow history in the IDEs diff --git a/doc/user/duo_agent_platform/flows/custom.md b/doc/user/duo_agent_platform/flows/custom.md new file mode 100644 index 0000000000000000000000000000000000000000..698ae87245251a1a00b1b1430de786f31e9f951e --- /dev/null +++ b/doc/user/duo_agent_platform/flows/custom.md @@ -0,0 +1,188 @@ +--- +stage: AI-powered +group: Workflow Catalog +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments +title: Custom flows +--- + +{{< details >}} + +- Tier: Premium, Ultimate +- Add-on: GitLab Duo Core, Pro, or Enterprise +- Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated +- Status: Experiment + +{{< /details >}} + +{{< collapsible title="Model information" >}} + +- LLM: Anthropic [Claude Sonnet 4](https://www.anthropic.com/claude/sonnet) + +{{< /collapsible >}} + +{{< history >}} + +- [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/578228) in GitLab 18.6 [with a flag](../../../administration/feature_flags/_index.md) named `ai_catalog_flows`. Enabled on GitLab.com. + +{{< /history >}} + +{{< alert type="flag" >}} + +The availability of this feature is controlled by a feature flag. +For more information, see the history. + +{{< /alert >}} + +Custom flows are AI-powered workflows you create and configure to +automate complex, multi-step tasks across your GitLab projects. + +## Flow visibility + +When you create a custom flow, you associate it with a source project and choose whether it is public or private. + +- A public flow can be viewed by anyone and can be enabled in any project that meets the prerequisites. +- A private flow can be viewed only by members of the source project who have at least the Developer role, and by users with the Owner role for the top-level group. + Private flows cannot be enabled in projects other than the source project, or in groups other than the top-level group. + You cannot make a private flow public if the flow is currently enabled. + +## View the flows for your project + +Prerequisites: + +- You must have at least the Developer role for the project. + +To view a list of flows enabled in your project: + +1. On the left sidebar, select **Search or go to** and find your project. If you've [turned on the new navigation](../../interface_redesign.md#turn-new-navigation-on-or-off), this field is on the top bar. +1. Select **Automate** > **Flows**. + +Select a flow to view its details. + +## Create a flow + +Prerequisites: + +- You must have at least the Maintainer role for the project. + +To create a flow: + +1. On the left sidebar, select **Search or go to** and find your project. If you've [turned on the new navigation](../../interface_redesign.md#turn-new-navigation-on-or-off), this field is on the top bar. +1. Select **Automate** > **Flows**. +1. Select **New flow**. +1. Under **Basic information**: + 1. In **Display name**, enter a name. + 1. In **Description**, enter a description. +1. Under **Visibility & access**, for **Visibility**, select **Private** or **Public**. +1. Under **Configuration**: + 1. Select **Flow**. + 1. In the editor, enter your flow configuration. + To learn how to write custom flow YAML, see the [flow registry framework documentation](https://gitlab.com/gitlab-org/modelops/applied-ml/code-suggestions/ai-assist/-/blob/main/docs/flow_registry/v1.md). +1. Select **Create flow**. + +The flow appears in the AI Catalog. + +## Enable a flow + +Enable a flow to trigger it from an issue, merge request, or discussion. +To enable a flow, you must: + +1. Enable it in a top-level group. +1. Enable it in the project you want to use it in. + +### Enable in a top-level group + +Prerequisites: + +- You must have the Owner role for the group. + +To enable a flow in a top-level group: + +1. On the left sidebar, select **Search or go to** > **Explore**. If you've [turned on the new navigation](../../interface_redesign.md#turn-new-navigation-on-or-off), this field is on the top bar. +1. Select **AI Catalog**, then select the **Flows** tab. +1. Select the flow you want to enable. +1. In the upper-right corner, select **Enable in group**. +1. From the dropdown list, select the group you want to enable the flow in. +1. Select **Enable**. + +The flow appears in the group's **Automate** > **Flows** page. + +### Enable in a project + +Prerequisites: + +- You must have at least the Maintainer role for the project. +- The flow must be enabled in the project's top-level group. + +1. On the left sidebar, select **Search or go to** and find your project. If you've [turned on the new navigation](../../interface_redesign.md#turn-new-navigation-on-or-off), this field is on the top bar. +1. Select **Automate** > **Flows**. +1. In the upper-right corner, select **Enable flow from group**. +1. From the dropdown list, select the flow you want to enable. +1. Optional. For **Add flow triggers**, select which events trigger the flow: + - **Mention**: When the service account user is mentioned + in a comment on an issue or merge request. + - **Assign**: When the service account user is assigned + to an issue or merge request. + - **Assign reviewer**: When the service account user is assigned + as a reviewer to a merge request. +1. Select **Enable**. + +The flow appears in the project's **Automate** > **Flows** list. + +### Remove a flow + +Prerequisites: + +- For groups, you must have the Owner role. +- For projects, you must have at least the Maintainer role. + +To remove a flow: + +1. On the left sidebar, select **Search or go to** and find your group or project. If you've [turned on the new navigation](../../interface_redesign.md#turn-new-navigation-on-or-off), this field is on the top bar. +1. Select **Automate** > **Flows**. +1. Find the flow you want to remove and select **Actions** ({{< icon name="ellipsis_v" >}}) > **Remove**. +1. On the confirmation dialog, select **Remove**. + +The flow no longer appears in the project or group, and can't be run. Any service accounts or triggers associated with the flow are also removed. + +## Duplicate a flow + +Create a copy of an existing flow in a different source project. +Do this to make changes to a flow without overwriting the original. + +Prerequisites: + +- You must have at least the Maintainer role for the project. + +To duplicate a flow: + +1. On the left sidebar, select **Search or go to** > **Explore**. If you've [turned on the new navigation](../../interface_redesign.md#turn-new-navigation-on-or-off), this field is on the top bar. +1. Select **AI Catalog**, then select the **Flows** tab. +1. Select the flow you want to duplicate. +1. In the upper-right corner, select **Actions** ({{< icon name="ellipsis_v" >}}) > **Duplicate**. +1. Optional. Edit any fields you want to change. +1. Select **Create flow**. + +## Manage flows + +Edit a flow to change its configuration, or delete it to remove it from the AI Catalog. + +Prerequisites: + +- You must be a member of the source project and have at least the Maintainer role. + +1. On the left sidebar, select **Search or go to** > **Explore**. If you've [turned on the new navigation](../../interface_redesign.md#turn-new-navigation-on-or-off), this field is on the top bar. +1. Select **AI Catalog**, then select the **Flows** tab. +1. Select the flow you want to manage. + - To edit a flow: + 1. In the upper-right corner, select **Edit**. + 1. Edit any fields you want to change, then select **Save changes**. + - To delete a flow: + 1. In the upper-right corner, select **Actions** ({{< icon name="ellipsis_v" >}}) > **Delete**. + 1. On the confirmation dialog, select **Delete**. + +## Monitor running flows in the GitLab UI + +To view flows that are running for your project: + +1. On the left sidebar, select **Search or go to** and find your project. If you've [turned on the new navigation](../../interface_redesign.md#turn-new-navigation-on-or-off), this field is on the top bar. +1. Select **Automate** > **Sessions**.