The task.assigned tone rides the TASK_ASSIGNED notification; TASK_CHANGED is gone
task.assigned now plays while the tab is visible, as every tone the deck rings does: the deck names no surface, so a playsWhenFocused:false tone there was heard...
Audit role and security changes; ARTIFICIAL template and AI floor in model endpoints
An emailed invitation keeps its recurrence, edited and cancelled instances
An invitation to one date of someone else's series stays the event it describes instead of being refused as an orphan instance, and a series whose organiser mov...
Relay notification frames to the phone; voicemail gets its own topic
Every pod relays core-NATS email.notify.<memberId> to /topic/notifications/<memberId> on its own broker, for KamoMobile's notification centre. voip.voicemail.* ...
Member profile AI state, relabel locks, immediate rights recalculation and audit
Guests hear about one moved or cancelled instance; invitations state the repeat
The instance's ics names the whole guest list and goes to every guest already told; a cancelled instance outranks every notice sent about it; an all-day invitat...
Status endpoints, a REST heartbeat, and guarded org and notification topics
Internal routes for credentials, the exchange, the roster, profiles, the charter and the sweep
Provision an AI member's mailbox for the SP02 MAILBOX hire step
POST **************** (spec E6, §4.12) behind KAMOAI_INTERNAL_SECRET: KamoMail creates <first.last>@<verified domain> (base, base2 … base99), other providers as...
Read ics from Google, Outlook and Apple — zones, dates, series and instances
An internal direct-message endpoint for chat lines other services write
Dovecot push endpoint; push-covered KamoMail mailboxes stop holding IMAP IDLE
Every chat sender goes through the one fan-out
Alerts, web-chat visitors, the AI Sales Agent, inbound social messages and the Exec2Exec desk now announce through ChatFanoutService: alerts reach the recipient...
AI member state, pause/resume/retire and hiring checklist endpoints
One ics writer for invitations, CalDAV and export — series, exceptions, zones
The default user may only PING
SP00 stage R3. Persists the runtime rule for a future start of redis-0: default keeps nopass for the unauthenticated readiness probe and may run PING and nothin...
Watch active AI members' mailboxes for arrivals
AiMailboxWatcher keeps a pod-local "ai" IDLE claim on every active AI member's IMAP-reachable mailbox (ARTIFICIAL, record active, membership ACTIVE), skips mail...
Pause, resume and retire AI members; org pause-all; the platform kill switch
Chat, routing and the model picker run on the registry; capability backfill replaces the pricing backfill
Hire AI members as seat-consuming team members with hire steps and no mail
Catalog and coverage, platform console API, internal registration and attestation, health sweep
Meeting emails wear the organizer's compose template; escape event fields
Invite, update, cancel and RSVP bodies are wrapped for the sending member and their data: images leave as cid: parts (InlineImageTransport). **************** su...
Free/busy that never widens visibility, and a slot finder over working hours
No transaction across the members (a Yugabyte read restart is transparent only as a transaction's first statement), one guest read for every member, zero-length...
Hire-step orchestrator with prerequisites, budget and replaceable handlers
One step's database failure no longer ends the sweep or a member's run: the step is logged and retried once due, and the steps behind it still run.
Send and drafts return Message-ID and UIDs, thread, wrap, dry-run, supersede drafts
Model endpoints — manual models, capability edits and verify, price rows, retire-not-delete
A context edit keeps an enabled LONG_CONTEXT in step, so the next capability write no longer restores the old value; a listed capability that needs details is r...
A status message, shown to your organization
The availability menu gains a status field under its choices; the member card and chat rosters show what a colleague said they are working on. Status text arriv...
Working hours from the timecard schedule, the AI charter, or the org default
A schedule set today counts for all of today, a day ending at its start is a 24-hour shift, only the window's own holidays are reported, and an unreachable Secu...
Server-side threading, quotes, forwards and the outgoing pipeline
Replies thread on the server (In-Reply-To/References from the original, capped at 20 ids), default their recipients and subject, and set \Answered after the sen...
MANAGER step and remote clients for every owner hire step
MANAGER and the mailbox/extension copy-back write one column each with a conditional UPDATE (only while empty) instead of saving the member entity: the sweep's ...
Provider endpoints on the registry — draft test, sync, verify, retire-not-delete, Provided-by-Kamo opt-out
Signature previews from the shared templates, identity from EmailService, AI disclosure
Server-built mail carries its icons as PNG parts and its data: images as cid: parts
Hire-step owner client with bounded timeouts that never throws
A final RuntimeException catch keeps the no-throw promise when the HTTP library rejects a URL before any I/O (a blank base URL leaves a relative one) or cannot ...
The API reads and writes occurrences by key, with scopes, recurrence and IANA zones
Event windows bind as Instants, so a whole-second or offset instant is read (a Date read only the millisecond form, and its failure answered 404); a malformed q...
Like what you see shipping?
All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.
