Departments and queue

How to organize customer service into departments, how conversations reach each department's queue, automatic distribution among agents (smart distribution or rotation), the conversation limit per agent, the waiting time notice, business hours and business time, inactivity with automatic closing, and the satisfaction survey.

Overview

A department is a customer service sector, such as Billing, Technical support or Sales. Each department has its own queue: the conversations waiting for an agent from that sector. Agents are linked to one or more departments and receive the conversations and alerts of the departments they work in.

The screen is under the Departments menu, with the subtitle Organize support by sectors, and requires the Departments permission in the access profile. See Users and access profiles.

What the department defines

SubjectWhere it is configured
Name, active, round-robin, smart distribution and maximum per agentDepartments screen (this page).
Who works in each departmentAgents screen, Departments field of each person.
Which department the conversation goes toDepartment for new conversations in Settings, the Transfer and AI agent steps of the flows, the AI's decision and manual transfer in the chat.
Business hoursBusiness hours button on the Flows screen (one schedule for the whole company).
Waiting notice, inactivity, AI not answeringSettings, Service tab, Queue and inactivity card.
Satisfaction surveySettings, Service tab, Satisfaction survey card.

Departments are not mandatory. Without any, conversations stay in the General queue and every agent sees them and receives the alerts. Departments start to make a difference when you want to separate who handles each subject, distribute automatically or let the AI pick the right department.


The departments screen

The screen shows a table with all departments, in alphabetical order, and the New department button at the top.

ColumnWhat it shows
NameName of the department. When there are conversations waiting, the N in queue tag appears next to it (e.g.: 3 in queue).
AgentsHow many active agents are linked to the department.
DistributionManual (round-robin off) or Automatic round-robin with the detail up to N per agent and, if enabled, smart distribution.
ActiveActive or Inactive tag.
ActionsEdit and Delete.

Create, edit and delete

  1. Click New department (or Edit on the row of an existing one).
  2. Fill in the fields below and click Save.
  3. Link the agents to the department on the Agents screen (see Department agents).
FieldWhat it does
NameRequired. Shown in queues, transfers and team alerts, and used by the AI to choose the right department.
ActiveOn by default. An inactive department disappears from the transfer lists and from the flow editor, does not distribute conversations and cannot be the department for new conversations.
Automatic round-robinOff by default. Whoever enters the queue goes to the online agent with the fewest conversations. See Round-robin.
Smart distributionAppears with the round-robin on; on by default. Balances the load: the next conversation goes to the agent with the fewest ongoing chats. Off, the round-robin simply rotates among the available agents.
Maximum per agent in round-robinAppears with the round-robin on. From 1 to 100, default 5. Above this the round-robin stops handing conversations to the agent and the queue waits.

Delete

Delete asks for the confirmation Delete this department? and removes the department and the agents' links to it. Before deleting, make sure it is not the Department for new conversations, that no flow transfers to it and that there are no conversations in its queue.

When in doubt, deactivate instead of deleting. An inactive department stops receiving conversations and disappears from the lists, but it can be reactivated at any time with the same configuration.

Departments created by the setup wizard

The initial setup wizard, in the When and how do you attend? step, creates the service departments (Service departments card) and marks the role of each one (support, billing, sales or other), used to build the ready-made flows. Afterwards, they are edited here like any other department.

Naming tips

When there are two or more active departments, the AI chooses which department to transfer to by comparing the subject of the conversation with the registered names: charges, invoices, blocking for overdue payment and negotiation go to billing; plans, new contracts, upgrades and change of address go to sales; connection, Wi-Fi, equipment, slowness and technical visits go to technical support. Clear names such as Billing, Sales and Technical support help the AI get it right. If no name fits, the conversation goes to the department of the current service.


Department agents

The link is made on the Agents screen: in each person's window, the Departments field lists all departments to check (The agent receives the conversations and alerts of every checked department.). An agent can be in several departments; anyone without one appears as No department.

The link defines:

  • Round-robin: only agents of the department receive conversations distributed from it.
  • Queue alerts: only agents of the department receive the new conversation alert for its queue (the general queue alerts everyone).
  • Waiting estimate: counts the department's online agents.
  • Other screens use the same link, such as the service order queue and the department calendar.

Viewing the queues in the panel is not restricted by department: agents see every conversation waiting in the queue, with the department name of each one, and can take over any of them. What restricts visibility is the link to the connections (WhatsApp numbers) the person works on, also configured on the Agents screen. See Users and access profiles.


How the conversation reaches the queue

A conversation is In queue when it is waiting for a human agent and has no owner yet. It can be in a department's queue or in the General queue (no department).

Entry paths

PathQueue department
New conversation with no flow for the channelThe Department for new conversations; if there is none, the general queue. The customer receives no automatic message (a channel without a flow stays silent).
Transfer step of a flowThe department chosen in the step.
Flow that ends without a destinationThe department the conversation was in (the one for new conversations, if nobody changed it).
The AI transfers to a humanThe department chosen by the AI based on the subject (with two or more active departments) or the queue defined in the AI agent step.
AI safety net (not answering)The current department of the conversation or the one for new conversations.
Manual transfer in the chatThe department chosen by the agent.

Department for new conversations

In Settings, Service tab, Queue and inactivity card, the Department for new conversations field defines where every new conversation starts: New conversations are born in this department queue; its round-robin applies. It is only the starting point: a flow that transfers or hands off to the AI can move the conversation to another department. With None, new conversations start without a department (general queue). Only active departments count.

What happens when the conversation enters the queue

  1. If the department has the round-robin on, the system tries to hand the conversation immediately to an available agent.
  2. If nobody could receive it, the department's team receives the new conversation in queue alert.
  3. If the waiting time notice is on and the conditions apply, the customer receives the estimate.
  4. While nobody takes over, the round-robin keeps trying every few seconds.

Conversations in the queue are not closed for inactivity: whoever is waiting for service never has the ticket closed on its own. Inactivity applies to conversations in service (human, AI or automation) in which the last message came from the company.


Round-robin: automatic distribution

With Automatic round-robin on, the conversation that enters the department queue is assigned automatically to an agent, who receives the alert ChatISP: conversation ... was assigned to you. (on the registered WhatsApp and in the app). With the round-robin off (Manual), the conversation waits in the queue until someone takes it over.

Who can receive

An agent only enters the round-robin when meeting all of these conditions:

  • is active and linked to the department;
  • works on the conversation's connection (WhatsApp number);
  • is not on a break (Take a break removes the person from the round-robin until they return);
  • is online: had activity in the panel in the last 10 minutes (an open panel counts as activity);
  • has fewer conversations in service than the Maximum per agent in round-robin.

Smart or rotation

ModeWho receives the next oneWhen to use
Smart distribution (on)The agent with the fewest ongoing conversations. Tie: whoever received or took over a conversation the longest ago.Recommended default. Balances the load when services have very different durations.
Rotation (smart off)Whoever received or took over a conversation the longest ago, regardless of how many they have open (respecting the maximum).When the team prefers a strict turn-based split, one each.

Conversations assigned to the agent in human service count as "ongoing". Taking over a conversation manually also counts as "received" for the rotation order.

When the round-robin acts

  • At the moment the conversation enters the queue (transfer, end of flow, new conversation without a flow).
  • Continuously, every few seconds, for conversations that stayed in the queue because nobody was available. The oldest one (by last message) is served first.
  • When the customer in the queue sends a new message.

So, as soon as an agent comes online, ends a break or closes a conversation and has room again, the queue starts moving on its own.

The round-robin depends on the ChatISP background service and a valid license. On a self-hosted installation, if the queue stops moving with agents online and with room, check the server in Troubleshooting.

Choosing the maximum per agent

The maximum limits only automatic distribution: the agent can still take over conversations manually above it. A low value (2 to 3) keeps quality in long technical services; a higher value (5 to 8) suits short services, such as invoice copies. With every agent at the maximum, the queue waits and the waiting time notice may kick in.


Team alerts

When a conversation enters the queue and the round-robin does not hand it to anyone, the team is alerted:

  • in the ChatISP app, by notification;
  • on the agent's personal WhatsApp, with the text ChatISP: new conversation waiting in the <department> queue. Protocol <protocol>, customer <name and phone>., followed by There are N conversations waiting. when there is more than one.

The alert goes to the department's agents (in the general queue, everyone) who work on the conversation's connection and are not on a break. The WhatsApp alert requires the person to have a registered and verified WhatsApp number and alerts turned on in their own profile (see My account). Each entry into the queue generates one alert; further messages from the same customer in the queue do not repeat it.


Waiting time notice

Optional feature, off by default, in Settings, Service tab, Queue and inactivity card. With it, whoever waits in the queue receives an honest estimate of how long they will wait, calculated from the team's real history.

FieldWhat it does
Waiting time noticeTurns the notice on. With every agent busy, whoever waits in the queue within business hours receives the estimated wait, based on the average handling time over the last week and their position in the queue. Sent only when the estimate exceeds 10 minutes.
Waiting time messageComes filled in with a default text. Variables: {tempo} estimated wait, {protocolo} ticket number, {nome} customer name. An empty field turns the notice off.

When the notice is sent

All conditions must apply:

  • the conversation is in the queue, without an agent;
  • the moment is within business hours and there are more than 10 minutes left before closing time (outside business hours, the flow is what talks to the customer);
  • there is at least one online agent in the department (respecting the conversation's connection) and all of them are busy with some conversation;
  • there is enough history (at least 3 closed services in the last 7 days);
  • the estimate is 10 minutes or more.

The notice is sent once per entry into the queue: at the moment of entry or, if the conditions did not apply yet, when the customer sends a new message while waiting. If the conversation leaves and returns to the queue, it may receive it again.

How the estimate is calculated

  1. Average time per service: average of the services closed in the last 7 days in the department, from the moment someone took over until closing, counting only business hours and discounting the time spent waiting for the customer's reply. Each service is capped at 4 hours, so a forgotten ticket does not distort the average. With no samples in the department, the overall average is used.
  2. Position in the queue of the conversation in the department.
  3. Wait = position divided by the number of online agents (rounded up), times the average time; rounded up in 5-minute steps, capped at 4 hours.

The {tempo} variable is written out in words: exact minutes below 1 hour (25 minutes), 1 hour up to about 1h50 and rounded hours above that (3 hours).

Unlike the reception messages, this notice is a system text and goes out on any channel, with or without a flow, when the conditions are met. If you have numbers connected to the panel that are not part of customer service, evaluate this before turning it on.


Business hours

ChatISP works with one business hours schedule for the whole company, registered with the Business hours button on the Flows screen (requires the Settings permission). They are weekly windows (day, start and end), with as many windows per day as you want, which allows closing for lunch. The step by step is in Flows: business hours.

The schedule is only a source of information: it does not send any message. In this part of customer service it is used by:

FeatureHow it uses the schedule
FlowsTriggers within and outside business hours, Hours branch and the {retorno} variable.
Waiting time noticeOnly sent within business hours and not sent in the last 10 minutes before closing.
AIKnows whether the company is open and when it reopens, so it promises the correct return time.
Reply outside business hoursNotice (and, if chosen, on-duty AI) for whoever replies outside business hours in a ticket waiting for the customer's reply.
Average timesThe indicators count only the time within business hours (business time).

With no schedule registered, the system considers the company always closed for flows and for the waiting notice (which then is never sent), while the average times run 24 hours. Register the schedule right at deployment.

Departments do not have, on screen, a schedule of their own: all of them follow the company schedule. For a different reception by period or by number, use the flow triggers, including the Custom windows of each flow.


Business time: averages only within business hours

ChatISP's time averages count only what falls within business hours. This way, a ticket opened at 7:50 PM and closed at 8:10 AM the next day does not show up as 12 hours of service, and the night, a lunch closure and the weekend do not distort the agents' averages. The screens that use this calculation show the hint Times count only the configured business hours.

RuleEffect
Schedule appliedThe company's business hours.
No schedule registeredThe clock runs in full (24 hours), which is the faithful picture of a team without defined hours.
Ticket entirely outside business hoursCounts as 0 seconds.
Overlapping windows on the same dayThey are merged, so no minute counts twice.
Waiting for the customer's replyThe time during which the ticket was marked as waiting for the customer is subtracted from the duration.

The calculation applies to the take-over, first response and duration times, to the time per agent and per department in the Overview and Reports, and to the waiting notice estimate. There is no switch to turn it off. The timeline of each conversation in the chat keeps showing the real clock.


Inactivity and automatic closing

Configured in Settings, Service tab, Queue and inactivity card (Where new conversations go and what happens when the customer goes quiet). It keeps services in which the customer stopped replying from piling up.

FieldWhat it does
Warn after (min without reply)From 0 to 1440 minutes. A client who has not replied to the last message for this long receives the inactivity message. 0 turns the notice off.
Close after (min after the warning)From 0 to 1440 minutes. This long after the notice (or after the last message, with the notice off), the ticket is closed. 0 turns it off.
Inactivity messageComes filled in (Are you still there? If you need anything else, just reply here.). Empty turns the notice off. Counted from the last message sent to the customer.
AI not answering: send to queue after (min)From 0 to 120, default 5. Safety net: if the AI does not answer the customer within this time, the conversation silently goes to the human queue. 0 disables.

Both inactivity times come set to zero (off) on installation. Click Save on the card after adjusting.

How the count works

  • It applies to conversations in human service, with the AI or in flow automation, when the last message came from the company. If the customer was the last to speak, the ball is in the team's court and nothing happens.
  • The notice is sent only once per conversation. Closing counts from the notice; with the notice off, from the last message.
  • Conversations in the queue (waiting for an agent) are never closed for inactivity.
  • Closing for inactivity sends the Closed ticket message (if configured), but does not send the satisfaction survey: whoever went silent is not asked.

Exceptions

SituationBehavior
Ticket marked as Wait for customer replyStays out of the sweep while the wait is open: the customer's delay is expected and may take hours. The chat shows the badge Protected: will not be closed for inactivity while the customer waits for a follow-up.
Agent used Do not close for inactivity in the chatThe service is not closed for inactivity until someone uses Resume closing for inactivity.
Customer of a waiting ticket who replied outside business hours and received the return noticeProtected until the team resumes, so the night does not close what the agent will continue at opening time.

AI safety net

If a conversation is with the AI, the last message is from the customer and the AI has not answered within the configured time (because of a momentary failure, for example), the conversation goes silently to the human queue: the customer receives nothing, the history records the reason and the team is alerted through the normal queue path. The queue used is that of the conversation's department or, without a department, that of the Department for new conversations.

Reference values

ProfileWarn afterClose after
Quick service (billing, invoice copy)15 min15 min
Technical support (customer restarts equipment, tests)30 min30 min
Small team, in no hurry to close60 min120 min

These are starting suggestions, not system values. Adjust them to your team's routine and use Wait for customer reply in cases where a long wait has been agreed.


Satisfaction survey

Configured in Settings, Service tab, Satisfaction survey card (When closing, the customer gets the question on WhatsApp itself and replies with a score from 1 to 5). It comes off by default.

FieldWhat it does
Send the survey when closing handled conversationsTurns the survey on.
Question sentText of the question. Empty uses the default How would you rate today's service? Reply with a score from 1 to 5. The reply only counts as a score when it comes with a number from 1 to 5.

Who receives it

  • Closed conversations in which the AI or an agent replied to the customer. Services with only automatic flow messages do not receive it.
  • Customers whose ticket was closed for inactivity do not receive it.
  • The question is sent after the Closed ticket message, once per conversation.

How the reply is recognized

The reply is accepted up to 24 hours after closing, as long as the customer has not opened another service in the meantime. Formats such as 5, nota 4, 3/5, 4 de 5, 5 estrelas, 5 - ótimo and 2, demorou are accepted: whatever comes after the separator becomes a comment. When it recognizes the reply, the system says thanks with Thank you for your feedback!, without opening a new conversation.

A number followed by text without a separator, such as 2 days without internet, is not treated as a score: it becomes a normal new conversation, so the customer is not ignored.

The scores are associated with the agent and the department of the conversation and appear in the Overview and Reports. Ratings are preserved even when old conversations are deleted by retention.


Configuration examples

Small ISP: everyone handles everything

  • One Customer service department, with all agents, set as the Department for new conversations.
  • Automatic round-robin on, Smart distribution on, maximum 4.
  • Inactivity: warn after 30 min, close after 30 min.
  • Reception flow transferring to Customer service.

Mid-sized ISP: three departments

  • Billing, Technical support and Sales departments, each with its own team; supervisors linked to all three.
  • Technical support as the Department for new conversations, with smart round-robin and maximum 3 (long services).
  • Billing with smart round-robin and maximum 6 (short services).
  • Sales manual, because the salesperson prefers to choose the contacts.
  • Flow with a billing/support/sales menu or direct AI choosing the department by subject (see flow examples).
  • Waiting time notice on for peak hours.
  • Satisfaction survey on, followed in the reports by department.

Best practices

  • Set the Department for new conversations so that nothing sits in the general queue without an owner.
  • Make sure every active department has agents. A department with 0 in the Agents column piles up a queue without anyone being alerted or receiving through the round-robin (the conversations remain visible in the panel queue, but depend on someone noticing).
  • Use breaks. An agent going to lunch or a meeting should Take a break: they leave the round-robin and stop receiving alerts, and conversations go to whoever is working.
  • Prefer smart distribution, unless the team explicitly wants a rotation split.
  • Adjust the maximum per agent to the typical duration of the department's services.
  • Register the business hours: without them, the waiting notice does not work and hour-based flows do not behave as expected.
  • Turn on inactivity with comfortable times and instruct the team to use Wait for customer reply when the delay has been agreed.
  • Keep the AI safety net on (default 5 minutes).
  • Deactivate instead of deleting departments that are no longer in use.