Part of what makes Esper one of the easiest device management platforms to use is our simple and convenient provisioning methods. While we support the traditional GMS based provisioning methods like Android for Work and 6-Tap QR code, we also have our own way to provision non-GMS devices, as we talked about in this earlier blog post. However, as the saying goes, we’ve saved the best for last. Let’s take a look at how you can take device deployment to the next level with Esper’s Seamless Provisioning.

Yet another provisioning method (YAPM)? Why?

As a device management platform, we believe we should be adapting to the needs of our customers, not the other way around. Android is an open platform, and the beauty of that is no two Android devices are completely alike. We have multiple provisioning methods available so that you can pick the right one that fits your device and deployment needs. With Seamless Provisioning, the requirements are specific, and the rewards are plenty.

What is Seamless Provisioning?

A lot of customer devices that we work with at Esper are AOSP devices. This usually means that the Android OS (ROM) running on the device is either built by the customer themselves or their device manufacturer. While Esper has its own flavor of Android (Esper Foundation for Android) optimized with stability and features essential for any dedicated device use case, we understand that you may want to control your own OS and add functionality of your own. 

With Seamless Provisioning, Esper works with whoever builds the OS for the device to integrate it into the Android image. Additionally, we make sure that the Esper agent running on the device receives the appropriate permissions required to function automatically on boot. And if that didn’t make you contact us yet, we also include additional features like Remote Control support out of the box, seamless Secure Remote ADB, and the ability to pre-enroll provisioning Wi-Fi networks for a truly touch-free experience.

Sounds amazing, but it also seems like a lot of work.

That’s the best part, we’ve already done all the heavy lifting for you. All you need to do is contact us to obtain access (under NDA) to the Seamless Provisioning Repository, add it to your Android source and add one line of code to your Android device tree. It’s that simple! Esper is Android version agnostic, so as long as you are on Android 6.0+, you can implement Seamless Provisioning.

So what does a Seamless Provisioning workflow look like?

Once you have an image built with Esper Seamless Provisioning enabled, all you need to do is flash it onto your device like a regular stock OS image. After the device is flashed, it can be directly shipped to the deployment location. You will need to note down a list of serial numbers for these devices, and add them to a Provisioning Template of your choice in the Esper Console.

Once the device boots for the first time, it immediately loads (and updates) the Esper agent, connects to the preconfigured Wi-Fi access point that you can set up at compile time and communicates with our cloud to load the appropriate template that its serial number is associated with. It then provisions using that template and within a couple minutes the device is ready for use. You can see the entire process, from boot to fully set up, happen in the GIF above.

But wait, there’s more…

Having control over the Android OS that is being run on your device leaves room for additional useful features as well. These include: 

  1. Access to features that require elevated privileges, such as remote control, mobile data toggle, configuring APNs as well as configuring any other setting within the OS remotely using our Custom Configuration API is available using Seamless Provisioning. 
  2. Seamless Secure Remote ADB – while all devices can use our Secure Remote ADB feature, with Seamless Provisioning, you no longer have to connect the device to a computer using USB in order to set it up for remote ADB access. This makes the process truly seamless and accessible for remote debugging with access controlled via the Esper Console. 
  3. The ability to factory reset and reconfigure devices deployed in the field remotely. Since the Esper agent is embedded within the OS of the device, triggering a factory reset from the Esper Console would no longer leave the device inaccessible as well as prevent it from being repurposed for unauthorized use. You may switch a device’s serial number between templates and factory reset it in order to provision it to a completely new configuration and purpose even though the device is deployed in the field. 


If you are using a custom built Android device and you have access to the device’s Android source code or board support package (BSP), integrating Esper Seamless Provisioning can provide a host of benefits that can improve your device deployment process considerably. Our team can also provide support to help make this process happen at the factory so that when you receive your devices, they are truly ready to go without any setup.

Contact us to learn more about Seamless Provisioning.