Sales & Business Development

Findoutwhydealsstallacrosseveryrep,everyquarter

Sales leadership wants to understand why deals over $100K are stalling at technical evaluation. The agent ingests 60 recorded calls from Gong and cross-references them with the pipeline export showing deal stage, ACV, and final outcome. It identifies the patterns: which objections appeared in deals that went dark vs. deals that closed, which talk-track moments correlated with positive stage progression, which technical questions the reps couldn't answer and whether they came up in every stalled deal. Coaching briefs are written per rep and logged in Salesforce against each rep's profile. Leadership gets the aggregate view posted to #sales-leadership in Slack before Monday's pipeline review.

Key Takeaways

Pattern, not opinion

Stall reasons extracted from transcripts and activity logs — not from what reps remember to enter in the CRM.

Rep-level visibility

Each rep's stall profile is distinct. The analysis surfaces whether the issue is early-stage qualification, late-stage negotiation, or champion access.

Trend over quarters

The same pattern across three quarters is a process problem, not a performance problem. The analysis distinguishes the two.

Ready before forecast

Delivered automatically before the weekly forecast call — no manual data pull required.

Root cause, not symptom

'Prospect went dark' is a symptom. The analysis identifies the last substantive interaction and what it revealed.

CRM data tells you the deal stalled. It doesn't tell you why.

Every sales leader knows which deals are stuck. The forecast call surfaces the same names every week. What it doesn't surface is the pattern — whether the stall is happening at the same stage, with the same objection type, with the same kinds of accounts, or with the same group of reps.

The automation reads call recordings, email threads, and CRM activity logs for every deal in the stall category. It extracts the last substantive interaction for each — not the last logged activity, but the last moment where a decision was made or deferred. It classifies the stall type: budget gate, champion loss, technical evaluation block, procurement delay, or competitive displacement.

The output is a ranked breakdown: which stall types are most common this quarter, which reps have clustered stalls at which stages, and which patterns have recurred across multiple quarters. A sales leader reading the report before a forecast call is no longer asking what happened. They're asking which of these to fix this quarter.

One signature

A single DSPy signature reads transcript and CRM history simultaneously and returns a typed stall classification with the last decision point and recommended action. No custom parsing. No result stitching.

python
import dspy
from predict_rlm import File, PredictRLM

class AnalyzeDealStall(dspy.Signature):
    """Classify why a deal stalled and extract the last substantive decision point."""
    transcript: File = dspy.InputField(desc="Call recording transcript or email thread")
    crm_history: File = dspy.InputField(desc="CRM activity log for the deal")
    stall_type: str = dspy.OutputField(
        desc="One of: budget_gate, champion_loss, tech_block, procurement_delay, competitive"
    )
    last_decision_point: str = dspy.OutputField(
        desc="Last moment where progress was possible — what was said or done"
    )
    recommended_action: str = dspy.OutputField(
        desc="Specific next step to restart momentum, based on stall type"
    )

agent = PredictRLM(AnalyzeDealStall, lm="openai/gpt-5.1", max_iterations=8)
result = agent(
    transcript=File(path="calls/deal_4821_transcript.txt"),
    crm_history=File(path="crm/deal_4821_activity.json")
)
# result.stall_type           → "champion_loss"
# result.last_decision_point  → "March 12: champion confirmed she was moving to a new role"
# result.recommended_action   → "Re-engage VP level before end of month"

Built on predict-rlm — open source. github.com/Trampoline-AI/predict-rlm

What the sales leader receives

Before each weekly forecast call, the sales leader receives a Slack summary in #sales-forecast listing the top three stall patterns for the current quarter with deal counts and affected reps. The attached PDF breaks down every stalled deal by rep, stage, and stall type — with the extracted last decision point and a recommended action for each. A trailing section shows quarter-over-quarter trend lines so recurring structural problems are immediately visible.