sendgrid-automation について
sendgrid-automationは、ComposioのSendGridツールキットでメール配信業務を自動化するスキルです。連絡先、送信者、キャンペーンを管理するチーム向けで、メール分析、アクティビティ記録、抑制グループの確認にも対応します。
主な機能
- 01マーケティングキャンペーンの作成と送信
- 02連絡先とメーリングリストの管理
- 03送信者IDの作成と検証
- 04配信統計とメールアクティビティの確認
- 05抑制グループとアドレス状態の確認
活用シーン
- 01リストやセグメントへのキャンペーンメール送信
- 02連絡先の一括インポートとリスト管理
- 03メール送信者IDの設定
- 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 キーは不要です。エンドポイントを追加するだけで動作します。
RUBE_SEARCH_TOOLSが応答することを確認し、Rube MCP が利用可能であることを確認します- ツールキット
sendgridを指定してRUBE_MANAGE_CONNECTIONSを呼び出します - 接続が ACTIVE でない場合は、返された認証リンクに従って SendGrid API キー認証を完了します
- ワークフローを実行する前に、接続ステータスが ACTIVE と表示されていることを確認します
コアワークフロー
1. マーケティングキャンペーン(Single Sends)の作成と送信
使用する場面:連絡先リストまたはセグメントにマーケティングメールキャンペーンを作成して送信する場合です。
ツールの順序:
SENDGRID_RETRIEVE_ALL_LISTS- 配信先として利用可能なマーケティングリストを一覧表示します[前提条件]SENDGRID_CREATE_A_LIST- 必要に応じて新しいリストを作成します[任意]SENDGRID_ADD_OR_UPDATE_A_CONTACT- 連絡先をリストに追加します[任意]SENDGRID_GET_ALL_SENDER_IDENTITIES- 確認済みの送信者 ID を取得します[前提条件]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:確認済み送信者 IDemail__config__design__id:事前に作成したデザインを使う場合は、html_content の代わりに指定しますsend__to__list__ids:送信先のリスト UUID の配列send__to__segment__ids:セグメント UUID の配列send__to__all:すべての連絡先に送信する場合は trueemail__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. 連絡先とリストの管理
使用する場面:連絡先リストの作成、連絡先の追加・更新、連絡先の検索、リストからの連絡先の削除をユーザーが希望する場合。
ツールの手順:
SENDGRID_RETRIEVE_ALL_LISTS- マーケティングリストをすべて一覧表示します[必須]SENDGRID_CREATE_A_LIST- 新しい連絡先リストを作成します[任意]SENDGRID_GET_A_LIST_BY_ID- リストの詳細とサンプルの連絡先を取得します[任意]SENDGRID_ADD_OR_UPDATE_A_CONTACT- リストとの関連付けとともに連絡先を追加または更新します[必須]SENDGRID_GET_CONTACTS_BY_EMAILS- メールアドレスで連絡先を検索します[任意]SENDGRID_GET_CONTACTS_BY_IDENTIFIERS- メールアドレス、電話番号、外部 ID で連絡先を検索します[任意]SENDGRID_GET_LIST_CONTACT_COUNT- 操作後に連絡先数を確認します[任意]SENDGRID_REMOVE_CONTACTS_FROM_A_LIST- 連絡先を削除せずにリストから除外します[任意]SENDGRID_REMOVE_LIST_AND_OPTIONAL_CONTACTS- リスト全体を削除します[任意]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 アドレス)の設定または確認をユーザーが希望する場合。
ツールの手順:
SENDGRID_GET_ALL_SENDER_IDENTITIES- 既存の送信者 ID をすべて一覧表示します[必須]SENDGRID_CREATE_A_SENDER_IDENTITY- 新しい送信者 ID を作成します[任意]SENDGRID_VIEW_A_SENDER_IDENTITY- 特定の送信者の詳細を表示します[任意]SENDGRID_UPDATE_A_SENDER_IDENTITY- 送信者の詳細を更新します[任意]SENDGRID_CREATE_VERIFIED_SENDER_REQUEST- 新しい送信者を作成して認証します[任意]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. メールの統計情報とアクティビティを確認する
使用するタイミング:ユーザーがメールの配信統計、バウンス率、開封数/クリック数の指標、またはメッセージのアクティビティを確認したい場合です。
ツールの実行順序:
SENDGRID_RETRIEVE_GLOBAL_EMAIL_STATISTICS- アカウント全体の配信指標を取得します[必須]SENDGRID_GET_ALL_CATEGORIES- フィルターに使用できるカテゴリを確認します[任意]SENDGRID_RETRIEVE_EMAIL_STATISTICS_FOR_CATEGORIES- カテゴリ別の統計情報を取得します[任意]SENDGRID_FILTER_ALL_MESSAGES- 受信者、ステータス、日付でメールのアクティビティフィードを検索します[任意]SENDGRID_FILTER_MESSAGES_BY_MESSAGE_ID- 特定のメッセージの詳細なイベントを取得します[任意]SENDGRID_REQUEST_CSV- 大規模なデータセットのアクティビティデータを CSV としてエクスポートします[任意]SENDGRID_DOWNLOAD_CSV- エクスポートした CSV ファイルをダウンロードします[任意]
SENDGRID_RETRIEVE_GLOBAL_EMAIL_STATISTICS の主なパラメーター:
start_date:開始日 YYYY-MM-DD(必須)end_date:終了日 YYYY-MM-DDaggregated_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. 抑制を管理する
使用するタイミング:ユーザーがメールコンプライアンスのために、配信停止グループを確認または管理したい場合です。
ツールの実行順序:
SENDGRID_GET_SUPPRESSION_GROUPS- すべての配信停止グループを一覧表示します[必須]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_LISTS | page_size、page_token |
| リストの作成 | SENDGRID_CREATE_A_LIST | name |
| ID でリストを取得 | SENDGRID_GET_A_LIST_BY_ID | id |
| リストのコンタクト数を取得 | SENDGRID_GET_LIST_CONTACT_COUNT | id |
| コンタクトの追加/更新 | SENDGRID_ADD_OR_UPDATE_A_CONTACT | contacts、list_ids |
| メールアドレスでコンタクトを検索 | SENDGRID_GET_CONTACTS_BY_EMAILS | emails |
| 識別子で検索 | SENDGRID_GET_CONTACTS_BY_IDENTIFIERS | identifier_type、identifiers |
| リストから削除 | SENDGRID_REMOVE_CONTACTS_FROM_A_LIST | id、contact_ids |
| リストの削除 | SENDGRID_REMOVE_LIST_AND_OPTIONAL_CONTACTS | id、delete_contacts |
| コンタクトの CSV をインポート | SENDGRID_IMPORT_CONTACTS | フィールドのマッピング |
| Single Send の作成 | SENDGRID_CREATE_SINGLE_SEND | name、email__config__*、send__to__list__ids |
| 送信者 ID の一覧表示 | SENDGRID_GET_ALL_SENDER_IDENTITIES | (なし) |
| 送信者の作成 | SENDGRID_CREATE_A_SENDER_IDENTITY | from__email、from__name、address |
| 送信者の確認 | SENDGRID_CREATE_VERIFIED_SENDER_REQUEST | from_email、nickname、address |
| ドメインの認証 | SENDGRID_AUTHENTICATE_A_DOMAIN | domain |
| メールの全体統計 | SENDGRID_RETRIEVE_GLOBAL_EMAIL_STATISTICS | start_date、aggregated_by |
| カテゴリ別統計 | SENDGRID_RETRIEVE_EMAIL_STATISTICS_FOR_CATEGORIES | start_date、categories |
| メールアクティビティのフィルタリング | SENDGRID_FILTER_ALL_MESSAGES | query、limit |
| メッセージの詳細 | SENDGRID_FILTER_MESSAGES_BY_MESSAGE_ID | msg_id |
| CSV のエクスポート | SENDGRID_REQUEST_CSV | query |
| CSV のダウンロード | SENDGRID_DOWNLOAD_CSV | download_uuid |
| カテゴリの一覧表示 | SENDGRID_GET_ALL_CATEGORIES | (なし) |
| 配信停止グループ | SENDGRID_GET_SUPPRESSION_GROUPS | (なし) |
| テンプレートの取得 | SENDGRID_RETRIEVE_A_SINGLE_TRANSACTIONAL_TEMPLATE | template_id |
| テンプレートの複製 | SENDGRID_DUPLICATE_A_TRANSACTIONAL_TEMPLATE | template_id、name |
Composio によって提供