Skip to main content
Crew is rolling out gradually. Availability may vary by account while this feature is being enabled.

What Is a Crew?

A crew lets a single call be handled by more than one AI agent. Instead of one set of instructions trying to cover every part of a conversation, you define several members, each with their own instructions, and the call moves between them when specific conditions are met. One member starts the call. When the conversation reaches a point you defined, that member hands off to another member, who takes over with their own instructions and tone. A handoff can only happen along a path you set up, and a few built-in guards stop a crew from looping or bouncing a call back and forth. Use cases include a sales agent that hands off to a scheduling specialist, or a first-line agent that hands off to a member with access to the knowledge base for detailed questions.

Crew Members

Each crew has a members array. Every member is an object with these fields: The first member in the members array is the one who answers the call.

How Handoffs Work

Each entry in a member’s handoffs array is a condition pointing at another member: The when text is descriptive, not code. Write it the way you would explain the condition to a person, for example “the caller wants to book a specific appointment time” or “the caller is asking a detailed product question.”

Handoff Guards

Three checks apply to every handoff, so a crew cannot loop or run away with a call:
  1. Only listed destinations. A member can only hand off to a member listed in its own handoffs. A handoff to any other member, or to an id that does not exist in the crew, does not happen.
  2. Handoff limit. Each crew has a maximum number of handoffs allowed in a single call. This is set with max_handoffs, an integer from 1 to 10. If you don’t set it, the default is 3. Once a call reaches the limit, no further handoffs happen for the rest of that call.
  3. No immediate bounce-back. A member cannot immediately hand a call back to the member who just handed it to them. This prevents two members from passing the call back and forth on the same turn.

Invalid Configuration Falls Back to a Single Agent

If a crew configuration does not meet the requirements described here (for example, too few or too many members, a missing field, or a handoff pointing at an id that doesn’t exist), the call does not fail. It runs as a normal single-agent call using the first member’s instructions, and the invalid crew configuration is skipped for that call.

Limits

Example

A crew is set inside the config object of a campaign, under the crew key:

Setting Crew Per Call

A crew can also be set directly on an individual call at call creation, using the same crew object shape, instead of at the campaign level.

Next Steps

Campaign Management

Learn how crew fits into campaign configuration.

AI & Voice Customization

Learn how to write effective instructions for a single agent.