Hi Support Team,
I am using the Agentic Warm Transfer feature and need to programmatically differentiate between two specific failure scenarios for our analytics. Currently, both scenarios return the exact same generic error message to the Main Agent, making it impossible to distinguish them via the tool_result.
The Two Distinct Scenarios:
-
Transfer Declined (Human said “No”): The Transfer Agent connects successfully, the human representative declines the call, and the agent executes the
cancel_transfertool to return the user to the main agent. -
Transfer Timeout (No Answer): The Transfer Agent dials, but the human representative never picks up. The system eventually hits the
transferTimeoutMslimit (e.g., 30s) and fails.
The Problem: In both cases, the Main Agent receives the exact same Tool Result string: {"status": "Transfer failed due to an error.. Please inform the customer..."}
My Request: How can I differentiate these two outcomes in the Call Analyzed Webhook or the Tool Output?
-
Is there a specific
disconnect_reasonorfailure_codeexposed in the webhook metadata that flags a timeout versus a manual cancellation? -
Can the
cancel_transfertool be configured to pass a custom status (e.g.,{"status": "declined_by_rep"}) back to the Main Agent instead of the generic error?
We are trying to track “Missed Calls” (Timeout) vs. “Rejected Calls” (Declined) in our database, and relying on call duration as a proxy is not precise enough for our reporting.
Agent ID: [Insert Your Main Agent ID] Call ID (Example of Decline): [Insert a Call ID where rep said “No”] Call ID (Example of Timeout): [Insert a Call ID where no one answered]
Thanks