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
- Once logged into the mambo EMM console navigate to Management > Devices.
- Click Actions on Devices on the top right corner to open a dropdown and then click on Bulk Actions.
- This opens a modal with the required information, a downloadable test file, and an input to add your CSV file.
- Upload your CSV file below Add CSV file and click Upload.
- 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:
| imei | sn | model | manufacturer | command |
|---|---|---|---|---|
| 1234 | LOCK | |||
| 4321 | C6 | Rhino Mobility | LOCK |
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.
| imei | command | new_policy |
|---|---|---|
| 1234 | CHANGE_POLICY | abc1234cde |
| 4321 | CHANGE_POLICY | Default |
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.
| imei | command |
|---|---|
| 1234 | WIPE |
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.
| imei | command | command_expiry |
|---|---|---|
| 1234 | LOCK | 60s |
| 4321 | LOCK |
Reset password
RESET_PASSWORD can be used standalone to clear the password. Additionally and optionally, these fields could be set:
- A
new_passwordto 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_BOOTandLOCK_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_expirycolumn can be set in seconds with a value of[NUMBER]s. E.g.:10sfor ten seconds.
| imei | command | new_password | reset_password_flags | command_expiry |
|---|---|---|---|---|
| 1234 | RESET_PASSWORD | 3344 | "REQUIRE_ENTRY" | 120s |
| 4321 | RESET_PASSWORD | test123 | "DO_NOT_ASK_CREDENTIALS_ON_BOOT,LOCK_NOW" | |
| 4321 | RESET_PASSWORD | test123 | "REQUIRE_ENTRY, LOCK_NOW" | |
| 3214 | RESET_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.
| imei | command | command_expiry |
|---|---|---|
| 1234 | REBOOT | 120s |
| 4321 | REBOOT |
Clear app data
CLEAR_APP_DATA has a required and optional field:
clear_app_data_packagesis 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_expirycolumn can be set in seconds with a value of[NUMBER]s. E.g.:10sfor ten seconds.
| imei | command | clear_app_data_packages | command_expiry |
|---|---|---|---|
| 1234 | CLEAR_APP_DATA | "com.android.chrome" | 60s |
| 4321 | CLEAR_APP_DATA | "com.android.chrome,com.Slack,com.myApp" | |
| 3214 | CLEAR_APP_DATA | "com.android.chrome,com.Slack,com.myApp" | 120s |
| 3214 | CLEAR_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_titleis required and can contain any text.broadcast_messageis also required and can contain any text.broadcast_priority_highis optional, and a value oftruecan be set to send the message as high priority orfalsefor the opposite. If left empty it will default tofalse.
| imei | command | broadcast_title | broadcast_message | broadcast_priority_high |
|---|---|---|---|---|
| 1234 | BROADCAST_MESSAGE | New release | Content... | |
| 4321 | BROADCAST_MESSAGE | Testing trial | Content... | |
| 3214 | BROADCAST_MESSAGE | Update available | Content... | 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.
| imei | command |
|---|---|
| 1234 | LOCATION |
Final thoughts
Note that you can combine multiple actions in a single file, you can also do different actions on a single device.
| imei | command | broadcast_title | broadcast_message | broadcast_priority_high | command_expiry | new_password |
|---|---|---|---|---|---|---|
| 1234 | BROADCAST_MESSAGE | New release | Content... | true | ||
| 4321 | REBOOT | 300s | ||||
| 4321 | RESET_PASSWORD | test1234 |