Skip to main content

CSV bulk actions for mass device management (beta)

This feature allows you to execute multiple actions across various devices through a single CSV file upload. This makes it easier to manage and perform actions on a whole fleet of devices. After your CSV file has been uploaded and processed, you will promptly receive an email containing the outcomes and details of every action and command executed.

This method currently supports actions such as changing a policy, triggering a location request, and broadcasting a message, as well as any device command (including lock, reboot, reset password, wipe) with more options to come. Note that commands like 'Broadcast message' depend on your team having said feature flag on their plan.

Before proceeding, it is crucial to acknowledge that the respective permissions for each action must be granted to the user’s role. Please communicate with your team owners regarding any permissions required for a role. For example, if a user intends to lock devices through CSV bulk device actions, they would require the 'Can lock devices' command to be enabled in their role.

If a user attempts an action without having the proper roles, an error will be received on their email report.

Note: this feature is currently in beta, if you encounter any issues or think of improvements let us know via our support email or in-app feedback form.

Now let's get started with doing bulk device actions via CSV!

First steps

  1. Once logged into the mambo EMM console navigate to Management > Devices.
  2. Click Actions on Devices on the top right corner to open a dropdown and then click on Bulk Actions.
  3. This opens a modal with the required information, a downloadable test file, and an input to add your CSV file.
  4. Upload your CSV file below Add CSV file and click Upload.
  5. Once the file is uploaded and processed, you will receive an email with the result of each action.

The CSV file

Each row will require a way to identify a device, this can be done via imei only or a combination of sn, model, and manufacturer. You can combine these accordingly, for example:

imeisnmodelmanufacturercommand
1234LOCK
4321C6Rhino MobilityLOCK

The CSV above will trigger a lock command to two devices, one identified via IMEI and the other via serial number, model, and manufacturer.

Actions

To trigger actions on devices a column command is required. The applicable values are: CHANGE_POLICY, WIPE, LOCK, RESET_PASSWORD, REBOOT, CLEAR_APP_DATA and BROADCAST_MESSAGE to signal which action should be applied to the respective device. Certain commands have extra options or requirements that can be set via other columns, here's a list of them all:

Change policy

CHANGE_POLICY requires a new_policy column which identifies to which policy the device should be changed. This field should be filled with either the ID or the name of the desired policy.

imeicommandnew_policy
1234CHANGE_POLICYabc1234cde
4321CHANGE_POLICYDefault

Wipe

WIPE has no additional fields, but please be sure to double-check whenever you are using this command as it will delete the device from your list.

imeicommand
1234WIPE

Lock

LOCK can be used standalone, optionally a command_expiry column can be set in seconds with a value of NUMBERs. E.g.: 10s for ten seconds.

imeicommandcommand_expiry
1234LOCK60s
4321LOCK

Reset password

RESET_PASSWORD can be used standalone to clear the password. Additionally and optionally, these fields could be set:

  • A new_password to be used on the device. Note numeric passwords on Android +14 devices have a minimum requirement of 6 characters.
  • A reset_password_flags, with the following flags: REQUIRE_ENTRY, DO_NOT_ASK_CREDENTIALS_ON_BOOT and LOCK_NOW. This field should be wrapped around quotations and each item should be separated with a comma or comma space. E.g.: "REQUIRE_ENTRY,DO_NOT_ASK_CREDENTIALS_ON_BOOT" or "LOCK_NOW, DO_NOT_ASK_CREDENTIALS_ON_BOOT".
  • A command_expiry column can be set in seconds with a value of [NUMBER]s. E.g.: 10s for ten seconds.
imeicommandnew_passwordreset_password_flagscommand_expiry
1234RESET_PASSWORD3344"REQUIRE_ENTRY"120s
4321RESET_PASSWORDtest123"DO_NOT_ASK_CREDENTIALS_ON_BOOT,LOCK_NOW"
4321RESET_PASSWORDtest123"REQUIRE_ENTRY, LOCK_NOW"
3214RESET_PASSWORD

Reboot

REBOOT can be used standalone, optionally a command_expiry column can be set in seconds with a value of NUMBERs. E.g.: 10s for ten seconds.

imeicommandcommand_expiry
1234REBOOT120s
4321REBOOT

Clear app data

CLEAR_APP_DATA has a required and optional field:

  • clear_app_data_packages is required to define which package apps should have their data cleared. This field should be wrapped around quotations and each item should be separated with a comma or comma space. E.g.: "com.android.chrome" for a single app or "com.android.chrome,com.Slack,com.myApp" / "com.android.chrome, com.Slack, com.myApp" for two.
  • An optional command_expiry column can be set in seconds with a value of [NUMBER]s. E.g.: 10s for ten seconds.
imeicommandclear_app_data_packagescommand_expiry
1234CLEAR_APP_DATA"com.android.chrome"60s
4321CLEAR_APP_DATA"com.android.chrome,com.Slack,com.myApp"
3214CLEAR_APP_DATA"com.android.chrome,com.Slack,com.myApp"120s
3214CLEAR_APP_DATA"com.android.chrome, com.Slack, com.myApp"120s

Broadcast message

BROADCAST_MESSAGE depends on your team having the related feature flag. It also has the following additional fields:

  • broadcast_title is required and can contain any text.
  • broadcast_message is also required and can contain any text.
  • broadcast_priority_high is optional, and a value of true can be set to send the message as high priority or false for the opposite. If left empty it will default to false.
imeicommandbroadcast_titlebroadcast_messagebroadcast_priority_high
1234BROADCAST_MESSAGENew releaseContent...
4321BROADCAST_MESSAGETesting trialContent...
3214BROADCAST_MESSAGEUpdate availableContent...true

Trigger location request

LOCATION has no additional fields. This action will trigger a location on the device, you can check your device location via the device details action > location tab.

imeicommand
1234LOCATION

Final thoughts

Note that you can combine multiple actions in a single file, you can also do different actions on a single device.

imeicommandbroadcast_titlebroadcast_messagebroadcast_priority_highcommand_expirynew_password
1234BROADCAST_MESSAGENew releaseContent...true
4321REBOOT300s
4321RESET_PASSWORDtest1234