Add webhook ingestion endpoint for external sources #8

Closed
opened 2026-04-03 11:12:38 +00:00 by sam · 3 comments
Member

Summary

Add a generic webhook ingestion path so external systems can push events, notes, or content into AMCS without going through the MCP interface directly.

Why

Webhook ingestion is explicitly listed as deferred in the implementation plan and would make AMCS easier to integrate with automation tools and external services.

Scope ideas

  • Define one or more authenticated webhook endpoints
  • Establish a stable payload schema for thought content, metadata, project, and source
  • Support source-specific metadata passthrough where safe
  • Validate and normalize inbound payloads before persistence
  • Add rate limiting / idempotency handling where appropriate
  • Document example integrations

Acceptance criteria

  • A documented webhook flow exists for creating AMCS thoughts from external systems
  • Authentication and validation rules are explicit
  • Payload normalization produces consistent thought records
  • README/config docs include setup examples

Source

Deferred feature from llm/plan.md: webhook ingestion.

## Summary Add a generic webhook ingestion path so external systems can push events, notes, or content into AMCS without going through the MCP interface directly. ## Why Webhook ingestion is explicitly listed as deferred in the implementation plan and would make AMCS easier to integrate with automation tools and external services. ## Scope ideas - Define one or more authenticated webhook endpoints - Establish a stable payload schema for thought content, metadata, project, and source - Support source-specific metadata passthrough where safe - Validate and normalize inbound payloads before persistence - Add rate limiting / idempotency handling where appropriate - Document example integrations ## Acceptance criteria - A documented webhook flow exists for creating AMCS thoughts from external systems - Authentication and validation rules are explicit - Payload normalization produces consistent thought records - README/config docs include setup examples ## Source Deferred feature from `llm/plan.md`: webhook ingestion.
Member

Implemented in PR #39

Branch: issue-8-webhook-ingestion
Commit: fe82678280
Verification: make test; make build

Summary: Adds authenticated POST /webhooks/thoughts for external JSON ingestion, thought metadata normalization, sanitized webhook source metadata, and idempotency-key duplicate handling.

Implemented in PR #39 Branch: issue-8-webhook-ingestion Commit: fe8267828043f030795da2d9164e933b7189c299 Verification: make test; make build Summary: Adds authenticated POST /webhooks/thoughts for external JSON ingestion, thought metadata normalization, sanitized webhook source metadata, and idempotency-key duplicate handling.
Member

Update for PR #39

Branch: issue-8-webhook-ingestion
Commit: e459775740
Verification: make test; make build

Note: CI workflow was also updated to build the embedded UI before go test/go build so clean runners have internal/app/ui/dist available.

Update for PR #39 Branch: issue-8-webhook-ingestion Commit: e459775740993452ea2175b0f3ec719c27ebc13b Verification: make test; make build Note: CI workflow was also updated to build the embedded UI before go test/go build so clean runners have internal/app/ui/dist available.
Member

Closing after verification: PR #39 (#39) was merged on 2026-07-15T04:35:20Z and implements this issue. Verification recorded in the PR/issue comments: make test; make build.

Closing after verification: PR #39 (https://git.warky.dev/wdevs/amcs/pulls/39) was merged on 2026-07-15T04:35:20Z and implements this issue. Verification recorded in the PR/issue comments: make test; make build.
Sign in to join this conversation.