Skip to content

Webhook ingestion — external event triggers for agent workflows #21

@hellno

Description

@hellno

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

  • Webhook endpoint accepts and stores events for a project
  • Events normalized into canonical work item format
  • list_work_items MCP tool returns pending items for a project
  • Webhook token generation and management via jack secrets or dedicated command
  • Rate limiting on webhook endpoint

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions