Integration & Automation

ACE mapping guide for AWS Partner CRM Connector Version 2.0

When using the AWS Partner CRM Connector (referred to as the connector), partners must create APN Customer Engagements (ACE) mappings on the connector to sync opportunities between AWS and Salesforce. Because partners use different Salesforce database tables (called objects) for storing opportunity data, methods for creating ACE mappings can vary.

In this blog post, I present three different ways to complete ACE mappings for the connector. Choose your preferred way to create mappings based on your specific environment and requirements.

  • Option 1: Use the ACE opportunity custom object that is packaged with the connector.
  • Option 2: Create a new custom object or use the Salesforce standard opportunity object.
  • Option 3: Populate and map data from another object using a trigger.

Finally, we describe how to upload your opportunities into ACE in bulk using ACE Pipeline Manager.

About this blog post
Time to read ~10 min
Time to complete ~20 min
Learning level Intermediate (200)
AWS services Amazon Partner CRM Connector
AWS Pipeline Manager

Prerequisites

  1. Read the AWS Partner CRM Integration Guide to understand business flows.
  2. Complete Stage 1: Onboarding prerequisites.
  3. Complete the steps in Stage 2: Request submission to fill out the Onboarding Request form on Partner Central.
  4. Follow the Guided setup instructions to install the CRM Connector on the sandbox Salesforce environment and configure authentication.

Option 1: Use the ACE opportunity custom object that’s packaged with the connector

Use the AWS Partner CRM Connector’s Automap ACE custom object in the opportunity submission process to surface validations in the UI. We recommend this option over the other two because the Automap ACE object is automatically included when you install the connector from the Salesforce AppExchange. Also, the schema of the Automap ACE object matches the latest ACE data model described in the AWS Partner CRM Integration samples GitHub repository.

To map the Automap ACE object within AWS Partner CRM Connector Version 2.0:

  1. In the ACE Mapping tab (see Figure 1), choose Opportunity.
  2. In the Object Selector field, choose the ACE Opportunity object.
  3. Choose Automap ACE object.
ACE Mapping tab

Figure1: ACE Mapping tab

After the connector maps the fields, the page automatically reloads and you can review the map values for the picklist and multi-picklist fields to confirm that they have been created successfully. The next step is to create the schedule so Salesforce can sync the opportunities.

Note: If all data resides in the new object, no further work is required. If the data resides in another object, you may need to build triggers to move the data to the new object. See Option 3 later in this blog post for more information.

Option 2: Create a new custom object or use the Salesforce standard opportunity object

Using this option, you can either create your own custom object or use the standard opportunity object provided with Salesforce. In either scenario, confirm that you have included all ACE mandatory fields such as Customer Company Opportunity, Industry, and Country.

To map the standard opportunity object:

  1. In the ACE Mapping tab, choose Opportunity.
  2. In the Object Selector field, choose the Opportunity object. Note that the Automap ACE object is available only for the ACE Opportunity custom object provided by AWS, as described in Option 1.
  3. Map the required Salesforce fields to the AWS fields. For picklist fields, map Salesforce values with ACE Pipeline Manager values. Choose Save.

The data type of the target mapping field must match the data type of the newly created field in the custom object. Otherwise, the new field might not display on the ACE Mapping screen. For example, a text field like customerCompanyName must be mapped to a text (string) field in the Salesforce Object Manager. For a complete list of ACE Opportunity fields, see Opportunity Fields.

Note: If creating a custom object or updating the Salesforce standard object, you are responsible for maintaining and updating your object as changes occur within your organization.

Option 3: Populate and map data from another object using a trigger

Use this option if your data is sourced from more than one object. For example, if you store opportunity data in one object but want to use the ACE opportunity custom object to perform the ACE mapping. Because Salesforce requires a single object to map fields to ACE, this scenario requires an automation trigger or workflow to populate a new custom object with the combined data.

Consider a scenario when the partner wants to map the Customer Company Name and Industry fields from the parent account of an opportunity but source the Use Case, Target Close Date, and Amount fields from the opportunity itself. This partner can first create a trigger that moves data from a custom object to a staging object. Using this trigger, the fields in the staging object are populated with data from both the account and opportunity, allowing the partner to map those fields to ACE within Salesforce.

Use the following snippet of code as a starting point when building and running a similar trigger on the Salesforce backend.

Note: The ACE CRM team does not provide support for building or testing triggers. Work with your CRM administrative team instead.

Trigger OpportunityTrigger on Opportunity (after insert)
{
   //In this case a new Opportunity needs to be transmitted to ACE
   List<awsapn_ACE_Opportunity_c> objectsToInsert = new List< awsapn_ACE_Opportunity_c>();
    if( trigger.isAfter && trigger.isInsert){
        for(Opportunity newOpportunity : trigger.new){
            awsapn_ACE_Opportunity newaceOpportunity = new awsapn_ACE_Opportunity_c();
            newaceOpportunity. awsapn__Customer_Company_Name__c = newOpportunity.Account.Name;
            newaceOpportunity. awsapn__Industry__c = newOpportunity.Account.Industry;
            newaceOpportunity. awsapn__Target_Close_Date__c = newOpportunity.TargetCloseDate;
            newaceOpportunity.awsapn__Expected_Monthly_AWS_Revenue__c = newOpportunity.Amount;
            //...Other fields sourced from opp or parent account
            objectsToInsert.add(newaceOpportunity);
        }
    }
   insert objectsToInsert;
}

Once implemented, confirm that the trigger successfully populates the data correctly in the ACE opportunity custom object provided with the connector. You should see the required fields and the correct data type used in the field definition. Next, perform the same mapping in the ACE Mapping tab.

AWS Partner Amplitude has successfully implemented this option by completing the following tasks:

  • As a prerequisite, created a spreadsheet that mapped fields from their standard opportunity object to the custom ACE Opportunity object delivered with the connector.
  • Built a custom Apex class job to move data from their CRM opportunity and its parent account object to the ACE custom opportunity object.
  • Configured the Apex code with a trigger to sync the required opportunities daily.
  • Created a batch query file to specify the use case for the synchronization and provide a limit to the number of opportunities to sync to AWS.

Bulk importing opportunities via the AWS ACE Pipeline Manager

After completing the ACE mapping using one of the three options described earlier, you can upload your opportunities into ACE in bulk using ACE Pipeline Manager. Using ACE Pipeline Manager, you can manage your pipeline of AWS customers while simultaneously collaborating with AWS on those engagements.

Figure 2 illustrates the bulk upload process within ACE Pipeline Manager.

AWS Pipeline Manager bulk upload process

Figure 2: AWS Pipeline Manager bulk upload process

Data from a standard or custom object in the partner’s Salesforce instance is passed to the partner’s opportunity extract file. Next, the opportunity extract file is transformed and converted into an ACE-formatted file, which is used to upload data into ACE Pipeline Manager.

To ensure success, review your existing manual workflow for bulk-importing opportunities into ACE. Review the existing guidelines and standard operating procedures (SOPs) that your AWS alliance lead or ACE Pipeline Manager users follow to export opportunities from your Salesforce organization and map them to CSV format (required for bulk import). Analyzing how existing values are transformed to CSV format is a key factor for establishing the field mappings required for automating the CRM integration with ACE.

Conclusion

We hope this blog post has provided you with some valuable insights and guidance for using the AWS Partner CRM Connector to complete ACE mappings and sync opportunities to Salesforce. If you have any feedback about this content or the options described, please leave a comment below.

About the author

Bhavya Chugh
Bhavya Chugh

Bhavya Chugh is an AWS Partner solutions architect with Amazon Web Services. She helps partners adopt AWS best practices for creating resilient architectures and building strategic content, accelerating their AWS partner journey. Recently, she has worked with multiple ACE-eligible partners to onboard them on ACE CRM integration projects.