Skip to main content

Documentation

Set up Prax CRM
in under an hour.

Self-serve guides for setup, permissions, imports, and the REST API. New sections land as features ship — bookmark this page.

Workspaces & users

Multi-tenant model, roles, designations, custom domains.

Marketing & reporting

Daily Lead Report XLSX, interactive distribution charts, by-year / make / model / part breakdowns.

Imports & integrations

CSV imports, API keys, webhooks. Bring your data, plug in your stack.

Email (SMTP)

Send invites and notifications from your own domain.

REST API

Lead intake, webhook signatures, rate limits, errors, versioning.

Getting started

Sign up at praxcrm.com/signup. Pick your industry, claim a workspace slug (acme), and provide an admin email. Your workspace lands on the pending-review queue; we'll have it active within a business day.

Invite your team

From Admin → Users → Add user, enter the employee's email and pick a designation. They'll receive an invite email from your workspace's own domain (configure SMTP first — see below). Each user gets a temporary password they change on first sign-in.

Tour the admin portal

The sidebar groups every feature: Overview, Lead Assignment, Sales, Marketing, HR, Calls, Email, Documents, Payments, Reminders. Each tab respects the per-feature access matrix — roles see only what they're allowed.

Workspaces & users

Every Prax CRM tenant is a workspace. Workspaces are isolated at the database level: every list query is indexed by workspaceId, every mutation re-checks the row's workspace before patching. Cross-tenant data leaks are not possible by design.

Roles vs designations

Role is one of admin, employee, customer. It's the coarse level of access. Designationis the fine-grained template — "Sales Rep", "Backend Manager", "Accountant" — that drives which buttons show on which tabs. Designations are configured in Admin → Access Control.

Custom domain (Enterprise)

On Enterprise plans you can run the portal at crm.yourcompany.com with TLS we manage. Add the CNAME in the admin panel; we provision the certificate automatically.

Permissions

Every feature has four actions: view, create, edit, delete. The matrix toggles which designations get which actions on each feature. Toggles are enforced server-side — hiding a button in the UI is convenience, not security. The backend re-checks every privileged action.

Per-user overrides

Most teams stay on designation-based permissions, but you can override any single user from Admin → Users → ⋯ → Permissions. Useful for temporary delegation (vacation cover, training).

Audit log

Every create, edit, and delete writes to Admin → Agent History — who, what, when, on which record. Filter by user or entity type. Read-only and workspace-scoped.

Imports & integrations

Bulk-import leads, vendors, and users from CSV via the import buttons on each tab. Each import is idempotent: re-running on the same data updates rows in place rather than duplicating. Sample CSV templates are linked from the import modal.

Workspace API keys

Generate a workspace-scoped API key under Admin → Settings → API Keys. Use the key in an Authorization: Bearer wsk_... header to call our public REST API from your own backend. Keys are hashed at rest; revoke any key without affecting the others.

Webhooks

Stripe and Razorpay webhooks land at /api/webhooks/stripe and /api/webhooks/razorpay on the Convex backend. Both endpoints verify the provider signature against STRIPE_WEBHOOK_SECRET / RAZORPAY_WEBHOOK_SECRET with a 5-minute replay-protection window.

Email (SMTP) — Google Workspace

  1. Enable 2-Step Verification on the sender Google account.
  2. Create an App Password at myaccount.google.com/apppasswords. Pick "Mail" / "Other".
  3. In Admin → Email (SMTP), pick the "Google Workspace" preset. Enter the App Password as the SMTP password (not your account password).
  4. Set the From address to a verified sender at your Google Workspace domain.
  5. Hit "Send test" to verify. Check spam if it lands there — that's a DKIM/SPF DNS issue at your end.

Zoho Mail

Generate an App Password from Zoho Account → Security → App Passwords. Use smtp.zoho.com on port 587. Same flow as Google.

Microsoft 365

SMTP AUTH must be enabled for the mailbox in Microsoft 365 (it's off by default for tenants created after 2020). Ask your admin or run the PowerShell Set-CASMailbox -SmtpClientAuthenticationDisabled $false. Use smtp.office365.com on port 587.

REST API

All requests authenticate with a workspace API key in the Authorization header:

Authorization: Bearer wsk_<your-key>
Content-Type: application/json

POST /api/v1/leads/intake

Push a lead into the workspace from your own website / CRM without going through the dashboard:

POST https://<your-convex>.convex.site/api/v1/leads/intake
Authorization: Bearer wsk_...
Content-Type: application/json

{
  "name": "Jane Doe",
  "email": "jane@acme.com",
  "phone": "+1-555-0100",
  "source": "Website",
  "notes": "Interested in Growth plan"
}

Returns { ok, leadId, customerId, source } on success. CORS-permissive so you can POST from a browser.

Webhook signatures

Outgoing webhooks (when we add them) sign payloads with HMAC-SHA256. Incoming webhooks from payment gateways verify the gateway's signature against the secret you set in Convex env vars. See /security for the full handling policy.

Can't find what you need?

Email support@praxcrm.com — we read every message and ship docs around your questions.