Tool Name: airdroid_business_group_id_batch_resolve_by_name
Risk Level: 🟢 Low Risk
Execution Mode: âš¡ Synchronous
Category: Group Management
Quick Start (Copy & Use)
Summary: Resolve multiple exact group names to group_id values in one call. Returns flat GroupIds plus {id, name, path} pairs for verification / duplicate disambiguation.
Prerequisites: Exact group display names (case-sensitive). Default group must be referenced as "Default".
Success Criteria: StatusCode == 200 and ErrorMessage == "".
What to Do Next: Pass GroupIds into tools such as Delete Groups, Move Devices to a Group, or Update a Group Name. Cross-check GroupIdPairs against your input names.
Minimal Request Example:
{
"GroupNames": ["Sales Team", "Warehouse", "Default"]
}
Minimal Response Example:
{
"GroupIds": [123, 124, 1],
"GroupIdPairs": [
{"id": 123, "name": "Sales Team", "path": ["Sales Team"]},
{"id": 124, "name": "Warehouse", "path": ["Region A", "Warehouse"]},
{"id": 1, "name": "Default", "path": ["Default"]}
],
"StatusCode": 200,
"ErrorMessage": ""
}
Recipes (Common Recipes)
Recipe 1: Resolve names before Move Devices
When to use: You have group names and need integer ids for Move Devices to a Group.
{
"GroupNames": ["Lobby Devices", "Workshop"]
}
Recipe 2: Include the default group
When to use: One of the targets is the account default group.
{
"GroupNames": ["Default", "Sales Team"]
}
Recipe 3: Verify matches via path
When to use: Duplicate display names may exist; use GroupIdPairs[].path to confirm which hierarchy node matched.
{
"GroupNames": ["Sales"]
}
Inspect each pair’s path (e.g. ["Region A","Sales"] vs ["Sales"]).
1. Overview
1.1 What it does
Batch exact-name lookup for groups. Matched groups are returned as GroupIds plus GroupIdPairs (id, name, path).
1.2 When to use
- Batch-resolve names before delete / move / rename group operations
- Detect missing or duplicate-named groups before destructive steps
1.3 Execution mode
Synchronous read. Idempotent.
1.4 Prerequisites
| Condition | Notes |
|---|---|
| Exact names | Case-sensitive; no partial match |
| Default group | Use the English name "Default" |
1.5 Related tools
| Tool | Why |
|---|---|
| Resolve Group ID by Name | Single-name lookup |
| Search Groups | Fuzzy / operators / full records |
| Delete Groups / Move Devices to a Group / Update a Group Name / Create a Group | Consume GroupIds |
1.6 vs similar tools
| Need | Prefer |
|---|---|
| Many exact names → ids | Batch Resolve Group IDs by Name |
| One exact name | Resolve Group ID by Name |
| Fuzzy / filters | Search Groups |
2. Inputs
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| GroupNames | string-array | Yes | — | Exact group names; max 50 per call |
Details
- Exact match only (case-sensitive)
- Default group: "Default"
- Partial names are not supported — use Search Groups with {"name":{"like":"..."}} (field name per Search Groups docs)
3. Outputs
| Name | Type | Description |
|---|---|---|
| GroupIds | number-array | Flat ids, same order as GroupIdPairs |
| GroupIdPairs | array | {id, name, path} for each match |
| Hint / Retryable / OriginalStatusCode / StatusCode / ErrorMessage | — | Standard tool status fields |
Length note: GroupIds.length may differ from GroupNames.length — duplicate names can yield multiple ids; missing names yield none. Cross-check GroupIdPairs[].name against inputs.
This tool does not return UnmatchedGroupNames. Detect unmatched inputs by comparing GroupNames with GroupIdPairs[].name.
`GroupIdPairs[]`
| Field | Type | Description |
|---|---|---|
| id | number | Group id |
| name | string | Exact group name |
| path | string-array | Hierarchy from root; root-level groups are typically [name] |
4. Error handling
| StatusCode | Meaning |
|---|---|
| 200 | Upstream completed; success iff ErrorMessage == "" |
| -1 | Local parameter validation (do not retry same params) |
| 500 | System / network / timeout (see Retryable) |
5. Limits & gotchas
- Max 50 names per call
- Exact match only; default group name is always "Default"
- Duplicate names → multiple ids; use path to disambiguate
6. Best practices
- Always verify GroupIdPairs before destructive downstream calls
- Cap batches at 50; split larger lists
- Prefer Search Groups when you only know a substring
7. Related Tools
| Tool | Purpose |
|---|---|
| Resolve Group ID by Name | Single lookup |
| Search Groups | Advanced filter |
| List Groups | Unfiltered inventory |
8. Tool Chains
Batch Resolve Group IDs by Name → Move Devices to a Group / Delete Groups
Batch Resolve Group IDs by Name → Batch Get Devices by Device or Group IDs
Appendix Reference:
- Field Reference: ./Field Reference.md
- Error Code Quick Reference: ./Error Codes.md
Leave a Reply.