A lightweight agentic automation prototype for provisioning and de-provisioning Figma users through the web UI when Admin APIs are unavailable.
- Intent Layer – Interprets UI and finds elements dynamically.
- Execution Layer – Used Playwright to click, type, and navigate. Performs the actions inside the SaaS app like a human would.
- Validation Layer – confirms success with screenshots and logs. Checks if the operation (add/remove user) actually succeeded and logs it.
- Learning Layer - adapts when the UI changes.
- Clone or download this repo.
- Create and activate a virtual environment:
python -m venv venv source venv/bin/activate # or venv\Scripts\activate on Windows
pip install playwright pyyaml python-dotenv
playwright install [email protected]
FIGMA_PASSWORD=your_password
MFA_PAUSE=0On MacOS/Linux
export FIGMA_EMAIL="your_admin_email"
export FIGMA_PASSWORD="your_password"On Windows
setx FIGMA_EMAIL "your_admin_email"
setx FIGMA_PASSWORD "your_password"- Provide A user(Provisioning here)
python runner.py --action provision --email [email protected] --role Editor- Delete a User(Deprovisioning of the user)
python runner.py --action deprovision --email [email protected]Now:
- Create these files manually in VS Code or any Code Editor.
- Test one run with dummy credentials (use a sandbox Figma org if possible).
Logs in to your org’s Figma using your admin credentials (securely injected). Navigates to the “Members” page. Adds or removes a user based on your command. Takes a screenshot and confirms success by detecting success messages. Logs results for compliance.
After the command finishes, check: Terminal output (should say "ok": true). A new PNG screenshot in audit/. The user visible in or removed from your Figma admin page.