CRM lead setup
Goal
Configure lead sources, statuses, scoring, web forms, assignment, and duplicate/convert policies.
Who it is for
Admin with crm.admin (stage/catalog edits that clerks need may also use crm.manage where API allows).
Preconditions
- Module crm enabled; permission
crm.adminfor CRM setup.
Steps
- Open Administration → Settings → Sales & customers → CRM setup.
- Options: assignment mode (unassigned / creator / round-robin team), convert rules (create opportunity; require email/phone/company), duplicate policy (allow / warn / block + match fields).
- Lead sources: manage Website, Referral, Trade show, Cold call, Partner, Web, Email, CSV import (and custom).
- Lead statuses: display names/colors mapped to lifecycle keys
new,contacted,qualified,unqualified,converted,merged— do not invent new lifecycle keys in Help or product logic. - Lead scoring, Web forms, Email inbox (IMAP import), Teams, Tags, Email templates as needed. Conversation visibility: classify each channel connection as a shared inbox (optionally bound to one sales team) or personal (an owner, optionally readable by the owner's team managers). Unclassified connections keep today's behavior: every CRM user sees their conversations. Comms ops health counts unclassified connections.
- Web forms: build fields (text, email, phone, number, URL, date, dropdown, single/multiple choice), preview the visitor form, then copy the hosted form URL, public schema GET, HTML snippet, or JSON example from Embed and integrate. Add the website origin to Allowed origins for third-party embeds; the hosted page posts same-origin. Ingest always requires a name (the hosted page and public schema add that field when the stored schema omits it). The hosted page includes Cloudflare Turnstile when
TURNSTILE_SITE_KEYis set. The marketing contact form uses the same site key viaVITE_TURNSTILE_SITE_KEY; the API fail-closes whenTURNSTILE_SECRET_KEYis set, so both keys and the marketing publish must go live together.
- Web forms: build fields (text, email, phone, number, URL, date, dropdown, single/multiple choice), preview the visitor form, then copy the hosted form URL, public schema GET, HTML snippet, or JSON example from Embed and integrate. Add the website origin to Allowed origins for third-party embeds; the hosted page posts same-origin. Ingest always requires a name (the hosted page and public schema add that field when the stored schema omits it). The hosted page includes Cloudflare Turnstile when
- Workflows: automate on CRM events (follow-up / notify).
Result
Capture, qualify, and convert behave according to tenant policy.