Contact usRequest a demo

Configuring invitations

Agents can invite people to join a conversation in different ways. All invitation types are accessible from the Invite participant control in the Agent Desk. This article describes how to configure the different invitation types.

Inviting agents and teams

To invite teams or other agents to a conversation, agents can use the Agent Desk as described in the Invite participant control section of the Agent Desk guide. Agents can also join a conversation using a public link as described below.

Which types of participant may invite agents and teams to join a conversation is controlled by the configuration properties com.unblu.conversation.invitation.allowInviteAgent and com.unblu.conversation.invitation.allowInviteTeam, respectively.

If an agent forwards a conversation to another agent, the agent the conversation is forwarded to is set as the recipient of the conversation. If you set com.unblu.conversation.invitation.setRecipientForForwardingTargets to false, the agent forwarding the conversation remains the recipient of the conversation. This is useful if the conversation should return to the previous queue or named area when the agent that the conversation was forwarded to declines the invitation, or if they resolve the issue and leave the conversation.

The Unblu web API has endpoints to invite agents and teams to conversations. For more information, refer to the Unblu web API reference.

Inviting visitors

The configuration property com.unblu.conversation.invitation.allowInviteVisitor specifies which types of participant may invite visitors to join a conversation.

To invite visitors to a conversation, agents can:

  • Generate a PIN for the visitor to enter in the floating or Embedded Visitor UI, or in a mobile app using the Unblu mobile SDK. The visitor joins the conversation once they’ve entered the PIN.

    The configuration property com.unblu.conversation.invitation.allowInviteVisitorPin specifies who can create PIN invitations.

  • Generate a private link that they can share with the visitor. The visitor joins the conversation once they click the link. The link only works once.

    The configuration property com.unblu.conversation.invitation.allowInviteVisitorPrivateLink specifies who can invite visitors with a private link.

  • Send the visitor an email containing a private link to the conversation. The link works the same way as for private link invitations.

    The configuration property com.unblu.conversation.invitation.allowInviteVisitorEmail specifies who can send visitors an email invitation.

  • Send visitors the public link to the conversation. Public links are discussed in more detail below.

The Unblu web API has endpoints to invite visitors to conversations. For more information, refer to the Unblu web API reference.

Redeeming a personal invitation

The process for redeeming an invitation to a conversation depends on the type of invitation and whether the invitee is an agent or a visitor.

This section discusses redeeming personal invitations. Redeeming public links is discussed in the section Public links below.

Redeeming an invitation for an agent or team

Personal invitations for agents appear in their queue. Invitations addressed to a team appear in the queue of the team’s members.

Agent Desk queue with a pending invitation

To redeem an invitation, agents click the Answer button on the conversation.

By default, agents invited personally to join a conversation may decline the invitation. You can disable this by setting com.unblu.queue.ui.enableDeclineAgentInvitationsAndForwardings to false.

Invitations sent to a team can’t be declined.

Redeeming a personal invitation for a visitor

How visitors redeem a personal invitation depends on whether the invitation was a PIN invitation or a private link.

Redeeming a PIN invitation

To redeem a PIN invitation, visitors must access a page of your website that’s instrumented with Unblu. There, they open the embedded or Floating Visitor UI and click Enter PIN. The visitor UI then displays a screen where they can enter the PIN they’ve been provided:

*Enter PIN* page in the Floating Visitor UI

To enable the Enter PIN option in the visitor UI, set com.unblu.visitor.ui.engagement.showPinEngagementOption to true.

PIN invitations can only be redeemed once.

Visitors redeem private link and email invitations by clicking the private link. Once they do so, the Visitor Desk opens and displays the conversation.

Private link invitations, including private links sent as email invitations, can only be redeemed once.

If the conversation has already ended when the invitee tries to join, they’re redirected to the Conversation ended page:

*Conversation ended* page

Invitations, whether PIN, private link, or email invitations, are only redeemable once. If something goes wrong while someone is trying to join a conversation, the agent has to create a new invitation for them. Furthermore, if agents want to invite several people to a meeting, they must create a separate invitation for each participant, which can be time-consuming.

Public links address both of these issues. They’re redeemable multiple times, so users can make multiple attempts to access the conversation with the same link. The same public link can be used by multiple invitees, and invitees can be agents or visitors. This lets agents invite multiple participants to a conversation with a single email addressed to them all, for example.

Public links first direct the person who opened them to the Visitor Desk. Agents using a public link invitation must therefore be able to access the PUBLIC entry path.

  • If the person isn’t an authenticated agent, the Visitor Desk opens on the standard Join conversation page:

    *Join conversation* page in the Visitor Desk

    Visitors click on the Join button to join, as if they had received a private link. If the Agent Desk is accessible, the page has an additional Join as an agent button beneath the Join button, which redirects agents to the Agent Desk and displays the Agent Desk login screen.

    Agent Desk login screen

    If you prefer, you can configure Unblu to execute the redirect automatically.

  • If Unblu determines that the person who clicked the public link is an agent, they’re redirected to the Agent Desk and displayed the modal dialog below.

    *Join conversation* page for authenticated agents

    If necessary, the invitee is asked to log in to the Agent Desk first.

Before an invitee can join a conversation using a public link, their request must be approved by an agent.

  • If no agent has the conversation open in the Agent Desk when the invitee asks to be admitted, Unblu asks the invitee to wait for an agent to join:

    *Join conversation* page after entering details if no agent is present
  • If an agent is present in the conversation, Unblu asks the invitee to wait for an agent to admit them to the conversation:

    *Join conversation* page after entering details if an agent is present

    Any agent who’s already joined the conversation can grant or deny access on a person-by-person basis.

  • Once an agent admits the invitee to the conversation, Unblu treats them no differently than if they’d used a personal invitation.

    If an agent denies a visitor or agent access to a conversation, the Join conversation page shows the invitee who requested admission the Admission denied message:

    *Admission denied* message on the *Join conversation* page
  • If the conversation has already ended when the invitee tries to join, they’re redirected to the Conversation ended page:

*Conversation ended* page
  • To let agents create public links for conversations, set the configuration property com.unblu.conversation.invitation.allowPublicLinkAccess in the CONVERSATION_TEMPLATE scope to true. For scheduled conversations, this is the case by default. For other agent-initiated engagement types, it’s set to false.

    If you enable public links on an engagement type, Unblu adds a section to the bottom of the Invite menu:

    <strong>Invite</strong> menu with the public link option

  • Since anyone can use a public link to join a conversation, Unblu lets agents perform a basic check of who’s requesting admission via a public link. This option is controlled by the configuration property com.unblu.conversation.invitation.requireAgentApprovalBeforeJoin. When it’s set to true, Unblu displays a modal dialog like the one below in the Agent Desk. The dialog appears for all agents who have the conversation open.

    Dialog of visitor requesting admission to a scheduled conversation via a public link

    Any agent who’s already joined the conversation can grant or deny access to the conversation on a person-by-person basis. If you don’t want your agents to vet participation requests via public links, set the configuration property to false.

  • Access via public links is anonymous. You can require anonymous visitors to provide their name or email address (or both) when they request admission to a conversation via a public link:

    Unblu doesn’t verify the information visitors provide in this step.

Several configuration properties affect public links for agents:

CORS policy for agent redirects

In a cross-origin setup, your CORS policy must be set up in such a way that the agent cookie can be checked. The Access-Control-Allow-Origin header must therefore allow the visitor domain access to the agent domain.

Configuring invitation pages

The Unblu UI has three pages related to invitations:

  • The Join conversation page.

  • The Waiting room page.

  • The Conversation ended page.

Join conversation page

The Join conversation page, pictured above, appears when an unauthenticated agent or a visitor opens a public link invitation.

There are a number of configuration and text properties to customize the Join conversation page:

Waiting room page

The Waiting room is only used for scheduled conversations. For information on configuring the page, refer to Configuring scheduled conversations.

Conversation ended page

If a conversation ends before an invitee attempts to join, they’re redirected to the Conversation ended page:

*Conversation ended* page

You can specify which information about the conversation you want to show to agents and visitors on this page with the configuration properties in the groups Agent "conversation ended" component group and ConversationEndedComponent, respectively.

See also