---
schema_version: "1"
id: 1e3504ef6e62c53dc603b5bf82afee739692c8a027c1819177012f1fd3c64193
title: React Native Requirements
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/genai/agentforce-mobile-sdk/guides/react-native/agentforce-mobile-sdk-react-native-requirements.md
canonical_url: https://developer.salesforce.com/docs/ai/agentforce-mobile-sdk/guide/agentforce-mobile-sdk-react-native-requirements.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: ed122c93e87d110faee1d49ad85469ed1307be28063c38726e23afd5b3fce1ec
products:
  - Agentforce Mobile SDK
  - Agentforce and Einstein Generative AI
---
# React Native Requirements

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:

1. **Enable Agentforce** in your org (Setup > Agentforce).
2. **Create an Agent**: Either a Service Agent (for anonymous customer-facing use) or an Employee Agent (for authenticated internal use).
3. **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](https://help.salesforce.com/s/articleView?id=ai.service_agent_voice.htm&type=5).

### 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`):

```xml
<key>NSMicrophoneUsageDescription</key>
<string>Used for voice input with Agentforce</string>
```

For camera and photo input (`enableMultiModalInput: true`):

```xml
<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:

```xml
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
```

## See Also

- [Install the SDK](https://developer.salesforce.com/docs/ai/agentforce-mobile-sdk/guide/agentforce-mobile-sdk-react-native-install.md)
- [Quick Start Guide](https://developer.salesforce.com/docs/ai/agentforce-mobile-sdk/guide/agentforce-mobile-sdk-react-native-quick-start.md)
- [Limitations](https://developer.salesforce.com/docs/ai/agentforce-mobile-sdk/guide/agentforce-mobile-sdk-react-native-limitations.md)
