Pulls telephony config out of on-prem CUCM, live over AXL or from BAT/Unity CSVs, dry-runs every object against the target Webex org, then pushes in dependency order. Rollback deletes exactly what it created, in reverse.
CUCM-to-Webex Calling migrations live in spreadsheets: export BAT files, eyeball thousands of rows, hand-build users and hunt groups in Control Hub, and pray nothing half-applies. When something fails mid-push, 'undo' means remembering what you created.
Pull straight from CUCM via the AXL API (users, phones, lines, hunt pilots/lists/line groups, pickup groups) or upload BAT/Unity CSV exports, with raw rows kept for audit.
A mapping engine builds a Webex payload per object (people, hunt groups, call pickup) with traffic-light readiness and notes, so you review and choose exactly what migrates, mapped to target Webex locations.
OAuth against the target org with admin scopes; tokens AES-256-GCM encrypted and auto-refreshed. Every batch dry-runs first: person exists? number in inventory? location exists? licence available?
Push runs through a queue in dependency order, people before groups, idempotent on re-run, with rollback that deletes exactly what the batch created, in reverse order. Readiness, dry-run, and post-push CSV reports at every stage.
The migration tool I wanted on every cutover weekend: dry-run everything, push in order, and an undo button that actually means it.