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
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.
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.
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.
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.
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.
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.
import { viewRecord } from 'protocol-launcher/salesforce-mobile'
const url = viewRecord({
id: '001D000000Jwj9v',
s1oid: '00DT00000000ABC',
})Generated URLs
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'