CRM: lead capture, qualification and pipeline
The CRM turns the people who reach you — on WhatsApp, through web forms, click-to-chat links, your own apps and CSV imports — into leads, scores and routes them, and tracks them as deals through your sales pipeline until they are won or lost. It is included on the Starter plan and above (CRM in the project menu).
Concepts
| Lead | The sales record of one contact: source, score, qualification, owner, status (new → working → qualified, or disqualified/archived). A contact has at most one open lead; capturing the same person again updates it. |
| Qualification | MQL and SQL from the score (thresholds in settings); SQL also needs the details you mark as required. People can override it. |
| Deal | An opportunity in a pipeline stage with a value, owner and expected close date. Converting a lead creates its deal. |
| Pipeline | Ordered stages with win probabilities (weighted forecast). Every pipeline has one Won and one Lost stage. |
| Company | Groups contacts, leads and deals. Leads with a business email are linked to the company with that domain. |
| Tasks & notes | Follow-ups (call, WhatsApp, email, meeting, to-do) with due dates and reminders; internal notes. |
1. Capture
WhatsApp (needs the team inbox). In CRM → Settings → General → Capture, choose how inbound conversations become leads:
- Every new conversation — anyone without an open lead (not again within N days of their last lead closing).
- Messages with keywords — e.g.
price, demo, quote; whole words or phrases, any language. - Let the AI decide — the AI reads the conversation and creates a lead for sales enquiries (pricing, demos, bookings, partnerships), not for support or chit-chat.
Messages from a person with an open lead update it (message counts, AI insights), whatever the mode.
Click-to-chat links (Settings → Click-to-chat). A short link or QR code opens WhatsApp with your text and a short
reference such as (ref: K7M2Q9). The first message carrying it becomes a lead attributed to the link and its UTM tags,
in every capture mode. Put links in ads, your Instagram bio, flyers and email signatures.
Web forms (Settings → Forms). Each form has a hosted page and an embed snippet:
<script src="https://app.whatstig.com/embed/v1.js" data-whatstig-form="YOUR_FORM_ID" async></script>
The form loads in an iframe, grows with its content, and records your page URL and utm_* parameters. List the
websites allowed to embed it; other sites cannot frame it. An optional consent checkbox records an opt-in with its proof
(text shown, time, page) — nothing else opts a person in. Bots are filtered by a hidden field, a minimum fill time and
optional Cloudflare Turnstile. Add a "Continue on WhatsApp" number to move people straight into a chat.
API. POST /v1/leads from your apps (see the CRM API). CSV imports (Contacts → Import) can
create a lead per row with a source label, owner and field mapping.
2. Qualify
- Custom fields (Settings → Fields) for leads, deals and companies: text, number, currency, yes/no, date, select, multi-select, email, URL, phone.
- Scoring rules (Settings → Scoring): conditions on fields, custom fields, source, UTM tags, contact tags, engagement (messages, form submissions, days since created or last activity), AI signals (intent, urgency, sentiment) and phone prefixes. Matching rules add (or subtract) points. Changing rules rescores open leads in the background; time-based rules are re-evaluated nightly. Preview scores recent leads before you save.
- Thresholds (Settings → General → Qualification): MQL and SQL scores, details required for SQL, and whether SQL
leads are moved to Qualified automatically (
lead.qualifiedwebhook).
AI qualification (needs an AI provider; uses your organization's AI budget):
- Fill lead fields reads conversations and fills name, email, title and the custom fields you mark "AI may fill", with a confidence threshold, plus intent, urgency, sentiment, a summary and what is still unknown. Values set by a person, a form or your API are never overwritten; AI-filled values are marked ✨ until someone edits them.
- Ask for missing details: when the AI assistant answers customers, it may ask for one missing detail per reply, up to a limit per lead, and never when the customer is upset or asking for support.
- Hand over when sales-qualified: the assistant stops and the conversation goes to the lead owner.
3. Route and respond
- Owners: set by hand, by the form or link, or automatically (Settings → General → Speed to lead and routing). Assignment rules (Settings → Assignment) are checked in order — a specific person, a team (round-robin or fewest open leads), everyone round-robin, or whoever has the conversation — then the fallback.
- Speed to lead: a first-response target (minutes, optionally business hours from the inbox settings). The first
reply typed by a person — in the inbox or on the phone — or a completed call/WhatsApp task answers it. Leads that miss
it are flagged late, the owner is notified and
lead.sla_breachedis sent. - Visibility: everyone sees every lead, or agents see only their own, their teams' and unassigned leads and deals.
4. Work deals
Convert a qualified lead (Convert to deal): choose the pipeline, stage, value and expected close date; a company can
be created on the way. Drag deals across the board (or use Move to…); moving into Won or Lost closes the deal and
sends deal.won / deal.lost. Stages can flag deals idle for too long. The Reports tab shows the funnel (leads →
MQL → SQL → converted → won), sources, speed to lead, pipeline value and weighted forecast, win rate and a team
leaderboard.
Privacy
Erasing a contact deletes their leads, notes, tasks, timeline and form submissions; deals and companies stay without the link. Raw form submissions and link clicks are kept for 90 days. IP addresses are stored only as salted hashes.
Plans and limits
| Free | Starter | Business | Enterprise | |
|---|---|---|---|---|
| CRM | – | ✓ | ✓ | ✓ |
| Leads per project | – | 2,000 | 100,000 | unlimited |
| Pipelines per project | – | 1 | 10 | unlimited |
| Lead forms per project | – | 3 | 50 | unlimited |