This repo is the starting point for the Owl's Watch Partners CRM app.
This is not a traditional CMS.
The immediate business need is partner and outreach management:
- operators
- agencies
- contacts
- outreach history
- visit tracking
- follow-up tasks
- campaign segments
So this repo should become the Owl's Watch Partners app.
Within the Owl's Watch platform:
Hubowns login, shell, invites, and handoffPMSowns reservations and finance truthChatbotowns guest conversation workflowPartnersowns operator and agency relationship workflow- a true
CMScan still exist later for reusable content and assets
Build a lightweight CRM for outreach campaigns so Owl's Watch can track:
- who exists
- who has been contacted
- who has not been contacted
- who has visited
- who has not visited
- what outreach happened by email, WhatsApp, or phone
- what the next follow-up action is
The first implementation includes:
- Hub handoff auth route at
/auth/handoff - local Partners session handling
- PMS-style shell-context auth for Hub and internal runtime callers
- dashboard
- organizations list and creation
- organization detail with contacts, outreach touches, and follow-up tasks
- follow-up queue
- tool discovery at
/.well-known/ow-tools - PMS-style machine-token auth through Hub-issued agent tokens
- read, draft, guarded-write, and restricted tools at
/api/tools/[tool] - write audit logging for guarded and restricted tool calls
The current app expects these variables:
DATABASE_URL: Postgres database for Partners dataOW_PARTNERS_SESSION_SECRET: local session signing secretOW_MODULE_HANDOFF_SECRET: Hub-to-Partners handoff verification secretOW_AGENT_TOKEN_SECRET: shared secret used to verify Hub-issued machine tokens foraud: "partners"OW_INTERNAL_SHARED_SECRET: shared shell-context secret for Hub and internal runtime callsRESEND_API_KEY: Resend API key for app-triggered email sendsOW_PARTNERS_EMAIL_FROM: verified sender, for exampleinfo@owlswatch.comOW_PARTNERS_EMAIL_REPLY_TO: reply target, for exampleinfo@owlswatch.com
Recommended email setup:
- use Resend to send from
OW_PARTNERS_EMAIL_FROM - route replies back to the Owl's Watch inbox through
OW_PARTNERS_EMAIL_REPLY_TO - if both should be the same inbox, set both to
info@owlswatch.com
Build in this order:
- organizations
- contacts
- outreach touch timeline
- follow-up tasks
- visit tracking
- filtered outreach views
- draft tools for outreach copy
This app should follow the Owl's Watch platform standards:
- service-layer business logic
- narrow tool contracts
- actor metadata
- permission enforcement
- property/workspace context where needed
- auditability for meaningful writes
The next coding pass should scaffold the app around those rules from day one.