Skip to content

Start here

TandemCRM is a CRM engine you add to a Node app with Postgres. Your app keeps its own interface, authentication, database connection, and business rules. Tandem supplies a durable record for leads, sales activity, agent onboarding, lead ownership, commissions, and disputes.

You need a Postgres database you can experiment in. One command applies Tandem’s migrations, runs a health check, and adds a small demo workspace.

Terminal window
npx tandem-crm init --database-url "$DATABASE_URL" --sample-data

Use a connection string for the database owner or a superuser, since it has to create the tandem schema. The command finishes by printing a TANDEM_WORKSPACE_ID. Keep it, because your app uses it to say which workspace it is working with.

To start with an empty workspace, replace --sample-data with --admin-user-id <uuid>, using an ID from your own login system. Tandem never creates user accounts itself.

If you want a working admin screen straight away, add the admin UI to a Next.js app. It takes one config file and one route.

If you are building your own interface, use the engine directly. Read these first:

Then choose the module that matches the workflow you are building:

Not sure whether Tandem fits your project? What you can build with it shows a few real setups and where it is the wrong tool.