Agent Starter App - React Native
VideoSDK enables you to add a voice-enabled AI agent to your React Native app. This guide walks you through connecting your React Native frontend to an agent configured and deployed directly from the VideoSDK dashboard.
Prerequisites
- A deployed AI agent on VideoSDK Agent Cloud. If you haven't done this yet, create and deploy your agent using the Low-Code Deployment UI on the VideoSDK Dashboard. Once deployed, note down your Agent ID.
- Node.js (v18.x or later) and a working React Native environment (Android Studio and/or Xcode)
- Valid Video SDK Account
Explore the complete Quickstart implementation in the React Native Agent Starter and see how to run and customize it for your own use case.
Generate Token
To manage secured communication, every participant that connects to a meeting needs an access token. You can easily generate this token by using your apiKey and secret-key, which you can obtain from the VideoSDK Dashboard.
For development purpose, you can generate a temporary token from VideoSDK Dashboard's API section.
The best practice for obtaining a token involves generating it from your backend server which will help in keeping your credentials safe.
Run the Sample Project
Step 1: Clone the sample project
Clone the repository to your local environment.
git clone https://github.com/videosdk-live/agent-starter-app-react-native.git
cd agent-starter-app-react-native
Step 2: Install dependencies
Install all the dependencies to run the project.
npm install
# or
yarn install
If you are developing for iOS, install the pods:
cd ios && pod install && cd ..
Step 3: Create Your Agent (Optional)
If you've already configured and deployed your agent from the VideoSDK Dashboard, you can jump directly to Step 4.
You can create and configure a powerful AI agent directly from the VideoSDK dashboard — no coding required.
Step 1: Create Your Agent
First, follow our detailed guide to Build a Custom Voice AI Agent in Minutes. This will walk you through creating the agent's persona, configuring its pipeline (Realtime or Cascading), and testing it directly from the dashboard.
Step 2: Get Agent ID
Once your agent is created, you need to get its agentId to connect it to your frontend application.
- You can copy the
agentIdfrom the Agent tab or from beside the Agent name at top left.

- There is an optional versionTag parameter in dispatch API. To get the
versionTag, go to Branches tab, click on the 3 dots of branch you want versionTag of and click on "See Branch History". Copy the versionTag via the copy button of the version you want.

Step 4: Setup Environment Variables
Copy the .env.example file to .env.
cp .env.example .env
Update the .env file with your credentials. The AGENT_ID is the identifier for the Low-Code agent you deployed from the VideoSDK Dashboard.
AUTH_TOKEN=your_videosdk_auth_token
AGENT_ID=your_agent_id
MEETING_ID=your_meeting_id
VERSION_TAG=your_verison_tag
You can obtain your AUTH_TOKEN and AGENT_ID from the VideoSDK Dashboard under your Agent Cloud deployment. MEETING_ID and VERSION_TAG are optional — if left blank, the app will create a new meeting automatically and use the latest deployed version of your agent.
Step 5: Run the Sample App
Bingo, it's time to push the launch button.
Android:
npm run android
# or
yarn android
iOS:
npm run ios
# or
yarn ios
Once running, join the meeting, click the Connect Agent button to send your deployed agent into the meeting room. You'll see the live transcription as you speak, and the agent will respond in real time.
Troubleshooting
Common Issues:
-
Agent not joining:
- Check that the
agentIdandversionTagin yourconstants.jsare correctly set. - Verify your VideoSDK token is valid and has the necessary permissions.
- Check that the
-
Audio not working:
- Check device permissions for microphone access.
-
"Failed to connect agent" error:
- Verify your
agentIdandversionTagare correct. - Check the debug console for any network errors.
- Verify your
-
React Native build issues:
- Ensure you are running a compatible Node.js version.
- For Android: Clean the build using
cd android && ./gradlew clean && cd ..and retry. - For iOS: Try clearing Cocoapods cache and reinstalling pods:
cd ios && rm -rf Pods Podfile.lock && pod cache clean --all && pod install && cd ..
- Delete
node_modulesandpackage-lock.json/yarn.lockand runnpm install/yarn installagain.
Got a Question? Ask us on discord

