---
schema_version: "1"
id: 8e16152b7f122a7c9d04409bcb04c36278ff729bea5fbbdada7838b78a5c3376
title: Add Multiple Participants to a Messaging Conference
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/service-cloud/messaging-byoc-ccaas/guides/conference.md
canonical_url: https://developer.salesforce.com/docs/service/messaging-byoc-ccaas/guide/conference.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: 59822f04e42fcd5c203d24a947f8455a8d8d6f91a05f1ecabbff41d20bf17f94
products:
  - Bring Your Own Channel for CCaaS
  - Service Cloud Developer Content
---
# Add Multiple Participants to a Messaging Conference

With Conferencing for Bring Your Own Channel for CCaaS, a rep adds one or more additional reps to an ongoing Messaging session to help resolve customer concerns. They can directly add a new rep, add a rep by adding a queue, or add a rep by initiating an Omni-Channel flow. Adding a rep provides a warm transfer, where information is passed between reps before one rep leaves the session. Or multiple reps can stay in the session with the messaging end user. These instructions are for implementations with partner-owned routing (`ConversationChannelDefinition.routingOwner` is `Partner`). If Salesforce controls routing, no implementation is necessary.

**note:** Bring Your Own Channel for CCaaS doesn’t support conferencing with external contacts. Reps can only have a conference with other users in the same Salesforce org. Like all enhanced Messaging channel types, Bring Your Own Channel for CCaaS also doesn’t currently support conferencing with AI agents or bots.

1. When you create the ConversationChannelDefinition record, set these fields to support the Conferencing feature.
   - To specify that your integration supports conferencing, set `isConferenceSupported` to `true`.
   - To set your own limit for how many participants can be in a Messaging session conference, set a number value for `MaxParticipantsForCnfrOverride`. This field is needed only if you want to use a different limit instead of the platform limit. If this field isn’t set or is set to a value higher than the Messaging platform limit, the integration defaults to the Messaging platform limit of how many participants can be in a Messaging session conference at one time. See [Service Cloud Messaging Limits and Considerations](https://help.salesforce.com/s/articleView?id=service.livemessage_limitations.htm) for the platform limit.
2. Reps search for contacts to include in the conference in a Start Conference destination list.

   ![Search for a conference destination](https://developer.salesforce.com/docs/media/messaging-byoc-ccaas/messaging_conference_destination_list_reps.png '{"class": "image-sm"}')

   To support this list, modify your connector code for the Service Connector API method [getContacts()](/docs/service/service-connector-api/references/connector-api/service-connector-interface-getcontacts.html) to filter which contacts can be requested for a conference. For [Contact](/docs/service/service-connector-api/references/connector-api/service-connector-objects-contact.html), the `listType` parameter accepts `Transfer`, `Conference`, or `All`. This parameter specifies whether a rep can be listed as a transfer destination, as a contact that can be added to a messaging conference, or both (`All`).

3. Implement your connector to listen for a routing requested event that fires when a rep selects another rep, a queue, or a flow from the Request Conference target list. This event has `routingType` set to `Conference` to signify that this request is for a conference.
4. Perform these Interaction Service API calls in the order listed when the rep clicks on the conferencing target.

   - To start a conference with a flow or queue, call the Route API (`POST /api/v1/route`) with `routingType` set to `Conference`. Don’t call this API for adding a rep to a conference directly.

     - To start a conference using a flow, use this API call to execute the `flowId` provided by the routing requested event. Provide a fallback `queueId` in case the Omni-Channel flow fails. The Omni-Channel flow uses the logic in the flow to route the conversation to a rep or queue. The flow returns the `psrId` with the `userId` (rep) or `queueId` (queue).
     - To start a conference using a queue, specify the `queueId` of the target queue provided by the routing requested event.

   - Call the agentWork API (`POST /api/v1/agentWork`) with `routingType` set to `Conference` to create an AgentWork record when the system finds a rep to add to the work item.
   - Call the routingResult API (`POST /api/v1/routingResult`) with `routingType` set to `Conference` to notify Salesforce whether adding a participant to the Messaging session succeeded or failed.

5. If a rep cancels a conference that they requested, Salesforce sends a RoutingResult event with `CancelReason` set to `Cancel`.
   - If the AgentWork is already created when the rep cancels the conference request, call the Cancel AgentWork API (`PATCH /api/v1/agentWork`).
6. Listen for a work declined event sent through [onAgentWork()](/docs/service/service-connector-api/references/connector-api/service-connector-interface-onagentwork.html) to detect when a rep who’s requested to join a conference declines, and handle declining the work.
7. If a rep that’s requested for a conference doesn’t accept the conference request, call the Cancel AgentWork API (`PATCH /api/v1/agentWork`).
8. If the conferencing request otherwise results in an error, call the Clear Routing API (`DELETE /api/v1/route`) to delete the pending service request (PSR) record. Specify the `cancelReason` as part of the API call.

**See Also**

- _Salesforce Help_: [Add Conferencing to Messaging Sessions](https://help.salesforce.com/s/articleView?id=service.livemessage_agent_conferencing_session.htm)
- _Service Connector API_: [getContacts()](/docs/service/service-connector-api/references/connector-api/service-connector-interface-getcontacts.html)
- _Service Connector API_: [Contact](/docs/service/service-connector-api/references/connector-api/service-connector-objects-contact.html)
- [Interaction Service API](https://developer.salesforce.com/docs/service/interaction-service-api/overview)
- _GitHub_: [Interaction Service APIs](https://github.com/salesforce-misc/interaction-service-apis)
