๐งน Jedi Cleaner for Slack
โ Slack's Limitation
Slack lacks a native bulk delete feature. Users must delete messages manually, which is time-consuming and inefficient for large volumes.
โ
Our Solution
Jedi Cleaner automates Slack message deletion using smart filters, safety confirmations, and enterprise-grade reliability.
๐ Key Features & Capabilities
โก Lightning-Fast Bulk Operations
- Delete hundreds of messages in minutes
- Intelligent rate limiting prevents API throttling
- Auto-retry on failure ensures reliable operation
๐ฏ Smart Message Filtering
- Keyword match โ Find messages with specific terms
- User mentions โ Target messages that mention specific users
- Exact phrases โ Use quotes for precision
- Bot/User content โ Handle mixed sources seamlessly
๐ก๏ธ Enterprise-Grade Safety
- Confirmation workflow โ No accidental deletions
- Timeout โ Requests expire after 5 minutes
- Preview-first โ Review messages before deletion
- Granular control โ Choose exactly what to delete
๐ Intelligent Search & Preview
- Flexible filters (words, phrases, patterns)
- Preview + count before deletion
- Multi-channel support with context isolation
๐ Complete Workflow Management
- Auto-cleanup of bot messages after execution
- Real-time progress tracking
- Debug logs and audit trail
- Static data persistence and cleanup
๐งช How It Works
Phase 1: Search Request
User: /cleanup "error messages"
Bot Response:
๐ Found 15 messages containing "error messages"
๐ Breakdown:
โข Will be permanently deleted
โข Cannot be undone
โข Respond within 5 minutes
โ
Type: @cleaner_jedi yes
โ Type: @cleaner_jedi cancel
Phase 2: User Confirmation
User: @cleaner_jedi yes
Bot: ๐๏ธ Deleting 15 messages containing "error messages"
Phase 3: Completion
โ
Cleanup Complete
โข 15 messages deleted
โข Channel cleaned
โข Auto-deletes this message in 5 seconds
๐ ๏ธ Technical Architecture
Core Components
- Unified Webhook Handler
Handles slash commands & mentions, deduplicates events
- Search Engine
Integrates Slack API, parses & filters search terms
- Safety & Confirmation System
Temporary storage, expiration logic, user auth
- Bulk Operations Engine
Message deletion, progress tracking, error handling
- Cleanup & Memory Management
Deletes bot messages, static data cleanup
๐ฑ User Commands
| Command | Description | Example |
|---|
/cleanup [term] | Search messages containing [term] | /cleanup "webhook error" |
@cleaner_jedi yes | Confirm deletion | After preview |
@cleaner_jedi cancel | Cancel pending deletion | Cancels active request |
๐งฉ Edge Cases
| Scenario | Bot Response |
|---|
| No messages found | "No messages found containing '[term]'" |
| Expired confirmation | "Request expired. Please run /cleanup again" |
| No pending request | "No pending cleanup found. Run /cleanup first" |
| Invalid search term | "Please provide a valid search term" |
โ๏ธ Setup Requirements
Slack App Configuration
OAuth Scopes:
โ
chat:write
โ
chat:write.public
โ
channels:history
โ
groups:history
โ
app_mentions:read
โ
commands
Event Subscriptions:
โ
app_mention
โ
message.channels
Slash Command:
Command: /cleanup
URL: https://your-n8n.app.cloud/webhook/cleanerjedi
Hint: [search term]
n8n Workflow Setup
Required Nodes:
- Webhook Trigger โ Captures Slack events
- Respond to Webhook โ Handles routing
- Switch Node โ Event type routing
- Slack API Nodes โ Search, delete, notify
- JavaScript Nodes โ Logic & validation
โก Advanced Features
๐ง Intelligent Deduplication
eventId = `cmd_${body.command}_${body.user_id}_${body.trigger_id}`;
if (staticData.recentEvents.includes(eventId)) {
return []; // Skip duplicate
}
๐ Flexible Search Terms
- Single words:
test
- Phrases:
"error message"
- Special characters:
webhook-failed
- Case-insensitive by default
โป๏ธ Auto-Cleanup
setTimeout(() => {
deleteMessage(completionMessage.ts);
deleteMessage(progressMessage.ts);
}, 5000);
๐ง Storage Management
- Temp storage for requests
- Auto-expiry cleanup
- Memory-safe event trimming
๐ Error Handling & Logging
Error Scenarios
โ Invalid term
โฐ Expired request
๐ซ Access denied
โ ๏ธ Rate limit hit
Debugging & Monitoring
- Event IDs, timestamps
- Key-value storage info
- API response codes
โ
Usage Examples
Example 1: Delete Error Messages
/cleanup "error"
โ Bot: Found 23 messages
โ @cleaner_jedi yes
โ โ
Deleted 23 messages
Example 2: Cancel Midway
/cleanup "from:@john"
โ Bot: Found 8 messages
โ @cleaner_jedi cancel
โ โ Operation cancelled
Example 3: Search by Date
/cleanup "2024-01-15"
โ Bot: Found 12 messages
โ @cleaner_jedi yes
โ โ
12 messages deleted
๐ Security & Safety
- โ
User confirmation required
- โ
5-minute time limits
- โ
Permission-aware deletions
- โ
Audit trail logging
๐ Performance Optimizations
- Minimal webhook/API usage
- Batch deletion
- Cached recent events
Memory Handling:
- Temp data cleanup
- Key expiration
- Cache trimming
๐ Monitoring & Analytics
Metrics Tracked
- Messages per operation
- User response times
- Failure & error rates
- Storage performance
Logging
console.log('โ
SUCCESS:', operationDetails);
console.warn('โ ๏ธ WARNING:', warningDetails);
console.error('โ ERROR:', errorDetails);
console.info('โน๏ธ INFO:', informationDetails);
๐ Summary
For Users
- โ
Simple commands
- โ
Preview + safety
- โ
Fast processing
- โ
Clear status feedback
For Admins
- โ
Lower API load
- โ
Full logging
- โ
Resilient to errors
- โ
Lightweight memory footprint
For Developers
- โ
Modular, clean code
- โ
Well-documented
- โ
Scalable & robust
- โ
Easy to extend
PDF how to do Document Included