0% found this document useful (0 votes)
5 views622 pages

SFA ImplementationGuide 721

The Pega Sales Automation Implementation Guide for version 7.21 outlines the features and capabilities of the software, including account and contact management, lead management, and opportunity management. It emphasizes the importance of process automation, guided selling, and real-time reporting to enhance sales effectiveness. The guide also details integration options, mobile functionality, and the ability to customize dashboards and reports for improved sales performance.

Uploaded by

Rajasekhar Kolla
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views622 pages

SFA ImplementationGuide 721

The Pega Sales Automation Implementation Guide for version 7.21 outlines the features and capabilities of the software, including account and contact management, lead management, and opportunity management. It emphasizes the importance of process automation, guided selling, and real-time reporting to enhance sales effectiveness. The guide also details integration options, mobile functionality, and the ability to customize dashboards and reports for improved sales performance.

Uploaded by

Rajasekhar Kolla
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Pega Sales Automation

7.21

IMPLEMENTATION GUIDE
© Copyright 2016
Pegasystems Inc., Cambridge, MA
All rights reserved.

Trademarks
For Pegasystems Inc. trademarks and registered trademarks, all rights reserved. Other brand or product names are
trademarks of their respective holders.
For information about the third-party software that is delivered with the product, refer to the third-party license file
on your installation media that is specific to your release.
Notices
This publication describes and/or represents products and services of Pegasystems Inc. It may contain trade secrets
and proprietary information that are protected by various federal, state, and international laws, and distributed under
licenses restricting their use, copying, modification, distribution, or transmittal in any form without prior written
authorization of Pegasystems Inc.
This publication is current as of the date of publication only. Changes to the publication may be made from time to
time at the discretion of Pegasystems Inc. This publication remains the property of Pegasystems Inc. and must be
returned to it upon request. This publication does not imply any commitment to offer or deliver the products or
services described herein.
This publication may include references to Pegasystems Inc. product features that have not been licensed by you or
your company. If you have questions about whether a particular capability is included in your installation, please
consult your Pegasystems Inc. services consultant.
Although Pegasystems Inc. strives for accuracy in its publications, any publication may contain inaccuracies or
typographical errors, as well as technical inaccuracies. Pegasystems Inc. may make improvements and/or changes to
the publication at any time.
Any references in this publication to non-Pegasystems websites are provided for convenience only and do not serve
as an endorsement of these websites. The materials at these websites are not part of the material for Pegasystems
products, and use of those websites is at your own risk.
Information concerning non-Pegasystems products was obtained from the suppliers of those products, their
publications, or other publicly available sources. Address questions about non-Pegasystems products to the suppliers
of those products.
This publication may contain examples used in daily business operations that include the names of people,
companies, products, and other third-party publications. Such examples are fictitious and any similarity to the names
or other data used by an actual business enterprise or individual is coincidental.
This information is the property of:
Pegasystems Inc.
One Rogers Street
Cambridge, MA 02142-1209
USA
Phone: (617) 374-9600
Fax: (617) 374-9620
[Link]

Document: Pega Sales Automation


Software Version: 7.21
Updated: April 2016
CONTENTS
Overview ......................................................................................................................... 1-1
Key Features ........................................................................................................................... 1-1

Capabilities ..................................................................................................................... 2-1


Account and Contact Management ......................................................................................... 2-1
Auto-Creation of Accounts .................................................................................................. 2-2
B2B and B2C Selling Modes ............................................................................................... 2-6
Engagement Trends ......................................................................................................... 2-38
Engagement Maps for Account Planning .......................................................................... 2-49
Relationships .................................................................................................................... 2-58
Account Merge .................................................................................................................. 2-64
Addresses ......................................................................................................................... 2-72
Duplicate Matching ........................................................................................................... 2-86
Households ......................................................................................................................... 2-100
Overview ......................................................................................................................... 2-100
Household List ................................................................................................................ 2-100
Creating Household ........................................................................................................ 2-101
Edit and Add/Remove Members ..................................................................................... 2-103
Contact............................................................................................................................ 2-106
Add to New Household ................................................................................................... 2-107
Adding to Existing Household ......................................................................................... 2-108
Classes ........................................................................................................................... 2-109
Team Selling ....................................................................................................................... 2-110
Activity and Task Management ........................................................................................... 2-111
Lead Management .............................................................................................................. 2-115
Capture ........................................................................................................................... 2-116
Route .............................................................................................................................. 2-116
Nurture ............................................................................................................................ 2-117
Qualify............................................................................................................................. 2-119
Convert ........................................................................................................................... 2-120
Opportunity Management .................................................................................................... 2-122
Fields Detail .................................................................................................................... 2-123
Sub Tabs......................................................................................................................... 2-123
Sales Methodology ......................................................................................................... 2-124
Case Lifecycle Management ........................................................................................... 2-125
Opportunity Merge .......................................................................................................... 2-141
Forecast Management ........................................................................................................ 2-150
Forecast Overview .......................................................................................................... 2-150
“What’s changed” visibility in Sales Forecasts ................................................................ 2-152
Narratives........................................................................................................................ 2-153
Mobile.................................................................................................................................. 2-177
Desktop vs Mobile Features............................................................................................ 2-177
Offline First...................................................................................................................... 2-179
Tablet Application (Responsive UI) ................................................................................. 2-207
Geolocation ..................................................................................................................... 2-209
Push Notifications ........................................................................................................... 2-241
Sales Goals Management ................................................................................................... 2-255
Time Period Maintenance ............................................................................................... 2-256
Sales Goal Entry ............................................................................................................. 2-260
Quota Attainment ............................................................................................................ 2-264
Local Campaigns................................................................................................................. 2-268
Creating a Local Campaign............................................................................................. 2-268
Execution of a Local Campaign ...................................................................................... 2-273
Viewing Campaign Information ....................................................................................... 2-275
Technical Implementation Details ................................................................................... 2-276
Next Best Sales Activities.................................................................................................... 2-284
CLV_Value predictor : ..................................................................................................... 2-286
WinScore predictor : ....................................................................................................... 2-287
Technical Implementation Details ................................................................................... 2-289
Co-Browse in Pega Sales Automation ................................................................................ 2-296
Session Code Initiation ................................................................................................... 2-296
Email Link Initiation ......................................................................................................... 2-298
Technical Implementation Details ................................................................................... 2-299
Sales Dashboards and Reports........................................................................................... 2-313
Dashboard Personalization ............................................................................................. 2-314
Sales Dashboard widgets ............................................................................................... 2-320
Pipeline ........................................................................................................................... 2-323
Leaderboards .................................................................................................................. 2-325
Opportunities by Competitor ........................................................................................... 2-329
Leads by Source ............................................................................................................. 2-334
Opportunity Revenue by Industry.................................................................................... 2-337
Pipeline Growth Trend .................................................................................................... 2-341
Lead Conversions by Stage ............................................................................................ 2-344
Win/Loss Analysis ........................................................................................................... 2-347
Lead to Opportunity Conversions.................................................................................... 2-350
Opportunity Conversion by stage widget ........................................................................ 2-353
Opportunities by Product................................................................................................. 2-356
Open Tasks..................................................................................................................... 2-359
Reminders....................................................................................................................... 2-360
Mobile Dashboard ........................................................................................................... 2-361
Dashboard Templates..................................................................................................... 2-363
Addition of New Widget................................................................................................... 2-366
Territory and Security Management .................................................................................... 2-367
Business Territories ........................................................................................................ 2-367
Operator Access Management ....................................................................................... 2-370
Security Roles and Privileges ......................................................................................... 2-379
Global Search (Elasticsearch) ............................................................................................. 2-386
Common background...................................................................................................... 2-386
Technical implementation ............................................................................................... 2-389
Partner Management........................................................................................................... 2-399
Partner List...................................................................................................................... 2-400
Creating a new Partner ................................................................................................... 2-400
Administration Tools ............................................................................................................ 2-422
Bulk Upload via Ops Portal ............................................................................................. 2-423
Bulk Upload via File Listener........................................................................................... 2-437
Manage Products ............................................................................................................ 2-449
Manage Competitors....................................................................................................... 2-451
Manage Relationship Types............................................................................................ 2-452
Manage Time Periods ..................................................................................................... 2-454
Personalize Manager and Rep Dashboard ..................................................................... 2-455

Architecture – Application and Class Structure ........................................................ 3-1


System Administrator account ................................................................................................. 3-1
Ruleset Hierarchy .................................................................................................................... 3-1
Pega Sales Automation Rulesets........................................................................................ 3-2
Application Definitions ............................................................................................................. 3-3
Key Work Classes ................................................................................................................... 3-3
Class Structure ........................................................................................................................ 3-5
Entity Class: Data/Work Class Hybrid ................................................................................. 3-5
Work Class: Work class ...................................................................................................... 3-5
Social Media Classes.......................................................................................................... 3-6
Management Classes ......................................................................................................... 3-6
Data Classes....................................................................................................................... 3-6
Portal Classes ..................................................................................................................... 3-7
Inheriting from SFA Classes .................................................................................................... 3-7
Work Object Prefixes and Naming Conventions...................................................................... 3-7
Operators and Access Groups ................................................................................................ 3-8
Work Parties ............................................................................................................................ 3-8
Follower .............................................................................................................................. 3-8
Pega Sales Automation Tables in the Pega 7 Database ......................................................... 3-9
Work and Data Tables ........................................................................................................ 3-9
Integration....................................................................................................................... 4-1
Listener Integration for emails and appointments .................................................................... 4-1
Email Integration ................................................................................................................. 4-1
Appointment Integration ...................................................................................................... 4-3
VCard Integration ................................................................................................................ 4-3
Pega Sales Automation to Exchange Appointment Integration ............................................. 4-10
Appointments List ............................................................................................................. 4-10
Appointment Creation ....................................................................................................... 4-11
Pega for Outlook ................................................................................................................... 4-16
Overview ........................................................................................................................... 4-17
Pega for Outlook Configuration Web Service.................................................................... 4-29
Dynamic System Settings (DSS) for Pega for Outlook ..................................................... 4-29
Methods Exposed ............................................................................................................. 4-31
Web Services Integration ...................................................................................................... 4-44
Service Package: Pega Sales Automation ........................................................................ 4-45
Social Media Integration ........................................................................................................ 4-46
Twitter Integration ............................................................................................................. 4-46
Twitter APIs ..................................................................................................................... 4-48
LinkedIn Integration .......................................................................................................... 4-54
Request Token.................................................................................................................. 4-57
Facebook Integration ........................................................................................................ 4-61
Creating a New Application ............................................................................................... 4-64
Dynamic System Settings for LinkedIn, Twitter and Facebook ......................................... 4-77
Integration with NBAM / NBAA .............................................................................................. 4-79
Defining SR class.............................................................................................................. 4-80
Creating Issues and Groups: ............................................................................................ 4-80
Defining Customer Data class........................................................................................... 4-81
Updating Pega Sales Automation Contacts with CLV values............................................ 4-84
Integration with NBAM........................................................................................................... 4-84
Solution Overview ............................................................................................................. 4-85
Pre-requisites .................................................................................................................... 4-85
Adapter architecture.......................................................................................................... 4-85
Implementation ................................................................................................................. 4-86
Integration with NBAA ........................................................................................................... 4-92
Next Best Sales Activities Quadrant ................................................................................. 4-92
NBAA’s Out-Of-The-Box rules overridden......................................................................... 4-96
IAC Gadget Configuration (lead web forms) ........................................................................ 4-109
Summary......................................................................................................................... 4-109

Portal / UI Architecture .................................................................................................. 5-1


Design ..................................................................................................................................... 5-1
Portal Rules ............................................................................................................................. 5-1
SFA Portal Class Structure...................................................................................................... 5-2
Rule-Portal .......................................................................................................................... 5-3
Classes ............................................................................................................................... 5-3
Skin ..................................................................................................................................... 5-3
Harness............................................................................................................................... 5-3
Rule hierarchy for SFAPortalWorkSpace (Desktop) ................................................................ 5-3
Top Panel............................................................................................................................ 5-5
Rule hierarchy for SFAPortalWorkSpace (Mobile) .................................................................. 5-8
Landing Pages (Mobile) .......................................................................................................... 5-9
Recent Gadget (Desktop)..................................................................................................... 5-10
Recent Gadget (Mobile) ....................................................................................................... 5-11
Following Gadget (Desktop) ................................................................................................. 5-12
Following Gadget (Mobile).................................................................................................... 5-13
Rule Hierarchy - Review Harness ......................................................................................... 5-14
Rule hierarchy for New harness ............................................................................................ 5-17
Rule hierarchy for Perform harness....................................................................................... 5-20
Global Search Gadget (Mobile) ............................................................................................. 5-22
Pega Sales Automation Log in Screen .................................................................................. 5-23

Building the Pega Sales Automation Implementation Layer .................................... 6-1


Build the Implementation Layer ............................................................................................... 6-1
Overview

Typical sales automation applications do little more than capture data and are largely
disconnected from enterprise systems and the actual sales processes. Representatives end up
using manually created spreadsheets, reports, and forecasts. Sales methodologies are
inconsistently applied, and the selling process cannot be adjusted to accommodate variations
such as business unit, geography, the customer, sales team or the representative.

Pega Sales Automation optimizes success at every stage in the sales lifecycle. Pega Sales
Automation offers intelligent guidance, process automation from lead to fulfillment, and
unprecedented agility to instantly adapt your sales process. With Pega, you can quickly
standardize and optimize the sales process across multiple business units, products, team
members, geographies, accounts, and channels and dynamically adapt to each specialized
circumstance.

 Guided selling - Through a blend of predictive analytics, automated decisioning and


business rules that you can configure, Pega systematically recommends the next best
action to take, offer to make, and guides reps throughout the sales cycle.
 Sales process management - Industry-leading process management capabilities ensure that
you intelligently route, track and progress leads and opportunities through the end-to-end
sales cycle with minimal manual intervention.
 Reporting and forecasting - Dashboards and forecasts offer a real-time view into your team’s
pipeline and forecasts. You can easily modify reports to give you the insights you need,
exactly when and where you need them.
 Mobility and collaboration - You can empower your teams to be productive everywhere by
seamlessly delivering the sales experience on any device, including tablets and
smartphones – on- or off-line. Through Pega Pulse and Co-Browse, your teams can
instantly collaborate with customers and employees.
 Build and specialize applications quickly - Built on the world leading Pega 7 platform, Pega
Sales Automation allows you to manage your enterprise’s complexity, develop applications
7x faster than Java coding, and configure and run your ultimate sales process. You can
maximize your existing technology investments and ensure the fastest time to value by
easily integrating and orchestrating legacy systems.
 Cloud or on-premises - You choose the best deployment option to most effectively manage
your business. You can run your application with confidence with an application that is
proven to securely scale to meet the needs of the world’s most demanding organizations.

Key Features
 Account and Contact Management

 Activity and Task Management

 Lead Management

Pega Sales Automation Implementation Guide 1-1


 Opportunity Management

 Forecast Management

 Outlook Integration for Email and Appointments

 Social Integration with Twitter, Facebook, and LinkedIn

 Native Social Collaboration (Pulse) and Co-Browsing

 Next Best Sales Offers via Adaptive Analytics

 Mobile Portals with Geolocation and Push Notifications

 Sales Goal Management

 Local Campaigns

 Territory and Sales Team Management

 Configurable Dashboards and Reports

 Householding

Pega Sales Automation Implementation Guide 1-2


Capabilities
Account and Contact Management
Pega Sales Automation provides a 360 degree view of Accounts and Contacts, including current
and past deals, communication history including emails and appointment, documents, and
relevant social insights.

The following classes are for efficient management of Accounts and Contacts in Business-to-
Business (B2B) and Business-to-Consumer (B2C) sales interactions:

 sPegaCRM-Entity-Org (Organization)
 PegaCRM-Entity-Account (Account)
 PegaCRM-Entity-Contact (Contact)

An Organization represents a legal entity in the corporate world.

 Represents a corporate hierarchy and its relationships


 Has one or more Accounts as a child entity
 Can have data enriched by external service providers

An Account is an economic decision making unit.

 Is a logical group to which a product or service is sold


 Can have CRM sales objects, such as Leads or Opportunities, linked to it

The relationship between an organization entity and an account entity is one-to-many. This
allows for granular and custom security configurations. For example, an organization (belonging
to one geographical territory) can contain multiple accounts corresponding to different projects
and multiple sales personnel operating in the same geographical territory. However, different
business lines can own and have exclusive read access to these two different accounts.

Different implementations can choose to use different data enrichment services and enrich the
data through agreed upon modes as described in their service contracts. In addition to standard
attributes such as name and address, properties have been added to the data model to capture
account attributes that include:

 ExternalID - Similar to the Data Universal Numbering System (D-U-N-S) the Capital IQ
(CapIQ) is used by organizations around the world as a global standard for business
identification and tracking.
 Site - Information about the account’s location, such as single location, Headquarters, or
Branch
 NAICS Code - The six-digit North American Industry Classification System (NAICS) code is
the standard used by businesses and governments to classify business establishments into
20 industries
 NAICS Description - A brief description of an organization’s line of business, based on its
NAICS code
 Ownership - Ownership type for the company, for example, public or private

Pega Sales Automation Implementation Guide 2-1


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 SIC Code - Standard Industrial Classification code of the account’s main business
categorization
 SIC Description - A brief description of an organization’s line of business, based on its SIC
code
 Year Started - The year the company was established or the year when current ownership
or management assumed control of the company

These attributes are exposed as columns in tables. You can easily update them using the bulk
upload tool available for sales operations personnel.

Auto-Creation of Accounts
The Org/Account setup process can be streamlined by automatically creating an Account when
an Organization is created. This feature can be activated by setting the
AutomaticAccountCreation DSS setting to true. When enabled, the Account will be created with
attributes derived from the parent Organization. This can be especially useful in scenarios when
the Org/Account relationship is generally 1:1, or when an Organization hierarchy is used to
model a more complex customer.

Technical Implementation Details


A Decision shape “create Account?” and an additional Utility shape “create Account” are used in
the flow crmCreate applying to PegaCRM-Entity-Org.

Pega Sales Automation Implementation Guide 2-2


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

The When rule isAutomaticAccountCreation is used to determine whether a Business Account


should be created in the background or not. In case that the When rule evaluates to true, the
activity crmcreateAccount in the Utility shape is called to take care about the creation process.

Pega Sales Automation Implementation Guide 2-3


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

An Account clipboard page is created and initiated as work page. Values are mapped onto this
clipboard page for the Business Account which is then stored in the database by calling of the
standard PRPC activity Addwork. For the property mapping the Data Transform
crmPrepareAccountCreation is used as shown in the following screenshot:

Pega Sales Automation Implementation Guide 2-4


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-5


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

In case that the Business Account creation fails, the action is rolled back and an error message
is set to pyWorkPage of the Organization.

B2B and B2C Selling Modes


Pega Sales Automation portals can be personalized based on three selling modes: B2B, B2C
and B2B_B2C.

Business Model Via Direct Sales Via Broker


Selling to Business Only B2B B2B2B
Selling to Consumers Only B2C B2B2C
Selling both to Business and Consumers B2B and B2C B2B2B and B2B2C

 B2B: This is the standard functionality in which an organization deals with another
organization, and the customer base is purely an organization with multiple contacts and
accounts associated with the organization.
For instance, a tire manufacturer would sell to a car manufacturer. So, all the customers of a
tire manufacturer are companies who make cars.

 B2C: This is a functionality in which an organization deals with individuals for the business,
and the customer base is purely an individual with the contact record itself acting as the
account for the leads and opportunities.
For instance, a Television manufacturer would sell its products to consumers, and not to any
other company.

 B2B_B2C: This is a functionality that enables an organization to deal with either


organizations or individuals. The customer base can be an organization or an individual.
For example, an insurance company might sell insurance products both at the corporate
level (B2B) to an organization and also at the individual level (B2C) to a single customer.

Technical Implementation Details


Class Structure

 PegaCRM-Entity-Account-Ind: Class to create an Account Individual work object.

Pega Sales Automation Implementation Guide 2-6


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 PegaCRM-Work-SFA-Opportunity-Ind: Class to create an Opportunity Individual work


object.

Pega Sales Automation Implementation Guide 2-7


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 PegaCRM-Work-SFA-Lead-Ind: Class to create a Lead Individual work object.

Property: SellingMode

This property is introduced in PegaCRM- class. This property will be used in Accounts,
Opportunities, and Leads work objects to differentiate the work object as a B2B work object or a
B2C work object.

Pega Sales Automation Implementation Guide 2-8


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Dynamic System Setting Rule: SellingMode

Description: A setting to identify the application Selling Mode. Values include: B2B, B2C or
B2B_B2C.

Pega Sales Automation Implementation Guide 2-9


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Navigation Rule

 SFAWebPortal_TopNavigation
Description: Menu to display the quick create menu in the header.

Pega Sales Automation Implementation Guide 2-10


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 SFAPortalMenuItems

Pega Sales Automation Implementation Guide 2-11


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

When Rule

 isSellingModeB2B

Pega Sales Automation Implementation Guide 2-12


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Description: To find out whether the sellingmode DSS is B2B

 isSellingModeB2C
Description: To find out whether sellingmode is B2C or not

Pega Sales Automation Implementation Guide 2-13


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 isSellingModeB2BB2C
Description: To find out whether sellingmode is B2BB2C or not

Pega Sales Automation Implementation Guide 2-14


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Flow

 crmCreate
Class: PegaCRM-Entity-Contact

Description: This flow rule will create a contact and an Individual account, and it will
establish a Primary-Individual relationship between the contact and the newly created
Individual account. If you specify an Organization, this flow will establish an Employee
relationship between the contact and the corresponding organization. If you specify an
Account, the flow will establish a Primary-Business relationship with the corresponding
account.

Pega Sales Automation Implementation Guide 2-15


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 crmCreate
Class: PegaCRM-Entity-Account-Ind

Description: This rule will create an individual account, and it also creates a C2A link. This
flow rule will be called during creation of the contact.

 crmCreate
Class: PegaCRM-Work-SFA-Opportunity-Ind

Description: This flow rule will create an individual opportunity

Pega Sales Automation Implementation Guide 2-16


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 crmCreate
Class: PegaCRM-Work-SFA-Lead

Description: This flow rule is used to create an individual lead.

Pega Sales Automation Implementation Guide 2-17


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 crmConvertLead
Class: PegaCRM-Work-SFA-Lead

Description: For conversion of an individual lead to an opportunity or contact, this flow rule
will be called. For Opportunity conversion, the flow will take the corresponding individual
account linked to the contact and associate the converted opportunity with the account.

Pega Sales Automation Implementation Guide 2-18


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Section

 pyWorkPrimaryDetails
Class: PegaCRM-Entity-Account-Ind

Pega Sales Automation Implementation Guide 2-19


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Description: During creation of an individual account, the following section rule will be called.
It will take Primary Contact, Territory, and Owner. The AccountValue sum will be calculated
based on AgeScore, GenderScore, LifeStageScore, MaritalStatusScore, and
OpportunityScore, and that information will display in the details tab after creation of the
Individual Account. The scores will depend on the selection of the contact in the individual
account creation (Primary Contact column).

 pyWorkPrimaryDetails
Class: PegaCRM-Entity-Contact

Description: During creation of a contact, the following section rule will be called. Accounts
autocomplete result will be visible when an Organization is selected. Organization is not a
required field. However, TerritoryID for the contact is required.

Pega Sales Automation Implementation Guide 2-20


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 pyWorkPrimaryDetails
Class: PegaCRM-Work-SFA-Lead-Ind

Pega Sales Automation Implementation Guide 2-21


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Description: This section rule will be called during creation of the Individual Lead work
object. As with Business Lead, it will not take Lead Company, Industry, Revenue,
Employees, and Contacts. LastName and Territory are required properties.

Pega Sales Automation Implementation Guide 2-22


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-23


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 SFAPortal_AccountsList
Description: This section will show the accounts list view. The section contains 3 grid layouts
with different when conditions (isSellingModeB2B, isSellingModeB2C,
isSellingModeB2BB2C). Based on the sellingmode DSS, a corresponding grid will be
displayed.

Pega Sales Automation Implementation Guide 2-24


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 SFAPortal_OpportunitiesList
Description: This section will show the Opportunities list view. The section contains three
grid layouts with different When conditions (isSellingModeB2B, isSellingModeB2C,
isSellingModeB2BB2C). Based on the DSS setting, a corresponding grid will be displayed.

 SFAPortal_LeadsList
Description: This section will show the leads list view. The section contains three grid
layouts with different When conditions (isSellingModeB2B, isSellingModeB2C,
isSellingModeB2BB2C). Based on the DSS setting, a corresponding grid will be displayed.

Pega Sales Automation Implementation Guide 2-25


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 DeclareTrigger: changeContactTerritoryID

Pega Sales Automation Implementation Guide 2-26


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Description: This trigger will be called whenever contact TerritoryID changes. When the
Contact TerritoryID changes, the corresponding individual account TerritoryID is changed.

Pega Sales Automation Implementation Guide 2-27


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

DataPage

 Declare_crmAccountInd
Description: This data page will open the current individual account details.

 D_crmPrimaryIndividualAccount
Description: This data page will load the Primary-Individual account corresponding to the
contact.

Pega Sales Automation Implementation Guide 2-28


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-29


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 Declare_crmOpportunityInd
Description: Used to load an individual opportunity.

Pega Sales Automation Implementation Guide 2-30


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-31


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Activity

 crmLoadPrimaryIndividualAccount.
Description: Used to load a Primary Individual account corresponding to the contact.

Pega Sales Automation Implementation Guide 2-32


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 crmOpenOpportunity
Description: Used to open an individual opportunity

Pega Sales Automation Implementation Guide 2-33


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Report Definition

 crmAccountsList
Description: In the Sales Automation portals (Sales Representative, Sales Manager and
Sales Operations portals), this report definition is used to show the accounts. The Report
definition takes SellingMode as an input parameter. Based on the input parameter, the
corresponding details are shown in the list view.

Pega Sales Automation Implementation Guide 2-34


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 crmOpportunitiesList
Description: In the Sales Automation portals (Sales Representative, Sales Manager and
Sales Operations portals), this report definition is used to show the opportunities. The
Report definition takes SellingMode as an input parameter. Based on the input parameter,
the corresponding details will be shown in the list view.

Pega Sales Automation Implementation Guide 2-35


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Description: In the Sales Automation portal for showing the leads this report definition will be
used. The report definition will take SellingMode as an input parameter. Based on the input
parameter corresponding details will be shown in the list view.

Pega Sales Automation Implementation Guide 2-36


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Data Instances:

The following relationships are used to support associations between contacts, organizations
and account:

 Employee: Between a Contact and Organization


 Primary-Business: Between a Contact and a Business Account
 Primary–Individual: Between a Contact and Individual Account

Backward Compatibility/Migration
To migrate from a version lower than Sales Automation 7.12 we need to fill SellingMode in the
work object instances of Accounts, Opportunities, and Leads.

For that one following activities are introduced.

Activity

 MigrateSellingMode (PegaCRM-Entity-Account)

Pega Sales Automation Implementation Guide 2-37


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Description: This activity will add SellingMode(B2B) to the earlier version Accounts work
object instances.

Engagement Trends
The activities that lead to strong customer engagement are measurable through data.
Monitoring customer engagement data is a necessary step in preserving strong customer
relationships and ultimately driving business.

Pega Sales Automation Implementation Guide 2-38


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

The “Engagement Trends” is a feature in which users can view engagement data across an
organization. Customer engagement is tracked across the following dimensions: Digital Activity,
Activities, Email Activity and Contact Growth. The data being surfaced through Engagement
Trends is highly valuable to sales and management teams as they evaluate the status of
customer relationships as well as to marketing teams to gauge campaign effectiveness.

Engagement Trend is an organization work object specific functionality. On the Organization


work object, there is a tab named Trends. This tab contains data about Digital Activity, Activities,
Email Activity and Contact Growth in the form of charts. This data is fetched either from External
Data warehouse or internal sample table.

To see the trends, open an Organization and click on the Trends tab.

Digital Activity

Website Logins: Website logins represent the number of logins that contacts within an
organization have logged into the website of the seller.

Subscription: The subscription data aggregates the number of contacts within an organization
who signed up for an account in a given month.

Downloads: This graph represents the number of assets downloaded by contacts of the
organization. The contact is derived from the registrant and aggregated across an organization
for each month.

Pega Sales Automation Implementation Guide 2-39


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Activities

The number of Customer Activities for a particular organization is shown in both graphical and
tabular form.

Email Activity:

 Visibility into inbound and outbound email activity for a customer/prospect


 Visibility on to email header but ability to request full email from a Sales Rep if needed

Pega Sales Automation Implementation Guide 2-40


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Email Activity is recorded and shown in graphical and tabular form based on the categorisation
of emails sent and received.

Summary By Contact: It displays the email flow for every contact of the organization.

Pega Sales Automation Implementation Guide 2-41


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Contact Growth:

It shows the contacts added to the organization in graphical and tabular form.

Pega Sales Automation Implementation Guide 2-42


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Technical Implementation Details


Class Structure: PegaCRM-Int-CED-Aggregated

This class maps to either table from External Data warehouse or Internal sample table
(CED_SAMPLE_DATA).

Internal Sample Table

The columns in the following screen shots are maintained in the sample table
(CED_SAMPLE_DATA).

Pega Sales Automation Implementation Guide 2-43


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

External data Source

If external data source is used, mapping of class definition (PegaCRM-Int-CED- Aggregated)


has to be modified based on the external data sources.

Report Definition

 There are total five Report definitions for getting different trends for the Organization, all
these report definitions are filtered by “OrganizationID” and “EventType”.
 Sample data for reference is provided that can be modified by changing Organization’s pyID
and Event Type.
 Below are the Report Definitions used:

Pega Sales Automation Implementation Guide 2-44


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

CustomerActivityOnOrg:

EmailActivityOnOrg:

Pega Sales Automation Implementation Guide 2-45


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-46


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

CrmOrgWebSiteActivity:

CrmOrgSubscriptionActivity:

Pega Sales Automation Implementation Guide 2-47


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

CrmOrgDownloads:

Pega Sales Automation Implementation Guide 2-48


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Engagement Maps for Account Planning


Engagement Maps are Account and Territory planning tools that help you visualize product
penetration levels and “white space” for your Sales reps accounts and territories. They help
promote conversations around not only what you have in your pipeline but also around what you
don’t have in your pipeline

A Dynamic System Setting – EnableEngagementMaps is utilized to Enable or disable


Engagement Map feature. This setting also controls the availability of the new 4-tier product
structure

Prerequisite for using Engagement Maps is setting up the new product hierarchy. This can be
achieved from the Sales Operations portal, from the Tools -> Manage Products.

Pega Sales Automation Implementation Guide 2-49


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

The product hierarchy can also be imported into Sales Automation by using Product Bulk
Upload tool.

Engagement Maps can be accessed from the left navigation. Engagement maps can be viewed
when the selling mode is B2B, B2C or B2B_B2C. When in B2B mode, the Accounts in Reps or
Managers territory are displayed as rows in Engagement Map. In B2C mode, Contacts are
displayed.

Once the mode is finalised, user has option to select how the engagements are viewed: Product
or Product Group.

Pega Sales Automation Implementation Guide 2-50


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

The filters are available to restrict the map to any particular Account or Contact.

Engagement Map shows cells as white space, Active, Sold-Active, Sold, Blocked or NA.

Active: The account has at least one open-active opportunity with that product. When clicked
on the status, list of opportunities because of which status is obtained is displayed.

Sold-Active: The account has at least one open-active and at least one Resolved-won
opportunity with that product. When clicked on the status list of opportunities because of which
status is obtained is displayed.

Sold: The account has only Resolved-won opportunities with that product

Blocked and NA: These status are derived from the Product overrides in the account or
Contact.

Pega Sales Automation Implementation Guide 2-51


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

The Product overrides on Account or Contacts can be updated directly from Engagement Maps
by right-clicking on the cells and choosing the status. This can be performed only when viewing
by product.

The overrides can also be maintained on the Account or Contact detail page.

Technical Implementation Details


Classes Created:

Class Name Description


PegaCRM-View- This is the main class and this holds the complex clipboard structure of
EngagementMap Engagement Map. D_EngagementMap is of this type.
PegaCRM-Index- This is the index class which is used to store the override statuse of contacts and
EngagementStatus accounts
PegaCRM-Embed- This is the embed class used in PegaCRM-View-EngagementMap and it
AccountInfo represents each row of Engagement Map when viewed in B2B
PegaCRM-Embed- This is the embed class used in PegaCRM-View-EngagementMap and it
ContactInfo represents each row of Engagement Map when viewed in B2C
This is the embed class used to store status of each Account(or Contact)Vs
PegaCRM-Embed-
Product(Product Group). This represents each product or product group column in
ProductInfo
engagement map view
PegaCRM-Embed-
EngagementStatus This is the embed class used in accounts and contacts for overrides statuses

Data Pages used:

Pega Sales Automation Implementation Guide 2-52


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Data Page Name Scope Purpose


This holds the page group whose index is id of items of product
D_ProductsInfo Node hierarchy and the value has corresponding details
This page holds the clipboard structure of complex engagement map
D_EngagementMap Thread view
D_crmProducts Requestor This holds the tree view in the tools->Manage Products view

Report Definitions used:

Report Definition Name Description


Fetches the products /Groups/Families/Categories
crmProductsByType depending on type
EngagementStatusesForContactOverrides Fetches contact overrides for given contacts
EngagementStatusesForAccountOverrides Fetches account overrides for given accounts
Used to fetch the accounts based on the filters selected
crmAccountListForEngagement in engagement map filters section - B2B
Used to fetch the contacts based on the filters selected
crmContactListForEngagement in engagement map filters section-B2C
Fetches opportunities by considering the selling mode of
EngagementStatusesForB2BOpportunities the products they are selling-B2B
Fetches opportunities by considering the selling mode of
EngagementStatusesForB2COpportunities the products they are selling-B2C
This is used to fetch the list of opportunities because of
which Sold/Sold-Active/Active is obtained on a Account
OppsByAccountAndProducts Vs Product or Product Group cell
This is used to fetch the list of opportunities because of
which Sold/Sold-Active/Active is obtained on a Contact
OppsByContactAndProducts Vs Product or Product Group cell
This is used to fetch the list of accounts based on
Organization selection. Used in engagement map filters
crmAccountsInOrgList auto complete

Activities Used:

Activity Description
This acts as source for D_EngagementMap data page.
Depending on whether the view is B2B or B2C it calls
PrepareEngagementMapStructure different activities
This prepares the list of what products/ Groups should
PrepareEngagementMapFilters be seen
EngagementMapStructureForAccounts This prepares the EM structure for B2B scenario
EngagementMapStructureForContacts This prepares the EM Structure for B2C scenario

Pega Sales Automation Implementation Guide 2-53


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Activity Description
PercentagesForEngagementMap This calculates the percentages in the header
This activity is called when we update the status from
updateEngagementStatuses EM screen in 'View By Product' view
This is overridden in Product class for bulk upload of
AddData products
This validates each row in the CSV or XML file whether
validateProduct it has proper data. This is for bulk upload scenario

Engagement Map View(Left Menu ->EngagementMap)

The following is the UI structure of engagement map view

EngagementMapFilters section

This is straight forward and here is how it looks:

Engagement Map Body

This is the main section which needs more attention.

Pega Sales Automation Implementation Guide 2-54


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Source for the above grid is D_EngagementMap and its clipboard structure looks as follows:

Here is how D_EngagementMap gets data:

Pega Sales Automation Implementation Guide 2-55


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

EngagementMapStructureForAccounts: This prepares the clipboard structure for B2B scenario


by considering account overrides and opportunities and also calculates the percentages
required in the header. It uses the following report definitions:

 crmAccountListForEngagement
 EngagementStatusesForAccountOverrides
 EngagementStatusesForB2BOpportunities

EngagementMapStructureForContacts: This prepares the clipboard structure for B2C scenario


by considering contact overrides and opportunities and also calculates the percentages required
in the header. It uses the following report definitions:

 crmContactListForEngagement
 EngagementStatusesForContactOverrides
 EngagementStatusesForB2COpportunities

Pega Sales Automation Implementation Guide 2-56


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Managing Products(Menu -> Tools ->Manage Products)

D_crmProducts is the source for this tree grid. And here is how its clipboard structure looks. At
each level ChildItem represents Category, Family , Group or family in the respective level of
hierarchy.

Pega Sales Automation Implementation Guide 2-57


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Bulk upload of products (Tools->Bulk upload->Product)

Bulk upload csv file looks like:

This is how the bulk upload screen looks

Activities overridden or created for this:

Activity Description
Bulk upload for product updates is not supported. This
activity is an extension point given in bulk upload
framework to perform updates. In this case simple exits
OpenDataForBulkMerge after entering
This is the extension activity given in bulk upload
AddData framework to add data.
This validates each row in CSV or each record in XML
validateProduct and checks whther the details entered are valid

Relationships
Building and managing relationships is a key component of any Sales Automation
implementation. Pega Sales Automation provides an application that you can easily extend for
new types of relationships. Standard relationship types that are shipped are Employee, Primary-
Business and Primary-Individual

Class Structure
 PegaCRM-Relationship (Class Group)
 PegaCRM-Relationship-Hierarchy-(Abstract class for hierarchical relationships)

Database Table
CRM_RELATIONSHIP

Pega Sales Automation Implementation Guide 2-58


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Field Description

Field Description
EndDate End date for this relationship
FromRole Specifies the role from
LinkedFrom Parent work object whom it linked to
LinkedTo Child work object where it linked to
LinkedtoClass Class to which it linked
Path Stores the complete hierarchy of the linked object
StartDate Start date for the relationship
ToRole Specifies the role to

Hierarchical Relationships
A sample implementation of hierarchical relationships is in building the n-Tier organization
hierarchy. Pega Sales Automation allows building and viewing the corporate linkage by
associating an Organization as a parent to another, creating a parent-child relationship.

Relationship records are instances of class PegaCRM-Relationship-Hierarchy-Org and are


stored in the CRM_RELATIONSHIP table.

Many-To-Many Relationships
The following relationships model many-to-many relationships between entities in the Sales
Automation system.

 Contact-To-Organization (C2O)
 Contact-To-Account (C2A)
 Contact-To-Contact (P2P)
 (Sales)Operator-To-Contact (Affinity)

C2O / C2A / P2P

The Relationships tab of a Contact object provides all the contact’s relationships grouped by the
type of relationship.

The Relationships tab under Contact shows all relationships to the Contact, grouped by type.

Pega Sales Automation Implementation Guide 2-59


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

All associations with respect to a contact are captured as a relationship. When a contact is
created and associated with an instance of organization, a C2O relationship is created with a
relation type of Employee. Similarly with the account provided, a C2A relationship of type
Primary-Business is created. This allows the contact to be related to other organizations and
accounts (if required), but with different relationship types.

For example, when a contact C1 is created with O1 as organization and A1 as account, Pega
Sales Automation implicitly creates:

 Contact C1
 Primary C2O object for C1 an O1
 And Primary C2A objects for C1 and A1

Relationship types are managed by Sales Ops through the Tools>Manage Relation Types
gadget

You can associate a contact to other contacts by establish a peer-to-peer relationship (P2P)
using the Add Contact link.

C2O Creation Process: There are two ways that the user can associate any active contact with
an org in the system:

 C2O Creation-I: By clicking on the Add Org link on contact’s Relationships tab
 C2O Creation-II: By clicking on the Add Contact link on the organization’s Contact tab

C2A Creation Process: To establish a C2A link between a contact and an account, you should
first establish an active C2O relationship between the Corresponding contact and account’s org.

Similarly, the expiration of C2O flow will check for the any dependent C2As.

Pega Sales Automation Implementation Guide 2-60


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 C2ACreation-I: By clicking on the Add Account link on the contact’s Relationships tab
 C2O Creation-II: By clicking on the Add Contact link on the account's Contact tab

Details of establishing a C2O or C2A Link and field details:

C2O Creation -I:

When you click the Add org link of the Relationships tab of Contact, the M2M screen appears.

You can choose an existing organization or create a new organization.

Edit Flow of C2O/C2A: Editing the flow for these link objects is simple where you can edit a few
of the details or expire the link by providing an end date.

C2O’s expiration has a restriction as shown below. If you try to expire a C2O, which has some
dependent C2As, then you are shown an error saying that there are dependent C2A as listed.

Pega Sales Automation Implementation Guide 2-61


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Classes:

 PegaCRM-Link-Entity-
 PegaCRM-Link-Entity-C2O
 PegaCRM-Link-Entity-C2A
 PegaCRM-Link-P2P

Database Tables:

 crm_link_c2o
 crm_link_c2a
 crm_link_p2p

Affinities

The Affinities feature allows a sales rep to establish relationships between a member of the
selling organization and customers or contacts. This gives sales reps visibility into whether other
sales reps know the same contact. The affinity instance includes details such as Strength, how
close the relationship is, the customer’s likelihood of taking call, accessibility for meeting
requests, and so on.

Fields Detail:

Field Description
Affinity for Operator with whom this Affinity is associated (It’s the Logged in
User always)
Contact Contact/Customer with whom Sales Automation links the above
Operator
Org Organization of the Contact
Account Account of the contact
AirportCode Airport code of contact
Title Title
Relationship Description Details of Relation between the Operator and the
Customer/contact.
Sold Before At Did user sold earlier to this contact at a different company or org
Likelihood of Call return Likely hood of customer coming back

Pega Sales Automation Implementation Guide 2-62


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Field Description
Strength Strength of the Affinity
Affinity Since Date that the relationship between the operator and contact
began
Last Face-To-Face Last face-to-face date
Returns Email Does the contact respond to Email?
Meeting Accessible Is the contact accessible for meetings?
Have Sold to them Before Did user sell to him in the past?
Notes Any other information or details
Suggested Visits List of Suggested Visits with contacts

Class: PegaCRM-Link-Affinity

DB Table: crm_link_affinity

The Affinities top tab shows the list of Affinities for the logged in Operator. From the Affinities
tab, you can:

 View list of your Affinities


 Edit and Add a new Affinity

You can manage the Affinities using the Edit and Close flows. Affinities can also be viewed from
the Affinities tab of org, account and contacts.

The following shows the Review screen of the Affinity.

Suggested Visits

Once an Affinity has been established, a sales rep can request a visit with the customer by
creating a Suggested Visit.

Pega Sales Automation Implementation Guide 2-63


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Only those users with the following access group permissions are allowed to see the
Suggested Visits button. You need to add this role name in the user’s access group to provide
the permission to the required user.

Access Role Name: PegaCRM-SFA:SuggestedVisits

Privilege: ShowAllForSuggestedVisits

Account Merge
Account merge functionality enables a user to find duplicate accounts and merge them while
keeping the essential information intact.

This is performed by first finding the duplicate account, then selecting the correct information
from both entities and then deleting the duplicate work object.

 The account that is to be retained is selected.


 From the Actions tab, select Merge Account.

 From the Find Duplicates screen, select the duplicate account. You can limit choices using
the provided filters.

 Once a duplicate Account is selected, a screen displays that allows the user to select
property values from either of the accounts or to enter a different value. The screen has a
Master record (which is retained) and a Duplicate record (which is deleted). The user selects
field values to retain and then clicks Submit to merge the accounts.

Pega Sales Automation Implementation Guide 2-64


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 Once the accounts are merged, the final Account screen comes up, which has the field
values as selected from the previous screen.

Technical Implementation Details


 Class Structure:

Pega Sales Automation Implementation Guide 2-65


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

− PegaCRM-Entity-Account (For B2B)


− PegaCRM-Entity-Account-Ind (For B2C)
 Navigation: crmWorkMenu Navigation rule

 Flow:
crmFindDuplicatesWrapper: This is the wrapper flow for all the work objects

Pega Sales Automation Implementation Guide 2-66


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

crmFindDuplicates: This is the flow specific to the Account Merge functionality. Same flow is
used for both B2B and B2C.

In the crmFindDuplicates flow, the crmFindDuplicates flow action is invoked. This flow action
refers to the crmFindDuplicates section. If any changes are required in the find duplicates
UI, we need to override the crmFindDuplicates section.

Pega Sales Automation Implementation Guide 2-67


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 Report Definition: crmListForDuplicates


Description: In the Find Duplicates section this report is be used to display duplicate
accounts. The Report definition takes SellingMode as an extra input parameter for B2B and
B2C. Based on the input parameter, corresponding details are shown in the find duplicates
UI.

Pega Sales Automation Implementation Guide 2-68


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-69


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 Activity: crmPostMerge
Description: This activity merges all the associated entities from the deleted account to the
retained account. After executing this activity the retained account contains all the entities
from the deleted account.

Pega Sales Automation Implementation Guide 2-70


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-71


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Addresses
Beginning with version 7.21, Sales Automation has the option to support multiple addresses for
Organizations, Accounts and Contacts. Customers upgrading from a previous version will have
the option to either migrate to support multiple addresses, or continue to use a single address.

When using multiple addresses, two additional fields are available:

 Address Type: indicates the purpose to which the address is intended to use for. Available
types are Alternate Address, Business Address, Personal Address and Shipping Address.
More address types can be added as needed. Each work object can have one of each
address type.
 Primary (Address): It is required to have on primary address. This address is used to
calculate and store Geolocation information and is presented as the first address and is
represented in the map section at the right beside the address (or addresses).

Pega Sales Automation Implementation Guide 2-72


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

When editing or adding addresses, the primary checkbox and address type are available, as
well as the “Add Addresses” link. For the first address, address type will default as follows:

 Organization: will be defaulted to Business Address.


 Business Account: will be defaulted to Business Address.
 Individual Account: will be defaulted to Personal Address.
 Contact with an Organization: will be defaulted to Business Address.
 Contact without an Organization: will be defaulted to Personal Address.

Address data for Outlook and Mobile is displayed in a simplified UI to display only the primary
address. When a new address is created on Mobile or via the Pega for Outlook, it will default to
primary and the address type will default behind the scenes.

Pega Sales Automation Implementation Guide 2-73


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Migrating Addresses
Existing customers using the single address model can migrate to a multiple address model
using a migration activity to copy the existing addresses into the new structure.

Please reference the Upgrade Guide for details on how to migrate addresses.

Technical Implementation Details


Toggling Old and New Address Structure

Customers can choose to keep the single-address data structure from Sales Automation 7.14
and prior versions, or to leverage the new multiple address structure.

The Dynamic System Setting ToggleMultipleAddresses has to be set to:

 True when using the multiple address structure


 False when still using the old single address structure

All rules required to cover the appropriate address feature are checking this DSS by the When
rule isToggleMultipleAddresses (applying to @baseclass) to decide which to use.

Pega Sales Automation Implementation Guide 2-74


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Property Structure

For the new multiple addresses support a new Page List Property Addresses applying to
PegaCRM- was created which is using the Data Class Data-Address-Postal, while the old Page
Property Address (using the same Data Class) still is used for the old single address support.

Pega Sales Automation Implementation Guide 2-75


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-76


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Class Data-Address-Postal was extended with properties AddressType and isPrimary.

Index Tables

A new Declare Index rule Index_Addresses (applies to PegaCRM-Index-Address) was created


which now also contains the Properties AddressLine2, AddressType and isPrimary. This index
is exclusively used by the new Page List Property Addresses.

Pega Sales Automation Implementation Guide 2-77


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Sections for Desktop

The following description references to Organization again, however it’s applicable for all other
entities containing addresses.

Each entity has a Detail tab which represents detailed information about the entity. This tab also
includes the address or addresses. The technical rules which is used for is the section
pyWorkSummary and applies to the appropriate entity class.

This section includes a couple of other sections which are used to present the address data:

Pega Sales Automation Implementation Guide 2-78


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-79


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Single Address Section

This section represents the single address support, and the properties stored there are related
to the Page Property Address. If the When rule isToggleMultipleAddress evaluates to false, the
section crmAddress (applying to PegaCRM-Entity- and PegaCRM-Work-) is presented.

Pega Sales Automation Implementation Guide 2-80


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

If the entity is in review mode, the upper Dynamic Layout 1 is presented, in edit mode Dynamic
Layout 2.

crmAddresslistReview Section

The section crmAddresslistReview (applying to PegaCRM-Entity- and PegaCRM-Work-) shows


up when:

 the entity is in review mode and


 the When rule isToggleMultipleAddresses evaluates to true and
 the Page List Property Addresses contains more than one address entry

Pega Sales Automation Implementation Guide 2-81


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

crmAddressList Section

The section crmAddressList (applying to PegaCRM-Entity- and PegaCRM-Work-) shows up


when:

 the entity is in edit mode and


 the When rule isToggleMultipleAddresses evaluates to true and
 the Page List Property Addresses contains more than one address entry

Pega Sales Automation Implementation Guide 2-82


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

This section is implemented as a Grid Repeat layout and uses the standard functionality of
PRPC.

Sections for Mobile

For the appropriate entities on a mobile device the section pyWorkSummary_Mobile is used to
present the data in review mode. This section is extended by a section include with
crmAddressListReview_Mobile (applying to PegaCRM-Entity- and PegaCRM-Work-) which
presents the address data of the primary address in Paragraph
crmAddressDetailsReview_mobile (applying to PegaCRM-Entity- and PegaCRM-Work-).

Pega Sales Automation Implementation Guide 2-83


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

For edit mode the section pyWorkSummary_Mobile_Write is used for entities. This section is
also extended by a section include with crmAddressMA_Mobile (applying to the appropriate
entity class) as shown in the screenshot below.

Pega Sales Automation Implementation Guide 2-84


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-85


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Field Values

For optimization and easier code maintenance (localization) the following field values are
provided:

 ListRelatedToB2C Contact
 ListRelatedToB2C Opportunity
 pyMessageLabel AddressTypeMustBeUnique
 pyMessageLabel OnePrimaryAddressrequired
 pyMessageLabel OnlyOnePrimaryAddressRequired

Duplicate Matching
Duplicate matching functionality is currently available for Contacts. Customer-defines matching
rules are applied to alert the user of potential duplicate records when:

 A new Contact is created


 A Contact is updated
 A Lead is converted to a Contact

The Duplicate Search supports the detection of duplicate entities but it does not prevent
duplicates because the user has the ability to ignore the potential duplicates. It is simply a tool
to identify potential duplicates and do not deny the creation of a new Contact.

Out of the box, the Duplicate Search runs automatically in the background when the user puts
data into the following fields. Customers can easily configure this matching logic to suit specific
business needs.

 First Name
 Last Name
 Email Address

The implemented logic checks whether these fields have content and performs the check when
the appropriate field is updated.

The out of the box behavior is:

 If the Email Address matches another Contact entity that the user has access to  Single
Field Trigger
 If First Name AND the Last Name matches another Contact entity that the user has access
to  Double Field Trigger

The system runs the Duplicate Search in the background and show the “See X potential
duplicates” link under the updated field if a match is detected.

Pega Sales Automation Implementation Guide 2-86


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Within this screen the user has a couple of options to perform:

 Click on First Name or Last Name: the selected Contact record will be opened in review
mode. The already opened screen to create a new Contact will still be kept in the
background and can be selected from the recent list again for further processing.
 Click on Ignore Button: the overlay will close, and the user may continue to create the new
Contact.
 Click on Cancel Add Button: the whole process to create a new Contacted will be cancelled,
the user returns to the initial point. When Converting a Lead to a Contact this will instead be
a “Use Existing” button that allows the user to select an existing Contact for the conversion.

Technical Implementation Details


UI – Action Sets

The center UI component where the event to run the Duplicate Search is triggered is section
[Link]. For the properties WorkEmail, FirstName and
LastName Action Sets are defined, they differ only by the parameter SetSearchOn set in Action
1 as described below. The following actions are defined:

WorkEmail

Event: Change.

Action 1: Refresh–This Section. In the context of this refresh the Data Transform SetSearchOn
is triggered with the parameter SetSearchOn = “Email”.

Pega Sales Automation Implementation Guide 2-87


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Action 2: Refresh–Other Section. Updating section [Link]


to ensure that the section DisplayDuplicateMessage is populated if applicable. It calls Data
Transform crmSetContextForDuplicateSearch which gets the right context where the Duplicate
Search has to run (see later chapter).

Pega Sales Automation Implementation Guide 2-88


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Action 3: Refresh-Other Section. Updating section PegaCRM-Entity-


[Link], calling Data Transform crmSetContextForDuplicateSearch as
well.

Action 4: Refresh-Other Section. Updating section PegaCRM-Entity-


[Link], calling Data Transform crmSetContextForDuplicateSearch as
well.

Pega Sales Automation Implementation Guide 2-89


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

FirstName/LastName

Action 1: Refresh-This Section. Parameter SetSearchOn is set to “Name”.

The following screenshots show the configuration for WorkEmail as an example.

Data Transform crmSetContextForDuplicateSearch

A Contact is usually created in the primary context PegaCRM-Entity-Contact which on the


clipboard is represented by page pyWorkPage.

This differs in the case when a Contact will be newly created when a Lead will be converted into
a Contact. The primary context represented by clipboard page pyWorkPage is now PegaCRM-
Work-SFA-Lead. The context is also changed when a Contact is created by relating it to an
Organization or an Account. pyWorkPage then will be in the context of PegaCRM-Entity-Org or
PegaCRM-Entity-Account. In all of this three cases the Contact creation will be handled by the
clipboard page LinkContactPage.

The Data Transform crmSetContextForDuplicateSearch ensures that the data used for the
Duplicate Search is created and used properly.

UI – Additional Sections

In section [Link] the section PegaCRM-Work-


.DisplayDuplicateMessage is included in two locations. It appears only when potential duplicate
entities are found (by the use of the When rule AnyDuplicates).

Pega Sales Automation Implementation Guide 2-90


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-91


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-92


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

DuplicateDetectionMessage is implemented as a Link and refers to the property


DuplicateDetectionMessage which contains data in case that one or more potential duplicate
entities are identified in the system.

When hovering over the link an overlay appears which shows the duplicate candidates. The
overlay is described in a later chapter.

AnyDuplicates When Rule

AnyDuplicates accesses the property pxResultsCount on Data Page D_DuplicateList to check


whether potential duplicate entities were found. Because a Data Page is typically created
automatically, in this case the code to identify potential duplicate entities is handled by the load
activity of this Data Page which is described in the next chapter.

Pega Sales Automation Implementation Guide 2-93


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Data Page D_DuplicateList and Load Activity BuildDuplicateList

This Data Page is used to present a list of potential duplicate entities. It is defined as a list of
PegaCRM-Work- (for future use and extension), has a Thread scope and reloads once per
interaction.

Pega Sales Automation Implementation Guide 2-94


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-95


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-96


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Because of the standard behavior of Data Pages related to the scope and refresh strategy, this
page is newly created when it is triggered by the When rule AnyDuplicates which runs any time
when the appropriate input field in the UI is changed. So the important part of the Duplicate
Search happens in the Load Activity BuildDuplicateList.

Load Activity BuildDuplicateList

This activity runs the Duplicate Search based on the information already placed on the
clipboard. The steps are described in more detail in this chapter.

Pega Sales Automation Implementation Guide 2-97


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

In Step 1 and 2 the context will be set according to Data Transform


crmSetContextForDuplicateSearch which is already described in an earlier chapter.
PrimaryPage then represents the page where the Contact data is held on the clipboard.

Pega Sales Automation Implementation Guide 2-98


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

To restart a clean process for Duplicate Search Step 3 clears the property
DuplicateDetectionMessage, Step 4 clears potential existing messages on PrimaryPage.

If When Rule RunDuplicateSearch evaluates to true, step 5 sets the parameter properties to call
the appropriate Report Definition GetDuplicateList while Step 6 passes the needed parameters
for the search to Report Definition by using the Data Transform BuildDuplicateSearchCriteria.

When rule RunDuplicateSearch evaluates in this implementation any time to true. This
mechanism is planned to be used as an extension point to run the Duplicate Search
conditionally in future. If it evaluates to false, the activity steps immediately to step 11 and runs
Method Page-Remove on D_DuplicateList.

Step 7 runs the report.

In case that that more than one potential duplicate entry is identified, in step 8 the Property
DuplicateDetectionMessage is set with “See [X] potential duplicates”. If only one duplicate entry
is found, step 9 sets property DuplicateDetectionMessage with “See 1 potential duplicate”. After
setting the property, both steps are jumping directly to step 12 and end the activity.

As already described above, step 11 removes the Data Page D_DuplicateList from the
clipboard.

Pega Sales Automation Implementation Guide 2-99


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Households
Overview
For B2C Selling business models, there are requirements around associating individuals into a
specific ‘Household’ or more generally into ‘Groups’. These associations allow for modelling
efficient upsell use cases for a household and provide for efficiency in consolidated mailings.

Business Use Cases Supported:

 Display a grouping of contacts called household with the ability to identify a contact as a
primary person of contact.
 Add a contact to the household
 Remove a contact from the household
 Associate opportunities or Accounts to the household

Household List
Household is a new concept that is used to group people into an entity. If the DSS setting for
household “UseHousehold” is enabled and the selling mode is “B2C” or “B2B_B2C”, the left
navigation menu will display Household menu on both the desktop and mobile. On mobile
devices, When the selling mode is “B2C”, the Household tile is also displayed on the mobile
launch pad.

When the Households link is selected and clicked, the right side of the portal will display all the
households you have access to.

Pega Sales Automation Implementation Guide 2-100


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Creating Household
You can create a new household by pressing the button on the top right corner of the household
list. It will display a screen that allows you to fill in information about the household and identify
all the members in the household.

On this screen you can enter the name of the household, phone number, description, and the
address of the household. There is also a checkbox called “Use Head of Household Info”.
When checked, the information will be populated with the information from the head of the
household. This checkbox is available only when the DSS setting “UseHouseholdDefaultName”
is enabled.

The second half of the screen is the list of members associated with the household. You can
add members by clicking the Add/Remove Members button. It will open a modal dialog.

Pega Sales Automation Implementation Guide 2-101


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

The dialog will display a list of contact information for all Sales Automation members that you
have access to. To add a member to the household click the name. This will remove it from the
available list and add it to the household. Once a member is in a household, you can set their
start date, end date and role. There are validations when you submit or when you select the
role. A household must have only one head of household. The head of household will
determine the territory the household resides and who has access to the household. You can
also remove members by clicking the trashcan. This will remove the contact from the household
and return it back to the available list.

Once member updates are complete, Click Submit to return to the main household screen. You
can still update the role, start date, and end date before creating the household.

Pega Sales Automation Implementation Guide 2-102


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Edit and Add/Remove Members


With a household created, you can edit it or update its member info. You can do this from the
menu or from the buttons. When you select Edit, the household members are displayed for
editing.

Pega Sales Automation Implementation Guide 2-103


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

When you select to Add/Remove Members, the list of members is displayed for you to update.

Pega Sales Automation Implementation Guide 2-104


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

In both update screens, a “Show Inactive Members” checkbox is displayed. Once a member
has been added and submitted to the household, if they are removed they are also added to the
inactive list for historical purposes. This checkbox will toggle hiding and displaying a list of
inactive members.

Pega Sales Automation Implementation Guide 2-105


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Contact
If household is enabled and the selling mode is B2C or B2B_B2C a Household tab on the
contact screen can be used to display the household this contact is associated with.

Pega Sales Automation Implementation Guide 2-106


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Here, you can create a household and add members. You can also add the member to a new
household or to an existing household.

Add to New Household


When you add a contact to new household, the new household screen appears and the
member information is prepopulated with the member added to the household.

Pega Sales Automation Implementation Guide 2-107


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

You can enter the information for the household. The “Add/Remove Member” button is not
available because option is intended to provide a quick way to create the household, adding this
contact as a member.

Adding to Existing Household


When adding the member (contact) to an existing household, you need to select from a
household that the member is not currently active in.

Pega Sales Automation Implementation Guide 2-108


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

After selecting an existing household to add the member to, the household information is pre-
populated. The member that you want to add to the existing household is listed at the top. The
role, end date, and start date are updatable. When adding a new member, you are allowed to
reconfigure member roles for the household. So, for existing members, the only field you can
modify from this screen is role.

Classes
Household
Data Model

The household class PegaCRM-Entity-RelationshiopGroup-Household extends a base class


PegaCRM-Entity-RelationshipGroup. The relationship group class is used to group people
within an entity. In this case, household is used as the member group. Other examples that
use the relationship group class could be golf clubs, alumni, and so forth. The relationship
group class extends PegaCRM-Entity-, which is a subclass of Work. This provides all the
inherent benefits of a “Work” class feature.

Flows

Household has the basic crmCreate, crmEdit, crmClose and crmReactive flows, and several
additional flows. They include

 AddContactToExistingHousehold, which is called by the AddToExistingHousehold flow in


PegaCRM-Entity-Contact. This flow is used to add the current contact to an existing
household.

Pega Sales Automation Implementation Guide 2-109


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 AddContactToHousehold which is called by the AddToNewHousehold flow, also in


PegaCRM-Entity-Contact. This flow is used to add a contact to a new household.
 crmAssociateDisassociate is used to add and remove members and is launched from the
button or menu after a household is created.

Household Members
Data Model

The Household member class extends a base class called PegaCRM-Relationship. The
relationship class is used to identify the relationship of a person to the entity. We can identify
whether this member is head of household and when they joined or left the group. Some of the
key properties in the relationship class are:

− FromRole : Used to identify the role of the person’s relationship in the entity
− LinkedFrom : The contact id (person)
− LinkedFromClass : The contact class
− LinkedTo : The household id (entity)
− LinkedToClass : The household class
− StartDate : Relationship start date
− EndDate : Relationship end date

Team Selling
Pega Sales Automation provides the ability of Team Selling on Account level.

Each Account would normally have a single Owner that has full permission to this object, with
permissions based on territories. A sales representative who does not have access to the
appropriate territory and is not part of the related Sales Team would not have access to the
account.

With the concept of Team Selling, it is possible for sales representatives in other territories to
get permission to an Account. To implement this feature, a sales person is assigned to the
Sales Team as a member with the role Sales Rep. In this case the new assigned sales person
will become automatically a co-owner of the appropriate Account and will have the same
permissions the owner has on the object.

The Team Selling or co-owner permissions will automatically be removed when a sales person
is removed from the Sales Team list of the related Account.

There are two UI sections where the co-owners can be identified. One is the Tab Sales Team
where any team member entry with the role Sales Rep is automatically a co-owner.

Pega Sales Automation Implementation Guide 2-110


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

In this Tab also the Account Owner can be identified with the Role Owner.

The other section is in the Account details where a comma separated list of all co-owners shows
up in the property Owner(s).

Activity and Task Management


Sales and Marketing staff spend a great deal of their time interacting with customers. Ultimately
the goal of these conversations is to sell product; however any particular conversation can touch
on subjects such as the customer’s business challenges, budget and timeframe, product
demos, and so on. These conversations can take place across a number of different channels –
email, phone, in person, LiveMeeting, even chats with clients. Historically sales reps have been
required to submit Call Reports where the rep details the interaction with the customer. The
report is read by the manager and filed away. Call Reporting is traditionally seen as
indispensable by sales management and as busy work by sales representatives. One of the
main goals must be to make this feature simple and ensure that the benefit is seen by both
management and Sales Representative by providing robust reporting and intent-driven
functionality.

A customer activity is any meaningful communication between a sales rep and a customer or
potential customer that is designed to drive a sale or develop a professional relationship. A ten-

Pega Sales Automation Implementation Guide 2-111


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

minute phone call to introduce the customer to your company and describe the products offered
is a customer activity. A 1-hour discussion about sports, holiday plans, and the summer
blockbuster is not. A customer activity involves at least one contact and at least one member of
the sales team. It has a purpose, an outcome, an interaction date, and can have follow-up tasks.
The activity should also be related to an account or opportunity.

Fields Detail:

Field Description
Subject Subject for the interaction made
Date Date on which interaction takes place
Communication type The channel used for the interaction like email, mobile, In Person
Related To type The work object the interaction is related to
Related To Name of the work object
What was the outcome? Specify the final outcome
Customers List of all customers who participated in the interaction
Internal Staff List of all the internal staff people who participated in the
interaction
Follow-Up Activities Any follow-up activities that need to take place after the
interaction

Class Structure: PegaCRM-Work-Task-CustAct

Pega Sales Automation Implementation Guide 2-112


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

The Activity functionality is part of the product and is shipped with the PegaCRM and
PegaCRM-SFA rulesets.

Flow: crmCreate

Activity: InitializeCustomerActivity

Description: Extension activity, implement anything pre-activity.

Activity: CreateToDo

Description: Loop through follow up task list and create new task for each follow up entries.

Pega Sales Automation Implementation Guide 2-113


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Activity: UpdateStatus

Description: Update the status of the work object to “Resolved-Completed”.

The following shows the Activity screen.

The following figure shows the Review screen. From one activity, you can create another
activity work object.

You can create activities from Opportunity, Contact, Account & Organization, and make
associations from these work objects.

Pega Sales Automation Implementation Guide 2-114


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Data Page: Declare_crmActivity

Description: Here “Load Activity” has been configured as data source.

Activity: crmOpenActivity

Lead Management
Pega Sales Automation enables organizations to manage leads from initial capture and routing,
through the qualification process, and ultimately though conversion to an Opportunity. Leads
are usually sourced via bulk import, web services, or manual entry.

Click on any of the leads in the Leads screen to open the lead object in the Review screen.

Pega Sales Automation Implementation Guide 2-115


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Capture
Pega Sales Automation supports multiple lead-capture strategies:

 Manual lead input – Quick Create menu on top of each user portal enables you to create a
lead manually.
 Bulk import utilities. See the Bulk Upload section under Administration Tools:
 Real-time integration with Pega Next Best Action Marketing – Once you import the Pega
Next Best Action Marketing adapter rulesets, you can create leads through local campaigns
or program functionalities. Requires NBAM licensing.
 Web service access for real-time integration with third-party marketing automation – lead
creation is exposed as a web service in Pega Sales Automation.
 Exposing an IAC lead capture form on a public website.

Route
Marketing Ops or Sales Ops teams can use Pega’s decision logic to set up routing rules so that
leads are assigned to the correct individuals upon entry. Below is an example of using a
decision table that could be configured to route leads.

Push notifications are available to alert representatives of new leads on their mobile devices.
See the Push Notifications section in this chapter for more details.

Pega Sales Automation Implementation Guide 2-116


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Nurture
You can use local campaigns in Pega Sales Automation, to drive marketing campaigns or sales
strategies. Local campaigns offer a high degree of flexibility so you have control over each detail
of an offer.

You can qualify, disqualify, or convert leads based on the result of the campaign.

You can configure process flows to define the appropriate actions based on campaign
response.

Pega Sales Automation Implementation Guide 2-117


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

You can easily maintain the details of an offer.

You can create email templates based on corporate designs to use in the campaign.

Pega Sales Automation Implementation Guide 2-118


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Qualify
As a lead progresses through its lifecycle, the owner can qualify or disqualify the lead.

Sales Reps can qualify Marketing-qualified leads in one click by changing the stage for the lead.

You can Qualify a lead by selecting Actions > Edit on the review screen of a lead and by
changing the status.

Pega Sales Automation Implementation Guide 2-119


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Convert
The last stage of the lead management process is to convert the lead to an opportunity or
contact on the appropriate account.

You can convert leads to new opportunities, existing opportunities, new contacts, or existing
contacts.

Sales Reps can convert a lead in a manner that makes the most sense for the business. To
convert the leads, the sales reps launches the following screen by selecting Actions > Convert
Lead on the Review screen of a lead.

Pega Sales Automation Implementation Guide 2-120


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-121


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Opportunity Management
Opportunities are qualified deals that you track, nurture, and manage. Opportunities are the
foundation of your sales pipeline, goal attainment, and forecast.

Sales managers are able to easily assess their team’s opportunity pipeline and performance
with visibility into management reports, dashboards and forecasts.

Opportunity Management also allows you to construct a made-to-measure sales methodology to


suit your sales processes. Your sales employees are guided through every step of your process
from qualification to closing of the opportunity.

Click the Opportunities tab in the left navigation pane to display the opportunities page.

In the Opportunities Screen, click any of the available opportunity links to display the
Opportunity Object.

Pega Sales Automation Implementation Guide 2-122


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Fields Detail
Field Description
Name Name of the Opportunity
Short Name Short Name of the Opportunity
Description Description of the opportunity.
Amount Estimated total sales amount.
Close Date Date when you plan to close the opportunity.
Stage Current stage of opportunity based on selections you make from
a predefined list, for example, Prospect or Proposal.
Probability Likelihood the opportunity will close, stated as a percentage.
Forecast Category Forecast category of the Opportunity
Source Source of the opportunity, for example, Advertisement, Email, or
Web.
Must Win High priority opportunity – Company really wants to win
Account Name of account the opportunity is linked to.
Owner Assigned owner of opportunity.
Territory Territory with which the opportunity is associated.
Age Age of Opportunity in days. i.e., from creation to closure.
Partners Partners of the Opportunity
Competitors We can track competitors in the opportunity.
Products Specific product or service that is purchased and delivered to the
prospect as it relates to that specific sale.

Sub Tabs
The Opportunity screen has the following tabs:

Pega Sales Automation Implementation Guide 2-123


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Tab Description
Details Displays Partners, Competitors, Products and Stage History
Contacts List of all the contacts associated with this opportunity.
Activities Displays Activities, Tasks, Emails and Appointments associated
to the Opportunity.
Leads List of the leads that are converted to this opportunity.
Narratives Updates for the current and previous weeks.
Attachments All file attachments associated to the opportunity.
Sales Team All sales team members and followers of the Opportunity
Pulse Pulse social content

Sales Methodology
Sales Automation leverages Pega’s Case Lifecycle Management to model your sales
methodology and guide your reps through every step of the process.

Opportunities progress through sales stages from initial qualification through to closure of the
deal. Pega Sales Automation ships with standard stages, which can be modified to support
your sales process. Stages are assigned probability values that represent the likelihood of a
deal closing.

Opportunity Description Probability


Stage
Qualification The sales rep is currently interacting with the 10%
candidate to determine if a sales opportunity exists.
Analysis After determining that the candidate has interest in the 25%
products or services, the sales rep brings out the
prospect’s business problems.
Proposal The sales rep delivers the proposal (sometimes called 50%
the price quote) to the candidate.
Decision After finding that there is a match between the 75%
prospect’s business problems and the company’s
products and/or services, the sales rep identifies the
decision makers necessary to close the opportunity.
Negotiation The sales rep reviews and negotiates the proposal 90%
with the prospect.
Won The sales rep has won this opportunity. Here we will 100%
get a customer.
Closed This stage can be reached due to any one of many 0%
reason inclulding Duplicate, Lost or Suspend.

The following decision table is used for holding the probability values corresponding to the
stage.

Pega Sales Automation Implementation Guide 2-124


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Case Lifecycle Management


Pega Sales Automation leverages Pega 7 Case Lifecycle Management to allow organizations to
model their sales methodologies, and guide sales reps through every step of the sales process.

When an Opportunity is created, steps that you configured are created for each stage in your
sales process. Launching a step initiates a flow that can be configured to automate a process,
capture data, and ensure that a step is executed. For example: require a contract, launch an

Pega Sales Automation Implementation Guide 2-125


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

email template, capture competitors or create an Appointment for the team working the
Opportunity.

Because every organization has a different process, Pega Sales Automation does not ship with
specific steps. However installing the Sample Application exposes 14 sample steps that
showcase the capabilities of this feature, as seen in the following figure. For information about
how to install, configure and demonstrate the sample steps, see the Tech Note Working with the
SFA Sample Application, available from the Pega Sales Automation page on the Pega
Developer Network (PDN): [Link]

Technical Implementation Details


Case Type

In Pega 7 terminology, a specific definition of a work type, such as a sales opportunity, is


defined as case. The main configuration of this case takes place in a case type rule. The Sales
Automation application itself contains this rule as well but as already mentioned without any
step definition.

The case type is defined as Opportunity (Work Class: PegaCRM-Work-SFA-Opportunity), and


the belonging technical rule is named pyDefault within that case type.

Sales Stages and Steps

All steps used in the stage view are defined within the case type rule, and any step definition
represents a flow which is performed when the step is called.

The following screenshot show an excerpt of the case type rule containing stages and steps:

Pega Sales Automation Implementation Guide 2-126


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

The red rectangles focus on:

 Opportunity: common case type definition

Pega Sales Automation Implementation Guide 2-127


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 pyDefault: the technical rule of this case type


 Stage Qualification: definition of a specific stage
 Manually launched processes (examples): PurchasingTimeframe, IdentifyStakeHolder,
DetermineBudget. Those steps are defined in stage Qualification.

All steps are maintained in the case type rule. So if steps should be added or removed, this
needs to be configured in this rule prior the steps can be configured and used.

Stage View Customization


The default behavior in the Pega 7 platform is such that displayed steps per stage on the OOTB
UI are automatically launched processes. Due to the way that sales tasks occur, the Pega
Sales Automation application was designed to provide sales personnel with a list of optional
processes per stage that could be manually launched from the UI instead of automatically
launching processes or constraining what steps the user can take at different points in the
overall life-cycle of an opportunity. This design guides a sales representative based on the sales
methodology and allows the user to execute.

To bridge that gap the solution is implemented using the following features:

 Load Activity crmLoadStageStatusDP to calculate and store the appropriate visualization


data.
 Data Page D_crmCaseStagesAllSteps on the clipboard as a container for opportunity
specific visualization data.
 Additional UI sections to provide a visualization of the Opportunity Lifecycle Management.
 A Value Group Property in the opportunity to track the step completion.

Load Activity

The Load Activity crmLoadStageStatusDP is used to propagate the needed visualization data
on Data Page D_crmCaseStagesAllSteps.

The following description does not cover all details of the activity but focuses on the relevant
functionality for the visualization. Note that visualization in this context means displaying the
needed identifier and providing related information. It is not concerned with UI styling, which is
not part of this description.

 Step 2: this java step collects all data used to display the stage view later on. It accesses the
case type rule to get the stage and step definition and creates the appropriate data
structures for the current opportunity object.
 Step 5: this java step prepares the data content which is important to show the stage view
chevrons later as expected.
 Step 6: the prepared visualization data will be copied to the final Data Page.

Pega Sales Automation Implementation Guide 2-128


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Data Page

Data Pages that do not exist on the clipboard are created automatically at the first access or
reference. The Load Management algorithm determines when refresh will occur. This behavior
is used to simplify the implementation of the propagation of the stage view visualization data.

The Data Page used to provide the stage view content is named D_crmCaseStagesAllSteps
and is configured for Thread mode. This is done because each opportunity has the same stage
view but the step completion state can differ.

The Data Page will be reloaded once per interaction to immediately cover any step state
changes.

Pega Sales Automation Implementation Guide 2-129


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-130


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

UI sections

The data for an opportunity case is displayed using the section pyWorkSummary. This section
is extended using the section crmDisplayStages which contains a Repeating Layout of all
class entries stored on Data Page D_crmCaseStagesAllSteps of Class Embed-Stages. This
data is used in section crmStageName which is embedded in section crmDisplayStages.

For the step presentation each stage entry on the Data Page contains a list steps belonging to a
specific step. This data is used in section crmStageProcesslist as a Repeating Layout of Page
.pxProcess of class Embed-StageProcessHistory. This section is embedded in section
crmStageName.

Value Group Property

The Opportunity Lifecycle Management provides the ability to indicate step completion.
Therefore a green checkmark is used in the UI.

The indicator is set automatically when a step completes by clicking the Submit button.

During post-processing of the flow actions of each step a Data Transform stores that information
in the Value Group Property crmFlowsCompleted by adding the current flow name as value.
The property itself is stored into the opportunity object. The following pictures show an example
on a flow action as well as on the clipboard.

Pega Sales Automation Implementation Guide 2-131


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

The Value Group Property crmFlowsCompleted is used any time when the stage view within
the opportunity is re-rendered.

Step Flow Definition

In the stage view, each step is represented by a link which performs a specific step flow when
clicked. Those step flows generally do not create a new work object but they modify specific

Pega Sales Automation Implementation Guide 2-132


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

data of the opportunity itself or provide the ability to run certain actions such as sending emails
and appointments as well as attaching documents to the opportunity.

The following description illustrates the common implementation of a step, and specific
implementation excerpts with regard to attachments, emails, appointments and validations.

Example Step Definition

The screenshot below shows the technical base flow definition which is almost identical for all
step flows.

The flow performs the following steps.

1. Set properties, especially the initial value “Proposal” to identify the relevant attachment
category for this flow.
2. Use the ProposalDevelopment assignment shape for user interaction and internally place
the work object into the workbasket SFADefault where it is picked up by the user.
3. Save user input using the crmProposalDevelopment flow action, which is performed when
the user clicks the Submit button. The user input is saved, the completion checkmark is set,
the flow ends and the user returns to the opportunity screen.
4. Perform the flow action crmCancelAction when the user clicks the Cancel button and runs
some cleanup actions. The user returns back to the opportunity screen without any
modifications.
If needed on flow actions, pre-processing actions (Activity or Data Transform) can run before
the UI is shown to the user, validations can run to validate the user input, and post-processing
actions can run to finalize the user interaction.

Related to the flow Proposal Development, the following actions are defined:

Pega Sales Automation Implementation Guide 2-133


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 Pre-processing Activity crmPrepareProposalAttachments


This activity runs prior to displaying the UI. It prepares the list of already attached proposals
to the opportunity on a temporarily clipboard page and initiates an indicator to show the
attachment section only when attachments of type Proposal are already exist.

 Validation crmValidateProposal –
This validation runs when the user clicks the Submit button. It verifies that a proposal is
attached to the opportunity. This is required for the step flow to complete successfully.

 Post-processing Data Transform crmSetCompletedFlows –


This data transform sets the indicator that the flow is completed. The related property is
used to show the green checkmark in the UI when returning to the opportunity object.
 Post-processing Activity crmClearProposalAttachments
This activity runs after the attachment validation and cleans up the clipboard by removing
the temporarily created attachment page.

Pega Sales Automation Implementation Guide 2-134


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Extending Case Lifecycle Management


Although the system changes need to be done by a System Architect, they are relatively easy to
implement. This section describes the following tasks:

 How to add a step to stage (example for step Qualification)


 How to add a stage flow

Common handlings of Pega such as RuleSet Definitions, configuring Operator ID’s or check in /
check out are not part of this description.

As long as no other rules from different RuleSets are used, all rules apply to PegaCRM-Work-
SFA-Opportunity and will be saved in RuleSet PegaCRM-SFA.

Adding a Step to Stage Qualification

The Sales Automation application is designed such that all steps are defined as manually
launched processes.

Check out the case type rule for Opportunity and select the Stages tab.

Pega Sales Automation Implementation Guide 2-135


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

To associate the new step with the Qualification stage, click the add icon below the existing list
of manually launched processes.

Enter the name of the process that should be launched for the step by either selecting an
existing flow or creating a new one. In this example the existing flow ExecutiveVisit will be
selected.

Pega Sales Automation Implementation Guide 2-136


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

If a new flow will be created then it is important that this flow is saved before saving the case
type rule, otherwise an error message will occur.

Clicking on the add symbol (pointed by the arrow) will allow you to create a new flow or edit the
existing flow.

Pega Sales Automation Implementation Guide 2-137


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-138


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

This example Flow is constructed very similar to the step flows. Features they have in common
are:

 Each flow contains an assignment for user interaction. This assignment is named as the flow
itself.
 Each assignment has the flow action crmCancelAction which is performed when the user
clicks the Cancel button. It will clean up prepared data for the flow if applicable.
 Each assignment has a flow action to perform the flow-specific action and follows the
naming convention crm<FlowName>

All that is required is to include a new flow behind a new step. The new step in the Case Life
Management then appears the Qualification stage. Assuming that the flow behind the step is not
in draft mode, it can be performed with a click on the step ExecutiveVisit.

If required the step flow can now be modified and extended as needed.

Adding a Stage Flow


A stage flow is a serial combination of the step flows contained in the stage. The flows
supporting the steps will be connected from top to bottom and are executed one after another.
The only requirement is that the stage flow must have the same Name as the stage itself. The
Qualification step already contains a stage flow which can be performed by clicking on the stage
name. It runs the step flow in the order as shown below.

The flow implementation itself has this shape.

Pega Sales Automation Implementation Guide 2-139


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Connector properties (A): sets an indicator whether the flows are currently running in a stage
flow. This influences the behavior of the contained flows.

Subprocess PurchasingTimeframe (1): reuses the already existing step flow


PurchasingTimeframe. This applies as well for IdentifyStakeholder (2) and DetermineBudget
(3).

Connector properties (B): resets the indicator mentioned for Connector properties (A).

Because each contained flow can be cancelled, the indicator is reset on the crmCancelAction
flow action of the appropriate flow, because potentially following flows are not performed and
the end of the stage flow can not be reached.

Beware that in any contained flow where the user clicks the Submit button, this flow will be later
on indicated on the stage view as completed.

As the next step the flow needs to be associated with the stage. The stage itself represents a
link within the stage name.

Pega Sales Automation Implementation Guide 2-140


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Technically this link is located in section crmStageName and requires an Actions set
configuration, as shown in the image below. The stage flow name must be the same as the
stage itself.

Opportunity Merge
Account merge functionality enables a user to find duplicate Opportunities and merge them
while keeping the essential information intact.

This is performed by first finding the duplicate Opportunity, then selecting the correct information
from both entities and then deleting the duplicate work object.

 The Opportunity that is to be retained is selected.


 From the Actions tab, select Merge Opportunity.

Pega Sales Automation Implementation Guide 2-141


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 From the Find Duplicates screen, the duplicate opportunity is selected; it can be searched
by using the filters provided.

 Once a duplicate Opportunity is selected, a screen is displayed that allows the user to
select values for the fields from either of the opportunities or to enter a different value. The
screen has a Master record (which is retained) and a Duplicate record (which is deleted).
The user selects values for the fields and then clicks Submit to merge the opportunities.

Pega Sales Automation Implementation Guide 2-142


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 Once the opportunities are merged, the final Opportunity screen comes up, which has the
field values as selected from the previous screen.

Technical Implementation Details


 Class Structure:
− PegaCRM-Work-SFA-Opportunity (For B2B)
− PegaCRM-Work-SFA-Opportunity-Ind (For B2C)
 Navigation: crmWorkMenu Navigation rule.

Pega Sales Automation Implementation Guide 2-143


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 Flow: crmFindDuplicates
Description: This is the flow specific to the Opportunity Merge functionality. Same flow is
used for both B2B and B2C.

Pega Sales Automation Implementation Guide 2-144


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

In the crmFindDuplicates flow, the crmFindDuplicates flow action is invoked. In this flow
action, the crmFindDuplictes section is referenced. If any changes are required in the Find
Duplicates UI, the crmFindDuplicates section is overridden. There are two different
crmFindDuplicates section rules to implement B2B and B2C functionality.

Pega Sales Automation Implementation Guide 2-145


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 Report Definition: crmListForDuplicates


Description: In the Find Duplicate section used to show duplicate opportunities, this report
will be used. The Report definition takes SellingMode as an extra input parameter for B2B
and B2C. Based on the input parameter, corresponding details are shown in the Find
Duplicates UI.

Pega Sales Automation Implementation Guide 2-146


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-147


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 Activity: crmPostMerge
Description: This activity merges all the associated entities from the deleted opportunity into
the retained opportunity. After executing this activity, the retained opportunity contains all
the entities from the deleted opportunity.

Pega Sales Automation Implementation Guide 2-148


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-149


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Forecast Management
Forecast Overview
Forecasting provides Sales Management with a summary of the pipeline for the year, broken
down by fiscal quarter and forecast category. The overall capability sets include:

 Ability for Territory owners in the hierarchy to adjust the three critical values related to
opportunities (Stage, Amount, Close Date) and set a Forecast category on each opportunity
 Ability to represent the Forecast to Sales management according to fiscal quarters and
Forecast categories, drill downs into the relevant details
 Appropriate security measures to ensure override values and Forecasting capabilities are
only shown to the right levels in the territory manager tree
 Ability to get business insights into “What’s changed”

Forecast is a tabular representation of all the opportunities the user is working on. It is used for
analysis, understanding the pipeline, and planning. You can forecast by clicking the Forecast
tab.

Forecast displays the four quarters of the fiscal year and the forecast categories. The number at
the cross-section of two values is the total opportunity amount for those opportunities that fall in
that category. To view a different year, adjust the filter.

You can select a territory for which you want to see a forecast from the autocomplete, which
shows list of territories whose forecast you have access to view.

To see the forecast values for all the opportunities you own, you can select Owned by me in
the autocomplete list.

Pega Sales Automation Implementation Guide 2-150


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

By selecting the grand total value, a list of all your opportunities for fiscal year 2012 appears
below. You can open each opportunity by selecting the name from the list.

To update your forecast, select Update Stage from the Take Action menu in the opportunity
record.

The update stage editing mode allows you to change the stage, close date, and forecast
category. The changes made here automatically appear in a refreshed forecast table.

To override the forecast at various levels up the hierarchy of territories for an opportunity, select
Forecast from the Take Action menu.

Pega Sales Automation Implementation Guide 2-151


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Only operators who own a territory can override the forecast values at that level. An operator
with the SFAForecastUpdateAll permission can update the forecast for all opportunities at
every level.

“What’s changed” visibility in Sales Forecasts


 New “Recent Changes” forecast sub-tab for real-time visibility into forecast changes over the
past 90 days
 Changes to Amount, Close Date, Sales Stage triggers an entry in the history table for each
forecast category
 A row with a warning sign icon indicates a negative impact to the business – e.g. Date
slipped or value fell

Pega Sales Automation Implementation Guide 2-152


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Narratives
Narratives add a qualitative dimension to the forecasting process. Sales reps enter weekly
updates summarizing their accomplishments for the current week, and their plans for the
coming week. All levels of sales management can see Narratives for the opportunities in their
Territory and contribute their own insights.

Click the Forecast Tab in the left navigation, and then select the Narratives sub-tab. The default
filter is all Opportunities for the Current Quarter. Selecting an Opportunity displays the most
recent narratives for that Opportunity, along with any Management insights. Sales reps and
managers can add and update the narratives in the right pane.

Pega Sales Automation Implementation Guide 2-153


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

The Filter by dropdown allows for a Custom Search, or a search by Organization Name

When selecting Custom, search dialogues for Quarter, Forecast Categories, Territories and
Account Executives (reps) become available. This allows Reps and Managers to search across
all Narratives that they have access to.

Narrative data is often used on sales calls to review the relevant opportunities and share
updates across the sales organization. The Export to PDF link generates an easy to read
report to easily share and distribute with your team.

Pega Sales Automation Implementation Guide 2-154


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Creating Narratives
 From the “Forecast” tab in the left navigation pane, select “Narratives”.

 Once a Sales Rep selects “Narratives”, the Rep will get a list of all the Opportunities under
his domain on the left side. Every opportunity in the list has a checkbox. If Narratives are not
filled for the current week, then the checkbox remains in an unchecked state.

 When the narratives are filled and saved, the checkbox is automatically checked. Also, the
name of the Rep who last updated the narrative is also mentioned.

Pega Sales Automation Implementation Guide 2-155


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 The down arrow on the page gives brief information about the selected opportunity and by
clicking the “View Opportunity” link; the complete opportunity record is opened.

 The management insight dialogue allows managers to provide insight and feedback to the
sales rep and other managers.

If more than one manager is involved in an opportunity, they can all add their Insights in
different dialogues.

Technical Implementation Details


We follow class inheritance from the Data-Portal-LandingPage and override the rules identified
instead of creating new ones. The goal is to establish a baseline UI for creating landing pages
that can be reused across work objects and actions. Potential other uses include completing CIs
(Customer Interactions), accepting or closing leads, etc. – it’s like a work list where you do the
assignment without leaving the list.

Pega Sales Automation Implementation Guide 2-156


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

The pattern establishes a basic structure and UI rules for displaying the top, left, and main
sections of the landing page, as well as a mechanism for traversing a list of work objects on the
left and opening them in the main section.

The Sales Automation Landing page for sales reps follows a generic pattern we have
established at the PegaFW layer. The pattern is meant to identify the structure of the landing
page and extension points. All changes made should be in an implementation layer.

Class: Data-Portal-LandingPage

Ruleset: PegaFW-LandingPages

Usage:

 Extend the Data-Portal-LandingPage for your implementation needs; ex. “PegaCRM-Portal-


WeeklyUpdates” or “Data-Portal-LandingPage-SalesManager”
 Override any rules as needed (see below)
 Add an option to SFAPortalMenuItems to open a Harness of your implementation class

 Override the pyDefault data transform as necessary


 Override the D_LandingPageWork and D_LandingPageWorkList data pages as necessary

UI Rules:

Pega Sales Automation Implementation Guide 2-157


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 LandingPage - This harness rule provides the structure for all landing pages. Override it
only if you want the layout to be radically different.

LandingPageHeader

LandingPageLeft LandingPageMain

 LandingPageHeader – this section rule contains the Header Text, Actions, and SubHeader.
Header Text is a property set in the pyDefault data transform and is displayed using
formatted text. It is expected that both LandingPageActions and LandingPageSubHeader
are overridden.

LandingPage
Actions

LandingPageSubHeader

 LandingPageLeft - this section will hold the list of work objects the user should be
browsing or working on. It contains a grid repeat populated with D_LandingPageWorkList.
Clicking on a row sets the focus and changes the value of the Work ID and Class properties
used to populate the LandingPageMain section. You can also use the up and down arrows
to do the same.
This section should be overridden in your implementation class.

Pega Sales Automation Implementation Guide 2-158


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 LandingPageMain – this section contains the content you wish to display for each work
object as it’s selected. By default it displays the pyWorkSummary section using
D_LandingPageWork as the context. The section is refreshed whenever WorkID is changed.
This section should be overridden in your implementation layer.

Note: do not remove the Work Action, Class, and ID fields; these are needed to update
the context when a new work object is selected.

Pega Sales Automation Implementation Guide 2-159


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Data Model

The data model is very simple, consisting of a few properties to keep track of the current work
object and a data transform used to initialize the landing page.

 pyDefault – sets the HeaderText property. Override this data transform in your
implementation layer to customize the header or initialize any other fields.
 HeaderText – displayed at the top of the landing page
 WorkAction - the default flow action users are expected to take on each work object
 WorkClass – the class of the object the user is working on

Pega Sales Automation Implementation Guide 2-160


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 WorkID – the pyID of the object the user is working on

Data Pages

Two data pages are used by the landing page rules. These data pages are designed to be very
generic so they can be extended or reused as needed.

 D_LandingPageWork – this is an editable data page defined on Work- that holds the work
object the user has opened in the landing page. It calls an activity OpenLandingPageWork,
which takes the WorkID and WorkClass parameters.

 D_LandingPageFilter acts as a one-stop page to make sure that the data is filtered as per
requirements. By setting appropriate values for the filter page properties, we will be able to
filter the data on load
 Some of the items we filter by are
 DateFilterForLP holds the date time range that needs to be considered on the report

Pega Sales Automation Implementation Guide 2-161


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 BaseFilterForLP holds the value of the base filter. Valid values are “Select…”, “Custom”
and “Search by Opportunity”
 ForecastFilterForLP holds the forecast stage from the filter
 MyOwnTopBTListString Populates the Top level BT for the logged in user
 TerritoryID Holds the territory Signature of the filtered territory
 pyOwnerName Holds the filter values for the Users.
 OrganizationName Holds the filtered values for Organization

Sections

 Landing Page Header


LandingPageHeader section is overridden in the Sales Automation layer and it holds the
filters for the close plan tool. These filters set the values on the above mentioned
D_LandingPageFilter. The Header initially has only one drop down, Default. This is the
default filter that loads the list based on the criteria. All opportunities in the current and next
quarter. The filtering types are made based on the values set for BaseFilterForlandingPage.
This property holds either “Default”, “Custom” or “Search by Organization”. When the
property is set to Custom then we have a more elaborate set of filters displayed. We can
filter based on the Date (All dates, current quarter, next quarter, current year etc.), territories
the user is allowed Declare_crmOperatorAccess.OpportunitiesReadAccessable and it is
loaded by the report definition crmBusinessTerritoryListOpportunitiesRead, filter by
opportunity forecast and to filter by the list of operators who own these opportunities. When
the filter property is set to search by Organization we see an autocomplete filter and it helps
select from the list of opportunities and it retrieves data for all close dates.

 LandingPageLeft
The LandingPageLeft section holds a repeating Layout that has a Data Page
D_ClosePlanWorkList that is a thread level page with source as the report definition
WorkListforLandingPage. It also has a post response data transform that sets results from
the data transform to the primary page. The Repeating Grid Layout gives pagination on 8
rows. On the UI front, each row holds the Opportunity Name, Organization name for that
Opportunity, Owner name, Forecasted Amount for the logged in User and Opportunity Close
Date. We also have a check box for representing if the Close plan update has been set. The
logic for the same is set in the post response data transform for the Parent data page. An
onclick event has been configured for the below actions.

a. If there are any unsaved close plan updates in the previous screen, then display a pop-
up modal with the message that there are some unsaved items. The user is given the
option to either save it from the modal itself or discard the changes. For this there is a
JavaScript written to perform doGridAction in the [Link] file
added to the Harness. It calls a flow action via the script doGridAction
(ev,"FLOWACTION","ConfirmDialog", {"noThreadProcess":"true"},null,"false");.
In the ConfirmDialog Flow action we call the ConfirmDialog section that gives the
message that you have some unsaved items

Pega Sales Automation Implementation Guide 2-162


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

b. Set focus on current row.


c. Set the WorkID and WorkClass properties in pyDisplayHarness page. This is checked
for LandingPageMain and when the value changes it causes the LandingPageSummary
section to refresh with the new D_LandingPageWork context.

 Landing Page Main


The LandingPageMain contains the landingPageSummary section. It has a section include
which uses the D_LandingPageWork Context. As shown below it takes two parameters.
Note that there is a refresh condition that executes any time the WorkID changes. Alongside
a RemoveEditableClosePlanPages data transform is executed to ensure that the pages are
cleaned up and that fresh data gets loaded every time you click on an Opportunity.
D_landingPageWork is an Editable thread level page. It is loaded by the activity
LoadLandingPage. This activity in turn calls OpenWorkForLandingPage from the
Opportunity Class. This activity checks if the opportunity does not have a close plan Work
object. If not, it will create a new ID and add it as coveredItems to the Opportunity work
object.

Pega Sales Automation Implementation Guide 2-163


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 Landing Page Summary


Landing Page Summary section is holding the right side panel of the Narratives layout. The
section rule LandingPageSummary is overridden in the Sales Automation layer from
PegaFW-LandingPages ruleset.

Pega Sales Automation Implementation Guide 2-164


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Work List for Landing Page

The opportunity list in the Narrative tab is populated from D_ClosePlanWorkList data page.

Pega Sales Automation Implementation Guide 2-165


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-166


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Export PDF

The Export PDF link calls the local action getClosePlanExport which loads the section
ConfirmExportYesNo on the modal

The Continue with Export button opens up a new Window and loads an Activity that streams the
PDF related data.

Pega Sales Automation Implementation Guide 2-167


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

ExportClosePlantoPDF activity loads the getMyTopTerritories activity to get the Top Level
territories in the current context.

It then loads the Harness as a stream. The Harness Holds the sections in the same
arrangement as required on the PDF. Here the Harness Used is ClosePlanReport in Rule-
HTML-Harness. This contains the UpdateSummary section which has a dynamic layout with a
source of D_ClosePlanReportList and it populates the data to the section
ExportOpportunityDetails

Pega Sales Automation Implementation Guide 2-168


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

The updates are loaded from the list .ClosePlanUpdates. This property refers to a data page
and accesses the data from that page via a key.

Pega Sales Automation Implementation Guide 2-169


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

The D_ExportClosePlanUpdate is populated with the report definition ExportClosePlanUpdates


as Source and posts as response the data transform ClosePlanUpdateList.

Calling the HTMLToPDF in ExportClosePlantoPDF creates the PDF and the below code takes
care of naming and export.

Pega Sales Automation Implementation Guide 2-170


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Modal Window for Opportunity View

The Opportunity modal view is shown by launching the local action OpportunityDetailsWrapper
as on Overlay.

Pega Sales Automation Implementation Guide 2-171


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-172


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Editability of Close Plan Updates

The editability of the Close Plans Updates for current week is controlled by
CanCreateManagementInsights when rule shown below. Note:It makes sure if the user has a
privilege CanCreateManagementInsights we make sure it is not editable.

Pega Sales Automation Implementation Guide 2-173


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

To add a new manager insights, the CanCreateManagementInsights When rule controls


editability. For a SalesRep, this When rule evaluates to false and therefore prevents the
SalesRep from adding a new Insight.

Pega Sales Automation Implementation Guide 2-174


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-175


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-176


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Mobile
Desktop vs Mobile Features

Pega Sales Automation Implementation Guide 2-177


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-178


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Offline First
Pega SA is a Mobile-ready application with offline capabilities. The application is built on the
ideology of Offline First. It works with an assumption that it is always functioning in offline mode;
as a "special case", if the system happens to be online, the synchronization of the data happens
immediately.

Pega Sales Automation Implementation Guide 2-179


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Mobile Launch Pad: The launch pad in the mobile application shows all the work objects in the
form of tabs. Clicking one of these tabs causes the landing page for the corresponding work
object to be displayed. These tabs also have an Add “+” icon that enables quick creation of new
work objects. The launch pad effectively helps in navigating through the application.

Pega Sales Automation Implementation Guide 2-180


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

In the offline mode, the launchpad looks the same but the “+” icons are not present for the work
objects which can’t be created in offline mode.

Left Navigation Menu: Navigation to any part of the application becomes even easier using the
left navigation panel. The option to open the left navigation panel is available on almost all of the
screens. This panel provides links to all work objects along with links for launch pad, dashboard,
Recent and Following, and “Log Out” options.

In the offline mode, the left navigation menu looks the same except for the indicator on the top
to indicate the offline mode.

Enhanced Search: Sales Automation mobile UX has been enhanced to support Search
functionality. Global search is available in the launch pad and via the left navigation panel. The

Pega Sales Automation Implementation Guide 2-181


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

search results are presented with separate tab icons to easily filter search result for different
work objects.

In the work object search landing screens, the search is limited to the specific work object.

Territory security model is applied in all search results.

Also, in B2B_B2C mode the work object specific search provides results based on the specific
tab selected - Individual, Business or All.

Lucene search is disabled in the offline mode. If search is attempted, user gets a prompt saying
the action can’t be performed in offline mode.

Pega Sales Automation Implementation Guide 2-182


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Work object landing screens: Whenever a work object is selected from the launch pad or left
navigation panel, the landing screen for the work object is displayed. This screen lists the work
objects in different tabs as required by the work object. Also, the landing screen has a work
object specific search capability.

In the offline mode, the landing screens are modified to accommodate the offline requirements.
Not all the records are displayed in the offline mode.

Pega Sales Automation Implementation Guide 2-183


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Work
Mobile Offline Mobile Online
Object
Favorites: Recent + Followed cases Favorites: Recent + Followed cases
All: Show List of logged activities in All: Show List of logged activities in
Activities
last 90 days ordered by update date last 90 days ordered by update date
descending descending
Favorites: Recent + Followed cases Favorites: Recent + Followed cases
All:Blank screen prompting user to All:Blank screen prompting user to
Contacts enter search term enter search term
Nearby: List of contacts within a
Nearby: Hidden
distance range
Favorites: Recent + Followed cases Favorites: Recent + Followed cases
Accounts Business: List of Business Accounts Business: List of Business Accounts
Individual: List of Individual Accounts Individual: List of Individual Accounts
Favorites: Recent + Followed cases Favorites: Recent + Followed cases
Business: List of Business Business: List of Business
Opportunities Opportunities Opportunities
Individual: List of Individual Individual: List of Individual
Opportunities Opportunities
Favorites: Recent + Followed cases Favorites: Recent + Followed cases
Leads Business: List of Business Leads Business: List of Business Leads
Individual: List of Individual Leads Individual: List of Individual Leads
Favorites: Recent + Followed cases Favorites: Recent + Followed cases
Organizations
All: List of All Organizations All: List of All Organizations
Favorites: Recent + Followed cases Favorites: Recent + Followed cases
Households
All: List of All Households All: List of All Households

Pega Sales Automation Implementation Guide 2-184


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Work object detail screens: When any Work Object is selected from the landing screen, the
detail screen is displayed. It contains the main details and the sub-tabs are listed which can be
selected to expand and display appropriate information.

In the offline mode, Activity detail screen is shown exactly as it is shown in the online mode. For
rest of the objects, only selective information (Master information) is shown and rest of the
details are hidden.

Pega Sales Automation Implementation Guide 2-185


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-186


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pro-active log feature: The search result or any list view of the Work Object’s display links to
make a call or to find a location. After completing a call, the operator is prompted to log an
activity. Also, for any contact in the search list, there is also an option to quickly create Activities
related to that contact.

In the offline mode also, this feature works. When a call is initiated, because of the offline mode,
it gets cancelled, but the modal window to create an activity is opened and gives user to log an
activity in the offline mode as well.

Pega Sales Automation Implementation Guide 2-187


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Geo-Location: The Work Objects with an address will display with a location icon in list views.
Clicking on the location icon displays the location of the Work Object in the Google map. The
Contacts landing page also has a tab for displaying “Nearby” contacts. This tab uses geo-
location and latitude / longitude stored on each contact to display nearby contacts.

Currently, geolocation is not enabled in the offline mode.

Salesperson Dashboard: The Salesperson dashboard can be selected from the left navigation
panel. Using the responsive tabs icon, a user can navigate to all the available dashboards.

This feature is not available in the offline mode.

Pega Sales Automation Implementation Guide 2-188


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Recent and Following list: “Recent” and “Following” can be selected from the left navigation
panel. “Recent” lists all the work objects recently opened. “Following” lists work objects being
followed by the logged in operator.

This feature is not available in the offline mode.

Pega Sales Automation Implementation Guide 2-189


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Forecast

Forecasting provides Sales Management with a summary of the pipeline for the year, broken
down by fiscal quarter and forecast category. Forecast is a tabular representation of all the
opportunities the user is working on. It is used for analysis, understanding the pipeline, and
planning. This forecast feature is now available in mobiles as well.

Forecast can be accessed from the left navigation pane. The opportunities are divided based on
the forecast category and the quarter. Filters are also available to enhance the mobile
experience.

Pega Sales Automation Implementation Guide 2-190


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Close Plan Updates (Qualitative Forecasts)

Narratives add a qualitative dimension to the forecasting process. Sales reps enter weekly
updates summarizing their accomplishments for the current week, and their plans for the
coming week. All levels of sales management can see Narratives for the opportunities in their
Territory and contribute their own insights.

Narratives are now available in the mobile also in the online mode. They are available by the
name Close Plans in the mobile. They can be accessed from the left navigation pane. A new
close plan can be added from mobile as well.

Pega Sales Automation Implementation Guide 2-191


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-192


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Appointments:

Appointments are now available on Mobile and it displays the Pega 7 calendar. It is accessible
from the left navigation. When opened, it shows current week and list of appointments with
present day highlighted. User can navigate to any date and check the appointments for that day.

When any appointment is opened, it shows the location, attendees, time and objective of the
appointment. Users get “Late for Meeting” notifications based on Current Location, Meeting

Pega Sales Automation Implementation Guide 2-193


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Location, and Driving time to location with traffic. The Notifications also show on each
appointment in Mobile

A new sub tab under Appointment, “Social Activity”, lists the tweeter feed of all the attendees.
This helps reps better prepare for their conversations.

Pega Sales Automation Implementation Guide 2-194


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Mobile Offline Technical Changes

OSCO Container Setup

Required Case Types has to be Offline Enabled

1. Open the respective Edit Case Type , in settings tab go for General settings and find the
Check box to Enable Offline
2. From Designer Studio->Mobile->Offline in the CaseTypes Tab , we can see the Case types
which are Offline enabled and which are not

Pega Sales Automation Implementation Guide 2-195


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Required Access Groups has to be Offline Enabled

1. Open the respective Edit Access Group, in Advanced Tab , in Run time Configuration find
the checkbox for Enable Offline Support
2. From Designer Studio->Mobile->Offline in the Access groups Tab, we can see the Access
Groups which are Offline enabled and which are not

Pega Sales Automation Implementation Guide 2-196


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 Navigation Items and LaunchPad


− In Navigation items :
- To Vary the WO’s whether to open in Online Only or in both Offline and Online, we
have an Option(Check Box) in the Harness Actions i.e., Always display harness from
the server(only applicable for offline applications)
- If we want some harness has to be displayed only in Online , with the use of this
checkbox this feature will be achieved and additionally it shows up an error saying
“Cannot perform this action in offline” when server is not available
− In LaunchPad :
- Same actions as on Navigation items are done on Launchpad items

Pega Sales Automation Implementation Guide 2-197


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 For Icons. Images, Fonts


All the Static resources like images , icons , fonts, etc. that has to avail in the offline should
be included in the Cache manifest file ( find at Designer Studio->Mobile->Offline , in
Offline rules Tab with the name Modify Cache Manifest.

Pega Sales Automation Implementation Guide 2-198


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 Work Object Landing Screens


Whenever a work object is selected from the launch pad or left navigation panel, the landing
screen for the work object is displayed. This screen lists the work objects in different tabs as
required by the work object. Also, the landing screen has a work object specific search
capability.

Technical changes for the Offline Functionality:

− As Grid Repeat Layouts are not supported by Pega 7.2 , all the Grid Repeat Layouts’ are
replaced by Repeating Dynamic Layouts for the List Views.
− As a data source for the Repeating Dynamic Layout, all the Report Definitions are
replaced by Data Pages to get the packaging done easily.
− To provide the Search functionality in Offline also, two data pages are created, one is
Parameterized data page which is binded to the RDL and the other is Non-
parameterized data page which is used to populate the data to the binded data page
with the usage of JS function (loaded at the Portal Harness Level)
For Example, for Activities:

Parameterized Data page: D_crmActivitiesList

Non- Parameterized Data page: D_crmAllActivitiesList

JS function with the name D_crmActivitiesList() is written in JS file


[Link] and included at the Portal harness Level

− This List view screen is termed as Master Screen


− As special case for contacts, as the list of contacts is large , a JS function which does
OSCO Break Out (hitting the server to get the data) and gets the data based on the
Search Term which is also included in the [Link] file.

Pega Sales Automation Implementation Guide 2-199


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

− To hide few tabs in Offline, like Nearby tab in contacts can be achieved by using
Visibility Expression “[Link] == true “ which shows up
the tab only if the server is available.

Pega Sales Automation Implementation Guide 2-200


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-201


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-202


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 Work Object Detail screens


When any Work Object is selected from the landing screen, the detail screen is displayed. It
is divided into two parts, one as Primary Details which displays the main details and the
other as Secondary Details displaying the sub-tabs list which can be selected to expand and
display appropriate information.

− Primary Details Section: It displays the main Master Details of the respective Work
Object in both Online and Offline mode.
− Secondary Details Section: It displays the sub-tabs list with the run of flow action and
shows up only in Online and in Offline it shows the indication saying “ Cannot perform
this operation when offline”

Pega Sales Automation Implementation Guide 2-203


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 Light Weight Autocompletes


Light Weight Autocompletes renders the list so quickly as it only brings up few top results
based on the search characters and brings the best bets based on the search string. In the
Presentation Tab of the properties of autocomplete , a check box provides the option to
Enable Light weight autocomplete on phone which is visible if and only iff the source for the
autocomplete is a Datapage.

Pega Sales Automation Implementation Guide 2-204


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 Pro-active log feature


The search result or any list view of the Work Object’s display links to make a call or to find
a location. After completing a call, the operator is prompted to log an activity. Also, for any
contact in the search list, there is also an option to quickly create Activities related to that
contact.

In the offline mode also, this feature works. When a call is initiated, because of the offline
mode, it gets cancelled, but the modal window to create an activity is opened and gives user
to log an activity in the offline mode as well.

As Data Transforms are not supported for Offline Functionality, pre-population of the values
while Logging an activity is achieved with the help of JS function which gets called when the
flow get called ( function is present in the [Link] file which gets loaded at
portal harness level).

Pega Sales Automation Implementation Guide 2-205


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 Add item Targeting Repeating Dynamic Layout


While Logging Activity, to Add Contact and to Add Another Task “Add item” for Grid Repeat
Layout is used initially, but as Grids are not recommended for Offline functionality, a new
option for Add item action to target the Repeating Dynamic Layout is used. So that the
required functionality of Adding Contact and Adding Tasks is achieved with RDL’s instead of
using Grid.

Pega Sales Automation Implementation Guide 2-206


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 Global Search, Dashboard, Recents, Following


As these harnesses are always displayed from the server, no changes are required. (Refer
2 .b )

Tablet Application (Responsive UI)


Pega Sales Automation introduces the Omni-Channel UX™, “design-once, access anywhere”
user experience that opens applications to mobile and social channels. Pega Sales Automation
is a Mobile-ready application. This means it re-organizes itself automatically according to the
device viewing the application, so that the same application provides a great experience on any
platform.

Tablet user experience (UX) is rendered leveraging responsive UI.

Pega Sales Automation Implementation Guide 2-207


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-208


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Geolocation
Geolocation functionality enables sales reps to display maps of contact locations, and perform
proximity searches for their contacts to easily get directions, from any device.

Maps and Directions


For every Contact with an address, a map is displayed to the right of the address field with a red
pin locating the address. The blue pin represents the current location of the logged in user.

When the map first displays, you may be prompted to track your location. If you allow the blue
pin will show. If you deny, the blue pin will not show.

A “Get Directions” button is located below the map. If you click Get Directions a new browser
window will open for Google maps. The map displays the two points and provides directions
between them.

Proximity Search
On the Contacts list screen, there is a “Find Contacts Near Me” button, as displayed below.

This button performs a proximity search of your nearby contacts and displays a map showing
any Contacts within the specified radius. The search works on any device with location services
enabled.

Pega Sales Automation Implementation Guide 2-209


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

There is also a “Find Other Contacts Near” button on a Contact Address that will perform a
proximity search of the Contact’s address, and will display any other contacts within the
specified radius of that Contact.

As seen below, proximity searches display a map with one red pin per contact within the radius,
and a list of the contacts showing name, distance, and a link to get directions.

Pega Sales Automation Implementation Guide 2-210


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Technical Implementation Details


Class Structure: The Following classes are added to achieve the complete GeoLocation
functionality. All of the classes listed below are abstract and are utilized to hold various
GeoLocation Data elements.

 PegaFW-Data-GeoLocation
 PegaFW-Data-GeoLocation-Address_component
 PegaFW-Data-GeoLocation-Bounds
 PegaFW-Data-GeoLocation-Geometry
 PegaFW-Data-GeoLocation-Location
 PegaFW-Data-GeoLocation-MapPoints
 PegaFW-Data-GeoLocation-Northeast
 PegaFW-Data-GeoLocation-Result
 PegaFW-Data-GeoLocation-Results2

Pega Sales Automation Implementation Guide 2-211


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 PegaFW-Data-GeoLocation-Southwest
 PegaFW-Data-GeoLocation-Viewport

Dynamic System Setting: EnableGeoLocation

Description: Setting to enable GeoLocation functionality. Valid values are: true, false.

Data Page: D_GeoCode

Pega Sales Automation Implementation Guide 2-212


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Description: This Data Page is used to convert addresses into geographic coordinates which
are used to place markers on maps and to identify entities in given vicinity.

Data Page: D_GeoCode (Parameters)

Description: The Data Page uses the following parameters to achieve the desired functionality:

Key: Holds the Google API Key to utilize the Google Geolocation features. The Key is held in a
Dynamic System Setting that can be modified by an administration.

Dynamic System Settings: Uiengine/Map/GoogleApiKey

Creating a key can be done by utilizing Google’s APIs Console, please click here for instructions
on how to generate the key.

 Address: Holds the street address we want to geocode.

Pega Sales Automation Implementation Guide 2-213


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 Language: The language in which you want the result to be returned. (Click for a list of
supported languages.)
 Region: The region code to limit geocoder results. (Click for a list of valid region codes.)
 Component: Various component filters to further restrict geocoder results. (Click for
information on Component Filtering.)

Request Data Transform: GeoCodeRequestGet

Description: Sets the appropriate values (from the above parameters) for the Google GeoCode
API request.

Pega Sales Automation Implementation Guide 2-214


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Response Data Transform: GeoCodeResponseGet

Description: Captures the response from Google GeoCode API and updates the primary page.
In particular, the “Lat” and “Long” values will be used for the GeoLocation functionality.

Status: One of the following statuses are sent whenever GeoCoding is used

 “Ok” – No Errors Occurred and at least one geocode was returned.

Pega Sales Automation Implementation Guide 2-215


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 “Zero_Results” – Unable to find a geocode for the address provided.


 “Over_Query_Limit” – Over daily quota.
 “Request_Denied” – The geocode request was denied for various reasons.
 “Invalid Request” – Indicates that a key values are missing
 “Unknown_Error” – Request was not processed for unknown reasons.

Data Page: D_ReverseGeoCode

Description: Used to convert a location on a map to human-readable address.

Pega Sales Automation Implementation Guide 2-216


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Data Page: D_ReverseGeoCode (Parameters)

Description: Uses the following parameters to achieve the desired functionality:

Pega Sales Automation Implementation Guide 2-217


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Key: Holds the Google API Key to utilize the Google Geolocation features. The Key is held in a
Dynamic System Setting that can be modified by an administration.

Dynamic System Settings: Uiengine/Map/GoogleApiKey

Creating a key can be done by utilizing Google’s APIs Console, please click here for instructions
on how to generate the key.

LatLng: Holds the geographic location we want to convert.

Language: The language in which you want the result to be returned. (Click for a list of
supported languages.)

Request Data Transform: ReverseGeoCodeRequestGet

Pega Sales Automation Implementation Guide 2-218


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Description: Sets the appropriate values (from the above parameters) for the Google GeoCode
API request.

Response Data Transform: ReverseGeoCodeResponseGet

Description: Captures the response from Google GeoCode API and updates the primary page.
In particular, the address values will be used for the GeoLocation functionality.

Pega Sales Automation Implementation Guide 2-219


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Flow: crmCreate

Class: PegaCRM-Entity-Contact

Description: This flow rule will check if the contact being created has an address. If the contact
has an address then it will check to see the method of creation, Manual vs. Bulk.

Pega Sales Automation Implementation Guide 2-220


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Manual Contact Creation

Activity: ValidateNew

Pega Sales Automation Implementation Guide 2-221


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Description: Validation activity for various values related to contacts. For GeoLocation, we call
crmRetrieveLatLong in a flow utility.

Pega Sales Automation Implementation Guide 2-222


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Activity: crmRetrieveLatLong

Description: ValidateNew activity passes the contact’s address values to this activity. The
values are concatenated and passed to D_GeoCode Data Page for conversion to location
values. If the Data Page retrieves a status value, from Google GeoCode API, other than “OK”,
the contact is queued for an agent to retry.

Pega Sales Automation Implementation Guide 2-223


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Bulk Upload Contact Creation

Description: If the crmCreate flow identifies the process being used as Bulk Upload, every
contact that has an address is queued for GeoLocation.

Pega Sales Automation Implementation Guide 2-224


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Activity: crmQueueForGeoCoding

Description: Queue a contact for the GeoCode agent to retry the retrieval of location information
for a given address.

Pega Sales Automation Implementation Guide 2-225


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

The activity utilizes the following Dynamic System Settings:

AgentMaxRetryAttempts

Description: Determines the number of times the agent will attempt to retrieve location
information.

AgentDelayInterval

Pega Sales Automation Implementation Guide 2-226


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Description: Determines the amount of time before the agent begins to run (in milliseconds).

Agent: GeoCode

Description: Will run every 30 seconds and attempt to retrieve location information for the
queued contacts.

Activity: crmGeoCodeInstance

Description: Called by the agent to retrieve location data.

Pega Sales Automation Implementation Guide 2-227


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Flow: crmEdit (Manual)

Class: PegaCRM-Entity-Contact

Description: This flow rule will check if the contact being edited has an address. If the contact
has an address then it will attempt to get geographical location (using crmRetrieveLatLong
activity).

Pega Sales Automation Implementation Guide 2-228


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Edit (Bulk)
Activity: CreateWorkFromUploadXML

Description: During the bulk upload process, any object (Contact for our example) that is being
updated with new address information will be flagged for GeoLocation.

Utilizing GeoLocation for the End User


Contact List – Find Contacts Near Me

Description: “Find Contacts Near Me” utilizes the current users’ location and compares it to the
location of all the contacts that are available to the user.

Pega Sales Automation Implementation Guide 2-229


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Section: SFAPortal_ContactsListActions

Description: This section has been updated with the “Find Contacts Near Me” button and calls
SFAPortal_ContactsListActions_LatLong section.

Section: SFAPortal_ContactsListActions_LatLong

Class: Data-Portal

Description: This section facilitates in getting the current users Lat/Long values on the
pxRequestor Page. The mechanism that gets the values and updates the requestor page was
intended to be a part of cases. However, the Sales Automation application does not use cases

Pega Sales Automation Implementation Guide 2-230


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

and thus we have to create this section and defer load it. This causes the appropriate values to
appear on the requestor page and enables the rest of the geolocation functionality.

Button: Find Contacts Near Me

Description: Launches the harness that allows the end user to view all contacts that are near
them, for a given radius.

Activity: FindContactsInTheArea

Class: Data-Portal

Description: Create a page to hold the default radius, radiusunit, type of query that is being
made and the long/lat values.

 Radius – Property that stores values from 1 to 50.


 RadiusUnit – Property that stores either miles (69.0) or kilometers (119)

Note: These values are used in a later activity to accurately determine the distance between 2
location points.

Type Of Query – This property determines if the query of contacts is being made for the
requestors’ location or a specific entity’s (Contacts) location.

Pega Sales Automation Implementation Guide 2-231


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Activity: SearchEntitiesInArea

Class: PegaFW-Data-GeoLocation

Description: Calculates the entities within a given radius based on either the current users’
location or the current entities location. The distances are calculated using the mathematical
equation below:

Pega Sales Automation Implementation Guide 2-232


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-233


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Harness: EntitiesInArea

Class: Data-Portal

Description: Calls a section that holds a list of the contacts that are within a given radius from
the current user, a map with a marker for each contact, and two filters to change the radius and
distance type (miles or kilometers).

Pega Sales Automation Implementation Guide 2-234


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Section: EntitiesInAreaBody

Class: PegaFW-Data-GeoLocation

Description: Displays the list of contacts, a map with makers for each contact, the total number
of contacts and the Radius/RadiusUnit filters.

Pega Sales Automation Implementation Guide 2-235


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Section: ContactLocationMap

Class: PegaCRM-Entity-Contact

Description: Allows users to launch a modal window to find other contacts near the current
contact.

Pega Sales Automation Implementation Guide 2-236


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-237


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Button: Find Other Contacts Near

Description: Available only if the contact has an address and geographical location values.

Local Action: EntitiesNearOtherEntities

Class: PegaCRM-Work-

Description: Launches a section to display a list of contacts near the current contact and a map
with markers.

Pega Sales Automation Implementation Guide 2-238


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Section: EntitiesInAreaBody

Class: PegaCRM-Entity-Contact

Description: Displays contact list, map of contacts with markers and filters for Radius and
RadiusUnit.

Pega Sales Automation Implementation Guide 2-239


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Activity: EntitiesNearOtherEntitiesPre

Class: PegaCRM-Work-

Description: This activity will use the current entities location information instead of the
requestors’ location, to find other entities.

Pega Sales Automation Implementation Guide 2-240


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Push Notifications
Pega Sales Automation utilizes the Pega 7 push notification feature available for mobile devices
to send notifications from the application to a mobile device.

Push notifications can instantaneously alert sales reps when important events occur, or critical
thresholds are met, without requiring them to log into an app or sift through emails. The Pega
Sales Automation application utilizes the Pega 7 push notification feature available for mobile
devices. While customers can define their own push notification criteria, the Sales Automation
application comes with two notifications pre-configured out of the box:

 When a Lead is assigned to an Operator


 When Sales Quota has been attained

Lead Assignment
When a new lead is created, or when a lead has been assigned or reassigned, the owner of the
lead will receive a notification on their mobile device.

Pega Sales Automation Implementation Guide 2-241


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Quota Attainment
When an operator has enough closed won opportunities to meet their sales quota, they will
receive a notification on their device. Opportunities that are won after the quota has been met
will produce no additional notifications.

In the following screen, Jeff Green is about half way to his goal.

Pega Sales Automation Implementation Guide 2-242


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

If he closes an opportunity that is more than $8,000 he will meet his goal and receive a push
notification on his mobile device.

Pega Sales Automation Implementation Guide 2-243


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

In addition to seeing the notifications in iOS and Android, there is a screen available on desktop
and mobile devices called “Mobile Notifications” that displays the last 5 notifications by default.
The number of notifications shown is controlled by the “NumberOfRecentNotificationToKeep”
Dynamic System Setting.

Technical Implementation Details


Activity: [Link]

Description: Wrapper activity that calls crmGenMobileNotification to persist the notification to be


viewed later in the Sales Automation application and calls the Pega 7 version of
pySendPushNotification.

Pega Sales Automation Implementation Guide 2-244


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Activity: [Link]

Pega Sales Automation Implementation Guide 2-245


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Description: Determines if operator is a mobile user. Determine how many notifications to keep
via DSS NumberOfRecentNotificationToKeep. Lastly save the notification as an instance of
PegaCRM-Data-Notification.

Pega Sales Automation Implementation Guide 2-246


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

DSS to identify number of notifications to keep is: NumberOfRecentNotificationToKeep

Activity: CheckIfMeetSalesQuota

Pega Sales Automation Implementation Guide 2-247


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Description: Gets the operator quota goal and determines if the goal has been met. If it is the
first time that the sales quota goal has been met then a notification is generated.

Flow: [Link], [Link]

Description: Flow for creating a lead for both B2B and B2C has a utility shape to call the activity
pySendPushNotification.

Pega Sales Automation Implementation Guide 2-248


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Flow: [Link], PegaCRM-Work-SFA-Lead-


[Link]

Description: Flow for changing owner for both B2B and B2C has a push notification utility shape
for the new owner and one for the old one notifying them the lead has been reassigned.

Flow: [Link], PegaCRM-Work-SFA-Opportunity-


[Link]

Description: Flow for closing an opportunity for both B2B and B2C has a utility shape that calls
the activity CheckIfMeetSalesQuota to generate a push notification.

Pega Sales Automation Implementation Guide 2-249


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Message: @[Link]

Description: Message that accepts three parameters for notifying when a lead has been
assigned to you. 1st parameter is operator, 2nd and 3rd is the first and last name of the lead.

Pega Sales Automation Implementation Guide 2-250


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Message: @[Link]

Description: Message that accepts three parameters to notify the user that a lead has been
reassign from them. 1st parameter is operator, 2nd and 3rd is the first and last name of the
lead.

Pega Sales Automation Implementation Guide 2-251


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Message: @[Link]

Description: Message that accepts three parameters for meeting sales quota. 1st parameter is
Operator Name, 2nd parameter is percentage of quota met and last parameter for which time
period.

Pega Sales Automation Implementation Guide 2-252


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Class: PegaCRM-Data-Notification

Description: This holds the instances of persisted mobile notification.

Properties:

− Message: Contains the push notification message


− MessageDate: Date the message was sent
− NotificationID: Unique notification id
− RecipientType: Recipient type "operator", "group" or "application"
− UserID: Operator
− WorkObjectKey: Work object the notification is linked to

Report Definition: [Link]

Descriptions: It is used to display in the Mobile Notifications screen.

Pega Sales Automation Implementation Guide 2-253


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-254


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Sales Goals Management


Sales Goal Management enables organizations to plan and model sales strategies, ensure
timely execution of sales initiatives, and ensure that both sales people and decision makers
have visibility into the sales performance through dashboards.

Specific capabilities include:

 Flexible customer-defined sales goals, such as quarterly sales quotas


 Tracking of goal attainment and performance with real-time dashboards and charts for both
managers and sales reps
 Ability to measure goals against company-specific monthly, quarterly, or annual time frames.
 Management rollups and drilldowns across all levels of the sales organization

Business benefits include:

 Incentivizing sales reps with real-time visibility into goal attainment on a daily basis

Pega Sales Automation Implementation Guide 2-255


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 Management insight into detailed team and territory attainment levels


 Early Identification and mitigation of underperformance

The out-of-the box functionality is configured to measure sales quota as revenue, measured
over fiscal quarters. However, you can easily extend the reports and dashboards to track any
metric that can be quantified by data in your Sales Automation system, for example:

 Lead conversion rates


 Opportunity closure
 Customer activities

Time Period Maintenance


Goals are measured against specific time periods. Before creating goals, set up the year,
quarter, and month time periods against which you want to measure goals. Create the fiscal
year time period first, and then create quarters as children to the fiscal year. If you measure
goals by month, you can enter months for each quarter.

Sales Operations users can use the Tools > Manage Time Periods option to create time
periods or to view existing time periods.

View the list of existing time periods in a hierarchical format in a tree grid.

Pega Sales Automation Implementation Guide 2-256


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Add a new Time period by clicking “+” (Add Icon) on the time period.

You can add child time periods using the (+) icon on the right of the parent time period row. You
can also modify existing time periods by clicking any of the time periods.

Details of Fields
Field Description
Name Name of the year, quarter or month.
Start Start date of the time period.
End End date of the time period.
Type Can be year, month or quarter
Parent If type is quarter, the parent year will be required.

If type is month, the parent quarter will be required.


Active If checked, this time period can be selected when setting up a
Sales Goal.

On the Implementation side, each time period is a data object of type PegaCRM-Data-
TimePeriod. This includes properties as shown below.

Pega Sales Automation Implementation Guide 2-257


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Database Table: CRM_Data_SalesGoal

Technical Implementation Details


Activity: crmLoadTimePeriods

Description: Time periods are displayed by this activity.

Pega Sales Automation Implementation Guide 2-258


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Activity: crmLoadTimePeriodHierarchy

Description:Upon clicking the specific time period, through defer load activity, the corresponding
child time period will be displayed.

Activity: crmSaveTimePeriod

Description: To create a new time period or modify the existing time period.

Pega Sales Automation Implementation Guide 2-259


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Sales Goal Entry


Sales Goals give sales management the ability to plan quarterly or monthly goals for sales reps
based on a variety of metrics. Goals, by default, are based on revenue but can be customized to
be driven by other metrics such as Activities, Number of Opportunities, or Number of Leads
created.

Sales Operations can use the Operators tab to view the existing sales goal or to create a new
sales goal.

Pega Sales Automation Implementation Guide 2-260


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Click the Operators tab to display a list of operators. Click the corresponding operators for
which you want to define a sales goal.

Creation of new sales goal can be done by clicking on “+” (Add Icon).

Details of Fields

Field Description
Fiscal Year Year for which you want to define the sales goal
Quarter Quarter of the fiscal year which you want to define the sales goal
Goal Type The type of goal. “Revenue” represents a sales quota. To extend
this functionality for other types of Goals, a new custom goal type
can be created.
Quarterly Goal Quarterly goal for the selected quarter for the selected goal type
Month – Goal Value Selection of quarter will display the months and we can set monthly
goal for each of the month.

On the implementation side, each time period is a data object of type PegaCRM-Data-
SalesGoal. This includes properties as shown below.

Pega Sales Automation Implementation Guide 2-261


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Database Table: CRM_Data_SalesGoal

Technical Implementation Details


Activity: crmSaveSalesGoal

Description: Will be called on creation of new sales goal and when modifying the existing goal.

Pega Sales Automation Implementation Guide 2-262


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Activity: crmOpenSalesGoal

Description: To open the Sales goal.

Pega Sales Automation Implementation Guide 2-263


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Quota Attainment
Once a goal has been entered, sales reps and managers can track their goal attainment from
the Quota Attainment quadrant in their Sales Automation dashboard. This quadrant measures
QTD Sales versus Quota using a curricular progress (or gauge) chart.

Drill-downs
For a sales rep, the QTD Sales value on the dashboard drills down into the closed opportunities
for the rep for the current quarter.

For a sales manager, the QTD Sales value drills into a tree structure with rollups of sales versus
quota across all levels of the manager’s reporting structure.

Pega Sales Automation Implementation Guide 2-264


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Technical Implementation Details


Activity: SalesGoalAttainment

Description: To prepare Goal attainment report data.

Pega Sales Automation Implementation Guide 2-265


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

To prepare a drill-down report, use a Connect-SQL rule. Each of the supported databases has a
corresponding Connect-SQL rule with the required query to attain the goal attainment results.

Pega Sales Automation Implementation Guide 2-266


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Data Page: D_GoalAttainments

Description: For maintaining the results.

DataSource: Load activity which will load “SalesGoalAttainment” activity.

XML Stream: crmGoalAttainmentForOperatorGaugeChart

Description: To prepare a custom chart for displaying the goal attainment results in a chart form.

Pega Sales Automation Implementation Guide 2-267


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Extending the Sales Goals Application

By default, Sales goals measure a sales quota as a revenue amount for a specific quarter. To
extend this functionality, new goal types can be added. If a new goal type is added, for example
“Leads Converted”, the dashboard charts and drilldown views would need to be revised to roll-
up lead conversions instead of closed opportunities.

Local Campaigns
Local campaigns enable sales reps to send a sales campaign to any of their their contacts in
Sales Automation. From the Sales Rep portal, the sales rep sees a navigation link that they can
click to view the local campaign dashboard. In the local campaign dashboard, sales reps can
create a local campaign, edit an existing one or view the results of the current campaign and the
last five as well.

A local campaign requires the following:


 IAC
 NBAM
 Adapter rulesets

Creating a Local Campaign


1. Log in as sale rep or sales manager.
2. Click the “Campaigns” link in the left side of the portal to get the Campaigns Dashboard.

Pega Sales Automation Implementation Guide 2-268


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

3. Click the “New Campaign” button at the top right.

4. Enter a local campaign name and select a campaign template offer.

Pega Sales Automation Implementation Guide 2-269


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Note: Depending on the selling mode (B2B, B2C and B2B_B2C), a different set of
campaign template offers are presented to the user. These offers will segment contacts
in the system to be use for the offer by utilizing NBAM’s segmentation rule. It will also
determine which contact properties to display for the contact list view. Also there are 2
sets of offers one for email and one SMS. It gives the sales reps more flexiblity to run
campaigns through different channels.

1. Click “Create” to create the offer.


2. Click the “Edit” link in the Campaign Information section.

3. Enter the objectives for the campaign, update the campaign time period information (if
necessary) and submit.

4. Click “Edit” in the Campaign Contacts section.

Pega Sales Automation Implementation Guide 2-270


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Depending on the offer the user selects, there will be different view displayed for B2B vs B2C to
help segment the contacts and provide the right information to target the right people for the
campaign.

B2B:

B2C:

Whichever view is displayed, select the contacts to include in the campaign and click “Add
Selected”. It will be added to the added list.

Click “Submit” to return to the main campaign configuration screen.

1. Click the “Edit” link in the Engagement Steps section to review the
engagements/correspondence used for the campaign.

Pega Sales Automation Implementation Guide 2-271


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

2. Preview the list, edit engagement/correspondence (if necessary) and submit.

Note: The out of the box offer flows don’t require approval. So the approval step will be
skipped.

1. Click the “Launch” link in the Run section to begin the process of launching the campaign.

2. Click “Submit” to start the campaign now or optionally you can specify the time to submit.

Pega Sales Automation Implementation Guide 2-272


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Depending on your server and its configuration, the campaign will send the email or SMS to the
customer.

Execution of a Local Campaign


Whenever a campaign is executed, every contact that is a part of the campaign will receive an
email or SMS of the offer.

There will also be an activity for each contact indicating an offer has been sent to the contact.

The out of the box offers provide 2 choices accept or reject the offer. If they choose accept the
offer, another activity is created for the contact to track that the offer is accepted.

Pega Sales Automation Implementation Guide 2-273


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Depending on the offer whether it’s a B2B or B2C offer that got accepted, a corresponding B2B
or B2C lead is created and all the activities from the contact for the campaign is copied to the
lead.

Finally, the customer will receive an email or SMS confirmation and a web page is presented
thanking them for accepting the offer.

For rejecting the offer, an activity is created to track that the offer is rejected.

Pega Sales Automation Implementation Guide 2-274


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

No lead is created but an email or SMS confirmation is sent and web page is presented.

The last outcome besides accepting and rejecting the offer is if the contact did not respond to
the offer. After a certain time period without a response, an activity is created to track that the
offer had no response and an email or SMS is sent indicating the offer is expired with no
response.

Viewing Campaign Information


Campaign Properties for Leads
From SA point of view, how do we report or identify leads that were created from offers
accepted from campaigns? There are 3 campaign related fields added for the lead. They are
source, campaign name and offer name. Source is a column used to identify the source the
lead was created from. If the lead was generated from a campaign, it will have the value
“Campaign”. With the source as “Campaign”, the campaign name and offer name will display.
The campaign name is a hyperlink which can be clicked to open the details of the campaign.
The offer name is the name of the offer flow used by the campaign. When clicked, it will display
the engagements/correspondences used for the offer. This will give sales rep an idea what was
sent to the contact when the sales rep are contacting them.

Pega Sales Automation Implementation Guide 2-275


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Campaign History
On the contact, there is a tab called “Campaign History”. This tab gives the sales rep a general
idea of how many offer this contact is a part of and whether they responded or if the campaign
they are associated with is still running.

Campaign Dashboard
On the campaign dashboard, the current campaign will be updated with results. The sales rep
can view the results of their campaign.

Technical Implementation Details


Segmentation
NBAM provides the functionality of defining segmentation. SA NBAM’s application utilizes this
by segmenting contacts into B2B contacts and B2C contacts.

Pega Sales Automation Implementation Guide 2-276


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Offers Flows
The offer flows determine processing that happens in the campaign. There are 4, out of the box
offer flows (SAB2BEmailOffer, SAB2CEmailOffer, SAB2BSMSOffer and SAB2CSMSOffer).

Pega Sales Automation Implementation Guide 2-277


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

All 4 flows basically create an activity and send an engagement for the offer and then it waits.
Then there are 3 branches the flow can take, accept, reject and no response based on the
response from the customer. The reject and no response send an engagement and hands off
to another flow that calls a web service to create a corresponding activity.

Pega Sales Automation Implementation Guide 2-278


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

The biggest difference for the accept branch is that its web service not only creates an activity it
also creates a business lead for B2B offer and individual lead for B2C offers.

Pega Sales Automation Implementation Guide 2-279


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Also each of the offer flows is categorized as either B2B or B2C. They are identified as B2B or
B2C because they are tagged using the offer’s Key Code.

If the flow is a B2B offer flow, it will use the B2B segmentation which takes all the contacts and
get all the contacts that have organization populated. If the is a B2C offer flow it will use the
B2C segmentation. There is a field on the offer details tab under the Field Marketing Details
section called Segment Rule where the offer identifies which segment to use.

Pega Sales Automation Implementation Guide 2-280


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Engagements
Each of the offer flows have 4 engagements (the offer, accept, reject and no response).
Currently they are very generic and can be customized.

Classes
In SA NBAM’s application, any data it needs from SA, it uses an external database schema.
This external database schema uses database views to replicate SA data.

Each of these views is mapped to classes in SA NBAM’s application to be used.

Each class’ properties are mapped to columns in the view.

Pega Sales Automation Implementation Guide 2-281


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Determining Selling Mode


In order to determine the selling mode in SA NBAM’s application, it is passed over from SA and
stored in a data page D_HoldSellingMode.

Pega Sales Automation Implementation Guide 2-282


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Then there are 2 when rules that uses the data page to figure out which flow has been selected.
They are isB2BOffer and isB2COffer.

Pega Sales Automation Implementation Guide 2-283


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

It is to determine which report definition to use and gets the right properties for the view.

It is also use to know which view to show.

Next Best Sales Activities


The Sales Rep portal ships with OOTB Widget that displays top 10 customers with specific
offers that have the highest propensity to close. Pega Marketing and Next Best Action Advisor
products are leveraged for this feature. The propensity is determined using an Adaptive Model.
The Adaptive Model expects Predictors defined as input. CLV_Value and WinScore are the
predictors defined for the SA-NBAM sample implementation.

Pega Sales Automation Implementation Guide 2-284


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

From the list, a Sales Rep selects and can call the best Contacts, and a suggested offer for the
Contact is displayed.

If the Contact agrees, Contact qualifies for an opportunity is created.

Pega Sales Automation Implementation Guide 2-285


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

An opportunity is created.

This opportunity is also logged in the Activity tab of the Contact.

CLV_Value predictor :
For the sample implementation, CLV_Value is a randomly generated number in the range of 0-
999. Any implementation can define their logic to calculate the CLV_Value.

Pega Sales Automation Implementation Guide 2-286


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

WinScore predictor :
The WinScore predictor dynamically reorders the contacts in the NBAA quadrant as well as
reorders the Top Offers displayed in the Contact work-object.

WinScore is an attribute of the SA contact calculated using the following factors for each
opportunity associated with a contact:

 Weighted Opportunity Amount based on Sales Stage


 Close Date

The current SA-NBAM implementation takes care of the above factors and only the Opportunity
work-type to dynamically prioritize a given SA contact.

For a given proposition, the sample offers are fed into the adaptive model. Below is a graphic
representation of the same. It depicts how the Propensity changes with the change in WinScore
for that specific proposition.

Pega Sales Automation Implementation Guide 2-287


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

The following scenarios effect the change in WinScore:

 Edit an Opportunity
If an opportunity is edited and Opportunity Amount or Close Date (or both) are changed, the
WinScore associated with all the Contacts of the opportunity gets changed. Increase in
Amount increases the WinScore and vice-versa. Change of Date in future decreases the
WinScore and vice-versa. If both Amount and Close Date are modified in a single edit, the
final WinScore change is the algebraic sum of both the factors.

 Add a new Opportunity


When a new individual opportunity is added to a contact, the amount of the new opportunity
causes a change in the WinScore for the associated contact. Consequently, contacts get
reordered if the change in WinScore causes a change in their Top Offer or the propensity of
the Top Offer.

 Change Primary Contact of an Opportunity (Individual)


The Primary contact of an Individual Opportunity can be changed to any other valid contact.
This will affect the WinScore for both the contacts (Current and Previous Primary contacts).
Consequently, either of the contacts can get reordered.

 Top Offer Reordering


Top Offers are displayed on the Contact work object. When WinScore is changed, the
propensities for each of the Top Offer are changed as well. This reorders the offers for a
given contact as well.

 Update contacts of a B2B Opportunity

For a B2B opportunity, if contacts are updated, the WinScore attribute for each of the
contacts gets modified appropriately. This causes the NBAA quadrant to reorder the
prioritized list accordingly.

Pega Sales Automation Implementation Guide 2-288


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Technical Implementation Details


WinScore Calculation:
WinScore is calculated using the following logic:

Case 1) Editing an Opportunity (All contacts associated with the opportunity will have their
WinScore changed using the below logic)

WinScore = (Change in Close Date*Close Date WinScore Weight) + (Change in Opportunity


Amount* Probability of the Opportunity)/Amount WinScore Weight

Case 2) An Opportunity gets added to a contact or removed from a contact (WinScore will
increase or decrease as per the logic below depending on whether an opportunity is added to a
contact or removed from a contact)

WinScore = Opportunity Amount * Amount WinScore Weight

Dynamic System Settings


WinScore attribute can be configured as per a given implementation that has SA-NBAM
integration implemented. Following DDS settings are used to help us configure WinScore values
for a given implementation:

Dynamic System Setting Rule: OppAmountWinScoreWeight

Description: Specifies value for “Amount WinScore Weight” used in calculating the WinScore.
Default value is set to 100. All non-zero integers are valid values.

Dynamic System Setting Rule: OppCloseDateWinScoreWeight

Description: Specifies value for “Close Date WinScore Weight” used in calculating the
WinScore. Default value is set to 50. Every increment of date (from the current Opportunity
close date) will negate the value for “Close Date WinScore Weight”. For instance, the default
value of 50 will change to -50.

Thus if the close date for an opportunity moves further in future, the close date winscore weight
factor will turn negative and vice-versa.

Pega Sales Automation Implementation Guide 2-289


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Dynamic System Setting Rule: MinWinScoreValue

Description: Minimum Value defined for the WinScore attribute. Default value is set to 0.

Dynamic System Setting Rule: MaxWinScoreValue

Description: Maximum Value defined for the WinScore attribute. Default value is set to 10000

Activities
crmInitializeWinScore

Description: Opens each contact record and initialize the WinScore to the minimum
specified WinScore value. (Set using the DDS setting MinWinScoreValue)

Pega Sales Automation Implementation Guide 2-290


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

PopulateWinScoreForAll

Description: Used to populate WinScore for each contact. The activity runs through all the
opportunities in the application, calculates the corresponding WinScore for each and adds
the WinScore to all the contacts associated with the opportunity.

Pega Sales Automation Implementation Guide 2-291


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

crmCalculateWinScore

Description : Used to calculate WinScore for an opportunity and adds the change in WinScore
to the existing WinScore for all the contacts linked with this opportunity. Invoked on edit of an
opportunity. (refer Declare Trigger crmForecast)

Pega Sales Automation Implementation Guide 2-292


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

crmValidateOpptyContacts

Description: Used to adjust WinScore values for contacts when they are being updated for a
B2B opportunity. This activity was updated to include the logic of updating the WinScore for the
contacts that have been added/removed from the B2B opportunity.

Pega Sales Automation Implementation Guide 2-293


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

crmAdjustPrimaryContactWinScoreWrapper

Description: Used to adjust the WinScore for contacts when a Primary Contact for an individual
opportunity gets changed.

Property
WinScore

This property is introduced in PegaCRM-Entity-Contact class. This will be used to hold the
WinScore value for a contact and this value will be passed dynamically to the Adaptive Model
as a predictor.

Pega Sales Automation Implementation Guide 2-294


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Decision Tree
GetValidWinScore

Description: This is used to bind the WinScore value within a specified range. The range is
specified using the two Dynamic System Settings rule (MinWinScoreValue and
MaxWinScoreValue)

Pega Sales Automation Implementation Guide 2-295


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

For further technical details, see the Pega Sales Automation Tech Note Next Best Action
Adapter, available from the Pega Sales Automation page on the Pega Developer Network
(PDN): [Link]

Co-Browse in Pega Sales Automation


Pega Co-browse allows customers, prospects, and sales reps to instantly collaborate by sharing
a web browser session on the customer or prospect’s PC, tablet or mobile phone. For example,
an experienced sales rep can coach a junior rep on using the Pega Sales Automation
application effectively. Or, a sales rep can walk a customer through product literature on a
company website.

Sessions can be initiated by a sales rep from any Contact. There are two main methods of
initiating a co-browse session:

Session Code: The co-worker, customer or prospect retrieves a session code from the co-
browse enabled website, and shares the code with a sales rep

Email Link: The sales rep uses the Sales Automation application to send an email to the co-
worker, customer or prospect containing a link to the co-browse enabled web content.

Session Code Initiation


When web content is co-browse enabled, a “Support” button is shown on the left navigation of
the page.

Pega Sales Automation Implementation Guide 2-296


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Clicking the Support button displays a session code to share with the sales rep to initiate co-
browsing.

The sales rep can navigate to the Actions  Co-Browse  Enter Session Code and enter the
code provided:

Pega Sales Automation Implementation Guide 2-297


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Email Link Initiation


The second method is to send an email with a link to the co-browse enabled content. With this
method, no session code needs to be entered and the session begins as soon as the link is
clicked. An email is initiated from the Action  Co-Browse  Send Email menu items.

Once the session code is entered, or the email link is clicked on, the co-browse session is
initiated from within the application.

Pega Sales Automation Implementation Guide 2-298


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

The session defaults to Highlight Mode, but the rep can also select Control Mode and request
control of the session running in the customer’s browser.

Once the Session has completed, a Co-Browse Activity is automatically generated for the
Contact.

Technical Implementation Details


Enabling Pega Co-Browse
Description: Co-browse functionality can be enabled by logging into the Pega Co-Browse
website.

Install: The JavaScript below must be included in the website to allow co-browsing.

Pega Sales Automation Implementation Guide 2-299


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Customize: Allows you to change the appearance of the co-browse window and the co-browse
“Support” button.

Pega Sales Automation Implementation Guide 2-300


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Property: crmSessionCode

Description: This property is introduced in PegaCRM-Work class. This property is used in


Contact work objects to store the SessionCode for the co-browse session.

Pega Sales Automation Implementation Guide 2-301


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Property: crmCoBrowseDestinationURL

Description: This property is introduced in PegaCRM-Work class. This property is used to store
the URL for websites that have been enabled for co-browse. The end user can be sent to
different parts of the website, based on need.

Pega Sales Automation Implementation Guide 2-302


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-303


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Navigation: crmWorkMenu

Class: PegaCRM-Entity-Contact

Description: All contact records have two co-browse options, Enter Session Code and Send
Link to Contact.

Enter Session Code – The end user imitates a session by clicking on the support button and
sending the code to the Sales Automation user.

Send Link to Contact – The Sales Automation user initiates a session by sending a contact an
email with the URL for the website.

Pega Sales Automation Implementation Guide 2-304


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Flow: crmCoBrowseSessionCode

Class: PegaCRM-Work-

Description: Flow captures the session code and displays the co-browse screens. It will also
create an activity on completion to track the session.

Pega Sales Automation Implementation Guide 2-305


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Flow: crmCoBrowseEmailLink

Class: PegaCRM-Work-

Description: Flow captures the customer email and the destination URL for the co-browse
enabled website. It will also create an activity on completion to track the session.

Pega Sales Automation Implementation Guide 2-306


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Section: crmCoBrowseEmailLink

Class: PegaCRM-Work-

Description: Captures the customers email and the destination URL.

Correspondence: crmCoBrowseEmail

Class: PegaCRM-Work-

Description: The body of the email being sent to the customer.

Pega Sales Automation Implementation Guide 2-307


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Section: crmCoBrowseSessionCode

Class: PegaCRM-Work-

Description: Captures the session code from the customer.

Pega Sales Automation Implementation Guide 2-308


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Data-Transform: crmCoBrowseAttributes

Class: PegaCRM-Work-Task-CustAct

Description: Sets up values for creation of an activity on the conclusion of co-browse session.

Pega Sales Automation Implementation Guide 2-309


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Data-Transform: crmCoBrowsePost

Class: PegaCRM-Work-

Description: For co-browse session of type “Email Link” initiates crmCoBrowseTypeSetValues


Data Transform. For “Enter Session” session types, builds the Destination URL.

Pega Sales Automation Implementation Guide 2-310


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Data-Transform: crmCoBrowseTypeSetValues

Class: PegaCRM-Work-

Description: Sets up Email and Session code for “Email Link” session type and clears all values
for “Enter Session Code” sessions.

Control: crmStartCoBrowse

Description: Controls holds the code to display the Co-Browse session.

Pega Sales Automation Implementation Guide 2-311


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-312


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Sales Dashboards and Reports


Sales dashboards provide a one-stop landing page sales reps, managers and sales ops can
easily access a variety of sales metrics to close deals faster. The sales dashboard provides a
personal summary while the sales manager dashboard provides a team view with the ability to
drill into the details of each sales team member.

The graphical, interactive dashboard capabilities are available on desktop and mobile. A rich
widget library is available for common sales metrics – pipeline, win rate, goal attainment, lead
conversion, etc. Dashboard can be personalization via predefined templates and user specific
widget selection

Real-time insights via personalized mobile dashboards enable mobile users to stay on top of
trends and key metrics while on-the-go.

Pega Sales Automation Implementation Guide 2-313


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Dashboard Personalization
Users can personalize their dashboards by selecting from a collection of template layouts and
can publish personalized dashboard to multiple users.

Users can personalize their dashboard by clicking the Gear icon at the right side of the
dashboard page, which opens up a widget cabinet. By default the Gear icon is enabled.

Pega Sales Automation Implementation Guide 2-314


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Switch Template
The user can select different out of the box (OOTB) or custom templates by clicking Switch
template in the widget cabinet. When user changes the template, the system adjusts the widget
locations automatically.

Once widget updates are complete, user can click Publish to see the changes on the
dashboard page.

Pega Sales Automation Implementation Guide 2-315


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Widget Cabinet

The above screenshot shows the menu used to add desired widgets into respective slots. The
user clicks the Add widgets button, which opens up the Widget picker. The user then selects

Pega Sales Automation Implementation Guide 2-316


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

required widgets and clicks Add [Link] can click ‘Revert Dashboard’ to change
dashboard to default dashboard.

Widget picker
This panel shows icons of all the widgets. The user can personalize the dashboard by picking
the desired widgets.

Pega Sales Automation Implementation Guide 2-317


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Drag widgets among the widget slots

Users can drag the widget among the slots in the widget cabinet area and click Publish to see
the changes.

Publish Dashboard
Users can publish a dashboard for personal viewing or to be shared with multiple users (in
Access Groups).

Publishing options

 Sales ops can publish a dashboard for Sales Ops, Sales Manager & Sales Rep at Access
group level. These will be the default that reps and managers see when they first log in.
 Sales Manager can publish a dashboard for himself.
 Sales Rep can publish a dashboard for himself.

Note: When a user customizes their dashboard, the default dashboard published by sales ops will be
overridden.

Pega Sales Automation Implementation Guide 2-318


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Sales Ops Portal:

A Sales Ops can publish a default dashboard for Sales Ops, Sales manager and Sales Rep
users.

Procedure

1. Go to Tools, Click the appropriate Personalize Dashboard button. Click the Gear icon to
open the Edit dashboard panel.
2. Click Switch Template.
3. Select a template. Each template includes a preview of the number, size, and relative
position of slots that it contains.
a. Add widgets to each slot in your template.
b. In the Edit dashboard panel, click Add Widget next to the slot that you are configuring.
c. Select the check box next to a widget to include in the slot.
d. Click Add Selected.
e. Drag and drop the widget to change its position in the slot.
f. To remove a widget from a slot, click the Delete icon.

Pega Sales Automation Implementation Guide 2-319


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

g. Click Save. To discard your changes, click Cancel.

4. Click Publish to publish your dashboard.

Sales Dashboard widgets


The Sales dashboard contains the following widgets:

 Next Best Activities


 Pipeline
 Leaderboard
 Opportunities by Competitor
 Quota attainment
 Leads by source
 Opportunity Revenue by Industry
 Pipeline growth trend
 Lead conversions by stage
 Win/Loss Analysis
 Leads by Source
 Lead to opportunity conversions
 Opportunity conversion by stage
 Opportunities by product
 Tasks
 Reminders

The following Sales manager widgets are displayed with an explorer tree on the left, and a chart
with table to the right that displays GRAPH and LIST views. The tree is driven by a Reporting
hierarchy, where selecting a node shows data for the sales rep along with his/her reportees.

 Pipeline
 Quota Attainment
 Pipeline growth trend
 Lead Conversions by Stage
 Leads by Source
 Opportunity Revenue by Industry
 Opportunity by sales stage
 Open Tasks
 Lead to opportunity conversions
 Win/Loss Analysis

Pega Sales Automation Implementation Guide 2-320


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

When there is no reporting hierarchy for the logged-in user, the explorer tree will be hidden.

Data Visibility
Data visibility for all the dashboard metrics is driven accordingly:

 Managers can see all data assigned to them and also to their reportees.
 Sales reps see all data assigned to them specifically.
 Sales Ops sees all data for the Territory access they have access to.

Below are the widgets available for Sales ops dashboard.


 My Pipeline
 Pipeline Growth Trend
 Lead Conversions by stage
 Leader boards

Technical Implementation Details

Pega Sales Automation Implementation Guide 2-321


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-322


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pipeline
The Pipeline quadrant shows a sales funnel of all open opportunities by sales stage. It is
broken down by revenue and probability of closure for each stage, with the ability to select
Individual and Business selling modes.

Sales reps see their own personal pipeline and can drill down into the specific opportunities for
each stage. Sales managers see the total number of opportunities per stage for everyone on
their team, with the ability to drill down and explore the detail of their team’s pipeline.

LIST view shows open opportunities by stage. Clicking Opportunity Stage displays the list of
opportunities by stage in a Modal dialogue.

Clicking any of the open opportunities in LIST view shows the detailed information of the
appropriate opportunity in Sales Automation application.

Pega Sales Automation Implementation Guide 2-323


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Technical Implementation Details


Records of Interest

Section Data-Portal Dashboard_OpportunitiesByStageWidget

Data Page PegaCRM-Work-SFA-Opportunity D_SalesManagerOppStages

Report Definition PegaCRM-Work-SFA-Opportunity SFASalesManager_OppsByStage

XML Stream PegaCRM- [Link]

Function Alias Embed-UserFunction StageDisplayOrder

Flow Action PegaCRM-Work-SFA-Opportunity crmPipelineWidgetFA

Details

The data-source of the widget SFASalesManager_OppsByStage groups the data based on


the stage of the opportunity and then the activity. PopulateSalesManagerOppStages
manipulates the data for viewing in a chart and grid. The SQL function StageDisplayOrder is
used to for getting the opportunity stage in the desired order.

When implementing the Pega Sales Automation application, it is necessary to modify the
opportunity stage, and then modify the SQL function StageDisplayOrder.

Pega Sales Automation Implementation Guide 2-324


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

The flow action crmPipelineWidgetFA is used to open the modal dialogue showing data related
to each Opportunity Stage in List view including Total.

Leaderboards
The leaderboard quadrant gives managers and sales reps a view of the top representatives in
the organization in terms of closed deals and sales activities.

Closed Deals Current Quarter

The Closed Deals Current Quarter leaderboard shows the representatives who generated the
highest amount of revenue. Clicking on any of the representatives gives a detailed look into the
closed opportunities.

Pega Sales Automation Implementation Guide 2-325


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

The leaderboard defaults to the Top 5 representatives on login; however you can use the toggle
button to view the bottom 5.

The screen below shows the same leaderboard quadrant but for the Bottom 5 representatives.

Most Active Current Quarter

The Most Active Current Quarter leaderboard shows the representatives that have the most and
least activity with contacts. Clicking on any of the representatives gives a detailed look into each
of the activities taken by the representative.

Pega Sales Automation Implementation Guide 2-326


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Technical Implementation Details


Records of Interest

Section Data-Portal Dashboard_Leaderboard

Data Page Data-Admin-Operator-ID D_LeaderboardTop5Sales

Data Page Data-Admin-Operator-ID D_LeaderboardBottom5Sales

Data Page Data-Admin-Operator-ID D_LeaderboardTop5Activity

Data Page Data-Admin-Operator-ID D_LeaderboardBottom5Activity

Report Definition Data-Admin-Operator-ID Dashboard_LeaderboardSalesTop5_Sec

Report Definition Data-Admin-Operator-ID


Dashboard_LeaderboardSalesBottom5_Sec

Report Definition Data-Admin-Operator-ID LeaderboardMostActive_Sec

Report Definition Data-Admin-Operator-ID LeaderboardMostActive

Report Definition Data-Admin-Operator-ID LeaderboardLeastActive_Sec

Report Definition Data-Admin-Operator-ID LeaderboardLeastActive

Flow Action PegaCRM-Portal SalesManagerSalesSummary

Details

The data source of the widget is mentioned in the above Report definitions. It is used to fetch
all the data and populate the Data Pages, which are used in a Repeating grid shown in the UI.

For each Data Page, we are fetching data depending upon the logged in persons access. For
example, in D_LeaderboardTop5Sales:

Pega Sales Automation Implementation Guide 2-327


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-328


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Condition User ID Parameters


isSalesManager [Link]
isSalesRepWithManager [Link]
isSalesRepWithNoManager [Link]
Otherwise [Link]

Opportunities by Competitor

Pega Sales Automation Implementation Guide 2-329


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

The Opportunities by Competitor quadrants allows managers to gauge who they are up against
by displaying the number of opportunities by competitor. Clicking on any of the competitors in
LIST view shows the appropriate open opportunities for the selected competitor.

Technical Implementation Details


Records of Interest

Section Data-Portal
SalesManagerDashboardOpportunityByCompetitors

Data Page PegaCRM-Index-SFA-OppCompetitors


D_SalesManagerLeaderboardOpenCompetitors

Report Definition PegaCRM-Index-SFA-OppCompetitors


SFASalesManager_OppsByCompetitors

Details

This simple widget fetches the data using the Report Definition
SFASalesManager_OppsByCompetitors and uses the chart and List View grid.

Pega Sales Automation Implementation Guide 2-330


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Quota Attainment
The Quota Attainment quadrant compares sales for the current quarter and the quota for the rep
or manager.

Pega Sales Automation Implementation Guide 2-331


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

For a sales rep, drilling into the QTD Sales shows a list of all of the closed opportunities for the
current quarter in a modal window.

For sales managers, drilling into the QTD Sales shows managers’ team sales.

To see individual Sales rep sales, the Sales manager can select a node from the explorer tree
on the left, which is driven by reporting hierarchy.

Clicking any of the closed opportunities in LIST view shows detailed information for that
opportunity in the application.

Technical Implementation Details


Records of Interest

Section Data-Portal SFAPortal_GoalAttainments

Data Page PegaCRM-Work-SFA-Opportunity D_GoalAttainments

Section @baseclass CirclfiulComponent

Flow Action Data-Portal SFAPortalClosedOpportunities

Connect SQL PegaCRM-Data-SalesGoal GoalAttainment

Data Transform @baseclass SetOtherParamsForGoalAttainment

Details

The data-source of the widget Connect-SQL GoalAttainment aggregates the data, which is
getting used by the custom HTML chart section CirclfiulComponent. The activity
SalesGoalAttainment manipulates the data fetched through this connect-SQL and adds
details for QTD Sales & Quota.

Pega Sales Automation Implementation Guide 2-332


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

The Data Transform SetOtherParamsForGoalAttainment is used for setting the attributes in


the circliful progressive chart.

Pega Sales Automation Implementation Guide 2-333


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Leads by Source
The Leads by Source quadrant allow managers to evaluate the most effective methods for
bringing in new leads. It’s easy to determine which lead sources produce the most leads.

Pega Sales Automation Implementation Guide 2-334


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

The Leads by Source widget is a Pie chart of leads by source for all leads created in the last six
months, A Sales rep/Manager can toggle between GRAPH and LIST views.

The LIST view shows a snapshot of all the Leads. Clicking on any of the Lead Percentages
shows detailed information in a Modal dialogue. Further drilling down on ‘Lead Name’ allows the
managers/reps to see detailed information on the lead.

Clicking ‘Total’ allows the managers to see list of all Leads by Source, which includes his/her
hierarchy.

Clicking on any of the Lead in LIST view shows the detailed information of the appropriate Lead
in the application.

Technical Implementation Details


Records of Interest

Section Data-Portal crmLeadbyLeadSourceWidget

Data Page PegaCRM-Work-SFA-Lead D_LeadByLeadSource

Pega Sales Automation Implementation Guide 2-335


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Report Definition PegaCRM-Work-SFA-Lead crmLeadsBySourcePercent

Flow Action PegaCRM-Work-SFA-Lead crmLeadsByLeadSource_RowDetail

Details

The data-source of the widget crmLeadsBySourcePercent aggregates the data which is used
by the pxchart control. The activity crmLeadByLeadSource will manipulate the data fetched
through this report definition and add details for Total.

The Data Page fetches data for the previous six months only; we can change the parameter or
can extend it using the following parameter in the Data Source of the Data Page.

Pega Sales Automation Implementation Guide 2-336


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Opportunity Revenue by Industry


The Opportunity Revenue by Industry quadrant allows managers to evaluate which Opportunity
industry is bringing most business, by measuring which Opportunity industry is bringing more
revenue for the opportunities won from the past six months.

Pega Sales Automation Implementation Guide 2-337


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

The Opportunity Revenue by Industry widget is a Pie chart of opportunity industry for all
opportunities won in the last 6 months. A Sales rep/Manager can toggle between GRAPH and
LIST views.

The LIST view shows a snapshot of all the won opportunities, organized by Industry. Clicking
‘Revenue’ amount shows a list of opportunities by industry in a Modal dialogue.

Clicking ‘Total Revenue’ allows the managers to see list of Opportunity revenue by Industry,
which includes his/her hierarchy.

Further Drilling down on ‘Opportunity Name’ in the LIST shows detailed information of the
Opportunity.

Technical Implementation Details


Records of Interest

Section Data-Portal crmRevenueByInustryWidget

Data Page PegaCRM-Work-SFA-Opportunity D_OpportunitiesRevenueByIndustry

Pega Sales Automation Implementation Guide 2-338


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Report Definition PegaCRM-Work-SFA-Opportunity


crmOpportunitiesRevenueByIndustry

Flow Action PegaCRM-Work-SFA-Opportunity crmOpportunitiesByIndustry

Details

The data-source of the widget crmRevenueByInustryWidget aggregates the data, which is


used by the pxchart control. The activity crmOpportunitiesRevenueByIndustry manipulates
the data fetched through this report definition and adds details for Total.

The Data Page is fetching data for previous six months only; we can change the parameter or
can extend it using the following parameter in Data Source of Data Page.

Pega Sales Automation Implementation Guide 2-339


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-340


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pipeline Growth Trend


The Pipeline Growth Trend quadrant allows managers to compare the current Opportunities
pipeline by stage with historical snapshots. This helps managers to easily gauge changes in
total pipeline month to month and analyze whether overall business is growing over time.

The Pipeline Growth Trend widget is a stacked bar chart of pipeline history showing snapshots
of the pipeline as of the first day of the current and two previous months. One vertical bar
represents the current pipeline, and three bars show snapshots of the pipeline as of the first day
of the current and two previous months.

The LIST view shows a snapshot of the pipeline history by stage. Clicking on Revenue of a
particular month displays a list of opportunities by stage in a Modal dialogue.

Clicking ‘Total Revenue’ for a month allows managers to see a list of Opportunities by stage in a
modal dialogue, which includes his/her hierarchy.

Pega Sales Automation Implementation Guide 2-341


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Further Drilling down on ‘Opportunity Name’ in the LIST shows detailed information of the
Opportunity.

Technical Implementation Details


Records of Interest

Section Data-Portal crmPipelineHistoricalSnapshot

Data Page PegaCRM-Audit-Opportunity-Stage D_LoadStagesHistorySnapshot

Connect SQL PegaCRM-Audit-Opportunity-Stage


FetchSummarizedStackedStagedDataInGrid

Data Transform PegaCRM-Work-SFA-Opportunity crmStages

XML Stream PegaCRM- PipelineHistoricalSnapshotChart

Flow Action PegaCRM-Audit-Opportunity-Stage crmPipelineHistoryStageMonth

Data Transform PegaCRM-Audit-Opportunity-Stage


crmPipelineHistoryStageMonthDT

Details

The data-source of the widget Connect-SQL FetchSummarizedStackedStagedDataInGrid


aggregates the data, which is used by the SFACustomFusionChart control. The activity
crmLoadStagesHistorySnapshot manipulates the data fetched through this RDB-List and
computes details for Total.

The opportunity stages are referenced and sorted using the Data Transform crmStage. If you
want to modify the opportunity stages, you can update this Data Transform.

Pega Sales Automation Implementation Guide 2-342


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-343


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Lead Conversions by Stage


The Lead Conversions by Stage quadrant allows managers to analyze stage progression for all
Leads created in the last six months. It provides insight into where leads are falling out of the
pipeline on the path to becoming an opportunity, and is organized by conversion rate.

The LIST view shows snapshot of the Leads’ percentage by stage. Clicking on Lead shows a
list of Leads by stage in a Modal dialogue.

Clicking ‘Total Leads’ lets managers see a list of Opportunities by stage in a modal window,
which includes his/her hierarchy.

Further Drilling down on ‘Lead Name’ in LIST view shows detailed information of the Lead.

Technical Implementation Details


Records of Interest

Section Data-Portal sfaLeadToOppLifecycleWidget

Pega Sales Automation Implementation Guide 2-344


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Data Page PegaCRM-Audit-Lead-Stage D_LeadsToOpportunityLifeCycle

Report Definition PegaCRM-Audit-Lead-Stage LeadsToOpportunityLifecycle

Report Definition PegaCRM-Work-SFA-Lead TotalLeadsCreated

XML Stream PegaCRM- LeadLifecycleBarChart

XML Stream PegaCRM- LeadLifecycleBarChartMobile

Function Alias Embed-UserFunction StageDisplayBubbleSize

Flow Action PegaCRM-Audit-Lead-Stage sfaLeadToOppLifecycle

Ruletype class Rulename

Details

The data-source of the widget LeadsToOpportunityLifecycle & TotalLeadsCreated


fetches the aggregated data for all Lead Stages & TOTAL LEADS, respectively, which in turn
get combined in data page using the activity LoadLeadToOpportunityLifecycleCount. This
widget uses different charts (i.e., XML Stream rules) for non-mobile and mobile devices
because of size.

When implementing the Pega Sales Automation application, you need to modify the lead stage,
and then modify the SQL function StageDisplayBubbleSize.

The flow action sfaLeadToOppLifecycle is used for opening the modal dialogue showing data
related to each Lead Stage in List view including TOTAL LEADS.

Pega Sales Automation Implementation Guide 2-345


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-346


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Win/Loss Analysis
The Win/Loss Analysis Quadrant allows managers to analyze won and lost opportunities by
month and provide most actionable insights, which helps increase sales efficiency and boost
revenue.

The Win/Loss Analysis widget is a stacked bar chart showing won and lost opportunities for the
last six months, with the average win rate overlay.

The LIST view shows snapshot of opportunities won/lost by month. Clicking on Number shows a
list of Opportunities by stage in a Modal dialogue.

Further Drilling down on ‘Opportunity Name’ in LIST view shows detailed information about the
Opportunity.

Pega Sales Automation Implementation Guide 2-347


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Technical Implementation Details


Records of Interest

Section Data-Portal crmWonLostDealsWidget

Data Page PegaCRM-Work-SFA-Opportunity D_WonLostDealsByMonth

Report Definition PegaCRM-Work-SFA-Opportunity crmWonLostDealsByMonth

XML Stream PegaCRM- [Link]

Flow Action PegaCRM-Work-SFA-Opportunity crmWonLostOpportunityList

Function Alias Embed-UserFunction crmCaseWhen

Details

The data-source of the widget crmWonLostDealsByMonth aggregates the data, which is


used by the SFACustomFusionChart control. The activity crmWonLostDealsByMonth
manipulates the data fetched through this RD and computes details for Overall.

The Data Page fetches data for the previous six months only; we can change the parameter
or can extend it using the following parameter in Data Source of Data Page.

Pega Sales Automation Implementation Guide 2-348


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-349


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Lead to Opportunity Conversions


The Lead to Opportunity Conversions quadrant helps managers to analyze how many leads are
converted/not-converted to opportunity by month. This helps marketing teams to make better
decisions and invest time, money at the right place and drive higher returns on marketing
efforts.

The Conversion rate overlay calculates what percentage of leads is converted to opportunities
over specific amount of time.

Pega Sales Automation Implementation Guide 2-350


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

For sales managers, this widget shows the number of Leads converted/Not converted by month,
with GRAPH and LIST view.

The LIST view shows snapshot of Leads converted/Not converted by month. Clicking on a
number shows a list of Leads by stage in a Modal dialogue with conversion rates.

Further Drilling down on ‘Lead Name’ allows the managers to see detailed information on the
Lead.

Technical Implementation Details


Records of Interest

Section Data-Portal crmConvertedDeadLeadsByMonth

Data Page PegaCRM-Work-SFA-Lead D_ConvertedDeadLeadsByMonth

Report Definition PegaCRM-Work-SFA-Lead crmConvertedDeadLeadsByMonth

XML Stream PegaCRM- [Link]

Flow Action PegaCRM-Work-SFA-Opportunity crmConversionRateLeadsList

Function Alias Embed-UserFunction crmCaseWhen

Details

The data-source of the widget crmConvertedDeadLeadsByMonth aggregates the data, which


is used by the SFACustomFusionChart control. The activity
crmConvertedDeadLeadsByMonth manipulates the data fetched through this RD and
computes details for Overall.

The Data Page fetches data for the previous six months only; we can change the parameter
or can extend it using the following parameter in Data Source of Data Page.

Pega Sales Automation Implementation Guide 2-351


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-352


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Opportunity Conversion by stage widget


The Opportunity Conversions by Stage quadrant allows managers to analyze stage progression
for all Opportunities created in the last six months by providing insight into where opportunities
are falling out of the pipeline on path to closed-won.

The LIST view shows a snapshot of Opportunity percentage by stage. Clicking on an


opportunity shows a list of opportunities by stage in a Modal dialogue

Clicking ‘Total opportunity’ allows managers to see list of Opportunities by stage in a modal
window, which includes his/her hierarchy.

Pega Sales Automation Implementation Guide 2-353


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Technical Implementation Details


Records of Interest

Section Data-Portal sfaOpportunityConversionsByStageWidge

Data Page PegaCRM-Audit-Opportunity-Stage D_OpportunityLifeCycle

Report Definition PegaCRM-Audit-Opportunity-Stage OpportunityAuditLifecycle

Report Definition PegaCRM-Audit-Opportunity-Stage TotalOppsCreated

XML Stream PegaCRM- OpportunityLifecycleBarChart

XML Stream PegaCRM- OpportunityLifecycleBarChartMobile

Pega Sales Automation Implementation Guide 2-354


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Function Alias Embed-UserFunction StageDisplayBubbleSize

Flow Action PegaCRM-Audit-Opportunity-Stage sfaOppLifecycle

Details

The data-source of the widget OpportunityAuditLifecycle and TotalOppsCreated fetches the


aggregated data for all Opportunity Stages & TOTAL OPPORTUNITIES, respectively, which in
turn get combined in the data page using the activity LoadOpportunityStagescycle. This
widget uses different charts (i.e., XML Stream rules) for non-mobile and mobile devices
because of size.

When implementing the Pega Sales Automation application, you need to modify the lead stage,
and then modify the SQL function StageDisplayBubbleSize.

The flow action sfaOppLifecycle is used for opening the modal dialogue showing data related
to each Lead Stage in List view including TOTAL OPPORTUNITIES.

Pega Sales Automation Implementation Guide 2-355


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Opportunities by Product
The Opportunity by product quadrant allows Sales reps to analyze number of products for each
opportunity. The LIST view shows a snapshot of products by number of opportunites.

Clicking on product allows Sales reps to see list of Opportunities in a modal window.

Pega Sales Automation Implementation Guide 2-356


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Technical Implementation Details


Records of Interest

Section Data-Portal SalesManagerDashboardOpportunityByProducts

Report Definition PegaCRM-Index-SFA-OppProducts


SFASalesManager_OppsByProducts

Report Definition PegaCRM-Work-SFA-Opportunity


SFASalesManager_OppsByProductsSummary

Details

This simple widget is fetching the data using the Report Definition
SFASalesManager_OppsByProducts and using and in chart and List View grid.

Pega Sales Automation Implementation Guide 2-357


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-358


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Open Tasks
The Open Tasks Quadrant helps sales rep to keep track of everyday tasks. This helps them to
prioritize and complete the Tasks.

The Tasks widget measures the number of Tasks based on ‘Type’ and ‘Priority’ of the task.

The LIST view shows a list of Tasks based on ‘Type’ and ‘priority’. Clicking Number shows a list
of Tasks by Type, priority in a Modal dialogue.

Further Drilling down on ‘Lead Name’ allows the managers to see detailed information on the
Lead.

Pega Sales Automation Implementation Guide 2-359


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Technical Implementation Details


Records of Interest

Section Data-Portal SFATasksWidget

Data Page PegaCRM-Work-Task D_TasksWidget

Report Definition PegaCRM-Work-Task SFATasksByTypePriority

Flow Action PegaCRM-Work-Task SFATasksWidgetDD

Details

The data-source of the widget SFATasksByTypePriority aggregates the data, which is used
by the pxchart control. The activity SFATasksWidget manipulates the data fetched through this
RD and adds details for Total.

Reminders
The Reminders section provides the sales rep a summary of all of their open tasks, sorted by
due date. Drilling into the items displays all of the details about the specific task.

Pega Sales Automation Implementation Guide 2-360


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Technical Implementation Details


Records of Interest

Section Data-Portal SalesManagerDashboardOpportunityByCompetitors

Data Page PegaCRM-Index-SFA-OppCompetitors


D_SalesManagerLeaderboardOpenCompetitors

Report Definition PegaCRM-Index-SFA-OppCompetitors


SFASalesManager_OppsByCompetitors

Mobile Dashboard
Technical Implementation Details
Records of Interest

Harness PegaCRM-Portal SFAPortalLanding, SFAPortalDashboard,


SFAPortalDashboard_Mobile

Navigation PegaCRM-Portal SFAPortalMenuItems, SFAPortalMenuItems_Mobile

Details

The Desktop and iPad use the Harnesses SFAPortalLanding, SFAPortalDashboard where
we have placed pxUserDashboard section for opening a personalizable dashboard, whereas
the Mobile will use the section SFAPortalDashboard_Mobile.

The below screen shots navigation rules having Dashboard options will open the harness of
interest, Desktop or [Link] includes pxUserDashboard section, and the Data-Transform
SFAPrepareDefaultDashboard.

Pega Sales Automation Implementation Guide 2-361


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-362


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

The Call to Data Transform SFAPrepareDefaultDashboard (Extension Point) will accomplish


the following tasks:

UserDashboardCategory – Assign a dashboard to a category. In our layer we maintain only


two dashboards: ‘SFASalesManagerDashboard’ & ‘SFASalesRepDashboard’. Depending upon
the access-group we will open the respective dashboard. It gives us the flexibility to customize
the dashboard on the basis of access-group.

UserDashboardLabel – Add the title to the dashboard.

Dashboard Templates
In addition to OOTB templates, we have added the template ‘SFA Two Column’. The
advantages of this template over other OOTB template are:

If the size of one widget is different than the adjacent widget, it will fit both widgets in the
maximum of the size of the widgets.

In mobile, it will show only one widget at a time. You can change the widget, by clicking on
Interactive Menu Drop-Down.

Technical Implementation Details


Records of Interest

Section @baseclass crmUserDashboardemplateTwoColumn (Non-Mobile


Devices)

Section @baseclass crmDashboardTemplate_Mobile (Mobile Devices)

Details

In this template, a user can add a maximum of ten slots and a minimum of two widgets in each
row.

If a row doesn’t have any widgets, then it will not be visible in the Dashboard. We are controlling
this with the condition of following type (say for row-3).

Pega Sales Automation Implementation Guide 2-363


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

For Mobile, in interactive mobile-menu, we are using Layout’s ‘Defer load contents’ feature, as it
shows only one item at a time.

Pega Sales Automation Implementation Guide 2-364


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-365


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Addition of New Widget


If you are creating a new widget or you are implementing Pega Sales Automation and want to
convert the already existing dashboard gadgets to configurable dashboard widgets, you can
create a section and configure all the UI and data-source in this section. Navigate to the section
tab and update the section properties so that it will behave as widget.

Details
Select the settings tab in a section you want to turn to a widget.

Widget Title – The title of a widget that will appear in the widget picker.

Widget Description – The description of a widget that will appear in the widget picker.

Category – Required field to associate a category with a widget. With Pega Sales Automation,
we are providing only two categories: ‘Sales Automation – General’ & ‘Sales automation –
salesperson’. To add a new category, directly use it in the widget; it will be added in the list of
categories for dashboard. Or use autocomplete to view pre-existing categories.

Widget icon – Use any of the “WidgetIcon_grid” icons.

Pega Sales Automation Implementation Guide 2-366


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Flow action class – Class of flow action for widget options.

Flow action name – Name of flow action for widget options.

Territory and Security Management


Business Territories
Territory Management capabilities establish the hierarchical structure for managing the sales
organization and tracking the entities used in a Pega Sales Automation application, like:
Accounts, Opportunities and Leads. Key functionality like Forecasting and Operator access
controls are based on the structure of the sales territories.

 Sales Operations users can dynamically create and manage the Sales Territory structure.
 A Sales ops user can view / edit their primary territory and children under that territory. A
“global” sales ops user (someone whose primary territory is the root territory node in the
tree) can view / edit the entire territory tree structure.

Business Territory Usage in Pega Sales Automation


Access to Sales Automation objects will be based on traditional Pega 7 Operator ID privileges
as well as a new construct called Business Territory (BT). The privileges give the Operator
blanket access to objects, while the ability to create/read/update/delete specific object will be
governed by the BT that “owns” the object. For example, the privilege ‘SFAUpdateAccount’
grants authority to update Sales Automation Opportunities in general. However, in order to
update a specific account in the “InsCoGroup” BT, the user must be granted security to update
accounts in that territory.

Pega Sales Automation Implementation Guide 2-367


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

An implementation can organize itself in an organizational structure, a geographical structure, or


any other hybrid type system. The BTs point to “parent” territories that will allow for a
hierarchical relationship. The different objects in Sales Automation (leads, opportunities, orgs,
contacts, etc.) can have a direct relationship to a business territory (e.g. an org will have a
territory property) or an indirect one (e.g. a contact will inherit the BT of its account or org).

A Territory is an instance of class “PegaCRM-Data-SFA-BusinessTerritory”.

Pega Sales Automation Implementation Guide 2-368


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Details of Fields

Field Description
Name Name of the Business Territory
Status Active/Inactive
Owner Operator/User who owns this Territory and responsible to
manage the Territory and its children
Delegate Operator/User with Delegated Ownership
Parent Territory Parent/Business Territory

Note: Except “Global” Territory (that ships OOTB) every Territory


is expected to have a Parent Territory
Is Top Level Agency Setting this flag to true creates default operator access records
description associated with this territory and its children. If Operators whose
primary territory is this territory (or its children) do not have
explicit operator access configured, the default operator access
defined at this level will be used.

The Business Territory Hierarchy Model uses the “Path Enumeration” approach. Each node in
the hierarchy has two fields indicating its position: the path or "signature" and level. The path is
the list of nodes traversed from the root to reach this node; the level is the number of levels
down from the hierarchy. A typical path would look like this: “BT1\BT5\BT7“

Where BT1 is the root, BT5 is the root's immediate child, and BT7 is a child of BT5.

A couple of notable data pages for reference are:

 D_BusinessTerritory: Given a TerritoryID, looks-up the instance from the database.


 D_ChildBusinessTerritoriesOpen: given a territory’s signature, active children territories.

Clicking the “Territories” navigation item takes the sales ops user to a landing page that allows
them to:

 View the list of existing Territories in a flat list in repeat grid/hierarchical format in a Tree
grid. Switching between two modes is supported through the toggle icon on top right corner
of the Territories List/Tree.
 Modify any Territory details by clicking on any territory as below
 Add New Territories using “Add Territory” link on top left corner.

Pega Sales Automation Implementation Guide 2-369


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

List View

Tree View

Operator Access Management


Operators can be added, modified and managed from the “Operators” menu item in the
SalesOps portal. The ‘Add Operator’ button allows the user to create new Operators as in the
below screen.

Pega Sales Automation Implementation Guide 2-370


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

An Operator is an instance of class “Data-Admin-Operator-ID”.

Fields Detail
Field Description
Operator ID UserID/OperatorID that is used for login to Sales Automation.
Password Password that is used for login to Sales Automation
Title Title of the operator
Operator Type Type of user, typically mapped to various access groups of Sales
Automation.

From Sales Automation end user portal, one can create only
SalesMgr, Local Sales ops and Sales Reps.
First Name of Operator/user
Name/LastName/Full
Name
Position/Job Title Designation of Operator
Phone Phone Number
TimeZone TimeZone of Operator
Email Email of the Operator
Default Locale Default Locale
Report To Who this user/operator reports to.

Used for showing the Operator hierarchy


Default Territory Territory to which the user belongs. Based on this all operator
access permissions will be provided by default i.e. until Operator
access configuration is done for this user explicitly.
Calendar Calendar of Operator

Pega Sales Automation Implementation Guide 2-371


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Field Description
Image Operator Image can be uploaded from here

Once the operator is created, it will be shown in the list of operators.

Access to Pega Sales Automation objects will be based on traditional Pega 7 Operator ID
privileges as well as a new construct called Business Territory (BT). The privileges give the
Operator blanket access to objects, while the ability to create/read/update/delete specific object
will be governed by the BT that “owns” the object. In order to update a specific account in the
“InsCoGroup” BT, the user must be specifically granted security to update accounts in that BT.

The Operator Access table holds the permissions that an Operator has over the various objects
within a Business Territory (BT). Each user will have one instance in the table. A primary
territory (BT) will be defined and used for defaulting during creation of new objects as well as
defining the BT of Contacts and Leads. For the objects, the ability to grant access is more
robust. Lists of territories are entered and permissions to Read, Update, and Create are set. In
addition, Owner of an Object (like Lead, Opportunity, Account, and Org) will have full access to
those objects irrespective of Territory access.

To access the Operator Access tab, log in with SFASalesOps privileges and click on the
Operators tab. The ‘Add Operator’ button lets you add an Operator and provides access
permissions to work objects for a territory and its children. Clicking the Create checkbox will also
select (check) the Read and Update privileges.

Pega Sales Automation Implementation Guide 2-372


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Permissions for each operator is stored in a table (CRM_LINK_OPERATOR_TERRITORY).The


table is populated and maintained on specific user actions (like edit of operator access or parent
territory change).

Table: CRM_LINK_OPERATOR_TERRITORY

USER BT CLASS READ CREATE UPDATE


skendall BT2 Account YES YES YES
skendall BT5 Account YES YES YES
skendall BT10 Account YES YES YES

When rules: When rules that check for access use the Data page D_OperatorTerritoryAccess
by passing the appropriate parameters. For example:

crmHasReadSecurity:

D_OperatorTerritoryAccess[pyUserIdentifier: Declare_crmOperatorAccess.pyUserIdentifier,
TerritoryID: .TerritoryID, WorkType: @ObtainValue(tools, myStepPage,
"DetermineWorkType")].ReadAccess == true]

Report Definitions: Class Joins retrieves the list of territories an operator has read access to.
(Class Join against this table to check if a record exists) (NOTE: Additional care needs to be
taken for work types that inherit their territory IDs. For e.g.: Contacts get TerritoryID from the
Organization work type or the Account work type that they are related to. Similar cases exist for
Tasks.)

Pega Sales Automation Implementation Guide 2-373


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-374


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Generation of Access Records


Specific user actions trigger creation of access records.

 When a new operator is created, a new instance of class “PegaCRM-Data-SFA-


OperatorAccess” is created. NOTE: For a given default territory, there is additional validation
to check if there is a territory marked as ‘TopLevel’ in the hierarchy to allow creation of the
operator access permissions. To ensure that an agency exists, always mark the root
element in the territory hierarchy as a ‘TopLevel’. This ensures that a set of default operators
are available.
 When a default operator ('BTX~DefaultSalesRep') is edited, the access permissions of all
the operators that derived access permissions from this default operator are regenerated.
 When operator access permissions are explicitly edited, this operator is decoupled from the
default operator data instance, and subsequent updates to the default operator
('BTX~DefaultSalesRep') do not get cascaded onto this operator’s access.
 When an Operator profile is edited and the Default Territory is changed, the operator is
linked to another default operator data instance based on the default territory's location in
the tree.
 When new territory is added, access permissions are generated for operators that had
implicit access to this territory as a part of explicit access granted to any of its parents.
 When a territory is moved within the tree (parent territory is changed), access permissions
are regenerated.

Bulk / Incremental generation of Access Records


A new DSS Setting has been added: “AccessMgmt/GenerateAccessRecords”. By default it is
set to true. This tracks user actions (use cases listed above) and generates access records
incrementally.

For new deployments, you can generate access records in bulk. For this:

 Set this setting to “false”


 Add / change territories
 Add operators
 Run activity “[Link]“
 Set this setting to “true” (to track incremental changes)

Additionally, the above activity can be run to clean and bulk regenerate access records at any
point in time to cleanup and regenerate access records for all operators in the system. The
duration of execution is directly related to the no. of territories and no. of operators in the
system. It would be a good idea to invoke this activity in a BATCH requestor.

Access records are generated through BATCH requestors in the background as part of Agent
processes.

Pega Sales Automation Implementation Guide 2-375


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Note: If your deployment involves running Pega 7 / Pega Sales Automation in multiple
nodes, please consult the LSA / System administrator to ensure that this is enabled only
on one node to avoid lock contention issues.

Pega Sales Automation Implementation Guide 2-376


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Agent Activities: Algorithms

Note: It is not common for implementations to require changes to the activities that
maintain the operator access records for different operators. This section provides an
outline of the algorithms used for reference.

Operator Access Management process

Bulk Regenerate records in (crm_link_operator_territory)

For each operator access instance that has explicit access configuration (Call
GenerateAccessForOperator(Params: pyUserIndentifier))

 Delete records from the table that belong to this operator


 For each work type (Call GenerateAccessForWorkType (Params:pyUserIdentifier,
WorkType))
− Get explicit configurations against territory sorted descending on territory path
− For each explicit configuration:
- Generate a record against the territory

Pega Sales Automation Implementation Guide 2-377


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

- New page with access details (store in a page group keyed by territory)
- If any of (ChildRead, ChildCreate, ChildUpdate) is true go to next step else continue
with loop

− For each of the child territories:


- Check if child territory record exists in the page group, if not go to next step; else
continue loop
- Generate a record (new page with access details) for the child territory.
- Loop through the page group and insert records into the table.

Edit Operator Access

Track changes to the operator access record (post flow action activity)

Records need to be regenerated for Queue for Agent, Operator Name, Work Type

Agent process

Delete records from the table that belong to this operator for this work type

Call GenerateAccessForWorkType

Create Default Operator Access

Whenever an operator is created, an operator access data instance is created

For Each operator access instance maintain a flag to indicate if its default operator access or
explicit operator access (by storing the defaultOperator ID)

Once the user edits access permissions for an operator (post flow action activity, if there are
changes, change flag from default to explicit by replacing the defaultOperatorID to the current
operatorID.

If the user modifies default territory, capture the change and use the right defaultOperator to set
the access permissions.

Parent Territory Change

Track changes:

 Capture the old and new signature for the territory whose parent changed.
 Queue for agent, TerritoryID that has changed parent.

Agent1 process:

1. Get access records (from link table) that define implicit access for operators to this territory
and its children territories - baseterritoryID IN (clause) signature list of the old parent.
2. Delete those records.
3. Get a list of opportunities for which forecast records need to be created

Pega Sales Automation Implementation Guide 2-378


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

a. Compute old and new signatures for current territory and all children and grand children
b. Get those operators, worktype records that had explicit access to the new parent that
grants (any) access to children as well. (from index table)
c. Queue for Agent, Operator Name, Work Type For which records need to be regenerated
d. Get those operators, work type records that had implicit access to new parent (from link
table)
e. Queue for Agent, Operator Name, Work Type For which records need to be
regenerated.
f. Create Work object for ObjSaver.

Agent2 Process:

1. Delete records from the table that belong to this operator for this work type
2. GenerateAccessForWorkType
3. Add territory
4. Queue for agent, TerritoryID, and parentTerritoryID
5. Agent Process
a. Get access records (from link table) which define implicit access for operators to the
parent territory
b. Insert new record into table with the same access configuration as parent
c. Get those operators, worktype records that had explicit access to the parent that grants
(any) access to children as well. (from index table)
d. Insert new record into table with the child access configuration
e. If the territory is a top level agency (in createDefaultOperators activity), for each default
operator
f. Queue for agent (GenerateAccessForOperator), OperatorID

Security Roles and Privileges


Sales Automation 7.21 ships with Rule-Obj-When and Rule-Access-when rules to be applied as
visible-when conditions on the UI and on security rules to grant or revoke access to specific
gadgets or to perform specific actions in the application. These apply to different classes and
get applied through rule-resolution. A UI developer is required to apply the Rule-Obj-When rules
as visible-when conditions on UI rule types. A security administrator is expected to administer
the security related rules. Sales Automation leverages security rule types in PRPC platform
(Rule-Access-*) and uses Rule-Access-When rules to conditional allow or deny access /
privileges. Even if a UI developer misses adding visible when conditions on actions, the security
rules validate to deny or stop an user from performing an action that they are not authorized to
perform.

Privileges on UI rules
The following “Rule-Privilege” instances have been added to restrict access to menu items from
the left navigation that lead to gadgets that allow admin operations.

Pega Sales Automation Implementation Guide 2-379


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Tools: SFAToolsView

Territories: SFATerritoriesView & SFAModifyTerritories

Operators: SFAOperatorsView & SFAModifyOperators

Partners: SFAPartnersView & SFAModifyPartners

Note: A privilege per menu has been created to allow for maximum flexibility.

For example, to grant access to the ‘Operators’ menu on the navigation, the privilege
‘SFAOperatorsView’ can be added to the role; And to provide access to create Operators the
privilege ‘SFAModifyOperators’ can be added.

While hiding menu options on the UI is important, it does not prevent the functionality underlying
the menu option from being used through other means. To secure the underlying functionality
privilege checks have been added in the underlying harness rules, flows & flow actions.

For example, In the case of Bulk Upload, the privilege ‘SFAToolsView’ has been added to the
New Harness, crmCreate flow & crmMapProperties flow actions.

Privileges on Flows
The privilege ‘crmCanWrite’ has been added to all the flows (e.g. crmCreate, crmEdit…). An
Access When rule is evaluated based on the operator’s access & permissions to conditionally
grant privileges to the operator.

Pega Sales Automation Implementation Guide 2-380


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Rule-Access-Role-Object
Access When rules (Rule-Access-When) are provided to check if a user can perform an action
or not. Sales Automation uses the following 2 Access When rules to check if an operator has
read / update access

crmCanRead

crmCanRead will check if the user has read access or not. In this Access When rule the Obj
When rule (RULE-OBJ-WHEN) crmHasReadSecurity is invoked. This when rule will evaluate
the read access based on different conditions (e.g. security permissions defined in the
application and bypassoperatorcheck, etc).

Pega Sales Automation Implementation Guide 2-381


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

crmCanWrite

This will evaluate if the user has write access or not. As pega platform doesn’t differentiate
between ‘create’ and ‘update’, in the Access When rule there is are expressions to differentiate
whether the user’s intent is to create or update by using a when rule isNewWorkObject
(extension point for implementers to define New Work Object criteria). If its not a new case, it is
assumed that the user is attempting to edit and further rules are checked (crmCanCreate for
create operation and crmCanEdit for edit operation).

Pega Sales Automation Implementation Guide 2-382


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Roles and Access group changes


Starting with Sales Aurtomation 7.21, the roles ‘PegaCRM-SFA: User’ & ‘Pega-Rules:
User4’ have been removed from the access groups as they were providing full access to
objects. A new role PegaCRM:User4 has been added that conditionally grants access to
instances of different case types.
Access Role Name PegaCRM-SFA:SalesRep

Pega Sales Automation Implementation Guide 2-383


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Access Role Name: PegaCRM-SFA: SalesManager

Access Role Name: PegaCRM-SFA:SalesOps

Pega Sales Automation Implementation Guide 2-384


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Access Role Name:PegaCRM-SFA:LocalSalesOps

Access Role Name:PegaCRM-SFA:Sysadmin

Pega Sales Automation Implementation Guide 2-385


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Global Search (Elasticsearch)


Pega Sales Automation 7.21 provides a customized work-oriented global search. These
chapters reflect the search customization in detail.

Common background
Pega Sales Automation has a custom security model based on configurable operator access
and permissions. The search results need to adhere to the access and permissions defined on
the operator access records. Pega Sales Automation 7.21 applies the permissions-based
filtering on the search results.

Pega Sales Automation Implementation Guide 2-386


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Work objects / Cases types


Work objects and Case types are similar within this context. Using the global search within Pega
Sales Automation the results are limited to these work objects

 Contacts
 Organizations
 Individual Accounts
 Business Accounts
 Individual Leads
 Business Leads

Pega Sales Automation Implementation Guide 2-387


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Security
The current user will only get those results where he has access. The identifier to this limit is the
Business Territory (or multiple Territories if applicable) the user belongs to.

Grouping
Search results are grouped by the work object types mentioned above.

Search narrowing
The default search routine searches within all mentioned work objects with updates anytime, but
the user can customize the search run to this search terms:

Case Type

Includes

Shows

Pega Sales Automation Implementation Guide 2-388


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Last Updated

Technical implementation
This chapter describes only the modifications to the standard Pega 7 implementation and shows
what components are used to customize the global search for specific needs.

Application rule modifications


Sales Automation 7.21 supports searching against the following case types:

 Organization
 Account
 Opportunity
 Lead
 Contact.

Corresponding case types need to be configured in the Cases & data tab of the Rule-
Application rule. This list of cases against which searches are performed is determined by the
search routine by reading the metadata on this rule.

Pega Sales Automation Implementation Guide 2-389


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Search base
The global search uses ElasticSearch, which is a search server based on Lucene. Information
about work objects are stored in a file base indexed by Lucene. Any property of a work object
will be populated there. Pega 7 provides a standard implementation with a wide range of
retrievable information, but retrieving additional search content must be configured, as
described in the subsequent chapter.

Although the internal file base is not accessible directly within Pega 7, the Developer Studio
applies a way to get an overview about the files size and its availability.

Pega Sales Automation Implementation Guide 2-390


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

After a click on the shown menu item the following screen appears (excerpt).

The important entry in this screen is “All Work” which presents the file base to retrieve Lucene
search results for work objects. More details are available by clicking Check.

Pega Sales Automation Implementation Guide 2-391


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

In this example the file size is about 16.7 MB and contains 22,560 entries.

If the global search does not return results, please check this page. When it shows an error, the
re-indexing of the file base is needed.

Configuring additional search data during work object creation / modification


Although any property of a work object is populated to Lucene, specific search properties need
to be explicitly configured, because Lucene will internally optimize those properties for fast
search results.

For this a specific Data Transform called pySearchModel is used. The following screenshot
shows as an example the Data Transform for Accounts.

Pega Sales Automation Implementation Guide 2-392


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Unlike the normal use of Data Transforms in Pega 7, this Data Transform does not require
sources for the properties that need to be set, except one (in this example an arbitrarily value is

Pega Sales Automation Implementation Guide 2-393


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

set for pxObjClass and will be replaced during runtime with the real value). It acts as a template
only, and Lucene will grab the appropriate data by itself.

For each work object an own Data Transform exists which applies to the work object class.
However additional Data Transforms for inherited classes are not necessary (Individual
Accounts, Opportunities and Leads).

Known as an issue, this Data Transform has to be unique in the system for each search object
(in our case work object) because Rule Resolution doesn’t work in this case. If the Data
Transform for a specific search object exists in multiple Rule Sets, the system picks a random
version. The solution for this issue is described on the next chapters.

Retrieving search data


To retrieve search results from Lucene the standard implementation is widely used. However
the retrieving mechanism is slightly customized for Pega Sales Automation 7.21.

When a user put search tokens into the global search field and hits enter, the activity
pySearchWrapper is executed.

Pega Sales Automation Implementation Guide 2-394


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

The activity does the following:

 Initiates parameters for search conditions.


 Applies the work classes to be included in the search on clipboard page ClassOfWOS
 When searching for all work objects, it loops through the page ClassOfWOS, running an
appropriate Report Definition pyWorkSearch (will be discussed later) to retrieve the data
temporarily on clipboard page pySearchResultsWork (which will be used for all iterations).

Pega Sales Automation Implementation Guide 2-395


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Then it appends the data via copy into the page property pyWorkResults of the primary
page.
 When searching for a specific work object, it just runs the Report Definition pyWorkSearch
for the selected work object only.
 Sorts and groups the search results accordingly to the work object types for further UI
presenting.

Report Definition pyWorkSearch


According to the standard search implementation to retrieve data from Lucene a Report
Definition rule with name pyWorkSearch is implemented. This Report Definition applies to the
appropriate work class. Like for the Data Transform pySearchModel, this Report Definition is not
necessary for the inherited classes (Individual Account, Opportunities and Leads). The next
screenshot shows the Report Definition for Accounts.

Pega Sales Automation Implementation Guide 2-396


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-397


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

This report is different than other Report Definitions in Pega Sales Automation or Pega 7
because the system recognizes that this report does not run against the database but against
the file base of Lucene. Therefore properties used in this report are not required to be exposed
as columns within the database (unless they are used in other reports as well), so the Guard
Rail warning about missing column exposing can be ignored.

The filter criteria excludes all work objects with a status work starting with “Resolved” and the
report returns only objects for Business Territories the user has access to.

In normal cases the properties in the Report Definition pyWorkSearch match the properties in
the Data Transform pySearchModel.

Pega Sales Automation Implementation Guide 2-398


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

To ensure that the report does run against Lucene, a specific standard parametrized activity
needs to be called within the activity pySearchWrapper, it is called Rule-Obj-Report-
[Link] (see activity step 5.1 as an example). The necessary
parameters are:

 [Link]: in this case always “starts”


 [Link]: the string from the global search field
 [Link]: the class name where the report applies to
 [Link]: in this case always “pyWorkSearch”
 [Link]: in this case not needed and set to an empty string

When searching all work objects, the parameter pyReportClassName will be set to
[Link](<CURRENT>) in each iteration per work class (see activity step
5.1). If the search runs for a specific work class only, then this property is set with
D_pyWorkSearchPreferences.pySearchCase (see activity step 6).

Application Rule Set PegaCRM-SFA_Search:07-14-01


Because that the Data Transform pySearchModel must be unique for each work class in the
system, all search related rules which are customized for Pega Sales Automation 7.14 all stored
in PegaCRM-SFA_Search:07-14-01, so they are kept together and can be easily located in only
one Rule Set.

These are the rules:

 Data Transform pySearchModel (5x, one for each work class)


 Report Definition pyWorkSearch (5x, one for each work class)
 Activity pySearchWrapper (1x, to run the global search)
 Data Transform pyPopulateClassesForSearch (1x, to populate work classes to be
searched for on the clipboard)

This approach makes it easy to handle the search customization because all related rules are
stored at the same place. Therefore they can be deployed separately to Pega Sales Automation
7.14 if the customized Lucene gobal search is used.

During deployment this Rule Set must be declared as an Application Rule Set on Top of
PegaCRM-SFA:07-xx.

Partner Management
Pega Sales Automation empowers your partners and agencies to leverage the benefits of Sales
Automation. It helps you collaborate with partners and provides direct visibility into all partner
deals and sales activities.

Pega Sales Automation Implementation Guide 2-399


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Partner management leverages the existing territory security model. This ensures that each
partner or agency only has access to their data.

Global sales ops can easily set up and administer partners, and delegate user administration to
the local sales ops users at the partner organization.

Partner List
As sales ops, a menu Partner is available in the left menu. From there the sales ops can
manage partners like:

 Create a new Partner


 Add an operator to the Partner
 Edit a Partner
 Close a Partner

Creating a new Partner


Sales ops can create a new Partner by clicking the Create Partner button. It will display a
screen for the sales ops to fill out the information about the partner.

Pega Sales Automation Implementation Guide 2-400


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

The Pega Sales Automation Access Required checkbox allows the sales ops to select territory
for the partner to be associated with it. The territory defines the scope that the partner has
access to work objects like opportunities and leads.

Add an operator to the Partner


With a partner opened, the local sales ops user can Add Operator to the partner. Operators that
are added to the Partner are associated with the territory of the Partner. This gives the operator
the visibility to these work types with the same territory. The flow that displays is the same flow
for creating a Sales Automation operator.

Edit a Partner and Close a Partner


With a partner opened, the sales ops can edit and close the partner like any other work object in
Sales Automation.

Pega Sales Automation Implementation Guide 2-401


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Technical Implementation Details


Class: PegaCRM-Entity-Org-Partner

Description: This class is for the partner. Because of its similarity to organization, partner
extends from organization.

Flow: [Link]

Description: Creates a new partner.

Flow Action: crmEdit

Description: It reuses the edit flow but extends the edit flow action to make it custom for partner.

Pega Sales Automation Implementation Guide 2-402


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-403


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

CaseType: pyDefault

Description: Used to determine what processes are available for partners.

Pega Sales Automation Implementation Guide 2-404


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-405


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Property:

 [Link]: Partner status


 [Link]: Unique id for Partner
 [Link]: Determine if it is a partner

Pega Sales Automation Implementation Guide 2-406


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 [Link]: Determine if it is in creating


territory mode
 [Link]: Determine if access is required
 [Link]: Tax id for the partner

Data Transform: crmSetPartnerValues

Description: Sets the partner territory to the newly created territory.

Data Transform: pyDefault

Description: Default values for creating a new partner.

Pega Sales Automation Implementation Guide 2-407


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Data Transform: crmPreTerritoryCreate

Description: Setup a temporary page NewTerritory for creating a territory on the partner.

Pega Sales Automation Implementation Guide 2-408


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Data Transform: crmPostTerritoryCreate

Description: Setup partner territory from newly created territory and cleanup NewTerritory page.

Pega Sales Automation Implementation Guide 2-409


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Declare Expression: .crmAgencyStatus

Description: Determines if the partner is active or inactive based on status of the partner.

Data Page: D_OperatorsInPartner

Description: Gets a list of operators for Partner.

Pega Sales Automation Implementation Guide 2-410


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-411


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Data Page: D_PartnerTerritory

Description: Gets the territory information for partner.

Pega Sales Automation Implementation Guide 2-412


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-413


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Activity: crmValidateTerritoryID

Description: Validates territory for partner.

Pega Sales Automation Implementation Guide 2-414


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Activity: crmTerritorySearchFiltered

Description: Gets a list of territories to pick from based on the work type.

Pega Sales Automation Implementation Guide 2-415


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-416


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Report Definition: crmOperatorsInPartners

Description: Gets a list of operators for the partner.

Pega Sales Automation Implementation Guide 2-417


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-418


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Report Definition: crmPartnerList

Description: Gets a list of partners.

Pega Sales Automation Implementation Guide 2-419


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Report Definition: crmOppPartners

Description: Joins opportunity and partners to get a list of partners for opportunity.

Section: [Link]

Description: This section displays the partners on the opportunity. A new grid has been added
to display the partners associated with an opportunity that was created in the partners menu.

Pega Sales Automation Implementation Guide 2-420


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

DSS to determine if partner maintenance is available: UsePartnerAdministration.

Pega Sales Automation Implementation Guide 2-421


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Administration Tools
A sales admin or a sales operator can access Tools provided in the Sales Ops portal to:

 Bulk upload work objects and operators


 Manage Partners
 Manage Products
 Manage Competitors
 Manage Relation Types
 Manage Time Periods
 Personalize Manager Dashboard
 Personalize Rep Dashboard

Pega Sales Automation Implementation Guide 2-422


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Bulk Upload via Ops Portal


Clicking Bulk Upload leads to a new flow of work, which facilitates a sales operator to upload
data and create various work objects and operators in the Pega Sales Automation system.

Only Sales Operations users can perform data migration activities for various Work objects. The
Bulk Upload feature can be accessed from the Top Tab “Tools”  “BulkUpload” button. It
allows the user to create the work objects in bulk by uploading an xml or csv file with
appropriate data for Work objects.

Pega Sales Automation Implementation Guide 2-423


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Sales Ops user can bulkupload Multiple addresses for Organization,Account and Contact Work
[Link] user wants to add Multiple addresses for existing record,user has to copy entire
record and update just the address by passing the record id.

Upload Sequence
Upload Type is a field on the Bulk Upload wizard that gives options to select the type of object
on which upload is to be performed.

If an organization is uploading data for the first time, it is recommended to follow the sequence
in the Upload Type as:

 Territory: The Upload should start with the Territory upload. Territories fields are all related
to territory except Owner and Delegate, which are of Operator type and need Operator ID in
the file. To start the upload, the default Operators should be used (SFASalesOps,
SFASalesRep, SFASalesManager or SFASysAdmin). These can be updated at later stages.

 Operator: Once territories are loaded into the system, the operators are loaded. All the fields
of Operator are independent of any other object except for the Default Territory field, which
needs to be populated by the TerritoryID created initially.

Pega Sales Automation Implementation Guide 2-424


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 Organization: Organization data is loaded with the required fields. There are three fields in
Organization that require IDs: Owner (OperatorID), Territory (TerritoryID), and Parent
Organization (OrganizationID).
B2C: As there is no organization in the B2C setting, the drop down in the Bulk Upload doesn’t
give the option to select Organization.

For B2B and B2B_B2C:

 Account: All the fields in Account upload are independent except three fields: Owner
(Operator ID), Territory (TerritoryID), and Organization (OrganizationID).
B2C: As in B2C setting, Account is created automatically when contact is created. The option
to select Account in the Bulk Upload drop down is not available.

B2B and B2B_B2C:

 Contact: Contact has some fields that require IDs of other work objects. These fields are
Organization (OrganizationID), Reports To (ContactID), Account (AccountID) and Territory
(TerritoryID), AirportCode, Country. The Email ID (Work Email or Home Email) should have
unique values.

B2C: OrganizationID and AccountID are not required.

Pega Sales Automation Implementation Guide 2-425


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

B2B: OrganizationID is a required field.

B2B_B2C: OrganizationID is optional.

 Lead: Leads fields are loaded as per the template.


The IDs needed in Leads are ContactID, TerritoryID, Owner (ContactID), and Country

B2C: In B2C, fields like company and industry are not there. The template specific for B2C
setting should be used for the upload.

B2B:

B2B_B2C:

If Lead (Individual) is selected:

If Lead (Business) is selected:

 Opportunity: The fields on the opportunity are independent fields except Account
(AccountID) and Territory (TerritoryID), Owner, and ContactID.
B2C: The ContactID is internally mapped to Account during the opportunity load.

Pega Sales Automation Implementation Guide 2-426


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

B2B:

B2B_B2C:

If Opportunity (Individual) is selected:

If Opportunity (Business) is selected:

 Customer Activity:Activity data will be loaded as per the template.


RelatedToID can be Organization,Account,contact,Lead and opportunity.

 Partner:Partner data will be loaded as per the template.

Pega Sales Automation Implementation Guide 2-427


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 Product:Products will be loaded as per the template

Bulk Load Wizard


Two types of file formats are supported by Pega Sales Automation: CSV and XML.

 Sales Ops have an option in the Left Navigation pane as Tools. From the Tools,

Pega Sales Automation Implementation Guide 2-428


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 Once Bulk Upload is selected, Sales Ops get a screen to select Upload Type.

 The field Upload Type dropdowns show the relevant work objects based on the DSS
SellingMode.
 Once Upload Type, File Type (CSV/XML) and File are selected, click on Create to start the
Bulk Upload.
 The file to be uploaded has to follow the defined templates. The templates can be found on
the Pega Sales Automation page on the Pega Developer Network (PDN):
[Link]

The column names in CSV file type and node names in XML file type should never be changed
unless properties in implementation layer have been customized.

Map Properties

The below screen allows the user to map the properties of xml/csv file to the properties of Work
object i.e. account in this case.

Pega Sales Automation Implementation Guide 2-429


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Using this screen, the user can create his own template of property mapping that can be reused
when required. Available templates are listed on the right side as shown in the screen.

Bulk Upload Result

After mapping the properties and taking default values into account, corresponding work objects
will be created for each row in the .csv file or .xml file. It will also log the status of the processed
work object. If any work object fails (may be mandatory field missed) during creation process,
the log messages will be recorded and shown. On expansion of Failures tab at the bottom,
system shows the list of failure records with its IDs. The user can export the list of Error records
and correct the data to re-import.

Pega Sales Automation Implementation Guide 2-430


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-431


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Data Format

While uploading data, the format of the data has to be correct. Below are some of the data fields
and the value that they hold:

 Industry: Entertainment, Financial Services, Government, Healthcare, High Tech,


Insurance, Manufacturing, Media, and Retail
 Target: True/False
 Employees: Positive integer
 Revenue: Should be Positive decimal value (without prefixing/suffixing with currency)
e.g:252535
 Gender: M/F
 Phone No: Any valid Phone number (NO US format is allowed 7-(309)810-3150 so it should
be: 415 599 2671)
 Owner: should be Valid OperatorId
 Country: IND (3 letter country code)
 ReportsTo: should be Valid OperatorId
 DateOfBirth: Date as “YYYYMMDD” and we will internally convert from Date to DateTime
by using Pega 7’s function @toDateTime
 AirPortCode: HYD, CBG (3 Letter Airport Code)
 Lead Rating: Values should be: 1-Hot,2-Warm,3-Cold
 FavorabilityRating: Values should be:1-Promoter,2-Passive,3-Detractor
 InfluenceRating:1-High,2-Medium,3-Low
 Operator Type: Value should be valid access group (e.g. PegaCRM-SFA:LocalSalesOps)

Pega Sales Automation Implementation Guide 2-432


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 Territory, Organization, Account, Contact- should have IDs (e.g. BT1 for territory, Org-
1,Acc-1,CON-1)
 Salutation: Dr., Mr., Mrs., Ms., Prof.
 LifeStage: Adult, Empty Nest, Other, Retiree, Young Adult, Young Family
 MaritalStatus: Married, Single, Widowed
 LeadSource: Advertisement, Campaign, Employee Referral, External Referral, Partner,
Referral, Seminar, Tradeshow, Webinar, Website
 LeadStage: Assigned, Closed, Converted, Marketing Qualified, New, Qualified, Sales
Qualified
 OpportunitySource: Advertisement, Analyst Referral, Campaign, Customer Referral, Direct
Mail, Email, Employee Referral, Partner, Seminar, Tradeshow, Web
 ForecastCategory: Closed, Commit, NotForecasted, Stretch, Upside
 OpportunityStage: Analysis, Assigned, Closed, Decision, Legal, Needs
Analysis,Negotiation,Pre-Development,Proposal,Qualification,Solution Development, Value
Analysis, Value Analysis and Above, Value Proposition, Won
 MustWin: True/False
 Status(in Territory):Active/Inactive
 ReservedForPartner(IsTopLevelAgency in territory):True/False
 Owner & Delegate (in Territory): should be Valid OperatorId
 Reports To (in Contacts): should be a valid ContactID
 Default Locale (In Operator): It is optional, but if given the format should be proper as “en-
US”, “de_DE” etc.
 Calendar (In Operator): It should be either “USDefault” or “Default”.
 Timezone (In Operator): Should be in correct format as “AGT”, “America/New_York”, and
do on, and should be from the allowed list only.
 AddressType:Alternate Address,Billing Address,Business Address,Personal
Address,Shipping Address.
 IsPrimary:True/False

Technical Implementation Details


To map the properties in the second screen, the developer created field values at each class
level of the work object.

The below screen shows the list of field values that are part of the account work object.

Extension point:

 If the work types to be uploaded needs customization, then the data transform
crmPopulateBUWorkTypes in the implementation layer has to be overridden.
 If any help document needs to be modified then update crmBulkUploadHelp.

Pega Sales Automation Implementation Guide 2-433


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 If you need to add new properties for bulk upload, then create a field value for
crmMapToProperty in the work type that you are trying to upload and map the value to this
new field in 2nd screen of Bulk upload.
 By default we are providing Default templates wherein mapping for the columns in the CSV
file or the elements in the XML file to properties in the work type are made. If we want to
modify existing mapping then give a new template name and save the selection.
 The entire bulk upload is done as a batch requestor and for debugging purpose. If you want
to run the bulk upload sequentially with the current operator then modify the activity
crmInitiateFileProcess.
 During the process of BulkUpload if there is any customization for a WorkType, there is an
activity crmBulkPostMerge.

Pega Sales Automation Implementation Guide 2-434


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Rule Name: WorkType

Rule Type: Field Value

Need to add the required worktype as the Field Value.

Rule Name: WorkTypeMap

Rule Type: MapValue

You need to modify the MapValue rule in order to add another worktype.

Here the user needs to add the required WorkTypeName and the WorkTypeClass which will
have the implementation of the work type.

Rule Name: CreateWorkFromUpload

RuleType: Activity

Pega Sales Automation Implementation Guide 2-435


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Need to implement this activity in the WorkTypeClass that was declared in the map value
WorkTypeMap. Here the entire logic, which will create the corresponding work object from the
data uploaded from the excel sheet is presented.

Rule Name: ValidationRuleName

Rule Type: Map Value

Need to change this map value to add any validation rule for the work object that has created.

Pega Sales Automation Implementation Guide 2-436


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Bulk Upload via File Listener


Contacts can also be created or updated in bulk using the file listener. When a csv file is moved
the the designated folder on the server, the file listener will detect the file and import the
contacts into Sales Automation.

The DSS setting FileListenerSourceLocation is used to specify the path where the listener
will poll for files. Within that folder, a Contact folder must be created.

<Add Screen shot>

These folders will be listened by corresponding File Listener through Global Resource Settings.

Pega Sales Automation Implementation Guide 2-437


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

The above listener should start from Service Management Application (Designer Studio 
System  Operations  System Management Application).

The format of the file must conform to an existing contact bulk upload template, which must be
specified in the DSS BulkUploadTemplateName.

Upon start of the service, the corresponding folder will be polled for a file.

Place the csv file which contains work object data. This csv file should be in the following
format.

Pega Sales Automation Implementation Guide 2-438


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

The listener will detect the file and begin processing all rows. For every row it will call the
service method mentioned in the File Listener. For the above file listener screen shot we are
calling CreateContact service method as shown below.

Pega Sales Automation Implementation Guide 2-439


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-440


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 2-441


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

When Service File is called the first time, the InitializeBulkUpload activity will be called. In this
activity for Intializing properties InitBulkUploadProperties data transform will be called. This
can be extended in implementation layers to initialize their properties. The bulk upload template
specified in the DSS BulkUploadTemplateName will be placed in TemplateName property
through above datatransform.

Pega Sales Automation Implementation Guide 2-442


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

In the above service file, parse segments are mentioned. The first parse segment will be helpful
to process the Header record. After picking the header record this will call ProcessHeader
activity.

Pega Sales Automation Implementation Guide 2-443


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

The above activity will create a Results CSV file to place the work object results. This activity
will also read mapping properties information respective to work object which are packaged with
Sales Automation RAP.

Based on the above parse rule, header information will be mapped to corresponding column.
E.g., If header columns are like FirstName, LastName etc. Column1 will contain FirstName and
Column2 will contain LastName etc.. and this header information will be stored in the header
property.

The second parse segment will perform the work object processing. For each row in the CSV
this parse segment will be called. According to the Parse Delimited rule as shown below, data
will be picked from the row and will place it in corresponding properties in the integration layer.
E.g., First column in the csv file contains Terry and second column contains Mason then
Column1 property in the Integration layer contains Terry and Column2 property in the
integration layer contains Mason as their values.

Pega Sales Automation Implementation Guide 2-444


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

After properties are filled, the BulkUploadCreateWork activity will be called. This activity will
do the actual work object creation by mapping integration properties to corresponding work
object properties and finally results will be placed in the corresponding results file.

If you want to do any pre activities like data model changes you can extend the
crmBUPreProcess data transform in the corresponding class.

Pega Sales Automation Implementation Guide 2-445


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Also If you want to do any post commit activities you need to override the crmBUPostProcess
activity in the corresponding class.

For every record, the above activity will be called and results will be placed under results file
<corresponding work object>/results folder as shown below.

The above file will contain the original work object data with two additional columns: status and
corresponding information . If the create/update is successful, then pyID will be displayed. If
there was an error, the relevant error message will be logged.

Pega Sales Automation Implementation Guide 2-446


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

The Following Dynamic System Setting will be provided to control the results information.

If All is mentioned, then it will record both success and failure records in the results file.

If ErrorsOnly is mentioned, then it will record failure records in the results file.

If SUCCESS is mentioned, then it will record success records in the results file.

Once all records are processed, the BulkUploadNotification activity will be called. This will
send Bulk Upload results information through Email.

When the upload completes, and email can be sent to a list of email addresses using the DSS
BulkUpload_Notification_Default_Email

Pega Sales Automation Implementation Guide 2-447


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

The Email will be sent as shown in the following Correspondence rule.

We can split those records into several files and can place those files at a time in the work
object folder mentioned above and can start multiple file listeners at a time by configuring in the
file listener. So that entire files will be picked at the same time and will process concurrently.
For this, we need to change Concurrent threads to no. of threads in the File Listener.

Pega Sales Automation Implementation Guide 2-448


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

14

Manage Products
A product in the Pega Sales Automation system is a data instance of type PegaCRM-Data-
Product. Below is the data model of this class.

Pega Sales Automation Implementation Guide 2-449


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Products are associated with the Opportunity work objects in the Sales Automation system.

By using the Manage Products tool, a sales admin or sales operator can create or update a
product within the Sale Automation system. Clicking the + sign at the bottom of the list creates a
new product. Double-clicking on a row lets you edit a product.

Pega Sales Automation Implementation Guide 2-450


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Manage Competitors
A competitor in Pega Sales Automation system is a data instance of type PegaCRM-Data-
Competitor. Below is the data model of this class.

Pega Sales Automation Implementation Guide 2-451


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Competitors are associated with the Opportunity work objects in the Pega Sales Automation
system.

This Manage Competitors tool facilitates a sales admin or sales operator in creating or updating
a competitor within the Sales Automation system. Clicking the + sign at the bottom of the list
creates new competitor. Double-clicking on a row lets you edit a competitor.

Manage Relationship Types


A Relationship type in the Pega Sales Automation system is a data instance of type PegaCRM-
Data-RelationShipTypes. Below is the data model of this class.

Pega Sales Automation Implementation Guide 2-452


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Relationship types can be used to associate a contact with an account or organization. Implicit
relationship types that Pega Sales Automation uses are:

 C2A - indicating Contact to Account relationship type


 C2O - indicating Contact to Organization relationship type
 P2P – indicating Contact to Contact relationship type

This Manage Relationship Types tool facilitates a sales admin/ sales operator in creating or
updating a relationship type within the Sales Automation system. Clicking the + sign at the
bottom of the list creates a new relationship type. Double clicking a row allows editing of an
existing relationship type.

Pega Sales Automation Implementation Guide 2-453


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Manage Time Periods


A Time Period in the Pega Sales Autmation system is a data instance of type PegaCRM-Data-
TimePeriod. Below is the data model of this class.

Time periods are used while setting goals for an operator through the Sales Ops portal.

Pega Sales Automation Implementation Guide 2-454


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

This Manage Time Periods tool facilitates a sales admin or sales operator in creating or
updating a time period instance within the Sales Automation system. Clicking the + sign at the
bottom of the list creates new time period instance. Double-clicking on a row lets you edit a time
period instance.

Personalize Manager and Rep Dashboard


Sales Ops can publish the default dashboard for Sales Managers, Sales Rep and Sales Ops
users.

Steps:

1. Go to Tools, select the button for the Dashboard to customize the defaults for.
2. Click Switch Template.
3. Select a template. Each template includes a preview of the number, size, and relative
position of slots that it contains.
4. Add widgets to each slot in your template.
a. In the Edit dashboard panel, click Add Widget next to the slot that you are configuring.
b. Select the check box next to a widget to include in the slot.
c. Click Add Selected.
d. Drag and drop the widget to change its position in the slot.
e. To remove a widget from a slot, click the Delete icon.
f. Click Save. To discard your changes, click Cancel.

5. Click Publish to publish your dashboard.


Technical Implementation Details:
Personalizing Default Dashboard for Sales-Manager & Sales-Representative

Sales-Ops can publish the default dashboard for different available access-group in the
application. This will prevent users that log into the application for the first time from seeing a
blank dashboard.

Pega Sales Automation Implementation Guide 2-455


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Records of Interest

Harness PegaCRM-Portal SFAPortalDashboard

Section Data-Portal SFAPortal_Tools_Content

When System-User-Dashboard pyUserDashboardCanPublishFor

When @baseclass crmHasSalesOpsAccess

Data-Transform Code-Pega-List pyUserDashboardLoadList

Details

In Tools option, Open the Dashboard for personalizing for different access-groups. The
dashboard set-up is similar to the one we did for user.

In the Data-Transform pyUserDashboardLoadList, we are adding options for “Publish to


access group”, which the user can access for the Publish drop-down menu, if he has access for
publishing to access-group.

Pega Sales Automation Implementation Guide 2-456


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

The when rule pyUserDashboardCanPublishFor, configured the access for “access-group” to


the Sales-Ops access group.

Pega Sales Automation Implementation Guide 2-457


Architecture – Application and Class
Structure

The Pega Sales Automation topics covered in this chapter are:

 System Administrator Account


 RuleSet Hierarchy
 Application Definitions
 Key Work Classes
 Key Data Classes
 Inheriting from Sales Automation Classes
 Configuring Sales Automation Application Settings
 Work Object Prefixes and Naming Conventions
 Operators and Access Groups
 Access Roles and Privileges
 Sales Automation Tables in the Pega 7 Database
 Work Tables

System Administrator account


As a Pega Sales Automation system administrator, you should use the following Administrator
ID to access the application:

Operator ID: SFASysAdmin

Password: install

You can find a complete list of users installed with the application in the Operators, Access
Group, and Portals topic of this chapter. Use this Administrator ID to access and work with the
application rules and processes.

Ruleset Hierarchy
Pega Sales Automation is built on a number of application rules. Application rules define an
ordered set of rulesets and versions that together identify the parts of the application layer. In
addition, application rules relate an application's objectives, use cases, requirements, and
actors for cases that are created as part of the Pega 7 Direct Capture of Objectives capabilities.
You can view a list of the application rules and their rulesets from the Designer Studio by
selecting Designer Studio > Application > Structure > RuleSet Stack landing page option.
The RuleSet Stack tab displays the high- level ruleset stack for each rule defined in the
application. Expand an application to list its ruleset.

Pega Sales Automation Implementation Guide 3-1


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Rulesets are arranged hierarchically with general rules at the bottom and more specific rules at
the top. The rulesets at the bottom are standard in all applications and control the underlying
Pega 7 operations; while the rules towards the top control application functions. Ruleset order is
critical to rule resolution. To find the appropriate rule, Pega 7 begins with the top ruleset in the
list, and if the rule is not found, it moves to the next ruleset.

Pega Sales Automation Rulesets


 PegaCRM-SFA and PegaCRM: Basic rule sets for Pega Sales Automation. Most of the
other rulesets are built on top of these.
 PegaCRM_SFA_BulkUpload: Contains the rules related to the Pega Sales Automation bulk
upload functionality. Provides the ability to upload bulk objects into the system as part of

Pega Sales Automation Implementation Guide 3-2


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

regular maintenance and as part of the conversion processes that a company may need to
go through while rolling out the application.
 PegaCRM-SFA_WebServices: Contains the rules that support the creation or update of
work objects through web services.
 PegaCRM-SFA_Pulse: Contains the rules that support Pega Sales Automation’s native
social collaboration tool.
 PegaFW-Email: Provides Outlook integration capabilities for email, appointments, and
VCARD integration.
 PegaCRM-Social: Supports social integration for the social tools: LinkedIn, Facebook, and
Twitter.
 PegaCRM-OAuth: Includes rules related to authorization functions.
 PegaFW-JSON: Contains rules to support the JSON object type.
 PegaFW-Gadgets: Contains the rules for logging and display of the bulk upload process.
 PegaFW-GeoLocationInt: Integration ruleset for GeoLocation integration
 PegaFW-GeoLocation: Data layer, Sample invocation of Geolocation.
 PegaCRM-NBAMAdapter: Adapter to integrate with NBAM
 PegaCRM-NBAAdapter: Adapter to integrate with NBAA

Application Definitions
Pega Sales Automation ships with several pre-defined applications. Applications are arranged
hierarchically and inherit from each other. Applications built on top of Pega Sales Automation
inherit Pega Sales Automation rulesets and therefore inherit Pega Sales Automation features.

Key Work Classes


The classes in PegaCRM-Work- contain Sales Automation-specific, work-related rules. You can
view the Pega Sales Automation work class structure from the Application Explorer. The
classes, which provide the core functionalities for the application, such as Opportunity, Lead,
and Task are grouped under the PegaCRM-Work-SFA- class level.

Pega Sales Automation Implementation Guide 3-3


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

The PegaCRM-Entity class contains the Account, Contact, and Organization classes.

Pega Sales Automation Implementation Guide 3-4


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Class Structure
Entity Class: Data/Work Class Hybrid
Specific CRM Entities are created as work objects to support additional work object features
such as correspondence on work parties, attachments, audit history, and notes.

S. Class Class Database Table


No. Group
1 PegaCRM-Entity-Org Yes crm_entity_org
2 PegaCRM-Entity-Account Yes crm_entity_account
PegaCRM-Entity-Account-Ind
3 PegaCRM-Entity-Contact Yes crm_entity_contact

Work Class: Work class


S. No. Class Class Database Table
Group
1 PegaCRM-Work-SFA-Lead Yes crm_work_lead
PegaCRM-Work-SFA-Lead-Ind
2 PegaCRM-Work-SFA-Opportunity Yes crm_work_opportunity

Pega Sales Automation Implementation Guide 3-5


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

S. No. Class Class Database Table


Group
PegaCRM-Work-SFA-Opportunity-Ind
3 PegaCRM-Work-Task Yes crm_work_task
PegaCRM-Work-Task-CustAct
4 PegaCRM-Work-Appointment Yes crm_work_appointment

Social Media Classes


Classes starting with PegaSocial-FW- correspond to the Social media functionality.

S. No. Class Database Table


1 PegaSocial-FW-Facebook pc_work_social
2 PegaSocial-FW-LinkedIn pc_work_social
3 PegaSocial-FW-Twitter pc_work_social
4 PegaSocial-FW-SocialDetails crm_link_socialdetails

Management Classes
Classes deriving from PegaCRM-Mgmt- support data maintenance functionality like
Competitors, Products, and Partners and management utilities.

 PegaCRM-Mgmt-Competitor
 PegaCRM-Mgmt-Partner
 PegaCRM-Mgmt-Product
 PegaCRM-Mgmt-RelationshipTypes
 PegaCRM-Mgmt-DataLoad
 PegaCRM-Mgmt-ObjResaver

Data Classes
Classes which mainly hold the data the functionalities to add, update and delete.

S. No. Class Database Table


1 PegaCRM-Data-Competitor crm_data_competitor
2 PegaCRM-Data-RelationshipTypes crm_data_relationshiptypes
3 PegaCRM-Data-Product crm_data_product
4 PegaCRM-Data-DataLoad
5 PegaCRM-Data-RecentWork crm_data_recentwork
6 PegaCRM-Data-Forecast crm_data_forecast
7 PegaCRM-Data-BusinessTerritory crm_data_businessterritory
8 PegaCRM-Data-AirportCode crm_data_airportcode
9 PegaCRM-Data-SalesGoal crm_data_salesgoal
10 PegaCRM-Data-TimePeriod crm_data_timeperiod

Pega Sales Automation Implementation Guide 3-6


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

S. No. Class Database Table


11 PegaCRM-Data-Notifications crm_data_notifications

Portal Classes
These three classes contain the basic end user portals and navigation rules for the basic
personas:

 PegaCRM-Portal-SFA-SalesManager
 PegaCRM-Portal-SFA-SalesOps
 PegaCRM-Portal-SFA-SalesRep

Inheriting from SFA Classes


When you deploy Pega Sales Automation in your environment, it is important that your class
structure inherit from its class structure. For details on building a sample implementation layer
on Pega Sales Automation, please refer to the technical note at:
[Link]

Work Object Prefixes and Naming Conventions


Work objects (cases) capture and process information about an individual unit of work or case.
When Pega Sales Automation initiates a work object, a predefined model rule populates key
property values that directly affect the work object. As work objects progress toward resolution,
core property values, such as priority and status, are updated to reflect the current state of
processing. Each work object has a unique .pyID property that is computed by combining a
system assigned number and a .pyWorkIDPrefix prefix, defined by the work object model. The
table below lists the prefixes used by Pega Sales Automation.

ID Prefix Work Object Class Description


Con- PegaCRM-Entity-Contact Used for contact work object
Acc- PegaCRM-Entity-Account Used for account work object
Org- PegaCRM-Entity-Org Used for organization work object
Lead- PegaCRM-Work-SFA-Lead Used for lead work object
Opp- PegaCRM-Work-SFA-Opportunity Used for opportunity work object
Task- PegaCRM-Work-Task Used for task work object
CA- PegaCRM-Work-Task-CustAct Used for customer activity work object
P2P- PegaCRM-Link-P2P Used for Relationship
C2A- PegaCRM-Link-Entity-C2A Used for relationship between contact and account
C2O- PegaCRM-Link-Entity-C2O Used for relationship between contact and org
AFF- PegaCRM-Link-Affinity Used for affinity work object

Pega Sales Automation Implementation Guide 3-7


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Operators and Access Groups


The application is installed with a standard set of operators, access groups, and user portals.
The password is install. These allow operators to access the Designer Portal to view and
configure the underlying processes and rules or launch business processes from a variety of
user roles including managers and users.

Operator ID Access Group Portal Rule


SFASysAdmin PegaCRM-SFA:SysAdmin Developer
SFASalesOps PegaCRM-SFA:SalesOps SFASalesOps_Web
SFASalesRep PegaCRM-SFA:SalesRep SFASalesRep_Web
SFASalesManager PegaCRM-SFA:SalesManager SFASalesManager_Web
SFAServices PegaCRM-SFA:Services User
DefaultLocalSalesOps PegaCRM-SFA:LocalSalesOps SFASalesOps_Web
DefaultSalesManager PegaCRM-SFA:SalesManager SFASalesManager_Web
DefaultSalesRep PegaCRM-SFA:SalesRep SFASalesRep_Web

Work Parties
Work party rules define which participants (roles) can be associated with a work object. Each
work object can contain multiple roles in addition to the required originator role. Some roles can
participate with multiple occurrences. This rule also controls how and whether you can add
parties using the user forms. The preconfigured processes support the following work party.

Follower

Pega Sales Automation User Portals


This section contains sales portal layouts that, based on your role, determine what you see on
your home page when you log into Pega Sales Automation. It also includes a table of gadgets
and functions associated with each of the user portals:

 Sales Ops Portal - Sales Operational portal


 Sales Rep Portal - Sales Representative portal
 Sales Manager Portal - Sales Manager Portal

Pega Sales Automation Implementation Guide 3-8


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Tabs for work objects such as Organization, Account, Opportunities, Contacts, and Leads
are available for all portals.

Gadgets such as Recent, Following, and Pega Pulse are available for all the portals and all the
screens.

Recent
All recently viewed items (Contacts, Organizations, Leads, Opportunities, and Activities) are
available for quick and easy access within Pega Sales Automation. Additionally, the application
lets you edit or perform work on multiple items simultaneously. You never lose what you are
working on while working on other items in the system

Following

Follow any work objects that you want to monitor or have easy access to.

Pega Pulse (Collaboration)

Create working groups to share information and collaborate on documents. Instantly find and
communicate with the key individual users who need to help close deals.

Controls such as the Quick Create Menu and Search tool are available for all the portals. The
view is based on your access permissions.

Pega Sales Automation Tables in the Pega 7 Database


When Pega Sales Automation is installed, the following tables are added to the internal Pega 7
database to manage work data and rules. You can view and modify the schemas for these
databases using the Database Schema wizard that is launched from the Designer Studio >
System > Data Base > Modify Schema landing page.

Work and Data Tables


Entity classes
These are classes whose instances represent things in a sales system. They inherit from the
class Work- to avail the Pega 7 features, such as audit history and attachments, that all work
objects receive. Their processes are not complex and involve a single step to edit a specific
attribute or the related component.

 crm_entity_account:
 crm_entity_org
 crm_entity_contact

Basic work classes


These are classes whose instances represent work objects that go through different sales
processes:

 crm_work_opportunity
 crm_work_lead

Pega Sales Automation Implementation Guide 3-9


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 crm_work_task
 crm_work_appointment

Relationship class
These are classes whose instances represent many-to-many relationships between entities of
specific types. Classes also inherit from work- to have features on flow processing available for
creating and maintaining these instances.

 crm_link_socialdetails
 crm_link_affinity
 crm_link_c2a
 crm_link_c2o
 crm_link_p2p

Data classes
These are classes whose instances represent data instances in the system. Most of the
supporting data is entered and maintained by the sales operations team for use when creating
work objects.

 crm_data_competitor
 crm_data_partner
 crm_data_product
 crm_data_recentwork
 crm_data_forecast
 crm_data_businessterritory
 crm_data_operatoraccess
 crm_data_airport_codes
 crm_data_relationshiptypes
 crm_data_airportcode
 crm_document_email
 crm_management_dataload

Index classes
These are classes that hold data related to embedded pages or page lists of work objects
created and populated by Pega 7 declare index rules in the Pega Sales Automation
RuleSets.fw_index_recipients.

 crm_index_affinityvisit
 crm_index_linkedobjects
 crm_index_operemail

Pega Sales Automation Implementation Guide 3-10


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 crm_index_opptycompetitors
 crm_index_opptycontacts
 crm_index_opptypartners
 crm_index_opptyproducts
 crm_index_orgdomains

Pega Sales Automation Implementation Guide 3-11


Integration

This chapter describes set-up and implementation details of features in the Pega Sales
Automation solution that involve integrating with third-party systems or other Pega 7 solutions.

Listener Integration for emails and appointments


Pega Sales Automation provides a mechanism to allow you to push emails and appointments
from Outlook (or from the default mail client) to Pega 7. You push by sending or CCing the mail
or calendar invite to an inbox. The application polls the inbox, parses the email or appointment,
and creates a record to store it. This technology can identify mail or appointment recipients and
map them to system users, giving implementers the opportunity to display emails or
appointments by operator or on the Calendar tab in the Case Management portal. A flow allows
you to manually associate the email to another object in the system, allowing you to show that
an email relates to an opportunity or associate an incoming email to a contact.

Email Integration
To see the emails for any contact, send a message to the contact object which has the work
email address. Once a user receives an email, a contact user can associate it to other objects.

Components
The following rules are available following a new installation of Pega Sales Automation:

 Email Listener: CollaborationGatherEmails


 Service Package: FWEmailCollector
 Service Class: FWEmailCollector
 Service Method: GatherEmails

The following must be created or modified:

Create an access group — the default is PegaCRM-SFA:Services — with the


PegaRULES:User4 role and open, modify, search, and execute activity access to
PegaCRM-Document-Email. If you do not use the default access group, you must change
the Service Access Group on the FWEmailCollector.
Create a user with the access group listed above. This user should become the Requestor
Login in the email listener.
Create or modify the Default email account with the type Notify. It is used to send the
bounce back email if the incoming message cannot be associated with anything in the
system. The Notify email account should be configured by administrator/User to look like it is
an official communication coming from the system.
Configure the CollaborationGatherEmails email account. This is the account the email
listener uses to import emails and appointments. This account can be linked to any email
address; the sample is linked to an Exchange inbox created by the IT department.

Pega Sales Automation Implementation Guide 4-1


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Create new Email and Appointment classes in the Implementation Layer

Create a new class for emails and appointments. The email class should have directed
inheritance to PegaCRM-Document-Email; the appointment class should inherit directly from
PegaCRM-Work-Appointment. After doing this, override the PegaCRM-Document-
[Link] decision table to default to your new Appointment class.
Create a new service package using the FWEmailCollector service as a guide. Be sure to
update the Service Email rule to set the page class to your new Email class.

Associations with Other Objects

Emails and appointments can be associated with other objects in the system, such as
organizations, accounts, and contacts. Since your implementation uses classes inheriting from
the Pega Sales Automation classes, you need to make sure the email integration associates
with implementation layer objects. Note that for Emails, this association is configured through
activities called from [Link]; for appointments, the
[Link] activity handles this.

 Contacts: Override @[Link]. Replace references to PegaCRM-


Entity-Contact in the obj-browse calls and pages and classes to your contact implementation
class.
 Organizations: If you created an implementation class for PegaCRM-Index-OrgDomains,
then fix the class references in @[Link].

Update the UI

Emails and Appointments appear in several places in the UI. You must update the following
rules to change class references to your implementation classes.

Appointments

 Data-Portal.SFAPortal_MyCalendar — Modify the configuration of the pxCalendar control to


update the class reference on the Appointments tab.
 @[Link] — Modify step 1 to fix the report class.
 crmRelatedAppointments — Override this rule in your implementation classes to fix the
class reference to the above report definition. Update both the repeating grid and the Open
Report icon. There are versions in PegaCRM-Entity-Contact and PegaCRM-Entity-Org.
 Copy the following report definitions from PegaCRM-Work-Appointment into your
implementation class: crmAppointmentsByContact, .crmAppointmentsByOperator,
crmAppointmentsByOrg

Emails

 Copy the following report definitions from PegaCRM-Document-Email into your


implementation class: crmEmailsByLinkedID, crmEmailsByOperatorID, crmEmailsByContact
 crmRelatedEmails — override this rule in your implementation classes to fix the class
reference to the above report definition. Update both the repeating grid and the Open Report
icon. There are versions in PegaCRM-, PegaCRM-Entity-Contact, and PegaCRM-Entity-
Org.

Pega Sales Automation Implementation Guide 4-2


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Appointment Integration
To see the appointment for any contact, send an appointment to the contact object which has
the work email address and email account.

Calendar Integration

 Create an appointment.
 Forward it as calendar (.ics file).
 To see the appointments in the Calendar option below the Operator menu, send the
appointment from Outlook To: The Sample Mailbox for synchronization with Pega Sales
Automation and the mail ID of the sales ops operator.

After doing this you can see the appointments in the calendar section. The Appointments
table is queried to get a list of all appointments whose owner is the current operator.

VCard Integration
Create an Outlook contact. Forward this as a business card (.vcf)
Contact creation process in Sales Automation from Vcard – (for
example:[Link]@[Link])
The system first checks whether there is any contact with this work email address. It then
checks the domain of the email address ( e.g., [Link]) and compares it to the
organizations in the Pega Sales Automation application (which has the above mentioned
domain). If a match is found, it returns that org –pzInsKey, which is used in the contact
creation process.
If an instance of Data-Admin-Operator-ID (Pega 7 operator) exists in the system with the
same email address as the from email address, an affinity is created between the sending
operator and the contact that was just created with the vcard.
The crmEvaluateEmail rule is the main service email activity where execution starts for all the
Outlook integration.

The following images and scenarios provide a view of the Vcard functionality and processing.

Scenario 1: Add a new Contact


 In this image, no contact exists for Ethan Allen

Pega Sales Automation Implementation Guide 4-3


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 This image shows a user sending a vCard to the Synchronization email account for this
Pega Sales Automation instance

 The Pega Sales Automation listener runs in the background and creates a contact record
with the vCard details in the .vcf file. The new contact is attached to the organization
specified in the vCard’s eMail address.

Pega Sales Automation Implementation Guide 4-4


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 The domain in the person’s email address ([Link]) matches a domain name in
the organization record in Pega Sales Automation.

 At this point, there is a new contact record and a C2O primary link that attaches the contact
to the organization. This image shows that the contact is attached to Megasystems
organization, because the “[Link]” in the eMail address for Ethan Allen matches
a domain name ([Link]).
Once the contact is created, the .vcf file is attached to the contact (Related Files).

Pega Sales Automation Implementation Guide 4-5


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Scenario 2: Creating an Affinity for the Sending Operator


 If the sender’s eMail address matches a Pega Sales Automation Operator ID, the system
can create an Affinity link between the newly created contact and the sending Operator —
Dr. Service User.
 An Aff- Link is created and the .vcf File is attached to Aff- Link.

Pega Sales Automation Implementation Guide 4-6


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Scenario 3 – Updating Details for a Contact


 If a vCard is sent for an existing Contact, the system attempts to update missing values on
the contact record. The system does not overwrite anything already populated on the
contact record.
 When the contact record for Ethan was created, the Home Phone value was empty in the
vCard.

 The following image shows adding a Home Phone number to Ethan Allen’s vCard.

 After sending the vCard again, the existing contact properties keep the same value, but the
Home Phone number is now stored on the Contact.

Pega Sales Automation Implementation Guide 4-7


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Scenario 4: Adding an Affinity Link for an Existing Contact


 The following image has a required organization called Megasystems but does not have
Affinity link. It shows that the user created a new contact (John Smith) record.

 After the Operator ‘sfasysadmin’ sends a vCard to a Pega Sales Automation mailbox that
matches the contact John Smith’s email ID, a new Affinity link is created (Operator to
Contact).
Creating a vCard in Microsoft Outlook
If you do not have any contacts in your MS-Outlook mailbox, you need to create them in order to
test the Pega Sales Automation application. To do this:

From the File tab, select New Items > Contact.

Pega Sales Automation Implementation Guide 4-8


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Complete the information (General view shown below) and Save the vCard.

Sending a vCard using Microsoft Outlook


To start, right click a contact card. Select Forward Contact > As a Business Card.

Pega Sales Automation Implementation Guide 4-9


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Enter the desired Pega Sales Automation mailbox address in the To field and click Send.

Pega Sales Automation to Exchange Appointment Integration


Pega Sales Automation has real-time integration with Microsoft Exchange, allowing a sales
representative to create a new Appointment in Pega Sales Automation, and synchronize the
appointment to Exchange.

All operators and contacts, that an operator has read access to, can be added to a Pega Sales
Automation Appointment as an attendee. Once an attendee is added to the appointment, Pega
Sales Automation displays their availability, retrieved in real-time from the Microsoft Exchange
server. There is also an Expert search that allows finding resources by any combination of
Name, Territory or Skills. For example, an insurance agent can easily find all experts in Auto or
Life products within a specific territory and book an appointment based on their availability.

Once created, the appointment is associated with the Contacts on the appointment, as well as
any Organizations that have a domain matching the domain of the email address of an
attendee. The sales representative can also associate the Appointment with any Account,
Opportunity, Lead, or Contact.

Once an appointment is successfully created on the Exchange server, it becomes read-only in


Pega Sales Automation. Subsequent updates can be made to the appointment on Exchange
using Outlook. To sync changes from Exchange back to Pega Sales Automation, there is an
option to default this listener mailbox onto all appointments created in Pega Sales Automation
so that changes are synchronized back to Pega Sales Automation.

Appointments List
Existing appointments can be reviewed through the Appointments menu item on the left
navigation, which displays a list of all appointments where the logged in user is an attendee.

Pega Sales Automation Implementation Guide 4-10


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Appointment Creation
To create an appointment, click Create Appointment, or select Create > Appointment from
the menu at the top of the screen. The logged in user is defaulted as an Attendee and the
availability is displayed.

Details of Fields
Field Description
Subject Subject of the appointment
Location Location for the meeting
Start time Start time for appointment
End time End time for appointment
Meeting Duration Duration of the meeting (30 mins to 23.5 hours)

Pega Sales Automation Implementation Guide 4-11


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Reminder Reminder for upcoming calendar events


Body Content of the appointment

Add Attendees
You can view the availability of attendees as seen below. Availability is retrieved in real-time
from Microsoft Exchange.

The Scheduling section has three buttons to add attendees:

 Add Staff
− Adds a row to the availability grid, with an auto-complete field that allows you to select
one operator.
− The auto-complete drop-down list shows the Operator’s name.
− Once selected, availability is displayed using EWS integration

 Add Contacts
− Adds a row to the availability grid, with an auto-complete list that allows you to select
one contact.
− The auto-complete drop-down list shows the name and organization for any Contact that
the operator has access to, and that also has an email address.
− Availability is generally not provided for contacts since they do not have an account on
the Exchange server.

 Add Experts
− Clicking this button launches the Add Experts modal below. Experts are simply operators
with specific skills.
− Allows searching Operators by name, skills or territory
− Territory should default to the Territory of the logged in user, but can be changed to any
Territory that the user has visibility to.
− The Skills search field allows the selection of multiple skills.

Pega Sales Automation Implementation Guide 4-12


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

− Once selected, availability is displayed using EWS integration for all experts added.

Scheduling
 The Send button creates the appointment on the Exchange Server. The status of the
appointment becomes Scheduled once the appointment is successfully created.
 To save an appointment for the future, use the Save button. The status of this appointment
becomes Draft until you are ready to send it.
 Scheduled appointments are also visible in the My Calendar view.

Technical Implementation Details


Activity: FillTimeSlotsHeader

Description: Preparing the time slots in the header of the scheduling UI grid.

Activity: FillOrganizerDetails

Description: Returns the time zone and availability of the Organizer.

Pega Sales Automation Implementation Guide 4-13


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Data Page: D_AttendeeSchedule

Description: Returns the Availability of attendees via “GetUserAvailability” EWS integration.

The source for the data page is a SOAP connector with service name “GetUserAvailability”

Activity: createAppointmentInExchange

Description: Creates the appointment in exchange using “CreateItem” EWS integration.

Activity: LoadCalendarSlots

Pega Sales Automation Implementation Guide 4-14


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Description: Post processing activity of D_AttendeeSchedule data page –populates the free or
busy information of all the time slots for each attendee in the schedule UI grid.

Impersonation
To create an appointment in Pega Sales Automation and synchronize it with Exchange, the
logged in user’s Exchange account must be impersonated by an impersonation account. The
impersonation account is used by Pega Sales Automation to create appointments on behalf of
all of the Pega Sales Automation users. Only one impersonation account needs to be created,
and can be used to impersonate as many exchange accounts as necessary.

Impersonation enables the caller to perform operations by using the permissions that are
associated with the impersonated account, instead of the permissions that are associated with
the caller's account. With Exchange Impersonation, one account acts as another account. When
an account is impersonated, the system logs the access as if the account that is specified in the
header were acting on the system. The calling account must have the appropriate permissions
to perform impersonation. After impersonation permissions have been established, the user who
has impersonation permissions can make calls against the other user's account. The
impersonated account is maintained in the Authentication Profile
(“EWS_Integration_AuthProfile”).

Work with your Exchange administrator to set up impersonation for your version of Microsoft
Exchange.

Pega Sales Automation Implementation Guide 4-15


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Modifying the Data Instances


Name Type Description
EnableAppointments Dynamic System Setting Set to True to enable exchange integration in
Pega Sales Automation
CreateItemURL Dynamic System Setting End point URL for EWS integration
ListenerEmailID Dynamic System Setting Listener Email ID for syncronization
ListenerName Dynamic System Setting Name of Mailbox (to be shown in the UI)
EWS_Integration_AuthProfile Authentication Profile Authentication required by remote service
EWS_Integration_SecurityProfile Security Profile WS-Security to communicate with the
service. Would require changing the key
store referred to by the security profile.

Pega for Outlook


Pega Sales Automation integrates seamlessly with Microsoft Outlook 2010 or 2013 by providing
real-time context specific insight into Sales Automation right from an Email or Appointment.

Sales team members spend a significant amount of time switching between sales applications
and Outlook, searching for or creating content. This time could more efficiently be used in
selling activities.

Pega for Outlook changes the way users work – it helps to manage contacts, Leads and
opportunities and to improve overall productivity by accessing Sales Automation related
information from within Microsoft Outlook.

Pega Sales Automation Implementation Guide 4-16


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Overview
The integration of Pega Sales Automation with Microsoft Outlook allows access to Contact,
Lead, Opportunity, Account and Organization related data from within Microsoft Outlook, which
greatly improves the productivity of sales and marketing teams.

The Pega for Outlook add-in provides the following functionality.

 Render Sales Automation work objects in Outlook add-in based on the contextual
information from an email’s From, To, CC fields.
 Based on the Email selection of the user, Pega for Outlook loads the following work objects
with relevant records.
− Contacts
− Leads
− Opportunities
− Accounts
− Organizations

 Sync Email and appointments to Sales Automation


− The user will be able to associate an email to Sales Automation work objects by clicking
the sync icon in the panel against each work object.
− All file attachments will sync along with the email to Sales Automation. This feature can
be disables with a DSS setting.

 Create New Sales Automation work objects from the Outlook Add-In
Users can create the following work objects from the Outlook add-in.

− Activity
− Contact
− Lead
− Opportunity

 Search for Sales Automation Work Objects from Outlook add-in


Apart from the Outlook add-in information, a user can search for additional information from
Sales Automation using Lucene Search within the Outlook add-in.

Rendering Data
When a user selects an email or appointment from the Inbox in Outlook or composes a new e-
mail/Appointment, Pega for Outlook displays related Sales Automation Contact, Lead,
Opportunity, Account, and Organization details.

The application matches Outlook Email addresses with Email address associated with work
objects in Sales Automation and, based on the user Email selection, loads relevant content from
Sales Automation. The add-in displays up to 10 records in each work object list.

Pega Sales Automation Implementation Guide 4-17


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

A user can expand each work object to see detailed information, as shown above.

Based on the User’s Email selection in Microsoft Outlook, the add-in displays

 Contacts with matching Email Address (Work Or Personal )


 Leads associated to one of the Contacts or with a matching Email address on the Lead
 Opportunities for the accounts of any matching contacts
 Accounts for the matching contacts

Pega Sales Automation Implementation Guide 4-18


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 Organizations or Accounts associated to the Contact

Selectively Sync Email/Appointment from Outlook to Sales Automation.


Users can selectively sync Email’s and Appointments from Outlook to Sales Automation.

Selecting the sync icon next to a work object will load the email/appointment into Sales
Automation and associates with respective work object.

Sync E-mail

 A blue email sync icon indicates that the email is not associate to the work object in
sales automation.

 A checked sync icon indicates that the selected email is associated with Sales
Automation work objects.
 Any files attached to the Email will also sync to Sales Automation.
 When composing an email, the email will not actually synchronize to Sales Automation until
the email is completed and sent.

Pega Sales Automation Implementation Guide 4-19


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Sync Appointment

 A blue appointment sync icon indicates that the email is not associate to the work object
in sales automation.

 A checked sync icon indicates that the selected appointment is associated with Sales
Automation work objects.
 Any files attached to the appointment will also sync to Sales Automation.
 When composing new appointment it will not actually synchronize to Sales Automation until
it is completed and sent.

Pega Sales Automation Implementation Guide 4-20


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Once a user clicks the sync icon next to the work object, Sales Automation stores the
Email/Appointment interactions. Users need to navigate to relevant work object  Activities 
Emails/Appointments, to find the associated interactions.

After appointments are synced, subsequent updates to appointment details such as date and
time are not updated in Sales Automation.

Creation of work objects from Microsoft Outlook


Pega for Outlook allows the sales representative to be most productive by providing the ability
to create new work objects without leaving Outlook.

User can create the below work objects by clicking on ‘Create’ icon from the Pega for Outlook
add-in.

 Activity
 Contact
 Lead
 Opportunity

The Create option in the header bar is a global create, the work objects created from this menu
will not be associated to work objects by default, but can we associated during creation.

There is also a context sensitive create menu within the menus of the Contact work object as
shown below. For Leads, Opportunities, Accounts and Organizations, only an Activity can be
created from the right menu.

Pega Sales Automation Implementation Guide 4-21


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Search
Users can also perform a search across all of their Sales Automation data using the search box
at the top of the panel. Work objects in the search results can be synced with the E-
mail/Appointment that is currently in context.

Pega Sales Automation Implementation Guide 4-22


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Procedure:

Type the additional information required in the Search box at the top of the add-in.

Click ‘Search’ Icon to get Sales Automation records.


To cancel the search icon, click ‘Cancel’ icon.

View in Browser
When the user navigates through Outlook E-mails, the add-in is loaded with relevant
information. Users can view detailed information for the work object using View in Browser
next to each work object. User needs to click 3 dots next to the work object to select ‘View in
Browser’ option.

Pega Sales Automation Implementation Guide 4-23


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

As the above screen shots shows, users can access detailed information for a work object by
using the View in Browser menu item.

Pega Sales Automation Implementation Guide 4-24


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Technical Implementation Details


Outlook C-Sharp Plugin for Pega 7 Portals

Design

High Level Design of Pega for Outlook Interaction with Pega 7 Application

The whole work flow starts from opening a portal from the browser control inside the Outlook.
The default portal for the user is circumstanced for outlook to display the [Link] the
user accesses the application from outlook the same will be delivered by PRPC server.

Once the add-in loads with the Pega 7 portal, a JavaScript method gets fired OnDOMReady
event of the web page. This java method calls the JavaScript call back object provided in the
Outlook plugin C Sharp code which in turn calls the Microsoft interop libraries to get the
selected/ opened email data and convert it to XML format and send it back as response to the
JavaScript call. In JavaScript, we convert the XML into data page via out of the box activities.

Login Screen

Once the user has installed the add-in, a login portal will be enabled in the Add-in Section of the
explorer of the Outlook.

Pega Sales Automation Implementation Guide 4-25


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Once the user clicks on the Login button, he gets a login form

Once the User gives his server login link and login credentials and hits login, the credentials will
be validated and the configuration will be extracted from the Pega 7 server using the same
service.

Credential Management

The following approach is being used to solve the above issues. This approach consists of a
local credential cache creation and updating the same. This ensures, every outlook session
uses a single set of credentials and no matter how many selection changes happen, we will do
only one network round trip to get the credentials.

Pega Sales Automation Implementation Guide 4-26


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

As shown in the above picture, the following are the steps involved.

Any class in the plugin which needs information from outlook storage items, look at
[Link]
[Link] looks for a Add in level cache maintained in [Link]
If the cache is not available, (first time per session) will get the information from Exchange
server.
The cache is populated in This [Link]
The same credential information is passed on to the other classes.

For all subsequent calls, the steps 3, 4 will not be executed.

In case the user logs in with separate credentials in the same outlook session, we refresh the
cache with the new credentials and then the data is posted to Exchange server.

Outlook Storage Item

We are using a Microsoft provided object (Storage Item) to store the login related information.
This item is not visible to the users through Outlook application / web mail but will be available
to the add-ins to store contextual information. We are storing the Login URL, Username,
password provided by the user in the above login screen. Before it is stored, the information will
be encrypted using Triple DES algorithm.

[Link]

The above link gives detailed information about the Storage Item control.

Email Content( XML)

The content of the email will be sent to the JavaScript caller in the form of an XML. The xml
content would be in the below example format.

Pega Sales Automation Implementation Guide 4-27


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

<?xml version="1.0" encoding="UTF-8"?>

<Email>

<UniqueString><![CDATA[[Link]@pega.com_FW: Emailing:
Sales Dashboards Implementation

Guide V0 7 14 Frank comments_24-06-2015


12:04:38]]></UniqueString>

<Subject><![CDATA[FW: Great Invention]]></Subject>

<From>[Link]@[Link]</From>

<To>[Link]@[Link]</To>

<Body><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML


3.2//EN">

<HTML>

<HEAD>

<META NAME="Generator" CONTENT="MS Exchange Server version


14.02.5004.000">

<TITLE></TITLE>

</HEAD>

<BODY>

From: Terry Mason<BR>

Sent: Tuesday, June 23, 2015 5:29 PM<BR>

To: Charles Babbage<BR>

Subject: Great Invention<BR>

Hi Charles,<BR>

<BR>

Its a really a great invention.

</BODY>

</HTML>]]></Body>

<TimeZone>UTC</TimeZone>

</Email>

Pega Sales Automation Implementation Guide 4-28


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega for Outlook Configuration Web Service


Service End Point
The configuration web service is a rest service which is exposed at the following end point. The
allowed method on this web service is GET.
http(s)://<yourserver>:<XXXX>/<contextroot>/PRRestService/Outlook/Services/OutlookConfigur
ation

Service Response
The web service spools out JSON response. The format of JSON response would be as
follows.

[
{
"SettingValue":"Inspector",
"SettingName":"SidePanelLocation"
},
{
"SettingValue":"SFAOutlookPortal",
"SettingName":"OutlookPortalName"
},
{
"SettingValue":"320",
"SettingName":"MaximizedSidePanelWidth"
}
]

This Web Service is used to validate the credentials and to get the Outlook Configuration from
the DSS Settings in the Pega Sales Automation Server. This web service queries all the system
settings available for the Outlook plugin and massages the data into the above data format.
The Outlook plugin code(C Sharp) consumes this web service to build the Configuration Object
which will be used to control the way the plugin behaves.

Dynamic System Settings (DSS) for Pega for Outlook


Setting Name Usage
SidePanelLocation This Setting Defines the location the Pega for Outlook add-in.
This setting can have three values

Explorer - Available in Explorer view (List View)

Inspector – Available in Inspector view (Drilldown view)

Explorer_Inspector – Available in both.


OutlookPortalName The name of the Pega for Outlook portal that needs to be
displayed in the add-in.
MaximizedSidePanelWidth The width of the add-in. Suggested value 320.

Pega Sales Automation Implementation Guide 4-29


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

PegaFW-Outlook Rule Set


This rule set consists of all the common code for the Pega for Outlook add-in. It consists of the
rules that belong to the configuration web service and the relevant DSS Settings.

Class Structure

Service Rule - OutlookConfiguration

Service Name OutlookConfiguration


Rule Set PegaFW-Outlook
Service Package Outlook
Response Type JSON

Pega Sales Automation Implementation Guide 4-30


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Methods Exposed

Activity – GetOutlookConfiguration
This activity will do an Obj-Browse to get all the configuration information and will massage the
data into the above shown JSON Response.

Pega Sales Automation Implementation Guide 4-31


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Windows External
The API to get Outlook email data is exposed as a COM Object which can be used by the web
applications under the object windows. External. All the methods exposed

Methods exposed by the plugin

Sl. No. Method Description


1 getCurrentEmailId This method returns the sender of the current email

String getCurrentEmailId()
2 getOutlookItemType This method returns the type of the current outlook item
the user is on.
String getOutlookItemType()
The values can be :

- Email
- Appointment

3 getAllEmailAddresses This method returns a XML which consists of the


sender email address, to list, cc list.
String getAllEmailAddresses()
4 minimizeSidePanel This this method replaces the add-in with a minimized
from. This can be used in case the implementer wants
void minimizeSidePanel() to provide a HTML button to minimize the Panel.
5 getEmailContent This method returns the whole email data in XML
format. It includes the email addresses, subject, body,
String getEmailContent() message time, unique string, Time zone and start end

Pega Sales Automation Implementation Guide 4-32


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

in case of an appointment.
6 openWorkObject This method opens the Work object with the given
activity, insHandle and action in the default browser of
void openWorkObject(String the user.
pyActivity, String insHandle,
String action )
7 setPropertyInEmail This method sets a string value with a Property name
key in the email object. This can be used to store any
setPropertyInEmail(String functional data and can be retrieved into the javascript
propertyName, String using getPropertyFromEmail method
propertyValue)
8 getPropertyFromEmail This method fetches the value stored on the email
against the property name. In case it is not stored, this
getPropertyFromEmail(String method will return NO_VALUE as a response.
propertyName)
9 Focus This method directs the focus on to the add-in from
anywhere in the outlook. This should be triggered from
void focus() java script on click on any HTML input text in case the
back button doesn’t work
10 getCurrentEmailUniqueString This method returns a unique string for an email.

String
getCurrentEmailUniqueString()

XML Stream to Data Page Conversion


Since data pages are used to get data into the process flow of the Pega 7 Application, the XML
Stream must be converted from JavaScript responses into Data Pages. This is achieved using
the OOTB activity “[Link]”

The following code fragment illustrates a sample conversion of XML to a Data Page.

var callback = {

success: function(oResponse) {

if (entryFlag == 0) {

[Link]("RetrieveContacts",
"", "");

entryFlag = 1;

},

Pega Sales Automation Implementation Guide 4-33


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

failure: function(oResponse) {

//[Link]("RetrieveContacts","","");

};

var safeURL = SafeURL_createFromURL([Link]);

[Link]("pyActivity", "Data-
[Link]");

var queryString = new SafeURL();

[Link]("TargetPage", "EmailDataXMLPage");

[Link]("XMLStream", emailIds);

[Link]("EmailUniqueID",
[Link]());

var request = [Link]('POST', safeURL,


callback, queryString);

The JavaScript method [Link] is used to execute any activity


asynchronously.

The method [Link] is used to refresh a section programmatically.

Rules for Pega for Outlook Display


Portal

The Pega Sales Automation Outlook Portal is designed specifically for the Pega for Outlook
add-in. The portal was modified to display the data in a smaller fixed width display. It uses the
Pega Sales Automation Outlook Harness.

Pega Sales Automation Implementation Guide 4-34


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Harness

The Pega Sales Automation Outlook Harness is the harness used to display the add-in. This
includes a separate JavaScript file [Link] to facilitate the Pega 7 to Outlook
communication.

SFAOutlookPortalHeader
The Outlook Portal Header is redefined to have a Lucene Search bar and a Create navigation
pane which will be used to create new work object sections.

The portal header also contains a minimize button that can be used to replace the add-in with
the minimized form. This makes use of the JavaScript method exposed by the Outlook C Sharp
API.

Pega Sales Automation Implementation Guide 4-35


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

D_GetAccounts Data Page

This data page sources the Outlook add-in. It is populated by one of three sources, depending
upon whether the data originates from a Search, Email, or Appointment. These data sources
are explained below.

SFASearchWrapper

This activity is a wrapper on top of the Pega 7 Lucene search to convert the Lucene output to
the format required by Pega for Outlook.

Pega Sales Automation Implementation Guide 4-36


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

GetAccountsByContact

This Report definition spools out the results for a selected email

GetAccountsByContactForAppointment

This Report definition spools out the results for a selected appointment

Pega Sales Automation Implementation Guide 4-37


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Add-In workflow in Compose view


The email sync to Sales Automation in compose view is a deferred mode opposed to the one in
the Read view. This deferred mode enables the add-in to grab all the changes made to the mail
item before synchronizing the same to Sales Automation while giving the user the flexibility to
choose the work objects to which the email to be synched at any time during compose of the
email.

Pega Sales Automation Implementation Guide 4-38


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

As shown in the above diagram, in the compose view the email is created with the use of an
web service, the email XML Payload will remain the same in case of web service call the
javascript used for creating email in the Read view.

Below are the details of the web service:

Service Endpoint -
http(s)://<server>/<contextroot>/PRRestService/Outlook/services/SendComposedMail

Sample Payload -

<Email><UniqueString><![CDATA[63007F3E639F46F1A905FD0CC9782490_01D1491A1F9E63
007F3E639F46F1A905FD0CC9782490]]></UniqueString><Subject><![CDATA[test]]></Su
bject><From>[Link]@[Link]</From><To>[Link]
ll@[Link];</To><Body><![CDATA[<html
xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-
com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word"
xmlns:m="[Link]
xmlns="[Link] name=Generator
content="Microsoft Word 14 (filtered medium)"><style><!--

/* Font Definitions */

@font-face

{font-family:Calibri;

panose-1:2 15 5 2 2 2 4 3 2 4;}

/* Style Definitions */

[Link], [Link], [Link]

{margin:0cm;

margin-bottom:.0001pt;

font-size:11.0pt;

font-family:"Calibri","sans-serif";

mso-fareast-language:EN-US;}

a:link, [Link]

{mso-style-priority:99;

color:blue;

text-decoration:underline;}

a:visited, [Link]

{mso-style-priority:99;

Pega Sales Automation Implementation Guide 4-39


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

color:purple;

text-decoration:underline;}

span.EmailStyle17

{mso-style-type:personal-compose;

font-family:"Calibri","sans-serif";

color:windowtext;}

.MsoChpDefault

{mso-style-type:export-only;

font-family:"Calibri","sans-serif";

mso-fareast-language:EN-US;}

@page WordSection1

{size:612.0pt 792.0pt;

margin:72.0pt 72.0pt 72.0pt 72.0pt;}

div.WordSection1

{page:WordSection1;}

--></style><!--[if gte mso 9]><xml>

<o:shapedefaults v:ext="edit" spidmax="1026" />

</xml><![endif]--><!--[if gte mso 9]><xml>

<o:shapelayout v:ext="edit">

<o:idmap v:ext="edit" data="1" />

</o:shapelayout></xml><![endif]--></head><body lang=EN-IN link=blue


vlink=purple><div class=WordSection1><p class=MsoNormal>Email Synchronize
Test<o:p></o:p></p></div></body></html>]]></Body><TimeZone>UTC</TimeZone><WOI
Ds><WOID><WORK OBJECT PZ INS KEY></WOID></WOIDs></Email>

Once the email work object is successfully created in the Sales Automation and is associated
with the work objects, the attachments of the email will be synchronized to the email work object
in asynchronous request. The details of the same are explained in the coming section on Email/
Appointment Attachment synchronization.

Attachment Sync Flow in Pega for Outlook


The design of this module includes a web service which accepts post requests and accepts
multipart data. Below is the schematic for the whole process.

Pega Sales Automation Implementation Guide 4-40


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Sending Outlook Files to a web service


From the Outlook Plugin we create a C# Rest Client to fire a web service request to the PRPC
Server which will do the processing of the files to add them on to a work object.

Perform the following steps to call the web service:

Find all the attachments in the email and save them to a temporary location in the client’s
machine.
Create a HTTP Web Request with multipart/form-data as its content type.
Read all the files adding them one by one as separate content parts to the web service
request.
Fire the web service to the PRPC provided service and wait for the response.

This process is executed in a thread which is other than the UI thread of outlook, so this won’t
create any UX issues to the user.

PRPC Web Service to Accept File Uploads & Attach the same as attachment to any Work
Object
To upload mail attachment files along with configuration information, we need a web service
which accepts multiple files and a text input for the work object to which it needs to be attached.
In our case it is email work object.

Let’s start see the web service working from the starting point where we get a request from any
of the clients which follow the steps explained above section.

These are the steps that happen at the PRPC Layer before it comes to the destined web service
in our case OutlookAttachments from PegaFW-Outlook Rule set.

Pega Sales Automation Implementation Guide 4-41


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

PRPC looks at the multipart form-data and converts the parts with content-type attachment or
file as BLOBs and will expose them to the Service-Rest rule via the data page
pyRequestAttachments

Our web service will be called after the above step is performed.

AttachFilesToWO Activity
From the web request get the work object Ins Handle as a part of the header, that gets
converted to [Link] and open the work object.
To open the work object use Obj-Open-By-Handle naming the page WOPage. The key to
open any work object is that you cannot associate any specific class to this page. So assign
$Any. This assignment works because you use the basic properties of any class to add the
attachments.

Build Data-WorkAttach-File and Link-Attachment pages to convert the file from the request
to an Attachment to a work object.

Pega Sales Automation Implementation Guide 4-42


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Set the [Link] property to true and save the work object.

Pega Sales Automation Implementation Guide 4-43


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Once you save the work object, the web service responds with a HTTP Success message to
confirm the client that the files have been uploaded successfully as attachments to the work
objects.

Note: This web service is generic and can be used with any client to attach files to any work object in
PRPC.

Web Services Integration


The Pega Sales Automation application ships with a service layer that provides create / update
operations on a contact work object. This is a basic set of rules and the mapping activities / data
transforms need to be extended per implementation.

Technically the following operations are supported:

 Create contact
 Update contact

Package: Pega Sales Automation

 Class Name: PegaCRM-Entity-Contact


 Method Name: CreateContact

Pega Sales Automation Implementation Guide 4-44


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Service Package: Pega Sales Automation

Activity: SFACreateContact

Pega Sales Automation Implementation Guide 4-45


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 Applies To: PegaCRM-Entity-Contact


 Description: Creates the contact work object

Package: Pega Sales Automation

 Class Name: PegaCRM-Entity-Contact


 Method Name: SaveContact

Package: Pega Sales Automation

 Class Name: PegaCRM-Entity-Contact


 Method Name: UpdateContact

Data Transform

 Name: SFAContactInput
 Applies To: PegaCRM-Entity-Contact
 Description: Maps the properties on the clipboard that the data transform useds.

Social Media Integration


This section describes the social media integration supported by the Pega Sales Automation
application including:

 Twitter
 LinkedIn
 Facebook

Twitter Integration
Pega Sales Automation has been integrated with a Twitter API to retrieve the information
related to an entity (Organization, Account, Contact) using a Twitter authorization profile.

Pega Sales Automation Implementation Guide 4-46


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

As part of this integration, you can call the REST APIs provided by Twitter and use the response
format as “XML”.

All APIs used in this application integration support Authentication, but use only the
Authenticated mode of requests. You have to be authorized to use this feature of Accessing
Twitter from the Pega Sales Automation application.

For Authentication, the Oath library is used.

A Sales Representative should be able to perform the below functionalities:

 Authorize Twitter
 Maintain business relationships to track key information as they happen by associating a
linkage of individual profile to Lead, Contact, Organization and Account objects.
 Re-associate linkage to different Twitter user profiles
 De-authorize Twitter

Design
Twitter is supported by the following class structure:

 PegaSocial- Base class for all social media integration


 PegaSocial-Embed- Base class for all data classes used in integration
 PegaSocial-Embed-Twitter Concrete class for TwitterPegaSocial-Embed-Twitter-User
Concrete data class for user profile
 PegaSocial-Embed-Twitter-Tweet Concrete data class for Tweet Messages
 PegaSocial-FW- Abstract class for Social
 PegaSocial-FW- Twitter Concrete class that contains all the integration and functionalities
 PegaSocial-FW-SocialDetails (Data class that holds the linking between social media
profiles and work object)
 PegaSocial-Preferences Concrete class that contains the authorization required)
 PegaSocial-Preferences- Twitter Concrete class for Twitter

Twitter Authorization

NOTE: Pega Sales Automation uses the three-legged Authorization model. More details are available
at [Link]

Authorization steps:

A Request token is sent to [Link] replies with the token.


The application redirects to Twitter to authorize the user.
After authorization, Twitter redirects to the call back to the URL.

Pega Sales Automation Implementation Guide 4-47


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Another OAuth call is made to get the Access token for the user.
LIN returns token which consists of oauth_token and oauth_token_secret.

Authorization complete –The oauth_token and oauth_token_secret tokes that are returned can
be used in future API calls.

Twitter APIs

NOTE: REST API is used for Twitter integration. Details of all Rest API provided by Twitter are
available at [Link]
Also, there is an API console provided by Twitter which can be accessed at
[Link]

Almost all requests that use the HTTP GET method are rate-limited. To know more about the
Rate limiting details of Twitter, refer to: [Link]

 POST oauth/request_token
Allows a Consumer application to obtain an OAuth Request Token to request user
authorization. This method fulfills Section 6.1 of the OAuth 1.0 authentication flow. It is
strongly recommended that you use HTTPS for all OAuth authorization steps.

Further details are available here:


[Link]

 GET oauth/authorize
Allows a Consumer application to use an OAuth Request Token to request user
authorization. This method fulfills Section 6.2 of the OAuth 1.0 authentication flow. Desktop
applications must use this method (and cannot use GET oauth/authenticate). Use HTTPS
for this method, and all other OAuth token negotiation steps.

Further details are available here: [Link]

 POST oauth/access_token
Allows a Consumer application to exchange the OAuth Request Token for an OAuth Access
Token. This method fulfills Section 6.3 of the OAuth 1.0 authentication flow. The OAuth
access token may also be used for xAuth operations.

Further details are available here:


[Link]

 GET users/search
Purpose: This API is used in User keyword search. By Default, is passes the Name
(Firstname and LastName) as the search keyword.

Runs a search for users that is similar to the Find People button on [Link]. The results
returned by People search on [Link] are the same as those returned by this API
request. It is basically a keyword search.

Pega Sales Automation Implementation Guide 4-48


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Rate Limits: This method has a feature-specific rate limit of 60 calls per hour that is applied in
conjunction with the main REST API rate limit. Calls to this method count against the feature-
specific rate limit and the main REST API rate limit. If either limit is exhausted, the request fails.

You can monitor the status of the feature-specific rate limit by inspecting the HTTP response
headers X-FeatureRateLimit-Limit, X-FeatureRateLimit-Remaining, and X-FeatureRateLimit-
Reset. These headers correspond to the X-RateLimit headers provided by the main REST API
limit.

Some features, such as the GET search method, have additional feature rate limits, which are
applied in conjunction with the main REST API rate limit. Calls to users/search count against
both the feature and default request rate limit. If either limit is exhausted, the method fails. You
can monitor the status of the feature rate limit by inspecting the HTTP response headers that
are returned.

In addition to the default rate limit headers, you may also see:

 X-FeatureRateLimit-Limit
 X-FeatureRateLimit-Remaining
 X-FeatureRateLimit-Reset

The meaning of these headers corresponds to the X-RateLimit headers provided by the main
REST API limit.

Further details are available here: [Link]

The response header details received from the Search Users API request from the API console
are illustrated below.

Pega Sales Automation Implementation Guide 4-49


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

The first image contains the normal rate limits and the second image shows the feature-specific
rate limit.

 GET statuses/user_timeline
Purpose: This API call is used to retrieve the tweets for the specified user.

It returns the 20 most recent tweets posted by the authenticating user. It is also possible to
request another user's timeline by using the screen_name or user_id parameter. The other
user’s timeline is only visible if they are not protected, or if the authenticating user's follow
request was accepted by the protected user. The timeline returned is equivalent to the one
seen when a user views a user's profile on [Link].

Pega Sales Automation Implementation Guide 4-50


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Rate Limits: It uses the default rate limit of the Twitter. Details of the Rate limit can be
monitored by inspecting the response headers X-RateLimit-Limit, X-RateLimit-Remaining,
X-RateLimit-Reset.

Below is one of the response header details received for the Tweets API request from the
API console.

Further details are available here: [Link]

 GET friends/ids
Purpose: This API is used to retrieve the Friends of the specified twitter user. It returns an
array of numeric IDs for every user the specified user is following. This method is powerful
when used in conjunction with users/lookup.

When the process passes the Cursor parameter, it causes the list of connections to be
broken into pages of no more than 5000 IDs at a time. The number of IDs returned is not
guaranteed to be 5000, as suspended users are filtered out after connections are queried.

Rate Limits: It uses the default rate limit of the Twitter. Details of the Rate limit can be
monitored by inspecting the response headers X-RateLimit-Limit, X-RateLimit-Remaining,
X-RateLimit-Reset.

Below is one of the response header details received for the Friends API request from API
console.

Pega Sales Automation Implementation Guide 4-51


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Further details are available here: [Link]

 GET users/lookup
Purpose: This API is used to retrieve full details of Friends (in Bulk) by sending the Comma
separated list of friend IDs received by the GET friends/IDs API

Up to 100 users’ worth of extended information will be returned, specified by either ID,
screen name, or a combination of the two. The author's most recent Twitter status (if the
authenticating user has permission) is returned inline. It is also well suited for use in tandem
with friends/IDs and followers/IDs.

There are a few things to note when using this method.

− You must be following a protected user to be able to see their most recent status update.
If a user does not follow a protected user, their status is removed.
− The order of user IDs or screen names may not match the order of users in the returned
array.
− If a requested user is unknown, suspended, or deleted, then that user is not returned in
the results list.
− You are strongly encouraged to use a POST for larger requests.
Rate Limits: Uses the default rate limit of the Twitter. Details of the Rate limit can be
monitored by inspecting the response headers X-RateLimit-Limit, X-RateLimit-Remaining, X-
RateLimit-Reset.

Further details are available here: [Link]

Below is one of the response header details received for the LookUp API request from API
console.

Pega Sales Automation Implementation Guide 4-52


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 GET users/show
Purpose: This API is used to retrieve full details of the specified user. It Returns extended
information of a given user, specified by ID or screen name as per the required ID
parameter. The author's most recent status will be returned inline.

Rate Limits: It uses the default rate limit of the Twitter. Details of the Rate limit can be
monitored by inspecting the response headers X-RateLimit-Limit, X-RateLimit-Remaining, X-
RateLimit-Reset.

Further details are available here: [Link]

Above is one of the response header details received for the UserShow API request from
API console

Pega Sales Automation Implementation Guide 4-53


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Limitations of this Integration


 Pagination is not available for a User search. If this is needed the query string must be
refined.
 Pagination not available for Tweets. Only the 20 most recent tweets will be display at any
time.
 Token Invalidation at Twitter side after the user has de-authorized from Pega Sales
Automation App. (Twitter doesn’t have any API to invalidate a token.)

Extension Points
The Pega Sales Automation application comes with a default Twitter application called Pega
Social. If a customer is interested in creating their own application the following need to be
updated before they can start using the system.

 The application ID and application secret values available under PegaSocial-FW-Twitter.


 TwitterApplicationSettings map value rule should be changed to have the correct values.

LinkedIn Integration
Pega Sales Automation provides a way to search a profile and company from the LinkedIn
application using its API.

Authorize LinkedIn
 Maintain business relationships to track key information as they happen by associating an
individual LinkedIn profile to a Lead or Contact object.
 Maintain a company’s profile data by linking it to the Sales Automation Organization and
Account objects.
 Re-associate linkage to different profiles.
 De-authorize LinkedIn

Creating a LinkedIn Application


In order to integrate with LinkedIn, you need to first create an application in LinkedIn. It can be
done from [Link]

Pega Sales Automation Implementation Guide 4-54


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

The Add New Application link is used to configure our application.

This link will direct the user to the following screen where details related to the application
should be entered.

Consumer key and consumer key secret is generated for the application which is used for the
API calls.

Pega Sales Automation Implementation Guide 4-55


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Class Structure:
 PegaSocial- Base class for all social media integration
 PegaSocial-Embed- Base class for all data classes used in integration
 PegaSocial-Embed-LinkedIn- Abstract class for Linkedin
 PegaSocial-Embed-LinkedIn-Profile (Concrete data class for user profile)
 PegaSocial-Embed-LinkedIn-Company (Concrete data class for company profile)
 PegaSocial-FW- Abstract class for Social
 PegaSocial-FW- LinkedIn (Concrete class that contains all the integration and
functionalities)
 PegaSocial-FW-SocialDetails (Data class that holds the linking between social media
profiles and work object)
 PegaSocial-Preferences (Concrete class that contains the authorization required)
 PegaSocial-Preferences- LinkedIn Concrete class for Linkedin

LinkedIn Authorization:
The steps used to perform a LinkedIn Authorization are:

Request token from LIN.


LIN replies with the token.
Application redirects LIN to authorize the user.
After authorization, LIN redirects to the call back URL.
Another OAuth call is made to get the Access token for the user.
LIN returns a token which consists of oauth_token and oauth_token_secret.
Authorization complete. The oauth_token and oauth_token_secret that are obtained can be
used in future API calls.

Pega Sales Automation Implementation Guide 4-56


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Implementation
This is achieved with the Connect-HTTP rule. It requires a header which must be sent along
with the call.

Request Token

Request Type: POST

URL: [Link]

A request token call header should contain the following:

 oauth_callback (optional)
 oauth_consumer_key
 oauth_nonce
 oauth_signature_method
 oauth_timestamp
 oauth_version

Pega Sales Automation Implementation Guide 4-57


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Request Access Token


Request Type: POST

URL: [Link]

A request Access Token call header should contain the following:

 oauth_consumer_key
 oauth_nonce
 oauth_signature_method
 oauth_timestamp
 oauth_token
 oauth_verifier
 oauth_version

LinkedIn Token Invalidation


Invalidate an OAuth token for your application by sending an OAuth signed request to the
following URL.

Request Type: GET

URL: [Link]

Reference for additional details about the API is available at


[Link]

Other API Calls


For other API calls, you build the header as before. The header will contain the consumer key,
the consumer key secret of the application, the Token, and the Token Secret of the user.

The URL to be used is modified with the search parameters.

LinkedIn User Search


Request Type: GET

URL: [Link] keywords=[space delimited keywords]& first-


name=[first name]& last-name=[last name]& company-name=[company name]& current-
company=[true|false]& title=[title]& current-title=[true|false]& school-name=[school name]&
current-school=[true|false]& country-code=[country code]& postal-code=[postal code]&
distance=[miles]& start=[number]& count=[1-25]& facet=[facet code, values]& facets=[facet
codes]& sort=[connections|recommenders|distance|relevance]

Profile API
Request Type: GET

Pega Sales Automation Implementation Guide 4-58


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

URL: [Link]

[Link]

Profile can be obtained based on ID or profile URL.

Company Search
Request Type: GET

URL: [Link]
URL,industries,status,logo-URL,blog-rss-URL,twitter-id,employee-count-
range,specialties,locations,description,stock-exchange,founded-year,end-year,num-
followers))?keywords=

Company Profile
Request Type: GET

URL: [Link]

[Link]

Company Profile can be obtained based on ID or universal name.

Throttle Limit
LinkedIn API keys are throttled by default. The throttles are designed to ensure maximum
performance and to protect the user experience of all users on LinkedIn.

Calls for the user’s own data:

These calls all concern the user's own data.

API Uses Daily Limits

Current User's Standard Profile Returns profile details Application: 100k

Current User's Public Profile Returns full public profile details Application: 100k

Calls for the user's network data:


These calls all return data from the user's network.

Note: Applications will not be able to call the People Search and Jobs API without having Vetted API
access. To obtain Vetted API access, a customer must enroll in the LinkedIn partner program.

Contact and Lead Work Objects: People search is the entry point. The customer must have
Vetted API access.

Pega Sales Automation Implementation Guide 4-59


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Organization and Account Work Objects: Customer needs Vetted API access for Company
updates.

API Uses Daily Limits

Returns the network updates from the LinkedIn Application: 500k


home page
Per User: 300
Get Network Note: Need Vetted API access for accessing
Updates Network updates. Per Developer: 300
Returns the mini-profile for all connections

Note: Need Vetted API access for accessing


Connections connections. Application: 20k

Up to 100 returns per search, 10


returns per page. Each page is one
API call.

Returns the profile for each search result Application: 100k

Note: Need Vetted API access for accessing Per User: 100
peoples. If we don’t have this access, the Contact
People Search and Lead’s LinkedIn will not work. Per Developer: 400

Application: 100k

Per User: 50
Other's standard Returns the mini-profile for any profile visible to the
profiles requesting user Per Developer: 200

Application: 100k

Per User: 50
Other's public Returns the public mini-profile for any profile visible
profiles to the requesting user Per Developer: 200

Calls for Jobs, and Company data:

These calls return data for companies and jobs.

Pega Sales Automation Implementation Guide 4-60


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

API Uses Daily Limits

Application: 100k

Get Companies Returns company profiles from LinkedIn Per User: 500

Application: 100k

Company Search Searches company profiles on LinkedIn Per User: 300

Reference: [Link]

Facebook Integration
A Sales Representative can perform the tasks below in Pega Sales Automation:

 Authorize Facebook
 Maintain business relationships to track key information as they happen by linking an
individual profile to a Pega Sales Automation Lead or Contact object.
 Maintain the company’s profile data by linking the company to Pega Sales Automation
Organization and Account objects.
 Re-associate linkage to different profiles
 De-authorize Facebook

The implementation of the social media integration (Facebook, Twitter and LinkedIn) is available
in a single RuleSet PegaSocial-FW.

Integration Classes
 PegaSocial-FW- Abstract class for Social
 PegaSocial-FW-Facebook (Concrete class that contains all the integration and
functionalities)
 PegaSocial-FW-SocialDetails (Data class that holds the linking between social media
profiles and work object)

The following illustrates inheritance for class PegaSocial-FW-Facebook.

Pega Sales Automation Implementation Guide 4-61


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Embed Classes
 PegaSocial-Embed- (Base class for all data classes used in integration)
 PegaSocial-Embed-Facebook Concrete class for Facebook
 PegaSocial-Embed-Facebook-Profile (Concrete data class for user profile)
 PegaSocial-Embed-Facebook-Company (Concrete data class for company profile)
 PegaSocial-Embed-Facebook-Education (Concrete data class for education details)
 PegaSocial-Embed-Facebook-Employer (Concrete data class for employer details)
 PegaSocial-Embed-Facebook-Feed (Concrete data class for feed details)
 PegaSocial-Embed-Facebook-Location (Concrete data class for location details)
 PegaSocial-Embed-Facebook-School (Concrete data class for school details)
 PegaSocial-Embed-Facebook-Work (Concrete data class for work information)

The following illustrates inheritance for the embedded class – PegaSocial-Embed-Facebook.

Pega Sales Automation Implementation Guide 4-62


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Preferences Class
 PegaSocial-Preferences (Concrete class that contains the authorization required)
 PegaSocial-Preferences-Facebook Concrete class for Facebook

The following illustrates inheritance for Preferences class egaSocial-Preferences-Facebook.


This class contains the implementation for Facebook Authorization.

Pega Sales Automation Implementation Guide 4-63


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Creating a New Application


Before authorizing Facebook, you need to create a new application in Facebook through which
the logged in authenticated user ID communicates to retrieve information available on
Facebook.

The application ID and application secret values are available under PegaSocial-FW-Facebook.
The CPMFacebookApplicationSettings map value rule should be changed to have the correct
values.

To create a new application:


Log in to [Link] to create a new facebook application using
Add a New App Link.

Select Facebook Canvas.

Pega Sales Automation Implementation Guide 4-64


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Enter the App Name as required and click Create New Facebook App ID.”

Select Category as required and click on Create App ID.

Pega Sales Automation Implementation Guide 4-65


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Click Skip Quick Start to redirect to the application Page

Click on Settings to enter more data.

Pega Sales Automation Implementation Guide 4-66


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Enter Namespace, App Domains and Contact Email, click +Add Platform and select
Facebook Canvas.

Pega Sales Automation Implementation Guide 4-67


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Fill in the Secure Canvas URL and Canvas URL and click Save Changes.

Pega Sales Automation Implementation Guide 4-68


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Select Status & Review and then select Yes to make your application available to the
public.

Pega Sales Automation Implementation Guide 4-69


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Confirm changes by clicking Confirm.

Pega Sales Automation Implementation Guide 4-70


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

The Application Status icon changes, as illustrated below.

When these steps are complete, access to basic information such as email, public_profile
and user_friends is available.

Pega Sales Automation Implementation Guide 4-71


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

To get access to more information click on Start a Submission and then enter data as
required.

Pega Sales Automation Implementation Guide 4-72


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 4-73


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Update the appropriate Dynamic System Settings (DSS) with the generated App ID and
App Secret keys. For more information, see the Dynamic System Settings for LinkedIn,
Twitter & Facebook section of this document.

Pega Sales Automation Implementation Guide 4-74


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Modules
Pega Sales Automation uses a graph API to integrate with Facebook. A Graph API presents a
simple and consistent view of the Facebook Social Graph, uniformly representing objects in the
graph (people, photos, pages, and so on) and connections between them.

Pega Sales Automation integration with Facebook can be split into the following modules:

 Authorization
The authorization process starts when the sales representative clicks on the Facebook icon
available on a Lead, Contact, Account or Organization object.

Graph API uses OAuth 2.0 for authorization. When authorizing the application, the user
grants your application access to the basic information. Since Pega Sales Automation needs
additional information such as work history, education history, location and so on, you need
to request additional permissions using the scope parameter.

API Used:

Pega Sales Automation Implementation Guide 4-75


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

[Link]
ns _requried&redirect_uri=your_callback_URL

The following permissions must be granted to the user for Pega Social application use.

− offline_access
− read_stream
− user_work_history
− user_education_history
− user_location,
− friends_work_history
− friends_education_history
− friends_location
− user_about_me
− friends_about_me

The above URL returns an access token with the required permissions. The generated
access token is now used to get the authenticated user ID. The generated access token and
user ID values are stored in a database, so that when a user logs in he can perform other
operations without going through the authorization process again.

 Link Profile
Once the authorization process completes, Pega Sales Automation allows a user to link a
Facebook user profile to a Contact or Lead object and a Company profile to an Organization
or Account object.

The sales representative can search through different lists of users by setting search criteria,
and then link the object to see the detailed information. A linked object can be re-linked to a
different profile.

API used:

[Link] (Request Type –


GET)

Individual detailed profile information is obtained using -

[Link] Type –
GET)

Feeds posted on user or a page are obtained using –

[Link] Type – GET)

The mutual friends between the logged in authenticated user ID and the linked profile for a
contact or lead object are obtained using –

Pega Sales Automation Implementation Guide 4-76


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

[Link]
red. (Request Type – GET)

De-Authorization

The sales representation is provided with an option to de-authorize the account from Facebook.
Upon clicking the de-authorize button, the session through which the Pega Sales Automation
logs into Facebook is logged out and the access token details stored in the database are
removed.

After the de-Authorize process, you need to repeat the authorize process if you click on the
Facebook link available on the Contact, Lead, Account or Organization object.

API Used:

[Link]
en_to_expire (Request Type – GET)

For more information related to the Facebook Graph API, please refer to:

[Link]

For more information related to the privacy and platform policy, please refer to:
[Link]

Dynamic System Settings for LinkedIn, Twitter and Facebook


Pega Sales Automation captures the attributes of LinkedIn, Twitter, and Facebook required for
social media integration while authorizing within the respective social media app.

Note: - To update value of each attribute, the developer needs to update corresponding Dynamic
System Settings with the appropriate value.

The following table contains the list of Dynamic System Settings that need to be updated for
social media integration in Pega Sales Automation and a sample value for each that was used
in one of the development environments.

Dynamic System
Dynamic System Settings sample Value
Settings Name
For LinkedIn
LinkedinConsumerKey y5n687wd7a2r
LinkedinConsumerSecret ABUqF5luPwJYnzjk
LinkedinRequestTokenURL [Link]
LinkedinAccessTokenURL [Link]
LinkedinAuthorizeUserURL [Link]
LinkedinRevokeTokenURL [Link]
LinkedinAPIURL [Link]
TwitterConsumerKey zLSxeSps7yT2InrSRdkEDw

Pega Sales Automation Implementation Guide 4-77


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Dynamic System
Dynamic System Settings sample Value
Settings Name
For Twitter
TwitterConsumerSecret P95m6E9wmiQJFVKDAg5nWlg5FsJxPAUXdOhAxRwNUZE
TwitterRequestokenURL [Link]
TwitterAccesstokenURL [Link]
TwitterAuthorizeUserURL [Link]
TwitterAPIURL [Link]
For Facebook
FBApplicationID 213682632091885
FBApplicationSecret 4ed6d6cbd90c24df1c790c2f5b854de2
FacebookAPIURL [Link]

Note: The PublicLinkURL will vary per environment and should refer to the web-application in the URL,
such as [Link]

The following screenshot illustrates a sample Dynamic system setting, FBApplicationID.

The getDynamic utility is used to return a value from the Dynamic system settings. A sample
format is illustrated below. In this example, a value is fetched from the above mentioned
Dynamic System Settings.

Using Dynamic System Settings, you can enhance the maintainability of the properties that are
configurable for each deployment or for each environment without unlocking any RuleSet in that
particular environment.

Pega Sales Automation Implementation Guide 4-78


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Integration with NBAM / NBAA


Flows in Pega NBAM (Next Best Action Marketing) and Pega NBAA (Next Best Action Advisor)
use attributes of a “customer” to allow the user to narrow a list down to the “persons–of-
interest”. In the Pega Sales Automation application the “customers” are captured as instances of
the PegaCRM-Entity-Contact class. Pega Sales Automation being the sales system and NBAM
/ NBAA being marketing systems, they can continue to be different Pega 7 instances (possibly
on different Pega 7 releases – please check the installation guide for details). For the NBAM /
NBAA applications to access the contacts in the Pega Sales Automation schema, a data base
VIEW that is built on the crm_entity_contact table in Pega Sales Automation is created in the
NBAM_External schema and is mapped to the PegaSFA-Data-Customer class in the NBAM
application. The Logical Architecture of this integration is shown below:

Please review the Pega Sales Automation Tech Note Integration with NBAM / NBAA on the
Pega Sales Automation page of the PDN ([Link] for steps to setup this
integration and a sample implementation of the same.

Pega Sales Automation Implementation Guide 4-79


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Customer implementations of Pega Sales Automation can choose to leverage either the “Local
Campaigns” functionality or the “Next Best Sales Activities” functionality or both. Many steps
involved in setting up the integration with NBAM or NBAA are common:

Defining SR class
Every application built on top of DSM should define a top level SR class so that the application
can have its own issues and groups (Refer to the document
[Link] for more information on DSM and its
artifacts.)

For the sample implementation PegaSFA_NBAM, the following artifacts are defined.

Top Level SR class: PegaSFA-NBAM-SR (created in PegaSFA-NBAM-Artifacts). Its direct


parent should be PegaOMF-ON-SR.

Once you define your own SR class, make sure this class is specified in the field value rule with

 First part of the key as “Rule-Application”


 Second part of the key as name pxDecisioningClass
 Third part of the key as PegaSFA_NBAM (your application name, in case of your own
application).

Creating Issues and Groups:


Issues/Group
SalesNBAIssue/ SalesNBAGroup: Used for the purpose of running the batch program that
evaluates the NBO for an entire list of contacts in Pega Sales Automation at the specified time
in a day.

Pega Sales Automation Implementation Guide 4-80


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

SFABusinessIssue/ SFAGroup: Used as a sample issue to store treatments and offer flows
needed for local campaign functionality.

SFAInsurance/ Policy: Used to define sample propositions for quadrant functionality.

Defining Customer Data class


Every application built on top of NBAM can either use NBAM’s customer data class PegaMKT-
Data-Customer or can define its own customer data class.

For application PegaSFA_NBAM_FW, class PegaSFA-Data-Customer (with CustomerID as the


key as recommended by NBAM) is chosen as the customer data class. This class is created in
ruleset NBAM-SFA-Adapter.

This class is mapped to use a database view (so an external mapping is needed) called
CRM_VW_CAMPAIGN_CONTACT. The external mapping tab of the class’s definition is
illustrated below:

Pega Sales Automation Implementation Guide 4-81


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

The database view CRM_VW_CAMPAIGN_CONTACT gathers the required information from


the Pega Sales Automation application's contact table CRM_ENTITY_CONTACT.

Another database view called CRM_VW_CAMPAIGN_WORKACCESS is created to gather


information from the Pega Sales Automation application’s
CRM_LINK_OPERATOR_TERRITORY table which stores the access information of an
operator per work type basis.

Pega Sales Automation Implementation Guide 4-82


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

The view CRM_VW_CAMPAIGN_CONTACT joins with CRM_ENTITY_ORG &


CRM_ENTITY_ACCOUNT and the view CRM_VW_CAMPAIGN_WORKACCESS to get the
required information of only accessible contacts for the logged in user and a few organization
and account properties of the corresponding contact.

These views should be created in the NBAM’s external marketing database which is taken care
of by the adapter’s data base scripts during installation. For more details on installation, refer to
the Pega Sales Automation NBAM Adapter installation document at
[Link]

This data class needs to be specified as the customer data class for NBAM through Pega
Marketing portal. Configuration -> Settings -> Application Settings landing page.

From the Application Settings landing page select the Manage Data Relationships tab. This
landing page has to be edited by the implementer to set the above created data class as the
customer class name.

Pega Sales Automation Implementation Guide 4-83


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Updating Pega Sales Automation Contacts with CLV values


The adapter rulesets come with an activity to populate CLV_Value under the Pega Sales
Automation’s PegaCRM-Entity-Contact class with random values ranging 0-950.

It is strongly recommended that users have a way to populate the CLV_Values.

Bulk upload functionality has been updated to upload contacts with CLV Values. This additional
feature is available only if PegaCRM-NBAMAdapter and PegaCRM-NBAAdapter rulesets are
included in the application that is built on top of PegaCRM-SFA application.

Integration with NBAM


Pega Sales Automation's integration with NBAM is provides the benefit of leveraging the Field
Marketing and Campaign management features of NBAM; NBAM ships with a campaign
dashboard that allows you to create new campaigns, review the results of current or past
campaigns and load specific campaigns for analysis of click / success rates. The Pega Sales
Automation application loads the dashboard for the logged-in sales representative by integrating

Pega Sales Automation Implementation Guide 4-84


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

with NBAM. This is achieved using the Pega FCM (Federated Case Management) feature that
allows seamlessly displaying harnesses from one Pega 7 instance on another. Adapter rulesets
are shipped with the Pega Sales Automation product to achieve this integration. The contacts of
the sales representative in Pega Sales Automation are profiled / segmented and included in the
‘Local Campaign runs’.

Solution Overview
The solution involves the following:

 Harness rule in the Pega Sales Automation application to invoke, integrate, and retrieve the
‘CampaignsDashboard’ on NBAM application through FCM
 Sample rules and artifacts to execute a campaign
− Campaign Templates (Sample Email Offers and SMS Offers)
− Sample Post-processing rules
− Sample Email-Treatment / SMS-Treatment

 Integration between NBAM and Pega Sales Automation through webservices:


− Service layer on Pega Sales Automation application to create marketing activities, create
leads for a specified contact
− Pega 7 Connectors to invoke the Connect-SOAP calls for the appropriate service
operations based on responses from end users to the campaign.

Pre-requisites
 Pega Sales Automation 7.21
 NBAM 7.21
 Host configuration setup for NBAM is done in prgateway

Adapter architecture
In the Pega Sales Automation application:

 The ruleset PegaCRM-NBAMAdapter holds all the rules that correspond to integration
between Pega Sales Automation & NBAM and rules required for local campaign
functionality.
On the NBAM application:

 The application PegaSFA_NBAM_FW is built on top of PegaMarketingNBAA_FW. It


contains the ruleset:
− NBAM-SFA-Adapter ruleset which contains the integration rules, the Pega Sales
Automation’s Customer data class for NBAM and other rules customized for Local
Campaign functionality.

 On top of PegaSFA_NBAM_FW, a sample implementation called PegaSFA_NBAM is built.


It contains two rulesets:

Pega Sales Automation Implementation Guide 4-85


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

− PegaSFA-NBAM-Rules that groups all the rules that were overridden from NBAM for the
sample implementation.
− PegaSFA-NBAM-Artifacts that contains the artifacts created for the sample
implementation.

Implementation
Local Campaign functionality can be enabled by setting the dynamic system setting instance
“EnableLocalCampaigns” to true.

This enables the Campaigns menu item on the left navigation menu.

Pega Sales Automation Implementation Guide 4-86


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Clicking on the menu item displays the harness CampaignsDashboard that (through FCM)
displays the dashboard from the NBAM application.

Pega Sales Automation Implementation Guide 4-87


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Sample implementation of an Email and SMS Offer are included in the PegaSFA-NBAM-
Artifacts ruleset. These offers include sending out the treatment and processing based on
responses received from the contact. Handoff shapes are used to hand-off specific processing
to smaller flow rules like processing user response. For the sample implementation, a marketing
activity is created against each contact included in the campaign. Statuses are updated based
upon whether the user accepted or rejected the offer.

Pega Sales Automation Implementation Guide 4-88


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 4-89


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Sample Email treatment

Sample configuration on Accept and Reject links on email treatment

Sample Hand-off flow invoking the webservice.

Pega Sales Automation Implementation Guide 4-90


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Sample Connector activity invoking the web service to create entities in Pega Sales Automation.

Pega Sales Automation Implementation Guide 4-91


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Integration with NBAA


Next Best Sales Activities Quadrant
Solution Overview
The solution is built to use the power of Pega Decisioning and NBAA to use past customer
behavior to predict which customers are most likely to accept which offers. The constructs
involved are:

 A batch-program to subject all the contacts in the Pega Sales Automation system through a
strategy and to identify the top offer and propensity for each contact. At a high level, the
following setup is required for achieving this:
− A Program in NBAM to run a specified Segment against a pre-defined Strategy rule.
This should be setup to run at a scheduled time every day to get the latest results.
− An Adaptive model for the strategy rule to leverage, to evaluate contacts against past
trends.
− An output template to capture the results of the runs.

 A real-time re-evaluation of the rules (upon log-in) for the top N contacts in the book-of-
business for that sales representative and a display of the top M results on the dashboard.
At a high-level, the following setup is required for achieving this:
− A SOAP-Service rule in the NBAM application and service activity to do the related
processing and streaming of XML results.
− A Connect-SOAP rule in the Pega Sales Automation application and connector activity /
data page to invoke the SOAP call and retrieve the results

Pre-requisites
 Pega Sales Automation 7.21
 NBAA 7.21
 Host configuration setup for NBAA is done in prgateway.

Adapter Architecture
On the Pega Sales Automation application, two adapter rulesets are included:

 PegaCRM-NBAMAdapter – holds all the rules that correspond to integration between Pega
Sales Automation & NBAM and rules required for the Local Campaign functionality.
 PegaCRM-NBAAdapter – Needs PegaCRM-NBAMAdapter as a pre-requisite ruleset and
holds all the rules that correspond to integration between Pega Sales Automation & NBAA
and rules required for ‘Next Best Sales Activities’ functionality.
On the NBAA Application:

 The application PegaSFA_NBAM_FW is built on top of PegaNBAA_FW. It contains the two


rulesets

Pega Sales Automation Implementation Guide 4-92


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 NBAM-SFA-Adapter ruleset which contains the integration rules, the Pega Sales
Automation’s own Customer data class for NBAM and other rules customized for the ‘Local
Campaign’ functionality.
 NBA-SFA-Adapter ruleset which contains the rules created or overridden for connecting with
NBAA and quadrant functionality.
 On top of PegaSFA_NBAM_FW, a sample implementation called PegaSFA_NBAM is built.
It contains the three rulesets
− PegaSFA-NBAM-Rules that groups all the rules that were overridden from NBAM for the
sample implementation.
− PegaSFA-NBAA-Rules that groups all the rules that were overridden from NBAA for the
sample implementation.
− PegaSFA-NBAM-Artifacts that holds the artifacts created for the sample implementation.
 A sample access group “PegaSFA:MarketingAdmins” is created to use the sample
implementation PegaSFA_NBAM.
 The sales representative who wants to use quadrant functionality should have access to the
two access groups:
− SFASample:SalesRep (access group for your application built on PegaCRM-SFA with
the 2 adapter rulesets PegaCRM-NBAAdatper and PegaCRM-NBAMAdapter.)
− PegaSFA:MarketReps

 The access group PegaSFA:MarketReps should have the PegaSFA-NBAM-Artifacts ruleset


specified as the Design time configuration ruleset.

Pega Sales Automation Implementation Guide 4-93


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Implementation
Enabling the quadrant in SalesRep Portal

The quadrant is enabled by setting the dynamic system setting instance


EnableNBSalesContactsQuadrant to true.

The quadrant is built using the results of the data page D_crmNextBestSalesContacts. The Data
page is populated using a Connect-SOAP call to a service in the NBAM application.

Pega Sales Automation Implementation Guide 4-94


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Overriding number of Contacts to be shown in Quadrant

Override the crmNBSalesContactsReqDT from PegaCRM-NBAAdapter ruleset to configure how


many contacts need to be considered by NBAA to evaluate Next Best Offers and how many
contacts with Best Offers have to be returned.

Pega Sales Automation Implementation Guide 4-95


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Creating Propositions
The following are the three sample propositions created for quadrant functionality.

For these 3 propositions, important properties that are needed by NBAA to provide NBO are
StartingPropensity and StartingEvidence and these are set to 0.45 and 30 respectively.

NBAA’s Out-Of-The-Box rules overridden


NBAA comes with a few out-of-the-box strategies that are used to find the Next Best Action for a
given customer. For the purpose of the demo these strategies are overridden or modified to
provide only Next Best Offer for the given customer (Pega Sales Automation’s Contact).

SalesPlans strategy
This strategy is re-saved to the PegaSFA-NBAA-Rules ruleset. Changes done to this are:

 For the “Plans” shape, SFAInsurance and Policy are specified as issue and group
respectively.
 For the “Set Channel Details” shape, “CallCenter” is hardcoded for pyChannel and
“Inbound” is hardcoded for pyDirection.

Pega Sales Automation Implementation Guide 4-96


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

As we are going to trigger this strategy through some batch process, the PlansQuestionnaire,
Sales Plans Q&A for WhatIf and Switch for these two shapes may not be useful for us and thus
we can remove them.

Adaptive model
Our use case is very simple and from the Pega Sales Automation application’s Contact class,
so we are using only the CLV_Value. This adaptive model rule is copied into PegaSFA-NBAA-
Rules ruleset and under the PegaSFA-Data-Customer class to make CLV_Value property as
the only Predictor.

Three sample CSV files are created to train this model with some behavior for the demo(Refer
to the tech note “Integrating SFA with NBAM and NBAA Tech Note” at
[Link] to know how to train Adaptive rule with
sample data).

The three sample files and the behavior these files provide to the model can be found at
<Release Folder>\Install\Optional\NBA-Adapter\SampleResponses

[Link](As the CLV value goes from 1 to 950, propensity for offer
FiveYearTermLifeInsurance increases.)

[Link] – As the CLV value goes from1 to 950, propensity for offer
MortgageTermLifeInsurance decreases.

Pega Sales Automation Implementation Guide 4-97


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

[Link] –As the CLV value goes from1 to 500, propensity for
offer ReturnOfPremiumTermLifeInsurance increases and as it goes from 500 to 950, the
propensity for same offer decreases.

AllOffers strategy
This rule is re-saved to PegaSFA-NBAA-Rules and since we are using only one category of
propositions (insurance policy plans), use need only one sub-strategy: SalesPlans.

Pega Sales Automation Implementation Guide 4-98


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

NextBestAction strategy
This rule is re-saved to PegaSFA-NBAA-Rules and since the use case is to get only the
NextBestOffer for a given customer, all sub-strategies related to other functionality (like
Retention, Survey, Service etc.) and the switch shape are removed.

New Rules created to support the Quadrant functionality

The new rules created for the quadrant should support two kinds of functionality.

 Some rules are used for a batch process that is run at a specified time every day so that it
gets the Next Best Offer for every contact within Pega Sales Automation Contact’s table and
stores the top offer name along with other properties such as propensity and so forth in a
table called SFAPRIORITIZEDCONTACTS.
 Some other rules are used when a sales representative logs into the Pega Sales
Automation SalesRep portal. When a sales representative logs in, a service on the NBAA
system is triggered so that an activity joins the Customer table with
SFAPRIORITIZEDCONTACTS to get the top x contacts. It then fetch the Next Best Offer for
each contact and returns back to the SalesRep portal only the top y contacts with highest
propensity among x.
AllSFACustomers segment
This is created under PegaSFA-NBAM-Artifacts ruleset and on class PegaSFA-Data-Customer.

This segment rule lists out all of the Pega Sales Automation’s contacts with the condition that
CustomerID!=null.

This is used by the Program Work object that users will create to run at a specified time every
day.

SalesNBAOffer strategy
Created under NBA-SFA-Adapter.

This strategy is a wrapper around NBAA’s OOTB strategy NextBestAction.

This is used as a sub-strategy in SalesNBAOfferWrapper.

SFAOfferToOutputToDBTemplate strategy
This is an extension strategy created under NBA-SFA-Adapter ruleset. This strategy is meant to
be overridden by customers so that they can specify the proposition (offer) whose offer-flow rule
defines how and what properties of those top offers from SFAInsurance issue are stored into the
SFAPRIORITIZEDCONTACTS table through the NBAM’s database template rule.

This is overridden in the PegaSFA-NBAA-Rules demo ruleset and the SalesNBAOffer from
SalesNBAIssue is specified as the proposition.

SalesNBAOfferWrapper strategy
This strategy rule is created under NBA-SFA-Adapter ruleset.

Pega Sales Automation Implementation Guide 4-99


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Its purpose is to set the following properties from the resulting offer from the SalesNBAOffer
strategy onto the SalesNBAOffer proposition.

The result of this strategy is always the Offer SalesNBAOffer with the best offer details for the
corresponding customer stored onto this offer.

This is the strategy that will be used by a program work object. Users can make this work object
run at a specified time every day. The Program Work object uses this strategy in combination
with the AllSFACustomers segment so that each contact from the segment is subjected to this
strategy.

Pega Sales Automation Implementation Guide 4-100


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

SalesNBAOffer offer-flow
In NBAM, an offer-flow defines the behavior for a proposition that is the resulting outcome of a
program’s strategy.

In the Adapter’s sample implementation, the SalesNBAOffer flow defines how details for a
Contact’s best offer are stored in the database. It uses another NBAM’s artifact called Database
Output Template rule through Send Generic shape to store best offer’s details in database
template.

The offer-flow rule SalesNBAOffer looks like below:

Pega Sales Automation Implementation Guide 4-101


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

SFAPrioritizedContacts output template


In NBAM, an output template defines where the strategy result’s data is stored once it is
returned as the outcome of a program’s strategy. These templates can be referred from the
Send Generic shape within the Offer Flow rules.

A new database template rule can be created by navigating below the NextBestAction Studio
portal and clicking New on the opened landing page.

NextBestActionStudio -> Channels -> Database -> Outbound Table.

Pega Sales Automation Implementation Guide 4-102


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

For the Adapter’s sample implementation, SFAPrioritizedContacts is created to map to a table


SFAPRIORITIZEDCONTACTS in the NBAM’s external marketing database “ExternalMKTData”
with an option of Overwrite existing data.

The rule looks like below:

Once the rule is created, columns under the Details tab must be defined. For
SFAPrioritizedContacts, the column details are shown in the image below.

Pega Sales Automation Implementation Guide 4-103


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

For the Outbound database template rule, we should also configure when the data has to be
written into the actual table. This configuration is done on the Finalize tab.

For SFAPrioritizedContacts, the Finalize settings are shown in the image below.

Pega Sales Automation Implementation Guide 4-104


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

The new rules mentioned above support the batch functionality that is used to obtain and store
information in the database table SFAPRIORITIZEDCONTACTS, the Next Best Offer for all
contacts within Pega Sales Automation.

The rules described below support the functionality to obtain the Next Best Offer for the top X
customers from the SFAPRIORITIZEDCONTACTS table and return the top Y customers along
with the Next Best Offer for each, and its propensity exposed as a SOAP Service.

Since an Outbound Template does not by default create a class corresponding to the table, a
new class PegaMKT-Data-SFAPrioritizedContacts is introduced by mapping it to the
SFAPRIORITIZEDCONTACTS table through external mapping.

Pega Sales Automation Implementation Guide 4-105


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

NBOsForSFAContacts soap service


This SOAP service rule is created under the NBA-SFA-Adapter ruleset and under the package
SFAAdapter and class SFAContact respectively.

This service rule exposes activity NBOsForSFAContact as a service.

The requestor mapping parses the request and places the OperatorID and NumberOfContacts
from the request parameters to the pyUserIdentifier and pyLabel respectively on the Primary
page MyServicePage

The response is mapped through the XML Stream rule CustomersWithNBO.

CustomersWithNBO stream rule


This XML stream rule is created under the NBA-SFA-Adapter ruleset. It creates an XML stream
from the clipboard page [Link].

Pega Sales Automation Implementation Guide 4-106


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

NBOsForSFAContact activity
This activity takes NumberOfContactsTobeReturned and NumberOfContactsToEvaluate as
parameters. These parameters are expected from the client of the service.

It uses the report definition ContactsByTerritoryForGivenOperator to join the class PegaSFA-


Data-Customer with the PegaMKT-Data-SFAPrioritizedContacts class to obtain the top
NumberOfContactsToEvaluate contacts that the logged in sales representative has access to,
and with highest propensity for an offer in decreasing order.

On a dummy SFAContact page, this activity calls an interaction NBSalesContacts which places
NumberOfContactsToEvaluate with best offers on a clipboard page called
[Link], gets the NumberOfContactsTobeReturned and returns them back to the
Pega Sales Automation sales representative portal that requested it.

Pega Sales Automation Implementation Guide 4-107


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

ContactsByTerritoryForGivenOperator Report Definition


This report definition joins the class PegaSFA-Data-Customer with the PegaMKT-Data-
SFAPrioritizedContacts class to obtain the top NumberOfContactsToEvaluate contacts that the
logged in sales representative has access to and with highest propensity for an offer, in
decreasing order.

NBSalesContacts Interaction rule


This interaction rule is created under the NBA-SFA-Adapter ruleset.

It uses strategy NBSalesContacts to get the NumberOfContactsToEvaluate number of contacts


with Next Best Offer.

Pega Sales Automation Implementation Guide 4-108


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

NBSalesContacts strategy
This strategy rule is created under the NB-SFA-Adapter ruleset and it calls the
SalesNBAOfferWrapper sub-strategy on the NumberOfContactsToEvaluate number of
customers.

IAC Gadget Configuration (lead web forms)


Summary
Pega IAC (Internet Application Composer) can be used to expose a section as a form on a
customer facing website to consume leads.

Pega Sales Automation Implementation Guide 4-109


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

A web-designer or developer can configure and embed composite web applications or business
mashups in their company web pages. Pega gadgets provide user interface components to
build these mashups so you can deliver a rich application experience for all users.

The terminology IAC (Internet Application Composer) & Pega Web Mashup will be used
interchangeably. Pega Web Mashup was earlier known as the IAC in Pega7.1.8 and earlier
versions. For details, please refer [Link] in PDN.

In this document, Source application will denote the company web-pages or web-application,
whereas the Target application will denote the Pega-PRPC application, where ultimately the
work-object will be created.

This Pega Sales Automation v7.2 release, we have added a Demo for Lead IAC Gadget, so that
the customer can easily demo this without the need of creating new infrastructure for Source
application.

Under the section “IAC Customization”, the implementation Pega Developer can define the
defaults for the LEAD WO created from this IAC Gadget and user-interface too.

PRPC Application Setup for IAC


Before starting with the configuration & implementation of IAC gadget in Source application, we
need to make sure the following setup in Target PRPC application:

Be sure the ruleset Pega-IAC latest ruleset is a part of your Application rulesets stack.

Configure the [Link] file in PRPC system hosting applications which will be accessed
through IAC by adding the following environment setting:
<env name="Authentication/RedirectGuests" value="false"/>

In PRPC application, this can also be accomplished by adding a DSS in the following
manner, instead of directly updating [Link] file.

Pega Sales Automation Implementation Guide 4-110


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

IAC Implementation
The main steps in implementing the IAC are as follows, which have to be performed on Source
Application.

Deploy the Pega Composite Gateway


Deploy [Link] on the Source application web-server, this will be used to access
the IAC gateway configuration console.

For details, please refer [Link]


pega-web-mashup on PDN.

Configure the IAC Gadget


a. Open Gateway Configuration Console.
IAC gateway configuration console can be accessed through the following URL
[Link] :< port>/prgateway, where <hostserver> will be the Source
application server.

b. Configure a Host.
If this is the first time you are using IAC, please start by adding a Host, otherwise
configure the HOST as shown below.

Pega Sales Automation Implementation Guide 4-111


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

PRPC Host URL, will be the URL for your Target application where the Lead work-object
will be created.

c. Click “Test Connection” after providing the host details. It will test the following valid
configurations:

If the configuration-2 fails, it means the RS Pega-IAC:07-10 is not included in the PRPC
application you are referring, which is mandatory for IAC gadget configuration in Target PRPC
application.

Pega Sales Automation Implementation Guide 4-112


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

If the configuration-3 fails, it means the DSS for ‘prconfig/authentication/redirectguests/default’


is not included in the Target PRPC application.

In case of any configuration failure, please contact Administrator.

IAC Gadget Setup

Click on Gadget Setup in the left menu and configure the following details.

PRPC Host: Host you configured in the last step.

PRPC User Name & Password: Existing user in Target PRPC application.

Click on Submit to proceed with gadget configuration. In Gadget Generation section, update
the details as mentioned below.

Pega Sales Automation Implementation Guide 4-113


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Click Preview button for the configured gadget, in case of failure please troubleshoot may be
required. Successful preview will similar to the below screen.

Pega Sales Automation Implementation Guide 4-114


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

After successful preview download the generated java scripts and HTML code using “Download
Web Files”.

Embed the IAC Gadget in your web-pages


There main files will be downloaded from Previous step:

 Gadget HTML code file “[Link]”


 [Link]
 [Link]

These files will be used to integrate this gadget with Source web application

Open Gadget HTML file it will have script tags and div tag containing the gadget information.
Copy all the script tags under the head tag in your web application page where we want to
embed this gadget.
Copy the whole div element to the place where we want to place the gadget in web page.

Final output will be the gadget displayed on external web application.

Pega Sales Automation Implementation Guide 4-115


Portal / UI Architecture

This chapter details the design, rule structure and implementation details for the UI components
in Pega Sales Automation 7.21.

Design
Prior versions of Pega Sales Automation (7.11, 7.12, 7.13 & 7.14) exploited the responsive
capabilities of the Pega 7 platform. This allowed for a single code base that adjusted layouts
dynamically (Dynamic layouts, Repeating Dynamic Layouts, Layout Groups) based on the
break-points configured in the application's skin rule.

In the 7.21 release the mobile user experience has been radically redesigned taking a 'mobile-
first' approach with the idea to progressively enhance to other view ports. The goals for this
release were:

 To provide landing pages that allow the user to take quick-actions (create / edit / call /
search),
 To simplify key processes frequently performed by the mobile sales personnel and
 To review key metrics on a personalized 'dashboard'.

Portal Rules
Sales Automation 7.21 ships with portals for the three personas: Sales Representative User,
Sales Manager User, Sales Operations User.

The portal rules refer to the skin rule defined at the application level.

Pega Sales Automation Implementation Guide 5-1


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

The top level harness for all the portals is ‘SFAPortalWorkSpace’. As different UI rules need to
be grouped by the different personas, the ‘applies-to’ class (highlighted in the screen shot) on
the portal rules determine what functionality would be allowed for a specific portal.

In Sales Automation 7.21, the harness ‘SFAPortalWorkSpace’ is further circumstanced based


on the device type the application is accessed from (mobile vs non-mobile) to provide a
customized user experience for mobile users.

SFA Portal Class Structure


The PegaCRM-Portal class and its sub-classes help define the ‘template’ for all portals and
persona-specific customizations of the template.

Pega Sales Automation Implementation Guide 5-2


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Rule-Portal
 SFASalesOps_Web
 SFASalesRep_Web
 SFASalesManager_Web

Classes
 PegaCRM-Portal-SFA-SalesOps
 PegaCRM-Portal-SFA-SalesRep
 PegaCRM-Portal-SFA-SalesManager

Skin
 pySFASkin

Harness
 [Link]
− Base version (For Desktop and Tablet)
− Mobile version (For Mobile Phone)

Rule hierarchy for SFAPortalWorkSpace (Desktop)


The [Link] harness includes a screen layout that consists of
three panels (as shown below).

Pega Sales Automation Implementation Guide 5-3


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

SFAPortalHead

SFAPortalLeftPan SFAPortalConte

Pega Sales Automation Implementation Guide 5-4


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Top Panel
Section: [Link]

Pega Sales Automation Implementation Guide 5-5


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Description: Contains the UI for the header part of all the three portals.

Header Components
 Search Box
− Pega Sales Automation allows a search across work pools
− Section: @[Link]

 Quick Links: + Create Menu


− Control: Link control is used with Menu as an action on it
− Navigation: SFAWebPortal_TopNavigation
- Uses the Link control to open the SFAWebPortal_TopNavigation menu on click
- Create menu creates new work using a standard menu option

 Standard Operator Options


− Control: Link control is used with caption as [Link]
− Uses Link control to open the menu crmCaseManager on click
− Menu: crmCaseManager
- Uses standard options from base version with additional Calendar and Email options.
- Calendar and Email options set a number of control properties on the
pyDisplayHarness
Left Panel
Section: [Link]

MenuBar: [Link]

 Overridden Rules
− [Link]
− [Link]
− [Link]

 [Link] – For Recent Item


 [Link] – For Following Items

Pega Sales Automation Implementation Guide 5-6


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Center Panel
Section: [Link]

This section refers to the SFAPortalLanding section from SalesRep, SalesOps and
SalesManager classes as per the respective user login.

Pega Sales Automation Ops Portal Components

 Harness: [Link]
 Section: [Link]
 Section: Data-Portal.SFASalesOpsPortal_Dashboard_Content

Pega Sales Automation Implementation Guide 5-7


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 Overridden: [Link] – Contains the pulse


section (pxActivityStream)

Pega Sales Automation Rep Portal Components

 Harness: [Link]
 Section: [Link]
 Section: Data-Portal.SFASalesOpsPortal_Dashboard_Content
 Overridden: [Link] – Contains the pulse
section (pxActivityStream)

Pega Sales Automation Manager Portal Components

 Harness: [Link]
 Section: [Link]
 Section: Data-Portal.SFASalesOpsPortal_Dashboard_Content
 Overridden: [Link] – Contains the pulse
section (pxActivityStream)

Rule hierarchy for SFAPortalWorkSpace (Mobile)


The mobile version of the [Link] harness includes a screen
layout that consists of three panels (as shown below). However the header portion of the screen
layout is hidden as the design for the mobile portal consists of context specific headers instead
of the generic header.

Header (HIDDEN)

SFAPortalLeftPanel_Mobile SFAPortalContent_Mobile

Pega Sales Automation Implementation Guide 5-8


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Landing Pages (Mobile)


The Pega Sales Automation Mobile application launches landing pages for Activities, Accounts,
Contacts, Leads, Opportunities, Organizations, Households, Following and Recent from
Launch Pad or Left Navigation.

Design: Landing Page holds:

 Header consisting of hamburger icon to navigate to other landing pages, search bar related
to the list, and provision to create the work object based on selling mode and access and
permissions and headers are sticky.
 List displaying tabs: Recent, Individual and Business / All.
 Each record in the list displays work object name as primary text, important details
respective to the item as secondary text, and primary actions.
 Actions such as edit, call, send an email, launch the address related to work object are
accessible in blue.
 Color code on the left of a work object represents stage.

Pega Sales Automation Implementation Guide 5-9


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Recent Gadget (Desktop)


Section: [Link]

Description: Uses the standard Pega 7 provided Recent gadget beginning with Pega Version
7.12. However, the rule has been customized to enable the following:

 Display of the Work Object Icon


 Removal of the Work Object ID
 Refresh the Recent gadget once user follows the work item.

Declare Page: Declare_pxRecents

Activity: pzPopulateRecentGadgetList – responsible for populating the recents list.

Section: RecentItem. This is customization of the pyRecents section.

Description: In the left side of the column, the .pyClassName property for work objects is
referenced for work object such as Opportunity, Lead, Account, Organization, Contact etc. The
GetCaseIcon control is used to display the respective work object icon.

Control: GetCaseIcon

Parameters: ClassName - .pyClassName

 useOnState – true
 DefaultIcon - null

Pega Sales Automation Implementation Guide 5-10


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

On the right side of the column, the .pyLabel property is referenced.

The icons in this display reflect the following states of a recent item:

 New: Red
 Perform: Red
 Open: Grey
 Viewed Recently: Grey

Recent Gadget (Mobile)


Section: Data-Portal.pyRecents_Mobile

Description: Uses the custom Recent gadget, to display the work objects or entities that are
recently opened such as Opportunity, Lead, Account, Activity, Organization, Contact, and
Household.

Data Page: D_Recents

Activity: CrmRecentWorkItems_Mobile– responsible for populating the recents list from the
report defination crmRecentWorkItems_Mobile.

Section: RecentItem_Mobile. This displays work object name, corresponding icon, secondary
text and primary actions can be performed relative to this.

Description: Unlike desktop, Recent gadget in mobile is a landing page, can be populated from
left navigation or Launchpad. To populate the list apart from above mentioned entities, the
following steps have to be performed:

 Join the respective work item class with the recents in report definition
crmRecentWorkItems_Mobile, fetch the related properties and apply appropriate filters.
 Create a section RecentItem_Mobile in its respective class.

Pega Sales Automation Implementation Guide 5-11


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Following Gadget (Desktop)


Section: [Link]

Description: Uses the standard Pega 7 provided Following gadget. Customized rules are used
to achieve the following:

 Refresh the Following gadget once user follows the work item
 Open the work object from the gadget itself

Declare Page: Declare_pxFavorites

Report Definition: crmFollowedWorkItems– This report definition is responsible for populating


the list. This is the customized report configured to contain columns from table such as
pxInsIndexedKey, which is needed to open any work object from Following Gadget.

Section: pyFavDisplay. This is a customization of the pyFavorites section that has been
configured to refresh the Following gadget when any user follows the work object.

Description: In the left side column, the .pxInsIndexedClass property is referenced for work
objects such as Opportunity, Lead, Account, Organization, Contact etc. It uses the GetCaseIcon
control to display the respective work object icon.

Control: GetCaseIcon

Parameters: ClassName - . pxInsIndexedClass

 useOnState – null
 DefaultIcon - null

On the right side of the display, the property .pyLabel is referenced.

Pega Sales Automation Implementation Guide 5-12


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Following Gadget (Mobile)


Section: Data-Portal.pyFavorites_Mobile

Description: Uses the custom Following gadget to display the followed items and provides the
ability to open the work object from the gadget itself.

Data Page: D_Follow

Activity: CrmFollowedWorkItems_Mobile – This is responsible for populating the list fetching


from report definition crmFollowedWorkItems_Mobile. This report is configured to contain
columns from table such as .pxInsIndexedKey, which is needed to open any work object from
the Following gadget.

Section: Following gadget uses the same section as Recents as the display structures remain
the same. This displays work object name, corresponding icon, secondary text and primary
actions that can be performed relative to this.

Description: Similar to Recent gadget, Following gadget is a landing page in mobile. To


customize for other work items excluding Opportunity, Lead, Account, Activity, Organization,
Contact, Household follow the steps below:

 Join the respective work item class in report definition crmRecentWorkItems_Mobile, fetch
the related properties.
 Create a section RecentItem_Mobile in its respective class.

Pega Sales Automation Implementation Guide 5-13


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Rule Hierarchy - Review Harness


DESKTOP
Review
pyWorkContainer
crmUnathorizedToView
pyWorkHeader
pyWorkBody
pyWorkConfirmMessage
pyWorkBodyLeft
pyActionArea
pWorkDetails
pyWorkPrimaryDetails
LayoutGroup
pyWorkSummaryWrapper
pyWorkSummary
pyWorkPrimaryDetails
Delta
other tabs
MOBILE
Review (Circumstanced: Mobile)
pyWorkContainer_Mobile
crmUnathorizedToView
pyWorkHeader_Mobile
crmCloseThread
crmMobileHeaderIcons
pyWorkBody_Mobile
pWorkDetails_Mobile
pyWorkPrimaryDetails_Mobile
pyWorkAdditionaDetails_Mobile
pyWorkSummary_Mobile
other tabs

Pega Sales Automation Implementation Guide 5-14


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

pyWorkHeader_Mobile

pyWorkPrimaryDetails_Mobile

pyWorkAdditionalDetails_Mobile

pyWorkSummary_Mobile

Please refer to sample sections that apply to PegaCRM-Work-SFA-Opportunity

Sections to be specialized per work type:

 pyWorkPrimaryDetails_Mobile (Summary of the work object)


 pyWorkAdditionalDetails_Mobile (Sub-tabs)
 pyWorkSummary_Mobile (Details tab)
 Other sub-tabs
 pyWorkPrimaryDetails_Mobile

Pega Sales Automation Implementation Guide 5-15


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 Name / Label of work object – Control Format: MobilePrimaryDetailTitle


 Summary of work object – Dynamic Layout Format: MobileWorkHeaderPrimary
− All fields : label format – MobileFieldLabel (control format – empty)
− Advanced presentation options: cell read-only classes:
mobileFieldValueExtnNoBorder

 pyWorkAdditionalDetails_Mobile
 Layout Group: DisplayType: MobileMenu
 Details tab: pyWorkSummary_Mobile
− Dynamic Layout Format: Default, Custom CSS class: mobileNoPaddingWhiteBg
- All fields : label format – MobileFieldLabel (control format – empty)
- Advanced presentation options: cell read-only classes: mobileFieldValueExtn

NOTE: All the fields in pyWorkSummary_Mobile are only for read-only display of the values. Please
include the properties directly. The objective is to have a simple section and to avoid included sections.

Pega Sales Automation Implementation Guide 5-16


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Rule hierarchy for New harness


DESKTOP
New
pyNewWorkContainer
pyNewWorkHeader
pyWorkBanner
pyNewWorkSummary
pyWorkSummary
pyWorkPrimaryDetails
crmImageSectionWrapper

MOBILE
New (Circumstanced: Mobile)
pyNewWorkContainer_Mobile
pyNewWorkHeader_Mobile
pyWorkBanner_Mobile
pyNewWorkSummary_Mobile
pyWorkSummary_Mobile_Write
crmNewHarnessButtons_Mobile

NOTE: Default TerritoryID and Owner attributes on all work object create screens to the current
operator ID and primary / default territory ID in the respective case type’s ‘pyDefault’ Data Transform
rule.

Pega Sales Automation Implementation Guide 5-17


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

pyWorkBanner_Mobile

pyWorkSummary_Mobile_Writ
e

crmNewHarnessButtons_Mobi
le

Pega Sales Automation Implementation Guide 5-18


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

 Specialize: pyWorkSummary_Mobile_Write
− Dynamic Layout Format: Default, Container Format: MobileDefault
- All fields : label format – MobileFieldLabel (control format – empty)
- For Select Elements (Dropdown) Advanced presentation options: cell read-write
classes: mobileSelect

NOTE: All the fields in pyWorkSummary_Mobile_Write are editable. Please include the properties
directly. The objective is to have a simple section but for special cases that require included sections.

 For territoryID include the section crmTerritoryID_Mobile

Pega Sales Automation Implementation Guide 5-19


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Rule hierarchy for Perform harness


DESKTOP
Perform
pyWorkContainer
crmUnathorizedToView
pyWorkHeader
pyWorkBody
pyWorkConfirmMessage
pyWorkBodyLeft
pyActionArea
FlowAction

MOBILE
Perform (circumstanced for mobile)
pyWorkPerform_Mobile
pyActionArea_Mobile
pyActionLabelDisplaySection_Mobile
FlowAction (circumstanced for mobile)
pyActionAreaButtons_Mobile

Pega Sales Automation Implementation Guide 5-20


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

pyActionLabelDisplaySection
_Mobile

pyWorkSummary_Mobile_Writ
e

pyActionAreaButtons_Mobile

Review the circumstanced Flow action PegaCRM-Work-. crmEdit

Pega Sales Automation Implementation Guide 5-21


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Ensure that the flow action name is descriptive (this becomes the top label on UI)

The extension points from this flow action are:

 Section: pyWorkSummary_Mobile_Write
 Data Transforms: crmBeforeEditTransform / crmAfterEditTransform
 Activities: crmBeforeEditActivity / crmAfterEditActivity

The circumstance definition used is ‘MobileDevicePhone’.

 Check if a new circumstanced version of the rule is required for the work type being worked
upon.
 Circumstance Flow Action: crmEdit for the applicable class

Global Search Gadget (Mobile)


For the desktop view port, the included section ‘pyFindWorkGadget’ from the Pega 7 platform is
included in the header of the harness ‘SFAPortalWorkSpace’.

For mobile devices, the Launchpad has a search text box that allows the user to search for a
specific term against all cases in the application. If users are on other landing pages in the
application, they can also click Search from the left navigation menu.

Pega Sales Automation Implementation Guide 5-22


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

A new harness SFAPortalSearch_Mobile has been added to the group to display the results and
also to display additional information about the cases in the results. Customization of Lucene for
Sales Automation 7.14 is documented in an earlier chapter of this manual. As of Pega 7.21,
Lucene functionality doesn’t support joining results with other “tables”. Hence for retrieving
secondary information on search results (for e.g Organization name for a contact) additional
lookups are done.

Pega Sales Automation Log in Screen


The splash image and background for the Pega Sales Automation application is customizable.
The out-of-the box implementation of the screen installed with the application is shown below.

Pega Sales Automation Implementation Guide 5-23


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

The following rules can be customized to create implementation-specific log-in experience.

 RuleSet: PegaCRM-SFA-Unauthenticated
 AccessGroup: PegaCRM-SFA:Unauthenticated
 Instances of class ‘Data-Admin-Requestor’

− Browser pega
− Browser prpc

Pega Sales Automation Implementation Guide 5-24


6 Building the Pega Sales Automation
Implementation Layer

This chapter describes the high level steps to create an implementation application layer on top
of the Sales Automation application and modify or create the required rules and structures to
support the layer.

Build the Implementation Layer


1. Log into the application as SFASysAdmin operator (default pw: install).
2. From the Application Menu, select the New Application option.

3. Start the creation of a new Application by clicking Create new application.

Note: This document uses application name MyCoSA and organization MyCo for demo
purposes. You can replace these with local name choices.

Pega Sales Automation Implementation Guide 6-1


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

4. In the Application Settings display, set


 Application name – Enter your desired name – use MyCoSA for this example.
 Built on application – Select Pega Sales Automation Framework 7.21
 Application structure – Implementation only
 Organization – Enter your desired name – use MyCo for this example.

5. Populate the business objectives to meet your business requirements following the example
below. Note that the first three entries are pre-populated.
6. Click Next> to display the Case types screen.

Pega Sales Automation Implementation Guide 6-2


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

7. In the Case types screen, pick and choose the cases, to be extended in the implementation
layer.

Pega Sales Automation Implementation Guide 6-3


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 6-4


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

8. In the Data types screen, click Create to build the new application.

9. Creation of the new application may take several minutes. If the application was
successfully created, the following screen will appear.

Pega Sales Automation Implementation Guide 6-5


TITLE of INTERNAL DOCUMENT – Arial Bold 12 pt

Pega Sales Automation Implementation Guide 6-6

You might also like