github.installation.parse_webhook ​
Validate and normalize GitHub App installation webhook payload
Validate and normalize a GitHub App installation webhook payload.
Inputs:
- delivery_id: Webhook delivery ID (required)
- event_type: Event type e.g. installation, installation_repositories (required)
- action: Action e.g. created, deleted, added (required)
- payload: Full webhook payload dict (required)
- organization_uuid: Optional organization UUID
Outputs (terminal state_data):
- delivery_id, event_type, action, payload, organization_uuid
- github_installation_id: From payload.installation.id
- installation_data: payload.installation
- sync_type: create_or_update | delete | suspend | unsuspend | update_permissions | repos_added | repos_removed
- initiated_at: ISO-8601 timestamp
Raises WorkflowNotRetryableError if delivery_id, event_type, payload are missing or installation.id is not in payload.
Overview ​
| Property | Value |
|---|---|
| Workflow type | Atomic |
| Library | App-github |
| Version | 1.0 |
Input Schema ​
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
delivery_id | string | Yes | — | Webhook delivery ID |
event_type | string | Yes | — | Event type (e.g. installation) |
action | string | Yes | — | Action (e.g. created, deleted) |
payload | dict | Yes | — | Full webhook payload |
organization_uuid | uuid | No | — | Organization UUID |
Output Schema ​
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
action | string | No | — | — |
delivery_id | string | No | — | — |
event_type | string | No | — | — |
github_installation_id | string | No | — | — |
initiated_at | string | No | — | — |
installation_data | dict | No | — | — |
organization_uuid | uuid | No | — | — |
payload | dict | No | — | — |
sync_type | string | No | — | — |
failure_reason | string | No | — | — |
failure_type | string | No | — | — |
failed_action | string | No | — | — |
failed_at_state | string | No | — | — |
failed_step | string | No | — | — |
failed_layer | string | No | — | — |
error | string | No | — | — |
error_type | string | No | — | — |
States ​
| State | Initial | Terminal | Success | Auto-advance | Description |
|---|---|---|---|---|---|
pending | Yes | No | — | execute | — |
completed | No | Yes | Yes | — | — |
failed | No | Yes | No | — | — |
State Diagram ​
Transitions ​
| From | Action | To | Description |
|---|---|---|---|
pending | execute | completed | — |
* (any state) | fail | failed | — |
API Usage ​
bash
POST /api/workflows/start
Content-Type: application/json
{
"workflow_type": "github.installation.parse_webhook",
"initial_data": {
"delivery_id": "value",
"event_type": "value",
"action": "value",
"payload": "value"
}
}