In order to access the new features and use cases in the ACME | Salesforce Integration version 2.0 Release Notes, additional set-up needs to be completed in your Salesforce and Workato environments, as outlined below.
TABLE OF CONTENTS |
New Fields
To support the new features and use cases in the ACME | Salesforce Integration version 2.0 Release Notes, additional fields need to be added to your Salesforce environment and the Integration User needs full CRUD access in order for the new and updated recipes to work. Only the new ACME Link field is required, and while the others are technically optional (if you do not plan to send data into these fields), we recommend adding them regardless as if data is ever sent to them via the recipes, the recipes will fail if the fields below are not present in Salesforce. For more information on if you need to add the fields, check in with your CSM.
(Depending on when you installed the unmanaged package you may have some of these fields already. Please double check to ensure their configuration matches the below).
Opportunity Object
ACME Link (API Name: ACME_Link__c)- URL
Required for Orders to sync
This field will hold a link to the Order in ACME Backoffice.
ACME Customer Number (API Name: ACME_Customer_Number__c)- Text(64)
Required for Orders to sync
This field will hold the ACME Customer Number of the Customer who placed the Order
Contact Object
ACME External ID (API Name: ACME_External_ID__c)- Text(20), Unique, Case Sensitive
This field can be used to hold a Customer Number for the Contact from another system (for example, if the Customer has a prior Constituent ID from Raiser’s Edge). When using our brand new recipe to send new memberships created in Salesforce to ACME, you can optionally send an External ID for the Contacts associated to the Membership. This ID will be stored on the ACME Customer record. (Coming soon: the ability to create a new Contact in Salesforce and send it to ACME where ACME will create a Customer record. During this flow you will optionally be able to send an External ID).
ACME Membership Object
External ID (API Name: External_ID__c)- Text (20), Unique, Case Sensitive
This field can be used to hold a unique system ID for the Membership record from another system (for example, the Salesforce Record ID of the Membership record). When using our brand new recipe to send new memberships created in Salesforce to ACME, you can optionally send an External ID for the Membership. This ID will be stored on the ACME Membership record. External ID must be unique for each Membership version in ACME.
External Membership ID (API Name: External_Membership_ID__c)- Text(64), Unique, Case Sensitive
This field can be used to hold a Membership Number for the Membership from another system (for example, the membership number given to memberships purchased in an external system). When you send a brand new membership purchase to ACME, you can optionally send a value for External Membership ID and ACME will accept this value as “ACME Membership Number” and “External Membership ID” on the ACME Membership Record. (Coming soon: the ability to update the External Membership ID for any membership in ACME) .
Is Auxiliary (API Name: Is_Auxiliary__c)- Boolean
If the membership is an Auxiliary membership, this checkbox will be checked.
Auxiliary Group (API: Auxiliary_Group__c)- Text(64)
If the membership is an Auxiliary membership, this field will hold the name of the Auxiliary Group.
ACME Membership Card Object
External ID (API Name: External_ID__c)- Text (20), Unique, Case Sensitive
This field can be used to hold a unique system ID for the Membership Card from another system (for example, the Salesforce Record ID of the Membership Card). When using our brand new recipe to send new memberships created in Salesforce to ACME, you can optionally send an External ID for the membership card(s). This ID will be stored on the ACME Membership Card record. External ID must be unique for each Membership Card in ACME but if a card persists across many membership versions (in the event of a renewal) then it can keep the same External ID for its life.
Field Updates
Similarly to above, we have made several field updates to make things easier on your staff. By making fields required and changing them to picklists, your staff will have an easier time inputting data into Salesforce in the correct format that ACME requires to accept it.
ACME Membership Object
ACME Membership ID
Make this field editable by only the ACME Integration User
Lifecycle Action
Recommend adding Help Text like: "This is required in order to send a brand new membership version to ACME."
Turn into an unrestricted Picklist with these available values:
Values | API Name |
MembershipPurchase | MembershipPurchase |
MembershipUpgrade | MembershipUpgrade |
MembershipDowngrade | MembershipDowngrade |
MembershipRenewal | MembershipRenewal |
MembershipRenewalUpgrade | MembershipRenewalUpgrade |
MembershipRenewalDowngrade | MembershipRenewalDowngrade |
MembershipRejoin | MembershipRejoin |
MembershipRejoinUpgrade | MembershipRejoinUpgrade |
MembershipRejoinDowngrade | MembershipRejoinDowngrade |
MembershipPostTermRenewal | MembershipPostTermRenewal |
MembershipPostTermRenewalUpgrade | MembershipPostTermRenewalUpgrade |
MembershipPostTermRenewalDowngrade | MembershipPostTermRenewalDowngrade |
MembershipReplacement | MembershipReplacement |
Level
Change to Required
Turn into an unrestricted Picklist of all the Level names you have in ACME (case sensitive, matching what is in ACME)
Offering
Change to Required
Turn into an unrestricted Picklist of all the Offerings you have in ACME (case sensitive, matching what is in ACME). Also recommend adding Conditions that filter the Offering based on which Level is selected.
Primary_Member__c
Change to Required
Standing
Change to an unrestricted picklist with these available values:
Values
API Name
Active
Active
Lapsed
Lapsed
New
New
Replaced
Replaced
Dropped
Dropped
ACME Membership Card Object
- ACME Membership Card ID
- Change to not required
- Card Type
- Change to Required
- Turn into picklist with available values:
Values
API Name
Primary
primary
Secondary
secondary
Card Standing
Change to Required
Turn into a picklist with available values:
Values
API Name
Active
Active
New
New
Dropped
Dropped
Lapsed
Lapsed
Replaced
Replaced
We recommend defaulting this to “Active”
Cardholder
Recommend adding Help Text like: “If Card Type is Primary, then the Cardholder field cannot be blank.”
Name
100% Optional but we recommend updating the Name of this field to "Name on Card" so that it matches what is in ACME
New Workato Lookup Table
ACME Memberships
ACME will complete the following configuration for you.
A brand new Workato Lookup Table (Tools > Lookup Tables) was created to use in the recipe to create new memberships in Salesforce and send them to ACME. ACME requires Level ID, Offering ID, and Price Point ID in order to create a membership in ACME. Instead of requiring your staff to know these numbers or look them up each time, we are utilizing a lookup table that will take the values for Level and Offering on the Membership record and lookup the necessary IDs. Your CSM can help you fill out this table. The table has 4 columns:
ACME Level/Offering. This must equal the Level Name + Offering Name from ACME.
Level ID. This is the ID of the Membership Level in ACME.
Offering ID. This is the ID of the Membership Offering in ACME.
Price Point ID. This is the ID of the price point associated with this Level/Offering in ACME.
New Workato Environment Properties
ACME Environment Link
This is where we will input the link to the ACME environment that Workato is hooked up to. We then use this environment property to link to the Order in ACME Backoffice from the Opportunity or to the Membership in ACME Backoffice from the Salesforce Membership record.
Salesforce Integration User ID
This is where we will input the Salesforce ID of the user configured as the Workato Integration User.
New Layout Recommendation
ACME Membership Object
If you would like your Salesforce users to have the ability to create a new ACME Membership record in Salesforce and send it to ACME where it will create an Order, Customer(s), Membership, and Membership Card(s), then we recommend that you add a Custom button to the ACME Membership layout(s). To do so:
Within Object Manager > ACME Membership > Buttons, Links, and Actions click “New Button or Link”
Label: Create in ACME
Type: Detail Page Button
Content Source: URL
Retrieve the webhook address from the recipe [SF] REC 106 | Webhook: Sync new Membership via ACME Checkout API
Append the following to the end of the link from step 4 when configuring the button: ?SalesforceMembershipId={!ACME_Membership__c.Id}
Full link: {webhook address from the recipe [SF] REC 106 | Webhook: Sync new Membership via ACME Checkout API}?SalesforceMembershipId={!ACME_Membership__c.Id}
Add the button to the appropriate layout(s)
Example (note, you will have a distinct Webhook address so you need to copy the one from the recipe in your environment, not the one in this screenshot):