Skip to content
Agentmart
Submit a tool

bizzfactory-document-downloader

Download all of a client's documents from the Bizz Factory portal (portal.bizzfactory.se) into a local folder tree that mirrors the page, without converting…

Skill by viktor-ferenczi

IndexedMIT★ 1
Write a review

Chalk Labs

Need help deploying bizzfactory-document-downloader?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/viktor-ferenczi-bizzfactory-document-downloader

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Download all of a client's documents from the Bizz Factory portal (portal.bizzfactory.se) into a local folder tree that mirrors the page, without converting files or causing any side effects. Use when the user wants to back up, archive, or bulk-download documents from their BizzFactory / Bizz Factory portal account, or mentions a portal.bizzfactory.se/documents/<uuid> URL.

Use cases: documents

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/bizzfactory-document-downloader

What's inside

Skill name
bizzfactory-document-downloader
Description
Download all of a client's documents from the Bizz Factory portal (portal.bizzfactory.se) into a local folder tree that mirrors the page, without converting files or causing any side effects. Use when the user wants to back up, archive, or bulk-download documents from their BizzFactory / Bizz Factory portal account, or mentions a portal.bizzfactory.se/documents/<uuid> URL.
License
MIT
Instructions
124 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts

Files (2)

  • SKILL.md
  • download.py · scripts/

SKILL.md (first lines)

# BizzFactory Document Downloader

Downloads every document for a client from the Bizz Factory accounting portal into a
local directory tree that mirrors the folder structure shown on the page. Files (PDFs,
SIE `.se` exports, etc.) are saved **as-is — no conversion**.

## Read-only guarantee (no side effects)

The bundled script issues **only HTTP GET** requests against two endpoints:

- `GET /api/v1/documents/{clientUuid}` — the folder tree as JSON
- `GET /api/v1/documents/{clientUuid}/documents/{fileUuid}/download` — one file's bytes

It never touches any mutating endpoint (mark-as-read, mark-as-handled, upload, move,
delete, restore, empty-trash). **Downloading does not change a file's unread status** —
"read" is set by a separate directory-level endpoint the script deliberately avoids. The
only unavoidable server-side traces are the session keep-alive timestamp and any
download-audit entry inherent to fetching a file.

## Step 1 — Get the portal URL

Navigate to the client's documents page in your browser. The URL looks like:

```
https://portal.bizzfactory.se/documents/<clientUuid>
```

`<clientUuid>` is a UUID identifying the client (company). The script extracts it from
the URL automatically; you can also pass the bare UUID.

## Step 2 — Copy the two session cookies

You need two cookies for the `portal.bizzfactory.se` domain:

| Cookie | What it is |
| --- | --- |
| `Agency` | Agency/tenant id (a UUID) |
| `PLAY_SESSION` | The signed Play Framework session (a long JWT-like string) |

These expire and the session is rolling, so copy them from a **freshly loaded** portal
page just before running.

### Chrome / Edge / Brave (Chromium)
1. Open the portal page, press **F12** → **Application** tab.
2. Left sidebar → **Storage** → **Cookies** → `https://portal.bizzfactory.se`.
3. Copy the **Value** column for the `Agency` and `PLAY_SESSION` rows.

### Firefox
1. Open the portal page, press **F12** → **Storage** tab (enable it in the `»` overflow
   menu if hidden).
2. **Cookies** → `https://portal.bizzfactory.se`.
3. Copy the **Value** of `Agency` and `PLAY_SESSION`.

### Safari
1. Enable the Develop menu: **Safari → Settings → Advanced → "Show features for web
   developers"**.
2. On the portal page: **Develop → Show Web Inspector** (or ⌥⌘I) → **Storage** tab.
3. **Cookies** → `portal.bizzfactory.se` → copy `Agency` and `PLAY_SESSION` values.

### Shortcut (any browser): Copy as cURL
In **DevTools → Network**, reload the page, right-click any request to
`portal.bizzfactory.se` → **Copy → Copy as cURL**. The `Cookie:` header in the result
contains both `Agency=...` and `PLAY_SESSION=...`.

## Step 3 — Run the downloader

The script writes into a subdirectory of the **current working directory** (your project
folder). Default subdir name: **`BizzFactoryDocs`**.

```bash
python3 scripts/download.py \
  --url "https://portal.bizzfactory.se/documents/<clientUuid>" \
  --agency "<Agency cookie value>" \
  --session "<PLAY_SESSION cookie value>" \
  --outdir BizzFactoryDocs
```

Credentials can also come from the environment instead of flags (safer — keeps secrets
out of shell history):

```bash
export BIZZ_AGENCY="<Agency cookie value>"
export BIZZ_SESSION="<PLAY_SESSION cookie value>"
python3 scripts/download.py --url "https://portal.bizzfactory.se/documents/<clientUuid>"
```

Requires Python 3.11+ (standard library only — no `pip install`).

## Output

```
BizzFactoryDocs/
├─ _manifest.json          # path, uuid, byte size, mimeType for every file
└─ <Root folder>/...       # full tree, including empty folders, mirroring the page
```

The run prints each downloaded file and a final summary
(`Directories created`, `Files downloaded`, total bytes). Existing files are
overwritten; the run is idempotent and safe to re-run.

## Verifying the result

```bash
cd BizzFactoryDocs
find . -type f ! -name _manifest.json -size 0           # should print nothing
grep -rlI '<!DOCTYPE html' . 2>/dev/null                # no HTML error pages
find . -type f ! -name _manifest.json | wc -l           # file count
```

## Troubleshooting

- **HTTP 401/403** — the session expired or the cookies are wrong. Reload the portal
  page and re-copy `Agency` and `PLAY_SESSION`.
- **Empty / partial tree** — confirm the client UUID in the URL matches the client whose
  documents you intend to download (the portal can hold several clients).
- **Garbled filenames** — names are taken verbatim from the portal and only `/` and `\`
  are replaced with `_`; Swedish characters (å ä ö) are preserved.

## Script

From viktor-ferenczi/skills, MIT.

More from viktor-ferenczi/skills

Signals

Stars
1
Forks
0
Open issues
0
Last commit (this folder)
Jun 25, 2026 (4 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from viktor-ferenczi

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get bizzfactory-document-downloader running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying bizzfactory-document-downloader?

CallGet help
Cite this page

bizzfactory-document-downloader skill. Agent Mart. https://agentmart.dev/skills/viktor-ferenczi-bizzfactory-document-downloader (last updated 2026-10-24)