Extend the Salesforce Platform
Learning Objectives
After completing this unit, you’ll be able to:
- Describe how APIs integrate Salesforce with external systems.
- Discuss features of the Heroku platform.
- Describe how Einstein platform products can be customized to meet specific organizational needs.
Get to Know the Salesforce Platform APIs
Earlier, we talked about creating no-code and low-code customizations and automation in Salesforce using tools like Lightning App Builder and basic flows. These tools require very little interaction with Salesforce’s underlying APIs.
As you move toward more programmatic (back-end) development, you find a robust set of APIs that let you access your Salesforce data in a variety of ways. Put simply, every object in your org has an API name that lets you access data for that object. Let’s take another look at the Propertymap.js file in the Dreamhouse sample app that we looked at in the last unit.
Notice lines 11–15. In those lines, the __c
denotes that the object is a custom object or field. These are the automatically created API access points for the propertyMap object used to retrieve information about properties in your org.
Here’s a brief look at some commonly used APIs Salesforce provides and what they’re used for.
API
|
What you can do with it
|
---|---|
SOAP API |
Integrate your org’s data with other applications using standard SOAP protocols. |
REST API |
Access objects in your org using standard REST protocols. |
Metadata API |
Manage customizations in your org and build tools that manage your metadata model. |
Tooling API |
Build custom development tools for platform applications. |
Marketing Cloud API |
Expose Marketing Cloud Engagement capabilities with the REST API and get comprehensive access to most email functionality with the SOAP API. |
Bulk API |
Load, delete, and perform asynchronous queries on large data sets. |
Streaming API |
Send and receive notifications securely and efficiently. Notifications can reflect data changes in your org, or custom events. |
Connect REST API |
Build UI for Commerce, CMS-Managed Content, Experience Cloud Sites, Files, Notifications, Topics, and more. |
Pub/Sub API |
A single interface for publishing and subscribing to platform events, including real-time event monitoring events and change data capture events. |
GraphQL |
A new paradigm of sending and receiving data, offering clients a single endpoint to call for all data needed in one request. |
Mobile SDK |
While this is technically a software development kit, it’s worth including here. Integrate native or Hybrid mobile apps directly with Salesforce. |
You can find more ways to learn about Salesforce APIs in the Resources section below.
Other Options to Integrate with Salesforce
While we’ve told you how much Salesforce can do, it’s only fair to say that Salesforce can’t, or rather, doesn’t do everything. When you read through the descriptions of the APIs, you may have noticed the word “integrate” sprinkled around. That’s because you can use APIs to synchronize data within Salesforce, and also pass data into and out of Salesforce to external systems that do things that Salesforce doesn’t do.
For example, you can integrate Salesforce with a payroll app that syncs to certain data so employees are paid on time, and have the correct taxes and benefit costs taken out. Or, Dreamhouse may integrate their Salesforce property records with an app like DocuSign for security when a homebuyer signs closing documents on their new property.
And APIs aren’t the only ways to integrate Salesforce with the outside world. Solutions like SalesforceConnect, HerokuConnect, MuleSoft Composer, and Apex make it easy to integrate systems and data throughout your organization to address almost any business need. Find links to learn more about these tools in the Resources section at the end of this unit.
Platform Events
Another type of integration is platform events. Platform events let you monitor systems and communicate changes to other systems, kind of like a radio transmission from sender to receiver. For example, you order a birthday gift for your nephew and receive messages when the gift ships and when it is delivered to the birthday boy. Or, a news source you subscribe to sends you messages about breaking news stories.
Platform events communicate inside and outside of Salesforce using processes, flows, or Apex, or even external apps using Salesforce APIs. You’ll find links to more information on platform events in the Resources section.
But Wait, There’s More!
The topics we’ve covered up to now are more or less the essentials of our development environment. But, Salesforce also offers other ways to flex your skills to maximize impacts on your business. Here are a few more ways to use Salesforce to build amazing experiences for people inside your business and for your customers.
Unleash Your Apps with Heroku
While APIs can be used both within Salesforce and with your external systems, Heroku is all about interacting with the outside world. Heroku is an elastic scale solution to quickly build, deploy, and scale web apps.
One of the great things about Heroku is the flexibility in how you write your app. If you’re a Java fan, you can write your app in Java. If you’re a diehard Python fan, Heroku won’t get in your way. If PHP is your thing, PHP to your heart’s content!
Heroku is built on Amazon Web Services (AWS), which means a lot of infrastructure concerns you might have in standard web app development are taken care of for you. On top of that, Heroku Connect unifies your Salesforce data with your Heroku Postgres data so you don’t have to manage moving information across platforms. Not needing to worry about infrastructure or data storage means more time for you to focus on new development.
Earlier, we said Heroku is all about interacting with the outside world, so you’re probably curious about what Heroku looks like from a customer point of view. To show you this, we’ll look at a different app from the Salesforce Sample App Gallery—the eCars Sample app. The eCars sample app is a car sales and service application based on a fictitious electric car manufacturer.
In this app, the customer seamlessly interacts with the eCars Salesforce data using APIs as they configure a new electric car through a public-facing Heroku web app.
Predict with Salesforce Einstein
Salesforce Einstein is an integrated set of AI technologies that makes Einstein 1 smarter and brings AI to everyone in the Salesforce ecosystem. Einstein insights and artificial intelligence will change the way your business engages with the world. When you dig into Einstein, you’ll find that the Einstein platform comes with so many out-of-the-box features that you may think we’ve already thought of everything. But did you know that you can customize Einstein? For example:
- Customize Einstein Bots to build a smart assistant that provides instant, AI-driven, contextual help to customers looking for support.
- Tweak Einstein Prediction Builder to pull in almost any type of data and predict answers to just about any type of business question or concern people in your organization can think of.
- Use Einstein Next Best Action and Einstein Discovery to surface actionable insights and analytics to the right people at just the right moment based on customizations you build.
- Customize Einstein Vision and Language to analyze raw data—even images from across the web, including social media—to surface trends, sentiments, and provide targeted feedback and analytics about products or services your organization offers.
- Provide a prompt, like a question or a statement to Einstein generative AI and receive an accurate response grounded in your company’s data. Einstein generative AI has been trained to write like humans do, and it’s built right into Salesforce, so it can tailor everything it generates to your business.
Sum It Up
We’ve covered a lot of ground in this module, but we’ve only scratched the surface of what the platform can do. We talked about what the Salesforce Platform is and how you can use it to develop quickly with no code or low-code tools and automation. We also covered the back-end coding pillars of the platform: Lightning web components, Apex, Node.js and other standard coding platforms. Finally, we covered some new and exciting ways to extend the Salesforce Platform.
Another take away from this module is that the platform is exceptionally dynamic. Between the accelerated development capabilities and the many technologies that integrate with Salesforce, there are endless options for building out your Salesforce org.
As you continue with Trailhead, you’ll learn much more about the technologies we’ve discussed here. Additionally, the Salesforce Developers Documentation is an invaluable companion for all things related to customizing the Salesforce Platform. There you can access developer guides, blogs, communities, and much more information to guide you as you get started and as you continue with your journey.
What's Next?
We recommend that you take the Get Started with Salesforce Development project next. This project will exercise what you’ve just learned and help hone your skills as you set up your developer environment and dig into platform features and code.
Resources
-
Trailhead: Platform API Basics
-
Salesforce Developer Documentation: API Library
-
Trailhead: Quick Start: Salesforce Connect
-
Trailhead: Mulesoft Composer Basics
-
Trailhead: Salesforce & Heroku Integration
-
Trailhead: Quick Start: Apex
-
Trailhead: Heroku Enterprise Basics
-
Trailhead: Platform Events Basics
-
Trailhead: The Einstein Trust Layer
Copyright
Rights of ALBERT EINSTEIN are used with permission of The Hebrew University of Jerusalem. Represented exclusively by Greenlight.