Skip to main content

Teams & Assignment

A ticket isn't useful until the right person is working it. Flowcall organizes agents into teams, uses teams to decide who is eligible for a ticket, and then assigns the ticket to a specific agent automatically.

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 tag matches, the ticket falls back to the account's default team.

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

Assignment

Once a ticket is queued, Flowcall's smart assignment routes it to an agent. You don't assign queued tickets by hand in the normal flow — the system distributes them. (See Settings → Smart Assignment.)

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.

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 current tickets, so work spreads evenly.
  • Priority and age — higher-priority and older tickets are placed first, so nothing waits too long.

Tickets are distributed in batches as triggers occur — a new ticket arrives, an agent comes online, a ticket is reopened or reassigned, a snooze expires, and so on.

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.

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. Whether agents can reassign at all is controlled in Settings → Agent Capacity.