Chatbot engine extensions
|Request to Publish|
|Version as of|
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 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 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
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.
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.
Interaction case processing
|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|
Before you begin
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.
Process/Steps to achieve objective
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 **
What do you expect the user to see or be able to do after they complete this design pattern?