clickmax-leads
Use when the user wants to create, find, inspect, filter, verify the e-mail of, or compare CRM leads and their commercial context inside Clickmax.
How do I install this agent skill?
npx skills add https://docs.clickmax.io --skill clickmax-leadsIs this agent skill safe to install?
No partner audit is available yet. Read the source before installing.
What does this agent skill do?
As tools abaixo aparecem com os nomes que o MCP da Clickmax registra. Se o seu cliente de IA prefixar nomes de tool (
mcp__<servidor>__,mcp_<servidor>_, ou outro), use o nome já prefixado que aparecer na sua lista de tools.
When this applies
Use this skill when the user wants lead discovery/inspection OR to create a lead: search/filter contacts, inspect one lead, check whether an email already exists, verify a contact's e-mail, find contacts with e-mail problems or fraud signals, create a new contact, compare lead-origin patterns, or pull a lead's payments/invoices/products.
Not this skill:
- tagging/classification ->
clickmax-tags - manual lists or dynamic segments ->
clickmax-list-segments - kanban pipelines/opportunity cards ->
clickmax-pipelines
Key assumptions
leads_filter_schemadescribes the legacy filter model; never use it to buildleads_searchfiltersleads_searchis the main entry for cohort discovery.filtersis required ([]= all leads), andperPageaccepts 1-100. Its onlysortByvalues areopportunities_asc/opportunities_desc; omittingsortByreturns leads NEWEST-FIRST bycreatedAt. So "the last N leads" usesfilters: [],page: 1,perPage: N(N <= 100) with nosortByleads_getis enriched commercial context, not just a flat row- payments, invoices, common products, and origin trees are lead-adjacent projections, not separate core entities
- tags, lists, and segments group leads; they do not replace the lead record itself
- lifecycle and temperature are mutable business signals; report them as current state, not immutable history
- e-mail status lives on the lead (
emailStatus,emailValidatedAt,emailInvalidReason) and comes back in BOTHleads_searchrows andleads_get:pending= not verified yet |valid|invalid(bounces; fix or exclude) |risky(deliverable but disposable/catch-all/role address; sending is still allowed, the user decides). Reading it costs nothing — do not verify just to read it validfrom the automatic background pass only confirms the DOMAIN;leads_validate_emailasks for a mailbox-level check. Editing a contact e-mail already resets it topendingand triggers a check by itselfleads_validate_emailis a PAID provider lookup (1 credit per address), synchronous, limited to 10 calls/min, and repeating it for the same lead within 1 hour just returns the stored verdict. It is for one specific contact, never a base-wide sweepsuspectedFraud(+suspectedFraudReasonsemail/document) is a read-time warning of card testing, true only when BOTH the e-mail has no relation to the name AND the document is suspect (empty, all zeros, or not 11/14 digits). Nothing is stored or blocked; fixing the e-mail or document clears it. It is a filter field like any other, so it also works in segments
Thought process
- Decide whether the user needs one lead, a filtered cohort, or supporting aggregates.
- If the user describes filters vaguely, inspect the filter schema first.
- Use
leads_searchfor cohorts andleads_getfor one concrete lead. - Pull supporting projections only when they materially answer the request.
Execute guide
- For cohort discovery, follow the
leads_searchinput contract; do not translate fields from the legacy filter-schema operation. - Search cohorts with
leads_search, passing the requiredfiltersarray ([]when unfiltered) plus optional paging and sort fields. Use this for discovery, comparison, and broad CRM filtering. - Inspect one known lead with
leads_get, passing the lead id. Treat this as the main enriched lead view. - Add commercial context with
leads_payments,leads_invoices, andleads_common_productsonly when payments, billing status, or bought-product patterns materially change the answer. Unlike its siblings,leads_common_productsrequiresfilter(not optional) — always pass a filter, even a broad one. - Use
leads_exists_by_emailfor duplicate-check questions, not enrichment. - E-mail health of a cohort: filter
leads_searchwith a filter item on fieldemailStatus, operatorequals,valueString=invalid|risky|pending|valid(addnegation: truefor "anything but"). Fraud signals: a filter item on fieldsuspectedFraud, operatorequals,valueBool= true. Report the count (meta.countItens) before rows. - Verify one contact's e-mail with
leads_validate_email, passing the lead id: it returns the newemailStatusright away. Apendingresult after a failure (provider error / inconclusive) is not a verdict — the automatic job retries later; do not retry in a loop. A lead without e-mail cannot be verified. - "How many contacts do I have in total?" ->
analytics_resource_counts(contacts, merged contacts excluded) is one cheap call; useleads_searchmeta.countItenswhen the count must respect filters. - Create one contact with
leads_create— onlynameis required; passemail/telephonewhen known and checkleads_exists_by_emailfirst to avoid duplicates. It also acceptstagIds/customFieldValuesinline, so a lead can be created pre-tagged/pre-classified in the SAME call instead of a separate tagging step afterward. It returns the new lead id. To seed a pipeline, create each contact here then add them as opportunity cards viaclickmax-pipelines(cards_createneeds the returned lead ids). For several contacts, callleads_createonce per contact. - Use
leads_origins,leads_sub_origins, andleads_origins_treefor source taxonomy and breakdown questions. - Use
leads_payments_utm_autocompletewhen the user needs help discovering UTM values before filtering or diagnosing acquisition patterns. - Preferred order: cohort question ->
leads_search; single lead question ->leads_get-> supporting projections only if needed; origin or UTM exploration -> origin or UTM helper first -> lead search only when matching contacts are also required.
Report
- Start with what was inspected: one lead, cohort, or origin/UTM diagnostic.
- For one lead: summarize identity, status/context, and only the relevant commercial facts.
- For cohorts: summarize count + the most relevant breakdowns before dumping rows.
- Cap long result sets and show
+N morewhen the cohort is too broad. - Follow-up actions are opt-in only.
Warnings
- Do not guess filter fields or operators.
- Do not treat lead payments or invoices as if they were the lead record itself.
leads_exists_by_emailanswers existence, not ownership or enrichment.- Do not present
suspectedFraudas a verdict on the person: it is a heuristic signal, and a missing document alone does not trigger it.
Anti-patterns
- Asking the user for workspace id.
- Using raw origins/UTM helpers as a substitute for lead search.
- Returning every field when the user only asked for one operational answer.
- Calling
leads_validate_emailon many leads to "clean the base" (paid, rate-limited) or just to read a status thatleads_getalready returns.
Clickmax skill revision: a13590fbff81
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/docs.clickmax.io/clickmax-leads">View clickmax-leads on skillZs</a>