Can OpenAI Assistants hand off conversations between each other within the same chat thread?

I’m designing a multi-assistant system with three specialized AI bots:

  1. An Orchestrator Assistant: Acts as the initial contact point and traffic director

  2. A Sales Assistant: Specialized in handling sales-related queries

  3. A customer support assistant: Specialized in customer support related queries

  4. Technical Support Assistant: Specialized in technical support related queries

I want to implement a system where the Orchestrator first engages with users, analyzes their needs, and then smoothly transfers the conversation to the most appropriate specialized assistant within the same chat thread.

I’m specifically wondering if the OpenAI Assistants API and its web interface support this kind of assistant-to-assistant handoff functionality in a single conversation thread.

2 Likes

Is this what you are looking for? Orchestrating Agents: Routines and Handoffs | OpenAI Cookbook

Hi,

I’m working on a similar project with some assistants to help with development tasks, like Copilot. You don’t need any special API for that; just store and maintain a historical chain of messages and use it as context for each agent, adding the new messages to the corresponding thread before initiating the run. Alternatively, you can set a different message history list for each agent, containing the messages needed for it to work properly.

The main issue is that the agents can end up in an infinite loop of courtesy responses when they communicate with each other, as they always have to reply.

1 Like