Automate Batch Creation of High‑Quality Xiaohongshu Posts Using n8n and Feishu Tables
This guide walks you through building an end‑to‑end n8n workflow that reads topics from a Feishu multi‑dimensional table, generates Xiaohongshu copy and multi‑page covers with AI models, uploads the assets back to Feishu, and updates the table automatically, turning a manual content pipeline into a fully automated factory.
Workflow Overview
The article shows how to construct a fully automated content‑creation pipeline for Xiaohongshu (Little Red Book) using n8n, Feishu multi‑dimensional tables, and AI models such as Qwen, GLM and DeepSeek. The pipeline reads topics from a Feishu table, generates copy, splits it into pages, creates cover images, uploads the assets, and writes the results back to the table.
Preparation
1. Feishu Application Configuration
Create a Feishu app and grant it cloud‑document permissions. The detailed steps are documented in a Feishu wiki link (https://rolimdefc4.feishu.cn/wiki/HZhlwdRVDi2K84kDrZzctcUDnjb).
2. Create a Feishu Multi‑Dimensional Table
Define fields such as 主题 (topic), 状态 (status), and any other metadata needed for the workflow. A template table can be duplicated via the link https://rolimdefc4.feishu.cn/base/HJy6bDH67a1h6NsdEmzc2HkpnZb?table=tblnEP3oStORYWKZ&view=vewKljSG6K.
3. Add the App to the Table and Install Feishu Nodes
Grant the app edit permissions on the table, then install the community node n8n-nodes-feishu-lite in n8n via Settings → Install.
Build the n8n Workflow
1. Data Ingestion
Add a manual trigger node (or later a webhook) to start the flow.
Configure a Feishu Get Records node to query the table, filtering out rows whose 状态 contains "生成中/已完成/失败" so that a record is processed only once.
Parse the returned JSON (example filter shown below) and extract the token and ID for later use.
{
"filter": {
"conjunction": "and",
"conditions": [{
"field_name": "状态",
"operator": "doesNotContain",
"value": ["生成中", "已完成", "失败"]
}]
}
}2. Content Generation
Use a Set node to add external parameters (e.g., model, temperature) that will be shared by downstream nodes.
Add an OpenAI (or compatible) node, select a model such as qwen3, and feed the topic to a prompt that generates a Xiaohongshu title and body.
Insert a Split Text node to break the long body into 3‑8 pages (15‑40 characters each) because Xiaohongshu displays multi‑image posts.
Update the record status to "生成中" before the AI call to avoid duplicate processing.
3. Cover Generation
Loop over each text segment, calling an image‑generation model (e.g., doubao‑seedream‑4‑0‑250828) with a prompt that extracts the core title and keywords and asks for a "即梦"‑style cover.
Configure the HTTP node to request the image URL, set response format to File, and download the binary.
Upload the file to Feishu cloud storage via a Feishu Upload File node, capturing the returned file_token for later aggregation.
4. Data Storage
After all pages and covers are ready, a Code node aggregates the results into a single JSON payload that updates the original table row with the final status, generation timestamp, title, body, and an array of file_token values for the covers.
const fileTokens = [];
for (const item of $input.all()) {
if (item.json?.data?.file_token) {
fileTokens.push({ file_token: item.json.data.file_token });
}
}
return {
fields: {
状态: "已完成",
生成时间: $now.toMillis(),
小红书标题: $('生成小红书文案').first().json.output["标题"],
小红书文案: $('生成小红书文案').first().json.output["内容"],
小红书封面: fileTokens
}
};5. Automation Trigger (Optional)
Configure a Feishu automation rule on the table: when a new record is added or an existing one is modified and meets the status condition, fire a webhook that triggers the n8n workflow. Add an Header Auth to the webhook node for security.
Activation
After all nodes are configured, click the "Execute Workflow" button in n8n to test the full process, then press "Activate" to run it in production. From now on, adding a topic to the Feishu table will automatically generate a complete Xiaohongshu post with copy and multi‑page covers, without any manual effort.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
