Install
openclaw skills install auto-file-senderAutomatically send files from workspace to Feishu/Lark when files are generated or updated. Use when: (1) User creates new documents and wants them delivered automatically, (2) Batch processing generates multiple files that need to be sent, (3) Setting up automated file delivery workflows. Supports Word, PDF, images, and other common file formats up to 30MB.
openclaw skills install auto-file-senderThis skill enables automatic file delivery from the workspace to Feishu/Lark users. When files are generated (documents, PDFs, images, etc.), they can be automatically sent to specified recipients without manual intervention.
Key Capabilities:
When a file is ready to send:
// Single file
{
"action": "send",
"filePath": "/root/.openclaw/workspace/document.docx",
"filename": "document.docx",
"message": "Here's your file!",
"target": "user_open_id"
}
The skill provides a helper script to watch for new files and auto-send:
# Watch workspace and auto-send new files
python3 scripts/auto_send.py --watch /root/.openclaw/workspace --recipient USER_OPEN_ID
Check for recently created/modified files:
# List files created in last 10 minutes
find /root/.openclaw/workspace -type f -mmin -10
Use the message tool with filePath parameter:
{
"action": "send",
"filePath": "<absolute-path-to-file>",
"filename": "<display-filename>",
"message": "<optional-message>",
"target": "<recipient-open-id>"
}
Parameters:
filePath: Absolute path to the file (required)filename: Display name for the file (optional, defaults to basename)message: Accompanying text message (optional)target: Recipient open_id (defaults to current user if omitted)Check the response for successful delivery:
messageId: ID of the sent messagechatId: ID of the chat/channel| Type | Extensions | Max Size |
|---|---|---|
| Documents | .docx, .doc, .pdf | 30MB |
| Images | .jpg, .png, .gif, .webp | 30MB |
| Spreadsheets | .xlsx, .xls, .csv | 30MB |
| Archives | .zip, .tar.gz | 30MB |
| Others | Any | 30MB |
To send multiple files at once:
// Send files sequentially
for (const file of files) {
await message.send({
action: "send",
filePath: file.path,
filename: file.name
});
}
/root/.openclaw/workspaceTo send to a specific user:
{
"action": "send",
"target": "ou_a65105519c863f8544fb22b40c468063", // User's open_id
"filePath": "/path/to/file"
}
Python script for watching directories and auto-sending files.
Usage:
python3 scripts/auto_send.py [options]
Options:
--watch PATH Directory to watch (default: workspace)
--recipient ID Target recipient open_id
--pattern PATTERN File pattern to match (default: *)
--once Send existing files and exit (don't watch)
Examples:
# Watch and auto-send all new PDFs
python3 scripts/auto_send.py --pattern "*.pdf" --recipient USER_ID
# One-time send of all docx files
python3 scripts/auto_send.py --pattern "*.docx" --once
ls -la <filepath>For files > 30MB:
zip -r output.zip large_filesplit -b 25M large_file part_User: "Generate a report and send it to me"
// After generating the report
{
"action": "send",
"filePath": "/root/.openclaw/workspace/report_2024.docx",
"filename": "Annual_Report_2024.docx",
"message": "Here's your annual report!"
}
User: "Send all the PDFs in my workspace"
# Find and send all PDFs
find /root/.openclaw/workspace -name "*.pdf" -exec \
python3 -c "import sys; print(sys.argv[1])" {} \;
Then send each file using the message tool.
After a long-running task generates output:
// Task completed, auto-send result
{
"action": "send",
"filePath": "/root/.openclaw/workspace/output.pdf",
"message": "Task completed! Here's your file."
}