Skip to main content
ZombieMutex

30 results · ↑ ↓ navigate · Enter open · Esc close

← All projects

Project notebook / Voice agents

Implemented

Event-Driven CRM Integration

I implemented a voice-to-CRM event service with HMAC-verified webhooks, replay-window checks, tenant-scoped idempotency, duplicate detection and recovery after simulated downstream outages.

Discuss this project

What I built

  • Implemented HMAC signature and timestamp verification for event ingestion.
  • Implemented tenant-scoped event fingerprints, duplicate responses and explicit conflict rejection.
  • Implemented a simulated downstream outage with queued events and a reconciliation endpoint.

Experiments & checks

  • Duplicate event ID must not apply another write.
  • Same event ID with a different payload must be rejected.
  • A CRM outage must leave a recoverable queued event.
  • Cross-tenant updates must be denied before the CRM call.

Notes & limitations

I built the webhook receiver and mocked CRM event pipeline around duplicate delivery, replay windows, downstream outages and reconciliation.

Webhook callers require verification, tenant scope and a bounded replay window. Never accept a tool-generated tenant ID as authority.

Exactly once is not something you get for free because someone put a webhook in a slide deck.

Screenshots & media

Screenshot of the public ZombieMutex page for Event-Driven CRM Integration
Preview of the public project page or browser lab. This is not a screenshot of a private customer system. View full size ↗

Project updates

Dated notes tied to actual revisions of the site, not a simulated activity feed.

  1. Implementation notes revised

    Clarified what was built and how the integration boundaries were tested.

    Site revision aed2d3d

  2. Voice agent projects published

    Added five distinct implementation write-ups and supporting articles.

    Site revision 2d9a119

These entries reflect published changes to this website. The website repository is private; revision IDs are not public source links.

Discuss this project

Questions, ideas, minimal reproductions and corrections are welcome. Each project has its own public GitHub Discussion.

You can read without an account; posting requires GitHub sign-in. Keep private customer information, credentials and restricted material out of public threads.

Open this project's discussion