Feishu Project N8N Integration Plugin
A comprehensive N8N custom node for integrating with Feishu Project API, supporting work item management, space management, user management, attachment handling, and other full-featured functionalities.
Features
16 functional modules covering major Feishu Project API capabilities
73 operations supporting complete workflow automation
Secure authentication with automatic plugin token and user authentication management
File upload supporting multiple formats for attachment management
Unified parameters with consistent JSON format parameter design
Error handling with comprehensive exception handling and user notifications
TypeScript support with complete type definitions and intelligent suggestions
Installation
Method 1: NPM Installation (Recommended)
npm install @luka-cat-mimi/n8n-nodes-feishu-project
Method 2: Manual Installation
- Download the project locally
- Compile the project
npm install
npm run build
- Copy the compiled files to N8N’s
customdirectory
Configuration
1. Create Credentials
Create a new “Feishu Project API” credential in N8N and fill in the following information:
| Field | Description | Example |
|---|---|---|
| Feishu Project Host | Base host address of Feishu Project | project.feishu.cn |
| Plugin ID | Feishu Project plugin ID | MII_0000000000000000 |
| Plugin Secret | Feishu Project plugin secret | AB92E56666CT8D60704743BF69C92C16 |
| User ID | User’s unique ID for X-USER-KEY header | 7568516887894324252 |
2. Obtaining Credential Information
Plugin ID and Plugin Secret
- Log in to Feishu Project management backend
- Go to plugin management page
- View or create a plugin to get plugin ID and secret
User ID
- Open browser developer tools
- Log in to Feishu Project
- Check the
X-USER-KEYheader information in network requests
Functional Modules
Core Functions
| Module | Operations | Main Features |
|---|---|---|
| 1 | Get plugin_token | |
| 4 | User query, search, user group management | |
| 5 | Space list, details, business lines, team members | |
| 4 | File upload, download, attachment add/remove |
Work Item Functions
| Module | Operations | Main Features |
|---|---|---|
| 5 | Single space, cross-space, complex search, global search | |
| 16 | CRUD operations, batch updates, status management, review management | |
| 9 | Basic info, field configuration, relation configuration | |
| 4 | Relation rules, work item binding/unbinding |
Process Management
| Module | Operations | Main Features |
|---|---|---|
| 5 | Process details, node updates, status changes | |
| 5 | Process template management, configuration updates | |
| 1 | Process role management |
Collaboration Functions
| Module | Operations | Main Features |
|---|---|---|
| 6 | Subtask lifecycle management | |
| 8 | View configuration, work item display | |
| 4 | Comment CRUD operations | |
| 1 | Bot join chat | |
| 1 | Chart details |
Usage Examples
Basic Usage
- Add Feishu Project node to your workflow
- Select resource type (e.g., “User Management”)
- Select specific operation (e.g., “Search users in tenant”)
- Configure parameters:
- Path parameters: Direct input (e.g., project KEY)
- Request body parameters: JSON format with default values
User Query Example
{
"user_keys": ["7568516887894324252"],
"out_ids": [],
"emails": ["[email protected]"],
"tenant_key": "your_tenant_key"
}
Work Item Search Example
{
"work_item_name": "Requirement",
"user_keys": ["7568516887894324252"],
"work_item_type_keys": ["story"],
"page_num": 1,
"page_size": 10,
"expand": {
"need_workflow": true,
"need_user_detail": true
}
}
File Upload Example
- Use “Read Binary File” node to read file
- Connect to “Feishu Project” node
- Select “Attachment Management” > “File Upload”
- Set
binaryPropertyNameto “data” (default value) - Fill in project KEY and other path parameters
Development
Project Structure
n8n-nodes-feishu-project/
├── credentials/ # Credential definitions
│ └── FeishuProjectApi.credentials.ts
├── nodes/ # Node definitions
│ └── FeishuProject/
│ ├── FeishuProject.node.ts
│ └── resource/ # Resource modules
│ ├── user/ # User management
│ ├── space/ # Space management
│ ├── attachment/ # Attachment management
│ └── ... # Other modules
└── package.json
Build Commands
# Development mode
npm run dev
# Build
npm run build
# Code checking
npm run lint
# Format code
npm run format
Adding New Features
- Create new module folder under
nodes/FeishuProject/resource/ - Create resource definition file
ModuleResource.ts - Create operation files
OperateFile.tsin the module folder - Use unified parameter pattern: path parameters + JSON request body
Contributing
Issues and Pull Requests are welcome!
Contribution Guidelines
- Fork the project
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
License
This project is licensed under the MIT License. See the LICENSE file for details.
Support
Email: [email protected]
Issue Feedback: GitHub Issues
Feishu Project API Documentation: Official Documentation
Acknowledgments
Thanks to N8N for providing the powerful automation platform, and to the Feishu Project team for providing comprehensive API interfaces.
If this project helps you, please give it a
!