Cayuse Provisioning Tool
Automated user provisioning system for Cayuse research compliance platform — replaces legacy manual scripts with a structured CSV-to-API pipeline.
Overview
A rebuild of legacy provisioning scripts for Cayuse, a research compliance and grants management platform used by the university. The old process involved manual CSV manipulation and fragile scripts. The new tool provides a structured pipeline from enrollment data to Cayuse account provisioning via Okta API integration.
Problem
- Legacy scripts were brittle, undocumented, and required manual intervention at every step
- No validation or error handling — failures were silent
- Program-to-department mapping was hardcoded and frequently wrong
- No audit trail of what was provisioned or when
Solution
Built a phased replacement:
- Phase 1: CSV input with validation, transformation, and Cayuse upload — direct replacement of old scripts with proper error handling
- Phase 2: Azure Fabric data warehouse integration — pull enrollment data directly instead of relying on manual CSV exports
- Phase 3: Scheduling and automation with an IT team runbook
Tech Stack
- Python for the core provisioning logic
- Okta API (SSWS) for identity verification and Employee ID lookup
- Azure Fabric for enrollment data (Phase 2)
- Designed for monthly scheduled execution
What I Learned
- Writing clear requirements up front (even informal ones) made AI-assisted development dramatically faster — the entire Phase 1 build was done in an afternoon with Claude Code
- Provisioning tools need extensive dry-run and validation modes — you don’t want to find out about a bug when it’s already created 200 accounts wrong