Difference between revisions of "Chatbot engine extensions"

From PegaWiki
Chatbot engine extensions
Jump to navigation Jump to search
m
Tag: Visual edit
m (WIP)
Tag: Visual edit
Line 15: Line 15:
 
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.
 
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.
  
==Extension points==
+
==Common extension points==
The list of categorised extension points which are available in platform. 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.
+
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 ===
 
=== Interaction case processing ===
Line 111: Line 111:
 
|}
 
|}
  
==Before you begin==
+
=== Case processing ===
Is it necessary to plan anything in advance, or are external steps using other tools required to achieve the goal? If any specific configuration procedures (how-tos) exist on Pega Community pages, you can link to those assets here by providing the URL.
+
{| class="wikitable"
 +
!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 ===
 +
{| class="wikitable"
 +
!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 ===
 +
{| class="wikitable"
 +
!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 ===
 +
{| class="wikitable"
 +
!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 ===
 +
{| class="wikitable"
 +
!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
 +
|}
 +
 
 +
==Legacy Webchat channel & preview console==
 +
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.
 +
 
 +
{| class="wikitable"
 +
!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
 +
|}
  
 
==Process/Steps to achieve objective==
 
==Process/Steps to achieve objective==

Revision as of 11:41, 14 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

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

Process/Steps to achieve objective[edit]

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.

If “How To…” documents exist for specific configuration procedures please link (using the url) to those assets on the community **

Results[edit]

What do you expect the user to see or be able to do after they complete this design pattern?