Newer Version Available

This content describes an older version of this product. View Latest

MessagingChannel

Represents the metadata associated with an Embedded Service Messaging channel.

Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.

Important

Parent Type

This type extends the Metadata metadata type and inherits its fullName field.

File Suffix and Directory Location

MessagingChannel components have the suffix messagingChannel and are stored in the messagingChannels folder.

Version

MessagingChannel components are available in API version 55.0 and later.

Special Access Rules

This type is available if your org has the “Configure Messaging” and “View Setup and Configuration” permissions for Messaging enabled.

Fields

Field Name Description
automatedResponses
Field Type
MessagingAutoResponse[]
Description
The auto-responses associated with the messaging channel.
customParameters
Field Type
MessagingChannelCustomParameter[]
Description
The custom parameters associated with the messaging channel.
description
Field Type
string
Description
The channel description.
embeddedConfig
Field Type
EmbeddedConfig[]
Description
The settings associated with the messaging channel.
masterLabel
Field Type
string
Description

Required. The channel label.

messagingChannelType
Field Type
MessagingChannelType (enumeration of type string)
Description

Required. Values are:

  • Custom—Bring Your Own Channel for Messaging or Bring Your Own Channel for CCaaS. Available in API version 61.0 and later.
  • EmbeddedMessaging
  • Voice—Service Cloud Voice. Available in API version 58.0 and later.
Third-party Messaging channels in Salesforce, such as WhatsApp and Facebook Messenger, don’t use this metadata type.
messagingKeywords
Field Type
MessagingKeyword[]
Description
Keywords associated with the messaging channel.
sessionHandlerFlow
Field Type
string
Description
The Omni-Channel flow used to route the channel’s messaging sessions.
sessionHandlerQueue
Field Type
string
Description

Required. The queue used to route messages. If a sessionHandlerFlow is also selected, sessionHandlerQueue is the fallback queue used if a message can’t be routed using the selected flow.

sessionHandlerType
Field Type
MessagingSessionHandlerType (enumeration of type string)
Description

Required. The method used to route messages in the channel. Values are:

  • Flow
  • Queue
standardParameters
Field Type
MessagingChannelStandardParameter[]
Description
Parameters added to the messaging channel.

EmbeddedConfig

Represents settings specific to an embedded messaging channel.

Field Name Description
isEstimatedWaitTimeEnabled
Field Type
Boolean
Description
Indicates whether estimated wait time is enabled. The default value is false.
authMode
Field Type
EmbeddedServiceAuthModeType (enumeration of type string)
Description
Required. Auth/UnAuth Mode Types For Embedded Chat. Valid values are:
  • Auth
  • UnAuth
verifiedUserJwtExpirationTime
Field Type
Integer
Description
If authMode is set to true, this value represents the JWT expiry value in minutes.
anonymousUserJwtExpirationTime
Field Type
Integer
Description
If authMode is set to false, this value represents the JWT expiry value in minutes.
isAttachmentUploadEnabled
Field Type
Boolean
Description
Indicates whether inbound file attachments are allowed. The default value is false.
isSaveTranscriptEnabled
Field Type
Boolean
Description
Indicates whether transcripts can be downloaded. The default value is false.
messagingAuthorizations
Field Type
MessagingAuthorization
Description
Represents authorization settings specific to a given MessagingChannel.

MessagingAuthorization

This junction entity stores the messaging channel authorization for a Messaging Channel (Embedded Messaging Channel). On this entity, we configure different authorization methods supported by the Messaging for In-App and Web `(Embedded Messaging) channel. This entity is available in API version 62.0 or later.
Field Name Description
authIdentifier
Field Type
String
Description
Required. Represents an identifier for the MessagingAuthorization entity. The value must begin with a letter. Only alphanumeric characters and _ are allowed.
authProviderName
Field Type
String
Description
This field should never be set. Although this field is exposed, it isn't supported. The field represents the name of the AuthProvider that’s referenced in the MessagingAuthorization. It’s a required field if authorizationType is set to AuthProvider.
authorizationType
Field Type
MessagingAuthorizationType (enumeration of type string)
Description
Required. Indicates whether MessagingAuthorization has been configured to reference a PublicKeyCertificateSet or an AuthProvider. Valid values are:
  • PublicKeyCertificateSet - Indicates that a PublicKeyCertificateSet is referenced in the MessagingAuthorization entity. This is the only option that will lead to a fully functional User Verification setup.
  • AuthProvider - This option should never be selected. It indicates that an AuthProvider is referenced in the MessagingAuthorization, but we don’t support it.
enabled
Field Type
Boolean
Description
Indicates whether messaging authorization is enabled. Defaults to false.
publicKeyCertificateSetName
Field Type
String
Description
Name of the public key certificate set that's referenced in the MessagingAuthorization entity. This is a required field if authorizationType is set to PublicKeyCertificateSet.

MessagingAutoResponse

Represents an automated response used in a channel.

Field Name Description
autoResponseContentType
Field Type
string
Description
The content type of the auto-response: TextResponse or MessageDefinition.
language
Field Type
string
Description
The language of the auto response.
messageDefinitionName
Field Type
string
Description
The name of the messaging component.
response
Field Type
string
Description
The text of the auto response.
responseTimeoutInMins
Field Type
integer
Description
The number of minutes after which a response can no longer be sent. The value can range from 5 to 60.
type
Field Type
MessagingAutoResponseType (enumeration of type string)
Description
Required. The type of response, which determines when it’s used in a messaging session. Values are:
  • AgentEndEngagementResponse
  • AgentEngagedResponse
  • InitialResponse

MessagingChannelCustomParameter

Represent a custom parameter added to a channel.

Field Name Description
actionParameterMappings
Field Type
MessagingChannelActionParameterMapping[]
Description
The mapping used to map the parameter value to a flow or task.
externalParameterName
Field Type
string
Description
Required. The external name of the parameter.
masterLabel
Field Type
string
Description
Required. The label of the parameter.
maxLength
Field Type
int
Description
The maximum length of the parameter value.
name
Field Type
string
Description
Required. The name of the parameter.
parameterDataType
Field Type
FlowDataType (enumeration of type string)
Description
Required. The format of the parameter. Values are:
  • Apex
  • Boolean
  • Currency
  • Date
  • DateTime
  • Multipicklist
  • Number
  • Picklist
  • SObject
  • String

MessagingChannelActionParameterMapping

Represents a mapping between a parameter and an Omni-Channel flow or agent task.

Field Name Description
actionParameterName
Field Type
string
Description
Required. The name of the flow that the custom or standard parameters are mapped to.

MessagingChannelStandardParameter

Represents a standard parameter used to pass information into a channel.

Field Name Description
actionParameterMappings
Field Type
MessagingChannelActionParameterMapping[]
Description
The mapping associated with the parameter.
externalInteractionId
Field Type
MessagingChannelStandardParameterType (enumeration of type string)
Description
An ID assigned to the external interaction, such as a campaign ID.
externalInteractionName
Field Type
MessagingChannelStandardParameterType (enumeration of type string)
Description
The name of the external interaction, such as a campaign name.
externalInteractionType
Field Type
MessagingChannelStandardParameterType (enumeration of type string)
Description
The type of external interaction, such as MarketingCampaign.
parameterType
Field Type
MessagingChannelStandardParameterType (enumeration of type string)
Description

Required. The type of parameter. Values are:

  • Email
  • FirstName
  • LastName
  • Subject

MessagingKeyword

Represents settings specific to an EmbeddedMessaging MessagingChannel. Available in API version 62 or later.
Field Name Description
keywordType
Field Type
MessagingKeywordType (enumeration of type string)
Description
Required. The type of messaging keyword for the auto response. Valid values are:
  • OptIn
  • DoubleOptIn
  • OptOut
  • Help
  • Custom
language
Field Type
String
Description
Required. The language of the messaging keyword
keyword
Field Type
String
Description
The messaging keyword value.

Declarative Metadata Sample Definition

The following is an example of a MessagingChannel component. This messaging channel passes custom and standard parameters from the messaging channel to a flow, and it routes to a flow with a fallback queue.

1<?xml version="1.0" encoding="UTF-8"?>
2<MessagingChannel xmlns="http://soap.sforce.com/2006/04/metadata">
3    <description>Test in-app messaging channel</description>
4    <masterLabel>TestInAppChannel</masterLabel>
5    <messagingChannelType>EmbeddedMessaging</messagingChannelType>
6    <sessionHandlerQueue>Demo_Queue</sessionHandlerQueue>
7    <sessionHandlerType>Queue</sessionHandlerType>
8    <embeddedConfig>
9        <authMode>Auth</authMode>
10        <isAttachmentUploadEnabled>true</isAttachmentUploadEnabled>
11        <isSaveTranscriptEnabled>false</isSaveTranscriptEnabled>
12        <isEstimatedWaitTimeEnabled>false</isEstimatedWaitTimeEnabled>
13        <verifiedUserJwtExpirationTime>360</verifiedUserJwtExpirationTime>
14        <messagingAuthorizations>
15            <authorizationType>PublicKeyCertificateSet</authorizationType>
16            <authProviderName></authProviderName>
17            <publicKeyCertificateSetName>pcks1</publicKeyCertificateSetName>
18            <enabled>false</enabled>
19            <authIdentifier>auth_identifier_one</authIdentifier>
20        </messagingAuthorizations>
21    </embeddedConfig>
22    <automatedResponses>
23        <autoResponseContentType>MessageDefinition</autoResponseContentType>
24        <messageDefinitionName>Sample</messageDefinitionName>
25        <type>EndUserInactiveResponse</type>
26        <responseTimeoutInMins>10</responseTimeoutInMins>
27    </automatedResponses>
28    <automatedResponses>
29        <autoResponseContentType>MessageDefinition</autoResponseContentType>
30        <messageDefinitionName>Sample</messageDefinitionName>
31        <type>InitialResponse</type>
32    </automatedResponses>
33    <automatedResponses>
34        <autoResponseContentType>MessageDefinition</autoResponseContentType>
35        <messageDefinitionName>Sample</messageDefinitionName>
36        <type>AgentEndEngagementResponse</type>
37    </automatedResponses>
38    <automatedResponses>
39        <autoResponseContentType>MessageDefinition</autoResponseContentType>
40        <messageDefinitionName>Sample</messageDefinitionName>
41        <type>AgentEngagedResponse</type>
42    </automatedResponses>
43    <automatedResponses>
44        <autoResponseContentType>TextResponse</autoResponseContentType>
45        <language>en_US</language>
46        <response>You've opted out of receiving messages from us, so we won't contact you again.</response>
47        <type>OptOutConfirmation</type>
48    </automatedResponses>
49    <automatedResponses>
50        <autoResponseContentType>TextResponse</autoResponseContentType>
51        <language>en_US</language>
52        <response>Custom response1</response>
53        <type>CustomResponse</type>
54    </automatedResponses>
55    <automatedResponses>
56        <autoResponseContentType>TextResponse</autoResponseContentType>
57        <language>en_US</language>
58        <response>Opt In Confirmation response</response>
59        <type>OptInConfirmation</type>
60    </automatedResponses>
61    <automatedResponses>
62        <autoResponseContentType>TextResponse</autoResponseContentType>
63        <language>en_US</language>
64        <response>Text STOP to opt out of further messages.</response>
65        <type>HelpResponse</type>
66    </automatedResponses>
67    <messagingKeywords>
68        <keyword>stopall</keyword>
69        <keyword>cancel</keyword>
70        <keyword>stop</keyword>
71        <keyword>unsubscribe</keyword>
72        <keyword>end</keyword>
73        <keyword>quit</keyword>
74        <keywordType>OptOut</keywordType>
75        <language>en_US</language>
76    </messagingKeywords>
77    <messagingKeywords>
78        <keyword>help</keyword>
79        <keywordType>Help</keywordType>
80        <language>en_US</language>
81    </messagingKeywords>
82    <messagingKeywords>
83        <keyword>customkeyword1</keyword>
84        <keywordType>Custom</keywordType>
85        <language>en_US</language>
86    </messagingKeywords>
87    <messagingKeywords>
88        <keyword>OptInkeyword1</keyword>
89        <keywordType>OptIn</keywordType>
90        <language>en_US</language>
91    </messagingKeywords>
92</MessagingChannel>

If you route the messaging channel to a queue, there’s no fallback flow.

1<?xml version="1.0" encoding="UTF-8"?>
2<MessagingChannel xmlns="http://soap.sforce.com/2006/04/metadata">
3    <masterLabel>EmbeddedChannel2</masterLabel>
4    <messagingChannelType>EmbeddedMessaging</messagingChannelType>
5    <sessionHandlerQueue>DemoQueueName</sessionHandlerQueue>
6    <sessionHandlerType>Queue</sessionHandlerType>
7</MessagingChannel>

The following is an example package.xml that references the previous definition.

1<?xml version="1.0" encoding="UTF-8"?>
2<Package xmlns="http://soap.sforce.com/2006/04/metadata">
3    <types>
4        <members>*</members>
5        <name>MessagingChannel</name>
6    </types>
7    <version>55.0</version>
8</Package>

Wildcard Support in the Manifest File

This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the manifest file, see Deploying and Retrieving Metadata with the Zip File.