Instant - WhatsApp Accounts

Instant - WhatsApp Accounts

Overview

XCALLY Motion enables you to share a single WhatsApp account among multiple Agents, functioning similarly to a voice queue.
This allows for collaborative and efficient customer care handling via WhatsApp.
XCALLY Motion provides a web-based WhatsApp client designed specifically for Customer Care purposes, where all participating Agents can view and manage interactions in a shared interface.

To enable WhatsApp integration, you must configure the following components:

  • Solution Provider account (e.g. Twilio or Meta)

  • XCALLY WhatsApp Account

  • WhatsApp Queue

Once configured, Agents can handle WhatsApp messages directly within XCALLY Motion, just as they do with other supported communication channels.

Ensure that all relevant Agents are assigned to the WhatsApp Account to allow them to manage interactions through this channel.

FROM VERSION 3.47.0

You can enhance customer communication by enabling the Video Channel option. This feature allows Agents to initiate a video call from the WhatsApp interaction panel. When triggered, the customer receives a WhatsApp message containing a secure link to join the video session.
This feature requires:

  • An active Video Channel add-on license

  • A valid Vidaoo account

Configuration

In this section, you can add new WhatsApp Accounts and manage existing ones through the XCALLY Motion platform.

To create a new WhatsApp Account, click the ➕ Add WhatsApp Account button and complete the following fields:

  • Name: the name of the WhatsApp account

  • Key: A short, unique alphanumeric identifier (max 5 characters) for the Account. This key will be visible on the Agents’ interaction tabs.

  • List: The default Contact List where new WhatsApp contacts will be saved (if they don’t already exist in the Contacts Manager

  • Proxy or Motion Domain: by default your current Motion domain (port 443) is pre-filled.
    If you require proxy-based configuration, please open a ticket to the XCALLY support

  • Type: select the WhatsApp Solution Provider from the dropdown list. Based on the selected provider, additional fields will appear:

    • TWILIO → Required fields obtained from the Twilio Console: Account SID and Authorization Token

    • SINCH V2 → Required fields obtained from the Sinch Console: Base URL, SINCH Project ID and SINCH App ID, SINCH Key ID and SINCH Key Secret Value

    • META → Required fields obtained from your Meta Business Account: Account SID, Authorization Token, AppId and Phone number Id

    • KALEYRA → Required fields obtained from your Kaleyra Account: Base URL, WhatsApp Business Account Id, Account SID and API Key

  • Phone: the WhatsApp-enabled phone number provided by your solution provider

  • Description: (Optional) a custom description for the account, useful for identification or internal notes

After completing all required fields, click Add WhatsApp Account to save the configuration.

Edit/Modify a WhatsApp Account

To manage an existing WhatsApp Account, go to the WhatsApp Accounts list and click the () three dots button associated with the desired account.
You will be presented with the following actions:

image-20250331-102605.png

 

  • Edit the WhatsApp Account

  • View Interactions list for the Account 

  • Add Agent to the WhatsApp Account 

  • Add Whitelist FROM VERSION 3.49.0

  • Delete WhatsApp Account

When you choose to Edit a WhatsApp Account, several configuration sections become available. These allow you to view and modify settings previously defined during the account setup.


Settings

General

In this section you can edit, retrieve and change the values inserted when adding the WhatsApp Account.

image-20250331-130330.png
  • Wait for the Assigned Agent: time (in seconds) a new message will wait for the previously assigned Agent (with a closed tab) to accept the message, even if the Agent is currently logged out or in pause.
    Default: 10 seconds - Range: 1 – 2,147,483

  • Wait for the Assigned Queue: If the assigned Agent does not accept the message in time, the system routes the message to another Agent in the queue. This setting defines how long (in seconds) the system will wait before continuing with the defined Action Plan.
    Default: 10 seconds - Range: 1 – 2,147,483

  • FROM VERSION 3.49.0 Interaction inactivity timeout: time (in minutes) after which an interaction is automatically closed if the last message was from the Agent and no further activity occurred.

An interaction is considered inactive when the last message is from the agent.
When triggered, the interaction status is set to Closed for inactivity.

 

  • Receive URL is an auto-generated API endpoint required by the WhatsApp Solution Provider (e.g., Twilio, Sinch V2, Meta, Kaleyra).
    You must copy and paste this URL into the corresponding configuration field in your provider’s platform.

The Notification section allows you to configure how new WhatsApp interactions are presented to Agents, to show information about the source, the sender, the recipient queue and so on.

Notification Options:

  • enable/disable sound for new interactions

  • enable/disable shake effect for desktop notification

  • customize Notification Template to define which details are shown to the Agent (e.g., account name, sender, queue).
    You can use XCALLY Motion variables in the template for dynamic content.

For Sinch V2 accounts (prior to version 3.46.0), the phone number will not be displayed by default in the new interaction notification shown to agents. To include the phone number, update the notification template as follows:

Account: {{account.name}} {{#queue}}Queue: {{queue.name}} {{/queue}}From : {{contact.mobile}}

For Sinch V2 accounts created in version 3.46.0 or later, the phone number is included in notifications by default. No template update is necessary.

 

Transfer settings

This section manages transfer behavior for WhatsApp interactions.

  • Queue Transfer: toggle to enable/disable the Agent transfer to a queue and set the queue transfer timeout (defines the time in seconds the message waits to be accepted before it is marked as unread and returns to the sender's tab).

  • Agent Transfer: toggle to enable/disable the Agent transfer to an other agent and set the agent transfer timeout (time in seconds the message waits to be accepted by the agent before it is marked as unread and returns to the sender's tab).

If this option is enabled, the Agent can transfer an interaction. For example, to transfer to a queue: click the three dots button and select Transfer.

Advanced

Proxy

In this section, you can:

  • Change the Motion Domain

  • View the Proxy Token (this token is auto-generated and cannot be modified)

Disposition

Mandatory Disposition: enable this option to require agents to dispose of each interaction before closing, by setting the Agent pause status automatically applied during disposition (default=NO). 

When enabled, an additional field appears allowing you to select the pause type from a dropdown list.

Recontact Template

image-20240506-132812.png

If you are using Meta or Kaleyra accounts, a Recontact Template is required. This template must be pre-approved and is used to contact customers after the 24-hour service window has expired.

Tools

image-20250331-103756.png

 

FROM VERSION 3.40.0

If your license includes the XCALLY AI Agent Assistant, you can enable this feature to assist agents during textual conversations. When activated the virtual assistant can provide answers to the agent in real-time

FROM VERSION 3.42.0

The Translation Feature (to use the add-on Real-time Translator) allows you translate incoming and outgoing messages in real time. The agent can obtain a translation of individual messages received and translate the response message.
To use this feature, you must also select a cloud translation provider: AWS or Google Cloud.

Whitelist

image-20250331-105239.png

FROM VERSION 3.49.0

Enable the Whitelist option to restrict incoming messages to specific contact lists.

If a non-whitelisted contact sends a message:

  • An automatic reply is sent using a pre-configured message. You can configure the auto-reply message in response message section

  • The interaction is automatically closed

Learn below how to associate Whitelists to Accounts.

Dispositions

Dispositions created in this section are available to agents when disposing of interactions from this account.

image-20250703-080234.png
image-20250703-080433.png

To create a new disposition specific to an account, click + Add button and provide the following details:

  • disposition name (required): Enter a clear and descriptive name.

  • optional description (optional): Add any additional context or notes.

  • Disposition Hierarchy (optional): Select a First-level or Second-level disposition if you wish to organize dispositions in a hierarchical structure.
    If this field is left blank, the created disposition will be considered a first-level disposition.

In addition to account-specific dispositions, the platform supports the following types:

  • Global Dispositions, available across all interactions

  • List-based Dispositions, linked to a specific contact list within the Contact Manager

  • FROM VERSION 3.51.0 Queue-specific Dispositions, associated with a specific queue

 

Canned Answers

Create and manage a list of Canned Answers specific to this account.

  • Use the search icon (🔍) to find an answer

  • Use the add icon (➕) to create a new one

  • Canned answers can be edited or deleted (using the three dots ⋮ menu)

Both General and Local (Account-specific marked by the Channel type icon) canned answers are shown together in the Agent UI.

Video

from version 3.47.0

You can initiate a video call during a WhatsApp interaction by sending the customer a meeting link.

Requirements:

  • Active Video Channel add-on license

  • Properly configured Vidaoo account

 

Enable the toggle to activate video call support. Once active, the following fields will appear:

image-20240930-144958.png
  • API Key: to manage a Vidaoo meeting. Retrieve from your Vidaoo user profile. Explore how to generate in the User profile an API Token).

  • Vidaoo Topic: title of the video call session (unique per account)

  • Vidaoo Note: optional notes for Vidaoo reporting

  • Vidaoo Metadata: JSON format data for automation (optional)

 When this option is turned on, agents will see a “Start Video Call” option during WhatsApp interactions. 

image-20250214-094354.png

A meeting link for a video session is generated and sent to both the agent and the customer:

  • the agent will view a link in the omni desktop interface to click in order to join the video call.

  • the customer will receive the link in a Whatsapp message as well.

image-20250214-094600.png

During the video call, the WhatsApp interaction can continue or be closed.
Once the video call is activated, the two channels operate independently, allowing you to switch between them as needed.

Actions - Whatsapp Routing

In this section, define actions to be triggered when a new WhatsApp interaction is received.
Configure Applications, working rules and time intervals.

image-20250715-092157.png

Applications List

Applications will be executed in the Action flow in the order they are placed in the list.

Application

Purpose

Parameters

Additional information

Application

Purpose

Parameters

Additional information

Agent

Sends a notification to a specific Agent

- Agent name (from list)
- Agent timeout: Number of seconds to wait for Agent acceptance. If time expires, the next application will be executed

The system attempts to assign the interaction to the specified agent and waits for the defined timeout. During this period, the agent receives repeated notifications (frequency depends on system configuration). If the agent does not accept the interaction within the timeout, the next action in the flow is executed.

Amazon Lex

Handles interactions using Amazon Lex bot

- Access Key ID & Secret Access Key: insert your access key ID and Secret Access Key
- Region: indicate AWS Region
- Bot Name
- Welcome message: this is the first response message sent to new interactions

 

Auto Reply

Sends an automatic reply

Number of times per interaction:

  • One time: sends once per interaction

  • Always: sends on every incoming message

  • First Message: sends only on the very first message of the session.

Text of the autoreply message

Scenario
Action Flow created in this way:
1. BOT 2. Auto Reply 3. Queue

- First message replies are skipped because the BOT is processed first.
- One time replies will trigger once per interaction, regardless of the BOT's presence.

If the agent does not respond, the routing restarts from the first action, but the auto-reply message (if set to "One Time") will not be sent again.

ChatGPT

Handles interactions using an OpenAI ChatGPT model

 

- OpenAI Account: select the associated cloud provider
- ChatGPT Model
- Bot Name
- Max conversation length in ChatGPT tokens
- Exit Phrase: keyword or phrase to end ChatGPT interaction.
- ChatGPT Prompt: initial prompt to guide ChatGPT behavior.
- ChatGPT Temperature: controls creativity of responses
- Analyze chat to know if you should pass to an agent (enable/disable automatic analysis for escalation)
- Forward Message shown when transferring to an agent
- Error Message displayed if ChatGPT encounters an error
-ChatGPT Attachment Message sent when the customer sends a file

 

Close

Closes the interaction

- Disposition

 

Dialogflow V2

Handles interactions using Dialogflow V2 bot

- Project ID: insert your project ID
- Client Email
- Private Key
- Language
- Welcome message: this is the first response message sent to new interactions

 

GoToIf

Conditionally routes to another action based on a defined condition.

 

- Condition (variable or value):
- True Priority: action to execute if the condition is met.
- False Priority: action to execute if the condition is not met.

 

GotoP

Unconditionally routes to another action with a defined priority.

 

- Priority: the next action to execute

 

 

Noop

Logs information for debugging purposes

- Value: message or variable to log

 

Queue

Sends the interaction to a specific queue, notifying all eligible agents

- Queue: choose from the list
- Timeout: number of seconds to wait for an agent to accept the interaction

Agents are associated with queues based on their skills. The system routes new interactions to queues following the selected strategy (e.g., BeepAll or Round Robin Memory). If the timeout expires without acceptance, the next application is executed.

System

Executes a Unix command or script to interact with external systems

- Command (unix command or script to be executed)
- Variable (optional: where to store the command/script result)

Useful for:

  • Retrieving data from external sources (e.g., databases, CRMs)

  • Sending interaction data from XCALLY Motion to third-party applications

Tag

Applies a tag to the current interaction

- Tag list: select one or more tags from the predefined list.

 

Interactions

View and manage all WhatsApp interactions associated with the account.

You can filter the interaction list by Start Date, Read/Unread, Status (Open/Closed), Website, Agent, Tags:

Use the Advanced Search button to apply complex filters.

Interactions log files

Interactions history is saved in files which are specific per channel. 

Advanced search instructions:

  1. Select a Field from the dropdown list

  1. Choose an Operator (eg.: equalscontainsstarts with, and so on)

  1. Input a Value

  1. Add the Condition (click on  plus button). To add more than one condition, repeat the operation, like in the following example:

Logic Options: