Summary
Add a webhook ingestion endpoint that receives events from external sources (monitoring, chat, GitHub, etc.) and routes them as structured work items that agents can pick up and act on.
Motivation
Today Jack is reactive — a human or agent must explicitly decide to create, deploy, or fix something. But many engineering tasks originate from external signals:
- An error spike in production logs
- A user report in Slack or Discord
- A GitHub issue being created
- A monitoring alert firing
By ingesting these signals as structured events, Jack can bridge the gap between "something happened" and "an agent is working on it" — without requiring a human to manually copy-paste context and kick off work.
Proposed design
Webhook endpoint
Each Jack project gets a webhook URL:
POST https://control.getjack.org/projects/{project_id}/webhooks/ingest
Authorization: Bearer <project-webhook-token>
Content-Type: application/json
{
"source": "slack", // or "github", "pagerduty", "custom", etc.
"event_type": "message", // source-specific event type
"payload": { ... }, // raw event payload
"context": "optional human-readable summary"
}
Event normalization
- Normalize incoming events into a canonical
work_item format
- Extract: urgency, affected area (file/service), description, source link
- Store in D1 with project association
MCP integration
- New MCP tool:
list_work_items — agents can poll for pending work
- New MCP tool:
claim_work_item / complete_work_item — agents mark items as in-progress/done
- Work items appear in
jack info output
Source adapters (future)
- Slack/Discord: parse channel messages mentioning the project
- GitHub: issues, PR comments, check failures
- Monitoring: PagerDuty, Datadog, Sentry webhook formats
- Jack logs: auto-generate work items from error patterns
Acceptance criteria
Summary
Add a webhook ingestion endpoint that receives events from external sources (monitoring, chat, GitHub, etc.) and routes them as structured work items that agents can pick up and act on.
Motivation
Today Jack is reactive — a human or agent must explicitly decide to create, deploy, or fix something. But many engineering tasks originate from external signals:
By ingesting these signals as structured events, Jack can bridge the gap between "something happened" and "an agent is working on it" — without requiring a human to manually copy-paste context and kick off work.
Proposed design
Webhook endpoint
Each Jack project gets a webhook URL:
Event normalization
work_itemformatMCP integration
list_work_items— agents can poll for pending workclaim_work_item/complete_work_item— agents mark items as in-progress/donejack infooutputSource adapters (future)
Acceptance criteria
list_work_itemsMCP tool returns pending items for a projectjack secretsor dedicated command