feat(voice): auto-populate name from known customer on repeat calls
When a new voice session starts and the customer already has a trusted display_name on file (e.g. from a previous call), automatically set name_status to 'name_obtained' so the AI greets them by name instead of asking again.
This commit is contained in:
@@ -1664,6 +1664,21 @@ def start_voice_session(session_id: str, payload: VoiceAIStartIn) -> VoiceAIStar
|
||||
)
|
||||
name_source = str(voice_session.customer_name_source or "none").strip() or "none"
|
||||
name_resolved_at = str(voice_session.customer_name_resolved_at or "").strip() or None
|
||||
if name_status == "name_not_obtained" and not name_value:
|
||||
caller_number, caller_name = _resolve_caller_from_call(session, payload.call_id)
|
||||
if _display_name_looks_trusted(customer, caller_number, caller_name):
|
||||
name_status = "name_obtained"
|
||||
name_value = customer.display_name
|
||||
name_source = "known_customer"
|
||||
name_resolved_at = now
|
||||
_persist_voice_name_state(
|
||||
session,
|
||||
voice_session=voice_session,
|
||||
status=name_status,
|
||||
value=name_value,
|
||||
source=name_source,
|
||||
resolved_at=name_resolved_at,
|
||||
)
|
||||
if name_status == "name_obtained" and name_value:
|
||||
finalized_name = _finalize_customer_name(
|
||||
session,
|
||||
|
||||
Reference in New Issue
Block a user