Is it possible to trigger a softphone call transfer from the web messaging sdk v1.2.4? The launcher fires a custom event but architect drops it with a 403 when sending the event.
CET deployment runs fine locally. pre-chat passes a valid token, yet the media session handshake fails with webrtc:signaling:timeout after 12s. it doesn’t even hit routing.
Have you tried bypassing the launcher’s custom event entirely and using the SDK’s native transfer API? The 403 when sending events suggests the token scope is too limited for direct API calls from the client side. The SDK handles its own auth context, so forcing a custom event through architect often breaks the handshake.
The webrtc:signaling:timeout happens because the media session is trying to renegotiate while the event is being processed asynchronously. By using the built-in method, the signaling stays in the same thread. Also check if your org has “Allow softphone transfers” enabled in the security settings, sometimes that blocks client-side actions even with valid tokens. If it still times out, check the network tab for any blocked WebSocket frames.
don’t trust that launcher event for transfers. it’s usually a scope mismatch on the client token. the web messaging sdk doesn’t have the rights to push flohevents directly from the browser.
use the backend proxy instead. your bot should initiate a voice consult transfer with a valid Bearer token. keep the client side dumb.
check your oauth scopes. conversation:write is mandatory. missing it throws the 403 you’re seeing.
yeah, backend proxy is the way to go. browser tokens rarely have conversation:write. i handle this in a node lambda triggered by the web event. it calls the transfer endpoint with a service account token. keeps the handshake clean.