This is an official Reference Implementation of a modern Next.js SaaS project integrated with the OpenVerb CRM Ecosystem.
It demonstrates how a "Developer-Native" CRM can be "slid" into an existing architecture using the Master Template pattern. Instead of a rigid NPM package, the entire CRM engine and dashboard are injected directly into your source code—giving you 100% control over the UI, branding, and database.
This project is built on two core principles:
OpenVerb CRM operates over a generic db object interface found in lib/crm/store.ts.
- By default, this repo uses a high-performance in-memory mock for instant testing.
- To swap for production: Simply update the
dbexport inlib/crm/store.tsto point to your live Prisma, Drizzle, or Supabase client.
The lib/crm/email-adapter.ts translates standard OpenVerb actions (like draft.send) into your provider's API. Native support for Resend, Postmark, Sendgrid, and AWS SES.
This implementation includes the OpenVerb "Phone-Home" Engine.
- The app performs a secure handshake with the OpenVerb.org Registry on every boot.
- It verifies its
CRM_LICENSE_KEYto unlock Tier-specific features (Enterprise Federation, AI Roles, etc.).
- Clone the Repo
- Install Dependencies:
npm install - Configure Environment:
- Copy
.env.exampleto.env - Set your
CRM_APP_ID,CRM_LICENSE_KEY, andCRM_REGISTRY_URL.
- Copy
- Run the App:
npm run dev - Visit the Dashboard: Hit
/inboxor/contactsto see the live CRM in action!
You can always refresh the core logic or UI components without losing your customizations by running:
npx @openverb/crm init