Messages
A customer and an agent can have a conversation by sending and receiving messages through the Chat SDK. Sendbird Desk classifies messages into several types according to their component, implementation process, or purpose of usage.
Message types
There are three types of messages in Sendbird Desk: user messages, file messages, and admin messages. Depending on the value of message.data
, message.custom_type
, and message.data.type
, they can be further divided as follows.
Type | message.data | message.custom_type | message.data.type |
---|---|---|---|
User message |
| - Text message: the value you specified. | - Text message: N/A |
File message |
| - Text message: the value you specified. | - Text message: N/A |
Admin message |
| - Notification message: N/A | - Notification message: |
The following codes show a sample json
object of a bot agent message.
User messages
User messages are a text message sent by a customer or an agent. Messages sent by a bot or Rich messages such as confirmation and customer satisfaction messages can also be an example. The values of custom_type
and data.type
of a message
object determine the type of the user message. For example, the custom_type
property can have a value of either SENDBIRD_DESK_RICH_MESSAGE
or SENDBIRD_DESK_BOT_MESSAGE
. The following table explains the valid values of the data.type
property for each message type.
Type | data.type | Description |
---|---|---|
Rich message | A message that is sent to have customers confirm if their issue has been resolved and ticket can be closed. | |
Rich message | A message that is sent to ask customers about satisfaction rates. This is sent when | |
Rich message | A message that is sent after customers gave a satisfaction rate. This is sent when | |
Rich message |
| A preview text or a thumbnail image of the link in a message. To learn more about how this message works, see Link preview. |
Bot agent message |
| A message that is sent by a FAQ bot. To learn more about bots, see Bot. |
Rich messages
Among user messages, messages that need additional implementation processes are grouped into Rich messages, which includes link preview, confirmation request, and CSAT message.
When a client app receives a message through the channel(_:didReceive:)
method of BaseChannelDelegate
, the three types of rich messages can be distinguished by the value of message.data.type
listed above.
File messages
A message with an attached file sent by a customer or an agent. The subtype of file messages is the same as User messages.
Admin messages
Admin messages are sent from the Desk server without a specific sender and can be classified into System messages and Notification messages, depending on whether they are visible to a customer.
System messages
System messages are displayed only to agents when an update has been made to a ticket, such as change in ticket status or its assignee. The following table lists the valid values of the message.data.type
property of system messages and their default content. The default messages can be edited in Settings > System messages on your dashboard.
message.data.type | Default message |
---|---|
| The ticket status is changed from Active to Idle by {by_agent_name}. |
| The ticket status is automatically changed from Active to Idle. |
| The ticket is assigned to {to_agent_name} by {by_agent_name}. |
| The ticket is assigned to {agent.display_name} by the system. |
| The ticket is closed by {by_agent_name}. |
| The ticket is closed by the customer. |
| The ticket is closed by the Platform API. |
| The ticket is automatically closed. |
| The ticket is assigned to the {to_team_name} team by {by_agent_name}. |
| The ticket is transferred from {from_team_name} to the {to_team_name} team by {by_agent_name}. |
| The ticket is transferred from {from_team_name} to the {to_team_name} team through a Platform API request. |
| The ticket is transferred from {from_team_name} to the {to_team_name} team by a customer. |
| The ticket is automatically transferred from {from_team_name} to the {to_team_name} team. |
| The ticket is set to be independent from the {from_team_name} team by {by_agent_name}. |
| The ticket status is changed from Idle to Active by {by_agent_name}. |
| The ticket status is changed from Idle to Active by the customer. |
| The ticket status is automatically changed from Idle to Active. |
| The priority of the ticket is changed to {priority} by {by_agent_name}. |
| The priority of the ticket is changed to {priority} by the customer. |
| The priority of the ticket is changed to {priority} by the Platform API. |
| The ticket is reopened by {by_agent_name}. |
| The ticket is reopened by the customer. |
| The ticket is transferred from {from_agent_name} to {to_agent_name} by {by_agent_name}. Reasons for transfer: "{memo}." |
| The ticket status is changed to In progress by {by_agent_name}. |
| The ticket status is automatically changed from In progress to Pending. |
Notification messages
Notification messages are displayed to both customers and agents. Examples are welcome messages and delay messages. The following table lists the valid values of the message.data.type
property. Unlike system messages, you can manually set and edit the messages under Settings > Desk on your dashboard.
message.data | Description |
---|---|
| The first message sent to a customer, often in the form of a welcome message. This can be set under Settings > Desk > Triggers > Welcome message on Sendbird Dashboard. Push notifications and badges aren't available for this message. |
| A message that is sent when the assigned agent is away. This can be set under Settings > Desk > Triggers > Away message on Sendbird Dashboard. Push notifications and badges aren't available for this message. |
| A message that is sent when the ticket hasn't been assigned yet. This can be set under Settings > Desk > Triggers > Assignment delay message on Sendbird Dashboard. Push notifications and badges are available for this message. |
| A message that is sent when it's out of working hours. This can be set under Settings > Desk > General > Auto-reply on Sendbird Dashboard. Push notifications and badges aren't available for this message. |
| A message that is sent when a customer or an agent closes a ticket. This can be set under Settings > Desk > Triggers > Default close message on Sendbird Dashboard. Push notifications are available for this message while badges aren't. |
| A message that is sent when the ticket has been automatically closed according to the automation. This can be set under Settings > Desk > Automation > Change ticket from IDLE to CLOSED after on Sendbird Dashboard. Push notifications are available for this message while badges aren't. |
| A message sent by an agent under Proactive Chat. Agents can initiate a conversation via this message. Push notifications and badges are available for this message. |
| A reminder that is sent before an idle ticket is automatically closed according to the automation. This be set under Settings > Desk > Automation > Send reminder before closing ticket in on Sendbird Dashboard. Push notifications are available for this message while badges aren't. |