Docs
/

Objection Handler

Sales-objection handling and rebuttal pack for reps, SDRs, and founders closing deals: categorize a prospect objection into price, timing, trust, authority, or need; respond with 2-3 professionally...

objection-handler

Sales-objection handling & rebuttal adapter pack for reps, SDRs, and founders. Classifies a prospect objection, returns framed rebuttals from proven sales frameworks, serves a per-category tactic playbook, reframes negatives into positives, and generates feel-felt-found empathy responses.

Intelligent microservice: every tool has a deterministic playbook/template core that runs fully offline. respond and reframe additionally try an optional LLM to personalize the wording and silently fall back to the templates when no model is reachable (mode: 'heuristic' | 'llm').

The five objection categories

price · timing · trust · authority · need — each with curated psychology, tactics, frameworks, and anti-patterns in data/playbook.json.

Tools

ToolIn → Out
categorize{ objection }{ category, confidence, matchedSignals, ranking, psychology }
respond{ objection, category?, context? } → 2-3 framed rebuttals (auto-detects category) (+ optional LLM rewrite)
playbook{ category } → psychology + tactics + frameworks + what to avoid (omit category for the index)
reframe{ statement } → positive, opportunity-focused angle (+ optional LLM reframe)
feelFeltFound{ objection, context? } → classic feel / felt / found empathy response

Usage

import pack from './index.js';

pack.adapters.categorize({ objection: "It's way too expensive for us right now" });
// → { category: 'price', confidence: 0.7, matchedSignals: ['expensive', 'too much'? ...], ... }

await pack.adapters.respond({
  objection: 'We need to think about it',
  context: { product: 'Acme CRM', valueProps: ['faster follow-up', 'higher win rate'] },
});
// → { mode: 'heuristic', category: 'timing', responses: [ { framework, text }, ... ], tips: [...] }

pack.adapters.playbook({ category: 'trust' });
// → { psychology, tactics: [...], frameworks: [...], avoid: [...] }

pack.adapters.feelFeltFound({ objection: 'I already have a solution' });
// → { feel, felt, found, combined }

Classification

Deterministic keyword/phrase scoring over a curated sales-objection lexicon (multi-word phrases weighted higher; ties broken by category priority). An unclassifiable objection defaults to need (a fit/diagnostic probe) with confidence: 0.

DRY boundaries

  • Sales-conversation intelligence only (objection taxonomy + rebuttal frameworks + playbook data).

Generic tokenizing / sentiment belongs to nlp — the classifier here is a small curated matcher.

  • Complements proposal-builder (pre-sale documents) and any CRM deal flow.
  • No cross-pack imports except ../_shared/llm.js. Pure ESM, Node built-ins, zero npm deps.
Source shared/engines/adapters/domain/objection-handler/README.md (no-git)markdownjson
Generated from the Leumas repository. Every page cites the file it came from.leumas.techllms.txt