Skip to content

Salesforce Mobile

Salesforce Mobile is Salesforce's mobile CRM app. Protocol Launcher allows you to generate Salesforce Mobile URL scheme links.

Usage

There are two ways to use this library:

  • On-Demand import from subpaths enables tree-shaking and keeps bundles small.
  • Full Import from the root package is convenient but includes all app modules.

Pick On-Demand for production builds; Full Import is fine for quick scripts or demos.

Select Installation Method

On-Demand
Recommended. Optimized for production.
Full Import
Convenient. Good for quick scripts.

Notes

This module only wraps the Salesforce Mobile app URL scheme formats documented by Salesforce Help: salesforce1://sObject/<id>/<action> for record, file, and user actions, and salesforce1://sObject/<ObjectName>/home for object home pages.

It does not generate generic Salesforce HTTPS record URLs or older com.salesforce.salesforce1://entity/... variants. Salesforce documents 15- and 18-character record IDs, download for ContentDocument and ContentDocumentVersion objects, follow for User records, and optional query parameters named s1oid, s1nid, s1uid, and iosoru.

URL Methods

View Record

Open a Salesforce record detail page in the Salesforce mobile app.

On-Demand
ts
import { viewRecord } from 'protocol-launcher/salesforce-mobile'

const url = viewRecord({
  id: '001D000000Jwj9v',
})

Edit Record

Open a Salesforce record edit page in the Salesforce mobile app.

On-Demand
ts
import { editRecord } from 'protocol-launcher/salesforce-mobile'

const url = editRecord({
  id: '006R0000001r7Rq',
})

Object Home

Open a Salesforce object home page in the Salesforce mobile app.

On-Demand
ts
import { objectHome } from 'protocol-launcher/salesforce-mobile'

const url = objectHome({
  objectName: 'Account',
})

Download File

Use the documented file download URL scheme. Salesforce documents this action for ContentDocument and ContentDocumentVersion objects, and notes that on Android it opens the file but doesn't save it offline.

On-Demand
ts
import { downloadFile } from 'protocol-launcher/salesforce-mobile'

const url = downloadFile({
  id: '069R00000000mr3',
})

Follow User

Follow a user and navigate to the user's profile page in the Salesforce mobile app. The userid field is serialized as Salesforce's documented userid query parameter.

On-Demand
ts
import { followUser } from 'protocol-launcher/salesforce-mobile'

const url = followUser({
  id: '005R0000000Df5W',
  userid: '005R0000000HfcF',
})

Additional Query Parameters

Add the optional Salesforce redirect context when users can belong to multiple orgs or Experience Cloud sites.

On-Demand
ts
import { viewRecord } from 'protocol-launcher/salesforce-mobile'

const url = viewRecord({
  id: '001D000000Jwj9v',
  s1oid: '00DT00000000ABC',
})

Generated URLs

ts
viewRecord(recordParams)
// => 'salesforce1://sObject/001D000000Jwj9v/view'

editRecord(editRecordParams)
// => 'salesforce1://sObject/006R0000001r7Rq/edit'

objectHome(objectHomeParams)
// => 'salesforce1://sObject/Account/home'

downloadFile(fileParams)
// => 'salesforce1://sObject/069R00000000mr3/download'

followUser(followUserParams)
// => 'salesforce1://sObject/005R0000000Df5W/follow?userid=005R0000000HfcF'

viewRecord(recordWithContextParams)
// => 'salesforce1://sObject/001D000000Jwj9v/view?s1oid=00DT00000000ABC'

Official Documentation