auto-file-sender
/install auto-file-sender
Auto File Sender
Overview
This 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:
- Auto-detect new files in workspace
- Send via Feishu message with file attachment
- Support batch sending of multiple files
- Configurable file type filters and recipient rules
Quick Start
Basic Usage
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"
}
Auto-Send on File Creation
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
Workflow
Step 1: Identify Files to Send
Check for recently created/modified files:
# List files created in last 10 minutes
find /root/.openclaw/workspace -type f -mmin -10
Step 2: Send Files
Use the message tool with filePath parameter:
{
"action": "send",
"filePath": "\x3Cabsolute-path-to-file>",
"filename": "\x3Cdisplay-filename>",
"message": "\x3Coptional-message>",
"target": "\x3Crecipient-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)
Step 3: Confirm Delivery
Check the response for successful delivery:
messageId: ID of the sent messagechatId: ID of the chat/channel
Supported File Types
| 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 |
Batch Sending
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
});
}
Configuration
Default Settings
- Source directory:
/root/.openclaw/workspace - Max file size: 30MB (Feishu limit)
- Auto-recipient: Current conversation user
Custom Recipient
To send to a specific user:
{
"action": "send",
"target": "ou_a65105519c863f8544fb22b40c468063", // User's open_id
"filePath": "/path/to/file"
}
Scripts
scripts/auto_send.py
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
Troubleshooting
File Not Found
- Ensure file path is absolute
- Verify file exists:
ls -la \x3Cfilepath> - Check file permissions
Send Failed
- Verify file size \x3C 30MB
- Check recipient open_id is correct
- Ensure bot has permission to send files
Large Files
For files > 30MB:
- Compress:
zip -r output.zip large_file - Split:
split -b 25M large_file part_ - Use cloud storage and send link instead
Best Practices
- Always verify files exist before sending
- Use descriptive filenames for better organization
- Batch similar files to reduce API calls
- Clean up sent files periodically to save space
- Log sent files for tracking (optional)
Examples
Example 1: Send Generated Document
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!"
}
Example 2: Send Multiple Files
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.
Example 3: Auto-Send on Completion
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."
}
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install auto-file-sender - After installation, invoke the skill by name or use
/auto-file-sender - Provide required inputs per the skill's parameter spec and get structured output
What is auto-file-sender?
Automatically send files from workspace to Feishu/Lark when files are generated or updated. Use when: (1) User creates new documents and wants them delivered... It is an AI Agent Skill for Claude Code / OpenClaw, with 200 downloads so far.
How do I install auto-file-sender?
Run "/install auto-file-sender" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is auto-file-sender free?
Yes, auto-file-sender is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does auto-file-sender support?
auto-file-sender is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created auto-file-sender?
It is built and maintained by timyljob2011-sudo (@timyljob2011-sudo); the current version is v1.0.1.