Guide
Connect a dataset, analyze it, get results back
The full round-trip on connect0 today — connect a dataset into the core, have your agent run analyses via `sh`, retrieve the results, and where each step has friction in the current toolset.
5/18/2026 · connect0 · 4 min
Connect a dataset into the core once, then run your agent against it and pull the results back out.
The round-trip every connect0 user eventually wants:
- Push a dataset in.
- Have the agent run analyses against it.
- Get the result file back.
Step 1 and 2 are solid. Step 3 has rough edges until the native download surface lands. Here's the practical version.
Step 1: upload the dataset
> Make me an upload link for sales-2026-q1.csv — 12,582,912 bytes, text/csv.
Agent calls upload.create_link, hands you a URL, you PUT. Within seconds the audit row flips to claimed. See hand your agent a CSV for the long version.
Step 2: analyse via sh
> Compute revenue by region and write the result to /workspace/reports/by_region.csv.
Agent runs (something like):
sh "python -c '
import pandas as pd
df = pd.read_csv(\"/workspace/data/sales-2026-q1.csv\")
df.groupby(\"region\")[\"revenue\"].sum().to_csv(\"/workspace/reports/by_region.csv\")
'"
You can iterate here — multiple sh calls, building up /workspace/reports/ as you go. State persists between calls.
Step 3: retrieve — three options today
3a. The result is small text → sh "cat"
> Show me /workspace/reports/by_region.csv.
sh "cat /workspace/reports/by_region.csv"
Up to 64 KiB stdout flows back. For a region rollup that fits comfortably, this is the right tool.
3b. The result is bigger → push to your own storage
If the file is too big for stdout and you control an S3 bucket / GitHub repo / etc., have the sandbox push it there:
sh "aws s3 cp /workspace/reports/by_region.csv s3://my-bucket/connect0-out/"
You'll need egress=open on the project for this to reach the public internet, and your AWS credentials configured inside the sandbox via sh "aws configure".
3c. You really need it on your laptop → workaround
Chunked base64 through sh. Bad UX, useful as a survival tool.
3d. Wait for native downloads
download.create_link is the right answer for this whole step. When it lands, step 3 becomes:
> Give me a download link for /workspace/reports/by_region.csv.
One tool call, one URL, file in ~/Downloads. No tokens burned on bytes.
What this teaches about pacing
The asymmetry between upload (solid) and download (rough) reflects the build order. We knew users would want to share files with their agents on day one. We learned they also want files back once they started running real analyses. The download surface was reactive, not proactive — and that's fine, it just means the current round-trip has a step that feels lopsided.
Next steps
- Code review sandbox — same loop applied to PR review.
- Iterate on a config file with the agent.
Where this fits
This is the Connect everything pillar of connect0 — the core that connects everything your company runs on. Connecting a dataset into the core is step one; once it's there your agent can run analyses against it and hand results back without the data ever leaving the core. Start building → · All guides →