OpenClaw、Neon、Resendで構築された自動化コールドメールシステム

✍️ OpenClawRadar📅 公開日: March 31, 2026🔗 Source
OpenClaw、Neon、Resendで構築された自動化コールドメールシステム
Ad

システムアーキテクチャと技術スタック

自動化されたコールドメールシステムは、OpenClawをAIエージェントとして使用し、すべてをオーケストレーションし、スクリプトを実行し、24時間365日返信を監視します。データベースにはサーバーレスPostgres DBのNeonを使用し、リード、送信、返信、会話を追跡します。メール処理は、トランザクションメールAPIであり返信受信機能を備えたResendを通じて行われます。追加ツールには、返信が受信トレイにも届くようにするメール転送用のImprovMX、プロスペクト獲得用のApolloが含まれます。

データベーススキーマ

データベースは4つのテーブルを使用します:

  • leads (id, email, name, company, status, project, notes)
  • emailssent (id, leadid, subject, body, resendmessageid, sent_at, project)
  • emailsreceived (id, leadid, fromemail, subject, body, receivedat, project)
  • conversations (id, leadid, project, lastreply_at, status)

すべてのテーブルにあるproject列により、1つのデータベースから複数のキャンペーンを実行できます。

リードフロープロセス

リードは以下の順序でシステムを流れます:

  • Apolloエクスポート → インポートスクリプト → leadsテーブル (ステータス: pending)
  • send.js → pendingリードを選択 → Resend経由で送信 → ステータス: sentに更新
  • followup.js → 7日後、返信なし → フォローアップ送信 → ステータス: followed_up
  • poll-replies.js → 5分ごとに実行 → Resend受信を確認 → emails_receivedに保存
  • AIエージェントが新規返信を検出 → iMessage通知送信 → ユーザーが返信

新規キャンペーンの設定

新規キャンペーンを設定するには:

  • projects.jsonにプロジェクトを追加(送信元アドレス、返信先、1日あたりの制限)
  • Resendでドメインを検証(SPF + DKIM)
  • 返信が受信トレイにもCCされるようにImprovMX転送をドメインに設定
  • Resend受信Webhookをサーバーエンドポイントに登録
  • リードCSVをDBにインポート(import-apollo-leads.js
  • パーソナライゼーショントークンを含むメールテンプレートを作成
  • 2-3件のテスト送信を自分自身に行う
  • プロスペクト獲得/アウトリーチcronを設定 — 例:毎日8時に新規リード50件を検索してメール送信
Ad

送信スクリプトのロジック

送信スクリプトは以下のパターンに従います:

// データベースに接続
// ステータス = 'pending' AND プロジェクト = 'my_campaign'のリードを取得
// 各リードに対して(DAILY_LIMITまで):
// - リードフィールドを使用して件名+本文をパーソナライズ
// - Resend API経由で送信
// - emails_sentに挿入
// - リードステータスを'sent'に更新
// 完了時にOpenclawがメッセージを送信する任意のチャネル(私はiMessageを好みます)経由で自分自身にサマリーを送信

返信の自動取得

Resendには受信リレー機能があり — yourdomain.zoraug.resend.appに送信されたメールはすべてWebhookをサーバーに送信します。Next.jsエンドポイントは以下のように設定されています:

POST /api/inbound → Resendペイロードを解析 → 送信者メールをDBのリードと照合 → emails_receivedに挿入 → iMessageですぐに通知

これは24時間365日実行され、誰かが返信したときに即座にiMessage通知を提供します。

モニタリング

モニタリングには以下のコマンドを使用します:

node email-status.js # 全プロジェクト:送信件数、返信件数、保留中
node email-status.js projectname # 単一プロジェクト

出力例:

project1: 2,353 送信済み | 380 返信 | 1,800 保留中
project2: 1,971 送信済み | 120 返信 | 400 保留中

実践的なヒント

  • 名前に加えてさらにパーソナライズ — Apolloの組織名や役職フィールドから情報を取得し、都市、業種、特定の課題を参照します。これにより返信率が約1%から約4%に向上しました。
  • プレーンテキストメール — HTMLなし、ロゴなし、実際の人間が書いたように見える
  • 短い件名 — 4-6語、句読点なし、小文字
  • 単一のCTA — 1つのリンク、1つの依頼。「サイトをチェックして電話を予約してフォローしてください」ではない
  • 1日あたりの制限50-100件 — 新しいドメインで1日1,000件を一斉送信しない、すぐにフラグが立つ
  • 実際の受信トレイへの返信先 — noreply@や一般的な受信トレイではない。実際に確認するアドレスを使用

📖 Read the full source: r/openclaw

Ad

👀 See Also

AIコーディングエージェントがデプロイで停滞:Coworkユーザーがサンドボックス、権限、コンテキスト消失問題に直面
Use Cases

AIコーディングエージェントがデプロイで停滞:Coworkユーザーがサンドボックス、権限、コンテキスト消失問題に直面

Next.jsアプリをCoworkで開発している開発者が、AIエージェントがコードを正常に生成したものの、サンドボックスの制限、GitHubへのプッシュ問題、セッションコンテキストの喪失によりデプロイに失敗したと報告。

OpenClawRadar
OpenClaw YouTubeチャンネル管理テスト(コメントエージェント連携)
Use Cases

OpenClaw YouTubeチャンネル管理テスト(コメントエージェント連携)

開発者がOpenClawのYouTubeチャンネル管理能力をテストし、毎日の動画生成と自動コメント機能を検証しました。システムはトピック選択、スクリプト作成、音声合成、サムネイル作成、エフェクト追加、アップロード、スケジューリングを処理しましたが、コメントボットが自動返信エージェントと対話した際に無限会話ループが発生しました。

OpenClawRadar
Redditユーザーが、Claude Codeの幻覚を減らすための仕様駆動アプローチを共有
Use Cases

Redditユーザーが、Claude Codeの幻覚を減らすための仕様駆動アプローチを共有

r/ClaudeAIの開発者が、構造化された仕様書作成手法を用いてClaude Codeの幻覚を大幅に削減した方法を説明しています。このアプローチでは、REQUIREMENTS.md、IMPLEMENTATION_PLAN.md、CLAUDE.mdファイルを作成し、複数のコンパクションを通じてコンテキストを維持します。

OpenClawRadar
OpenClawを使用したコンサートレーダーの構築:アーティストの公演情報を複数ソースからスクレイピング
Use Cases

OpenClawを使用したコンサートレーダーの構築:アーティストの公演情報を複数ソースからスクレイピング

開発者は、VPS上でOpenClawを実行してコンサートレーダーツールを構築し、Spotifyでフォローしているアーティストのコンサート発表を自動的に検出します。このシステムは特にNYCのコンサートをスキャンし、他の多くの場所に現れる前に公演を表示します。

OpenClawRadar