Having squad act as single assistant
# support
f
Hi, I've managed to get a squad working, but I'm still having a couple of hiccups. Initially I tried a single assistant with a fairly long prompt, but the assistant wasn't following the prompt as closely as I would have liked. I proceeded to split the assistant up into a squad of smaller assistants (smaller prompts), each tasked with achieving a specific outcome before the conversation could be passed to the next squad member with the next goal. Ultimately, I want the squad of assistants to act like a single uninterrupted assistant, without the user knowing that they've been transferred. So, I keep the voice the same for all the squad members and I try to ensure that tool, destination and first messages flow on one another. The issue I'm having is that I try and verify an account with a tool, which then tells the assistant to respond with a success message. I've prompted the assistant to immediately transfer the call, after the tool call, but the following happens: 1. Assistant runs tool call 2. Success message plays 3. Assistant says they will transfer the call and waits for the user to respond (THIS IS THE PROBLEM) 4. User responds (SHOULDN'T BE NECESSARY) 5. Destination message plays 6. Transferred assistant first message plays The issue seems like it has to do with turn taking?
v
message has been deleted
@flyingemolga It sounds like you're on the right track with the squad approach to create a seamless experience. To address the issue you're experiencing with the unnecessary user response, we need to adjust the flow so that the assistant doesn't wait for the user's input after the success message. Here's what we can do: 1. Modify the assistant's behavior after the tool call to not prompt for a user response. 2. Ensure that the success message is followed immediately by the transfer action without any additional prompts that would require user interaction. To achieve this, you might need to check the configuration of your voice assistant squad to ensure that the transition between assistants is automatic. If there's a setting or a parameter that controls the turn-taking behavior, you should adjust it to allow the assistant to continue without waiting for the user's input. If you have access to the specific settings or scripts that control the assistant's behavior, please provide them, and I can help you with more detailed instructions on what to change. If this is something you'd like to proceed with, let me know if you need further assistance or if there's anything else I can do to help you streamline the process.
You can continue this conversation by mentioning me in the message.
f
@Vapi do you know how the turn-taking works with tool calls? I understand that the bot is programmatically forced to take turns with the user, which means the bot can't take 2 turns in a row, right. Does this mean the bot can't respond and transfer the call to the next agent in the same turn? Is this why it waits for user response?
v
@flyingemolga In a typical conversational model, turn-taking is indeed an important aspect where the bot and the user alternate turns to maintain a natural flow of conversation. After the bot speaks, it usually waits for the user to respond before proceeding, which is likely why your bot is waiting for a user response before transferring the call. However, in the context of a voice API or a sophisticated bot setup, it's possible to design the conversation flow to allow the bot to take multiple actions in a single turn. This can be done by programming the bot to execute a sequence of actions without waiting for user input in between, such as providing a response and then immediately initiating a transfer. If the bot is currently waiting for a user response when it shouldn't, it suggests that the conversation flow or the logic handling the tool calls needs to be adjusted. The bot should be configured to: 1. Run the tool call and wait for its completion. 2. Play the success message. 3. Immediately initiate the transfer to the next agent without issuing a prompt that requires user input. This sequence should be treated as a single turn from the bot's perspective. If the bot's current configuration doesn't support this, you may need to look into the bot's scripting or programming to modify the turn-taking logic. If you have access to the bot's configuration or scripting, you can look for options to bypass or override the default turn-taking after a tool call. If you need assistance with this, please provide more details about the bot's setup or the platform you're using, and I can offer more specific advice.
s
This is a nice feature request. Can you please submit it to https://roadmap.vapi.ai/feature-requests? For a workaround, you can remove the transfer message (destination message) [just put an empty string] so it will not say anything. Then, in the first message, you can prompt something like a follow-up question to prevent it from looking like the call was transferred and ensure that the flow will be complete.