39Mobile Applications

This chapter contains the following:

Overview of Mobile App Setup

Use these mobile apps to integrate with the sales applications:

  • Oracle CX Sales Mobile

  • Oracle CX Cloud Mobile

  • Oracle Sales Cloud Mobile

This chapter outlines the capabilities of these applications, and provides installation and setup information.

Oracle CX Sales Mobile is our next generation mobile app, introducing a modern and intuitive experience, designed to boost productivity through fast and seamless interactions. An action-driven home page helps your sales representatives to prepare for your client meetings, stay on top of key activities for their accounts, and track their pipeline from their mobile device.

CX Sales Mobile

Overview of CX Sales Mobile

The Oracle CX Sales Mobile app helps your users to manage their day effectively and develop customer relationships using their phone or tablet.

  • Manage Sales Activities Using These Features:

    • Action driven, configurable Home page, containing a sales briefing so that sales representatives can track their pipeline and stay on top of daily activities.

    • Optimized task based flows for key sales functions: Accounts, contacts, leads, opportunities, activities, assets, service requests, and custom objects.

    • View, create and edit tasks, appointments and call reports.

    • Use saved searches that are shared across CX Sales Mobile and Workspace lists, for consistency across applications.

    • View your recently accessed records in the app when using the global search, or when sharing notes from an external app.

    • Add contacts and leads to CX Sales Mobile from the mobile device's address book.

    • Create contacts and leads by using a photo of a business card.

    • Scan an asset's bar code to search for an asset and automatically enter the asset serial number.

    • Share notes, photos, videos, documents, or files from the mobile device to CX Sales accounts, opportunities or other records.

  • Manage Partner Relationship Management Activities:

    • Partner users can effectively manage and improve channel sales on the go.

    • Channel Managers can track the overall channel sales and also manage partner, partner contacts, and related information easily.

    • Role-based restriction of PRM features enables you to configure the app for your business requirements.

  • Oracle Sales Assistant Chatbot:

    • Use Oracle Sales Assistant to help you perform your daily sales-related tasks. Using your phone, you can type or use your voice to ask questions and sales assistant retrieves the information, or acts on your requests.

    • Sales Assistant reduces manual data entry, and makes it easier to view and update sales records using voice commands or typing.

    Note: Oracle Sales Assistant for CX Sales Mobile is available only to an initial set of early adopters. If you're interested in becoming an early adopter, apply for access on the Sales Assistant forum on Oracle Cloud Customer Connect.
  • New Design for Efficiency on the Go:

    • Modern and intuitive experience, designed to boost productivity with fast and seamless interactions.

    • At-a-glance record view for quick grasp of summary, key and related information.

    • Access contextual actions everywhere for fast and easy record updates.

    • Improved picker experience powered by Adaptive Search.

  • Global Search:

    • Fast and simple search across all objects in one place.

    • Use multi-keyword search across multiple fields for faster and easier access to desired information.

    • Search more easily with recent searches and type ahead results displaying results as soon as you type.

    • Filter results by object types.

  • New and Improved Sign In Experience:

    • Scan QR Code to sign in easily using your Single Sign On, or basic authentication

    • Use face or fingerprint recognition to securely sign in to the app.

    • Quickly see new configurations due to the fast download and instant activation of your configurations.

    • Enable OAuth authentication token support to let users stay signed in to the app for longer.

  • Use a Phone or Tablet:

    • Use either a phone or tablet to access the app. Using a tablet changes the display to 2x portrait mode.

  • Easy Configuration:

    • Configure the app using the new interface designer.

    • Create criteria for page layouts for both standard and custom objects.

    • Import your CX Cloud Mobile configurations into CX Sales Mobile using the new configuration import tool.

    • Download your configurations to the app quickly and easily, as CX Sales Mobile automatically signs you in to the correct sandbox without having to re-start the app.

    • Create custom scripts that enforce custom validations and business logic for both top-level parent and child objects.

  • Use Offline:

    • View and edit Oracle CX Sales data in areas with no network connection.

    • Sync automatically when a connection is re-established.

Get Started

Which mobile devices are supported?

To find out which mobile devices and operating systems are supported by CX Sales Mobile, see the System Requirements for Oracle Applications Cloud at: https://www.oracle.com/system-requirements/

Get Started with Your CX Sales Mobile Implementation

The Oracle CX Sales Mobile application enables your sales representatives to manage their day effectively and develop customer relationships using their phone or tablet. After download and installation, the app is ready to use. The following steps will help you roll out CX Sales Mobile successfully across your organization.

Prepare

It's best to try out the app and become familiar with the standard capabilities, but before you do that, check these things first:

  1. Check that Workspace is deployed in the CX Sales application, and that search indexing processes are run and regularly scheduled, prior to using the CX Sales Mobile application. The CX Sales Mobile app utilizes the saved searches enabled in Workspace and the high-performance search capabilities powered by Adaptive Search.

    See the Getting Started with Your Sales Implementation guide for more information about Workspace and setting up Workspace saved searches.

  2. Make sure that your device is ready to use with CX Sales Mobile:

    • Does your mobile device meet the requirements? See the "Which mobile devices are supported?" topic to find out.

    • Have you tested your network connection?

    • Does your mobile device include data service?

    • Have you set up your email account?

  3. The Oracle CX Sales Mobile app is enabled by default. However, if you're currently using the Oracle CX Cloud Mobile app, you can choose to run the CX Sales Mobile app in a test or stage environment for trial or pilot purposes, while the Oracle CX Cloud Mobile app is used in production by your sales users. In these circumstances, you can disable the CX Sales Mobile app, so that your users don't use the app accidentally. To disable the app, you will need to create a profile option. Here's how:

    1. In the Setup and Maintenance work area, click the Tasks side panel icon and then click the Search link.

    2. Search for and select the Manage Profile Options task.

    3. Create a new profile option that enables the app, using these details:

      • Profile Option Code: CXM_ENABLE_MOBILE_APP

      • Profile Display Name: Enable CX Sales Mobile App

      • Application: CX Sales Mobile

      • Module: Mobile Sales

      • Start Date: Enter the date your require the app to be disabled

      • Click Save and Close.

      • In the Profile Values section, for Site level, check the Enabled and Updatable check boxes.

      • Click Save.

    4. Next, you need to set the proper values for the profile option. Search for and select the Manage Administrator Profile Values task.

    5. Search for the CXM_ENABLE_MOBILE_APP profile option.

    6. In the Profile Values section, add a new value with the following details:

      • Profile Level: Site

      • Profile Value: No

    7. Click Save and Close

    Note: When you're ready to roll out the CX Sales Mobile app to your users, change the CXM_ENABLE_MOBILE_APP Profile Value to Yes, so that the app is enabled.
Create a QR Code and Install the App

To make signing in to the app easier for your users, create a QR code that automatically populates the sign in settings. You can create a QR code using any QR code generator and you can find many free ones available on the internet.

You will need to create a URL that automatically populates the sign in settings, so that you can associate it with the QR code. Here's how to create the URL:

  1. Find out the host URL by signing in to your CX Sales application, and in your browser's address bar, locate the part of the URL between https:// and the next slash (/). For example, it might be something like: example-xxxx.exampleleads.com. Take a note of the host URL, as you will need in the next step.

  2. Create the URL that you will add to the QR code. The general format of the URL is cxm://?host=<host URL>&type=<authentication type>. Enter the host URL you made a note of in the first step to the <host URL> value. Enter the authentication type of either basic or sso (single sign on) to the <authentication type> value. For example, if you want to create a URL for basic authentication, use this format: cxm://?host=<host value>&type=basic. If you want to create a URL for Single Sign On (SSO), use this format: cxm://?host=<host value>&type=sso.

    Note: <host URL> and <authentication type> represent the host URL or authentication value, so ensure that you don't include the brackets when entering the actual value.

Install the CX Sales Mobile app and sign in:

  1. Open the App Store, or Google Play, and search for Oracle CX Sales Mobile application, and then tap Install.

  2. Open the app and accept the legal terms.

  3. If you have already created your QR code, then you can use that to sign in. Alternatively, tap I don't have a QR code on the sign in page, then tap Basic Authentication or Single Sign On, and enter the host URL that you made a note of above.

  4. If you chose the Single Sign On (SSO) option then enter your SSO information, if you chose the Basic Authentication option then enter your CX Sales application user name and password.

  5. Tap Sign In.

    Note: If you're using SSO to sign in to the app there's no additional setup required for CX Sales Mobile, just ensure that you have SSO set up for the Oracle CX Sales app.
Try it Out!

Now you can try out the app and familiarize yourself with the standard capabilities:

  1. Sign in to the app and take note of the default objects, fields, and page layouts. While doing that, think about these questions:

    • What objects are available?

    • What fields and related objects are displayed with each object?

    • What do the page layouts look like for each object?

  2. When you're familiar with the default objects, fields, related objects, and the page layouts, consider if you need to change anything to address your organization's needs.

    • Does CX Sales Mobile display the objects - standard and custom - that your sales team needs to work with?

    • Are the fields that you require displayed for each of those objects? Do you want to add or remove other fields, including custom fields?

    • What about the related objects?

    • Do you want to configure the page layouts?

    • Do you need page layouts for users located in different geographical regions, or with different roles?

To find out how to make these configurations, review the Configure section below. You will also find out about the other configuration options you have for the app.

Configure

There are three ways that you can configure CX Sales Mobile: By enabling or disabling profile options, by importing Oracle CX Cloud Mobile configurations, and by using the configuration tool in App Composer.

  1. First, it's best to enable or disable profile options for the app. These will allow you, for example, to enable the call logging feature. See the "Enable or Disable Features Using the Profile Options" topic for the full list of profile options.

  2. Next, if you have previously used and configured Oracle CX Cloud Mobile, you can easily import your Oracle CX Cloud Mobile configurations into the CX Sales Mobile app. Once they're imported, you can check how they look in CX Sales Mobile, and make updates if desired. See the "Copy Your Oracle CX Cloud Mobile Configurations to Oracle CX Sales Mobile" topic for step-by-step instructions.

  3. If you haven't got any Oracle CX Cloud Mobile configurations to import, or you want to make additional configurations to your imported configurations, you can do this using the CX Sales Mobile configuration tool. See the "How to Configure the App Using the Configuration Tool" topic for details about the configuration tool.

  4. After making any configurations, make sure that you test them and publish the sandbox when you have completed your testing. See the "Test Your Configurations" topic for more details.

Onboard Sales Representatives

Now you want to think about how you're going to roll out the application to your sales representatives. Here are some tips to help direct you:

  • Consider a phased roll out, starting with a pilot project that includes a small group of users.

  • Collect feedback from the test users and create training materials to address their specific pain points.

  • Capture screenshots on your mobile device for use in your training materials.

  • To create videos of the application, download software that lets you record your screen on your PC.

  • To present live training, download software that lets you mirror your mobile device on your PC.

  • Consider creating a web page on your intranet with information and links relating to the application.

  • Inform your users of the QR code, if you have created one. You could publish the QR code on your intranet web page.

  • Make sure that your users have their mobile devices up and running. Remind yourself of the questions they might have by reviewing the Prepare section of this topic.

Enable or Disable Features Using the Profile Options

Here are the profile options that you can use to configure Oracle CX Sales Mobile. You will need to set up some of the profile options, but others are already set up in CX Sales.

The CX Sales profile options listed here are used in the CX Sales Mobile app to determine the default settings for features that aren't specific to CX Sales Mobile.

Profile Option Code Created by the Administrator? Purpose Value and Behavior Application

CXM_ENABLE_MOBILE_APP

Yes

Disable or enable the CX Sales Mobile app.

You only need to create this profile option if you want to disable the CX Sales Mobile app. If the profile option isn't created, the app is enabled by default.

Set to 'No', so that users can't use the CX Sales Mobile app. Set to 'Yes' to re-enable the app, or remove the profile option.

CX Sales Mobile

ZMS_LOG_CALLS

No

Enable the call logging feature.

Set to 'CONFIRM' to ask user permission before initiating log a call flow. Set to 'AUTOMATIC' to automatically start log a call flow. Set to 'DISABLE' to disable call logging.

Mobile Sales

ZEM_CXMOBILE_FORCE_LANGUAGE

Yes

Sets the language in the mobile app, irrespective of device language.

Use the respective language code, for example, "en_US" for U.S. English.

Mobile Sales

MOT_INDUSTRY_CLASS_CATEGORY

No

Set the industry class category.

Derived from the CX Sales application.

Territory Management

ZCA_COMMON_CORPORATE_CURRENCY

No

Set the corporate currency for opportunity records. When an opportunity is created it uses the CX Sales user preference currency from a user's regional settings. If there isn't a no user preference then corporate currency is used.

Derived from the CX Sales application.

Common CRM

MOO_REVN_ENABLE_MULTICURRENCY

No

Enable multiple currencies for opportunity revenue lines independently of the opportunity header currency.

A value of No synchronizes header currency to the lines.

Opportunity Management

MOO_DEFAULT_CLOSE_WINDOW

No

Specify the number of days to add to the system date when determining the default opportunity close date.

Derived from the CX Sales application.

Opportunity Management

ZCA_DEFAULT_ACCOUNT_TYPE

No

Specify the default type value for an account.

Derived from the CX Sales application.

Common CRM

MOO_RETAIN_CLOSE_DATE

No

Retains the close date previously set on change of Status Code.

If set to N, it doesn't retain the close date set and it's reset to current date.

Opportunity Management

MOO_CLOSE_WINLOSS_REQD

No

Determines if win/loss field is required during opportunity closure.

Derived from the CX Sales application.

Opportunity Management

MOO_CLOSE_COMP_REQD

No

Determines if competitor field is required during opportunity closure.

Derived from the CX Sales application.

Opportunity Management

ZEM_DISABLE_FREEFORM

Yes

Disables the free-form picker (a combination of a free entry text box and a picker) in the Leads page. The free form picker is enabled by default.

Set to 'lead' to disable the free-form picker in the Leads page or set to 'none' if you want to keep the picker as enabled.

Mobile Sales

Configure the Business Card Scan Feature

Sales representatives can scan a business card using their mobile device's camera, or by using an existing photo of a business card, to create a new contact or lead in the app.

The feature is enabled for all regions by default, but you can enable the feature for particular regional areas if required. Here's how:

  1. Sign in to the Oracle CX Sales application as user with a Sales Administrator role.

  2. Select the sandbox you want use for your configurations.

  3. Open Application Composer by selecting Application Composer under the Configuration category in the Navigator menu.

  4. Under the Common Setup Menu, or on the Overview page, click Mobile Application Setup.

  5. Click the CX Sales Mobile Composer tab.

  6. In the Application Features pane, click Settings.

  7. Expand the Card Scan Settings section.

  8. Select the regions in Regions to Enable Card Scan. If you don't select any regions, then the feature is enabled for all regions.

  9. Click Save.

  10. Test and publish your new settings. See the "Test Your Configurations" topic for details about how to check your mobile configurations.

Also, if your business doesn't require this feature, then you can disable it. Here's how:

  1. Follow steps 1 to 7 above.

  2. Disable the Enable Card Scan option.

  3. Click Save.

  4. Test and publish your new settings. See the "Test Your Configurations" topic for details about how to check your mobile configurations.

Implementation Considerations

Here's some best practices to follow and things to note when you're implementing Oracle CX Sales Mobile.

The Home Page

The home page is the first page that you see when you sign into the application. For sales representatives, the home page can show their pipeline and tasks, and for sales managers it can show navigation shortcuts to sales objects (such as opportunity and account pages).

Here are the aspects to note about the home page:

  • For the ORA_ZBS_SALES_REPRESENTATIVE_JOB and ORA_ZBS_SALES_ADMINISTRATOR_JOB roles, the sales pipeline and tasks have been added to their home page by default.

  • All other job roles, including sales manager job roles, don't see sales pipelines and tasks by default. Instead, they see their relevant saved searches and shortcuts to view sales objects (such as viewing opportunities and accounts).

  • The pipeline shows the total amount and number of the opportunities owned by the user. The amounts are shown in the corporate currency, however bear in mind that opportunities might have different currencies and so will use an exchange rate conversion to calculate the corporate currency amount.

  • If an accounting calendar is setup with quarters (specified in the ZCA_COMMON_CALENDAR profile option), then the pipeline uses the accounting calendar to determine the period for the current and next quarter. If there isn't an accounting calendar defined for Sales use, then the pipeline uses the standard Gregorian calendar quarter definition (January to March, April to June, July to September, October to December). If there's an accounting calendar available for Sales, but it doesn't conform to quarterly periods, or current or next quarters can't be resolved, then the pipeline uses the standard Gregorian calendar quarter definition.

  • Ensure that for the MOO_OPTY_SRCH_CLS_PERIOD lookup type that the relevant lookup values are enabled, so that the calendar displays the associated close period data:

    • If you're using the accounting calendar, ensure that the lookup value CURR_NEXT_QTR_FSCL is enabled and not end dated.

    • If you're not using the accounting calendar, ensure the lookup value CURR_NEXT_QTR is enabled and not end dated.

Search Features

You can use the global search feature directly from any page to locate any type of record quickly and easily. You can also use saved searches for each of the objects that are set up using Workspace, and are shared across the CX Sales Mobile app and the CX Sales app.

Here are the aspects to note about the global search and adaptive search features:

  • The global search feature appears at the bottom of every page and uses adaptive search. Search capabilities that are available in other parts of a page also use adaptive search, but they only search the object type that you're viewing. For example, if you're viewing an opportunity list and use the search field at the top of the page, then CX Sales Mobile searches for opportunities only.

  • CX Sales Mobile uses adaptive search and adaptive search configuration, so if an object isn't enabled for adaptive search, then it won't appear in CX Sales Mobile search results. For example, if you create four custom objects, enable them all for adaptive search, but only enable one for mobile, then only the one custom object is included in the CX Sales mobile search results.

  • The search is also limited to the standard sales objects that are available in CX Sales Mobile and custom objects. Therefore, if you try to search for a deal for example, it won't appear in the search results.

  • You can't configure the information that's shown in the global search results.

  • The global search uses a keyword search for all objects enabled for CX Sales Mobile and for all fields that are in those objects. If you want to narrow your search results to a specific object, you can use the Show filter to filter the search results.

Here are the aspects to note about the saved search feature for each of the objects:

  • You can enable seeded or custom saved searches for each object in Workspace and make them available for all users generally, or restrict them by role. In addition, sales users can also create their own personal saved searches. All the saved searches that are available in Workspace for a user are also available in CX Sales Mobile for that user.

  • The last used saved search for an object, and the last used sort option for a saved search, are used by the app until you close and restart the app. For example, if you had chosen the "All Opportunities" saved search, rather than the default "My Open Opportunities", when you return to the opportunity list the "All Opportunities" saved search is shown, as that was your last used saved search.

  • Custom activity saved searches need to be set up with their corresponding activity type criterion, so that they display in the CX Sales Mobile saved search list. For example, custom task saved searches need to be associated to the Task activity type in Workspace, otherwise the saved search won't be shown in the CX Sales Mobile Task saved search list.

FAQs

Here are some FAQs about the features outlined in this topic:

  • Question: Why can't I see a pipeline or tasks in the home page?

    Answer: Only the ORA_ZBS_SALES_REPRESENTATIVE_JOB and ORA_ZBS_SALES_ADMINISTRATOR_JOB roles see their pipeline and tasks by default.

  • Question: Why can't I find what I am searching for?

    Answer: If an object isn't enabled for adaptive search, then it won't appear on in CX Sales Mobile search results.

Configure the App

Copy Your CX Cloud Mobile Configurations to CX Sales Mobile

If you're using the CX Cloud Mobile application, you can easily copy the configurations that you have made for the app, and import them into the CX Sales Mobile app by just clicking a single button. This means that you don't have to manually recreate your CX Cloud Mobile configurations in CX Sales Mobile.

How to Copy Your CX Cloud Configurations to CX Sales Mobile

Here's how you import your CX Cloud configurations into CX Sales Mobile:

  1. Sign in to the Oracle CX Sales application as user with a Sales Administrator role, and select the sandbox containing the configurations that you would like to copy.

  2. Open Application Composer by selecting Application Composer under the Configuration category in the Navigator menu.

  3. Under the Common Setup Menu, or on the Overview page, click Mobile Application Setup.

  4. Click the Composer tab and check that your CX Cloud Mobile configurations are exactly as you want them. If you need to make updates, change your configurations, and republish the sandbox.

  5. Click the CX Sales Mobile Composer tab.

  6. Click the Import button.

    The import process will start to run and, depending on amount of configurations, it might run for a few minutes. When the process has finished, a JSON report is generated, indicating which configurations have been copied and imported. It's recommended that you save this file, in case you need to refer to it in the future.

  7. Sign in to the CX Sales Mobile app, using the same user you used to sign in to the CX Sales application., and check the configurations.

  8. Configure the imported CX Sales Mobile app layouts, if applicable. See the "Configure the App Using the Configuration Tool" topic for more details about configuring the CX Sales Mobile app.

    Note: The imported layouts have _migrated added at the end of their names. You can update the name of the layout in the Layout Name pane in the configuration tool.

    Also, if you have imported a Task layout, the Delegator Name field value might be added to the layout. If this has happened, you will need to remove the delegator name from the layout name.

  9. If you updated your page layouts after importing the CX Cloud Mobile configurations, remember to test your changes and publish the sandbox. See the "Test Your Configurations" topic for more information about testing your configurations.

Configurations That Won't be Imported

There are some CX Cloud Mobile configurations that won't be imported into CX Sales Mobile. They're the following:

  • If you have already imported a CX Cloud Mobile page layout, then it won't be imported again, even if you make updates to the layout in the CX Cloud Mobile configuration tool. If you want to make updates to a layout after it's been imported, you will need to do them using the CX Sales Mobile configuration tool.

  • Only standard objects that are available in the current version of CX Sales Mobile, and custom objects, are copied from CX Cloud Mobile page layouts and imported into CX Sales Mobile. The standard objects available in the current release are:

    • Leads

    • Opportunity

    • Account

    • Task

    • Appointment

    • Contact

    • Resources

    • Assets

    • Call Reports

    • Service Requests

    • Partners

    Any page layout configurations made to any other standard objects, such as Deals, won't be included in the import. Also, fields from unavailable objects that are in page layouts for available objects, won't be included in the import either. For example, if a CX Sales Mobile Opportunity page layout includes the Opportunity Deal field, then the Opportunity Deal field won't be included in the configuration import to CX Sales Mobile, as the Deal object isn't available in CX Sales Mobile.

  • Custom scripts for page layouts aren't included in the CX Sales Mobile import. However, all you need to do is copy your CX Cloud Mobile scripts and then paste them into a newly created CX Sales Mobile script. See the "Configure the App with Custom Scripts" for details about how to create a script.

    Note: The function to mark a field as mandatory has been simplified in CX Sales Mobile, so if you have used the CX Cloud Mobile function to mark a field as mandatory in CX Cloud Mobile, you will need to update the function when you copy it to the CX Sales Mobile script. Here's the CX Cloud Mobile function:
    *var rowType = currentRow.getResourceName();
    * key = rowType + "___{FIELD_NAME}___mandatory";
    * oracleCxmOutcome.setModifiedProperty(key,"true");

    Here's the new CX Sales Mobile function:

    setColumnMandatory(name: string, value: boolean)

    See the "Library of System Functions for Custom Scripts" topics for more details about the new CX Sales Mobile function.

  • Primary Contact and Primary Competitor fields from an Opportunity page layout are included in the import, but after the import is complete the fields should be removed from the imported CX Sales Mobile page layout and added back in again.

Additional Information About the Import Feature

Here's some more detailed information about the scope of the data that's copied to CX Sales Mobile. You don't need to be familiar with this information to use the import feature, but you can find out some more details about what's going on in the background.

This table tells you which types of pages are included in the CX Sales Mobile import:

CX Cloud Mobile Configuration Are the CX Cloud Mobile Configurations Imported?

List page

Yes

Detail page

Yes

Edit page

Yes

Picker page

Yes

Shuttle menu show/hide

Yes

Settings menu

Yes

Child object show/hide

Yes

Child object List/Detail/Edit pages

Yes

Actions on pages

Yes

Custom scripts

No

This table outlines whether a field will be copied from CX Cloud Mobile Detail and Edit page layouts to CX Sales Mobile Summary and Edit page layouts:

Field Status in CX Cloud Mobile Default Page Layout Field Status in CX Cloud Mobile Configured Page Layout Field Status in CX Sales Mobile Default Page Layout Field Status in CX Sales Mobile Imported Page Layout

Field present in CX Cloud page layout by default

Field configured in CX Cloud Mobile

Field does appear in CX Sales Mobile page layout by default

Field added to page layout, appearing in the same position as CX Cloud Mobile default layout

Field present in CX Cloud page layout by default

Field configured in CX Cloud Mobile

Field is available, but doesn't appear in CX Sales Mobile page layout by default

Field added to page layout

Field not present in CX Cloud page layout by default

Field added in CX Cloud Mobile

Field does appear in CX Sales Mobile page layout by default

Field added to page layout, appearing in the same position as CX Cloud Mobile default layout

Field present in CX Cloud page layout by default

Field removed in CX Cloud Mobile

Field does appear in CX Sales Mobile page layout by default

Field removed from the imported CX Sales Mobile layout

Field present in CX Cloud page layout by default

Field not configured in CX Cloud Mobile

Field doesn't appear in CX Sales Mobile page layout by default

Field not added to CX Sales imported page layout

Field not present in CX Cloud page layout by default

Field added in CX Cloud Mobile

Field is available, but doesn't appear in CX Sales Mobile page layout by default

Field added to page layout

Field not present in CX Cloud page layout by default

Field not configured in CX Cloud Mobile

Field does appear in CX Sales Mobile page layout by default

Field retained in the CX Sales imported page

Field not present in CX Cloud page layout by default

Field not added in CX Cloud Mobile

Field not available in CX Sales Mobile

Field not copied from CX Cloud Mobile and therefore not imported

For the List page layouts, the import rules are as follows:

  • If the imported fields are already in the CX Sales Mobile List page layout, the imported layout will retain the position of the CX Sales Mobile layout.

  • If the imported fields aren't in the CX Sales Mobile default List page layout, then they're positioned in unoccupied locations in the List page.

  • Fields that have been removed from CX Cloud Mobile List page layouts, but appear in the default CX Sales Mobile List page layout, are removed from the CX Sales Mobile List page layout.

  • Once all the fields from the CX Cloud Mobile layout are imported, the remaining default CX Sales Mobile fields occupy the spare field locations.

FAQs

Here are some FAQs about copying your CX Cloud Mobile configurations to CX Sales Mobile:

  • Question: When is the import process triggered?

    Answer: When you click the Import button in the CX Sales Mobile configuration tool. See the "Copy Your CX Cloud Configurations to CX Sales Mobile" section of this topic for more details.

  • Question: Once I have imported my CX Cloud Mobile configurations to CX Sales Mobile, will my CX Cloud Mobile configurations still be in the CX Cloud Mobile app?

    Answer: Yes. The import process only copies the CX Cloud Mobile configurations, it doesn't move them, or remove them.

  • Question: Can I still configure CX Cloud Mobile after importing the CX Cloud Mobile configurations to CX Sales Mobile?

    Answer: Yes, you can still use and configure CX Cloud Mobile until you decide to use CX Sales Mobile exclusively.

  • Question: Can I use CX Cloud Mobile and CX Sales Mobile on a pod?

    Answer: Yes, you can use both CX Cloud Mobile and CX Sales Mobile until you decide to use CX Sales Mobile exclusively

  • Question: Can I run the import process more than once?

    Answer: Yes, you can run the import process as many times as you like. However, bear in mind that if you have already imported a CX Cloud Mobile page layout, then it won't be imported again, even if you make updates to the layout in the CX Cloud Mobile configuration tool. Only only new layouts that have been created since the last import are imported.

Configure the App Using the Configuration Tool

You can configure the Oracle CX Sales Mobile Apple and Android applications using an easy-to-use interface designer in Application Composer. Using the interface designer, you can manage which objects and fields are visible in the application, and create conditions defining when a page layouts displays, without having to carry out specific configurations for a particular device.

Navigate to the Configuration Tool

First of all, navigate to the configuration tool and see what it looks like:

  1. Select or create a sandbox that you want to use for your configurations. Make sure that your sandbox includes Application Composer as an active tool.

  2. Open Application Composer by selecting Application Composer under the Configuration category in the Navigator menu.

  3. Under the Common Setup Menu, or on the Overview page, click Mobile Application Setup.

  4. Click the CX Sales Mobile Composer tab to open the CX Sales Mobile configuration tool.

On the left-hand side of the configuration tool, you can see the Application Features pane which lists the standard and custom objects that are enabled for CX Sales Mobile in the current sandbox. This pane also includes the settings that you can set up for CX Sales Mobile, which include the offline settings and usage settings. When you click Home you have the option to display or hide an object, choose a different icon for an object, and enable or disable the Auto Fetch feature (more details about the Auto Fetch feature can be found in the "Configure the Offline Settings" topic).

In the center of the configuration tool, you can see a visual representation of what your configured CX Sales Mobile looks like. Scroll to the bottom of page and you can see the + Add Feature button, which will add another standard or custom object to the app.

Note: If you're adding a custom object, ensure that the Include in Service Payload option is enabled for an object in Application Composer. For details about how to do this, see the Add Objects and Fields in Application Composer chapter in the Extending CX Sales and B2B Service guide.
Create Page Layouts for Standard and Custom Objects

If you decide that you want to change the standard layout for an object, you can create a new page layout and configure it to suit your company's requirements. There are four different types of page layouts that you can create: A List page, a Summary page, an Edit page, and a Picker layout. Here are the basic configuration steps that will enable you to make simple changes to a layout:

  1. In the Application Features pane, click the standard or custom object that you want to create a layout for.

  2. Select the relevant type of page layout, such as the List or Summary.

  3. In the Layouts pane, click the Click to Clone icon for the standard layout and enter a layout name.

  4. Click Ok.

  5. Change the fields that appear by clicking the relevant field and selecting a new field from the list.

  6. You can remove fields by clicking the field and then clicking the cross icon.

  7. To move a field, just drag it to the location where you want it to appear.

  8. Click Save in the top right-hand corner of the configuration tool page.

  9. Test and publish your new page layouts. See the "Test Your Oracle CX Sales Mobile Configurations" topic for details about how to check your mobile configurations.

If you want to make more extensive changes to a page layout, you will need to familiarize yourself with the additional capabilities of the different types of page layout. See these topics in the Configure the App section in the Implementing Sales guide for more details:

  • Configure the List Page Layout

  • Configure the Summary Page Layout

  • Configure the Edit Page Layout

  • Configure the Picker Layout

  • Configure the Child Object Page Layouts

  • Configure the Global Search Page Layout

Configure the List Page Layout

The List page layout displays a list of an object's records, with each record showing a set of fields that you can configure. You can make simple changes to the List page layout, as described in the "Configure the App Using the Configuration Tool" topic. If you would like to make more extensive changes to the List page layout, you will need to note these additional points:

  • When you configure the top card in the List page layout, your changes will be reflected in every card in the list when you view them in the app.

  • You can add up to two new fields to the card, as well as changing the existing fields. Just click the field and select a field from the list.

  • You can add or hide actions for the List page, such as whether you can create an object, by clicking the more icon on the List page for the list of available actions. You can also click + for additional actions and click an action's X icon to hide the action.

  • You can also add or hide actions for the card, such as Edit, Add Note, and Share. Click the more icon on the card for the list of actions. Click + for additional actions and click an action's X icon to hide the action.

  • Roles and geographical regions can be assigned to List page layouts. These enable you to restrict who can view the page layout by their role and their geographical region. You can find more details about how to do this in the "Create Criteria for Page Layouts" topic.

After making updates to your page layout, make sure that you click Save in the configuration tool page, and test and publish your new page layout. See the "Test Your Oracle CX Sales Mobile Configurations" topic for details about how to check your mobile configurations.

Configure the Summary Page Layout

The Summary page layout displays an object's details. There are seven sections to the Summary layout: The top section which provides the object's contact information and top-level information of your choice, an aggregates section containing aggregated information about sales objects, up to four information sections, and the child and related object section. You can make simple changes to the Summary page layout, as described in the "Configure the App Using the Configuration Tool" topic. If you would like to make more extensive changes to the Summary page layout, you will need to note these additional points:

The Top Section

Here are the points to note about configuring the top section:

  • You can change the fields, remove fields, and move fields using the steps in the Create Page Layouts for Standard and Custom Objects section of this topic.

  • Make sure that you choose a relevant type of Phone, Mobile, or Email field to match the icon. This is because you can't change the icon for these types of fields. For example, if you selected a phone field for the Choose Mobile field, then the incorrect icon displays.

  • You can't move the top section, because this section is designed to contain the top-level information for the object.

The Aggregates Section

The aggregates section displays aggregated information for a sales record, such as at the number of open opportunities with the predicted total value, and the number of critical open service requests for an account. Here are some points to note about this section:

  • The aggregates section is available for all child and related standard objects, and custom objects associated to the parent standard object.

  • You can't move this section, however you can add up to six aggregates by clicking Add Aggregate.

  • You can move aggregates around by placing your cursor over the aggregate, clicking and holding the three horizontal lines icon in the aggregate, and dragging it to your preferred position.

  • You can delete aggregates by clicking the red cross in the top right hand corner of the aggregate.

Appointment Section (Appointments Summary Page Only)

In the Appointment Summary page, there is a section below the Aggregates section that displays the appointment recurrence details, the accept or reject option, and the option to mark the appointment time as busy in your calendar. You can hide the accept or reject option, and the Show Time As Busy option, so that they don't appear in the Appointment Summary page. Here's how:

  1. Edit an existing Appointment Summary page layout, or create a new page layout by clicking the Click to Clone icon.

  2. In the interface designer, scroll to the appointment section and hover over the accept or reject, and Show Time As Busy options. Note that an eye icon appears.

  3. Click the eye icon to hide the section and click Save in the top right-hand corner of the configuration tool page.

  4. Test and publish your new page layouts. See the "Test Your Oracle CX Sales Mobile Configurations" topic for details about how to check your mobile configurations.

The Information Sections

Here some points to note about the information sections:

  • The information sections (there are up to four) are called the following: Information, Address, Info 1 Column, and Info 2 Column.

  • You can reorder any of the sections by using the blue up and down arrows.

  • You can add fields by clicking the + Add Field button at the bottom of each section. There's no limit as to the number of fields you can add.

  • The Information section will only display email, phone, and address icons and not field labels, so you should only select email, phone, and address fields that can have an icon, and don't require a field label.

  • In the Address section of Account and Contact Summary page layouts, you can remove the actions that are available for addresses, such as editing or deleting an address. See the "Remove Address Actions on the Account and Contact Page Layouts" topic for more details.

  • The Info 1 Column has a one-column layout and displays only one field across the page.

  • The Info 2 Column has a two-column layout, so two columns will be displayed side-by-side across the page.

The Child and Related Object Sections

The section for adding child and related objects is located at the bottom of the Summary page layout.

  • This section can't be moved, however you can add as many child and related objects as you require by clicking + Add Child or Related.

  • When you add a child or related object, you can choose from five different templates, which you can then configure in the child objects' List page layout. See the Child Object Page Layouts section of this topic for more information.

Other Configuration Options

Other configuration options for the Summary page include:

  • Add or hide actions for the Summary page, such as whether you can create a task, add a note, or edit the object, by clicking the more icon on the page for the list of available actions. You can also click + for additional actions and click an action's X icon to hide the action.

  • Assign roles and geographical regions to Summary page layouts. These enable you to restrict who can view the page layout by their role and their geographical region. You can also define a set of conditions that have to be met before the page layout is displayed. For example, if you create criteria as follows: Win probability is Greater than 50%, then any opportunities with a win probability greater than 50% will use your layout. You can find more details about how to set these up in the "Create Criteria for Page Layouts" topic.

After making updates to your page layout, make sure that you click Save in the configuration tool page, and test and publish your new page layout. See the "Test Your Oracle CX Sales Mobile Configurations" topic for details about how to check your mobile configurations.

Configure the Edit Page Layout

The Edit page layout displays when you're editing an object's details in the app. You can make simple changes to the Edit page layout, as described in the "Configure the App Using the Configuration Tool" topic. If you would like to make more extensive changes to the Edit page layout, you will need to note these additional points:

  • To move a field, just drag it to the location where you want it to appear.

  • In the Account and Contact Edit page layouts, you can remove the actions that are available for addresses, such as editing or deleting an address. See the "Remove Address Actions on the Account and Contact Page Layouts" topic for more details.

  • Add child objects to the bottom of the page layout by clicking + Add Child.

  • You can also assign roles and geographical regions. These enable you to restrict who can view the page layout by their role and their geographical region. You can also define a set of conditions that have to be met before the page layout is displayed. For example, if you create criteria as follows: Win probability is Greater than 50%, then any opportunities with a win probability greater than 50% will use your layout. You can find more details about how to set these up in the "Create Criteria for Page Layouts" topic.

After making updates to your page layout, make sure that you click Save in the configuration tool page, and test and publish your new page layout. See the "Test Your Oracle CX Sales Mobile Configurations" topic for details about how to check your mobile configurations.

Configure the Picker Layout

The Picker page layout displays whenever you're picking an object from a selection list, such as choosing an opportunity from an opportunity search. You can make simple changes to the Picker page layout, as described in the "Configure the App Using the Configuration Tool" topic. If you would like to make more extensive changes to the Picker page layout, you will need to note these additional points:

  • You can change the fields, add up to six fields, remove fields, and move fields using the steps in the "Configure the App Using the Configuration Tool" topic.

  • You can also enable or disable the ability to create an object from the picker by adding or hiding the page actions. Click the more icon on the page and either add the Create action if it isn't there, or remove the action using the cross icon that appears when you hover over the action.

After making updates to your page layout, make sure that you click Save in the configuration tool page, and test and publish your new page layout. See the "Test Your Oracle CX Sales Mobile Configurations" topic for details about how to check your mobile configurations.

Configure the Global Search Layout

Sales representatives can use the global search feature directly from any page in the app to locate any type of record quickly and easily. You can configure which fields appear in the global search results page, so that your sales representatives view the most important information for their specific business needs. See the "Configure the App Using the Configuration Tool" topic for instructions about how to create a new page layout. Note these additional points about the Global Search layout:

  • You can change the fields, add up to six fields, and remove fields using the steps in the "Configure the App Using the Configuration Tool" topic.

  • You can't assign criteria, such as user roles or geographical regions, for Global Search page layouts.

After making updates to your page layout, make sure that you click Save in the configuration tool page, and test and publish your new page layout. See the "Test Your Oracle CX Sales Mobile Configurations" topic for details about how to check your mobile configurations.

Configure Child Object Page Layouts

Not only can you add child objects to the Summary and Edit page layouts (see the "Configure the Summary Page Layout" and "Configure the Edit Page Layout" topics for more details), but you can also create page layouts for the child objects themselves. Here are points to note when configuring page layouts for child objects:

  • When you add a child object to a parent object's page layout, the child object is added to the Children pane. To create a page layout for the child object, click the child object and clone the standard page layout, as you would for the parent object.

  • Configuring a child object page layout is the same as configuring a parent object's page layout, so you can follow the same steps you're already familiar with in this topic.

  • The template that's used for a child object's List page layout is selected when you add the child object to a parent page. You can then further configure the List page when you select the child object and clone the standard page layout.

  • You can assign roles and geographical regions to child object page layouts. You can also assign criteria for displaying the page layout, known as the Advanced Criteria feature. When you using Advanced Criteria, you can select fields from the parent object, as well as the child object. You can find more details about this in the "Create Criteria for Page Layouts" topic.

After making updates to your page layout, make sure that you click Save in the configuration tool page, and test and publish your new page layout. See the "Test Your Oracle CX Sales Mobile Configurations" topic for details about how to check your mobile configurations.

Configure the Home Page

You can create home page layouts for specific roles, including custom roles, by either hiding or displaying the pipeline, tasks, appointments, and custom cards for the particular role. This can be particularly useful for sales managers who don't have a pipeline and so don't want to see blank pipeline information on their home page. You can also re-order the cards for any user role, and add Workspace saved searches to the pipeline and custom cards.

Here's how you configure the home page:

  1. Sign in to the Oracle CX Sales application as user with a Sales Administrator role.

  2. Select the sandbox you want use for your configurations.

  3. Open Application Composer by selecting Application Composer under the Configuration category in the Navigator menu.

  4. Under the Common Setup Menu, or on the Overview page, click Mobile Application Setup.

  5. In the Application Features pane, click Cards.

  6. In the Layouts pane, create a new home page layout by clicking the Click to Clone icon.

  7. Enter a layout name and click Ok.

  8. All the cards are displayed by default, but if you want to hide a card, click the card in the interface designer, and disable the Show Card option in the Card Settings pane.

  9. You can add additional cards, as follows:

    1. Click + Add Custom Card at the bottom of the home page.

    2. Select the object card from the list and then on the next page select the Workspace saved search for the card.

    3. Edit the header and title, and add an aggregation field and footer. You can hide the total number of relevant sales objects by clicking the eye icon, ensuring it has a cross through it. You can also change the saved search by clicking the more button (three horizontal dots) on the card.

    Note: You can only have one card per object on a page layout.
  10. As well as adding a Workspace saved search to a custom card, you can also add a saved search to the pipeline card.

  11. If you want to assign a role to your home page layout, add the role in the Assigned Roles pane.

  12. If you want to re-order the cards, drag the card in the interface designer to the position you would like.

  13. If you want to rename the strings on the cards, you need to use the I18N feature. See the "Rename Child Objects and Strings in the App" topic for more details.

  14. Click Save.

  15. Test and publish your new page layouts. See the "Test Your Configurations" topic for details about how to check your mobile configurations.

Rename Child Objects and Strings in the App

You can change the names of child objects and strings in the app, such page headers, section headers, actions, and titles, to suit your business requirements.

Here's how you do that:

  1. Sign in to the Oracle CX Sales application as user with a Sales Administrator role.

  2. Select the sandbox you want use for your configurations.

  3. Open Application Composer by selecting Application Composer under the Configuration category in the Navigator menu.

  4. Under the Common Setup Menu, or on the Overview page, click Mobile Application Setup.

  5. In the Application Features pane, click I18N.

  6. Select English as the language and select the string you want to change.

    Note: You can only change English language strings at the moment.
  7. Enter the new name in the Edit String box.

  8. Click Save.

  9. Test and publish your new page layouts. See the "Test Your Configurations" topic for details about how to check your mobile configurations.

Create Criteria for Page Layouts

You can create criteria for a standard and custom object's page layout, so that a condition, or a set of conditions have to be met before the page layout is displayed. You can restrict the page layout by role, geographical region, and by field value.

Assign User Roles to a Page Layout

You can create a page layout for a standard or custom object that will only be displayed to one, or multiple user roles. This can be very useful if, for example, you want to create a page layout for a Sales Manager role, which will require certain fields on an opportunity detail record that other sales team members won't need. Here's how you set it up:

  1. Sign in to the Oracle CX Sales application as user with a Sales Administrator role.

  2. Select the sandbox you want use for your configurations.

  3. Open Application Composer by selecting Application Composer under the Configuration category in the Navigator menu.

  4. Under the Common Setup Menu, or on the Overview page, click Mobile Application Setup.

  5. In the Application Features pane, click the feature that contains the page layout that you want to add roles to, for example, Opportunities.

  6. Select the relevant type of page view, such as the List or Summary view.

  7. In the Layouts pane, select the relevant page layout, or create a new page layout (see the "Configure the App Using the Configuration Tool" topic for details about how to create a page layout).

  8. In the Assigned Roles pane, select the role, or roles, that you want to add.

  9. Click Save.

Assign Geographical Regions to a Page Layout

Adding geographical regions to a standard or custom object's page layout, enables you to restrict its availability to users from a selected set of geographical regions. For example, if you add the United States and United Kingdom regions to a page layout, then only users from these countries can view the layout. Here's how you set it up:

  1. Repeat steps 1 to 7 in the Assign User Roles to a Page Layout section.

  2. In the Assigned Regions pane, select the geographical regions by clicking on the region. Select as many regions as you require.

  3. Click Save.

Assign Advanced Criteria to a Page Layout

Creating advanced criteria enables you to define a set of conditions that have to be met before the page layout is displayed for a standard or custom object's Summary or Edit views. For example, if you create criteria for an Opportunity Summary layout as follows: Opportunity Type is Equal to Finance, then any opportunities with a Finance opportunity type will use your layout in the Summary view.

  1. Repeat steps 1 to 7 in the Assign User Roles to a Page Layout section.

  2. In the Advanced Criteria pane, create your criterion by selecting a field from the list, an operator, and then entering the relevant field value.

  3. To add a conditional statement to your criterion, click Add Criteria, and select AND or OR. Enter the field, operator, and relevant field value.

    Note: If you want to have multiple AND/OR conditions, it's best to use custom scripting to specify your criteria. See the "Configure the App with Custom Scripts" for information about creating a custom script.
  4. Click Save.

Note: If you're creating criteria for a child object's page layout, then you can choose fields from the child and parent object. For example, you can create an advanced criteria where an opportunity's Opportunity Type value determines the page layout for opportunity revenue page.
Prioritize Your Page Layouts

Page layouts display in priority order in the Layouts pane. The page layout at the top is the first layout that's displayed to the user, if they fit the criteria that you have set up. The second page layout is the second layout that displays if the user doesn't fit the first criteria, but does fit the second page layout's criteria, and so on. You can move the layouts around by dragging them to your preferred priority position.

It's recommended that you create a default layout that's applicable to everyone and place the default layout at the bottom of the Layouts pane. Setting a default layout means that users will see at least one of the page layouts if they don't fit the criteria you have set up.

Test Your Page Layouts

It's important to test your configurations before publishing the sandbox. See the "Test Your Configurations" topic for details about how to check your mobile configurations.

Add Criteria to Actions in List and Summary Page Layouts

You add criteria to actions, such as create and edit actions, to List and Summary pages, so that the actions will only appear when the conditions have been met. For example, you can add a criteria to the Create Appointment action, so that the action will appear only when the Account Score field is greater than a set value. Here's how you set up the criteria:

  1. Sign in to the Oracle CX Sales application as user with a Sales Administrator role.

  2. Select or create the sandbox you want use for your configurations.

  3. Open Application Composer by selecting Application Composer under the Configuration category in the Navigator menu.

  4. Under the Common Setup Menu, or on the Overview page, click Mobile Application Setup.

  5. Click the CX Sales Mobile Composer tab.

  6. In the Application Features pane, click the relevant feature.

  7. Click either the Summary or List page layout.

  8. In the Layouts pane, select an existing page layout, or create a new page layout by clicking the Click to Clone icon.

  9. In the interface designer, click the more icon (three horizontal dots) in the header and select the relevant action, such as the Create Task action.

  10. Click Add Criteria.

  11. Enter the Field, Operator, and Value.

  12. If you want to add more criteria click Add Criteria and enter the criteria values.

  13. Add as many criteria as you require.

  14. Click OK.

  15. Click Save.

  16. Repeat the steps above for each action that you want to add criteria to.

  17. Test and publish your new page layouts. See the "Test Your Configurations" topic for details about how to check your mobile configurations.

Configure the App with Custom Scripts

You can further configure the app to match your business requirements by writing custom scripts using JavaScript that enforce validations and rules, whether you're online or offline. This powerful feature enables you to write scripts that can trigger on an event of your choosing, for any top-level parent object and child object. For example, you can create a script that will make the product field mandatory when you create an opportunity.

How to Create a Script

You can create custom scripts for all objects, or for a specific object. Here's how you create a custom scripts for a specific object:

  1. Select the sandbox you want use for your configuration.

  2. Select Navigator > Application Composer > Mobile Application Setup.

  3. Click the CX Sales Mobile Scripts tab at the top of the Mobile Application Setup page.

  4. To create a script for a top-level parent object, select the object you want to write a script for, and then select the event that will trigger your script. You can choose one of these events:

    • On Create (triggered when a new record is created in the mobile app).

    • Before Save (triggered before a record is saved).

    • After Save (triggered after the app has saved the record).

    • On Field Value Change (triggered when a user changes the value of a field and then taps out of the field).

    • On Edit (triggered when a user edits a record).

  5. To create a script for a child object, select the top-level parent object, then select the relevant child object in the Opportunities Children section. Finally, select the event that will trigger your script.

    Note: If you want to create validation for a child object's Before Save or After Save event, you have to use the parent object's Before Save or After Save event.
  6. Click the plus icon in the <Event Name> Scripts section.

  7. Enter the script name and description.

  8. (Optional) If you want the script to work for particular regions, select geographical regions for the script. The script will work for users who have your selected regions as their country preference setting in the CX Sales app.

    Note: A script can have multiple regions associated to it, but the same region can't be assigned to more than one active script for the same object and event.

    If you want to restrict your script to trigger for certain user roles, you will need to specify these by writing a JavaScript script

  9. Click Create and create your script.

  10. Click Validate to check whether your script has any errors. The validation checks include checks for nested functional calls and anything else in the script that will cause it to run forever in an infinite loop.

  11. When you're finished, click Save.

How to Create a Custom Function

You can also create a custom function (known as a utility function) that will be available for all objects in all of your scripts. Here's how:

  1. Follow steps 1 to 6 in the "How to Create a Script" section, and then click the plus icon in the Utility Functions section.

  2. Create your function. Make sure that you include "_C" in the function, so that the function is designated as a utility function, and is included in the System Functions list (see the "Feature That Helps You to Create Your Scripts" section below for details about System Functions). Once it's in the System Functions list, you can access your utility function from any custom script. Here's an example of the format:

    function example_c() {
    var a = 100;
    a = 100+a
    }
  3. Click Validate and then Save.

Feature That Helps You to Create Your Scripts

When you're creating your scripts it's important that you enter the correct object and field values, so to help you with this you can type Control + Space in the script box and a list of objects and fields are displayed. Pick the object or field that you want to include and the correct value is added to your script.

This feature also enables you to use the System Functions that auto-populate APIs into your script. Type Control + Space, scroll down to the System Functions section, and you will see a list of APIs that you can use. You can use these APIs, for example, to find out the device's operating system and the current position of the user. In the System Functions section, you can also see the Utility Functions that you have created. See the "Library of System Functions for Custom Scripts" topic for a list of the System Functions that are available and how you can use them.

Test Your Script

To help you test your script, you can use the CXCoreLogger class methods in your script to write warning, error, or info messages. You can then review the messages to debug the script.

After debugging the script, test the script in CX Sales Mobile, and then publish the sandbox when you're done. See the "Test Your Configurations" topic for details about how to check your configurations in CX Sales Mobile.

Script Examples

Here are some examples of how you can create custom validation and rules:

Object, Event, and Requirements Example Script

Object: Opportunity

Event: OnCreate

Requirement: Auto-populate the name

and owner field for the Opportunity.

var oracleCxmOutcome = new Result("");
var currentRow = await getCurrentRow();
var userPref = await getUserPreferences();
var partyName = userPref.getPartyName();
currentRow.setColumn('PartyName1',partyName);
currentRow.setColumn('Name', 'StandardScript'+new Date().toISOString().substring(0, 10));
oracleCxmOutcome.setMessage('MESSAGE_TYPE_SUCCESS', '' ,  'OOB Script for oppty-OnCreate executed');

Object: Opportunity

Event: BeforeSave

Requirement: Update the Opportunity Revenue

amount based on child revenue amounts.

var oracleCxmOutcome = new Result('');
var currentRow = await getCurrentRow();
var childRev = currentRow.getColumn('ChildRevenue');
	let totalAmount = 0;
if(childRev) {
let items = currentRow.getColumn('ChildRevenue').items;
		if(items) {
			items.forEach((item) => {
				totalAmount = totalAmount + item.RevnAmount;
			});
		}
}
	currentRow.setColumn('Revenue',totalAmount);

Object: Opportunity

Event: AfterSave

Requirement: Add a note to the opportunity,

if the opportunity isn't newly created.

var oracleCxmOutcome = new Result('');
var optiRow = await getCurrentRow();
if(!optiRow.isNew()) {
    var opptyNote = await createNewRow(true, 'opportunities', 'Note');
    var noteTxt = 'VGhpcyBOb3RlIHdhcyBjcmVhdGVkIHRocm91Z2ggc2NyaXB0IGZvciBvcHB0eSAtIA==';
    opptyNote.setColumn('NoteTxt',noteTxt);
    optiRow.setColumn('Note',opptyNote);
    oracleCxmOutcome.setModifiedObject(optiRow);
}

Object: Opportunity

Event: OnFieldValueChange - Status Code

Requirement: If the status code value is changed

to WON/LOST, and the win/loss reason isn't specified,

then the ReasonWonLostCode field is made mandatory,

and a message is displayed 'Please specify win/loss reason.'

var oracleCxmOutcome = new Result('');
var optyRow = await getCurrentRow();
var statusCode = optyRow.getColumn('StatusCode');
var reasonWonLostCode = optyRow.getColumn('ReasonWonLostCode');

if((statusCode === 'WON' || statusCode === 'LOST') && (!reasonWonLostCode)) {
    oracleCxmOutcome.setMessage('MESSAGE_TYPE_SUCCESS', '' ,  'You have selected' + statusCode);
    optyRow.setColumnMandatory('ReasonWonLostCode', true);
    oracleCxmOutcome.setMessage('MESSAGE_TYPE_ERROR', '' ,  'Please specify win/loss reason');
}

 if(statusCode !== 'WON' && statusCode !== 'LOST') {
 optyRow.setColumn('ReasonWonLostCode',null);
 optyRow.setColumnMandatory('ReasonWonLostCode', false);
 }

Object: Opportunity Revenue

Event: OnCreate

Requirement: The OnCreate event for the child object called Opportunity Revenue auto-populates its custom field values.

var optiRow = getCurrentRow();
const optyRow = getCurrentRow();
const childRev = getCurrentChildRow();
var oracleCxmOutcome = new Result("");
childRev.setColumn('CXM_Text_c','Single Text');
childRev.setColumn('CXM_Date_c',"2020-03-20");
childRev.setColumn('CXM_CC_c',true);
childRev.setColumn('CXM_Perc_c',.32);
childRev.setColumn('CXM_Num_c',5000);
childRev.setColumn('CXM_LText_c','RGVtbyB0ZXh0IHRvIGJlIGVudGVyZWQ=');

oracleCxmOutcome.setMessage("MESSAGE_TYPE_SUCCESS", "", "OnCreate on Child:");

Library of System Functions for Custom Scripts

When you're creating your custom scripts, you can use a feature that enables you to use System Functions that auto-populate APIs into your script. Type Control + Space, scroll down to the System Functions section, and you will see a list of APIs that you can use. Here are more details about the System Functions and their related classes.

System Functions

These are the System Functions that are available:

Method Signature Definition Usage

getCurrentRow()

Returns the current row.

For information about the Row class methods, refer to the table below.

const taskRow = getCurrentRow();
const statusCode = taskRow.getColumn('StatusCode');

getCurrentChildRow()

Returns the current child row if we are in context of a child row, else it returns null.

Refer to the Row class methods in the next table.

const optyRow = getCurrentRow();
const childRev = getCurrentChildRow();
childRev.setColumn('RevnAmountCurcyCode', optyRow.getColumn('CurrencyCode'));

createNewRow(isChild: boolean, featureName: string, childType: string)

Creates new row or child row for the given resource and child type. Only supported in AfterSave event.

Refer to the Row class methods in the next table.

const opptyRow =  createNewRow(false, "Opportunity", null);
opptyRow.setColumn("Name","New oppty");

query(resource: string)

Returns Query object for the given resource. This can be used to query rows of the given resource by setting query parameters. This function only queries for data stored locally on the device.

Refer to the Query class methods in the next table.

const resourceQuery = query('resources');
resourceQuery.setParameters('PartyId', userPrefProvider.getPartyId());
try {
const resourceResponse = resourceQuery.execute();
if (resourceResponse && resourceResponse.length > 0) {
resources.setColumn(
'JobName',
resourceResponse[0].getColumn('JobMeaning')
);
}
} catch (e) {
//failed to get resource response
}

getUserPreferences()

Returns UserPreferences object. This can be used to retrieve different user preferences.

For information about the UserPreferences class methods, refer to the table below.

const row = getCurrentRow();
const userPrefProvider = getUserPreferences();
const closeDate = userPrefProvider.getProfileOptionValue(
'MOO_DEFAULT_CLOSE_WINDOW'
);

getDeviceInformation()

Returns DeviceInformation object. This can be used to retrieve different device related information.

Refer to the DeviceInformation class methods in the next table.

const deviceInfo = getDeviceInformation();
const os = deviceInfo.getOs();

getCXCoreLogger().getLogger()

Returns an instance of CXCoreLogger which can be used for logging info, error, warnings, and so on.

Refer to the CXCoreLogger class methods in the next table.

const row = getCurrentRow();
row.setColumn("Name","New oppty");
let cxCoreLogger = getCXCoreLogger().getLogger();
cxCoreLogger.error ("On create event executed");

getParentRow()

Returns the parent object from which the current object was accessed. Only to be used in context of top level objects being visited via another top level object.

Note: This function doesn't return the parent for a child row.

Refer to the Row class methods in the next table.

/*Appointments - OnCreate*/
const row = getCurrentRow();
const parentRow = getParentRow();

if (parentRow && parentRow.getResourceName() === 'leads') {
row.setColumn(
'LeadId',
parentRow.getColumn('LeadId')
);
row.setColumn(
'LeadName',
parentRow.getColumn('Name')
);
if (parentRow.getColumn('PrimaryContactId')) {
row.setColumn(
'PrimaryContactId',
parentRow.getColumn('PrimaryContactId')
);
row.setColumn(
'PrimaryContactName',
parentRow.getColumn('PrimaryContactPartyName')
);
}
if (parentRow.getColumn('CustomerId')) {
row.setColumn(
'AccountId',
parentRow.getColumn('CustomerId')
);
row.setColumn(
'AccountName',
parentRow.getColumn('CustomerPartyName')
);
}
}

getLovDataProvider()

Returns local list of values (LOV) data provider. The LOV data can be fetched using this provider.

const lovProvider = getLovDataProvider();
const lovData = lovProvider.getLovData('StatusCode');

queryWithParameters (resource: string, dynamicParams: array)

Used to query for records by passing dynamic fields, operator, and values.

let q = queryWithParameters('opportunities', [{'field': 'Name', 'operator': 'contains', 'value': 'Oppty'}]);
const params = q.getParameters();
let rows = q.execute();

Class Methods

Here are the class methods for the System Functions outlined in the previous table and examples of how you can use them.

  • Row Class Methods:

Method Signature Definition Usage

setColumn(name: string, value: string)

Used to set value of a particular column of the row.

const optyRow = getCurrentRow();
const childRev = getCurrentChildRow();
childRev.setColumn('RevnAmountCurcyCode', optyRow.getColumn('CurrencyCode'));

getColumn(name: string)

Used to get value of a particular column of the row.

const taskRow = getCurrentRow();
const statusCode = taskRow.getColumn('StatusCode');

isNew(): boolean

Returns true if the row is new else it returns false.

const taskRow = getCurrentRow();
const isNew = taskRow.isNew();

getResourceName(): string

Returns the resource to which the row belongs.

const parentRow = getParentRow();
const res = parentRow.getResourceName()

setColumnMandatory(name: string, value: boolean)

Used to set value of mandatory property for a particular column.

Note: Use this function instead of the CX Cloud Mobile function if you're copying your CX Cloud Mobile script. See the "Copy Your CX Cloud Mobile Configurations to CX Sales Mobile" topic for more details.
const optyRow = getCurrentRow();
const childRev = getCurrentChildRow();
childRev.setColumnMandatory('UnitPrice', true);

setColumnUpdatable(name: string, value: boolean)

Used to set value of updatable property for a particular column.

const optyRow = getCurrentRow();
const childRev = getCurrentChildRow();
childRev.setColumnUpdatable('RevnAmountCurcyCode', canEditCurrency === 'Y');

setColumnVisible(name: string, value: boolean)

Used to display/hide a particular column.

const row = getCurrentRow();
row.setColumnVisible('ReasonWonLostCode', false);

addNewChildRow(childName: string)

Adds new child to the row. Also see Result setModifiedObject method to include the row in the set of rows that will be committed by the event handler.

const row = getCurrentRow();
const resources = row.addNewChildRow('ActivityAssignee');
resources.setColumn('AssigneeName', userPrefProvider.getPartyName());
resources.setColumn('AssigneeId', userPrefProvider.getPartyId());

setColumnDisplayType(fieldName: string, DisplayType.TEXT | DisplayType.TEXTSCAN | DisplayType.NUMBER)

Used to change the display type of a field to text, scan or number.

let row = getCurrentRow();
row.setColumnDisplayType("MyCustomSerialNumber","DisplayType.TEXTSCAN");

disableAction(action: string, disable: boolean)

Used to disable or enable the save action in the edit view.

let optyRow = getCurrentRow();
optyRow.disableAction('Save',true);

getOriginalValues()

Used to get the original values of a field before it was modified.

const row = getCurrentRow();
let oriVal = row.getOriginalValues();
let oriName = oriVal.Name;
let currName = row.getcolumn('Name');

  • Query Class Methods:

Method Signature Definition Usage

getParameters()

Used to get all available parameters for this query.

const resourceQuery = query('resources');
const params = resourceQuery.getParameters();

setParameters(name: string, value: string)

Used to set value of a particular query parameter.

const resourceQuery = query('resources');
resourceQuery.setParameters('PartyId', userPrefProvider.getPartyId());

execute()

Used to perform the query. It returns the set of rows that satisfy the query criteria.

const resourceQuery = query('resources');
resourceQuery.setParameters('PartyId', userPrefProvider.getPartyId());
try {
const resourceResponse = resourceQuery.execute();
if (resourceResponse && resourceResponse.length > 0) {
resources.setColumn(
'JobName',
resourceResponse[0].getColumn('JobMeaning')
);
}
} catch (e) {
//failed to get resource response
}

  • UserPreferences Class Methods:

Method Signature Definition Usage

getUserSettings()

Returns user settings.

const userPref = getUserPreferences();
const userSettings = userPref.getUserSettings();

getUserName()

Returns the user name for the current user.

const  userPref  = getUserPreferences();
const userName = userPref.getUserName();

getPartyName()

Returns name of the current user.

const  userPref  = getUserPreferences();
const partyName = userPref.getPartyName();

getDateFormat()

Returns date format set by the current user.

const  userPref  = getUserPreferences();
const dateFormat = userPref.getDateFormat();

getPartyId()

Returns ID of the current user.

const  userPref  = getUserPreferences();
const partyId = userPref.getPartyId();

getCurrency()

Returns currency set by the current user.

const  userPref  = getUserPreferences();
const currency = userPref.getCurrency();

getTimezone()

Returns time zone set by the current user.

const  userPref  = getUserPreferences();
const timeZone = userPref.getTimezone();

getNumberFormat()

Returns number format set by the current user.

const  userPref  = getUserPreferences();
const numberFormat = userPref.getNumberFormat();

getLanguage()

Returns language set by the current user.

const  userPref  = getUserPreferences();
const language = userPref.getLanguage();

getRoles()

Returns roles assigned to the current user.

const  userPref  = getUserPreferences();
const roles = userPref.getRoles();

getProfileOptions()

Returns all the profile options for the current user.

const  userPref  = getUserPreferences();
const profileOptions = userPref.getProfileOptions();

getProfileOptionValue(profileOption)

Returns profile option value of the specified profile option for the current user if the profile option exists, else it returns null.

const  userPref  = getUserPreferences();
const profileOptionValue = userPref.getProfileOptionValue($PROFILE_OPTION_STRING)

isRoleAssigned(role)

Returns true if the specified role is assigned to the current user else it returns false.

const  userPref  = getUserPreferences();
const isRoleAssigned = userPref.isRoleAssigned($USER_ROLE_STRING);

getDefaultBU()

Used to fetch the default BU of the current user. Refer to the Business Unit Class Method below.

let userPrefProvider = getUserPreferences();
let defaultBU = userPrefProvider.getDefaultBU();

  • DeviceInfo Class Methods:

Method Signature Definition Usage

getCurrentPosition(maximumAge : Number ,timeout : Number ,enableHighAccuracy : Boolean)

Returns the location of the device.

Parameters:

  • maximumAge: The time in milliseconds that's acceptable for cached position. Enter 0 if a cached position isn't acceptable.

  • timeout: The maximum length of time (milliseconds) that's allowed to pass from the call to navigator.geolocation.getCurrentPosition until the corresponding geolocationSuccess callback executes. If the geolocationSuccess callback isn't invoked within this time, the geolocationError callback is passed a PositionError.TIMEOUT error code.

  • enableHighAccuracy: Provides a hint that the application needs the best possible results. By default, the device attempts to retrieve a 'Position' using network-based methods. Setting this property to 'true' tells the framework to use more accurate methods, such as satellite positioning.

const deviceInfo = getDeviceInformation();
const position = deviceInfo.getCurrentPosition(3000,5000,true);    
const latitude  = position.coords.latitude;
const longitude = position.coords.longitude;

getOs()

Returns the operating system name for the device.

const deviceInfo = getDeviceInformation();
const os = deviceInfo.getOs();

getPlatform()

Returns platform name of the device.

const deviceInfo = getDeviceInformation();
const platform = deviceInfo.getPlatform();

getVersion()

Returns device version.

const deviceInfo = getDeviceInformation();
const version = deviceInfo.getVersion();

getModel()

Returns device model name.

const deviceInfo = getDeviceInformation();
const model = deviceInfo.getModel();

isDeviceOnline()

Returns true if the device is online, else false.

const deviceInfo = getDeviceInformation();
const online = deviceInfo.isDeviceOnline();

  • CXCoreLogger Class Methods:

Method Signature Definition Usage

enableConsoleLogging()

Enables console logging.

const row = getCurrentRow();
row.setColumn("Name","New oppty");
let cxCoreLogger = getCXCoreLogger().getLogger();
cxCoreLogger.setLogLevel("info");
cxCoreLogger.enableConsoleLogging();
cxCoreLogger.info ("On create event executed");

setLogLevel(level: string)

Set logging level. Level values can be : info, error, warn, log, and none.

const row = getCurrentRow();
row.setColumn("Name","New oppty");
let cxCoreLogger = getCXCoreLogger().getLogger();
cxCoreLogger.setLogLevel("info");
cxCoreLogger.info ("On create event executed"

log(...args: any[])

Logs the message at log level.

const row = getCurrentRow();
row.setColumn("Name","New oppty");
let cxCoreLogger = getCXCoreLogger().getLogger();
cxCoreLogger.setLogLevel("log");
cxCoreLogger.log("On create event executed");

info(...args: any[])

Logs the message at info level.

const row = getCurrentRow();
row.setColumn("Name","New oppty");
let cxCoreLogger = getCXCoreLogger().getLogger();
cxCoreLogger.setLogLevel("info");
cxCoreLogger.info ("On create event executed");

warn(...args: any[])

Logs the message at warn level.

const row = getCurrentRow();
row.setColumn("Name","New oppty");
let cxCoreLogger = getCXCoreLogger().getLogger();
cxCoreLogger.setLogLevel("warn");
cxCoreLogger.warn("On create event executed");

error(...args: any[])

Logs the message at error level.

const row = getCurrentRow();
row.setColumn("Name","New oppty");
let cxCoreLogger = getCXCoreLogger().getLogger();
cxCoreLogger.setLogLevel("error");
cxCoreLogger.error("On create event executed");

  • Result Class Methods:

Method Signature Definition Usage

setModifiedObject()

Used to include a newly created row, or updated row, in the set of rows that the script has modified. This action will ensure that the included row is committed by event-handler implementation.

var oracleCxmOutcome = new Result('');
var row = getCurrentRow();
row.setColumn("Name","Sample Obj");
oracleCxmOutcome.setModifiedObject(row);

setMessage(key, stringBundle, message)

Used to add a message that can be returned to the event handler implementation. The key can be : "MESSAGE_TYPE_SUCCESS" or "MESSAGE_TYPE_ERROR".

var oracleCxmOutcome = new Result('');
var row = getCurrentRow();
row.setColumn("Name","Sample Obj");
oracleCxmOutcome.setModifiedObject(row);
oracleCxmOutcome.setMessage("MESSAGE_TYPE_SUCCESS","","Row modified");

setErrorMessage(message)

Used to set the error message and to mark the outcome qualifier as "OUTCOME_TYPE_FAILURE".

var oracleCxmOutcome = new Result('');
var row = getCurrentRow();
var a = row.getColumn("A");
var b = row.getColumn("B");
if(a>b){
oracleCxmOutcome.setErrorMessage("Row validation failed");
} else {
oracleCxmOutcome.setMessage("MESSAGE_TYPE_SUCCESS","","Row validated successfully");
}

setOutcomeQualifier()

Used to set qualifier to be handled post script execution. Returned string could be either"OUTCOME_TYPE_SUCCESS" or "OUTCOME_TYPE_FAILURE". If the qualifier "OUTCOME_TYPE_FAILURE" is used in the beforeSave event, then the page will show the error message set using setMessage/setErrorMessage.

var oracleCxmOutcome = new Result('');
var row = getCurrentRow();
var a = row.getColumn("A");
var b = row.getColumn("B");
if(a>b){
oracleCxmOutcome.setMessage("MESSAGE_TYPE_ERROR","","Row validation failed");
oracleCxmOutcome.setOutcomeQualifier("OUTCOME_TYPE_FAILURE");
}

  • Business Unit Class Methods:

Method Signature Definition Usage

getName()

Used to get name of the Business Unit.

let userPrefProvider = getUserPreferences();
let defaultBU = userPrefProvider.getDefaultBU();
let name = defaultBU.getName();

getBusinessUnitId()

Used to get BusinessUnitID.

let userPrefProvider = getUserPreferences();
let defaultBU = userPrefProvider.getDefaultBU();
let businessUnitId = defaultBU.getBusinessUnitId();

getBUName()

Used to get the Business Unit name.

let userPrefProvider = getUserPreferences();
let defaultBU = userPrefProvider.getDefaultBU();
let buName = defaultBU.getBUName();

getBUId()

Used to get BU ID.

let userPrefProvider = getUserPreferences();
let defaultBU = userPrefProvider.getDefaultBU();
let buID = defaultBU.getBUId();

getDefaultBUFlag()

Used to get default BUFlag.

let userPrefProvider = getUserPreferences();
let defaultBU = userPrefProvider.getDefaultBU();
let defaultBUFlag = defaultBU.getDefaultBUFlag();

You can enable the use of OAuth authentication tokens, so that sales representatives can remain signed in to the application for much longer, and they won't need to re-enter their user name and password every time they launch the application.

When OAuth authentication tokens are enabled, the app reads the OAuth parameters when the sales representative signs in, and then the next time they close and restart the app - or the current session expires - the app prompts them to sign in again. After this second sign in, the OAuth authentication starts, and from then on the sales representative stays signed in the app, as long as they use the app at least once during the time validity of the refresh token configured in Identity Cloud Service.

Here's how you set it up:

  1. Register the CX Sales Mobile application with Oracle Identity Cloud Service, by creating a Confidential Application in the Identity Cloud Service console. See the "Add a Confidential Application" topic in the Administering Oracle Identity Cloud Service guide for information about how to create a Confidential Application.

    Note: As part of the registration process, Oracle Identity Cloud Service generates a Client ID and a Client Secret. You will need these in a later step, so make sure that you keep a note of them when they're created.
  2. In the CX Sales application, sign in as an administrator. Open the navigator menu, and click Setup and Maintenance.

  3. In the Setup and Maintenance work area, click the Tasks side panel icon and then click the Search link.

  4. Search for and select the Manage CX Cloud Mobile OAuth Configuration task.

  5. In the Identity Cloud Service Host Name field, enter your Identity Cloud Service host.

  6. Register the Client ID and the Client Secret for the CX Sales Mobile application.

  7. Click Save.

  8. In the Setup and Maintenance work area, click the Tasks side panel icon and then click the Search link.

  9. Search for and select the Manage Profile Options task.

  10. Create a profile option to enable the OAuth feature. Create the new profile option with these details:

    • Profile Option Code: CXM_ENABLE_OAUTH

    • Profile Display Name: OAuth Usage

    • Application: CX Sales Mobile

    • Module: Mobile Sales

    • Start Date: Enter the date you require the OAuth feature to be active

    • Click Save and Close.

    • In the Profile Values section, for Site level, check the Enabled and Updatable check boxes.

    • Click Save and Close.

  11. Next, you need to set the proper values for the profile option. Search for and select the Manage Administrator Profile Values task.

    1. Search for the CXM_ENABLE_OAUTH profile option.

    2. In the Profile Values section, add new values with the following details:

      • Profile Level: Site

      • Profile Value: Yes

  12. Click Save and Close.

Specify the Email Addresses that Receive the Rate the App Feedback

Your sales representatives can rate the CX Sales Mobile app using the "Rate the App" feature and the feedback is sent to the email addresses that you specify in the CX Sales Mobile configuration tool in App Composer. Here's how you set it up:

  1. Sign in to the Oracle CX Sales application as user with a Sales Administrator role.

  2. Select the sandbox you want use for your configurations.

  3. Open Application Composer by selecting Application Composer under the Configuration category in the Navigator menu.

  4. Under the Common Setup Menu, or on the Overview page, click Mobile Application Setup.

  5. Click the CX Sales Mobile Composer tab.

  6. In the Application Features pane, click Settings.

  7. Expand the App Settings section.

  8. Enter the email address, or addresses, that will receive the app feedback. If you're entering more than one email address, enter a comma without spaces between each email address. For example: f1@abccorp.com,f1@abccorp.com

  9. Click Save.

  10. Test and publish your new settings. See the "Test Your Configurations" topic for details about how to check your mobile configurations.

Embed Links That Open a Web App or Another Mobile App

You can create embedded links in CX Sales Mobile that automatically open web apps, or another mobile app, when you tap the link. Here's how:

  1. Sign in to the Oracle CX Sales application as user with a Sales Administrator role.

  2. Select the sandbox you want use for your configurations.

  3. Open Application Composer by selecting Application Composer under the Configuration category in the Navigator menu.

  4. Expand the menu for a standard or custom object and then select Fields.

  5. Create a new custom field and select the Formula option.

  6. Enter the formula field details. Make sure that you select a Formula Type of Text and that Include in Service Payload is selected (this will make the field appear in the mobile interface designer, so that you can add it to a mobile page). Click Next.

  7. Select the relevant fields in the Depends On field.

  8. In the Edit Script area, create a Groovy script that will generate a dynamic web URL with a prefix of http:// or https://. If you're creating a Groovy script that will open a custom mobile application, you need to use a prefix of the app reference and then ://, for example oscm://. Click Submit.

  9. Navigate to the main Application Composer page and click Mobile Application Setup.

  10. Select the object that you created the Groovy script for, and click the Detail page layout.

  11. Add the formula field you have just created to the detail page and click Save.

    Note: The field is rendered in a different format depending on where it's placed on the page. For example, if it's placed in a page header or information section, the field label displays as a link. If you add the field to the two column or single column sections, it appears with a label and a URL value.
  12. Test your updates and publish the sandbox when you're happy with the configuration. See the Test Your Oracle CX Cloud Mobile Configurations topic for details about how to check your mobile configurations.

Enable or Disable Oracle DataFox Account Scoring, Tiers, and Signals

Using Oracle DataFox, you can display scoring for an account and the DataFox account tier in the CX Sales Mobile Account pages, which helps sales representatives prioritize their prospects and customers. You can also display account signals to help your sales representatives stay up-to-date with the latest news on their accounts and use them to prepare for conversations with their customers.

Enable DataFox in Oracle CX Sales Mobile

Once you have enabled Oracle DataFox in the CX Sales app, the account scoring and tiers, and the account signals, appear in the Oracle CX Sales Mobile Account List and Summary page layouts automatically. For more information about enabling the DataFox features in the CX Sales app, follow the steps documented in the "Set Up and Administer Oracle CX Sales Integration" chapter of the Using DataFox guide.

However, if you have created new Account List and Summary page layouts before the 21A release, you need to add the DataFox account scoring, tiers, and account signals to your page layouts, as they won't appear automatically when you upgrade to 21A. Here's how to enable the account score and tier in the Account List page:

  1. Sign in to the Oracle CX Sales application as user with a Sales Administrator role.

  2. Select the sandbox you want use for your configurations.

  3. Open Application Composer by selecting Application Composer under the Configuration category in the Navigator menu.

  4. Under the Common Setup Menu, or on the Overview page, click Mobile Application Setup.

  5. In the Application Features pane, click Accounts.

  6. In the Accounts Views pane, click List and then select your layout in the Layouts pane.

  7. In the interface designer, click the eye icon in the first card that appears in the List page. Ensure that there isn't a line through the eye, otherwise the account scoring and tiers won't appear on the page.

  8. Repeat these steps for all of your List page layouts.

  9. Click Save.

Here's how you display the account score and the account scoring tier in the Account Summary page:

  1. In the Accounts Views pane, click Summary and then select your layout in the Layouts pane.

  2. In the interface designer, scroll to the INFO column and add the Account Score and Account Scoring Tier fields, using the + Add Field button.

  3. Repeat these steps for all of your Summary page layouts.

  4. Click Save.

Here's how you display the account signals in the Account Summary page:

  1. In the Accounts Views pane, click Summary and then select your layout in the Layouts pane.

  2. In the interface designer, scroll to the bottom of the summary page and click + Add Child or Related and select DataFox.

  3. Click and drag the three horizontal lines icon to move the Account Signals section to your preferred position on the page.

  4. Repeat these steps for all of your Summary page layouts.

  5. Click Save.

Test and publish your page layouts. See the "Test Your Configurations" topic for details about how to check your mobile configurations.

Disable DataFox in Oracle CX Sales Mobile

Once Oracle DataFox is enabled in the CX Sales app, it appears in the CX Sales Mobile app by default (unless you have created new Account List and Summary page layouts before the 21A release - see the Enable DataFox section above for more details). If you don't want to display DataFox information in CX Sales Mobile, you will need to complete these steps:

  1. Sign in to the Oracle CX Sales application as user with a Sales Administrator role.

  2. Select the sandbox you want use for your configurations.

  3. Open Application Composer by selecting Application Composer under the Configuration category in the Navigator menu.

  4. Under the Common Setup Menu, or on the Overview page, click Mobile Application Setup.

  5. In the Application Features pane, click Accounts.

  6. In the Accounts Views pane, click List and then select your layout in the Layouts pane.

  7. In the interface designer, click the eye icon in the first card that appears in the List page. Ensure that there is a line through the eye, as this means the account scoring and tiers are hidden on the page.

  8. Repeat these steps for all of your List page layouts.

  9. Click Save.

  10. In the Accounts Views pane, click Summary and then select your layout in the Layouts pane.

  11. In the interface designer, scroll to the INFO column and remove the Account Score and Account Scoring Tier fields.

  12. Scroll to the Account Signals section in the Summary page and delete the section.

  13. Repeat these steps for all of your Summary page layouts.

  14. Click Save.

  15. Test and publish your page layouts. See the "Test Your Configurations" topic for details about how to check your mobile configurations.

Track Leads and Opportunities Using the Business Unit Field and Define Page Layouts by Business Unit

You can add the business unit field to an opportunity or lead page layout, enabling you to track opportunities and leads by business unit. Also, you can define opportunity and lead page layouts by business unit, allowing you to create business unit specific layouts that display relevant fields in order of preference, making it quicker for your sales representatives to enter and update their opportunities or leads. You can also create CX Sales scripts that use the business unit field, meaning that you can, for example, enforce validations or business logic specific to a business unit, or mark fields as mandatory based on selected business unit.

Add the Business Unit Field to an Opportunity or Lead Page Layout

The business unit field is hidden by default, so here's how you add the field to the opportunity or lead List, Summary, or Edit page layout:

  1. Sign in to the Oracle CX Sales application as user with a Sales Administrator role.

  2. Select the sandbox you want use for your configurations.

  3. Open Application Composer by selecting Application Composer under the Configuration category in the Navigator menu.

  4. Under the Common Setup Menu, or on the Overview page, click Mobile Application Setup.

  5. In the Application Features pane, click Leads or Opportunities.

  6. In the Layouts pane, select the relevant page layout, or click the Click to Clone icon for the standard layout if you want to create a new page layout.

  7. In an opportunity layout, add the Business Unit ID field to the page layout, in a lead layout add the Business Unit Identifier field.

  8. Click Save.

  9. Test and publish your new page layouts. See the "Test Your Configurations" topic for details about how to check your mobile configurations.

Once you have added the field to opportunity and lead pages, the business unit value displays automatically for sales representatives who work in one business unit. Sales representatives who work across multiple business units can select the relevant business unit when they create an opportunity or lead.

Create Lead and Opportunity Page Layouts for Business Units

You can create a new page layout that's displayed for specific business units, or assign a business unit to an existing page layout. Here's how:

  1. Create a lead or opportunity page layout, or select an existing page layout.

  2. Add the Business Unit field to a lead and opportunity page layout (see the steps in the "Enable the Business Unit Field" section above).

  3. In Advance Criteria, select Add.

  4. Select Business Unit ID for opportunity layouts or Business Unit Identifier for leads layouts, the operator, and the relevant business unit field value.

  5. Click Save.

  6. Test and publish your new page layouts. See the "Test Your Configurations" topic for details about how to check your mobile configurations.

Create Custom Scripts for Business Unit Page Layouts

Using the CX Sales scripting feature, you can help guide sales representatives when they're creating or updating sales records by enforcing validations or business logic specific to a business unit, or specify field behavior based on selected business units. For example, you can make fields mandatory for a specific business unit page layout, or you can hide the business unit field if you don't want a sales representative to see it. For more details about creating scripts, see the "Configure the App with Custom Scripts" topic.

Use Workspace Saved Searches as Custom Filters and Sort Options in Pickers

Once you have set up your Workspace saved searches using Workspace in the CX Sales web app, sales representatives can take advantage of the following features:

  • Use the Workspace saved searches as filters for the pickers and sort options for Workspace enabled standard and custom objects. This enables sales representatives to have the same personalized experience when searching, sorting, and viewing list results for the pickers as they have with the corresponding object list pages.

  • Use a default Workspace saved search that's specific to their role. As an administrator, you can set the default saved search per object for CX Sales Mobile app users for specific roles (or for all users if preferred). For more details, see the "Set Default Saved Searches for Mobile App Users" topic in the Adaptive Search and Workspace chapter in the Implementing Sales guide.

  • View records related to the parent record in pickers. For example, the opportunity picker shows related opportunities for the account selected for a new task.

FAQs

Here are some FAQs about this feature:

Question: How do I create a custom filter for use in a picker?

Answer: Create a custom Workspace saved search for an object using the CX Sales web app Workspace feature. For example, you could create a saved search called "My Primary Accounts" for the account object.

Question: Why can't I use a saved search as a filter for a picker?

Answer: If an object isn't enabled for adaptive search in workspace, then the picker won't show workspace saved searches as filters.

Question: Why do the resource, competitor, product, industry, and classification pickers only display predefined filters?

Answer: These objects aren't enabled in Workspace by default, so until they're enabled the pickers for these objects will display predefined filters.

Use Mobile Device Management Software to Install CX Sales Mobile

You can use Mobile Device Management software to install the CX Sales Mobile application, enabling you to manage the CX Sales Mobile app in your organization.

When a sales representative installs the app using the Mobile Device Management software, you can choose to pre-populate the host URL value and then require sales representatives to sign in with their basic authentication details, or you can pre-populate the host URL and specify that their Single Sign-On details are used. Here's how:

  1. Add CX Sales Mobile to your organization's Mobile Device Management application catalog.

  2. In the Mobile Device Management app, navigate to the application configuration details, so that you can specify configuration values for CX Sales Mobile.

  3. Create a new configuration record to set the host URL value. Use these values:

    • Configuration Key:CXM_HOST

    • Value Type:String

    • Configuration Value: Your organization's host URL value. See the "Get Started with Your CX Sales Mobile Implementation" topic in the Implementing Sales guide for information about how to find your host URL value.

  4. Create another configuration record to specify basic authentication sign in, or Single Sign-On (SSO). Use these values:

    • Configuration Key:CXM_AUTH_TYPE

    • Value Type:String

    • Configuration Value: Don't enter a value if you want to use SSO, enter BASIC if you want to use basic authentication.

Configure the App for Partner Relationship Management

Channel managers and Partner users can leverage the CX Sales Mobile app to manage and grow channel sales efficiently on the go. Channel managers can manage partners, partner contacts, and other partner related information. Partners can access all of the standard sales features, such as leads and opportunities, so that they can track and manage their partner sales activities.

All of the Partner Relationship Management features are available out of the box for the following roles:

  • Partner Sales Representative

  • Partner Sales Manager

  • Partner Administrator

  • Channel Account Manager

  • Channel Sales Manager

  • Channel Operations Manager

The Partner and Partner Contact Management features are available out of the box for these roles:

  • Channel Account Manager

  • Channel Sales Manager

  • Channel Operations Manager

You can also configure CX Sales Mobile to suit your particular channel and partner management business requirements, and allow other roles access to PRM features. Here's what you can configure:

Configure the Home Page for Channel Manager Roles

All PRM roles have access to their pipelines, tasks, and appointments on the home page by default. In addition, you can add a partner card containing high-level partner information to the home page, which enables channel managers to get a summary of their partner sales information. Here's how:

  1. Sign in to the Oracle CX Sales application as user with a Sales Administrator role.

  2. Select the sandbox you want use for your configurations.

  3. Open Application Composer by selecting Application Composer under the Configuration category in the Navigator menu.

  4. Under the Common Setup Menu, or on the Overview page, click Mobile Application Setup.

  5. Click the CX Sales Mobile Composer tab to open the CX Sales Mobile configuration tool.

  6. In the Application Features pane, click Cards.

  7. In the Layouts pane, create a new home page layout by clicking the Click to Clone icon.

  8. Enter a layout name and click Ok.

  9. In the Assigned Roles pane, select the channel managers roles that will view the home page.

  10. Scroll to the bottom of the interface designer and click + Add Custom Card at the bottom of the home page.

  11. Select the Partner object card from the list and then on the next page select the Workspace saved search for the card.

  12. Edit the header and title, and add an aggregation field and footer. You can hide the total number of relevant partner objects by clicking the eye icon, ensuring it has a cross through it. You can also change the saved search by clicking the more button (three horizontal dots) on the card.

  13. If you want to hide the pipeline, tasks, and appointments cards, click the relevant card in the interface designer, and disable the Show Card option in the Card Settings pane.

  14. If you want to rename the strings on the cards, you need to use the I18N feature. See the "Rename Child Objects and Strings in the App" topic for more details.

  15. Click Save.

  16. Test and publish your new page layouts. See the "Test Your Configurations" topic for details about how to check your mobile configurations.

Allow or Restrict Access to the Partner Object in the Main Menu

The Partner object appears in the main menu out of the box for these channel manager roles:

  • Channel Account Manager

  • Channel Operations Manager

  • Channel Sales Manager

If you would like to allow another role to have access to the Partner object in the main menu, or you want to hide the Partner object for a particular channel manager role, follow these steps:

  1. Follow the first five steps in the "Configure the Home Page for Channel Manager Roles" section above.

  2. In the interface designer, click the main menu and then click the Partners object.

  3. In the Feature Details pane, click Assigned Roles and add or remove roles by either searching for a role to add a role, or click the cross icon to remove a role.

  4. Click Save.

  5. Test and publish your new page layouts. See the "Test Your Configurations" topic for details about how to check your mobile configurations.

Set up Page Layouts for the Partner Object

You can create your own page layouts for the Partner object, so that the pages reflect your business requirements. You can create List and Summary page layouts, and you can also configure the Partner picker and global search. For information about creating these page layouts, see the following topics in the Implementing Sales guide:

  • Configure the App Using the Configuration Tool

  • Configure the List Page Layout

  • Configure the Summary Page Layout

  • Configure the Picker Layout

  • Configure the Global Search Layout

Note: There isn't an Edit page layout available for the Partner object.
Add the Partner Field to Sales Object Page Layouts

You can add partner fields to other sales object page layouts, such as the Primary Partner field in opportunity page layouts and the Partner Party Name field in task page layouts. See the "Configure the App Using the Configuration Tool" topic for information about how to add fields to page layouts.

Add the Partner Object to Summary Page Layouts

You can also add the Partner object as a related object in other sales object summary page layouts, such as the opportunity summary page layout, so that channel managers can see the related partner information for the respective object. See the "Child and Related Object Sections" of the "Configure the Summary Page Layout" topic for information about how to add a related object to a summary page layout.

Remove Address Actions on the Account and Contact Page Layouts

You can remove the actions that are available for addresses on the Account and Contact Summary and Edit pages, such as deleting or editing an address. Here's how:

  1. Sign in to the Oracle CX Sales application as user with a Sales Administrator role.

  2. Select or create a sandbox for your configurations.

  3. Open Application Composer by selecting Application Composer under the Configuration category in the Navigator menu.

  4. Under the Common Setup Menu, or on the Overview page, click Mobile Application Setup.

  5. Click the CX Sales Mobile Composer tab.

  6. In the Application Features pane, click either Account or Contact.

  7. In the Children pane, click the Address child object.

  8. Click the List page layout.

  9. In the Layouts pane, click the Click to Clone icon to create a new page layout.

  10. Enter a layout name and click Ok.

  11. In the interface designer, click the more icon (three horizontal dots) in the Address List card and remove the options that you don't want to appear by clicking the cross icon. This removes the options from the Address section in the main Account or Contact Summary or Edit page.

  12. If you want to remove the Create option, click the more icon (three horizontal dots) in the header and remove the Create option by clicking the cross icon. This removes the Create option in the main Account or Contact Summary or Edit page.

  13. Click Save.

  14. Test and publish your new page layouts. See the "Test Your Configurations" topic for details about how to check your mobile configurations.

Test Your Configurations

After you have configured Oracle CX Sales Mobile using Application Composer, you should test your configurations before distributing them to your user's mobile devices. Here's how:

  1. After making your configurations, keep the Oracle CX Sales application open, and make sure that the sandbox where you made the changes is active in the application.

  2. Open CX Sales Mobile on your mobile device and sign in as the same user that you used to make your configurations. If you have already signed in to CX Sales Mobile, you need to force close the app, and open it again. This is because the app picks up the latest updates in the sandbox when you restart the app, or when you sign in.

  3. Once you have restarted the app and signed in, your configurations are ready to view. The sandbox where you made your configurations is linked to your user details, and the configurations are automatically downloaded when you restart the app. However, you can double check that you're in the correct sandbox by tapping Settings > System in the CX Sales Mobile menu, and check the Sandbox Name and the Last Download Time.

  4. Check your configurations. If you have more than one pod and you want to check your configurations in another pod, then you need to connect to the other pod by changing the host URL. Navigate to Settings in the CX Sales Mobile app, tap Reset Application, and enter the host URL of the relevant pod. For details about finding your host URL, see the Prepare section of the "Get Started with Your CX Sales Mobile Implementation" topic.

  5. If you make further updates in the sandbox, you need to force close the app, and sign in again to see the updates.

  6. When you're happy with your configurations, publish the sandbox to distribute the configurations to your users.

Offline Mode

How CX Sales Mobile Continues to Work Offline

Here's some useful information about how the app handles losing network connectivity when your users are using the app. In summary, when a network connection is lost, a message displays to let your users know that they're offline. They can continue working as before and after the network connection is restored, their changes are automatically synchronized.

Here are the details about how it works:

Data is Downloaded While the App is Online

While users are using the application online, up to two different subsets of data are downloaded for offline use:

  1. Data that they have viewed in the application.

  2. Data returned in the default saved search for standard and custom objects where you, as the administrator, have enabled the Auto Fetch feature. See the 'Configure the Offline Settings' topic for more information about the Auto Fetch feature.

All data is stored encrypted using the device's encryption. In addition, when a user allows the face or fingerprint recognition sign in feature, access to data in the offline mode is protected further by the biometric authentication.

Offline Message Displays When the App is Offline

If network connectivity is lost while the app is in use, a message appears to let users know that they're working offline. At the top on the page, a banner displays how many updates will be synchronized when they're back online and also how long it's been since they last synchronized their data.

Offline Updates are Saved

When users are working offline, they can see all of the data that was saved onto the device while they were online. They can also create new records - or update existing records - which will then be synchronized to the server when they're back online.

When you view records that have been created or updated offline, you will see a visual indicator on the page indicating that the record will be synchronized to the server when you're back online. If you want to view all of the records that will be updated when the application is back online, then you can navigate to the pending sync queue by tapping the offline banner at the top of the page and then tapping the more icon in the Pending Sync page.

Offline Data is Synchronized

Once the network connection is restored, the records that are pending synchronization are synced to the Oracle CX Sales web app in the order that the transactions were made offline. If a transaction fails to sync, for example due to a validation error, the corresponding error message is displayed against the record in the Pending Sync queue. Once you have resolved the issue, you can sync the record manually by tapping the more icon in the offline banner at the top of the page and then tap the Retry Sync For All button.

Note: If the application detects a data conflict, then the changes made in CX Sales Mobile will override any changes made in the Oracle CX Sales web application.

Configure the Offline Settings

Using Application Composer you can configure Oracle CX Sales Mobile's offline settings, such as whether users can create and edit records offline, and determine which sales objects' records are available offline.

Configure Which Objects Are Available Offline Using the Auto Fetch Feature

By default all of the data that you view in the application when you're online is downloaded for offline use. In addition to this data, you can also enable the Auto Fetch feature for standard and custom sales objects, which downloads a subset of records (including the related child records) for each object that has the feature enabled. The application uses the default saved search for the Auto Fetch enabled object as the criteria for the data subset.

Here's how you enable the auto fetch feature for an object:

  1. Enter a sandbox and open Application Composer.

  2. Click Mobile Application Setup.

  3. Click the CX Sales Mobile Composer tab.

  4. Click Home within the Application Features menu.

  5. Within the visual representation of the app, click the object that you want to enable Auto Fetch for.

  6. In the Feature Details section, enable the Enable Auto Fetch option.

  7. Repeat steps 4 and 5 for each object that you want enabled for Auto Fetch.

  8. Click Save.

Configure the Other Offline Settings

All other offline settings are configured in the CX Sales Mobile Settings page in Application Composer. Follow steps one to three above and click Settings in the visual representation of the app. Here are settings that you can configure:

Setting Name Description

Enable Offline Mode

Enables or disables the offline mode.

Enable Offline Create and Edit

Enables or prevents the creation and editing of data offline. When this option is turned off, users have read-only access to the data.

Enable Deferred Create and Edit

Determines whether the application creates and edits transactions synchronously or asynchronously. If this setting is enabled, then transactions are updated asynchronously from the application to the CX Sales server.

Manual Sync

Determines whether manual sync synchronizes updates from CX Sales Mobile to the CX Sales server and then back to CX Sales Mobile (2-Way), or just from CX Sales Mobile to the CX Sales server (1-Way).

Maximum Number of Retries

Determines the maximum number of times the CX Sales Mobile app tries to apply offline updates to the CX Sales server.

Online Data Fetch Policy

Defines whether the app uses data stored on the mobile device, or CX Sales server data, when there's a network connection. The Local option means the application only displays data stored on the mobile device. The Remote option means the application only displays the data from the CX Sales server. The Both option means the application displays the local data primarily and then queries the server in the background for remote data that has changed. The changed data is then displayed rather than the local data.

Conflict Policy

Determines whether the client or server update is chosen when there is a conflict. The Client Win Update option is supported only.

FAQs

What note apps can I use with CX Sales Mobile?

As well as the note app that's provided with your mobile device, you can use other notes apps - such as Google Keep or OneNote - to create and share notes.

Can I scan a business card to create a contact or lead?

Yes, you can add contacts and leads by scanning a business card using your mobile device's camera, or by using an existing photo of a business card, and a new contact or lead is created in the app using the information on the business card. Here are the steps:

  1. Tap the plus icon in the Contacts or Leads list page.

  2. Tap From Business Card.

  3. Tap either From Photo Gallery to use an existing photo, or tap Take Photo to take a photo of the card using your mobile device.

  4. Check the newly created contact or lead details and, if required, edit the details. Then tap Save.

Note: Here are some points to note about the business card feature:
  • Only business cards in English are supported at this time.

  • Only US address formats are supported at this time.

  • The business card needs to contain an email address. The domain name (@example.com) is used to search for an existing account. If a single account is found, then the account details are populated automatically in the new record. If more than one is account found, then the account field is left empty, and you will need to select an account.

  • The app has a list of job titles that are used to match the job title on the business card. If a match can't be made, then you can add it to the record, and the job title is added to the job title list so that it can be used in the future. Also, if you edit a job title then this is added to the job title list as a new job title, so that you can use it again.

  • For best results, you should use a photo of the actual business card. Don't use a photo which is a picture of a business card on a monitor, for example, as the image quality won't be good enough.

  • Ensure that there is a good color contrast between the business card background and the text on the card, as this enables a better scan.

Why has the note I created become a PDF attachment?

Some note apps, for example the OneNote app, create a note as a PDF file. CX Sales Mobile recognizes the PDF as an attachment, rather than a note, and adds the file to the record as an attachment.

What type of files can I attach to a record?

You can attach photos, videos, audio recordings, Word documents, PowerPoint presentations, Excel files, plain text files, and PDFs.

You can attach one video to a record, and up to three other file types.

CX Cloud Mobile

Overview of Oracle CX Cloud Mobile

The Oracle CX Cloud Mobile (CX Cloud Mobile) application helps your users to manage their day effectively and develop customer relationships using a smartphone. With a task-based user interface and built-in analytics, the CX Cloud Mobile application guides daily sales activities and enables the following activities:

  • Manage Sales Activities

    • Manage daily activities on your calendar.

    • View and update opportunities.

    • Create follow up tasks, to help you manage all your activities, including your leads, opportunities, and deals.

    • View and update call reports, to help you prepare for future meetings and log meeting attendees, objectives, and minutes.

    • Review quote proposal documents and email them to customers. Share proposals with relevant team members and get feedback before finalizing the proposal.

    • View leads, opportunities, accounts, and partners in your vicinity using the map.

  • Use Offline

    • View and edit Oracle CX Sales and B2B data in areas with no network connection.

    • Sync automatically when a connection is re-established.

  • Configure the Application

    • Configure your application using a drag-and-drop interface designer.

    • Add, remove, and reorder standard or custom fields.

    • Create layouts based on sales roles.

  • View Customer Service Requests

    • View, create, and edit service requests

    • Access related information such as team, message, and attachments

    • View service request interactions and milestone history

  • Manage Partner Relationships

    • Submit and approve deal registrations

    • Manage partners and partner contacts

Which phones and operating systems are supported?

See the System Requirements for Oracle Applications Cloud at: http://www.oracle.com/us/products/system-requirements/overview/index.html

Setup Tasks for CX Cloud Mobile

Overview of Oracle CX Cloud Mobile Setup

Oracle CX Cloud Mobile works out of the box, without any setup required. All you need to do is install the application from the Apple App Store, or Google Play Store, and then enter the sign in information. See the "Install the Oracle CX Cloud Mobile iPhone Application" and "Install the Oracle CX Cloud Android Application" topics for more information about installing the app.

We recommend that you create and distribute a URL that automatically populates the host, port number, and SSO and SSL settings for your users, otherwise users have to manually enter these sign in settings. When users access the URL you have created, CX Cloud Mobile will open with the applicable settings already populated. For details about how to create the URL, see the topic called "How can I automatically populate the host, port number, and SSO and SSL settings?"

If you want to further configure CX Cloud Mobile, here's a summary of what you can do and how to do it:

  • If you want to configure the application to fit your organization's requirements, it's easy to do using the drag-and-drop interface designer in Application Composer. First, you will need to enable the ZMS_DISABLE_OSCM profile option. Setting the profile option enables the new mobile interface designer in Application Composer. Navigate to the Setup and Maintenance work area, go to the Manage Profile Options task. On the page, enter ZMS_DISABLE_OSCM, click Search, and enable the profile option.

  • Now that you have enabled the interface designer in Application Composer, you can configure the app to fit your business requirements. You can configure the app in many different ways, including creating page layouts for different roles and geographical regions within your organization, tracking usage, and creating custom scripts that will trigger at set events. For more details about configuring CX Cloud Mobile, see the topic called "Configure Oracle CX Cloud Mobile".

  • If you want your sales team to view Business Intelligence reports in CX Cloud Mobile, you will need to add the individual reports to an object's Analytics subtab. See the topic called "Add Oracle Business Intelligence Reports to a Sales Object's Analytics Subtab" for more details.

How to Find Your Company's Host URL

When you sign in to the Oracle CX Cloud Mobile (CX Cloud Mobile) application, you must enter a host URL that specifies your sales application server location. The URL can be entered manually, or you can create a URL that will automatically populate the host name, port number, and enable SSL (refer to the How can I automatically populate the host and port information for CX Cloud Mobile users topic for more details).

Here's how you find out the host URL value that you will need:

  1. Sign in to your sales application and select Navigator and then Application Composer.

  2. Copy the host name portion of the URL that's in your browser's address bar. The host name is the part between https:// and the next slash (/). For example, the host URL might be something like: example-xxxx.exampleleads.com.

  3. If users are entering the Host URL manually, then inform your users of the host URL value, so that they can use it when they sign into the application.

How can I automatically populate the host, port number, SSO and SSL settings using a QR code?

To make signing in to the app easier for your users, create a QR code that automatically populates the sign in settings. You can create a QR code using any QR code generator and you can find many free ones available on the internet.

You will need to construct a URL that automatically populates the sign in settings, so that you can add it to the QR code. Here's how to create the URL:

  1. Find out the host URL by signing in to your CX Sales application, and in your browser's address bar, locate the part of the URL between https:// and the next slash (/). For example, it might be something like: example-xxxx.exampleleads.com. Take a note of the host URL, as you will need in the next step.

  2. Create the URL that automatically populates the sign in settings.

    • To populate the host URL automatically, create a URL using this format: oscm://?host=<host value>. Substitute <host value> with the host URL value you noted in the first step (leaving out the brackets). For example, oscm://?host=example-xxxx.exampleleads.com

    • To populate the host URL and SSO settings, use this format: oscm://?host=<host value>&useSSO=<true/false>. For example, oscm://?host=example-xxxx.exampleleads.com&useSSO=true.

    • To populate the host URL, port number, and SSL settings, use this format:: oscm://?host=<host value>&port=<port value>&useSSL=<true/false>. For example: oscm://?host=example-xxxx.exampleleads.com&port=12345&useSSL=true.

Install the iPhone Application

Here's how you install the Oracle CX Cloud Mobile application on to your iPhone:

  1. Open the App Store, search for Oracle CX Cloud Mobile application, and then tap Install.

  2. Open the application. If you have received an application URL from your administrator, you can tap on the URL link to open the application. Alternatively, you can scan the QR code to launch the application.

  3. Accept the Legal Terms.

  4. If you have opened the application using the application URL or the QR code, the host name, port number, and SSL details will be populated automatically.

    If you opened the application after downloading it from the App Store, you must enter the host name your administrator has provided (or refer to the Finding Your Company's Host URL: Worked Example topic).

  5. Enter your sales application user name and password. You can tap Save Password to save this password.

  6. Tap Sign In.

Install the Android Application

Here's how to install the Oracle CX Cloud Mobile application on to your Android device.

  1. Open the Google Play Store on your Android device.

  2. Search for the Oracle CX Cloud Mobile application and tap Install.

  3. Open the application. If you have got the application URL from your administrator, you can tap on the URL link to open the application. Alternatively, you can scan the QR code to launch the application.

  4. Accept the Legal Terms.

  5. If you have launched the application using the application URL, or the QR code, the host name will be populated automatically.

    If you have opened the application after downloading it from the Google Play Store you must enter the host name provided by your administrator (or refer to the Finding Your Company's Host URL: Worked Example topic). Tap Settings to enter the host name.

  6. Enter your sales application user name and password. You can tap Save Password to save this password.

How is Downloaded Data Made Secure?

Data downloaded onto your smartphone by the application is stored in an encrypted format. To further protect the stored data, the offline mode is available only after you have successfully signed in to the application.

Enable or Disable Features Using the Profile Options

The following table lists the Profile Options that you can use to configure Oracle CX Cloud Mobile:

Profile Option Name Profile Option Description
ZMS_DISABLE_OSCM
Specify whether you want to configure Oracle CX Cloud Mobile in Application Composer (by selecting ENABLED), or configure Oracle Sales Cloud Mobile (by selecting DISABLED).
ZMS_DISABLE_EMA_CLIENT_ACCESS
Specify whether Oracle CX Cloud Mobile has access to Oracle CX Sales data.
ZMS_LOG_CALLS
Specify whether calls and emails from Oracle Sales Cloud Mobile are logged automatically, or require user confirmation before they're logged.
ZMS_MOBILE_CALENDAR_SYNC
Enable synchronization of the calendar with smartphone calendar applications.
ZMS_MOBILE_CONTACTS_SYNC
Enable synchronization of contacts with smartphone contact applications.
ZMS_SAVE_LOGIN_PASSWORD
Enable saving of the login password on the mobile device for a more automated sign in.

How can I disable access to CX Sales data from the Oracle CX Cloud Mobile application?

Open the ZMS_DISABLE_EMA_CLIENT_ACCESS Profile Option and set the value to DISABLED to disable access to Oracle CX Sales data from Oracle CX Cloud Mobile.

Can I set up a user prompt to log an interaction as a call report?

Yes, you can set up a prompt to log an interaction as a call report after a user receives a phone call, email, text message, or attends a meeting. Open the ZMS_LOG_CALLS profile option and set the value to CONFIRM. Alternatively, if you want to all log interactions automatically, set the profile option value to AUTOMATIC.

How can I enable or disable the option to save sign in passwords?

Open the ZMS_SAVE_LOGIN_PASSWORD Profile Option and set the value to ENABLED to enable the password saving option, or set the value to DISABLED to disable it.

Set up the Maps Feature

There are certain scheduled processes that need to be run to enable the maps feature in the application. This procedure shows you which processes you need to run and the order you need to run them in.

  1. Sign in to Oracle CX Sales as a user with an Application Implementation Consultant role.

  2. Enable geocoding for a country by following the steps in the Set Up Geocoding topic, found in the Geographies chapter in the Implementing Applications guide.

  3. Navigate to the Scheduled Processes work area and click Schedule New Process.

  4. Click the Name drop-down button, search for the Populate Location Latitude and Longitude Information process, and then click OK. This process populates the latitude and longitude information for every sales object apart from leads.

  5. Enter the parameters, such as the start date and end date, and schedule the job to run automatically at specified intervals.

  6. Click Submit.

  7. Carry out steps 3 to 5 again, this time searching for the Populate Lead Latitude and Longitude Information process. This process populates the latitude and longitude information for leads

  8. Click Submit.

Offline Mode

How CX Cloud Mobile Continues to Work Offline

If you lose connectivity for whatever reason, you receive a message that you're offline, but then you can continue working as before. After the network connection is restored, your changes are automatically synchronized. The application warns you if there's a problem, so you can decide what to do. For example, if you updated a record that was also updated by someone else while you were offline, you have to decide what information to keep.

Here's more information about how it works:

Data is Downloaded While you're Online

While you're using the application online, up to two different subsets of data are downloaded for offline use:

  1. Data that you view in the application.

  2. Data for standard and custom objects where the administrator has enabled the Auto Fetch feature.

Up to 50 MB of offline data can be stored on your device by default. This is usually sufficient for typical usage, however if you find that this isn't enough then you can increase the storage in increments of 100 MB, up to a maximum of 500 MB. To change the storage amount, tap Settings within the application, and then set the Offline Storage Amount.

The data that's downloaded is stored until the time specified in the Auto Clear Cache field in Application Composer; after this time the local data will be erased and fresh subsets of data are downloaded when you use the application online. To configure the Auto Clear Cache time period, navigate to the Mobile Application Setup page in Application Composer, select Settings, then select an Auto Clear Cache option.

Offline Message is Displayed When you're Offline

If your network connectivity is lost while you're using the application, a message is displayed at the top of the page to indicate that you're working offline. You can either dismiss this message for each offline session, or you can stop the message from displaying by navigating to the Mobile Application Setup page in Application Composer, selecting Settings in the main menu, and in the Offline Mode section disable the Offline Notification option.

Offline Updates are Saved

When you're working offline, you can see all of the data that was saved onto the device while you were online. You can also create new records - or update existing records - which will then be synchronized to the server when you're back online.

When you view records that have been created or updated offline, you will see a visual indicator on the page indicating that the record will be synchronized to the server when you're back online. If you want to view all of the records that will be updated when the application is back online, then you can navigate to the pending sync queue by tapping Pending Sync in the main menu.

Offline Data is Synchronized

Once the network connection is restored, the records that are pending synchronization are synced to Oracle CX Sales in the order that the transactions were made offline. If a transaction fails to sync, for example due to a validation error, the corresponding error message is displayed against the record in the Pending Sync queue. Once you have resolved the issue, you can sync the record manually.

Note: If the application detects a data conflict, then the changes made in CX Cloud Mobile will override any changes made in the Oracle CX Sales application.

Configure the Offline Settings

Using Application Composer, you can configure Oracle CX Cloud Mobile's offline settings, such as whether the offline data synchronization is automatic or manual. You can also select which sales objects' records are available offline.

To configure the general offline settings, navigate to the Mobile Application Setup page in Application Composer, and click Settings to configure these offline options:

  • Enable Offline Mode: Enables or disables the offline mode.

  • Enable Offline Create and Edit: Enables or disables the creating and editing of data offline.

  • Auto Sync: Determines whether the application automatically synchronizes offline updates from CX Cloud Mobile to Oracle CX Sales when a network connection is detected.

  • Disable Deferred Create and Edit: Determines whether the application creates and edits transactions asynchronously. If this setting is disabled then transactions are synchronized asynchronously from the application to Oracle Cloud.

  • Manual Sync: Determines whether the manual synchronization synchronizes updates from CX Cloud Mobile to Oracle CX Sales and back to CX Cloud Mobile (2-Way), or just from CX Cloud Mobile to Oracle CX Sales (1-Way).

  • Maximum Number of Retries: Determines the maximum number of times CX Cloud Mobile tries to apply offline updates to Oracle CX Sales.

  • Online Data Fetch Policy: Defines how the application uses the local data on the phone, as well as the server data, when there is network connection. The Local option enables the application to only display data stored on the phone. The Remote option enables the application to only display the data from the server. The Both option enables the application to display the local data primarily and then query the server in the background for remote data that has changed. The changed data is then displayed rather than the local data.

  • Auto Clear Cache: Defines the maximum duration that data is stored on a user's phone, after which the data is removed from the phone.

You can also configure the data that's available offline. By default all of the data that you view in the application when you're online is downloaded for offline use. In addition to this data, you can also enable the Auto Fetch feature for standard and custom sales objects, which downloads a subset of records (including the related child records) for each object that has the feature enabled. The application uses the default saved search for the Auto Fetch enabled object as the criteria for the data subset.

Note: Auto Fetch only downloads child records that are standard objects. Child records that are custom objects won't be downloaded.

Here's how you enable the Auto Fetch feature for an object:

  1. Within a sandbox, open Application Composer

  2. Click Mobile Application Setup

  3. Click Home within the Application Features menu

  4. Within the mobile interface designer, click the object that you want to enable Auto Fetch for.

  5. In the Feature Details section, enable the Enable Auto Fetch option.

  6. Repeat steps 4 and 5 for each object that you want enabled for Auto Fetch.

How can I allow a user to have access to another user's offline data?

Use the security console to allocate the ZEM_ALLOW_PRIVILEGED_ACCESS role to the user who requires access to other users' offline data. This role allows the user to sign in as another user, view the local data on the device, and perform a synchronization of any pending transactions.

Can I stop data being stored on users' devices?

Yes, you can disable the offline mode and this will stop records from being downloaded onto users' devices. Note that disabling the offline mode will mean that you can only access records online.

To disable the offline mode, navigate to the Mobile Application Setup page in Application Composer, and select Settings to configure the Enable Offline Mode option.

Does the application use downloaded data in the online mode?

While you're using the application online, up to two different subsets of data are downloaded to your device (see the How CX Cloud Mobile Continues to Work Offline topic for more details). The downloaded data is used when you're offline, but it's also used when you're online. When you view a record online the application displays the downloaded record first, so that the record is displayed more quickly, and then checks the Oracle CX server for any updates to the record. If the record has been updated on the server, then the application downloads and displays the latest data.

Downloaded data is also used when you search for a record online. The downloaded data is searched first and then if the record can't be found you're given an option to search the Oracle CX server data.

Note: If you have disabled the offline mode then records aren't downloaded to your device, and they're displayed only when they have been retrieved from the Oracle CX server.

When does Oracle CX Cloud Mobile update records with Oracle CX Sales updates?

As you browse your data online, CX Cloud Mobile checks whether the records you're viewing have been updated in Oracle CX Sales. If the records have changed, the application downloads the latest changes, and updates the records.

CX Cloud Mobile Extensions

Configure Oracle CX Cloud Mobile

You can configure the Oracle CX Cloud Mobile iPhone and Android applications using a drag-and-drop interface designer in Application Composer. Using the interface designer, you can manage which objects and fields are visible in the application, without having to carry out specific configurations for a particular device.

Before starting your configurations, you will need to set the ZMS_DISABLE_OSCM profile option to ENABLED. Setting the profile option enables the mobile interface designer in Application Composer. For more information about profile options, see the profile options chapter in the Implementing Sales guide.

Create a Page Layout for a Feature

You can create a List, Detail, or Edit page layout for a Oracle CX Cloud Mobile feature. When you create your own layout, you can select the fields that your users can view. See the Create a Page Layout for a Feature topic for details about how to create a page layout.

You can also add, remove, move, and change a field's display format. Here are some topics that provide information about configuring a page layout::

  • How can I add a field to a feature's page layout?

  • How can I delete a field in a feature's page layout?

  • How can I move a field in a feature's page layout?

  • How can I edit a field's display format in a feature's page layout?

  • How can I hide or display user actions for a feature?

Add a Role to a Page Layout

You can add a role to an application feature's List, Detail or Edit layout. For example, a user with the Sales Manager role might want to see certain fields on an opportunity detail record that other sales team members won't need. See the Add a Role to a Layout topic for details about adding a role.

Create Criteria for a Page Layout

You can create criteria to define a set of conditions that have to be met before a page layout is displayed. See the Create Criteria for a Feature Page Layout for step by step instructions.

Add Your Own Custom Object to a Page Layout

You can add your own custom objects to the application, and add page layouts in the same way that you can with standard sales objects. See the Add Your Own Object to a Page Layout topic for more details.

Assign Geographical Regions to a Page Layout

You can assign geographical regions to a page layout, which will restrict a page layout's availability to users from your selected set of geographical regions. See the Assign Geographical Regions to a Page Layout topic for more details.

Other CX Cloud Mobile Configurations

You can configure the application in many other ways, such as creating custom scripts that will trigger at set events, creating saved searches, and adding Oracle Business Intelligence reports to a feature's Analytics tab. See the Oracle CX Sales Implementing Sales guide, or the Oracle Applications Cloud Configuring Applications Using Application Composer guide for more details.

Test Your Configurations

After you have configured Oracle CX Cloud Mobile, you should test your configurations before distributing them to your user's mobile devices. See the Test Your Oracle CX Cloud Mobile Configurations topic for more details.

Create Your Own Page Layout for a Feature

This procedure shows you how to create a List, Detail, or Edit page layout for an Oracle CX Cloud Mobile feature. Creating your own layout enables you to select the fields your users will see for a feature's views in CX Cloud Mobile.

Tip: You can also specify which user roles can view a particular layout, create criteria that have to be met to display the layout, add custom objects, and specify which geographical regions can view the layout.
  1. Sign in to the Oracle CX Sales application as user with a Sales Administrator role.

  2. Select the sandbox you want use for your configurations.

  3. Open Application Composer by selecting Application Composer under the Configuration category in the Navigator menu.

  4. Under the Common Setup Menu, or on the Overview page, click Mobile Application Setup.

  5. In the Application Feature pane, click the feature that you want to create a layout for.

  6. Select the relevant type of page view, such as the detail or list view.

  7. In the Layout pane, click the Duplicate icon for the Standard layout and enter a layout name.

  8. Click OK.

  9. Select the Active tick icon if it's not already ticked.

  10. Add fields to the layout by selecting the field in the Available Fields pane, and then move the field onto the mobile interface designer. See the topic called How can I edit a field's display format in a feature's page layout for information about defining a display format for your fields.

  11. You can remove fields by clicking the field you want to delete on the mobile interface designer and then clicking the cross icon.

  12. You can move fields by clicking the field and moving it to your preferred location.

  13. Click Save in the Application Composer page.

  14. Test and publish your new page layouts. See the Test Your Oracle CX Cloud Mobile Configurations topic for details about how to check your mobile configurations.

How can I add a field to a feature's page layout?

Navigate to the mobile interface designer in Application Composer, select the field in the Available Fields pane, and then move the field onto the mobile interface designer. Click Save. See the Create Your Own Page Layout for a Feature topic for more information about creating a page layout.

How can I delete a field in a feature's page layout?

Navigate to the mobile interface designer in Application Composer, select the field you want to delete, and then click the cross icon. Click Save. See the Create Your Own Page Layout for a Feature topic for more information about creating a page layout.

How can I move a field in a feature's page layout?

Navigate to the mobile interface designer in Application Composer, select the field you want to move, and then click the field and move it to your preferred location. Click Save. See the Create Your Own Page Layout for a Feature topic for more information about creating a page layout.

How can I edit a field's display format in a feature's page layout?

Navigate to the mobile interface designer in Application Composer, select the field you want to edit, and click the Edit pencil icon. Select the display format you want and click Save. See the Create Your Own Page Layout for a Feature topic for more information about creating a page layout.

Note: Not all fields can be edited. You can only edit fields that require you to choose a display format.

How can I hide or display user actions for an object?

Navigate to the mobile interface designer in Application Composer, select the object, then select either the List or Detail page. Select or create a page layout, click the more button on the phone in the mobile interface designer, and select which user actions you want to display or hide using the toggle buttons. Click Save .

See the Create Your Own Page Layout for a Feature topic for more information about creating a page layout.

Add a Role to a Layout

This example describes how to add a role to an Oracle CX Cloud Mobile page layout. You can add a role to an application feature's List, Detail or Edit layout. For example, a user with the Sales Manager role might want to see certain fields on an opportunity detail record that other sales team members won't need.

Note: You can't add a role to a custom feature. Custom features are created when you create a custom object in Application Composer, and they're selected from the Available Features pane.

In this example, you add a role to an Opportunity Detail layout and display the new layout in the CX Cloud Mobile application.

Add a Role to a Layout
  1. Sign in to the Oracle CX Sales application as user with a Sales Administrator role.

  2. Select the sandbox you want use for your configurations.

  3. Open Application Composer by selecting Application Composer under the Configuration category in the Navigator menu.

  4. Under the Common Setup Menu, or on the Overview page, click Mobile Application Setup.

  5. In the Application Feature pane, click the feature that contains the page layout that you want to add roles to. In this example, expand the Opportunities subheader.

  6. Select the relevant type of page view, such as the detail or list view. In this example, select the Detail view.

  7. In the Layouts pane, select the relevant page layout, or create a new page layout (see the Creating a Page Layout for a Feature: Procedure topic for details about how to create a page layout).

  8. In the Assigned Roles pane, select the roles you want to add and click Save.

Test and Publish Your Changes
  1. Check that your changes appear in the mobile application. See the Testing Oracle CX Cloud Mobile Configurations: Worked Example topic for details about how to check your mobile configurations.

  2. When you're happy with your changes, publish your sandbox to distribute your configurations to all CX Cloud Mobile users.

Create Criteria for a Feature's Page Layout

This procedure shows you how to create criteria for an Oracle CX Cloud Mobile feature's page layout. Creating criteria enables you to define a set of conditions that have to be met before the page layout is displayed for a feature's Detail or Edit views. For example, if you create criteria for an Opportunity Detail layout as follows: Win probability is Greater than 50%, then any opportunities with a win probability greater than 50% will use your layout in the Detail view.

Note: You can't create criteria for a feature's List view.
  1. Sign in to the Oracle CX Sales application as user with a Sales Administrator.

  2. Select the sandbox you want use for your configurations.

  3. Open Application Composer by selecting Application Composer under the Configuration category in the Navigator menu.

  4. Under the Common Setup Menu, or on the Overview page, click Mobile Application Setup.

  5. In the Application Feature pane, click the feature that contains the page layout that you want to add criteria to.

  6. Select the relevant type of page view, such as the detail or list view.

  7. In the Layouts pane, select the relevant page layout, or create a new page layout (see the Create Your Own Page Layout for a Feature topic for details about how to create a page layout).

  8. In the Advance Criteria pane, click Add.

  9. Create your criterion by selecting a field, operator, and then entering the relevant field value.

    Note: You can't select a field value from a list of values, so you will need to type in the value if you would normally select it from a list of values.
  10. To add a conditional statement click Add and select AND or OR. Enter the field, operator, and relevant field value.

  11. When you have finished creating your criteria for the page layout, click Save in the top right-hand side of the Application Composer page.

  12. Test and publish your new page layout criteria. See the Test Your Oracle CX Cloud Mobile Configurations topic for details about how to check your mobile configurations.

Add a Custom Object to a Page Layout

You can add a custom object to your Oracle CX Cloud Mobile application. Sales objects are also known as features in CX Cloud Mobile, and when you create a custom Sales object in Application Composer a corresponding feature is also created in CX Cloud Mobile. These features can be found in the Available Features pane in the Mobile Application Setup page.

Here's how you add a custom object, or feature::

  1. Sign in to the Oracle CX Sales application as user with a Sales Administrator role.

  2. Select the sandbox you want use for your configurations.

  3. Open Application Composer by selecting Application Composer under the Configuration category in the Navigator menu.

  4. Select the Sales application and find the custom object you want to add to CX Cloud Mobile.

  5. Expand the object's menu and click Fields.

  6. Select the field you want to add to CX Cloud Mobile.

  7. In the Constraints section, enable the Include in Service Payload option.

  8. Click Save and Close.

  9. Repeat steps 6 to 8 for each field that you want to add to the application.

  10. Next, under the Common Setup Menu, click Mobile Application Setup.

  11. In the Available Feature pane, click on the custom object (otherwise known as a feature) that you want to add and move it onto the mobile interface designer.

  12. Click OK in the information message about the views that will be created.

  13. If you want to add custom layouts to the List, Edit, or Detail views, see the Create Your Own Page Layout for a Feature topic for more details.

  14. If you want to add fields to the picker, click on the fields you want to add in the Available Fields pane, and move them onto the mobile interface designer.

  15. When you have finished adding features, click Save in the top right-hand side of the Application Composer page.

  16. Test and publish your new features. See the Test Your Oracle CX Cloud Mobile Configurations topic for details about how to check your mobile configurations.

How can I hide or display a feature in the navigator menu?

Navigate to the mobile interface designer in Application Composer. In the main menu displayed on the mobile interface designer, click on the feature you want to hide or display, and select enable or disable in the Feature Detail pane. Click Save.

Hide the Overview Section in Detail Pages

If you want to hide some fields in the overview section that appears at the top of Detail page layouts, you're best to hide the whole overview section, as you can't remove individual fields. Here's how you remove the overview section:

  1. Select the sandbox you want use for your configuration.

  2. Select Navigator > Application Composer > Mobile Application Setup.

  3. In the Application Feature pane, select the relevant feature and the Detail page view.

  4. In the mobile interface designer, click the List Overview banner to hide the overview section. You can click it again to make the overview section visible again.

  5. Click Save in the top right-hand side of the Application Composer page.

  6. Test and publish your new features. See the Test Your Oracle CX Cloud Mobile Configurations topic for details about how to check your mobile configurations.

Rename Fields in the Application

To update field names in Oracle CX Cloud Mobile, you need to update the field's display label in Application Composer, and then the field name is automatically updated in Oracle CX Cloud Mobile. See the 'Adding Objects and Fields in Application Composer' chapter in the Configuring Applications Using Application Composer guide for more information about updating field names in Application Composer.

Configure an Application Feature's Related Objects

An application feature (such as opportunities and contacts) can have related objects (such as attachments and Business Intelligence reports) displayed as tabs at the bottom of the detail page view. Here's how you can configure the appearance of the related objects and also how you can specify conditions to control who can view the related objects.

Adding, Removing, and Reordering Related Objects

You can add, remove, and reorder the related objects that appear in an application feature's detail page view.

  1. Create a new detail page layout for an application feature. For information about how to create a new page layout, see the Create Your Own Page Layout for a Feature topic.

  2. In the mobile interface designer, click the Related Item button to display the available related objects.

  3. To add a related object to the detail page, move a related object from the Related Items pane onto the mobile interface designer.

  4. To remove a related object, click the related object in the mobile interface designer and click the cross icon. The related object moves to the Related Items pane.

  5. To reorder the related objects, click the related object you want to move and move it up or down to the appropriate position.

Specifying Roles, Regions, and Criteria for Related Objects

You can create a set of related objects for a particular role or geographical region, or even for a specified set of criteria. For example, you can create a Business Intelligence reports tab in an opportunity's detail page that only sales managers can view.

Tip: You can specify roles, regions, and criteria for any type of page layout in the application, not just for related objects.
  1. Follow steps 1 to 5 in the Adding, Removing, and Reordering Related Objects section of this topic to specify the related objects you want to appear.

  2. To assign a role for the related objects and page layout, expand the Assigned Roles pane and click the role (or roles) to select them.

  3. To specify a set of related objects for a geographical region, expand the Assigned Regions pane and click the region (or regions) to select them.

  4. To specify a set of criteria conditions that restrict when the related objects are displayed, follow these steps:

    1. Expand the Advanced Criteria pane and click Add.

    2. Create your criterion by selecting a field, operator, and then entering the relevant field value.

    3. To add a conditional statement click Add and select AND or OR. Enter the field, operator, and relevant field value.

      Note: You can't select a field value from a list of values, so you must type in the value if you would normally select it from the list.
Test and Publish Your Changes

Check that your changes appear in the mobile application. See the Testing Oracle CX Cloud Mobile Configurations: Worked Example topic for details about how to check your mobile configurations.

When you're happy with your changes, publish your sandbox to distribute your configurations to all CX Cloud Mobile users.

Assign Geographical Regions to a Page Layout

Adding geographical regions to a feature's layout enables you to restrict its availability to users from a selected set of geographical regions. For example, if you add the United States and United Kingdom regions to a page layout, then only users from these countries can view the page layout.

Here's how you assign geographical regions to a page layout:

  1. Sign in to the Oracle CX Sales application as user with a Sales Administrator or Sales Implementor role.

  2. Select the sandbox you want use for your configurations.

  3. Open Application Composer by selecting Application Composer under the Configuration category in the Navigator menu.

  4. Under the Common Setup Menu, or on the Overview page, click Mobile Application Setup.

  5. In the Application Features pane, click the feature that contains the page layout that you want to add regions to.

  6. Select the relevant type of page view, such as the detail or list view.

  7. In the Layouts pane, select the relevant page layout, or create a new page layout (see the Create Your Own Page Layout for a Feature topic for details about how to create a page layout).

  8. In the Assigned Regions pane, select the geographical regions by clicking on the region. Select as many regions as you require.

  9. When you have finished adding regions, click Save in the top right-hand side of the Application Composer page.

  10. Test and publish your new features. See the Test Your Oracle CX Cloud Mobile Configurations topic for details about how to check your mobile configurations.

Add Oracle Business Intelligence Reports to a Feature's Analytics Tab

To view Oracle Business Intelligence (BI) reports in a feature's Analytics tab (for example, an Accounts or Contacts Analytics tab), you must first perform these configuration steps:

  1. Sign in to the Oracle CX Sales application as a user that has a Sales Administrator job role and create, or activate, a sandbox.

  2. Navigate to Application Composer.

  3. Select Mobile Application Setup under the Common Setup list.

  4. In the Application Features pane, click the feature that you want to add the report to.

    Note: You can add reports to the following Sales objects only: Account, Opportunity, Contact, Lead, Partner, and Deal Registration.
  5. Click Analytics.

  6. In the Available Reports section, search for the report you want to add to the Sales object's Analytics tab.

    Note: You can view all of your BI reports that you have available in your catalog.
  7. Move the report onto the mobile interface designer.

  8. Click on the report on the mobile interface designer to see the Report Information, Report Filters, and the Assigned roles sections.

  9. In the Report Filters section you can see the filters that have been created for the BI report. To further filter the report, or to enable contextual reporting, click the report in the mobile interface designer, and enter the parameters you want the mobile report to use in the Report Filters section. The parameter values are the attribute names which are available in Application Composer under the standard and custom fields list.

    You can override an BI report parameter value so that only the data relevant to the Sales object you're viewing is displayed. Any attributes (apart from ID and Name) can be used as filters by passing the appropriate parameters. For example, for an Account report you could filter using the @PartyId or @PartyUniqueName parameters to see report information relevant to the Account you're viewing.

    Note: You can only provide parameter values to filters that have already been defined in the original BI report.
  10. Click the filter's check box to make the filter active.

  11. In the Assigned Roles section, select the roles that will be able to view the report. If you don't assign a role then the report will be available to all job roles.

  12. Click Save.

  13. Check that your changes appear in the mobile application. See the Test Your Oracle CX Cloud Mobile Configurations topic for details about how to check your mobile configurations..

  14. When you're happy with your changes, publish your sandbox to distribute your configurations to all CX Cloud Mobile users.

Create a Link in a Business Intelligence Report That Opens the Corresponding Record in CX Cloud Mobile

You can add a direct URL to a sales object record - such as an Account or Opportunity detail page - within a Business Intelligence report, so that when you tap a sales object's URL the corresponding record opens automatically in Oracle CX Cloud Mobile. For example, in a report showing opportunities for the current quarter you can set up direct URLs for each of the opportunities, so that when you tap the opportunity name the opportunity edit page opens in CX Cloud Mobile.

There are three parts to setting up a report containing direct URLs:

  1. Create a Business Intelligence report

  2. Construct the direct URL

  3. Use the direct URL to set up an HTML link in your report

Create a Business Intelligence report

Firstly, you need to create your Business Intelligence report.

  1. From the Navigator in Oracle CX Sales, click Reports and Analytics.

  2. In the Reports and Analytics page, click Browse Catalog.

  3. In the Catalog page, click New and then Analysis.

  4. Create a report with attributes associated to the sales object you want to report on. For example, if you're creating an opportunity report you could include the following attributes: Opportunity Name, Opportunity ID, Customer Name, and Opportunity Revenue.

    Note: The report needs to include an ID, such as the Opportunity ID, if you want to create direct URLs that will open a specific record.

For more information about creating Business Intelligence reports, see the Creating and Administering Analytics for Sales guide.

Construct the direct URL

Next, you need to construct the direct URL, so that you can associate it to a column in your report. You can configure the direct URL to open an object's List, Detail, or Edit pages.

  1. Find out the host and port information for your CX Sales Application. Refer to the How to Find Your Company's Host URL topic for more information about determining the host URL.

  2. Create your direct URLs, using the formats outlined in the following table:

    Page View to Open Direct URL Format

    List page for an object

    oscm://?<host URL>&port=<port number>&useSSL=<true or false>&action=list&object=<object name>

    Example:

    oscm://?host=fuscdrmsmc118-fa-ext.oracle.com&port=443&useSSL=true&action=list&object=Opportunity

    Detail page for a record

    oscm://?<host URL>&port=<port number>&useSSL=<true or false>&action=Detail&object=<object name>&keyAttribute=<record ID>

    Example:

    oscm://?host=fuscdrmsmc118-fa-ext.oracle.com&port=443&useSSL=true&action=Detail&object=CallReport&keyAttribute=300100142941814

    Edit page for a record

    oscm://?<host URL>&port=<port number>&useSSL=<true or false>&action=Edit&object=<object name>&keyAttribute=<record ID>

    Example:

    oscm://?host=fuscdrmsmc118-fa-ext.oracle.com&port=443&useSSL=true&action=Edit&object=CallReport&keyAttribute=300100142941814

    Note: The direct URLs outlined in the table will work whether or not you're signed into CX Cloud Mobile. However, if you're assuming that the user is already signed into CX Cloud Mobile when they tap the direct URL, you can omit the following values from the direct URL: Host URL, Port number, and SSL status.

    For example, the direct URL for an object's detail page that will work when a user isn't signed into CX Cloud Mobile is this: oscm://?<host URL>&port=<port number>&useSSL=<true or false>&action=Detail&object=<object name>&keyAttribute=<record ID>. The direct URL for an object's detail page when a user is signed in is this: oscm://?action=Detail&object=<object name>&keyAttribute=<record ID>.

Use the direct URL to set up an HTML link in your report

Finally, you can create a new column in your report containing an HTML link, which navigates to the corresponding record in CX Cloud Mobile.

  1. Add a new column to the report that you have created.

  2. Click the Settings icon next to the new column name.

  3. Click Edit Formula.

  4. In the Edit Column Formula page, enter a column heading in the Column Heading field.

  5. Enable Contains HTML Markup.

  6. Enter the column formula in the Column Formula text box, using the following format: '<a target="_blank" href="<direct URL>'||"<object>"."<object ID>"||'"> '|| '<column name>'||'</a>'. For the <direct URL> value, use the direct URL that you created in the 'Construct the direct URL' section.

    For example, to create a column formula for a column called 'View on Mobile' which would provide an HTML link to a respective opportunity record, you would create the following column formula: '<a target="_blank" href="oscm://?action=Detail&object=Opportunity&keyAttribute='||"Opportunity"."Opportunity ID"||'"> '|| 'View on Mobile'||'</a>'.

    Alternatively, if you would like to create an HTML link for an existing column, that will take you to the record displayed in the column, then you can use the following format: '<a target="_blank" href="<direct URL'||"<object>"."<object ID>"||'"> '||"<object>"."<column name>"||'</a>'.

    For example, to create a column formula for an existing column called 'Opportunity Name', which will open the respective opportunity when you tap the opportunity name, you would create the following formula: '<a target="_blank" href="oscm://?action=Detail&object=Opportunity&keyAttribute='||"Opportunity"."Opportunity ID"||'"> '||"Opportunity"."Opportunity Name"||'</a>'

  7. Close the Edit Column Formula page and click the Settings icon next to the column name you have created or edited.

  8. Click Column Properties and then the Data Format tab.

  9. In the Data Format tab, enable Override Default Data Format and select the Treat Text As HTML option, so that the data returned by the column formula will be identified as HTML.

    Note: You need to have a Business Intelligence Administrator role to carry out this step
  10. Save the report. Run the report to check your results.

Create Saved Searches

This procedure shows you how to create a saved search that you can configure for use in the Oracle CX Cloud Mobile application. Use the mobile interface designer within Application Composer to create your mobile specific saved searches.

  1. Sign in to the Oracle CX Sales application as user with a Sales Administrator role.

  2. Select the sandbox you want use for your configurations.

  3. Open Application Composer by selecting Application Composer under the Configuration category in the Navigator menu.

  4. Select the Sales application.

  5. Under the Common Setup Menu, or on the Overview page, click Mobile Application Setup.

  6. In the Application Feature pane, click the feature that you want to create a duplicate Saved Search for.

  7. Click Saved Search and click the duplicate icon for one of the existing saved searches.

  8. Enter a name for the new Saved Search and click OK.

  9. Add fields to the saved search by moving fields from the Available Fields pane onto the mobile interface designer.

  10. Add criteria to a field by clicking on the field in the mobile interface designer and enter criteria in the Criteria pane. For example, you can add criteria to a Booking Date field that the date is greater than a set date.

  11. If required, you can assign roles to the saved search by selecting roles in the Assigned Roles pane.

  12. You can assign default roles to the saved search by selecting roles in the Assigned Default Roles pane.

  13. Click Save.

How do I enable the selection of multiple statuses for lead saved searches?

You can configure and create saved searches for leads, and map multiple statuses for every saved search criterion. Here's how:

  1. Select or create a sandbox and then open it.

  2. Open the Navigator menu, find the Configuration section and click Application Composer.

  3. In the Common Setup section, or on the Overview page, click Mobile Application Setup.

  4. In the Application Features pane, click Sales Leads.

  5. Click Saved-Search and create a custom saved search.

  6. Add the Status field to the saved search by moving it from the Available Fields pane to the mobile interface designer.

  7. Click the Status field in the mobile interface designer and in the Criteria pane add multiple statuses to the Equals condition.

  8. Click Save.

  9. Check that your changes appear in the mobile application. See the "Test Your Oracle CX Cloud Mobile Configurations" topic for details about how to check your mobile configurations.

  10. When you're happy with your changes, publish your sandbox to distribute your configurations to all CX Cloud Mobile users.

Configure the Call Report Pages

You can configure the Call Report pages within Oracle CX Cloud Mobile using Application Composer. Using the mobile interface designer within Application Composer, you can add, remove, and move fields, and edit a field's display format.

Here's how to navigate to the Call Report feature, so that you can configure it using the mobile interface designer:

  1. Sign in to the Oracle CX Sales application as a user with a Sales Administrator role.

  2. Select the sandbox you want use for your configurations.

  3. Open Application Composer by selecting Application Composer under the Configuration category in the Navigator menu.

  4. Select the Sales application.

  5. Under the Common Setup Menu, or on the Overview page, click Mobile Application Setup.

  6. In the Application Feature pane, click the Call Report application feature.

  7. Configure the feature using the steps outlined in the Configure Oracle CX Cloud Mobile topic and in the page layout FAQs.

Change the Search Field for an Object's List Page

A sales object's List page uses the Name field as the default search field, however you can change the search field - and add an operator - so that it suits your business requirements. Here's how:.

  1. Sign in to the Oracle CX Sales application as a Sales Administrator.

  2. Select the sandbox you want use for your configurations.

  3. Open Application Composer by selecting Application Composer under the Configuration category in the Navigator menu.

  4. Under the Common Setup Menu, or on the Overview page, click Mobile Application Setup.

  5. In the Application Features pane, click the feature that you want to configure.

  6. Select the List view page and then select the Standard layout in the Layout pane.

    Note: Although you use the Standard layout to configure the search field, your configurations will apply to all of your List page layouts.
  7. In the Search pane, select the Search Field that you would like to use. Then select the Search Operator for the search field.

  8. Click Save in the Application Composer page.

  9. Test and publish your List page search configurations. See the Test Your Oracle CX Cloud Mobile Configurations topic for details about how to check your mobile configurations.

Add Multiple Status Criteria for the Opportunity Object's Saved Search

You can add multiple status criteria for the Opportunity object's saved search. For example, you can specify that the opportunity status must equal Open or Won. Here's how:

  1. Select or create a sandbox and then open it.

  2. Select Navigator > Application Composer > Mobile Application Setup

  3. In the Application Features pane, click the Opportunity feature

  4. Click Saved Search.

  5. In the Layouts section, duplicate the standard saved search.

  6. Select the Status field in the mobile interface designer.

  7. Within the Criteria section, select all of the relevant opportunity status values for the saved search.

  8. Click Save in the Application Composer page.

  9. Test and publish your List page search configurations. See the Test Your Oracle CX Cloud Mobile Configurations topic for details about how to check your mobile configurations.

Create and Edit Records More Quickly

You can create and edit records more quickly in the application if you enable the asynchronous saving of transactions. Complete the following steps to enable this feature.

  1. Select or create a sandbox and then open it.

  2. Select Navigator > Application Composer > Mobile Application Setup.

  3. In the Application Features pane, click Settings.

  4. Turn off the Disable Deferred Create and Edit setting, so that the application can perform create and edit transactions asynchronously.

  5. If you want to sync the transactions automatically when you're online, then you need to enable the Auto Sync setting. If this setting isn't enabled then you will need to sync the records manually.

  6. Click Save in the Application Composer page.

  7. Test and publish your configurations. See the Test Your Oracle CX Cloud Mobile Configurations topic for details about how to check your mobile configurations.

Track Your Users' Usage

The Track Usage feature enables you to keep track of how your sales representatives use CX Cloud Mobile - and how often - by gathering anonymous, non-personally identifiable information from the application. When the feature is enabled, you can view charts and graphs that display the following subsets of captured tracking data:

  • By Device: Usage data split across different devices used to run the application.

  • By Platform: Usage data split across different mobile Operating Systems used to run the application.

  • By Page Views: Number of times users accessed various pages of the application.

  • By Action: Number of times actions such as Create, Update, Delete, and Read were performed across all objects enabled for mobile.

  • By Object: Number of times that different objects were accessed from the application.

  • By Offline Usage of Object: Usage data split across online and offline modes, for all objects enabled for mobile,

  • By Offline Usage: Total of all usage data split across online and offline modes.

  • By Active User Sessions: Count of all users who signed into the application during the selected particular time period.

The application captures the usage data by logging all user interactions in a local file on the mobile device and tagging the interactions with the appropriate CX Sales entity information. Once a day, the contents of the local file are synced to the server and stored in a database table. The usage data sent from CX Cloud Mobile is zipped and encoded to optimize storage, and to keep the data secure.

Note: The application never tracks any personally identifiable information.

To view the charts and graphs, enable a sandbox and navigate to Application Composer from the main menu. Click Mobile Application Setup, and then click the Usage tab. Select a time period and geographical region, and scroll the page to view the various reports.

The enable usage tracking, follow the steps in the Enable Usage Tracking topic.

Enable User Usage Tracking

This procedure shows you how to enable the usage tracking feature, which helps you to keep track of how your sales representatives use CX Cloud Mobile - and how often - by gathering anonymous, non-personally identifiable information from the application. For more information about this feature, see the "Track Your Users' Usage" topic.

  1. Select or create a sandbox and then open it.

  2. Select Navigator > Application Composer > Mobile Application Setup.

  3. In the Application Feature pane, click Settings.

  4. In the mobile interface designer, scroll down to the Usage Settings heading, and enable the Track Usage setting. Once the setting is enabled, you can select the countries you want to track.

  5. Click Save in the Application Composer page.

  6. Test and publish your new page layouts. See the Test Your Oracle CX Cloud Mobile Configurations topic for details about how to check your mobile configurations.

Add the Currency Field to Opportunities

You can add the currency field to the opportunity create and edit pages, so that either the Oracle CX Sales currency is used for an opportunity's value, or your sales representatives can select an applicable currency. Opportunity amounts in currencies different to the default Oracle CX Sales currency are converted using applicable exchange rates for business unit reporting.

Follow these steps to add the currency field to the opportunity create and edit pages:

  1. Select or create a sandbox and then open it.

  2. Select Navigator > Application Composer > Mobile Application Setup

  3. In the Application Feature pane, click the Opportunity feature.

  4. Click the Edit view.

  5. In the Layout pane, click the Duplicate icon for the Standard layout and enter a layout name.

  6. Click OK.

  7. Select the Active tick icon if it's not already ticked.

  8. Select the Currency field in the Available Fields pane, and then move the field onto the mobile interface designer.

  9. Select the lov display format.

  10. Click Save in the Application Composer page.

  11. Test the currency field and publish the sandbox when you're happy with the configuration. See the Test Your Oracle CX Cloud Mobile Configurations topic for details about how to check your mobile configurations.

See the Setting Up Multiple Currencies chapter of the Implementing Sales guide for more information about managing currencies in Oracle CX Sales.

Filter a Product List by Territory

You can restrict the products that sales representative can view and select in leads and opportunities to ones that are available in their territories only. This can be useful, for example, if you don't want to show products that are available outside of sales representatives' business unit.

Follow these steps to set territory filtering for CX Cloud Mobile products:

  1. Sign in to the Oracle CX Sales application as user with a Sales Administrator or Sales Implementor role.

  2. In the Setup and Maintenance work area, use the following:

    • Offering: Sales

    • Functional Area: Sales Catalog and Products

    • Task: Manage Product Group Usage

  3. Select the Base catalog from the Product Group Usage table

  4. In the Base: Details table, select the Functions tab.

  5. Select the Territory engine entry for the Opportunity Management application.

  6. Choose a product filtering value, based on the options outlined in the following table:

    Option Description

    Do not run

    Territory filtering is off to show all products in the sales catalog.

    Enforce territory

    Territory filtering is on to show only products within user's territory.

    Display choice - checked by default

    Not applicable for CX Cloud Mobile. Show all products when this option is selected.

    Display choice - unchecked by default

    Not applicable for CX Cloud Mobile. Show all products when this option is selected.

  7. Click Save and Close.

Note:
  • All of the sales catalog filtering options are applicable for the CX Sales application, but only two options apply to the CX Cloud Mobile application: Do not run and Enforce territory.

  • Territory filtering applies offline, so only the products available within the user's territory will appear.

For more information about filtering the Sales catalog, refer to the Filter Catalog Display by Territories topic in the Setting up Sales Catalogs chapter of the Implementing Sales guide.

Enable the Entry of Multiple Addresses for Accounts and Contacts

Follow this procedure to enable users to enter multiple addresses in the Accounts and Contacts detail and edit pages. By default, you can only add one address for Accounts and Contacts.

  1. Select or create a sandbox and then open it.

  2. Select Navigator > Application Composer > Mobile Application Setup.

  3. In the Application Feature pane, click the Accounts or Contacts feature.

  4. Select either the Detail or Edit view.

  5. In the Layout pane, click the Duplicate icon for the Standard layout and enter a layout name.

  6. Click OK.

  7. Select the Active tick icon if it's not already ticked.

  8. Find the Primary Address field on the mobile interface designer and then click the cross icon to delete the field.

  9. Select the Address field in the Available Fields pane, and then move the field onto the mobile interface designer. This will enable your users to enter multiple addresses in the feature's Detail or Edit page.

  10. Click Save in the Application Composer page.

  11. Test your updates and publish the sandbox when you're happy with them. See the Test Your Oracle CX Cloud Mobile Configurations topic for details about how to check your mobile configurations..

Tip: If you want to restrict the ability to add multiple addresses to certain users, remember to assign roles and criteria to your new page layout. See the Add a Role to a Layout and Create Criteria for a Feature's Page Layout topics for more details.

Enable the Favorite Icon in the Accounts List Page

You can enable the favorite icon to appear in the Accounts list page, so that users can swipe right to mark an account as a favorite.

Follow these steps to enable the favorite icon:

  1. Select, or create, the sandbox you want use for your configurations.

  2. Open Application Composer by selecting Application Composer under the Configuration category in the Navigator menu.

  3. Under the Common Setup Menu, or on the Overview page, click Mobile Application Setup.

  4. In the Application Feature pane, click the Accounts feature.

  5. Click the List view.

  6. In the Layout pane, click the Duplicate icon for the Standard layout and enter a layout name.

  7. Click OK.

  8. Select the Active tick icon if it's not already ticked.

  9. Click the new layout, and on the mobile interface designer, click the favorite circle to either enable (or disable) the favorite icon. The favorite icon is disabled by default.

  10. Click Save in the Application Composer page.

  11. Test your updates and publish the sandbox when you're happy with the configuration. See the Test Your Oracle CX Cloud Mobile Configurations topic for details about how to check your mobile configurations.

Enable the Creation of Records from Search Results Pages

You can enable the creation of new records from search result pages, making it more convenient for users to add and create related records. For example, if you can't find a contact to add to a new appointment, then you can create a contact from the contact search results page.

Follow these steps to enable the creation of new records from search result page (otherwise known as the 'picker'):

  1. Select the sandbox you want use for your configurations.

  2. Open Application Composer by selecting Application Composer under the Configuration category in the Navigator menu.

  3. Under the Common Setup Menu, or on the Overview page, click Mobile Application Setup.

  4. In the Application Feature pane, select the parent object (otherwise known as parent 'feature') that you want to configure. For example, if you want to enable the creation of contacts from other objects' search result pages, then select the Contact object, or feature.

  5. Select the Picker view.

  6. Click the more icon on the mobile interface designer.

  7. Enable the Create <Object Name> option.

  8. Click Save in the Application Composer page.

  9. Test that you can create a new record from a search result page and publish the sandbox when you're happy with the configuration. See the Test Your Oracle CX Cloud Mobile Configurations topic for details about how to check your mobile configurations.

Configure a Close Period for Opportunity Saved Searches

You can specify a close period for opportunity saved searches that's different from the CX Cloud Mobile application default (the current quarter). You can also specify that CX Cloud Mobile uses the close period that's set up in the CX Sales application.

Follow these steps to configure the close period for opportunity saved searches:

  1. Select or create a sandbox and then open it.

  2. Open Application Composer by selecting Application Composer under the Configuration category in the Navigator menu.

  3. Under the Common Setup Menu, or on the Overview page, click Mobile Application Setup.

  4. In the Application Feature pane, click the Opportunity feature.

  5. Click the Saved Search view.

  6. In the Layout pane, click the Duplicate icon for the most appropriate predefined saved search layout and enter a layout name.

  7. Click OK.

  8. Select the Active tick icon if it's not already ticked.

  9. Click the Close Period field in the mobile interface designer.

  10. In the Criteria pane, select a suitable Close Period value for your saved search. To set the CX Sales application close period as the default close period, select the Default Profile Option value.

  11. Add or update other criteria as needed for your saved search, including enabling the Default Saved Search option.

  12. Click Save in the Application Composer page.

  13. Test your configurations and publish the sandbox when you're happy with the configuration. See the Test Your Oracle CX Cloud Mobile Configurations topic for details about how to check your mobile configurations.

Note:
  • If you have previously created custom opportunity saved search layouts that have a fixed Close Date field criteria, these will continue to work, however you can't add new Close Period field criteria to these searches.

  • See the Configure Opportunity Close Period Search topic for more information about setting up close period values in CX Sales.

Enable Multiple Business Units for Opportunities

You can enable the business unit field for opportunities, so that sales representatives working in multiple business units can associate a business unit to an opportunity. You can also create an opportunity layout for a business unit, so that data entry is simplified for divisional sales processes.

To enable the business unit feature in CX Cloud Mobile, you first need to implement the multiple business unit model for Oracle CX Sales. See the Set Up Multiple Business Units chapter of the Implementing Sales guide for more details.

Adding the Business Unit Field to Opportunity Pages

When you have enabled the multiple business unit model in Oracle CX Sales, follow these steps to add the business unit field to opportunity pages:

  1. Select the sandbox you want use for your configurations.

  2. Open Application Composer by selecting Application Composer under the Configuration category in the Navigator menu.

  3. Under the Common Setup Menu, or on the Overview page, click Mobile Application Setup.

  4. In the Application Feature pane, click the Opportunity feature.

  5. Click either the List, Detail, or Edit page.

  6. In the Layout pane, click the Duplicate icon for the Standard layout and enter a layout name.

  7. Click OK.

  8. Select the Active tick icon if it's not already ticked.

  9. Select the Business Unit field in the Available Fields pane, and then move the field onto the mobile interface designer.

  10. Click Save in the Application Composer page.

  11. Test your updates and publish the sandbox when you're happy with the configuration. See the Test Your Oracle CX Cloud Mobile Configurations topic for details about how to check your mobile configurations.

Creating Opportunity Layouts for Specified Business Units

Follow these steps to create opportunity layouts for specified business units:

  1. Follows steps 1 to 4 in the 'Adding the Business Unit Field to Opportunity Pages' section.

  2. Click either the Detail or Edit page.

  3. In the Layout pane, click the Duplicate icon for the Standard layout and enter a layout name.

  4. Click OK.

  5. Select the Active tick icon if it's not already ticked.

  6. Select relevant fields pertaining to a business unit in the Available Fields pane, including the Business Unit field, and then move the field onto the mobile interface designer.

  7. In the Advanced Criteria pane, click Add.

  8. Select Business Unit and set a value for the business unit.

  9. Repeat these steps for additional business unit layouts.

  10. Click Save in the Application Composer page.

  11. Test your updates and publish the sandbox when you're happy with the configuration. See the Test Your Oracle CX Cloud Mobile Configurations topic for details about how to check your mobile configurations.

Enable Attachments for Custom Objects

You can enable attachments for top-level custom objects, so that users can view and add attachments (such as photos, videos, and voice notes) to custom objects.

Follow these steps to enable attachments for custom objects:

  1. Select the sandbox you want use for your configurations.

  2. Open Application Composer by selecting Application Composer under the Configuration category in the Navigator menu.

  3. Under the Common Setup Menu, or on the Overview page, click Mobile Application Setup.

  4. In the Application Feature pane, click the relevant custom object.

  5. Click the Detail view.

  6. On the mobile interface designer, click one of the Related Items fields.

  7. In the Related Items pane, move the Attachments related object onto the mobile interface designer.

  8. Click Save in the Application Composer page.

  9. Test your updates and publish the sandbox when you're happy with the configuration. See the Test Your Oracle CX Cloud Mobile Configurations topic for details about how to check your mobile configurations.

Enable Quotes

Sales representatives can quickly access quotes related to their accounts and opportunities from CX Cloud Mobile. Additionally, they can share the proposal document with the team for feedback, or email proposals to customers from the mobile app to speed up the negotiation cycle.

Follow these steps to enable quotes to appear in the Accounts and Opportunity related tabs:

Note: Oracle Configure, Price, and Quote Cloud integration must be enabled and setup in the Oracle CX Sales application.
  1. Select the sandbox you want use for your configurations.

  2. Open Application Composer by selecting Application Composer under the Configuration category in the Navigator menu.

  3. Under the Common Setup Menu, or on the Overview page, click Mobile Application Setup.

  4. In the Application Features pane, select Opportunities and then select Detail.

  5. Duplicate the Standard layout.

  6. Provide a name for your new layout.

  7. In the mobile interface designer, click Related Item at the bottom of the page.

  8. In the Related Items section, search for SalesOrderHeader and drag it to the center console, and re-order it as needed.

  9. Click Save in the Application Composer page.

  10. Repeat steps 4-9 for Accounts.

  11. Test your updates and publish the sandbox when you're happy with the configuration. See the Test Your Oracle CX Cloud Mobile Configurations topic for details about how to check your mobile configurations.

Enable the Customer Assets Page

You can enable your sales representatives to view customer assets and create additional asset records within the application. They can also add a lead or an opportunity directly from the asset page. You can also configure the layout of the asset page to fit your business requirements.

You can add the assets page to the main menu and you can also add it as a related object in the accounts page.

Add the Assets Page to the Main Menu

Here's how you add the assets page to the main menu:

  1. Select or create a sandbox and then open it.

  2. Select Navigator > Application Composer > Mobile Application Setup

  3. In the Application Features panel, click Home.

  4. In the mobile interface designer, click Assets and in the Feature Details panel, enable the Show on Navigator option.

  5. Click Save.

  6. If you would like to configure the assets page layout, see the "Create Your Own Page Layout for a Feature" topic, which shows you how to create a page layout and how to configure it.

  7. Test and publish your configurations. See the "Test Your Oracle CX Cloud Mobile Configurations" topic for details about how to check your mobile configurations.

Add the Assets Page as a Related Object on the Accounts Page

Here's how you add the assets page so that it's a related object on the accounts page:

  1. Carry out steps 1 and 2 above.

  2. In the Application Features panel, click Accounts and then select the relevant page layout.

  3. In the mobile interface designer, click Related Item.

  4. In the Related Items pane, search for Assets. Drag the assets related item onto the mobile interface designer page. You can move the assets item by dragging it up and down.

  5. Click Save.

  6. Test and publish your configurations. See the "Test Your Oracle CX Cloud Mobile Configurations" topic for details about how to check your mobile configurations.

Configure the App with Custom Scripts

You can further configure the app to match your business requirements by writing custom scripts using JavaScript that enforce validations and rules, whether you're online or offline. This powerful feature enables you to write scripts for any top-level object, which trigger on an event of your choosing. For example, you can create a script that will make the product field mandatory when you create an opportunity.

How to Create a Script

You can create custom scripts for all objects, or for a specific object. Here's how you create a custom scripts for a specific object:

  1. Select the sandbox you want use for your configuration.

  2. Select Navigator > Application Composer > Mobile Application Setup.

  3. In the Application Feature pane, select Settings.

  4. Click Scripts Settings and enable the Enable Scripts option.

  5. Click Save in the top right-hand side of the Application Composer page.

  6. Click the Scripts tab at the top of the Mobile Application Setup page.

  7. Select the object you want to write a script for and then select the event that will trigger your script. You can choose one of these events:

    • On Create (triggered when a new record is created in the mobile app).

    • Before Save (triggered before a record is saved).

    • On Field Value Change (triggered when a user changes the value of a field and then taps out of the field).

    • After Save (triggered after the app has saved the record).

  8. Click the plus icon in the <Event Name> Scripts section.

  9. Enter the script name and description.

  10. (Optional) If you want the script to work for particular regions, select geographical regions for the script. The script will work for users who have your selected regions as their country preference setting in the CX Sales app.

    Note: For an object and an event, you can only have one script per region (for example, a script for an opportunity, for the On Create trigger, for the U.K.). If you want to include a different region for the same object and event, you have to create another script (for example, a script for an opportunity, for the On Create trigger, for the U.S.).
  11. If you want to restrict your script to trigger for certain user roles, you will need to specify these by writing a JavaScript script

  12. Click Create and create your script.

  13. Click Validate to check whether your script has any errors. The validation checks include checks for nested functional calls and anything else in the script that will cause it to run forever in an infinite loop.

  14. When you're finished, click Save.

Note: It isn't possible to set the ActivityTypecode as a default field or field value in CX Cloud Mobile using the scripting feature, or anywhere else in the app.
How to Create a Custom Function

You can also create a custom function (known as a utility function) that will be available for all objects in all of your scripts. Here's how:

  1. Follow steps 1 to 6 in the "How to Create a Script" section, and then click the plus icon in the Utility Functions section.

  2. Create your function. Make sure that you include "_C" in the function, so that the function is designated as a utility function, and is included in the System Functions list (see the "Feature That Helps You to Create Your Scripts" section below for details about System Functions). Once it's in the System Functions list, you can access your utility function from any custom script. Here's an example of the format:

    function example_c() {
    	var a = 100;
    	a = 100+a;
    }
  3. Click Validate and then Save.

Feature That Helps You to Create Your Scripts

When you're creating your scripts it's important that you enter the correct object and field values, so to help you with this you can type Control + Space in the script box and a list of objects and fields are displayed. Pick the object or field that you want to include and the correct value is added to your script.

This feature also enables you to use the System Functions that auto-populate APIs into your script. Type Control + Space, scroll down to the System Functions section, and you will see a list of APIs that you can use. You can use these APIs, for example, to find out the device's operating system and the current position of the user. In the System Functions section, you can also see the Utility Functions that you have created. See the "Library of System Functions for Custom Scripts" topic for a list of the System Functions that are available and how you can use them.

Test Your Script

After creating your scripts, you should test the script and then publish the sandbox when you're done. See the Test Your Oracle CX Cloud Mobile Configurations topic for details about how to check your mobile configurations.

Script Examples

Here are some examples of how you can create custom validation and rules.

Object/Event and Requirements Example Script

Object/Event:

Opportunity/OnCreate

Requirements:

  1. Account is required.

  2. Set default values for fields (custom fields).

    1. Chance to win = Medium. Values to choose from: Low, Medium, and High.

    2. OpportunityType = Servers. Values to choose from: Servers, Laptops, and Software.

  3. Custom field ContractStartDate is mandatory.

// On Create Script to set required and default fields
// DESCRIPTION : Oppty OnCreate Script
// Features
// 1. Account is required
// 2. Set default values for fields(custom fields)
// 2.1. Chance to win = Medium
// 2.2. Opty type = Servers

var currentRow = getCurrentRow();
var oracleCxmOutcome = new Result("");
var optyDetail = currentRow.getResourceName(); //OpportunityDetail
var key = optyDetail + "___TargetPartyName___mandatory";
oracleCxmOutcome.setModifiedProperty(key,"true");

//Setting of default values for Opty Type and chance to win
currentRow.setColumn("OpportunityType_c","ZEM_TYPE_SERVERS");
currentRow.setColumn("ChanceToWin_c","ZEM_TYPE_MEDIUM");
currentRow.setColumn("StatusCode","OPEN");

key = optyDetail + "___ContractStartDate_c___mandatory";
oracleCxmOutcome.setModifiedProperty(key,"true");

Object/Event:

Opportunity/BeforeSave

Requirements:

If Status is OPEN and Sales Stage > 2, then revenue line is required.

//DESCRIPTION: Opportunity Before Save Script
//For Opportunity Type "Servers" If Sales stage > 2
//revenue line is required.

var currentRow = getCurrentRow();
var oracleCxmOutcome = new Result("");
var salesStageId = currentRow.getColumn("SalesStageId");
var salesStageLOV= currentRow.getColumn("SalesStageLOV");
var stgOrder;
var i = 0;
var length = salesStageLOV.length;

for(i=0; i<length; i++)
{
	var salesStage = salesStageLOV[i];
	var id = salesStage.StgId;
	if( id === salesStageId)
	{

	stgOrder = salesStage.StgOrder;
	break;
	}
}
var status = currentRow.getColumn("StatusCode");
if(status === "OPEN")
{
	if(stgOrder > 1.998 )
	{
		var childRevenue = currentRow.getColumn("ChildRevenue");
		if(childRevenue === null || childRevenue.length < 1)
		{
			oracleCxmOutcome.setMessage("MESSAGE_TYPE_ERROR","","Product is required when sales stage is > 2.");
			oracleCxmOutcome.setOutcomeQualifier("OUTCOME_TYPE_FAILURE");
		}
	}
}

Object/Event:

Opportunity/AfterSave

Requirements:

Create a task, assign it to signed in user and associate it to the newly created Opportunity.

//Create Task for Opportunity

var opptiRow = getCurrentRow();
var TaskRow = createNewRow(false,"Task","");
var userPref = getUserPreferences();
var userName = userPref.getUserName();

TaskRow.setColumn('ActivityCreatedBy',userName);
TaskRow.setColumn('Subject',"Follow up Task for Oppty : "+opptiRow.getColumn("Name"));

var OpportunityId = opptiRow.getColumn("OptyId");
TaskRow.setColumn('OpportunityId',OpportunityId);

var oracleCxmOutcome = new Result("");
oracleCxmOutcome.setModifiedObject(TaskRow);

Object/Event:

Contracts/OnCreate

Requirements:

Account is mandatory.

var contactRow = getCurrentRow();

var oracleCxmOutcome = new Result("");
var s1 = contactRow.getResourceName(); //ContactDetail
var key = s1+ "___AccountName___mandatory";
oracleCxmOutcome.setModifiedProperty(key,"true");

Object/Event:

Contracts/OnFieldValueChange

Requirements:

Copy the Account address to the Contact address.

var contactRow = getCurrentRow();
var accountPartyId = contactRow.getColumn('AccountPartyId');
var oracleCxmOutcome = new Result("");

if(accountPartyId != null){

	// Query the associated Account to retrieve Primary Address stored in that account record
	var q = query("Organization");
	q.setParameters('PartyId',accountPartyId);
	var accountPo = q.execute();

	var addressList = accountPo[0].getColumn('PrimaryAddress');
	var addressPo = addressList.get(0);
	var addressLine1 = addressPo.get("AddressLine1");
	var addressLine2 = addressPo.get("AddressLine2");
	var cityName = addressPo.get('City');
	var stateName = addressPo.get('State');
	var postalCodeNumber = addressPo.get('PostalCode');
	var countryName = addressPo.get('Country');

	// Assign the retrieved Primary Address to Contact address fields
	var paRows = contactRow.getColumn("PrimaryAddress");
	if(paRows==null) {
	paRows = getEmptyChildCollection();
	}
	var pa = createNewRow(true, "Person", "PrimaryAddress");
	pa.setColumn('AddressLine1', addressLine1);
	pa.setColumn('AddressLine2', addressLine2);
	pa.setColumn('City', cityName );
	pa.setColumn('State', stateName );
	pa.setColumn('PostalCode', postalCodeNumber );
	pa.setColumn('Country', countryName );
	paRows.set(0,pa.po);
	contactRow.setColumn("PrimaryAddress",paRows);
	oracleCxmOutcome.setModifiedObject(contactRow);

}

Library of System Functions for Custom Scripts

When you're creating your custom scripts, you can use a feature that enables you to use System Functions that auto-populate APIs into your script. Type Control + Space, scroll down to the System Functions section, and you will see a list of APIs that you can use. Here are more details about the System Functions that are available and how you can use them.

Get User Preferences

You can use this function to get the user preferences for the current user.

Syntax:function getUserPreferences() returns UserPreference.

Returns: An instance of a UserPreference object of the current user, which can be used to get information about the current user.

Script examples:

var userPref = getUserPreferences(); // User Preference object can be used to retrieve the further details as below:

// To get the user name
var userName = userPref.getUserName();

// To get the party name
var partyName = userPref.getPartyName();

//To get the date format:
var dateFormat = userPref.getDateFormat();

// To get the Party ID
var partyId = userPref.getPartyId();

// To get the currency
var currency = userPref.getCurrency();

// To get the territory
var territory = userPref.getTerritory();

// To get the time zone
var timezone = userPref.getTimezone();

// To get the number format
var numberFormat = userPref.getNumberFormat();

// To get the language
var language = userPref.getLanguage();

// To query the role
var isRoleAssigned = userPref.isRoleAssigned($USER_ROLE_STRING); //return type is boolean

// To get the profile option
userPref.getProfileOptionValue($PROFILE_OPTION_STRING); // return type : If the ProfileOption exists, returns a String. Else, returns null.
Get Device Information

You can use this function to retrieve information about the device that's being used, such as the device's operating system and current location.

Syntax:function getDeviceInformation()

Returns: An instance of a DeviceInformation object of the current user, which can be used to get information about the current user's device.

Script examples:

var deviceInfo = getDeviceInformation(); // Device Info object can be used to retrieve the further details as below:

// To get the device's operating system
var os = deviceInfo.getOs();

// To get the device's platform
var platform = deviceInfo.getPlatform();

// To get the version
var version = deviceInfo.getVersion();

// To get the network status
var networkStatus = deviceInfo.getNetworkStatus();

// To get the device's model
var model = deviceInfo.getModel();

// To get the current position
var currentPosition= deviceInfo.getCurrentPosition(maximumAge, timeout, enableHighAccuracy);

// To get the screen size
var screenSize= deviceInfo.getScreenDiagonalSize();

To get the device's online status
var onlineStatus= deviceInfo.isDeviceOnline();
Get a Reference to the Current Row

Use this function to return the current row for an event that has been invoked by your script.

Syntax:function getCurrentRow()

Returns: An instance representing the current row.

Script examples:

var objectRow = getCurrentRow();

// Set attribute for current row : rowRef.setColumn(key, value);
var objectRow = getCurrentRow();
var newName = "Updated Opportunity";
objectRow.setColumn("Name", newName);
Create New Rows

Use this function to create and return a new row as part of a script execution.

To create a new row you need the following functions:

  1. function createNewRow(isChild ,featureName, childType) returns Row

  2. function getEmptyChildCollection() returns Object

Here's how to use the function createNewRow, which creates and returns a new Row as part of a script execution:

  • Syntax:function createNewRow(isChild ,featureName, childType) returns Row

  • Parameters:

    1. {boolean} isChild: indicates if this row being created is of a child type.

    2. {string} featureName: typeName which identifies this row's shape.

    3. {string} [childType} - (Optional) If isChild is TRUE: indicates child-type to identify child row's shape.

  • Returns:{Row}, an instance representing the created row.

Here's how to use the function getEmptyChildCollection, which returns an empty ArrayList which can be used by scripts during creation of child collections:

  • Syntax:function getEmptyChildCollection() returns Object

  • Returns: {Object}, an instance of an empty ArrayList.

Script examples

Here are some examples of how to create a new row:

var noteRows = optiRow.getColumn("Note");
if(noteRows == null)
noteRows = getEmptyChildCollection();

var opptyNote = createNewRow(true, "Opportunity", "Note");
var noteTxt = "This Note was created through script for oppty - association check";
opptyNote.setColumn("NoteTxt",noteTxt);

noteRows.add(opptyNote.po);
optiRow.setColumn("Note",noteRows);
oracleCxmOutcome.setModifiedObject(optiRow);

Here's an example of how to create a new child row:

var opportunityNote = createNewRow(true, "Opportunity", "Note");
var optyNoteTxt = "This Note was created through script for Opportunity";
opportunityNote.setColumn("NoteTxt",optyNoteTxt);
Get the Rows for Any Object Using a Query With Parameter Values

Use this function to query any feature and return the rows that match the parameters passed to the instance of the Query object.

Syntax:function query(featureName) returns Query

Parameter:{string} featureName: Name of the feature for which a query is required

Returns:{Query}, an instance of the Query object that can be used on the requested feature

Script examples

Use the typelib.xml file to find the query parameters that are defined for all objects under query id="queryForScripts"

	<query id="queryForScripts">
		<qbe id="qbe">
			<param id ="Name" op="contains">Name</param>
		</qbe>
</query>

Using the Query object to get rows from a feature:

var q = query("Opportunity");  / / query("Opportunity");/ / query(<FeatureId>)
q.setParameters("Name","Demo");
var rows = q.execute();

// To get the list of params available, use getParameters as follows:
var params = q.getParameters(); // Array of parameters

// To fetch the parameter details, following functions can be used: getParamName; getParamValue; getParamOp; getParamConjunction

// The typelib changes needed for querying through script are given in the section "Application Changes required for integrating the Scripting Events"
Get the Result

This function represents an outcome from the execution of a user script. A user script is expected to always create an instance of Result to define its execution outcome which can then be handled by the underlying framework.

Syntax:function Result (eventKey) returns Result

Returns: an instance of Result which can then be handled by the underlying framework

Script examples

This example shows the constructor of the Result object:

function Result(eventKey)
{
	this.outcome = new oracle_type_eventOutcome();

	/**
	* Include a new-created-row / Updated-row in the set of rows that this script has modified.
	* This action will ensure that the included row is committed by event-handler implementation.
	*/
	this.setModifiedObject;

	/**
	* For the currently active row, set properties that can acted on by event-handler implementation.
	*
	*example: reference implementation in CX-Lib framework supports setting a column of the current row as mandatory. The way that is achieved is:
	*
	*var rowType = currentRow.getResourceName();
	* key = rowType + "___{FIELD_NAME}___mandatory";
	* oracleCxmOutcome.setModifiedProperty(key,"true");
	*
	* NOTE: format ___{FIELD_NAME}___ is required. (Field name enclosed within 2 sets of 3 underscores)
	*/
	this.setModifiedProperty;

	/**
	* Add a message that can be returned to the event handler implementation. How this message is handled is defined by event handler implementation.
	*/
	this.setMessage;

	/**
	* Set qualifier for this Script-execution OR
	* provide an action identifier to be interpreted by event handlers post execution.
	*
	* Returned string could be either "OUTCOME_TYPE_SUCCESS" or
	* "OUTCOME_TYPE_FAILURE". If the returned string is not either of the above, it could be a custom-action that can be returned at the end of script execution.
	*/
	this.setOutcomeQualifier;
}

This example shows how to use the Result object to handle any events that occur as a result of creating a new row:

var oracleCxmOutcome = new Result("");
oracleCxmOutcome.setMessage("MESSAGE_TYPE_ERROR","","Product is required when sales stage is > 2.");
oracleCxmOutcome.setOutcomeQualifier("OUTCOME_TYPE_FAILURE");

var TaskRow = createNewRow(false,"Task","");
TaskRow.setColumn('Subject',"Follow up Task for Oppty");
oracleCxmOutcome.setModifiedObject(TaskRow);
var oracleCxmOutcome = new Result("");

Enable Push Notifications for Sales Objects

You can enable smartphone notifications to be triggered automatically when certain business events occur in CX Cloud Mobile or the CX Sales application. For example, a sales representative can receive a notification when they have been assigned a contact or lead. Mobile push notifications provide timely information, whether the device is locked or in use.

There are two parts to enabling push notifications for sales objects, both of which are outlined in this topic:

  1. Enable notifications for sales objects.

  2. Create Groovy scripts that will trigger notifications for your specified sales object.

If you need help with creating your Groovy scripts, then these sections of the topic will help you to get started:

  • Example Groovy Scripts

  • Debug Groovy Scripts

  • Common Groovy Script Mistakes

  • Tips and Recommendations

Enable notifications for sales objects

Firstly, you need to enable the notifications feature in Setup and Maintenance:

  1. Ensure that you have one of the following roles: Implementation Project Manager, Functional User, or System Administrator roles.

  2. Navigate to Setup and Maintenance.

  3. Select the Sales offering.

  4. Find the Sales Foundation functional area and click the arrow.

  5. Select Change Feature Selection.

  6. Select Sales Notifications and then select Mobile Notifications.

Create Groovy Scripts

Next you need to create Groovy scripts that define the trigger for the notification.

  1. Ensure that you have a Sales Administrator or Sales Implementor role.

  2. Create a sandbox, or select an existing one, and click Set as Active to activate the sandbox. The sandbox is designated as the active sandbox.

  3. Open Application Composer by selecting Application Composer under the Configuration category in the Navigator menu.

  4. Under the Objects menu, select Standard Objects and then the object you want to create a trigger for. You can create a trigger for the following objects: Accounts, Contacts, Leads, Opportunities, or Tasks.

  5. Select Server Scripts and the Server Scripts <object name> page opens.

  6. Click the Triggers tab.

  7. From the Action menu, click Add. The Create Object Trigger page is displayed.

  8. Create a Groovy trigger script. Specify the Name, Error Message, and Trigger Definition details. You can use the examples below to help you create a Groovy script and you can also look at the Using Groovy Scripts chapter of the Configuring Applications Using Application Composer guide.

    For detailed information about Groovy scripting, see the Oracle Applications Cloud Groovy Scripting Reference guide.

Example Groovy Scripts

Here are some examples of Groovy scripts that will trigger notifications for Sales objects. You will need to modify the scripts to your requirements, however they should help you to get started.

Scenario Object, Recipient, and Trigger Type Script

Send a notification when the owner of an account has changed.

Object: Account

Recipient: Account Owner

Trigger Type: Before Update in Database

/*DISCLAIMER: These triggers are provided as references only. It's important that you change this script to suit your requirements, otherwise it might not work./

if (isAttributeChanged('OwnerPartyId')) {
	try {
		def map = new HashMap();
		// Specify the recipient
		def recipientPartyId = OwnerPartyId
		// Specify default message text
		def messageText = "You are now the owner of Account '" + OrganizationName + "'."
		// Specify one or more channels
		map.put("Channels",["ORA_SVC_MOBILE"]);
		map.put("MessageText", messageText);
		// The following can be used to pass a Long PartyId
		map.put("RecipientPartyId", recipientPartyId);
		if (recipientPartyId) {
			// Call to send notification
			adf.util.sendNotification(adf, map);

			//Log a confirmation that the notification has been sent. Logs can be viewed in 'Runtime Messages'.
			//println for "Notification sent to" and recipientPartyId and "a new account has been assigned to them".
		} else {
			println("No recipient. Notification will not be sent.")
		}
	} catch (e) {
		// Log the failure in groovy logging. Logs can be viewed in 'Runtime Messages'.
		println("Failure to trigger notification from Groovy Script " + e.getMessage());
		}
	}

Send a notification to the Owner when a new Account is created.

Object: Account

Recipient: Account Owner

Trigger Type: Before Insert to Database

/*DISCLAIMER: These triggers are provided as references only. It's important that you change this script to suit your requirements, otherwise it might not work./

if (isAttributeChanged('OwnerPartyId')) {
	try {
		def map = new HashMap();
		// Specify the recipient
		def recipientPartyId = OwnerPartyId
		// Specify default MessageText
		def messageText = "You are now the owner of Account '" + OrganizationName + "'.";
		// Specify one or more channels
		map.put("Channels",["ORA_SVC_MOBILE"]);
		map.put("MessageText", messageText);
		// The following can be used to pass a Long PartyId
		map.put("RecipientPartyId", recipientPartyId);
		if (recipientPartyId) {
			// Call to send notification
			adf.util.sendNotification(adf, map);

			//Log a confirmation that the notification has been sent. Logs can be viewed in 'Runtime Messages'.
			//println("Notification sent to " + recipientPartyId + " a new account has been assigned to them.")
		} else {
			println("No recipient. Notification will not be sent.")
		}
	} catch (e) {
		// Log the failure in groovy logging. Logs can be viewed in 'Runtime Messages'.
		println("Failure to trigger notification from Groovy Script " + e.getMessage());

Send notification when the Owner of a Lead has changed.

Object: Lead

Recipient: Lead Owner

Trigger Type: After Changes Posted to Database

/*DISCLAIMER: These triggers are provided as references only. It's important that you change this script to suit your requirements, otherwise it might not work./

// Obtaining the index of the field we want
int indexOfStatus = adf.oldValue.getAttributeIndexOf('OwnerId')
// Getting the old value from the database
def oldValue = adf.oldValue.getAttribute(indexOfStatus,oracle.jbo.server.EntityImpl.TRANS_ORIGINAL_VERSION);
// Getting the new value
def newValue = getAttribute('OwnerId');

//Comparing the old value and the new value. Note that we require a check for (oldValue != null). This is because unless there is a change in the field, the oldValue will always be null. We are trying to detect when the Status field has been changed, so we always want to make sure that oldValue != null.

if ((oldValue != newValue) && (oldValue != null)) {
	try {
		def map = new HashMap();
		// Specify default MessageText
		def messageText = "This Lead has been assigned to you";
		// Specify the recipient
		def recipientPartyId = OwnerId
		// Specify one or more channels
		map.put("Channels", ["ORA_SVC_MOBILE"]);
		map.put("MessageText", messageText);
		// The following passes a Long PartyId
		map.put("RecipientPartyId", recipientPartyId);

		if (recipientPartyId) {
			// Call to send notification
			adf.util.sendNotification(adf, map);

			//Log a confirmation that the notification has been sent. Logs can be viewed in 'Runtime Messages'.
			//println("Notification sent to " + recipientPartyId + " because they are now the owner of a Lead.")
		} else {
			println("No recipient. Notification will not be sent.")
		}
	} catch (e) {
		// Log the failure in groovy logging. Logs can be viewed in 'Runtime Messages'.
		println("Failure to trigger notification from Groovy Script " + e.getMessage());

Send notification to the Account Owner when a Task associated to that Account is complete.

Object: Task

Recipient: Account Owner

Trigger Type: Before Update in Database

/*DISCLAIMER: These triggers are provided as references only. It's important that you change this script to suit your requirements, otherwise it might not work./

if (isAttributeChanged('StatusCode') && StatusCode == 'COMPLETE'  && ActivityFunctionCode == 'TASK') {
	try {
		def map = new HashMap();
		// Define the message text for the notification
		def messageText = "The Task '" + Subject + "' has been completed."

		// Specify the recipient of this notification to be the Account Owner
		def recipientPartyId = OrganizationDVOVA?.OwnerPartyId

		// Specify one or more channels
		map.put("Channels",["ORA_SVC_MOBILE"]);
		// Specify default MessageText
		map.put("MessageText", messageText);
		// The following can be used to pass a Long PartyId
		map.put("RecipientPartyId", recipientPartyId);

		if (recipientPartyId) {
			// Call to send notification
			adf.util.sendNotification(adf, map);

			//Log a confirmation that the notification has been sent. Logs can be viewed in 'Runtime Messages'.
			/println("Notification sent to " + recipientPartyId + " because a task was marked complete.")
		} else {
			println("No recipient. Notification will not be sent."
		}
	} catch (e) {
		// Log the failure in groovy logging. Logs can be viewed in 'Runtime Messages'.
		println("Failure to trigger notification from Groovy Script " + e.getMessage());

Debug Groovy Scripts

Within your Groovy scripts, all your println statements go to the runtime messages. To view the runtime log and debug your Groovy script, do the following:

  1. Within a sandbox, navigate to Application Composer.

  2. Under Common Setup, select Run Time Messages. The Run Time Messages section is displayed.

  3. Select the Enable Application Script Logging.

  4. Trigger your notifications.

If the Groovy script has appropriate println statements, you receive runtime messages when you navigate back to the Run Time Messages section in Application Composer.

Note: To test that the sendNotification() function is working, you can put a println statement after the sendNotification() function to make sure the trigger is working as expected. If the script never reaches the sendNotification() function, then there is an error in the logic of the trigger. You can add additional println statements to debug your trigger.
Common Groovy Script Mistakes

Here are some common mistakes that can be made when creating Groovy scripts:

  • Incorrect Trigger Types. It's important that you use the correct Trigger Type, otherwise your script might be triggered at the wrong time. The example scripts in this topic show how you could use the Before Update In Database, Before Insert To Database, and After Changes Posted to Database triggers. It's also a good idea to read the "Defining an Object-Level Trigger to Complement Default Processing" topic in the Oracle Applications Cloud Groovy Scripting Reference guide, which gives you a comprehensive list of Triggers and when they're fired.

    Another useful resource is "The Trigger Event Model Explained" Oracle Blogs entry, available here: https://blogs.oracle.com/fadevrel/application-composer-series%3a-the-trigger-event-model-explained

  • Incorrect APIs. When you create a Groovy script, you need to insert the correct API for the field you're using. You can ensure that you're using the correct API by following these steps:

    1. In the Trigger Definition section, click Show/Hide Expression Palette.

    2. Click the Fields tab.

    3. Select an Object.

    4. Click the Maximize Edit Script arrow. The fields for the selected object are displayed.

    5. Select the API you would like to include in your trigger and click Insert.

    6. To close the expression palette, click the Restore Edit Script arrow, and then click Show/Hide Expression Palette.

    7. Click Save and Close.

    Make sure that you don't manually copy and paste the API name - always use the Insert feature in step 5.

Tips and Considerations

If you're creating a new object, and you want to trigger a notification when the object is created, it's best to use the trigger type Before Insert to Database. However, some of the "before" trigger types don't have all the attributes exposed, resulting in some fields being blank. To debug your triggers if you're not getting the expected results, follow the steps in the section "Debugging Groovy Scripts".

The isAttributeChanged() function works only for the "before" trigger types. The workaround for the "after" trigger types involves retrieving the old value before the database is updated, then retrieving the new value after the update, and then comparing the two values to see whether the attribute is changed.

Create Links That Automatically Open Web Pages

You can create embedded links in CX Cloud Mobile that automatically open web pages, or custom applications, when you tap the link. Here's how:

  1. Select or create a sandbox and then open it.

  2. Open Application Composer by selecting Application Composer under the Configuration category in the Navigator menu.

  3. Expand the menu for a standard or custom object and then select Fields.

  4. Create a new custom field and select the Formula option.

  5. Enter the formula field details. Make sure that you select a Formula Type of Text and that Include in Service Payload is selected (this will make the field appear in the mobile interface designer, so that you can add it to a mobile page).

  6. Create a Groovy script that will generate a dynamic web URL with a prefix of http:// or https://. If you're creating a Groovy script that will open a custom mobile application, you also need to use a prefix of https://.

  7. Navigate to the main Application Composer page and click Mobile Application Setup.

  8. Select the object that you created the Groovy script for, and click the Detail page layout.

  9. Add the formula field you have just created to the detail page and click Save.

  10. Test your updates and publish the sandbox when you're happy with the configuration. See the Test Your Oracle CX Cloud Mobile Configurations topic for details about how to check your mobile configurations.

You can enable the use of OAuth authentication tokens, so that sales representatives can remain signed in to the application for much longer, and they won't need to re-enter their user name and password every time they launch the application. Here's how you set it up:

  1. Register the CX Cloud Mobile application with Oracle Identity Cloud Service. As part of the registration process, Oracle Identity Cloud Service generates a Client ID and a Client Secret. For more information about Oracle Identity Cloud Service, see the Administering Oracle Identity Cloud Service guide.

  2. In the CX Sales application, sign in as an administrator. Open the navigator menu, and click Setup and Maintenance.

  3. In the Setup and Maintenance work area, go to the Manage CX Cloud Mobile OAuth Configuration task:

    • Offering: Sales

    • Functional Area: Integrations

  4. Register the Client ID and the Client Secret for the CX Cloud Mobile application.

  5. Click Save.

  6. Open the Navigator menu, open the Configuration category, and click Sandboxes. Enter, or create, a sandbox that you want use for your configurations.

  7. Open the Navigator menu and Configuration category again and click Application Composer.

  8. Under the Common Setup Menu, or on the Overview page, click Mobile Application Setup.

  9. In the Application Features panel, click Settings.

  10. In the mobile interface designer, enable the Use OAuth Authentication Token option.

  11. Click Save.

  12. Test and publish your configurations. See the "Test Your Oracle CX Cloud Mobile Configurations" topic for details about how to check your mobile configurations.

Test Your Oracle CX Cloud Mobile Configurations

After you have configured Oracle CX Cloud Mobile using Application Composer, you should test your configurations before distributing them to your user's mobile devices.

Task Summary

To test your configurations, complete the following tasks:

  1. Download the configurations from the sandbox and verify them.

  2. Publish the sandbox

Download Configurations From the Sandbox
  1. After making your configurations, keep the Oracle CX Sales application open (signed in with a Sales Administrator or Sales Implementor role). Make sure that the sandbox where you made the changes is active in the application.

  2. Open CX Cloud Mobile on your mobile device and sign in as a user that will be able to view your configurations. For example, if the changes have been made to a layout with an assigned role, then you'll need to sign in with a user that has the required role permissions to see the changes.

  3. Tap the menu button (on the top left hand side of the page) and tap Sandbox to download the configurations from the sandbox.

  4. Select the sandbox that contains your configurations and tap Save.

  5. Check your configurations. When you're happy with your configurations you need to publish the sandbox.

Publish the Sandbox
  1. Sign in to Oracle CX Sales as the same user you used to make the configurations.

  2. Publish your sandbox to distribute your configurations to all Oracle CX Cloud Mobile users.

Mobile Sales

Use the Oracle Sales Cloud Mobile application to do the following tasks:

  • Track and update sales information on your smartphone or tablet

  • Keep up to date with sales activities in your enterprise while on the move

Tasks That You Can Do

The key features of Oracle Sales Cloud Mobile include the following:

  • Application Home Page: From the application home page, you can access critical information when you're in the field.

  • Sales Account Management: You can access reference information, as well as current events about the customer while on the road.

  • Opportunity Management: From the mobile opportunity management page, you can access current and critical information about your opportunities and share opportunity updates with your sales team.

  • Lead Management: With access to open leads while on the road, you can act upon leads and reduce the sales cycle time.

  • Calendar and Tasks: With these features, you can manage appointments and tasks on the road.

  • Contacts: You can call or e-mail contacts from the Actions menu. The application displays a list of your key contacts by default, and you can search for all other contacts. E-mail Contact and Call Contact features are disabled for contacts who don't want to be phoned or e-mailed

  • Sales Analytics: You can access business intelligence reports from the home page. Analytics also are embedded contextually for each account that you view. The contextual reports include data on sales account revenue trends, sales account win/loss trends, and sales account win/loss reasons.

  • Alerts: You receive alerts when new leads are assigned or opportunities of interest become available.

Prerequisites

Before implementing Sales Cloud Mobile, you must:

  • You must set up Oracle CX Sales before you can use Sales Mobile.

  • Determine if your mobile device meets Sales Mobile system requirements. See the System Requirements for Oracle Applications Cloud here: http://www.oracle.com/us/products/system-requirements/overview/index.html

What are the supported operating systems?

See the System Requirements for Oracle Applications Cloud at: http://www.oracle.com/us/products/system-requirements/overview/index.html

Setup Tasks for Mobile Sales

Implementing Oracle Sales Cloud Mobile

You must implement Oracle CX Sales prior to implementing Oracle Sales Cloud Mobile Sales. For more information, see the guide, Oracle CX Sales Getting Started with Your Sales Implementation.

Implementation Overview

Implementing Mobile Sales involves setting profile options and, optionally, configuring the fields and objects that users can view on their mobile devices.

You must set the following profile options:

  • Password Save on Phone Enabled: Specifies whether users are allowed to store their login passwords on their mobile devices. Set to Y to allow saving, or N to not allowing saving. Allowing users to save passwords makes it easy for users to sign in to the mobile application without the need to enter a password each time they access the application.

  • Password Save on Phone Enabled: Specifies whether users are allowed to store their login passwords on their mobile devices. Set to Y to allow saving, or N to not allowing saving. Allowing users to save passwords makes it easy for users to sign in to the mobile application without the need to enter a password each time they access the application.

Note: You can get supplementary information on implementing Mobile Sales in the Roll out Kit for Oracle Sales Cloud Mobile, available on My Oracle Support (1540393.1).
Configuring Mobile Sales

Mobile Sales is integrated with the same tool used for configuring the CX Sales applications, Oracle Application Composer. A five-step process guides you through the process of configuring specific fields and objects that users can manage on their mobile devices. To configure Mobile Sales, sign in to Application Composer and configure Mobile Sales pages.

Finding Your Company's Host URL for Oracle Sales Cloud Mobile

This topic shows how to determine the host URL value for iPhone and Android devices. When signing in to Oracle Sales Cloud Mobile, you must enter a Host URL that specifies the Oracle CX Sales server location.

Determining the Host URL for iPhone and Android Devices

Perform these steps to determine the Host URL for iPhone and Android devices.

  1. Sign in to Oracle CX Sales, and select Navigator and then Application Composer.

  2. Copy the host name portion of the URL that's in your browser's address bar. The host name is the part between https:// and the next slash (/). For example, the host URL might be something like: fapxxxx-crm.oracleads.com.

  3. Inform your users of the Host URL value so that they can use it when they sign in to the application.

How can I automatically populate the host and port information for Oracle Sales Cloud Mobile users?

You can create a URL that will automatically populate the host name, port number, and enable SSL, by using the following URL template: osc://?host=[host name]&port=[port number]&useSSL=[true or false]. After host= enter the host name, after port= enter the port number, and after SSL= enter whether you want SSL enabled. Here is an example of a URL: osc://?host=abc.oracle.com&port=123&useSSL=false .

Distribute the URL to your users. When users access the URL from their smartphone, the Sales Cloud Mobile application will open with the host name, port number, and SSL already populated or enabled.

Note: Oracle Sales Cloud Mobile needs to have been downloaded onto the smartphone for the URL to work.

Additional Configurations for Mobile Sales

You can disable or enable the Calendar and Contacts synchronization buttons on the sign out page by changing the following Profile Options: Enable Calendar Synchronization and Enable Contact Synchronization. Set the options to either Y (to enable synchronization) or N (to disable synchronization). The default profile option values are set to Y.

Navigate to the Application Composer, find the Sales object that you want to alter (for example, a Contact or Opportunity), and expand the view of the Sales object. Click on Pages and then the Mobile Pages tab. Edit the Sales object, and select the Configure Filter for List View option that you want to use.

How can I set up the automatic password saving on smartphones and tablets?

Set the Password Save on Phone Enabled profile option to either Y (Yes) or N (no).

How can I enable address fields to be selected using lists of values?

Set up geography data and validation in the desktop application, and this will be reflected automatically in the Oracle Sales Cloud Mobile application. Adding geography validation enables users to select their address from selectable address fields, or notify users if required address fields are missing. To find out more about how to set up geography data and validation, refer to the geography reference data setup overview topic.

Mobile Sales Extensions

Oracle Sales Cloud Mobile Extensibility

Application Composer lets you configure the Oracle Sales Cloud Mobile Sales iPhone, Android and BlackBerry applications. Using Application Composer, you can manage which objects and fields are visible on the Oracle Sales Cloud Mobile application without having to carry out specific configurations for a particular device.

Here's how you can manage the following for the Oracle Sales Cloud Mobile application:

  • Enable standard Oracle CX Sales objects that aren't enabled by default for phones.

  • Enable custom Sales and Common objects for phones.

  • Change the fields (including custom fields) visible on Oracle Sales Cloud Mobile for mobile-enabled Sales and Common objects (standard or custom objects).

  • Configure the Sales Cloud Mobile layout based on roles, record type, expression, or any combination thereof.

  • Add Business Intelligence reports to the Sales Cloud Mobile application.

Can I set a saved search as the default list criteria for sales objects in Oracle Sales Cloud Mobile?

Yes. If a saved search has been set as the default for an Oracle CX Sales object in the main application, then this becomes the default list criteria for the sales object in Oracle Sales Cloud Mobile. For more information about creating saved searches using Oracle Page Composer, see the Creating a Saved Search for an Object topic.

Note that hidden saved searches won't appear in Oracle Sales Cloud Mobile.

How can I enable address fields to be selected using lists of values?

Set up geography data and validation in the desktop application, and this will be reflected automatically in the Oracle Sales Cloud Mobile application. Adding geography validation enables users to select their address from selectable address fields, or notify users if required address fields are missing. To find out more about how to set up geography data and validation, refer to the geography reference data setup overview topic.

Hide the Assets Tab in the Accounts, Contacts, and Households Mobile Pages

This example shows you how to hide the Assets tab for Accounts, Contacts, and Households in Oracle Sales Cloud Mobile.

Navigating to the Mobile PagesTab in Application Composer
  1. Sign in to Oracle CX Sales as a user that has a Sales Administrator job role, and create, or activate, a sandbox. See the topic about using sandboxes for more information about creating, activating, and publishing sandboxes.

  2. Navigate to Application Composer and select the Common application.

  3. Expand the Standard Object and expand the menu of either the Account, Contact, or Household object.

  4. Select Pages and then select the Mobile Pages tab.

Hiding Assets for the Account, Contact, and Household Objects
  1. Under the Detail Page Layouts menu in the Mobile Pages tab, click the relevant layout name, and click the Edit icon.

  2. In the Related Objects section, select Assets from the Selected Related Objects, and click the arrow to move the Assets object to the Available Related Objects.

  3. Click Save and Close.

Checking and Distributing Your Configurations

  1. After removing the Assets object from your Account, Contact, or Household mobile pages, check that your changes appear in the mobile application. See the Test Oracle Sales Cloud Mobile Configurations Using a Sandbox topic for details about how to check your configurations in the mobile application.

  2. When you are happy with your changes, publish your sandbox to distribute your configurations to all Oracle Sales Cloud Mobile users.

Test Oracle Sales Cloud Mobile Configurations Using a Sandbox

Test all of your configurations in a sandbox before publishing them to the main application. Sandboxes are standalone environments where you define and test configurations before deploying the configurations to the production application.

Use Application Composer to configure Oracle Sales Cloud Mobile pages or objects in a sandbox environment, and then view your configurations on your mobile device prior to publishing the changes.

Configuring Oracle Sales Cloud Mobile Using Application Composer
  1. Open the Application Composer by selecting Application Composer under the Configuration category in the Navigator menu.

  2. Select the parent object that you want to configure.

  3. Select the Pages node in the navigation tree.

  4. Select the Mobile Pages tab to see the mobile configuration options for the parent and its child objects.

  5. Configure the mobile pages as you want.

    Note: If you want to configure a layout for a specific role, record type, or expression, you must first duplicate an existing page, configure that page, then specify a role, record type or expression for that page layout.

  6. Sign out of the Oracle CX Sales application.

Checking Your Configurations in the Oracle Sales Cloud Mobile Application
  1. Sign in to Oracle CX Sales application as an Oracle Sales Cloud Mobile user who has a Sales Representative, Sales Manager, or Sales Vice President job role.

  2. Select the sandbox that contains your configurations.

  3. Keeping the Oracle CX Sales browser window open on your laptop or PC, open Oracle Sales Cloud Mobile on your mobile device and sign in using the same user you used to sign in to Oracle CX Sales.

    Note: Signing in to the Oracle Sales Cloud Mobile application as the same user in step 1 lets you view the sandbox you selected in step 2. If the Oracle CX Sales browser window is still open, only you can access the sandbox on the Oracle Sales Cloud Mobile application. All other users can only view the published version of the application.

  4. Check the pages that you configured to ensure that they're working as expected.

  5. Publish your sandbox to distribute your configurations to all Oracle Sales Cloud Mobile users.

Adding Company Branding to Oracle Sales Cloud Mobile

This example shows you how to add your company name, company logo, and select an application theme color for Oracle Sales Cloud Mobile.

Adding a Brand Name
  1. Sign in to Oracle CX Sales as a user that has an CX Sales Administrator job role and create, or activate, a sandbox. See the topic about using sandboxes for more information about creating, activating, and publishing sandboxes.

  2. Navigate to Application Composer and select the Sales application.

  3. Select Mobile Application Setup, which you can find under the Common Setup menu.

  4. Select Configure Application Branding, which you can find under the Branding heading.

  5. Add your brand name in the Selected Brand Name field and click Save and Close.

Adding a Company Logo
  1. Repeat steps 1 through 4 above.

  2. Under the Select Brand Logo heading, select Browse and choose an image.

  3. Click Save and Close.

Selecting an Application Theme Color
  1. Repeat steps 1 through 4 of the Adding a Brand Name section above.

  2. Select an application theme color from the color grid.

  3. Click Save and Close.

Checking and Distributing the Configurations
  1. After adding your company name, company logo, and/or selecting an application theme color, check that your changes appear in the mobile application. See the Test Oracle Sales Cloud Mobile Configurations Using a Sandbox topic for details about how to check your configurations in the mobile application.

  2. When you are happy with your changes, publish your sandbox to distribute your configurations to all Oracle Sales Cloud Mobile users.

Adding an Oracle Business Intelligence Report for Mobile : Procedure

To view Oracle Business Intelligence Analyses reports on mobile applications you must first perform the following configuration tasks from the web application.

  1. Navigate to the Application Composer and select the Sales application.

  2. Select Mobile Application Setup under the Common Setup list.

  3. In the Mobile Application Setup page, select Manage Mobile Reports.

  4. Create the report, entering the Oracle Business Intelligence Analyses report details.

  5. Add the report to the Mobile Reports Springboard page, or the Mobile Reports Sales Account page, by selecting either Configure Mobile Reports: Springboard or Configure Mobile Reports: Sales Account.

Note that you can add Oracle Business Intelligence Analyses reports, but you can't add Oracle Business Intelligence Publisher reports.

What happens if I configure an Oracle Business Intelligence report that is displayed by Oracle Sales Cloud Mobile?

The configured version of the Oracle Business Intelligence report is displayed on users' smartphones. Also, any filters that you created for the report reflect the changes you made to the report.

Creating an Oracle Sales Cloud Mobile Account Contextual Report: Procedure

This procedure shows you how to create an Analysis report that's filtered by the Customer or Account ID when it is viewed from the Account or Opportunity detail pages.

The Analysis Report can be filtered on any report column that is mapped to the Customer or Account ID, for example Customer.Customer Row ID. You can use any Subject Area, and in our example we will use a report based in the Sales - CRM Customer Overview subject area being run from the Account detail page.

Note: At present it's not possible to use other IDs, such as Opportunity ID. So if the report is run from the context of the Opportunity Detail page, it must be filtered by the Customer or Account ID. This means that opportunities must be linked to a customer or account in order for them to be displayed.
  1. From the Home page, navigate to Reports and Analytics.

  2. Click the Browse Catalog icon.

  3. In the Oracle Business Intelligence Catalog page, click New and then Analysis.

    Note: Analysis reports are the only reports supported for Sales Cloud Mobile.
  4. Select a Subject Area. For our example we are using the Sales - CRM Customer Overview subject area.

  5. Double click on the column names in the Subject Areas pane to add them to your report. In our example we select Name, Country Code, and Customer Row ID from the Customer folder.

  6. In the Filters section, select the filter icon and add an is prompted filter on a field that contains the Account or Customer ID. In our example we select the Customer Row ID column.

  7. Make a note of the column formula by editing the filter you have just added and selecting the Edit Formula icon. For our example, the value is Customer.Customer Row ID.

  8. Save the report.

  9. Once the report is saved, you also need to take a note of the full path name of the report. To find this go back to the Catalog and select the report's properties. Copy the location address (in our example it's /users/sales_admin) and the report name (in our example it's Mobile_Report). Add a forward slash to the end of the location address and append the report name to the location address. In our example, the full path name is: users/sales_admin/Mobile_Report.

  10. Navigate back to the web application and open an active sandbox.

  11. Navigate to Application Composer and select the Sales application. Under the Common Setup menu item, select Mobile Application Setup.

  12. Select Manage Mobile Report.

  13. Create a new mobile report. In the Path field, enter the full path name of the report that you made a note of in step 9.

  14. Enter the report parameters as follows:

    Report Parameters Value Detail

    Name

    SubjectName.table.Customer Row ID

    This is the field that has been defined in the filter. For example, Sales - CRM Customer Overview.Customer.Customer Row ID

    Value

    #{viewScope.CustomerId}

    This is used by Sales Mobile to pass the ID of the current customer being viewed on the account or opportunity detail page

    Type

    filter

    Used to build filter query

    Data Type

    varchar

    Used to build filter query

    Operator

    in

    Used to build filter query

  15. Click Save and Close.

  16. Click the Standard Objects menu item and select an Account or Opportunity object. In our example we will select the Sales Accounts object.

  17. Click Pages and then click Mobile Pages.

  18. Click Configure Mobile Reports: (object name).

  19. Move the newly added report from the Available Reports to the Selected Reports and save the changes.

  20. Check the report in the Sales Cloud Mobile application.

  21. Publish the sandbox when you're satisfied with the report.

Dynamic Choice Lists in Oracle Sales Cloud Mobile

A dynamic choice list field provides a list of values from which your users can select a value at run time. The list of values is considered dynamic because the list is based on a query of a related object's records. Some dynamic choice list fields are standard, which means they're provided automatically with Oracle Engagement Cloud. You can also create user-defined dynamic choice list fields in Application Composer. Both standard and user-defined dynamic choice list fields can be displayed on Oracle Engagement Cloud pages, as well as on Oracle Sales Cloud Mobile pages.

Read this topic to learn about the following:

  • What are dynamic choice list fields, and why are they useful?

  • Adding dynamic choice list fields to Oracle Sales Cloud Mobile pages.

  • Creating the related object subtabs in Oracle Sales Cloud Mobile.

What's a Dynamic Choice List Field?

A dynamic choice list is a field that contains a list of values which are populated from the actual data of a related object. At run time, your users can select a value from the field. This selection associates that related object's value with the primary object's record that the users are currently looking at.

For example, let's say your users need to specify an account for an agreement:

  • Desired result:

    On the Create Agreement or Edit Agreement page, you want your users to select an account from the Account Name field.

  • Steps to enable the desired result:

    To enable this behind the scenes, use Application Composer to create the Account Name dynamic choice list field on the Agreement object. The Account Name field will be populated with a list of account records from the Account object. Once that field exists on the Agreement object, add the field to all Agreement pages (including Mobile pages).

  • End result:

    The Account Name field will now be available from the Create Agreement or Edit Agreement pages. The field itself will include a list of actual account names, populated from the Account object.

Why are Dynamic Choice List Fields Useful?

Dynamic choice list fields are useful because they display at run time with a prepopulated list of values, which your users can pick from. But, dynamic choice lists fields are also very useful because, behind the scenes, they enable a one-to-many relationship between the source object and target object.

This means that not only do you get the ability to associate a source object record (using our previous example, an account) to a target object record (an agreement) using the dynamic choice list field. But, you can also add a related object subtab to the source object's details page (the Account details page), showing a list of all the target object records (agreements) that are associated with a single source object record (account).

In our previous example of making a list of accounts available for association with an agreement, the relationship that's created between the Account and Agreement objects is a one-to-many relationship, where one account can be associated with multiple agreements. Behind the scenes, an account identifier is stored in the Agreement object's table.

Once the dynamic choice list field is created, the one-to-many relationship that's automatically created means that you can now use Application Composer to display an Agreements subtab on the Account details page. This subtab lists all the agreements that are related to an account. Having this ability to add subtabs is a nice benefit; in a single view, your end users can see all the agreements that are related to a single account. Creating subtabs based on an existing dynamic choice list field is discussed below.

Adding Dynamic Choice List Fields to Oracle Sales Cloud Mobile Pages

You can add standard and user-defined dynamic choice list fields to your Oracle Sales Cloud Mobile pages. Adding dynamic choice list fields to Mobile pages requires three steps:

  1. Configure the Mobile picker page for the source object that populates the dynamic choice list field.

  2. Create a dynamic choice list field based on that same object.

  3. Add the field to your Mobile pages.

Let's review each step in depth:

  1. Configure the Mobile picker page, also known as a search and select page, for the source object that populates the dynamic choice list field. This is a required, one-time configuration task per object. If you don't configure the picker page, then you won't be able to display that object's dynamic choice list fields on any Mobile UI. This configuration is required for both standard objects as well as custom objects.

    Note: Some exceptions exist.
    • For example, the Account object is delivered with the picker page already configured for your use, so you don't have to configure a picker for the Account object.

    • Some other standard objects don't support the Mobile picker page. In this case, if standard dynamic choice list fields exist based on those objects, then you won't be able to add those fields to Mobile UIs.

    To configure the picker page for standard and custom objects (except Account):

    1. Navigate to Application Composer.

    2. Under the Objects navigation tree, expand the tree structure for your object.

    3. Click the Pages node.

    4. Click the Mobile Pages tab.

    5. In the Picker region, click the Create Mobile Picker link for your object.

    6. On the Configure Mobile Picker page, select the fields that you want to display in the picker page. For example, let's say this is the picker page where your users will search for a contact. In addition to the contact name, you might also want to display the contact city in the picker page. At run time, your users will be able to decide between Mary Smith from New York, or Mary Smith from Los Angeles.

    7. Click Save and Close.

  2. After the Mobile picker page is created for an object, you can now create any dynamic choice list field based on that same object. See: "Dynamic Choice Lists: Explained".

  3. Once your dynamic choice list field is created, you can now add the field to your Mobile pages. See: "Configuring Oracle Sales Cloud Mobile".

    Tip: If your dynamic choice list field isn't available to add to a Mobile UI, then confirm that the Mobile picker page was created for the dynamic choice list field's source object. See Step 1 above.
Note: Navigating to a sales object's details page after selecting the sales object from a DCL field isn't supported currently.
Adding Subtabs to Oracle Sales Cloud Mobile Pages

After you create a one-to-many relationship between objects using a dynamic choice list field, you can then expose the "many" object's records on a subtab that's displayed on the "one" object's details page. You do this by creating a related object subtab in Application Composer.

Note: You can display a custom object subtab on a custom object Mobile details page. You can also display a custom object subtab on a standard object Mobile details page. Displaying a standard object subtab on a custom object Mobile details page, however, isn't supported.

Adding a subtab to Mobile pages requires four steps:

  1. Create and configure the Mobile relationships list for the related object.

  2. Configure the picker page for the related object.

  3. Indicate if you want your end users to be able to create new records and add existing records, directly from the subtab.

  4. Finally, add the subtab to the Mobile details page layout or layouts where you want the subtab to appear.

Let's review each step in depth:

  1. Create and configure the Mobile relationships list for the related object. This is where you create the table format that displays on the subtab.

    1. Navigate to Application Composer.

    2. Under the Objects navigation tree, expand the tree structure for your object.

    3. Click the Pages node.

    4. Click the Mobile Pages tab.

    5. In the Related Objects region, view the list of objects that are available to add as subtabs to your object's details page.

      Click the Create Mobile Page link for your related object. The Create Mobile Page link is enabled if the related object's top level Mobile pages are already created.

    6. On the Create or Edit List Layout page, use the List View region to indicate which related object fields you want to appear on the subtab.

  2. Configure the picker page for the related object. If you enable your end users to add one or more existing records to the subtab at run time, then they will access this picker page.

    1. On the Create or Edit List Layout page, use the Picker: Select many region to indicate which related object fields you want to appear on the picker page for the related object.

  3. Indicate if you want your end users to be able to create new records and add existing records, directly from the subtab.

    1. On the Create or Edit List Layout page, check Show Add and Show Create to enable those actions on the subtab.

    2. Click Save and Close.

  4. Finally, add the subtab to the Mobile details page layout or layouts where you want the subtab to appear.

    1. Back on the Mobile Pages tab, navigate to the Detail Page Layouts region.

    2. Duplicate the standard layout to create a new layout to edit, or edit another existing layout.

    3. In the Related Objects region, view the list of related objects that are available to add as subtabs to your object's details page. In the Available Related Objects list, your subtab displays using the one-to-many relationship name that was automatically created when you first created the dynamic choice list field. To display your subtab on the Mobile details page, move that subtab to the Selected Related Objects list.

    4. Click Save and Close.

Configure Oracle CX Cloud Mobile

You can configure the Oracle CX Cloud Mobile iPhone and Android applications using a drag-and-drop interface designer in Application Composer. Using the interface designer, you can manage which objects and fields are visible in the application, without having to carry out specific configurations for a particular device.

Before starting your configurations, you will need to set the ZMS_DISABLE_OSCM profile option to ENABLED. Setting the profile option enables the mobile interface designer in Application Composer. For more information about profile options, see the profile options chapter in the Implementing Sales guide.

Create a Page Layout for a Feature

You can create a List, Detail, or Edit page layout for a Oracle CX Cloud Mobile feature. When you create your own layout, you can select the fields that your users can view. See the Create a Page Layout for a Feature topic for details about how to create a page layout.

You can also add, remove, move, and change a field's display format. Here are some topics that provide information about configuring a page layout::

  • How can I add a field to a feature's page layout?

  • How can I delete a field in a feature's page layout?

  • How can I move a field in a feature's page layout?

  • How can I edit a field's display format in a feature's page layout?

  • How can I hide or display user actions for a feature?

Add a Role to a Page Layout

You can add a role to an application feature's List, Detail or Edit layout. For example, a user with the Sales Manager role might want to see certain fields on an opportunity detail record that other sales team members won't need. See the Add a Role to a Layout topic for details about adding a role.

Create Criteria for a Page Layout

You can create criteria to define a set of conditions that have to be met before a page layout is displayed. See the Create Criteria for a Feature Page Layout for step by step instructions.

Add Your Own Custom Object to a Page Layout

You can add your own custom objects to the application, and add page layouts in the same way that you can with standard sales objects. See the Add Your Own Object to a Page Layout topic for more details.

Assign Geographical Regions to a Page Layout

You can assign geographical regions to a page layout, which will restrict a page layout's availability to users from your selected set of geographical regions. See the Assign Geographical Regions to a Page Layout topic for more details.

Other CX Cloud Mobile Configurations

You can configure the application in many other ways, such as creating custom scripts that will trigger at set events, creating saved searches, and adding Oracle Business Intelligence reports to a feature's Analytics tab. See the Oracle CX Sales Implementing Sales guide, or the Oracle Applications Cloud Configuring Applications Using Application Composer guide for more details.

Test Your Configurations

After you have configured Oracle CX Cloud Mobile, you should test your configurations before distributing them to your user's mobile devices. See the Test Your Oracle CX Cloud Mobile Configurations topic for more details.

Can I delete the custom fields I have created for the Around Me feature?

Yes. If you created custom fields for the Around Me feature for earlier releases, then you don't have to maintain the fields with geocodes because the application no longer uses them.