Back to Templates

Website Downtime Alert via LINE + Supabase Log

Last update

Last update a month ago

Share


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

  1. Schedule Trigger – Runs on a fixed interval (every few minutes).
  2. UptimeRobot Node – Fetches website monitor data.
  3. Code Node (Filter) – Filters only websites with status 8 (may be down) or 9 (down).
  4. IF Node – If any site is down, proceed.
  5. LangChain LLM Node – Formats alert with a humorous message using GPT-4o.
  6. Line Notify (HTTP Request) – Sends the alert to your LINE group.
  7. Loop Over Items – Loops through all monitors.
  8. Filter Down (Status = 9) – Selects only “fully down” sites.
  9. Supabase Node – Logs these into synlora_uptime_down table.
  10. 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:

  1. Go to UptimeRobot → Get API key and ensure monitors are set up.
  2. Create a Supabase table with fields: website, status, uptime_id.
  3. Create a LINE Messaging API bot, join it to your group, and get:
    1. Access Token
    2. Group ID (userId or groupId)
  4. Add your OpenAI API Key for GPT-4o Mini (or switch to your preferred LLM).
  5. Import the workflow JSON into n8n.
  6. Set credentials in all necessary nodes.
  7. Activate the workflow.