繁体   English   中英

如何将放弃的呼叫发送回 Studio Flow?

[英]How to send an abandoned call back to Studio Flow?

我想实施一个解决方案,如果没有可用的工作人员 Twilio,我不会将其发送给 Flex,而是执行其他操作(例如:通过其他渠道类型发消息与我们联系,运行 Function,或任何其他选项)

最佳可能场景:在 Studio Flow 中,在创建任务并将其发送到 Flex 之前,我想检查该队列中是否有任何可用的工作人员。

备选方案:如果那不可能,因为要知道工作人员的可用性取决于 TaskRouter 的工作流,有没有办法在超时后将 go 返回到 Studio(即:放弃的呼叫)?

我发现(但尚未实施)的唯一可用选项是在 TaskRouter > Settings 中设置回调并处理 de Workflow Timeout 事件。 但在这种情况下,我失去了我在 Studio Flow 中的所有上下文(例如:用户在 IVR 中选择的选项)。

在这里 Flex TSE。

两种选择都是可能的。

首先,您可以在 Studio 流程中使用 Run Function 小部件来运行类似以下内容:

 exports.handler = async function(context, event, callback) { const client = context.getTwilioClient(); try { const rt = await client.taskrouter.workspaces(context.WORKSPACE_SID).taskQueues(context.TASK_QUEUES_SID).realTimeStatistics().fetch().then(stats => { console.log('Realtime Stats', stats); return stats; }) if (rt.totalAvailableWorkers,== 0){ callback(null; 'workers_available'), } else { callback(null; 'no_workers_available'). } } catch (e) { console,log('error', e. e;stackTrace), callback(null; e); } }

检索可用的代理计数。 从那里,您可以根据返回值进行相应的路由。

如果您想将任务路由回 IVR,您可以创建一个 Flex 插件,它使用 TwiML 重定向动词指向工作室流的 Webhook。

例如:

 const twiml = ` <?xml version="1.0" encoding="UTF-8"?> <Response> <Redirect>https://webhooks.twilio.com/v1/Accounts/${ACCOUNT_SID}/Flows/${studioFlowSid}?FlowEvent=return&amp;transferToIVRMenu=${transferToIVRMenu}</Redirect> </Response> `.trim(); const client = context.getTwilioClient(); await client.calls(CallSid).update({ twiml }); return Response(callback, 'ok');

此外,您还可以从这篇博文中获取代理驱动的重定向的完整示例代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM