Sequenzy MCP

官方

SaaS 的電子郵件行銷工具

你可以用 Sequenzy MCP 做什麼?

  • 管理訂閱者與區隔 — 請您的助理建立名單、套用標籤、整合大量標籤,或透過 create_list 等工具測試合成事件。
  • 建立並發送行銷活動 — 使用 create_campaign 和 send_campaign 等工具,草擬、排程、預覽或發送電子郵件行銷活動,包括已解析的受眾預覽與轉換目標。
  • 建立登陸頁面與表單 — 設計以名單為範圍的註冊表單與登陸頁面,採用響應式區塊版面,然後發布或透過 create_landing_page 取得靜態網站嵌入碼。
  • 同步受眾至 Meta — 將動態區隔推送至 Meta 自訂受眾,用於 Facebook 與 Instagram 再行銷。
  • 管理序列與自動化 — 使用 create_sequence 等工具,建立多步驟電子郵件序列,包含進入觸發條件、停止條件,以及傳送測試給審核者。
  • 監控送達率與發送狀態 — 使用 get_sending_status 和 resume_sending 診斷暫停的發送、檢查退信/申訴壓制,並恢復符合資格的硬退信暫停。

文件

Sequenzy MCP 伺服器

Sequenzy 的官方 MCP 伺服器,這是一個由 AI 驅動的電子郵件行銷平台。

將 Sequenzy 連接到 Claude Desktop、Claude Code、Codex、Cursor、Windsurf、VS Code Copilot、OpenClaw 及其他 MCP 用戶端,讓您的 AI 助理可以透過結構化工具管理電子郵件操作,而無需手寫 API 呼叫。

您可以做的事

  • 管理訂閱者、標籤、名單和動態區隔,包括批次標籤對帳和合成事件測試。
  • 將區隔同步到 Meta 自訂受眾,用於 Facebook 和 Instagram 再行銷。
  • 管理產品並附加數位交付檔案,用於購買自動化。
  • 上傳託管的電子郵件圖片,包含替代文字和可重複使用的響應式裁切設定。
  • 草擬、更新、排程和檢查行銷活動,包括解析後的受眾預覽、持久化的轉換目標,以及寄件者、回覆地址、副本和密件副本身分。
  • 將行銷活動、序列步驟和範本渲染為精確的電子郵件安全 HTML,而不實際寄出。
  • 在電子郵件中新增一鍵式投票和 NPS 調查區塊,並檢查行銷活動回應摘要。
  • 建立和編輯電子郵件序列,包括多個名單/標籤觸發條件、進入受眾和屬性篩選的停止條件、寄件身分覆寫、現有圖表重構,以及直接向內部審核者發送步驟測試。
  • 取消、暫停、恢復、複製或刪除行銷活動,並將聯絡人加入序列。
  • 管理交易型電子郵件範本,並向共用的收件者、副本和密件副本收件者名單發送交易型電子郵件。
  • 提供本地化的範本變體,或為已啟用的語言排隊 AI 翻譯。
  • 建立、預覽、編輯、發布、取消發布和刪除著陸頁。
  • 建立以名單為範圍的儲存註冊表單,包含響應式堆疊、列、網格和 單一圖片覆蓋區塊群組(包括前景間距控制),然後 回傳用戶端安全的靜態網站嵌入。
  • 使用相同的遞迴區塊版面建立、鎖定、發布、複製和部署儲存的註冊彈出視窗。
  • 為已發布的著陸頁連接和驗證自訂網域。
  • 管理團隊邀請、收件匣對話和對外 Webhook 端點。
  • 產生電子郵件文案、主旨行和多步驟序列。
  • 檢查分析、訂閱者活動、送達率健康狀態、公司層級的發送暫停、整合、已發布的事件負載結構、寄件身分、追蹤設定和儀表板 URL。
  • 檢查工作區是否顯示「透過 Sequenzy 寄送」、為何擁有者訂閱會或不會移除該標示,並開啟標準訂閱頁面以進行升級或續訂。權限變更會套用至現有即時序列的未來發送,而無需編輯其區塊。
  • 診斷發送暫停的原因,並在確認名單清理後恢復符合資格的硬退信暫停。
  • 檢查精確收件者的退信、投訴和電子郵件衛生抑制,並清理符合資格的過時退信,而不會暴露共用的 SES 抑制清單。
  • 設定公司產品資訊、帳戶層級的寄件身分預設值、重新命名個別寄件者和回覆地址設定檔、管理寄件者網域,並檢查常見框架的整合範例。

每個已發布的 MCP 工具都包含明確的 readOnlyHint、destructiveHint 和 openWorldHint 註解,讓相容的用戶端可以顯示準確的工具使用提示。工具也會發布 outputSchema 定義並回傳 structuredContent,為用戶端和模型提供機器可讀的結果形狀,以便進行後續呼叫。

快速設定

最簡單的設定路徑是 Sequenzy 精靈:

npx @sequenzy/setup

精靈會開啟瀏覽器登入流程、建立個人 API 金鑰、偵測支援的 AI 用戶端,並在可能的情況下自動設定它們。

託管的遠端 MCP

對於支援 Streamable HTTP MCP 的用戶端,請使用 Sequenzy 的託管端點,而不是執行本機 stdio 程序:

https://api.sequenzy.com/v1/mcp

ChatGPT 和 OpenAI 外掛目錄使用經過審查的託管介面:

https://api.sequenzy.com/v1/mcp/openai

該介面共用相同的實作,並保留標準工具集, 但六個操作除外: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 套件支援 MCP 規範 2026-07-28,同時保持與 2025 時代用戶端的相容性。現代 HTTP 用戶端使用每次請求的探索和方法標頭;現有用戶端 可透過相同的端點和套件命令繼續運作。

機器可讀的探索檔案:

資料與隱私

Sequenzy 只會將使用者要求執行的工具所需的資料傳送給 MCP 用戶端, 範圍限於所選工作區以及授予該用戶端的金鑰或 OAuth 範圍。 視要求的工具而定,這可能包括工作區名稱和 ID;訂閱者聯絡資訊、同意、受眾、屬性、事件、互動、 回覆、調查和商務資料;行銷活動和自動化內容;送達分析; 以及整合或 Webhook 狀態。請參閱 Sequenzy 隱私權政策 以了解完整的類別、 目的、接收者、保留期間和使用者控制。

請勿使用開放式的自訂屬性、事件、備註、表單、Webhook 範例、 電子郵件變數或意見回饋來提交支付卡資料、健康或醫療 資料、政府識別碼、生物辨識或基因資料、驗證 憑證、敏感的族群資料或精確的地理位置。

經 OpenAI 審查的路由會陳述並強制執行這些限制於相關的 開放式輸入,包括巢狀屬性路徑(例如 profile.ssn)、 座標對(例如 lat/lng)以及帶有標籤的散文(例如 Religion: ... 或 GPS coordinates: ...)。它會拒絕任何引數中包含憑證的 URL, 無論憑證位於 userinfo、路徑、查詢或 片段中,例如帶有存取權杖或 URL 的表單或彈出視窗 redirectUrl 簽名。合併標籤內受限制的屬性選擇器會被拒絕, 而不會封鎖關於相同主題的一般撰寫內容。在此介面上, render_email 接受範例資料或經政策檢查的內聯 subscriber,但 不接受 subscriberId,因此無法解析未經檢查的儲存自訂屬性。 其結果會移除受限制的欄位、原始 API 錯誤、偵錯負載、內部 請求/追蹤/工作階段識別碼、不必要的帳戶或憑證 識別碼、儲存的含憑證 URL 和入站 Webhook URL。標準 遠端 MCP 和本機 stdio 套件保留完整的契約給受信任的 用戶端,包括以憑證為基礎的整合設定、一次性 API 金鑰和 Webhook 密碼、入站 Webhook 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 - Sequenzy 儀表板基礎 URL,由應用程式 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 的 agent 隨後即可在聊天中使用 Sequenzy 工具,包括當 Grok 是所選模型時。

若要改為手動設定本機 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 金鑰

  1. 開啟 Sequenzy 儀表板。
  2. 使用 MCP 設定流程建立個人金鑰,或開啟 設定 -> API 金鑰 以建立公司金鑰。
  3. 選擇權限預設集或整合所需的確切自訂範圍。
  4. 將金鑰新增到您的 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 金鑰;公司金鑰會開啟所選工作區的 API 金鑰設定。 如果金鑰不包含 account:read,請直接開啟 Sequenzy 儀表板 並選擇 相符的 API 金鑰頁面。

權限可以就地編輯,因此請開啟 manageUrl。對於公司金鑰,請使用 list_api_keys 及其 isCurrent 旗標來識別目前的金鑰,然後再 編輯它,接著重試失敗的工具,而無需更換憑證或 重新啟動用戶端。使用具有 api_keys:manage 的公司金鑰的 agent 可以 改為呼叫 update_api_key;個人金鑰必須在帳戶層級的 頁面上編輯,因為該工具只管理公司金鑰。其 scopes 和 preset 輸入會取代整個權限選擇,而不是合併,因此請保留 每個仍需要的現有範圍。託管的 OAuth 連線可以 改為中斷連線並以更廣泛的權限重新授權。 當使用中的金鑰本身缺少 api_keys:manage 時,請呼叫 request_api_key_handoff 而不是重試 update_api_key。此操作需要 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 個;僅省略上述六個操作。

工具會拒絕它們未宣告的引數,而不是靜默忽略它們。 錯誤會指出不支援的欄位、列出支援的引數,並提供 針對常見錯誤(例如發明的訂閱者篩選器或 排序選項)的聚焦指引。

帳戶、公司、設定

工具說明
get_account取得帳戶資訊、可用公司、目前金鑰權限,以及 API 金鑰管理 URL。
select_company設定未來工具呼叫的啟用中公司。
get_app_urls為行銷活動、登陸頁面、序列、電子郵件、設定、訂閱管理、網域及已寄送電子郵件詳細資料建立儀表板 URL。settingsTab: "billing" 解析為帳戶 -> 訂閱。
create_company建立新公司或品牌。
get_company讀取公司詳細資料、產品資訊、品牌脈絡、本地化、回覆追蹤設定、目前的寄件者/回覆預設值,以及有效的唯讀 emailBranding 權限,包含方案/狀態原因與訂閱 URL;STO 明確標示為僅限行銷活動。
update_company編輯產品資訊、品牌脈絡、電子郵件主題、回覆追蹤,以及帳戶層級的寄件者/回覆設定檔預設值或名稱。
get_sync_rules讀取公司的事件對標籤規則,以及是否使用繼承的平台預設。
update_sync_rules取代所有同步規則;傳入 [] 以停用它們,或傳入 null 以採用 SaaS/電商平台預設。
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_keyrevoke_api_key 的相容性別名。
list_websites列出寄件網域,包含儲存的彙總、SPF、DKIM 及 MAIL FROM 狀態。
add_sending_domain新增寄件網域,並傳回其群組特定的 DNS 設定記錄。
add_websiteadd_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取得單一網站追蹤金鑰及其精確安裝程式碼片段與接收端點。
create_web_tracking_key為非 Shopify 店面或網站建立可發布的追蹤金鑰。
update_web_tracking_key重新命名、限制、撤銷或重新啟用網站追蹤金鑰。
delete_web_tracking_key在移除程式碼片段後,永久刪除網站追蹤金鑰。
list_sender_profiles列出寄件者與回覆對象設定檔、預設值及寄送網域就緒狀態。
update_sender_profile重新命名單一寄件者或回覆對象設定檔,而不變更帳戶預設值。
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,或為範例預覽省略訂閱者資料。

若要呈現 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 密鑰必須為 16-153 個 UTF-8 位元組。在省略 connect_integration 的經 OpenAI 審核路由上,請改在儀表板或本機 CLI 中連線 Segment。使用 sync_integration 以儲存的憑證重試。

對於 Lemon Squeezy,請傳入 provider: "lemon_squeezy"、API 金鑰,以及作為 providerAccountId 的數值商店 ID。省略 webhookSecret 以使用預設受管設定;回應會回報 webhookProvisioning 與 testMode。僅在手動 Webhook 設定時提供 16-40 個字元的簽署密鑰,使用回傳的 webhookUrl。憑證絕不會被回傳。

對於 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)。僅有可發布金鑰只會記錄匿名活動,無法觸發訂閱者自動化。回傳的程式碼片段會在其非同步載入器之前安裝同步方法存根,因此在頁面啟動期間進行的身分與事件呼叫會被排入佇列,直到 SDK 就緒。偏好使用 update_web_tracking_key 撤銷金鑰,而非永久刪除它。

新公司沒有同步規則。透過將 null 傳遞給 update_sync_rules,繼承的預設仍可用於 SaaS/電子商務公司;服務與顧問公司通常應保留 [] 或定義明確規則。

使用 list_sender_profiles 尋找設定檔 ID,然後呼叫 update_sender_profile 僅變更其顯示名稱。為回覆設定檔傳入 type: "reply";寄件者為預設值。地址、寄送網域與帳戶層級預設 From/Reply-To 選取維持不變。重新命名需要 companies:manage 範圍。

使用 delete_sender_profile 永久移除過時的 From 身分。它會拒絕最後一個寄件者,以及任何被即時行銷活動、作用中序列(包括步驟覆寫)或交易電子郵件使用的設定檔。符合資格的草稿與帳戶預設值會移至回傳的 fallbackSenderProfileId;在寄送前請檢閱它。此刪除工具不支援回覆設定檔。

Shopify 購物車放棄預設為啟用。它在購物車閒置一小時後觸發 ecommerce.cart_abandoned,每位訂閱者有 24 小時的冷卻時間。使用 update_shopify_automation_settings 變更 cartAbandonment.enabled、delayHours 或 cooldownHours 欄位;傳入 cartAbandonment: null 以在不變更瀏覽放棄或降價設定的情況下恢復那些預設值。時間值必須為正數;delayHours 上限為 168,cooldownHours 上限為 720。

訂閱者

工具說明
add_subscriber新增一位訂閱者;狀態僅限建立時使用,因此對於現有聯絡人請使用 update_subscriber。
create_subscriber_import排入最多 5,000 筆完整 CRM 記錄,可選的 retry-safe idempotencyKey;啟用的電子郵件健康檢查會在擷取後繼續單獨進行。
get_subscriber_import讀取已排入匯入的進度、列結果計數與失敗摘要。
update_subscriber更新原生設定檔與電話欄位、SMS 同意、屬性、標籤或全域狀態。
remove_subscriber取消訂閱同時保留抑制歷史,或僅在 hardDelete: true 下永久刪除。
get_subscriber依電子郵件或外部 ID 擷取訂閱者詳細資料。
search_subscribers依查詢、標籤、清單、狀態、區隔或一個自訂屬性搜尋,具有自動或可恢復的分頁。
trigger_subscriber_event完全如同整合般發出一個自訂事件,套用同步規則並比對序列觸發器。
trigger_subscriber_events為一位訂閱者發出數個有序的自訂事件。
import_subscriber_events跨聯絡人匯入最多 25 個來源識別的事件;靜默歷史要求聯絡人的每一列都超過一小時。
bulk_add_subscriber_tags為最多 500 位現有訂閱者新增標籤;需要 subscribers:tag,且可能也需要 tags:write。
bulk_remove_subscriber_tags從最多 500 位現有訂閱者移除標籤;需要 subscribers:tag 或 subscribers:write。

使用 create_subscriber_import 進行 CRM 入職,而非迴圈使用 add_subscriber。一次呼叫接受 5,000 筆完整記錄並回傳非同步匯入 ID;使用 get_subscriber_import 輪詢它。completed 匯入仍可能包含列失敗,因此請檢查 failedCount 與 failedReasons。每一筆排除的列都有說明:skippedReasons 總和為 skippedCount,而 failedReasons 總和為 failedCount。請使用匯入 ID 回報任何短缺,而非猜測哪些列被省略。當電子郵件健康檢查啟用時,可傳遞性檢查會在擷取後繼續單獨進行,結果會出現在清單健康度中;匯入狀態不會等待或包含那些判定。無效判定會從後續寄送中抑制。僅在同意已驗證時使用 optInMode: "confirmed"。

對於 import_subscriber_events,當一列可能建立新聯絡人時,電子郵件為必填;externalId 僅可單獨用於現有聯絡人。在每一列上提供穩定的 eventId。重試會重複使用原始收據,並冪等地重新嘗試下游復原。歷史分類是依聯絡人進行的:如果聯絡人的任何一列是近期的,該聯絡人的整個群組會使用即時副作用路徑。

對於合規抑制,請使用 status: "unsubscribed" 呼叫 update_subscriber(或使用不含 hardDelete 的 remove_subscriber)。請勿以不同狀態重試 add_subscriber:該工具上的狀態僅在聯絡人首次建立時套用,不符的略過結果會被回報為錯誤。 當 add_subscriber 省略 listIds 時,呼叫所建立的聯絡人會遵循工作區的預設清單,而既有聯絡人則會保留其目前的清單成員資格。當既有聯絡人應加入特定清單時,請明確傳入清單 ID;傳入 [] 則表示不鎖定任何清單。

update_subscriber.phone 寫入的是聯絡人上顯示的原生電話欄位,而非自訂屬性。只有在驗證明確的書面同意後才傳入 smsConsent: true,或傳入 false 讓聯絡人選擇退出。在沒有 smsConsent 的情況下變更電話號碼會重設 SMS 同意,因為同意權歸屬於舊號碼。

add_subscriber、update_subscriber 和 create_subscriber_import 接受 IANA timezone,例如 America/New_York。該值會儲存在原生聯絡人檔案中,並啟用收件者本地的行銷活動投遞。傳入空的時區給 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上傳電子郵件圖片,並傳回其託管媒體記錄以及可立即插入的圖片區塊。

該工具接受 PNG、JPEG、GIF 和 WebP 圖片,最大 5MB。本機 stdio 用戶端 可以傳入 filePath。可存取附件位元組的託管/遠端用戶端可以 傳入 imageBase64 搭配 filename。提供 altText 以確保無障礙性,然後 使用 displayWidthPercent、cropHeight、objectFit(cover 或 contain)和 align 來標準化螢幕截圖呈現。傳回的 imageBlock 可以 直接複製到行銷活動、序列、範本和交易電子郵件工具所接受的區塊陣列中。

已驗證的圖片位元組一律上傳到由 SEQUENZY_API_URL 設定的原始來源, 即使反向代理在另一個主機下傳回等效的上傳 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 端點是 POST /api/v1/lists/{listId}/subscribers,沒有 /bulk 後綴:

{
  "emails": ["ada@example.com", "grace@example.com"],
  "duplicateStrategy": "skip",
  "enrollInSequences": false,
  "optInMode": "default"
}

每個請求最多傳送 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_not
  • tag:contains、not_contains、is_empty、is_not_empty
  • email:contains、not_contains
  • emailProvider、list:is、is_not、is_empty、is_not_empty
  • firstName、lastName:contains、not_contains、is_empty、is_not_empty
  • added:less_than、more_than
  • attribute:is、is_not、is_empty、is_not_empty、gte、lte、gt、lt、contains、not_contains
  • event、電子郵件參與度欄位:is、is_not、at_least、less_than_count
  • emailBounced:也支援 is_temporary_bounce、is_permanent_bounce
  • stripeProduct:is、is_not、at_least、less_than_count
  • stripeCurrentProduct、stripeTrialProduct:is、is_not、gte、lte、gt、lt
  • commerceProduct: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" }

商務產品篩選條件會比對透過商務訂單購買的產品。值可以是 provider:productId 以表示提供者範圍的 ID(shopify、woocommerce 或 api)、比對任何提供者的裸產品 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 時,請使用 count:timeRange,例如 10:30d 或 10:all。存在運算子也可以改用行銷活動範圍,例如 campaign:cmp_123;行銷活動和電子郵件類型範圍不能與計數運算子結合。

受眾同步(Meta 廣告)

工具說明
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 儀表板中連線 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 封電子郵件內文(最新優先),並接受 limit 最高 100。在 pagination.hasMore 為 true 時,透過 pagination.count 推進 offset;pagination.total 回報完整符合的 計數,包含行銷活動與交易型電子郵件內文。

在 list_templates 上設定 isTemplate: true 以僅回傳已儲存的主設計, 或設定 false 以回傳一般電子郵件內文。已標記的主設計會作為 儀表板序列步驟與行銷活動的起點;從主設計開始會建立 獨立副本,因此編輯不會影響原始主設計。

獨立/序列來源設計複製與在所選版面配置內的 AI 重寫目前僅限 儀表板功能。此版本刻意將這些工作流程保留在互動式 編輯環境中,讓使用者在儲存序列步驟前能檢閱來源、翻譯與任何備援副本。REST、CLI 與 MCP 未提供等效的獨立/序列來源設計 操作。create_template 搭配 prompt 會產生新內容,而不保留 現有版面配置;提供的 HTML 或區塊會建立新內文,而不會自動 複製本地化變體。請參閱介面可用性文件。

行銷活動副本已可透過 REST POST /api/v1/campaigns 與 MCP create_campaign 搭配 templateId 運作;無法與 prompt 結合進行 AI 重寫。

對於以自然語言請求的全新內容,請傳遞 prompt,讓 Sequenzy 在伺服器端產生品牌原生區塊。僅對已完成的 呼叫端提供 Sequenzy 內容使用 blocks,且僅在保留提供 或明確請求的標記時使用 html。prompt、blocks 與 html 互斥; style 與 tone 僅在搭配 prompt 時有效。

當翻譯副本來自您自己的 本地化工作流程時,請使用 set_template_localization。它需要一個啟用的非主要 locale、一個本地化的 subject,以及 html 或 blocks 其中一個。使用 sync_template_localizations 要求 Sequenzy 翻譯選定的語言; 省略 locales 以同步所有啟用的非主要語言。即使停用自動儲存時本地化,明確同步仍可運作。

可重複使用的電子郵件元件

工具說明
list_email_components列出已儲存的區段與頁尾,可選擇僅限釘選的預設項目。
get_email_component讀取單一元件的區塊、中繼資料、版本與預設插槽狀態。
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、主旨、預覽文字與區塊計數;呼叫 get_ab_test 稽核每個變體的完整 blocks、有效 settings、本地化狀態或統計資料。行銷活動設定使用 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 其中一個;後者需要一至四個額外變體,並將序列電子郵件節點轉換為 action_ab_test。此轉換會將步驟的主旨、預覽文字與區塊移至獨立的變體電子郵件。從 get_sequence 取得測試與變體 ID,使用 get_ab_test 讀取每個變體的副本,並使用 update_ab_test_variant 編輯每個變體;update_sequence_node 與 update_template 無法編輯變體副本,且針對整個步驟的變更必須在每個變體上重複執行。如果 update_ab_test_variant 不在 MCP 工具清單中,請在 Sequenzy 連接器上啟用它,而非透過其他電子郵件工具寫入。完整工作流程需要 ab_tests:read、ab_tests:write 與 sequences:write,全部包含在更安全的代理存取中。僅有 sequences:read 時,get_sequence 會保持 A/B 步驟與控制副本可見,但會編輯測試記錄欄位並回傳空的變體清單。明確的序列 winnerCriteria 會覆寫 testType 預設值,因此內容變體仍可透過開啟數來評判。在轉換作用中序列的節點時,請傳遞 confirmLiveChange: true。與控制 A 一起,A/B 測試最多支援五個變體。序列變體會接收獨立的電子郵件範本,且可在建立後編輯;一旦序列作用中或測試有活動,update_ab_test_variant 需要 confirmLiveChange: true。變體只能在測試為草稿時新增或移除,且即時序列變更也需要確認,因為它們會立即變更輪替。

行銷活動

工具說明
list_campaigns依狀態或標籤列出分頁的行銷活動,包含審核者意見回饋與投遞節奏欄位,適用於帳戶層級的 STO 稽核。
get_campaign取得行銷活動的詳細資料、統計數據、審核者意見回饋,以及記錄的投遞節奏。
get_campaign_audience解析已儲存的目標設定、遺漏的參照、白話摘要,以及即時收件者人數。
list_campaign_goals列出單一電子郵件行銷活動所保留的轉換目標(不支援 SMS)。
create_campaign_goal新增事件、訂閱者屬性,或套用標籤的電子郵件行銷活動轉換目標。
update_campaign_goal更新已保留的電子郵件行銷活動轉換目標。
delete_campaign_goal刪除已保留的電子郵件行銷活動轉換目標。
list_email_sends搜尋最近的投遞紀錄,包含資源 ID 與 URL,可選擇限定於單一序列步驟。成功的即時測試寄送會被省略。
get_email_send透過持久的電子郵件寄送 ID,檢查佇列中、測試、已寄出、已抑制或失敗的投遞。
list_recipient_suppressions列出相關聯的已抑制收件者,包含受保護的全域無效地址與投訴。
get_recipient_suppression針對單一精確收件者,檢查本機退信、投訴、電子郵件衛生,以及區域 SES 抑制。
remove_recipient_suppression移除工作區的軟退信升級,同時保留全域、硬退信與投訴保護。
create_campaign建立行銷活動,包含內容、資料,以及可選的寄件者/回覆身分覆寫。
update_campaign更新草稿行銷活動,包含內容、資料、身分、受眾,以及已保留的 STO 設定。
schedule_campaign排程或重新排程行銷活動,可選擇覆寫 STO 及其 1-24 小時的投遞時段。
send_test_email傳送測試電子郵件至單一地址。
render_email渲染精確的電子郵件安全 HTML,並回報未解析的標籤,包含被預設值隱藏的拼寫錯誤。
cancel_campaign取消已排程或寄送中的行銷活動。
pause_campaign暫停寄送中的行銷活動。
resume_campaign恢復已暫停的行銷活動,可選擇隨時間分散投遞。
delete_campaign刪除行銷活動。
duplicate_campaign將行銷活動複製為新的草稿。
resend_campaign_to_non_openers為原始受眾中未開啟已寄出行銷活動的成員,建立草稿重寄。

提示建立的行銷活動會在單一 API 請求中產生並保留,且維持為草稿狀態。 僅在複製或保留既有內容(而非要求代理程式撰寫新內容)時,才使用 templateId、blocks 或 html。省略所有 內容欄位可建立空白草稿,供日後編輯。

行銷活動目標會將實際收到該行銷活動的收件者計入設定的歸因時段內;當存在開啟或點擊時,該訊號仍為較強的 最後觸及訊號。事件目標需要 triggerEventName, 訂閱者屬性目標需要 attributePath,而套用標籤的目標 需要 triggerTagName。行銷活動歸因時段在省略時預設為 168 小時。

若要在每位收件者各自的時區中於相同的牆鐘時間投遞,請呼叫 schedule_campaign,並搭配 sendInRecipientTimezone: true 與一個 IANA scheduledTimezone,用以識別 scheduledAt 所代表的牆鐘時間。沒有儲存時區的聯絡人會在 scheduledAt 的時刻收到行銷活動。此模式無法與週期性或分散 投遞合併使用。

寄送時間最佳化(STO)是依行銷活動設定,而非在公司或 序列層級。使用 list_campaigns 跨行銷活動稽核,或使用 get_campaign 檢查單一 行銷活動。在草稿上使用 update_campaign 設定 sendTimeOptimization 與 sendTimeWindowHours(1-24,預設 12),或在排程時使用 schedule_campaign 覆寫。 spreadOverHours 優先並停用 STO,收件者時區投遞亦然。 序列則改用 sendingWindow,這是一個共用的允許時段/日期閘門,而非 每位收件者的預測寄送時間。

對於行銷活動與序列層級的身分,fromEmail 加上 fromName 會選取信箱上具有該顯示名稱的寄件者身分,並在需要時建立它, 而不會重新命名其他相同地址的身分。回覆地址 則只有一個公司層級儲存的名稱:當 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 帳戶層級的抑制、投訴、取消訂閱與電子郵件衛生 保護會保持不變。本機衛生結果使用 bounced 原因,並以 email_hygiene 作為其來源,而不會變更訂閱者的同意狀態。

代理程式應在首次嘗試前,將呼叫端擁有的 idempotencyKey 傳遞給 send_email, 並在該相同邏輯電子郵件的每次重試中重複使用。Sequenzy 會在 14 天內回傳原始的 emailSendId,而非建立另一個 投遞。使用不同寄送參數重複使用該金鑰會被拒絕,因此請勿 在重試迴圈內產生新的金鑰。

電子郵件區塊可使用條件式顯示規則或 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" } , and { "type": "image", "src": "https://...", "alt": "Description", "width": 100, "widthType": "percent" }. Buttons also accept content 作為 text 的別名,並預設為 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 的情況下替換區塊,會還原 YouTube 自己的靜態畫面, 同時保留 videoUrl 作為點擊目的地。

原始 html 會儲存為單一不透明區塊。它會保留提供的標記,但不會 新增公司標誌、原生品牌區段或主題驅動的區塊設計。 使用 prompt 建立新的品牌草稿,或使用 blocks 進行編輯器原生設計;MCP 撰寫結果在使用原始 HTML 時會包含警告。

使用 update_company 搭配 fromEmail 與/或 replyTo 設定帳戶層級 預設值。fromEmail 必須使用已設定且驗證的寄送網域;replyTo 可以是任何有效的信箱。create_campaign、update_campaign、 create_sequence 與 update_sequence 接受相同的直接地址欄位 作為資源特定覆寫,並在需要時建立支援設定檔。 單獨傳送 fromName 或 replyToName 可重新命名既有預設設定檔, 而不變更其地址。當地址有多個顯示名稱時,使用 senderProfileId 或 replyProfileId(來自 list_sender_profiles)選取 要設為預設並重新命名的精確設定檔。

update_company 也透過 emailTheme(presetId、colors、typography、layout)管理公司的預設電子郵件主題。主題更新是 部分更新——省略的欄位會保留目前值(或預設值),且 數值會被限制在支援的範圍內。傳遞 emailTheme: null 可將 公司重設為平台預設主題。版面設定可控制 共用的 baseRadius 與獨立的 buttonRadius。在 colors 內, background 繪製外部畫布,content 繪製內部內容卡片, 而 surface 繪製巢狀卡片或淡色磚塊。省略 content 會保留 其目前值;當沒有儲存內容顏色時,卡片會跟隨 background。

回覆追蹤可在相同的公司工具上使用。使用 replyTrackingEnabled、replyTrackingDomainMode(sequenzy 或 custom)與 forwardReplies 搭配 update_company。公司讀取也會回傳目前的 唯讀 replyRetentionDays 值。

投票與 NPS 調查是原生電子郵件區塊,因此它們可在任何電子郵件 工具接受 blocks 的地方運作,包含行銷活動、範本、A/B 變體、 交易範本與序列電子郵件步驟。交易投票寄送 必須在抑制篩選與 收件者去重後解析為恰好一位有效收件者,且該收件者必須已存在為訂閱者; 否則 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"
}

For NPS,請使用 "variant": "nps"、一個空的 options 陣列,以及一個屬性 例如 nps_score。量表一律為 0-10;可選的 npsLowLabel 和 npsHighLabel 可自訂其標籤。每次回答都會更新訂閱者 屬性,並觸發 poll.answered 以用於自動化和對外 Webhook。

在純文字選項投票上設定 "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、最小原生表單和擷取範例。

對於 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 讀取目前內容, 並保留恰好一個必填電子郵件欄位和一個提交按鈕。新增自訂 輸入作為 form-field 區塊,並使用支援的 fieldType;select、radio 和 checkbox 欄位需要選項,而隱藏預設值則在伺服器端強制執行。

已儲存彈出視窗

工具說明
list_popups列出已儲存彈出視窗及其狀態和互動統計,可選擇包含完整內容。
get_popup取得單一彈出視窗的區塊、觸發條件、目標設定、排程、頻率、主題和已發布的嵌入程式碼。
create_popup從起始範本建立彈出視窗,預設為已發布,並傳回其部署指令碼。
update_popup部分更新彈出視窗的文案、受眾、行為、主題、區塊或發布狀態。
get_popup_embed傳回無機密的 HTML、React/Next.js、WordPress 和 Shopify 嵌入程式碼片段。
duplicate_popup將彈出視窗複製為具有獨立互動計數器的草稿。
delete_popup永久刪除彈出視窗及其互動計數器。

彈出視窗部署使用一個公開指令碼標籤;API 金鑰、受眾設定、 觸發條件、目標設定、排程和頻率規則都保留在伺服器端。 除非提供 listIds,否則彈出視窗預設會擷取到每個清單。當 更新區塊時,請先讀取彈出視窗並傳送完整的取代陣列, 保留恰好一個必填電子郵件欄位和一個提交按鈕。將 status 設定為 draft 會停止彈出視窗,而不會使其現有嵌入程式碼失效。

登陸頁面

工具說明
list_landing_pages列出登陸頁面及其狀態、指標、內容和 URL。
get_landing_page取得登陸頁面詳細資料、建置器內容、指標和已發布的 URL。
render_landing_page傳回簽署的 24 小時訪客預覽,而不發布、計算瀏覽次數或收集註冊。
create_landing_page從預設範本內容或 JSON 建立草稿登陸頁面。
update_landing_page編輯登陸頁面名稱、slug 或完整的編輯器相容內容。
publish_landing_page發布登陸頁面,可選擇先儲存編輯內容。
unpublish_landing_page將登陸頁面恢復為草稿狀態,可選擇先儲存編輯內容。
duplicate_landing_page將登陸頁面複製為具有唯一 slug 的新草稿。
delete_landing_page刪除未發布的登陸頁面。
connect_landing_page_domain連接自訂登陸頁面網域並傳回 DNS 設定詳細資料。
update_landing_page_domain_settings取代或驗證登陸頁面自訂網域設定。

登陸頁面內容使用 Sequenzy 的編輯器相容 JSON 結構描述,包含 version、template、seo、theme 和 blocks。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 時 會重新導向至根網域。DNS 變更傳播後,請使用 verify: true 呼叫 update_landing_page_domain_settings。

序列

工具說明
list_sequences列出序列,支援儀表板狀態、搜尋、標籤、限制與偏移量篩選。
get_sequence取得序列詳細資料、A/B 變體 ID 與區塊數量,包含 ab_tests:read、節點、邊、連結副本,以及序列發送時段。
list_sequence_enrollments列出聯絡人註冊紀錄,支援分頁與精確的清單/標籤/事件/時間型進入歸因。即時序列測試不會建立註冊紀錄。
send_sequence_test_email將單一已儲存的 action_email 步驟傳送給 1 至 10 位審核者;A/B 步驟會依變體逐一檢查。
create_sequence建立空白儀表板草稿,或由 AI 生成/明確步驟的序列。
update_sequence更新身分、設定、註冊、既有步驟、分支邏輯,或插入線性步驟。
update_sequence_node對單一既有序列節點進行型別感知的修補。
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、序列密件副本,以及寄件者/回覆身分。
  • trigger: "contact_added" 搭配 listId、數個 listIds 或 listScope: any_contact(預設)會註冊每個新增的聯絡人,包括未加入任何清單的聯絡人, 而 any_list 會等待實際的清單成員資格。
  • trigger: "tag_added" 搭配 tagName 或數個 tagNames;任何已設定的 標籤都會註冊該聯絡人。
  • trigger: "segment_entered" 加上 segmentId,用於已儲存區段的進入自動化。
  • trigger: "event_received" 加上 {{event.*}},在主旨或內文內容中合併標籤。
  • trigger: "inbound_webhook" 加上整合中繼資料,用於與儀表板相容的 Webhook 進入節點。
  • trigger: "inactivity" 加上 eventName、inactiveDays 與選用的 inactivityBaseline(sequence_created_at 或 subscriber_created_at)。
  • goal 用於 AI 生成的電子郵件內容。
  • emailStyle: "visual" 或 "plain" 用於選擇目標型 AI 生成電子郵件的呈現方式;省略時,使用公司的已儲存偏好。
  • 明確的 steps 搭配 Sequenzy blocks。
  • 明確的 steps 搭配 HTML,Sequenzy 會將其轉換為可編輯的區塊。
  • 明確的更新訂閱者步驟,將觸發事件屬性複製到 設定檔欄位或型別化自訂屬性。
  • 透過 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 物件。該物件包含 事件端點、身分與負載契約、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" }
    ]
  }
}

數字與布林值必須是字面值或單一獨立合併標籤。使用 update_sequence.subscriberUpdateSteps 搭配來自 get_sequence 的 action_update_attributes 節點 ID,以取代既有步驟的設定。 序列更新支援 insertSteps,用於在 get_sequence 傳回的 nodeId 之後新增線性步驟。只有在附加到恰好具有一個線性尾端的序列時,才可省略 afterNodeId。insertSteps 支援不需要伴隨記錄的可新增步驟,例如電子郵件、延遲、標籤/清單動作、屬性更新、折扣、條件、等待事件步驟、對外 Webhook 和 AI 步驟。action_ai 步驟需要合併標籤 prompt、唯一的 resultKey,以及一個或多個 outputFields;後續步驟使用 {{ai.KEY.field}} 讀取產生的或備用文字。合併的輸出欄位限制必須符合該步驟的 2000 個 token 回應預算。使用 includeTags、includeEventProperties 或 includeAttributes 將特定聯絡人內容納入產生範圍,並使用 onError(continue、exit 或 fail)選擇失敗行為。使用 branch 進行多路徑 if/else 分支;提供 branch 或 insertSteps 其中之一,不可兩者皆提供。分支條件支援使用 has_tag 和 does_not_have_tag 檢查標籤存在與否,以及清單、已儲存區段、事件、點擊的連結和欄位比較。每個分支路徑可提供新的 steps、現有的 targetNodeId,或兩者;備用路徑使用 elseSteps 和/或 elseTargetNodeId。目標可以是 get_sequence 傳回的完成節點,因此單一原子請求可將回覆路由至完成節點,並將 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 直接公開每個無伴隨記錄的儀表板步驟:電子郵件、簡訊、延遲、折扣、訂閱者更新、標籤/清單動作、對外 Webhook、AI 產生、條件、等待和分支。設定帶有 prompt、resultKey 和 outputFields 的 type: "ai",以產生供後續 {{ai.KEY.field}} 合併標籤使用的每聯絡人文字。對外 Webhook 接受 url、method(POST 或 GET)和字串值的 headers。電子郵件步驟支援交易模式、每步驟身分和 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),與儀表板中的 Style > Format 相符。在 emails/steps 項目上設定 emailPreset,或在 action_email 節點的 changes 中設定,以僅變更該連結電子郵件,而不 變更公司主題。這會套用與儀表板相同的格式轉換至原生 Sequenzy 區塊,包括包含受支援自訂 HTML 區塊的電子郵件。完全儲存為單一獨立原始 HTML 區塊的電子郵件會為 emailPreset 傳回 null,且不支援格式變更。 emailPreset 無法與 html 或 htmlContent 結合,因為這些 欄位會以獨立原始 HTML 取代整個電子郵件。

對於序列位置,請優先使用連結電子郵件和電子郵件節點頂層的 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,其中包含可編輯和受管理的欄位,以及要傳回的確切並行 token。將該 token 作為 expectedUpdatedAt 傳遞以拒絕過時的寫入。這些工具支援所有儲存的節點類型,包括延遲、電子郵件/簡訊內容、動作、條件、Webhook、不變更拓撲的分支設定和觸發器。若要將 5 分鐘的延遲變更為 7 天,請為其 logic_delay 節點傳送 changes: { "delay": { "days": 7 } }。若要將數個創辦人風格筆記變更為 Minimal,請使用 changes: { "emailPreset": "minimal" } 修補其 action_email 節點。節點類型轉換和邊緣/路徑變更屬於 edit_sequence_graph。作用中的序列需要使用者確認影響後的 confirmLiveChange: true;已在等待的收件者會保留其現有的排定時間戳記。

現有和新插入的電子郵件步驟可以使用 senderProfileId 或 fromEmail 加上可選的 fromName 設定自己的 From 身分,並使用 replyProfileId 或 replyTo 加上可選的 replyToName 設定 Reply-To 身分。單獨的 fromName 僅變更該步驟的顯示寄件者名稱。步驟層級的 replyToName 同樣覆寫該步驟的顯示 Reply-To 名稱,而不重新命名公司範圍的回覆設定檔。沒有明確身分欄位的新電子郵件步驟會繼承最近序列電子郵件的有效身分。分支合併後,僅繼承每個傳入路徑共用的身分欄位;衝突的欄位使用序列或公司預設值。

使用 edit_sequence_graph 搭配來自 get_sequence 的最新 graphRevision,以原子性方式重構現有序列。它可以將節點移至另一個節點之前或之後、重用正規化的 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列出每個電子郵件區塊類型,或檢查單一類型的必填欄位、列舉值、項目形狀和範例。

在親手撰寫之前未使用過的區塊類型前,呼叫 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 或 slug 讀取交易電子郵件。
create_transactional_email從提示、HTML 或區塊建立交易範本。
update_transactional_email更新交易中繼資料或內文內容。
send_email依範本或 HTML 傳送一封電子郵件至共用的 To、Cc 和 Bcc 收件者。

提示建立的交易範本會在伺服器端產生,並預設為停用以供審查。明確的 HTML 或區塊範本保留啟用的相容性預設值;明確傳遞 enabled 以覆寫任一預設值。 對於直接發送,請傳入 to、subject 和 html;MCP 伺服器會將 html 對應到交易式 API 的 body 欄位。對於已儲存的交易式電子郵件,請改為透過相容名稱的 templateId 欄位傳入其 API slug。 對於交易式發送,to、cc 和 bcc 各自接受一個地址或最多 50 個地址的陣列。API 會以共享的收件者清單發送一封電子郵件,並依 to、接著 cc、再來 bcc 的優先順序移除跨欄位重複項目。 行銷發送仍要求恰好一個可接受的 to 地址,且不支援額外收件者。 send_email 變數支援巢狀陣列以用於重複區塊,例如 { "event": { "items": [...] } }。當收件者透過外部 ID 或電子郵件符合已儲存的訂閱者時,已儲存的名字和姓氏會自動填入省略的名稱變數。明確的值(包括空白)優先。 選用的 attachments 陣列最多接受 10 個檔案/總計 7MB。每個項目需要 filename 以及 Base64 的 content 或公開 HTTP(S) 的 path 其中一個。設定 contentId 以嵌入從 HTML 引用的 CID 圖片,並可選擇設定 contentType 以覆寫 MIME 偵測。 當省略 trackingSettings 時,套用公司的 Transactional API 追蹤預設值。使用 trackingSettings.clickTracking: false 或 trackingSettings.openTracking: false 可停用單次發送的連結重寫或開啟像素。這些每次發送的選項僅能選擇退出;它們無法啟用已被帳戶層級或 Transactional API 預設值停用的追蹤。使用 get_tracking_settings 和 update_tracking_settings 來檢視或變更那些預設值。

對於代理程式和工作流程重試,請在 send_email 中包含一個穩定的 idempotencyKey(最多 255 個字元)。每個邏輯電子郵件使用一個金鑰,並在重試時傳送相同的引數;金鑰的有效期為 14 天。

分析

工具描述
get_stats取得 7d、30d 或 90d 的概覽統計;依結構性電子郵件類型篩選。
get_transactional_stats依 ID 或 slug 取得單一已儲存交易式電子郵件的所有時間或指定時間範圍指標。
get_campaign_stats取得行銷活動成效、回覆指標、附加的轉換目標,以及 Poll/NPS 摘要。
list_poll_responses列出每位回應者每個區塊的最新 Poll/NPS 答案,包含身分和回應時間。
get_sequence_stats取得整體及逐步的序列成效,以及依目前節點劃分的即時啟用/等待註冊計數。
list_email_metrics比較行銷活動和序列步驟的漏斗、回覆、轉換和營收,包括跨序列步驟。
list_campaign_events列出分頁的行銷活動原始電子郵件事件。
list_sequence_events列出分頁的序列原始事件,可選擇限定於單一電子郵件步驟。
get_subscriber_activity取得訂閱者的電子郵件統計、活動和註冊。

行銷活動和序列事件篩選器接受 transport_failure 以及傳遞、退信、投訴、互動、取消訂閱和延遲事件。 傳輸失敗描述 MTA 基礎設施或出口路徑耗盡;它們不會將有效的收件者地址分類為退信。

分析工具預設排除偵測到的機器人、掃描器、連結預覽和追蹤資產的開啟/點擊。當您需要原始互動診斷時,請將 includeMachineEngagement: true 傳入 get_stats、get_campaign_stats、get_sequence_stats、get_ab_test_stats、get_subscriber 或 get_subscriber_activity;包含的開啟/點擊活動列會在 API 傳回事件層級活動時暴露 machine、engagementQuality 和 classificationReasons 欄位。

get_sequence_stats.enrollmentCounts 是依目前節點分組的啟用和等待註冊執行的即時時間點快照。它計算註冊代幣而非必然不同的訂閱者,且不受歷史 period、start 或 end 篩選器限制。

使用 list_email_metrics 進行跨行銷活動或序列步驟的比較。 傳入 step 並搭配選用的 sequenceId 值,以加總跨序列的相同步驟;使用傳回的 automationNodeId 搭配 list_sequence_events 或 list_email_sends 來檢查收件者。campaignId 無法與 sequenceId 或 step 結合。明確的行銷活動和序列範圍會保留已設定且零活動的電子郵件,因此表現較弱的項目不會被靜默省略。

將 emailType: "transactional" 傳入 get_stats 以取得 Send API 和交易式 SMTP 的傳遞、開啟、點擊和回覆率。這包括直接和已儲存範本發送。使用 send_email 傳回的 emailSendId 搭配 get_email_send,當您需要單次傳遞的狀態和事件時間軸時。 當您需要單一已儲存交易式電子郵件的整體比率時,使用 get_transactional_stats。其回應包含最常點擊的連結、投訴、回覆、最新的永久/暫時退信分類,以及分開的人類和機器開啟/點擊計數。直接內容發送沒有穩定的範本 ID,仍可透過帳戶交易式統計和傳遞搜尋取得。

當行銷活動收集 Poll 或 NPS 答案時,get_campaign_stats 包含一個頂層的 polls 陣列。每個訂閱者在每個 poll 區塊中使用其最新答案計數一次。NPS 摘要包含分數、平均值和推薦者/被動者/貶損者計數。這些是終身回應摘要,即使互動指標使用時間篩選器。

使用 list_poll_responses 來讀取誰回答了什麼以及何時回答。它傳回每個訂閱者在每個 poll 區塊的最新答案,最新的在前,包括電子郵件、儲存的值、屬性金鑰和回應時間。傳入 blockId 以限定單一 poll;對於序列電子郵件步驟,請將其自動化節點 ID 作為 campaignId 傳入。 不要透過掃描訂閱者屬性來重建此歷史記錄:屬性沒有回應時間戳記,且可能已被稍後重用相同金鑰的電子郵件覆寫。

若要列出計數背後的確切歷史回應者,請呼叫 create_segment,使用欄位 pollResponse、運算子 is 和限定於行銷活動及摘要 blockId 的 JSON 值:

{
  "v": 1,
  "campaignId": "camp_123",
  "blockId": "poll_1",
  "match": { "kind": "answer", "value": "loved" }
}

對於 NPS,使用類似 {"kind":"npsBucket","bucket":"detractors"} 的比對;有效的區塊是 promoters、passives 和 detractors。摘要的 attributeKey 儲存訂閱者目前/最新的回應,且可能被稍後重用金鑰的 poll 覆寫,因此它不是精確的歷史向下鑽取。

團隊、收件匣、Webhooks

工具描述
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)。

使用 email.failed 事件處理終端傳遞失敗,例如 MTA 傳輸路徑耗盡。收件者退信繼續使用 email.bounced。

當工作流程需要在電子郵件或 SMS 行銷活動結束後收到一個終端通知(包括有效的零收件者發送)時,使用僅限明確的 campaign.sent 事件。當 create_webhook 在標準 MCP 上省略 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 則。

產品回饋

僅在使用者明確要求助理將回饋傳送給 Sequenzy 團隊時,才使用 submit_feedback。標準 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 john@example.com 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 使用者可存取的公司。
  • 當不再需要存取權時,請從「設定 -> API 金鑰」撤銷金鑰。
  • 對發送、排程、刪除及大量變更保持啟用客戶核准提示。
  • 偏好對行銷活動和流程使用草稿工作流程,然後在啟動前於 Sequenzy 中審查。

疑難排解

SEQUENZY_API_KEY environment variable is required

在 MCP 用戶端設定中設定 SEQUENZY_API_KEY,或執行:

npx @sequenzy/setup

無效的 API 金鑰

在「設定 -> API 金鑰」中建立新的個人金鑰,更新您的 MCP 設定,然後重新啟動用戶端。

缺少 API 金鑰範圍

呼叫 get_account 並檢查 apiKeyPermissions。本機連線應開啟 apiKeyPermissions.manageUrl,將缺少的範圍新增至已載入的金鑰,然後在不重新啟動的情況下重試。update_api_key 僅能對已持有 api_keys:manage 的公司金鑰執行此操作;請在帳戶層級的 API 金鑰頁面編輯個人金鑰。託管的 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 風格的探索使用:

這些檔案將 Sequenzy 描述為代理程式的授權電子郵件自動化能力。它們明確排除抓取、垃圾郵件及未經請求的冷外聯使用案例。

工作區角色

帳戶金鑰存取結合了金鑰範圍與您目前的工作區角色。get_account 會在 apiKeyPermissions.roleRestrictedScopes 中回報被封鎖的範圍;canSendLive 表示至少有一個允許的傳遞工作流程可用,而非每個發送工具都被允許。

您可以邀請 marketer 來管理訂閱者、行銷活動和流程,而不授予交易郵件、工作區設定、團隊或帳單的存取權。行銷人員選擇現有的寄件者/回覆設定檔。受交易支援的行銷活動、A/B 測試和流程來源,仍透過預覽、分享、分析和發送歷史受到保護。行銷人員和受限成員無法獲得帳單存取權。