n8n-nodes-banking-process-converter
v1.3.0
Published
N8N Custom Nodes for converting JSON and Mermaid diagrams to BPMN and ARIS EPC XML formats for banking processes
Maintainers
Readme
🔧 Custom N8N Nodes - Banking System
This folder contains custom nodes developed for the banking process automation system.
📁 Structure
custom-nodes/
├── src/ # TypeScript source code
│ ├── index.ts # Main entry point
│ └── nodes/ # Individual nodes
│ └── JsonConverter/ # JSON converter node
├── dist/ # Compiled JavaScript code
├── package.json # Package configuration
├── tsconfig.json # TypeScript configuration
└── README.md # This file🎯 Available Nodes
JsonConverter
- Description: Converts structured JSON to BPMN 2.0 and ARIS (AML) formats
- Features:
- ✅ BPMN 2.0 conversion (valid XML)
- ✅ ARIS AML conversion (compatible XML)
- ✅ Input JSON validation
- ✅ Automatic XML character escaping
- ✅ Flexible output (XML string or binary file)
Input Parameters
jsonInput: Structured process JSONoutputFormat: Output format (BPMN or ARIS)outputType: Output type (XML string or binary file)
Usage Example
{
"jsonInput": {
"process": {
"name": "Account Opening",
"steps": [...],
"actors": [...]
}
},
"outputFormat": "BPMN",
"outputType": "xml_string"
}🛠️ Development
Prerequisites
- Node.js 18+
- TypeScript 5.0+
- npm
Install Dependencies
cd custom-nodes
npm installCompilation
npm run buildDevelopment in Watch Mode
npm run dev📦 Distribution
Create NPM Package
npm run build
npm packPublish to NPM
# For public development
npm publish
## 🔧 Installation in N8N
### **Method 1: Global NPM**
```bash
npm install -g n8n-nodes-banking-process-converterMethod 2: Local NPM
cd /path/to/n8n
npm install n8n-nodes-banking-process-converterMethod 3: Local File
# Copy compiled files
cp -r dist/* /path/to/n8n/custom/nodes/📋 Expected JSON Format
The node expects a JSON with the following structure:
{
"process": {
"name": "string",
"description": "string",
"business_domain": "string",
"actors": [
{
"id": "string",
"name": "string",
"type": "human|system|external",
"role": "string",
"department": "string"
}
],
"steps": [
{
"id": "string",
"name": "string",
"description": "string",
"actor": "string",
"system": "string",
"inputs": ["string"],
"outputs": ["string"],
"rules": ["string"],
"conditions": ["string"],
"estimated_time": "string",
"order": number
}
],
"flows": [
{
"from": "string",
"to": "string",
"condition": "string",
"type": "normal|exception|parallel"
}
],
"documents": [
{
"name": "string",
"type": "input|output|internal",
"required": boolean,
"step": "string"
}
],
"rules": [
{
"id": "string",
"description": "string",
"type": "validation|approval|business",
"applies_to": ["string"]
}
],
"metrics": [
{
"name": "string",
"value": "string",
"unit": "string",
"step": "string"
}
],
"exceptions": [
{
"id": "string",
"description": "string",
"trigger": "string",
"resolution": "string",
"step": "string"
}
]
},
"metadata": {
"source": "string",
"interview_date": "string",
"participants": ["string"],
"duration": "string",
"confidence": "High|Medium|Low"
}
}🔍 Validations
The node performs the following validations:
- JSON Structure: Verifies the JSON has the expected structure
- Required Fields: Validates that required fields exist
- Data Types: Verifies that types match expectations
- References: Validates that references between objects are consistent
🚨 Error Handling
- Invalid JSON: Returns error with problem details
- Incorrect Structure: Shows which fields are missing or incorrect
- Broken References: Identifies references to non-existent objects
- Special Characters: Automatically handles XML escaping
📈 Performance
- Maximum Size: Supports JSON up to 10MB
- Processing Time: < 5 seconds for typical processes
- Memory: Optimized usage to avoid memory leaks
🔄 Versions
- v1.0.0: Initial version with basic conversion
- v1.0.1: Input validation improvements
- v1.0.2: Performance optimization
- v1.0.3: Improved special character support
📝 Upcoming Versions
- [ ] v1.1.0: Multiple process support
- [ ] v1.2.0: Advanced BPMN validation
- [ ] v1.3.0: Export to other formats
- [ ] v2.0.0: Graphical interface for configuration
Last updated: $(date)
