Multi-Party guide

Overview

Multi-party conversations allow multiple users to participate in a conversation with each other, with or without a business actor present to enable a full range of new use cases that were not possible on the Sunshine Conversations platform previously.

Multi-Party Overview

The v2 API introduces new key concepts and evolutionary changes as multiple conversations per user and multiple users per conversation. Along with the new API suite, we are also publishing new versions of our iOS, Android and Web SDKs that enable multi-party use cases.

Use cases

Multi-sided conversations

Enable more sophisticated conversations between multiple parties inside and outside your organization and loop in customer support with full context to streamline resolutions.

For marketplace companies, you can now connect buyers, sellers, riders, drivers into a conversation about a specific marketplace transaction (e.g. order, booking, ride) and programmatically add the right participants at the right time to streamline customer support.

For insurance and financial services companies, you can now facilitate conversations between third parties like insurance brokers, advisors, or portfolio managers and clients and centrally own the conversation record with every customer. For healthcare and life sciences companies, you can now create multi-sided conversations between primary care doctors, specialists, nurses, insurance providers, patients, and family members to more seamlessly deliver a great healthcare experience.

Group conversations & communities

Facilitate support conversations between a group of users to drive real-time engagement and deliver more specialized customer experiences.

For travel & hospitality companies, loop entire families or groups of travelers into a single conversation with hosts, guides, transportation services, and hotel staff to streamline communications and deliver more personalized services for every group member. For software & gaming companies, you can now create topic-based conversational forums for users to exchange tips, tricks, and best practices across every product in your portfolio, with escalation to nominated super-users and customer support when needed.

Internal messaging & collaboration

Make it easy for internal teams to collaborate to manage schedules, coordinate logistics, and solve complex multi-department support issues in real-time.

For manufacturing & logistics companies, facilitate conversations between dispatched drivers in the field, shift supervisors, warehouse employees, and more to drive efficiency and streamline complex operations. For retail & hospitality companies, connect on-the-floor staff with shift supervisors, inventory managers, kitchen staff, and more to coordinate schedules, deliveries, and services across every customer touchpoint.

Conversation monitoring

Passively listen in to conversations as a third-party to power analytics, detect fraud and misuse, and enable real-time auditing, and loop in support at the right time.

For marketplace companies, monitor conversations and listen for keywords to prevent fraud, detect spam, and prevent off-band transactions before they happen. For financial services companies, own the record of the conversations between clients, financial advisors, and portfolio managers to enforce compliance, power auditing, and transfer context when customer support is needed.

Multi-conversations

Engage in multiple conversations with a single customer, separated by department, topic, or business event.

For marketplace companies, enable multiple conversations between your buyers, sellers, riders, and drivers related to business events like product listings, deliveries, and rides. For multi-departmental customer engagement teams, maintain separate conversations with a given customer based on department, topic, or individual engagement rep.

Implementation guide

There are a few important functions that your software will need to implement in order to offer a complete end-to-end experience for multi-party conversations:

  • Conversation creation

    • The SDKs do not have the ability to create group conversations, this function must be performed by your backend in response to some existing business process on your side.
  • Participant matching

    • The Sunshine Conversations platform does not facilitate searching or matching of users, nor does it provide a means for users to discover each other and begin a conversation. The logic that determines who should be a member of each conversation (and when they are added and removed) must be handled by your software.

Additional functionality (optional)

With a multi-party implementation in place, additional use cases can be considered, such as:

  • Escalation

    • If a conversation between two or more users requires escalation to a higher business unit (customer service or technical support, for example), your application should provide a way for users to trigger these escalation flows when necessary (eg. via a help section within your application)
  • Content moderation

    • Webhook events for multi-party conversations can be subscribed to in order to perform any type of monitoring or moderation of the conversations happening between your users. If your business needs to enforce or audit a code of conduct, you can listen to webhook events to implement these functions.
  • Conversation enrichment

    • The business has the ability to listen and “barge in” to any existing conversation at will. This can be used to provide value-added services like enriching the conversation with business-specific information related to the ongoing content of the conversation. For example, when a user mentions a product in your catalog, the business may choose to send a rich message with more information about the product.

Limitations

Multi-party conversations

  • Multi-party conversations (type: "sdkGroup") are only possible with Sunshine Conversations’ native SDK channels (iOS, Android, and Web). There is no third-party channel linking possible in this type of conversation. Channel linking is only available on conversations of type personal.
  • A multi-party conversation may only have a maximum of 10 participants at a time.
  • The Sunshine Conversations platform does not provide role-based access or permissions models for conversation participants. At the moment, all users have the same level of permissions in terms of which conversations they can be added to, and what types of actions they can perform in those conversations. Note however that conversation membership is managed entirely by the integrator on the server-side; a user does not have the ability to join group conversations themselves and they can be removed from conversations at any time.
  • Payment request buttons using the Stripe Connect integration are not supported in multi-party conversations. Buttons of this type will be rejected at the API level.

Multiple conversations per user

  • Conversation history is not separated across different SDK integrations. This means that if a user in your system can fulfill multiple roles (ex: a user is both a buyer and a seller in your marketplace), they will see the same set of conversations in both instances. If this situation is possible in your use case, consider creating separate users representing each role in order to ensure proper segmentation of the data.

Multiple instances of a channel

  • The Sunshine Conversations platform does not automatically track a user across multiple integrations at the moment. This means that if the same end-user messages WhatsApp integrations X and Y, for example, that user will be represented as two separate users (even though the ID on WhatsApp is the same). The merge user API may be used to manually consolidate redundant users on demand, if required.
  • When offering a user to connect another channel from Web messenger, it’s only possible to offer linking to a single, specific channel integration of each type (for example, even if you connected 2 Facebook pages, only one can be offered for linking). By default, the first created instance of each type will be offered, but this can be customized using the Web Messenger integration API (see integrationOrder).