Integrating with Salesforce
- Topics:
- Administering
CREATED FOR:
- Admin
Integrating Salesforce with AEM provides lead management capabilities and leverages the existing capabilities provided out of the box by Salesforce. You can configure AEM to post leads to Salesforce and create components that access data directly from Salesforce.
The bidirectional and extensible integration between AEM and Salesforce enables:
- Organizations to fully use and update data to enhance the customer experience.
- Engagement from marketing to sales activities.
- Organizations to automatically transmit and receive data from a Salesforce datastore.
This document describes the following:
- how to configure Salesforce Cloud Services (configure AEM to integrate with Salesforce).
- how to use Salesforce Lead/Contact information in Client Context and for Personalization.
- how to use the Salesforce workflow model to post AEM users as leads to salesforce.
- how to create a component that shows data from Salesforce.
Configuring AEM to integrate with Salesforce
To configure AEM to integrate with Salesforce, you need to first configure a remote access application in Salesforce. Then you configure the salesforce cloud service to point to this remote access application.
To configure AEM to integrate with Salesforce:
-
In AEM, navigate to Cloud Services. In Third-Party Services, click Configure Now in Salesforce.
-
Create a new configuration, for example, developer.
NOTE
The new configuration redirects to a new page: http://localhost:4502/etc/cloudservices/salesforce/developer.html. This is the exact same value that you need to specify in the Callback URL while createing the remote access application in Salesforce. These values must match. -
Log in to your salesforce account (or if you do not have one, create one at https://developer.force.com.)
-
In Salesforce, navigate to Create > Apps to get to Connected Apps (in former versions of salesforce, the workflow was Deploy > Remote Access).
-
Click New to connect AEM with Salesforce.
-
Enter the Connected App Name, API Name, and Contact Email. Select the Enable OAuth Settings check box and enter the Callback URL and add an OAuth scope (for example, full access). The callback URL looks similar to this:
http://localhost:4502/etc/cloudservices/salesforce/developer.html
Change the server name/port number and page name to match your configuration.
-
Click Save to save the salesforce configuration. Salesforce creates a consumer key and consumer secret, which you need for AEM configuration.
NOTE
You may need to wait several minutes (up to 15 minutes) for the remote access application in Salesforce to get activated. -
In AEM, navigate to Cloud Services and navigate to the salesforce configuration you created earlier (for example, developer). Click Edit and enter the customer key and customer secret from salesforce.com.
Login Url This is the Salesforce Authorization Endpoint. Its value is pre-filled and serves most cases. Customer Key Enter the value obtained from Remote Access Application Registration page in salesforce.com Customer Secret Enter the value obtained from Remote Access Application Registration page in salesforce.com -
Click Connect to Salesforce to connect. Salesforce requests that you allow your configuration to connect to salesforce.
In AEM, a confirmation dialog opens telling you that you connected successfully.
-
Navigate to the root page of your website and click Page Properties. Then select Cloud Services and add Salesforce and select the correct configuration (for example, developer).
Now you can use the workflow model to post leads to Salesforce and create components that access data from Salesforce.
Exporting AEM users as Salesforce Leads
If you want to export an AEM user as a salesforce lead, you need to configure the workflow to post leads to salesforce.
To export AEM users as Salesforce leads:
-
Navigate to the Salesforce workflow at
http://localhost:4502/workflow
by right-clicking the workflow Salesforce.com Export and clicking Start. -
Select the AEM user you want to create as a lead as the Payload for this workflow (home -> users). Be sure to select the profile node of the user as it contains information like givenName, familyName, and so on, which are mapped to Salesforce lead’s FirstName and LastName fields.
NOTE
Before starting this workflow, there are certain mandatory fields that a lead node in AEM must have before getting published to Salesforce. These are givenName, familyName, company and email. To see a complete list of mapping between AEM user and Salesforce lead, see Mapping Configuration between AEM user and Slaesforce lead. -
Click OK. The user information is exported to salesforce.com. You can verify it at salesforce.com.
NOTE
The error logs will show you whether a lead is imported. Check the error log for more information.
Configuring the Salesforce.com Export workflow
You may need to configure the Salesforce.com Export workflow to match it to the correct Salesforce.com configuration or to make other changes.
To configure the Salesforce.com export workflow:
-
Navigate to
http://localhost:4502/cf#/etc/workflow/models/salesforce-com-export.html.
-
Open the Salesforce.com Export step, select the Arguments tab, and select the correct configuration is selected and click OK. In addition if you want the workflow to re-create a lead that was deleted in Salesforce, select the check box.
-
Click Save to save your changes.
Mapping configuration between AEM user and Salesforce Lead
To view or edit the current mapping configuration between an AEM user and a Salesforce lead, open the Configuration Manager: https://<hostname>:<port>/system/console/configMgr
and search for Salesforce Lead Mapping Configuration.
-
Open the Configuration Manager by clicking Web Console or going directly to
https://<hostname>:<port>/system/console/configMgr.
-
Search for Salesforce Lead Mapping Configuration.
-
Change mappings, as required. The default mapping follows the pattern** aemUserAttribute=sfLeadAttribute**. Click Save to save your changes.
Configuring Salesforce Client Context Store
The salesforce client context store shows additional information about the currently logged in user than what is already available within AEM. It pulls this additional information from Salesforce depending upon the user’s connection with Salesforce.
To do this, you need to configure the following:
- Link an AEM user with a Salesforce ID via the Salesforce Connect component.
- Add the Salesforce Profile Data into the client context page to configure what properties you want to see.
- (Optional) Build a segment that uses the data from the Salesforce Client Context Store.
Linking an AEM user with a Salesforce ID
You need to map an AEM user with a Salesforce ID in order to load it in the client context. In a real-world scenario, you would be linking based on known user data with validation. For demonstation purposes, in this procedure, you use the Salesforce Connect component.
-
Navigate to a web site in AEM, sign in, and drag and drop the Salesforce Connect component from the sidekick.
NOTE
If the Salesforce Connect component is not available, go to Design view and select it to make it available in Edit view.When you drag the component to the page, it displays Link to Salesforce=Off.
NOTE
This component is for demonstration purposes only. For real-world scenarios, there would be another process to link/match users with leads. -
After you drag the component on the page, open it to configure it. Select the configuration, type of contact, and the Salesforce lead or contact, and click OK.
AEM links the user with the Salesforce contact or lead.
Adding Salesforce Data to Client Context
You can load user data from Salesforce in the Client Context to use for personalization:
-
Open the client context you want to extend by navigating there, for example,
http://localhost:4502/etc/clientcontext/default/content.html.
-
Drag the Salesforce Profile Data component to the client context.
-
Double-click the component to open it. Select Add Item and select a property from the drop-down list. Add as many properties as you want and select OK.
-
Now, you see Salesforce-specific properties from Salesforce displayed in the client context.
Building a segment using data from Salesforce Client Context Store
You can build a segment that uses data from the Salesforce Client Context Store. To do this:
- Navigate to segmentation in AEM either by going to Tools > Segmentation or going to http://localhost:4502/miscadmin#/etc/segmentation.
- Create or update a segment to include data from Salesforce. For more information, see Segmentation.
Searching Leads
AEM ships with a sample Search component that searches leads in Salesforce according to the given criteria. This component shows you how to use the Salesforce REST API to search for salesforce objects. You need to link a page with a Salesforce configuration to trrigger a call to salesforce.com.
To use this component:
-
Navigate to the page where you want to use this configuration. Open page properties and select Cloud Services. Click Add Services and select Salesforce and the appropriate configuration and click OK.
-
Drag the Salesforce search component to the page (provided it has been enabled. To enable it, go to Design mode and add it to the appropriate area).
-
Open the Search component and specify the search parameters and click OK.
-
AEM displays the leads specified in your search component that match the criteria specified.
Experience Manager
- Administering User Guide overview
- Sites Features
- Website Administration
- Reusing Content: Multi Site Manager and Live Copy
- Live Copy Overview Console
- Configuring Live Copy Synchronization
- Creating and Synchronizing Live Copies
- MSM Rollout Conflicts
- MSM Best Practices
- Translating Content for Multilingual Sites
- Managing Translation Projects
- Identifying Content to Translate
- Preparing Content for Translation
- Creating a Language Root Using the Classic UI
- Connecting to Microsoft Translator
- Configuring the Translation Integration Framework
- Language Copy Wizard
- Translation Enhancements
- Translation Best Practices
- Configurations and the Configuration Browser
- AEM FAQs
- Operations
- Dashboards
- Operations Dashboard
- Backup and Restore
- Data Store Garbage Collection
- Monitoring Server Resources Using the JMX Console
- Working with Logs
- Configure the Rich Text Editor
- Configure the Video component
- The Bulk Editor
- Configuring Email Notification
- Configuring RTE for Producing Accessible Sites
- The Link Checker
- Troubleshooting AEM
- Audit Log Maintenance in AEM 6
- Editor
- Managing Access to Workflows
- Using cURL with AEM
- Configuring Undo for Page Editing
- Proxy Server Tool (proxy.jar)
- Configuring for AEM Apps
- Administering Workflows
- Configuring Search Forms
- Tools Consoles
- Reporting
- Administering Workflow Instances
- Configuring Layout Container and Layout Mode
- Enabling Access to Classic UI
- Starting Workflows
- Configure the Rich Text Editor plug-ins
- Admin Consoles
- Security
- User Administration and Security
- User, Group and Access Rights Administration
- Security Checklist
- OWASP Top 10
- Running AEM in Production Ready Mode
- Identity Management
- Adobe IMS Authentication and Admin Console Support for AEM Managed Services
- Creating a Closed User Group
- Mitigating serialization issues in AEM
- User Synchronization
- Encapsulated Token Support
- Single Sign On
- How to Audit User Management Operations in AEM
- SSL By Default
- SAML 2.0 Authentication Handler
- Closed User Groups in AEM
- Granite Operations - User and Group Administration
- Enabling CRXDE Lite in AEM
- Configuring LDAP with AEM 6
- Configure the Admin Password on Installation
- Service Users in AEM
- Encryption Support for Configuration Properties
- Handling GDPR Requests for the AEM Foundation
- Content Disposition Filter
- Personalization
- eCommerce
- Integration
- Integrating with Third-Party Services
- Integrating with Salesforce
- Integrating with Adobe Target
- Integrating with Adobe Analytics
- Connecting to Adobe Analytics and Creating Frameworks
- Configuring Link Tracking for Adobe Analytics
- Mapping Component Data with Adobe Analytics Properties
- Configuring Video Tracking for Adobe Analytics
- HTTP2 Delivery of Content FAQ
- Troubleshooting your Adobe Campaign Integration
- SharePoint Connector Licenses, Copyright Notices, and Disclaimers
- SharePoint Connector
- DHTML Viewer End-of-Life FAQs
- Integrating with Adobe Campaign Classic
- Related Community Articles
- Integrating with Adobe Campaign Standard
- Flash Viewers End-of-Life Notice
- Integrating with Adobe Creative Cloud
- Integrating with Adobe Dynamic Tag Management
- Opting Into Adobe Analytics and Adobe Target
- AEM Portals and Portlets
- Integrating with Dynamic Media Classic
- Troubleshooting Integration Issues
- Integrating with BrightEdge Content Optimizer
- Best Practices for Email Templates
- Catalog Producer
- Integrating with Silverpop Engage
- Integrating with Adobe Campaign
- Integrating with ExactTarget
- Analytics with External Providers
- Integrating with the Adobe Marketing Cloud
- Manually Configuring the Integration with Adobe Target
- Prerequisites for Integrating with Adobe Target
- Adobe Classifications
- Solutions Integration
- Target Integration with Experience Fragments
- Best Practices
- Content Management