πŸ’ƒ Get Salesforce to play nice πŸ•Ί

πŸ”— Ways to integrate Salesforce ☁️

Good morning, Salesforce Nerds! Have you ever participated in any technical design meetings regarding integrations and found yourself wondering what in name of cloud computing is Change Data Capture? What about REST and SOAP? Or the Bulk API? Want to know the different capabilities Salesforce offers us for integrating with its platform? Let's check out these options and see if we can't shed a little light on each ...

Agenda for today includes

  • Salesforce Integration Options

  • Daily Principle

  • All the Memes

Salesforce Integration Options

Okay, I'm gonna keep it πŸ’― with you. There are A LOT of options for integrating with Salesforce. We're talking about the world's leading CRM so it's no surprise they offer a ton in the way of integrations. They understand that businesses run on MANY different systems today and the ability to share data between them is critical. As always, there are different requirements around when and how the data needs to be exchanged so the platform offers tooling to accommodate pretty much any need. I want to cover some of more common tools here, but just know this list is not exhaustive.

SOAP API | Developer Guide | This is the OG of API's. SOAP was built to allow apps built on different platforms to communicate with each other. It uses XML and imposes built-in rules that can increase complexity & overhead. It's still play today because many legacy systems still use it - not to mention that some larger enterprise scenarios might prefer SOAP because the set of standards it enforces can also offer built-in compliance.

REST API | Developer Guide | This is today's preferred integration pattern for architects & developers. Think of REST as set of principles adapted for lightweight web services or mobile apps. It uses JSON (almost always) but can also support XML. Teams today like REST due it's flexibility and ubiquitous presences across the Internet. Being a set of principles the actual implementation is left up the team writing the integration.

BULK API | Developer Guide | This is what you'll use when you need to migrate a lot of data between systems (or do a data migration). The Bulk API is optimized to work with MILLIONS of records. Basically, records are attached to a request in a CSV format and then Salesforce will batch them out in chunks of 2000 records for processing - you can define any CRUD operation you need. Many Salesforce integration tools on the market today contain built in support for this API.

STREAMING API | Developer Guide | This API is used when need to push a notification from your app to another based on some criteria. I know - lots of buzzwords. Let's break it down. It's actually pretty straightforward. Basically, a link between two systems is set up based on a SOQL query and some wizardry (we'll get into that in another article). Then when a record is modified somehow the changes to that record are evaluated against the query written earlier. If the change matches the query criteria then a notification is automatically sent to the subscribing application. Pretty sweet. Pretty advanced, too.

PLATFORM EVENTS | Developer Guide | This is one of my favorites tools in my integration tool chest. Platform Events are defined & "saved" similar to the way Objects are. You give it a name & define it's fields. When you want to fire one of these events you fill these fields in yourself. From there, you can create and publish these in pretty much the same manner you would an Object in Apex or Flow. Events are placed on the Salesforce Event Bus and a subscribing system can receive and react to the event as need be.

CHANGE DATA CAPTURE | Developer Guide | This is another favorite tool of mine. Conceptually, it's the same as a Platform Event. Except a developer or admin does not need to define any fields. If you set a CDC event on an Object, then anytime a change happens to a record of that Object type a CDC event will fire (just a like a trigger does). The contents of the event are automatically filled out with both metadata about the change event and the data itself.

Daily Principle

"Good communication is the bridge between confusion and clarity."

Nat Turner

and now....Your Daily Memes

What did you think about today's newsletter?

Login or Subscribe to participate in polls.