Spring '26 · Agentic OS
An operating system
for the way AI actually works
Entities, layered context, persistent memory, QA-gated workflows, installable packs, and enterprise SSO — all tied together through a single desktop surface and a per-tenant isolated data plane.
Chat that already knows the client
Bind any conversation to an entity and project. Workjet merges your institutional SOPs, the entity's brief, and the project's context — automatically, as a system preamble the model sees before a single token of user input.
- One-click pick, persisted across sessions
- Works across SAML, OIDC, and API-key auth
- Zero prompt engineering on the user's side
## Agency identity
We are a performance marketing agency. Specialization: paid media
+ conversion optimization for DTC e-commerce and B2B SaaS.
## Voice
- Client-facing: confident, direct, data-first. Always lead with
the data, then the recommendation.
## Entity · Acme Corp
Industry: DTC athletic apparel · Monthly ad spend: $62k
Target ROAS: 4.0 · Primary platforms: Meta, Google, TikTok
## Project · Q2 campaign launch
Brief: launch the "Summer Sprint" creative set across Meta +
TikTok. Freeze budget reallocation until day 14. See exactly what the model sees
Every context layer is inspectable from the chat bar. Trace a model response back to the SOP, the entity brief, or the project preference that steered it — without leaving the app.
- Assembled from the real
/context/previewendpoint - Inline layer badges show which ones fired
- Great for onboarding new reviewers to the loop
Workflow runs meet the Activity view
Assistant turns, scheduled engines, and multi-step workflow runs all land in one chronological feed — with tokens, cost, duration, and a one-click jump back to the workflow that fired.
- Filter by kind, status, or trigger
- Auto-refresh while a run is still streaming
- Click any row for full tool-call + QA trail
| Started | Name | Kind | Status | Cost |
|---|---|---|---|---|
| 2m ago | Monthly client report | Workflow | success | $0.142 |
| 18m ago | Creative fatigue detector | Assistant | success | $0.019 |
| 41m ago | Inbound lead triage | Engine | running | $0.004 |
| 1h ago | Weekly ROAS recap | Workflow | success | $0.088 |
| 2h ago | Full campaign audit | Workflow | error | $0.201 |
| 3h ago | SOW drafter | Assistant | success | $0.038 |
Install a pack (optional)
A pre-configured bundle for a type of business — entity schema, role profiles, skills, and workflows.
One pack. A whole business shape.
A .pack.json ships the entity schema, institutional context, role profiles, skills, workflows, and automations your team needs. Install one at onboarding and you're already operating.
- Idempotent — re-installing upgrades in place
- Institutional context is never overwritten after edits
- Author your own or publish to the marketplace
Memory you can actually audit
Every meaningful act writes to the event log. A nightly compactor folds the day into curated entries. Skills read curated summaries; humans can crack the raw stream open any time.
- Scoped: institutional · entity · project · team
- Raw events never mutate — only compress
- Curated entries are searchable + taggable
| Occurred | Scope | Kind | Body | Compressed |
|---|---|---|---|---|
| 14:02 | entity acme-c0 | client.review_sent | Monthly recap approved. Gate 3 score 4.6. | — |
| 13:40 | project q2-48 | creative.fatigue_flagged | Spring Refresh set crossed 38% on day 21. | — |
| 12:18 | team | skill.installed | "Creative Fatigue Detector" v1.3.0 | — |
| 09:51 | entity acme-c0 | client.note_added | Contract renewal discussion moved to May. | Apr 19 |
| yesterday | institutional | sop.updated | Reporting turnaround tightened to 36h. | Apr 18 |
Rate accuracy, relevance, format, actionability, and tone (1–5). Feeds the rolling QA scorecard.
- Apr 16 · a5·r5·f5·x4·t5 · Σ 4.8 — exemplar
- Apr 09 · a4·r4·f5·x4·t5 · Σ 4.4
- Apr 02 · a5·r5·f5·x5·t5 · Σ 5.0
QA that drives the rolling scorecard
Reviews carry structured scores, not just approvals. Every sub-score feeds the 30-day rolling scorecard surfaced to leadership — with automatic flagging when a sub-score crosses its threshold.
- Inline for reviewers — no second tool needed
- Flag thresholds configurable per tenant
- Scorecard breaks down accuracy / tone / action independently
Every tenant gets a first-class inbox
{slug}@inbox.workjet.dev routes straight to the tenant's isolated D1. Filter by unread, starred, or sender domain — use domain as an entity proxy to triage client mail in one click.
- Bodies rendered in-app (HTML or plaintext)
- Search across subject, sender, and preview
- Drops straight into the agent's context window
I'll loop Reece in. If Friday is tight, we can pilot just the TikTok cut on Thursday and hold Meta.
acme-marketinghttps://workjet.acme.comSSO, custom domain, billing — in the settings pane
The desktop app surfaces the enterprise identity that IT set up in the portal — read-only where it should be, with a TXT-challenge status so you can see when DNS verification lands.
- SAML 2.0 XML-DSig verified in-worker
- OIDC via JWKS + PKCE as the second path
- Custom domains verified via Cloudflare DoH
Author the entity type your business needs
Not an agency? Define a matter, a patient, an engagement, an account. Point a slug, some labels, and a few fields — Workjet wires the storage, indexing, and context layer behind it.
- Text · number · date · textarea primitives
- Packs ship types; you can fork + extend them
- Stored in the tenant's isolated data plane
Workspace profiles, authored by your team
Packs ship profiles. Your team customizes them. Each one preconfigures panes, skills, recommended connectors, and a daily open routine — so every role lands in the right room.
- Default-profile flag for new tenant members
- Pack-sourced profiles are forkable, not locked
- Switchable per-user without touching tenant state
Workflow authoring grows up
Reorder steps in place. Describe the run-time input shape in JSON so the run dialog renders a proper form. Pattern-pick between sequential, parallel, and QA-loop orchestration — same editor, same save.
- Per-step skill + input template with
{{prev.output}} - QA-loop retries with a score gate
- Run directly from the editor for a quick test
{
"clientId":{"type":"string","required":true},
"month":{"type":"string","placeholder":"2026-03"},
"comparison":{"type":"enum","values":["mom","yoy"]}
} - 1 Pull platform metricsmeta-google-fetcherremove
- 2 Detect fatigue windowscreative-fatigue-detectorremove
- 3 Draft narrative recapclient-report-writerremove
- 4 Critic pass (QA)report-criticremove
| Slug | Plan | Domain | Billing | SSO | Budget |
|---|---|---|---|---|---|
| acme-marketing t_acme-mar… | enterprise | workjet.acme.com verified | subscribed | SAML | $3.8 / $500 |
| lumen-partners t_lumen-pa… | pro | lumen.workjet.dev subdomain | subscribed | OIDC | $12.1 / $150 |
| rook-legal t_rook-leg… | pro | workjet.rooklegal.com | subscribed | SAML | $2.4 / $150 |
| harbor-health t_harbor-h… | free | default | none | off | $0.3 / $10 |
Every tenant field where you need it
Custom domains, Stripe subscription status, SSO provider — surfaced in the admin table and editable from the tenant drawer. Unverified domains expose their TXT challenge token for fast triage.
- Verified / pending-DNS badges
- SAML vs OIDC chip at a glance
- Editable without leaving the table
The operating layer is shipping.
Every screenshot on this page is real HTML rendered from the same tokens the desktop app uses. Join the beta and run it yourself.