---
schema_version: "1"
id: b61c9919279fcc8fc13428ad39ea584a0f6eb3c4837f5e0f21faadb4588a588f
title: Before You Begin with the Agentforce Mobile SDK
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/genai/agentforce-mobile-sdk/guides/agentforce-mobile-sdk-before-you-begin.md
canonical_url: https://developer.salesforce.com/docs/ai/agentforce-mobile-sdk/guide/agentforce-mobile-sdk-before-you-begin.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: 5f49cf59b9e955689d62cb7ff2c78a4aeba52c4b21a2f65b9043933498cbe8a2
products:
  - Agentforce Mobile SDK
  - Agentforce and Einstein Generative AI
---
# Before You Begin with the Agentforce Mobile SDK

Before you start using the SDK, learn about choosing an agent type, the latest features, supported languages, and required third-party dependencies.

## Prerequisites Checklist

Before you start coding, complete these Salesforce org setup steps:

1. **Enable Einstein Generative AI** in your org (Setup > Einstein Generative AI)
2. **Enable Agentforce** in your org (Setup > Agentforce)
3. **Create an Agent** - either an Employee Agent or a Service Agent
4. **For Service Agent only**: Set up Enhanced Chat in Service Cloud and create an Embedded Service Deployment
5. **Gather required values** from your org (see quick reference below)

## Quick Reference: Required Values

Use this table to quickly find the values you need from your Salesforce org.

| Value                 | Where to Find                                                                                                                  | Used By        |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------ | -------------- |
| **Service API URL**   | Setup > Embedded Service Deployments > your deployment > Settings (or download Mobile Configuration JSON)                      | Service Agent  |
| **Organization ID**   | Setup > Company Information > Organization ID                                                                                  | Both           |
| **ES Developer Name** | Setup > Embedded Service Deployments > Developer Name (or download Mobile Configuration JSON)                                  | Service Agent  |
| **Agent ID**          | From the Agent Details page URL (18-character ID at the end, for example `0XxSB000000IPCr0AO`)                                 | Employee Agent |
| **User ID**           | From the user profile. See [Find the Salesforce ID for a User](https://help.salesforce.com/s/articleView?id=000381643&type=1). | Employee Agent |
| **My Domain URL**     | Setup > My Domain > Current My Domain URL                                                                                      | Employee Agent |

## Agent Type

To integrate the Agentforce Mobile SDK, you must decide which type of agent to target. The SDK supports three agent configuration modes.

### Decide on Agent Configuration Mode

- **Employee Agent** is for internal employee-facing agents deployed within your Salesforce org.
  - **Use Cases**: Internal support, employee productivity, company-specific knowledge
  - **Choose When**: Building internal applications, agents deployed within your org, need access to internal Salesforce data
- **Service Agent** is for customer-facing service agents deployed via Enhanced Chat.
  - **Use Cases**: Customer support, public-facing chatbots, external customer service
  - **Choose When**: Building customer-facing applications, using Enhanced Chat, need public-facing chatbot capabilities
- **Full Config** is for advanced scenarios where you need complete control over the AgentforceConfiguration.
  - **Use Cases**: Custom integrations, advanced configuration scenarios, when you need to provide a complete configuration object
  - **Choose When**: Building custom integrations, need full control over configuration parameters, want control over the network stack, working with non-standard agent setups

**tip:** **Need help deciding?** For detailed guidance on agent types and setup, see [Create an Agent from a Template](https://help.salesforce.com/s/articleView?id=ai.agent_setup_type.htm) in Salesforce Help.

### Configure for Employee Agent

To set up an Agentforce Employee Agent, see [Create an Agent from an Agentforce Employee Agent Template](https://help.salesforce.com/s/articleView?id=ai.agent_employee_agent_setup.htm).

In order to use the SDK with an Employee agent, you'll need the following pieces of information:

- **Agent ID**: The unique ID for the agent. You can find the agent ID in the URL of the Agent Details page. When you select your agent from Setup, use the 18-character ID at the end of the URL. For example, when viewing this URL, https://mydomain.salesforce.com/lightning/setup/EinsteinCopilot/0XxSB000000IPCr0AO/edit, the agent ID is 0XxSB000000IPCr0AO.
  - For iOS, use this value when calling the `startAgentforceConversation` method.
  - For Android, use this value for the `setAgentId` method in your `AgentforceConfiguration` builder.
- **User ID**: The ID of the user interacting with the agent. See [Find the Salesforce ID for a User](https://help.salesforce.com/s/articleView?id=000381643&type=1).
  - For iOS, use this value for the `user` argument in your `EmployeeAgentConfiguration` object.
- **My Domain URL**: Your My Domain URL. You can get the domain from Setup. Search for **My Domain**. Copy the value shown in the **Current My Domain URL** field.
  - For iOS, use this value for the `forceConfigEndpoint` argument in your `EmployeeAgentConfiguration` object.
  - For Android, use this value for the `setSalesforceDomain` method in your `AgentforceConfiguration` builder.

### Configure for Service Agent

To set up an Agentforce Service Agent, see [Create an Agent from an Agentforce Service Agent Template
](https://help.salesforce.com/s/articleView?id=ai.service_agent_setup.htm&type=5).

You also must ensure that you've set up Enhanced Chat in Service Cloud. Here's a summary of the basic setup steps. To learn more, see [Add Flexibility and Power with Enhanced Chat](https://help.salesforce.com/s/articleView?id=service.miaw_intro_landing.htm) in Salesforce Help.

1. From Setup, in the Quick Find box, enter `Messaging Settings`, and then select **Messaging Settings**.
2. Click **New Channel**.
3. In the Add a Messaging Channel modal, click **Start**.
4. Select Enhanced Chat as your channel type, and click **Next**.
5. In the Name Your Channel window, define your channel settings:

   - Channel Name: Enter a name for your channel. Make it different from other channels you may create.
   - Developer Name: This should auto-populate based on the Channel Name that you entered. We recommend using the auto-populated name.
   - Deployment Type: Select **Mobile**.
   - Domain: Enter the domain URL for the site where you want Enhanced Chat to be available. For example: yourcompany.com.

6. Click **Next**.
7. In the Channel Routing window, select **Agentforce Service Agent** as the Routing Type. In the Agentforce Service Agent field, search for and select the Service agent that you previously created. In the Fallback Queue field, select a queue that a session can route to if no agent is available.
8. Accept the Terms and Conditions if they appear.
9. Click **Save**.

In order to use the SDK with a Service agent, you'll need the following pieces of information:

- **Developer Name**: Your Enhanced Chat developer name. You can find the developer name on the Embedded Service Deployments page from within the downloadable **Mobile Configuration** JSON file. See [Configure an Enhanced In-App Chat Deployment](https://help.salesforce.com/s/articleView?id=service.miaw_deployment_mobile.htm).

  - For iOS, use this value for the `esDeveloperName` argument in your `ServiceAgentConfiguration` object and when calling the `startAgentforceConversation` method.
  - For Android, use this value for the `esDeveloperName` argument in your `ServiceAgentConfiguration` object.

- **Service API URL**: The service API URL. You can find this URL on the Embedded Service Deployments page from within the downloadable **Mobile Configuration** JSON file. See [Configure an Enhanced In-App Chat Deployment](https://help.salesforce.com/s/articleView?id=service.miaw_deployment_mobile.htm).

  - For iOS and Android, use this value for the `serviceApiURL` argument in your `ServiceAgentConfiguration` object.

- **Org ID**: Your organization ID. You can find the org ID from the **Company Information** page in Setup. See [Find your Salesforce Organization ID](https://help.salesforce.com/s/articleView?id=000385215&type=1).

  - For iOS and Android, use this value for the `organizationId` argument in your `ServiceAgentConfiguration` object.

### Full Configuration Mode

To use the full configuration mode, review the `AgentforceConfiguration` struct for [iOS](/docs/ai/agentforce-mobile-sdk/references/agentforce-mobile-sdk/configuration-overview-ios.html) and [Android](/docs/ai/agentforce-mobile-sdk/references/agentforce-mobile-sdk/configuration-overview-android.html).

## Set Up the Agentforce Mobile Connection

Agentforce Studio provides an **Agentforce Mobile** connection type for Service agents that you integrate with the Agentforce Mobile SDK. This connection type streamlines mobile setup by letting you create and manage the required mobile channel and deployment, and access branding setup, directly from the agent's configuration.

The Agentforce Mobile connection applies to Service agents only. It supplements—rather than replaces—Enhanced Chat v2 (ECV2). Behind the scenes, the mobile connection continues to use the ECV2 surface.

### Add the Connection in Agentforce Studio

1. In Agentforce Studio, open the Service agent that you want to configure.
2. Go to the agent's **Connections** configuration.
3. Click **Add Connection**.
4. For **Connection Type**, select **Agentforce Mobile**.
5. Commit and activate the agent.
6. Open the settings for the new **Agentforce Mobile** connection.
7. Create the required **Channel** and **Deployment**.

To configure branding for the mobile panel, open the **Deployment** and select **Customize Branding**. Use this page to configure color tokens and other branding for the Agentforce Mobile panel.

### Values You'll Need for the SDK

The Agentforce Mobile connection doesn't expose values that map directly to SDK configuration on iOS, Android, or React Native. It provides the Studio workflow for creating the mobile channel and deployment, while the SDK integration continues to rely on the ECV2 configuration values described in [Configure for Service Agent](#configure-for-service-agent) above.

For related connection setup, see [Set Up Agentforce Voice](https://developer.salesforce.com/docs/ai/agentforce-mobile-sdk/guide/ios/agentforce-mobile-sdk-ios-voice.md#choose-a-connection-path).

## Shared App Data

- The iOS SDK stores information in the app's keychain data. If you explicitly delete this content, the SDK won't be able to access essential information and may fail to work properly.
- The Android SDK stores information in the app's shared preferences and key store. If you explicitly delete this content, the SDK won't be able to access essential information and may fail to work properly.

## Language Support

The Agentforce Mobile SDK is localized to the following languages:

- Arabic (ar)
- Chinese (Simplified) (zh-CN)
- Chinese (Traditional) (zh-TW)
- Czech (cs)
- Danish (da)
- Dutch (nl)
- English (en)
- Finnish (fi)
- French (fr)
- German (de)
- Greek (el)
- Hebrew (he)
- Hungarian (hu)
- Indonesian (id)
- Italian (it)
- Japanese (ja)
- Korean (ko)
- Norwegian Bokmål (no)
- Polish (pl)
- Portuguese (pt)
- Romanian (ro)
- Russian (ru)
- Spanish (es)
- Swedish (sv)
- Thai (th)
- Turkish (tr)
- Ukrainian (uk)
- Vietnamese (vi)

## Third-Party Dependencies

For detailed dependency lists, see:

- [iOS Installation Guide](https://developer.salesforce.com/docs/ai/agentforce-mobile-sdk/guide/ios/agentforce-mobile-sdk-ios-install.md)
- [Android Installation Guide](https://developer.salesforce.com/docs/ai/agentforce-mobile-sdk/guide/android/agentforce-mobile-sdk-android-install.md)

## Next Steps

- **Choose Platform**: Start with [iOS Quick Start](https://developer.salesforce.com/docs/ai/agentforce-mobile-sdk/guide/ios/agentforce-mobile-sdk-ios-quick-start.md), [Android Quick Start](https://developer.salesforce.com/docs/ai/agentforce-mobile-sdk/guide/android/agentforce-mobile-sdk-android-quick-start.md), or [React Native Quick Start](https://developer.salesforce.com/docs/ai/agentforce-mobile-sdk/guide/react-native/agentforce-mobile-sdk-react-native-quick-start.md)
- **Learn More**: See [Overview](https://developer.salesforce.com/docs/ai/agentforce-mobile-sdk/guide/agentforce-mobile-sdk-overview.md) for key concepts
