Salesforce Configuration Guide

This page demonstrates how to install the MonetizeNow Managed Package App in Salesforce and get it connected to your MonetizeNow tenant.


Quick Startup

First, create a Salesforce sandbox instance.

The 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, usually the “Partial Copy” works best.

Second, now install the MonetizeNow Managed Package App in your Salesforce Instance

  1. Ask your MonetizeNow representative for the latest package ID:

    1. 04tPH000000Ae7RYAS (Latest as of April 30, 2024)
  2. Create a URL using the prefix of your Salesforce sandbox domain as follows

    https://your-salesforce-domain.my.salesforce.com/packagingSetupUI/ipLanding.app?apvId=04tPH000000Ae7RYAS
    
  3. The installation requires a password: ask your MonetizeNow contact

  4. 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 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.
    1. Note: If your Salesforce org restricts the login domain to your custom Salesforce domain, then choose “Use Custom Domain” before attempting to login
    2. Note: 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 in Salesforce and MonetizeNow to authenticate with.

Connect MonetizeNow Managed Package App to Your MonetizeNow Tenant

  1. Create an API Key in MonetizeNow
    1. Settings > API Keys > New
    2. 📘

      Important Information

      The name you choose for the API Key will be the name of the user to create/modify records in MonetizeNow and may be visible by users.

      We recommend choosing a name such as "Salesforce Integration"

  2. Go to the MonetizeNow Configuration app in Salesforce
    1. Salesforce > open app launcher > go to the MonetizeNow Configuration page
      (you may have to hit “View All” to find it)
  3. Enter your Tenant Id and API Key
    1. You can find your API key by clicking the tenant icon on the bottom left of the screen in MonetizeNow
    2. If your tenant is in EU, then adjust the Environment accordingly
  4. Click save and Verify the connection to make sure everything is connected

Detailed 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


  • Price Book
    • MonetizeNow requires an active Price Book in order to create Opportunity Products, most people use the Standard Price Book, but you can choose any active Price Book.
    • MonetizeNow will not use the pricing configured in the Price Book, and when Products are synchronized from MonetizeNow to Salesforce, the managed package will create pricebook entries for all of the products so they can be used on Opportunity Products.
  • Opportunity Sync Amount Field
    • Determines which field on the Quote Item will be used to set the Amount field on the Opportunity Product
    • 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

Once a quote is created, the Enable Sync checkbox gets automatically set to true for the account and all of the contacts.

  • 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 Opportunity Stage and Amendment Opportunity Stage
    • When the managed package needs to create a renewal or amendment opportunity, this controls the Stage that the opportunity starts off in.

Flow Activation


There are two flows that need to be activated for the ManagedPackage to work correctly. Click the links to view and activate the flows.

You can modify the logic for the Opportunity creation process by creating a new version of the template Flows Create new Opportunity for MonetizeNowQuote” and “Create renewal opportunity.

🚧

Warning

If the managed package flows are not activated, then renewal and amendments Opportunities will not be automatically created.

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


Updating page layouts in Salesforce

  • Opportunity (required)
    • Add the “Primary Quote“ field to your page layout
    • Add the “Contract“ field to your page layout
    • (optional) Add the “Previous Contract“ field to your page layout
    • (Optional) Add the MonetizeNow Id field to the layout and list views
    • Add the Create Quote lightning Quick Action to your opportunity page layout
      • There are two “Create Quote” buttons available on the Opportunity, if you hover over the button you will see that one of them has “vf” in the API name, which stands for Visualforce and you can choose to use either one.
        • The lightning quick action is only available in the Lightning experience, this opens a “Create Quote” modal where the user can choose which billing contact to use.
        • The VisualForce button Is available in both Classic and Lightning - this option skips the modal and directly redirects the user to MonetizeNow. Some users prefer this option as loading a lightning quick action can sometimes be a little slow.
      • Regardless of the option chosen above, all of the account’s contacts are synchronized to MonetizeNow as long as they have a name and email address.
      • Add the Quotes related list to the page layout
      • (Optional) Add the Contracts and RenewedContracts related list to the page layout
      • (Optional) Ensure you have the Notes & Attachments related list to view the MonetizNow Quote PDF
      • (Optional) Update the Opportunity Products related list, replace the Sales Price with the Total Price

  • 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
      • Contract Amount
      • ARR
    • 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
        • Note: Contacts must have a valid email address and the Account Sync Enabled field must be true in order for a Contact to sync 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.

Special Fields

Special fields are fields that you can create in your Salesforce instance which change the behavior of the managed package.

  • Opportunity
    • Control when the “New Quote” button is allowed to be used
      • API Name: MonetizeNow_AllowQuoteCreation__c
      • Data Type: Checkbox / Formula Checkbox
      • Usage: If there are situations where you cannot control when the New Quote button shows up using normal page layouts, then you can use this as an extra control to prevent a user from creating new quotes on a given opportunity.
        • Example: if you only want to allow the owner of an opportunity to create a quote, you can create this field as a formula and encode the required conditions.

Overview of functionality

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

Creating Quotes from Salesforce

The buttons mentioned 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.

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 an 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 an 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.

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.