Review the requirements for integrating the Agentforce Mobile SDK with your React Native application.
System Requirements
| Requirement | Minimum Version |
|---|---|
| Node.js | 18+ |
| React Native | 0.72+ |
| iOS deployment target | 17.0 |
| Android minSdk | 29 |
| Android compileSdk | 36 |
| Xcode | 15+ |
| CocoaPods | 1.14+ |
| JDK | 17 |
| Kotlin | 2.2+ |
Salesforce Org Requirements
Before using the SDK in your app, configure your Salesforce org:
- Enable Agentforce in your org (Setup > Agentforce).
- Create an Agent: Either a Service Agent (for anonymous customer-facing use) or an Employee Agent (for authenticated internal use).
- Note the required values from your org configuration.
If you're enabling voice, create and configure your service agent in Agentforce Studio. For current mobile GA implementations, connect your service agent to telephony. See Create a Voice-Enabled Service Agent in Agentforce Studio.
Required Values by Agent Type
| Value | Where to Find | Used By |
|---|---|---|
serviceApiURL |
Setup > Embedded Service Deployments > your deployment > Settings | Service Agent |
organizationId |
Setup > Company Information > Organization ID | Both |
esDeveloperName |
Setup > Embedded Service Deployments > your deployment > Developer Name | Service Agent |
instanceUrl |
Your Salesforce instance URL (for example, https://myorg.my.salesforce.com) |
Employee Agent |
userId |
Your Salesforce User ID (from user profile) | Employee Agent |
agentId |
Setup > Agentforce > your agent > Agent ID | Employee Agent |
Development Environment
Set up your development environment for each platform.
iOS Development
- macOS with Xcode 15 or later
- CocoaPods 1.14 or later
- Swift 5.0+ support (the bridge is written in Swift)
Android Development
- Android Studio with Android SDK
- JDK 17
- Kotlin 2.2+
- Jetpack Compose support (the SDK uses Compose for the conversation UI)
Optional Permissions
Depending on the features you enable, you may need to add these permissions:
iOS Permissions (Info.plist)
For voice input (enableVoice: true):
<key>NSMicrophoneUsageDescription</key>
<string>Used for voice input with Agentforce</string>
For camera and photo input (enableMultiModalInput: true):
<key>NSCameraUsageDescription</key>
<string>Used to capture images for Agentforce</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>Used to attach images to Agentforce conversations</string>
Android Permissions (AndroidManifest.xml)
For camera and multi-modal input:
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />