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

1.6 KiB
Raw Blame History

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.