Marketing lead qualification

Generic B2B checklist to decide whether a DataPool lead is sales-ready. Quality gates and DoD — not a prompt.

Document information
FieldValue
Canonical URL/docs/07_ai-agents-and-mcp/model_skills/10_marketing/marketing-lead-qualification
Version (published date)2026-08-26
Tagsai, skills, marketing, datapool, playbooks

Kind

Sequential procedure.

Depends on

tenant-data-model. Optional: crm-field-mapping when the lead originated in a CRM.

Prerequisites

idquestionsearchif_missing_or_ambiguousdefault_to_proposebinds_to
leads_schemaDataPool leads schemaInstalled tenant-data-model / describe_datapool_tableImport tenant-data-model firstleadsTenant SKILL.md
min_score_sales_readyMinimum numeric score for sales-ready (if score is used)Ask marketing ownerrequest_human_input kind: text60Tenant SKILL.md

Import contract

FieldValue
suggested_skill_idmarketing-lead-qualification
version1.0.0
capabilities.toolsdescribe_datapool_table, query_datapool, update_datapool_rows, request_human_input
Paired model agentsales-ready-lead-watcher

Procedure (generic B2B)

Statuses: newqualifyingsales_ready or disqualified.

GateMust be true before leaving the status
G1 Identifycompany_name present; lead_id stable
G2 Contactcontact_email or contact_name present
G3 FitProblem/segment is in-scope for this org (operator-defined at import if they add a note; otherwise require source non-empty)
G4 ScoreIf score is set, score >= {{min_score_sales_ready}}; if score is empty, operator must confirm sales-ready

DoD — sales-ready: G1–G4 pass; status=sales_ready; updated_at set. Then run marketing-to-sales-handover (separate skill). Do not mark sales-ready and skip handover.

Disqualify: missing contact after a documented attempt, out-of-segment, or operator instruction. Set disqualify_reason. Never delete the row as a substitute.

Tenant SKILL.md (copy this body)

# Marketing lead qualification

Qualify rows in DataPool schema `{{leads_schema}}`. Load `datapool`. Load tenant skill `tenant-data-model`.

Minimum score for sales-ready when score is present: `{{min_score_sales_ready}}`.

## Sequence

1. `describe_datapool_table` then `query_datapool` for the lead (`lead_id` or filters).
2. Walk gates G1–G4 in order. Set `status=qualifying` while gates are in progress.
3. If a gate fails and cannot be completed, set `status=disqualified` and `disqualify_reason`.
4. If all gates pass, set `status=sales_ready`. Do not create an opportunity here.
5. Handover is a **separate** playbook: `marketing-to-sales-handover`.

## Stop

- Do not invent company or email.
- Do not write CRM-native fields into the row.
- Do not notify Sales except via the handover playbook.

Optional skill.json

{
  "name": "marketing-lead-qualification",
  "version": "1.0.0",
  "description": "Qualify DataPool leads through gates to sales-ready or disqualified.",
  "capabilities": {
    "prompt": ["Follow gates G1–G4. Do not skip handover."],
    "resources": [],
    "tools": ["describe_datapool_table", "query_datapool", "update_datapool_rows", "request_human_input"]
  }
}

See also