// SYNCING...
[ NO SIGNAL ]
No session loaded.
Go to Import → paste Gemini JSON → hit Load. Takes 10 seconds.
Interest rate over time
// AWAITING DATA
All-time totals
// Session log
Pickup rate by hour of day
Pickup rate by day of week
Objections — all-time
Export for Claude
Pulls your aggregated history — totals, trends, time patterns, objections — into one clean text block. Copy it and paste straight into Claude for coaching.
1Run this in Gemini inside your Google Sheet
Copy the prompt → paste into Gemini sidebar in your daily leads sheet → run at end of every session, regardless of which sheet you used.
gemini_prompt.txt
Analyze the call data in this sheet and return ONLY a valid JSON object. No explanation, no markdown, no code fences. Just raw JSON starting with { and ending with }. Use exactly this structure: { "date": "YYYY-MM-DD", "calls_made": number, "not_called": number, "showed_interest": number, "follow_up": number, "not_interested": number, "no_pickup": number, "left_vm": number, "disconnected": number, "closed": number, "interest_rate_pct": number, "pickup_rate_pct": number, "trades": [ { "name": "trade name", "called": number, "interested": number, "follow_up": number, "left_vm": number, "not_interested": number, "no_pickup": number } ], "objections": [ { "text": "short description of objection", "count": number, "example": "one real quote or paraphrase from notes" } ], "followups": [ { "business": "business name", "trade": "trade", "phone": "phone or empty string", "status": "Showed Intrest or Follow Up or Left VM", "heat": "hot or warm or cold", "notes": "key note from call", "timestamp": "value from column K for this row, exact string, or empty string if blank" } ], "priorities": ["Priority 1 as a plain sentence", "Priority 2 as a plain sentence", "Priority 3 as a plain sentence"], "session_notes": "2-3 sentence plain English summary of today" } Rules: - calls_made = rows where Call Status is NOT "Not Called" - not_called = rows where Call Status is "Not Called" - interest_rate_pct = showed_interest / calls_made * 100, rounded to 1 decimal - pickup_rate_pct = (showed_interest + follow_up + not_interested + left_vm + closed) / calls_made * 100, rounded to 1 decimal - followups must include ALL rows with status "Showed Intrest", "Follow Up", or "Left VM" — do not skip any - timestamp field = copy the exact value from column K for that row with no reformatting. If column K is blank for that row, use an empty string. Do not guess or invent a timestamp. - heat: "hot" = Showed Intrest, "warm" = Follow Up, "cold" = Left VM - Objections come ONLY from Notes of Not Interested rows — group similar reasons, and where the note explains WHY they dropped off, preserve that reasoning in the example field - Priorities must be specific and actionable, not generic - All numbers integers except the two _pct fields - Return nothing except the JSON object
2Paste JSON into Import tab
Copy everything Gemini returns, including the outer braces. Go to Import → paste → Load Session.
3Check Home, then Deep Dive weekly
Home gives you the daily read. Deep Dive is where patterns show up — check it once a week, not every day.