# Mobile Endpoint Agent Installation on ChromeOS Devices

{% hint style="warning" %}
Any information provided in this document regarding future functionalities is for informational purposes only and is subject to change including ceasing any further development of such functionality. Many of these future functionalities remain in varying stages of development and will be offered on a when-and-if available basis, and Cisco makes no commitment as to the final delivery of any of such future functionalities. Cisco will have no liability for Cisco's failure to deliver any or all future functionalities and any such failure would not in any way imply the right to return any previously purchased Cisco products.
{% endhint %}

This guide outlines the policies and configuration steps required to seamlessly deploy the ThousandEyes Mobile Endpoint Agent (MEPA) across your ChromeOS fleet using [Google Workspace Endpoint Management (EMM)](https://workspace.google.com/intl/en_uk/products/admin/endpoint/). By leveraging this streamlined approach, you can ensure the agent installs with minimal user interaction and runs continuously in the background, providing reliable, uninterrupted monitoring for your devices.

## Deployment Requirements

For MEPA to function correctly, you need:

* **Managed Google Play** installation of the agent.
* **Managed configuration** set correctly, including a valid **connection string** from your ThousandEyes organization.
* Permissions granted.
* Location services enabled.
* Battery optimization exemption granted.
* Exact alarms capability granted.
* **App links** registered so links open in the app.

{% hint style="info" %}
Application Auto Launch: unsupported on ChromeOS and must be initiated manually by the user once. Google is expected to address this limitation as part their new AI-first desktop operating system merging Android and ChromeOS into one unified platform ([ref](https://chromeos.dev/en/posts/building-a-faster-smarter-chromebook-experience-with-the-best-of-google))
{% endhint %}

## Deployment Steps

### 1. Application Deployment

Navigate to:

`Devices > Chrome > Apps & extensions > Users & browsers`

**Configure:**

* **Add app** > **Managed Google Play**.
* Select **ThousandEyes Endpoint Agent**.
* Set **Installation policy** to **Force install**.
* Accept all permissions.

![Small image in HTML](/files/CveLeqvTMoC4CpRppPae)

{% hint style="info" %}
**Permissions**

When you deploy through **Managed Google Play** in a managed environment, required runtime permissions are granted automatically by administrator policy. You do not need to complete extra prompts for standard permissions.
{% endhint %}

#### a. Background Execution

In managed ChromeOS environments, certain capabilities required for background execution might be permitted automatically, depending on device policy and management configuration.

This can include:

* Battery optimization exemption (might be applied automatically in managed environments).
* Exact alarm capability (might be available depending on system policy).

{% hint style="warning" %}
These behaviors are **not** guaranteed across all environments. They are ultimately controlled by the Android platform and device policy.
{% endhint %}

#### b. Foreground Service

ChromeOS aggressively manages background applications. Without additional measures, apps might be deprioritized, processes might be killed under memory pressure, and background tasks might stop running.

To keep MEPA running in the background, the application runs a **foreground service** on ChromeOS. This provides elevated process priority (lower out-of-memory score), continuous background execution, reliable scheduling of tasks, and stable location access.

**How to confirm it is running**

The foreground service:

* Starts automatically when the application runs on ChromeOS devices.
* Displays a persistent notification (as required by Android).
* Remains active for the duration of monitoring.

### 2. Managed Configuration

In the app configuration panel, add the required JSON configuration:

```json
{
  "connection_string": "YOUR CONNECTION STRING",
  "device_name": "${DEVICE_SERIAL_NUMBER}",
  "skip_terms_of_service": true,
  "auto_register_agent": true,
  "close_app_after_registration": true
}
```

This configuration:

* Associates the agent with the correct ThousandEyes organization.
* Applies device naming and automatic registration.

### 3. Google Admin MDM Policies to Update

Configure the following policies for a successful deployment.

#### a. Location Services

Ensure device location is enabled.

`Devices > Chrome > Settings > Users & browsers > Google location services`

Set **Allow geolocation access to all apps and websites**.

* Location services must be enabled for the device.
* This allows the application to retrieve location data.

![Small image in HTML](/files/yEid84UuIAwD7sFeyhSg)

#### b. App Links (Open in App)

`Devices > Chrome > Settings > Users & browsers > Open links in Chrome browser by default`

Set **Open links in Android apps by default**.

![Small image in HTML](/files/kxVvmr3Sr0kSYHF8zb3L)

## First Launch Behavior

Due to ChromeOS platform constraints, **apps cannot be launched silently after installation.**

The application is initially in a stopped state after deployment. Manually launch the app **once** to:

* Exit the stopped state.
* Register background services.
* Apply managed configuration.
* Begin scheduled tasks.
* Start the foreground monitoring service.

If the managed configuration includes:

```json
"close_app_after_registration": true
```

Then a single launch is sufficient to complete onboarding. After registration is complete, the application closes automatically and returns to the background, allowing the device to continue normal operation without further user interaction.

## Fallback Handling

If any required settings are not applied automatically, the application provides:

* An in-app dashboard indicator.
* Clear visibility of missing permissions or settings.
* One-tap actions to resolve issues.

This design keeps required user effort small.

![Small image in HTML](/files/Y6cPOpovWH1FhX9jVEH1)

## Verifying the Agent Installation

After the device syncs, the process can complete automatically. To verify that the agent is registered to your ThousandEyes organization, log in to the ThousandEyes platform and go to **Endpoint Experience > Agent Settings**. The newly installed agent should appear in the list, confirming successful registration and connection to your organization.

![](/files/2AEULQltUdXwFVXtn0MQ)

## Additional Resources

* For licensing, supported tests, views, dashboards, alerts, and limitations that apply to **all** mobile agents (including ChromeOS), see [Mobile Endpoint Agent Installation on Android Devices](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents/installing/mepa_android).
* For permission identifiers and additional MDM patterns, see [Silent Deployment of Mobile Endpoint Agent (MEPA) on Android Devices using Mobile Device Management (MDM)](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents/installing/mepa-silent-installation).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents/installing/mepa_chromeos.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
