---
parent: /workflows/agents.md
back_out_url: /workflows/agents.md
---

# Workflow 7: DeviceHub Browse (Bulk Tag Discovery)

> You are at https://api.litmus.io/workflows/browse-bulk-tags.md
> Parent: https://api.litmus.io/workflows/agents.md
> If this is the wrong workflow, back out to the index above.

## 7. DeviceHub Browse (Bulk Tag Discovery)

**UI trigger**: DeviceHub -> Browse -> Select tags -> Create All

The Browse workflow auto-discovers a device's full address space (e.g. all OPC UA nodes or Modbus registers) and lets users select which ones to import as tags - without manually entering each one.

### Step table

| Step | API Name | Method | Endpoint / GraphQL Operation | Input | Output / What to capture |
|------|----------|--------|------------------------------|-------|--------------------------|
| 1 | Create Browse Task | `POST` | `{{edgeUrl}}/devicehub/v2` -> `CreateBrowseTask` | Device ID + browse params | Browse Task `ID` |
| 2 | Start Browse Task | `POST` | `{{edgeUrl}}/devicehub/v2` -> `StartBrowseTasks` | Browse Task `ID` from step 1 | Task starts crawling |
| 3 | List Browse Tasks *(poll)* | `POST` | `{{edgeUrl}}/devicehub/v2` -> `ListBrowseTasks` | - | Poll until `Status = Completed` |
| 4 | Get Browse Task Folders | `POST` | `{{edgeUrl}}/devicehub/v2` -> `BrowseTask_GetFoldersForTreeView` | Browse Task `ID` | Folder tree of discovered address space |
| 5 | Get Browse Folder Items | `POST` | `{{edgeUrl}}/devicehub/v2` -> `BrowseTask_GetFolderItems` | Folder path within the browse task | Items (tags/nodes) in that folder |
| 6 | Cart Add Items | `POST` | `{{edgeUrl}}/devicehub/v2` -> `Cart_AddItems` | Selected item IDs from step 5 | Items added to cart (`Added`, `Skipped`, `Updated` counts) |
| 6b | Cart Update Properties *(optional)* | `POST` | `{{edgeUrl}}/devicehub/v2` -> `Cart_UpdateProperties` | Cart item IDs + property overrides | Updated counts |
| 7 | Cart Create All Registers | `POST` | `{{edgeUrl}}/devicehub/v2` -> `Cart_CreateAllRegisters` | No input - processes entire cart | `Created`, `Skipped`, `Updated` counts - tags now exist |

> **Also useful**: `Download Browse Tags` (`GET /devicehub/browsing/download_csv/task/{task_id}`) - exports discovered tags to CSV before committing. Lets users review in Excel before creating.


---
