← Back to list

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:

Pitchaya Inpibul · 2026-05-09 16:49 · 0 claps · 4.0 min read
#sap-analytics-cloud #epm #ca #sap #sap-training
Open on Medium ↗
Wiki topics: GRW · Growth & Analytics

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:

  1. Preparing your data in Excel (simple, anyone can do it)
  2. Upload Excel file via Friendly UI Screen
  3. Python calls the SAC SCIM 2.0 API and creates everything automatically
  4. 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 )

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

  1. Go to System -> Administration
  2. Open the App Integration tab
  3. Under Configured Clients, choose Add a New OAuth Client
  4. Select API Access
  5. Select User Provisioning
  6. Copy the generated client details, including the Token URL
  7. 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

  1. Fill in Tenant URL , Token URL , Client ID, Client Secret from SAC Integrations
  2. Save locally

7. Upload and execute

  1. Upload the upload template
  2. Choose the task (Validate & Preview / Create Teams / Assign Roles / Assign Users /Run All )
  3. click Run and review the execution log
  4. 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