Roadmap

What's planned next for Owlat — the documented-but-unbuilt pieces still being wired, and the enhancements on our radar.

Roadmap

This is a living view of where Owlat is going next. It has two parts:

  1. Being wired — capabilities the product already references or scaffolds, but that are not fully implemented yet. These are honest gaps; the rest of the docs are written to match what actually ships today, and the unbuilt pieces are tracked here.
  2. On the radar — enhancements we think would make Owlat materially more useful. Each is grounded in something Owlat already does, so it is an extension rather than a rewrite.

Priorities run P0 (highest) to P3; effort is a rough S / M / L / XL. Nothing here is a commitment or a date — it's a direction.

What already exists

The bulk of Owlat is built. See The Future of Owlat for the full picture of what ships today, and Feature Flags for the toggles that turn each surface on. This page is deliberately about the parts that are not done.

Being wired (documented but not yet complete)

These are referenced in the product, the schema, or a feature flag, but are not fully implemented. Where a doc page used to imply one of these was finished, we've corrected it — and listed it here instead.

AreaPlanned capabilityWhat ships today
Campaigns / securityPre-send content and URL-reputation scanning for campaigns — a blocked or suspicious score moves the campaign to Pending review.Content scanning runs on transactional publish and on inbound mail; URL-reputation runs on inbound mail. Campaign sends are not yet gated by the scanner.
Team InboxInbound rejection of blocklisted senders.Block Sender adds the address to the suppression/blocklist and archives the current message; future inbound mail from that address is still accepted (not auto-rejected on receipt).
Knowledge GraphLLM-inferred relationship edges (ai.knowledge.autoLink), graph-augmented retrieval (ai.knowledge.graphRetrieval), and the knowledge-graph analytics dashboard (ai.knowledge.analytics).A deterministic relates_to structural linker runs after extraction, and retrieval is hybrid vector + full-text with reciprocal-rank fusion. The three flags exist as scaffolding; the LLM edge inference, graph-expansion retrieval, and analytics dashboard behind them are unbuilt.
Ask-anythingCross-source, LLM-synthesized answers with citations spanning the knowledge graph and the file store.quickQuery.ask runs a full-text keyword search over knowledge-graph entries only and returns the matching entries' content with their titles as sources — no file-store search, no vector retrieval, no LLM synthesis.
FilesAuto-capture of agent-generated output, and auto-linking captured attachments to the sender contact + thread.Inbound email attachments are auto-captured into the library on delivery (org-general, with the source Message-ID as provenance). Agent output is not auto-captured, and captured attachments are not yet linked to a contact or thread.
AutonomyA value-threshold human-review gate (requiresHumanAbove) and a ground-truth classification-accuracy signal.Per-category auto-approve thresholds and daily caps ship; requiresHumanAbove is referenced only in vision text. classification_accuracy is populated as a mean self-reported-confidence proxy, not a human-labelled ground truth.
ProvidersAlternative notification providers (desktop / webPush) and alternative vector stores (pinecone / qdrant / pgvector).NOTIFICATION_PROVIDER and VECTOR_STORE are declared but inert; Convex's built-in vector index is the only retrieval backend, and there is no notification dispatch.
ChannelsA second SMS provider (Vonage).The SMS adapter is Twilio-only; WhatsApp (Meta) and a generic webhook channel also ship.
MTAARC sealing (Authenticated Received Chain).DKIM key management + rotation, MTA-STS, and TLS-RPT ship; ARC sealing is intentionally not implemented.
Setup CLIowlat-setup env --show to list which variables a deployment needs for its current flag state.owlat-setup env <KEY> <VALUE> sets a variable; there is no --show listing yet.

On the radar

Ideas we'd like to build, grouped by area. Each builds directly on something Owlat already runs.

Email, campaigns & deliverability

IdeaWhat it unlocksEffortPriority
Per-recipient send-time optimizationPredict each contact's best send hour from their own open history (no extra send volume).LP1
Behavioral & date-based automation triggersStart automations on opened / clicked / didn't-open, N-days-inactive, or anniversaries — re-engagement and lifecycle journeys.LP1
List-hygiene / sunset policyAuto-suppress chronically unengaged contacts after a final re-engagement attempt, protecting sender reputation proactively.MP1
Pre-send inbox-readiness lintRun the rendered campaign through client-compat + deliverability checks (unsubscribe, text part, spam-word, link/image ratio) before send.MP1
Richer A/B testingFrom-name / preheader / send-time variants, more than two variants, and a significance-based auto-winner.MP2
AI subject-line & preheader assistantGenerate and score subject/preheader candidates in the composer and load the top two as A/B variants.MP2
Seed-list inbox-placement testingSend a campaign to operator-owned seed accounts and report inbox-vs-spam placement per provider.LP2

AI, agents & autonomy

IdeaWhat it unlocksEffortPriority
Agent eval harnessA golden set of past messages + accepted outcomes to score classify/draft quality before changing models, prompts, or thresholds.LP1
Learn-from-edits draft memoryCapture reviewer edits as per-category few-shot examples so the drafter converges on each team's house style.MP1
Agent actions beyond draftingLet the agent propose tag / assign / set-property / create-task / snooze actions through the same verification queue and autonomy gating as replies.XLP1
Groundedness guardrail + citationsAttribute draft claims to retrieved sources and downgrade ungrounded auto-sends to human review.LP1
Per-category / per-task model routingA settings UI mapping tasks/categories to model IDs over the env defaults, with per-route cost estimates.MP2
Custom tool / MCP registration for the assistantLet operators register MCP servers or declarative HTTP tools the @assistant may call.LP2
Thread summarization + daily agent digestOn-thread TL;DRs plus a daily email summarizing auto-sends, the review backlog, and category trends.MP2

Inbox, collaboration & CRM

IdeaWhat it unlocksEffortPriority
Internal notes & @mentions on inbox threadsPrivate collaboration on a customer conversation, reusing the chat mention infrastructure.MP1
Contact 360 side-panel in the inboxSurface properties, topics, lifecycle status, and a condensed activity timeline next to the thread.MP1
Snooze & follow-up reminders for team-inbox threadsBring the proven Postbox snooze model to shared-inbox threads so nothing waiting-on-customer slips.SP1
Saved-reply / snippet libraryReusable human-authored replies the agent can also draw on for routine answers.MP2
Thread tags/labels + saved viewsFree-form labels and saved filters so multi-function teams can carve the shared queue into lanes.MP2
Automated relationship intelligenceDerive engagement metrics and propose relationships (same domain, reply graph) from existing activity data.LP2
Calendar & schedulingBook-a-meeting links + ICS in email, reusing forms/public-route/transactional patterns.XLP3

Self-hosting, ops & admin

IdeaWhat it unlocksEffortPriority
Off-box backup targetsPush backups to S3 / Backblaze B2 / any rclone remote with retention, so a host loss doesn't take the backups with it.MP1
Proactive health alertingA cron that pages the owner (email / webhook / chat) when deployment health degrades, instead of waiting for someone to open the System screen.MP1
Pre-update snapshot + auto-rollbackThe updater takes its own backup before promoting and rolls back automatically if the new version fails to reach healthy.LP1
Prometheus /metrics exporterExpose queue depth, delivery/bounce rates, LLM spend, and agent metrics so Owlat folds into an existing monitoring stack.MP2
Scheduled secret rotationAn owner-facing rotation surface covering infra secrets, app API keys, and DKIM rollover, with audit history.MP2
In-app guided restore + restore-drillA one-screen restore flow plus an optional periodic drill that proves backups are actually restorable.LP2
Disk-space guardrails + support bundleWarn before the convex-data volume fills (the most common outage) and capture a one-command diagnostics bundle.MP3

Integrations, API & ecosystem

IdeaWhat it unlocksEffortPriority
Broaden the public v1 REST API + SDKsAdd campaigns, segments, automations, and forms resources (with matching scopes) so external systems can drive more than contacts/events/transactional/topics.LP1
Expand the outbound webhook event catalogAdd form.submitted, contact.updated/deleted, topic/automation/campaign lifecycle, and inbox.message.received events.MP1
More import providersHubSpot, Klaviyo, Brevo, and a generic CSV-from-URL importer on the existing provider registry.MP1
First-party n8n node + Zapier/Make appNo-code automation for the self-hosting teams who already run n8n next to their stack.LP1
OAuth2 third-party app authorizationOne-click, revocable, least-privilege grants instead of pasted API keys.LP2
Native MCP serverExpose Owlat's REST + knowledge/inbox read access as MCP tools to external AI clients.MP2
SDK webhook-verification helperswebhooks.verify(...) + typed event payloads in the JS and Java SDKs.SP2

Knowledge graph, files & data intelligence

IdeaWhat it unlocksEffortPriority
Interactive node-link graph explorerA visual view of entries and their typed relationships (supports / contradicts / supersedes / relates_to), expandable from a contact, entry, or search hit.MP1
Unified semantic searchExtend global search across knowledge entries, files, contacts, and messages with an optional vector leg.LP1
Real semantic file search in the Files UIWire the action-based vector search into the Files page and index AI summaries, tags, and extracted text.MP1
Auto-capture inbound attachments & agent outputsPersist received attachments (and agent-generated files) into the library, contact- and thread-linked.MP1
Knowledge-graph analytics dashboardImplement ai.knowledge.analytics: centrality, clusters, contradictions, orphans, and per-contact coverage.LP2
Scheduled email digests & reportsOpt-in weekly/monthly "your week in Owlat" summaries sent through the platform's own MTA.MP2
Workspace data export & portabilityPortable archives of knowledge, files, and analytics — beyond today's contacts-only CSV export.LP2
Have a request?

Owlat is open source. If something here matters to you — or something useful is missing — open an issue or a discussion on the repository. The roadmap follows what self-hosting teams actually need.