Sequenzy MCP

resmi

Alat Pemasaran Email untuk SaaS

Apa yang bisa Anda lakukan dengan Sequenzy MCP?

  • Kelola subscriber dan segmen — Minta asisten Anda untuk membuat daftar, menerapkan tag, merekonsiliasi tag massal, atau menguji peristiwa sintetis melalui alat seperti create_list dan .
  • Bangun dan kirim kampanye — Susun, jadwalkan, pratinjau, atau kirim kampanye email, termasuk pratinjau audiens yang telah diselesaikan dan tujuan konversi, menggunakan alat seperti create_campaign dan send_campaign.
  • Buat halaman arahan dan formulir — Rancang formulir pendaftaran berbasis daftar dan halaman arahan dengan tata letak blok responsif, lalu publikasikan atau dapatkan sematan situs statis melalui create_landing_page.
  • Sinkronkan audiens ke Meta — Dorong segmen dinamis ke audiens kustom Meta untuk penargetan ulang Facebook dan Instagram.
  • Kelola urutan dan otomatisasi — Buat urutan email multi-langkah dengan pemicu masuk, kondisi berhenti, dan kirim uji ke peninjau menggunakan create_sequence dan .
  • Pantau keterkiriman dan pengiriman — Diagnostik pengiriman yang dijeda, periksa penekanan pentalan/keluhan, dan pulihkan jeda pentalan keras yang memenuhi syarat dengan get_sending_status dan resume_sending.

Dokumentasi

Server MCP Sequenzy

Server MCP resmi untuk Sequenzy, platform pemasaran email bertenaga AI.

Hubungkan Sequenzy ke Claude Desktop, Claude Code, Codex, Cursor, Windsurf, VS Code Copilot, OpenClaw, dan klien MCP lainnya sehingga asisten AI Anda dapat mengelola operasi email dengan alat terstruktur, bukan panggilan API yang ditulis manual.

Yang Dapat Anda Lakukan

  • Kelola pelanggan, tag, daftar, dan segmen dinamis, termasuk rekonsiliasi tag massal dan pengujian peristiwa sintetis.
  • Sinkronkan segmen ke audiens kustom Meta untuk retargeting Facebook dan Instagram.
  • Kelola produk dan lampirkan file pengiriman digital untuk otomatisasi pembelian.
  • Unggah gambar email yang dihosting dengan teks alternatif dan pengaturan krop responsif yang dapat digunakan kembali.
  • Buat draf, perbarui, jadwalkan, dan periksa kampanye, termasuk pratinjau audiens yang terselesaikan, tujuan konversi yang disimpan, serta identitas Dari, Balas-Ke, CC, dan BCC.
  • Render kampanye, langkah urutan, dan templat ke HTML aman email yang tepat tanpa mengirim.
  • Tambahkan blok survei Poll dan NPS satu-klik ke email dan periksa ringkasan respons kampanye.
  • Buat dan edit urutan email, termasuk pemicu multi-daftar/tag, kondisi berhenti yang difilter audiens-masuk dan properti, penggantian identitas pengiriman, restrukturisasi grafik yang ada, dan pengiriman uji langkah langsung ke peninjau internal.
  • Batalkan, jeda, lanjutkan, duplikat, atau hapus kampanye dan daftarkan kontak ke dalam urutan.
  • Kelola templat email transaksional dan kirim email transaksional ke daftar penerima To, Cc, dan Bcc bersama.
  • Sediakan varian templat yang dilokalkan atau antrekan terjemahan AI untuk lokal yang diaktifkan.
  • Buat, pratinjau, edit, terbitkan, batalkan terbit, dan hapus halaman arahan.
  • Buat formulir pendaftaran tersimpan dengan cakupan daftar dengan grup blok tumpukan responsif, baris, kisi, dan overlay gambar tunggal (termasuk kontrol celah latar depan), lalu kembalikan embed situs statis yang aman untuk klien.
  • Buat, targetkan, terbitkan, duplikat, dan terapkan popup pendaftaran tersimpan dengan tata letak blok rekursif yang sama.
  • Hubungkan dan verifikasi domain kustom untuk halaman arahan yang diterbitkan.
  • Kelola undangan tim, percakapan kotak masuk, dan titik akhir webhook keluar.
  • Hasilkan salinan email, baris subjek, dan urutan multi-langkah.
  • Periksa analitik, aktivitas pelanggan, kesehatan keterkiriman, jeda pengiriman tingkat perusahaan, integrasi, skema muatan peristiwa yang diterbitkan, identitas pengiriman, pengaturan pelacakan, dan URL dasbor.
  • Periksa apakah "Dikirim dengan Sequenzy" terlihat untuk ruang kerja, mengapa langganan pemilik menghapus atau tidak menghapusnya, dan buka halaman langganan kanonik untuk peningkatan atau perpanjangan. Perubahan hak berlaku untuk pengiriman mendatang dari urutan langsung yang ada tanpa mengedit bloknya.
  • Diagnosa mengapa pengiriman dijeda dan pulihkan jeda pantulan keras yang memenuhi syarat setelah mengonfirmasi pembersihan daftar.
  • Periksa pantulan penerima tepat, keluhan, dan penekanan kebersihan email, dan bersihkan pantulan basi yang memenuhi syarat tanpa mengekspos daftar penekanan SES bersama.
  • Konfigurasikan info produk perusahaan, default identitas pengiriman seluruh akun, ganti nama profil pengirim dan balas-ke individual, kelola domain pengirim, dan periksa contoh integrasi untuk kerangka kerja umum.

Setiap alat MCP yang diterbitkan menyertakan anotasi eksplisit readOnlyHint, destructiveHint, dan openWorldHint sehingga klien yang kompatibel dapat menampilkan kemampuan penggunaan alat yang akurat. Alat juga menerbitkan definisi outputSchema dan mengembalikan structuredContent, memberi klien dan model bentuk hasil yang dapat dibaca mesin untuk panggilan lanjutan.

Pengaturan Cepat

Jalur pengaturan termudah adalah wizard Sequenzy:

npx @sequenzy/setup

Wizard membuka alur masuk browser, membuat kunci API pribadi, mendeteksi klien AI yang didukung, dan mengonfigurasinya secara otomatis bila memungkinkan.

MCP Jarak Jauh yang Dihosting

Untuk klien yang mendukung Streamable HTTP MCP, gunakan titik akhir yang dihosting Sequenzy alih-alih menjalankan proses stdio lokal:

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

ChatGPT dan direktori plugin OpenAI menggunakan permukaan yang dihosting yang ditinjau:

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

Permukaan itu berbagi implementasi yang sama dan mempertahankan set alat standar kecuali untuk enam operasi: connect_integration, create_api_key, create_webhook, list_webhook_deliveries, replay_webhook_delivery, dan rotate_sequence_inbound_webhook_secret. Umpan balik tetap tersedia dengan skema yang dikurangi untuk umpan balik produk umum yang diminta secara eksplisit.

Klien jarak jauh harus mengautentikasi dengan alur OAuth Sequenzy saat didukung. Klien lokal dan otomasi masih dapat menggunakan paket stdio di bawah dengan SEQUENZY_API_KEY.

Titik akhir yang dihosting dan paket stdio mendukung spesifikasi MCP 2026-07-28 sambil tetap kompatibel dengan klien era 2025. Klien HTTP modern menggunakan penemuan per-permintaan dan header metode; klien yang ada tetap berfungsi melalui titik akhir dan perintah paket yang sama.

File penemuan yang dapat dibaca mesin:

Data dan privasi

Sequenzy mengirim ke klien MCP hanya data yang diperlukan untuk alat yang diminta pengguna untuk dijalankan, dalam ruang kerja yang dipilih dan kunci atau cakupan OAuth yang diberikan ke klien tersebut. Tergantung pada alat yang diminta, ini dapat mencakup nama ruang kerja dan ID; kontak pelanggan, persetujuan, audiens, atribut, peristiwa, keterlibatan, balasan, survei, dan data perdagangan; konten kampanye dan otomatisasi; pengiriman analitik; dan status integrasi atau webhook. Lihat Kebijakan Privasi Sequenzy untuk kategori lengkap, tujuan, penerima, periode retensi, dan kontrol pengguna.

Jangan gunakan atribut kustom terbuka, peristiwa, catatan, formulir, sampel webhook, variabel email, atau umpan balik untuk mengirimkan data kartu pembayaran, data kesehatan atau medis, pengenal pemerintah, data biometrik atau genetik, kredensial autentikasi, data demografis sensitif, atau geolokasi presisi.

Rute yang ditinjau OpenAI menyatakan dan menegakkan pembatasan tersebut pada input terbuka yang relevan, termasuk jalur atribut bersarang seperti profile.ssn, pasangan koordinat seperti lat/lng, dan prosa berlabel seperti Religion: ... atau GPS coordinates: .... Ini menolak URL yang membawa kredensial dalam argumen apa pun, apakah kredensial berada di userinfo, jalur, kueri, atau fragmen, seperti formulir atau popup redirectUrl dengan token akses atau URL tanda tangan. Pemilih atribut yang dibatasi di dalam tag gabungan ditolak tanpa memblokir salinan biasa yang ditulis tentang topik yang sama. Pada permukaan ini, render_email menerima data sampel atau subscriber inline yang diperiksa kebijakan, tetapi bukan subscriberId, sehingga tidak dapat menyelesaikan atribut kustom tersimpan yang tidak diperiksa. Hasilnya menghapus bidang yang dibatasi, kesalahan API mentah, muatan debug, internal pengenal permintaan/lacak/sesi, pengenal akun atau kredensial yang tidak perlu, URL yang membawa kredensial tersimpan, dan URL webhook masuk. Standar MCP jarak jauh dan paket stdio lokal mempertahankan kontrak lengkap untuk klien tepercaya, termasuk penyiapan integrasi berbasis kredensial, kunci API sekali pakai dan rahasia webhook, URL webhook masuk, dan kesalahan API terperinci. Preferensikan dasbor atau CLI lokal saat rahasia harus tetap di luar percakapan AI. submit_feedback berjalan hanya saat pengguna secara eksplisit meminta; skema OpenAI-nya terbatas pada pesan umum, kategori, dan konteks alur kerja opsional, dan rute menolak teks umpan balik yang berisi alamat email atau ID sumber daya.

Apa yang dijamin permukaan yang ditinjau terbatas. Ini mengenali data yang dibatasi berdasarkan bentuk: kata nama bidang bahasa Inggris seperti passport_id, user.ssn, atau api_secret pada kedalaman bersarang apa pun, prosa berlabel seperti Diagnosis: ..., bentuk kredensial yang dikenal, pasangan koordinat desimal, dan URL yang membawa kredensial di dalam string apa pun, termasuk HTML. Ini tidak menafsirkan prosa tanpa label, nama bidang non-Inggris, atau nilai yang sengaja dikaburkan klien; itu tetap tercakup oleh pembatasan penggunaan di atas daripada oleh filter.

Pengaturan Manual

Semua klien stdio MCP menggunakan perintah yang sama:

  • Perintah: npx
  • Argumen: -y @sequenzy/mcp
  • Env yang diperlukan: SEQUENZY_API_KEY=seq_user_your_key_here

Variabel lingkungan opsional:

  • SEQUENZY_API_URL - URL dasar API Sequenzy. Default ke https://api.sequenzy.com.
  • SEQUENZY_APP_URL - URL dasar dasbor Sequenzy yang digunakan oleh helper URL aplikasi. Default ke https://sequenzy.com.

Claude Desktop

Tambahkan ini ke konfigurasi Claude Desktop Anda:

  • 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"
      }
    }
  }
}

Mulai ulang Claude Desktop setelah mengedit konfigurasi.

Claude Code

claude mcp add --scope user --env=SEQUENZY_API_KEY=seq_user_your_key_here sequenzy -- npx -y @sequenzy/mcp

Di Windows asli, bungkus npx dengan cmd /c:

claude mcp add --scope user --env=SEQUENZY_API_KEY=seq_user_your_key_here sequenzy -- cmd /c npx -y @sequenzy/mcp

Untuk konfigurasi proyek bersama, gunakan .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

Konfigurasi Codex manual di ~/.codex/config.toml:

[mcp_servers.sequenzy]
command = "npx"
args = ["-y", "@sequenzy/mcp"]

[mcp_servers.sequenzy.env]
SEQUENZY_API_KEY = "seq_user_your_key_here"

Cursor

Instal Sequenzy dari Cursor Marketplace untuk koneksi yang dihosting dengan Sequenzy OAuth. Plugin terhubung ke:

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

Setelah menginstal, selesaikan alur masuk browser. Agen Cursor kemudian dapat menggunakan alat Sequenzy dari obrolan, termasuk saat Grok adalah model yang dipilih.

Untuk penyiapan stdio lokal manual sebagai gantinya, tambahkan ini ke ~/.cursor/mcp.json:

{
  "mcpServers": {
    "sequenzy": {
      "command": "npx",
      "args": ["-y", "@sequenzy/mcp"],
      "env": {
        "SEQUENZY_API_KEY": "seq_user_your_key_here"
      }
    }
  }
}

Windsurf

Gunakan bentuk JSON yang sama seperti Cursor.

  • macOS: ~/Library/Application Support/Windsurf/mcp.json
  • Windows: %APPDATA%\Windsurf\mcp.json

VS Code Copilot

VS Code menggunakan objek servers:

{
  "servers": {
    "sequenzy": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@sequenzy/mcp"],
      "env": {
        "SEQUENZY_API_KEY": "seq_user_your_key_here"
      }
    }
  }
}

Klien MCP Lainnya

Untuk OpenClaw, Hermes, dan klien kompatibel MCP lainnya, arahkan klien ke npx -y @sequenzy/mcp dan atur SEQUENZY_API_KEY.

Mendapatkan Kunci API

  1. Buka dasbor Sequenzy.
  2. Gunakan alur penyiapan MCP untuk membuat kunci pribadi, atau buka Pengaturan -> Kunci API untuk membuat kunci perusahaan.
  3. Pilih preset izin atau cakupan kustom yang tepat yang dibutuhkan integrasi.
  4. Tambahkan kunci ke konfigurasi klien MCP Anda.

Kunci pribadi dimulai dengan seq_user_. Anda dapat mencabutnya kapan saja di dasbor.

Kunci perusahaan juga dapat dibersihkan tanpa mengekspos rahasia. Panggil list_api_keys untuk membandingkan ID kunci, nama, awalan non-rahasia, izin, stempel waktu penggunaan terakhir, dan penanda isCurrent, lalu berikan ID yang tepat ke revoke_api_key. delete_api_key adalah alias kompatibilitas untuk operasi permanen yang sama. Respons daftar dan cabut tidak pernah berisi kunci polos atau hash kunci tersimpan.

Pulihkan dari izin kunci API yang hilang

Jika alat melaporkan cakupan yang hilang seperti campaigns:read atau templates:write, panggil get_account. Bidang apiKeyPermissions-nya mencantumkan identitas dan jenis kunci saat ini, cakupan, cakupan baca pemasaran umum yang hilang, dan manageUrl langsung. Rute yang ditinjau OpenAI mengembalikan izin yang sama tanpa ID akun pengguna atau identitas kunci aktif. Kunci pribadi membuka Kunci API Akun; kunci perusahaan membuka pengaturan Kunci API ruang kerja yang dipilih. Jika kunci tidak menyertakan account:read, buka dasbor Sequenzy langsung dan pilih halaman Kunci API yang sesuai.

Izin dapat diedit di tempat, jadi buka manageUrl. Untuk kunci perusahaan, gunakan list_api_keys dan bendera isCurrent-nya untuk mengidentifikasi kunci aktif sebelum mengeditnya, lalu coba lagi alat yang gagal tanpa mengganti kredensial atau memulai ulang klien. Agen yang menggunakan kunci perusahaan dengan api_keys:manage dapat sebagai gantinya memanggil update_api_key; kunci pribadi harus diedit di halaman tingkat akun karena alat itu hanya mengelola kunci perusahaan. Input scopes dan preset-nya mengganti seluruh pemilihan izin daripada menggabungkan, jadi pertahankan setiap cakupan yang ada yang masih dibutuhkan. Koneksi OAuth yang dihosting dapat sebagai alternatif memutuskan dan mengotorisasi ulang dengan izin yang lebih luas. Ketika kunci aktif itu sendiri tidak memiliki api_keys:manage, panggil request_api_key_handoff alih-alih mencoba ulang update_api_key. Ini memerlukan account:read dan mengembalikan URL peninjauan pemilik dengan nama kunci yang diminta, izin, dan pendahulu opsional yang sudah diisi sebelumnya. Ini tidak pernah membuat atau mengembalikan kunci; pemilik ruang kerja meninjau formulir, membuat penggantinya di peramban, dan menyalinnya ke klien. Berikan replaceApiKeyId: "current" untuk menawarkan pencabutan kunci aktif setelah penggantinya dibuat. Jika kunci aktif juga tidak memiliki account:read, gunakan dasbor secara langsung.

Preset default Akses agen lebih aman mencakup lists:write dan tags:write, sehingga agen dapat membuat dan memperbarui definisi daftar dan tag, dan ini mencakup subscribers:tag untuk menerapkan tag ke kontak yang ada. Ini juga mencakup ab_tests:read, ab_tests:write, dan sequences:write, sehingga agen dapat mengaudit dan mengedit salinan varian A/B urutan, termasuk pesan keranjang yang ditinggalkan dan penelusuran yang ditinggalkan. Ini tidak mencakup subscribers:write, sehingga tidak dapat menambahkan kontak ke daftar atau menghapusnya dari daftar. Menghapus daftar atau tag masih memerlukan izin lists:delete atau tags:delete yang sesuai.

Preset penyusunan AI mencakup subscribers:write, sehingga agen penyusun dapat membangun daftar sekaligus membuatnya. Impor yang menerapkan listIds juga memerlukan lists:write; pendaftaran urutan atau pengiriman double-opt-in juga memerlukan automations:trigger.

Alat

Permukaan standar saat ini mengekspos 243 alat MCP. Permukaan yang ditinjau OpenAI mengekspos 237; hanya enam operasi yang tercantum di atas yang dihilangkan.

Alat menolak argumen yang tidak mereka deklarasikan alih-alih mengabaikannya secara diam-diam. Kesalahan menyebutkan bidang yang tidak didukung, mencantumkan argumen yang didukung, dan memberikan panduan yang terfokus untuk kesalahan umum seperti filter pelanggan yang dibuat-buat atau opsi pengurutan.

Akun, Perusahaan, Pengaturan

ToolDeskripsi
get_accountDapatkan info akun, perusahaan yang tersedia, izin kunci saat ini, dan URL pengelolaan API Keys.
select_companyTetapkan perusahaan aktif untuk panggilan alat di masa mendatang.
get_app_urlsBangun URL dasbor untuk kampanye, halaman arahan, urutan, email, pengaturan, manajemen langganan, domain, dan detail email terkirim. settingsTab: "billing" meresolusi ke Akun -> Langganan.
create_companyBuat perusahaan atau merek baru.
get_companyBaca detail perusahaan, info produk, konteks merek, lokalisasi, pengaturan pelacakan balasan, default From/Reply-To saat ini, dan hak akses emailBranding hanya-baca yang efektif dengan alasan rencana/status dan URL langganan; STO secara eksplisit diidentifikasi sebagai khusus-kampanye.
update_companyEdit info produk, konteks merek, tema email, pelacakan balasan, dan default profil From/Reply-To atau nama di seluruh akun.
get_sync_rulesBaca aturan event-ke-tag perusahaan dan apakah perusahaan menggunakan preset platform yang diwariskan.
update_sync_rulesGanti semua aturan sinkronisasi; berikan [] untuk menonaktifkannya atau null untuk memilih preset platform SaaS/ecommerce.
get_shopify_automation_settingsBaca pengaturan penelusuran-ditinggalkan, keranjang-ditinggalkan, dan penurunan-harga untuk toko Shopify yang terhubung.
update_shopify_automation_settingsPerbarui sebagian pengaturan otomatisasi Shopify atau atur ulang bagian individual ke default platformnya.
create_api_keyBuat kunci API perusahaan dan kembalikan rahasia satu kali pada MCP standar; dihilangkan dari rute yang ditinjau OpenAI.
request_api_key_handoffSiapkan URL pembuatan/rotasi yang ditinjau pemilik ketika kunci aktif tidak dapat mengelola kunci API itu sendiri.
list_api_keysDaftarkan kunci API perusahaan sebagai metadata non-rahasia untuk identifikasi dan pembersihan yang aman.
update_api_keyGanti nama kunci API perusahaan atau ganti preset izin atau cakupannya tanpa mengubah nilai kunci.
revoke_api_keyCabut secara permanen kunci API perusahaan yang tepat berdasarkan ID setelah memeriksanya dengan list_api_keys.
delete_api_keyAlias kompatibilitas untuk revoke_api_key.
list_websitesDaftarkan domain pengiriman dengan status agregat, SPF, DKIM, dan MAIL FROM yang tersimpan.
add_sending_domainTambahkan domain pengiriman dan kembalikan catatan pengaturan DNS khusus-kohort.
add_websiteAlias kompatibilitas untuk add_sending_domain.
check_websiteBaca detail verifikasi SPF, DKIM, MAIL FROM, dan agregat yang tersimpan dari domain pengiriman.
verify_sending_domainJalankan verifikasi DNS/penyedia domain pengiriman baru dan kembalikan status serta diagnostik saat ini.
list_integrationsDaftarkan integrasi yang terhubung dengan kesehatan koneksi dan sinkronisasi, tanpa mengembalikan kredensial.
get_sending_statusDiagnosa pengiriman aktif, dijeda, atau ditangguhkan, termasuk penyebut penegakan, gerbang peninjauan, dan langkah perbaikan.
resume_sendingPulihkan jeda hard-bounce yang memenuhi syarat setelah secara eksplisit mengonfirmasi bahwa daftar telah dibersihkan.
get_tracking_settingsBaca default buka/klik di seluruh akun dan Transactional API, berhenti berlangganan, atribusi, UTM, domain klik, pelacakan balasan, dan pengaturan double-opt-in.
update_tracking_settingsPerbarui default pelacakan di seluruh akun dan Transactional API, atribusi, UTM, dan double opt-in di seluruh akun.
get_integration_guideDapatkan contoh integrasi khusus-kerangka kerja.
get_integrationPeriksa satu integrasi yang terhubung, wiring event-nya, penargetan daftar, aktivitas terbaru, dan rekomendasi.
list_integration_capabilitiesBandingkan kemampuan penyedia apakah terhubung atau tidak.
connect_integrationHubungkan penyedia kunci API atau rahasia webhook yang didukung pada MCP standar, termasuk webhook Lemon Squeezy terkelola, Attio hanya-keluar, dan impor riwayat PostHog/Segment opsional; dihilangkan dari rute yang ditinjau OpenAI.
get_event_schemaPeriksa contoh payload event yang dipublikasikan, jalur properti, tipe, dan tag gabungan per penyedia.
list_integration_activityBaca log aktivitas webhook dan sinkronisasi khusus-integrasi yang disimpan.
set_integration_sync_enabledAktifkan atau nonaktifkan impor massal dan backfill sambil membiarkan webhook langsung tetap terhubung.
set_integration_list_targetingPilih daftar mana yang akan diikuti kontak yang dibuat oleh integrasi yang didukung pada penulisan penyedia di masa mendatang.
sync_integrationAntrekan pendapatan pembayaran, pengguna Supabase, atau impor riwayat event PostHog/Segment menggunakan konfigurasi integrasi yang disimpan.
get_integration_pixelBaca status pixel/konfigurasi langsung Shopify dan bedakan event gelap yang dikonfirmasi dari pembacaan yang tidak diketahui.
activate_integration_pixelMemasang atau mengarahkan ulang piksel storefront Shopify; idempoten jika sudah yang terbaru.
list_web_tracking_keysMenampilkan daftar kunci pelacakan situs web yang dapat dipublikasikan, pembatasan asal, status penggunaan, dan cuplikan pemasangan.
get_web_tracking_keyMendapatkan satu kunci pelacakan situs web beserta cuplikan pemasangan dan titik akhir ingest yang tepat.
create_web_tracking_keyMembuat kunci pelacakan yang dapat dipublikasikan untuk storefront atau situs web non-Shopify.
update_web_tracking_keyMengganti nama, membatasi, mencabut, atau mengaktifkan kembali kunci pelacakan situs web.
delete_web_tracking_keyMenghapus permanen kunci pelacakan situs web setelah cuplikannya dihapus.
list_sender_profilesMenampilkan daftar profil pengirim dan balasan, default, serta kesiapan domain pengiriman.
update_sender_profileMengganti nama satu profil pengirim atau balasan tanpa mengubah default akun.
delete_sender_profileMenghapus permanen profil pengirim yang tidak digunakan, dengan perlindungan untuk permukaan pengiriman aktif dan pengirim terakhir yang tersisa.
get_notification_preferencesMembaca pengaturan notifikasi akun per-perusahaan pengguna saat ini dan mode yang didukung, termasuk laporan mingguan Senin.
update_notification_preferencesMemperbarui mode pengiriman notifikasi akun pengguna saat ini, termasuk memilih keluar dari laporan mingguan, tanpa memengaruhi rekan kerja.
render_emailMerender HTML akhir yang aman untuk email dan mendiagnosis tag gabungan yang belum diselesaikan, termasuk salah ketik yang tersembunyi oleh default. Rute yang ditinjau OpenAI menerima data sampel atau pelanggan inline yang diperiksa kebijakan, bukan ID pelanggan tersimpan.
get_sending_status menjaga status jeda berbasis Postgres, gerbang peninjauan, dan
remediasi tetap tersedia ketika analitik kesehatan pengirim untuk sementara tidak tersedia;
dalam kasus terdegradasi tersebut, senderHealth adalah null.

render_email mengembalikan unresolvedMergeTags sehingga pemanggil dapat membedakan nama yang tidak dikenal dari tag yang dikenali tetapi hanya kosong untuk kontak yang dipratinjau. Nama yang tidak dikenal dilaporkan bahkan ketika filter default menyediakan teks: misalnya, {{ subscriber.frstName | default: "there" }} merender sapaan yang masuk akal untuk setiap kontak sambil melewati nama depan yang tersimpan. Nama yang dikenali yang kosong untuk satu kontak tidak dilaporkan ketika nilai defaultnya digunakan. Rute yang ditinjau OpenAI menolak pemilih atribut kustom terbatas di dalam tag gabungan. Rute ini juga menghilangkan argumen subscriberId; gunakan subscriber inline yang diperiksa kebijakan, atau hilangkan data pelanggan untuk pratinjau sampel.

Untuk merender langkah urutan yang nodeType-nya adalah action_ab_test, berikan sequenceId dan nodeId langkah tersebut bersama dengan variantId dari get_sequence.sequence.emails[].abTest.variants. Langkah-langkah ini tidak memiliki email sendiri, jadi varian tersebut diperlukan; membaca dan merender salinan yang bersaing juga memerlukan cakupan ab_tests:read.

Untuk Supabase, sync_integration menggunakan kembali proyek, skema, tabel, pemilihan daftar, dan pemetaan persetujuan yang disimpan di dasbor. Ini tidak dapat menargetkan tabel arbitrer. Jalankan setelah menginstal pemicu database langsung untuk mengimpor pengguna yang ada sebelum pemicu diinstal, lalu polling get_integration dan list_integration_activity untuk kemajuan dan hasil tingkat baris.

set_integration_sync_enabled mengontrol impor massal dan backfill saja; ini tidak menghentikan webhook langsung penyedia dari membuat kontak. Gunakan set_integration_list_targeting untuk memilih keanggotaan daftar masa depan mereka: null mengikuti default ruang kerja, [] tidak bergabung dengan daftar apa pun, dan array yang terisi menargetkan daftar tersebut. Perubahan ini tidak retroaktif dan tidak pernah menghapus keanggotaan yang ada. Ini juga tidak menghentikan urutan any_contact default, yang mendaftarkan kontak tanpa daftar; any_list eksplisit dan urutan daftar spesifik memerlukan keanggotaan yang cocok. Pasangkan penargetan daftar dengan pause_sequence_enrollments ketika pendaftaran default tersebut juga harus dihentikan. Supabase, Stripe, Shopify, Wix, dan Webflow mendukung kontrol ini.

Untuk PostHog, sync_integration memulai ulang impor riwayat peristiwa dari awal dengan kunci API pribadi yang tersimpan. Peristiwa yang diimpor dideduplikasi, jadi mencoba ulang impor yang gagal tidak membuat duplikat.

Untuk Segment, connect_integration pada MCP standar dapat secara opsional mengimpor riwayat peristiwa terbaru dari Unify setelah webhook langsung terhubung. Impor tersebut menelusuri kontak yang ada melalui Profile API, mencakup 14 hari terakhir API, melewati kontak tanpa profil yang cocok, dan dengan aman mendeduplikasi percobaan ulang dan tumpang tindih webhook langsung. Koneksi baru melewati panggilan halaman/layar otomatis kecuali nama tersebut secara eksplisit diizinkan. Rahasia webhook Segment harus 16-153 byte UTF-8. Pada rute yang ditinjau OpenAI, yang menghilangkan connect_integration, hubungkan Segment di dasbor atau CLI lokal sebagai gantinya. Gunakan sync_integration untuk mencoba ulang dengan kredensial yang disimpan.

Untuk Lemon Squeezy, berikan provider: "lemon_squeezy", kunci API, dan ID toko numerik sebagai providerAccountId. Hilangkan webhookSecret untuk pengaturan terkelola default; respons melaporkan webhookProvisioning dan testMode. Berikan rahasia penandatanganan 16-40 karakter hanya untuk pengaturan webhook manual, menggunakan webhookUrl yang dikembalikan. Kredensial tidak pernah dikembalikan.

Untuk Attio, connect_integration pada MCP standar menerima token akses ruang kerja tanpa rahasia webhook, dengan settings.listMap opsional sebagai peta ID daftar Sequenzy ke UUID daftar orang Attio atau slug API, plus syncCompanyFromDomain untuk mengontrol pencocokan perusahaan dari domain email non-gratis. Pada rute yang ditinjau OpenAI, hubungkan Attio di dasbor atau CLI lokal, lalu gunakan update_attio_settings untuk pengaturan yang sama. Integrasi ini hanya keluar: bergabung baru ke daftar Sequenzy yang dipetakan membuat orang tersebut dan menambahkannya ke daftar Attio; penghapusan daftar tidak menghapus catatan dari Attio.

Panggil get_event_schema sebelum menulis tag gabungan {{event.*}} atau filter properti peristiwa. Hilangkan eventName untuk mencantumkan peristiwa bawaan yang terdokumentasi; berikan nama peristiwa untuk menerima contoh payload dan jalur properti khusus penyedia, dan secara opsional filter berdasarkan provider. Nama peristiwa kustom tetap valid bahkan ketika hasil melaporkan documented: false; itu hanya berarti tidak ada sampel referensi yang dipublikasikan. Gunakan aktivitas integrasi atau pendaftaran urutan untuk data pengiriman aktual karena alat ini mengembalikan data referensi statis.

Untuk domain pengirim baru, panggil add_sending_domain, publikasikan catatan DNS di website.dnsRecords yang dikembalikan, tunggu propagasi DNS, lalu panggil verify_sending_domain. Publikasikan setiap catatan yang dikembalikan alih-alih mengasumsikan penyedia atau jumlah catatan tetap: domain terpadu menyertakan DMARC yang diperlukan, sementara domain lama dapat mengembalikan catatan Amazon SES MAIL FROM dan balasan masuk. Jika verifikasi dicoba sebelum pembuatan, kesalahan menunjuk kembali ke add_sending_domain dengan domain yang diminta.

Untuk Shopify, panggil get_integration_pixel sebelum mengandalkan tampilan produk, aktivitas keranjang, atau pemicu pengabaian penelusuran. Hasilnya dibaca langsung dari Shopify karena pedagang dapat menghapus piksel secara independen. Jika pixel.healthy salah, dependentEvents menyebutkan pemicu yang tidak dapat tiba; panggil activate_integration_pixel untuk menginstal atau mengarahkan ulang piksel. Aktivasi bersifat idempoten, dan peristiwa dimulai pada kunjungan toko berikutnya daripada di-backfill.

Untuk situs web kustom, headless, tiket, atau SaaS, gunakan list_web_tracking_keys sebelum mengandalkan pemicu tampilan produk atau keranjang. Buat kunci dengan daftar izin asal eksplisit, instal installSnippet yang dikembalikan, lalu minta backend terautentikasi pelanggan membuat bukti berumur pendek melalui POST /api/v1/web-tracking-identities dan panggil sequenzy.identify(email, identityToken) saat masuk atau checkout. Kunci yang dapat dipublikasikan saja hanya mencatat aktivitas anonim dan tidak dapat memicu otomatisasi pelanggan. Cuplikan yang dikembalikan menginstal stub metode sinkron sebelum pemuat asinkronnya, sehingga panggilan identitas dan peristiwa yang dibuat selama bootstrap halaman diantrekan hingga SDK siap. Lebih suka mencabut kunci dengan update_web_tracking_key sebelum menghapusnya secara permanen.

Perusahaan baru mulai tanpa aturan sinkronisasi. Preset yang diwariskan tetap tersedia untuk perusahaan SaaS/ecommerce dengan memberikan null ke update_sync_rules; layanan dan perusahaan konsultasi biasanya harus mempertahankan [] atau menentukan aturan eksplisit.

Gunakan list_sender_profiles untuk menemukan ID profil, lalu panggil update_sender_profile untuk mengubah hanya nama tampilannya. Berikan type: "reply" untuk profil balas; pengirim adalah default. Alamat, domain pengirim, dan pilihan default From/Reply-To seluruh akun tetap tidak berubah. Mengganti nama memerlukan cakupan companies:manage.

Gunakan delete_sender_profile untuk menghapus secara permanen identitas From yang usang. Alat ini menolak pengirim terakhir dan profil apa pun yang digunakan oleh kampanye langsung, urutan aktif (termasuk override langkah), atau email transaksional. Draf yang memenuhi syarat dan default akun berpindah ke fallbackSenderProfileId yang dikembalikan; tinjau sebelum mengirim. Profil balas tidak didukung oleh alat hapus ini.

Pengabaian keranjang Shopify diaktifkan secara default. Ini memicu ecommerce.cart_abandoned setelah satu jam tidak ada aktivitas keranjang, dengan cooldown 24 jam per pelanggan. Gunakan update_shopify_automation_settings untuk mengubah bidang cartAbandonment.enabled, delayHours, atau cooldownHours; berikan cartAbandonment: null untuk memulihkan default tersebut tanpa mengubah pengaturan pengabaian penelusuran atau penurunan harga. Nilai waktu harus positif; delayHours dibatasi pada 168 dan cooldownHours pada 720.

Pelanggan

AlatDeskripsi
add_subscriberTambahkan satu pelanggan; status hanya saat pembuatan, jadi gunakan update_subscriber untuk kontak yang ada.
create_subscriber_importAntrekan hingga 5.000 catatan CRM lengkap dengan idempotencyKey opsional yang aman untuk percobaan ulang; pemeriksaan kebersihan email yang diaktifkan berlanjut secara terpisah setelah penyerapan.
get_subscriber_importBaca kemajuan, jumlah hasil baris, dan ringkasan kegagalan untuk impor yang diantrekan.
update_subscriberPerbarui bidang profil asli dan telepon, persetujuan SMS, atribut, tag, atau status global.
remove_subscriberBerhenti berlangganan sambil mempertahankan riwayat penekanan, atau hapus permanen hanya dengan hardDelete: true.
get_subscriberAmbil detail pelanggan berdasarkan email atau ID eksternal.
search_subscribersCari berdasarkan kueri, tag, daftar, status, segmen, atau satu atribut kustom, dengan paginasi otomatis atau dapat dilanjutkan.
trigger_subscriber_eventKeluarkan satu peristiwa kustom persis seperti integrasi, menerapkan aturan sinkronisasi dan mencocokkan pemicu urutan.
trigger_subscriber_eventsKeluarkan beberapa peristiwa kustom berurutan untuk satu pelanggan.
import_subscriber_eventsImpor hingga 25 peristiwa yang diidentifikasi sumbernya di seluruh kontak; riwayat senyap memerlukan setiap baris untuk kontak berusia lebih dari satu jam.
bulk_add_subscriber_tagsTambahkan tag ke hingga 500 pelanggan yang ada; memerlukan subscribers:tag dan mungkin juga memerlukan tags:write.
bulk_remove_subscriber_tagsHapus tag dari hingga 500 pelanggan yang ada; memerlukan subscribers:tag atau subscribers:write.

Gunakan create_subscriber_import untuk orientasi CRM alih-alih mengulang add_subscriber. Satu panggilan menerima 5.000 catatan lengkap dan mengembalikan ID impor asinkron; polling dengan get_subscriber_import. Impor completed masih dapat mengandung kegagalan baris, jadi periksa failedCount dan failedReasons. Setiap baris yang dikecualikan diperhitungkan: skippedReasons berjumlah skippedCount, dan failedReasons berjumlah failedCount. Laporkan kekurangan apa pun dengan ID impor alih-alih menebak baris mana yang dihilangkan. Ketika kebersihan email diaktifkan, pemeriksaan keterkiriman berlanjut secara terpisah setelah penyerapan dan hasilnya muncul di kesehatan Daftar; status impor tidak menunggu atau menyertakan keputusan tersebut. Keputusan tidak valid ditekan dari pengiriman berikutnya. Gunakan optInMode: "confirmed" hanya ketika persetujuan sudah diverifikasi.

Untuk import_subscriber_events, email diperlukan ketika baris dapat membuat kontak baru; externalId dapat berdiri sendiri hanya untuk kontak yang ada. Berikan eventId yang stabil di setiap baris. Mencoba ulang menggunakan kembali tanda terima asli dan secara idempoten mencoba ulang pemulihan hilir. Klasifikasi historis adalah per kontak: jika ada baris untuk kontak yang baru, seluruh grup kontak tersebut menggunakan jalur efek samping langsung.

Untuk penekanan kepatuhan, panggil update_subscriber dengan status: "unsubscribed" (atau gunakan remove_subscriber tanpa hardDelete). Jangan mencoba ulang add_subscriber dengan status yang berbeda: status pada alat tersebut berlaku hanya ketika kontak pertama kali dibuat, dan hasil yang dilewati yang tidak cocok dilaporkan sebagai kesalahan. Ketika add_subscriber menghilangkan listIds, kontak yang dibuat melalui panggilan tersebut mengikuti daftar default ruang kerja, sementara kontak yang sudah ada tetap mempertahankan keanggotaan daftarnya saat ini. Berikan ID daftar secara eksplisit ketika kontak yang sudah ada harus bergabung ke daftar tertentu; berikan [] untuk menargetkan tanpa daftar.

update_subscriber.phone menulis kolom telepon asli yang ditampilkan pada kontak, bukan atribut kustom. Berikan smsConsent: true hanya setelah memverifikasi izin tertulis yang eksplisit, atau false untuk mengeluarkan kontak dari langganan. Mengubah nomor telepon tanpa smsConsent mengatur ulang persetujuan SMS karena persetujuan tersebut melekat pada nomor lama.

add_subscriber, update_subscriber, dan create_subscriber_import menerima zona waktu IANA timezone seperti America/New_York. Nilai tersebut disimpan pada profil kontak asli dan memungkinkan pengiriman kampanye yang disesuaikan dengan lokasi penerima. Berikan zona waktu kosong ke update_subscriber untuk menghapusnya; nilai baris impor yang tidak valid diabaikan tanpa menolak sisa impor.

Produk & Pengiriman Digital

AlatDeskripsi
list_productsDaftar produk yang disinkronkan dari Stripe, Shopify, WooCommerce, manual, atau data Commerce API.
upsert_productsBuat atau perbarui hingga 100 produk Commerce API yang dikunci berdasarkan ID produk Anda.
delete_productHapus produk yang sebelumnya dikirim melalui Commerce API.
attach_product_fileLampirkan file pengiriman yang dihosting atau diunggah secara lokal ke sebuah produk.
remove_product_fileHapus file pengiriman produk yang dilampirkan.
sync_productsAntrekan sinkronisasi katalog produk Stripe, opsional memilih integrasi berdasarkan ID.

Setelah file pengiriman produk dilampirkan, peristiwa pembelian yang cocok menyertakan download.url dan download.name, sehingga email yang dipicu pembelian dapat menggunakan tag gabungan seperti {{event.download.url}}.

Untuk produk Stripe, list_products mengembalikan setiap harga aktif sebagai varian, dengan ID harga Stripe di variantId. Gunakan ID tersebut untuk menargetkan harga yang tepat dalam urutan pembelian bahkan ketika itu bukan harga default produk.

Aset Gambar

AlatDeskripsi
upload_image_assetUnggah gambar email dan kembalikan catatan media yang dihosting plus blok gambar yang siap disisipkan.

Alat ini menerima gambar PNG, JPEG, GIF, dan WebP hingga 5MB. Klien stdio lokal dapat memberikan filePath. Klien yang dihosting/jarak jauh yang dapat mengakses byte lampiran dapat memberikan imageBase64 dengan filename. Berikan altText untuk aksesibilitas, lalu gunakan displayWidthPercent, cropHeight, objectFit (cover atau contain), dan align untuk menstandarkan presentasi tangkapan layar. imageBlock yang dikembalikan dapat disalin langsung ke array blok yang diterima oleh alat kampanye, urutan, template, dan email transaksional.

Byte gambar yang terautentikasi selalu diunggah ke asal yang dikonfigurasi oleh SEQUENZY_API_URL, bahkan jika proxy terbalik mengembalikan URL unggahan yang setara di bawah host lain. Kredensial API tidak pernah diteruskan ke asal alternatif tersebut.

{
  "filePath": "/Users/me/Desktop/product-results.png",
  "altText": "Product results dashboard",
  "displayWidthPercent": 100,
  "cropHeight": 320,
  "objectFit": "cover",
  "align": "center"
}

Daftar, Tag, Segmen

AlatDeskripsi
list_tagsDaftar semua tag.
create_tagBuat definisi tag dengan warna opsional.
update_tagPerbarui warna tag.
delete_tagHapus tag dan hapus dari pelanggan.
list_listsDaftar daftar pelanggan.
create_listBuat daftar pelanggan.
update_listGanti nama atau deskripsikan daftar pelanggan.
delete_listHapus daftar pelanggan.
add_subscribers_to_listTambahkan hingga 500 pelanggan ke daftar dari array email.
remove_subscribers_from_listHapus hingga 500 pelanggan dari daftar.
list_segmentsDaftar segmen tersimpan dan jumlahnya.
create_segmentBuat segmen bersarang atau dengan filter array elemen yang sama.
update_segmentPerbarui nama segmen, filter, grup akar, atau operator gabungan.
delete_segmentHapus segmen (memerlukan segments:delete).
get_segment_countPratinjau jumlah pelanggan aktif untuk sebuah segmen.

Untuk ekspor pelanggan, search_subscribers menerima listId, listName yang tepat, atau list (ID terlebih dahulu, lalu nama yang tepat). Ini juga menerima attribute plus attributeValue, dengan attributeOperator untuk contains, perbandingan numerik, atau is_not_empty; bentuk gabungan "attributeName:value" tetap didukung. Filter digabungkan dengan AND; gunakan segmen tersimpan untuk logika OR, grup bersarang, pengecualian, keterlibatan, atau kondisi peristiwa. Jika limit dihilangkan, alat secara otomatis mengambil setiap halaman yang cocok. Untuk pembacaan terpotong, berikan limit dan ikuti pagination.nextCursor (atau pagination.nextOffset) sementara hasMore adalah benar. offset dan page didukung di bawah 1.000.000 kecocokan yang dilewati; gunakan kursor untuk audiens yang lebih dalam.

Untuk pengisian daftar massal, gunakan add_subscribers_to_list; titik akhir API pendukungnya adalah POST /api/v1/lists/{listId}/subscribers tanpa akhiran /bulk:

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

Kirim maksimal 500 email per permintaan. Batas laju API standar tetap berlaku: 100 permintaan per menit per kunci API dan 20 permintaan per detik burst. Untuk impor CLI berbasis CSV, header email yang diterima mencakup email, e-mail, email address, dan mail; jika tidak ada header yang dikenali, CLI membaca kolom pertama.

Filter segmen mendukung atribut, peristiwa, keanggotaan segmen tersimpan, peristiwa keterlibatan, aturan pembelian produk Stripe, dan aturan pembelian produk commerce. Gunakan filterJoinOperator: "or" untuk segmen cocok-apa saja, atau berikan grup root v2 untuk logika bersarang.

Untuk atribut array-of-object, gunakan jalur wildcard seperti history_events[].eventvenue_id:2103. Ketika grup AND juga memfilter history_events[].showing_date, kedua kondisi harus cocok dengan satu elemen history_events[] yang sama; nilai dari entri riwayat yang tidak terkait tidak digabungkan. Menghapus segmen memerlukan segments:delete; segments:write tidak cukup.

Setiap bidang filter segmen memvalidasi operatornya sendiri:

  • 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, bidang keterlibatan email: is, is_not, at_least, less_than_count
  • emailBounced: juga mendukung 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

Contoh filter produk 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" }

Filter produk commerce cocok dengan produk yang dibeli melalui pesanan commerce. Nilai dapat berupa provider:productId untuk ID yang dibatasi penyedia (shopify, woocommerce, atau api), ID produk telanjang untuk mencocokkan penyedia mana pun, atau provider:productId:count untuk operator ambang batas:

{ "field": "commerceProduct", "operator": "is", "value": "api:starter-kit" }
{ "field": "commerceProduct", "operator": "at_least", "value": "shopify:42:2" }

Bidang keterlibatan seperti emailSent, emailDelivered, emailOpened, emailClicked, emailBounced, dan emailComplained menerima jendela bergulir seperti 7d, 30d, 90d, 180d, atau all. Operator keberadaan dapat membatasi cakupan berdasarkan kebijakan pengiriman dengan marketing:<timeRange> (kampanye kebijakan pemasaran, otomatisasi, dan lalu lintas Send API) atau transactional:<timeRange> (pengiriman kebijakan transaksional); cakupan kebijakan memerlukan snapshot kebijakan pada waktu pengiriman, sehingga peristiwa otomatisasi lama yang ambigu dan peristiwa Send API tetap tersedia hanya melalui filter tanpa cakupan. emailBounced juga mendukung nilai dengan cakupan dengan is_temporary_bounce dan is_permanent_bounce. Dengan at_least dan less_than_count, gunakan count:timeRange, seperti 10:30d atau 10:all. Operator keberadaan dapat menggunakan cakupan kampanye seperti campaign:cmp_123; cakupan kampanye dan jenis email tidak dapat digabungkan dengan operator hitungan.

Sinkronisasi Audiens (Meta Ads)

AlatDeskripsi
list_audience_syncsDaftar sinkronisasi segmen-ke-audiens dengan jadwal dan status sinkronisasi terakhir.
list_ad_accountsDaftar akun iklan Meta yang tersedia untuk sinkronisasi.
create_audience_syncDorong segmen ke audiens kustom Meta sesuai jadwal.
update_audience_syncUbah frekuensi sinkronisasi (hourly, daily, weekly) atau jeda/lanjutkan.
delete_audience_syncHapus pemetaan sinkronisasi; audiens Meta itu sendiri dipertahankan.
sync_audience_nowPicu unggahan langsung di luar jadwal reguler.

Memerlukan integrasi Meta Ads yang terhubung di dasbor Sequenzy (Pengaturan -> Integrasi). create_audience_sync menerima segmen yang ada (segmentId) atau template siap pakai (predefinedSegmentId, misalnya zero-ltv, no-purchase-1y, recent-buyers, high-spenders-ecom, non-buyers, engaged) - segmen template dibuat secara otomatis pada penggunaan pertama, dan unggahan pertama berjalan segera.

Audiens bersifat tambah-saja: pelanggan yang kemudian meninggalkan segmen tetap berada di audiens Meta. Meta memerlukan 100+ orang yang cocok sebelum audiens dapat digunakan untuk pengiriman iklan.

Template

AlatDeskripsi
list_templatesDaftarkan template dengan status lokalisasi, label, dan pemfilteran isTemplate, serta paginasi.
get_templateBaca detail template, konten, dan varian yang dilokalkan.
create_templateBuat template dari prompt, HTML, atau blok Sequenzy; gunakan isTemplate: true untuk menyimpan desain master yang dapat digunakan kembali.
update_templatePerbarui metadata template, teks pratinjau kotak masuk, label, HTML, atau blok; tandai atau batalkan tanda master dengan isTemplate.
set_template_localizationBuat atau ganti varian yang dilokalkan yang disuplai pemanggil.
sync_template_localizationsAntrekan terjemahan AI untuk lokal non-primer yang dipilih atau semua yang diaktifkan.
delete_templateHapus template.

list_templates mengembalikan 50 badan email terbaru terlebih dahulu secara default dan menerima limit hingga 100. Lanjutkan offset dengan pagination.count sementara pagination.hasMore benar; pagination.total melaporkan jumlah lengkap yang cocok, termasuk badan email kampanye dan transaksional.

Setel isTemplate: true pada list_templates untuk hanya mengembalikan desain master yang disimpan, atau false untuk mengembalikan badan email biasa. Master yang ditandai ditawarkan sebagai titik awal untuk langkah urutan dan kampanye dasbor; memulai dari salah satunya membuat salinan independen sehingga pengeditan membiarkan master tetap utuh.

Penyalinan desain sumber mandiri/urutan dan penulisan ulang AI dalam tata letak yang dipilih saat ini hanya tersedia di dasbor. Rilis ini sengaja menjaga alur kerja tersebut dalam penulisan interaktif, di mana pengguna dapat meninjau sumber, terjemahan, dan salinan cadangan apa pun sebelum menyimpan langkah urutan. REST, CLI, dan MCP tidak mengekspos operasi desain sumber mandiri/urutan yang setara. create_template dengan prompt menghasilkan konten baru tanpa melestarikan tata letak yang ada; HTML atau blok yang disuplai membuat badan baru tanpa secara otomatis menyalin varian yang dilokalkan. Lihat dokumentasi ketersediaan antarmuka.

Salinan kampanye sudah berfungsi melalui REST POST /api/v1/campaigns dan MCP create_campaign dengan templateId; ini tidak dapat digabungkan dengan prompt untuk penulisan ulang AI.

Untuk konten baru yang diminta dalam bahasa alami, berikan prompt sehingga Sequenzy menghasilkan blok asli bermerek di sisi server. Gunakan blocks hanya untuk konten Sequenzy yang sudah selesai yang disuplai pemanggil, dan gunakan html hanya saat melestarikan markup yang disuplai atau diminta secara eksplisit. prompt, blocks, dan html saling eksklusif; style dan tone hanya valid dengan prompt.

Gunakan set_template_localization saat salinan terjemahan berasal dari alur kerja lokalisasi Anda sendiri. Ini memerlukan locale non-primer yang diaktifkan, subject yang dilokalkan, dan tepat satu dari html atau blocks. Gunakan sync_template_localizations untuk meminta Sequenzy menerjemahkan lokal yang dipilih; hilangkan locales untuk menyinkronkan setiap lokal non-primer yang diaktifkan. Sinkronisasi eksplisit berfungsi bahkan saat lokalisasi otomatis saat penyimpanan dinonaktifkan.

Komponen Email yang Dapat Digunakan Kembali

AlatDeskripsi
list_email_componentsDaftarkan bagian dan footer yang disimpan, opsional dibatasi pada default yang disematkan.
get_email_componentBaca blok, metadata, versi, dan status slot default dari satu komponen.
get_default_email_componentBaca komponen yang saat ini disematkan ke slot default seperti footer.
set_default_email_componentBuat atau ganti footer default perusahaan yang digunakan oleh email blok yang baru dibuat.
create_email_componentSimpan bagian atau footer yang dapat digunakan kembali dari daftar blok.
update_email_componentPerbarui metadata komponen atau ganti bloknya dan tingkatkan versinya.
delete_email_componentHapus komponen tanpa mengubah email yang sudah menyalin bloknya.

Komponen disalin ke email saat email tersebut dibuat, sehingga pengeditan selanjutnya mempengaruhi email yang baru dibuat daripada menulis ulang konten yang ada. Footer default menjaga tautan berhenti berlangganan tetap aktif, sementara rendering transaksional menyembunyikan tautan tersebut. Email HTML mentah menjaga markupnya sendiri dan tidak menerima blok komponen; penanganan berhenti berlangganan saat pengiriman tetap tidak berubah.

Tes A/B

AlatDeskripsi
list_ab_testsDaftarkan tes A/B dan varian, opsional dibatasi oleh urutan.
get_ab_testDapatkan pengaturan efektif, varian, status lokalisasi, dan salinan langkah urutan.
get_ab_test_statsDapatkan statistik agregat dan per varian.
restart_ab_testMulai ulang tes A/B yang dihentikan atau selesai.
select_ab_test_winnerPilih pemenang tes kampanye dan antrekan pengiriman yang tersisa.
update_ab_testPerbarui pengaturan pemilihan pemenang kampanye atau urutan.
update_ab_test_variantPerbarui draf kampanye atau salinan varian urutan.
create_ab_testBuat tes kampanye atau konversi langkah email urutan.
add_ab_test_variantTambahkan varian ke tes A/B yang ada.
delete_ab_test_variantHapus varian tes A/B draf.
delete_ab_testHapus tes A/B.

Gunakan get_sequence.sequence.emails[].abTest.variants untuk menemukan ID varian urutan, subjek, teks pratinjau, dan jumlah blok; panggil get_ab_test untuk mengaudit blocks lengkap setiap varian, settings efektif, status lokalisasi, atau statistik. Pengaturan kampanye menggunakan testPercentage, testDurationMinutes, dan winnerCriteria; pengaturan urutan menggunakan testType, winnerThreshold, dan winnerCriteria. Nilai urutan lama testPercentage: 100 dan testDurationMinutes: 0 adalah sentinel kompatibilitas, bukan pengaturan runtime. select_ab_test_winner hanya berlaku untuk tes kampanye yang sedang diuji dan segera mengantrekan varian pemenang untuk audiens yang tersisa. update_ab_test mengubah model pengaturan yang sesuai dan memerlukan confirmLiveChange: true saat pengaturan urutan memengaruhi tes yang aktif atau sudah digunakan. Pembaruan varian menerima html atau blocks, bukan keduanya.

create_ab_test menerima tepat satu dari campaignId atau automationNodeId; yang terakhir memerlukan satu hingga empat varian tambahan dan mengonversi simpul email urutan menjadi action_ab_test. Konversi memindahkan subjek langkah, teks pratinjau, dan blok ke email varian independen. Dapatkan ID tes dan varian dari get_sequence, baca salinan setiap varian dengan get_ab_test, dan edit masing-masing dengan update_ab_test_variant; update_sequence_node dan update_template tidak dapat mengedit salinan varian, dan perubahan yang dimaksudkan untuk seluruh langkah harus diulang untuk setiap varian. Jika update_ab_test_variant tidak ada dalam daftar alat MCP, aktifkan di konektor Sequenzy daripada menulis melalui alat email lain. Alur kerja lengkap memerlukan ab_tests:read, ab_tests:write, dan sequences:write, semuanya termasuk dalam Akses agen yang lebih aman. Dengan hanya sequences:read, get_sequence menjaga langkah A/B dan salinan kontrol tetap terlihat tetapi menyunting bidang catatan tes dan mengembalikan daftar varian kosong. winnerCriteria urutan eksplisit menimpa default testType, sehingga varian konten masih dapat dinilai berdasarkan pembukaan. Berikan confirmLiveChange: true saat mengonversi simpul dalam urutan aktif. Bersama dengan kontrol A, tes A/B mendukung paling banyak lima varian. Varian urutan menerima template email independen dan dapat diedit setelah pembuatan; setelah urutan aktif atau tes memiliki aktivitas, update_ab_test_variant memerlukan confirmLiveChange: true. Varian hanya dapat ditambahkan atau dihapus saat tes masih draf, dan perubahan urutan langsung juga memerlukan konfirmasi karena segera mengubah rotasi.

Kampanye

AlatDeskripsi
list_campaignsMenampilkan kampanye dengan paginasi berdasarkan status atau label, termasuk umpan balik peninjau dan kolom kecepatan pengiriman untuk audit STO di seluruh akun.
get_campaignMendapatkan detail, statistik, umpan balik peninjau, dan kecepatan pengiriman yang tercatat untuk sebuah kampanye.
get_campaign_audienceMenyelesaikan penargetan tersimpan, referensi yang hilang, ringkasan bahasa sederhana, dan jumlah penerima langsung.
list_campaign_goalsMenampilkan tujuan konversi yang disimpan untuk satu kampanye email (SMS tidak didukung).
create_campaign_goalMenambahkan tujuan konversi kampanye email berdasarkan peristiwa, atribut pelanggan, atau tag yang diterapkan.
update_campaign_goalMemperbarui tujuan konversi kampanye email yang tersimpan.
delete_campaign_goalMenghapus tujuan konversi kampanye email yang tersimpan.
list_email_sendsMencari riwayat pengiriman terbaru dengan ID sumber daya dan URL, secara opsional dibatasi pada satu langkah urutan. Pengiriman uji langsung yang berhasil dihilangkan.
get_email_sendMemeriksa pengiriman yang diantrekan, uji, terkirim, ditekan, atau gagal berdasarkan ID pengiriman email yang tahan lama.
list_recipient_suppressionsMenampilkan penerima yang ditekan terkait, termasuk alamat global tidak valid yang dilindungi dan keluhan.
get_recipient_suppressionMemeriksa pantulan lokal, keluhan, kebersihan email, dan penekanan SES regional untuk satu penerima yang tepat.
remove_recipient_suppressionMenghapus eskalasi pantulan lunak ruang kerja sambil mempertahankan perlindungan global, pantulan keras, dan keluhan.
create_campaignMembuat kampanye dengan konten, data, dan override identitas Dari/Balas-ke yang opsional.
update_campaignMemperbarui kampanye draf, termasuk konten, data, identitas, audiens, dan konfigurasi STO yang tersimpan.
schedule_campaignMenjadwalkan atau menjadwal ulang kampanye, secara opsional menimpa STO dan jendela pengiriman 1-24 jamnya.
send_test_emailMengirim email uji ke satu alamat.
render_emailMerender HTML aman email yang tepat dan melaporkan tag yang belum terselesaikan, termasuk salah ketik yang tersembunyi oleh nilai default.
cancel_campaignMembatalkan kampanye yang dijadwalkan atau sedang dikirim.
pause_campaignMenjeda kampanye yang sedang dikirim.
resume_campaignMelanjutkan kampanye yang dijeda, secara opsional menyebarkan pengiriman dari waktu ke waktu.
delete_campaignMenghapus kampanye.
duplicate_campaignMenduplikasi kampanye menjadi draf baru.
resend_campaign_to_non_openersMembuat draf kirim ulang untuk anggota audiens asli yang tidak membuka kampanye terkirim.

Kampanye yang dibuat oleh prompt dihasilkan dan disimpan dalam satu permintaan API dan tetap sebagai draf. Gunakan templateId, blocks, atau html hanya saat menyalin atau mempertahankan konten yang ada, bukan meminta agen untuk menulisnya. Hapus semua kolom konten untuk membuat draf kosong untuk diedit nanti.

Tujuan kampanye memberikan kredit kepada penerima yang benar-benar dikirimi kampanye tersebut dalam jendela atribusi yang dikonfigurasi; bukaan atau klik tetap menjadi sinyal last-touch yang lebih kuat jika ada. Tujuan peristiwa memerlukan triggerEventName, tujuan atribut pelanggan memerlukan attributePath, dan tujuan tag yang diterapkan memerlukan triggerTagName. Jendela atribusi kampanye defaultnya adalah 168 jam jika dihilangkan.

Untuk mengirim pada waktu dinding jam yang sama di zona waktu setiap penerima, panggil schedule_campaign dengan sendInRecipientTimezone: true dan IANA scheduledTimezone yang mengidentifikasi waktu dinding jam yang diwakili oleh scheduledAt. Kontak tanpa zona waktu tersimpan menerima kampanye pada saat scheduledAt. Mode ini tidak dapat digabungkan dengan pengiriman berulang atau tersebar.

Optimasi Waktu Kirim dikonfigurasi per kampanye, bukan di tingkat perusahaan atau urutan. Audit di seluruh kampanye dengan list_campaigns, atau periksa satu kampanye dengan get_campaign. Atur sendTimeOptimization dan sendTimeWindowHours (1-24, default 12) pada draf dengan update_campaign, atau timpa saat menjadwalkan dengan schedule_campaign. spreadOverHours lebih diutamakan dan menonaktifkan STO, begitu juga pengiriman zona waktu penerima. Urutan sebaliknya menggunakan sendingWindow, gerbang jam/hari yang diizinkan bersama bukan waktu kirim prediksi per penerima.

Untuk identitas tingkat kampanye dan urutan, fromEmail plus fromName memilih identitas pengirim dengan nama tampilan tersebut di kotak surat, membuatnya saat diperlukan tanpa mengganti nama identitas alamat yang sama lainnya. Alamat Balas-ke sebaliknya memiliki satu nama tersimpan di seluruh perusahaan: saat replyToName berbeda dari nama tersebut, nama tersimpan dipertahankan dan respons sukses menyertakan panduan pemulihan di warnings.

send_email dan send_test_email mengembalikan emailSendId yang tahan lama. Gunakan list_email_sends untuk menemukan ID terbaru berdasarkan subjek/judul, penerima, status pengiriman, jenis, jenis pantulan, atau sumber; teruskan ID ke get_email_send untuk memeriksa status, errorMessage, isi tersimpan, dan peristiwa pengiriman. Baris daftar pengiriman disimpan selama 14 hari. Uji langsung yang berhasil dan kiriman uji lainnya dihilangkan agar tidak mengubur pengiriman nyata. Balasan ke kiriman uji tersebut muncul di list_conversations hanya saat penangkapan balasan masuk diaktifkan. Pekerjaan antrean adalah detail eksekusi internal dan tidak diekspos melalui kontrak MCP. Setiap pengiriman yang dikembalikan memiliki url dasbor langsung. Gunakan list_recipient_suppressions untuk membedakan baris penerima tidak valid global yang dilindungi, pantulan keras perusahaan yang dilindungi, dan keluhan dari eskalasi pantulan lunak perusahaan yang dapat dihapus, dan gunakan get_recipient_suppression untuk status regional yang tepat. remove_recipient_suppression hanya menghapus eskalasi perusahaan; penekanan global dan tingkat akun Amazon SES, keluhan, berhenti berlangganan, dan perlindungan kebersihan email tetap utuh. Hasil kebersihan lokal menggunakan alasan bounced dengan email_hygiene sebagai sumbernya tanpa mengubah status persetujuan pelanggan.

Agen harus meneruskan idempotencyKey milik pemanggil ke send_email sebelum percobaan pertama dan menggunakannya kembali untuk setiap percobaan ulang email logis yang sama. Sequenzy mengembalikan emailSendId asli selama 14 hari alih-alih membuat pengiriman lain. Menggunakan kembali kunci dengan argumen kirim yang berbeda ditolak, jadi jangan menghasilkan kunci baru di dalam loop percobaan ulang.

Blok email dapat menggunakan aturan tampilan bersyarat atau cabang conditional-group. Kondisi mendukung variabel waktu render dan atribut pelanggan plus data pelanggan langsung seperti keanggotaan segmen/daftar, tag, peristiwa, keterlibatan, status langganan/SMS, dan pembelian Stripe atau perdagangan. Kondisi data langsung menggunakan nilai bidang dan operator yang sama dengan filter segmen; penerima tanpa kecocokan pelanggan tersimpan menggunakan cabang OTHERWISE.

Bentuk blok inti adalah { "type": "heading", "content": "Judul", "level": 1 }, { "type": "text", "content": "<p>Salin</p>" }, { "type": "button", "text": "Pesan panggilan", "url": "https://example.com", "variant": "primary" } , and { "type": "image", "src": "https://...", "alt": "Deskripsi", "width": 100, "widthType": "percent" }. Buttons also accept content sebagai alias untuk text dan default ke varian primary. Gambar widthType menerima percent atau px.

Blok video YouTube menerima sampul kustom opsional: { "type": "video", "videoUrl": "https://www.youtube.com/watch?v=...", "thumbnailUrl": "https://cdn.example.com/cover.jpg", "alt": "Tonton tur produk" }. Mengganti blok tanpa thumbnailUrl mengembalikan gambar diam YouTube sendiri sambil menjaga videoUrl sebagai tujuan klik.

html mentah disimpan sebagai satu blok buram. Ini mempertahankan markup yang diberikan tetapi tidak menambahkan logo perusahaan, bagian bermerek asli, atau desain blok berbasis tema. Gunakan prompt untuk draf bermerek baru atau blocks untuk desain asli editor; penulisan MCP menghasilkan peringatan saat HTML mentah digunakan.

Gunakan update_company dengan fromEmail dan/atau replyTo untuk mengatur default di seluruh akun. fromEmail harus menggunakan domain pengiriman terkonfigurasi dan terverifikasi; replyTo boleh kotak surat valid apa pun. create_campaign, update_campaign, create_sequence, dan update_sequence menerima bidang alamat langsung yang sama untuk override khusus sumber daya dan membuat profil pendukung saat diperlukan. Kirim fromName atau replyToName saja untuk mengganti nama profil default yang ada tanpa mengubah alamatnya. Saat alamat memiliki beberapa nama tampilan, gunakan senderProfileId atau replyProfileId dari list_sender_profiles untuk memilih profil yang tepat untuk dijadikan default dan diganti nama.

update_company juga mengelola tema email default perusahaan melalui emailTheme (presetId, colors, typography, layout). Pembaruan tema bersifat parsial - bidang yang dihilangkan mempertahankan nilai saat ini (atau default preset) dan nilai numerik dijepit ke rentang yang didukung. Teruskan emailTheme: null untuk mengatur ulang perusahaan ke tema default platform. Pengaturan tata letak dapat mengontrol baseRadius bersama dan buttonRadius terpisah. Dalam colors, background melukis kanvas luar, content melukis kartu konten dalam, dan surface melukis kartu bersarang atau ubin berwarna. Menghilangkan content mempertahankan nilai saat ini; saat tidak ada warna konten tersimpan, kartu mengikuti background.

Pelacakan balasan tersedia di alat perusahaan yang sama. Gunakan replyTrackingEnabled, replyTrackingDomainMode (sequenzy atau custom), dan forwardReplies dengan update_company. Pembacaan perusahaan juga mengembalikan nilai replyRetentionDays hanya-baca saat ini.

Jajak pendapat dan survei NPS adalah blok email asli, jadi berfungsi di mana pun alat email menerima blocks, termasuk kampanye, template, varian A/B, template transaksional, dan langkah email urutan. Kiriman jajak pendapat transaksional harus diselesaikan menjadi tepat satu penerima efektif setelah penyaringan penekanan dan deduplikasi penerima, dan penerima tersebut harus sudah ada sebagai pelanggan; jika tidak, Sequenzy menolak kiriman karena tautan jawaban tidak dapat diatribusikan dengan aman. Gunakan jajak pendapat tombol jawaban:

{
  "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"
}

Untuk NPS, gunakan "variant": "nps", array options kosong, dan atribut seperti nps_score. Skala selalu 0-10; npsLowLabel dan npsHighLabel opsional menyesuaikan keterangannya. Setiap jawaban memperbarui atribut pelanggan dan memicu poll.answered untuk otomasi dan webhook keluar.

Setel "allowMultiple": true pada polling opsi teks saja untuk membuka halaman yang dihosting tempat penerima dapat mencentang beberapa jawaban dan menyimpan seluruh pilihan sekaligus. Atribut pelanggan menyimpan daftar nilai terpilih, sehingga segmen atribut harus menggunakan contains. Polling multi-pilih tidak dapat menggunakan gambar opsi atau konfigurasi yang tautan bertanda tangan terenkodenya melebihi batas ukuran aman pengiriman. Ringkasan polling kampanye menetapkan allowMultiple: true, menggunakan jumlah responden untuk totalResponses, dan dapat melaporkan persentase jawaban yang berjumlah lebih dari 100%.

Blok polling juga mendukung gaya khusus merek. accentColor mewarnai ulang setiap kemunculan, termasuk "brutal"; optionRadius mengatur sudut tombol jawaban dalam piksel (0 berbentuk persegi), secara independen dari styles.borderRadius wadah; dan questionColor mewarnai ulang hanya pertanyaan. fontFamily berlaku untuk polling. Gunakan bidang optionFontSize, optionFontWeight, optionLetterSpacing, dan optionTextTransform untuk jawaban, atau bidang question* yang cocok untuk pertanyaan. Ukuran dan spasi dalam piksel, bobot berkisar dari 100 hingga 900, dan transformasi teks adalah "none" atau "uppercase".

Formulir Tersimpan

AlatDeskripsi
list_formsDaftar formulir tersimpan dengan pengaturan audiens yang dikelola server, blok konten, dan URL aksi publik.
create_formBuat dan publikasikan formulir tersimpan dengan bidang email/nama standar, pengaturan audiens, tema, dan perilaku sukses.
update_formPerbarui formulir tersimpan, termasuk array blok terurut lengkap dan bidang khusus bertipe.
get_form_embedKembalikan URL aksi publik, JavaScript yang dihosting, formulir asli minimal, dan contoh pengambilan untuk formulir tersimpan.

Untuk Astro, Hugo, Jekyll, Cloudflare Pages, Netlify, GitHub Pages, atau situs statis lainnya, panggil list_forms, gunakan create_form jika formulir yang sesuai tidak ada, lalu panggil get_form_embed. formId buram yang dikembalikan adalah kapabilitas publik: daftar, tag, perilaku duplikat, dan penanganan sukses tetap berada di sisi server, sehingga kode browser yang digunakan tidak pernah berisi kunci API Sequenzy. Markup asli dan mandiri yang dihasilkan menyertakan "Powered by Sequenzy" untuk ruang kerja gratis; ruang kerja berbayar menerima markup tanpa merek. API menyelesaikan hak tersebut di sisi server, sehingga pemanggil harus menggunakan cuplikan yang dikembalikan tanpa perubahan. Saat memperbarui formulir, bidang yang dihilangkan tetap tidak berubah dan bidang tema digabungkan ke dalam tema saat ini. Berikan array tagIds kosong untuk menghapus tag atau redirectUrl kosong untuk memulihkan perilaku pesan konfirmasi. Bidang blocks adalah pengganti lengkap, jadi baca konten saat ini dengan list_forms terlebih dahulu dan pertahankan tepat satu bidang email wajib dan satu tombol kirim. Tambahkan input khusus sebagai blok form-field dengan fieldType yang didukung; bidang pilih, radio, dan kotak centang memerlukan opsi, sementara default tersembunyi diterapkan di sisi server.

Popup Tersimpan

AlatDeskripsi
list_popupsDaftar popup tersimpan dengan status dan statistik keterlibatan, opsional termasuk konten lengkap.
get_popupDapatkan blok, pemicu, penargetan, jadwal, frekuensi, tema, dan kode sematan yang dipublikasikan dari satu popup.
create_popupBuat popup dari templat awal, dipublikasikan secara default, dan kembalikan skrip penerapannya.
update_popupPerbarui sebagian salinan popup, audiens, perilaku, tema, blok, atau status publikasi.
get_popup_embedKembalikan cuplikan sematan HTML, React/Next.js, WordPress, dan Shopify tanpa rahasia.
duplicate_popupSalin popup ke draf dengan penghitung keterlibatan independen.
delete_popupHapus permanen popup dan penghitung keterlibatannya.

Penerapan popup menggunakan satu tag skrip publik; kunci API, pengaturan audiens, pemicuan, penargetan, penjadwalan, dan aturan frekuensi tetap di sisi server. Popup menangkap ke setiap daftar secara default kecuali listIds disediakan. Saat memperbarui blok, baca popup terlebih dahulu dan kirim array pengganti lengkap, pertahankan tepat satu bidang email wajib dan satu tombol kirim. Menyetel status ke draft menghentikan popup tanpa membatalkan kode sematan yang ada.

Halaman Arahan

AlatDeskripsi
list_landing_pagesDaftar halaman arahan dengan status, metrik, konten, dan URL.
get_landing_pageDapatkan detail halaman arahan, konten pembuat, metrik, dan URL yang dipublikasikan.
render_landing_pageKembalikan pratinjau pengunjung bertanda tangan 24 jam tanpa memublikasikan, menghitung tampilan, atau mengumpulkan pendaftaran.
create_landing_pageBuat draf halaman arahan dari konten templat default atau JSON.
update_landing_pageEdit nama, slug, atau konten kompatibel editor lengkap halaman arahan.
publish_landing_pagePublikasikan halaman arahan, opsional menyimpan edit terlebih dahulu.
unpublish_landing_pageKembalikan halaman arahan ke status draf, opsional menyimpan edit terlebih dahulu.
duplicate_landing_pageDuplikat halaman arahan ke draf baru dengan slug unik.
delete_landing_pageHapus halaman arahan yang tidak dipublikasikan.
connect_landing_page_domainHubungkan domain khusus halaman arahan dan kembalikan detail pengaturan DNS.
update_landing_page_domain_settingsGanti atau verifikasi pengaturan domain khusus halaman arahan.

Konten halaman arahan menggunakan skema JSON kompatibel editor Sequenzy dengan version, template, seo, theme, dan blocks. Pengaturan SEO menyertakan faviconUrl dan hideFromSearchEngines; halaman tersembunyi memublikasikan direktif noindex. Gunakan render_landing_page untuk meninjau halaman yang menghadap pengunjung saat ini sebelum memublikasikan. previewUrl bertanda tangan kedaluwarsa setelah 24 jam, tidak terdaftar, tidak diindeks, dan tidak menambah tampilan halaman; formulir tetap terlihat tetapi tidak mengumpulkan kontak. Blok dirender dalam urutan slot: top, hero, form, body, lalu footer; gunakan top untuk pengumuman atau spanduk lebar penuh di atas hero. URL tombol dan CTA harga menerima tujuan HTTPS eksternal atau jangkar dalam halaman seperti #form, #section-<sectionId>, #block-<blockId>, dan #top. Setel theme.sectionAnimation ke none, fade, slide-up, atau zoom-in, dengan theme.sectionAnimationSpeed disetel ke slow, normal, atau fast, untuk mengontrol pengungkapan gulir yang dipublikasikan. Subdomain khusus halaman arahan memerlukan catatan CNAME yang menunjuk ke pages.sequenzydns.com; domain akar menggunakan catatan A yang menunjuk ke 76.76.21.21, dan host www mereka mengarahkan ke akar saat CNAME-nya menunjuk ke pages.sequenzydns.com. Panggil update_landing_page_domain_settings dengan verify: true setelah perubahan DNS menyebar.

Urutan

ToolDeskripsi
list_sequencesDaftarkan urutan dengan status dasbor, pencarian, label, batas, dan filter offset.
get_sequenceDapatkan detail urutan, ID varian A/B, dan jumlah blok dengan ab_tests:read, node, tepi, salinan tertaut, dan jendela pengiriman urutan.
list_sequence_enrollmentsDaftarkan pendaftaran kontak dengan paginasi dan atribusi entri berbasis daftar/tag/event/waktu yang akurat. Tes urutan langsung tidak membuat pendaftaran.
send_sequence_test_emailKirim satu langkah action_email tersimpan ke 1-10 peninjau; langkah A/B diperiksa per varian.
create_sequenceBuat draf dasbor kosong atau urutan yang dihasilkan AI/langkah eksplisit.
update_sequencePerbarui identitas, pengaturan, pendaftaran, langkah yang ada, logika cabang, atau sisipkan langkah linier.
update_sequence_nodePatch sadar-tipe pada satu node urutan yang ada.
update_sequence_nodesPatch beberapa node urutan yang ada secara atomik.
insert_sequence_stepSisipkan langkah dasbor bertipe apa pun, termasuk pembuatan AI, webhook keluar, penundaan, dan cabang berkabel.
edit_sequence_graphPindahkan, sambungkan ulang, hapus, atau duplikat node grafik; laporkan penerima yang dipindahkan atau diselesaikan.
simulate_sequenceUji-coba kecocokan saat ini, kesiapan aktivasi, dan jalur cabang kontak opsional tanpa mendaftarkan atau mengirim.
enable_sequenceAktifkan urutan.
disable_sequenceBekukan urutan, blokir pendaftaran baru, dan tahan penerima saat ini.
duplicate_sequenceBuat salinan draf independen dari grafik, email, dan tes A/B urutan.
archive_sequencePindahkan urutan ke arsip dasbor dan hentikan pendaftaran baru.
unarchive_sequencePulihkan urutan yang diarsipkan sebagai draf nonaktif.
list_sequence_goalsDaftarkan tujuan konversi event, atribut pelanggan, dan tag yang diterapkan yang disimpan untuk urutan.
create_sequence_goalTambahkan tujuan konversi event, atribut pelanggan, atau tag yang diterapkan.
update_sequence_goalPerbarui tujuan konversi urutan yang disimpan.
delete_sequence_goalHapus tujuan konversi urutan yang disimpan.
get_sequence_inbound_webhookBaca URL masuk, status pengaturan, sampel, dan pemetaan pada MCP standar; rute OpenAI menghapus URL yang berisi kredensial.
configure_sequence_inbound_webhookKonfigurasikan endpoint, pemetaan bidang, dan sampel; rute OpenAI menghapus URL yang berisi kredensial dari hasilnya.
rotate_sequence_inbound_webhook_secretPutar rahasia endpoint urutan masuk dan kembalikan URL penggantinya pada MCP standar; dihilangkan dari rute yang ditinjau OpenAI.
pause_sequence_enrollmentsHentikan pendaftaran baru untuk urutan aktif sementara penerima saat ini melanjutkan.
resume_sequence_enrollmentsBuka kembali pendaftaran baru untuk urutan aktif tanpa mengubah penerima saat ini.
enroll_subscribers_in_sequenceDaftarkan hingga 500 pelanggan berdasarkan email, ID pelanggan, atau keduanya, dengan idempotensi aman-coba-ulang.
cancel_sequence_enrollmentsHentikan pendaftaran aktif atau menunggu berdasarkan nilai bidang pelanggan atau event masuk.
realign_sequence_enrollmentsPratinjau atau antrekan pemindahan penundaan langsung yang aktif lebih awal ke pembukaan jendela pengiriman mereka.
get_sequence_enrollment_realignmentPoll pekerjaan realignment yang diterapkan dan baca hasil selesai atau kursor kelanjutannya.
delete_sequenceHapus urutan.

Pembuatan urutan mendukung:

  • Pembuatan hanya-nama untuk draf kosong nonaktif dari pemicu-ke-selesai yang cocok dengan dasbor.
  • Metadata dasbor dan pengaturan pengiriman: description, labels, userCancellable, BCC urutan, dan identitas Dari/Balas-Ke.
  • trigger: "contact_added" dengan listId, beberapa listIds, atau listScope: any_contact (default) mendaftarkan setiap kontak yang ditambahkan, termasuk kontak yang tidak bergabung dengan daftar apa pun, sementara any_list menunggu keanggotaan daftar yang sebenarnya.
  • trigger: "tag_added" dengan tagName atau beberapa tagNames; tag yang dikonfigurasi apa pun mendaftarkan kontak.
  • trigger: "segment_entered" plus segmentId untuk otomasi entri segmen tersimpan.
  • trigger: "event_received" plus {{event.*}} menggabungkan tag di subjek atau konten isi.
  • trigger: "inbound_webhook" plus metadata integrasi untuk node entri webhook yang kompatibel dengan dasbor.
  • trigger: "inactivity" plus eventName, inactiveDays, dan opsional inactivityBaseline (sequence_created_at atau subscriber_created_at).
  • goal untuk konten email yang dihasilkan AI.
  • emailStyle: "visual" atau "plain" untuk memilih presentasi email yang dihasilkan AI berbasis tujuan; saat dihilangkan, preferensi tersimpan perusahaan digunakan.
  • steps eksplisit dengan Sequenzy blocks.
  • steps eksplisit dengan HTML, yang dikonversi Sequenzy menjadi blok yang dapat diedit.
  • Langkah Perbarui Pelanggan eksplisit yang menyalin properti event pemicu ke bidang profil atau atribut kustom bertipe.
  • Penundaan tetap melalui delay / delayMs, penundaan bidang tanggal dinamis melalui waitUntil, atau gerbang kalender melalui waitUntilWeekday. Gerbang hari kerja seperti { "day": "sunday", "startTime": "09:00", "endTime": "12:00", "timezone": "America/Los_Angeles" } menahan aliran hingga jendela yang cocok berikutnya. Tempatkan tepat sebelum email untuk menjaga pengiriman dalam jendela itu; langkah perantara apa pun dapat menggeser pengiriman ke luar jendela. Pemulihan antrean memeriksa ulang jendela sebelum melepaskan kontak yang tertunda.
  • Langkah aksi diskon dinamis Stripe atau Shopify. Langkah create_discount membuat kode penyedia baru saat setiap pelanggan mencapainya; email berikutnya dapat menggunakan tag gabungan seperti {{discount.code}}, {{discount.percentOff}}, dan {{discount.expiresAt}}.
  • enrollmentMode: "matching_field" dan skalar enrollmentFieldPath untuk otomasi event khusus produk, varian, pesanan, atau langganan. Traversal array dengan [] termasuk dalam propertyFilters, bukan kunci pendaftaran.

Untuk pemicu event kustom, hasil create_sequence yang berhasil mencakup eventTrackingCode dan objek eventTracking terstruktur. Objek tersebut berisi endpoint event, kontrak identitas dan payload, jalur properti apa pun yang diperlukan oleh pendaftaran matching_field, pemicu propertyFilters yang dinormalisasi, contoh payload, examplePayloadMatchesFilters, URL dokumen API event langsung, dan argumen siap-pakai untuk get_integration_guide. Jika status kecocokan salah, sesuaikan contoh menggunakan examplePayloadNote dan kontrak payload. Tambahkan umpan event ini dan verifikasi properti yang diperlukan sebelum mengaktifkan draf urutan.

list_sequence_enrollments mengembalikan enteredVia untuk setiap baris. Sumber daftar dan segmen menjaga ID stabil mereka di value dan menyelesaikan name tampilan; sumber tag dan event mempertahankan nama mereka di value. Pemicu berbasis waktu melaporkan inactivity atau frequency daripada salah diidentifikasi sebagai pendaftaran event yang diterima biasa. Tes urutan langsung tidak membuat pendaftaran; mereka mengirim email tes terisolasi dan mencatat aktivitas pada uji coba urutan sebagai gantinya.

Untuk batch pendaftaran manual yang dikonfirmasi, buat idempotencyKey sekali dan gunakan kembali kunci persis itu hanya dengan target terurut identik dan targetNodeId. Tanda terima bertahan 14 hari. Coba-ulang mengembalikan enrolled asli, skipped, notFound, targetNodeId, dan nilai scheduledFor dengan idempotentReplay: true; itu tidak membuat token atau mengantrekan batch lagi.

Contoh langkah diskon Shopify dinamis:

{
  "type": "create_discount",
  "discount": {
    "provider": "shopify",
    "discountType": "percent",
    "percentOff": 20,
    "duration": "once",
    "appliesToAllPlans": true,
    "maxRedemptions": 1,
    "codePrefix": "WINBACK"
  }
}

Contoh langkah Perbarui Pelanggan:

{
  "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" }
    ]
  }
}

Nilai angka dan boolean harus literal atau satu tag gabungan mandiri. Gunakan update_sequence.subscriberUpdateSteps dengan ID node action_update_attributes dari get_sequence untuk mengganti konfigurasi langkah yang ada. Pembaruan urutan mendukung insertSteps untuk menambahkan langkah linear baru setelah nodeId yang dikembalikan oleh get_sequence. Sertakan afterNodeId hanya saat menambahkan ke urutan dengan tepat satu ekor linear. insertSteps mendukung langkah yang dapat ditambahkan yang tidak memerlukan catatan pendamping, seperti email, penundaan, tindakan tag/daftar, pembaruan atribut, diskon, kondisi, langkah tunggu-peristiwa, webhook keluar, dan langkah AI. Langkah action_ai memerlukan tag gabungan prompt, resultKey unik, dan satu atau lebih outputFields; langkah berikutnya membaca teks yang dihasilkan atau fallback dengan {{ai.KEY.field}}. Batas gabungan bidang keluaran harus sesuai dengan anggaran respons 2000 token langkah tersebut. Gunakan includeTags, includeEventProperties, atau includeAttributes untuk memilih konteks kontak tertentu ke dalam pembuatan, dan onError (continue, exit, atau fail) untuk memilih perilaku kegagalan. Gunakan branch untuk cabang if/else multi-jalur; berikan branch atau insertSteps, bukan keduanya. Kondisi cabang mendukung pemeriksaan keberadaan dan ketiadaan tag dengan has_tag dan does_not_have_tag, plus daftar, segmen tersimpan, peristiwa, tautan yang diklik, dan perbandingan bidang. Setiap jalur cabang dapat menyediakan steps baru, targetNodeId yang ada, atau keduanya; fallback menggunakan elseSteps dan/atau elseTargetNodeId. Target dapat berupa simpul penyelesaian yang dikembalikan oleh get_sequence, sehingga satu permintaan atomik dapat mengarahkan balasan ke penyelesaian dan Else ke tindak lanjut yang ada. Array emails dan steps mengedit langkah action_email biasa berdasarkan nodeId, emailId, atau urutan array. get_sequence.sequence.emails juga menyertakan entri action_ab_test; dengan ab_tests:read, setiap entri abTest.variants[] berisi ID varian, subjek, teks pratinjau, dan jumlah blok. Panggil get_ab_test untuk badan varian lengkap sebelum mengaudit atau menulis ulang salinan. Pembaruan posisi yang mengenai salah satunya ditolak, dan salinannya harus diubah per varian dengan update_ab_test_variant; jangan coba lagi melalui update_template atau update_sequence_node. Gunakan insertSteps untuk membuat langkah baru dan sertakan delay tingkat langkah, delayMs, waitUntil, atau waitUntilWeekday saat email yang disisipkan memerlukan pengatur waktu. waitUntil menerima bidang tanggal dari peristiwa pemicu plus offset opsional, direction (before atau after), dan missingAction (continue atau exit). waitUntilWeekday menerima day atau days, startTime, endTime opsional (default 24:00), dan timezone IANA; kontak yang sudah berada di dalam jendela melanjutkan segera. Untuk urutan aktif, berikan confirmStructuralChange: true dengan insertSteps atau branch hanya setelah mengonfirmasi dampak alur langsung.

insert_sequence_step mengekspos setiap langkah dasbor tanpa catatan pendamping secara langsung: email, SMS, penundaan, diskon, pembaruan pelanggan, tindakan tag/daftar, webhook keluar, pembuatan AI, kondisi, tunggu, dan cabang. Atur type: "ai" dengan prompt, resultKey, dan outputFields untuk menghasilkan teks per-kontak untuk tag gabungan {{ai.KEY.field}} nanti. Webhook keluar menerima url, method (POST atau GET), dan headers bernilai string. Langkah email mendukung mode transaksional, identitas per-langkah, dan pengaturan pengiriman CC/BCC. Untuk gerbang tunggu, atur type: "logic_wait_for_event" dengan eventName, timeoutDays opsional (1-365), dan timeoutAction (continue atau exit). Untuk cabang, atur type: "logic_branch", berikan branches bertipe, dan hubungkan targetnya:

{
  "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"
}

Setiap email tertaut yang dikembalikan oleh get_sequence menyertakan emailPreset efektifnya (branded atau minimal), yang cocok dengan Style > Format di dasbor. Atur emailPreset pada item emails/steps, atau di action_email simpul changes, untuk mengubah hanya email tertaut itu tanpa mengubah tema perusahaan. Ini menerapkan transformasi format yang sama seperti dasbor ke blok Sequenzy asli, termasuk email yang berisi blok HTML kustom yang didukung. Email yang disimpan seluruhnya sebagai satu blok HTML mentah mandiri mengembalikan null untuk emailPreset dan tidak mendukung perubahan format. emailPreset tidak dapat digabungkan dengan html atau htmlContent karena bidang tersebut menggantikan seluruh email dengan HTML mentah mandiri.

Untuk posisi urutan, lebih suka structuralStepNumber pada email tertaut dan tingkat atas simpul email. Ini diturunkan dari grafik saat ini dan cocok dengan lencana langkah yang ditampilkan di dasbor. Email cabang paralel dengan sengaja berbagi kedalaman struktural yang sama, dan penggabungan cabang yang tidak setara berlanjut dari jalur masuk yang lebih panjang. Bidang stepNumber yang lebih lama di email tertaut dan konfigurasi simpul tetap menjadi ordinal tersimpan untuk kompatibilitas mundur dan mungkin basi setelah pengeditan grafik.

Setiap email tertaut juga mengembalikan emailTheme override tersimpannya, atau null saat mengikuti tema perusahaan. Atur emailTheme pada item emails/steps atau di action_email simpul changes untuk mengubah gaya hanya langkah itu. Pembaruan tema adalah tambalan parsial, jadi changes: { "emailTheme": { "colors": { "background": "#f3f4f6", "content": "#ffffff" } } } memberi email itu kanvas luar abu-abu dan kartu konten putih sambil mempertahankan warna lain, tipografi, dan tata letaknya. Menghilangkan salah satu warna mempertahankan nilai saat ini. Berikan emailTheme: null untuk menghapus override dan mengikuti tema perusahaan lagi. Gunakan update_company hanya saat default seluruh akun harus berubah.

Gunakan update_sequence_node untuk pengeditan di tempat yang terfokus, atau update_sequence_nodes saat beberapa tambalan simpul harus dilakukan secara atomik. Panggil get_sequence terlebih dahulu: setiap item di sequence.nodes menyertakan id simpul, nodeType, config saat ini, updatedAt, dan updateHints dengan bidang yang dapat diedit dan dikelola plus token konkurensi yang tepat untuk dikembalikan. Berikan token itu sebagai expectedUpdatedAt untuk menolak penulisan basi. Alat mendukung setiap jenis simpul tersimpan, termasuk penundaan, konten email/SMS, tindakan, kondisi, webhook, konfigurasi cabang tanpa perubahan topologi, dan pemicu. Untuk mengubah penundaan 5 menit menjadi 7 hari, kirim changes: { "delay": { "days": 7 } } untuk simpul logic_delay-nya. Untuk membuat beberapa catatan gaya pendiri menjadi Minimal, tambal simpul action_email mereka dengan changes: { "emailPreset": "minimal" }. Konversi jenis simpul dan perubahan tepi/jalur termasuk dalam edit_sequence_graph. Urutan aktif memerlukan confirmLiveChange: true setelah pengguna mengonfirmasi dampaknya; penerima yang sudah menunggu mempertahankan stempel waktu terjadwal yang ada.

Langkah email yang ada dan yang baru disisipkan dapat mengatur identitas Dari mereka sendiri dengan senderProfileId atau fromEmail plus fromName opsional, dan identitas Balas Ke mereka dengan replyProfileId atau replyTo plus replyToName opsional. Sebuah fromName dengan sendirinya mengubah hanya nama pengirim terlihat langkah itu. Sebuah replyToName tingkat langkah juga menimpa nama Balas Ke terlihat untuk langkah itu tanpa mengganti nama profil balasan seluruh perusahaan. Langkah email baru tanpa bidang identitas eksplisit mewarisi identitas efektif dari email urutan terdekat. Setelah penggabungan cabang, hanya bidang identitas yang dibagikan oleh setiap jalur masuk yang diwarisi; bidang yang bertentangan menggunakan urutan atau perusahaan default.

Gunakan edit_sequence_graph dengan graphRevision terbaru dari get_sequence untuk merestrukturisasi urutan yang ada secara atomik. Ini dapat memindahkan simpul sebelum atau sesudah simpul lain, menggunakan kembali array sequence.edges yang dinormalisasi untuk koneksi ulang eksplisit atau pengurutan ulang multi-simpul, menghapus simpul, atau menyalin dalam simpul. Duplikasi pengujian A/B membuat catatan pengujian, varian, email, dan lokalisasi independen dengan statistik yang direset. Memindahkan simpul sebelum simpul bersama di bawah cabang menghubungkan ulang setiap jalur cabang yang konvergen melalui simpul itu. Menghapus simpul segera memindahkan penerima yang diparkir ke penerus unik yang selamat, atau menyelesaikannya saat tidak ada penerus yang tersisa; periksa sequence.migratedRecipientCount dan sequence.completedRecipientCount dalam hasil. Penghapusan ditolak saat penerima yang diparkir akan memiliki beberapa kelanjutan yang selamat. Revisi basi, jalur cabang tidak valid, siklus, dan simpul yang tidak dapat dijangkau juga ditolak. Urutan aktif memerlukan confirmStructuralChange: true.

Jalankan cancel_sequence_enrollments dengan dryRun: true sebelum menerapkan pembatalan massal.

Jalankan realign_sequence_enrollments setelah mengubah jendela pengiriman urutan langsung saat tunggu terikat email yang ada harus dipindahkan lebih awal ke pembukaan baru. Ini default ke dryRun: true. Berikan dryRun: false mengantrekan pekerjaan latar belakang dan mengembalikan jobId; polling dengan get_sequence_enrollment_realignment. Saat hasil selesai memiliki hasMore: true, antrekan penerapan terikat berikutnya dengan nextCursor-nya. Penyelarasan ulang yang diterapkan mengubah waktu pengiriman langsung dan hanya boleh digunakan setelah pengguna mengonfirmasi pratinjau.

Blok Email

AlatDeskripsi
get_email_block_schemaDaftar setiap jenis blok email atau periksa bidang wajib satu jenis, nilai enum, bentuk item, dan contoh.

Panggil get_email_block_schema sebelum menulis tangan jenis blok yang belum pernah Anda gunakan. Sertakan blockType untuk mendaftar setiap jenis, berikan jenis seperti list atau steps untuk referensi lengkapnya, atau berikan creatableOnly: true untuk menyembunyikan jenis yang dikelola editor. Blok group yang dipertahankan adalah konten editor struktural: mereka secara rekursif membungkus blok anak dalam tata letak Stack, Row, Grid, atau Overlay gambar tunggal, tetapi pembuatan AI dan creatableOnly dengan sengaja menghilangkannya. Minta blockType: "group" untuk memeriksa bidangnya saat membaca atau memperbarui konten berkelompok yang ada. Daftar adalah jenis blok mereka sendiri daripada varian text: item list menggunakan content, sementara item steps menggunakan title dan description opsional.

Alat yang menerima blocks mempertahankan gaya visual per-blok di bawah objek styles blok:

{
  "type": "card",
  "title": "Your update",
  "content": "Everything is ready.",
  "variant": "default",
  "styles": {
    "backgroundColor": "#f8fafc",
    "backgroundOpacity": 85,
    "borderColor": "#cbd5e1",
    "borderWidth": 1,
    "borderRadius": 12
  }
}

Untuk kompatibilitas dengan prompt agen yang lebih lama, kunci gaya tingkat atas seperti backgroundColor, backgroundOpacity, borderColor, borderWidth, dan borderRadius juga diterima dan disimpan di bawah styles.

Email Transaksional

AlatDeskripsi
list_transactional_emailsCari/filter template dan urutkan berdasarkan metrik pengiriman; mengembalikan subjek dan URL dasbor.
get_transactional_emailBaca email transaksional berdasarkan ID atau slug.
create_transactional_emailBuat template transaksional dari prompt, HTML, atau blok.
update_transactional_emailPerbarui metadata transaksional atau konten badan.
send_emailKirim satu email berdasarkan template atau HTML ke penerima Kepada, Cc, dan Bcc bersama.

Template transaksional yang dibuat dari prompt dihasilkan di sisi server dan default ke dinonaktifkan untuk ditinjau. Template HTML atau blok eksplisit mempertahankan default kompatibilitas diaktifkan; berikan enabled secara eksplisit untuk menimpa salah satu default. Untuk pengiriman langsung, berikan to, subject, dan html; server MCP memetakan html ke kolom body API transaksional. Untuk email transaksional tersimpan, berikan slug API-nya melalui kolom templateId yang dinamai kompatibel. Untuk pengiriman transaksional, to, cc, dan bcc masing-masing menerima satu alamat atau array hingga 50. API mengirim satu email dengan daftar penerima bersama dan menghapus duplikat antar kolom dalam urutan prioritas to, lalu cc, lalu bcc. Pengiriman pemasaran masih memerlukan tepat satu alamat to yang diterima dan tidak mendukung penerima tambahan. Variabel send_email mendukung array bersarang untuk blok berulang, seperti { "event": { "items": [...] } }. Saat penerima cocok dengan pelanggan tersimpan berdasarkan ID eksternal atau email, nama depan dan belakang tersimpan mengisi variabel nama yang dihilangkan secara otomatis. Nilai eksplisit, termasuk kosong, lebih diutamakan. Array opsional attachments menerima hingga 10 file / total 7MB. Setiap item membutuhkan filename dan tepat satu dari Base64 content atau path HTTP(S) publik. Setel contentId untuk menyematkan gambar CID yang direferensikan dari HTML dan secara opsional setel contentType untuk mengganti deteksi MIME. Saat trackingSettings dihilangkan, default pelacakan API Transaksional perusahaan berlaku. Gunakan trackingSettings.clickTracking: false atau trackingSettings.openTracking: false untuk menonaktifkan penulisan ulang tautan atau piksel terbuka untuk satu pengiriman. Opsi per pengiriman ini hanya memilih keluar; opsi ini tidak dapat mengaktifkan pelacakan yang dinonaktifkan oleh default akun atau API Transaksional. Gunakan get_tracking_settings dan update_tracking_settings untuk memeriksa atau mengubah default tersebut.

Untuk percobaan ulang agen dan alur kerja, sertakan idempotencyKey yang stabil (hingga 255 karakter) di send_email. Gunakan satu kunci per email logis dan kirim argumen yang sama saat mencoba ulang; kunci tetap valid selama 14 hari.

Analitik

AlatDeskripsi
get_statsDapatkan statistik ringkasan untuk 7d, 30d, atau 90d; filter berdasarkan jenis email struktural.
get_transactional_statsDapatkan metrik sepanjang masa atau rentang waktu untuk satu email transaksional tersimpan berdasarkan ID atau slug.
get_campaign_statsDapatkan performa kampanye, metrik balasan, tujuan konversi terlampir, dan ringkasan Poll/NPS.
list_poll_responsesDaftarkan jawaban Poll/NPS terbaru setiap responden per blok, dengan identitas dan waktu respons.
get_sequence_statsDapatkan performa urutan agregat dan per langkah plus jumlah pendaftaran aktif/menunggu langsung berdasarkan node saat ini.
list_email_metricsBandingkan corong kampanye dan langkah urutan, balasan, konversi, dan pendapatan, termasuk langkah lintas urutan.
list_campaign_eventsDaftarkan peristiwa email mentah berpagina untuk sebuah kampanye.
list_sequence_eventsDaftarkan peristiwa mentah berpagina untuk sebuah urutan, secara opsional dibatasi ke satu langkah email.
get_subscriber_activityDapatkan statistik email pelanggan, aktivitas, dan pendaftaran.

Filter peristiwa kampanye dan urutan menerima transport_failure di samping peristiwa pengiriman, pantulan, keluhan, keterlibatan, berhenti berlangganan, dan penundaan. Kegagalan transportasi menggambarkan infrastruktur MTA atau kehabisan jalur keluar; kegagalan tersebut tidak mengklasifikasikan alamat penerima yang valid sebagai pantulan.

Alat analitik mengecualikan bukaan/klik bot, pemindai, pratinjau tautan, dan aset terlacak yang terdeteksi secara default. Berikan includeMachineEngagement: true ke get_stats, get_campaign_stats, get_sequence_stats, get_ab_test_stats, get_subscriber, atau get_subscriber_activity saat Anda memerlukan diagnostik keterlibatan mentah; baris aktivitas buka/klik yang disertakan menampilkan kolom machine, engagementQuality, dan classificationReasons di mana API mengembalikan aktivitas tingkat peristiwa.

get_sequence_stats.enrollmentCounts adalah snapshot langsung titik-waktu dari proses pendaftaran aktif dan menunggu yang dikelompokkan berdasarkan node saat ini. Ini menghitung token pendaftaran daripada pelanggan yang berbeda secara pasti, dan tidak dibatasi oleh filter historis period, start, atau end.

Gunakan list_email_metrics untuk perbandingan di seluruh kampanye atau langkah urutan. Berikan step dengan nilai opsional sequenceId untuk menjumlahkan langkah yang sama di seluruh urutan; gunakan automationNodeId yang dikembalikan dengan list_sequence_events atau list_email_sends untuk memeriksa penerima. campaignId tidak dapat digabungkan dengan sequenceId atau step. Cakupan kampanye dan urutan eksplisit mempertahankan email terkonfigurasi dengan nol aktivitas sehingga kinerja lemah tidak dihilangkan secara diam-diam.

Berikan emailType: "transactional" ke get_stats untuk pengiriman API Kirim dan SMTP transaksional, bukaan, klik, dan tingkat balasan. Ini mencakup pengiriman langsung dan template tersimpan. Gunakan emailSendId yang dikembalikan oleh send_email dengan get_email_send saat Anda memerlukan status dan garis waktu peristiwa satu pengiriman. Gunakan get_transactional_stats saat Anda memerlukan tingkat agregat untuk satu email transaksional tersimpan. Responsnya mencakup tautan paling banyak diklik, keluhan, balasan, klasifikasi pantulan permanen/sementara terbaru, dan hitungan buka/klik manusia dan mesin terpisah. Pengiriman konten langsung tidak memiliki ID template yang stabil dan tetap tersedia melalui statistik transaksional akun plus pencarian pengiriman.

Saat kampanye mengumpulkan jawaban Poll atau NPS, get_campaign_stats menyertakan array polls tingkat atas. Setiap pelanggan dihitung sekali per blok poll menggunakan jawaban terbaru mereka. Ringkasan NPS menyertakan skor, rata-rata, dan hitungan promotor/pasif/detractor. Ini adalah ringkasan respons seumur hidup bahkan saat metrik keterlibatan menggunakan filter waktu.

Gunakan list_poll_responses untuk membaca siapa menjawab apa dan kapan. Ini mengembalikan jawaban terbaru setiap pelanggan per blok poll, terbaru terlebih dahulu, termasuk email, nilai tersimpan, kunci atribut, dan waktu respons. Berikan blockId untuk membatasi satu poll; untuk langkah email urutan, berikan ID node otomasinya sebagai campaignId. Jangan rekonstruksi riwayat ini dengan memindai atribut pelanggan: sebuah atribut tidak memiliki stempel waktu respons dan mungkin telah ditimpa oleh email berikutnya yang menggunakan kembali kunci yang sama.

Untuk mendaftar responden historis yang tepat di balik hitungan, panggil create_segment dengan kolom pollResponse, operator is, dan nilai JSON yang dibatasi ke kampanye dan blockId ringkasan:

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

Untuk NPS, gunakan kecocokan seperti {"kind":"npsBucket","bucket":"detractors"}; bucket yang valid adalah promoters, passives, dan detractors. attributeKey ringkasan menyimpan respons saat ini/terbaru pelanggan dan mungkin ditimpa oleh poll berikutnya yang menggunakan kembali kunci, jadi ini bukan penelusuran historis yang tepat.

Tim, Kotak Masuk, Webhook

AlatDeskripsi
list_team_membersDaftarkan anggota tim dan undangan tertunda.
invite_team_memberUndang rekan sebagai admin atau penonton, dengan akses penagihan opsional.
cancel_team_invitationBatalkan undangan tim tertunda.
list_conversationsDaftarkan percakapan balasan pelanggan dengan filter status dan belum dibaca.
get_conversationBaca percakapan dan riwayat pesannya.
reply_to_conversationAntrekan balasan keluar atau tambahkan catatan internal.
update_conversation_statusBuka atau tutup percakapan.
mark_conversation_readTandai semua pesan dalam percakapan sebagai dibaca.
list_webhooksDaftarkan titik akhir webhook keluar.
create_webhookBuat titik akhir dan kembalikan rahasia penandatanganan satu kali pada MCP standar; dihilangkan dari rute yang ditinjau OpenAI.
update_webhookPerbarui nama webhook, URL, peristiwa, atau status.
delete_webhookHapus permanen titik akhir webhook dan riwayat pengiriman.
test_webhookKirim peristiwa uji ke titik akhir webhook.
list_webhook_deliveriesDaftarkan upaya pengiriman terbaru untuk sebuah webhook.
replay_webhook_deliveryPutar ulang pengiriman webhook.

Perubahan persetujuan per daftar tersedia sebagai peristiwa keluar opt-in: subscriber.list_subscribed dan subscriber.list_unsubscribed. Payloadnya mengidentifikasi pelanggan dan daftar, melaporkan action sebagai added atau removed, dan menyertakan perubahan source (misalnya preferences_page, dashboard, api, atau automation).

Gunakan peristiwa email.failed untuk kegagalan pengiriman terminal seperti jalur transportasi MTA yang habis. Pantulan penerima terus menggunakan email.bounced.

Gunakan peristiwa campaign.sent khusus eksplisit saat alur kerja memerlukan satu notifikasi terminal setelah kampanye email atau SMS selesai, termasuk pengiriman nol penerima yang valid. Ini tidak ditambahkan saat create_webhook menghilangkan events pada MCP standar; pada rute yang ditinjau OpenAI, tambahkan di dasbor saat membuat atau mengedit webhook.

Generasi AI

AlatDeskripsi
generate_emailHasilkan blok email bermerek dari sebuah prompt.
generate_sequenceAlias tidak digunakan lagi yang mempertahankan draf urutan berbasis tujuan.
generate_subject_linesHasilkan varian baris subjek A/B.

Konten email yang dihasilkan menyertakan logo dan footer perusahaan secara default. generate_email menerima applyBranding: false untuk blok konten mentah dan emailType: "transactional" untuk footer tanpa tautan berhenti berlangganan. Kampanye berbasis prompt mewarisi font email terkonfigurasi perusahaan. Konten yang dihasilkan dikembalikan sebagai konten draf untuk ditinjau. Gunakan create_sequence untuk menghasilkan dan mempertahankan draf urutan yang dinonaktifkan yang muncul di list_sequences; alias generate_sequence yang tidak digunakan lagi melakukan hal yang sama.

SMS

ToolDeskripsi
generate_smsMembuat salinan SMS dari sebuah prompt.
get_sms_settingsMembaca kesiapan add-on SMS, kredit, default, dan nomor yang disediakan.
get_sms_usageMembandingkan pengiriman, hasil pengiriman, kredit yang dibebankan, aktivitas terakhir, dan uji kirim berdasarkan nomor.
update_sms_number_labelMemperbarui label nomor atau override awalan merek per nomor.
release_sms_numberMengembalikan nomor secara permanen ke operator dan membebaskan slot workspace-nya.
send_test_smsMengirim pesan uji, secara opsional memilih pengirim yang disediakan dengan fromNumberId.

release_sms_number bersifat tidak dapat dibatalkan. Langkah kampanye atau urutan yang disematkan ke nomor yang dirilis akan melewati pengiriman SMS mereka sampai diarahkan ulang ke nomor aktif. get_sms_usage melaporkan total produksi secara terpisah dari testSends. Ketika send_test_sms menghilangkan fromNumberId, ia menggunakan default nomor-aktif-tertua yang sama dengan pengiriman produksi. Uji kirim adalah pesan nyata yang dibebankan kredit yang melewati jam tenang dan dibatasi hingga 100 per perusahaan dalam jendela 24 jam berjalan.

Umpan Balik Produk

Gunakan submit_feedback hanya ketika pengguna secara eksplisit meminta asisten untuk mengirim umpan balik ke tim Sequenzy. MCP standar dapat menyertakan bidang reproduksi terstruktur userIntent, toolCalls, expected, actual, dan resourceIds saat diperlukan untuk laporan tersebut. Rute yang ditinjau OpenAI hanya menerima pesan, kategori, dan konteks alur kerja umum opsional. Jangan sertakan data pelanggan yang tidak terkait, konten email, payload API mentah, data debug, atau rahasia.

Sumber Daya

Server juga mengekspos sumber daya MCP hanya-baca.

ResourceDeskripsi
sequenzy://dashboardStatistik ringkasan langsung untuk 7 hari terakhir.
sequenzy://companyPengaturan perusahaan dan lokalisasi saat ini.
sequenzy://campaigns/recent10 kampanye terakhir dengan status dan statistik dasar.
sequenzy://subscribers/recentPelanggan yang paling baru ditambahkan.
sequenzy://subscribers/engagedPelanggan paling aktif atau terlibat.
sequenzy://sequencesSemua urutan dengan status.
sequenzy://templatesTemplate dengan status lokalisasi.
sequenzy://segmentsSegmen tersimpan dengan jumlah pelanggan.
sequenzy://tagsTag dengan jumlah penggunaan.
sequenzy://healthMetrik keterkiriman dan status kesehatan.
sequenzy://email-blocksReferensi bidang untuk setiap tipe blok email.
sequenzy://app-routesTemplate rute dasbor dan tab pengaturan.

Contoh Prompt

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?

Keamanan

  • Gunakan kunci API pribadi, bukan rahasia tim bersama.
  • Kunci hanya mengakses perusahaan yang dapat diakses oleh pengguna Sequenzy Anda.
  • Cabut kunci dari Pengaturan -> Kunci API saat akses tidak lagi diperlukan.
  • Pertahankan prompt persetujuan klien diaktifkan untuk pengiriman, penjadwalan, penghapusan, dan perubahan massal.
  • Utamakan alur kerja draf untuk kampanye dan urutan, lalu tinjau di Sequenzy sebelum diluncurkan.

Pemecahan Masalah

SEQUENZY_API_KEY environment variable is required

Atur SEQUENZY_API_KEY di konfigurasi klien MCP, atau jalankan:

npx @sequenzy/setup

Kunci API Tidak Valid

Buat kunci pribadi baru di Pengaturan -> Kunci API, perbarui konfigurasi MCP Anda, dan mulai ulang klien.

Cakupan Kunci API Hilang

Panggil get_account dan periksa apiKeyPermissions. Koneksi lokal harus membuka apiKeyPermissions.manageUrl, tambahkan cakupan yang hilang ke kunci yang dimuat, dan coba lagi tanpa memulai ulang. update_api_key dapat melakukan ini hanya untuk kunci perusahaan yang sudah memiliki api_keys:manage; edit kunci pribadi di halaman Kunci API tingkat akun. Koneksi OAuth yang dihosting dapat alternatifnya memutuskan dan mengotorisasi ulang dengan izin yang lebih luas. Kesalahan alat menyertakan cakupan atau cakupan yang tepat yang diperlukan.

Sumber Daya Duplikat

Jika panggilan alat akan membuat nama segmen atau domain pengiriman duplikat, server mengembalikan code yang stabil, description yang ramah agen, resolution yang konkret, dan docsUrl. Untuk segmen, panggil list_segments dan gunakan kembali ID segmen yang ada atau pilih nama yang berbeda. Untuk situs web, panggil list_websites; jika domain tidak terdaftar untuk perusahaan yang dipilih, itu milik perusahaan atau akun lain dan harus dihapus, ditugaskan ulang, atau diganti dengan domain pengiriman yang berbeda.

Alat Tidak Muncul

  • Konfirmasi npx tersedia di lingkungan yang digunakan klien.
  • Mulai ulang klien MCP setelah mengedit konfigurasi.
  • Periksa bahwa konfigurasi berada di lokasi khusus klien yang benar.

Masalah Jaringan atau URL API

Server menggunakan https://api.sequenzy.com secara default. Jika Anda menimpanya, verifikasi SEQUENZY_API_URL menunjuk ke URL basis API Sequenzy yang dapat dijangkau.

Pengembangan

bun install
bun test
bun run type-check
bun run build

Skema alat MCP harus tetap kompatibel dengan klien ketat:

  • Akar inputSchema alat harus berupa skema type: "object" polos.
  • Jangan publikasikan anyOf di mana pun dalam skema alat.
  • Jangan letakkan oneOf, allOf, enum, atau not di akar skema alat.
  • Terapkan persyaratan kondisional di handler dan tutupi dengan tes.

Repositori mandiri ini mencerminkan paket MCP yang dipelihara di monorepo Sequenzy utama. Lihat AGENTS.md untuk aturan sinkronisasi.

Lisensi

MIT

Penemuan asli agen

Sequenzy menerbitkan manifes yang dapat dibaca mesin untuk jaringan agen dan penemuan gaya A2A:

File-file ini menggambarkan Sequenzy sebagai kemampuan otomatisasi email resmi untuk agen. Mereka secara eksplisit mengecualikan kasus penggunaan scraping, spam, dan penjangkauan dingin yang tidak diminta.

Peran workspace

Akses kunci akun menggabungkan cakupan kunci dengan peran workspace Anda saat ini. get_account melaporkan cakupan yang diblokir di apiKeyPermissions.roleRestrictedScopes; canSendLive berarti setidaknya satu alur kerja pengiriman yang diizinkan tersedia, bukan bahwa setiap alat pengiriman diizinkan.

Anda dapat mengundang marketer untuk mengelola pelanggan, kampanye pemasaran, dan urutan tanpa memberikan akses ke email transaksional, pengaturan workspace, tim, atau penagihan. Pemasar memilih profil pengirim/balasan yang ada. Sumber kampanye, A/B, dan urutan yang didukung transaksional tetap dilindungi melalui pratinjau, berbagi, analitik, dan riwayat pengiriman. Pemasar dan anggota terbatas tidak dapat menerima akses penagihan.