Sequenzy Mcp について
Sequenzy MCP Serverは、構造化されたツールを通じてSequenzyのメールマーケティングを管理するMCPサーバーです。購読者、キャンペーン、シーケンス、ランディングページ、分析を扱い、メール業務を担うチーム向けです。
主な機能
- 01購読者、リスト、タグ、セグメントの管理
- 02キャンペーンとシーケンスの作成・予約
- 03送信せずにメールHTMLをレンダリング
- 04ランディングページ、フォーム、ポップアップの管理
- 05分析と配信状況の確認
- 06メール文面と翻訳の生成
活用シーン
- 01購読者向けキャンペーンの準備と予約
- 02自動メールシーケンスの構築
- 03送信前のメール表示確認
- 04配信状況と購読者の動向の調査
MCP 対応
MCPクライアントにSequenzyのメールマーケティングツールを提供します。ホスト型Streamable HTTPとローカルstdio接続に対応しています。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://api.sequenzy.com/v1/mcpclaude mcp add --transport http sequenzy https://api.sequenzy.com/v1/mcp{"mcpServers":{"sequenzy":{"type":"http","url":"https://api.sequenzy.com/v1/mcp"}}}Cursor で開く{"servers":{"sequenzy":{"type":"http","url":"https://api.sequenzy.com/v1/mcp"}}}VS Code で開く{"mcpServers":{"sequenzy":{"type":"http","url":"https://api.sequenzy.com/v1/mcp"}}}{"mcpServers":{"sequenzy":{"serverUrl":"https://api.sequenzy.com/v1/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
Sequenzy MCP サーバー
Sequenzy の公式 MCP サーバーです。Sequenzy は AI を活用したメールマーケティングプラットフォームです。
Sequenzy を Claude Desktop、Claude Code、Codex、Cursor、Windsurf、VS Code Copilot、OpenClaw、その他の MCP クライアントに接続すると、AI アシスタントが手書きの API 呼び出しではなく、構造化されたツールを使ってメール運用を管理できます。
できること
- 購読者、タグ、リスト、動的セグメントを管理できます。一括タグ照合や合成イベントのテストにも対応しています。
- セグメントを Meta のカスタムオーディエンスに同期して、Facebook と Instagram でのリターゲティングに活用できます。
- 商品を管理し、購入オートメーション用のデジタル配信ファイルを添付できます。
- 代替テキストや再利用可能なレスポンシブ画像トリミング設定を指定して、ホスト型メール画像をアップロードできます。
- キャンペーンの下書き、更新、予約、確認ができます。解決済みのオーディエンスプレビュー、保存済みのコンバージョン目標、From、Reply-To、CC、BCC の送信者情報にも対応しています。
- キャンペーン、シーケンスのステップ、テンプレートを、送信せずにメール対応の正確な HTML にレンダリングできます。
- メールにワンクリックの Poll および NPS アンケートブロックを追加し、キャンペーンの回答概要を確認できます。
- メールシーケンスを作成・編集できます。複数のリスト/タグを使ったトリガー、登録オーディエンスとプロパティで絞り込む停止条件、送信者情報の上書き、既存グラフの再構成、社内レビュアーへの各ステップの直接テスト送信にも対応しています。
- キャンペーンのキャンセル、一時停止、再開、複製、削除や、連絡先のシーケンスへの登録ができます。
- トランザクションメールテンプレートを管理し、共有の To、Cc、Bcc 受信者リストにトランザクションメールを送信できます。
- ローカライズ済みテンプレートのバリエーションを指定するか、有効なロケール向けに AI 翻訳をキューに追加できます。
- ランディングページの作成、プレビュー、編集、公開、非公開化、削除ができます。
- リスト単位の保存済み登録フォームを作成できます。レスポンシブなスタック、行、グリッド、単一画像オーバーレイのブロックグループに対応し、前景の間隔も調整できます。その後、クライアントで安全に使える静的サイト向け埋め込みコードを取得できます。
- 同じ再帰的なブロックレイアウトを使って、保存済み登録ポップアップの作成、ターゲット設定、公開、複製、デプロイができます。
- 公開済みランディングページ向けにカスタムドメインを接続し、検証できます。
- チームへの招待、受信トレイの会話、送信 Webhook エンドポイントを管理できます。
- メール文面、件名、複数ステップのシーケンスを生成できます。
- 分析、購読者のアクティビティ、配信状況、会社単位の送信一時停止、インテグレーション、公開済みイベントペイロードのスキーマ、送信者情報、トラッキング設定、ダッシュボード URL を確認できます。
- ワークスペースで「Sent with Sequenzy」が表示されているか、オーナーのサブスクリプションによって表示が削除されるかどうかとその理由を確認し、アップグレードまたは更新用の正式なサブスクリプションページを開けます。利用資格の変更は、ブロックを編集しなくても、既存の稼働中シーケンスからの今後の送信に適用されます。
- 送信が一時停止されている理由を診断し、リストのクリーンアップを確認したうえで、条件を満たすハードバウンスによる一時停止を解除できます。
- 正確な受信者に対するバウンス、苦情、メール衛生上の抑制を確認できます。共有 SES 抑制リストを公開せずに、条件を満たす古いバウンスをクリーンアップできます。
- 会社の商品情報、アカウント全体の送信者情報の既定値を設定し、個別の送信者・返信先プロファイルの名前を変更し、送信者ドメインを管理できます。また、一般的なフレームワーク向けのインテグレーション例を確認できます。
公開されるすべての MCP ツールには、明示的な readOnlyHint、destructiveHint、openWorldHint アノテーションが含まれているため、互換性のあるクライアントはツール使用時の適切な操作情報を表示できます。ツールは outputSchema 定義も公開し、structuredContent を返すため、クライアントやモデルは後続の呼び出しに使える機械可読な結果形式を得られます。
クイックセットアップ
最も簡単なセットアップ方法は Sequenzy ウィザードです。
npx @sequenzy/setup
ウィザードはブラウザーでのログインフローを開始し、個人用 API キーを作成して、対応する AI クライアントを検出します。可能な場合は、クライアントを自動で設定します。
ホスト型リモート MCP
Streamable HTTP MCP に対応したクライアントでは、ローカルの stdio プロセスを実行する代わりに、Sequenzy のホスト型エンドポイントを使用してください。
https://api.sequenzy.com/v1/mcp
ChatGPT と OpenAI プラグインディレクトリでは、レビュー済みのホスト型インターフェースを使用します。
https://api.sequenzy.com/v1/mcp/openai
このインターフェースは同じ実装を共有し、次の6つの操作を除く標準ツールセットを維持しています。connect_integration、create_api_key、create_webhook、list_webhook_deliveries、replay_webhook_delivery、rotate_sequence_inbound_webhook_secret。一般化された、明示的にリクエストされたプロダクトフィードバックについては、スキーマを縮小した形でフィードバックを引き続き利用できます。
リモートクライアントでは、対応している場合、Sequenzy の OAuth フローで認証してください。ローカルクライアントや自動化クライアントでは、引き続き下記の stdio パッケージを SEQUENZY_API_KEY とともに使用できます。
ホスト型エンドポイントと stdio パッケージは、2025 年頃のクライアントとの互換性を保ちながら、MCP 仕様 2026-07-28 に対応しています。最新の HTTP クライアントでは、リクエストごとのディスカバリーとメソッドヘッダーを使用します。既存のクライアントも、同じエンドポイントとパッケージコマンドで引き続き動作します。
機械可読なディスカバリーファイル:
- MCP サーバーマニフェスト:
server.json - エージェントカード:
.well-known/agent-card.json - エージェント機能マニフェスト:
agent-capability.json - OpenClaw スキルのメタデータ:
openclaw/skill.json
データとプライバシー
Sequenzy は、選択されたワークスペース内で、またクライアントに付与されたキーまたは OAuth スコープの範囲内で、ユーザーが実行を依頼したツールに必要なデータのみを MCP クライアントに送信します。依頼されたツールによっては、ワークスペース名と ID、購読者の連絡先、同意、オーディエンス、属性、イベント、エンゲージメント、返信、アンケート、コマースのデータ、キャンペーンと自動化のコンテンツ、配信分析、インテグレーションまたはウェブフックのステータスが含まれる場合があります。カテゴリ、目的、受信者、保持期間、ユーザーが利用できる管理機能の詳細については、Sequenzy プライバシーポリシーをご覧ください。
自由形式のカスタム属性、イベント、メモ、フォーム、ウェブフックのサンプル、メール変数、フィードバックを使用して、決済カード情報、健康または医療データ、政府発行の識別番号、生体または遺伝子データ、認証情報、センシティブな人口統計データ、または正確な位置情報を送信しないでください。
OpenAI によるレビュー済みの経路では、profile.ssn などのネストされた属性パス、lat/lng などの座標ペア、Religion: ... や GPS coordinates: ... などのラベル付き文章を含め、関連する自由形式の入力に対してこれらの制限が適用されます。また、フォームやポップアップの redirectUrl にアクセストークンや URL 署名が含まれる場合など、ユーザー情報、パス、クエリ、フラグメントのいずれかに認証情報が含まれる URL は、引数内のどこにあっても拒否されます。マージタグ内の制限対象属性セレクターは拒否されますが、同じトピックについて通常の編集文を書くことは妨げません。このインターフェースでは、render_email はサンプルデータまたはポリシーチェック済みのインライン subscriber を受け付けますが、subscriberId は受け付けないため、未検査の保存済みカスタム属性を解決できません。結果からは、制限対象のフィールド、生の API エラー、デバッグペイロード、内部リクエスト/トレース/セッション識別子、不要なアカウントまたは認証情報の識別子、保存済みの認証情報を含む URL、受信ウェブフック URL が除去されます。標準のリモート MCP とローカルの stdio パッケージでは、信頼されたクライアント向けの完全なコントラクトが維持されます。これには、認証情報を使用したインテグレーションのセットアップ、一度限りの API キーとウェブフックシークレット、受信ウェブフック URL、詳細な API エラーが含まれます。シークレットを AI との会話に含めたくない場合は、ダッシュボードまたはローカル CLI をご利用ください。
submit_feedback は、ユーザーが明示的に依頼した場合にのみ実行されます。OpenAI のスキーマでは、一般化されたメッセージ、カテゴリ、任意のワークフローコンテキストのみが許可されており、メールアドレスまたはリソース ID を含むフィードバックテキストは経路によって拒否されます。
レビュー済みのインターフェースが保証する範囲には限りがあります。データの形状に基づいて制限対象を認識します。たとえば、passport_id、user.ssn、api_secret などの英語のフィールド名を示す単語(ネストの深さを問いません)、Diagnosis: ... などのラベル付き文章、既知の認証情報の形式、小数の座標ペア、HTML 内を含むあらゆる文字列に含まれる認証情報付き URL です。ラベルのない文章、英語以外のフィールド名、クライアントが意図的に難読化した値は解釈しません。これらはフィルターではなく、上記の利用制限によって引き続き対象となります。
手動セットアップ
すべての stdio MCP クライアントで、同じコマンドを使用します。
- コマンド:
npx - 引数:
-y @sequenzy/mcp - 必須の環境変数:
SEQUENZY_API_KEY=seq_user_your_key_here
任意の環境変数:
SEQUENZY_API_URL- Sequenzy API のベース URL です。デフォルトはhttps://api.sequenzy.comです。SEQUENZY_APP_URL- アプリ URL ヘルパーで使用する Sequenzy ダッシュボードのベース URL です。デフォルトはhttps://sequenzy.comです。
Claude Desktop
以下を Claude Desktop の設定に追加します。
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"sequenzy": {
"command": "npx",
"args": ["-y", "@sequenzy/mcp"],
"env": {
"SEQUENZY_API_KEY": "seq_user_your_key_here"
}
}
}
}
設定を編集した後、Claude Desktop を再起動してください。
Claude Code
claude mcp add --scope user --env=SEQUENZY_API_KEY=seq_user_your_key_here sequenzy -- npx -y @sequenzy/mcp
ネイティブの Windows では、cmd /c で npx をラップします。
claude mcp add --scope user --env=SEQUENZY_API_KEY=seq_user_your_key_here sequenzy -- cmd /c npx -y @sequenzy/mcp
プロジェクトで共有する設定には、.mcp.json を使用します。
{
"mcpServers": {
"sequenzy": {
"command": "npx",
"args": ["-y", "@sequenzy/mcp"],
"env": {
"SEQUENZY_API_KEY": "seq_user_your_key_here"
}
}
}
}
Codex
codex mcp add sequenzy --env SEQUENZY_API_KEY=seq_user_your_key_here -- npx -y @sequenzy/mcp
codex mcp list
~/.codex/config.toml に手動で Codex を設定する場合:
[mcp_servers.sequenzy]
command = "npx"
args = ["-y", "@sequenzy/mcp"]
[mcp_servers.sequenzy.env]
SEQUENZY_API_KEY = "seq_user_your_key_here"
Cursor
Cursor Marketplace から Sequenzy をインストールすると、Sequenzy OAuth を使用したホスト型接続を利用できます。このプラグインは次のものに接続します。
https://api.sequenzy.com/v1/mcp
インストール後、ブラウザーでのサインイン手順を完了してください。これで Cursor のエージェントは、選択中のモデルが Grok の場合も含め、チャットから Sequenzy のツールを使用できるようになります。
代わりに手動でローカルの stdio を設定する場合は、~/.cursor/mcp.json に次の内容を追加してください。
{
"mcpServers": {
"sequenzy": {
"command": "npx",
"args": ["-y", "@sequenzy/mcp"],
"env": {
"SEQUENZY_API_KEY": "seq_user_your_key_here"
}
}
}
}
Windsurf
Cursor と同じ JSON 形式を使用します。
- macOS:
~/Library/Application Support/Windsurf/mcp.json - Windows:
%APPDATA%\Windsurf\mcp.json
VS Code Copilot
VS Code は servers オブジェクトを使用します。
{
"servers": {
"sequenzy": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@sequenzy/mcp"],
"env": {
"SEQUENZY_API_KEY": "seq_user_your_key_here"
}
}
}
}
その他の MCP クライアント
OpenClaw、Hermes、その他の MCP 互換クライアントでは、クライアントの接続先として npx -y @sequenzy/mcp を指定し、SEQUENZY_API_KEY を設定してください。
API キーを取得する
- Sequenzy ダッシュボードを開きます。
- MCP の設定手順を使用して個人キーを作成するか、Settings -> API Keys を開いて会社キーを作成します。
- 権限プリセット、または連携に必要なカスタムスコープを正確に選択します。
- MCP クライアントの設定にキーを追加します。
個人キーは seq_user_ で始まります。ダッシュボードからいつでも取り消せます。
秘密情報を公開せずに会社キーを整理することもできます。list_api_keys を呼び出して、キー ID、名前、秘密情報ではないプレフィックス、権限、最終使用日時、isCurrent マーカーを比較し、正確な ID を revoke_api_key に渡します。delete_api_key は、同じ恒久的な操作を行う互換性エイリアスです。キーの一覧表示と取り消しのレスポンスに、平文のキーや保存されたキーのハッシュが含まれることはありません。
API キーの権限不足から復旧する
ツールから campaigns:read や
templates:write などのスコープ不足が報告された場合は、get_account を呼び出してください。その apiKeyPermissions フィールドには、現在のキーの識別情報と種類、スコープ、一般的に不足しているマーケティング関連の読み取りスコープ、および直接アクセスできる manageUrl が表示されます。OpenAI が審査した経路では、ユーザーのアカウント ID やアクティブなキーの識別情報を返さずに、同じ権限が表示されます。個人キーではアカウントの API Keys が開き、会社キーでは選択中のワークスペースの API Keys 設定が開きます。キーに
account:read が含まれていない場合は、
Sequenzy ダッシュボードを直接開き、該当する API Keys ページを選択してください。
権限はその場で編集できるため、manageUrl を開いてください。会社キーの場合は、list_api_keys とその isCurrent フラグを使ってアクティブなキーを特定してから編集し、認証情報を差し替えたりクライアントを再起動したりせずに、失敗したツールを再試行してください。api_keys:manage を持つ会社キーを使用するエージェントは、代わりに update_api_key を呼び出すこともできます。個人キーは、同ツールが会社キーしか管理できないため、アカウントレベルのページで編集する必要があります。同ツールの scopes と preset の入力は既存の権限選択に追加するのではなく、全体を置き換えるため、引き続き必要な既存スコープはすべて保持してください。ホスト型 OAuth 接続は、いったん切断して、より広い権限で再認証する方法もあります。
アクティブなキー自体に api_keys:manage が含まれていない場合は、update_api_key を再試行せず、代わりに request_api_key_handoff を呼び出してください。この操作には account:read が必要で、要求したキー名、権限、および任意の前のキーが事前入力された、オーナーによる確認用 URL が返されます。キーが作成されたり返されたりすることはありません。ワークスペースのオーナーがブラウザーでフォームを確認して代替キーを作成し、クライアントにコピーします。代替キーの作成後にアクティブなキーを無効化する選択肢を提示するには、replaceApiKeyId: "current" を渡してください。アクティブなキーにも account:read が含まれていない場合は、ダッシュボードを直接使用してください。
デフォルトの より安全なエージェントアクセス プリセットには lists:write と tags:write が含まれているため、エージェントはリストとタグの定義を作成、更新できます。また、既存の連絡先にタグを適用するための subscribers:tag も含まれています。さらに、ab_tests:read、ab_tests:write、sequences:write も含まれているため、エージェントはカート放棄や閲覧放棄のメッセージを含む、シーケンスの A/B テスト用バリアント文を監査、編集できます。一方、subscribers:write は含まれていないため、連絡先をリストに追加したり、リストから削除したりすることはできません。リストまたはタグの削除には、引き続きそれぞれ lists:delete または tags:delete の権限が必要です。
AI 下書き作成プリセットには subscribers:write が含まれているため、下書き作成エージェントはリストの作成に加えて、連絡先をそのリストに追加できます。listIds を適用するインポートにも lists:write が必要です。シーケンスへの登録、またはダブルオプトインの配信には、さらに automations:trigger が必要です。
ツール
標準サーフェスでは現在、243 個の MCP ツールを公開しています。OpenAI が審査したサーフェスでは 237 個を公開しており、上記の 6 つの操作のみが除外されています。
ツールは、宣言されていない引数を黙って無視するのではなく、エラーとして拒否します。エラーにはサポートされていないフィールドとサポート対象の引数が示され、存在しない購読者フィルターや並べ替えオプションなど、よくある誤りに対する具体的なガイダンスも表示されます。
アカウント、会社、セットアップ
| ツール | 説明 |
|---|---|
get_account | アカウント情報、利用可能な会社、現在のキーの権限、API キー管理 URL を取得します。 |
select_company | 今後のツール呼び出しで使用するアクティブな会社を設定します。 |
get_app_urls | キャンペーン、ランディングページ、シーケンス、メール、設定、サブスクリプション管理、ドメイン、送信済みメールの詳細を表示するダッシュボード URL を作成します。settingsTab: "billing" は「アカウント」→「サブスクリプション」に解決されます。 |
create_company | 新しい会社またはブランドを作成します。 |
get_company | 会社の詳細、製品情報、ブランドコンテキスト、ローカライズ、返信追跡設定、現在の From/Reply-To のデフォルト、プラン/ステータスの理由とサブスクリプション URL を含む読み取り専用の有効な emailBranding 利用権を読み取ります。STO はキャンペーン専用として明示されます。 |
update_company | 製品情報、ブランドコンテキスト、メールテーマ、返信追跡、アカウント全体の From/Reply-To プロファイルのデフォルトや名前を編集します。 |
get_sync_rules | 会社のイベントからタグへのルールと、継承したプラットフォームプリセットを使用しているかどうかを読み取ります。 |
update_sync_rules | すべての同期ルールを置き換えます。無効にするには []、SaaS/E コマースプラットフォームのプリセットを使用するには null を渡します。 |
get_shopify_automation_settings | 接続済みの Shopify ストアの閲覧放棄、カート放棄、値下げの設定を読み取ります。 |
update_shopify_automation_settings | Shopify オートメーション設定を部分的に更新するか、個々のセクションをプラットフォームのデフォルトにリセットします。 |
create_api_key | 会社の API キーを作成し、標準 MCP では一度だけ表示されるシークレットを返します。OpenAI 審査済みルートでは省略されています。 |
request_api_key_handoff | アクティブなキー自体では API キーを管理できない場合に、オーナーによる確認が必要な作成/ローテーション URL を準備します。 |
list_api_keys | 安全な識別と整理のため、会社の API キーをシークレット以外のメタデータとして一覧表示します。 |
update_api_key | キーの値を変更せずに、会社の API キーの名前を変更するか、権限プリセットまたはスコープを置き換えます。 |
revoke_api_key | list_api_keys で確認した後、ID を指定して会社の API キーを恒久的に失効させます。 |
delete_api_key | revoke_api_key との互換性を保つためのエイリアスです。 |
list_websites | 保存済みの集計、SPF、DKIM、MAIL FROM のステータスとともに、送信ドメインを一覧表示します。 |
add_sending_domain | 送信ドメインを追加し、コホート固有の DNS 設定レコードを返します。 |
add_website | add_sending_domain との互換性を保つためのエイリアスです。 |
check_website | 送信ドメインの保存済み SPF、DKIM、MAIL FROM、および集計された検証の詳細を読み取ります。 |
verify_sending_domain | 送信ドメインの DNS/プロバイダー検証を新たに実行し、現在のステータスと診断情報を返します。 |
list_integrations | 認証情報を返さずに、接続状態と同期の健全性とともに接続済みのインテグレーションを一覧表示します。 |
get_sending_status | 適用基準の分母、審査ゲート、修正手順を含め、送信がアクティブ、一時停止、または停止中のいずれかを診断します。 |
resume_sending | リストがサニタイズ済みであることを明示的に確認した後、対象となるハードバウンスによる一時停止を解除します。 |
get_tracking_settings | アカウント全体および Transactional API の開封/クリックのデフォルト、配信停止、アトリビューション、UTM、クリックドメイン、返信追跡、ダブルオプトインの設定を読み取ります。 |
update_tracking_settings | アカウント全体および Transactional API のトラッキングのデフォルト、アトリビューション、UTM、アカウント全体のダブルオプトインを更新します。 |
get_integration_guide | フレームワーク固有のインテグレーション例を取得します。 |
get_integration | 接続済みのインテグレーション、そのイベント接続、リストの対象設定、最近のアクティビティ、推奨事項を確認します。 |
list_integration_capabilities | 接続の有無にかかわらず、プロバイダーの機能を比較します。 |
connect_integration | 標準 MCP で、API キーまたは Webhook シークレットを使う対応プロバイダーを接続します。管理対象の Lemon Squeezy Webhook、送信専用の Attio、任意の PostHog/Segment 履歴インポートが含まれます。OpenAI 審査済みルートでは省略されています。 |
get_event_schema | プロバイダーごとに、公開済みイベントペイロードの例、プロパティパス、型、マージタグを確認します。 |
list_integration_activity | 保持されているインテグレーション固有の Webhook および同期アクティビティログを読み取ります。 |
set_integration_sync_enabled | ライブ Webhook の接続を維持したまま、一括インポートとバックフィルを有効または無効にします。 |
set_integration_list_targeting | 対応するインテグレーションが今後プロバイダーへの書き込み時に作成する連絡先の参加先リストを選択します。 |
sync_integration | 保存済みのインテグレーション設定を使用して、決済収益、Supabase ユーザー、または PostHog/Segment のイベント履歴インポートをキューに追加します。 |
get_integration_pixel | Shopify のライブピクセル/設定状態を読み取り、確認済みのイベント未発生と読み取り結果不明を区別します。 |
activate_integration_pixel | Shopify のストアフロントピクセルをインストールまたは参照先変更します。すでに最新の場合は冪等に動作します。 |
list_web_tracking_keys | 公開可能なウェブサイトトラッキングキー、オリジン制限、使用状況、インストール用スニペットを一覧表示します。 |
get_web_tracking_key | 正確なインストール用スニペットと取り込みエンドポイントを含む、ウェブサイトトラッキングキーを 1 つ取得します。 |
create_web_tracking_key | Shopify 以外のストアフロントまたはウェブサイト用に、公開可能なトラッキングキーを作成します。 |
update_web_tracking_key | ウェブサイトトラッキングキーの名前変更、制限、失効、再有効化を行います。 |
delete_web_tracking_key | スニペットの削除後に、ウェブサイトトラッキングキーを恒久的に削除します。 |
list_sender_profiles | 送信者と返信先のプロファイル、デフォルト、送信ドメインの準備状況を一覧表示します。 |
update_sender_profile | アカウントのデフォルトを変更せずに、送信者または返信先のプロファイルを 1 つ改名します。 |
delete_sender_profile | ライブ送信面と最後に残った送信者に対するガードを適用しながら、未使用の送信者プロファイルを恒久的に削除します。 |
get_notification_preferences | 月曜日の週次レポートを含む、現在のユーザーの会社ごとのアカウント通知設定と対応する配信モードを読み取ります。 |
update_notification_preferences | チームメイトに影響を与えずに、週次レポートの配信停止を含む、現在のユーザーのアカウント通知配信モードを更新します。 |
render_email | 最終的なメール対応 HTML をレンダリングし、デフォルト設定では隠れるタイプミスを含め、解決できないマージタグを診断します。OpenAI 審査済みルートでは、保存済みの購読者 ID ではなく、サンプルデータまたはポリシーチェック済みのインライン購読者を受け付けます。 |
get_sending_status では、送信者の健全性分析が一時的に利用できない場合でも、Postgres による一時停止状態、レビューゲート、修正機能を利用できます。この縮退時には、senderHealth は null になります。 |
render_email は unresolvedMergeTags を返すため、呼び出し側は未知の名前と、認識されたタグがプレビュー対象のコンタクトでは空であるだけの場合とを区別できます。default フィルターでテキストが指定されていても、未知の名前は報告されます。たとえば、{{ subscriber.frstName | default: "there" }} はすべてのコンタクトにもっともらしい挨拶を表示する一方、保存済みの名前を使いません。あるコンタクトでは空でも、認識された名前にデフォルト値が使われた場合、その名前は報告されません。OpenAI によるレビュー済みのルートでは、マージタグ内の制限対象のカスタム属性セレクターは拒否されます。また、subscriberId 引数は省略されます。ポリシーチェック済みのインライン subscriber を使うか、サンプルプレビューでは subscriber データを省略してください。
nodeType が action_ab_test のシーケンスステップをレンダリングするには、ステップの sequenceId と nodeId に加え、get_sequence.sequence.emails[].abTest.variants の variantId を渡してください。これらのステップには独自のメールがないため、バリアントが必須です。また、競合するコピーの読み取りとレンダリングには ab_tests:read スコープが必要です。
Supabase では、sync_integration はダッシュボードに保存されたプロジェクト、スキーマ、テーブル、リスト選択、同意のマッピングを再利用します。任意のテーブルを指定することはできません。ライブデータベーストリガーをインストールした後に実行すると、トリガーのインストール前から存在していたユーザーをインポートできます。進捗と行単位の結果を確認するには、get_integration と list_integration_activity をポーリングしてください。
set_integration_sync_enabled が制御するのは一括インポートとバックフィルのみです。プロバイダーのライブ Webhook によるコンタクトの作成は停止しません。今後のリストへの登録先を選ぶには set_integration_list_targeting を使います。null はワークスペースのデフォルトに従い、[] はどのリストにも登録せず、値を指定した配列はそのリストを登録先にします。この変更は過去には適用されず、既存の登録が削除されることもありません。また、リストに登録されていないコンタクトを登録するデフォルトの any_contact シーケンスも停止しません。明示的な any_list シーケンスと特定のリストを対象とするシーケンスには、一致するリスト登録が必要です。デフォルトの登録も停止する必要がある場合は、リストの登録先設定と pause_sequence_enrollments を併用してください。Supabase、Stripe、Shopify、Wix、Webflow がこの制御に対応しています。
PostHog では、sync_integration によって、保存済みの個人 API キーを使ったイベント履歴のインポートが最初から再開されます。インポート済みのイベントは重複排除されるため、失敗したインポートを再試行しても重複は作成されません。
Segment では、標準 MCP の connect_integration を使うと、ライブ Webhook の接続後に Unify から最近のイベント履歴を任意でインポートできます。このインポートでは、既存のコンタクトを Profile API 経由で順に処理し、API が提供する直近 14 日間を対象とします。一致するプロファイルがないコンタクトはスキップされ、再試行とライブ Webhook の重複は安全に排除されます。新しい接続では、ページ名やスクリーン名が明示的に許可リストに登録されていない限り、自動の page/screen 呼び出しはスキップされます。Segment の Webhook シークレットは UTF-8 で 16~153 バイトである必要があります。connect_integration が省略されている OpenAI によるレビュー済みのルートでは、ダッシュボードまたはローカル CLI で Segment を接続してください。保存済みの認証情報で再試行するには sync_integration を使います。
Lemon Squeezy では、provider: "lemon_squeezy"、API キー、数値のストア ID を providerAccountId として渡してください。デフォルトの管理対象セットアップでは webhookSecret を省略します。レスポンスには webhookProvisioning と testMode が含まれます。手動で Webhook を設定する場合に限り、返された webhookUrl を使って 16~40 文字の署名シークレットを指定してください。認証情報が返されることはありません。
Attio の場合、標準 MCP の connect_integration では、Webhook シークレットなしでワークスペースのアクセストークンを使用できます。任意で settings.listMap に Sequenzy のリスト ID と Attio の人物リスト UUID または API スラッグのマップを指定でき、syncCompanyFromDomain でフリーメール以外のドメインを使った企業の照合を制御できます。OpenAI がレビューした経路では、ダッシュボードまたはローカル CLI で Attio に接続し、同じ設定に update_attio_settings を使用します。この連携は送信専用です。
マッピングされた Sequenzy リストへの新規登録時に人物レコードをアップサートし、Attio リストに追加します。リストから削除しても Attio のレコードは削除されません。
{{event.*}} マージタグまたはイベントプロパティのフィルターを記述する前に、get_event_schema を呼び出してください。eventName を省略すると、ドキュメントに記載された組み込みイベントが一覧表示されます。イベント名を指定すると、プロバイダー固有のサンプルペイロードとプロパティパスを取得でき、任意で provider による絞り込みもできます。結果に documented: false と表示されても、カスタムイベント名は引き続き有効です。これは、参照用のサンプルが公開されていないことだけを意味します。このツールが返すのは静的な参照データなので、実際の配信データを確認するには連携アクティビティまたはシーケンス登録を使用してください。
新しい送信ドメインを追加する場合は、add_sending_domain を呼び出し、返された website.dnsRecords の DNS レコードを公開して、DNS の伝播を待ってから verify_sending_domain を呼び出してください。固定のプロバイダーやレコード数を想定せず、返されたレコードをすべて公開してください。統合ドメインには必須の DMARC が含まれますが、レガシードメインでは Amazon SES の MAIL FROM および受信返信用レコードが返される場合があります。作成前に検証を試みると、エラーに指定されたドメインを含む add_sending_domain への参照が表示されます。
Shopify の場合、商品閲覧、カートアクティビティ、または閲覧後未購入のトリガーを利用する前に、get_integration_pixel を呼び出してください。マーチャントはピクセルを個別に削除できるため、結果は Shopify からライブで取得されます。pixel.healthy が false の場合、dependentEvents に到着しないトリガーが示されます。activate_integration_pixel を呼び出して、ピクセルをインストールするか、参照先を変更してください。有効化は冪等で、イベントの記録は次回のストア訪問時から始まり、過去分は補完されません。
カスタム、ヘッドレス、チケット管理、または SaaS のウェブサイトでは、商品閲覧やカートのトリガーを利用する前に list_web_tracking_keys を使用してください。許可するオリジンを明示したキーを作成し、返された installSnippet をインストールします。その後、顧客の認証済みバックエンドで POST /api/v1/web-tracking-identities を通じて短期間有効な証明を発行し、サインイン時またはチェックアウト時に sequenzy.identify(email, identityToken) を呼び出してください。公開可能キーだけでは匿名アクティビティしか記録できず、購読者向けの自動化を開始できません。返されるスニペットは非同期ローダーの前に同期メソッドのスタブをインストールするため、ページのブートストラップ中に呼び出された ID 設定やイベントの呼び出しは、SDK の準備が整うまでキューに入れられます。キーを完全に削除する前に、update_web_tracking_key で失効させることをおすすめします。
新しい企業には同期ルールが設定されていません。SaaS/eコマース企業では、update_sync_rules に null を渡すと継承されたプリセットを引き続き利用できます。サービス業やコンサルティング業では、通常 [] のままにするか、明示的なルールを定義してください。
list_sender_profiles でプロファイル ID を確認し、update_sender_profile を呼び出して表示名のみを変更してください。返信先プロファイルには type: "reply" を指定します。省略した場合は送信者プロファイルが対象になります。アドレス、送信ドメイン、アカウント全体のデフォルトの From/Reply-To の選択は変更されません。名前の変更には companies:manage スコープが必要です。
古くなった From ID を完全に削除するには、delete_sender_profile を使用してください。最後の送信者プロファイル、および配信中のキャンペーン、アクティブなシーケンス(ステップごとの上書きを含む)、またはトランザクションメールで使用されているプロファイルは削除できません。対象となる下書きとアカウントのデフォルトは、返された fallbackSenderProfileId に切り替わります。送信前に内容を確認してください。この削除ツールは返信先プロファイルに対応していません。
Shopify のカート放棄はデフォルトで有効です。カートが 1 時間操作されないと
ecommerce.cart_abandoned が発火し、サブスクライバーごとに 24 時間のクールダウンが適用されます。update_shopify_automation_settings を使用して
cartAbandonment.enabled、delayHours、cooldownHours フィールドを変更します。閲覧放棄や価格下落の設定を変更せずにデフォルトに戻すには、
cartAbandonment: null を指定します。時間の値は正の数である必要があります。
delayHours の上限は 168、cooldownHours の上限は 720 です。
サブスクライバー
| ツール | 説明 |
|---|---|
add_subscriber | サブスクライバーを 1 人追加します。ステータスは作成時のみ設定できるため、既存の連絡先には update_subscriber を使用します。 |
create_subscriber_import | 最大 5,000 件の完全な CRM レコードをキューに登録します。任意の再試行に安全な idempotencyKey を指定でき、メール衛生チェックが有効な場合は取り込み後も別途継続されます。 |
get_subscriber_import | キューに登録されたインポートの進捗、行ごとの結果数、失敗の概要を取得します。 |
update_subscriber | ネイティブのプロフィールおよび電話番号フィールド、SMS 同意、属性、タグ、またはグローバルステータスを更新します。 |
remove_subscriber | 抑制履歴を保持したまま配信停止にするか、hardDelete: true を指定して完全に削除します。 |
get_subscriber | メールアドレスまたは外部 ID でサブスクライバーの詳細を取得します。 |
search_subscribers | クエリ、タグ、リスト、ステータス、セグメント、またはカスタム属性 1 つで検索します。自動ページネーションまたは再開可能なページネーションに対応しています。 |
trigger_subscriber_event | 連携機能と同様に、同期ルールを適用し、一致するシーケンストリガーを実行して、カスタムイベントを 1 つ発行します。 |
trigger_subscriber_events | 1 人のサブスクライバーに対して、順序を指定して複数のカスタムイベントを発行します。 |
import_subscriber_events | 連絡先をまたいで、ソース ID を持つイベントを最大 25 件インポートします。履歴を通知なしでインポートするには、ある連絡先のすべての行が 1 時間より古い必要があります。 |
bulk_add_subscriber_tags | 既存のサブスクライバー最大 500 人にタグを追加します。subscribers:tag が必要で、tags:write も必要になる場合があります。 |
bulk_remove_subscriber_tags | 既存のサブスクライバー最大 500 人からタグを削除します。subscribers:tag または subscribers:write が必要です。 |
CRM のオンボーディングでは、add_subscriber を繰り返し呼び出す代わりに
create_subscriber_import を使用します。1 回の呼び出しで完全なレコードを 5,000 件受け付け、非同期インポート ID を返します。get_subscriber_import でポーリングしてください。インポートが completed でも、行の失敗が含まれる場合があります。そのため、failedCount と failedReasons を確認してください。
除外された行はすべて集計されます。skippedReasons の合計は skippedCount と一致し、failedReasons の合計は failedCount と一致します。不足がある場合は、どの行が省かれたかを推測せず、インポート ID とともに報告してください。
メール衛生が有効な場合、配信可能性のチェックは取り込み後も別途継続され、結果は List health に表示されます。インポートステータスは、これらの判定を待たず、判定結果も含みません。
無効という判定を受けた連絡先は、その後の送信から除外されます。optInMode: "confirmed" は、同意がすでに確認済みの場合にのみ使用してください。
import_subscriber_events では、新しいコンタクトが作成される可能性がある行にはメールアドレスが必要です。externalId だけで指定できるのは、既存のコンタクトに限られます。すべての行に安定した eventId を指定してください。再試行すると元の受領記録が再利用され、下流の復旧処理が冪等に再試行されます。履歴データかどうかの判定はコンタクト単位です。あるコンタクトのいずれかの行が最近のものであれば、そのコンタクトのグループ全体でライブの副作用処理パスが使用されます。
コンプライアンス上の配信停止には、update_subscriber を status: "unsubscribed" で呼び出してください(または hardDelete を指定せずに remove_subscriber を使用してください)。ステータスを変えて add_subscriber を再試行しないでください。このツールのステータスは、コンタクトの初回作成時にのみ適用されます。また、ステータスが一致せずスキップされた結果はエラーとして報告されます。
add_subscriber で listIds を省略すると、この呼び出しで作成されたコンタクトにはワークスペースのデフォルトリストが適用され、既存のコンタクトは現在のリストへの所属を維持します。既存のコンタクトを特定のリストに追加する場合は、リスト ID を明示的に渡してください。リストを対象にしない場合は [] を渡します。
update_subscriber.phone は、コンタクトに表示されるネイティブの電話番号フィールドに書き込みます。カスタム属性ではありません。明示的な書面による同意を確認した後にのみ smsConsent: true を渡してください。コンタクトをオプトアウトさせる場合は false を渡します。電話番号を変更する際に smsConsent を指定しないと、同意は古い電話番号に紐づいているため、SMS の同意がリセットされます。
add_subscriber、update_subscriber、create_subscriber_import では、America/New_York のような IANA タイムゾーンを指定できます。この値はネイティブのコンタクトプロフィールに保存され、受信者の現地時間に合わせたキャンペーン配信が可能になります。update_subscriber に空のタイムゾーンを渡すと、値を消去できます。インポート行の無効な値は無視され、インポート全体は拒否されません。
製品とデジタル配信
| ツール | 説明 |
|---|---|
list_products | Stripe、Shopify、WooCommerce、手動登録、または Commerce API のデータから同期された製品を一覧表示します。 |
upsert_products | 製品 ID をキーとして、最大 100 件の Commerce API 製品を作成または更新します。 |
delete_product | Commerce API 経由で以前に送信された製品を削除します。 |
attach_product_file | ホスト済みまたはローカルからアップロードした配信用ファイルを製品に添付します。 |
remove_product_file | 添付された製品配信用ファイルを削除します。 |
sync_products | Stripe 製品カタログの同期をキューに追加します。必要に応じて ID でインテグレーションを選択できます。 |
製品に配信用ファイルを添付すると、一致する購入イベントに download.url と download.name が含まれます。これにより、購入をトリガーとするメールで {{event.download.url}} のようなマージタグを使用できます。
Stripe 製品の場合、list_products はすべての有効な価格をバリアントとして返し、Stripe の価格 ID を variantId に設定します。製品のデフォルト価格ではない場合でも、この ID を使って購入シーケンスの対象となる価格を正確に指定できます。
画像アセット
| ツール | 説明 |
|---|---|
upload_image_asset | メール画像をアップロードし、ホストされたメディアレコードと、すぐに挿入できる画像ブロックを返します。 |
このツールでは、最大5MBのPNG、JPEG、GIF、WebP画像を受け付けます。ローカルのstdioクライアントは
filePathを渡せます。添付ファイルのバイトデータにアクセスできるホスト型/リモートクライアントは、
filenameとともにimageBase64を渡せます。アクセシビリティのためにaltTextを指定し、
displayWidthPercent、cropHeight、objectFit(coverまたはcontain)、alignを使って
スクリーンショットの表示を統一します。返されるimageBlockは、キャンペーン、シーケンス、
テンプレート、トランザクションメール用ツールが受け付けるブロック配列に直接コピーできます。
認証済みの画像データは、リバースプロキシが別のホスト上に同等のアップロードURLを返す場合でも、
常にSEQUENZY_API_URLで設定されたオリジンにアップロードされます。API認証情報が別のオリジンに
転送されることはありません。
{
"filePath": "/Users/me/Desktop/product-results.png",
"altText": "Product results dashboard",
"displayWidthPercent": 100,
"cropHeight": 320,
"objectFit": "cover",
"align": "center"
}
リスト、タグ、セグメント
| ツール | 説明 |
|---|---|
list_tags | すべてのタグを一覧表示します。 |
create_tag | 任意の色を指定してタグ定義を作成します。 |
update_tag | タグの色を更新します。 |
delete_tag | タグを削除し、購読者から取り除きます。 |
list_lists | 購読者リストを一覧表示します。 |
create_list | 購読者リストを作成します。 |
update_list | 購読者リストの名前または説明を変更します。 |
delete_list | 購読者リストを削除します。 |
add_subscribers_to_list | メールアドレスの配列を使って、最大500人の購読者をリストに追加します。 |
remove_subscribers_from_list | リストから最大500人の購読者を削除します。 |
list_segments | 保存済みセグメントと件数を一覧表示します。 |
create_segment | ネストされた配列フィルター、または同一要素の配列フィルターを使ってセグメントを作成します。 |
update_segment | セグメント名、フィルター、ルートグループ、または結合演算子を更新します。 |
delete_segment | セグメントを削除します(segments:deleteが必要です)。 |
get_segment_count | セグメント内の現在の購読者数をプレビューします。 |
購読者をエクスポートする場合、search_subscribersではlistId、完全一致するlistName、
またはlist(IDを優先し、次に完全一致する名前)を指定できます。また、attributeと
attributeValueを指定でき、attributeOperatorではcontains、数値の比較、
is_not_emptyを指定できます。結合形式の"attributeName:value"も引き続きサポートされています。
フィルターはANDで結合されます。OR条件、ネストされたグループ、除外、エンゲージメント、
イベント条件には、保存済みセグメントを使用してください。limitを省略すると、このツールは
一致するすべてのページを自動的に取得します。分割して読み取る場合は、limitを渡し、
hasMoreがtrueの間、pagination.nextCursor(またはpagination.nextOffset)をたどってください。
offsetとpageは、スキップする一致件数が1,000,000未満の場合にサポートされます。
それ以上の件数の対象者にはカーソルを使用してください。
リストへの一括追加には、add_subscribers_to_listを使用します。基盤となるAPIエンドポイントは、
/bulkサフィックスのないPOST /api/v1/lists/{listId}/subscribersです。
{
"emails": ["[email protected]", "[email protected]"],
"duplicateStrategy": "skip",
"enrollInSequences": false,
"optInMode": "default"
}
1 回のリクエストで送信できるメールは最大 500 通です。標準の API レート制限も適用されます。API キーごとに毎分 100 リクエスト、バースト時は毎秒 20 リクエストです。CSV を使った CLI インポートでは、email、e-mail、email address、mail が有効なメールヘッダーです。認識できるヘッダーがない場合、CLI は最初の列を読み取ります。
セグメントフィルターは、属性、イベント、保存済みセグメントへの所属、エンゲージメントイベント、Stripe 商品の購入ルール、コマース商品の購入ルールに対応しています。該当するものすべてに一致するセグメントには filterJoinOperator: "or" を使用するか、ネストされたロジックを指定する v2 root グループを渡してください。
オブジェクト配列の属性には、history_events[].eventvenue_id:2103 のようなワイルドカードパスを使用します。AND グループで history_events[].showing_date もフィルターする場合、両方の条件は同じ history_events[] 要素に一致する必要があります。無関係な履歴エントリの値は結合されません。セグメントの削除には segments:delete が必要です。segments:write では不十分です。
各セグメントフィルターフィールドで有効な演算子は次のとおりです。
status、segment:is、is_nottag:contains、not_contains、is_empty、is_not_emptyemail:contains、not_containsemailProvider、list:is、is_not、is_empty、is_not_emptyfirstName、lastName:contains、not_contains、is_empty、is_not_emptyadded:less_than、more_thanattribute:is、is_not、is_empty、is_not_empty、gte、lte、gt、lt、contains、not_containsevent、メールのエンゲージメントフィールド:is、is_not、at_least、less_than_countemailBounced:is_temporary_bounce、is_permanent_bounceにも対応stripeProduct:is、is_not、at_least、less_than_countstripeCurrentProduct、stripeTrialProduct:is、is_not、gte、lte、gt、ltcommerceProduct:is、is_not、at_least、less_than_count
Stripe 商品フィルターの例:
{ "field": "stripeProduct", "operator": "is", "value": "prod_pro" }
{ "field": "stripeProduct", "operator": "is_not", "value": "prod_pro" }
{ "field": "stripeProduct", "operator": "at_least", "value": "prod_pro:3" }
{ "field": "stripeProduct", "operator": "less_than_count", "value": "prod_pro:3" }
コマース商品フィルターは、コマース注文を通じて購入された商品に一致します。値には、プロバイダーごとの ID(shopify、woocommerce、api)を指定する provider:productId、すべてのプロバイダーに一致する単独の商品 ID、またはしきい値演算子用の provider:productId:count を指定できます。
{ "field": "commerceProduct", "operator": "is", "value": "api:starter-kit" }
{ "field": "commerceProduct", "operator": "at_least", "value": "shopify:42:2" }
emailSent、emailDelivered、emailOpened、emailClicked、emailBounced、emailComplained などのエンゲージメントフィールドは、7d、30d、90d、180d、all のようなローリング期間に対応しています。存在演算子では、配信ポリシーで範囲を指定できます。marketing:<timeRange> はマーケティングポリシーのキャンペーン、オートメーション、Send API のトラフィックを対象とし、transactional:<timeRange> はトランザクションポリシーでの送信を対象とします。ポリシーの範囲指定には送信時のポリシースナップショットが必要なため、古いオートメーションイベントと Send API イベントのうちポリシーを特定できないものは、範囲を指定しないフィルターでのみ利用できます。emailBounced では、is_temporary_bounce と is_permanent_bounce を使った範囲指定値にも対応しています。at_least と less_than_count では、10:30d や 10:all のように count:timeRange を使用します。存在演算子では、代わりに campaign:cmp_123 のようなキャンペーンの範囲を指定できます。キャンペーンとメールタイプの範囲指定は、カウント演算子と組み合わせられません。
オーディエンス同期(Meta Ads)
| ツール | 説明 |
|---|---|
list_audience_syncs | スケジュールと最終同期ステータスを含む、セグメントからオーディエンスへの同期を一覧表示します。 |
list_ad_accounts | 同期に利用できるMeta広告アカウントを一覧表示します。 |
create_audience_sync | スケジュールに従って、セグメントをMetaのカスタムオーディエンスに送信します。 |
update_audience_sync | 同期頻度(hourly、daily、weekly)の変更、または一時停止・再開を行います。 |
delete_audience_sync | 同期マッピングを削除します。Metaオーディエンス自体は保持されます。 |
sync_audience_now | 通常のスケジュールとは別に、ただちにアップロードを開始します。 |
Sequenzyダッシュボードの「Settings -> Integrations」でMeta Ads連携を接続する必要があります。create_audience_sync では、既存のセグメント(segmentId)または既製のテンプレート(predefinedSegmentId。例:zero-ltv、no-purchase-1y、recent-buyers、high-spenders-ecom、non-buyers、engaged)を指定できます。テンプレートセグメントは初回使用時に自動作成され、初回アップロードもただちに実行されます。
オーディエンスへの追加のみが行われます。後でセグメントから外れた購読者も、Metaオーディエンスに残ります。Metaでは、広告配信にオーディエンスを使用するために、100人以上の一致するユーザーが必要です。
テンプレート
| ツール | 説明 |
|---|---|
list_templates | ローカライズ状況、ラベル、isTemplate による絞り込み、ページネーションを指定してテンプレートを一覧表示します。 |
get_template | テンプレートの詳細、コンテンツ、ローカライズ版を読み込みます。 |
create_template | プロンプト、HTML、または Sequenzy ブロックからテンプレートを作成します。再利用可能なマスターデザインとして保存するには、isTemplate: true を指定します。 |
update_template | テンプレートのメタデータ、受信トレイのプレビューテキスト、ラベル、HTML、またはブロックを更新します。isTemplate でマスターの指定または解除を行います。 |
set_template_localization | 呼び出し元が提供するローカライズ版を作成または置き換えます。 |
sync_template_localizations | 選択したロケール、または有効なプライマリ以外のすべてのロケールに対して、AI 翻訳をキューに登録します。 |
delete_template | テンプレートを削除します。 |
list_templates はデフォルトで、作成日時が新しい順にメール本文を 50 件返し、最大 100 件まで limit を指定できます。
pagination.hasMore が true の間は、pagination.count ずつ offset を進めてください。pagination.total は、キャンペーンおよびトランザクションメールの本文も含む、一致する件数の合計を示します。
list_templates に isTemplate: true を指定すると保存済みのマスターデザインのみを返し、false を指定すると通常のメール本文を返します。マスターに指定されたデザインは、ダッシュボードのシーケンスステップやキャンペーンの出発点として使用できます。マスターから作成すると独立したコピーが作成されるため、マスターは変更されません。
スタンドアロン/シーケンスでのソースデザインのコピー、および選択したレイアウト内での AI による書き換えは、現在ダッシュボードのみで利用できます。このリリースでは、シーケンスステップを保存する前にユーザーがソース、翻訳、フォールバック用の文面を確認できるよう、これらのワークフローをインタラクティブな作成機能に限定しています。REST、CLI、MCP には、スタンドアロン/シーケンスでのソースデザイン操作に相当する機能はありません。prompt を指定した create_template は既存のレイアウトを保持せずに新しいコンテンツを生成します。HTML またはブロックを指定すると、新しい本文が作成されますが、ローカライズ版は自動的にコピーされません。インターフェースごとの利用可否に関するドキュメントを参照してください。
キャンペーンのコピーは、REST の POST /api/v1/campaigns および MCP の create_campaign で templateId を指定することで、すでに利用できます。AI による書き換えを行うための prompt とは併用できません。
自然言語で新規コンテンツを依頼する場合は、prompt を渡すと、Sequenzy がサーバー側でブランドに沿ったネイティブブロックを生成します。blocks は呼び出し元が提供する完成済みの Sequenzy コンテンツにのみ使用し、html は提供されたマークアップ、または明示的に要求されたマークアップを保持する場合にのみ使用してください。prompt、blocks、html は相互に排他的です。style と tone は prompt と併用する場合にのみ有効です。
翻訳済みの文面が独自のローカライズワークフローで用意される場合は、set_template_localization を使用してください。有効なプライマリ以外の locale、ローカライズ済みの subject、および html または blocks のいずれか一方が必要です。選択したロケールを Sequenzy に翻訳させるには、sync_template_localizations を使用してください。locales を省略すると、有効なプライマリ以外のすべてのロケールが同期されます。自動保存時ローカライズが無効でも、明示的な同期は実行できます。
再利用可能なメールコンポーネント
| ツール | 説明 |
|---|---|
list_email_components | 保存済みのセクションとフッターを一覧表示します。必要に応じて、ピン留めされたデフォルトに限定できます。 |
get_email_component | 1つのコンポーネントのブロック、メタデータ、バージョン、デフォルトスロットの状態を読み取ります。 |
get_default_email_component | footer などのデフォルトスロットに現在ピン留めされているコンポーネントを読み取ります。 |
set_default_email_component | 新しく作成されるブロック形式のメールで使用する、会社のデフォルトフッターを作成または置き換えます。 |
create_email_component | ブロックのリストから、再利用可能なセクションまたはフッターを保存します。 |
update_email_component | コンポーネントのメタデータを更新するか、ブロックを置き換えてバージョンを引き上げます。 |
delete_email_component | すでにブロックをコピーしたメールを変更せずに、コンポーネントを削除します。 |
メールの作成時にコンポーネントがコピーされるため、その後の編集は新しく作成されるメールに反映され、既存のコンテンツは書き換えられません。デフォルトのフッターでは配信停止リンクが有効なままですが、トランザクションメールのレンダリング時にはそのリンクが非表示になります。HTMLを直接記述したメールは独自のマークアップを保持し、ブロックコンポーネントは適用されません。送信時の配信停止処理も変更されません。
A/B テスト
| ツール | 説明 |
|---|---|
list_ab_tests | A/B テストとバリエーションを一覧表示します。必要に応じてシーケンスで絞り込めます。 |
get_ab_test | 有効な設定、バリエーション、ローカライズ状況、シーケンスのステップの文面を取得します。 |
get_ab_test_stats | 集計統計とバリエーション別の統計を取得します。 |
restart_ab_test | 停止中または完了した A/B テストを再開します。 |
select_ab_test_winner | キャンペーンテストの勝者を選択し、残りの配信をキューに追加します。 |
update_ab_test | キャンペーンまたはシーケンスの勝者選択設定を更新します。 |
update_ab_test_variant | キャンペーンの下書きまたはシーケンスのバリエーションの文面を更新します。 |
create_ab_test | キャンペーンテストを作成するか、シーケンスのメールステップを変換します。 |
add_ab_test_variant | 既存の A/B テストにバリエーションを追加します。 |
delete_ab_test_variant | 下書きの A/B テストのバリエーションを削除します。 |
delete_ab_test | A/B テストを削除します。 |
get_sequence.sequence.emails[].abTest.variants を使用すると、シーケンスのバリエーション ID、件名、プレビューテキスト、ブロック数を確認できます。すべてのバリエーションの blocks 全体、有効な settings、ローカライズ状況、または統計を監査するには、get_ab_test を呼び出します。キャンペーン設定では testPercentage、testDurationMinutes、winnerCriteria を使用し、シーケンス設定では testType、winnerThreshold、winnerCriteria を使用します。従来のシーケンス値 testPercentage: 100 と testDurationMinutes: 0 は、実行時の設定ではなく、互換性を保つためのセンチネル値です。select_ab_test_winner は、現在テスト中のキャンペーンテストにのみ適用され、勝者のバリエーションを残りの対象者に対して直ちにキューに追加します。update_ab_test は適切な設定モデルを変更し、シーケンス設定がアクティブなテストまたはすでに使用されたテストに影響する場合は confirmLiveChange: true が必要です。バリエーションの更新では、html または blocks のいずれか一方を指定できます。両方は指定できません。
create_ab_test では campaignId または automationNodeId のどちらか一方だけを指定できます。後者では、追加のバリエーションが 1 つから 4 つ必要であり、シーケンスのメールノードを action_ab_test に変換します。この変換では、ステップの件名、プレビューテキスト、ブロックがそれぞれ独立したバリエーションメールに移されます。テスト ID とバリエーション ID は get_sequence で取得し、get_ab_test で各バリエーションの文面を読み取り、update_ab_test_variant で個別に編集してください。update_sequence_node と update_template ではバリエーションの文面を編集できません。また、ステップ全体を対象とする変更は、すべてのバリエーションに対して繰り返す必要があります。MCP ツール一覧に update_ab_test_variant がない場合は、別のメールツールを使って書き込むのではなく、Sequenzy コネクターでこのツールを有効にしてください。ワークフロー全体には ab_tests:read、ab_tests:write、sequences:write が必要です。これらはすべて より安全なエージェントアクセス に含まれています。sequences:read のみの場合、get_sequence では A/B ステップと対照版の文面は表示されますが、テストレコードのフィールドはマスキングされ、バリエーションリストは空で返されます。明示的なシーケンスの winnerCriteria は testType の既定値より優先されるため、コンテンツのバリエーションでも開封数に基づいて判定できます。アクティブなシーケンス内のノードを変換する場合は、confirmLiveChange: true を指定してください。対照版 A と合わせて、A/B テストで使用できるバリエーションは最大 5 つです。シーケンスのバリエーションにはそれぞれ独立したメールテンプレートが割り当てられ、作成後に編集できます。シーケンスがアクティブになった後、またはテストにアクティビティが発生した後は、update_ab_test_variant に confirmLiveChange: true が必要です。バリエーションを追加または削除できるのは、テストが下書きの間だけです。また、シーケンスが稼働中の場合、変更によってローテーションが直ちに変わるため、確認も必要です。
キャンペーン
| ツール | 説明 |
|---|---|
list_campaigns | ステータスまたはラベルでページ分割されたキャンペーンを一覧表示します。アカウント全体の STO 監査用に、レビュー担当者のフィードバックと配信ペース調整フィールドも含まれます。 |
get_campaign | キャンペーンの詳細、統計、レビュー担当者のフィードバック、記録された配信ペース調整を取得します。 |
get_campaign_audience | 保存済みのターゲティング、不足している参照、平易な言葉での概要、現在の受信者数を解決します。 |
list_campaign_goals | 1 つのメールキャンペーンに保存されているコンバージョン目標を一覧表示します(SMS はサポートされていません)。 |
create_campaign_goal | イベント、購読者属性、またはタグ適用に基づくメールキャンペーンのコンバージョン目標を追加します。 |
update_campaign_goal | 保存済みのメールキャンペーンのコンバージョン目標を更新します。 |
delete_campaign_goal | 保存済みのメールキャンペーンのコンバージョン目標を削除します。 |
list_email_sends | リソース ID と URL を含む最近の配信履歴を検索します。必要に応じて、1 つのシーケンスステップに絞り込めます。成功したライブテストの送信は除外されます。 |
get_email_send | 永続的なメール送信 ID を指定して、キュー登録済み、テスト、送信済み、抑制済み、または失敗した配信を確認します。 |
list_recipient_suppressions | 関連付けられた抑制対象の受信者を一覧表示します。保護対象のグローバルな無効アドレスや苦情も含まれます。 |
get_recipient_suppression | 正確な受信者 1 名について、ローカルのバウンス、苦情、メールの衛生状態、地域別 SES 抑制を確認します。 |
remove_recipient_suppression | ワークスペース内のソフトバウンスによるエスカレーションを解除し、グローバル、ハードバウンス、苦情に対する保護は維持します。 |
create_campaign | コンテンツ、データ、および任意の差出人/返信先 ID の上書きを指定してキャンペーンを作成します。 |
update_campaign | コンテンツ、データ、ID、オーディエンス、保存済み STO 設定など、下書きキャンペーンを更新します。 |
schedule_campaign | STO と 1~24 時間の配信時間枠を必要に応じて上書きし、キャンペーンをスケジュールまたは再スケジュールします。 |
send_test_email | 1 つのアドレスにテストメールを送信します。 |
render_email | メールで安全に使用できる正確な HTML をレンダリングし、デフォルト設定では隠れているタイプミスも含め、未解決のタグを報告します。 |
cancel_campaign | スケジュール済みまたは送信中のキャンペーンをキャンセルします。 |
pause_campaign | 送信中のキャンペーンを一時停止します。 |
resume_campaign | 一時停止中のキャンペーンを再開します。必要に応じて配信を時間をかけて分散できます。 |
delete_campaign | キャンペーンを削除します。 |
duplicate_campaign | キャンペーンを複製して、新しい下書きを作成します。 |
resend_campaign_to_non_openers | 送信済みキャンペーンを開封しなかった元のオーディエンスメンバー向けに、再送用の下書きを作成します。 |
プロンプトから作成したキャンペーンは、1 回の API リクエストで生成・保存され、下書きのままになります。templateId、blocks、または html は、エージェントに作成を依頼するのではなく、既存のコンテンツをコピーまたは保持する場合にのみ使用してください。後で編集するための空の下書きを作成するには、コンテンツフィールドをすべて省略します。 |
キャンペーンの目標では、設定されたアトリビューション期間内に実際にそのキャンペーンが送信された受信者がコンバージョンとしてカウントされます。開封またはクリックがある場合は、引き続きこちらがより強いラストタッチのシグナルになります。イベント目標には triggerEventName、購読者属性目標には attributePath、タグ付与目標には triggerTagName が必要です。キャンペーンのアトリビューション期間は、省略した場合、デフォルトで 168 時間になります。
すべての受信者のそれぞれのタイムゾーンで同じ現地時刻に配信するには、sendInRecipientTimezone: true と、scheduledAt が示す現地時刻を特定する IANA の scheduledTimezone を指定して schedule_campaign を呼び出します。タイムゾーンが保存されていない連絡先には、scheduledAt の時点でキャンペーンが配信されます。このモードは、繰り返し配信または分散配信と併用できません。
送信時刻最適化は、会社やシーケンスのレベルではなく、キャンペーンごとに設定します。list_campaigns でキャンペーン全体を監査するか、get_campaign で個々のキャンペーンを確認します。下書きに対して update_campaign で sendTimeOptimization と sendTimeWindowHours(1~24、デフォルトは 12)を設定するか、スケジュール設定時に schedule_campaign で上書きします。spreadOverHours は優先され、STO を無効にします。同様に、受信者のタイムゾーンに基づく配信も STO を無効にします。一方、シーケンスでは、受信者ごとに予測した送信時刻ではなく、共通の許可時間帯・曜日を制限する sendingWindow を使用します。
キャンペーンおよびシーケンスの送信者情報では、fromEmail と fromName によって、メールボックス上のその表示名を持つ送信者情報が選択されます。該当する情報がない場合は作成されますが、同じアドレスを持つ他の送信者情報の名前は変更されません。Reply-To アドレスには、会社全体で 1 つの保存済みの名前が設定されています。replyToName がその名前と異なる場合、保存済みの名前が維持され、成功レスポンスの warnings に復旧方法が含まれます。
send_email と send_test_email は、永続的な emailSendId を返します。list_email_sends を使うと、件名・タイトル、受信者、配信ステータス、種類、バウンスの種類、または送信元で最近の ID を検索できます。ID を get_email_send に渡すと、status、errorMessage、保存された本文、配信イベントを確認できます。配信一覧の行は 14 日間保持されます。ライブテストやその他のテスト送信の成功分は、実際の配信が埋もれないよう一覧から除外されます。これらのテスト送信への返信が list_conversations に表示されるのは、受信返信の取得が有効になっている場合のみです。キュージョブは内部の実行詳細であり、MCP コントラクトでは公開されません。返されるすべての配信には、ダッシュボードへの直接リンク url が含まれます。list_recipient_suppressions を使うと、保護対象のグローバルな無効受信者、保護対象の会社単位のハードバウンスや苦情と、削除可能な会社単位のソフトバウンスのエスカレーションを区別できます。正確な地域別ステータスを確認するには、get_recipient_suppression を使用します。remove_recipient_suppression で削除されるのは会社単位のエスカレーションのみです。グローバルおよび Amazon SES アカウントレベルの抑制、苦情、配信停止、メール衛生保護は維持されます。ローカルのメール衛生チェックの結果は、購読者の同意ステータスを変更せず、送信元が email_hygiene の bounced 理由として扱われます。
エージェントは、最初の試行より前に呼び出し元が管理する idempotencyKey を send_email に渡し、同じ論理メールの再試行すべてで同じキーを再利用してください。Sequenzy は別の配信を作成せず、元の emailSendId を 14 日間返します。送信引数が異なる場合に同じキーを再利用すると拒否されるため、再試行ループ内で新しいキーを生成しないでください。
メールブロックでは、条件付き表示ルールまたはconditional-group分岐を使用できます。条件は、レンダリング時の変数や購読者属性に加え、セグメント/リストへの所属、タグ、イベント、エンゲージメント、購読/SMS のステータス、Stripe またはコマースでの購入など、購読者の最新データにも対応しています。最新データを使う条件では、セグメントフィルターと同じフィールド値および演算子を使用します。保存済みの購読者と一致しない受信者には、OTHERWISE 分岐が使用されます。
ブロックの基本形は、{ "type": "heading", "content": "Title", "level": 1 }、{ "type": "text", "content": "<p>Copy</p>" }、{ "type": "button", "text": "Book a call", "url": "https://example.com", "variant": "primary" } 、および{ "type": "image", "src": "https://...", "alt": "Description", "width": 100, "widthType": "percent" }です。ボタンではtextの別名としてcontentも使用でき、既定のバリアントはprimaryです。画像のwidthTypeはpercentまたはpxを指定できます。
YouTube 動画ブロックでは、カスタムカバーを任意で指定できます:{ "type": "video", "videoUrl": "https://www.youtube.com/watch?v=...", "thumbnailUrl": "https://cdn.example.com/cover.jpg", "alt": "Watch the product tour" }。thumbnailUrlを指定せずにブロックを置き換えると、クリック時のリンク先としてvideoUrlを維持したまま、YouTube のサムネイルに戻ります。
生のhtmlは、不透明な単一ブロックとして保存されます。指定したマークアップはそのまま保持されますが、会社ロゴ、ネイティブのブランドセクション、テーマに基づくブロックデザインは追加されません。ブランドに沿った新しい下書きにはpromptを、エディターのネイティブデザインにはblocksを使用してください。MCP による作成結果には、生の HTML が使用された場合に警告が含まれます。
アカウント全体の既定値を設定するには、update_companyでfromEmailおよび/またはreplyToを使用してください。fromEmailには、設定済みで認証済みの送信ドメインを使用する必要があります。replyToには、任意の有効なメールアドレスを指定できます。create_campaign、update_campaign、create_sequence、およびupdate_sequenceでは、リソース固有の上書き設定として同じ直接アドレスフィールドを使用でき、必要に応じて対応するプロファイルが作成されます。fromNameまたはreplyToNameのみを送信すると、アドレスを変更せずに既存の既定プロファイルの名前を変更できます。同じアドレスに複数の表示名がある場合は、list_sender_profilesから取得したsenderProfileIdまたはreplyProfileIdを使用して、既定に設定して名前を変更するプロファイルを正確に選択してください。
update_companyでは、emailTheme(presetId、colors、typography、layout)を通じて、会社の既定のメールテーマも管理できます。テーマの更新は部分更新です。省略したフィールドは現在の値(またはプリセットの既定値)を維持し、数値はサポートされる範囲内に制限されます。emailTheme: nullを渡すと、会社のテーマがプラットフォームの既定テーマにリセットされます。レイアウト設定では、共通のbaseRadiusと、ボタン専用のbuttonRadiusを制御できます。colors内では、backgroundが外側のキャンバスに、contentが内側のコンテンツカードに、surfaceがネストされたカードや色付きタイルに適用されます。contentを省略すると現在の値が維持されます。コンテンツの色が保存されていない場合、カードにはbackgroundの色が適用されます。
返信の追跡は、同じ会社用ツールで利用できます。update_companyでreplyTrackingEnabled、replyTrackingDomainMode(sequenzyまたはcustom)、およびforwardRepliesを使用してください。会社情報の読み取りでは、読み取り専用の現在のreplyRetentionDays値も返されます。
アンケートと NPS 調査はネイティブのメールブロックであるため、キャンペーン、テンプレート、A/B バリアント、トランザクションテンプレート、シーケンスのメールステップなど、blocksを受け付けるあらゆるメールツールで使用できます。トランザクションアンケートの送信では、配信抑止フィルタリングと受信者の重複排除後に、有効な受信者がちょうど 1 人に確定する必要があります。また、その受信者は既に購読者として登録されていなければなりません。そうでない場合、回答リンクを安全に紐付けられないため、Sequenzy は送信を拒否します。回答ボタン形式のアンケートを使用してください:
{
"type": "poll",
"variant": "options",
"question": "What did you think of this email?",
"options": [
{ "label": "Loved it", "value": "loved" },
{ "label": "Not for me", "value": "not_for_me" }
],
"attributeKey": "email_feedback"
}
NPS では、"variant": "nps"、空のoptions配列、およびnps_scoreなどの属性を使用してください。スケールは常に 0~10 です。任意のnpsLowLabelとnpsHighLabelを使って、ラベルをカスタマイズできます。各回答によって購読者属性が更新され、自動化および送信 Webhook 用のpoll.answeredイベントが発火します。
テキストのみの選択肢を持つ投票に "allowMultiple": true を設定すると、回答者が複数の回答を選択し、選択内容全体を一度に保存できるホストページを開けます。購読者属性には選択した値のリストが保存されるため、属性セグメントでは contains を使用してください。複数選択式の投票では、選択肢の画像や、エンコードされた署名付きリンクが配信に安全なサイズ上限を超える設定は使用できません。キャンペーンの投票サマリーでは allowMultiple: true を設定し、totalResponses には回答者数を使用します。回答率の合計が 100% を超える場合があります。
投票ブロックでは、ブランド固有のスタイル設定もサポートされています。accentColor は "brutal" を含むすべての外観の色を変更し、optionRadius は回答ボタンの角の丸みをピクセル単位で設定します(0 は正方形)。これはコンテナーの styles.borderRadius とは独立しています。また、questionColor は質問のみの色を変更します。fontFamily は投票全体に適用されます。回答には optionFontSize、optionFontWeight、optionLetterSpacing、optionTextTransform フィールドを使用し、質問には対応する question* フィールドを使用してください。サイズと間隔の単位はピクセルで、ウェイトは 100~900 の範囲です。テキスト変換には "none" または "uppercase" を指定します。
保存済みフォーム
| ツール | 説明 |
|---|---|
list_forms | サーバー管理のオーディエンス設定、コンテンツブロック、公開アクション URL を含む保存済みフォームを一覧表示します。 |
create_form | 標準のメール/名前フィールド、オーディエンス設定、テーマ、成功時の動作を含む保存済みフォームを作成して公開します。 |
update_form | 完全な順序付きブロック配列と型指定されたカスタムフィールドを含め、保存済みフォームを更新します。 |
get_form_embed | 保存済みフォームの公開アクション URL、ホストされた JavaScript、最小限のネイティブフォーム、fetch の例を返します。 |
Astro、Hugo、Jekyll、Cloudflare Pages、Netlify、GitHub Pages、その他の静的サイトでは、list_forms を呼び出し、適切なフォームが存在しない場合は create_form を使用してから、get_form_embed を呼び出してください。返される不透明な formId は公開用の機能識別子です。リスト、タグ、重複時の動作、成功時の処理はサーバー側に保持されるため、デプロイされたブラウザーコードに Sequenzy API キーが含まれることはありません。生成されるネイティブおよびスタンドアロンのマークアップには、無料ワークスペースの場合は「Powered by Sequenzy」が含まれ、有料ワークスペースではブランド表示がありません。API はこの利用資格をサーバー側で判定するため、呼び出し側は返されたスニペットを変更せずに使用してください。フォームを更新する際、省略したフィールドは変更されず、テーマフィールドは現在のテーマにマージされます。タグをクリアするには空の tagIds 配列を渡し、確認メッセージの動作に戻すには空の redirectUrl を渡してください。blocks フィールドは完全に置き換えられるため、最初に list_forms で現在のコンテンツを読み込み、必須のメールフィールドを 1 つ、送信ボタンを 1 つだけ正確に維持してください。カスタム入力を追加する場合は、サポートされている fieldType を指定した form-field ブロックとして追加します。select、radio、checkbox フィールドには選択肢が必要です。hidden のデフォルト値はサーバー側で適用されます。
保存済みポップアップ
| ツール | 説明 |
|---|---|
list_popups | 保存済みポップアップをステータスとエンゲージメント統計とともに一覧表示します。必要に応じて全コンテンツも含められます。 |
get_popup | 1つのポップアップのブロック、トリガー、ターゲティング、スケジュール、頻度、テーマ、公開済み埋め込みコードを取得します。 |
create_popup | 開始テンプレートからポップアップを作成します。デフォルトで公開され、デプロイ用スクリプトを返します。 |
update_popup | ポップアップの文面、オーディエンス、動作、テーマ、ブロック、公開ステータスを部分的に更新します。 |
get_popup_embed | シークレット情報を含まないHTML、React/Next.js、WordPress、Shopifyの埋め込みスニペットを返します。 |
duplicate_popup | ポップアップを、独立したエンゲージメントカウンターを持つ下書きとして複製します。 |
delete_popup | ポップアップとそのエンゲージメントカウンターを完全に削除します。 |
ポップアップのデプロイでは、公開用のスクリプトタグを1つ使用します。APIキー、オーディエンス設定、
トリガー、ターゲティング、スケジュール、頻度ルールはサーバー側に保持されます。ポップアップは
デフォルトですべてのリストに登録します。listIdsを指定すると、そのリストにのみ登録します。ブロックを
更新する場合は、最初にポップアップを読み込み、完全な置き換え用配列を送信してください。その際、
必須のメールフィールドと送信ボタンをそれぞれ1つだけ保持します。
statusをdraftに設定すると、既存の埋め込みコードを無効にすることなくポップアップを停止できます。
ランディングページ
| ツール | 説明 |
|---|---|
list_landing_pages | ステータス、指標、コンテンツ、URL を含むランディングページの一覧を取得します。 |
get_landing_page | ランディングページの詳細、ビルダーのコンテンツ、指標、公開済み URL を取得します。 |
render_landing_page | 公開、ビュー数の計上、登録者情報の収集を行わずに、24 時間有効な署名付きの訪問者向けプレビューを返します。 |
create_landing_page | デフォルトのテンプレートコンテンツまたは JSON から、ランディングページの下書きを作成します。 |
update_landing_page | ランディングページの名前、スラッグ、またはエディター互換のコンテンツ全体を編集します。 |
publish_landing_page | ランディングページを公開します。必要に応じて、先に編集内容を保存できます。 |
unpublish_landing_page | ランディングページを下書きステータスに戻します。必要に応じて、先に編集内容を保存できます。 |
duplicate_landing_page | ランディングページを複製し、一意のスラッグを持つ新しい下書きを作成します。 |
delete_landing_page | 未公開のランディングページを削除します。 |
connect_landing_page_domain | カスタムランディングページドメインを接続し、DNS の設定情報を返します。 |
update_landing_page_domain_settings | ランディングページのカスタムドメイン設定を置き換えるか、検証します。 |
ランディングページのコンテンツには、version、template、seo、theme、blocks を含む Sequenzy のエディター互換 JSON スキーマを使用します。SEO 設定には faviconUrl と hideFromSearchEngines が含まれます。非表示のページを公開すると、noindex ディレクティブが設定されます。公開前に訪問者に表示される現在のページを確認するには、render_landing_page を使用してください。署名付きの previewUrl は 24 時間後に期限切れになり、非公開で、インデックス登録されず、ページビュー数も増加しません。フォームは表示されますが、連絡先情報は収集されません。ブロックはスロット順に表示されます。
top、hero、form、body、次に
footer の順です。ヒーローの上に全幅の告知やバナーを表示するには、top を使用してください。ボタンと料金プランの CTA URL には、外部の HTTPS の宛先、または #form、#section-<sectionId>、#block-<blockId>、#top などのページ内アンカーを指定できます。公開ページでのスクロール時の表示効果を制御するには、theme.sectionAnimation に none、fade、slide-up、zoom-in を設定し、theme.sectionAnimationSpeed に slow、normal、fast を設定します。カスタムランディングページのサブドメインには、pages.sequenzydns.com を参照する CNAME レコードが必要です。ルートドメインには 76.76.21.21 を参照する A レコードが必要です。また、その www ホストの CNAME が pages.sequenzydns.com を参照している場合、www ホストはルートドメインにリダイレクトされます。DNS の変更が反映された後、verify: true を指定して update_landing_page_domain_settings を呼び出してください。
シーケンス
| ツール | 説明 |
|---|---|
list_sequences | ダッシュボードのステータス、検索、ラベル、件数、オフセットの各フィルターを指定して、シーケンスを一覧表示します。 |
get_sequence | ab_tests:read を使用して、シーケンスの詳細、A/B バリアント ID とブロック数、ノード、エッジ、関連するコピー、シーケンスの送信時間帯を取得します。 |
list_sequence_enrollments | ページネーションと、リスト/タグ/イベント/時刻に基づく正確な登録元の帰属情報を使用して、コンタクトの登録を一覧表示します。ライブのシーケンステストでは登録は作成されません。 |
send_sequence_test_email | 保存済みの action_email ステップをレビュー担当者 1〜10 人に送信します。A/B ステップはバリアントごとに確認されます。 |
create_sequence | 空のダッシュボード下書き、または AI 生成/明示的なステップを含むシーケンスを作成します。 |
update_sequence | ID、設定、登録、既存のステップ、分岐ロジックを更新するか、直線的なステップを挿入します。 |
update_sequence_node | 既存のシーケンスノード 1 つを、型に応じてパッチ更新します。 |
update_sequence_nodes | 複数の既存シーケンスノードをアトミックにパッチ更新します。 |
insert_sequence_step | AI 生成、アウトバウンド Webhook、待機、接続済みの分岐など、型を問わずダッシュボードのステップを挿入します。 |
edit_sequence_graph | グラフノードを移動、再接続、削除、複製し、移動または完了した受信者を報告します。 |
simulate_sequence | 登録や送信を行わずに、現在の一致、有効化の準備状況、任意のコンタクトの分岐経路をドライランで確認します。 |
enable_sequence | シーケンスを有効化します。 |
disable_sequence | シーケンスを凍結し、新規登録をブロックして、現在の受信者を保留します。 |
duplicate_sequence | グラフ、メール、シーケンスの A/B テストを含む独立した下書きコピーを作成します。 |
archive_sequence | シーケンスをダッシュボードのアーカイブに移動し、新規登録を停止します。 |
unarchive_sequence | アーカイブ済みのシーケンスを無効な下書きとして復元します。 |
list_sequence_goals | シーケンスに保存されているイベント、購読者属性、タグ適用のコンバージョン目標を一覧表示します。 |
create_sequence_goal | イベント、購読者属性、またはタグ適用のコンバージョン目標を追加します。 |
update_sequence_goal | 保存済みのシーケンスコンバージョン目標を更新します。 |
delete_sequence_goal | 保存済みのシーケンスコンバージョン目標を削除します。 |
get_sequence_inbound_webhook | 標準 MCP ではインバウンド URL、設定状態、サンプル、マッピングを読み取ります。OpenAI ルートでは認証情報を含む URL が除外されます。 |
configure_sequence_inbound_webhook | エンドポイント、フィールドマッピング、サンプルを設定します。OpenAI ルートでは、結果から認証情報を含む URL が除外されます。 |
rotate_sequence_inbound_webhook_secret | インバウンドシーケンスエンドポイントのシークレットをローテーションし、標準 MCP では置き換え後の URL を返します。OpenAI の審査済みルートでは除外されます。 |
pause_sequence_enrollments | アクティブなシーケンスの新規登録を停止し、現在の受信者の処理は続行します。 |
resume_sequence_enrollments | 現在の受信者を変更せずに、アクティブなシーケンスの新規登録を再開します。 |
enroll_subscribers_in_sequence | メールアドレス、購読者 ID、またはその両方を指定して、最大 500 人の購読者を、再試行に安全な冪等性を保って登録します。 |
cancel_sequence_enrollments | 購読者、またはエントリーイベントのフィールド値で指定して、アクティブな登録または待機中の登録を停止します。 |
realign_sequence_enrollments | ライブの待機を送信時間帯の開始時刻まで前倒しするプレビューを表示するか、移動をキューに登録します。 |
get_sequence_enrollment_realignment | 適用済みの再調整ジョブをポーリングし、完了結果または継続カーソルを読み取ります。 |
delete_sequence | シーケンスを削除します。 |
| シーケンスの作成では、次の操作がサポートされています。 |
- 名前のみを指定して、ダッシュボードに一致する空の無効なトリガーから完了までの下書きを作成します。
- ダッシュボードのメタデータと配信設定:
description、labels、userCancellable、シーケンスの BCC、送信元/返信先の ID。 trigger: "contact_added"とlistId、複数のlistIds、またはlistScope:any_contact(デフォルト)は、どのリストにも参加しない連絡先も含め、追加されたすべての連絡先を登録します。一方、any_listは、実際にリストに参加するまで待機します。trigger: "tag_added"とtagNameまたは複数のtagNames。設定されたタグのいずれかがあれば、連絡先を登録します。- 保存済みセグメントへの進入をトリガーとする自動化には、
trigger: "segment_entered"とsegmentIdを指定します。 trigger: "event_received"と、件名または本文のコンテンツ内の{{event.*}}マージタグを指定します。- ダッシュボードと互換性のある Webhook 進入ノードには、
trigger: "inbound_webhook"とインテグレーションのメタデータを指定します。 trigger: "inactivity"とeventName、inactiveDays、および任意のinactivityBaseline(sequence_created_atまたはsubscriber_created_at)を指定します。- AI が生成するメールコンテンツには
goalを指定します。 - 目標ベースの AI 生成メールの表示形式を選択するには、
emailStyle: "visual"または"plain"を指定します。省略した場合は、会社に保存されている設定が使用されます。 - Sequenzy の
blocksを使った明示的なsteps。 - HTML を使った明示的な
steps。Sequenzy は HTML を編集可能なブロックに変換します。 - トリガーイベントのプロパティをプロフィールフィールドまたは型付きカスタム属性にコピーする、明示的な購読者更新ステップ。
delay/delayMsによる固定待機、waitUntilによる動的な日付フィールドまでの待機、またはwaitUntilWeekdayによるカレンダーゲート。{ "day": "sunday", "startTime": "09:00", "endTime": "12:00", "timezone": "America/Los_Angeles" }のような曜日ゲートは、次に条件が一致する時間枠までフローを保留します。メールの直前に配置すると、その時間枠内に送信できます。間に別のステップがあると、配信が時間枠から外れる場合があります。キューの復旧時には、遅延中の連絡先を解放する前に時間枠が再確認されます。- 動的な Stripe または Shopify の割引アクションステップ。
create_discountステップは、各購読者が到達するたびに新しいプロバイダーコードを作成します。後続のメールでは、{{discount.code}}、{{discount.percentOff}}、{{discount.expiresAt}}などのマージタグを使用できます。 - 製品、バリエーション、注文、またはサブスクリプション固有のイベント自動化では、
enrollmentMode: "matching_field"とスカラー値のenrollmentFieldPathを指定します。[]による配列の走査は登録キーではなく、propertyFiltersに指定します。
カスタムイベントトリガーの場合、create_sequence の成功結果には
eventTrackingCode と構造化された eventTracking オブジェクトが含まれます。
このオブジェクトには、イベントエンドポイント、ID とペイロードの仕様、
matching_field 登録に必要なプロパティパス、正規化されたトリガーの propertyFilters、
サンプルペイロード、examplePayloadMatchesFilters、イベント API の直接のドキュメント URL、および
get_integration_guide に使用できる引数が含まれます。一致ステータスが
false の場合は、examplePayloadNote とペイロードの仕様に従ってサンプルを調整してください。
下書きシーケンスを有効にする前に、このイベントフィードを追加し、必要なプロパティを確認してください。
list_sequence_enrollments は各行について enteredVia を返します。リストとセグメントの
ソースでは、安定した ID が value に保持され、表示用の name が解決されます。
タグとイベントのソースでは、名前が value に保持されます。時間ベースのトリガーは、
通常の受信イベント登録と誤認されないように、inactivity または frequency を報告します。
ライブシーケンステストでは登録は作成されません。独立したテストメールが送信され、
アクティビティはシーケンステストの実行に記録されます。
確認済みの手動登録バッチでは、idempotencyKey を一度生成し、
同一の順序付きターゲットと targetNodeId に対してのみ、そのキーを再利用してください。
受領記録は 14 日間保持されます。再試行すると、元の enrolled、skipped、
notFound、targetNodeId、scheduledFor の値が idempotentReplay: true とともに返されます。
トークンは作成されず、バッチが再度キューに追加されることもありません。
Shopify の動的割引ステップの例:
{
"type": "create_discount",
"discount": {
"provider": "shopify",
"discountType": "percent",
"percentOff": 20,
"duration": "once",
"appliesToAllPlans": true,
"maxRedemptions": 1,
"codePrefix": "WINBACK"
}
}
購読者更新ステップの例:
{
"type": "update_subscriber",
"nodeType": "action_update_attributes",
"config": {
"firstName": "{{event.firstName}}",
"customAttributeUpdates": [
{ "name": "plan", "value": "{{event.plan}}", "valueType": "text" },
{ "name": "mrr", "value": "{{event.amount}}", "valueType": "number" },
{ "name": "active", "value": "{{event.active}}", "valueType": "boolean" }
]
}
}
数値とブール値には、リテラルまたは単独のマージタグを指定する必要があります。get_sequence で取得した action_update_attributes ノード ID を指定して update_sequence.subscriberUpdateSteps を使用すると、既存ステップの設定を置き換えられます。
シーケンスの更新では、get_sequence が返す nodeId の後に新しい直線状のステップを追加するための insertSteps をサポートしています。afterNodeId を省略できるのは、直線状の末尾がちょうど 1 つあるシーケンスに追加する場合のみです。insertSteps では、メール、遅延、タグ/リストのアクション、属性の更新、割引、条件、イベント待機ステップ、アウトバウンド Webhook、AI ステップなど、関連レコードを必要としない追加可能なステップをサポートしています。action_ai ステップには、マージタグの prompt、一意の resultKey、1 つ以上の outputFields が必要です。後続のステップでは {{ai.KEY.field}} を使用して生成テキストまたはフォールバックテキストを読み取れます。出力フィールドの合計上限は、ステップの 2000 トークンの応答予算内に収めてください。生成に含める連絡先コンテキストを指定するには、includeTags、includeEventProperties、includeAttributes を使用します。また、エラー時の動作を選択するには onError(continue、exit、fail)を使用します。複数経路の if/else 分岐には branch を使用します。branch と insertSteps のいずれか一方を指定し、両方は指定しないでください。分岐条件では、has_tag と does_not_have_tag によるタグの有無の確認のほか、リスト、保存済みセグメント、イベント、クリックされたリンク、フィールドの比較をサポートしています。各分岐パスには、新しい steps、既存の targetNodeId、またはその両方を指定できます。フォールバックには elseSteps、elseTargetNodeId、またはその両方を使用します。ターゲットには get_sequence が返す完了ノードも指定できるため、1 回のアトミックなリクエストで、返信を完了に、Else を既存の後続ステップに振り分けられます。emails 配列と steps 配列では、nodeId、emailId、または配列順を使って通常の action_email ステップを編集できます。get_sequence.sequence.emails には action_ab_test エントリーも含まれます。ab_tests:read がある場合、各 abTest.variants[] エントリーには、バリアント ID、件名、プレビューテキスト、ブロック数が含まれます。コピーを監査または書き換える前に、get_ab_test を呼び出して各バリアントの本文全体を取得してください。バリアント上に位置指定更新を適用しようとすると拒否されます。コピーを変更するには、update_ab_test_variant を使用してバリアントごとに変更してください。update_template または update_sequence_node を使って再試行しないでください。新しいステップの作成には insertSteps を使用します。追加するメールにタイマーが必要な場合は、ステップレベルの delay、delayMs、waitUntil、または waitUntilWeekday を指定してください。waitUntil は、トリガーイベントの日付フィールドに、任意の offset、direction(before または after)、missingAction(continue または exit)を組み合わせて指定します。waitUntilWeekday では、day または days、startTime、任意の endTime(デフォルトは 24:00)、IANA timezone を指定します。すでに時間枠内にいる連絡先は、直ちに続行します。アクティブなシーケンスの場合は、ライブフローへの影響を確認してから、insertSteps または branch とともに confirmStructuralChange: true を指定してください。
insert_sequence_step では、関連レコードのないダッシュボードのステップをすべて直接指定できます。メール、SMS、遅延、割引、購読者の更新、タグ/リストのアクション、アウトバウンド Webhook、AI 生成、条件、待機、分岐が対象です。後続の {{ai.KEY.field}} マージタグで連絡先ごとのテキストを生成するには、type: "ai" と prompt、resultKey、outputFields を設定します。アウトバウンド Webhook には、url、method(POST または GET)、文字列値の headers を指定できます。メールステップは、トランザクションモード、ステップごとの ID、CC/BCC の配信設定に対応しています。待機ゲートには、type: "logic_wait_for_event" と eventName、任意の timeoutDays(1-365)、timeoutAction(continue または exit)を設定します。分岐には、type: "logic_branch" を設定し、型指定された branches を指定して、各ターゲットを接続します。
{
"sequenceId": "seq_123",
"type": "logic_branch",
"afterNodeId": "node_email_1",
"branches": [
{
"id": "replied",
"conditionType": "event_received",
"eventName": "email.replied",
"activityScope": "this_sequence",
"targetNodeId": "node_complete"
}
],
"elseTargetNodeId": "node_email_2"
}
get_sequenceによって返される、リンク済みメールにはそれぞれ有効な
emailPreset(brandedまたはminimal)が含まれます。これはダッシュボードの
スタイル > フォーマットに対応します。会社のテーマを変更せずに、該当するリンク済みメールだけを変更するには、emails/steps項目、または
action_emailノードのchangesでemailPresetを設定します。これは、対応しているカスタムHTMLブロックを含むメールも含め、Sequenzyのネイティブブロックにダッシュボードと同じフォーマット変換を適用します。単独の未加工HTMLブロック1つだけで構成されたメールの場合、emailPresetはnullを返し、フォーマットを変更できません。
emailPresetは、これらのフィールドがメール全体を単独の未加工HTMLに置き換えるため、htmlやhtmlContentと組み合わせることはできません。
配信シーケンス内の位置には、リンク済みメールとメールノードのトップレベルでstructuralStepNumberを使用してください。これは現在のグラフから算出され、ダッシュボードに表示されるステップ番号と一致します。並列分岐のメールは意図的に同じ構造上の深さを共有し、長さの異なる分岐が合流する場合は、より長い入力パスの続きから進みます。リンク済みメールとノード設定にある従来のstepNumberフィールドは、後方互換性のために保存されている序数であり、グラフの編集後に古くなっている可能性があります。
リンク済みメールには、それぞれ保存済みのemailThemeオーバーライドも返されます。会社のテーマに従っている場合はnullです。そのステップだけのスタイルを変更するには、emails/steps項目、またはaction_emailノードのchangesでemailThemeを設定します。テーマの更新は部分パッチであるため、changes: { "emailTheme": { "colors": { "background": "#f3f4f6", "content": "#ffffff" } } }とすると、その他の色、タイポグラフィ、レイアウトは維持したまま、そのメールの外側のキャンバスをグレーに、コンテンツカードを白にできます。どちらかの色を省略すると、現在の値が維持されます。オーバーライドを解除して、再び会社のテーマに従わせるにはemailTheme: nullを渡します。アカウント全体のデフォルトを変更する場合にのみ、update_companyを使用してください。
対象を絞ったインプレース編集にはupdate_sequence_nodeを、複数のノードパッチをアトミックにコミットする場合にはupdate_sequence_nodesを使用してください。まずget_sequenceを呼び出してください。sequence.nodesの各項目には、ノードのid、nodeType、現在のconfig、updatedAt、編集可能なフィールドと管理対象フィールド、および返すべき正確な同時実行制御トークンを含むupdateHintsが含まれます。古い書き込みを拒否するには、そのトークンをexpectedUpdatedAtとして渡してください。これらのツールは、遅延、メール/SMSコンテンツ、アクション、条件、Webhook、トポロジーを変更しない分岐設定、トリガーなど、保存されているすべてのノードタイプに対応しています。5分の遅延を7日に変更するには、そのlogic_delayノードに対してchanges: { "delay": { "days": 7 } }を送信します。創業者らしい文面のメモをいくつかMinimalにするには、各action_emailノードにchanges: { "emailPreset": "minimal" }を指定してパッチを適用します。ノードタイプの変換やエッジ/パスの変更には、edit_sequence_graphを使用してください。アクティブな配信シーケンスでは、ユーザーが影響を確認した後にconfirmLiveChange: trueが必要です。すでに待機中の受信者には、既存のスケジュール済みタイムスタンプが引き続き適用されます。
既存および新しく挿入されたメールステップでは、senderProfileId、またはfromEmailと任意のfromNameを指定して、そのステップのFrom情報を設定できます。また、replyProfileId、またはreplyToと任意のreplyToNameを指定して、そのステップのReply-To情報を設定できます。fromNameだけを指定した場合、そのステップで表示される送信者名だけが変更されます。同様に、ステップレベルのreplyToNameは、そのステップで表示されるReply-To名だけをオーバーライドし、会社全体の返信先プロファイルの名前は変更しません。IDフィールドを明示的に指定していない新しいメールステップは、最も近い配信シーケンス内のメールの有効なID情報を継承します。分岐の合流後に継承されるのは、すべての入力パスで共通するIDフィールドのみです。競合するフィールドには、配信シーケンスまたは会社のデフォルトが使用されます。
get_sequence から取得した最新の graphRevision を指定して edit_sequence_graph を使用すると、既存のシーケンスをアトミックに再構成できます。ノードを別のノードの前後に移動したり、正規化された sequence.edges 配列を再利用して明示的な再接続や複数ノードの並べ替えを行ったり、ノードを削除したり、ノードをディープコピーしたりできます。A/B テストを複製すると、統計情報がリセットされた、独立したテスト、バリアント、メール、ローカライズの各レコードが作成されます。ブランチの下にある共有ノードの前にノードを移動すると、合流するすべてのブランチ経路がそのノードを経由するように再接続されます。ノードを削除すると、保留中の受信者は一意に残る後続ノードへ直ちに移動し、後続ノードが残らない場合は処理が完了します。結果の sequence.migratedRecipientCount と sequence.completedRecipientCount を確認してください。保留中の受信者に複数の継続先が残る場合、削除は拒否されます。古いリビジョン、無効なブランチレーン、循環、到達不能なノードも拒否されます。アクティブなシーケンスでは confirmStructuralChange: true が必要です。
一括キャンセルを実行する前に、dryRun: true を指定して cancel_sequence_enrollments を実行してください。
ライブシーケンスの送信時間枠を変更した後、メールに紐づく既存の待機時間を新しい開始時刻へ早める場合は、realign_sequence_enrollments を実行してください。
デフォルトでは dryRun: true です。dryRun: false を渡すと、バックグラウンドジョブがキューに登録され、jobId が返されます。get_sequence_enrollment_realignment でジョブをポーリングしてください。完了した結果の hasMore: true の場合は、nextCursor を使って次の上限付き適用をキューに登録してください。適用された再調整はライブ配信時刻を変更するため、プレビューを確認したうえでユーザーが承認した場合にのみ使用してください。
メールブロック
| ツール | 説明 |
|---|---|
get_email_block_schema | すべてのメールブロックタイプを一覧表示するか、1 つのタイプの必須フィールド、列挙値、項目の形状、例を確認します。 |
これまで使用したことのないブロックタイプを自分で作成する場合は、事前に get_email_block_schema を呼び出してください。すべてのタイプを一覧表示するには blockType を省略し、list や steps などのタイプを渡すとその完全なリファレンスを取得できます。また、creatableOnly: true を渡すと、エディターが管理するタイプを除外できます。永続化された group ブロックはエディターの構造コンテンツです。Stack、Row、Grid、または単一画像の Overlay レイアウト内で子ブロックを再帰的にラップしますが、AI 生成と creatableOnly では意図的に除外されます。既存のグループ化されたコンテンツを読み取るときや更新するときにフィールドを確認するには、blockType: "group" を指定してください。リストは text のバリアントではなく、独立したブロックタイプです。list の項目では content を使用し、steps の項目では title と省略可能な description を使用します。
blocks を受け取るツールは、ブロックごとのビジュアルスタイルをブロックの styles オブジェクトに保存します。
{
"type": "card",
"title": "Your update",
"content": "Everything is ready.",
"variant": "default",
"styles": {
"backgroundColor": "#f8fafc",
"backgroundOpacity": 85,
"borderColor": "#cbd5e1",
"borderWidth": 1,
"borderRadius": 12
}
}
以前のエージェントプロンプトとの互換性のため、backgroundColor、backgroundOpacity、borderColor、borderWidth、borderRadius などのトップレベルのスタイルキーも受け付け、styles 内に保存されます。
トランザクションメール
| ツール | 説明 |
|---|---|
list_transactional_emails | テンプレートを検索/絞り込み、配信指標で並べ替えます。件名とダッシュボードの URL を返します。 |
get_transactional_email | ID またはスラッグでトランザクションメールを読み取ります。 |
create_transactional_email | プロンプト、HTML、またはブロックからトランザクションテンプレートを作成します。 |
update_transactional_email | トランザクションメールのメタデータまたは本文コンテンツを更新します。 |
send_email | テンプレートまたは HTML を使って、To、Cc、Bcc の共有宛先に 1 通のメールを送信します。 |
プロンプトから作成したトランザクションテンプレートはサーバー側で生成され、確認用にデフォルトで無効になります。明示的な HTML またはブロックのテンプレートは、互換性のため有効をデフォルトとします。いずれのデフォルトも上書きするには、enabled を明示的に渡してください。
メールを直接送信する場合は、to、subject、html を渡してください。MCP サーバーは html をトランザクション API の body フィールドに割り当てます。保存済みのトランザクションメールを使う場合は、互換性のための名前である templateId フィールドに、その API スラッグを渡してください。トランザクションメールの送信では、to、cc、bcc はそれぞれ 1 件のアドレス、または最大 50 件のアドレスの配列を受け付けます。API は宛先リストを共有する 1 通のメールを送信し、複数フィールド間の重複を to、次に cc、次に bcc の優先順位で削除します。マーケティングメールの送信では、引き続き受け付け可能な to アドレスがちょうど 1 件必要で、追加の宛先には対応していません。
send_email の変数では、繰り返しブロック用にネストされた配列を使用できます。例:{ "event": { "items": [...] } }。宛先が外部 ID またはメールアドレスで保存済みの購読者と一致する場合、省略された名前変数には保存済みの姓と名が自動的に設定されます。空欄も含め、明示的に指定した値が優先されます。
省略可能な attachments 配列では、最大 10 個、合計 7MB までのファイルを受け付けます。各項目には filename と、Base64 の content または公開 HTTP(S) path のいずれか 1 つが必要です。HTML から参照する CID 画像を埋め込むには contentId を設定し、必要に応じて MIME 判定を上書きするには contentType を設定してください。
trackingSettings を省略した場合は、会社の Transactional API のトラッキングデフォルトが適用されます。1 回の送信でリンクの書き換えや開封ピクセルを無効にするには、trackingSettings.clickTracking: false または trackingSettings.openTracking: false を使用してください。これらの送信ごとのオプションはオプトアウトのみで、アカウント全体または Transactional API のデフォルトで無効になっているトラッキングを有効にはできません。デフォルトを確認または変更するには、get_tracking_settings と update_tracking_settings を使用してください。
エージェントやワークフローで再試行する場合は、send_email に安定した idempotencyKey(最大 255 文字)を含めてください。論理的なメール 1 件につき 1 つのキーを使用し、再試行時は同じ引数を送信してください。このキーは 14 日間有効です。
分析
| ツール | 説明 |
|---|---|
get_stats | 7d、30d、または 90d の概要統計を取得します。構造上のメール種別で絞り込めます。 |
get_transactional_stats | ID またはスラッグを指定して、保存済みのトランザクションメール 1 件の全期間または期間指定の指標を取得します。 |
get_campaign_stats | キャンペーンのパフォーマンス、返信指標、関連付けられたコンバージョン目標、Poll/NPS の概要を取得します。 |
list_poll_responses | 各回答者について、ブロックごとの最新の Poll/NPS 回答を、本人情報と回答時刻とともに一覧表示します。 |
get_sequence_stats | シーケンスの全体および各ステップのパフォーマンスに加え、現在のノードごとの進行中・待機中の登録数を取得します。 |
list_email_metrics | キャンペーンとシーケンスの各ステップについて、ファネル、返信、コンバージョン、収益を比較します。シーケンスをまたぐステップも対象です。 |
list_campaign_events | キャンペーンの生のメールイベントをページ分割して一覧表示します。 |
list_sequence_events | シーケンスの生イベントをページ分割して一覧表示します。必要に応じて 1 つのメールステップに絞り込めます。 |
get_subscriber_activity | 登録者のメール統計、アクティビティ、登録状況を取得します。 |
キャンペーンおよびシーケンスのイベントフィルターでは、配信、バウンス、苦情、エンゲージメント、配信停止、遅延イベントに加えて、transport_failure を指定できます。
トランスポート障害は、MTA インフラストラクチャまたは送信経路のリソース枯渇を示すものであり、有効な宛先アドレスをバウンスとして分類するものではありません。
分析ツールでは、検出されたボット、スキャナー、リンクプレビュー、およびトラッキング対象アセットの開封/クリックは、デフォルトで除外されます。生のエンゲージメント診断が必要な場合は、get_stats、get_campaign_stats、get_sequence_stats、get_ab_test_stats、get_subscriber、または get_subscriber_activity に includeMachineEngagement: true を渡してください。含まれる開封/クリックのアクティビティ行には、API がイベント単位のアクティビティを返す場合、machine、engagementQuality、classificationReasons フィールドが含まれます。
get_sequence_stats.enrollmentCounts は、現在のノードごとにグループ化された、進行中および待機中の登録実行のライブスナップショットです。登録トークンを数えるため、必ずしも個別の登録者数とは一致せず、過去の period、start、end フィルターの対象にはなりません。
キャンペーン間またはシーケンスの各ステップ間の比較には、list_email_metrics を使用してください。複数のシーケンスで同じステップを合計するには、任意で sequenceId の値を指定し、step を渡します。受信者を調べるには、返された automationNodeId を list_sequence_events または list_email_sends で使用してください。campaignId は sequenceId または step と同時に指定できません。明示的に指定したキャンペーンおよびシーケンスのスコープには、アクティビティがゼロの設定済みメールも含まれるため、パフォーマンスの低い項目が黙って除外されることはありません。
Send API およびトランザクション SMTP 配信の配信率、開封率、クリック率、返信率を取得するには、get_stats に emailType: "transactional" を渡してください。直接送信と保存済みテンプレートからの送信が含まれます。1 件の配信のステータスとイベントのタイムラインを確認するには、send_email が返す emailSendId を get_email_send で使用してください。保存済みのトランザクションメール 1 件の集計レートが必要な場合は、get_transactional_stats を使用してください。レスポンスには、クリック数の多いリンク、苦情、返信、最新の恒久的/一時的なバウンス分類、人間およびマシンによる開封/クリック数が個別に含まれます。直接コンテンツ送信には安定したテンプレート ID がなく、アカウントのトランザクション統計と配信検索から引き続き確認できます。
キャンペーンで Poll または NPS の回答を収集すると、get_campaign_stats にはトップレベルの polls 配列が含まれます。各購読者は、各ポーリングブロックにつき、最新の回答に基づいて 1 回だけカウントされます。NPS の概要には、スコア、平均値、および推奨者・中立者・批判者の人数が含まれます。エンゲージメント指標に期間フィルターが適用されている場合でも、これらは全期間の回答概要です。
誰が何にいつ回答したかを確認するには、list_poll_responses を使用します。ポーリングブロックごとに、各購読者の最新の回答が新しい順に返され、メールアドレス、保存された値、属性キー、回答時刻が含まれます。特定のポーリングに絞り込むには blockId を指定します。シーケンスメールのステップの場合は、そのオートメーションノード ID を campaignId として指定します。購読者属性をスキャンしてこの履歴を再構築しないでください。属性には回答時刻がなく、後続のメールで同じキーが再利用されると、値が上書きされている可能性があります。
カウントの根拠となる過去の回答者を正確に一覧表示するには、フィールドに pollResponse、演算子に is を指定し、キャンペーンと概要の blockId を指定した JSON 値を使って create_segment を呼び出します。
{
"v": 1,
"campaignId": "camp_123",
"blockId": "poll_1",
"match": { "kind": "answer", "value": "loved" }
}
NPS の場合は、{"kind":"npsBucket","bucket":"detractors"} のような条件を使用します。有効な区分は promoters、passives、detractors です。概要の attributeKey には購読者の現在または最新の回答が保存されており、同じキーを再利用する後続のポーリングによって上書きされる可能性があるため、過去の回答を正確に絞り込む用途には適しません。
チーム、受信トレイ、Webhook
| ツール | 説明 |
|---|---|
list_team_members | チームメンバーと保留中の招待を一覧表示します。 |
invite_team_member | オプションで請求へのアクセス権を付与して、チームメイトを管理者または閲覧者として招待します。 |
cancel_team_invitation | 保留中のチーム招待をキャンセルします。 |
list_conversations | ステータスと未読のフィルターを指定して、購読者からの返信の会話を一覧表示します。 |
get_conversation | 会話とメッセージ履歴を読み込みます。 |
reply_to_conversation | 返信を送信キューに追加するか、内部メモを追加します。 |
update_conversation_status | 会話を開くか、閉じます。 |
mark_conversation_read | 会話内のすべてのメッセージを既読にします。 |
list_webhooks | 送信Webhookエンドポイントを一覧表示します。 |
create_webhook | エンドポイントを作成し、標準MCPでは一度だけ表示される署名シークレットを返します。OpenAIによるレビュー済みルートでは省略されます。 |
update_webhook | Webhookの名前、URL、イベント、またはステータスを更新します。 |
delete_webhook | Webhookエンドポイントと配信履歴を完全に削除します。 |
test_webhook | Webhookエンドポイントにテストイベントを送信します。 |
list_webhook_deliveries | Webhookの最近の配信試行を一覧表示します。 |
replay_webhook_delivery | Webhookの配信を再実行します。 |
リストごとの同意変更は、オプトイン形式の送信イベントとして利用できます:
subscriber.list_subscribed および subscriber.list_unsubscribed。ペイロードには購読者とリストが示され、action は added または removed として報告され、変更の source(例:preferences_page、dashboard、api、automation)が含まれます。
MTAの転送経路が尽きた場合など、配信が最終的に失敗したときは email.failed イベントを使用します。受信者のバウンスには引き続き email.bounced を使用します。
メールまたはSMSキャンペーンの処理が完了した後、有効な送信対象者数が0人の場合も含めて、ワークフローで最終通知を1回だけ受け取る必要がある場合は、明示的に指定する campaign.sent イベントを使用します。標準MCPでは create_webhook で events を省略しても、このイベントは追加されません。OpenAIによるレビュー済みルートでは、Webhookの作成時または編集時にダッシュボードで追加してください。
AI 生成
| ツール | 説明 |
|---|---|
generate_email | プロンプトからブランドに合わせたメールブロックを生成します。 |
generate_sequence | 目標ベースのシーケンスの下書きを保存する、非推奨のエイリアスです。 |
generate_subject_lines | A/B テスト用の件名候補を生成します。 |
生成されたメールコンテンツには、デフォルトで会社のロゴとフッターが含まれます。
generate_email は、装飾のないコンテンツブロックを生成する applyBranding: false と、
配信停止リンクのないフッターを指定する emailType: "transactional" を受け付けます。
プロンプトベースのキャンペーンには、会社で設定されているメールフォントが引き継がれます。生成された
コンテンツは、レビュー用の下書きとして返されます。create_sequence を使用すると、
list_sequences に表示される、無効状態のシーケンスの下書きを生成して保存できます。非推奨の
generate_sequence エイリアスも同じ処理を行います。
SMS
| ツール | 説明 |
|---|---|
generate_sms | プロンプトから SMS の文面を生成します。 |
get_sms_settings | SMS アドオンの準備状況、クレジット、デフォルト設定、割り当て済み番号を読み取ります。 |
get_sms_usage | 番号ごとに、送信数、配信結果、消費クレジット、最終アクティビティ、テスト送信を比較します。 |
update_sms_number_label | 番号のラベルまたは番号ごとのブランド接頭辞の上書き設定を更新します。 |
release_sms_number | 番号をキャリアに完全に返却し、ワークスペースの割り当て枠を解放します。 |
send_test_sms | テストメッセージを送信します。必要に応じて fromNumberId で割り当て済みの送信元を選択できます。 |
release_sms_number は取り消せません。解放した番号が指定されているキャンペーンやシーケンスのステップでは、有効な
番号に再設定されるまで SMS の送信がスキップされます。get_sms_usage は本番の合計数と
testSends を別々に報告します。send_test_sms で fromNumberId を省略すると、本番送信と同じく、最も古くから有効な番号が
デフォルトで使用されます。テスト送信は実際に送信され、クレジットが消費されるメッセージです。配信停止時間帯を
回避し、24 時間のローリング期間において会社あたり 100 件までに制限されます。
プロダクトへのフィードバック
submit_feedback は、ユーザーが Sequenzy チームへのフィードバック送信を明示的に依頼した場合にのみ使用してください。
標準の MCP では、報告に必要な場合、構造化された再現情報のフィールド userIntent、toolCalls、expected、actual、resourceIds を含められます。OpenAI がレビューする経路で受け付けるのは、メッセージ、カテゴリ、任意の一般化されたワークフローコンテキストのみです。
無関係な購読者データ、メールコンテンツ、生の API ペイロード、デバッグデータ、シークレットは含めないでください。
リソース
サーバーは読み取り専用の MCP リソースも公開します。
| リソース | 説明 |
|---|---|
sequenzy://dashboard | 過去 7 日間のリアルタイムな概要統計です。 |
sequenzy://company | 現在の会社とローカライズ設定です。 |
sequenzy://campaigns/recent | ステータスと基本統計を含む直近 10 件のキャンペーンです。 |
sequenzy://subscribers/recent | 最近追加された購読者です。 |
sequenzy://subscribers/engaged | 最もアクティブ、またはエンゲージメントの高い購読者です。 |
sequenzy://sequences | ステータスを含むすべてのシーケンスです。 |
sequenzy://templates | ローカライズ状況を含むテンプレートです。 |
sequenzy://segments | 購読者数を含む保存済みセグメントです。 |
sequenzy://tags | 使用数を含むタグです。 |
sequenzy://health | 到達性指標とヘルスステータスです。 |
sequenzy://email-blocks | すべてのメールブロックタイプのフィールドリファレンスです。 |
sequenzy://app-routes | ダッシュボードのルートテンプレートと設定タブです。 |
プロンプトの例
Add [email protected] with tags "vip" and "developer", then put them on the beta list.
Create a 4-email churn prevention sequence for users whose subscription expires soon. Leave it in draft mode.
Create a segment for subscribers who bought Stripe product prod_pro at least 3 times.
Draft a campaign about our new analytics dashboard, target the Pro users segment, and send a test to me.
How did the last campaign perform compared with the one before it?
セキュリティ
- 共有チームシークレットではなく、個人用 API キーを使用してください。
- キーでアクセスできるのは、Sequenzy ユーザーがアクセスできる会社のみです。
- アクセスが不要になったら、Settings -> API Keys からキーを取り消してください。
- 送信、スケジュール設定、削除、一括変更では、クライアントの承認プロンプトを有効にしておいてください。
- キャンペーンとシーケンスでは下書きのワークフローを優先し、公開前に Sequenzy で確認してください。
トラブルシューティング
SEQUENZY_API_KEY environment variable is required
MCP クライアントの設定で SEQUENZY_API_KEY を設定するか、次を実行してください。
npx @sequenzy/setup
API キーが無効です
Settings -> API Keys で新しい個人用キーを作成し、MCP の設定を更新して、クライアントを再起動してください。
API キーのスコープが不足しています
get_account を呼び出し、apiKeyPermissions を確認してください。ローカル接続では
apiKeyPermissions.manageUrl を開き、読み込まれたキーに不足しているスコープを追加してから、
再起動せずに再試行してください。update_api_key で操作できるのは、すでに
api_keys:manage を持つ会社のキーのみです。個人用キーはアカウントレベルの
API Keys ページで編集してください。ホストされた OAuth 接続では、接続を切断して
より広い権限で再認証することもできます。ツールのエラーには必要なスコープが
正確に記載されています。
リソースの重複
ツール呼び出しによって重複するセグメント名または送信ドメインが作成される場合、サーバーは安定した code、エージェント向けの description、具体的な resolution、および docsUrl を返します。セグメントの場合は、list_segments を呼び出し、既存のセグメント ID を再利用するか、別の名前を選択してください。ウェブサイトの場合は、list_websites を呼び出してください。選択した会社にドメインが表示されない場合、そのドメインは別の会社またはアカウントに属しているため、削除、再割り当て、または別の送信ドメインへの置き換えが必要です。
ツールが表示されない
- クライアントが使用する環境で
npxが利用可能であることを確認してください。 - 設定を編集した後、MCP クライアントを再起動してください。
- 設定がクライアント固有の正しい場所にあることを確認してください。
ネットワークまたは API URL の問題
サーバーはデフォルトで https://api.sequenzy.com を使用します。これを上書きする場合は、SEQUENZY_API_URL が到達可能な Sequenzy API のベース URL を指していることを確認してください。
開発
bun install
bun test
bun run type-check
bun run build
MCP ツールのスキーマは、厳格なクライアントとの互換性を維持する必要があります。
- ツールの
inputSchemaのルートは、プレーンなtype: "object"スキーマにしてください。 - ツールスキーマのどこにも
anyOfを公開しないでください。 - ツールスキーマのルートに
oneOf、allOf、enum、またはnotを置かないでください。 - 条件付きの要件はハンドラーで適用し、テストで確認してください。
この独立したリポジトリは、Sequenzy のメインのモノレポで管理されている MCP パッケージを反映しています。同期間のルールについては AGENTS.md を参照してください。
ライセンス
MIT
エージェントネイティブなディスカバリー
Sequenzy は、エージェントネットワークおよび A2A 形式のディスカバリー向けに、機械可読なマニフェストを公開しています。
- リモート MCP エンドポイント:
https://api.sequenzy.com/v1/mcp - エージェント機能マニフェスト:
agent-capability.json - A2A 形式のエージェントカード:
.well-known/agent-card.json - OpenClaw/Moltbot スキルのメタデータ:
openclaw/skill.json - OpenClaw/Moltbot の運用ガイド:
openclaw/SKILL.md
これらのファイルでは、Sequenzy をエージェント向けの認可済みメール自動化機能として説明しています。スクレイピング、スパム、未承諾のコールドアウトリーチの用途は明示的に除外しています。
ワークスペースのロール
アカウントキーによるアクセスでは、キーのスコープと現在のワークスペースロールを組み合わせて制御します。get_account は、ブロックされたスコープを apiKeyPermissions.roleRestrictedScopes で報告します。canSendLive は、許可された配信ワークフローが少なくとも1つ利用可能であることを意味し、すべての送信ツールが許可されていることを意味するものではありません。
marketer を招待すると、トランザクションメール、ワークスペース設定、チーム、請求へのアクセスを許可せずに、購読者、マーケティングキャンペーン、シーケンスを管理させることができます。マーケターは既存の送信者/返信プロフィールを選択します。トランザクション機能を利用するキャンペーン、A/B テスト、シーケンスのソースは、プレビュー、共有、分析、送信履歴を通じて保護されます。マーケターおよび制限付きメンバーには請求へのアクセスを付与できません。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。