You are here:
Set Up an External Client App for Salesforce Service Cloud
Create an External Client App (ECA) to provide Point of Sale access to Salesforce APIs for clienteling purposes. As of Spring '26, new merchants must use External Client Apps instead of Connected Apps.
Point of Sale needs the following credentials to access the Salesforce portal:
- URL: Salesforce instance URL
- Username
- Password
- Client ID (Consumer Key) of the External Client App
- Client Secret (Consumer Secret) of the External Client App
Refer to POS Access List - URLs and IP Addresses for a list of URLs and IP addresses to be allowlisted. This is to enable the necessary communication.
-
Work with your Salesforce admin team to create an External Client App that supports the Client Credentials OAuth flow.
Note Refer to External Client Apps in Salesforce Help.
-
Log in to your Salesforce org.
Log in at login.salesforce.com or at your My Domain URL, if set up by your administrator.
- In Setup, go to .
- Click New External Client App.
-
In the Basic Information section, complete the required fields.
- App Name
- API Name
- Contact Email
- Description (optional)
- Under API (Enable OAuth Settings), select Enable OAuth.
-
For the Callback URL, enter a valid callback URL.
For testing purposes, you can use
https://login.salesforce.com/services/oauth2/success. -
In the Selected OAuth Scopes section, add the following scope:
- Manage user data via APIs (api)
ImportantOAuth Scope Requirements:
- Do NOT add
full(Access and manage your data) — This scope breaks the client credentials flow. - Do NOT add
refresh_token(Perform requests at any time) — This scope is not applicable for client credentials flow.
-
Select Enable Client Credentials Flow.
This is required for Point of Sale authentication.
- Click Save or Create.
-
After the External Client App is created, copy the Consumer Key and Consumer Secret.
You need these values to configure Point of Sale.
- Navigate back to External Client App Manager and click your app name.
- Click Edit Policies.
-
Under Client Credentials Flow, search for and select a Run As user.
This is the integration user that Point of Sale will use to access Salesforce APIs. The selected user must have appropriate permissions to access the required Salesforce objects (Account, Notes, etc.).
- Configure IP Relaxation settings as needed for your organization's security requirements.
- Click Save.
- In the Quick Find box, search for OAuth and select .
-
Verify that Allow OAuth Username-Password Flows is enabled.
This setting may be required depending on your authentication flow requirements.
- Create a new Salesforce user or use an existing integration user to provide access to your External Client App.
-
Share the following credentials with Point of Sale:
- Salesforce instance URL
- Username and password of the integration user
- Consumer Key (Client ID)
- Consumer Secret
Point of Sale uses the following curl command to obtain an access token and access Salesforce APIs:
curl -i -L -X POST \
-H "Content-Type:application/x-www-form-urlencoded" \
-d "grant_type=client_credentials" \
-d "client_id=YOUR_CONSUMER_KEY" \
-d "client_secret=YOUR_CONSUMER_SECRET" \
'https://YOUR_INSTANCE.salesforce.com/services/oauth2/token'
Replace YOUR_CONSUMER_KEY, YOUR_CONSUMER_SECRET, and YOUR_INSTANCE with your actual values.
grant_type=client_credentials and does not require username and password in the token request.Point of Sale can now use the access token to query and update Salesforce objects like Account, Notes, and other objects configured for clienteling purposes.
