Four example workflow packages proving the engine end-to-end: - Bug Report Triage: public entry, branch routing, SLA timer - Employee Onboarding: Starlark automated stages, signoff gate - Content Approval: multi-party signoff, revision cycle loop - Webhook Notifier: http.post, connections fallback, delivery logging Demo surface at /s/workflow-demo with cards, stage diagrams, Starlark viewer, API examples, active/published status, and copyable public links. Engine fixes: started_by in automated context, sla_seconds in package installer, parseSnapshotStages for wrapped/legacy formats. Platform fixes: extension SDK boot in base.html (Preact globals + boot()), admin teams paginated response extraction, workflow adoption endpoint (POST /teams/:teamId/workflows/:id/adopt), team-admin copyable link. Review pass remains on roadmap for remaining UI polish. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
130 lines
4.3 KiB
JSON
130 lines
4.3 KiB
JSON
{
|
|
"id": "bug-report-triage",
|
|
"title": "Bug Report Triage",
|
|
"type": "workflow",
|
|
"version": "0.1.0",
|
|
"tier": "browser",
|
|
"icon": "🐛",
|
|
"author": "Switchboard Core",
|
|
"description": "Public bug report submission with severity-based routing, team assignment, and SLA timers.",
|
|
"permissions": [],
|
|
|
|
"workflow_definition": {
|
|
"name": "Bug Report Triage",
|
|
"slug": "bug-report-triage",
|
|
"entry_mode": "public_link",
|
|
"stages": [
|
|
{
|
|
"name": "submit",
|
|
"ordinal": 0,
|
|
"stage_mode": "form",
|
|
"audience": "public",
|
|
"stage_type": "simple",
|
|
"auto_transition": false,
|
|
"form_template": {
|
|
"fieldsets": [
|
|
{
|
|
"label": "Report Details",
|
|
"fields": [
|
|
{ "key": "reporter_email", "label": "Your Email", "type": "text", "required": true },
|
|
{ "key": "summary", "label": "Summary", "type": "text", "required": true },
|
|
{ "key": "component", "label": "Component", "type": "select", "options": ["ui", "api", "database", "auth", "other"], "required": true },
|
|
{ "key": "severity", "label": "Severity", "type": "select", "options": ["critical", "high", "medium", "low"], "required": true }
|
|
]
|
|
},
|
|
{
|
|
"label": "Reproduction",
|
|
"fields": [
|
|
{ "key": "steps", "label": "Steps to Reproduce", "type": "textarea", "required": true },
|
|
{ "key": "expected", "label": "Expected Behavior", "type": "textarea", "required": true },
|
|
{ "key": "actual", "label": "Actual Behavior", "type": "textarea", "required": true }
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "classify",
|
|
"ordinal": 1,
|
|
"stage_mode": "form",
|
|
"audience": "team",
|
|
"stage_type": "simple",
|
|
"auto_transition": false,
|
|
"form_template": {
|
|
"fieldsets": [
|
|
{
|
|
"label": "Classification",
|
|
"fields": [
|
|
{ "key": "severity", "label": "Confirmed Severity", "type": "select", "options": ["critical", "high", "medium", "low"], "required": true },
|
|
{ "key": "notes", "label": "Triage Notes", "type": "textarea" }
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"branch_rules": [
|
|
{ "field": "severity", "op": "eq", "value": "critical", "target_stage": "fix-critical" },
|
|
{ "field": "severity", "op": "neq", "value": "critical", "target_stage": "fix-normal" }
|
|
]
|
|
},
|
|
{
|
|
"name": "fix-critical",
|
|
"ordinal": 2,
|
|
"stage_mode": "form",
|
|
"audience": "team",
|
|
"stage_type": "simple",
|
|
"auto_transition": false,
|
|
"sla_seconds": 3600,
|
|
"form_template": {
|
|
"fieldsets": [
|
|
{
|
|
"label": "Critical Fix",
|
|
"fields": [
|
|
{ "key": "fix_description", "label": "Fix Description", "type": "textarea", "required": true },
|
|
{ "key": "commit_ref", "label": "Commit / PR Reference", "type": "text" }
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "fix-normal",
|
|
"ordinal": 3,
|
|
"stage_mode": "form",
|
|
"audience": "team",
|
|
"stage_type": "simple",
|
|
"auto_transition": false,
|
|
"form_template": {
|
|
"fieldsets": [
|
|
{
|
|
"label": "Fix",
|
|
"fields": [
|
|
{ "key": "fix_description", "label": "Fix Description", "type": "textarea", "required": true },
|
|
{ "key": "commit_ref", "label": "Commit / PR Reference", "type": "text" }
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "verify",
|
|
"ordinal": 4,
|
|
"stage_mode": "review",
|
|
"audience": "team",
|
|
"stage_type": "simple",
|
|
"auto_transition": false,
|
|
"form_template": {
|
|
"fieldsets": [
|
|
{
|
|
"label": "Verification",
|
|
"fields": [
|
|
{ "key": "verified", "label": "Fix Verified?", "type": "select", "options": ["yes", "no"], "required": true },
|
|
{ "key": "verification_notes", "label": "Notes", "type": "textarea" }
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|