Convert triggers list from table to cards
What does this MR do and why?
Render each flow trigger on the Duo Agent Platform triggers index as a card instead of a table row.
A table earns its place when you scan one attribute down a column and compare rows. Triggers are not read that way: each is evaluated as a unit (what it runs, when it fires, who it runs as, whether it is on). The table also carried long descriptions and a variable set of event tokens, neither of which sits well in a fixed grid, and it already truncated cells and stacked into pseudo-cards on narrow viewports. The card layout follows the shape of a single trigger instead of the shape of a spreadsheet.
The card leads its meta line with the service account avatar, exposes that account's project role next to it, and shows the target as either a config-path link or the catalog flow name. The active toggle and a destructive delete action sit on the right, and inactive triggers are subdued.
Filtering and sorting are intentionally deferred to a later iteration. This MR establishes the card layout those controls will build on; it is not a full redesign.
The service account role is a project membership access level, not a field on the trigger, so it is resolved once per project and mapped by user ID. Config-path triggers whose service account has no project membership render no role, which is expected rather than a gap.
References
Card layout adapted from an earlier design exploration !248126 (closed)
Screenshots or screen recordings
| Before | After |
|---|---|
![]() |
![]() |
How to set up and validate locally
- Use a project where Duo features are enabled and you can reach the Automate section.
- Go to Automate > Triggers in the sidebar, or visit
/-/automate/triggersdirectly. - Confirm each trigger renders as a card with its description, event tokens, target, and the service account avatar plus role.
- Toggle a trigger off and confirm the card is subdued; open the actions menu and confirm Delete trigger is styled as destructive.
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

