Loading
Salesforce now sends email only from verified domains. Read More
Identify Your Users and Manage Access
Table of Contents
Select Filters

          No results
          No results
          Here are some search tips

          Check the spelling of your keywords.
          Use more general search terms.
          Select fewer filters to broaden your search.

          Search all of Salesforce Help
          External Client Apps

          External Client Apps

          External client apps are packageable frameworks to enable a third-party application to integrate with Salesforce using APIs and security protocols. External client apps provide single sign-on (SSO) and use SAML and OAuth protocols to authorize third-party applications. Third-party applications that are integrated with Salesforce can run on the customer success platform as well as other platforms, devices, or SaaS subscriptions.

          Both connected apps and external client apps involve two different types of active users. The first are those users who develop apps, whether for use in their own Salesforce org or to be packaged for distribution. The other users are admins who work with Salesforce orgs that subscribe to these distributed apps or maintain the apps developed on their own org. Unlike developers, admins set the policies for how those apps are used in a specific org. While these two roles can fall to the same person working on a local app, the importance of separating these user roles becomes apparent when the app is packaged and distributed to different Salesforce orgs.

          Users with developer permissions control common app configurations in the Settings tab. These settings get packaged and distributed to subscribers. Subscriber org admins manage app policies. These unique policies are never packaged, and only affect the admin’s local org. Subscriber org admins can’t edit app settings.

          Note
          Note We recommend that you use only one authorization plugin per external client app. User profiles and permission sets are configured for the external client app and affect all plugins for that external client app.

          OAuth Consumer Security

          OAuth settings contain sensitive information like OAuth secrets that must not be packaged or distributed. To avoid the security risk of distributing OAuth secrets, external client apps divide the OAuth settings into a global OAuth settings file and a local OAuth settings file. The global file includes OAuth consumer details, and the local file controls the rest of the necessary settings. The local settings file contains no sensitive information, but it references the global settings file that does contain protected information.

          Distribution State

          External client apps can be local or configured for packaging. Local apps are developed and used in a single Salesforce org. Packageable apps are packaged with second-generation (2GP) managed packaging and distributed to subscriber orgs. This difference is determined by a distribution state setting.

          The sensitive information in a global OAuth settings file means that the file can never be packaged. This restriction isn’t a problem for a local external client app. If the app’s distribution state is local, it can’t be packaged, and both OAuth settings files always exist in the same org. Things are a little more complicated if the app is packaged and distributed. There are two ways that a distributed app can use OAuth for authorization. Either the distributed app must refer to the originating app’s global OAuth settings file, or a new global OAuth settings file must be generated on the subscriber org.

          Note
          Note Local external client apps aren’t copied to a new sandbox when you clone or refresh a sandbox. Only packaged external client apps are copied to the sandbox.
          • Create an External Client App
            Create an external client app in App Manager. Local external client apps are available only on the org where you create them. Packageable external client apps can be packaged for distribution to other orgs.
          • Package an External Client App
            Determine whether to package your app or keep it local. External client apps are an excellent solution when created and used locally. However, they were designed with 2GP managed packaging in mind. Unlike connected apps, which are available by default, only packaged apps can be deployed to other orgs. Packaged apps with an OAuth plugin can be deployed with their own unique OAuth settings or they can reference the settings of the org where the app was developed.
          • Manage External Client Apps
            After creating an external client app and configuring its distribution state, define its specific characteristics.
          • External Client Apps Creation with Metadata API
            Developers can create external client apps in Salesforce Setup or programmatically using Metadata API. After downloading an external client app, admins can configure Policies specific to the needs of their org.
           
          Loading
          Salesforce Help | Article