Delegating conversation requests to deputies
Unblu’s deputy delegation system allows agents to specify agents and teams who should deal with incoming conversation requests for an agent when they can’t do so themselves. This article describes how the deputy delegation system works and how to configure it.
Introduction
You can use Unblu to send conversation requests from your customers straight to their relationship manager. However, sending a request to a single person increases the risk of that request going unanswered.
To mitigate this risk, Unblu lets you specify deputies for agents. Deputies are either agents or teams. If an agent doesn’t respond to a conversation request sent to them personally, Unblu delegates the request to their deputies. It also delegates invitations and conversation forwardings.
Deputy delegation only works for conversation requests, invitations, and forwardings sent to a single agent. There’s no deputy delegation process for conversation requests, invitations, and forwardings sent to a team. |
The delegation process
The diagram below shows the deputy delegation process.

When a customer sends a conversation request to a specific agent, when an agent is invited to join a conversation, or when a conversation is forwarded to an agent, Unblu goes through the following steps:
-
Unblu adds the request to the agent’s queue and waits for their response.
-
If the agent doesn’t respond within the allotted time, Unblu retrieves the agent’s level 1 deputies.
If a deputy is a team, Unblu retrieves the members of the team and adds them to the list of level 1 deputies.
-
Next, Unblu informs the agent’s level 1 deputies:
-
It adds adds the request to their respective queues.
-
It sends them push notifications.
At the same time, it starts a timeout countdown.
-
-
During the countdown, the agent’s level 1 deputies can respond to the customer’s conversation request. There are four possible responses:
-
Accept
-
Decline
-
Ignore
-
Later
-
If one of the deputies responds with Accept or Decline, the delegation process is over. The conversation request has been dealt with.
-
If all the deputies respond with Ignore, the countdown ends immediately.
-
-
When the countdown ends, Unblu checks whether there are any deputies on the next level.
-
If there are, the process returns to step 2.
-
If there aren’t any deputies on the next level, the delegation process is over. The conversation request hasn’t been dealt with. Unblu sends an
assignment_request.unanswered
webhook.
-
Delegation levels
You can specify up to four levels of deputies:
-
Assistants are a special type of deputy. If you set the configuration property com.unblu.conversation.invitation.autoSyncAssignedAgentAssistants to
true
, Unblu automatically adds them to any conversations that the agent they’re an assistant to is participating in. By default, they’re added to the conversation as hidden participants. You can change this by setting com.unblu.conversation.invitation.hideAutoSyncedAssistants tofalse
.Both configuration properties are set in the
CONVERSATION_TEMPLATE
orCONVERSATION
scope.As far as delegating conversations is concerned, assistants are treated like level 1 deputies.
-
An agent’s level 1 deputies are notified if the agent didn’t handle the request.
-
Level 2 deputies are notified if neither the agent nor their level 1 deputies dealt with the request.
-
Level 3 deputies are notified if neither the agent nor their level 1 or level 2 deputies dealt with the request.
There’s no configuration property to specify the number of delegation levels you want. Unblu ignores delegation levels without deputies. If you only want one level of delegation, only add deputies to one delegation level.
Agents who were notified on a previous delegation level can still respond to a conversation request after Unblu has notified the next delegation level. For example, when the deputy delegation process reaches level 2, the following agents have the request in their queues and can respond to it:
-
The agent the request was originally sent to.
-
The level 1 deputies.
-
The level 2 deputies.
Deputies are only ever notified on the first delegation level they’re present on. Consider the following situation:
-
Agents A and B are both members of team T.
-
Agent A’s level 1 deputies includes agent B.
-
Agent A’s level 2 deputies includes team T.
When agent A receives a conversation request and doesn’t respond, Unblu notifies their level 1 deputies, one of whom is agent B. If no level 1 deputy accepts or declines the request, the deputy delegation process continues with the level 2 deputies. Unblu then determines the members of team T, which includes agent A and agent B. Since both agents have already been informed of the request but didn’t respond, Unblu doesn’t notify them again.
Configuring deputy delegation
By default, the deputy delegation system isn’t active. To turn it on, you need to edit two configuration properties:
-
In the
GLOBAL
orACCOUNT
scope, set com.unblu.messenger.enableDeputyDelegation totrue
. -
In the conversation template or templates you use for incoming conversation requests, set com.unblu.conversation.invitation.enableDeputyDelegation to
true
. -
If you want to manage one or more delegation levels in a third-party system and update the information Unblu using the Unblu web API, add the levels in question to the configuration property com.unblu.deputyrelationship.externallyManagedDeputyLevels.
Externally managed delegation levels can’t be edited in the Agent Desk or Account Configuration interface.
Timeouts
You can specify different timeouts for the countdown before Unblu delegates a conversation request to the next level of deputies:
-
com.unblu.conversation.invitation.level1EscalationTimeoutSeconds is the duration of the countdown for the agent to respond to the request before Unblu notifies their level 1 deputies.
-
com.unblu.conversation.invitation.level2EscalationTimeoutSeconds is the duration of the countdown for level 1 deputies to respond to the request before Unblu notifies the agent’s level 2 deputies.
-
com.unblu.conversation.invitation.level3EscalationTimeoutSeconds is the duration of the countdown for level 2 deputies to respond to the request before Unblu notifies the agent’s level 3 deputies.
-
com.unblu.conversation.invitation.unansweredEscalationTimeoutSeconds is the duration of the countdown for level 3 deputies to respond, after which Unblu considers the request unanswered.
If a conversation request remains unanswered during the entire deputy delegation process, Unblu sends an assignment_request.unanswered
webhook. The request remains in the original agent’s and the deputies' queues, however, and they can still react to it.
Timeouts related to prompting for deputy delegation are described below.
Prompting for deputy delegation
Not all clients want to continue an ongoing conversation with a deputy. In this case, you can let your clients choose whether their relationship manager’s deputies should be invited to join a conversation when the relationship manager is unavailable.
-
When com.unblu.conversation.invitation.enableDeputyPromptWhenAgentsUnavailable is
true
, the concierge asks visitors whether they would like to invite a deputy if they write a message in a conversation with an agent who’s unavailable.You can specify the message the concierge sends in com.unblu.conversation.message.deputyDelegationPromptMessage. The labels for the buttons to accept or decline the prompt are defined in com.unblu.conversation.message.deputyDelegationPromptReplyAccept and com.unblu.conversation.message.deputyDelegationPromptReplyDecline, respectively.
-
com.unblu.conversation.invitation.promptDeputyForUnavailableAgentRelevantStates specifies which agent states cause an agent to be considered unavailable.
-
com.unblu.conversation.invitation.promptDeputyForUnavailableAgentParticipationTypes specifies whether the unavailability of the assigned agent, of the secondary agent or agents, or of both should trigger the prompt. If all the selected agent types are unavailable when a visitor writes a message, the visitor is prompted for deputy delegation.
-
com.unblu.conversation.invitation.promptDeputyForVisitorParticipationTypes specifies which types of visitor trigger the deputy delegation prompt when they write a message in a conversation where no agent is available.
-
Set com.unblu.conversation.invitation.promptedDeputyJoinsHidden to
true
if deputies prompted to join a conversation should do so as hidden agents. -
com.unblu.conversation.invitation.initialPromptDeputyDelegationLevel determines the delegation level that prompting should start deputy delegation at.
-
com.unblu.conversation.invitation.promptDeputyNewMessageDebounceTimeInSeconds determines how much time must pass between visitor messages before they trigger a new deputy delegation prompt.
-
com.unblu.conversation.invitation.promptDeputyTimeoutInSeconds determines how much time the visitor has to respond to the deputy delegation prompt. If the time runs out, the delegation request is canceled automatically.
-
com.unblu.conversation.invitation.promptDeputyDelegationRestartDelayInSeconds specifies how long new visitor messages don’t trigger a new prompt for deputy delegation after an earlier prompt was declined.
Notifications
Deputies can receive notifications by email and as web push notifications.
You define the contents of the notification emails in the following text properties:
You define the contents of web push notifications in the following text properties:
The webhook push_notification.deputy_delegation
is triggered whenever a deputy would receive a web push notification.
Notification actions
There are four possible responses to a delegated conversation request:
-
Accept: The deputy accepts the customer’s request. Once they do so, they become the assigned agent for the conversation, and Unblu removes the conversation from the other agents' queues.
If the deputy later wants to transfer the conversation to the agent the request was originally intended for, they must do so like they would for any other conversation.
-
Decline: The deputy declines the request. This declines the conversation request for all deputies. The state of the customer’s request changes to
UNASSIGNED
and it can no longer be accepted. -
Ignore: The deputy notifies Unblu that they won’t accept the request. By explicitly ignoring a request, deputies can speed up the delegation process.
When a deputy selects Ignore as a response, the request remains in their queue.
If a deputy has disabled notifications, Unblu treats this like an explicit Ignore response.
-
Later: The deputy accepts the request, and Unblu sends the customer a predefined message stating that the deputy will get in touch with them at a later point in time.
Deputies aren’t offered all four options. On push notifications, they can only choose between two different responses. Use the configuration property com.unblu.core.push_notification.deputyDelegationAvailableNotificationActions to specify which responses they can choose from.
For more information, see Web push notifications.
Customer message for the Later response
When a deputy responds to a delegated request with Later, Unblu sends the customer who made the request a standard message in the Unblu chat. You can define the message’s contents in the text property com.unblu.conversation.message.invitationRedeemedButWillHandleLater.
Deputy delegation in the Agent Desk
Enabling the deputy delegation system adds a Deputies tab to the profile of each user. If the agent’s role allows them to manage their own deputies, they can add and remove deputies on this tab. You define the minimum required role for managing deputies with com.unblu.core.settings.deputyRelationshipsMinimalRole.
To give agents easier access to the Deputies tab, set com.unblu.ui.usermenu.showManageDeputyRelationships to true
. This adds a Deputies entry to the Agent Desk user menu.
Note that if you’re using the deputy delegation system, agents have access to the Deputies tab in their profile irrespective of whether you add the Deputies menu item or whether they can manage their own deputies.
You can specify the actions available to deputies in the queue and the preview of the Agent Desk in the configuration property com.unblu.queue.ui.deputyDelegationAvailableNotificationActions. If you select a single action, it will be displayed directly. If you select two actions, they’re added to the UI in a separate menu.
Automatically updating assistants in ongoing conversations
Assistants play an important part in maintaining the relationships between relationship managers and their clients. When an agent’s assistant changes, or if you change the configuration of how assistants work, Unblu automatically updates the participants in the agent’s ongoing conversations.
To limit the impact that searching for and updating a large number of conversations may have on your Unblu installation, you can configure how frequently Unblu should check whether assistants need updating in conversations as well as how many conversations should be changed in one go. The relevant configuration properties are in the GLOBAL
scope:
-
com.unblu.deputies.assistants.autosync.checkInterval
-
com.unblu.deputies.assistants.autosync.batchSize
Limitations
The deputy delegation system only works for incoming conversation requests. It doesn’t work for new messages or calls in ongoing conversations.
You might want such a feature if you’re using Unblu’s secure text messaging feature. In that case, you can add Hidden secondary agents to the conversation. These agents can react to customer messages or calls if the assigned agent is unavailable.
See also
-
For information on managing deputies in the Account Configuration interface, see Deputies in the Account Configuration interface guide.
-
For information on managing deputies in the Agent Desk, see Deputies in the Agent Desk guide.
-
For information on setting up deputy relationships through the Unblu web API, refer to the
DeputyRelationships
section of the web API reference. -
For information on hidden secondary agents, see Hidden secondary agents.