Show all triggers for a configured flow

What does this MR do and why?

This is the frontend half of a stacked change. It targets the backend branch of !249630 (merged) (which adds the flowTriggers field), so review it after that MR.

When viewing an enabled flow, the Triggers section linked a flow to only one trigger even when several were configured, so the page did not tell the full story. This MR switches the flow and agent queries and components to the new flowTriggers list and renders one token group and edit link per trigger.

It also:

  • Reads the service account from the first trigger (flowTriggers[0]?.user) where the singular field was used before. The service account belongs to the consumer, so this is equivalent. Ordering is deterministic (id) from the backend, so [0] is stable.
  • Applies @gl_introduced(version: "19.3.0") to the flowTriggers selection so older backends strip it during a rolling deploy (Self-Managed safety).

This MR does not remove the deprecated singular flowTrigger field. It just stops the frontend from selecting it. Removing a non-experiment field must follow the GraphQL deprecation window, so it will be a separate MR after flowTriggers has shipped. See the discussion with @GitLabDuo below.

References

Backend MR (this branch targets it): !249630 (merged)

Supersedes the original combined MR !249605 (closed).

Screenshots or screen recordings

Before After
CleanShot_2026-08-11_at_09.59.56_2x CleanShot_2026-08-11_at_10.10.08_2x

How to set up and validate locally

  1. Enable the Duo Agent Platform and open a project's flows page at /<namespace>/<project>/-/automate/flows.
  2. Configure a flow, then add a second trigger for the same flow.
  3. Open the flow. Before, only one trigger appears in the Triggers section. After, every configured trigger appears, each with its own Edit link.

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist.

Edited by Austin Regnery

Merge request reports

Loading
Loading