What the Sandbox Can Do
Run Python Code
Data analysis, visualizations, computations, file processing, API calls, and more.
Execute Shell Commands
File operations, package installation, running scripts, and system commands.
Read & Write Files
Create, modify, and organize files within the sandbox filesystem.
Upload & Download
Move files between your Gumloop storage and the sandbox environment.
How It Works
Each user gets their own persistent sandbox per agent. The sandbox is a secure cloud VM that persists across conversations, so your installed packages, files, and workspace state carry over between chats.- Persistence Model
- Isolation
| Scope | What Persists | Lifetime |
|---|---|---|
| Cross-conversation | Installed packages (pip install, npm install), cached dependencies | Survives across all chats with the same agent |
| Agent-wide | Skills, workspace files (saved to .workspace/) | Shared across all conversations with that agent |
| Per-conversation | Working directory, variables, generated files | Scoped to a single chat session |
Starting a new conversation creates a fresh working directory, but your installed packages and workspace files are already available from previous sessions.
Pre-installed Packages
The sandbox comes with 80+ Python packages ready to use, so your agent can start working immediately without installing anything.Data Science & Analysis
Data Science & Analysis
pandas, numpy, scipy, scikit-learn, statsmodels
Visualization
Visualization
matplotlib, seaborn, plotly, bokeh
AI & Machine Learning
AI & Machine Learning
openai, anthropic, google-generativeai, mistralai, llama-index-core, gensim
Web & APIs
Web & APIs
requests, aiohttp, beautifulsoup4, scrapy, selenium, playwright
File Processing
File Processing
openpyxl, PyMuPDF, python-docx, Pillow, opencv-python, imageio
Media Processing
Media Processing
moviepy, librosa, ffmpeg-python, yt-dlp, soundfile
Natural Language Processing
Natural Language Processing
nltk, spacy, textblob
Database & Cloud
Database & Cloud
psycopg2-binary, pymongo, PyMySQL, pyodbc, boto3, google-cloud-storage
Execution Limits
| Resource | Limit |
|---|---|
| Command timeout | 30 minutes per command |
| File ingestion | Up to 300 MB per file |
| Network access | Full internet access (API calls, pip installs, web requests) |
| GUI | Headless only. Visualizations must be saved to files (e.g., plt.savefig()) |
The sandbox is designed for data analysis, scripting, and automation tasks. It is not intended for training large ML models or running persistent servers.
Examples
Here are some common ways to use the Code Sandbox:- Data Analysis
- API Integration
- File Processing
- Custom Scripts
Ask your agent to analyze data:The agent will use pandas to load the data, perform analysis, and generate visualizations with matplotlib or plotly.
Workspace Files
Files saved to the.workspace/ directory persist across all conversations with the same agent. This is useful for reference data, configuration files, or ongoing project assets that should always be available.
- Project members share a common workspace. Files saved by one member are visible to other members of the same project.
- Non-members get an isolated workspace. Their files are private.
For more details on file management, versioning, and sharing, see Agent Artifacts.
Integration with Apps
The sandbox has access to your connected apps via the pre-installedgumloop SDK. Your agent can call any of its configured integrations directly from Python code:
Agent Secrets
Agent Secrets let you inject encrypted credentials into the sandbox as environment variables, so your agent can authenticate with external services (APIs, databases, etc.) without ever exposing the raw values.Adding a Secret to Your Agent
Open Settings and add a secret
Navigate to your agent and click the Settings tab. Scroll down to the Secrets section, expand it, and click + Secret.
Select from your personal secrets, or create a new one directly from the picker.

Confirm the secret is configured
Once added, the secret appears by name in the Secrets section. Your agent now has access to it at runtime.
You can add multiple secrets by clicking + Secret again, or remove one via the three-dot menu.

Two Types of Secrets
Personal Secrets
Private to you. No other user can access them. Managed from your personal secrets settings.
Team Secrets
Shared across all team members. Available when an agent is in a team space.
Team Secrets
For agents in a team space, you can use shared secrets that all team members can access.Add a team secret
In agent Settings > Secrets, click + Secret. The dropdown shows both Personal Secrets and Team Secrets.

Runtime Resolution
Secrets resolve based on the running user, not the agent owner:- Personal secret configured: other users are prompted to provide their own value
- Team secret configured: all team members share the same value

- Skip: proceed without the secret
- Save for me: map a personal secret for this user only
- Save to agent: update the agent’s default binding

Comparison
| Personal Secrets | Team Secrets | |
|---|---|---|
| Visibility | Only you | All team members |
| Where managed | Personal settings | Team settings |
| Use case | Private API keys, personal tokens | Shared service accounts, org-wide keys |
| Agent location | Personal or team space | Team space only |
| Resolution | Per-user (each provides their own) | Shared (one value for all) |
FAQ
Can the agent see my secret values?
Can the agent see my secret values?
No. Secrets are injected as environment variables at runtime. The agent can reference them by name (
os.environ["MY_KEY"]) but never sees the actual value. Values are encrypted and never shown to the agent.Can I use both personal and team secrets on the same agent?
Can I use both personal and team secrets on the same agent?
Yes. An agent in a team space can use both types. Team secrets share one value for all members. Personal secrets require each user to provide their own value. If you run an agent that has a personal secret you haven’t set up yet, the chat will prompt you to bind your own (see Runtime Resolution).
Do secrets persist across conversations?
Do secrets persist across conversations?
Yes. Secrets are bound to the agent configuration. They are available every time the agent runs code.
How do I create a new personal secret?
How do I create a new personal secret?
Go to gumloop.com/settings/profile/secrets and add one. It will then appear in the secret picker when configuring agents.

