Please excuse our look. We're just getting started here.

Want to learn more about Twilio Forums? Check out our FAQ page here.

Multi tasking in flex, unable to have 2 voice tasks

Happy Friday everyone!

We just put a feature live on a Friday and I am paying the price for it.

I have a flex instance with several users across several task queues on TaskRouter.

In Flex, I have workers with Task channel capacity of 2 for VOICE. However when a second call if reserved for them and they try to accept the task, they are either kicked out of the call they are on and have the newly reserved task removed from them, or given a notification that their current task needs to be ended or the new one needs to be rejected. I even have a case multiple users claiming they got an error advising they were not authorized to accept the new task.(sadly no screenshot)

I can see in the docs this should be a supported feature, and although everything points to be being able to have workers with multiple calls at once we are unable to do so. Does anyone have any ideas of what I am doing wrong?



Best Answers


  • @ssengupta can you help with this or do you know anyone that can touch on this?

  • Hey @Kilokhan

    Hope you are doing good.

    Flex doesn't support multiple voice calls per agent at this moment. This is something we have on our roadmap, however I don't have any concrete timeline when this feature will be added.

    Could you give us the link/reference of the documentation where you are seeing this? We might need to update that article to clarify it bit more. Thanks!

  • Multitasking extends the power of TaskRouter by allowing workers to handle parallel tasks. In a typical call center environment agents may be handling both voice calls and messaging requests (chat, SMS, Facebook, etc ...). While it’s unlikely that workers need to handle more than one voice call at a time, you may want workers to be able to handle multiple tasks of different types - whether messaging, email, etc. Multitasking provides the logic for you to specify in what way you want workers to be able to work on more than one task at a time.

    In a Multitasking enabled workspace, all the tasks are assigned to one of the available TaskChannels (Voice, SMS, Chat, Video or Default). When creating a Task you can specify the type of a Task by providing the appropriate TaskChannel Unique Name with the API. Additionally, TaskRouter automatically assigns the appropriate TaskChannel if the Task is created from within one of the Twilio products. For example, if a Task is created from within Programmable Voice using the <Enqueue> verb, then Voice is set as TaskChannel. If no TaskChannel is provided while creating a Task, TaskRouter assigns Default as TaskChannel.

    In addition to using Task Channel while creating Tasks, you also need to configure the worker’s capacity to handle each of these TaskChannels. For example, you may want a worker to handle a maximum of 1 Voice call, but 3 Chat requests. This configuration can be easily done from within the Twilio Console by navigating to each worker instance, or by using the REST API. In addition, you can temporarily make a worker unavailable to handle specific task types without setting their capacity to 0. For example, if your Voice Queue is getting busy, you might want to make some workers unavailable to handle other TaskChannels so that they can focus on handling Voice tasks.

    What channels are available when Multitasking is enabled?

    Today we create the following channels by default.

    • Voice
    • SMS
    • Chat
    • Video
    • Default


    I dont think this is my poor interpretation here, as flex is a multi channel platform, and this being the multi tasking of the multi channel.

    The goal for us wasnt to have concurrent voice tasks running, but to have one open and connected while having the other parked and on hold. so this isnt possible?

  • Kilokhan
    edited October 2021

    Is this something I can hijack the UI to make happen or build a plugin to do? or is this a fundamental platform limitation?

  • ssengupta
    ssengupta ✭✭
    edited October 2021


    This is currently applied for non Flex usecase where Taskrouter is being used as standalone application. Flex voice orchestration doesn't support multiple voice connection from same client/agent at this point. I'll make sure the doc team update the content of this particular documentation. Thanks!

  • Hello @ssengupta , can we have multiple voice calls for one agent/client via the Twilio JS SDK ? Basically, I have a requirement to have multiple ongoing calls in my application and have the capability to park one active call for another call seamlessly(putting the other call SIDs on hold). Note that, in our application, when we say a call, we generally mean a conference with minimum 2 call SIDs(one of type Client, and another of type Phone).

    Please let me know your thoughts.

  • I can confirm for almost 6 months I have been running on a feature extrapolated from that repo I showed.

    It has been working very well. Quite some tinkering to make our task queue voicemails and our custom hold music play nice with it, and the changes we made to it. However overall would recommend.

If this is an emergency, please contact Twilio Support. This is not an official Support channel.
Have an urgent question?
Please contact Twilio Support. This is not an official Support channel.
Contact Support