Skip to main content

Agent Assignement & Team

Flowcall uses teams to decide which agents are eligible for a ticket, capacity limits to prevent agents from receiving too much work, and assignment-start rules to control when queued tickets are distributed.

Teams​

A team is a named group of agents. An agent can belong to more than one team. Teams do two jobs: they organize your agents, and they decide which tickets each agent is eligible to handle.

Front-line vs backend teams​

  • Front-line teams talk to customers. A front-line agent can only take a ticket on a channel they handle (WhatsApp, email, live chat, Instagram, voice).
  • Backend teams do investigation and internal work and don't talk to customers directly. Backend agents are channel-agnostic — they can be assigned any ticket regardless of channel, because their work isn't tied to a customer-facing conversation. Backend teams are where child tickets usually go.

An agent counts as backend only if every team they belong to is a backend team. If they're on any front-line team, they're treated as front-line.

Task team vs owner team​

A ticket carries two separate team references:

  • Task team — the team responsible for working the ticket. This is what drives routing and the human queue, and it determines whether the ticket is treated as backend work.
  • Owner team (and owner) — the team or agent accountable for the ticket over the longer term, independent of whoever is actively assigned right now. A ticket can have an owner team before a specific owner agent is picked.

How a ticket gets its team​

Teams are matched to tickets through tags: a team's name doubles as a tag. When a workflow creates a ticket, the workflow's tags decide the team — the task team comes from the work tag, the owner team from the owner tag. If no task team matches, Flowcall checks data-point-based team routing before falling back to the account's default team.

The task team priority is:

  1. A team matched by the workflow's explicit task tag.
  2. A team mapped to an autofilled category disposition value.
  3. The account's default team.

This lets you route, for example, premium customers to VIP Support while keeping the default team for missing or unmapped values. It selects the task team; agent assignment still follows availability and capacity rules below.

A special GLOBAL tag lets an agent handle tickets regardless of their tags.

Assignment​

Once a ticket is queued, Flowcall can distribute it automatically. Assignment runs when there is work to route, for example when a ticket is created or re-queued, an agent logs in, a ticket is reopened or reassigned, or a snooze ends.

At least one agent for the account must have been online recently before a general distribution run starts. An individual agent must also be enabled and Available to receive a ticket.

Who is eligible​

For each queued ticket, Flowcall considers agents who are:

  • Available — enabled and currently set to available (online).
  • Channel-capable — front-line agents must handle the ticket's channel; backend agents bypass this.
  • Tag-matched — the agent's team(s) must match the ticket's tags (or the agent carries the GLOBAL tag).
  • Under capacity — agents have configurable per-channel and per-team capacity limits; an agent already at their limit is skipped.

Maximum ticket assignment logic​

The ticket limit is the maximum number of tickets in the Assigned status that an agent can hold in a capacity bucket. Queued, awaiting-response, resolved, and other ticket statuses do not consume an assigned-ticket slot.

Configure the limits in Settings → Agent Capacity → Agent Ticket Limits. The base limit is set separately for each channel:

ChannelDefault maximum per agent
WhatsApp5
Email30
Instagram5
Live Chat5
Voice Call50

When Flowcall evaluates a queued ticket, it resolves the applicable capacity bucket in this order:

  1. An override for the ticket's exact channel and team.
  2. An override for the ticket's team across all channels.
  3. An override for the ticket's channel across all teams.
  4. An override that applies to all teams and all channels.
  5. The base limit for the ticket's channel.

Only tickets in the same resolved bucket count toward that bucket's maximum. This means a team-specific override creates a separate capacity pool. For example, if WhatsApp has a base limit of 5 and the Escalations team has a WhatsApp override of 2, an agent may hold up to 2 Escalations WhatsApp tickets while their other WhatsApp tickets are counted against the base WhatsApp bucket.

If the applicable bucket is full, Flowcall tries another eligible agent. If every eligible agent is at capacity, the ticket stays queued until a slot becomes available and assignment runs again.

Use Ticket Limit Overrides on the Agent Capacity page to set a different maximum for one or more teams, one channel, or both. The minimum limit is 1. See Agent Capacity for the complete settings reference.

Channel capacity borrowing​

By default, each channel's limit is a hard cap: an agent at their WhatsApp limit stays capped even when their email slots are empty. Turning on Channel capacity borrowing (Settings → Agent Capacity → Agent Ticket Limits) replaces the per-channel cap with a single pooled capacity per agent:

  • The pool equals the sum of the limits of every channel the agent handles, applying any channel-wide overrides. With WhatsApp at 3 and Email at 5, the pool is 8.
  • A queued ticket can be assigned as long as the agent's total assigned tickets across those channels is below the pool — so a busy channel automatically uses capacity an idle channel isn't consuming.
  • Team-specific overrides remain hard caps within the pool: a ticket in a team bucket needs both a free pooled slot and a free slot under the team's override.
  • Manual tickets are excluded from the pool and keep their own separate limit.
  • Backend agents pool across all five channels. Organization-level agents borrow based on their home account's setting and limits.

Borrowing does not reserve room for quiet channels. If WhatsApp fills an agent's pool, new email tickets wait until some of that agent's assigned tickets resolve — or go to another eligible agent with free capacity.

Control when assignment starts after agent login​

Business hours can restrict assignment runs caused specifically by an agent logging in. This prevents someone who opens Flowcall well before a shift from taking queued tickets too early.

1. Configure business hours​

Go to Settings → Business Hours and set:

  • The business timezone.
  • Opening and closing times for each working day.
  • Holidays when the business is closed.

The timezone, weekly schedule, and holidays are all considered when Flowcall decides whether a login is inside the allowed assignment window. See Business Hours.

2. Configure agent-login assignment​

Go to Settings → Ticket Behavior → Agent Login Assignment:

  • Turn on Restrict assignment on agent login to allow login-triggered assignment only during business hours and the pre-opening buffer.
  • Set Pre-opening buffer (minutes) to allow assignment shortly before opening. For example, with a 60-minute buffer and a 9:00 AM opening time, an agent login from 8:00 AM onward may start assignment.
  • Set the buffer to 0 if assignment should start only when business hours begin.
  • Turn off the restriction if an agent login should be allowed to start assignment at any time.

The buffer can be set from 0 to 1440 minutes and defaults to 60 minutes. If no opening hours are configured, login-triggered assignment is allowed even when the restriction is on.

What happens when an agent logs in​

When an enabled agent becomes online and their status is Available:

  1. Flowcall checks the agent-login assignment setting against the business schedule.
  2. If the login is outside the allowed window, no tickets are assigned because of that login. Queued tickets remain queued.
  3. If the login is allowed, the first agent login for the account prepares any old unassigned tickets according to the configured awaiting-response rule, then starts distribution across available agents.
  4. Later agents coming online can receive matching queued tickets for the channels they handle, up to their applicable maximum.

The business-hours restriction applies only to the agent-login trigger. Other events, such as a new ticket or a reassignment, may still start distribution. Normal eligibility, recent-online presence, team matching, channel access, and capacity checks still apply every time.

Who gets it​

Among eligible agents, Flowcall picks using:

  • Preferred agent — a "sticky" hint stored on the ticket (for example, the agent who handled a related or parent ticket). If they're available and have capacity, they get it first. If not, the ticket falls through to normal routing.
  • Load balancing — otherwise the ticket goes to the eligible agent with the fewest Assigned tickets on that channel. Awaiting-response tickets are excluded. With channel borrowing enabled, total pooled workload determines capacity, while balancing still compares the current channel. Organization agents count their assignments across accounts.
  • Priority and age — higher-priority and older tickets are placed first, so nothing waits too long.

Automatic assignment events share a fixed 5-second batching window. New tickets, agent logins, resolutions, awaiting-response actions, and other refills all request the same distributor. Resolving a ticket does not give that agent first claim on queued work. Events arriving during a run request a subsequent run. Processing and contention for a shared capacity lock can add to the five-second wait.

Assignment runs for the same account or organization share a lock across channels. Large queues are scanned in pages; later pages continue automatically so tickets for another eligible team are not stranded behind unmatched tickets. New events received during a continued scan request a fresh pass afterwards.

Owners​

Separately from who works a ticket, if a ticket has an owner team but no owner agent yet, Flowcall picks the least-loaded agent on that team as the owner. Ownership is about accountability and is independent of the current assignee. On an owned parent, the owner exclusively controls child creation and parent resolution and receives the parent back after delegated work completes. See Ticket Ownership for the full behavior.

Manual assignment and reassignment​

  • Force-assign — assigning a ticket directly to an agent pins it to them and skips the automatic distributor.
  • Reassign / handoff — a ticket can be handed off or reassigned (including in bulk). This re-queues it and triggers a fresh distribution, typically carrying the previous assignee forward as the preferred agent. Who may assign, reassign, or unassign agents and teams is configured per account role in Teams → Roles → Action access. Bulk operations also need the corresponding bulk permission.