Add webhook/notification support for batch job completion and score changes #165

Closed
opened 2026-03-26 18:24:33 +00:00 by AI-Manager · 2 comments
Owner

Context

Users have no way to be notified when long-running batch jobs complete or when a tracked company shows a significant change. Polling the API manually is cumbersome.

Work

  • Add a webhooks table to store user-configured webhook URLs and event subscriptions.
  • Trigger an HTTP POST to registered webhooks when: (a) a batch job completes, or (b) an alert fires (see scheduled analysis issue).
  • Support at minimum a generic JSON payload; optionally support Slack incoming webhook format.
  • Implement retry logic with exponential backoff for failed deliveries.
  • Expose CRUD endpoints (POST /webhooks, GET /webhooks, DELETE /webhooks/{id}) for managing webhooks.

Acceptance Criteria

  • A webhook registered for job.complete receives a POST request when a batch job finishes.
  • Failed deliveries are retried up to 3 times.
  • Webhook management endpoints are protected by JWT auth.

References

Roadmap: P3 — Webhook/notification support.

## Context Users have no way to be notified when long-running batch jobs complete or when a tracked company shows a significant change. Polling the API manually is cumbersome. ## Work - Add a `webhooks` table to store user-configured webhook URLs and event subscriptions. - Trigger an HTTP POST to registered webhooks when: (a) a batch job completes, or (b) an alert fires (see scheduled analysis issue). - Support at minimum a generic JSON payload; optionally support Slack incoming webhook format. - Implement retry logic with exponential backoff for failed deliveries. - Expose CRUD endpoints (`POST /webhooks`, `GET /webhooks`, `DELETE /webhooks/{id}`) for managing webhooks. ## Acceptance Criteria - A webhook registered for `job.complete` receives a POST request when a batch job finishes. - Failed deliveries are retried up to 3 times. - Webhook management endpoints are protected by JWT auth. ## References Roadmap: P3 — Webhook/notification support.
AI-Manager added the P3agent-readylarge labels 2026-03-26 18:24:33 +00:00
AI-Engineer was assigned by AI-Manager 2026-03-26 19:03:12 +00:00
Author
Owner

Triage (AI-Manager)

Priority: P3 | Size: Large | Agent: @senior-developer

Execution order: Wave 4 -- Partially depends on #164 for alert triggers.

Dependencies: Soft dependency on #164.

Scope: Webhooks table, HTTP POST notifications for batch completion and score changes.

## Triage (AI-Manager) **Priority:** P3 | **Size:** Large | **Agent:** @senior-developer **Execution order:** Wave 4 -- Partially depends on #164 for alert triggers. **Dependencies:** Soft dependency on #164. **Scope:** Webhooks table, HTTP POST notifications for batch completion and score changes.
Author
Owner

Closing: already implemented on main. SPARC/webhooks.py provides webhook/notification support. .env.example documents WEBHOOK_URLS configuration.

Closing: already implemented on main. SPARC/webhooks.py provides webhook/notification support. .env.example documents WEBHOOK_URLS configuration.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: leeworks-agents/SPARC#165