Aura LogoAura

Round Robin

Distribute incoming bookings across your sales team automatically

Round Robin

Round-robin scheduling distributes incoming bookings across multiple team members on the same booking link. The booker sees combined team availability — they don't pick a specific rep — and the assignment is made by Aura when they confirm.

Aura supports two assignment strategies today: first-free (legacy) and fairness.

When to use round-robin

Single-host links work fine for solo founders or one-rep teams. Move to round-robin when:

  • You have multiple reps on the same offer and want to balance load.
  • You want to maximize speed-to-meeting — leads should book the earliest slot any team member has free.
  • You're scaling up and want new bookings to spread across the team automatically.

If you need any rep can take any meeting (true load balancing), use fairness. If you want to fill the next-available slot regardless of who covers it, use first-free.


Setting up round-robin

  1. Go to Scheduler.
  2. Create a new link or click into an existing one.
  3. Open the Hosts section.

Step 2: Add team members

  1. Click Add Host.
  2. Select members from your organization.

Each host must have:

  • A connected calendar (Google Calendar, Outlook, or another Nylas-supported provider).
  • Configured availability hours.
  • An active account.

If a host's calendar isn't connected, they appear in the list but Aura skips them when computing available slots.

Step 3: Pick a distribution strategy

Choose between first-free and fairness. Save the link.


Distribution strategies

first-free (legacy)

Assigns the booking to whichever host has the earliest available slot.

How it works: when a booker requests a time, Aura finds the host who is free at that exact slot. If multiple hosts are free, ties go to whoever has the lowest current booking count on this link.

Best for:

  • Speed-to-meeting (the booker just wants the soonest slot)
  • Teams with overlapping availability where any host is acceptable

Why "legacy": first-free predates the current scheduler architecture. New booking links should generally prefer fairness. We continue to honor first-free on existing links and as an explicit choice for cases where speed matters more than even distribution.

fairness

Distributes bookings evenly across the team over time.

How it works: Aura tracks each host's recent booking count on this link. When a booker requests a time, the strategy picks the host with the lowest recent count among those free at that slot. Over time, total bookings converge toward equal distribution.

Best for:

  • Quota-balanced teams where every rep needs steady lead flow
  • Same-tier teams (no senior/junior weighting)
  • Most modern setups — this is the recommended strategy

Note: a previous form of this page described a "balanced" strategy. The persistence layer still accepts that name as an alias for fairness for back-compatibility, but it isn't selectable in the UI — pick fairness.


Combined availability

The booker sees a single calendar showing every slot where at least one host is free. They don't see individual host schedules. After booking, the confirmation email and calendar event include the assigned host's name.

The slot list is computed by:

  1. Pulling each host's weekly availability hours.
  2. Subtracting calendar events from each host's connected calendar (busy/free).
  3. Subtracting existing Aura bookings on this link.
  4. Applying buffer time between meetings (per host).
  5. Applying advance-notice rules (per link).
  6. Unioning the remaining time across hosts.

If no host has availability in the booker's requested window, the embed shows "No times available."


Managing hosts

Adding hosts

  1. Open the link's Hosts section.
  2. Click Add Host.
  3. Pick from your organization's active members.

Removing hosts

  1. Find the host in the list.
  2. Click Remove.
  3. Future bookings won't include this host. Existing bookings stay assigned.

Temporarily disabling

For vacations or leaves, use one of:

  • Date overrides on the host's own availability page (recommended — preserves long-term capacity)
  • Calendar block — block off the time in their connected calendar; Aura honors it automatically
  • Remove and re-add the host (heavier; loses configuration)

Per-host metrics

After bookings flow through:

  1. Go to Analytics → Performance.
  2. Filter by the booking link.
  3. See per-host metrics: booking count, show rate, close rate, average response time.

Use these to spot uneven distribution (one host way ahead of another), calendar sync issues (zero bookings to one host), or quality differences (one host's show rate is much lower).


Reassigning an existing booking

  1. Open the lead's detail page.
  2. Click into the scheduled call.
  3. Click Reassign.
  4. Pick the new host.

The calendar event is updated, both hosts get notifications, and the lead's assigned_to field updates. Webhooks fire on call.closer_reassigned.


Troubleshooting

One rep gets every booking

  • Check the other reps' calendars — do they have any availability in the booker's typical request window?
  • Verify each rep's calendar connection is active (Settings → Connections).
  • Confirm you're on fairness, not first-free (the latter doesn't optimize for distribution).
  • Look at booking timing — if leads are urgent, first-free will always favor the rep with the soonest slot.

"No times available" when reps clearly have time

  • One or more reps' calendars may have disconnected. Re-authorize them.
  • Check advance-notice settings — if it's set to "24 hours" and bookers are looking ≤24h out, every slot is filtered.
  • Check max-days-ahead — bookers looking further than the configured window see nothing.

Wrong rep got assigned

  • Check the host list — was the intended rep included?
  • Was the intended rep actually free at that slot? (Calendar conflicts override strategy.)
  • For fairness, the strategy may have favored another host who was further behind on quota.

API access

Query a call's host and strategy via GraphQL:

query GetCall($id: ID!) {
  call(id: $id) {
    id
    scheduledAt
    assignedTo {
      name
      email
    }
    bookingLink {
      name
      assignmentStrategy
    }
  }
}

Possible values for assignmentStrategy: first-free, fairness, or null (single-host link).


Next steps

On this page