Salesforce

Data Model

MonetizeNow Managed Package App uses the Salesforce standard object model as much as possible. This intentional architecture helps you manage your existing data/reporting in Salesforce while at the same time benefiting from the unique features provided by MonetizeNow.

CPQ Data Model

Product Catalog Data Model

Overview of Data synchronization

  • Salesforce → MonetizeNow
    • Accounts (optional)
      • Accounts from Salesforce get synchronized to MonetizeNow
      • Updates to accounts in MonetizeNow get synchronized back to Salesforce
    • Contacts (optional)
      • Contacts from Salesforce get synchronized to MonetizeNow
      • Updates to contacts in MonetizeNow get synchronized back to Salesforce
    • Opportunities
      • Opportunities are created automatically for amendment and renewal quotes and are synchronized to MonetizeNow
  • MonetizeNow → Salesforce
    • Product catalog
      • Offerings + Product
        • Offerings in MonetizeNow get created/updated/delete in Salesforce based on updates in MonetizeNow (this will never update records that were not created as part of the integration)
      • Rates
        • Rates and Prices are synced from MonetizeNow to Salesforce
        • These are associated to Products and QuoteItems are associated to these records
    • Accounts / Contacts
      • If an Account or Contact in MonetizeNow was created from Salesforce, updates to data in MonetizeNow will flow back into Salesforce
    • Quotes
      • Quotes and Quote Items will be created in Salesforce using custom objects from the managed package
    • Opportunity
      • The Primary Quote field on the opportunity will be updated based on changes in MonetizeNow
      • Depending on your Configuration, the Opportunity Stage can get automatically updated based on the Primary Quote Status
      • If a Quote from MonetizeNow is synced to Salesforce and an Opportunity does not exist, one will be automatically created
    • Opportunity Products
      • Quote Items from the primary quote will create/update/delete Opportunity Products so that you have accurate financial forecasts on your Opportunity
    • Contracts
      • Contracts created in MonetizeNow will create Contracts in Salesforce
      • By default, a Renewal Opportunity will be generated when a new Contract is created
        • this is for financial forecasting of the renewal amount

Installation and initial setup

We recommend installing MonetizeNow Managed Package App into a Salesforce Sandbox to start testing with.

Your Sandbox instance can be of any type – Developer, Developer Pro, Partial Copy or Full. If you have existing data in Salesforce that you want to test with, the “Partial Copy” usually works best.

  1. Ask your MonetizeNow representative for the latest package ID and the installation password
  2. Create a URL using the prefix of your Salesforce sandbox domain as follows
    1. https://your-salesforce-domain.my.salesforce.com/packagingSetupUI/ipLanding.app?apvId=package-id
  3. We recommend installing just for Administrators - you will need to assign provided permission sets to any users that need access to MonetizeNow
    1. Wait for the package to be installed (you will get an email once finished)

Connect MonetizeNow Tenant to the MonetizeNow Managed Package App in Salesforce

In order for data to be synchronized from MonetizeNow to Salesforce, you now need to connect your MonetizeNow tenant to your Salesforce instance

  1. Open MonetizeNow
  2. Click the gear on the sidebar and choose CRM under the Integrations section
  3. Click the Connect button
  4. Choose either Sandbox or Production as the Login Domain and click Connect
  5. Login to your salesforce org.

📘

Important Note

If your Salesforce org restricts the login domain to your custom Salesforce domain, then choose Use Custom Domain before attempting to login

The user you sign in with will be the user that is used to sync from MonetizeNow back to Salesforce.
In production, we recommend that you create an integration user for this purpose.

Connect MonetizeNow Managed Package App to Your MonetizeNow Tenant

  1. Salesforce > open app launcher > Search for MonetizeNow Configuration
  2. Enter in the tenant id - to find this you will need to sign into the Monetize Platform: MonetizeNow
    1. In the bottom left of the Navigation menu click on the tenant → then copy the tenant that you would like to connect to your Salesforce instance:
    2. Then enter this tenant ID into the “MonetizeNow Tenant ID” Field in Salesforce
  3. Make sure the MonetizeNow Domain is: https://api.monetizeplatform.com
  4. If needed, set the Opportunity Sync Amount Field to whatever you would like
  5. Click Save
  6. You will then click the Authorize MonetizeNow Button - this will start the OAuth flow where you will login to MonetizeNow
  7. You should login with a MonetizeNow admin user
  8. Once you are redirected to MonetizeNow, Sign in
  9. Navigate back to Salesforce and click Verify Connection to confirm that Salesforce can successfully connect to your MonetizeNow tenant

Additional Configuration

Assigning permission sets in Salesforce

  • You should be able to use MonetizeNow Managed Package App for Salesforce as your administrator user without any additional configuration
  • The Managed Package App comes with two permission sets which you can assign as required based on your desired permissions
    • MonetizeNow End-User - Assign this permission set to all of your sales users and any other users that need access to the MonetizeNow fields and objects.
    • MonetizeNow Admin - This provides full administrator access to the Managed Package. Assign this to all of your current and future admin users

Other Configuration for MonetizeNow Managed Package App

  • Opportunity Sync Amount Field
    • Determines which field on the Quote Item will be used to set the Amount field on the Opportunity Product
    • :star:Any currency field will show up in the list, you can create a custom Formula field if you need to customize anything for your business.
  • Sync All New Records
    • If true, all new Accounts and Contacts will have the “Enable Sync” checkbox automatically checked, which will push records to MonetizeNow
    • You can use any other automation to check this field in order to synchronize records
  • Automatically create renewal Opportunities
    • If true (default), renewal opportunities will be created immediately when a new contract is created
    • You can build your own automation to check the “Create Renewal Opportunity” checkbox on the Contract if you would like these created at some other point in time
      • You can modify the Opportunity creation process by creating a new version of the Flow “Create renewal opportunity”
  • Renewal/Amendment Opportunity
    • This controls the Opportunity Stage that will be set for new Opportunities created by MonetizeNow
      • You can modify the logic for the Opportunity creation process by creating a new version of the Flows Create new Opportunity for MonetizeNowQuote and Create renewal opportunity
  • Quote to Opportunity Stage Mapping
    • If you set this, then the Status of the Primary Quote will cause the Opportunity Stage to get updated based on the mapping chosen here
      • Ensure that the flows are active

Updating page layouts in Salesforce

  • Opportunity (required)
    • Add the Primary Quote field to your page layout
    • Add the Create Quote lightning Quick Action to your opportunity page layout
    • Add the Quotes related list to the page layout
    • (Optional) Add the Contacts and RenewedContracts related list to the page layout
    • Add the Contacts related list to the page layout
    • Optionally add the MonetizeNow Id field to the layout and list views
  • Contract
    • Add the Amend Contract lightning Quick Action to your opportunity page layouts
    • Add the Renew Contract lightning Quick Action to your opportunity page layouts
    • Add the fields
      • Renewal Opportunity
      • Original Opportunity
      • Create Renewal Opportunity
      • Latest Quote
      • Previous Contract
    • Optionally add the MonetizeNow Id, Last Sync Date, and Last Sync Date fields to the layout and list views
  • Account
    • Add the Contract related list to your Account page layouts. Amendments and Renewals Quotes are initiated from the Contract. Update any permissions required to provide access to the Contract Object
    • You can optionally add the Quote related list to the Account if desired
    • You may want to add the following MonetizeNow fields to your page layouts and list views
      • MonetizeNow Id - The id of the record in MonetizeNow
      • Last Sync Date - Date of last sync
      • Enable Sync - Checkbox field, if set to true then the record will be automatically pushed to MonetizeNow
  • Contact
    • You may want to add the following MonetizeNow fields to your page layouts and list views
      • MonetizeNow Id - The id of the record in MonetizeNow
      • Last Sync Date - Date of last sync
      • Enable Sync - Checkbox field, if set to true then the record will be automatically pushed to MonetizeNow

Using the MonetizeNow Managed Package App

Initial Data Setup

  • In Salesforce, you must have an active Pricebook and have this configured in the MonetizeNow configuration
  • If you already have a product catalog configured in MonetizeNow, you will need to make sure that the catalog is synced to Salesforce.
    • For that, go to Settings -> Integrations -> CRM and click on the 3 dots next to the Edit for Salesforce.
    • You will see Resync Product Catalog as an option. Click it to sync products from MonetizeNow to Salesforce

Creating Quotes from Salesforce

📘

Page layout updates required

The buttons mentioned below require updates to Page Layout to include these buttons

  • New Quotes
    • On the Opportunity, there is a Create Quote button provided by the Managed Package that will
      • Create or update (if exists) the Account, Contact, and Opportunity
      • Create a quote in MonetizeNow and redirect the sales user from Salesforce to MonetizeNow to continue the quote process
        • Any update to the quote will be synchronized back to Salesforce
  • Amendment Quotes
    • On the contract, the Amend Contract button will create an amendment quote in MonetizeNow
      • You can choose to create a new Opportunity or choose an existing open Opportunity
    • On the opportunity, the Create Quote button will create a new quote associated to the existing amendment opportunity
  • Renewal Quotes
    • On the contract, the Renew Contract button will create an amendment quote in MonetizeNow
      • If there is an existing renewal Opportunity, the quote will always be associated to this opportunity
    • On the opportunity, the Create Quote button will create a new quote associated to the existing amendment opportunity

Quoting Workflows

Creating a New Quote from Salesforce

  • Go to an Account in Salesforce
  • Make sure there are contacts and the contacts have the email address field populated
  • Create a new opportunity
  • Click the Create Quote button on the Opportunity and choose your contact
  • Click Create Quote
    • This will create the Account and Contact in MonetizeNow if they don’t already exist
  • Add a product to your quote
  • Go back to Salesforce and you should see your new Quote

Creating an Amendment Quote

  • You can initiate an amendment from Salesforce by navigating to a Contract created by MonetizeNow and clicking “Amend Contract”
    1. You can choose to use an existing Opportunity or have a new one created for you.
  • You can also initiate an amendment from MonetizeNow and the quote will flow back into Salesforce.

Both of the above processes will create a Quote in MonetizeNow, which will be synced to Salesforce. The Amendment Opportunity will be created on the fly using the Flow Create new Opportunity for MonetizeNowQuote.

📘

Customize Opportunity Creation

If you don’t see an Opportunity, then your Salesforce environment may have customizations that prevented the Opportunity from being successfully created. You can modify the flow and create a new version so that all of your rules and validations are satisfied.

Creating a Renewal Quote

  • You can initiate an renewal from Salesforce by navigating to a Contract created by MonetizeNow and clicking “Renew Contract”
  • You can also initiate a renewal from MonetizeNow

Both of the above processes will create a Quote in MonetizeNow, which will be synced to Salesforce. If a renewal opportunity already exists and is associated to the Contract, it will be reused, otherwise a new Renewal Opportunity will be created on the fly from the Flow Create Renewal Opportunity.

📘

Customize Opportunity Creation

If you don’t see an Opportunity, then your Salesforce environment may have customizations that prevented the Opportunity from being successfully created. You can modify the flow and create a new version so that all of your rules and validations are satisfied.

Support

To help troubleshoot any issues with the MonetizeNow to Salesforce connection, MonetizeNow may request temporary access to your Salesforce instance.

To grant MonetizeNow login access in Salesforce Lightning:

  1. Log into your Salesforce.

  2. In the upper right, click your image and click 'Settings'.

  3. Under 'My Personal Information', click 'Grant Account Login Access'.

  4. Set the access expiration date for 'MonetizeNow Support' for at least 1 week.

  5. Click 'Save'.