Files
helix-engage/docs/next-session.md
2026-03-19 21:24:00 +05:30

36 lines
1.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Next Session — Outbound Call UI + Remaining Work
## Priority 1: Outbound Call UI
**Problem:** When agent clicks Call, a toast appears and the call happens in the background. No call screen shows.
**Fix:** When agent clicks Call on a lead:
1. Immediately set `callState = 'ringing-out'` and `callerNumber` via Jotai atoms
2. Show ActiveCallCard with "Calling {name}..." and End button
3. Show CallPrepCard with AI summary (same as inbound)
4. Context panel auto-loads Lead 360
5. Sidecar calls Kookoo outbound in parallel
6. When SIP bridge arrives (newRTCSession), auto-answer it — don't show Answer/Decline
7. UI transitions to active call with Mute/Hold/End
8. Call ends → Disposition form
**Files to change:**
- `src/components/call-desk/click-to-call-button.tsx` — set Jotai atoms on click, not just call API
- `src/components/call-desk/active-call-card.tsx` — handle 'ringing-out' state
- `src/state/sip-manager.ts` — auto-answer SIP when outbound call is pending
- `src/pages/call-desk.tsx` — include 'ringing-out' in isInCall, set selected lead on dial
**Key insight:** The call card is driven by app state, not SIP events. Set state immediately on click.
## Priority 2: Remaining Polish
- Kookoo callback creates call records (already deployed)
- Toast for dial should be replaced with the call card (covered by Priority 1)
- Test full outbound flow end-to-end on staging
## Priority 3: Caching
- DataProvider fires 14 queries on mount (7 × StrictMode)
- Add deduplication or sidecar-level cache
## Deploy Commands
See memory/helix-engage-session-progress.md for full deploy instructions.