Box Content Api logo

Box Content Api

Organization
beep-effect
box-content-api

Build and troubleshoot Box integrations for uploads, folders, folder listings, downloads and previews, shared links, collaborations, search, metadata, event-driven automations, and Box AI retrieval flows. Use when Codex needs to add Box APIs or SDKs to an app, wire Box-backed document workflows, organize or share content, react to new files, or fetch Box content for search, summarization, extraction, or question-answering.

Overview

Publisherbeep-effect
Repositorybeep-effect
Skill namebox-content-api
Stars
74
Forks
14
Bundled files
12
LicenseApache-2.0
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 12 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by beep-effect on GitHub. Read the source before you install it.

Installation

Install the Box Content Api AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/beep-effect/beep-effect.git /tmp/beep-effect
mkdir -p .claude/skills
cp -r /tmp/beep-effect/plugins/box/skills/box .claude/skills/box-content-api
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Box Content Api in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Box Content Api on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Box Content Api is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Box Content API

Overview

Implement Box content workflows in application code. Reuse the repository's existing auth and HTTP or SDK stack whenever possible, identify the acting Box identity before coding, and make the smallest end-to-end path work before layering on sharing, metadata, webhooks, or AI.

Route The Request

If the user needs...Primary objectRead firstPair withMinimal verification
Local verification, manual smoke tests, or quick inspection from Codex without app code changesCurrent CLI environmentreferences/box-cli.mdreferences/auth-and-setup.mdscripts/box_cli_smoke.py check-auth then a read command
Uploads, folders, listings, downloads, shared links, collaborations, or metadataFile or folderreferences/content-workflows.mdreferences/auth-and-setup.mdRead-after-write call using the same actor
Organizing, reorganizing, or batch-moving files across folders; bulk metadata tagging; migrating folder structuresFile set or folder treereferences/bulk-operations.mdreferences/auth-and-setup.md, references/content-workflows.md, references/ai-and-retrieval.mdInventory source, verify move count matches plan
Event-driven ingestion, new-file triggers, or webhook debuggingWebhook or events feedreferences/webhooks-and-events.mdreferences/auth-and-setup.md, references/troubleshooting.mdSignature check plus duplicate-delivery test
Search, document retrieval, summarization, extraction, or Box AISearch result set or file contentreferences/ai-and-retrieval.mdreferences/auth-and-setup.mdRetrieval-quality check before answer formatting
401, 403, 404, 409, 429, missing content, or wrong-actor bugsExisting request pathreferences/troubleshooting.mdreferences/auth-and-setup.mdReproduce with the exact actor, object ID, and endpoint
Unsure which workflow appliesUnknownreferences/workflows.mdreferences/auth-and-setup.mdChoose the smallest Box object/action pair first

Workflow

Follow these steps in order when coding against Box.

  1. Inspect the repository for existing Box auth, SDK or HTTP client, env vars, webhook handlers, Box ID persistence, and tests.
  2. Determine the acting identity before choosing endpoints: connected user, enterprise service account, app user, or platform-provided token.
  3. Identify the primary Box object and choose the matching reference from the routing table above.
  4. Confirm whether the task changes access or data exposure. Shared links, collaborations, auth changes, large-scale downloads, and broad AI retrieval all need explicit user confirmation before widening access or scope.
  5. Read only the matching reference files:
    • Auth setup, actor selection, SDK vs REST: references/auth-and-setup.md
    • Box CLI local verification: references/box-cli.md
    • Workflow router: references/workflows.md
    • Content operations: references/content-workflows.md
    • Bulk file organization, batch moves, folder restructuring: references/bulk-operations.md
    • Webhooks and events: references/webhooks-and-events.md
    • AI and retrieval: references/ai-and-retrieval.md
    • Debugging and failure modes: references/troubleshooting.md
  6. Implement the smallest end-to-end flow that proves the integration works.
  7. Add a runnable verification step. Prefer the repository's tests first; otherwise use scripts/box_cli_smoke.py when Box CLI is available and authenticated, and scripts/box_rest.py as a fallback.
  8. Summarize the deliverable with auth context, Box IDs, env vars or config, and the exact verification command or test.

Guardrails

  • Preserve the existing Box auth model unless the user explicitly asks to change it.
  • Check the current official Box docs before introducing a new auth path, changing auth scope, or changing Box AI behavior.
  • Prefer an official Box SDK when the codebase already uses one or the target language has a maintained SDK. Otherwise use direct REST calls with explicit request and response handling.
  • Keep access tokens, client secrets, private keys, and webhook secrets in env vars or the project's secret manager.
  • Distinguish file IDs, folder IDs, shared links, metadata template identifiers, and collaboration IDs.
  • Treat shared links, collaborations, and metadata writes as permission-sensitive changes. Confirm audience, scope, and least privilege before coding or applying them.
  • Require explicit confirmation before widening external access, switching the acting identity, or retrieving more document content than the task truly needs.
  • When a task requires understanding document content — classification, extraction, categorization — use Box AI (Q&A, extract) as the first method attempted. Box AI operates server-side and does not require downloading file bodies. Fall back to metadata inspection, previews, or local analysis only if Box AI is unavailable, not authorized, or returns an error on the first attempt.
  • Pace Box AI calls at least 1–2 seconds apart. For content-based classification of many files, classify a small sample first to validate the prompt and discover whether cheaper signals (filename, extension, metadata) can sort the remaining files without additional AI calls.
  • Avoid downloading file bodies or routing content through external AI pipelines when Box-native methods (Box AI, search, metadata, previews) can answer the question server-side.
  • Connected Box tool availability can vary by account. If a Box MCP call returns Tool <name> not found, treat that tool as unavailable for the rest of the current task. Do not retry it with different arguments or call it again later; switch to an available fallback.
  • For connected Box app or MCP text reads, use get_file_content or Deep Research fetch only when the file is likely to have markdown or extracted-text content. If Box says markdown or text representation is unavailable, do not retry the same text read; switch to preview, metadata, or the next scoped fallback.
  • For connected Box previews, avoid get_file_preview for files known to exceed 3 MB. Reuse size from existing search, listing, or details results when it is already available.
  • Request only the fields the application actually needs, and persist returned Box IDs instead of reconstructing paths later.
  • Run Box CLI commands strictly one at a time. The CLI does not support concurrent invocations and parallel calls cause auth conflicts and dropped operations. For bulk work (organizing, batch moves, batch metadata), default to REST over CLI.
  • Make webhook and event consumers idempotent. Box delivery and retry paths can produce duplicates.
  • Keep AI retrieval narrow for search and Q&A tasks. Search and filter first, then retrieve only the files needed for the answer. This does not apply to Box AI classification — when classifying documents, Box AI should be tried first per the content-understanding guardrail above.
  • Do not use box configure:environments:get --current as a routine auth check because it can print sensitive environment details.

Verification

  • Prefer the repository's existing tests, scripts, or app flows when they already cover the changed Box behavior.
  • If no better verification path exists, prefer scripts/box_cli_smoke.py when box is installed and authenticated. Fall back to scripts/box_rest.py with BOX_ACCESS_TOKEN when CLI auth is unavailable or the task specifically needs direct bearer-token verification.
  • Confirm CLI auth with box users:get me --json or scripts/box_cli_smoke.py check-auth.
  • Verify mutations with a read-after-write call using the same actor, and record the object ID.
  • For webhooks, test the minimal happy path, duplicate delivery, and signature failure handling.
  • For AI flows, test retrieval quality separately from answer formatting.

Example smoke checks:

bash
python3 scripts/box_cli_smoke.py check-auth
python3 scripts/box_cli_smoke.py get-folder 0 --fields id name item_collection
python3 scripts/box_cli_smoke.py list-folder-items 0 --max-items 20
python3 scripts/box_cli_smoke.py search "invoice" --limit 10
python3 scripts/box_rest.py get-item --item-type folder --item-id 0 --fields id name item_collection

Deliverable

The final answer should include:

  • Acting auth context used for the change
  • Box object type and IDs touched
  • Env vars, secrets, or config expected by the integration
  • Files or endpoints added or changed
  • Exact verification command, script, or test path
  • Any permission-sensitive assumptions that still need confirmation

References

  • references/auth-and-setup.md: auth path selection, SDK vs REST choice, existing-codebase inspection, and current Box doc anchors
  • references/box-cli.md: CLI-first local auth, smoke-test commands, and safe verification patterns
  • references/workflows.md: quick workflow router when the task is ambiguous
  • references/content-workflows.md: uploads, folders, listings, downloads, shared links, collaborations, metadata, and file moves
  • references/bulk-operations.md: organizing files at scale, batch moves, folder hierarchy creation, serial execution, and rate-limit handling
  • references/webhooks-and-events.md: webhook setup, event-feed usage, idempotency, and verification
  • references/ai-and-retrieval.md: search-first retrieval, Box AI usage, and external AI guardrails
  • references/troubleshooting.md: common failure modes and a debugging checklist
  • examples/box-content-api-prompts.md: example prompts for realistic use cases

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Box Content Api AI skill do?

Build and troubleshoot Box integrations for uploads, folders, folder listings, downloads and previews, shared links, collaborations, search, metadata, event-driven automations, and Box AI retrieval flows. Use when Codex needs to add Box APIs or SDKs to an app, wire Box-backed document workflows, organize or share content, react to new files, or fetch Box content for search, summarization, extraction, or question-answering.

Why use Box Content Api on TypingMind?

Because you install it once and use it with any model. Box Content Api is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Box Content Api in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/beep-effect/beep-effect/tree/main/plugins/box/skills/box. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Box Content Api?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Box Content Api?

As many as you like. As long as a model supports skills, you can use Box Content Api with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Box Content Api AI skill free?

Yes. It is published on GitHub by beep-effect under the Apache-2.0 license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇