| name | daily-call-sheet-workflow |
| description | Generates the structured daily call sheet for Ezra — 6 prioritized categories, specific opening lines for each call, and a clear action order. |
| triggers | ["what's on my plate today","give me the call sheet","daily call sheet","what should I work on today","today's priorities","morning briefing","what's first today"] |
| tier | stable |
| disable_model_invocation | false |
| requires | ["env:SUNBIZ_SUPABASE_URL","env:SUNBIZ_SUPABASE_ANON_KEY"] |
Daily Call Sheet Workflow
Where these endpoints live: All /api/... URLs below are routes on
the OASIS Command Center dashboard (repo: CC90210/oasis-command-center,
deployed at https://agent-dashboard-sigma-eight.vercel.app). They are NOT
served by this repo's local scripts/api_server.py (which only exposes
/health, /status, /sms/send, /webhook/jotform). Solara's bridge
makes authenticated fetch calls into the dashboard's API surface, and
the dashboard then writes to Supabase / queues threads / dispatches the
8 daemons in this repo.
Purpose
Start every business day with a structured, prioritized action plan. Solara pulls from multiple data sources (daily_plan_items, follow_up_tasks, funded_deals, applications pipeline) and compiles a single sheet that tells Ezra exactly who to call, in what order, and what to say at the start of each conversation.
How-To-Run
Step 1 — Pull today's data
Run in parallel:
GET /api/daily-plan-items?date=today
GET /api/follow-up-tasks?status=open&due_before=today+1d
GET /api/applications?status=pending_info,pending_lender_response
GET /api/funded-deals?renewal_eligible=true&last_contacted_before=7d_ago
Step 2 — Categorize into 6 buckets
| Category | Criteria | Priority |
|---|
| Priority Call | Offer expiring today, hot lead that hasn't been called, D-paper escalation | 1 — First |
| Missing Info | Application stalled waiting on docs (bank statements, voided check, DL) | 2 |
| Stuck Deals | In lender review > 72h with no response, merchant ghosting after offer | 3 |
| New Offer | Lender came back with approval or counter — need merchant decision | 4 |
| Shop Today | Underwriting complete, ready to submit — shop-out not yet fired | 5 |
| Renewal Eligible | Funded deals at 40%+ payback that haven't been contacted recently | 6 — Last |
Step 3 — Compile the call sheet
Format for Ezra:
DAILY CALL SHEET — [Date]
Generated by Solara at [time]
PRIORITY CALLS (do these first)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. [Merchant Name] — [Business Name]
Why: Offer from Funder A expires at 5pm today. $42K at 1.36x.
Open with: "Hi [Name], it's Ezra from SunBiz. Wanted to reach out about
the offer we got back — I think it's solid and wanted to walk you through it."
Phone: [number]
2. [Merchant Name] — [Business Name]
Why: Called 3x this week, no answer. Last one goes to voicemail today or we pause.
Open with: "Hi [Name], this is Ezra from SunBiz Funding — following up on your
application. If you want to move forward, I'd love to connect today."
Phone: [number]
MISSING INFO
━━━━━━━━━━━━
3. [Merchant Name]
Missing: 4th month bank statement + voided check
Open with: "Hey [Name], just need two more things to get your file over to the
funders — can you send your [specific docs]?"
Phone: [number] | Email: [email]
STUCK DEALS
━━━━━━━━━━━
4. [Merchant Name] — submitted to 3 lenders 4 days ago. No response.
Action: Email nudge to all 3 lender contacts. NOT a merchant call.
Lender contacts: [names and emails]
NEW OFFERS — NEED MERCHANT DECISION
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
5. [Merchant Name]
Offer: $38K at 1.41x, 110 days — Funder B
Waiting on: Merchant has not responded since offer was sent 28h ago.
Open with: "Hi [Name], just following up on the offer from our funding partner —
wanted to make sure you saw it and see if you have any questions."
Phone: [number]
SHOP TODAY
━━━━━━━━━━
6. [Merchant Name] — Readiness: 78/100 — B-paper
Action: Run shop-out via skills/shop-out-routing
Note: 2 existing positions — filter lenders accordingly.
RENEWAL ELIGIBLE
━━━━━━━━━━━━━━━━
7. [Merchant Name] — 44% paid back — $27K remaining
Open with: "Hey [Name], it's Ezra — just checking in. How's business been going?
I wanted to see if additional capital might be useful for you."
Phone: [number]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Total actions: 7 | Est. call time: ~45 min
Step 4 — Execute on Ezra's direction
Ezra reviews the call sheet and decides which items to tackle. Solara's job during the calls:
- On demand: pull the full application or deal file for any item on the sheet
- After each call: log the outcome as a follow-up task with the next action and date
- If an offer is accepted: route to
skills/shop-out-routing or trigger the funding workflow
Step 5 — End-of-day review
At end of day (or when Ezra asks), surface what moved:
EOD SUMMARY
Calls made: 5/7 items
- [Merchant A]: Accepted offer — funding in motion
- [Merchant B]: Sent docs — application complete, ready to shop
- [Merchant C]: No answer — moved to tomorrow priority
- Stuck deals: Nudged 3 lenders — waiting on response
Opening Line Quality Standards
Every opening line must be:
- Specific — not "calling to follow up" but "calling about the offer from Funder A that expires today"
- Warm — Ezra and the team have relationships; the open shouldn't sound cold
- Brief — 1–2 sentences max before listening. The merchant starts talking when they feel heard.
- Action-oriented — always end with an implicit invitation for the merchant to respond
Guardrails
- Do not generate a call sheet that has more than 10 items. If there are more, triage down to the top 10 by urgency. Everything else goes on tomorrow's list.
- Priority Call slots are for genuinely urgent items only — expiring offers, hot inbounds. Do not pad with warm follow-ups.
- Never include a call for an opted-out contact. Check
skills/casl-compliance status first.
Related Skills
- [[skills/follow-up-discipline/SKILL.md]] — the source data for follow-up tasks
- [[skills/renewal-window-detection/SKILL.md]] — source for renewal eligible items
- [[skills/shop-out-routing/SKILL.md]] — handles "Shop Today" items
- [[skills/operator-handoff/SKILL.md]] — if a call item requires a judgment call