Multi-conversation functionality allows end users to engage in multiple concurrent conversations with your organization. Currently in messaging, end users are limited to one conversation at a time, making it challenging to address multiple issues simultaneously. With multi-conversations, end users can start new conversations with your organization even if they already have active conversations ongoing.

What you’ll need

Setting custom titles and avatars for conversations

Zendesk customers with access to the Sunshine Conversations UpdateConversations endpoint can customize multi-conversation titles and avatars. When conversation titles and avatars are updated, the changes are not immediately reflected on the user's current messaging screen. Instead, the updated title or avatar will be displayed the next time the user reloads their messaging screen.

To set the title and avatar for each conversation, use the displayName and iconUrl parameters, respectively. For example:

{  "displayName": "My conversation",  "iconUrl": "https://www.someplace.com/image.jpg"}

If displayName or iconUrl are not specified, the title and the avatar of the conversation defaults to the most recent agent or bot involved in the conversation.

Note: Using the UpdateConversation endpoint requires a Conversations API key which can be generated in the Zendesk Admin Center. See Using the Conversations API keys.

Hiding the conversations list

When an end user starts multiple conversations, they can view them at any time through their conversation list screen, allowing them to revisit or continue past discussions as needed.

The Sunshine Conversations v2 API includes a canUserSeeConversationList property that can hide the conversation list screen and display a single-conversation interface. This setting limits end users to only seeing their latest updated conversation.

{  "canUserSeeConversationList": false}

This property lets you customize the experience for each integration individually. For more information, see Update Integration.

Note: If you are using mobile SDKs, you must be on v2.28.0 or later to use this feature. Changes to this property may take up to 10 minutes to be recognized in the SDKs and you will need to restart the SDK for re-initialization. See Initializing the iOS SDK and Initializing the Android SDK.

User authentication

If you are using authentication, it's important to authenticate your users with the Zendesk Web Widget or mobile SDKs prior to displaying the messaging screens. Delaying authentication may result in users engaging in anonymous conversations, complicating their ability to access prior conversations and potentially causing them to create new tickets for existing issues (duplicating tickets). For more information, see Authenticating users in your application , and Authenticating users in the help center.

Authentication in the Zendesk Web Widget

Here is a sample code snippet for authenticating users at the same time as the widget is displayed. For more information, see Displaying the messaging Web Widget.

zE("messenger", "hide")
zE("messenger", "loginUser", function (callback) {  callback("new-jwt-for-user")  zE("messenger", "show")})

Authentication in the Zendesk mobile SDKs

With mobile SDKs, authentication should be completed after the SDK initializes but before presenting the messaging view. For more information, see Authentication in the iOS SDK and Authentication in the Android SDK.

Customizing the navigation flows

To customize the navigation experience for multi-conversations, you can use the Multi-Conversations Navigation APIs for Android and Multi-Conversations Navigation APIs for iOS. These APIs provide control over the messaging interface’s behavior and flow, offering flexibility to tailor the user experience.

Limitations

Sunshine Conversations API v1

Sunshine Conversations API v1 does not support multi-conversations. Enabling the multi-conversations feature while using API v1 may lead to unexpected results.