Anthropic
Advanced

Generate Timing Objection Responses

Use Claude to generate tailored timing objection responses based on objection subtype, deal context, and urgency driver analysis

Instructions

Generate Timing Objection Responses

Given a classified timing objection, deal context with urgency drivers, and cost-of-delay data, use the Claude API to generate a response that reframes timing from "not now" to "the cost of waiting."

Prerequisites

  • Classified timing objection data (from call-transcript-timing-extraction)
  • Deal record from Attio with pain data, timeline fields, and urgency drivers
  • Anthropic API key
  • Cost-of-delay estimate (from cost-of-delay-calculation, optional but improves quality)
  • Historical response effectiveness data (optional, improves framework selection over time)

API Call

POST https://api.anthropic.com/v1/messages
Authorization: x-api-key {ANTHROPIC_API_KEY}
Content-Type: application/json

Request body:

{
  "model": "claude-sonnet-4-20250514",
  "max_tokens": 3000,
  "messages": [{
    "role": "user",
    "content": "Generate a timing objection response for a sales conversation where the prospect says it's 'not the right time.'\n\nObjection details:\n- Prospect quote: \"{objection_quote}\"\n- Objection subtype: {subtype}\n- Emotional tone: {emotional_tone}\n- Severity: {severity}/10\n- Timeline category: {timeline_category}\n- Stated timeline: {stated_timeline or 'vague'}\n\nDeal context:\n- Company: {company_name}\n- Deal value: ${deal_value}/year\n- Total quantified pain: ${total_quantified_pain}/year\n- Pain-to-price ratio: {ratio}x\n- Monthly cost of delay: ${monthly_cost_of_delay}\n- Champion: {champion_name}, {champion_title}\n- Decision maker: {decision_maker_name}, {decision_maker_title}\n- Strongest pain: \"{strongest_pain_summary}\"\n- Key pain quote: \"{key_pain_quote}\"\n- Known urgency drivers: {urgency_drivers_json}\n- Competitive landscape: {competitor_status or 'unknown'}\n\nHistorical effectiveness (if available):\n{framework_effectiveness_json}\n\nGenerate the response using the most effective framework for this subtype. The frameworks are:\n- cost_of_delay: Quantify what each month of inaction costs. Best when pain is quantified.\n- manufactured_urgency: Create legitimate urgency via pricing lock, pilot slot, or implementation timeline. Best when no natural deadline exists.\n- bridging_solution: Propose a minimal starting scope that can begin immediately. Best when the blocker is resource constraints or competing priorities.\n- event_anchoring: Anchor to an external event (fiscal year, contract renewal, seasonal deadline). Best when a real event exists.\n- social_proof_timing: Show what competitors or peers did at this same stage. Best when competitive pressure exists.\n- status_quo_challenge: Challenge the assumption that waiting is safe — inaction has its own risks. Best when the prospect treats delay as zero-cost.\n\nReturn this exact JSON:\n{\n  \"framework_used\": \"cost_of_delay|manufactured_urgency|bridging_solution|event_anchoring|social_proof_timing|status_quo_challenge\",\n  \"verbal_response\": \"The exact words to say on a call (3-5 sentences max). Must reference their specific situation, not generic advice.\",\n  \"diagnostic_questions\": [\"3-4 follow-up questions to surface the true blocker behind the timing objection\"],\n  \"cost_of_delay_framing\": \"One sentence that frames delay cost in the prospect's terms (e.g., 'Every month you wait costs your team 480 hours of manual work')\",\n  \"follow_up_email\": {\n    \"subject\": \"Email subject line\",\n    \"body\": \"Follow-up email body (under 200 words) that reinforces the timing argument with data\"\n  },\n  \"bridging_proposal\": {\n    \"scope\": \"What a minimal starting engagement looks like\",\n    \"timeline\": \"When they could start and what the first 30 days look like\",\n    \"investment\": \"Reduced scope pricing or phased payment approach\"\n  },\n  \"supporting_asset\": {\n    \"type\": \"cost_of_delay_analysis|implementation_timeline|quick_start_plan|peer_case_study|roi_with_timeline\",\n    \"description\": \"What to attach and why\"\n  },\n  \"escalation_path\": \"What to do if this response doesn't resolve the objection\",\n  \"expected_next_step\": \"The specific action to propose after delivering this response\",\n  \"nurture_strategy\": {\n    \"if_delay_accepted\": \"How to stay engaged if the prospect genuinely needs to wait\",\n    \"re_engagement_trigger\": \"What signal should trigger re-engagement\",\n    \"cadence\": \"How often to touch base during the wait period\"\n  }\n}"
  }]
}

Input Requirements

  • objection_quote: The prospect's exact words
  • subtype: One of: budget_cycle (waiting for next budget), competing_priorities (other projects first), organizational_change (reorg, new leadership), no_urgency (don't see why now), evaluation_fatigue (too many vendor evaluations), resource_constraints (no bandwidth to implement)
  • monthly_cost_of_delay: From cost-of-delay calculation. If unavailable, set to "not calculated" and the response will emphasize qualitative cost.
  • urgency_drivers_json: Array of known urgency triggers from timeline extraction

Framework Selection Logic

When historical data is not available, use these default framework mappings:

| Subtype | Primary Framework | Why | |---------|------------------|-----| | budget_cycle | manufactured_urgency | Lock pricing or reserve implementation slot to create urgency within their budget timeline | | competing_priorities | bridging_solution | Reduce scope so it fits alongside other priorities | | organizational_change | event_anchoring | Anchor to the transition as an opportunity, not a blocker | | no_urgency | cost_of_delay | Quantify what waiting actually costs — make inaction feel expensive | | evaluation_fatigue | bridging_solution | Simplify the decision with a low-risk starting point | | resource_constraints | bridging_solution | Propose a white-glove implementation that requires minimal internal resources |

When historical data IS available, override defaults with the highest win-rate framework for that subtype, provided sample size >= 8.

Output

JSON response containing:

  • Verbal response tailored to the specific timing subtype
  • Diagnostic questions to surface the true blocker
  • Cost-of-delay framing sentence
  • Follow-up email with data reinforcement
  • Bridging proposal for a minimal starting scope
  • Supporting asset recommendation
  • Escalation path and nurture strategy for genuine delays

Store in Attio as a note on the deal record. Log in PostHog as timing_response_generated event.

Guardrails

  • Never pressure a prospect with fake urgency (made-up deadlines, fictional scarcity). All urgency must be grounded in real business impact or real constraints.
  • Never dismiss a legitimate timing concern. If the prospect's company is mid-acquisition or mid-layoff, acknowledge the reality and propose a nurture cadence.
  • If monthly_cost_of_delay is unavailable and pain_to_price_ratio < 3, flag for the seller: the value story is too weak to challenge timing effectively. Re-run discovery first.
  • If emotional_tone is "firm" and severity >= 8, recommend a human-led response with empathy — these need judgment, not frameworks.
  • Rate limit: max 3 response generations per deal per day.

Alternatives

| Tool | Method | Notes | |------|--------|-------| | Claude (Anthropic) | Messages API | Best structured output for nuanced responses | | GPT-4 (OpenAI) | Chat Completions API | Alternative LLM | | Gong Assist | Built-in AI | Real-time coaching during calls | | Manual | Framework reference sheet | Fallback for enterprise deals |