Get Started with External Services
After completing this unit, you’ll be able to:
- Explain what an external service is.
- Identify use cases for external services.
- Describe the high-level flow of an external service.
Why External Services?
- Credit scoring service function for your Salesforce Account detail page
- An eligibility verification service for discounts
- Flexible digital payment services
- COVID-19 Return-To-Work services
- Mapping services with visualization tools
- Real-time order notification in Slack
- Identification: Fraud prevention service
- Integration of separate omnichannel retailing services
- Google services
- Government and international institutions services
- Air quality index (AirNow)
- Citizen services
- Centers for Disease Control and Prevention (CDC)
- The World Bank
- Make your new Salesforce org users automatic collaborators for external, org-related applications. Suppose you want users to have access to an external payroll information app so that they can look up their own timesheet and pay data. You register your external service (the payroll app), External Services converts the service into actions for use with Flow Builder. Next, you create a flow with triggers that act on the input (for example, user ID) from your payroll app. Now every time you create a new user within Salesforce, an autolaunched flow fires and adds the user as a collaborator with access to the payroll app service outside of Salesforce that contains their timesheet and salary.
- Access outside Salesforce services to perform a task. Let’s say you want to connect to a credit service that determines if credit is extended to an account record stored in your Salesforce org. You register your external service (the credit validation service), External Services converts the service into invocable actions (see definition) for use with a platform tool like Flow Builder, and then you use Flow Builder to create a flow that includes the actions from this outside service into inputs like order amount and credit terms. When the flow runs, it updates the credit terms for the order associated with the account.
What Actually Is External Services?
Do you know your external web service from your External Services? Let’s start with some handy definitions.
But wait, there’s more.
While these terms—OpenAPI specification, API, and Schema—are geared toward developers, External Services helps bridge the gap between the coding of web services, and automating the access to them. Later on, we have a simple application use case that walks you through a schema definition of a web service, registers the schema definition, and uses Flow Builder to drag-and-drop the newly available actions into a flow.
It’s time to take a step back and look at the whole picture to understand the interconnected building blocks of External Services. While we’re looking, though, notice that much of the work to register an external web service of your own is done declaratively via the External Services registration page. Once registered, you can use tools like Flow Builder to build a flow from the invocable actions of your web service.
Here’s an overview of what’s happening. Notice that while there are 6 steps, the key ones for External Services are 3, 4, and 5. As you work your way through the units in this module, we cover each step in more detail. Here’s the end-to-end workflow.
- An external web services provider, such as a bank, shares its REST-based API. In this scenario, think of a REST-based API as specifying a type of contract between the bank (provider) and you (consumer).
- The web service provider (like in our bank service example) or a developer (or maybe even you) creates a JSON-based schema definition that describes the API.
- A Salesforce administrator declaratively creates a named credential to authenticate the web service endpoint using the URL of the REST-based API provided by the external web service provider. The endpoint is simply what exposes the web services resources for interaction with External Services.
- A Salesforce administrator declaratively registers the web service and uses both the Named Credential and schema definition during the registration process. External Services imports the schema definitions into your org and makes them available as invocable actions. These invocable actions are available immediately in the automation tool, Flow Builder.
- A Salesforce administrator (or user with Manage Flows permission) uses Flow Builder to access the invocable flow actions that were registered in Step 4.
- During runtime, flow sends a callout to the web service endpoint. The web service returns output based on the schema definition. Data is retrieved, created, updated, or deleted by the external web service. Salesforce can capture these responses from the external web service for use with a tool like Flow Builder.
While it’s true that creating a schema definition in Step 2 is not a declarative process, you can either create the API definition (depending on your background) yourself, enlist your developer, or use a schema builder tool to do this. In the next unit, we'll cover the ins and outs (or more accurately, the inputs and outputs) of a schema definition and explain what it is. After your schema is defined, you can use the declarative tools already in Salesforce to add the business action you need to your org.