An event-driven AI notes platform that never drops a call
Three cooperating services: one that generates meeting notes, one that audits and repairs missed work, and one that feeds the results to analytics.
- Client
- A large enterprise sales organization
- Period
- 2025–2026
- Environment
- Azure, Kubernetes (AKS)
- Delivered by
- MonTek's founderIn a prior engagement
The challenge
Every sales meeting holds useful insight, but turning a long conversation into a clear, structured summary takes time nobody has. At scale, the system doing that work also has to be dependable: events get dropped, services restart mid-task, and records can be left half-processed. And once the results live in an operational database, the analytics team still cannot easily ask questions of them.
Service 1: Event-driven meeting notes
When a call ends in the revenue-intelligence platform, a webhook starts the service. It fetches the full transcript, runs it through a custom prompt on Azure OpenAI, generates organized meeting notes and emails them to the right people.
- Built not to lose work: events are queued through Azure Event Hub, call records are persisted in MongoDB and retries are built in at every layer. If a call's brief is not ready yet, the record stays pending and is picked up on the next cycle.
- Debuggable in production: correlation identifiers flow through every log line.
- A second capability: email summarization for large partner events, aggregating messages from multiple mailboxes with two-stage LLM summarization into clean digests for stakeholders.
Service 2: A self-healing reconciliation engine
This service is the safety net. It periodically audits every recorded call against the processing database, finds anything missing, pending or failed and re-triggers processing, so no call is silently lost.
- Streaming design: a bounded blocking queue streams call identifiers as pages arrive, while processing and writing proceed on earlier pages in parallel. Work starts immediately and memory use stays flat regardless of data size.
- Enterprise batch framework: Spring Batch with chunk-based processing, tunable parallelism per environment, exponential-backoff retries and structured logging per call.
- Flexible triggers: a cron schedule or a REST endpoint for ad-hoc runs.
Service 3: A durable pipeline to the data warehouse
A Temporal workflow runs daily: it reads a watermark from the warehouse, fetches only records that changed, enriches them with metadata from the source API, transforms them into the warehouse schema and merges them with a key-based MERGE statement, so re-runs are always safe and idempotent. The result is a dataset analysts can use in BI dashboards.
Results
- Meeting notes delivered automatically after each call.
- A safety net that finds and repairs missed, pending and failed calls.
- A fault-tolerant path from operational data to analytics, safe to re-run.
Building event-driven or data-heavy systems?
We design for retries, idempotency and observability from the start.