This workflow automatically checks the status of your websites using UptimeRobot API. If any site is down or unstable, it will:
- Generate a natural-language alert message using GPT-4o
- Push the message to a LINE group (with funny IT-style encouragement)
- Log all DOWN status entries into your Supabase database
- Wait 30 minutes before repeating
🔧 How It Works
- Schedule Trigger – Runs on a fixed interval (every few minutes).
- UptimeRobot Node – Fetches website monitor data.
- Code Node (Filter) – Filters only websites with status 8 (may be down) or 9 (down).
- IF Node – If any site is down, proceed.
- LangChain LLM Node – Formats alert with a humorous message using GPT-4o.
- Line Notify (HTTP Request) – Sends the alert to your LINE group.
- Loop Over Items – Loops through all monitors.
- Filter Down (Status = 9) – Selects only “fully down” sites.
- Supabase Node – Logs these into synlora_uptime_down table.
- Wait Node – Delays next alert by 30 minutes to avoid spamming.
⚙️ Setup Steps
Required:
- 🔗 UptimeRobot API Key
- 📲 LINE Channel Access Token and Group ID
- 🧠 OpenAI Key (GPT-4o Mini)
- 🗃️ Supabase Project & Table
Step-by-step:
- Go to UptimeRobot → Get API key and ensure monitors are set up.
- Create a Supabase table with fields: website, status, uptime_id.
- Create a LINE Messaging API bot, join it to your group, and get:
- Access Token
- Group ID (userId or groupId)
- Add your OpenAI API Key for GPT-4o Mini (or switch to your preferred LLM).
- Import the workflow JSON into n8n.
- Set credentials in all necessary nodes.
- Activate the workflow.