Slide Deck
SailPoint-DeveloperDaysPresentation-PerryChapman.pptx (9.0 MB)
Description
Managing identity data from flat file sources sounds simple until you’re trying to do it at scale. Juggling dozens of apps, inconsistent file formats, varying schemas, and the expectation that everything lands in Sailpoint on time, every time. In this session, we’ll walk through a real-world, developer-built automation framework that transforms a largely manual file upload process into a fully automated, config-driven pipeline built entirely in Powershell.
We’ll cover how to use Sailpoint’s File Upload Utility as a headless engine, wrap it in a multi-app orchestration layer, and make it production-ready with per-app configuration, dynamic data transformation (column merging, boolean entitlement mapping, role assignment, disable logic), and intuitive archival and log management. We’ll also walk through a GUI management console for operators who need visibility without touching code, and a scheduler-ready headless mode for isolated environments.
Whether you’re supporting one tenant or many, this session delivers a practical, extensible blueprint for developer-driven access automation. This involves only Powershell, JSON, and a clean architecture you can stand up today.
Additional Resources
Source Code
The full project is open source and available on GitHub:
- Repository: perrychapman/SailpointFileUploadUtility
What’s included in the repo
-
FileUploadScript.ps1- Main headless execution script; runs the full pipeline per app and is scheduler-ready -
SailpointUtilityGUI.ps1- GUI management console with tabbed interface for setup, config editing, log viewing, and manual uploads -
CheckPrerequisites.ps1- Validates your environment (PowerShell 7+, Java 11+, ImportExcel, JAR path) before first run -
config.json.example- Annotated template for per-app configuration; copy toconfig.jsonand customize -
settings.json.example- Annotated template for global settings; copy tosettings.jsonand fill in your credentials -
QUICK_REFERENCE.md- Condensed cheat sheet for common operations -
README.md- Full documentation covering setup, configuration parameters, scheduling, and troubleshooting
Note:
settings.json,config.json, and all CSV/Excel data files are excluded from the repo via.gitignoreto protect credentials and tenant-specific data. Use the provided.examplefiles as starting points.
Prerequisites
-
PowerShell 7+
-
Java Runtime Environment (JRE) 11+
-
ImportExcel PowerShell Module (auto-installed by the script on first run)
-
SailPoint File Upload Utility JAR - download from the SailPoint Developer Community
Getting Started
# 1. Clone the repo
git clone https://github.com/perrychapman/SailpointFileUploadUtility.git
cd SailpointFileUploadUtility
# 2. Verify prerequisites
.\CheckPrerequisites.ps1
# 3. Copy and configure the example files
Copy-Item settings.json.example settings.json
# Edit settings.json with your tenant name, client credentials, and directory paths
# 4. Launch the GUI (recommended for initial setup)
.\SailpointUtilityGUI.ps1
# 5. Or run headless directly (for scheduled/automated use)
.\FileUploadScript.ps1
Contributing
Contributions are welcome! If you have improvements, bug fixes, or new features to share, please open a pull request on GitHub:
