Skip to main content

@dougschaefer/cisco-collaboration-endpoints

v2026.04.27.1

Cisco RoomOS device and macro management via Webex Control Hub — device inventory, health checks, workspace management, xAPI command execution, status queries, configuration management, macro lifecycle (save, activate, deploy, fleet push), and MTR-aware operations. Vault-based credential resolution.

Repository

https://github.com/dougschaefer6/swamp-cisco-collaboration-endpoints

Labels

ciscowebexroomosmacrosavconferencing

Contents

Quality score

How well-documented and verifiable this extension is.

100%

Grade A

  • Has README or module doc2/2earned
  • README has a code example1/1earned
  • README is substantive1/1earned
  • Most symbols documented1/1earned
  • No slow types1/1earned
  • Has description1/1earned
  • At least one platform tag (or universal)1/1earned
  • Two or more platform tags (or universal)1/1earned
  • License declared1/1earned
  • Verified public repository2/2earned

Install

$ swamp extension pull @dougschaefer/cisco-collaboration-endpoints

Release Notes

Add curated README and LICENSE to tarball (additionalFiles), bringing extension's Swamp Club quality grade from F/B to A-/B.

@dougschaefer/cisco-collaboration-endpoints-devicev2026.03.16.4cisco/device.ts
listList all devices in the Webex org. Optionally filter by product type, connection status, or tag.
ArgumentTypeDescription
product?stringFilter by product name (e.g., 'Cisco Codec Pro', 'Cisco Room Kit Pro')
connectionStatus?stringFilter by connection status: connected, disconnected, connected_with_issues
tag?stringFilter by device tag
type?stringFilter by device type: roomdesk, phone, accessory, camera
getGet detailed information about a specific device by ID.
ArgumentTypeDescription
deviceIdstringWebex device ID
getStatusQuery xAPI status values from a device. Use specific paths (e.g., 'SystemUnit.Software.Version') rather than broad wildcards for MTR devices.
ArgumentTypeDescription
deviceIdstringWebex device ID
statusPathsarrayStatus paths to query (max 10). Examples: SystemUnit.Software.Version, SystemUnit.Uptime, Standby.State
enableMacrosEnable the macro runtime on a device by setting Macros.Mode=On and Macros.AutoStart=On.
ArgumentTypeDescription
deviceIdstringWebex device ID
healthCheckRun a health check on a device — queries connection status, firmware version, uptime, standby state, and network address. Uses specific status paths safe for both native and MTR mode devices.
ArgumentTypeDescription
deviceIdstringWebex device ID
setConfigurationSet one or more device configurations via JSON Patch. Use the path format 'Config.Path/sources/configured/value'. On MTR devices, only configs tagged with include_for_extension='mtr' are available.
ArgumentTypeDescription
deviceIdstringWebex device ID
patchesarrayArray of configuration patches to apply
executeCommandExecute an arbitrary xAPI command on a device via the Webex cloud API. Commands work in all device modes (native, MTR, Zoom). For macro-specific commands, prefer the @dougschaefer/cisco-collaboration-endpoints-macro model methods.
ArgumentTypeDescription
deviceIdstringWebex device ID
commandstringxAPI command name (e.g., 'Audio.Volume.Set', 'Standby.Activate', 'SystemUnit.Boot')
commandArgs?stringCommand arguments as JSON string (e.g., '{\
body?stringCommand body content (used by commands like Macros.Macro.Save)
updateTagsUpdate tags on a device. Tags are used for organizing and filtering devices in Control Hub and can be used to target fleet operations.
ArgumentTypeDescription
deviceIdstringWebex device ID
tagsarrayComplete list of tags to set on the device (replaces existing tags)
listWorkspacesList Webex workspaces (rooms/spaces) in the org. Workspaces represent physical locations with assigned devices, calendar integration, and calling configuration.
ArgumentTypeDescription
displayName?stringFilter by workspace display name (partial match)
workspaceLocationId?stringFilter by workspace location ID
calling?stringFilter by calling type: freeCalling, hybridCalling, webexCalling, thirdPartySipCalling
getWorkspaceGet detailed information about a specific workspace by ID.
ArgumentTypeDescription
workspaceIdstringWebex workspace ID

Resources

device(infinite)— Cisco RoomOS device registered to Webex Control Hub — codecs, boards, desk devices, and room navigators
workspace(infinite)— Webex workspace (room/space) with assigned devices, calendar integration, and calling configuration
@dougschaefer/cisco-collaboration-endpoints-macrov2026.03.16.4cisco/macro.ts
listList all macros on a device. Returns macro names and activation state.
ArgumentTypeDescription
deviceIdstringWebex device ID
getGet a specific macro's source code from a device.
ArgumentTypeDescription
deviceIdstringWebex device ID
macroNamestringMacro name on the device
saveSave (upload) a macro to a device. Overwrites any existing macro with the same name. Does not activate — call activate separately or use deploy for the full lifecycle.
ArgumentTypeDescription
deviceIdstringWebex device ID
macroNamestringMacro name (alphanumeric and underscores)
contentstringJavaScript macro source code
transpile?booleanWhether to transpile ES6+ to ES5 for the macro engine (defaults to true)
activateActivate a macro on a device by name.
ArgumentTypeDescription
deviceIdstringWebex device ID
macroNamestringMacro name to activate
deactivateDeactivate a macro on a device by name.
ArgumentTypeDescription
deviceIdstringWebex device ID
macroNamestringMacro name to deactivate
removeRemove a macro from a device by name.
ArgumentTypeDescription
deviceIdstringWebex device ID
macroNamestringMacro name to remove
restartRuntimeRestart the macro runtime on a device. Required after saving or activating macros.
ArgumentTypeDescription
deviceIdstringWebex device ID
deployFull macro deployment lifecycle: ensure Macros.Mode is on, save the macro, activate it, and restart the runtime. Records each step for audit.
ArgumentTypeDescription
deviceIdstringWebex device ID
macroNamestringMacro name (alphanumeric and underscores)
contentstringJavaScript macro source code
transpile?booleanWhether to transpile ES6+ to ES5 (defaults to true)
removeExisting?booleanRemove existing macro with same name before saving (clean deploy, defaults to false)
deployFleetDeploy a macro to multiple devices. Runs the full deploy lifecycle on each device sequentially with error isolation — a failure on one device does not stop deployment to remaining devices.
ArgumentTypeDescription
deviceIdsarrayArray of Webex device IDs to deploy to
macroNamestringMacro name (alphanumeric and underscores)
contentstringJavaScript macro source code
transpile?booleanWhether to transpile ES6+ to ES5 (defaults to true)
removeExisting?booleanRemove existing macro before saving on each device (defaults to false)

Resources

macro(infinite)— Cisco RoomOS macro deployed to a device — source code, activation state, and deployment metadata
deployment(infinite)— Macro deployment result — step-by-step record of a push operation to one or more devices