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.comon 587. - Microsoft 365 — SMTP AUTH must be enabled per mailbox (off by default for tenants created after 2020). Run
Set-CASMailbox -SmtpClientAuthenticationDisabled $falsein PowerShell. Host:smtp.office365.comon 587. - SendGrid / Postmark / Resend — paste the API host (
smtp.sendgrid.netetc.) 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:
- Tighten access: /docs/permissions
- Build automations: /docs/api-reference
- Read the security model: /security