---
schema_version: "1"
id: f2bca425709dd1f8c524a5ee064df6b8779b26abb1997b1c1f6b54f9eb6f49ef
title: Create Your Own Messaging Provider Integration for Bring Your Own Channel for Messaging
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/service-cloud/messaging-partner/guides/create-your-own-integration.md
canonical_url: https://developer.salesforce.com/docs/service/messaging-partner/guide/create-your-own-integration.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: 98f384db002bbf861f79d76200453da098ce1c701acc2d1b1d33c72c74b49d76
products:
  - Bring Your Own Channel for Messaging
  - Service Cloud Developer Content
---
# Create Your Own Messaging Provider Integration for Bring Your Own Channel for Messaging

As a Salesforce admin, one way to set up Bring Your Own Channel for Messaging is by installing a managed package from your preferred partner from AppExchange. You can also work with a developer to create your own Messaging provider integration instead.

**important:** This topic is for developers who are creating an integration that is not meant for distribution on AppExchange. To create an integration packaged for AppExchange instead, see [Enable Bring Your Own Channel for Messaging](https://developer.salesforce.com/docs/service/messaging-partner/guide/messaging-partner-setup.md). To set up Bring Your Own Channel for Messaging as an admin, see the [Salesforce Help](https://help.salesforce.com/s/articleView?id=service.partner_messaging_intro.htm).

To make your own integration for Bring Your Own Channel for Messaging work, get an access token, create a custom platform event, and add a Conversation Channel Definition record. Then set up a Bring Your Own Channel Messaging channel using those items. Create a connected app that connects your preferred Messaging provider to Salesforce Interaction Service using OAuth and associate it to your Messaging channel.

1. [Prepare your environment](https://developer.salesforce.com/docs/service/messaging-partner/guide/introduction.md) for self-implementing Bring Your Own Channel for Messaging.
2. [Generate an access token](https://developer.salesforce.com/docs/service/messaging-partner/guide/generate-token.md) for authenticating requests to Interaction Service API.
3. [Create and configure a custom platform event](https://developer.salesforce.com/docs/service/messaging-partner/guide/create-platform-event.md) to send and receive messages between Salesforce and the Messaging provider system.
4. [Create a Conversation Channel Definition](https://developer.salesforce.com/docs/service/messaging-partner/guide/create-conversationchanneldefinition-record.md) record to bundle the metadata used for your Bring Your Own Channel for Messaging integration.
   - Set `connectedAppType` to `Customer` to indicate that you’re creating the connected app instead of the Messaging partner. See step 7 for more details.
   - Don’t include the `conversationVendorInfo` field. It isn’t valid for this type of self-implementation.
5. Prepare [your reps](https://help.salesforce.com/s/articleView?id=service.partner_messaging_prepare_users.htm) and [your Salesforce org](https://help.salesforce.com/s/articleView?id=service.partner_messaging_prepare_org.htm) to use Bring Your Own Channel for Messaging.
6. Create a Bring Your Own Channel Messaging channel.
   1. From **Setup**, in the Quick Find box, enter `Messaging Settings`, and then select **Messaging Settings**.
   2. Click **New Channel**.
   3. Select the Conversation Channel Definition tile that shows the Conversation Channel Definition that you made in step 4. Click **Next**.
   4. Give your Bring Your Own Channel messaging channel a name.
   5. Click anywhere to populate the Developer Name field.
   6. Save your changes.
   7. Under Omni-Channel Routing, click **Edit**.
   8. Select **Omni-Flow** as the Routing Type.
   9. In the Flow Definition field, select the name of the flow that you created previously.
   10. Save your changes.
7. Set up and configure an OAuth app for integrating your preferred Messaging provider with Salesforce Interaction Service API. Follow the instructions in the _Configure an External Client App for OAuth Integration_ section of this [Salesforce help article](https://help.salesforce.com/s/articleView?id=service.partner_messaging_install.htm) to create an external client app (ECA) and associate it with your Conversation Channel Definition within the Messaging Settings.

   **tip:** Don’t edit the `ConnectedAppOauthLink` value within the Conversation Channel Definition object directly. The value is system-generated when you make a selection in the Messaging Settings.

8. Activate your Messaging channel.
   1. From **Setup**, enter Messaging Settings, and then select **Messaging Settings**.
   2. Select the channel that you created.
   3. Click **Activate**.
9. After you complete these steps, ​​[set up the demo connector](https://developer.salesforce.com/docs/service/messaging-partner/guide/set-up-demo-connector.md) to see an example integration. The demo connector shows you how to send requests to the Interaction Service API for inbound messages to a rep. For outbound messages from a rep to an end user, it shows how you can implement server-side middleware for outbound events.

   **note:** The demo connector is intended as a reference example only. You must create your own connector for your integration.

10. For outbound integrations, see the [Pub/Sub API Developer Guide](https://developer.salesforce.com/docs/platform/pub-sub-api/guide/intro.html) for information about subscribing to custom platform events. See our [outbound events reference](https://developer.salesforce.com/docs/service/messaging-partner/guide/docs/service/messaging-partner/references/outbound-event-reference/outbound-event-reference.html) for information about important events to consume.
11. When you’re ready, [test Interaction Service APIs](https://developer.salesforce.com/docs/service/messaging-partner/guide/test-apis.md).
