---
schema_version: "1"
id: c5b949130a824a1762a551d7e87aaed0cae32b0c53a3f5aa80dc5e1f29599828
title: External Services
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/platform/264-0-0/external_services.md
canonical_url: https://help.salesforce.com/s/articleView?id=platform.external_services.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 479cfe0f87cc9ec28941a111dcf1f7ed7195c1b19bb29185d5ee71e98f6cd5c7
description: Connect your Salesforce org to an external API by using zero lines of code. Use declarative tools and OpenAPI specifications to describe the external API functionality, and External Services automatically creates invocable actions within Salesforce. Use External Services for outbound integrations from Salesforce by using low-code, process-based integrations or to turbocharge your Apex integrations. Call the invocable actions natively from Apex, or create a custom agent action, flow, or Einstein bot that interacts with the external API source.
products:
  - Salesforce Platform
  - Security
release: "264"
---
# External Services

Connect your Salesforce org to an external API by using zero lines of code. Use declarative tools and OpenAPI specifications to describe the external API functionality, and External Services automatically creates invocable actions within Salesforce. Use External Services for outbound integrations from Salesforce by using low-code, process-based integrations or to turbocharge your Apex integrations. Call the invocable actions natively from Apex, or create a custom agent action, flow, or Einstein bot that interacts with the external API source.

### Required Editions

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small edition"><colgroup><col></colgroup><tbody><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: Lightning Experience</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: <strong>Enterprise</strong>, <strong>Performance</strong>, <strong>Unlimited</strong>, and <strong>Developer</strong> Editions</td></tr></tbody></table>

With External Services, you first register OpenAPI 2.0 or OpenAPI 3.0 schemas. The operations imported from your registered schema automatically become invocable in Apex, or as `External Services` action types within point-and-click automation tools such as Flow Builder, Orchestrator, Einstein bots, or OmniStudio Assets.

External Services is best used when the externally hosted service is a RESTful service and the API specification is available in OpenAPI 2.0 or OpenAPI 3.0 JSON or YAML schema format.

## Introduction Video

Watch the Introduction video to see how you can declaratively transform API specifications into invocable actions.

- **[Example Use Cases](https://help.salesforce.com/s/articleView?id=platform.external_services_intro_example_use_cases.htm&release=264.0.0&type=5)**  
    The examples in this section demonstrate typical External Services workflows.
- **[External Services Considerations](https://help.salesforce.com/s/articleView?id=platform.enhanced_external_services_considerations.htm&release=264.0.0&type=5)**  
    Here are the semantic, service, and usage constraints to keep in mind when integrating your services into External Services.
- **[Register an External Service](https://help.salesforce.com/s/articleView?id=platform.external_services_schema.htm&release=264.0.0&type=5)**  
    Provide an API spec that describes your endpoint's services and methods. The API spec’s schema generates the external service operations with corresponding input and output parameters. You can also edit an exisiting registration, register an external service with a Mulesoft API, or register an external service using Flow Bulder's HTTP Callout functionality.
- **[Use Agentforce to Invoke External Service Actions](https://help.salesforce.com/s/articleView?id=platform.external_services_custom_agent_actions.htm&release=264.0.0&type=5)**  
    Add capabilities to agents with customizable actions configured via External Services. Use External Services to declaratively connect your Salesforce org to an external API. After you register an OpenAPI schema, the actions defined in that schema become automatically available as custom agent actions.
- **[Use Flow to Invoke External Service Actions](https://help.salesforce.com/s/articleView?id=platform.enhanced_external_services_example_create_flow.htm&release=264.0.0&type=5)**  
    In this Flow example, design and test the automation that sends a user’s information from Salesforce to the external employee banking system. Create the variables for user phone numbers, and combine different phone numbers into one piece of data. Then use the external service action to create the user.
- **[Invoke External Service Callouts Using Apex](https://help.salesforce.com/s/articleView?id=platform.external_services_apex_invoking.htm&release=264.0.0&type=5)**  
    You can call external service registrations natively from Apex. Make a callout to an external service like the Apex `Http Class` without the need to write boilerplate code. The registered services are strongly typed in Apex with the registration’s schema as Apex types. These Apex types reflect your registered service’s specification, making the Apex compiler do the heavy lifting for you.
- **[Add External Service Actions to an Einstein Bot](https://help.salesforce.com/s/articleView?id=platform.external_services_add_actions_to_an_einstein_bot.htm&release=264.0.0&type=5)**  
    Integrating your Einstein bot with a registered external service is now as easy as adding an action to a dialog. You can add an external service action to your bot from Einstein’s Bot Builder.
- **[Invoke External Services from Omnistudio Assets](https://help.salesforce.com/s/articleView?id=platform.external_services_omni_studio.htm&release=264.0.0&type=5)**  
    You can invoke External Services' registered actions from Omnistudio Integration Procedures in OmniScripts and FlexCards.
- **[Install or Create Packages](https://help.salesforce.com/s/articleView?id=platform.external_services_packaging.htm&release=264.0.0&type=5)**  
    You can install or create packages that contain an external service. Read these tips before you begin.
- **[Testing External Services](https://help.salesforce.com/s/articleView?id=platform.external_services_test_actions_in_flow.htm&release=264.0.0&type=5)**  
    Test the example flow `MyAtmFlow` with a flow action calling the external service `MyAtmExternalService` by implementing the `HttpCalloutMock` interface. The interface provides a test response without performing the callout to the external service endpoint. The sample Apex unit test performs a mock test against the same HTTP callout mock implementation.
- **[Schema Examples](https://help.salesforce.com/s/articleView?id=platform.external_services_examples.htm&release=264.0.0&type=5)**  
    Explore various scenarios with OpenAPI 2.0 and OpenAPI 3.0 compliant JSON or YAML schemas supported by External Services. The examples cover schema elements like HTTP header as input parameters, and include example usage in Apex. Understanding the examples helps with proper syntax and code placement.