Box Mount
PreviewUse Box Mount as mounted storage for your agent workflows. It exposes a Box folder as a local filesystem inside a Runta runtime, so agents can read source files and write results with normal file operations. Box Mount handles synchronization with Box; Runta provides the execution layer.
The sales report example uses the Runta Python SDK to create a runtime and run an OpenAI Agent. The Agent reads store sales CSVs from the mounted folder, calculates totals with Decimal, and writes an Excel workbook and a daily report back to Box. It can also assign the daily report to a human reviewer using Box Tasks.
Set Up
Section titled “Set Up”You need uv, Python 3.12 or later, Linux or macOS for the local orchestrator, and a Linux x86_64 Box Mount archive matching the example’s runtime architecture.
git clone https://github.com/runta-dev/box-integration-example.gitcd box-integration-exampleuv synccp -n .env.example .envFill in .env:
| Variable | Value |
|---|---|
RUNTA_TOKEN |
Your Runta API token. |
BOX_ACCESS_TOKEN |
A Box token with read/write access to a dedicated test folder. |
BOX_FOLDER_ID |
The parent test folder ID. |
BOX_MOUNT_ARCHIVE |
Local path to the Linux x86_64 Box Mount archive. |
OPENAI_API_KEY |
Your OpenAI API key. |
OPENAI_MODEL |
A model ID with tool-call support, available to your account. |
BOX_REVIEWER_USER_ID |
Optional numeric Box user ID for human review. The user must already have access to the report. |
Keep credentials in your local .env file.
Run the Demo
Section titled “Run the Demo”uv run doctor # Check prerequisites and service access.uv run seed # Prepare sample CSVs in the Sales Report Demo folder.uv run demo # Mount Box, generate reports, optionally assign review, and clean up.Each command shows checkbox progress. The workflow is:
- Mount the Box folder inside the Runta runtime.
- Let the Agent read
Incoming/, validate CSV rows, calculate totals, and write reports. - If a reviewer is configured, find the generated daily report in Box and create and assign a review task.
- Normally unmount the folder and delete the runtime.
Reports remain in Box under Sales Report Demo/Results/<date>/<run-id>/: sales-report.xlsx, daily-report.md, summary.json, and agent-run.json.
Failed runs retain the runtime ID and logs. Use the state directory printed by the command to retry review assignment and clean up:
uv run python demo.py --state-dir /path/to/state cleanup