@agenticmail/core 0.9.32 → 0.9.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/skills/built-in/accommodation-intake.json +132 -0
- package/dist/skills/built-in/add-driver-vehicle-household.json +133 -0
- package/dist/skills/built-in/admissions-waitlist-followup.json +129 -0
- package/dist/skills/built-in/anchor-and-counter-anchor.json +161 -0
- package/dist/skills/built-in/anti-social-engineering.json +153 -0
- package/dist/skills/built-in/anything-else-sweep.json +120 -0
- package/dist/skills/built-in/apologise-correctly.json +126 -0
- package/dist/skills/built-in/ask-for-in-person-meeting.json +114 -0
- package/dist/skills/built-in/attorney-new-client-intake.json +133 -0
- package/dist/skills/built-in/bant-discovery-call.json +125 -0
- package/dist/skills/built-in/book-new-patient-appointment.json +131 -0
- package/dist/skills/built-in/bookmark-close.json +113 -0
- package/dist/skills/built-in/bypass-i-am-the-supervisor.json +130 -0
- package/dist/skills/built-in/bypass-scripted-rep.json +142 -0
- package/dist/skills/built-in/calibrated-questions.json +155 -0
- package/dist/skills/built-in/call-911-fire.json +118 -0
- package/dist/skills/built-in/call-911-medical-emergency.json +126 -0
- package/dist/skills/built-in/call-911-violent-crime-in-progress.json +133 -0
- package/dist/skills/built-in/call-988-crisis-line.json +128 -0
- package/dist/skills/built-in/call-poison-control.json +115 -0
- package/dist/skills/built-in/call-police-non-emergency.json +114 -0
- package/dist/skills/built-in/call-with-person-in-distress.json +133 -0
- package/dist/skills/built-in/cancel-cable-fiber-no-retention-loop.json +156 -0
- package/dist/skills/built-in/cancel-policy-clean.json +130 -0
- package/dist/skills/built-in/capture-rep-identity.json +113 -0
- package/dist/skills/built-in/childcare-provider-intake.json +157 -0
- package/dist/skills/built-in/close-account-no-residual-fees.json +127 -0
- package/dist/skills/built-in/close-on-concrete-next-step.json +116 -0
- package/dist/skills/built-in/confirm-agreement-readback.json +134 -0
- package/dist/skills/built-in/confirm-next-step-ownership.json +113 -0
- package/dist/skills/built-in/contractor-estimate-request.json +142 -0
- package/dist/skills/built-in/court-clerk-administrative-inquiry.json +119 -0
- package/dist/skills/built-in/cpa-intake-call.json +134 -0
- package/dist/skills/built-in/day-of-flight-cancellation.json +127 -0
- package/dist/skills/built-in/de-escalate-angry-rep.json +114 -0
- package/dist/skills/built-in/decline-unsolicited-pitch.json +110 -0
- package/dist/skills/built-in/deliver-difficult-news.json +122 -0
- package/dist/skills/built-in/detect-fake-escalation-loops.json +140 -0
- package/dist/skills/built-in/detect-lies-and-contradictions.json +139 -0
- package/dist/skills/built-in/dispute-billing-code-eob.json +147 -0
- package/dist/skills/built-in/dispute-charge-reg-e-reg-z.json +131 -0
- package/dist/skills/built-in/dispute-credit-report-via-bank.json +128 -0
- package/dist/skills/built-in/dispute-denied-claim.json +143 -0
- package/dist/skills/built-in/dispute-security-deposit.json +130 -0
- package/dist/skills/built-in/dispute-usage-spike-meter-reread.json +120 -0
- package/dist/skills/built-in/dmv-vehicle-registration-renewal.json +120 -0
- package/dist/skills/built-in/document-call-promises.json +145 -0
- package/dist/skills/built-in/early-lease-termination.json +126 -0
- package/dist/skills/built-in/elite-line-escalation.json +107 -0
- package/dist/skills/built-in/equipment-swap-cable-router-modem.json +126 -0
- package/dist/skills/built-in/eu261-uk261-dot-compensation.json +113 -0
- package/dist/skills/built-in/file-fnol-auto-claim.json +130 -0
- package/dist/skills/built-in/file-habitability-complaint.json +115 -0
- package/dist/skills/built-in/financial-aid-appeal.json +128 -0
- package/dist/skills/built-in/follow-up-stalled-claim.json +118 -0
- package/dist/skills/built-in/get-past-gatekeeper.json +115 -0
- package/dist/skills/built-in/get-past-tier-1-script.json +130 -0
- package/dist/skills/built-in/handle-callback-stall.json +120 -0
- package/dist/skills/built-in/handle-outsourced-no-escalation.json +138 -0
- package/dist/skills/built-in/handle-send-me-an-email-deflection.json +112 -0
- package/dist/skills/built-in/handle-time-pressure.json +159 -0
- package/dist/skills/built-in/health-prior-auth-appeal.json +131 -0
- package/dist/skills/built-in/hoa-dispute.json +123 -0
- package/dist/skills/built-in/hold-time-strategy.json +137 -0
- package/dist/skills/built-in/hold-warmth-cold-rep.json +114 -0
- package/dist/skills/built-in/hotel-walk-over-recovery.json +114 -0
- package/dist/skills/built-in/humour-when-it-lands.json +127 -0
- package/dist/skills/built-in/i20-visa-dso.json +134 -0
- package/dist/skills/built-in/invoke-regulator-firmly.json +137 -0
- package/dist/skills/built-in/irrops-waiver-awareness.json +103 -0
- package/dist/skills/built-in/irs-payment-plan-setup.json +134 -0
- package/dist/skills/built-in/k12-iep-504-enrollment.json +134 -0
- package/dist/skills/built-in/late-add-petition.json +128 -0
- package/dist/skills/built-in/leave-of-absence-deferral.json +130 -0
- package/dist/skills/built-in/lock-in-terms-verbally.json +127 -0
- package/dist/skills/built-in/match-energy-keep-goal.json +120 -0
- package/dist/skills/built-in/medical-records-transfer.json +138 -0
- package/dist/skills/built-in/medical-withdrawal.json +131 -0
- package/dist/skills/built-in/mid-call-evidence-collection.json +159 -0
- package/dist/skills/built-in/mirror-technique.json +145 -0
- package/dist/skills/built-in/missed-connection-distressed-passenger.json +111 -0
- package/dist/skills/built-in/mortgage-loan-hardship.json +130 -0
- package/dist/skills/built-in/move-out-walkthrough.json +114 -0
- package/dist/skills/built-in/multi-channel-escalation.json +141 -0
- package/dist/skills/built-in/multi-issue-tradeoffs.json +155 -0
- package/dist/skills/built-in/negotiate-rent-renewal.json +123 -0
- package/dist/skills/built-in/no-as-opening.json +154 -0
- package/dist/skills/built-in/not-sound-like-spam-dialer.json +118 -0
- package/dist/skills/built-in/outage-credit-applied.json +127 -0
- package/dist/skills/built-in/passport-expedite-or-appointment.json +123 -0
- package/dist/skills/built-in/pediatric-school-forms.json +141 -0
- package/dist/skills/built-in/personal-trainer-discovery.json +138 -0
- package/dist/skills/built-in/pharmacy-callback.json +134 -0
- package/dist/skills/built-in/pivot-mid-call.json +141 -0
- package/dist/skills/built-in/port-mobile-number-survive-retention.json +127 -0
- package/dist/skills/built-in/prescription-refill-followup.json +132 -0
- package/dist/skills/built-in/push-past-invented-policy.json +159 -0
- package/dist/skills/built-in/rapport-opening-30-seconds.json +130 -0
- package/dist/skills/built-in/reach-executive-office.json +137 -0
- package/dist/skills/built-in/read-vocal-cues.json +139 -0
- package/dist/skills/built-in/read-vocal-tone.json +159 -0
- package/dist/skills/built-in/realestate-agent-vetting.json +144 -0
- package/dist/skills/built-in/receive-difficult-news.json +115 -0
- package/dist/skills/built-in/recording-claim-conversation-legally.json +121 -0
- package/dist/skills/built-in/recover-summary-refusal.json +121 -0
- package/dist/skills/built-in/reengage-ghosted-lead.json +115 -0
- package/dist/skills/built-in/referral-followup-without-burning.json +116 -0
- package/dist/skills/built-in/referral-prior-authorization.json +130 -0
- package/dist/skills/built-in/refuse-the-split.json +142 -0
- package/dist/skills/built-in/refuse-upsell-at-close.json +114 -0
- package/dist/skills/built-in/rental-car-counter-defense.json +116 -0
- package/dist/skills/built-in/rental-scam-report.json +125 -0
- package/dist/skills/built-in/replace-lost-stolen-card-expedited.json +139 -0
- package/dist/skills/built-in/report-downed-line-gas-smell-911-triage.json +130 -0
- package/dist/skills/built-in/report-elder-or-child-abuse.json +125 -0
- package/dist/skills/built-in/report-fbi-tip.json +116 -0
- package/dist/skills/built-in/report-fraud-ic3-or-ftc.json +117 -0
- package/dist/skills/built-in/report-fraudulent-transaction.json +126 -0
- package/dist/skills/built-in/report-power-outage-get-etr.json +116 -0
- package/dist/skills/built-in/report-urgent-maintenance.json +123 -0
- package/dist/skills/built-in/request-credit-limit-increase.json +126 -0
- package/dist/skills/built-in/request-supervisor-gracefully.json +129 -0
- package/dist/skills/built-in/request-welfare-check.json +127 -0
- package/dist/skills/built-in/request-written-confirmation.json +113 -0
- package/dist/skills/built-in/reschedule-appointment.json +121 -0
- package/dist/skills/built-in/reset-by-callback.json +143 -0
- package/dist/skills/built-in/resist-urgency-manipulation.json +152 -0
- package/dist/skills/built-in/revisit-totaling-decision.json +125 -0
- package/dist/skills/built-in/roadside-assistance-dispatch.json +132 -0
- package/dist/skills/built-in/roommate-replacement.json +121 -0
- package/dist/skills/built-in/same-day-urgent-appointment.json +130 -0
- package/dist/skills/built-in/schedule-rental-viewing.json +111 -0
- package/dist/skills/built-in/service-move-shutoff-start-no-overlap.json +129 -0
- package/dist/skills/built-in/social-security-replacement-card.json +122 -0
- package/dist/skills/built-in/specialist-doctor-booking.json +136 -0
- package/dist/skills/built-in/spot-bait-and-switch.json +155 -0
- package/dist/skills/built-in/stop-recurring-ach.json +127 -0
- package/dist/skills/built-in/switch-postpaid-to-prepaid-mid-cycle.json +130 -0
- package/dist/skills/built-in/tactical-empathy-labeling.json +147 -0
- package/dist/skills/built-in/therapist-intake-call.json +133 -0
- package/dist/skills/built-in/train-cancellation-refund-rebook.json +104 -0
- package/dist/skills/built-in/transcript-request.json +128 -0
- package/dist/skills/built-in/travel-insurance-claim-on-the-road.json +114 -0
- package/dist/skills/built-in/travel-notice-unlock-card.json +119 -0
- package/dist/skills/built-in/unemployment-claim-status-and-appeal.json +123 -0
- package/dist/skills/built-in/uscis-case-status-and-biometrics.json +125 -0
- package/dist/skills/built-in/utility-deposit-waiver.json +122 -0
- package/dist/skills/built-in/utility-payment-plan-avoid-disconnect.json +122 -0
- package/dist/skills/built-in/verify-insurance-coverage-pre-procedure.json +140 -0
- package/dist/skills/built-in/verify-out-of-network-coverage.json +129 -0
- package/dist/skills/built-in/veteran-benefits-community-college.json +134 -0
- package/dist/skills/built-in/veterinary-new-patient-intake.json +135 -0
- package/dist/skills/built-in/visa-boarding-denial-recovery.json +115 -0
- package/dist/skills/built-in/vital-records-certificate-copy.json +120 -0
- package/dist/skills/built-in/voicemail-that-gets-called-back.json +114 -0
- package/dist/skills/built-in/voter-registration-and-ballot.json +124 -0
- package/dist/skills/built-in/walkaway-threats.json +159 -0
- package/dist/skills/built-in/wedding-vendor-intake.json +149 -0
- package/dist/skills/built-in/when-to-stop-being-polite.json +161 -0
- package/dist/skills/built-in/wire-funds-safely.json +129 -0
- package/package.json +1 -1
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "financial-aid-appeal",
|
|
3
|
+
"name": "Appeal or Follow Up on a Financial-Aid Award",
|
|
4
|
+
"version": "1.0.1",
|
|
5
|
+
"category": "other",
|
|
6
|
+
"tags": [
|
|
7
|
+
"financial-aid",
|
|
8
|
+
"appeal",
|
|
9
|
+
"fafsa",
|
|
10
|
+
"scholarship",
|
|
11
|
+
"tuition",
|
|
12
|
+
"phone-call",
|
|
13
|
+
"education"
|
|
14
|
+
],
|
|
15
|
+
"description": "Call a college financial-aid office to follow up on a pending award, appeal an insufficient package, or trigger a professional-judgment review for changed family circumstances (job loss, medical bills, divorce, death).",
|
|
16
|
+
"disclaimer": "Award decisions are governed by federal regulations (Title IV) and the school's own policy. The aid office has real discretion under 'professional judgment' but cannot violate federal rules. This skill does not constitute financial advice.",
|
|
17
|
+
"context": {
|
|
18
|
+
"when_to_use": "The user (a) hasn't received an aid decision past the school's stated turnaround, (b) received a package they cannot afford, or (c) has a documented change in circumstances since the FAFSA was filed (lost job, large unreimbursed medical bill, separation/divorce, death of parent, one-time income on the tax return that won't repeat). Use this BEFORE the deposit deadline if at all possible — schools have more flexibility while you're still a prospective student.",
|
|
19
|
+
"preconditions": [
|
|
20
|
+
"User has their Student ID and FAFSA submission confirmation.",
|
|
21
|
+
"User knows the gap: what the school is asking them to pay vs. what they can actually pay.",
|
|
22
|
+
"If appealing for changed circumstances: user has — or can quickly obtain — documentation (termination letter, medical bills, death certificate, custody filing).",
|
|
23
|
+
"User has checked the school's financial-aid website for a 'Special Circumstances' / 'Appeal' form — most schools require one, and the call is to grease it through, not replace it."
|
|
24
|
+
],
|
|
25
|
+
"estimated_call_duration_minutes": 25
|
|
26
|
+
},
|
|
27
|
+
"principles": [
|
|
28
|
+
"The front desk cannot approve appeals — they triage. Your real audience is a counselor or the Director of Financial Aid. Be polite to the gatekeeper; save the specifics for the decision-maker.",
|
|
29
|
+
"'Professional judgment' is the magic phrase. It's the federal statute (HEA Sec. 479A) that lets aid officers override the FAFSA when current reality differs from the tax-year snapshot. Naming it signals you've done homework.",
|
|
30
|
+
"Documentation beats narrative. A termination letter is worth ten paragraphs of explanation. Lead with the document, not the story.",
|
|
31
|
+
"Deadlines are layered: federal, state, institutional, and internal. Ask which one is actually binding on YOUR appeal — institutional deadlines are often soft.",
|
|
32
|
+
"Schools want to enroll you. If you have other admits, mention them — not as a threat, but as context: 'I'm trying to make this work but I need to compare net cost.'",
|
|
33
|
+
"Never accuse the school of being unfair. Frame everything as 'I'm hoping there's a path forward.' Anger closes doors that paperwork opens."
|
|
34
|
+
],
|
|
35
|
+
"phrases": {
|
|
36
|
+
"opener_followup": "Hi, I'm calling to check on my financial-aid file. My Student ID is [ID]. My FAFSA was submitted on [date] and I haven't seen an award letter yet — could you check the status and let me know what's still outstanding?",
|
|
37
|
+
"opener_appeal": "Hi, I received my award letter and I'd like to start an appeal — our family's financial situation has changed materially since the tax year on the FAFSA. Could you walk me through your professional-judgment process?",
|
|
38
|
+
"ask_for_counselor": "Could I speak with the financial-aid counselor assigned to my file, or schedule a callback? I'd like to make sure I submit the appeal correctly the first time.",
|
|
39
|
+
"name_professional_judgment": "I know the FAFSA reflects [tax year] income, but since then [parent / I] [lost the job in March / had $40k in medical bills / etc.]. I think this qualifies for a professional-judgment review — what documentation do you need from me?",
|
|
40
|
+
"ask_for_director": "The counselor's been great to work with. Given the gap, would it be possible to have the Director of Financial Aid take a second look? I want to make sure every option's been considered before I make a deposit decision.",
|
|
41
|
+
"deposit_deadline_lever": "My deposit deadline is [date] and I genuinely can't commit until I know the final aid number. Is there any way to either expedite the appeal review or extend the deposit deadline by [N] weeks?",
|
|
42
|
+
"graceful_close_success": "Thank you. To confirm: I'm submitting [forms] by [date], and I should expect a revised award letter by [date]. May I have your name and a reference number for the appeal? And is it OK if I email you directly with follow-up questions?",
|
|
43
|
+
"graceful_close_failure": "Okay. Could you put the final answer in writing so I know what I'm working with? And can you point me to the office that handles emergency grants or institutional scholarships I might still be eligible for?"
|
|
44
|
+
},
|
|
45
|
+
"tactics": [
|
|
46
|
+
{
|
|
47
|
+
"name": "Triage call first, appeal second",
|
|
48
|
+
"when": "Before any substantive ask.",
|
|
49
|
+
"script": "Ask the front-desk person what their appeal process actually is (form name, where to upload, who reviews). Get the form requirements before you spend time on the narrative — half of appeals are rejected on missing paperwork, not on merit.",
|
|
50
|
+
"priority": 1
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"name": "Name 'professional judgment' explicitly",
|
|
54
|
+
"when": "Appealing due to changed circumstances (job loss, medical, divorce, death, one-time income).",
|
|
55
|
+
"script": "Use the `name_professional_judgment` phrase. The term tells the counselor you know it's allowed under federal law and not just a sob story — they're more likely to route it for substantive review.",
|
|
56
|
+
"priority": 2
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"name": "Lead with documentation",
|
|
60
|
+
"when": "First substantive turn with the counselor.",
|
|
61
|
+
"script": "State each change with the document attached: 'Parent's termination letter dated [date], W-2 showing [income], medical EOBs totaling [amount].' Specific > narrative.",
|
|
62
|
+
"priority": 3
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"name": "Ask for a deposit-deadline extension",
|
|
66
|
+
"when": "The appeal won't resolve before the binding deposit date.",
|
|
67
|
+
"script": "Use the `deposit_deadline_lever` phrase. Schools routinely grant 2-4 week extensions when an appeal is pending — they want the enrollment.",
|
|
68
|
+
"priority": 4
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"name": "Escalate to the Director",
|
|
72
|
+
"when": "The counselor has reviewed and says no, but the gap is large and the documentation is strong.",
|
|
73
|
+
"script": "Use the `ask_for_director` phrase. Frame it as 'second look', not 'over your head.' Directors approve unusual exceptions counselors aren't authorized to make.",
|
|
74
|
+
"priority": 5
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"name": "Surface alternative pools",
|
|
78
|
+
"when": "Federal/state aid is maxed out.",
|
|
79
|
+
"script": "Ask about: institutional scholarships not yet awarded, departmental aid in the user's major, emergency grants, work-study expansion, payment plans with zero interest, and outside scholarship matching. Schools often have small pools they don't advertise."
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"name": "Bring up other admits — gently",
|
|
83
|
+
"when": "Appealing at a school where you have a competing offer.",
|
|
84
|
+
"script": "Say: 'I've been admitted to [X] with a net cost of [Y]. I'd much rather come here, but I have to compare apples to apples.' Don't threaten, just frame the math. Schools sometimes 'merit match' to win the enrollment."
|
|
85
|
+
}
|
|
86
|
+
],
|
|
87
|
+
"boundaries": [
|
|
88
|
+
"Do NOT lie about family income, employment, or expenses — aid fraud is a federal crime and they can verify with IRS data.",
|
|
89
|
+
"Do NOT promise to enroll in exchange for aid — verbal commitments can be invoked later and the school may pull aid if you decline.",
|
|
90
|
+
"Do NOT submit doctored documentation. If a document doesn't exist yet (e.g. divorce decree not final), say so and ask what interim proof is acceptable.",
|
|
91
|
+
"Do NOT accept verbal-only changes to the award. Always insist on a revised award letter in writing.",
|
|
92
|
+
"Do NOT skip the school's actual appeal form just because the call went well — verbal approval without paperwork doesn't bind the bursar."
|
|
93
|
+
],
|
|
94
|
+
"success_signals": [
|
|
95
|
+
"Counselor uses the phrase 'professional judgment' or 'special circumstances review' affirmatively.",
|
|
96
|
+
"Counselor names a specific form and a timeline for review.",
|
|
97
|
+
"Director's office offers a callback.",
|
|
98
|
+
"Deposit deadline is extended in writing (even by email).",
|
|
99
|
+
"Counselor asks clarifying questions about documentation — they're building a case, not closing one."
|
|
100
|
+
],
|
|
101
|
+
"failure_signals": [
|
|
102
|
+
"Front desk refuses to route past themselves after two attempts.",
|
|
103
|
+
"Counselor says 'we don't do appeals' (this is almost never true at a Title IV school — escalate immediately).",
|
|
104
|
+
"Award is reduced rather than increased after appeal (rare but possible if FAFSA data was wrong in the user's favor — stop, consult operator).",
|
|
105
|
+
"Director declines in writing with no path to additional pools."
|
|
106
|
+
],
|
|
107
|
+
"exit_strategy": {
|
|
108
|
+
"on_success": "Confirm: which form to submit, by when, what documents, who reviews, expected response date, and whether the deposit deadline is extended. Get the counselor's direct email and a reference / case number.",
|
|
109
|
+
"on_failure": "Get the denial in writing. Ask explicitly about: emergency grants, departmental scholarships, payment plans, and outside-scholarship matching. Note for the operator: it may be time to compare net costs against other admits or consider a gap year.",
|
|
110
|
+
"follow_ups": [
|
|
111
|
+
"Email the operator the form name, deadline, document checklist, and counselor contact.",
|
|
112
|
+
"Calendar the appeal-decision date plus 3 business days as a check-in.",
|
|
113
|
+
"If approved: confirm the revised award letter actually arrives in writing before the deposit deadline.",
|
|
114
|
+
"If denied: calendar a re-appeal window for the next semester — circumstances can change and many schools allow one appeal per academic year."
|
|
115
|
+
]
|
|
116
|
+
},
|
|
117
|
+
"required_user_info": [
|
|
118
|
+
"Student ID and date of birth",
|
|
119
|
+
"FAFSA submission date and (if available) Data Release Number",
|
|
120
|
+
"Current award letter amount vs. cost of attendance",
|
|
121
|
+
"Specific change in circumstances + the date it occurred",
|
|
122
|
+
"Documentation available (and what's still being gathered)",
|
|
123
|
+
"Deposit / response deadline",
|
|
124
|
+
"Other admits + net costs (if appealing on merit-match grounds)"
|
|
125
|
+
],
|
|
126
|
+
"contributed_by": "education-admin agent (v0.9.87 community drop)",
|
|
127
|
+
"updated_at": "2026-05-20T06:09:47Z"
|
|
128
|
+
}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "follow-up-stalled-claim",
|
|
3
|
+
"name": "Follow Up on a Stalled Claim Past the Statutory Acknowledgment Window",
|
|
4
|
+
"version": "1.0.1",
|
|
5
|
+
"category": "finance-admin",
|
|
6
|
+
"tags": [
|
|
7
|
+
"claim",
|
|
8
|
+
"follow-up",
|
|
9
|
+
"stalled",
|
|
10
|
+
"statutory",
|
|
11
|
+
"bad-faith",
|
|
12
|
+
"phone-call",
|
|
13
|
+
"insurance"
|
|
14
|
+
],
|
|
15
|
+
"description": "Re-engage an adjuster who has gone silent past their state's statutory acknowledgment / response window. Document the silence, invoke the regulation by name, and create a paper trail that supports a department-of-insurance complaint or bad-faith escalation if the stall continues.",
|
|
16
|
+
"disclaimer": "Agent must NEVER admit fault, NEVER agree to a settlement on the operator's behalf, NEVER speculate about prior conditions, NEVER sign a release. All of those route through ask_operator.",
|
|
17
|
+
"context": {
|
|
18
|
+
"when_to_use": "A claim has been filed, but the adjuster has not acknowledged, requested information, or made a coverage decision within the state-mandated window (commonly 10-15 days for acknowledgment, 30-40 days for a decision once proof-of-loss is submitted). Use AFTER `file-fnol-auto-claim` and BEFORE `dispute-denied-claim`.",
|
|
19
|
+
"preconditions": [
|
|
20
|
+
"Claim number and assigned adjuster name are known.",
|
|
21
|
+
"Original FNOL date is documented.",
|
|
22
|
+
"User knows their state's statutory window (or you've looked it up — most states publish 'Unfair Claims Settlement Practices' regulations).",
|
|
23
|
+
"User has copies of every prior communication (email, voicemail, certified mail receipts)."
|
|
24
|
+
],
|
|
25
|
+
"estimated_call_duration_minutes": 20
|
|
26
|
+
},
|
|
27
|
+
"principles": [
|
|
28
|
+
"The regulation is your leverage. Naming the specific statute (e.g. 'California Insurance Code §790.03' or 'New York Reg 64') signals you're not a casual caller.",
|
|
29
|
+
"Document everything. Every voicemail, every dead-end transfer, every promise of a callback — log the date, time, and rep name.",
|
|
30
|
+
"Be firm, not angry. The goal is action, not catharsis. Angry calls get logged as 'difficult customer' and slow-walked.",
|
|
31
|
+
"Escalate by structure: adjuster → supervisor → claims manager → consumer affairs → department of insurance. Each step is a separate ask.",
|
|
32
|
+
"Silence is a tactic carriers use; certified mail and DOI complaints are the counter-tactics."
|
|
33
|
+
],
|
|
34
|
+
"phrases": {
|
|
35
|
+
"opener": "Hi, I'm calling about claim [number], opened [date]. I have not received [acknowledgment / a coverage decision / a response to my [date] inquiry], and the [statutory window] has now passed. I'd like to understand the current status and the next concrete action with a date.",
|
|
36
|
+
"invoke_statute": "Under [state] regulations on unfair claims settlement practices, the carrier owes [acknowledgment within X days / a decision within Y days of proof of loss]. We are past that window. I want to confirm the carrier's position on that timeline.",
|
|
37
|
+
"request_supervisor": "Okay — could I also be transferred to the claims supervisor for [adjuster name]? Not because you've done anything wrong; I just want this visible at the next level given the timeline.",
|
|
38
|
+
"request_written_status": "Please send a written status update by end of business today, including: current claim status, what specifically is outstanding, who is responsible, and the date the carrier expects to resolve it.",
|
|
39
|
+
"doi_warning": "If we can't get a concrete next step with a date today, my next step will be filing a complaint with the [state] Department of Insurance. I'd rather resolve this with you — what's possible?",
|
|
40
|
+
"log_callback": "Could I get your full name, your direct extension, and a reference number for this call?",
|
|
41
|
+
"graceful_close": "Thank you. To confirm: next action is [action], owner is [name], target date is [date], and a written status update will arrive by [time]."
|
|
42
|
+
},
|
|
43
|
+
"tactics": [
|
|
44
|
+
{
|
|
45
|
+
"name": "Open with the timeline, not the complaint",
|
|
46
|
+
"when": "First substantive turn.",
|
|
47
|
+
"script": "Use the `opener` phrase. State the FNOL date, the regulation's deadline, and that the window has passed. Don't editorialise — let the dates speak.",
|
|
48
|
+
"priority": 1
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"name": "Name the statute",
|
|
52
|
+
"when": "Rep says 'we're processing' without a date.",
|
|
53
|
+
"script": "Use the `invoke_statute` phrase. If you have looked up the specific code section, name it. Even 'your state's unfair claims settlement practices act' is meaningfully better than nothing.",
|
|
54
|
+
"priority": 2
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"name": "Ask for the supervisor",
|
|
58
|
+
"when": "Adjuster offers no concrete next step or claims they're 'waiting on the file'.",
|
|
59
|
+
"script": "Use the `request_supervisor` phrase. Frame it as not blaming the adjuster. Carriers route 'supervisor requested + statute named' calls differently from standard inquiries.",
|
|
60
|
+
"priority": 3
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"name": "Demand a written status update with a deadline",
|
|
64
|
+
"when": "Any rep on the call agrees there will be 'follow-up'.",
|
|
65
|
+
"script": "Use the `request_written_status` phrase. Verbal promises don't survive adjuster turnover. Written promises survive and become evidence.",
|
|
66
|
+
"priority": 4
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"name": "Warn about a DOI complaint",
|
|
70
|
+
"when": "Supervisor still offers no concrete date.",
|
|
71
|
+
"script": "Use the `doi_warning` phrase. State it factually, not as a threat — 'next step is filing with the DOI' is information, not anger. Carriers genuinely move faster when DOI is on the table because DOI complaints damage their market-conduct exam scores.",
|
|
72
|
+
"priority": 5
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"name": "Log everything",
|
|
76
|
+
"when": "Throughout the call.",
|
|
77
|
+
"script": "Use the `log_callback` phrase before ending. Capture the rep's full name, extension, the call's reference number, and the exact promises made. After the call, email a recap to the adjuster restating what was agreed — that converts verbal into written.",
|
|
78
|
+
"priority": 6
|
|
79
|
+
}
|
|
80
|
+
],
|
|
81
|
+
"boundaries": [
|
|
82
|
+
"Do NOT accept 'I'll check and call you back' without a specific date AND a written confirmation commitment.",
|
|
83
|
+
"Do NOT use the DOI warning as a bluff — only mention it if the operator has actually authorised filing the complaint on the agreed timeline.",
|
|
84
|
+
"Do NOT settle for being transferred into a voicemail. If transferred, get the supervisor's direct line first.",
|
|
85
|
+
"Do NOT agree to provide additional documentation that has already been provided — push back that it's on file.",
|
|
86
|
+
"Do NOT lose your temper. Document and escalate; the paper trail wins."
|
|
87
|
+
],
|
|
88
|
+
"success_signals": [
|
|
89
|
+
"Adjuster or supervisor commits to a specific next action with a specific date.",
|
|
90
|
+
"Written status update is promised by end of business.",
|
|
91
|
+
"Claims manager joins the call.",
|
|
92
|
+
"Carrier acknowledges the statutory window has been missed and offers a remedy (rental extension, expedited inspection, etc.).",
|
|
93
|
+
"Rep provides a direct extension and reference number for the call."
|
|
94
|
+
],
|
|
95
|
+
"failure_signals": [
|
|
96
|
+
"Three escalation levels (adjuster, supervisor, claims manager) all decline to commit to a date.",
|
|
97
|
+
"Rep insists they cannot escalate.",
|
|
98
|
+
"Carrier asks for documents already provided — stall tactic.",
|
|
99
|
+
"Call disconnects 'accidentally' and no callback arrives within 30 minutes."
|
|
100
|
+
],
|
|
101
|
+
"exit_strategy": {
|
|
102
|
+
"on_success": "Read back the agreed action, owner, and date. Confirm the written status update timeline. Thank the rep and end. Immediately email a written recap to the adjuster + supervisor restating what was agreed.",
|
|
103
|
+
"on_failure": "Document the failure to commit. Route to `ask_operator` with the recommendation to file a DOI complaint and/or send a certified-mail demand letter citing the statute.",
|
|
104
|
+
"follow_ups": [
|
|
105
|
+
"Email a recap of the call to the adjuster and supervisor within 1 hour.",
|
|
106
|
+
"Calendar the promised written status update deadline; trigger another follow-up call if it slips.",
|
|
107
|
+
"If no written update arrives, escalate to DOI complaint via `ask_operator`."
|
|
108
|
+
]
|
|
109
|
+
},
|
|
110
|
+
"required_user_info": [
|
|
111
|
+
"Claim number, adjuster name, original FNOL date",
|
|
112
|
+
"State of the claim (drives which statute applies)",
|
|
113
|
+
"Log of all prior communications with dates",
|
|
114
|
+
"Whether operator authorises DOI complaint as next step if call fails"
|
|
115
|
+
],
|
|
116
|
+
"contributed_by": "insurance-claims agent (v0.9.87 community drop)",
|
|
117
|
+
"updated_at": "2026-05-20T06:09:47Z"
|
|
118
|
+
}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "get-past-gatekeeper",
|
|
3
|
+
"name": "Get Past a Gatekeeper to the Decision-Maker",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"category": "other",
|
|
6
|
+
"tags": [
|
|
7
|
+
"cold-call",
|
|
8
|
+
"gatekeeper",
|
|
9
|
+
"executive-assistant",
|
|
10
|
+
"phone-call",
|
|
11
|
+
"routing",
|
|
12
|
+
"outreach-sales"
|
|
13
|
+
],
|
|
14
|
+
"description": "When the agent calls a target organisation on behalf of the operator and reaches a receptionist, executive assistant, or main-line gatekeeper, navigate to the right decision-maker with honesty and respect — not tricks.",
|
|
15
|
+
"disclaimer": "Skills assume the call is solicited by the operator. NEVER use these to power a mass-cold-call campaign without the operator's explicit per-prospect authorisation.",
|
|
16
|
+
"context": {
|
|
17
|
+
"when_to_use": "Operator has asked the agent to reach a specific person (named or by role) at a company, and the call is intercepted by a gatekeeper. The operator has a legitimate, named reason for the call (introduction, follow-up, referral, prior touch).",
|
|
18
|
+
"preconditions": [
|
|
19
|
+
"Operator has authorised this specific outreach (not a mass campaign).",
|
|
20
|
+
"Agent has the target's name or, at minimum, a precise role title.",
|
|
21
|
+
"Agent has a one-sentence honest reason for the call ready.",
|
|
22
|
+
"Agent has the referring party's name on hand if this is a referral."
|
|
23
|
+
],
|
|
24
|
+
"estimated_call_duration_minutes": 4
|
|
25
|
+
},
|
|
26
|
+
"principles": [
|
|
27
|
+
"The gatekeeper is a colleague, not an obstacle. Treating them as an obstacle is the fastest way to be permanently blocked.",
|
|
28
|
+
"Be specific about who you want and why. Vagueness reads as sales; specificity reads as legitimate business.",
|
|
29
|
+
"Never lie about who you are, who you represent, or what the call is about. Gatekeepers verify and have long memories.",
|
|
30
|
+
"Match the formality of the receiving organisation. A law firm gatekeeper expects more formality than a startup's front desk.",
|
|
31
|
+
"If the gatekeeper says 'they're not available', accept it on the first ask. Pressing turns a soft no into a hard no."
|
|
32
|
+
],
|
|
33
|
+
"phrases": {
|
|
34
|
+
"opener_named": "Hi, this is [agent name] calling from [operator name]'s office. Could you put me through to [target full name], please?",
|
|
35
|
+
"opener_referral": "Hi, this is [agent name] on behalf of [operator name]. [Referrer name] suggested I reach out to [target name] about [topic] — is [target] the right person, and could I be put through?",
|
|
36
|
+
"opener_role": "Hi, this is [agent name] calling for [operator name]. Could you tell me who handles [specific function] there, and whether they're available to speak briefly?",
|
|
37
|
+
"honest_reason": "It's about [one-sentence honest topic]. I'm not selling anything on this call — [operator] just wants to introduce themselves / follow up on [prior touch].",
|
|
38
|
+
"voicemail_redirect": "Thank you. Could you send me to their voicemail, or is there a better time to try them?",
|
|
39
|
+
"polite_decline_accept": "No problem at all — thank you for checking. Could I leave a brief message, or would email be better for a first touch?",
|
|
40
|
+
"name_request": "I want to make sure I send the right thing in writing — could I get your name? Thanks, [name], appreciate it."
|
|
41
|
+
},
|
|
42
|
+
"tactics": [
|
|
43
|
+
{
|
|
44
|
+
"name": "Lead with the target's name if you have it",
|
|
45
|
+
"when": "You know exactly who you want to speak to.",
|
|
46
|
+
"script": "Use the `opener_named` phrase. Saying the target's first and last name signals you actually know them, not that you're dialing a list.",
|
|
47
|
+
"priority": 1
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"name": "Cite the referrer immediately if there is one",
|
|
51
|
+
"when": "This call exists because someone introduced the operator.",
|
|
52
|
+
"script": "Use `opener_referral`. The referrer's name does most of the work — drop it in the first sentence, not deep in the call.",
|
|
53
|
+
"priority": 2
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"name": "If you only have a role, ask who owns it",
|
|
57
|
+
"when": "Operator only knows 'the head of partnerships' or similar.",
|
|
58
|
+
"script": "Use `opener_role`. Phrase it as a discovery question, not a demand. Gatekeepers respond well to 'help me figure out who I should be talking to'.",
|
|
59
|
+
"priority": 3
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"name": "Offer the honest reason BEFORE being asked",
|
|
63
|
+
"when": "Gatekeeper pauses or asks 'what is this regarding?'.",
|
|
64
|
+
"script": "Use the `honest_reason` phrase pre-emptively on calls into formal organisations. It disarms the screening question.",
|
|
65
|
+
"priority": 4
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"name": "Ask the gatekeeper's name and remember it",
|
|
69
|
+
"when": "After the gatekeeper has spent more than ~20 seconds helping.",
|
|
70
|
+
"script": "Use `name_request`. Logging the gatekeeper's name and using it on future calls compounds enormously — within 2-3 calls they recognise you as 'one of the good ones'.",
|
|
71
|
+
"priority": 5
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"name": "Accept the first soft no",
|
|
75
|
+
"when": "Gatekeeper says target is in a meeting / unavailable / travelling.",
|
|
76
|
+
"script": "Use `polite_decline_accept`. Ask for best time or for voicemail. Do NOT ask twice in the same call to override the answer."
|
|
77
|
+
}
|
|
78
|
+
],
|
|
79
|
+
"boundaries": [
|
|
80
|
+
"Do NOT pretend to be a personal friend, family member, or colleague of the target.",
|
|
81
|
+
"Do NOT claim the target 'is expecting your call' unless it is literally true.",
|
|
82
|
+
"Do NOT use the 'I'll just leave my number, they have my email' trick to extract direct lines.",
|
|
83
|
+
"Do NOT push past a gatekeeper who has clearly said no. Try a different channel (email, LinkedIn) next instead.",
|
|
84
|
+
"Do NOT call back the same day after being told the target is unavailable — that escalates to harassment fast."
|
|
85
|
+
],
|
|
86
|
+
"success_signals": [
|
|
87
|
+
"Gatekeeper transfers the call to the target.",
|
|
88
|
+
"Gatekeeper provides a direct dial, email, or 'best time to call'.",
|
|
89
|
+
"Gatekeeper offers to take a detailed message and confirms it will be passed on.",
|
|
90
|
+
"Gatekeeper confirms the right role/owner for the topic."
|
|
91
|
+
],
|
|
92
|
+
"failure_signals": [
|
|
93
|
+
"Gatekeeper firmly says 'we don't take cold calls — send an email'.",
|
|
94
|
+
"Gatekeeper repeats target is unavailable on a second probe.",
|
|
95
|
+
"Gatekeeper asks the agent to remove them from a list (treat as a hard stop).",
|
|
96
|
+
"Gatekeeper recognises this is the third call this week and is now cold."
|
|
97
|
+
],
|
|
98
|
+
"exit_strategy": {
|
|
99
|
+
"on_success": "Note the gatekeeper's name and any callback window they suggested. If transferred, lean into the voicemail or live-call skill depending on what answers.",
|
|
100
|
+
"on_failure": "Thank the gatekeeper warmly by name, ask for the best written channel (general inbox vs. role-specific email), and end the call. Log a 'do not retry by phone for N days' note for the operator.",
|
|
101
|
+
"follow_ups": [
|
|
102
|
+
"Email the operator: who answered, gatekeeper's name, what was learned (target's correct role / spelling / best channel).",
|
|
103
|
+
"If a callback window was given, schedule the next attempt inside that window — not earlier."
|
|
104
|
+
]
|
|
105
|
+
},
|
|
106
|
+
"required_user_info": [
|
|
107
|
+
"Operator's name and the name of the company/identity being represented",
|
|
108
|
+
"Target's name OR precise role at the target organisation",
|
|
109
|
+
"One honest sentence about why the call is happening",
|
|
110
|
+
"Referrer's name if applicable",
|
|
111
|
+
"Whether voicemail is acceptable as a fallback"
|
|
112
|
+
],
|
|
113
|
+
"contributed_by": "sales-outbound agent (v0.9.87 community drop)",
|
|
114
|
+
"updated_at": "2026-05-20T06:09:47Z"
|
|
115
|
+
}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "get-past-tier-1-script",
|
|
3
|
+
"name": "Get Past the Tier-1 Script-Bound Rep",
|
|
4
|
+
"version": "1.0.1",
|
|
5
|
+
"category": "customer-service",
|
|
6
|
+
"tags": [
|
|
7
|
+
"escalation",
|
|
8
|
+
"phone-call",
|
|
9
|
+
"tier-1",
|
|
10
|
+
"scripts",
|
|
11
|
+
"authority",
|
|
12
|
+
"front-line",
|
|
13
|
+
"customer-support"
|
|
14
|
+
],
|
|
15
|
+
"description": "Move a call out of the front-line script-and-knowledge-base loop and into the hands of someone with real decision authority, without making the tier-1 rep feel demeaned or marked as difficult.",
|
|
16
|
+
"disclaimer": null,
|
|
17
|
+
"context": {
|
|
18
|
+
"when_to_use": "The rep is clearly working from a flowchart: repeating canned phrases, putting you on hold to 'check' the same answer, offering only the options the IVR already offered. You need a human with authority to make exceptions. NOT for cases where tier-1 can actually solve it — pushing past tier-1 prematurely just adds 20 minutes of transfer.",
|
|
19
|
+
"preconditions": [
|
|
20
|
+
"User has stated the goal clearly at least once and the rep's response was clearly scripted.",
|
|
21
|
+
"User has the account number / verification info ready (you only get one shot at a warm handoff).",
|
|
22
|
+
"Call has been going at least 3-4 minutes — long enough to confirm tier-1 is stuck, short enough that you haven't burned goodwill yet."
|
|
23
|
+
],
|
|
24
|
+
"estimated_call_duration_minutes": 12
|
|
25
|
+
},
|
|
26
|
+
"principles": [
|
|
27
|
+
"Tier-1 reps are graded on call-handle-time and first-call-resolution. A polite escalation request that LOOKS like an FCR (warm handoff, agreed by both sides) is your best leverage.",
|
|
28
|
+
"Never tell a rep they are 'just reading a script'. Even if true, that's the fastest way to get marked 'difficult' in the CRM notes and watch every future rep treat you accordingly.",
|
|
29
|
+
"Listen for tells: 'per our policy', 'the system won't let me', 'I don't have access to that' — each one is a flag that you've hit the edge of tier-1 authority. Don't argue with the wall; ask who's on the other side of it.",
|
|
30
|
+
"The magic word is 'who'. 'WHO can help me with this?' is non-confrontational and forces the rep to name a team or a tool. 'Why can't YOU help me?' is the wrong question.",
|
|
31
|
+
"Give the rep a clean way out. 'I know this isn't in your usual workflow' is a face-saving sentence that converts adversaries into allies.",
|
|
32
|
+
"Specificity escalates faster than emotion. 'I need someone who can issue a credit over $50' beats 'I need a manager NOW'.",
|
|
33
|
+
"Mirror their pacing. Scripted reps speak in pre-loaded chunks; if you speak in calm, slow, complete sentences, you sound competent and they unconsciously raise your perceived seniority."
|
|
34
|
+
],
|
|
35
|
+
"phrases": {
|
|
36
|
+
"soft_diagnostic": "I want to make sure I'm asking the right team — does this kind of request usually get handled at your level, or is it something a different group owns?",
|
|
37
|
+
"name_the_authority": "Who in your organization is allowed to [specific action: waive this fee / restore the service / issue a credit over $X]? I want to make sure we're working with the right person.",
|
|
38
|
+
"warm_handoff_request": "It sounds like this might be outside what your team can adjust. Could you do a warm transfer — stay on the line, brief them, and then drop off — so I don't have to start over?",
|
|
39
|
+
"face_saver": "I can tell you've already tried the obvious options — thanks for that. Let's loop in whoever owns the exception process so we don't keep going in circles.",
|
|
40
|
+
"no_blame_escalation": "Nothing you've done is wrong — I just don't think this is a tier-1 decision. Who's the next layer up?",
|
|
41
|
+
"preempt_the_loop": "Before you put me on hold to check again, can I ask — is the answer going to be different from what you've already told me? If not, I'd rather use that time to get to someone who can change the answer.",
|
|
42
|
+
"specific_authority_ask": "I need to speak with someone who has authority to [action]. That's a 'yes I can do that' / 'no I can't' question — could you confirm whether that's you, and if not, who?"
|
|
43
|
+
},
|
|
44
|
+
"tactics": [
|
|
45
|
+
{
|
|
46
|
+
"name": "Diagnose the ceiling before pushing through it",
|
|
47
|
+
"when": "First 2-3 minutes — you suspect tier-1 but aren't certain.",
|
|
48
|
+
"script": "Use `soft_diagnostic`. Listen for whether the rep claims authority ('yes I can do that') or deflects ('let me check / our policy says / the system'). Deflection = ceiling confirmed.",
|
|
49
|
+
"priority": 1,
|
|
50
|
+
"decision_point": "If the rep says 'yes I can do that' and then actually does it, STOP escalating. Tier-1 just solved your problem. Don't ask for a supervisor out of habit."
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"name": "Name the authority, not the title",
|
|
54
|
+
"when": "Ceiling confirmed — you need to go up but don't want to say 'supervisor' yet (that triggers defensive scripts).",
|
|
55
|
+
"script": "Use `name_the_authority`. Asking for 'the team that handles X' is softer than 'a manager' and gets you to the right place faster, because some companies don't escalate vertically — they escalate sideways to a specialist queue.",
|
|
56
|
+
"priority": 2
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"name": "Request a warm handoff",
|
|
60
|
+
"when": "Rep agrees to transfer.",
|
|
61
|
+
"script": "Use `warm_handoff_request`. Cold transfers dump you into a queue and you re-verify, re-explain, and lose context. Insist (politely) that the rep stays on the line to brief the next person.",
|
|
62
|
+
"priority": 3,
|
|
63
|
+
"decision_point": "If the rep says they can't do a warm transfer, ask WHY. 'Our system doesn't support it' = real; 'I'll just transfer you now' = they're trying to dump you. In the second case, get the rep's name, ID, and the direct number/extension of where you're being sent BEFORE accepting the transfer."
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"name": "Pre-empt the hold loop",
|
|
67
|
+
"when": "Rep says 'let me put you on hold and check' for the second time on the same question.",
|
|
68
|
+
"script": "Use `preempt_the_loop`. Putting you on hold to ask the same person the same question is the cheapest stall — interrupting it politely is fair game.",
|
|
69
|
+
"priority": 4
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"name": "Convert the rep into your advocate",
|
|
73
|
+
"when": "After 1-2 escalation requests, before going harder.",
|
|
74
|
+
"script": "Use `face_saver` + `no_blame_escalation`. A rep who feels respected will sometimes proactively flag your account 'VIP' or 'priority callback' in the notes — that's worth more than any single escalation.",
|
|
75
|
+
"priority": 5
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"name": "Force a binary on authority",
|
|
79
|
+
"when": "You've been polite twice and the rep is still circling.",
|
|
80
|
+
"script": "Use `specific_authority_ask`. Asking 'is that a yes/no you can give me' makes it socially awkward to keep stalling — the rep almost always either commits or transfers.",
|
|
81
|
+
"priority": 6,
|
|
82
|
+
"decision_point": "If the answer is 'I can't promise but let me try one more thing', give them ONE more shot (90 seconds). If they fail, transfer time. If they hesitate to even attempt — escalate immediately."
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"name": "Capture the breadcrumb on the way up",
|
|
86
|
+
"when": "Moment of transfer.",
|
|
87
|
+
"script": "Before the rep transfers, capture: their name, their employee ID or initials, the department you're being sent to, and the case/ticket number they've opened. If the transfer fails, you have a thread to pick back up.",
|
|
88
|
+
"priority": 7
|
|
89
|
+
}
|
|
90
|
+
],
|
|
91
|
+
"boundaries": [
|
|
92
|
+
"Do NOT mock, raise voice, or call the rep incompetent. The rep can disconnect, mark your account, and you start over from worse than zero.",
|
|
93
|
+
"Do NOT lie about being a lawyer, journalist, or executive contact unless the user actually is one. It works once and burns the relationship for life.",
|
|
94
|
+
"Do NOT demand a supervisor in the first 90 seconds — it triggers a defensive script and ALL tier-1s are trained to deflect early supervisor asks.",
|
|
95
|
+
"Do NOT accept a cold transfer to 'a queue' without first capturing the rep's name, the target department, and the case number.",
|
|
96
|
+
"Do NOT volunteer information the rep didn't ask for. Every extra detail is a new place the script can route you to.",
|
|
97
|
+
"Do NOT use threats (lawsuit, social media, regulator) at the tier-1 layer — wrong altitude. Save those for after a real supervisor has also said no."
|
|
98
|
+
],
|
|
99
|
+
"success_signals": [
|
|
100
|
+
"Rep names a specific team or specialist queue ('that would be our retention team' / 'billing exceptions handles that').",
|
|
101
|
+
"Rep offers a warm transfer without being asked.",
|
|
102
|
+
"Rep says 'let me see what I can do' with a noticeable change in tone — they've switched from script to discretion.",
|
|
103
|
+
"Rep opens a case/ticket number proactively.",
|
|
104
|
+
"Rep volunteers a callback time or direct extension."
|
|
105
|
+
],
|
|
106
|
+
"failure_signals": [
|
|
107
|
+
"Rep repeats the same scripted line verbatim more than twice.",
|
|
108
|
+
"Rep refuses to give their name or employee ID.",
|
|
109
|
+
"Hold times escalate (30s → 2min → 5min) without new information.",
|
|
110
|
+
"Rep claims 'there is no supervisor available' more than once — that's almost always false.",
|
|
111
|
+
"Rep starts citing 'our terms of service' as a closer — that's a polite hang-up warning."
|
|
112
|
+
],
|
|
113
|
+
"exit_strategy": {
|
|
114
|
+
"on_success": "Capture the new rep's name + ID + department, restate the problem in one sentence, and let them speak. Do NOT re-litigate everything the tier-1 already heard — the warm handoff did that for you.",
|
|
115
|
+
"on_failure": "Ask for the rep's name and ID, the case number opened, and a callback number for the team you should have been transferred to. End politely. Use `request-supervisor-gracefully` on the callback, or pivot to `multi-channel-escalation`.",
|
|
116
|
+
"follow_ups": [
|
|
117
|
+
"Log: time of call, rep name + ID, case number, what was promised and what was refused.",
|
|
118
|
+
"If you got a case number, reference it on every subsequent call — it short-circuits re-verification.",
|
|
119
|
+
"If transfer failed mid-call, call back within 24h while the case is fresh — older cases get harder to find in some CRMs."
|
|
120
|
+
]
|
|
121
|
+
},
|
|
122
|
+
"required_user_info": [
|
|
123
|
+
"Account identifier (number, login email, phone on file)",
|
|
124
|
+
"The specific outcome you want stated in one sentence",
|
|
125
|
+
"What tier-1 has already said no to (or you'll repeat the loop)",
|
|
126
|
+
"Any prior case/ticket numbers from earlier calls"
|
|
127
|
+
],
|
|
128
|
+
"contributed_by": "support-escalator agent (v0.9.87 community drop)",
|
|
129
|
+
"updated_at": "2026-05-20T06:09:47Z"
|
|
130
|
+
}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "handle-callback-stall",
|
|
3
|
+
"name": "Handle the \"We'll Call You Back\" Stall",
|
|
4
|
+
"version": "1.0.1",
|
|
5
|
+
"category": "other",
|
|
6
|
+
"tags": [
|
|
7
|
+
"closing",
|
|
8
|
+
"stall",
|
|
9
|
+
"callback",
|
|
10
|
+
"anti-pattern",
|
|
11
|
+
"phone-call",
|
|
12
|
+
"closing-commitment"
|
|
13
|
+
],
|
|
14
|
+
"description": "When a rep says 'we'll call you back', convert that vague intent into a specific, accountable, named commitment — or refuse it. The unbounded callback is the single biggest time sink in customer-service workflows. Most callbacks never happen. Treat the phrase as a stall, not a plan.",
|
|
15
|
+
"disclaimer": null,
|
|
16
|
+
"context": {
|
|
17
|
+
"when_to_use": "Any time a rep proposes ending the current call with a 'we'll get back to you' — whether for research, escalation, system limitations, or any other reason. ALSO use when a rep hints they'd rather end the call than continue working the issue.",
|
|
18
|
+
"preconditions": [
|
|
19
|
+
"You're still on the call with the rep who proposed the callback.",
|
|
20
|
+
"You have not yet agreed to end the call.",
|
|
21
|
+
"You can keep the line open for another 3-5 minutes to pin specifics."
|
|
22
|
+
],
|
|
23
|
+
"estimated_call_duration_minutes": 5
|
|
24
|
+
},
|
|
25
|
+
"principles": [
|
|
26
|
+
"A callback without a named owner is functionally a callback that won't happen. Companies route callbacks to queues; queues route to whoever's next; whoever's next has no context.",
|
|
27
|
+
"A callback without a deadline is functionally indefinite. 'In a few days' becomes weeks.",
|
|
28
|
+
"A callback without a ticket / case / reference number is unverifiable. If you call asking 'where's my callback?', they need a key to look it up.",
|
|
29
|
+
"Push to resolve on THIS call whenever possible. Even waiting on hold for 20 minutes is usually cheaper than the round-trip cost of a callback that needs to be chased.",
|
|
30
|
+
"Get the callback number FROM you to THEM — not the other way around. 'I'll be at this number at this time, calling YOU then' shifts the work back."
|
|
31
|
+
],
|
|
32
|
+
"phrases": {
|
|
33
|
+
"first_resistance": "Before we go to a callback — is there any way we can resolve this on the line today? Even if it takes a longer hold. I find callbacks often slip through the cracks for both of us.",
|
|
34
|
+
"owner_pin": "If we do go to a callback, who specifically will be calling — you, a named teammate, or just whoever's next in the queue? I'd like a name so I know who to ask for if I have to follow up.",
|
|
35
|
+
"deadline_pin": "What's the latest I should expect to hear by? I'd rather you over-promise on the time and beat it than leave it open-ended.",
|
|
36
|
+
"ticket_pin": "What's the case or ticket number for the callback? If I don't hear back by [deadline], I'll call in referencing that number — saves us starting over.",
|
|
37
|
+
"no_show_protocol": "If the callback doesn't happen on time, what's the best number for me to call, and is there a way to flag it as 'callback overdue' rather than starting fresh?",
|
|
38
|
+
"reverse_callback": "Rather than waiting, can I be the one to call back at [specific time]? I'll ask for you / [named rep] directly. I find that's more reliable.",
|
|
39
|
+
"escalate_stall": "Thanks for offering the callback — but I've been burned before. Could we get a supervisor on now to either resolve this today or formally schedule the callback with a named owner?",
|
|
40
|
+
"graceful_close_success": "Got it: callback by [deadline], from [name or team], ticket [N]. If I don't hear by then, I'll call back referencing [N]. Thank you.",
|
|
41
|
+
"graceful_close_failure": "I'm not comfortable closing on an open-ended callback — could I speak with a supervisor before we end the call?"
|
|
42
|
+
},
|
|
43
|
+
"tactics": [
|
|
44
|
+
{
|
|
45
|
+
"name": "Resist the callback first",
|
|
46
|
+
"when": "Rep first proposes 'we'll call you back'.",
|
|
47
|
+
"script": "Use the `first_resistance` phrase. Many callbacks are offered because the rep is approaching their wrap time or doesn't want to hold — pushing back gently often unlocks resolution on the live call.",
|
|
48
|
+
"priority": 1
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"name": "Pin the owner",
|
|
52
|
+
"when": "Callback is genuinely required (research, system update, escalation).",
|
|
53
|
+
"script": "Use the `owner_pin` phrase. 'Someone from our team will reach out' = nobody. A name + ID is the minimum.",
|
|
54
|
+
"priority": 2
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"name": "Pin the deadline",
|
|
58
|
+
"when": "Owner has been named.",
|
|
59
|
+
"script": "Use the `deadline_pin` phrase. Force a specific date AND time-of-day if possible. 'By Friday' is weaker than 'by 5pm Friday'.",
|
|
60
|
+
"priority": 3
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"name": "Pin the ticket / case number",
|
|
64
|
+
"when": "Owner and deadline pinned.",
|
|
65
|
+
"script": "Use the `ticket_pin` phrase. The ticket is the recovery key. Without it, a failed callback turns into a fresh call from scratch.",
|
|
66
|
+
"priority": 4
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"name": "Set the no-show protocol upfront",
|
|
70
|
+
"when": "Everything pinned.",
|
|
71
|
+
"script": "Use the `no_show_protocol` phrase. This rehearses the recovery path while you still have the rep — they may volunteer a direct line or escalation route they wouldn't share later.",
|
|
72
|
+
"priority": 5
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"name": "Offer to reverse the callback",
|
|
76
|
+
"when": "Rep can't pin an owner, deadline, or ticket reliably.",
|
|
77
|
+
"script": "Use the `reverse_callback` phrase. Customer-initiated callbacks with prior reference numbers complete vastly more often than company-initiated ones. Take ownership when possible.",
|
|
78
|
+
"priority": 6
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"name": "Escalate if pinning fails",
|
|
82
|
+
"when": "Two or more of owner / deadline / ticket cannot be pinned.",
|
|
83
|
+
"script": "Use the `escalate_stall` phrase. An unstructured callback is essentially the rep wishing you well. Supervisors can either resolve live OR commit to a structured callback the front line can't.",
|
|
84
|
+
"priority": 7
|
|
85
|
+
}
|
|
86
|
+
],
|
|
87
|
+
"boundaries": [
|
|
88
|
+
"Do NOT accept 'we'll call you back' without at least: a name OR team, a deadline, and a reference number. Two of three is the minimum bar.",
|
|
89
|
+
"Do NOT let the rep set the callback time at a moment when the user is unavailable — pin a window that actually works.",
|
|
90
|
+
"Do NOT promise to wait silently. Tell the rep what your follow-up plan is ('I'll call back referencing [N] if I don't hear by [deadline]') so they know the callback failure path is real.",
|
|
91
|
+
"Do NOT accept callback to a number the user doesn't control or check ('I'll call your home line' when the user only checks mobile)."
|
|
92
|
+
],
|
|
93
|
+
"success_signals": [
|
|
94
|
+
"Rep names a specific person or named team who will call.",
|
|
95
|
+
"Rep gives a deadline tighter than the user expected.",
|
|
96
|
+
"Rep volunteers a direct extension or queue identifier for the no-show recovery path.",
|
|
97
|
+
"Rep agrees to send the ticket number in writing before hanging up."
|
|
98
|
+
],
|
|
99
|
+
"failure_signals": [
|
|
100
|
+
"Rep waffles on the owner ('someone will get back to you').",
|
|
101
|
+
"Rep gives no deadline or a wildly open one ('within 30 days').",
|
|
102
|
+
"Rep refuses or fails to provide a ticket number.",
|
|
103
|
+
"Rep gets defensive when you push for specifics — strong signal the callback isn't real."
|
|
104
|
+
],
|
|
105
|
+
"exit_strategy": {
|
|
106
|
+
"on_success": "Log: callback owner, deadline, ticket number, no-show recovery path. Calendar the deadline + a buffer (e.g. deadline + 2 hours). At the buffer, initiate the user-side callback per the no-show protocol.",
|
|
107
|
+
"on_failure": "Escalate to a supervisor before closing. If supervisor also cannot structure the callback, treat the issue as effectively unresolved and consider opening a formal complaint case as the actual artifact.",
|
|
108
|
+
"follow_ups": [
|
|
109
|
+
"If the callback happens: immediately re-run `capture-rep-identity` and `lock-in-terms-verbally` on the new call.",
|
|
110
|
+
"If the callback fails: call in with the original ticket number and refuse to re-tell the story from scratch — 'I have ticket [N], please pull it up'."
|
|
111
|
+
]
|
|
112
|
+
},
|
|
113
|
+
"required_user_info": [
|
|
114
|
+
"A reliable callback number AND a time window when the user can answer",
|
|
115
|
+
"Tolerance threshold: how long the user is willing to wait before escalating",
|
|
116
|
+
"Authority to escalate or open a complaint case if pinning fails"
|
|
117
|
+
],
|
|
118
|
+
"contributed_by": "closing-commitment agent (v0.9.87 community drop)",
|
|
119
|
+
"updated_at": "2026-05-20T06:09:47Z"
|
|
120
|
+
}
|