Our Architect flow has a blind transfer to an external number, followed by a Disconnect block. The Disconnect block never fires.
After the blind transfer, the flow just… stops. The Disconnect actions (send survey, update Data Table) never execute. Is the flow terminating immediately after the transfer?
Yes. A blind transfer ends the flow’s involvement in the conversation.
Once the platform hands the call to the external number, the Architect flow loses control. Any blocks after the Transfer action are unreachable. If you need post-transfer logic, use a Disconnect Event Handling flow or subscribe to the conversation.end WebSocket event.
# Use WebSocket to trigger post-transfer actions
def on_conversation_end(event):
conv_id = event['eventBody']['id']
# Check if it was a transfer
for participant in event['eventBody']['participants']:
if participant.get('purpose') == 'external':
# Transfer detected - trigger post-transfer logic
update_data_table(conv_id, 'transferred')
schedule_survey(conv_id)
The Disconnect Event flow IS the correct solution.
Go to Architect > Inbound Call Flow > Settings > Event Handling > Disconnect. Add your survey trigger and Data Table update there. This block executes when the conversation disconnects, regardless of how it ended (hang-up, transfer, timeout).
From a compliance standpoint, if the Disconnect block contains a mandatory recording disclosure and it never fires, you may have a regulatory violation.
Our flow was supposed to play ‘This call was recorded for quality purposes’ in the Disconnect block. Since it never executed after transfers, 40% of our calls lacked the disclosure. We moved the disclosure to the beginning of the flow instead.