Generic event configuration UI for bot workflow triggers #42

Open
opened 2026-03-25 13:53:40 +00:00 by timur · 1 comment
Owner

Context

Per hero_archipelagos#40, there should be a generic way to configure and add events from many different sources as triggers for bot workflows.

Requirements

  • UI to configure event sources (Forgejo webhooks, HTTP endpoints, cron schedules, etc.)
  • Map events to specific bot + workflow combinations
  • Filter/match rules (e.g., only trigger on commits to specific branches)
  • Event history/log view
  • Enable/disable triggers

Dependencies

  • Depends on: Event system research issue
  • Depends on: Workflow editor UI (from #40)

References

  • Parent issue: #40
## Context Per hero_archipelagos#40, there should be a generic way to configure and add events from many different sources as triggers for bot workflows. ## Requirements - UI to configure event sources (Forgejo webhooks, HTTP endpoints, cron schedules, etc.) - Map events to specific bot + workflow combinations - Filter/match rules (e.g., only trigger on commits to specific branches) - Event history/log view - Enable/disable triggers ## Dependencies - Depends on: Event system research issue - Depends on: Workflow editor UI (from #40) ## References - Parent issue: #40
Author
Owner

Event Configuration UI — Design Notes

Depends On

  • Issue #41 (event system research) must finalize the event data model first

Proposed UI Location

New sub-tab or section within the Workflows tab of the Intelligence archipelago, since events are tightly coupled to workflow execution.

UI Components Needed

1. Event Sources List

  • Card grid showing configured event sources
  • Each card: source type icon, name, status (active/paused), event count
  • Actions: edit, delete, pause/resume, test

2. Event Source Editor

  • Source type selector: Webhook, Cron/Schedule, Forgejo, Manual
  • Type-specific config:
    • Webhook: URL path, secret token, payload schema
    • Cron: cron expression, timezone
    • Forgejo: repo selector, event types (push, PR, issue), branch filter
    • Manual: trigger button label, input form schema

3. Trigger Rules

  • Map event sources → bot + workflow combinations
  • Filter rules: JSONPath expressions on event payload
  • Input mapping: how event data maps to workflow input variables
  • Enable/disable toggles per trigger

4. Event History

  • Table/list of recent events
  • Shows: timestamp, source, payload summary, matched triggers, execution status
  • Click to view full payload and execution details
  • Filterable by source, status, time range

Wireframe

┌──────────────────────────────────────────┐
│ Workflows Tab                            │
│ ┌──────────┐ ┌──────────┐ ┌───────────┐ │
│ │Workflows │ │Executions│ │  Events   │ │
│ └──────────┘ └──────────┘ └───────────┘ │
│                                          │
│ Event Sources          [+ New Source]    │
│ ┌────────┐ ┌────────┐ ┌────────┐       │
│ │Forgejo │ │ Cron   │ │Webhook │       │
│ │commits │ │ daily  │ │ /hook  │       │
│ │ active │ │ active │ │paused  │       │
│ └────────┘ └────────┘ └────────┘       │
│                                          │
│ Recent Events                            │
│ ┌─────┬────────┬──────────┬──────────┐  │
│ │Time │Source  │Payload   │Triggered │  │
│ │12:30│Forgejo │push main │QA flow   │  │
│ │12:15│Cron   │scheduled │Report    │  │
│ └─────┴────────┴──────────┴──────────┘  │
└──────────────────────────────────────────┘

Implementation Priority

  1. Manual triggers (simplest — button in UI to start workflow)
  2. Cron/schedule triggers (use hero_proc's existing SchedulePolicy)
  3. Webhook receiver (HTTP endpoint)
  4. Forgejo integration (specific webhook payload parsing)
## Event Configuration UI — Design Notes ### Depends On - Issue #41 (event system research) must finalize the event data model first ### Proposed UI Location New sub-tab or section within the **Workflows tab** of the Intelligence archipelago, since events are tightly coupled to workflow execution. ### UI Components Needed **1. Event Sources List** - Card grid showing configured event sources - Each card: source type icon, name, status (active/paused), event count - Actions: edit, delete, pause/resume, test **2. Event Source Editor** - Source type selector: Webhook, Cron/Schedule, Forgejo, Manual - Type-specific config: - **Webhook**: URL path, secret token, payload schema - **Cron**: cron expression, timezone - **Forgejo**: repo selector, event types (push, PR, issue), branch filter - **Manual**: trigger button label, input form schema **3. Trigger Rules** - Map event sources → bot + workflow combinations - Filter rules: JSONPath expressions on event payload - Input mapping: how event data maps to workflow input variables - Enable/disable toggles per trigger **4. Event History** - Table/list of recent events - Shows: timestamp, source, payload summary, matched triggers, execution status - Click to view full payload and execution details - Filterable by source, status, time range ### Wireframe ``` ┌──────────────────────────────────────────┐ │ Workflows Tab │ │ ┌──────────┐ ┌──────────┐ ┌───────────┐ │ │ │Workflows │ │Executions│ │ Events │ │ │ └──────────┘ └──────────┘ └───────────┘ │ │ │ │ Event Sources [+ New Source] │ │ ┌────────┐ ┌────────┐ ┌────────┐ │ │ │Forgejo │ │ Cron │ │Webhook │ │ │ │commits │ │ daily │ │ /hook │ │ │ │ active │ │ active │ │paused │ │ │ └────────┘ └────────┘ └────────┘ │ │ │ │ Recent Events │ │ ┌─────┬────────┬──────────┬──────────┐ │ │ │Time │Source │Payload │Triggered │ │ │ │12:30│Forgejo │push main │QA flow │ │ │ │12:15│Cron │scheduled │Report │ │ │ └─────┴────────┴──────────┴──────────┘ │ └──────────────────────────────────────────┘ ``` ### Implementation Priority 1. Manual triggers (simplest — button in UI to start workflow) 2. Cron/schedule triggers (use hero_proc's existing SchedulePolicy) 3. Webhook receiver (HTTP endpoint) 4. Forgejo integration (specific webhook payload parsing)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lhumina_code/hero_archipelagos#42
No description provided.