Difference between revisions of "Chatbot engine extensions"

From PegaWiki
Chatbot engine extensions
Jump to navigation Jump to search
m (WIP)
Tag: Visual edit
(Almost done.)
Tag: Visual edit
Line 312: Line 312:
 
|Use this extension to setup channel specific external user id property.
 
|Use this extension to setup channel specific external user id property.
 
|Chatbot engine Send API extension point that is used to setup channel specific property of an external user id. The system uses this extension in the pxInvokeChannelCommand API
 
|Chatbot engine Send API extension point that is used to setup channel specific property of an external user id. The system uses this extension in the pxInvokeChannelCommand API
 +
|8.6
 +
|}
 +
 +
=== Autogenerated operators management ===
 +
{| class="wikitable"
 +
!Applies To
 +
!Name
 +
!Label
 +
!Type
 +
!Ruleset
 +
!Usage
 +
!Description
 +
!Version
 +
|-
 +
|Data-Channel-Authentication
 +
|pyPostPopulateOperator
 +
|Post populate operator
 +
|Activity
 +
|Pega-ProcessEngine
 +
|Use this extension to populate additional properties for an autogenerated operator.
 +
|Chatbot engine autogenerated operators management extension point. The system triggers this extension when you create a new autogenerated operator right before a save.
 +
|8.6
 +
|-
 +
|Data-Channel-Configuration
 +
|pyBeforeDeleteChannelUser
 +
|Before delete channel user
 +
|Activity
 +
|Pega-ProcessEngine
 +
|Use this extension to perform additional cleaning when deleting user mapping for the channel.
 +
|Chatbot engine autogenerated operators management extension point. The system triggers this extension before you remove an autogenerated channel user mapping.
 +
|8.6
 +
|-
 +
|Data-Channel-Configuration
 +
|pyKeepAutogeneratedOperators
 +
|Keep autogenerated operators
 +
|When
 +
|Pega-ProcessEngine
 +
|Change this when rule to true when you need to override the default behavior for deleting inactive or orphan autogenerated operators.
 +
|Chatbot engine autogenerated operators management extension point. Use this when rule to indicate if you need to remove an autogenerated operator. When the rule is set to true, the system sets the pzMCPKeepAutogenerated property to true in an autogenerated operator for the Data-Admin-Operator-ID class.
 +
The system does not remove operators for which the pzMCPKeepAutogenerated property is set to true in the following situations:
 +
- when you exceed the inactivity threshold
 +
- when you remove the channel
 +
- when the system detects the operator as an orphan (no entry for Data-Channel-User, or entry to a channel that does not exist)
 +
|8.6
 +
|}
 +
 +
=== Channel configuration design time ===
 +
{| class="wikitable"
 +
!Applies To
 +
!Name
 +
!Label
 +
!Type
 +
!Ruleset
 +
!Usage
 +
!Description
 +
!Version
 +
|-
 +
|Data-Channel-Configuration
 +
|pyAdditionalAuthenticationOptions
 +
|Additional authentication options
 +
|Section
 +
|Pega-ProcessEngine
 +
|Use this section to describe the channel specific parameters of the authentication process.
 +
|Chatbot engine channel configuration design time extension point.
 +
The system displays this section on the Behavior tab below "Authentication timeout."
 +
|8.6
 +
|-
 +
|Data-Channel-Configuration
 +
|pyChannelBehaviourExtension
 +
|Channel behaviour extension
 +
|Section
 +
|Pega-ProcessEngine
 +
|Use this section to describe the channel specific behavior parameters.
 +
|Chatbot engine channel configuration design time extension point. The system displays this section on the Behavior tab, in the Option panel below "Enable authentication timeout."
 +
|8.6
 +
|-
 +
|Data-Channel-Configuration
 +
|pyChannelConfigurationExtension
 +
|Channel configuration extension
 +
|Section
 +
|Pega-ProcessEngine
 +
|Use this section to configure the channel specific connection properties and settings.
 +
|Chatbot engine channel configuration design time extension point. The system displays this section on the Connection tab below "Template operator ID."
 +
|8.6
 +
|-
 +
|Data-Channel-Configuration
 +
|pyChannelResponsesExtension
 +
|Channel responses extension
 +
|Section
 +
|Pega-ProcessEngine
 +
|Use this section to describe the channel specific configuration that you specify on the Configuration tab.
 +
|Chatbot engine channel configuration design time extension point. The system displays this section on the Configuration tab at the bottom of the page.
 +
|8.6
 +
|-
 +
|Data-Channel-Configuration
 +
|pyCustomTabContent
 +
|Custom tab content
 +
|Section
 +
|Pega-ProcessEngine
 +
|Use this section to handle custom channel configuration.
 +
|Chatbot engine channel configuration design time extension point. Use this extension for custom channel configuration.
 +
|8.6
 +
|-
 +
|Data-Channel-Configuration
 +
|pyIsAvailable
 +
|Is channel available
 +
|When
 +
|Pega-ProcessEngine
 +
|Use this when rule to make the conversational channel available on the landing page.
 +
To hide the predefined channels (Facebook, Alexa, and SMS), you must implement the when rule in Pega-Landing-AppView-MCP.pyIsAvailable, as this will only hide instances and lock the icon that is displayed on the landing page.
 +
|Chatbot engine channel configuration design time extension point. Setting this when rule to true makes the conversational channel available on the landing page.
 +
|8.6
 +
|-
 +
|Pega-Landing-AppView-MCP
 +
|pyIsAvailable
 +
|Is tile available
 +
|When
 +
|Pega-EndUserUI
 +
|Use this when rule to make the conversational channel available on landing page.
 +
|Chatbot engine channel configuration design time extension point. Setting this when rule to true makes the channel available on the landing page.
 +
|8.6
 +
|-
 +
|Data-Channel-Configuration
 +
|pyOnLoad
 +
|On load
 +
|Activity
 +
|Pega-ProcessEngine
 +
|Use this extension for additional configuration of the channel, or, to repair legacy configurations, populate data when the configuration model was changed. Use pyOnLoadExtension.
 +
|Chatbot engine channel configuration design time extension point. The system triggers this extension when you open the channel.
 +
|8.6
 +
|-
 +
|Data-Channel-Configuration
 +
|pyOnLoadExtension
 +
|On load extension
 +
|Activity
 +
|Pega-ProcessEngine
 +
|Use this extension for  additional configuration of channel, or, to repair legacy configurations,  populate data when the configuration model was changed.
 +
|Chatbot engine channel configuration design time extension point. The system triggers this extension when you open the channel.
 +
|8.6
 +
|-
 +
|Data-Channel-Configuration
 +
|pyOnTileLoad
 +
|On tile load
 +
|Activity
 +
|Pega-ProcessEngine
 +
|Use this extension to load additional data when the tile is displayed.
 +
|Chatbot engine channel configuration design time extension point. The system triggers this extension in order to populate the necessary information on the "Channel and interfaces" landing page for a particular channel.
 +
|8.6
 +
|-
 +
|Data-Channel-Configuration
 +
|pyShouldChannelBeLoaded
 +
|Should channel be loaded
 +
|When
 +
|Pega-ProcessEngine
 +
|Set this when rule to true to make the preview console available in the channel configuration.
 +
|Chatbot engine channel configuration design time extension point. This when rule specifies whether the system loads the preview console in the channel configuration.
 +
|8.6
 +
|-
 +
|Data-Channel-Configuration
 +
|pzChannelConfigTileExpress
 +
|Channel config tile
 +
|Section
 +
|Pega-ProcessEngine
 +
|Use this section to customize the channel tile on the "channels and interfaces" landing page
 +
|Chatbot engine channel configuration design time extension point. The section specifies the default tile in the configuration of the conversational channel
 +
on "channels and interfaces" landing page.
 +
The section contains a title, description, list of create case responses, and list of responses.
 +
|8.6
 +
|-
 +
|Pega-Landing-AppView-MCP
 +
|pyTileSubtitle
 +
|Channel config tile subtitle
 +
|Section
 +
|Pega-EndUserUI
 +
|Use this section to customize the channel tile on the "channels and interfaces" landing page.
 +
|Chatbot engine channel configuration design time extension point. The section is part of the "Channel and Interface" tile that is displayed below the channel title and before the channel description.
 +
Default value is empty.
 +
|8.6
 +
|}
 +
 +
=== Channel configuration management ===
 +
{| class="wikitable"
 +
!Applies To
 +
!Name
 +
!Label
 +
!Type
 +
!Ruleset
 +
!Usage
 +
!Description
 +
!Version
 +
|-
 +
|Data-Channel-Configuration
 +
|pyCleanUpProperties
 +
|Clean up properties list
 +
|Activity
 +
|Pega-ProcessEngine
 +
|The system returns the result for this extension in the resultPage Code-Pega-List of Embed-CustomProperties where the system populates pyPropertyName.
 +
|Chatbot engine channel configuration management extension point. This extension specifies a list of properties to clean up during the process of copying the channel configuration.
 +
|8.6
 +
|-
 +
|Data-Channel-Configuration
 +
|pyNonOverridableProperties
 +
|Non overridable proeprties list
 +
|Activity
 +
|Pega-ProcessEngine
 +
|The system returns the result for this extension in the resultPage Code-Pega-List of Embed-CustomProperties where the system populates pyPropertyName.
 +
|Chatbot engine channel configuration management extension point. This extension specifies a list of properties that the system cannot override during the process of copying the channel configuration.
 +
|8.6
 +
|-
 +
|Data-Channel-Configuration
 +
|pyGenerateNlpAnalyzer
 +
|Generate NLP analyzer
 +
|When
 +
|Pega-ProcessEngine
 +
|Set this when rule to false to indicate that the channel does not need to perform NLP text analysis.
 +
|Chatbot engine channel configuration management extension point. When the when rule is set to true, the system creates the NLP text analyzer configuration for new channel instance.efault is true.
 +
|8.6
 +
|-
 +
|Data-Channel-Configuration
 +
|pyGenerateSimpleTextAnalyzers
 +
|Generate simple text analyzers
 +
|Data Transform
 +
|Pega-ProcessEngine
 +
|The system calls the data transform when the system creates a new conversational channelas a part of pyInitializeNew.
 +
Override this data transform when you need to create a different list of input text analyzers by default, when the system creates a new channel.
 +
|Chatbot engine channel configuration management extension point. This data trasnform generates a default list of input text analyzers.
 +
The order you define in the list indicates the order in which the system launches the analyzers.
 +
The following is a list of default analyzers:
 +
1) Exact match
 +
2) iNLP
 +
You can disable NLP Generation by changing the pyGenerateNlpAnalyzer when rule in the Application ruleset.
 +
|8.6
 +
|-
 +
|Data-Channel-Configuration
 +
|pyHasChannelId
 +
|Has channel Id
 +
|When
 +
|Pega-ProcessEngine
 +
|Set the when rule to false if the system does not use pyChannelId for identification of an external channel identifier.
 +
|Chatbot engine channel configuration management extension point. This when rule indicates whether the channel uses an external identifier that is stored in pyChannelId.
 +
|8.6
 +
|-
 +
|Data-Channel-Configuration
 +
|pyInitializeNew
 +
|Initialize new channel
 +
|Data Transform
 +
|Pega-ProcessEngine
 +
|Use this data transform when you need to do additional initialization when the system creates a new channel.
 +
|Chatbot engine channel configuration management extension point. The system calls the data transform when the system creates a new conversational channel.
 +
Initialization and population of default values for channel properties.
 +
By default, the system creates the NLP text analyzer from template and generates a list of input text analyzers (Exact match and iNLP).
 +
You can disable the generation of NLP Text Analyzer by changing the pyGenerateNlpAnalyzer when rule in the Application ruleset.
 +
|8.6
 +
|-
 +
|Data-Channel-Configuration
 +
|pyIsAuthenticationSupported
 +
|Is authentication supported
 +
|When
 +
|Pega-ProcessEngine
 +
|Override this when rule for each channel type that supports authentication as a required feature for responses.
 +
|Chatbot engine channel configuration management extension point. This when rule enables or disables the authentication functionality in the channel.
 +
Default value is false.
 +
|8.6
 +
|-
 +
|Data-Channel-Configuration
 +
|pyIsConversationalChannel
 +
|Is conversational channel
 +
|When
 +
|Pega-ProcessEngine
 +
|Override this when rule when the system creates a new channel type in the Data-Channel-Configuration class hierarchy that does not follow chatbot architecture and is not conversational type.
 +
|Chatbot engine channel configuration management extension point. This when rule indicates whether the channel is conversational or not. The default value is true.
 +
|8.6
 +
|-
 +
|Data-Channel-Configuration
 +
|pyIsTextAnalysisFeedbackAvailable
 +
|Is auto NLP feedback available
 +
|When
 +
|Pega-ProcessEngine
 +
|Override this when rule to disable data feedback for training data.
 +
|Chatbot engine channel configuration management extension point. This when rule indicates whether automatic feedback is enabled or disabled. The default value is true if you defined the NLP Generated text analyzer in the channel and you enabled the "Enable model training" check box, otherwise the value is false.
 +
|8.6
 +
|-
 +
|Data-Channel-Configuration
 +
|pyOnCopyExtension
 +
|On copy extension
 +
|Activity
 +
|Pega-ProcessEngine
 +
|Use this extension to perform a custom action on a channel copy.
 +
|Chatbot engine channel configuration management extension point. The system triggers this extension after copying channel configuration in the context of a new channel.
 +
|8.6
 +
|-
 +
|Data-Channel-Configuration
 +
|pyOnDeleteExtension
 +
|On delete extension
 +
|Activity
 +
|Pega-ProcessEngine
 +
|Use this extension to perform a custom action on a channel delete.
 +
|Chatbot engine channel configuration management extension point. The system triggers this extension before deleting the channel configuration.
 +
|8.6
 +
|-
 +
|Data-Channel-Configuration
 +
|pyOnNewChannelSave
 +
|On new channel save
 +
|Activity
 +
|Pega-ProcessEngine
 +
|Use this extension to add channel specific configuration for a new created channel.
 +
|Chatbot engine channel configuration management extension point. The system triggers this extension when the system saves a new channel just after the generation of botId.
 +
|8.6
 +
|-
 +
|Data-Channel-Configuration
 +
|pyOnSaveExtension
 +
|On save extension
 +
|Activity
 +
|Pega-ProcessEngine
 +
|Use this extension to perform a custom action before a channel save.
 +
|Chatbot engine channel configuration management extension point. The system triggers this extension before saving the channel configuration.
 +
|8.6
 +
|-
 +
|Data-Channel-Configuration
 +
|pyPostSave
 +
|Post save
 +
|Activity
 +
|Pega-ProcessEngine
 +
|Use this extension when you need to send information from the channel configuration to the integrated remote application or channel.
 +
|Chatbot engine channel configuration management extension point. The system triggers this extension after the system saves the channel configuration.
 +
|8.6
 +
|-
 +
|Data-Channel-Configuration
 +
|pyPreCopy
 +
|Pre copy
 +
|Activity
 +
|Pega-ProcessEngine
 +
|Use this extension to specify channel specific actions before the system copies the channel. The "ChannelConfig" clipboard page references source channel properties.
 +
|Chatbot engine channel configuration management extension point. The system triggers this extesnion before the system copies the channel.
 +
|8.6
 +
|-
 +
|Data-Channel-Configuration
 +
|pySetHelpIDs
 +
|Set help Ids
 +
|Data Transform
 +
|Pega-ProcessEngine
 +
|Use this extension to poplulate help information, as you distribute the conversational channels as components (Facebook, SMS).
 +
|Chatbot engine channel configuration management extension point. The system triggers thie extension when the system creates a new conversational channel.
 +
Populate ids of help. Default values are empty.
 +
|8.6
 +
|-
 +
|Data-Channel-Configuration
 +
|pyValidate
 +
|Validate
 +
|Activity
 +
|Pega-ProcessEngine
 +
|Use this extension to perform validation of additional properties that are specified for a particular channel.
 +
|Chatbot engine channel configuration management extension point. The system triggers this extension before the system saves the channel configuration.
 +
Any message that the system assigns to the channel configuration clipboard page means that the system does not save the configuration.
 +
|8.6
 +
|-
 +
|Data-Channel-Configuration-BotAgent
 +
|pySetBaseUrl
 +
|Set base URL
 +
|Data Transform
 +
|Pega-ProcessEngine
 +
|Use this extension d to override MSG API endpoints.
 +
|Chatbot engine UME channel configuration management extension point. This extension sets the base external URLs for communication with the MSG API. The system triggers this extension for every save operation.
 +
|8.6
 +
|-
 +
|Data-Channel-Configuration-BotAgent
 +
|pyPopulateTemplateOperator
 +
|Populate template operator
 +
|Activity
 +
|Pega-ProcessEngine
 +
|Use this extension to populate template operators for new created channel using the channel management API.
 +
|Chatbot engine channel management extension point. Use this extension point to populate template operator or CSR template operator when you call
 +
the create method of the Apollo provisioning REST API.
 +
When the system replaces the page with an operator that exists in the database (pas pzInsKey) then the system does not persists the data in the database.
 
|8.6
 
|8.6
 
|}
 
|}
Line 419: Line 793:
 
|}
 
|}
  
==Process/Steps to achieve objective==
+
==Digital messaging channel==
What do individuals need to know to achieve the outcome? What do individuals need to know to achieve the outcome? Enter the precise steps to guide the user to achieving the desired outcome. Remember to always state where in the software the user must perform an action, before giving the action.  
+
The list of extension points which are available only in Digital messaging channel. The list contains short description and intended usage as each of them is exposed for specific purpose driven by our customers requirements. Please note that extension availability depends on platform version.
 +
 
 +
=== Interaction case processing ===
 +
{| class="wikitable"
 +
!Applies To
 +
!Name
 +
!Label
 +
!Type
 +
!Ruleset
 +
!Usage
 +
!Description
 +
!Version
 +
|-
 +
|Work-Channel-Interaction-BotAgent
 +
|pyBAOnInteractionSync
 +
|On interaction sync
 +
|Activity
 +
|Pega-ProcessEngine
 +
|Use this extension to provide additional logic for every UME synchronization request, for example, notification about a new message and an interaction update.
 +
|Chatbot engine Unified Messaging interaction case processing extension point. The system triggers this extension for every UME sync request right after the system stores the message in an interaction case. The system already persists the interaction case.
 +
|8.6
 +
|-
 +
|Work-Channel-Interaction-BotAgent
 +
|pyOnPublicMessageReceive
 +
|On public message receive
 +
|Activity
 +
|Pega-ProcessEngine
 +
|Use this extension to implement the logic that specifies when the channel receives a new public post, for example, for autoreply or a CSR notification.
 +
|Chatbot engine Unified Messaging interaction case processing extension point. The system triggers this extension for every incoming public message or tweet.
 +
|8.6
 +
|-
 +
|Embed-BotAgent-RequestDetails
 +
|pyAllowPublicPosts
 +
|Allow public posts
 +
|When
 +
|Pega-ProcessEngine
 +
|If set to false, the system skips public post processing.
 +
|Chatbot engine Unified Messaging interaction case processing extension point. Indicates whether the system allows or ignores public posts.
 +
|8.6
 +
|-
 +
|Embed-BotAgent-RequestDetails
 +
|pyOnEvent
 +
|On event
 +
|Activity
 +
|Pega-ProcessEngine
 +
|Use this extension to customize the behavior for specific events.
 +
|Chatbot engine Unified Messaging interaction case processing extension point.
 +
The system triggers this extension for an event coming from messaging layer
 +
The events that the system currently handles are the following: customer_presence, typing_indicator, customer_end_session
 +
|8.6
 +
|}
 +
 
 +
=== Web messaging ===
 +
{| class="wikitable"
 +
!Applies To
 +
!Name
 +
!Label
 +
!Type
 +
!Ruleset
 +
!Usage
 +
!Description
 +
!Version
 +
|-
 +
|Embed-Channel-Transcript
 +
|pyOnTranscriptDownload
 +
|On transcript download
 +
|Activity
 +
|Pega-ProcessEngine
 +
|Use this extension to populate a conversation transcript file. The extension implementation must populate the following properties:
 +
pyContentType - the content type of a transcript file
 +
pyFileName - the file name of a  transcript
 +
pyFileSource - the file content of a transcript as a base64 encoded string
 +
|Chatbot engine chat widget extension point that is used to populate conversation transcript file
 +
|8.6
 +
|-
 +
|Embed-BotAgent-RequestDetails
 +
|pyOnInteractionTransfer
 +
|On interaction transfer
 +
|Activity
 +
|Pega-ProcessEngine
 +
|Use this extension to perform custom operations on interaction cases that you need to close or merge. The available pages are the following:
 +
InteractionToClose -  the interaction case page for a destination channel that you fill out if a user has an open interaction in the destination channel
 +
InteractionToTransfer - the interaction case page form source channel
 +
|Chatbot engine chat widget extension point. The system triggers this extension on first message form new source when the user switches the messaging channel.
 +
|8.6
 +
|}
  
If “How To…” documents exist for specific configuration procedures please link (using the url) to those assets on the community **
+
==API for Unified Messaging Desktop ==
 +
The list of extension points which are available in API exposed for Unified Messaging Desktop. The list contains short description and intended usage as each of them is exposed for specific purpose driven by our customers requirements. Please note that extension availability depends on platform version.
  
==Results==
+
=== Common extensions ===
What do you expect the user to see or be able to do after they complete this design pattern?
+
{| class="wikitable"
 +
!Applies To
 +
!Name
 +
!Label
 +
!Type
 +
!Ruleset
 +
!Usage
 +
!Description
 +
!Version
 +
|-
 +
|Data-DME-API
 +
|pyParseRequest
 +
|Parse UME request
 +
|Activity
 +
|Pega-ProcessEngine
 +
|Use this extension to parse and set custom parameters that provided by the UME custom implementation.
 +
|Chatbot engine UME API extension point. The system triggers this extension to parse the UME request.
 +
|8.6
 +
|}
 +
 
 +
=== User details API ===
 +
{| class="wikitable"
 +
!Applies To
 +
!Name
 +
!Label
 +
!Type
 +
!Ruleset
 +
!Usage
 +
!Description
 +
!Version
 +
|-
 +
|Data-DME-User
 +
|pyPopulateFromOperator
 +
|Populate from operator
 +
|Data Transform
 +
|Pega-ProcessEngine
 +
|Use this data transform to populate additional properties from the Operator record to the API call output.
 +
|Chatbot engine UME User details API extension point. The system triggers this data transform to populate data from the operator record.
 +
|8.6
 +
|-
 +
|Data-DME-User
 +
|pyPopulateResult
 +
|Populate User details result
 +
|Activity
 +
|Pega-ProcessEngine
 +
|Use this extension to customize results that the system returns using the User details API. The default implementation returns data that is taken from the operator.
 +
|Chatbot engine UME User details API extension point. The system triggers this extension to populate the user details API result.
 +
|8.6
 +
|-
 +
|Data-DME-User
 +
|pyPostProcess
 +
|User details post process
 +
|Activity
 +
|Pega-ProcessEngine
 +
|Use this extension to add additional logic to the User details API call.
 +
|Chatbot engine UME User details API extension point. The system triggers this extension for User details API call post-processing.
 +
|8.6
 +
|}
 +
 
 +
=== Last activity API ===
 +
{| class="wikitable"
 +
!Applies To
 +
!Name
 +
!Label
 +
!Type
 +
!Ruleset
 +
!Usage
 +
!Description
 +
!Version
 +
|-
 +
|Data-DME-Case
 +
|pyPopulateFromServiceCase
 +
|Populate from service case
 +
|Data Transform
 +
|Pega-ProcessEngine
 +
|Use this data transform to map additional service case details to the API result.
 +
|Chatbot engine UME Last activity API extension point. Populates processed cases result from the Pega service case details that the system processes in the current interaction.
 +
|8.6
 +
|-
 +
|Data-DME-Case
 +
|pyPopulateServiceCase
 +
|Populate service case
 +
|Activity
 +
|Pega-ProcessEngine
 +
|Use this extension to map additional service case details to the API result.
 +
|Chatbot engine UME Last activity API extension point.  The system triggers this extension to populate processed cases result from the Pega service case details that the system processes in the current interaction.
 +
|8.6
 +
|-
 +
|Data-DME-Interaction
 +
|pyPopulateInteraction
 +
|Populate interaction
 +
|Activity
 +
|Pega-ProcessEngine
 +
|Use this extension to map additional interaction case details to the API result.
 +
|Chatbot engine UME Last activity API extension point. The system triggers this extension to populates the last activity details that are based on the interaction case.
 +
|8.6
 +
|-
 +
|Data-DME-Interactions
 +
|pyPopulateResult
 +
|Populate Last activity result
 +
|Activity
 +
|Pega-ProcessEngine
 +
|Use this extension to customize the results returned by the Last activity API. The default implementation returns data taken from the interaction case and service cases that the system processes as part of it.
 +
|Chatbot engine UME Last activity API extension point. The system triggers this extension to populate the last activity API result.
 +
|8.6
 +
|-
 +
|Data-DME-Interactions
 +
|pyPostProcess
 +
|Last activity post process
 +
|Activity
 +
|Pega-ProcessEngine
 +
|Use this extension to add additional logic to the Last activity API call.
 +
|Chatbot engine UME Last activity API extension point. The system triggers this extension for last activity API call post-processing.
 +
|8.6
 +
|}
 +
 
 +
=== Suggested cases API ===
 +
{| class="wikitable"
 +
!Applies To
 +
!Name
 +
!Label
 +
!Type
 +
!Ruleset
 +
!Usage
 +
!Description
 +
!Version
 +
|-
 +
|Data-DME-SuggestedCases
 +
|pyPopulateFromSuggestion
 +
|Populate from suggestion
 +
|Activity
 +
|Pega-ProcessEngine
 +
|Use this extension to customize  the result that is based on NLP suggestions.
 +
|Chatbot engine UME  Suggested cases API extension point. The system triggers this extension to populate suggested cases based on NLP historical data.
 +
|8.6
 +
|-
 +
|Data-DME-SuggestedCases
 +
|pyPopulateResult
 +
|Populate suggested cases result
 +
|Activity
 +
|Pega-ProcessEngine
 +
|Use this extension to customize the results that the system returns using the Suggested cases API. The default implementation returns cases suggested that are based on the latest three top topics from user interactions.
 +
|Chatbot engine UME  Suggested cases API extension point. The system triggers this extension to populate the Suggested cases API result.
 +
|8.6
 +
|-
 +
|Data-DME-SuggestedCases
 +
|pyPostProcess
 +
|Suggested cases post process
 +
|Activity
 +
|Pega-ProcessEngine
 +
|Use this extension to add additional logic to the Suggested cases API call.
 +
|Chatbot engine UME  Suggested cases API extension point. The system triggers this extension for Suggested cases API call post-processing.
 +
|8.6
 +
|}
 +
 
 +
=== Available cases API ===
 +
{| class="wikitable"
 +
!Applies To
 +
!Name
 +
!Label
 +
!Type
 +
!Ruleset
 +
!Usage
 +
!Description
 +
!Version
 +
|-
 +
|Data-DME-Cases
 +
|pyPopulateResult
 +
|Populate available cases result
 +
|Activity
 +
|Pega-ProcessEngine
 +
|Use this extension to customize results returned by the Availeble cases API. The default implementation returns cases that the system configures, using create case command, in the channel configuration that are not marked as "hide from UME".
 +
|Chatbot engine UME  Available cases API extension point. The system triggers this extension to pPopulate the Available cases API result.
 +
|8.6
 +
|-
 +
|Data-DME-Cases
 +
|pyPostProcess
 +
|Available cases post process
 +
|Activity
 +
|Pega-ProcessEngine
 +
|Use this extension to add additional logic to the Available cases API call.
 +
|Chatbot engine UME  Available cases API extension point. The system triggers this extension for Available cases API call post-processing.
 +
|8.6
 +
|}
 +
 
 +
=== Suggested replies API ===
 +
{| class="wikitable"
 +
!Applies To
 +
!Name
 +
!Label
 +
!Type
 +
!Ruleset
 +
!Usage
 +
!Description
 +
!Version
 +
|-
 +
|Data-DME-Replies
 +
|pyPopulateResult
 +
|Populate suggested cases result
 +
|Activity
 +
|Pega-ProcessEngine
 +
|Use this extension to customize the results that the system returns using the Suggested replies API. The default setting is for the system to do nothing.
 +
|Chatbot engine UME Suggested replies API extension point.  The system triggers this extension to populate the Suggested replies API result.
 +
|8.6
 +
|}
 +
 
 +
=== Suggested phrases API ===
 +
{| class="wikitable"
 +
!Applies To
 +
!Name
 +
!Label
 +
!Type
 +
!Ruleset
 +
!Usage
 +
!Description
 +
!Version
 +
|-
 +
|Data-DME-Phrases
 +
|pyPopulateResult
 +
|Populate phrases result
 +
|Activity
 +
|Pega-ProcessEngine
 +
|Use this extension to customize the results returned by the Phrases API. The default setting is for the system to do nothing.
 +
|Chatbot engine UME Phrases API extension point. The system triggers this extension to populate the phrases API result.
 +
|8.6
 +
|}
 +
 
 +
=== Case mashup API ===
 +
{| class="wikitable"
 +
!Applies To
 +
!Name
 +
!Label
 +
!Type
 +
!Ruleset
 +
!Usage
 +
!Description
 +
!Version
 +
|-
 +
|Data-DME-API
 +
|pySetMashupThreadName
 +
|Set mashup thread name
 +
|Activity
 +
|Pega-ProcessEngine
 +
|Use this extension to set the custom mashup thread name (pyMashupThreadName).
 +
|Chatbot engine UME Case mashup API extension point. The system triggers this extension to set the custom mashup thread name.
 +
|8.6
 +
|-
 +
|Data-DME-API
 +
|pySetCustomMashupParams
 +
|Set custom mashup params
 +
|Activity
 +
|Pega-ProcessEngine
 +
|Use this extension to set the custom mashup snippet parameters.
 +
|Chatbot engine UME Case mashup API extension point. The system triggers this extension to set the custom mashup snippet parameters.
 +
|8.6
 +
|}

Revision as of 11:22, 15 April 2021


Curator Assigned
Request to Publish
Description
Version as of
Application
Capability/Industry Area

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ Please Read Below ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

Enter your content below. Use the basic wiki template that is provided to organize your content. After making your edits, add a summary comment that briefly describes your work, and then click "SAVE". To edit your content later, select the page from your "Watchlist" summary. If you can not find your article, search the design pattern title.

When your content is ready for publishing, next to the "Request to Publish" field above, type "Yes". A Curator then reviews and publishes the content, which might take up to 48 hours.

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ The above text will be removed prior to being published ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

Overview[edit]

Pega Chatbot engine is part of Pega Platform which provides capability to integrate with 3rd party conversational channels like Facebook Messenger, Twitter, SMS, WhatsUp etc. Implementation layers may want to customise some of the default behaviour od add custom actions, for such purpose Chatbot engine exposes multiple extension points to allow developers to meet application requirements and cover specific use cases.

Common extension points[edit]

The list of categorised extension points which are available in platform for each conversational channel. The list contains short description and intended usage as each of them is exposed for specific purpose driven by our customers requirements. Please note that extension availability depends on platform version.

Interaction case processing[edit]

Applies To Name Label Type Ruleset Usage Description Version
Work-Channel-Interaction pyPreProcess Interaction case pre-processing Activity Pega-ProcessEngine Use this extension to perform the processing of application and channel specific inbound messages right before the engine processes input. pyInboundMessage is the only input that the system processes (this input can be empty, for example, in Send API calls). pyInteractionCase is the primary page for this call. Any changes that the system performs on persisted properties are reflected (persisted) in the interaction case after the interaction's processing takes place. Chatbot engine interaction case processing extension point. The system triggers this extension before the chatbot engine's main processing (the beginning of pxProcess), before NLP, and case or command processing in the context of a correctly acquired pyInteractionCase takes place. The system proceses escalation and attachments before this extension. 8.6
Work-Channel-Interaction pyPostProcess Interaction case post-processing Activity Pega-ProcessEngine Use this extension to perform application and channel specific outbound messages processing right after the engine  generates the messages. The chatbot engine generated the pyOutboundMessage page list property as an output from case or command processing. pyInteractionCase is the primary page of this call. Any changes that the system performs on the persisted properties are reflected (persisted) in the interaction case after interaction's processing takes place. Chatbot engine interaction case processing extension point. This system triggers this extension after the chatbot engine's main processing (the end of pxProcess), after attachments, escalation, NLP, and case or command processing, in the context of a correctly acquired pyInteractionCase takes place.  The system updates the history and saves the interaction case after this call. 8.6
Work-Channel-Interaction pyBeforeInteractionSave Before Interaction case save Activity Pega-ProcessEngine Use this extension to apply additional data which requires to be persisted as part of an interaction case. pyInteractionCase is a primary page for this call. Any changes done on the persisted properties are reflected (persisted), in the interaction case right after this call. There is no need to perform an additional save because this can degrade performance.  Note: An interaction case includes properties that the system marks as non-persisted. Chatbot engine interaction case processing extension point. The system triggers this extension after the chatbot engine's main processing (the end of pxProcess), after attachments, escalation, NLP, case or command processing and postprocessing, in the context of correctly acquired pyInteractionCase takes place.  The system triggers the extension right before the system saves an interaction case to the database, the primary page reflects what data will be saved, (an interaction case includes properties that are marked as non-persisted), including actual interaction's history. 8.6
Work-Channel-Interaction pyIgnoreTimeout Ignore interaction timeout When Pega-ProcessEngine Returns 'true' if you need to ignore the case expiration time and extend its life time. When the extension is set to 'false', the system resolves the case after the configured expiration time has passed. The defaul value is 'false'. Chatbot engine interaction case processing extension point. Indicates if a case needs to be resolved when the configured expiration time has passed. The extension allows you to extend the interaction's case lifecycle beyond the specified timeout by ignoring the expiration time. 8.6
Work-Channel-Interaction pyIsEmptyMessageAllowed Is empty message allowed When Pega-ProcessEngine Returns 'true' if the system allows empty messages in the channel and the system did not generate an internal error system message in this case. When set to  'false' the system generates an internal error system response in a case of empty messages (nothing is defined in .pyText). The Message page (from parameter) is the subject for analysis. Chatbot engine interaction case processing extension point. Indicates if the system allows empty messages as an output of chatbot engine processing that does not generate an internal error. 8.6
Work-Channel-Interaction pyOnInteractionClose On interaction case close Activity Pega-ProcessEngine Use this extension to apply additional logic right after the system or a user closes an interaction case, in other words, changes the case status to Resolved. If an interaction case is already closed, performing any additional operation on  the case requires additional a Save. Chatbot engine interaction case processing extension point. The system triggers this extension after the system closes (resolves) an interaction case. This operation can be a result of an API call (pxCloseInteraction), close interaction action, or an expired interactions processing. The extension is triggered right after the case is Resolved. 8.6
Work-Channel-Interaction pyPreserveWorkState Preserve other work state Activity Pega-ProcessEngine Use this extension to preserve (rename or store) any named pages related to the current work object  as the chatbot engine uses Pega standard case processing and related page names like pyWorkPage and newAssignPage. These pages need to be preserved in this activity and restored back in pyRestoreWorkState. Chatbot engine interaction case processing extension point. This extension preserves the clipboard pages that are related to the current business case object while the chatbot engine overrides the standard pages like pyWorkPage and newAssignPage. The extension is triggered before the chatbot engine main processing takes place. 8.6
Work-Channel-Interaction pyRestoreWorkState Restore other work state Activity Pega-ProcessEngine Use this extension to restore the named pages for any current work object because the chatbot engine uses Pega standard case processing and related page names, for example, pyWorkPage and newAssignPage. These pages need to be preserved in pyPreserveWorkState and restored back for this activity. Note: The system calls this activity after the chatbot engine persists pyInteractionCase so that any data populated in this object is not lost. Chatbot engine interaction case processing extension point. This extension restores the clipboard pages related to the business case object that the system preserves in pyPreserveWorkState after the chatbot engine processing takes place. 8.6
Work-Channel-Interaction pyPostAcquireInteraction Post acquire interaction case Activity Pega-ProcessEngine Use this extension to set some additional application specific properties on each acquired interaction. The system calls the activity in the context of the acquired interaction, if the system closes the interaction case during this acquiring call, the old interaction case is available in the pyClosedInteractionCase named page. Chatbot engine interaction case processing extension point. The system triggers this extension after an interaction case is acquired that already exists or was created. Any changes performed in the extension are available in the entire case lifecycle and persisted at the end of the lifecycle. 8.6

Case processing[edit]

Applies To Name Label Type Ruleset Usage Description Version
Work-Channel-Interaction pyGetAssignmentKey Get assignment key Activity Pega-ProcessEngine Use this extension to customize how the system selects an assignment to be processed. If the system returns an empty value, the system will work in a command processing mode. If the system returns a value, the system treats the value as work to perform in the current request. The default implementation uses pyMCPWorklist report definition to select the top assignment (ordered by date) for the current operator in the default work group and selects only the work created in the current interaction. Chatbot engine case processing extension point. This extension selects an assignment key for case which the system needs to process in the current interaction and indicates if there is another assignment for the current request. 8.6
Work-Channel-Interaction pyPostCreateCase Post create case Activity Pega-ProcessEngine Use this extension to fill out a newly created pyWorkPage with additional data, before the system processes the first assignment. Chatbot engine case processing extension point. This extension is triggered right after the system creates a case, as a result of a create case action or a call to the API. 8.6
Work-Channel-Interaction pyPreProcessWork Case assignment pre-processing Activity Pega-ProcessEngine Use this extension when you need additional manipulation on case (pyWorkPage) before the case is processed by the chatbot engine. As best practice, use the Post or Pre processing in the case process itself. Use the Post or Pre processing only if you need to perform manipulation specifically for some channels. Chatbot engine case processing extension point. The system triggers this extension before the system processes the current (returned by pyGetAssignmentCase) case's assignment using the chatbot engine framework. 8.6
Work-Channel-Interaction pyPostProcessWork Case assignment post-processing Activity Pega-ProcessEngine Use this extension when you need additional manipulation on the case (pyWorkPage) right after the system processes the case. As best practice, use the Post or Pre processing in the case process itself. Use the Pre or Post processing only when you need to perform case manipulation specifically for some channels. Chatbot engine case processing extension point. The system triggers this extension after the system processes the current (returned by pyGetAssignmentCase) case's assignment by the chatbot engine framework. 8.6
Work-Channel-Interaction pyEntityMappingPreProcess Entity mapping pre-processing Activity Pega-ProcessEngine Use this extension to modify, verify, or filter .pxEntities list of extracted entities that are available in pyInboundMessage, if it is extracted. Chatbot engine case processing extension point. The system triggers this extension before the system applies entities to the created work item for the inbound message. 8.6
Work-Channel-Interaction pyEntityMappingPostProcess Entity mapping post-processing Activity Pega-ProcessEngine Use this extension to modify or verify the pyWorkPage state after the system applies the values from the extracted entities. Chatbot engine case processing extension point. The system triggers this extension after the system applies entities to created work item for the inbound message. 8.6
Assign-Worklist pyMCPWorklist Chatbot worklist Report Definition Pega-ProcessEngine Use this extension to modify the default mechanism used for obtaining the current assignment during the chatbot engine processing. The first item in list will be processed asthe  current work item. The list may be empty. Chatbot engine case processing extension point. Report definition used in the default implementation of obtaining an assignment to process by the chatbot engine during processing of an interaction. The system uses the report definition in the pyGetAssignmentKey implementation. 8.6

Escalation[edit]

Applies To Name Label Type Ruleset Usage Description Version
Work-Channel-Interaction pyHandleEscalationInput Escalation input handler Activity Pega-ProcessEngine Use this extension to perform specific actions for an application for each incoming input message while in an escalation mode, for example,  CSR notification. Chatbot engine escalation mode extension point. The system triggers this extension for an escalation mode, for every request before the chatbot engine's main processing takes place in the context of a correctly obtained pyInteractionCase. The system processes attachments before the system triggers this extension. 8.6
Work-Channel-Interaction pyOnEscalationStart Escalation start Activity Pega-ProcessEngine Use this extension to perform actions when you enable the escalation mode for the interaction case, for example, spinning off a new CSR session. Chatbot engine escalation mode extension point. The system triggers this extension right after the system enables the escalation mode using an API call (pxStartEscalation). 8.6
Work-Channel-Interaction pyOnEscalationStop Escalation stop Activity Pega-ProcessEngine Use this extension to perform actions when you disable the escalation mode for the interaction case, for example, when closing a CSR session. Chatbot engine escalation mode extension point. The system triggres this extension right after the system disables the escalation mode using an API call (pxStopEscalation). 8.6

Command authentication process[edit]

Applies To Name Label Type Ruleset Usage Description Version
Work-Channel-Interaction pyOnAuthenticationFail On authentication fail Activity Pega-ProcessEngine Use this extension to trigger some actions when user verification fails. Note that the system calls the Authentication-Fail system response automatically. You do not need to call this system response manually. Chatbot engine authentication extension point.  The system triggers this extension at the end of an authentication process for an interaction when the provided user did not pass the custom channel specific verification process (pyVerifyUser). This process does not have anything in common with the standard Pega authentication process. The process only applies to custom channel and application specific authentication and verification mechanism. 8.6
Work-Channel-Interaction pyOnAuthenticationSuccess On authentication success Activity Pega-ProcessEngine Use this extension to trigger actions when the user's verification succeeds. Note that the system calls the Authentication-Success system response automatically. You do not need to call the system response manually. Chatbot engine authentication extension point.  This system triggers this extension at the end of an authentication process for an interaction when the provided user successfully passes the custom channel specific verification process (pyVerifyUser) This process does not have anything in common with the standard Pega authentication process. The process only applies to custom channel and application specific authentication and verification mechanism. 8.6
Work-Channel-Interaction pyStartAuthenticationProcess Start authentication process Activity Pega-ProcessEngine Use this extension to call some channel specific logic that initiates the authentication process. The system calls this extension when the system invokes  a restricted command ("Require authentication" set) and during an "Authenticate" action. Chatbot engine authentication extension point.  The extension starts the channel specific interaction's authentication process, when required. This process does not have anything in commonswith the standard Pega authentication process. The process only applies to the custom channel or application specific authentication an verification mechanism. 8.6
Work-Channel-Interaction pyVerifyUser Verify user Activity Pega-ProcessEngine The system triggers this extension at the beginning of pxAuthenticate and allows you to check the authenticated user against any conditions and also generate an error if something went wrong. In this case, the system does not authenticate the user correctly and the system trigers the authentication-fail system response. You just need to set the error status in this activity. Chatbot engine authentication extension point. This extension verifies the user passed the authentication process as a result of the channel or an application specific interaction. 8.6

Natural language processing[edit]

Applies To Name Label Type Ruleset Usage Description Version
Work-Channel-Interaction pyPopulateIAPIInputContext Populate iAPI input context Activity Pega-ProcessEngine Use this extension to set the context for a custom Pega iNLP call. The system then uses the context to search in the  Interaction history (Decisioning). Chatbot engine NLP extension point. The system triggers this extension when the chatbot engine creates the Decisioning request as part of Pega NLP call. 8.6

Send API[edit]

Applies To Name Label Type Ruleset Usage Description Version
Work-Channel-Interaction pySetUserContext Set user contex Activity Pega-ProcessEngine Use this extension to setup channel specific external user id property. Chatbot engine Send API extension point that is used to setup channel specific property of an external user id. The system uses this extension in the pxInvokeChannelCommand API 8.6

Autogenerated operators management[edit]

Applies To Name Label Type Ruleset Usage Description Version
Data-Channel-Authentication pyPostPopulateOperator Post populate operator Activity Pega-ProcessEngine Use this extension to populate additional properties for an autogenerated operator. Chatbot engine autogenerated operators management extension point. The system triggers this extension when you create a new autogenerated operator right before a save. 8.6
Data-Channel-Configuration pyBeforeDeleteChannelUser Before delete channel user Activity Pega-ProcessEngine Use this extension to perform additional cleaning when deleting user mapping for the channel. Chatbot engine autogenerated operators management extension point. The system triggers this extension before you remove an autogenerated channel user mapping. 8.6
Data-Channel-Configuration pyKeepAutogeneratedOperators Keep autogenerated operators When Pega-ProcessEngine Change this when rule to true when you need to override the default behavior for deleting inactive or orphan autogenerated operators. Chatbot engine autogenerated operators management extension point. Use this when rule to indicate if you need to remove an autogenerated operator. When the rule is set to true, the system sets the pzMCPKeepAutogenerated property to true in an autogenerated operator for the Data-Admin-Operator-ID class.

The system does not remove operators for which the pzMCPKeepAutogenerated property is set to true in the following situations: - when you exceed the inactivity threshold - when you remove the channel - when the system detects the operator as an orphan (no entry for Data-Channel-User, or entry to a channel that does not exist)

8.6

Channel configuration design time[edit]

Applies To Name Label Type Ruleset Usage Description Version
Data-Channel-Configuration pyAdditionalAuthenticationOptions Additional authentication options Section Pega-ProcessEngine Use this section to describe the channel specific parameters of the authentication process. Chatbot engine channel configuration design time extension point.

The system displays this section on the Behavior tab below "Authentication timeout."

8.6
Data-Channel-Configuration pyChannelBehaviourExtension Channel behaviour extension Section Pega-ProcessEngine Use this section to describe the channel specific behavior parameters. Chatbot engine channel configuration design time extension point. The system displays this section on the Behavior tab, in the Option panel below "Enable authentication timeout." 8.6
Data-Channel-Configuration pyChannelConfigurationExtension Channel configuration extension Section Pega-ProcessEngine Use this section to configure the channel specific connection properties and settings. Chatbot engine channel configuration design time extension point. The system displays this section on the Connection tab below "Template operator ID." 8.6
Data-Channel-Configuration pyChannelResponsesExtension Channel responses extension Section Pega-ProcessEngine Use this section to describe the channel specific configuration that you specify on the Configuration tab. Chatbot engine channel configuration design time extension point. The system displays this section on the Configuration tab at the bottom of the page. 8.6
Data-Channel-Configuration pyCustomTabContent Custom tab content Section Pega-ProcessEngine Use this section to handle custom channel configuration. Chatbot engine channel configuration design time extension point. Use this extension for custom channel configuration. 8.6
Data-Channel-Configuration pyIsAvailable Is channel available When Pega-ProcessEngine Use this when rule to make the conversational channel available on the landing page.

To hide the predefined channels (Facebook, Alexa, and SMS), you must implement the when rule in Pega-Landing-AppView-MCP.pyIsAvailable, as this will only hide instances and lock the icon that is displayed on the landing page.

Chatbot engine channel configuration design time extension point. Setting this when rule to true makes the conversational channel available on the landing page. 8.6
Pega-Landing-AppView-MCP pyIsAvailable Is tile available When Pega-EndUserUI Use this when rule to make the conversational channel available on landing page. Chatbot engine channel configuration design time extension point. Setting this when rule to true makes the channel available on the landing page. 8.6
Data-Channel-Configuration pyOnLoad On load Activity Pega-ProcessEngine Use this extension for additional configuration of the channel, or, to repair legacy configurations, populate data when the configuration model was changed. Use pyOnLoadExtension. Chatbot engine channel configuration design time extension point. The system triggers this extension when you open the channel. 8.6
Data-Channel-Configuration pyOnLoadExtension On load extension Activity Pega-ProcessEngine Use this extension for  additional configuration of channel, or, to repair legacy configurations,  populate data when the configuration model was changed. Chatbot engine channel configuration design time extension point. The system triggers this extension when you open the channel. 8.6
Data-Channel-Configuration pyOnTileLoad On tile load Activity Pega-ProcessEngine Use this extension to load additional data when the tile is displayed. Chatbot engine channel configuration design time extension point. The system triggers this extension in order to populate the necessary information on the "Channel and interfaces" landing page for a particular channel. 8.6
Data-Channel-Configuration pyShouldChannelBeLoaded Should channel be loaded When Pega-ProcessEngine Set this when rule to true to make the preview console available in the channel configuration. Chatbot engine channel configuration design time extension point. This when rule specifies whether the system loads the preview console in the channel configuration. 8.6
Data-Channel-Configuration pzChannelConfigTileExpress Channel config tile Section Pega-ProcessEngine Use this section to customize the channel tile on the "channels and interfaces" landing page Chatbot engine channel configuration design time extension point. The section specifies the default tile in the configuration of the conversational channel

on "channels and interfaces" landing page. The section contains a title, description, list of create case responses, and list of responses.

8.6
Pega-Landing-AppView-MCP pyTileSubtitle Channel config tile subtitle Section Pega-EndUserUI Use this section to customize the channel tile on the "channels and interfaces" landing page. Chatbot engine channel configuration design time extension point. The section is part of the "Channel and Interface" tile that is displayed below the channel title and before the channel description.

Default value is empty.

8.6

Channel configuration management[edit]

Applies To Name Label Type Ruleset Usage Description Version
Data-Channel-Configuration pyCleanUpProperties Clean up properties list Activity Pega-ProcessEngine The system returns the result for this extension in the resultPage Code-Pega-List of Embed-CustomProperties where the system populates pyPropertyName. Chatbot engine channel configuration management extension point. This extension specifies a list of properties to clean up during the process of copying the channel configuration. 8.6
Data-Channel-Configuration pyNonOverridableProperties Non overridable proeprties list Activity Pega-ProcessEngine The system returns the result for this extension in the resultPage Code-Pega-List of Embed-CustomProperties where the system populates pyPropertyName. Chatbot engine channel configuration management extension point. This extension specifies a list of properties that the system cannot override during the process of copying the channel configuration. 8.6
Data-Channel-Configuration pyGenerateNlpAnalyzer Generate NLP analyzer When Pega-ProcessEngine Set this when rule to false to indicate that the channel does not need to perform NLP text analysis. Chatbot engine channel configuration management extension point. When the when rule is set to true, the system creates the NLP text analyzer configuration for new channel instance.efault is true. 8.6
Data-Channel-Configuration pyGenerateSimpleTextAnalyzers Generate simple text analyzers Data Transform Pega-ProcessEngine The system calls the data transform when the system creates a new conversational channelas a part of pyInitializeNew.

Override this data transform when you need to create a different list of input text analyzers by default, when the system creates a new channel.

Chatbot engine channel configuration management extension point. This data trasnform generates a default list of input text analyzers.

The order you define in the list indicates the order in which the system launches the analyzers. The following is a list of default analyzers: 1) Exact match 2) iNLP You can disable NLP Generation by changing the pyGenerateNlpAnalyzer when rule in the Application ruleset.

8.6
Data-Channel-Configuration pyHasChannelId Has channel Id When Pega-ProcessEngine Set the when rule to false if the system does not use pyChannelId for identification of an external channel identifier. Chatbot engine channel configuration management extension point. This when rule indicates whether the channel uses an external identifier that is stored in pyChannelId. 8.6
Data-Channel-Configuration pyInitializeNew Initialize new channel Data Transform Pega-ProcessEngine Use this data transform when you need to do additional initialization when the system creates a new channel. Chatbot engine channel configuration management extension point. The system calls the data transform when the system creates a new conversational channel.

Initialization and population of default values for channel properties. By default, the system creates the NLP text analyzer from template and generates a list of input text analyzers (Exact match and iNLP). You can disable the generation of NLP Text Analyzer by changing the pyGenerateNlpAnalyzer when rule in the Application ruleset.

8.6
Data-Channel-Configuration pyIsAuthenticationSupported Is authentication supported When Pega-ProcessEngine Override this when rule for each channel type that supports authentication as a required feature for responses. Chatbot engine channel configuration management extension point. This when rule enables or disables the authentication functionality in the channel.

Default value is false.

8.6
Data-Channel-Configuration pyIsConversationalChannel Is conversational channel When Pega-ProcessEngine Override this when rule when the system creates a new channel type in the Data-Channel-Configuration class hierarchy that does not follow chatbot architecture and is not conversational type. Chatbot engine channel configuration management extension point. This when rule indicates whether the channel is conversational or not. The default value is true. 8.6
Data-Channel-Configuration pyIsTextAnalysisFeedbackAvailable Is auto NLP feedback available When Pega-ProcessEngine Override this when rule to disable data feedback for training data. Chatbot engine channel configuration management extension point. This when rule indicates whether automatic feedback is enabled or disabled. The default value is true if you defined the NLP Generated text analyzer in the channel and you enabled the "Enable model training" check box, otherwise the value is false. 8.6
Data-Channel-Configuration pyOnCopyExtension On copy extension Activity Pega-ProcessEngine Use this extension to perform a custom action on a channel copy. Chatbot engine channel configuration management extension point. The system triggers this extension after copying channel configuration in the context of a new channel. 8.6
Data-Channel-Configuration pyOnDeleteExtension On delete extension Activity Pega-ProcessEngine Use this extension to perform a custom action on a channel delete. Chatbot engine channel configuration management extension point. The system triggers this extension before deleting the channel configuration. 8.6
Data-Channel-Configuration pyOnNewChannelSave On new channel save Activity Pega-ProcessEngine Use this extension to add channel specific configuration for a new created channel. Chatbot engine channel configuration management extension point. The system triggers this extension when the system saves a new channel just after the generation of botId. 8.6
Data-Channel-Configuration pyOnSaveExtension On save extension Activity Pega-ProcessEngine Use this extension to perform a custom action before a channel save. Chatbot engine channel configuration management extension point. The system triggers this extension before saving the channel configuration. 8.6
Data-Channel-Configuration pyPostSave Post save Activity Pega-ProcessEngine Use this extension when you need to send information from the channel configuration to the integrated remote application or channel. Chatbot engine channel configuration management extension point. The system triggers this extension after the system saves the channel configuration. 8.6
Data-Channel-Configuration pyPreCopy Pre copy Activity Pega-ProcessEngine Use this extension to specify channel specific actions before the system copies the channel. The "ChannelConfig" clipboard page references source channel properties. Chatbot engine channel configuration management extension point. The system triggers this extesnion before the system copies the channel. 8.6
Data-Channel-Configuration pySetHelpIDs Set help Ids Data Transform Pega-ProcessEngine Use this extension to poplulate help information, as you distribute the conversational channels as components (Facebook, SMS). Chatbot engine channel configuration management extension point. The system triggers thie extension when the system creates a new conversational channel.

Populate ids of help. Default values are empty.

8.6
Data-Channel-Configuration pyValidate Validate Activity Pega-ProcessEngine Use this extension to perform validation of additional properties that are specified for a particular channel. Chatbot engine channel configuration management extension point. The system triggers this extension before the system saves the channel configuration.

Any message that the system assigns to the channel configuration clipboard page means that the system does not save the configuration.

8.6
Data-Channel-Configuration-BotAgent pySetBaseUrl Set base URL Data Transform Pega-ProcessEngine Use this extension d to override MSG API endpoints. Chatbot engine UME channel configuration management extension point. This extension sets the base external URLs for communication with the MSG API. The system triggers this extension for every save operation. 8.6
Data-Channel-Configuration-BotAgent pyPopulateTemplateOperator Populate template operator Activity Pega-ProcessEngine Use this extension to populate template operators for new created channel using the channel management API. Chatbot engine channel management extension point. Use this extension point to populate template operator or CSR template operator when you call

the create method of the Apollo provisioning REST API. When the system replaces the page with an operator that exists in the database (pas pzInsKey) then the system does not persists the data in the database.

8.6

Legacy Webchat channel & preview console[edit]

The list of extension points which are available in Legacy Webchat channel to customise user experience. The same extensions are available in preview console which is tool in channel configuration page to preview the changes made during channel authoring process. The list contains short description and intended usage as each of them is exposed for specific purpose driven by our customers requirements. Please note that extension availability depends on platform version.

Applies To Name Label Type Ruleset Usage Description Version
Work-Channel-Interaction pyRenderBasicSimulatorOutbound Preview console basic outbound message Section Pega-ProcessEngine Customize this section for the application or channel layer to provide a different user experience for each channel type that is based on a class context. The system passes the message using the Message named page. Chatbot engine preview console and webchat extension point. Specifies the section which renders a single basic outbound message (for example, text or menu) in the preview console or a webchat window. 8.6
Work-Channel-Interaction pyRenderSimulatorInbound Preview console inbound message Section Pega-ProcessEngine Customize this section for the application or channel layer to provide a different user experience for each channel type that is based on a class context. The system passes the message using the Message named page. Chatbot engine preview console and Webchat extension point. Specifies the section which renders a single inbound message in the preview console or a webchat window. 8.6
Work-Channel-Interaction pyRenderSimulatorOutbound Preview console outbound message Section Pega-ProcessEngine Customize this section for the application or channel layer to provide a different user experience for each channel type that is based on a class context. The system passes the message using the Message named page. Chatbot engine preview console and webchat extension point. Specifies the section which renders a single outbound (basic or template) message in the preview console or a webchat window. 8.6
Work-Channel-Interaction pyRenderTemplateSimulatorOutbound Preview console template outbound message Section Pega-ProcessEngine Customize this section for the application or channel layer to provide a different user experience for each channel type that is based on a class context. The system passes the message using Message named page. Chatbot engine preview Console and webchat extension point. Specifies the section which renders a single templated outbound message in the preview console or a webchat window. 8.6
Work-Channel-Interaction pyIsTemplateMessage Is template message When Pega-ProcessEngine Use this when rule for custom messages' implementation when you need to handle the message types that are not supported by the system, for example, the sorting of Facebook templates. The when rule omits basic validation and triggers a different rendering mechanism. You must implement this rendering mechanism within the channel specific rendering phase and in the preview console, as well - using the pyRenderTemplateSimulatorOutbound extension point. Chatbot engine preview console and webchat extension point. The when rule indicates whether the message (the Message page) in the clipboard is a non-standard template message and  needs to be treated differently in the rendering phase - the simulator and production mode. 8.6
Work-Channel-Interaction pySetInputControl Set input control Activity Pega-ProcessEngine Use this extension to customize the control which is autoselected by the system. The controlClass is the input parameter which is a platform suggestion. To customize this input paramater, you must call pxCreateControlOfClass which controls the class of your choice - the subclass of Embed-Channel-Control-. Chatbot engine preview console and webchat extension point. Use this extension to set the type of UI control that the system needs to display for a user as an advanced input control so that the system can also handle more complex data types, for example, date or time. 8.6
Work-Channel-Interaction pyOnResetExistingInteraction On reset existing interaction Activity Pega-ProcessEngine Use this extesnion to populate additional data in the current interaction. Note that the system only uses this extension in the preview console. Chatbot engine preview console extension point. The system triggers this extension when a user clicks Reset in the preview console in the context of the current interaction. 8.6
Work-Channel-Interaction pyOnResetNewInteraction On reset new interaction Activity Pega-ProcessEngine Use this extension to populate additional data in the new created interaction. Note that the system only uses this extension in the preview console. Chatbot engine preview console extension point. The system triggers this extension when a user clicks Reset in the preview console in the context of new created interaction. 8.6
Work-Channel-Chat pyPreserveChatWorkPage Preserve chat work state Activity Pega-ProcessEngine Use this extension to preserve (rename or store) any current work object that is related to named pages because the system engine uses the Pega standard case processing and related page names, for example, pyWorkPage and newAssignPage. You must preserve these pages in this extension and restored them back in pyRestoreChatWorkPage. Chatbot engine webchat extension point. Preserves the temporary chat case object that is related to clipboard pages while the system engine possibly overrides the standard pages, for example, pyWorkPage and newAssignPage. The system triggers this extension before the system engine main processing. 8.6
Work-Channel-Chat pyRestoreChatWorkPage Restore chat work state Activity Pega-ProcessEngine Use this extension to restore any current work object related named pages because the system engine uses the Pega standard case processing and related page names, for example,  pyWorkPage and newAssignPage. You must preserve these pages in pyPreserveChatWorkState and restore them back by using this extension. Chatbot engine webchat extension point. Restores the temporary chat case object related clipboard pages that the system preserves in pyPreserveChatWorkPage after system processing takes place. 8.6

Digital messaging channel[edit]

The list of extension points which are available only in Digital messaging channel. The list contains short description and intended usage as each of them is exposed for specific purpose driven by our customers requirements. Please note that extension availability depends on platform version.

Interaction case processing[edit]

Applies To Name Label Type Ruleset Usage Description Version
Work-Channel-Interaction-BotAgent pyBAOnInteractionSync On interaction sync Activity Pega-ProcessEngine Use this extension to provide additional logic for every UME synchronization request, for example, notification about a new message and an interaction update. Chatbot engine Unified Messaging interaction case processing extension point. The system triggers this extension for every UME sync request right after the system stores the message in an interaction case. The system already persists the interaction case. 8.6
Work-Channel-Interaction-BotAgent pyOnPublicMessageReceive On public message receive Activity Pega-ProcessEngine Use this extension to implement the logic that specifies when the channel receives a new public post, for example, for autoreply or a CSR notification. Chatbot engine Unified Messaging interaction case processing extension point. The system triggers this extension for every incoming public message or tweet. 8.6
Embed-BotAgent-RequestDetails pyAllowPublicPosts Allow public posts When Pega-ProcessEngine If set to false, the system skips public post processing. Chatbot engine Unified Messaging interaction case processing extension point. Indicates whether the system allows or ignores public posts. 8.6
Embed-BotAgent-RequestDetails pyOnEvent On event Activity Pega-ProcessEngine Use this extension to customize the behavior for specific events. Chatbot engine Unified Messaging interaction case processing extension point.

The system triggers this extension for an event coming from messaging layer The events that the system currently handles are the following: customer_presence, typing_indicator, customer_end_session

8.6

Web messaging[edit]

Applies To Name Label Type Ruleset Usage Description Version
Embed-Channel-Transcript pyOnTranscriptDownload On transcript download Activity Pega-ProcessEngine Use this extension to populate a conversation transcript file. The extension implementation must populate the following properties:

pyContentType - the content type of a transcript file pyFileName - the file name of a  transcript pyFileSource - the file content of a transcript as a base64 encoded string

Chatbot engine chat widget extension point that is used to populate conversation transcript file 8.6
Embed-BotAgent-RequestDetails pyOnInteractionTransfer On interaction transfer Activity Pega-ProcessEngine Use this extension to perform custom operations on interaction cases that you need to close or merge. The available pages are the following:

InteractionToClose -  the interaction case page for a destination channel that you fill out if a user has an open interaction in the destination channel InteractionToTransfer - the interaction case page form source channel

Chatbot engine chat widget extension point. The system triggers this extension on first message form new source when the user switches the messaging channel. 8.6

API for Unified Messaging Desktop[edit]

The list of extension points which are available in API exposed for Unified Messaging Desktop. The list contains short description and intended usage as each of them is exposed for specific purpose driven by our customers requirements. Please note that extension availability depends on platform version.

Common extensions[edit]

Applies To Name Label Type Ruleset Usage Description Version
Data-DME-API pyParseRequest Parse UME request Activity Pega-ProcessEngine Use this extension to parse and set custom parameters that provided by the UME custom implementation. Chatbot engine UME API extension point. The system triggers this extension to parse the UME request. 8.6

User details API[edit]

Applies To Name Label Type Ruleset Usage Description Version
Data-DME-User pyPopulateFromOperator Populate from operator Data Transform Pega-ProcessEngine Use this data transform to populate additional properties from the Operator record to the API call output. Chatbot engine UME User details API extension point. The system triggers this data transform to populate data from the operator record. 8.6
Data-DME-User pyPopulateResult Populate User details result Activity Pega-ProcessEngine Use this extension to customize results that the system returns using the User details API. The default implementation returns data that is taken from the operator. Chatbot engine UME User details API extension point. The system triggers this extension to populate the user details API result. 8.6
Data-DME-User pyPostProcess User details post process Activity Pega-ProcessEngine Use this extension to add additional logic to the User details API call. Chatbot engine UME User details API extension point. The system triggers this extension for User details API call post-processing. 8.6

Last activity API[edit]

Applies To Name Label Type Ruleset Usage Description Version
Data-DME-Case pyPopulateFromServiceCase Populate from service case Data Transform Pega-ProcessEngine Use this data transform to map additional service case details to the API result. Chatbot engine UME Last activity API extension point. Populates processed cases result from the Pega service case details that the system processes in the current interaction. 8.6
Data-DME-Case pyPopulateServiceCase Populate service case Activity Pega-ProcessEngine Use this extension to map additional service case details to the API result. Chatbot engine UME Last activity API extension point.  The system triggers this extension to populate processed cases result from the Pega service case details that the system processes in the current interaction. 8.6
Data-DME-Interaction pyPopulateInteraction Populate interaction Activity Pega-ProcessEngine Use this extension to map additional interaction case details to the API result. Chatbot engine UME Last activity API extension point. The system triggers this extension to populates the last activity details that are based on the interaction case. 8.6
Data-DME-Interactions pyPopulateResult Populate Last activity result Activity Pega-ProcessEngine Use this extension to customize the results returned by the Last activity API. The default implementation returns data taken from the interaction case and service cases that the system processes as part of it. Chatbot engine UME Last activity API extension point. The system triggers this extension to populate the last activity API result. 8.6
Data-DME-Interactions pyPostProcess Last activity post process Activity Pega-ProcessEngine Use this extension to add additional logic to the Last activity API call. Chatbot engine UME Last activity API extension point. The system triggers this extension for last activity API call post-processing. 8.6

Suggested cases API[edit]

Applies To Name Label Type Ruleset Usage Description Version
Data-DME-SuggestedCases pyPopulateFromSuggestion Populate from suggestion Activity Pega-ProcessEngine Use this extension to customize  the result that is based on NLP suggestions. Chatbot engine UME  Suggested cases API extension point. The system triggers this extension to populate suggested cases based on NLP historical data. 8.6
Data-DME-SuggestedCases pyPopulateResult Populate suggested cases result Activity Pega-ProcessEngine Use this extension to customize the results that the system returns using the Suggested cases API. The default implementation returns cases suggested that are based on the latest three top topics from user interactions. Chatbot engine UME  Suggested cases API extension point. The system triggers this extension to populate the Suggested cases API result. 8.6
Data-DME-SuggestedCases pyPostProcess Suggested cases post process Activity Pega-ProcessEngine Use this extension to add additional logic to the Suggested cases API call. Chatbot engine UME  Suggested cases API extension point. The system triggers this extension for Suggested cases API call post-processing. 8.6

Available cases API[edit]

Applies To Name Label Type Ruleset Usage Description Version
Data-DME-Cases pyPopulateResult Populate available cases result Activity Pega-ProcessEngine Use this extension to customize results returned by the Availeble cases API. The default implementation returns cases that the system configures, using create case command, in the channel configuration that are not marked as "hide from UME". Chatbot engine UME  Available cases API extension point. The system triggers this extension to pPopulate the Available cases API result. 8.6
Data-DME-Cases pyPostProcess Available cases post process Activity Pega-ProcessEngine Use this extension to add additional logic to the Available cases API call. Chatbot engine UME  Available cases API extension point. The system triggers this extension for Available cases API call post-processing. 8.6

Suggested replies API[edit]

Applies To Name Label Type Ruleset Usage Description Version
Data-DME-Replies pyPopulateResult Populate suggested cases result Activity Pega-ProcessEngine Use this extension to customize the results that the system returns using the Suggested replies API. The default setting is for the system to do nothing. Chatbot engine UME Suggested replies API extension point.  The system triggers this extension to populate the Suggested replies API result. 8.6

Suggested phrases API[edit]

Applies To Name Label Type Ruleset Usage Description Version
Data-DME-Phrases pyPopulateResult Populate phrases result Activity Pega-ProcessEngine Use this extension to customize the results returned by the Phrases API. The default setting is for the system to do nothing. Chatbot engine UME Phrases API extension point. The system triggers this extension to populate the phrases API result. 8.6

Case mashup API[edit]

Applies To Name Label Type Ruleset Usage Description Version
Data-DME-API pySetMashupThreadName Set mashup thread name Activity Pega-ProcessEngine Use this extension to set the custom mashup thread name (pyMashupThreadName). Chatbot engine UME Case mashup API extension point. The system triggers this extension to set the custom mashup thread name. 8.6
Data-DME-API pySetCustomMashupParams Set custom mashup params Activity Pega-ProcessEngine Use this extension to set the custom mashup snippet parameters. Chatbot engine UME Case mashup API extension point. The system triggers this extension to set the custom mashup snippet parameters. 8.6