Skip to content
Proud to collaborate with Microsoft for Startups

github.workflow-dispatch ​

Handle GitHub workflow_dispatch webhook events — launch ephemeral runners

DAG-based GitHub workflow_dispatch handler.

Routes workflow_dispatch webhook events to ephemeral runner executions. Supports ECS/Fargate (AWS), Cloud Run (GCP), Container Apps (Azure), App Platform (DO).

Layers 3-4 (launch_runner, complete) are conditional on the warm-pool no-op: when select_runner_group returns dispatch_skipped=True they are skipped and the run completes without an ephemeral launch.

Overview ​

PropertyValue
Workflow typeDag
LibraryApp-github
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
delivery_refstringYes—Webhook delivery ID
event_typestringYes—Webhook event type
actionstringNo—Webhook action
payloaddictYes—Webhook payload
organization_uuidstringNo—Organization UUID (public)

Output Schema ​

FieldTypeRequiredDefaultDescription
delivery_refstringNo——
event_typestringNo——
actionstringNo——
payloaddictNo——
organization_uuidstringNo——
workflow_run_uuidstringNo——
validatedictNo——
select_runner_groupdictNo——
launch_runnerdictNo——
completedictNo——
failure_reasonstringNo——
failure_typestringNo——
failed_actionstringNo——
failed_at_statestringNo——
failed_stepstringNo——
failed_layerintegerNo——
errorstringNo——
error_typestringNo——

DAG Layers ​

#LayerStepsCompensation
1validate_and_routegithub.workflow-dispatch-validate—
2select_runner_groupgithub.workflow-dispatch-select-runner—
3launch_runnergithub.workflow-dispatch-launch—
4completegithub.workflow-dispatch-complete—

Execution Flow ​

Sub-workflows ​

Sub-workflowStep name
github.workflow-dispatch-validatevalidate
github.workflow-dispatch-select-runnerselect_runner_group
github.workflow-dispatch-launchlaunch_runner
github.workflow-dispatch-completecomplete

Business Errors ​

CodeMessage Template
DELIVERY_ID_REQUIREDdelivery_ref is required
EVENT_TYPE_REQUIREDevent_type is required
PAYLOAD_REQUIREDpayload is required
REPOSITORY_NOT_FOUNDRepository not found in workflow_dispatch payload
RUNNER_GROUP_NOT_FOUNDNo suitable runner group found for this workflow dispatch
UNSUPPORTED_BACKENDRunner group uses an unsupported backend for ephemeral execution

API Usage ​

bash
POST /api/workflows/start
Content-Type: application/json

{
  "workflow_type": "github.workflow-dispatch",
  "initial_data": {
    "delivery_ref": "value",
    "event_type": "value",
    "payload": "value"
  }
}