Propose AR Collections Email
Workflow #4 — a relationship-aware dunning email queued for approval. The approval IS the send gate; the human can edit subject/body at send.
Overview
MCP tool propose_ar_collection_email — agent-callable, but it only queues: it creates a pending proposal (Proposal CreatedProposal CreatedEventv0.1.0A propose_* command queued a mutation: a Proposal now exists in status `pending` with a freshly-minted per-card widget t...Ownervisionary-engineeringMapView docs) on the Approval Bus (command service — owns the queue)Approval Bus (command service — owns the queue)Servicev0.1.0The command side: owns the proposal queue. propose_* only queue; a cleared human approves in the card; only then does th...Publishesproposal-created, proposal-approved +3Subscribespropose-vendor-bill, propose-bill-date-correction +6Ownervisionary-engineeringMapRepoView docs and returns the approval card. No vendor write happens here. Watch the full lifecycle: Propose AR Collections Email — command lifecyclePropose AR Collections Email — command lifecycleFlowv0.1.0One propose_ar_collection_email call end to end: queue → human reviews AND CAN EDIT subject/body → approve is the send →...Ownervisionary-engineeringView flowView docs.
On approval ArCollectionsApplier (workflow #4)ArCollectionsApplier (workflow #4)Servicev0.1.0Applies an approved AR collections email: sends via Microsoft Graph sendMail. The approval IS the send gate; the human c...Publishesgraph-send-mailSubscribesproposal-approvedOwnervisionary-engineeringMapRepoView docs sends via Graph Send MailGraph Send MailCommandv0.1.0Sends the approved AR collections email via Microsoft Graph sendMail (app-only client credentials).Ownervisionary-engineeringMapView docs. The edit-at-send path (unique to this kind) snapshots the edited payload before apply, so the audit trail records what the human actually approved. Outward-facing: a live send reaches a customer — needs Mail.Send admin consent before live.
Response shape note (CQRS): the tool returns the public pending proposal (id, kind, summary, status) so the host can render the approval card — the command’s real “return” is the proposal id; the mutation result only ever exists on the proposal record after a human approves.
Reading this page: a message page renders its contract and its one hop — who sends it, who receives it (that is EventCatalog’s grain: message = contract). The service page shows this workflow’s full fan-out (its
sends); the flow shows the lifecycle step by step.
Input schema
Architecture diagram
Input (from the zod tool schema)
111Text HTML