Concepts
Core concepts
Personal memory, products, ICP, scoring and credits — the objects the rest of Lead Scorer is built on.
Last updated
On this page
A few objects explain almost everything Lead Scorer does. Get these right once and every run, score and message downstream inherits them.
When a LinkedIn profile cannot be resolved, its lead is marked Invalid LinkedIn URL. Further profile lookups are skipped. Edit the URL on the lead page, or use update_lead through MCP, to correct the identity and enable enrichment again. Temporary provider failures do not mark a URL invalid.
Personal and relationship memory
The interface and dates follow your selected language (English or French). Generated CRM analyses use English; the interface language does not change them. To draft messages in another language, specify it in your campaign brief or rewrite instructions. Otherwise, drafting preserves the template language. Original LinkedIn text, quotations, and your own notes keep their source language. Previously saved content is not automatically translated.
Each account has one canonical, versioned my-memory.md for the person: identity, durable preferences, voice, goals and context. Each lead may also have a separate relationship Markdown owned by that same user. Company and product facts remain overlays rather than being copied into every document.
Lead Scorer compiles those sources into a temporary, bounded Context Pack for the exact action being performed. Campaign drafting and reply triage can use it; another account can never read it. Direct edits are free. AI imports and reprocessing show an estimate, consume the user's AI budget from actual tokens, then add all grounded facts in one reversible canonical revision after confirmation.
Product
A product is what you sell: the offer, the pain it removes, the proof you have, and who it is not for. Scoring, drafting and campaign filtering all read from it, which is why the same lead can score 9/10 against one of your products and 3/10 against another.
If you sell more than one thing, create more than one product. Campaigns are filterable by product, so you keep the numbers separate.
ICP
The ICP is the qualification rulebook: the company shapes worth talking to, the roles that can actually sign, and the disqualifiers that should get a lead thrown out early. It is written in plain language, not as a filter tree.
The disqualifiers matter more than the inclusion criteria. A rejected lead costs nothing; a wrongly enriched one costs a credit and a bad message.
Two-level scoring
- Company ICP score
- Does this account fit what you actually sell? Scored against your product and your qualification criteria, not against generic firmographic rules.
- Decision-maker score
- Is this the right person to reach inside that account? A perfect company with the wrong contact is still a dead lead.
Off-ICP leads are rejected with a written reason before you spend a credit contacting them, and both scores are readable and writable over MCP — so an agent you wrote can score exactly the way the app does.
Relationship memory does not inflate ICP fit. ICP answers whether the account and role match the product; private relationship context answers how and when to follow up. They remain separate signals.
Campaigns
A campaign is a sequence of steps — LinkedIn touches, email touches, follow-ups — applied to a list of leads, with one draft generated per lead per step. Drafts sit in a queue until you approve them. A human reply on either channel pauses the remaining steps for that lead immediately, preserving drafts and approvals. The remaining delay freezes during the pause and resumes afterwards; any earlier delivery delay remains visible to operators. Campaigns count reply-paused actions separately and link to the Inbox. A confirmed courtesy acknowledgement can resume automatically; unclear replies, questions, interest and refusals remain paused. In the Inbox, qualify the reply or choose Resume sequence after reviewing the conversation. A new reply pauses it again. Do-not-contact and relationship instructions always prevent resuming. Automatic absence replies are distinguished from human answers.
You set the daily cap and the sending window. Email signatures belong to sender accounts and are inherited by every campaign; a campaign can keep an explicit override for a brand or language variant. Preflight blocks automatic signature appending when no effective signature exists. LinkedIn and Email have separate Inbox tabs. Combine campaign membership (all, in a campaign, without campaign), a specific campaign, interaction, connected account, status and text filters. Lead replied includes human answers even after handling or sending a response; automatic replies do not count. Awaiting lead reply includes sent campaign emails. No interaction includes enrolled prospects with no messages. Campaign replies applies in a campaign plus lead replied in one click. Each tab saves its filters between visits on this browser, and tab counts show matching conversations before pagination. New replies appear through automatic refresh. LinkedIn includes incoming and outgoing history. Resync history recovers older messages without duplicates; initial and weekly reconciliation complement incremental sync. Recovered old messages do not trigger new campaign pauses.
Credits and AI budget
Two meters, deliberately separate. Credits pay for enrichment and scoring — the work that hits external data sources. The monthly AI budget pays for drafting and scoring, so there is no surprise overage on generation; versioned outreach rules guide generation, then placeholders and email HTML are sanitized before human review.
- The same action costs the same wherever you trigger it — the app, the agent and the MCP server all bill through one path.
- Enrichment is billed at full price whether or not a result was cached, so cost is predictable rather than lucky.
- Leads rejected as off-ICP are not enriched and do not consume credits.
- Pay-as-you-go credit packs exist without a subscription if a month runs hot.