Pega Customer Decision Hub agents
On top of the standard Pega Platform agents, exist a set of agents that manage the different aspects of Pega Customer Decision Hub. Review and monitor these agents on a regular basis to ensure that your application is running optimally. In the event of a failure in any of the agents, understanding the agent's role helps to assess the impact of the failure on the application.
The following tables contains descriptions of these agents, which are divided based on the part of the application that the agent is used in. For each of the agents listed, the Multi-node column contains a recommendation on whether the agent should be run on multiple nodes, based on the purpose of the agent and how it scales for performance.
- Segmentation agents- manage running segments
- Offer runtime agents- manage running offers and real-time events
- Delivery channels agents- manage delivery channels, such as email and SMS
- Paid media job schedulers- manage advertising on ad platforms such as Facebook Ads or Google Ads
- Cleanup and data-mining agents- clean up batch assets that are created while running a program; perform data mining
- Startup and maintenance agent- handles routines, maintenance, and checks that must occur during application server start up
- Deprecated agents
Segmentation agents
Agent name | Multi-node | Description | Node type |
DeferredSegments | Yes | Handles requests to manually run a segment from the Segment rule form. If there are many manual requests for larger segments, then having this agent running on multiple nodes speeds up segment runtime. Queue items for this agent are instances of the System-Queue-DeferredSegments class. If there are Broken-Process queue items for this agent, marketers might experience failures or delays in their segments. Review the details on the queue item to determine the cause of the failure. | BackgroundProcessing |
SegmentSchedule | Yes | Manages the scheduled run of segments, which is configured in the Options and Schedule tab of the Segment rule form. If there are recurring runs, the agent auto-manages its own queue items. There should be only one queue item per segment at any given point in time. Queue items for this agent are instances of the System-Queue-ScheduledTask class with the Agent Name set to PegaMKT-Engine:SegmentSchedule. Broken-Process queue items for this agent imply failures in scheduled running of segment. Consequently, these segments might have stale or incomplete data. | BackgroundProcessing |
ManageMasterSegment | Keeps the Master Segment view in sync with all the segments currently created in the system. The Master Segment is used by Pega Customer Decision Hub 8.2 and older to support the segment filter functionality. In Pega Customer Decision Hub 8.3, this agent still exists but is no longer used for segment filter support. | BackgroundProcessing |
Offer runtime agents
Agent Name | Multi-node | Description | Node type |
ProcessOverlayAction | Yes | Performs background processing of the Update wait time and Stop action settings on the Action rule. For more information, see Monitoring actions. | BackgroundProcessing |
ProcessProgramRun | Yes | Initiates a campaign run at runtime. The agent creates the necessary infrastructure, such as batch classes and tables, and executes the strategy based on the segment input population that is configured. If configured on the campaign, it also triggers the refresh/rerun of the segment before starting a strategy. In a non-partitioned environment, this agent applies volume constraints. Queue items for this agent are instances of the System-Queue-ProgramRun class. If the campaign run work object does not show any progress for a long time, review the status of this agent and its associated queue items. | Batch |
ProcessEventRun | Yes | Handles the processing of received real-time events. The agent reads the list of received events from a staging table, processes them, and then removes them from the table. Processing an event involves:
| RealTime |
ProcessWaitFlows | Yes | Triggers an action flow for the WaitExpired paths in an action flow. Every campaign run creates one or more (if partitioned) of these queue items to periodically scan the batch table for records whose wait duration has expired. If any such actions are found, this agent resumes their processing along the WaitExpired path. Queue items for this agent are instances of the System-Queue-WaitFlow class. | Batch |
ProcessWaitingGenericFlow | Yes | When actions are initiated in a non-batch scenario (such as Inbound), the records are stored in the MKT_DATA_OFFER table in the data schema. This agent scans through such actions to find any that have expired and resumes their processing along the WaitExpired path. Queue items for this agent are instances of the System-Queue-GenericWaitFlow class. | RealTime |
RunHandleResponsesDF | Supports updating the adaptive model responses based on the stages and timeouts configured in the outcome optimization configuration. The agent checks if a real-time data flow run is in progress for the pxHandleResponses data flow. If not, it creates one and starts the data flow run. | Batch | |
ProcessWaitingNBAOffers | No | Periodically checks if there are actions that need Wait Expired configured for
the Next-Best-Action Designer triggered events. Primarily operates on the table/class that is mapped to: PegaMKT-Data-NBAOffer. | RealTime |
Delivery channels agents
Agent Name | Multi-node | Description | Node type |
SendEmailsInBulk | No | Periodically reads the email output table PR_DATA_CORR_EMAIL and performs email transmission. The agent removes successfully transmitted emails and, in the event of a failure, updates the status to Failed. | Custom1, Batch |
MonitorChannelQueue | Yes | Updates the log file used to monitor the email queue. Pega Customer Decision Hub can log sent, failed, and queued emails, as well as the queue depth, that is, the emails which have not been processed yet. By default, the agent updates the log file at one-hour (3600 seconds) intervals. | BackgroundProcessing |
SendSMSInBulk | No | Periodically reads the SMS output table PR_DATA_CORR_SMS and performs SMS transmission. The agent interfaces with the configured SMSC and transmits the SMS message. In the event of a failure, the agent removes any successfully transmitted SMS messages and updates the status to Failed. | Custom2, Batch |
InboundSMSReceiver | No | Periodically sets up listeners to handle inbound SMS messages for the configured Inbound SMS Accounts. The agent calls the InboundConnector activity to set up the listener. For each message that is received, the agent creates a new instance of PegaMKT-Data-Inbound-SMS, populates the appropriate details, and saves it to the database. | RealTime |
InboundSMSOfferFlow | No | Processes instances of PegaMKT-Data-Inbound-SMS. For each message, the agent determines the relevant Customer and SMS Account context, parses the inbound message based on the SMS Account configuration, uses this information to determine the behavior and action, and (if appropriate) initiates/resumes the action. | RealTime |
OutboundMaster | No | A master outbound agent that determines which File/Database Templates need to be processed, and then creates queue items for the WriteOutboundAgent to process them. | Batch |
WriteOutboundAgent | Yes | A standard agent that performs File and Database output processing based on the details in the queue item created by the OutboundMaster agent. WriteOutboundAgent processes records from the MKT_STAGING table in the Pega Customer Decision Hub schema. | BackgroundProcessing |
FileDBSchedule | Yes | Performs the scheduled finalization for the File and Database output channels. | BackgroundProcessing |
PushNotificationMaster | No | Periodically checks the push notifications table PR_DATA_PUSH_MESSAGE to create new queue items for the PushNotificationProcessor agent in order to transmit notification messages. Each queue item corresponds to a (logically simulated) partition value in the table. | BackgroundProcessing |
PushNotificationProcessor | Yes | Processes messages that are part of a specific partition in the PR_DATA_PUSH_MESSAGE table. The agent transmits these messages based on the configurations for the Push Notification App and Variant (specified on the Push Notifications landing page). | BackgroundProcessing |
File/DB template based job schedulers | No | These are not enabled out-of-the-box, but when a file or DB template is
configured with schedule options and then saved, the new job schedules with the name
of the template rule and the channel appended will be created in the artifacts
ruleset. For example, if the name of DB template was OutboundDailyNBA, then the job scheduler will be created, in the configured artifacts ruleset, with the name: OutboundDailyNBA__DB. | BackgroundProcessing |
Queue processor
Agent Name | Multi-node | Description | Node type |
FinalizeFileDBTemplate | Yes | This queue processor is disabled by default to help optimize performance.
However, if your file and database templates must be processed at extremely high
volume, this dedicated queue processor can be enabled to further increase the
performance. For more information, see Optional: Enabling the FinalizeFileDBTemplate queue processor. | BackgroundProcessing |
Paid media agents
Agent Name | Multi-node | Description | When to enable | Node type |
ProcessPaidMediaRuns | Yes | Initiates a paid media run for paid media queue items created by campaign runs when paid destinations are configured in the Next-Best-Action hierarchy. After the paid media run starts, data flows are created for each paid destination in the hierarchy. Once all data flow runs are either completed or failed, work objects are created for any errors that occurred during the run. For more information, see Extending next-best-action to digital advertising platforms with Paid Media Manager. | After you configure paid destinations in the Next-Best-Action hierarchy. | Batch |
ProcessPaidSegmentRuns | Yes | Initiates a paid segment synchronization after the refresh of a segment that has paid destinations enabled. For more information, see Extending next-best-action to digital advertising platforms with Paid Media Manager. | After you configure any paid segment synchronization. | Batch |
ProcessPaidMediaReSync | Yes | Processes the resynchronization queue for paid destinations. Resynchronization queue items are created for each update to the PII mappings used by Paid Media Manager or to an individual’s PII values, such as an email address, phone number, or device ID. The ProcessPaidMediaReSync agent processes the queue item and triggers the resynchronization for the right destination. By default, this agent runs every 5 seconds. For more information, see Extending next-best-action to digital advertising platforms with Paid Media Manager. | After you configure any paid destinations. | Batch |
PaidMediaArtifactsMaster | No | Creates one queue item for each destination where you enabled automatic campaign generation. PaidMediaArtifactsGenerator must be enabled to process the queue items created by this agent. By default, this agent runs every 30 minutes. For more information, see Extending next-best-action to digital advertising platforms with Paid Media Manager. | If you enabled automatic campaign generation in the paid destination settings. | BackgroundProcessing |
PaidMediaArtifactsGenerator | Yes | Creates Facebook Ads and Google Ads lookalike audiences as well as campaign and ad set scaffolding. By default, this agent runs every 30 seconds and processes any queue items created by PaidMediaArtifactsMaster. For more information, see Extending next-best-action to digital advertising platforms with Paid Media Manager. | If you enabled automatic campaign generation in the paid destination settings. | BackgroundProcessing |
PaidCustomerReSyncMaster | No | Identifies the changes in individual PII data, such as email addresses and phone numbers. If you update an individual's email address or phone number, at the next agent run, the agent triggers a re-synchronization of customer data. For each unique paid destination, the agent creates one CustomerReSync data flow run. Outbound, real-time and segment-based paid audience synchronization is postponed while the CustomerReSync data flow runs. If a synchronization is in progress, the CustomerReSync data flow for that destination is postponed until the current synchronization is completed. By default, this agent runs once every 7 days. For more information, see Extending next-best-action to digital advertising platforms with Paid Media Manager. | After you configure any paid destinations. | Batch |
UpdatePaidMediaMatchRate | No | Updates the match rates for paid audiences visible on the Paid Audiences landing page. By default, this agent runs once every hour. For more information, see Extending next-best-action to digital advertising platforms with Paid Media Manager. | After you configure any paid destinations. | Batch |
Paid media job schedulers
Job Scheduler Name | Description | When to enable |
GetPaidAsyncJobStatus | It polls the status of Google sync Jobs from the Google ads Network. By default, this scheduler runs once every hour. | After you configure any Google paid destinations. For more information, see Extending next-best-action to digital advertising platforms with Paid Media Manager. |
GetAdPerformanceData | Provides the necessary data for the paid tactics functionality. | When you want to enable paid tactics. For more information, see Enabling paid tactics |
PaidNotificationsGenerator | Creates error and notification work objects. By default, this scheduler runs once every hour. | After you configure any paid destinations. For more information, see Extending next-best-action to digital advertising platforms with Paid Media Manager. |
TokenValidityChecker | Checks the validity of the tokens used to communicate with paid destinations. If the token is expired or invalid, the scheduler creates an error work object with the default urgency of 80, and displays a notification in the notifications section of Next-Best-Action Designer. For segment synchronization, the notification is displayed in the notifications section of the Paid Sync tab of the segment. | After you configure any paid destinations. For more information, see Extending next-best-action to digital advertising platforms with Paid Media Manager. |
OfflineConversionRTTrigger | Runs at regular intervals to read the real-time offline events from the sync staging table and synchronized them to the network. By default runs every hour. | When you want to sync the offline events, captured through Capture Response REST API to the network. |
RemoveStalePaidMediaEntries | Audience sync creates distributed map entry to avoid the rate-limiting error from other nodes. In 8.5 distributed map entries persisted in Redis DB, even the full cluster restart will not clear these entries. This job scheduler runs daily to identify the entries created by a failed node and removes them from the distributed map. | When running paid media sync the audience to paid network. |
PurgeStaleAdobeFolders | Cleans up stale Adobe folders generated during the sync process. It is scheduled to run daily at 11PM EST. | When running paid media sync for Adobe destination. |
RemovePaidMediaStaleAudiences | It will run twice in a day and will clean the stale audiences and customers
from paid media master dds and audience table. It cleans stale audiences from
Facebook, Google and LinkedIn network. Stale Audiences: These are audiences which are deleted from Ad networks but are present in Paid Media Manager's master and audience table. | After you configure any paid destinations. |
Cleanup and data-mining agents
Agent Name | Multi-node | Description | Node type |
ProcessPurging | No | Cleans up batch assets, such as classes and tables, that are created while
running a program. A cleanup occurs when the following conditions have been met:
| BackgroundProcessing |
Startup and maintenance agent
Agent Name | Multi-node | Description | Node type |
PegaMKTStartupAgent | Yes | Handles routines, maintenance, and checks that need to occur during the application server startup. The agent can be used for data instance re-sets or for whenever something must be done during node startup. | BackgroundProcessing |
ResilenceHandler | No | Detects segmentation process crashes during runtime and recovers the long running and not recoverable processes to a healthy state. The processes can be re-run or edited again. | BackgroundProcessing |
Deprecated agents
Agent Name | Multi-node | Description | Node type |
AnalysisSchedule | Yes | Similar functionality to the SegmentSchedule agent, but instead of segments, it runs Analysis Project rules according to the schedule | BackgroundProcessing |
APNs Feedback Service | No | Uses the Apple APNs Feedback service to periodically retrieve uninstalled push tokens and calls Pega Customer Decision Hub's Push Notification Un-registration service to remove these uninstalled push tokens from the registered list. | BackgroundProcessing |
ProcessCampaignRun | Yes | This agent is only available if Field Marketing is available as part of your
Pega Customer Decision Hub application. Executes the actions for the selected list of customers in a Field Marketing campaign. | Batch |
RefreshCampaignOfferStats | No | This agent is only available if Field Marketing is available as part of your Pega Customer Decision Hub application. Performs data mining by periodically refreshing a materialized view in the database to summarize the Interaction History data for Field Marketing reporting purposes. | BackgroundProcessing |
Previous topic Disabling the Decision Data Store as action state storage on Pega Cloud Next topic Managing Decision Data rules in Pega Customer Decision Hub