Select an inbox item
Choose a lead or message from the work queue.
- Select an item to see AI notes.
Draft reply
Select an inbox item to review a draft reply.
Sign in
Use one account to access every CraftOS workspace you belong to.
Login code
We sent a 6-digit code to your email. It expires shortly.
Loading
Workspace
Signed in as samuel@example.com
Today
Check Workspace Settings before importing new leads.
Active work, production status, and jobs needing attention.
Harbor Dental · maya@harbordental.example
Artwork proof · Awaiting client approval
Confirm finish note before production. Keep proof history attached to Drive folder.
Project action
CraftOS action
Confirm action
Review this action before continuing.
Project profit, ecommerce profit, expenses, and targets.
Uses paid project profit, paid ecommerce profit, and dated expenses for the selected Finance date range.
A tax-friendly expense summary grouped by category, with source rows from the Finance expenses register.
Ledger Detail / Transaction Detail Report for finalised CraftOS transactions. FY26 defaults to 1 July 2025 through 30 June 2026.
Enter profit and margin. Finance calculates required revenue and allowed cost from those targets.
Quotes, invoices, and payment requests use the existing CraftOS document API. Sending always requires explicit approval.
Select a client or project to begin.
Document
You have unsaved changes. What would you like to do?
Imported orders, fulfilment, and commerce profit.
Templates, campaign planning, sent-email audit, and opt-in customer lists.
Build branded marketing templates using the existing CraftOS email renderer. Save and preview are wired; sends remain disabled.
Campaign creation is planned around explicit audience snapshots, provider readiness checks, and separate test/customer-send approvals.
Subject, preview text, content blocks, audience, and readiness checklist.
Slice 2+Test sends and customer sends stay separate provider actions with explicit confirmation.
No sends nowEvery send should create immutable delivery records and provider IDs.
Model pendingRead-only audit surface for marketing deliveries. No send, resend, or provider mutation controls are present in Slice 1.
Delivery rows should appear only after backend campaign-send records exist.
Lists should be built from CraftCart customers who have accepted marketing, with unsubscribe and suppression checks before any send.
Select an ecommerce order.
{"order":"#EC-1048","provider":"Shopify","paid":true,"fulfilment":"unfulfilled","customer":{"name":"Maya Chen","email":"maya@harbordental.example"},"totals":{"revenue":1240,"cost":720,"profit":520}}
Lookup and linked work
maya@harbordental.example · (555) 014-2210 · Portland, OR
Prefers approval links by email. Reception desk material changed from walnut to white oak.
Connection hub
Used for Australia Post delivery exports and future fulfilment provider defaults. Export sender fields use these exact values; blank fields stay blank.
Used on quotes, invoices, and client-facing documents.
No file selected
Brand colour appears on document headers, approval buttons, and client-facing accents.