> ## Documentation Index
> Fetch the complete documentation index at: https://docs.autosana.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Apps

> Upload and manage your apps and websites in Autosana

Before you can run any flows, you need to add your app or website to Autosana.

<iframe src="https://www.veed.io/embed/55955b5a-32ec-4966-b649-56467e83a026?watermark=0&color=default&sharing=0&title=1" width="744" height="504" frameBorder="0" title="Apps" allow="fullscreen" allowFullScreen />

## What is an App?

In Autosana, an **app** represents something you want to test - this can be a mobile app (iOS or Android) or a website.

### Key Concepts

* **App**: A mobile application or website you want to test
* **Build**: A specific version of your mobile app (.app for iOS, APK for Android, or a url for a website)
* **Active Build**: The build that will be used when running flows
* **Environment**: Optional grouping to organize apps (e.g., Development, Staging, Production)

## Creating a New App

### Step 1: Navigate to Apps Page

Click on **[Apps](https://autosana.ai/apps)** in the sidebar navigation.

### Step 2: Click "Create New App"

Click the **Create New App** button in the top right corner.

### Step 3: Fill in App Details

**Required Fields:**

* **App Name**: A descriptive name for your app (e.g., "MyApp iOS")
* **Bundle ID**: Your app's unique identifier (e.g., `com.company.appname`)

**Optional Fields:**

* **Environment**: Assign the app to an environment for better organization
* **Agent Context**: Add special instructions for the agent (e.g., "The app requires biometric authentication on first launch")

[Learn more about finding your Bundle ID →](/bundle-id)

### Step 4: Select Platform and Upload

Choose your app's platform and provide the required build or URL:

<Tabs>
  <Tab title="iOS">
    **Upload Requirements:**

    * Drag and drop a `.zip` file containing your `.app` bundle
    * The .app bundle must be built for iOS Simulator

    [Learn more about building iOS apps →](/app-build-guide#ios-simulator-builds)
  </Tab>

  <Tab title="Android">
    **Upload Requirements:**

    * Drag and drop an `.apk` file
    * Ensure the APK includes the `x86_64` architecture (universal APKs are recommended)
    * Toggle **Google Play Enabled** if your APK requires Google Play Services. This will ensure your app runs on a Google Play enabled device.

    [Learn more about building Android apps →](/app-build-guide#android-apk-builds)
  </Tab>

  <Tab title="Web">
    **No build file required!**

    * Simply enter the URL of your website (e.g., `https://example.com`)

    Simply enter your website URL — no build files needed. When triggering a run you can choose between **Chrome** (real Google Chrome — default), **Firefox**, **Edge** (Microsoft Edge), or **Chromium** (open-source, no proprietary codecs / DRM).

    [See Web Testing for how each engine differs and when to pick which →](/web-testing)
  </Tab>
</Tabs>

### Step 5: Complete Upload

Click **Upload** and wait for the file to upload. Once complete, your app will appear in the Apps list.

## Managing Builds

Each app can have multiple builds. This allows you to test new versions while keeping previous builds available.

### Uploading a New Build

1. Find your app in the Apps list
2. Click **Upload New Build**
3. Select your new build file
4. Click **Upload**

The new build will automatically become the active build.

### Setting an Active Build

The **active build** is the version used when running flows.

To change the active build:

1. Click **Show build history** on your app card
2. Find the build you want to activate
3. Click **Set as active**

### Downloading Builds

To download a previous build:

1. Click **Show build history**
2. Click the download icon (⬇️) next to any build

### Deleting Builds

To delete a build:

1. Click **Show build history**
2. Click the trash icon (🗑️) next to the build
3. Confirm deletion

<Warning>
  If you delete the active build, the next most recent build will automatically become active. If no builds remain, flows cannot run until a new build is uploaded.
</Warning>

## Editing App Details

### Changing App Name

1. Click the pencil icon (✏️) next to your app name
2. Edit the name
3. Press **Enter** or click **Save**

### Adding Agent Context

Agent Context provides special instructions to the agent when running flows on this app.

1. Click **Add Agent Context** (or **Edit Agent Context** if already set)
2. Enter instructions
3. Click **Save**

**Example Agent Context:**

```
This app uses Face ID on first launch.
The test account is test@example.com with password TestPass123.
After login, dismiss the tutorial overlay by tapping "Skip".
```

### Changing Environment

If you use environments to organize your apps:

1. Click the environment dropdown on your app card
2. Select a different environment

## Organizing with Environments

Environments help you organize apps by deployment stage or purpose.

### Creating an Environment

1. Navigate to **[Settings](https://autosana.ai/settings)** → **Environments**
2. Click **Create Environment**
3. Enter a name (e.g., "Staging", "Production", "QA")
4. Click **Create**

### Assigning Apps to Environments

* **During app creation**: Select an environment from the dropdown
* **After creation**: Use the environment dropdown on the app card
* **Via CI/CD**: Pass the `environment` parameter in the [GitHub Action](/ci-cd-integration#using-environments-to-separate-builds) or [Upload API](/api-ci) to automatically assign the app to an environment on upload

Apps grouped by environment appear in separate sections on the Apps page.

<Tip>
  If you have release and develop builds that share the same bundle ID, use different environments to keep them as separate apps. See [Using Environments in CI/CD](/ci-cd-integration#using-environments-to-separate-builds) for setup instructions.
</Tip>

## Troubleshooting

### Common Issues

**iOS:**

* Ensure the `.zip` contains a valid `.app` bundle (not an IPA)
* Check that the app is built for iOS Simulator
* Verify the bundle ID matches what you entered

**Android:**

* Ensure the APK is properly signed
* Check that the file extension is `.apk`
* Verify the bundle ID matches the package name

## Next Steps

Now that you've uploaded your app:

* [Create your first flow →](/flows)
* [Set up our CI/CD integration →](/ci-cd-integration)
* [Organize flows with suites →](/suites)
