Skip to main content
LinkedIn
Copied!

Table of Contents

Expand Actions by Active Channels (Create Eligibile Channels) strategy

Version:

Only available versions of this content are shown in the dropdown

This strategy determines the active channels as specified in Next-Best-Action Designer, as well as the eligible channels designated on the treatment tab of the action. If the trigger is from an inbound channel, then only that specific channel is eligible and processed.

The CreateEligibileChannels strategy

The top section of the strategy evaluates each of the real-time controls that determine which channels are active. The Filter shapes that select these settings are then referenced by other components in the strategy to evaluate which actions are eligible for each active channel.

The Treatment Processing On shape determines whether the Channel treatment processing Next-Best-Action Designer Settings parameter is set. This is referenced in each of the channel eligibility conditions (except for Paid).

Actions by eligible channels

Next best actions are fed in through the External Input shape and are split into Outbound and Inbound streams for further processing based on the value of Primary.ContainerPayload.Direction. pyChannel and pyDirection are then set for each eligible channel.

An extension point is provided by the Create Eligible Channel Extension sub-strategy, in which additional eligible channels may be added.

The Outbound section is shown below, and the inbound section follows a similar pattern. Note that there is provision for including any non-standard channels (Add Other Outbound Channels) so long as they have been defined within the real-time controls.

Outbound section

For outbound, each action is evaluated against each channel to determine eligibility using logic similar to the following example for the Email channel:

@equals("true", EmailSwitch.SettingValue) 
&& (.IsEmailEnabled || !TreatmentProcessingOn.Eligible)

The first part of the expression determines whether the channel is actually enabled in Next-Best-Action Designer, and if it is the action will be eligible for that channel if it has a treatment for the channel (IsEmailEnabled), or if treatment processing is not enabled in Next-Best-Action Designer. Note that since the Paid channel does not use treatments, this last check is not required.

For inbound, the logic is slightly different as shown in the following example for the Web channel:

@equals("true", WebSwitch.SettingValue) 
&& @equals("Web", Primary.ContainerPayload.Channel) 
&& (.IsWebEnabled || !TreatmentProcessingOn.Eligible)

The first part of the expression determines whether the channel is actually enabled in Next-Best-Action Designer, and if it is the second expression determines whether the current inbound request is for the channel, and if so the action will be eligible for that channel if it has a treatment for the channel (IsWebEnabled), or if treatment processing is not enabled in Next-Best-Action Designer.

Did you find this content helpful?

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.

Ready to crush complexity?

Experience the benefits of Pega Community when you log in.

We'd prefer it if you saw us at our best.

Pega Community has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice
Contact us