An offer prompt and its accept handler must share one eligibility check

When a voice flow offers the caller an option (for example "I can discuss the rate with you, would you like that?") and a later handler checks whether that option is allowed, both must call the same eligibility function. If the offer is shown under a broader condition, such as any allowlisted inbound number, while the accept path checks a narrower one, such as one demo number, a caller who says yes falls into a terminal "can't help, goodbye" node and the call ends right away. Users experience this as an abrupt hang-up straight after agreeing. Gate the offer node on the accept predicate, or route ineligible callers to an honest alternative before asking.

Applies when: a conversation node asks a yes/no question whose "yes" branch is checked again by separate code. Keywords: voice agent flow node offer eligibility mismatch abrupt hangup terminal node Pipecat flows