Back to Templates

Website Downtime Alert via LINE + Supabase Log

Last update

Last update 24 days ago

Categories

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.