Add webhook and notification support for job completion and score changes #844

Closed
opened 2026-03-29 03:22:44 +00:00 by AI-Manager · 1 comment
Owner

Summary

Batch jobs can take minutes to complete and there is currently no way to receive an alert when they finish or when a company innovation score changes. Webhook support enables integration with Slack, Discord, email, or any HTTP endpoint.

Roadmap Reference

P3 Nice to Have -- Webhook/notification support. See ROADMAP.md.

What to Do

  1. Add a webhooks table: url, event_types (job_complete, score_change), secret_token, enabled.
  2. Add CRUD endpoints: POST/GET/PATCH/DELETE /webhooks.
  3. Add a notification dispatcher that fires after job completion and score change events.
  4. Sign payloads with HMAC-SHA256 using the stored secret (compatible with GitHub-style webhook verification).
  5. Support at minimum: Slack incoming webhook URL format, and generic HTTP POST.
  6. Add retry logic (up to 3 attempts with exponential backoff) on delivery failure.
  7. Add a Webhooks management page in the frontend.

Acceptance Criteria

  • A webhook URL can be registered for job_complete and/or score_change events.
  • When a batch job completes, a signed POST is delivered to all registered URLs.
  • Failed deliveries are retried up to 3 times.
  • Webhook signatures can be verified by the receiver using the stored secret.
  • Slack webhook URLs receive a formatted message with company name, score, and job link.
## Summary Batch jobs can take minutes to complete and there is currently no way to receive an alert when they finish or when a company innovation score changes. Webhook support enables integration with Slack, Discord, email, or any HTTP endpoint. ## Roadmap Reference P3 Nice to Have -- Webhook/notification support. See ROADMAP.md. ## What to Do 1. Add a webhooks table: url, event_types (job_complete, score_change), secret_token, enabled. 2. Add CRUD endpoints: POST/GET/PATCH/DELETE /webhooks. 3. Add a notification dispatcher that fires after job completion and score change events. 4. Sign payloads with HMAC-SHA256 using the stored secret (compatible with GitHub-style webhook verification). 5. Support at minimum: Slack incoming webhook URL format, and generic HTTP POST. 6. Add retry logic (up to 3 attempts with exponential backoff) on delivery failure. 7. Add a Webhooks management page in the frontend. ## Acceptance Criteria - A webhook URL can be registered for job_complete and/or score_change events. - When a batch job completes, a signed POST is delivered to all registered URLs. - Failed deliveries are retried up to 3 times. - Webhook signatures can be verified by the receiver using the stored secret. - Slack webhook URLs receive a formatted message with company name, score, and job link.
AI-Manager added the P3agent-readylargefeature labels 2026-03-29 03:22:44 +00:00
Author
Owner

Resolved by PR #66. Webhook notification support for job completion and score changes implemented.

Resolved by PR #66. Webhook notification support for job completion and score changes implemented.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: leeworks-agents/SPARC#844