File Upload Utility Automation Scripts


:spiral_notepad: Description File Upload Utility Automation Scripts
:balance_scale: Legal Agreement By using this CoLab item, you are agreeing to SailPoint’s Terms of Service for our developer community and open-source CoLab.
:hammer_and_wrench: Repository Link GitHub - sailpoint-oss/colab-file-upload-utility-automation-scripts
:hospital: Supported by Community Developed

Overview

Maximize the potential of the File Upload Utility through advanced PowerShell scripting to automate delimited file aggregation and mitigate HR data errors by comparing HR feeds

Requirements

  1. File Upload Utility JAR, download from here
  2. Java - JDK 11, OpenJDK 11 and OpenJDK 17 are supported
  3. Network - Outbound access over HTTPS (443) via REST API calls to the ISC
  4. Personal Access Token (PAT)
  • User must have at least the Source Admin user level
  • The PAT must have at least the idn:sources:manage and idn:entitlements:manage scopes.
  1. Enterprise application in Azure AD to utilize Graph API for sending emails

Guide

  • Create PAT token preferably for a service account instead of individual user, encrypt them and store it in a file
  • Create Enterprise application in Azure AD, get tenant details and secrets
  • Encrypt the secrets, store it in a file
  • Update FUU properties file with all the respective details
  • Update your local paths in PowerShell scripts
  • Make sure you have at least 2 HR feed files for comparison
  • Update the PowerShell script with your schema attributes
  • Schedule the PowerShell scripts as per your requirements

Recommendation

  • Make sure you schedule Compare feed a couple of hours before Automatic Aggregation
  • Make use of IQ service server to schedule the scripts
5 Likes

In the current File Upload Utility (FUU) setup, we specify the path of our HR file in the config file, and that file is stored locally before being uploaded to SailPoint. I’m exploring whether we can automate the file selection process. For example, the HR team could place the file in a specific folder accessible to the IdentityIQ service (where my script runs). The script would then automatically detect and pick up the latest file from that folder, without requiring manual updates to the file name or path in the config each time. Any suggestion or guidance you can provide on this. Thank you.