{% comment %} The Triggers drawer's body (issue #11, SPEC §10). Rendered inside edit.html on first open and re-fetched whole on every `triggersChanged` event, so there is exactly one renderer for the list — a filtered view and a post-mutation refresh can never disagree about what a row looks like. Same pattern as contacts/_tag_rows.html and flows/_list_rows.html. Everything platform-supplied here (a keyword, a ref, a connection's display name) is attacker-adjacent user text and is rendered escaped. No mark_safe, no `|safe`. {% endcomment %} {% comment %} hx-include carries #trigger-focus, the hidden input in edit.html that holds the id of the trigger the canvas asked to open. It lives outside this region on purpose: this element is replaced wholesale by every refetch, and an input inside it would be swapped away mid-request. {% endcomment %}
What starts this flow. Lower numbers run first and the first match wins, across every flow in this workspace, not just this one.
{% for label in duplicate_stage_labels %}