Like a lot of IT teams, we've got some loaner gear — iPads, chargers, some old laptops sitting in the office for staff who forget theirs or need something in a pinch. The problem was almost never about not having the gear. It was tracking it. Who borrowed the charger? Did it come back? Is that iPad still floating around a campus somewhere from three weeks ago? I wanted something to have something simple to track assets. Walk up, scan a QR code on the item, check it out. Bring it back, scan it again, check it in. No spreadsheet, no sign-out clipboard, no hunting people down because someone else wants to borrow an iPad.

My initial thought was to build my own in Airtable. A database of assets that people can check out. But after giving it some thought, I realized that I have an account that can do exactly what I wanted to do and it comes with the MDM that I've been using.

Mosyle & Assetbots

Assetbots is seems to fit exactly what I was trying to do. Scan to check out, scan to check in, no app installation required since it's entirely browser-based.

Since we already use Mosyle as an MDM, we get access to the Mosyle Customer Subscription Package which means Assetbots can pull device data straight in rather than me entering the serial numbers, models, etc. by hand. It's also free (or free with our Mosyle subscription).

Futhermore, Assetbots has a kiosk that can be used to check assets in and out so I don't have to worry about building a UI for it.

Assetbots loaner kiosk on an iPad showing Checkout and Check In buttons.
The finished Assetbots kiosk running on the iPad, giving staff a simple choice to check equipment out or back in.

Keeping the Sync Scoped

The obvious worry with a Mosyle sync is that it pulls in your entire device fleet, not just the handful of loaners. The fix was simple: tag the loaner devices in Mosyle (I used "Loaner"), then filter the Assetbots sync to only pull devices with that tag. Everything else in the fleet stays untouched.

I also mapped only the fields that actually matter for a checkout log — asset tag, category, description, serial number, model, and the borrower's name and email. Deeper MDM fields like UDID, IMEI, or supervision status stay in Mosyle, where I'd actually go to troubleshoot them anyway. No point duplicating data into a second system where it'll just go stale.

I haven't fully decided if I want all devices synced on not, but since I get up to 1000 devices on Assetbots, I can worry about that later.

To Wipe or Not To Wipe

One thing I wanted was for a returned iPad or laptop to automatically get erased and reimaged before going back on the shelf. But at this point, I decided not to chase an automation for it. Instead, a dedicated "returns" spot on the shelf, separate from ready-to-go inventory, and a weekly manual wipe pass in Mosyle. It's a five-minute routine and it means nothing gets erased by accident. As for the iPads, I'll just put all the apps we generally use so those won't need to get wiped at all.

Building the Kiosk

Assetbots has a built-in Kiosk feature. It's a self-serve portal you can lock to a specific set of assets and people. I set up an "IT Office Kiosk" with an asset filter scoped to just the "Loaner" tag, so it can't accidentally surface anything else in the database as we add more asset types down the road.

Getting it to actually look like a kiosk instead of a website open in Safari has been the harder part. The plan was:

  • To have a Mosyle Web Clip profile pointing at the kiosk URL, set to open fullscreen with the Safari navigation bar blocked.
  • Use the App Lock/Single App Mode profile to lock the iPad into just that view.

This is where it got interesting. App Lock/Single App Mode in Mosyle can only target Safari itself, not a specific web clip so, locking to Safari gets you URL restriction (paired with a Content Filter allowing only the kiosk URL) but loses the clean fullscreen look.

The fix, I found out was instead of using Single App Mode/Single App Mode , you can use the Kiosk Mode profile on Mosyle. Kiosk Mode allows you to lock the iPad to a specific URL. It also give you the option to either lock the iPad to that URL 24/7 or schedule when that lock will happen.

What's Left?

Currently, I have Mosyle and Assetbots integrated and scoped to a "Loaner" tag, a Kiosk built on Assetbots and Kiosk Mode set on Mosyle and a cabinet where I can put the loaner assets in.

What I still need to do are:

  • Print out QR code asset tags for the loaner devices
  • Add users to Assetbots so they can check out devices
  • Load up the cabinets with "loaners" so they can be checked out.
  • Have a "repair" option on check in for devices that need repair (and carving out space in the cabinet for "to be repaired".

Hopefully this works and I can give an update after a few months of use.