Integrating Yardi System and Salesforce using MuleSoft API-Led Connectivity Approach

What is Yardi System:

Yardi is a software that makes applications for all sizes of property management and real estate companies. The company makes software suites for property management, marketing, commercial applications, senior living, and investments. Yardi’s software consists of cloud-based tools that work on both desktop and mobile platforms.
Yardi’s main offering of property management software comes in two suites: Yardi Breeze, for small to medium-sized property management companies, and Yardi Voyager(web-based application), for large property management companies. Breeze focuses on single-family homes and multifamily properties. Voyager focuses on commercial property management. Both include tools for accounting, operations, and ancillary processe

What is Salesforce:

Salesforce is a cloud computing service as a software (SaaS) company that specializes in customer relationship management (CRM). Salesforce’s services allow businesses to use cloud technology to better connect with customers, partners, and potential customers. The software has become the number one for customer success and helps businesses track customer activity, market to customers, and many more services.

What is MuleSoft:

MuleSoft is a middleware and iPaaS solution. The Mule ESB is a middleware solution, and with the influence of CloudHub, MuleSoft becomes an iPaaS solution. This, combined with MuleSoft’s Java-based framework, makes the Anypoint Platform not only extremely flexible but also scalable.

The Goal:

Yardi system contains details of properties and the associated details of attributes like tenant, lease, unit, resident, price etc which are logically linked together to have a property management system. On the other hand, Salesforce helps to build the customer-facing relations which contain details like properties, rehabs, renewals, Listings, Rent Roll etc.

Within a  business process, there are times when it is required to integrate data between Salesforce and Yardi to keep both the system in sync for various purposes.

For Example:
1) Details of the newly onboarded property or update to existing property need to be added/updated to the various table in Yardi databases.
2) Creating leases in Salesforce for all active properties in Yardi.

Both the examples mentioned above require a complex logic involved while integrating the data between the systems keeping Transactionality and business needs in mind.

Use of MuleSoft batch integration for handling large quantities of data, engineering near real-time data integrations, and/or use of API-Led Connectivity approach for better governance, maintainability, scalability, and shared resources, can achieve above goals.

A Scenario:

Let us consider the below scenario and implementation the same using MuleSoft’s API-Led connectivity approach.

Scenario: The renewal(renewal of leases) object in Salesforce needs to be updated with below details from Yardi, which are scattered across various tables in the Yardi database.
1) Pet rent
2) Pool fee amount
3) Amenity fee amount
4) Master policy
5) Policy create date
6) Policy effective date
7) Policy expiry date
8) Name of the insurer
9) Pet notes

Mulesoft as an integration tool needs to pull the data from Yardi and update the details in Salesforce periodically. Also, there is a need for integrating the same data in real-time by sending a get request to MuleSoft API for a single renewal record in salesforce.

Solution: We will take a hybrid approach here using the capabilities of API-Led    connectivity and a job scheduler to accomplish the goal


step1: Create a system API namely org-sfdc-system-api to interact with Salesforce.
step2: Create a system API namely org-yardi-system-api to interact with Yardi system(A database).
step3: Create a system API namely org-internal-system-api. This API keeps track of the transaction between system APIs where ever it is needed. This system can also work as a place for keeping historical records of certain transactions or providing a cache like environment (where the data can not be filtered from the source)
step4: Create a process layer namely org-yardi-process-api which does integrate the data between org-yardi-system-api and org-internal-system-api.
step5: Create a process layer namely org-internal-process-api which does integrate the data between org-internal-system-api and org-sfdc-system-api.

Step 4 and 5 will have a scheduler in place to run the job.

step6: Create an experience layer namely org-ms-exp-api. This API will give the option for Salesforce to get the details of renewals details in realtime.

Below is the architectural approach to the solutions mentioned above –


 Below are the links to know more about the systems and architectural pattern involved –

More about the author: Soumitra Giri


Soumitra Giri

Soumitra Giri

Leave a Reply

Your email address will not be published. Required fields are marked *


On Key

Related Posts

Tutorial: Basic introduction to LWC

Tutorial: Basic introduction to LWC Lightning Web Components is open source, empowering you to explore the source code, customize the behavior for your needs, and build enterprise-ready web components on any platform, not just Salesforce. Lightning Web Components (LWCs) are a user interface (UI) framework that Salesforce Developers use to create customized pages and functions on the Salesforce platform. Lightning Web Components are seriously becoming the “big thing” for Salesforce Developers, especially for front-end development. Two programming models are now available for creating Lightning components: Lightning Web Components and the original form, Aura Components. Custom HTML elements known as “Lightning

Everything you need to know about SSO (Single Sign-On) and its Importance

Everything you need to know about SSO (Single Sign-On) and its Importance One of the more tedious jobs as a Salesforce admin is resetting users’ passwords. Even though there’s a button on the Salesforce login screen that says “Forgot your password”, some people don’t notice it. If only there were an easier way! Single Sign-On (SSO) is a simple idea: you will instantly be signed into all the other applications you require after signing into one system. You’ll have fewer passwords, fewer headaches, and less redundancy, which should free you up to focus on your original goals rather than getting

Basics: everything to know about Composite API and its advantages

Basics: everything to know about Composite API and its advantages A potential architectural answer that can bundle multiple calls into a single API request. Salesforce has been helping organizations handle the customer database for over 2 decades. It provides users with the right mix of process automation and personalization and tailor services to the specific requirements of the clients. Salesforce integration is the process of merging the data and the functionality of salesforce with another application to provide users with a single unified experience. It allows you to provide your team with the ideal platform features. We have the word

Beginners Guide to MuleSoft and the Anypoint Platform

Beginners Guide to MuleSoft and the Anypoint Platform MuleSoft can connect any system, application, data, and device to unleash the power of Customer 360. The combined power of MuleSoft, the #1 integration platform, and Salesforce, the #1 CRM, enables customers to accelerate digital transformation What is Mulesoft? 1. MuleSoft is a vendor that provides an integration platform to help businesses connect data, applications, and devices across on-premises and cloud computing environments. 2. MuleSoft unifies data to deliver a single view of the customer, automates business processes, and builds connected experiences. Each integration becomes a reusable building block using a modern

San Francisco Headquarters

One Bay Plaza, 1350 Old Bayshore Hwy,#520 Burlingame, CA 94010

Bengaluru Office

IndiQube Edge 4th floor Bellandur, Bengaluru, Karnataka 560103

Pune Office

OYO Workspaces India Pvt. Ltd. Above Vijay Sales, 2nd floor, Pride Purple Accord, Baner road, Baner, Pune - 411045