Mass Upload Excel to Create SAC Teams and Assign Roles via Python SCIM API — For SAC Admin &…
If you’ve ever had to create Teams in SAP Analytics Cloud one by one through the UI:
Mass Upload Excel to Create SAC Teams and Assign Roles via Python SCIM API — For SAC Admin & Consultant

If you’ve ever had to create Teams in SAP Analytics Cloud one by one through the UI:
Security → Teams → + → Enter name → Save → Repeat…
And you need to do this for 50, 100, or 200 teams — you already know how painful that is.
That is why I built this toolkit. It is a lightweight local tool using Python + Streamlit with SAC SCIM-related API calls so SAC admins and consultants can handle bulk team administration more easily.
This guide shows you how to create SAC Teams in bulk by:
- Preparing your data in Excel (simple, anyone can do it)
- Upload Excel file via Friendly UI Screen
- Python calls the SAC SCIM 2.0 API and creates everything automatically
- Verify the results directly in SAC, No Postman. No manual UI clicks. No repetition.
Note: The OAuth and SAC security concepts used here follow the standard SAP setup for SCIM-based API access. The Excel template and Streamlit workflow are part of this project implementation.
Prerequisites
- Python 3.8+ Download from python.org
- Python Libraries requests, openpyxl (one-time install)
- SAC OAuth Client — Must have User Provisioning scope (SCIM 2.0)
- Excel Files
What the Toolkit Covers
- bulk create SAC teams
- assign roles to teams
- assign users to teams
- validate Excel input before execution
- run the process from a simple local UI
In the current upload template, user assignment is intended for existing SAC users.
Why I Built It
This was built for a real SAC project, not as a demo. The goal was simple:
- reduce repetitive manual UI work
- make consultant handover easier
- avoid depending on Postman for every repeatable admin task
- give SAC admins something easier to reuse in future rollout waves
It does not replace SAC administration. It just makes this part easier to manage during rollout.
Toolkit Flow
Toolkit Flow ( Excel -> Streamlit UI -> Python -> SAC )
Toolkit Flow ( Excel -> Streamlit UI -> Python -> SAC )
- Excel stores the team, role, and user mappings
- Streamlit gives the admin a local upload-and-run interface
- Python validates the workbook and runs the API calls
- SAC receives the requested team and assignment actions
Setup and Run
1. Clone the repository from github
git clone https://github.com/miyapx/create-sac-teams-excel.git
cd create-sac-teams-excel.git
2. Install dependencies
python3 -m pip install -r toolkit/requirements.txt
3. Create the OAuth client in SAC
- Go to System -> Administration
- Open the App Integration tab
- Under Configured Clients, choose Add a New OAuth Client
- Select API Access
- Select User Provisioning
- Copy the generated client details, including the Token URL
- Save the client secret immediately because it cannot be viewed again
Go to System -> Administration
Under Configured Clients, choose Add a New OAuth Client
Configured New OAuth Client
4. Launch the app
python3 -m streamlit run toolkit/app.py
Or double click file in folder
- Mac : drun.command
- Windows : run.bat
Streamlit UI Tooklit to Upload excel file
5. Prepare the Excel file
Download the toolkit Excel template and fill in the rows you want to process. The upload template expects one .xlsx file with these sheets and columns:
- Create_Teams: Team ID, Team Description
- Assign_Roles: TeamID, RoleID
- Users: UserName, TeamID (users should already exist in SAC before user assignment)
Excel template
6. Connection Settings
- Fill in Tenant URL , Token URL , Client ID, Client Secret from SAC Integrations
- Save locally
7. Upload and execute
- Upload the upload template
- Choose the task (Validate & Preview / Create Teams / Assign Roles / Assign Users /Run All )
- click Run and review the execution log
- Teams & Roles Assigned created in SAC
Run and review the execution log
Teams successfully create in SAP analytics cloud
Limitations and Things to Watch
From the SAP setup:
- the OAuth client secret is sensitive
- the secret cannot be viewed again after creation
- User Provisioning is the relevant access concept for this kind of setup
From the toolkit itself:
- users should already exist in SAC
- validate the workbook before running write actions
- test in a non-production tenant first
- if you adapt this into a client-facing deployment, protect OAuth credentials carefully and do not expose secrets in shared configs, screenshots, logs, or browser-facing code
GitHub
If you want to try or extend the toolkit:
GitHub repository: https://github.com/miyapx/create-sac-teams-excel/
메타데이터
- post_id
- 3c590bf6c44c
- slug
- mass-upload-excel-to-create-sac-teams-and-assign-roles-via-python-scim-api-for-sac-admin-3c590bf6c44c
- url
- https://medium.com/@pitchaya.contact/mass-upload-excel-to-create-sac-teams-and-assign-roles-via-python-scim-api-for-sac-admin-3c590bf6c44c
- canonical_url
- https://medium.com/@pitchaya.contact/mass-upload-excel-to-create-sac-teams-and-assign-roles-via-python-scim-api-for-sac-admin-3c590bf6c44c
- author_url
- https://medium.com/@pitchaya.contact
- status
- ok
- fetched_at
- 2026-06-11 05:11:55