Skip to main content
← Back to docs

Docs · Getting started

Set up Prax CRM end-to-end.

From sign-up to your first imported lead in under ten minutes. Six steps, no shell, no support ticket.

1. Sign up & claim a workspace slug

Go to praxcrm.com/signup. Pick the industry that's closest to your business — you can move later if needed but the picker drives default fields, dashboard tiles and which integrations land first.

Choose a workspace slug. It must be 2–32 lowercase letters/digits/ hyphens, must start with a letter, and can't be one of our reserved tokens (login, signup, setup, pay, portal). Your workspace will live at app.praxcrm.com/<industry>/<slug>.

Brand-new signups land in our manual-review queue (typically <1 business day). You'll get a sign-up confirmation email immediately, and a "you're live" email once we activate.

2. Turn on 2FA before doing anything else

From Admin → Settings → 2FA, you have two options and you should turn on at least one:

  • WebAuthn passkey — Touch ID, Face ID, Windows Hello, or a hardware key like a YubiKey. The fastest, most phishing-resistant option. Click "Add passkey", confirm with the device prompt, name the credential ("Macbook Air"), done.
  • TOTP authenticator — Google Authenticator, Authy, 1Password, Microsoft Authenticator, etc. Scan the QR code, enter the 6-digit code to confirm. Save the 10 single-use recovery codes somewhere safe — they're shown once.

Both factors are available on every plan. Recommend doing this first because every irreversible admin action (delete user, mass export) is gated on having a recent MFA challenge.

3. Connect your SMTP

Workspace-originated emails — invites, leave-decision notices, force-logout alerts — go from your domain when SMTP is set, otherwise they fall back to the platform default. Configure under Admin → Settings → Email.

Pick a preset:

  • Google Workspace — turn on 2-Step Verification on the sender account, then create an App Password and use that as the SMTP password. Host: smtp.gmail.com, port 587, STARTTLS.
  • Zoho Mail — generate an App Password from Zoho Account → Security → App Passwords. Host: smtp.zoho.com on 587.
  • Microsoft 365 — SMTP AUTH must be enabled per mailbox (off by default for tenants created after 2020). Run Set-CASMailbox -SmtpClientAuthenticationDisabled $false in PowerShell. Host: smtp.office365.com on 587.
  • SendGrid / Postmark / Resend — paste the API host (smtp.sendgrid.net etc.) and the provider's API key. Verified-sender requirement applies.

Hit Send test. If the test email lands in spam, that's a DKIM / SPF / DMARC issue at your end — fix it before sending invites at scale, otherwise your team's invites will land in junk too.

4. Invite your team

From Admin → Users → Add user, enter email, name, role (admin / employee / customer), and pick a designation. The designation drives which tabs and buttons they see — see /docs/permissions.

Each invited user gets an email from your SMTP with a one-time sign-in link. They set their own password on first sign-in. To bulk-invite, use Admin → Users → Import CSV — see the name, email, role, designation, department, baseSalary template linked from the modal.

5. Import existing data

Most teams arrive with leads in a HubSpot or spreadsheet export. Drop the CSV on the Leads tab; the importer previews the column mapping (name → name, email → email, etc.) and you confirm. Imports are idempotent — re-running the same file updates rows in place rather than creating duplicates, keyed by email.

For deeper fields (vendors, attendance history, payroll bands) each tab has its own importer with its own template. The CSV templates always download from the import modal.

6. Send your first lead from a website

Generate a workspace API key under Admin → Settings → API Keys. Use it on your website's contact form to push leads directly:

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

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

The endpoint is CORS-permissive — you can POST from a browser. Tag keys with a source ("Web", "FB Ads", "Google Ads") so the lead row inherits the source automatically. Full reference at /docs/api-reference.

That's it

You now have a working multi-tenant CRM with hardened auth, tenant-isolated data, SMTP from your own domain, and a public REST endpoint. Next stops:

Stuck somewhere?

Email support@praxcrm.com — we read every message.