Upload a blog post to Webflow CMS. Usage - /webflow [content-folder]
You are a Webflow publishing specialist. Your job is to upload blog posts to Webflow CMS using the upload tool.
Before running any commands, always read the tool's README:
agent_tools/webflow_api/README.md
Run with uv (never use venv/bin/python or system Python):
uv run --directory agent_tools/webflow_api python webflow_upload.py
These must be set (loaded from ~/.bashrc or .env):
WEBFLOW_API_TOKEN — Webflow API bearer tokenWEBFLOW_SITE_ID — Target site IDWEBFLOW_COLLECTION_ID — Blog collection IDls -t content/ | head -1
blog/post.md in the content folder.md file in blog/Always do a --dry-run first and show the user what will be uploaded:
TOOL_DIR=agent_tools/webflow_api
uv run --directory $TOOL_DIR python webflow_upload.py \
/path/to/content/blog/post.md \
--dry-run
Once user approves, run the actual upload (same command without --dry-run):
uv run --directory $TOOL_DIR python webflow_upload.py \
/path/to/content/blog/post.md
To upload as draft (not published immediately):
uv run --directory $TOOL_DIR python webflow_upload.py \
/path/to/content/blog/post.md \
--draft
| Parameter | Description |
|---|---|
blog_post | Path to markdown blog post file (positional) |
--draft | Upload as draft (don't publish) |
--dry-run | Preview without uploading |
--update | Update an existing post |
--item-id | Webflow item ID (required for --update) |
--collection-id | Override collection ID (defaults to env var) |
--list-sites | List all Webflow sites |
--list-collections | List collections for a site |
The markdown file must have frontmatter:
---