The Problem
Building Chrome extensions is one thing. Announcing each release across multiple platforms? Tedious.
So I automated the entire thing with n8n.
The Architecture
GitHub Release Created
↓
Webhook → n8n detects it
↓
Auto-post to:
├── Discord (Webhook)
├── Bluesky (HTTP Request)
├── Dev.to (HTTP Request)
└── Qiita (HTTP Request)
Setup: Running n8n
docker run -it --rm \
--name n8n \
-p 5678:5678 \
-v n8n_data:/home/node/.n8n \
n8nio/n8n
Exposing n8n with Cloudflare Tunnel
brew install cloudflare/cloudflare/cloudflared
cloudflared tunnel create n8n-tunnel
Config (~/.cloudflared/config.yml):
tunnel: [TUNNEL_ID]
credentials-file: /path/to/credentials.json
ingress:
- hostname: n8n.yourdomain.com
service: http://localhost:5678
- service: http_status:404
The n8n Workflow
Webhook (trigger) → IF (release event?) → Set (format content)
├── Discord (Webhook)
├── Bluesky (HTTP Request)
├── Dev.to (HTTP Request)
└── Qiita (HTTP Request)
Message Formatting
const releaseName = $json.release.name;
const releaseUrl = $json.release.html_url;
const repoName = $json.repository.name;
return {
discord: `🚀 **${repoName}** new version!\n${releaseName}\n${releaseUrl}`,
bluesky: `🚀 ${repoName} new version!\n${releaseName}\n${releaseUrl}`,
devto: { title: `${repoName} ${releaseName} Released`, body: `New version: ${releaseUrl}` }
};
Results
Time saved: ~15-20 min per release × multiple releases/week. Total cost: $0/month.
🔗 S-Hub
What's your release announcement workflow?
Top comments (0)