n8nとEchobellでパーソナル自動化アラートハブを構築する

n8nのワークフローとEchobellを連携して、あらゆるAPI・Webhook・スケジュールタスクを即時の電話着信やプッシュ通知に変換する方法を解説します。

n8nとEchobellでパーソナル自動化アラートハブを構築する

n8nはワークフロー自動化が得意ですが、組み込みの通知機能は弱いです。Echobellと組み合わせることでその弱点を補えます。n8nがロジックを処理し、Echobellが実際に届くプッシュアラートや電話着信を配信します。

最初のアラートワークフローのセットアップ

実用的な出発点として、サーバーのCPUが80%を超えたときに通知を受け取る設定を紹介します。

ステップ1:Echobellチャンネルの作成

  1. Echobellを開く → 新しいチャンネル
  2. 「Server Alerts」と名付ける
  3. チャンネル設定からWebhook URLをコピー

ステップ2:n8nワークフローの構築

{
  "nodes": [
    {
      "name": "Cron",
      "type": "n8n-nodes-base.cron",
      "parameters": {
        "rule": {
          "interval": [{"field": "minutes", "minutesInterval": 5}]
        }
      }
    },
    {
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "parameters": {
        "url": "https://api.your-monitoring.com/stats",
        "method": "GET"
      }
    },
    {
      "name": "IF",
      "type": "n8n-nodes-base.if",
      "parameters": {
        "conditions": {
          "number": [
            {
              "value1": "={{ $json.cpu_usage }}",
              "operation": "gt",
              "value2": 80
            }
          ]
        }
      }
    },
    {
      "name": "Echobell Alert",
      "type": "n8n-nodes-base.httpRequest",
      "parameters": {
        "url": "YOUR_ECHOBELL_WEBHOOK_URL",
        "method": "POST",
        "bodyParameters": {
          "parameters": [
            {
              "name": "server_name",
              "value": "production-01"
            },
            {
              "name": "cpu_usage",
              "value": "={{ $json.cpu_usage }}"
            },
            {
              "name": "alert_type",
              "value": "CPU Alert"
            }
          ]
        }
      }
    }
  ]
}

ステップ3:通知テンプレートの設定

Echobellチャンネルで:

Title: 🔥 Server {{server_name}} CPU Critical!
Body: CPU usage at {{cpu_usage}}%. Immediate attention needed.

重要なアラートには通知タイプを**着信(Calling)**に設定します。

ワークフロー例の追加

GitHub Actionsの失敗アラート

// n8n Webhook trigger configuration
{
  "path": "github-actions",
  "responseMode": "onReceived"
}

GitHub WebhookをConnect n8nに接続し、action: completedconclusion: failureでフィルタリングしてから、EchobellのWebhookにPOSTします。

暗号資産の価格閾値アラート

// In n8n's Function node
const price = $json.price;
const threshold = 50000;

if (price < threshold) {
  return {
    json: {
      symbol: "BTC",
      price: price,
      alert: "Price dropped below $50,000"
    }
  };
}
return null;

スマートホームの重要イベント

n8n経由でHome Assistantの重要イベント(水漏れセンサー、煙感知器、外出中のドア・窓センサー)をEchobellに転送します。詳細はHome Assistantインテグレーションガイドを参照してください。

RSSニュースレターダイジェスト

// Cron trigger → RSS Read → Filter new items → Echobell
{
  "cron": "0 8 * * *",
  "rss_url": "https://your-favorite-blog.com/feed",
  "condition": "contains({{title}}, 'AI')"
}

cronジョブの監視

const lastRun = new Date($json.last_execution);
const now = new Date();
const hoursSince = (now - lastRun) / (1000 * 60 * 60);

if (hoursSince > 24) {
  return {
    json: {
      job: "daily-backup",
      status: "OVERDUE",
      last_run: lastRun.toISOString()
    }
  };
}

ベストプラクティス

優先度別にチャンネルを分ける

  • Critical: 本番ダウン、セキュリティアラート → 電話着信
  • Warning: ディスク容量不足、高CPU使用率 → タイムセンシティブプッシュ
  • Info: 日次レポート、ダイジェスト → 通常プッシュ

条件でノイズを削減する

Echobellの条件機能を使って配信レイヤーでフィルタリング:

// Only call during off-hours
hour < 8 || hour > 18

テンプレートは短くアクション可能に

Good: 🔴 Disk Full on server-01
Bad:  The disk on server number one in the production environment has become completely full

週次テストを追加する

// Every Friday at 5 PM
if (new Date().getDay() === 5 && new Date().getHours() === 17) {
  return { json: { test: "Weekly system check" } };
}

まず1つのワークフローから始め、徐々に拡張していきましょう。WebhookドキュメントにはEchobell APIの全リファレンスが記載されています。