Mugo Web main content.

Integrating Ibexa DXP with Salesforce for powerful marketing automation

By: Ernesto Buenrostro | June 3, 2022 | ibexadxp, integration, marketing automation, and Business solutions

Business data is inevitably distributed across multiple systems. However, we know that customers are not prepared to deal with that kind of complexity, especially when they see little relevance or value to the task at hand. A typical location for this kind of friction is in the integration of the Content Management System (CMS) and the Customer Relationship Management system (CRM). Integrating the two can help provide a seamless experience for the customer and increase the overall usability of your website.

CMS / CRM integrations come in many flavors, including:

  • Syncing and maintaining different sets of canonical data
  • Exposing CRM services
  • Integrating complex business-specific workflows

For example, your website visitors may spend most of their time interacting with content stored in your CMS, but they also need to manage their email newsletter subscriptions and profile information, which might be stored in either a CRM or automated marketing platform.

Likewise, you may want to leverage account and personal information stored in the CRM on your public website. You may want to use your CMS’s powerful content management features to create personalized experiences that tie into your automated marketing and sales processes powered by your CRM.

Here at Mugo Web, we are intent on helping businesses overcome the hurdles blocking the use of all the tools they need. We have addressed many such use cases by integrating the Salesforce CRM and the Salesforce Marketing Cloud with the Ibexa DXP. This post will illustrate why Ibexa is great for integrations with Salesforce.

What is Ibexa DXP?

Ibexa DXP is a multichannel CMS with a sophisticated content engine and robust integration capabilities that can support any number of publishing scenarios, from eCommerce product catalogs to magazine sites. Ibexa can store user information to gate content access and personalize some features, but it’s designed for ready integration with other systems.

What is Salesforce? 

Salesforce, including the web-based Salesforce Marketing Cloud, is an online solution for customer relationship management. It holds demographic and transactional data about your customers, and its extensive ecosystem of compatible applications handles everything from event management to travel planning. Salesforce provides a 360-degree view of your marketing, sales, commerce, and service activities and automates email and other marketing functions through the Marketing Cloud.

Some integration tactics for Salesforce and the Ibexa DXP

We’ve had tremendous success with various Ibexa-Salesforce integrations, ranging from simple to complex. The following cases are typical and useful — and should be possible with any good CMS:

  1. Embedding a pre-populated Salesforce form on a CMS page.
  2. Timely cross-system data management with CRUD operations. 
  3. Triggering Salesforce events to notify the CMS to generate ads, flyers, and other related documents in real-time. 
  4. Triggering marketing emails when content is added or updated in the CMS. 
  5. Pulling in Salesforce data for display on your website. 

1. Embedding a pre-populated Salesforce form on a CMS page

This is one of the most straightforward integrations I’ll discuss in this post. It requires only creating an embeddable form in Salesforce and pre-populating a field with the desired content, such as the user’s mailing address, as stored in Salesforce.

This tactic can be used for personal information about the user and the standard transactional data you store in Salesforce. For example, we have implemented a multi-field article submission Salesforce form that contributors can use to submit content to a site publisher. The form also includes a standard author agreement stored in Salesforce. We simply place the form embed code generated by Salesforce in a CMS template that will display the form on the publisher’s site.

When the author submits the content to Salesforce, the current agreement will be stored with the submitted article associated with the user’s full account record. An offline review process follows, after which the content is posted back to the CMS for review and publication.

2. Timely cross-system data management with CRUD operations

To ensure that shared data owned by Salesforce is up to date in the CMS, we configure an event on the Salesforce side that triggers after a record is updated there. This event pushes the record ID to a REST API endpoint in the CMS. We then fetch all the necessary information related to the record ID and update it in the CMS database or directly in Solr, which we often use as a supplementary, high-performance, NoSQL content repository.

Storing information in local storage like Solr yields considerable savings on API requests (and keeps the costs as low as possible). This is crucial on high-traffic sites. It’s important to note that in Salesforce, the workflow rules or processes aren’t executed after removing a record, so we can’t notify connected systems. To handle removals, we have to take a somewhat crude approach — a weekly cron job that wipes the Solr index and fetches all the information again.

Directory listings pulled from The Christian Science Journal Directory, embeded on website using Salesforce integration

The listings on this page are managed in Salesforce and integrated for publication in near real-time on an Ibexa DXP site.

3. Triggering Salesforce events to notify a CMS to generate ads, flyers, and other related documents in real-time

Generating ads, flyers, and any other related documents in real-time exceeds the reasonable limits of what we can do within Salesforce. So we accomplish this task by executing custom code outside of Salesforce. This can be achieved by configuring a trigger on the Salesforce side that executes after a record is updated.

For example, we might create a record for an upcoming event in Salesforce with a title, speaker, address, and date field. If an editor publishes a change, a trigger configured in Salesforce will submit the record ID to an endpoint to the CMS. Ibexa will receive that request and fetch all the necessary information from Salesforce using the received ID. The CMS will generate ads, flyers, and any other documents required. (Auto-generation of deliverables based on existing content assets is a huge benefit of using an enterprise-class CMS, like Ibexa.) We then email a list of editors who approve it for distribution.

Sample of documents created using Salesforce integration. Front, back, and closeup of postcard advertising an event.

The information to produce these documents is managed in Salesforce, and then they are generated after the content is created or updated.

4. Triggering marketing emails when content is added or updated on your Ibexa site

Many publishers send email alerts when they publish new content, and they want to track interaction with those emails in their marketing platform. Additionally, they want to personalize the emails with user information stored in the CRM.

We start with an automated data export from the Ibexa CMS to accomplish this. When an article is edited, we generate a CSV with all the necessary information – article id, author, title, publish date, available translations, article URLs, etc. We then upload the CSV to an FTP site monitored by Salesforce Marketing Cloud. When Salesforce Marketing Cloud finds the new CSV, it consumes its contents, adds or updates a record in Salesforce used to generate the mail’s content, and schedules the email.

Note that there are different technical ways to transfer data (FTP, API, other) to Salesforce. We typically use FTP and CSV files to submit the information to Salesforce Marketing Cloud.

5. Pulling in Salesforce data for display on your Ibexa site

You may sometimes need to pull recent Salesforce data into Ibexa. Although this may be a straightforward process using the Salesforce API, other factors must be considered, such as API request limits. For example: having a traffic-heavy web page with a list of online events where the entries get updated constantly. It’s necessary to find a balance between the freshness of the data and API call usage, to maintain site performance. In cases where the timeliness of information is critical, we store the data in our CMS page cache for 10 minutes to handle the heavy load and freshness of the content while saving some API requests.

Real-time, personalized content delivery with Salesforce and Ibexa

As you might imagine, there are enormous advantages to integrating Salesforce and its marketing features with your CMS. With a bit of planning and smart data management, Salesforce, Salesforce Marketing Cloud, and the Ibexa DXP can work together to deliver the right content to your customers in real-time.

loading form....
Thanks for reaching out. We will get back to you right away.