mcpField
S
sendgrid-automation

sendgrid-automation

github.com/davepoonマーケティング・グロース3.7k118 回インストール1 日前に更新
リポジトリ

sendgrid-automation について

sendgrid-automationは、ComposioのSendGridツールキットでメール配信業務を自動化するスキルです。連絡先、送信者、キャンペーンを管理するチーム向けで、メール分析、アクティビティ記録、抑制グループの確認にも対応します。

主な機能

  1. 01マーケティングキャンペーンの作成と送信
  2. 02連絡先とメーリングリストの管理
  3. 03送信者IDの作成と検証
  4. 04配信統計とメールアクティビティの確認
  5. 05抑制グループとアドレス状態の確認

活用シーン

  1. 01リストやセグメントへのキャンペーンメール送信
  2. 02連絡先の一括インポートとリスト管理
  3. 03メール送信者IDの設定
  4. 04配信・バウンス・開封・クリックデータの分析

MCP 対応

Rube MCPを介してComposioのSendGridツールキットを呼び出します。利用にはRube MCPとSendGridの接続が必要で、操作前に最新のツールスキーマを取得します。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/davepoon/buildwithclaude --skill sendgrid-automation

インストール後、Claude Code で/sendgrid-automationを入力して読み込まれたか確認します。

詳細

Rube MCP による SendGrid の自動化

Composio の SendGrid ツールキットを通じて、マーケティングキャンペーン(Single Sends)、連絡先とリストの管理、送信者 ID の設定、メール分析など、SendGrid のメール配信ワークフローを自動化します。

ツールキットのドキュメント:composio.dev/toolkits/sendgrid

前提条件

  • Rube MCP が接続されていること(RUBE_SEARCH_TOOLS が利用可能)
  • RUBE_MANAGE_CONNECTIONS を通じて有効な SendGrid 接続があり、ツールキットが sendgrid であること
  • 現在のツールスキーマを取得するため、必ず最初に RUBE_SEARCH_TOOLS を呼び出してください

セットアップ

Rube MCP を入手する:クライアント設定で https://rube.app/mcp を MCP サーバーとして追加します。API キーは不要です。エンドポイントを追加するだけで動作します。

  1. RUBE_SEARCH_TOOLS が応答することを確認し、Rube MCP が利用可能であることを確認します
  2. ツールキット sendgrid を指定して RUBE_MANAGE_CONNECTIONS を呼び出します
  3. 接続が ACTIVE でない場合は、返された認証リンクに従って SendGrid API キー認証を完了します
  4. ワークフローを実行する前に、接続ステータスが ACTIVE と表示されていることを確認します

コアワークフロー

1. マーケティングキャンペーン(Single Sends)の作成と送信

使用する場面:連絡先リストまたはセグメントにマーケティングメールキャンペーンを作成して送信する場合です。

ツールの順序:

  1. SENDGRID_RETRIEVE_ALL_LISTS - 配信先として利用可能なマーケティングリストを一覧表示します[前提条件]
  2. SENDGRID_CREATE_A_LIST - 必要に応じて新しいリストを作成します[任意]
  3. SENDGRID_ADD_OR_UPDATE_A_CONTACT - 連絡先をリストに追加します[任意]
  4. SENDGRID_GET_ALL_SENDER_IDENTITIES - 確認済みの送信者 ID を取得します[前提条件]
  5. SENDGRID_CREATE_SINGLE_SEND - コンテンツ、送信者、受信者を指定してキャンペーンを作成します[必須]

SENDGRID_CREATE_SINGLE_SEND の主なパラメーター:

  • name:キャンペーン名(必須)
  • email__config__subject:メールの件名
  • email__config__html__content:HTML 本文の内容
  • email__config__plain__content:プレーンテキスト版
  • email__config__sender__id:確認済み送信者 ID
  • email__config__design__id:事前に作成したデザインを使う場合は、html_content の代わりに指定します
  • send__to__list__ids:送信先のリスト UUID の配列
  • send__to__segment__ids:セグメント UUID の配列
  • send__to__all:すべての連絡先に送信する場合は true
  • email__config__suppression__group__id または email__config__custom__unsubscribe__url:コンプライアンスのため、いずれか一方が必須です

注意点:

  • CREATE で send_at を設定しても、送信はスケジュールされません。UI の日付が事前入力されるだけです。別途 Schedule エンドポイントを使用してください
  • send_at: "now" は Schedule エンドポイントでのみ有効であり、CREATE では使用できません
  • 配信停止に関するコンプライアンスのため、suppression_group_id または custom_unsubscribe_url のいずれかを指定する必要があります
  • 送信者は使用前に確認済みである必要があります。SENDGRID_GET_ALL_SENDER_IDENTITIES で確認してください
  • ネストされたパラメーターには、二重アンダースコア表記を使用します(例:email__config__subject)
2. 連絡先とリストの管理

使用する場面:連絡先リストの作成、連絡先の追加・更新、連絡先の検索、リストからの連絡先の削除をユーザーが希望する場合。

ツールの手順:

  1. SENDGRID_RETRIEVE_ALL_LISTS - マーケティングリストをすべて一覧表示します[必須]
  2. SENDGRID_CREATE_A_LIST - 新しい連絡先リストを作成します[任意]
  3. SENDGRID_GET_A_LIST_BY_ID - リストの詳細とサンプルの連絡先を取得します[任意]
  4. SENDGRID_ADD_OR_UPDATE_A_CONTACT - リストとの関連付けとともに連絡先を追加または更新します[必須]
  5. SENDGRID_GET_CONTACTS_BY_EMAILS - メールアドレスで連絡先を検索します[任意]
  6. SENDGRID_GET_CONTACTS_BY_IDENTIFIERS - メールアドレス、電話番号、外部 ID で連絡先を検索します[任意]
  7. SENDGRID_GET_LIST_CONTACT_COUNT - 操作後に連絡先数を確認します[任意]
  8. SENDGRID_REMOVE_CONTACTS_FROM_A_LIST - 連絡先を削除せずにリストから除外します[任意]
  9. SENDGRID_REMOVE_LIST_AND_OPTIONAL_CONTACTS - リスト全体を削除します[任意]
  10. SENDGRID_IMPORT_CONTACTS - CSV から一括インポートします[任意]

SENDGRID_ADD_OR_UPDATE_A_CONTACT の主なパラメーター:

  • contacts:連絡先オブジェクトの配列(最大 30,000 件または 6MB)。各オブジェクトには、識別子として email、phone_number_id、external_id、anonymous_id のいずれかが少なくとも 1 つ必要です(必須)
  • list_ids:連絡先を関連付けるリスト UUID 文字列の配列

注意点:

  • SENDGRID_ADD_OR_UPDATE_A_CONTACT は非同期で動作し、job_id とともに 202 を返します。連絡先が表示されるまで 10~30 秒かかることがあります
  • リスト ID は UUID(例:「ca7a3796-e8a8-4029-9ccb-df8937940562」)であり、整数ではありません
  • リスト名は一意である必要があります。重複した名前は 400 エラーの原因になります
  • SENDGRID_ADD_A_SINGLE_RECIPIENT_TO_A_LIST はレガシー API を使用します。list_ids を指定して SENDGRID_ADD_OR_UPDATE_A_CONTACT を使用してください
  • SENDGRID_REMOVE_LIST_AND_OPTIONAL_CONTACTS の操作は取り消せません。実行前にユーザーの明示的な確認を求めてください
  • SendGrid によってメールアドレスは自動的に小文字に変換されます
3. 送信者 ID の管理

使用する場面:メール送信用の送信者 ID(From アドレス)の設定または確認をユーザーが希望する場合。

ツールの手順:

  1. SENDGRID_GET_ALL_SENDER_IDENTITIES - 既存の送信者 ID をすべて一覧表示します[必須]
  2. SENDGRID_CREATE_A_SENDER_IDENTITY - 新しい送信者 ID を作成します[任意]
  3. SENDGRID_VIEW_A_SENDER_IDENTITY - 特定の送信者の詳細を表示します[任意]
  4. SENDGRID_UPDATE_A_SENDER_IDENTITY - 送信者の詳細を更新します[任意]
  5. SENDGRID_CREATE_VERIFIED_SENDER_REQUEST - 新しい送信者を作成して認証します[任意]
  6. SENDGRID_AUTHENTICATE_A_DOMAIN - 自動認証のためにドメイン認証を設定します[任意]

SENDGRID_CREATE_A_SENDER_IDENTITY の主なパラメーター:

  • from__email:From メールアドレス(必須)
  • from__name:表示名(必須)
  • reply__to__email:返信先アドレス(必須)
  • nickname:内部識別子(必須)
  • address、city、country:CAN-SPAM 準拠のための住所(必須)

注意点:

  • 新しい送信者は使用前に認証が必要です。ドメインが認証されていない場合は、認証メールが送信されます
  • アカウントごとに一意の送信者 ID を最大 100 件まで設定できます
  • From アドレスには、厳格な DMARC ポリシーが適用されているドメイン(gmail.com、yahoo.com)の使用を避けてください
  • SENDGRID_CREATE_VERIFIED_SENDER_REQUEST は認証メールを送信します。認証が完了するまで送信者は使用できません
4. メールの統計情報とアクティビティを確認する

使用するタイミング:ユーザーがメールの配信統計、バウンス率、開封数/クリック数の指標、またはメッセージのアクティビティを確認したい場合です。

ツールの実行順序:

  1. SENDGRID_RETRIEVE_GLOBAL_EMAIL_STATISTICS - アカウント全体の配信指標を取得します[必須]
  2. SENDGRID_GET_ALL_CATEGORIES - フィルターに使用できるカテゴリを確認します[任意]
  3. SENDGRID_RETRIEVE_EMAIL_STATISTICS_FOR_CATEGORIES - カテゴリ別の統計情報を取得します[任意]
  4. SENDGRID_FILTER_ALL_MESSAGES - 受信者、ステータス、日付でメールのアクティビティフィードを検索します[任意]
  5. SENDGRID_FILTER_MESSAGES_BY_MESSAGE_ID - 特定のメッセージの詳細なイベントを取得します[任意]
  6. SENDGRID_REQUEST_CSV - 大規模なデータセットのアクティビティデータを CSV としてエクスポートします[任意]
  7. SENDGRID_DOWNLOAD_CSV - エクスポートした CSV ファイルをダウンロードします[任意]

SENDGRID_RETRIEVE_GLOBAL_EMAIL_STATISTICS の主なパラメーター:

  • start_date:開始日 YYYY-MM-DD(必須)
  • end_date:終了日 YYYY-MM-DD
  • aggregated_by:「day」、「week」、または「month」
  • limit / offset:ページネーション(デフォルトは 500)

SENDGRID_FILTER_ALL_MESSAGES の主なパラメーター:

  • query:SQL に似たクエリー文字列。例:status="delivered"、to_email="[email protected]"、BETWEEN TIMESTAMP を使った日付範囲
  • limit:1~1000(デフォルトは 10)

注意点:

  • SENDGRID_FILTER_ALL_MESSAGES の使用には有料アドオン「30 Days Additional Email Activity History」が必要です。このアドオンがない場合は 403 が返されます
  • 全体の統計情報はフラットな構造ではなく、details[].stats[0].metrics にネストされています
  • カテゴリ別の統計情報を利用できるのは、過去 13 か月分のみです
  • SENDGRID_RETRIEVE_EMAIL_STATISTICS_FOR_CATEGORIES では、1 回のリクエストにつき最大 10 カテゴリです
  • CSV のエクスポートは 12 時間に 1 回までです。リンクは 3 日後に期限切れになります
5. 抑制を管理する

使用するタイミング:ユーザーがメールコンプライアンスのために、配信停止グループを確認または管理したい場合です。

ツールの実行順序:

  1. SENDGRID_GET_SUPPRESSION_GROUPS - すべての配信停止グループを一覧表示します[必須]
  2. SENDGRID_RETRIEVE_ALL_SUPPRESSION_GROUPS_FOR_AN_EMAIL_ADDRESS - 特定のメールアドレスの配信停止状況を確認します[任意]

注意点:

  • 配信停止されたアドレスは、マーケティングリストに含まれていても配信不能のままです
  • 配信停止の影響により、キャンペーンの送信数がリストの件数を下回る場合があります

よくあるパターン

ID の解決

操作の前に、必ず名前を ID に解決してください。

  • リスト名 -> list_id:SENDGRID_RETRIEVE_ALL_LISTS で取得し、名前で照合します
  • 送信者名 -> sender_id:SENDGRID_GET_ALL_SENDER_IDENTITIES で取得して照合します
  • 連絡先メールアドレス -> contact_id:メールアドレスの配列を指定して SENDGRID_GET_CONTACTS_BY_EMAILS を使います
  • テンプレート名 -> template_id:SendGrid の UI またはテンプレートエンドポイントを使います
ページネーション
  • SENDGRID_RETRIEVE_ALL_LISTS:page_token と page_size を使ったトークンベース(最大 1000)
  • SENDGRID_RETRIEVE_GLOBAL_EMAIL_STATISTICS:limit(最大 500)と offset を使ったオフセットベース
  • 既存のリストを見落とさないよう、リストの取得では必ずページネーションを行ってください
非同期操作

連絡先の操作(ADD_OR_UPDATE_A_CONTACT、IMPORT_CONTACTS)は非同期です。

  • job_id を含む 202 が返されます
  • GET_CONTACTS_BY_EMAILS で確認する前に 10~30 秒待ちます
  • GET_LIST_CONTACT_COUNT を使ってリストが増えたことを確認します

既知の注意点

ID の形式
  • マーケティングリストの ID は UUID です(例:「ca7a3796-e8a8-4029-9ccb-df8937940562」)
  • 従来のリスト ID は整数です。Marketing API のエンドポイントと混在させないでください
  • 送信者 ID は整数です
  • テンプレート ID:ダイナミックテンプレートは「d-」で始まり、従来のテンプレートは UUID です
  • 連絡先 ID は UUID です
レート制限
  • SendGrid は HTTP 429 を返す場合があります。Retry-After ヘッダーに従ってください
  • CSV のエクスポートは 12 時間に 1 回までです
  • 連絡先の一括アップサートの上限は、1 リクエストあたり 30,000 件または 6MB です
パラメータに関する注意点
  • ネストされたパラメータには二重アンダースコアを使用します:email__config__subject、from__email
  • send_at は CREATE_SINGLE_SEND では UI のデフォルト値を設定するだけで、スケジュールは設定しません
  • SENDGRID_ADD_A_SINGLE_RECIPIENT_TO_A_LIST はレガシー API を使用します。recipient_id は小文字のメールアドレスを Base64 エンコードしたものです
  • SENDGRID_RETRIEVE_ALL_LISTS と SENDGRID_GET_ALL_LISTS の両方があります。Marketing API では RETRIEVE_ALL_LISTS を優先してください
  • コンタクトの追加は非同期です(202)。必ず時間をおいてから確認してください
レガシー API と Marketing API
  • 一部のツールはレガシー Contact Database API(/v3/contactdb/)を使用しており、新しいアカウントでは 403 を返す場合があります
  • Marketing API のツールを優先してください:SENDGRID_ADD_OR_UPDATE_A_CONTACT、SENDGRID_RETRIEVE_ALL_LISTS、SENDGRID_CREATE_SINGLE_SEND

クイックリファレンス

タスクツールのスラッグ主なパラメータ
マーケティングリストの一覧表示SENDGRID_RETRIEVE_ALL_LISTSpage_size、page_token
リストの作成SENDGRID_CREATE_A_LISTname
ID でリストを取得SENDGRID_GET_A_LIST_BY_IDid
リストのコンタクト数を取得SENDGRID_GET_LIST_CONTACT_COUNTid
コンタクトの追加/更新SENDGRID_ADD_OR_UPDATE_A_CONTACTcontacts、list_ids
メールアドレスでコンタクトを検索SENDGRID_GET_CONTACTS_BY_EMAILSemails
識別子で検索SENDGRID_GET_CONTACTS_BY_IDENTIFIERSidentifier_type、identifiers
リストから削除SENDGRID_REMOVE_CONTACTS_FROM_A_LISTid、contact_ids
リストの削除SENDGRID_REMOVE_LIST_AND_OPTIONAL_CONTACTSid、delete_contacts
コンタクトの CSV をインポートSENDGRID_IMPORT_CONTACTSフィールドのマッピング
Single Send の作成SENDGRID_CREATE_SINGLE_SENDname、email__config__*、send__to__list__ids
送信者 ID の一覧表示SENDGRID_GET_ALL_SENDER_IDENTITIES(なし)
送信者の作成SENDGRID_CREATE_A_SENDER_IDENTITYfrom__email、from__name、address
送信者の確認SENDGRID_CREATE_VERIFIED_SENDER_REQUESTfrom_email、nickname、address
ドメインの認証SENDGRID_AUTHENTICATE_A_DOMAINdomain
メールの全体統計SENDGRID_RETRIEVE_GLOBAL_EMAIL_STATISTICSstart_date、aggregated_by
カテゴリ別統計SENDGRID_RETRIEVE_EMAIL_STATISTICS_FOR_CATEGORIESstart_date、categories
メールアクティビティのフィルタリングSENDGRID_FILTER_ALL_MESSAGESquery、limit
メッセージの詳細SENDGRID_FILTER_MESSAGES_BY_MESSAGE_IDmsg_id
CSV のエクスポートSENDGRID_REQUEST_CSVquery
CSV のダウンロードSENDGRID_DOWNLOAD_CSVdownload_uuid
カテゴリの一覧表示SENDGRID_GET_ALL_CATEGORIES(なし)
配信停止グループSENDGRID_GET_SUPPRESSION_GROUPS(なし)
テンプレートの取得SENDGRID_RETRIEVE_A_SINGLE_TRANSACTIONAL_TEMPLATEtemplate_id
テンプレートの複製SENDGRID_DUPLICATE_A_TRANSACTIONAL_TEMPLATEtemplate_id、name

Composio によって提供

コメント