Sales & channels

Lead Qualification & CRM

In this section you define who from a conversation becomes a contact (lead) and how valuable that contact is rated. Prezio automatically scores every lead using the BANT framework (Budget, Authority, Need, Timeline) and can additionally match it against your ideal customer profile ("ICP"). You reach these settings via the agent tabs "Leads" (scoring & CRM) and "ICP" (ideal customer profiles).

Note on "Advanced" mode: Many fields are only visible when Advanced mode ("Advanced") is active in the top right of the dashboard. In standard mode you only see the most important controls. In this guide, the advanced fields are marked with (Advanced mode only). All settings on the Leads page only take effect when you click "Save" — there is no automatic interim saving.


12.1 CRM mode: When does a contact become a lead?

This is the most important fundamental decision. It sits right at the top under "CRM".

Step 1 — "Create every contact as a lead" (auto_create_on_contact) - What it does: When the switch is enabled, every new conversation immediately becomes a lead — even if the AI has not yet detected a single buying signal. This is the classic CRM mode: you capture every contact without gaps. When the switch is disabled (default behaviour), a lead is only created when the AI itself decides it is worthwhile (it then internally calls the "capture_lead" tool). - Applies to all channels: SMS, WhatsApp, web chat and email. Important: phone calls ALWAYS create a lead, regardless of this switch — because with a call the phone number (and often the name) is already available through the telephone channel and is automatically carried over into the lead. - Default: Off. - Recommendation: For sales/acquisition and most business customers, switch it on — that way no prospect is lost. If your agent mainly answers pure support/info enquiries (restaurant opening hours and the like) and you do not want to maintain a contact list, leave it off.

As soon as you activate the switch, further fields appear:

Step 2 — "Default status without signal" (default_status_no_signal) - What it does: Which status is assigned to a freshly created lead while the AI does not yet have any scoring signals. As soon as points are gathered later and the thresholds (Section 12.3) are exceeded, the status automatically changes to e.g. "qualified" or "nurturing". - Options: new (New), information (Info enquiry), contacted (Contacted), nurturing (Nurturing), qualified (Qualified), unqualified (Unqualified). - Default: new (New). - Recommendation: Leave at new. Only use information if virtually all first contacts are pure info enquiries.

Step 3 — "Informational keywords" (informational_keywords) (Advanced mode only) - What it does: A list of keywords (enter comma-separated, e.g. opening hours, directions, support). If one of them appears in the conversation text, the lead is forced into the information status — ideal for separating pure enquiries from the real sales funnel. The search is a case-insensitive substring search ("open" also finds "opening hours"). - Default: Empty. - Recommendation: Enter 3–8 typical enquiry terms from your industry. Be wary of overly general words (e.g. "price") that genuine buyers also use.

Step 4 — "Link repeat contacts" (link_repeat_contacts) (Advanced mode only) - What it does: When enabled, an already known contact (same email/phone) is linked to the existing lead (flagged as a duplicate) instead of creating a new lead every time. This keeps your list clean. - Default: On. - Recommendation: Leave it switched on.


12.2 Disqualification filters

This block (the "Disqualification" card) runs before the actual AI scoring. If a rule applies, the lead is immediately discarded as "unqualified" and the expensive AI call is saved.

Step 5 — "Blocked domains" (blocked_domains) - What it does: A list of email domains (comma-separated, e.g. competitor.com, spam.com). If the lead's email address comes from one of these domains (everything after the last @, case-insensitive), it is immediately disqualified. Empty list = rule off. - Default: Empty. - Recommendation: Enter domains of competitors or known spam sources.

Step 6 — "Free email domains" (free_email_domains) (Advanced mode only) - What it does: As above, intended for disposable/private addresses (e.g. gmail.com, gmx.de) when you only want business contacts. - Default: Empty. - Recommendation: In B2C business, leave empty — otherwise you lock out your real customers. Only useful in pure B2B sales.

Step 7 — "Duplicate window (days)" (dup_window_days) (Advanced mode only) - What it does: If the same email/phone number appears again within this span of days, the new lead is disqualified as a duplicate. - Default: 90. A value of 0 turns off this window check (the general duplicate detection from Section 12.6 keeps running). - Recommendation: 90 is a good middle value.

Step 8 — "Strict required fields" (strict_required_fields) (Advanced mode only) - What it does: When enabled, a lead is disqualified as soon as one of the fields defined under "Required fields" (Section 12.7) is missing. When off, the missing field is merely noted, but the lead is kept. - Default: Off. - Recommendation: Leave off, unless you really only want fully completed leads.


12.3 Scoring thresholds

The "Thresholds" card. These two numbers decide from what score (0–100) a lead counts as hot or warm.

Step 9 — "Qualified from" (qualified_threshold) - What it does: The score from which a lead counts as qualified (a sales opportunity). Range 0–100. - Default: 70. Recommendation: 70 to start with, then fine-tune based on actual deals.

Step 10 — "Nurturing from" (nurturing_threshold) - What it does: The lower threshold: from here a lead lands in the "nurturing" status (not yet ready, but worth staying on it). Range 0–100. - Default: 40. Recommendation: Keep it well below the qualified value (e.g. 40 vs. 70).


12.4 BANT weighting

The "Weighting" card. Here you distribute how strongly each dimension feeds into the BANT score. Each slider runs from 0 to 50 in steps of 5; at the top a badge shows the sum (Σ), which ideally adds up to 100 (if it does not, a red warning appears — but saving is not blocked).

Step 11 — The six sliders: - Budget (budget_weight) — Default 25: indications of available budget. - Authority (authority_weight) — Default 20: Is a decision-maker speaking? - Need (need_weight) — Default 20: Clearly stated business need. - (Advanced mode only) Timeline (timeline_weight) — Default 15: Stated time horizon. - (Advanced mode only) Contact details (contact_weight) — Default 10: Email/phone left behind. - (Advanced mode only) Engagement (engagement_weight) — Default 10: Follow-up questions, detailed replies, own initiative. - Recommendation: Start with the default values (sum 100). In standard mode only the first three sliders are visible — anyone wanting to fine-tune switches to Advanced mode and makes sure the sum adds up to 100 again.


12.5 Behaviour & score decay

Step 12 — The "Behaviour" card: - "Auto-qualify" (auto_qualify) — Default Off: Automatically sets leads that reach the threshold to "qualified", without manual confirmation. - "Auto-notify" (auto_notify) — Default On: Triggers the internal notifications on status changes. - Recommendation: Leave auto_notify on; switch on auto_qualify if you trust the scoring and do not want a manual approval step.

Step 13 — The "Score decay" card (score_decay_*) (Advanced mode only) - "Enable decay" (score_decay_enabled) — Default Off: Lets the score of inactive leads drop over time, so old leads do not stay "hot" forever. - After switching on: - "Grace period (days)" (score_decay_days) — Default 30, minimum 1: days of inactivity before decay sets in. - "Decay rate" (score_decay_rate) — Default 0.1 (= 10% per period), range 0.0–1.0, step size 0.05. - Recommendation: Useful for active sales. A 30-day grace period and 0.1 are a good start.


12.6 Duplicate detection

The "Duplicates" card.

Step 14: - "Duplicate detection" (duplicate_detection) — Default On: Detects contacts that appear multiple times. (Internally: email exact, phone via the last 7 digits.) - "Match fields" (duplicate_match_fields) — Default email, phone: which fields are compared (enter comma-separated). Only visible when detection is on. - Recommendation: Keep the default.


12.7 Advanced scoring building blocks (Advanced mode only)

These cards appear exclusively in Advanced mode. They control the composite overall score, response times and automatic data enrichment.

Step 15 — The "Composite scoring" card: The final score is made up of four weighted building blocks. The four sliders (0.00–1.00, step size 0.05) must together add up to exactly 1.00 — otherwise the server refuses to save (a bar shows the sum and a warning in real time). - BANT (bant_weight) — Default 0.40. - ICP fit (icp_weight) — Default 0.25: How strongly the ideal customer match (Section 12.8) counts. - Behaviour (behavioral_weight) — Default 0.20. - Data enrichment (enrichment_weight) — Default 0.15.

Below that, the classification bands (each 0–100, must be strictly ascending, otherwise a save error): - "Disqualified below" (disqualified_threshold) — Default 30. - "MQL from" (mql_threshold) — Default 60 (Marketing-Qualified Lead). - "SQL from" (sql_threshold) — Default 80 (Sales-Qualified Lead). - Recommendation: The default values are balanced. Always change just one value and check the result against real leads.

Step 16 — The "SLA & routing" card: - "First response (hrs)" (sla_first_response_hours) — Default 4, range 1–720: hours until the SLA is breached when an assigned lead stays unanswered. - "Escalation webhook" (escalation_webhook_url) — optional, empty = log only, no external alert: the URL that is called on an SLA breach. Max. 500 characters. - Recommendation: 4 hours is a common sales SLA. Only fill in the webhook if you have connected an external escalation (e.g. n8n, Slack).

Step 17 — The "Data enrichment" card (Enrichment): - "Enable enrichment" (enrichment_enabled) — Default Off: Enriches leads with company data (industry, size, region) via an external provider. Deliberately off by default, so that no unwanted external calls and costs arise. - After switching on: "Provider" (enrichment_provider) — Default mock. Currently available are mock (a safe test provider that retrieves nothing external) and hunter (Hunter.io, requires stored credentials). - Costs: Every query costs money and is charged per lookup. The price per query is a platform setting (enrichment_cost_per_lookup_usd, default 0.0) and is not maintained in this form but centrally; all provider costs flow into your cost overview. - Recommendation: Start with mock to try things out. Only switch to hunter once the credentials are stored and you know the lookup costs.

Step 18 — The "Webhooks" card: - "On qualification" (notify_webhook_on_qualify) — Default Off. - "On conversion" (notify_webhook_on_convert) — Default Off. - Recommendation: Only switch on if a downstream system (CRM/automation) is connected.


12.8 Custom rules

The "Custom rules" card (on the Leads page, right at the bottom).

Step 19: - "Required fields" (required_fields) — Default email: fields a lead should have (comma-separated). If they are missing, they are noted — or disqualify the lead if "Strict required fields" (Step 8) is on. - "Disqualification triggers" (disqualification_triggers) — Default empty: keywords in the conversation text that immediately sort out a lead (e.g. "job application only", "internship"). - (Advanced mode only) "Custom criteria" (custom_criteria) — Default empty: additional scoring hints as a keyword list. - (Advanced mode only) "AI instructions" (custom_instructions) — Default empty: free-text instruction to the AI on how leads should be scored. - Recommendation: Start with email as the only required field. Choose disqualification triggers sparingly and unambiguously.


12.9 Ideal customer profiles (ICP)

The "ICP" tab. An ICP ("Ideal Customer Profile") describes your ideal customer. If a lead fits, its score is multiplied by a factor (booster or damper); if no profile fits, this feeds into the overall score via the ICP weight (Step 15). The page is split in two: on the left the profile list (with "+ New"), on the right the editing form.

Step 20 — Creating a profile: - "Name" (name) — required field, 1–120 characters, e.g. "Enterprise DACH". - (Advanced mode only) "Multiplier" (score_multiplier) — Default 1.0, range 0.5–2.0, step 0.1: factor applied to the score on a match. >1 boosts (e.g. 1.2 for top customers), <1 damps (e.g. 0.8 for small customers). - (Advanced mode only) "Priority" (priority) — Default 0, minimum 0: when several profiles fit equally well, the higher priority wins. - "Min. company size" / "Max. company size" (min_company_size / max_company_size) — optional, each ≥ 0: employee-count range. - "Industries" (industries) — optional, comma-separated: exact match (case-insensitive). - "Regions" (regions) — optional, comma-separated: match exact or as a substring (e.g. "Germany" also matches "Berlin, Germany"). - (Advanced mode only) "Job titles" (job_titles_match) — optional, comma-separated: substring match against the contact's position (e.g. "CEO, Managing Director, Head of"). - "Active" (is_active) — Default On: only active profiles are taken into account during matching.

Step 21 — Saving or deleting: Via "Save" (existing profile) or "Create" (new profile). A selected profile can be removed via the red "Delete" button (with a confirmation prompt).

  • How it works (good to know): Only the dimensions that the profile specifies AND for which the lead has data are scored. If the lead does not (yet) have a company size, for example, that dimension is simply skipped — it counts neither positively nor negatively. A profile only counts as a match from 50% of matching dimensions. Company size, industry and region are only populated through data enrichment (Step 17) — without enrichment, effectively only the job-title match applies.
  • Recommendation: Start with 1–3 clear profiles (e.g. "Ideal customer" with multiplier 1.3, "Small customer" with 0.8). Keep the multiplier close to 1.0 — extreme values distort the scoring.

Tips & pitfalls

  • Phone is the exception: Calls always create a lead, regardless of how the CRM switch is set. So do not be surprised by phone leads even when "Create every contact as a lead" is off.
  • Mind the sum of 100 or 1.00: The BANT sliders should together add up to 100 (warning, but no save stop); the four composite weights must add up to exactly 1.00 — otherwise saving is refused.
  • Threshold order: For the classification bands the following must hold: disqualified < MQL < SQL. Mixed-up values lead to an error on saving.
  • Free email filter with care: In B2C business, gmail.com & co. lock out your real customers. Only use it in B2B.
  • "Strict required fields" throws leads away: In combination with required fields, you lose incomplete contacts entirely. When in doubt, leave it off.
  • Enrichment costs money: hunter triggers chargeable external queries. Use mock for testing; the costs appear in the cost overview.
  • ICP without enrichment: Industry/size/region stay empty as long as no data enrichment is running. A profile based only on these will then never match — so initially define profiles via job titles.
  • Save first, then it takes effect: The Leads page only applies changes via "Save". If you leave the page beforehand, your changes are gone.
  • Don't forget Advanced mode: If a field described here is missing for you, Advanced mode is very probably not active.