Overview
The Expo integration enables:- Automatic build imports - Pull builds directly from EAS
- Version synchronization - New EAS builds appear in Revyl automatically
- Streamlined workflow - Build once in Expo, test immediately in Revyl
- Support for both iOS and Android - Import both platform builds

Prerequisites
Before setting up the Expo integration, you need:- An Expo account - Sign up at expo.dev
- An Expo project with EAS Build configured
- Robot User access - Create a programmatic access token
- At least one EAS build - Build your app using
eas build
Setup Guide
Step 1: Create an Expo Robot User
Expo Robot Users are service accounts for programmatic access. They allow Revyl to access your builds without using your personal credentials.-
Log in to Expo
- Go to expo.dev and sign in
-
Create a Robot User
- Navigate to your account settings
- Go to Access Tokens or Robot Users
- Click Create Robot User
- Give it a descriptive name:
revyl-build-access
-
Generate Access Token
- Select the robot user you just created
- Click Create Token
- Set permissions: Read access to builds (minimum required)
- Copy the generated token immediately (it won’t be shown again!)
Step 2: Configure Expo in Revyl
- Navigate to Integrations
- In Revyl, click Integrations in the sidebar
- Click the Expo Settings tab

-
Paste the Access Token
- Find the Expo Robot User Access Token field
- Paste the token you copied from Expo
- Click the eye icon to verify it’s correct
-
Save Changes
- Click Save Changes
- Revyl will verify the token by making a test API call to Expo
-
Success!
- If valid, you’ll see a success message
- Revyl can now access your Expo builds
Step 3: Add an Expo Project
After configuring your token, add projects to import builds from:- In the Expo Projects section, click + Add Project
- Enter your Expo project slug (e.g.,
@your-username/my-app) - Click Add
- The project appears in the list, enabling build imports

Step 4: Import Builds from the Builds Page
Once Expo is connected with at least one project:- Go to Builds in the sidebar
- Select any build from the list
- Click Upload from Expo button (top right of build detail panel)

- In the modal, select your Expo project from the dropdown

- Click Fetch to load available EAS builds

- Click a build to select it
- Click Import Build to add it as a new version
Builds are filtered by platform - iOS builds only show iOS EAS builds, Android shows Android builds.
How It Works
Build Synchronization
Once configured, Revyl periodically checks Expo for new builds:- You run
eas buildin your Expo project - EAS builds your app (iOS/Android)
- Revyl detects the new build (within ~5 minutes)
- Build appears in Revyl under the Builds page
- You can now create tests using that build
Build Matching
Revyl matches Expo builds to Revyl builds using:- App identifier - Bundle ID (iOS) or Package Name (Android)
- Version - App version string
- Build number - Build number from app.json or app.config.js
Supported Build Types
Revyl supports importing:- ✅ iOS builds - zipped
.appfiles from EAS - ✅ Android builds -
.apkfiles from EAS - ✅ Development builds - With Expo Dev Client
- ✅ Production builds - Release builds for testing before distribution
Managing Expo Integration
Viewing Connection Status
To check if Expo is connected:- Go to Integrations → Expo Settings
- If a token is configured, you’ll see:
- The token field is filled (hidden by default - click eye icon to reveal)
- Save Changes button is disabled (no changes)
- If disconnected:
- The field is empty
- You’ll see the “Enter Expo access token” placeholder
Updating the Token
To change or refresh the Expo token:- Generate a new token in Expo (follow Step 1 above)
- Go to Integrations → Expo Settings
- Clear the existing token and paste the new one
- Click Save Changes
Disconnecting Expo
To disconnect Expo from Revyl:- Go to Integrations → Expo Settings
- Clear the Expo Robot User Access Token field
- Click Save Changes
- Revyl will no longer sync new builds from Expo
Build Import Workflow
Typical Expo + Revyl Workflow
-
Develop your app
-
Build with EAS
-
Wait for build to complete
- Monitor progress in the terminal or at expo.dev/builds
-
Build appears in Revyl automatically
- Go to Revyl Builds page
- See the new build listed
- Or create a test and select it from the build dropdown
-
Create and run tests
- Use the imported build in your tests
- No need to manually download/upload!
Best Practices
Token Security
- Use Robot Users, not personal tokens - Avoids tying builds to individual accounts
- Don’t commit tokens to Git - Store in environment variables or secrets
- Rotate tokens periodically - Generate new tokens every 6-12 months
- Revoke tokens you’re not using - Clean up old tokens in Expo settings
Build Profiles
Configure different EAS Build profiles for different purposes:preview profile for Revyl testing:
Versioning
Use semantic versioning in yourapp.json:
Hot Reload with Expo
For rapid development iteration, use hot reload to test against your local Expo dev server. This enables near-instant testing—JavaScript changes are reflected immediately without rebuilding.Quick Setup
-
Build a development client with
expo-dev-client: -
Upload to Revyl as a build:
-
Configure hot reload:
-
Run tests with hot reload:
Hot reload requires a development client build with
expo-dev-client installed. Production builds won’t work with hot reload.Next Steps
Need help? Contact [email protected]