Salesforce Service Cloud

Salesforce Service Cloud enables customer service agents to work faster and more productively across customer service channels such as phone, email, web chat, and social media. This helps make customer service frictionless, helps businesses improve customer satisfaction scores, and reduces costs.

This document describes the steps necessary to configure Salesforce Service Cloud, then introduces specific supported use cases.

Installing the package

As a first step, you must have the Antavo Loyalty package installed:

Antavo Enterprise Loyalty Cloud must be fully configured before you can install the application in your Salesforce organization. This includes (but is not limited to) API endpoints, API secrets, modules and integration components.

The managed package can be installed in both sandbox and production environments directly from the AppExchange Marketplace. The installation process involves the following steps:

Marketplace install

Open up the AppExchange Marketplace directly in your organization by navigating to Setup ► Apps ► AppExchange Marketplace. You can locate the Antavo Loyalty managed package by typing in the term ‘Antavo’ in the search box on the top. Alternatively, navigate to the AppExchange Marketplace listing outside of your Salesforce organization by following this link.

  • Get the package
    Click the ‘Get it Now’ button. In case this is the first time you are installing an application / managed
    package from the machine you are working on, you might get prompted to log in again by Salesforce. Once you have successfully logged in, you will be prompted to allow access to the AppExchange API to your organization.

  • Confirm your payment details (optional)
    In some cases, you might be asked to confirm your payment details before you can proceed with the installation. Please note at the time of writing this installation guide, this experience was not yet embedded in the Lightning Experience, so therefore you might be prompted to visit the AppExchange
    Website to perform this action.
    Click the ‘Go to AppExchange Website’ button to confirm your payment details.

  • Select the installation location
    After confirming your payment details, you will be able to select the organization where you want to install the managed package. Both production and sandbox installations are supported. Depending on your choice, you will need to press the ‘Install in Production’ or ‘Install in Sandbox’
    buttons.

  • Confirm installation details
    On the next screen, you will have the chance to review the details of the installation, including the release name, and version number. You will also need to accept the terms and conditions which can also be viewed directly on the Antavo website. By clicking ‘Confirm and Install', the installation will begin. Please make sure that you have the necessary privileges to install the package before commencing.

Post-installation setup

You have now successfully installed the Antavo Loyalty managed package in your Salesforce organization. However, there are some steps that need to be completed before users in your organization can start using the package.

Assign permission sets to relevant users

The package delivers two permission sets:

  • Antavo Loyalty Admin - assign this to a System administrator user, who will configure the Antavo integration

  • AntavoLoyalty - assign this to non-admin users, who are expected to manage loyalty programs but not to configure the Antavo integration in Antavo’s Backoffice.

Create the Antavo Loyalty fields on the SObject that will be enrolled in Loyalty programs

Every SObject in Salesforce which will be enrolled in an Antavo Loyalty management program needs to be configured. It is important that all fields that will be synchronized with Antavo do exist on the relevant SObjects.
More information is available in the subsequent Mapping Configuration section.

Example 1 - Single SObject Configuration

If you have a Customer__c object that you wish to enroll in Antavo loyalty programs, you could create these fields:

  • First_Name__c

  • Last_Name__c

  • DoB__c

  • Email__c

  • Loyalty_OptIn__c

  • Loyalty_OptIn_Date__c

  • Loyalty_Status__c

  • Loyalty_Last_Synced__c

  • Loyalty_Claimed_Rewards__c

  • Loyalty_Earned_Points__c

  • Loyalty_Pending_Points__c

  • Loyalty_Spendable_Points__c

  • Loyalty_Spent_Points__c

  • Loyalty_Reserved_Points__c

Next, in the Antavo Mapping Configuration tab of the Antavo Loyalty application, the following two mapping configurations should be created:

  • profile Antavo action
    This maps the Customer profile-specific fields of that SObject.

  • card Antavo action
    This maps the Antavo Loyalty Card-specific fields of that SObject.

Example 2 - Multiple SObjects Configuration

Alternatively, several SObjects in Salesforce can be created and their relevant fields then mapped:

Customer__c

  • First_Name__c

  • Last_Name__c

  • DoB__c

  • Email__c

  • Source_System__c

  • Default_Language__c

  • Country__c

  • Gender

  • Loyalty_Claimed_Rewards__c

  • Loyalty_OptIn__c

  • Loyalty_OptIn_Date__c

  • Loyalty_Last_Synced__c
    etc.

Card__c

  • Card_Status__c

  • Card_Number__c

  • Brand__c

  • Spent_Points__c

  • Reserved_Points__c

  • Pending_Points__c

  • Spendable_Points__c

  • Earned_Points__c

  • Initial_Plafond__c

  • Residual_Plafond__c

  • Currency_ISO_Code__c

  • Card_Country__c

  • Registration_Date__c

  • Activation_Date__c

  • Expiration_Date__c

  • Deactivation_Reason__c
    etc.

Customer_Registration__c

  • Brand__c

  • Registered_Service__c

  • Customer_Status__c

  • Double_OptIn_State__c

  • Preferred_Store__c

  • Subscription_Type__c
    etc.

Checkout_c

  • Transaction_ID__c

  • Total__c

  • Coupon__c

  • IP_Address__c

  • User_Agent__c

  • Source__c
    etc.

Checkout_Item__c

  • Transaction_ID__c

  • Total__c

  • Product_ID__c

  • Product_Name__c

  • Product_URL__c

  • Quantity__c

  • Points_Rewarded__c

  • Subtotal__c

  • Price__c

  • Discount__c

  • Points_Capped__c

Additional mapping for each SObject is required in the Antavo Mapping Configuration tab of the Antavo Loyalty application.

Add the Antavo-enrolled SObject tab to the Antavo Loyalty Application

This adds the tabs of all SObjects' that are related to your Antavo Loyalty program, to the Antavo Loyalty application, providing convenient access to all information in one place.
Open Setup ► Apps ► App Manager ►Antavo Loyalty (edit) ►Navigation Items and include the relevant SObjects' tabs to the Navigation Items list.
Click Save.

Configure the Antavo Settings

Navigate to Antavo Loyalty ► Antavo Settings and fill in the Antavo API credentials which can be obtained from your Antavo account (just navigate to Settings / API in the Antavo back-office):

  • API URL

  • API Key

  • API Secret

Also, configure one or more Email recipients, who will be notified once the DeleteLogsScheduler scheduled cron job clears any accumulated log messages:

  • Email Addresses To Notify About Exceptional Events (comma-separated)

The HTTP Callout Max Retry Count is the maximum number of re-submission attempts for a triggered HTTP request for syncing to Antavo. When filled in, each failure of the same HTTP request incrementally increases the Failed_Callout__c.Attempts_Count__c field up to the HTTP Callout Max Retry Count value. At this point, no more retries would be attempted and an email would be sent to the predefined recipients, configured with the previous setting: Error Log Email Recipients.

  • HTTP Callout Max Retry Count

Click Save.

Connect your Antavo instance to your Salesforce org

Configure Salesforce's Antavo Loyalty Connected App credentials in Antavo

  • Find the configuration page of the Salesforce Sales Cloud integration by searching for it in the Modules menu.

  • Fill in the API credentials for the Antavo Connected App, delivered in your Salesforce org with the Antavo Loyalty package:

    • Consumer Key

    • Consumer Secret

You can copy these values from the Connected App in the packaging org.

Contact your project manager or the Antavo Service Desk to obtain this information.


Log in to Salesforce to authorize the OAuth connection from Antavo to your Salesforce organization

  • Insert the Consumer Key and Consumer Secret fields from the previous step.

  • Click Connect.

This will bring up the Salesforce log-in screen which you can use to log in to your Salesforce organization. After a successful login, you'll be prompted to Authorize subsequent OAuth connections, initiated in Antavo, to your Salesforce organization.

  • Click Authorize.

Configure field mapping in Antavo

After a successful OAuth authorization in Antavo, the Modules / Salesforce Sales Cloud section will present a screen where you can see your field mappings between Antavo and Salesforce Service / Sales Cloud. As you are just setting the connection up you will need to create your first mapping.

Click on the 'Create new field mapping” button on the sidebar to create the first mapping.

You will need to provide the following information:

  • Remote Object - free text
    The name of the Object you are trying to sync to Salesforce.

  • Antavo Object - selectable from a dropdown
    The name of the Object you are trying to sync from Antavo.

  • External API Field
    By design, our connector looks up objects in Salesforce by their Salesforce Object IDs. You can change this behavior and make the connector look and update the object based on an external ID.

  • External ID
    The name of the field that stores the ID of the object within Antavo. If not provided, it defaults to the Salesforce Object ID. In case you would like to use the standard Antavo ID of the object, type _id in this field.

  • Fields
    For each field, you will find 3 additional attributes to define.

  • Loyalty Field
    The name of the field in Antavo to be synced.

  • Remote Field
    The name of the field in Salesforce.

  • Record Type
    The record type ID of the field in Salesforce.

  • Map the following objects:

    • Customer object

    • Transaction object

    • Loyalty card object (only in case you have the Incentivized purchase and Multi-accounts modules enabled)

Mapping the Record Type ID

Fill in the Record Type ID of the mapped SObject that you want to be used when newly created records in Antavo are synced over to your Salesforce org.

Use the same Record Type ID value for all field mappings.

Note: Only fill-in specific Record Type ID values if a custom Record Type exists for the SObject in Salesforce. Every Salesforce SObject has a default Master record type.

In the case of the Salesforce SObject which only has Master record type in both Salesforce and Antavo, leave the Record Type ID fields blank in the Antavo mapping configuration.

Conversely, if the Salesforce SObject has additional record types defined, you need to specify the Record Type ID here, even if only the Master record type will be mapped.

To get the Record Type ID value, in your Salesforce org, click the cogwheel icon in the top right corner, then - Developer Console.

In the Developer Console, navigate to Debug / Open Execute Anonymous Window.

Enter this line of code in the Enter Apex Code window that will be brought up:

System.debug( Schema.SObjectType.Customer__c .getRecordTypeInfosByDeveloperName() .get('Retail_Customer') .getRecordTypeId() );


This is assuming that:

  • The mapped SObject is named Customer__c. Substitute with a different value if needed.

  • The RecordType API name is Retail_Customer. Substitute with a different value if needed.

  • Grab the RecordTypeID that will be output in the Debug log after you click the Execute button.

  • Click Save when you're done.

Configure field mapping in Salesforce

Navigate to Antavo Loyalty ► Antavo Mapping Configuration. To create a new Mapping Configuration record for the profile Antavo action, click New. Different mapping configurations can be specified here, for several specific Antavo actions:

  • profile

  • card

  • customer_registration

  • checkout

  • checkout_item

  • any-other-arbitrary-sobject to be synced to Antavo

Ensuring that the Antavo Action field matches the values listed above isimportant for the mapping configurations provided. This is because these mapped SObjects and their fields are processed explicitly, according to their configured Antavo Action field.

Any other arbitrary SObject to be synced to Antavo can have an arbitrary value for its Antavo Action field.

For example:

Click New to create a new Mapping Configuration record for the profile Antavo action.

SObject Mapping

  • Customer
    This is the mapping for the Antavo customer and any SObject can be mapped here. The important thing is to preserve the Antavo Action and Antavo Object values, listed here.
    Fill in the following fields:

    • Antavo Action
      Enter profile

    • Antavo Object
      Enter core/customer

    • SObject
      Select the SObject that you want to be enrolled in Antavo Loyalty programs.

    • RecordTypes
      Once an SObject has been selected, all of its RecordTypes will be listed in the Available list. Move one or more RecordTypes in the Selected list.
      If the SObject doesn't have any custom record types, just select the Master record type.
      Only records of the mapped RecordTypes and of the mapped SObject will have the Antavo Loyalty Lightning component visible on their record detail page. Again, only those records will be automatically synced to Antavo, provided that their field, which is mapped to the opt_in Antavo field, is set to TRUE.

    • Default OptIn Status
      Enable this, if you want any subsequently created records of the mapped SObject, to be enrolled in Antavo Loyalty by default.
      Note: This setting is only relevant for the profile Antavo action. It is not sensible to enable this setting for subsequent mapping configurations: card, customer_registration, checkout, checkout_item

    • Active
      Enable this to activate this mapping configuration. It will be put in effect as soon as you save the mapping configuration by clicking Save. You can keep this disabled, to save the mapping configuration as a draft.
      Repeat this section to configure the SObject and field mappings for the other Antavo actions listed at the beginning of this section.

  • Loyalty Card

    • Antavo Action
      Enter card here

    • Antavo Object
      Enter cards/card

    • Default OptIn Status
      This configuration is irrelevant for the card Antavo Action

  • Checkout Transaction

    • Antavo Action
      Enter checkout here.

    • Antavo Object
      Enter core/transaction here.

    • Default OptIn Status
      This configuration is irrelevant for the checkout Antavo Action

  • Checkout Transaction Item

    • Antavo Action
      Enter checkout_item here.

    • Antavo Object
      Data entered here is irrelevant as this object will never be synced to Antavo on its own, but rather as a nested record under its parent Checkout Transaction. You can even enter irrelevant.

    • Default OptIn Status
      This configuration is irrelevant for the checkout_item Antavo Action.

    • Antavo Action
      Enter customer_registration here.

    • Antavo Object
      Enter custom/customer_registration here.

    • Default OptIn Status
      This configuration is irrelevant for the checkout Antavo Action.

Fields Mapping

This maps specific fields for the selected SObjects for each of the mapping configurations
Click the New Field Mapping button, to map a single field of the selected SObject to an Antavo field. Map the following Antavo fields to their counterpart SObject fields:

  • id

  • first_name

  • last_name

  • birth_date

  • email

  • opt_in

  • loyalty_opt_in_date

  • loyalty_status

  • loyalty_claimed_rewards

  • loyalty_earned_points

  • loyalty_pending_points

  • loyalty_spendable_points

  • loyalty_spent_points

  • loyalty_reserved_points

  • Loyalty_last_synced

  • any-other-antavo-field-that-you-wish-to-map

Finally, click Save.

To look up the Antavo field names, follow these steps in Antavo:

Customer fields

Navigate to Settings ► Customers ► Fields. Fields names are the Unique ID.

Checkout/ CheckoutItem fields

Refer to this article in the Antavo API documentation:
Antavo API / Event actions / checkout
Antavo API / Event actions / checkout_item

The Name column holds the field names.

Any other custom object required for mapping

Navigate to Modules ► Custom Entities. Navigate to a custom entity and click on the Attributes link in the sidebar. The Unique ID column contains the field name.

The required Antavo fields that need to be mapped per Antavo/action configuration are the following:

  • profile

    • id

    • email

    • first_name

    • last_name

    • opt_in

  • card

    • id - map this to Id

    • customer - map this to the lookup field pointing to the parent
      customer SObject

    • loyalty_name

    • loyalty_earned_points

    • loyalty_spendable_points

    • loyalty_pending_points

    • loyalty_reserved_points

    • loyalty_spent_points

    • loyalty_card_brand

    • loyalty_card_number

    • loyalty_card_status

  • checkout

    • id - map this to Id

    • customer - map this to the lookup field pointing to the parent customer SObject

    • total

  • checkout_item

    • id - map this to Id

    • product_name

    • product_id

    • quantity

    • price

    • total

    • subtotal

  • customer_registration

    • id - map this to Id

    • customer - map this to the lookup field pointing to the parent customer SObject

    • brand

Field Value Substitutions

It is possible to configure field value substitutions for scenarios where there is a mismatch in nomenclature.

For example, the Gender picklist field in Salesforce accepts M and F, whereas Antavo uses Male and Female. In this case, when mapping the Gender field, you should configure value substitutions, so that the M value is always submitted as Male and F as Female.

This can be done by locating the field that you want value mappings in the Mapped Fields data-grid of the Mapping configuration screen for an Antavo action.

  • Click the dropdown arrow on the right side of the row, which reveals a context menu for the relevant field.

  • Click Map Values in the context menu for the field.

  • A new modal window will appear titled: Map Values for the gender - Gender__c field. There you can enter multiple Salesforce and corresponding substitutional Antavo Values. These substitutions will be done only for the relevant configured field.

  • Partial substitutions will not be performed - only the whole field value will be matched against a pre-configured substitution value.

Create a Trigger in Salesforce

You need to create a trigger on the mapped SObject in Salesforce.

You have two options here:

Option 1: In case there isn't already a trigger created for the mapped SObject

Create a trigger and name it after your SObject, e.g.: CustomerTrigger.
Paste the following code snippet in your trigger declaration:

trigger CustomerTrigger on Customer__c (before insert,after insert, after update { if(Trigger.isBefore){ if (Trigger.isInsert) { antavo.AntavoTriggerHandler.onBeforeInsert(Trigger.operationType, Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap); } } if (Trigger.isAfter) { if (Trigger.isInsert) { antavo.AntavoTriggerHandler.onAfterInsert(Trigger operation Type, Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap); } if (Trigger.isUpdate) { antavo.AntavoTriggerHandler.onAfterUpdate(Trigger.operation Type, Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap); } } }

Option 2: You already have an existing trigger on the SObject that you need Antavo-integrated

In this case, you'll be adding three lines to your existing trigger's declaration, for each:

  • Before inserting:
    Add the following line of code to the relevant block in your existing trigger declaration:

antavo.AntavoTriggerHandler.onBeforeInsert(Trigger.operationType, Trigger.new, Trigger.newMap, Trigger.old,Trigger.oldMap);
  • After inserting:
    Add the following line of code to the relevant block in your existing trigger declaration:

  • After update:
    Add the following line of code to the relevant block in your existing trigger
    declaration:

Create similar triggers, or add similar lines to existing triggers for the other SObjects that need to be synced to Antavo.


Not all SObjects need to invoke trigger handling on all three trigger operations. Here's a list of commands that must be present in every SObject's trigger per Antavo Action:

  • profile

    • antavo.AntavoTriggerHandler.onBeforeInsert(Trigger.operationType, Trigger.new, Trigger.newMap, Trigger.old,Trigger.oldMap);

    • antavo.AntavoTriggerHandler.onAfterInsert(Trigger.operationType, Trigger.new, Trigger.newMap, Trigger.old,Trigger.oldMap);

    • antavo.AntavoTriggerHandler.onAfterUpdate(Trigger.operationType, Trigger.new, Trigger.newMap, Trigger.old,Trigger.oldMap);

  • card

    • antavo.AntavoTriggerHandler.onAfterInsert(Trigger.operationType, Trigger.new, Trigger.newMap, Trigger.old,Trigger.oldMap);

  • checkout

    • No trigger is needed on the Checkout SObject. The sync is initiated in a trigger on the child Checkout_Item__c SObject

  • checkout_item

    • antavo.AntavoTriggerHandler.onAfterInsert(Trigger.operationType, Trigger.new, Trigger.newMap, Trigger.old,Trigger.oldMap);

  • customer_registration or any subsequent custom entity

    • antavo.AntavoTriggerHandler.onAfterInsert(Trigger.operationType, Trigger.new, Trigger.newMap, Trigger.old,Trigger.oldMap);

    • antavo.AntavoTriggerHandler.onAfterUpdate(Trigger.operationType, Trigger.new, Trigger.newMap, Trigger.old,Trigger.oldMap);

Drag the AntavoLoyaltyData Lightning component on the SObject detail page

Open a detailed view of a record of the mapped SObject and click Edit in the cog-context menu.

  • Locate the AntavoLoyaltyData Lightning component in the Custom-Managed section of the Components tab on the left-hand-side. Drag this component on the Lightning App Builder area, annotated with Add Component(s) Here.
    Click Save.

  • If the confirmation dialog prompts you to activate the page, to make it visible to your users, click on the Activate button.
    In case you're not prompted to activate the page, close the confirmation box, and then click on the Activation button to invoke this explicitly.

  • Click on the Assign as Org Default button.
    Select Desktop and phone.
    Click Save.

  • Once the confirmation modal is gone, click on the Arrow button in the upper-left corner of the Lightning App Builder, to return to the record page.

Supported use cases

Once the AntavoLoyaltyData component has been properly placed on the Record Page, you can begin managing customer data in the loyalty program.

The following use cases are supported:

  • Check the customer’s events history

  • Add or subtract points on the customer’s account per loyalty cards/point accounts

  • Claim rewards on the customer’s behalf

  • Check or change the customer’s membership status

Check the customer’s and point balance

  • Look up the contact using the search, or select a recently accessed contact from the Contact drop-down menu in the main navigation

  • Locate the Antavo Loyalty component on the Record Page

  • Select the Loyalty Card / Point Account from the dropdown you would like to see the points for (optional; only necessary if the Points Economy Antavo module is enabled and there are multiple point accounts configured)

  • Click the Details tab in the Antavo Loyalty component

  • See the information on the tab
    The following information will be displayed:

    • Lifetime points - The number of points the customer has accumulated during their membership. Points that have expired or have been otherwise invalidated will not be deducted from this balance.

    • Available points - The number of spendable points in the customer's account.

    • Spent points - The number of points the customer has spent during their membership.

    • Reserved points - The number of points that have been reserved in the customer's account after claiming physical rewards. These points are converted to Spent points once the physical reward has been shipped to the customer.

    • Pending points - The number of points pending on the customer's account. Pending points are usually awarded for purchases that need to be confirmed once the return policy period has passed.

Check the customer’s events history

The customer’s events history displays the most recent actions the customer has performed in the loyalty program. By default, this view shows the last 15 events. More events can be viewed by logging into Antavo.
Follow these steps to access the Events History:

  • Look up the Contact using the Search or select a recently accessed
    Contact from the Contact drop-down menu in the main navigation

  • Locate the Antavo Loyalty component on the Record Page

  • Selecting the Loyalty Card / Point Account from the dropdown does not affect the contents of this tab

  • Click the History tab in the Antavo Loyalty component

  • Click the arrow on the left side of each event to see more details.

Add or subtract points on the customer account

If your brand is running a points-based loyalty program, you can administer points on the customer’s account directly through Salesforce Service Cloud.

There are 3 different actions supported:

  • Add points - This adds points to the customer account, increasing both the available and lifetime points of the customer

  • Subtract points - This deducts points from the customer account, decreasing both the available and lifetime points of the customer

  • Spend points - This spends points on the customer’s behalf, so the points remain in the lifetime points but are no longer available points to spend.

Follow these steps to administer points on the customer account:

  • Look up the Contact using the Search or select a recently accessed
    Contact from the Contact drop-down menu in the main navigation

  • On the Record Page, locate the Antavo Loyalty component

  • Select the Loyalty Card / Point Account from the dropdown you would like to alter the points for (optional, only necessary if the Incentivized purchase and Multi-Accounts Antavo modules are enabled)

  • Click the Points tab in the Antavo Loyalty component

  • Select the action that you would like to perform on the account

  • Enter the number of points you would like to add, subtract or spend on behalf of the customer

  • Specify a reason, which will be visible in the Events History when someone inspects the customer's previous actions. We recommend including a clear statement about why you are performing the action

  • Click ‘Submit’ to finalize the action.

 

Claim rewards on behalf of the customer

Check the list of rewards available for the customer to claim, select and claim them right away in Salesforce Service Cloud. Our solution checks for the rewards available in the Antavo Backoffice, taking the following criteria into account:

  • The customer has enough points to claim the reward, if the reward costs points

  • The customer is a member of a valid segment, if the reward is limited to certain customer segments

  • The date and time are within the claim boundaries set during the setup of the reward

  • The reward is in stock if the reward stock is managed by Antavo

Follow these steps to claim a reward on behalf of the customer:

  • Look up the Contact using the Search or select a recently accessed
    Contact from the Contact drop-down menu in the main navigation

  • On the Record page, locate the Antavo Loyalty component

  • Selecting the Loyalty Card / Point Account from the dropdown does not affect the contents of this tab

  • Click the Rewards tab in the Antavo Loyalty component

  • Select the reward that you would like to claim from the list by ticking

  • The checkbox beside the reward image

  • Click Claim to claim the reward

Check and change the customer’s membership status

The Membership tab can be used to view the customer’s current membership information. If the customer is enrolled in the loyalty program, you will see the date when they joined. You will also be able to opt the customer out directly from here.

If the customer is not yet a member of the program, you can enroll them in the program using this tab.

  • Look up the Contact using the Search or select a recently accessed Contact from the Contact drop-down menu in the main navigation bar

  • Locate the Antavo Loyalty component on the Record page

  • Selecting the Loyalty Card / Point Account from the dropdown does not affect the contents of this tab

  • Click the Membership tab in the Antavo Loyalty component

  • The date on which the customer joined the program will be displayed

  • Click Opt-out to remove the customer from the loyalty program.

Follow these steps to enroll (opt-in) the customer in the loyalty program:

  • Look up the Contact using the Search or select a recently accessed
    Contact from the Contact drop-down menu in the main navigation

  • Locate the Antavo Loyalty component on the Record page

  • Click the Membership tab in the Antavo Loyalty component

  • A notice will be displayed to you that the customer is not a member currently

  • Click Opt-in to enroll the customer in the loyalty program

Platform Governor Limits Utilization

Scenario: Create/Modify an SObject record in Salesforce

This might include:

  • Customer

  • Customer Registration

  • Checkout Transaction

  • Loyalty Card

  • Any other arbitrary custom entities that are mapped for synchronization

Salesforce Governor Limit:
Maximum number of asynchronous Apex method executions per a 24-hour period

  • Allowance: 250,000 or the number of user licenses in your org multiplied by 200, whichever is greater

  • Utilization: 1 per each record

  • Notes: This would depend on the number of SObject records modified:

    • Create/Update a single record via the Salesforce UI, would result in a single Async execution for the record.

    • Bulk update/create via Data Loader would result in number-of-records/200 Async executions.

    • In both cases the async executions will be accumulated per a sliding 24-hour period.

Scenario: Incoming REST request via the Antavo integration

Salesforce Governor Limits:

  • Concurrent API Request

    • Allowance: 25

    • Utilization: 1

    • Notes: Per sync request from Antavo to Salesforce

  • Total API Request Allocations

    • Allowance: 100,000 + (number of licenses x calls per license type) + purchased API Call Add-Ons

    • Utilization: 1

    • Notes: Per sync request from Antavo to Salesforce

Scenario: Log entries and Failed Callouts rotation

Salesforce Governor Limits:

  • Maximum number of Apex classes scheduled concurrently

    • Allowance: 100

    • Utilization: 2

    • Notes: See below

  • Maximum number of batch Apex jobs queued or active concurrently

    • Allowance: 5

    • Utilization: 2

    • Notes: See below

  • Outbound Email messages per day

    • Allowance: 5000

    • Utilization: 1

    • Notes: See below

All these three limits share a common note: The utilization would depend on the time-frequency of the scheduled jobs:

  • DeleteLogsScheduler clears entries older than 30 days, processing batches of 2,000 records in size.

    • The client may schedule these to run whenever suits them - we recommend once a month.

  • FailedCalloutsRetryScheduler processes Failed Callout records
    ● The client may schedule these to run whenever suits them - we recommend hourly.

© Copyright 2022 Antavo Ltd.