Sequenzy MCP
resmiAlat 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_listdan . - Bangun dan kirim kampanye — Susun, jadwalkan, pratinjau, atau kirim kampanye email, termasuk pratinjau audiens yang telah diselesaikan dan tujuan konversi, menggunakan alat seperti
create_campaigndansend_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_sequencedan . - Pantau keterkiriman dan pengiriman — Diagnostik pengiriman yang dijeda, periksa penekanan pentalan/keluhan, dan pulihkan jeda pentalan keras yang memenuhi syarat dengan
get_sending_statusdanresume_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:
- Manifest server MCP:
server.json - Kartu agen:
.well-known/agent-card.json - Manifest kemampuan agen:
agent-capability.json - Metadata keterampilan OpenClaw:
openclaw/skill.json
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 kehttps://api.sequenzy.com.SEQUENZY_APP_URL- URL dasar dasbor Sequenzy yang digunakan oleh helper URL aplikasi. Default kehttps://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
- Buka dasbor Sequenzy.
- Gunakan alur penyiapan MCP untuk membuat kunci pribadi, atau buka Pengaturan -> Kunci API untuk membuat kunci perusahaan.
- Pilih preset izin atau cakupan kustom yang tepat yang dibutuhkan integrasi.
- 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
| Tool | Deskripsi |
|---|---|
get_account | Dapatkan info akun, perusahaan yang tersedia, izin kunci saat ini, dan URL pengelolaan API Keys. |
select_company | Tetapkan perusahaan aktif untuk panggilan alat di masa mendatang. |
get_app_urls | Bangun URL dasbor untuk kampanye, halaman arahan, urutan, email, pengaturan, manajemen langganan, domain, dan detail email terkirim. settingsTab: "billing" meresolusi ke Akun -> Langganan. |
create_company | Buat perusahaan atau merek baru. |
get_company | Baca 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_company | Edit info produk, konteks merek, tema email, pelacakan balasan, dan default profil From/Reply-To atau nama di seluruh akun. |
get_sync_rules | Baca aturan event-ke-tag perusahaan dan apakah perusahaan menggunakan preset platform yang diwariskan. |
update_sync_rules | Ganti semua aturan sinkronisasi; berikan [] untuk menonaktifkannya atau null untuk memilih preset platform SaaS/ecommerce. |
get_shopify_automation_settings | Baca pengaturan penelusuran-ditinggalkan, keranjang-ditinggalkan, dan penurunan-harga untuk toko Shopify yang terhubung. |
update_shopify_automation_settings | Perbarui sebagian pengaturan otomatisasi Shopify atau atur ulang bagian individual ke default platformnya. |
create_api_key | Buat kunci API perusahaan dan kembalikan rahasia satu kali pada MCP standar; dihilangkan dari rute yang ditinjau OpenAI. |
request_api_key_handoff | Siapkan URL pembuatan/rotasi yang ditinjau pemilik ketika kunci aktif tidak dapat mengelola kunci API itu sendiri. |
list_api_keys | Daftarkan kunci API perusahaan sebagai metadata non-rahasia untuk identifikasi dan pembersihan yang aman. |
update_api_key | Ganti nama kunci API perusahaan atau ganti preset izin atau cakupannya tanpa mengubah nilai kunci. |
revoke_api_key | Cabut secara permanen kunci API perusahaan yang tepat berdasarkan ID setelah memeriksanya dengan list_api_keys. |
delete_api_key | Alias kompatibilitas untuk revoke_api_key. |
list_websites | Daftarkan domain pengiriman dengan status agregat, SPF, DKIM, dan MAIL FROM yang tersimpan. |
add_sending_domain | Tambahkan domain pengiriman dan kembalikan catatan pengaturan DNS khusus-kohort. |
add_website | Alias kompatibilitas untuk add_sending_domain. |
check_website | Baca detail verifikasi SPF, DKIM, MAIL FROM, dan agregat yang tersimpan dari domain pengiriman. |
verify_sending_domain | Jalankan verifikasi DNS/penyedia domain pengiriman baru dan kembalikan status serta diagnostik saat ini. |
list_integrations | Daftarkan integrasi yang terhubung dengan kesehatan koneksi dan sinkronisasi, tanpa mengembalikan kredensial. |
get_sending_status | Diagnosa pengiriman aktif, dijeda, atau ditangguhkan, termasuk penyebut penegakan, gerbang peninjauan, dan langkah perbaikan. |
resume_sending | Pulihkan jeda hard-bounce yang memenuhi syarat setelah secara eksplisit mengonfirmasi bahwa daftar telah dibersihkan. |
get_tracking_settings | Baca default buka/klik di seluruh akun dan Transactional API, berhenti berlangganan, atribusi, UTM, domain klik, pelacakan balasan, dan pengaturan double-opt-in. |
update_tracking_settings | Perbarui default pelacakan di seluruh akun dan Transactional API, atribusi, UTM, dan double opt-in di seluruh akun. |
get_integration_guide | Dapatkan contoh integrasi khusus-kerangka kerja. |
get_integration | Periksa satu integrasi yang terhubung, wiring event-nya, penargetan daftar, aktivitas terbaru, dan rekomendasi. |
list_integration_capabilities | Bandingkan kemampuan penyedia apakah terhubung atau tidak. |
connect_integration | Hubungkan 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_schema | Periksa contoh payload event yang dipublikasikan, jalur properti, tipe, dan tag gabungan per penyedia. |
list_integration_activity | Baca log aktivitas webhook dan sinkronisasi khusus-integrasi yang disimpan. |
set_integration_sync_enabled | Aktifkan atau nonaktifkan impor massal dan backfill sambil membiarkan webhook langsung tetap terhubung. |
set_integration_list_targeting | Pilih daftar mana yang akan diikuti kontak yang dibuat oleh integrasi yang didukung pada penulisan penyedia di masa mendatang. |
sync_integration | Antrekan pendapatan pembayaran, pengguna Supabase, atau impor riwayat event PostHog/Segment menggunakan konfigurasi integrasi yang disimpan. |
get_integration_pixel | Baca status pixel/konfigurasi langsung Shopify dan bedakan event gelap yang dikonfirmasi dari pembacaan yang tidak diketahui. |
activate_integration_pixel | Memasang atau mengarahkan ulang piksel storefront Shopify; idempoten jika sudah yang terbaru. |
list_web_tracking_keys | Menampilkan daftar kunci pelacakan situs web yang dapat dipublikasikan, pembatasan asal, status penggunaan, dan cuplikan pemasangan. |
get_web_tracking_key | Mendapatkan satu kunci pelacakan situs web beserta cuplikan pemasangan dan titik akhir ingest yang tepat. |
create_web_tracking_key | Membuat kunci pelacakan yang dapat dipublikasikan untuk storefront atau situs web non-Shopify. |
update_web_tracking_key | Mengganti nama, membatasi, mencabut, atau mengaktifkan kembali kunci pelacakan situs web. |
delete_web_tracking_key | Menghapus permanen kunci pelacakan situs web setelah cuplikannya dihapus. |
list_sender_profiles | Menampilkan daftar profil pengirim dan balasan, default, serta kesiapan domain pengiriman. |
update_sender_profile | Mengganti nama satu profil pengirim atau balasan tanpa mengubah default akun. |
delete_sender_profile | Menghapus permanen profil pengirim yang tidak digunakan, dengan perlindungan untuk permukaan pengiriman aktif dan pengirim terakhir yang tersisa. |
get_notification_preferences | Membaca pengaturan notifikasi akun per-perusahaan pengguna saat ini dan mode yang didukung, termasuk laporan mingguan Senin. |
update_notification_preferences | Memperbarui mode pengiriman notifikasi akun pengguna saat ini, termasuk memilih keluar dari laporan mingguan, tanpa memengaruhi rekan kerja. |
render_email | Merender 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
| Alat | Deskripsi |
|---|---|
add_subscriber | Tambahkan satu pelanggan; status hanya saat pembuatan, jadi gunakan update_subscriber untuk kontak yang ada. |
create_subscriber_import | Antrekan 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_import | Baca kemajuan, jumlah hasil baris, dan ringkasan kegagalan untuk impor yang diantrekan. |
update_subscriber | Perbarui bidang profil asli dan telepon, persetujuan SMS, atribut, tag, atau status global. |
remove_subscriber | Berhenti berlangganan sambil mempertahankan riwayat penekanan, atau hapus permanen hanya dengan hardDelete: true. |
get_subscriber | Ambil detail pelanggan berdasarkan email atau ID eksternal. |
search_subscribers | Cari berdasarkan kueri, tag, daftar, status, segmen, atau satu atribut kustom, dengan paginasi otomatis atau dapat dilanjutkan. |
trigger_subscriber_event | Keluarkan satu peristiwa kustom persis seperti integrasi, menerapkan aturan sinkronisasi dan mencocokkan pemicu urutan. |
trigger_subscriber_events | Keluarkan beberapa peristiwa kustom berurutan untuk satu pelanggan. |
import_subscriber_events | Impor hingga 25 peristiwa yang diidentifikasi sumbernya di seluruh kontak; riwayat senyap memerlukan setiap baris untuk kontak berusia lebih dari satu jam. |
bulk_add_subscriber_tags | Tambahkan tag ke hingga 500 pelanggan yang ada; memerlukan subscribers:tag dan mungkin juga memerlukan tags:write. |
bulk_remove_subscriber_tags | Hapus 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
| Alat | Deskripsi |
|---|---|
list_products | Daftar produk yang disinkronkan dari Stripe, Shopify, WooCommerce, manual, atau data Commerce API. |
upsert_products | Buat atau perbarui hingga 100 produk Commerce API yang dikunci berdasarkan ID produk Anda. |
delete_product | Hapus produk yang sebelumnya dikirim melalui Commerce API. |
attach_product_file | Lampirkan file pengiriman yang dihosting atau diunggah secara lokal ke sebuah produk. |
remove_product_file | Hapus file pengiriman produk yang dilampirkan. |
sync_products | Antrekan 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
| Alat | Deskripsi |
|---|---|
upload_image_asset | Unggah 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
| Alat | Deskripsi |
|---|---|
list_tags | Daftar semua tag. |
create_tag | Buat definisi tag dengan warna opsional. |
update_tag | Perbarui warna tag. |
delete_tag | Hapus tag dan hapus dari pelanggan. |
list_lists | Daftar daftar pelanggan. |
create_list | Buat daftar pelanggan. |
update_list | Ganti nama atau deskripsikan daftar pelanggan. |
delete_list | Hapus daftar pelanggan. |
add_subscribers_to_list | Tambahkan hingga 500 pelanggan ke daftar dari array email. |
remove_subscribers_from_list | Hapus hingga 500 pelanggan dari daftar. |
list_segments | Daftar segmen tersimpan dan jumlahnya. |
create_segment | Buat segmen bersarang atau dengan filter array elemen yang sama. |
update_segment | Perbarui nama segmen, filter, grup akar, atau operator gabungan. |
delete_segment | Hapus segmen (memerlukan segments:delete). |
get_segment_count | Pratinjau 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_nottag:contains,not_contains,is_empty,is_not_emptyemail:contains,not_containsemailProvider,list:is,is_not,is_empty,is_not_emptyfirstName,lastName:contains,not_contains,is_empty,is_not_emptyadded:less_than,more_thanattribute:is,is_not,is_empty,is_not_empty,gte,lte,gt,lt,contains,not_containsevent, bidang keterlibatan email:is,is_not,at_least,less_than_countemailBounced: juga mendukungis_temporary_bounce,is_permanent_bouncestripeProduct:is,is_not,at_least,less_than_countstripeCurrentProduct,stripeTrialProduct:is,is_not,gte,lte,gt,ltcommerceProduct: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)
| Alat | Deskripsi |
|---|---|
list_audience_syncs | Daftar sinkronisasi segmen-ke-audiens dengan jadwal dan status sinkronisasi terakhir. |
list_ad_accounts | Daftar akun iklan Meta yang tersedia untuk sinkronisasi. |
create_audience_sync | Dorong segmen ke audiens kustom Meta sesuai jadwal. |
update_audience_sync | Ubah frekuensi sinkronisasi (hourly, daily, weekly) atau jeda/lanjutkan. |
delete_audience_sync | Hapus pemetaan sinkronisasi; audiens Meta itu sendiri dipertahankan. |
sync_audience_now | Picu 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
| Alat | Deskripsi |
|---|---|
list_templates | Daftarkan template dengan status lokalisasi, label, dan pemfilteran isTemplate, serta paginasi. |
get_template | Baca detail template, konten, dan varian yang dilokalkan. |
create_template | Buat template dari prompt, HTML, atau blok Sequenzy; gunakan isTemplate: true untuk menyimpan desain master yang dapat digunakan kembali. |
update_template | Perbarui metadata template, teks pratinjau kotak masuk, label, HTML, atau blok; tandai atau batalkan tanda master dengan isTemplate. |
set_template_localization | Buat atau ganti varian yang dilokalkan yang disuplai pemanggil. |
sync_template_localizations | Antrekan terjemahan AI untuk lokal non-primer yang dipilih atau semua yang diaktifkan. |
delete_template | Hapus 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
| Alat | Deskripsi |
|---|---|
list_email_components | Daftarkan bagian dan footer yang disimpan, opsional dibatasi pada default yang disematkan. |
get_email_component | Baca blok, metadata, versi, dan status slot default dari satu komponen. |
get_default_email_component | Baca komponen yang saat ini disematkan ke slot default seperti footer. |
set_default_email_component | Buat atau ganti footer default perusahaan yang digunakan oleh email blok yang baru dibuat. |
create_email_component | Simpan bagian atau footer yang dapat digunakan kembali dari daftar blok. |
update_email_component | Perbarui metadata komponen atau ganti bloknya dan tingkatkan versinya. |
delete_email_component | Hapus 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
| Alat | Deskripsi |
|---|---|
list_ab_tests | Daftarkan tes A/B dan varian, opsional dibatasi oleh urutan. |
get_ab_test | Dapatkan pengaturan efektif, varian, status lokalisasi, dan salinan langkah urutan. |
get_ab_test_stats | Dapatkan statistik agregat dan per varian. |
restart_ab_test | Mulai ulang tes A/B yang dihentikan atau selesai. |
select_ab_test_winner | Pilih pemenang tes kampanye dan antrekan pengiriman yang tersisa. |
update_ab_test | Perbarui pengaturan pemilihan pemenang kampanye atau urutan. |
update_ab_test_variant | Perbarui draf kampanye atau salinan varian urutan. |
create_ab_test | Buat tes kampanye atau konversi langkah email urutan. |
add_ab_test_variant | Tambahkan varian ke tes A/B yang ada. |
delete_ab_test_variant | Hapus varian tes A/B draf. |
delete_ab_test | Hapus 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
| Alat | Deskripsi |
|---|---|
list_campaigns | Menampilkan kampanye dengan paginasi berdasarkan status atau label, termasuk umpan balik peninjau dan kolom kecepatan pengiriman untuk audit STO di seluruh akun. |
get_campaign | Mendapatkan detail, statistik, umpan balik peninjau, dan kecepatan pengiriman yang tercatat untuk sebuah kampanye. |
get_campaign_audience | Menyelesaikan penargetan tersimpan, referensi yang hilang, ringkasan bahasa sederhana, dan jumlah penerima langsung. |
list_campaign_goals | Menampilkan tujuan konversi yang disimpan untuk satu kampanye email (SMS tidak didukung). |
create_campaign_goal | Menambahkan tujuan konversi kampanye email berdasarkan peristiwa, atribut pelanggan, atau tag yang diterapkan. |
update_campaign_goal | Memperbarui tujuan konversi kampanye email yang tersimpan. |
delete_campaign_goal | Menghapus tujuan konversi kampanye email yang tersimpan. |
list_email_sends | Mencari riwayat pengiriman terbaru dengan ID sumber daya dan URL, secara opsional dibatasi pada satu langkah urutan. Pengiriman uji langsung yang berhasil dihilangkan. |
get_email_send | Memeriksa pengiriman yang diantrekan, uji, terkirim, ditekan, atau gagal berdasarkan ID pengiriman email yang tahan lama. |
list_recipient_suppressions | Menampilkan penerima yang ditekan terkait, termasuk alamat global tidak valid yang dilindungi dan keluhan. |
get_recipient_suppression | Memeriksa pantulan lokal, keluhan, kebersihan email, dan penekanan SES regional untuk satu penerima yang tepat. |
remove_recipient_suppression | Menghapus eskalasi pantulan lunak ruang kerja sambil mempertahankan perlindungan global, pantulan keras, dan keluhan. |
create_campaign | Membuat kampanye dengan konten, data, dan override identitas Dari/Balas-ke yang opsional. |
update_campaign | Memperbarui kampanye draf, termasuk konten, data, identitas, audiens, dan konfigurasi STO yang tersimpan. |
schedule_campaign | Menjadwalkan atau menjadwal ulang kampanye, secara opsional menimpa STO dan jendela pengiriman 1-24 jamnya. |
send_test_email | Mengirim email uji ke satu alamat. |
render_email | Merender HTML aman email yang tepat dan melaporkan tag yang belum terselesaikan, termasuk salah ketik yang tersembunyi oleh nilai default. |
cancel_campaign | Membatalkan kampanye yang dijadwalkan atau sedang dikirim. |
pause_campaign | Menjeda kampanye yang sedang dikirim. |
resume_campaign | Melanjutkan kampanye yang dijeda, secara opsional menyebarkan pengiriman dari waktu ke waktu. |
delete_campaign | Menghapus kampanye. |
duplicate_campaign | Menduplikasi kampanye menjadi draf baru. |
resend_campaign_to_non_openers | Membuat 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
| Alat | Deskripsi |
|---|---|
list_forms | Daftar formulir tersimpan dengan pengaturan audiens yang dikelola server, blok konten, dan URL aksi publik. |
create_form | Buat dan publikasikan formulir tersimpan dengan bidang email/nama standar, pengaturan audiens, tema, dan perilaku sukses. |
update_form | Perbarui formulir tersimpan, termasuk array blok terurut lengkap dan bidang khusus bertipe. |
get_form_embed | Kembalikan 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
| Alat | Deskripsi |
|---|---|
list_popups | Daftar popup tersimpan dengan status dan statistik keterlibatan, opsional termasuk konten lengkap. |
get_popup | Dapatkan blok, pemicu, penargetan, jadwal, frekuensi, tema, dan kode sematan yang dipublikasikan dari satu popup. |
create_popup | Buat popup dari templat awal, dipublikasikan secara default, dan kembalikan skrip penerapannya. |
update_popup | Perbarui sebagian salinan popup, audiens, perilaku, tema, blok, atau status publikasi. |
get_popup_embed | Kembalikan cuplikan sematan HTML, React/Next.js, WordPress, dan Shopify tanpa rahasia. |
duplicate_popup | Salin popup ke draf dengan penghitung keterlibatan independen. |
delete_popup | Hapus 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
| Alat | Deskripsi |
|---|---|
list_landing_pages | Daftar halaman arahan dengan status, metrik, konten, dan URL. |
get_landing_page | Dapatkan detail halaman arahan, konten pembuat, metrik, dan URL yang dipublikasikan. |
render_landing_page | Kembalikan pratinjau pengunjung bertanda tangan 24 jam tanpa memublikasikan, menghitung tampilan, atau mengumpulkan pendaftaran. |
create_landing_page | Buat draf halaman arahan dari konten templat default atau JSON. |
update_landing_page | Edit nama, slug, atau konten kompatibel editor lengkap halaman arahan. |
publish_landing_page | Publikasikan halaman arahan, opsional menyimpan edit terlebih dahulu. |
unpublish_landing_page | Kembalikan halaman arahan ke status draf, opsional menyimpan edit terlebih dahulu. |
duplicate_landing_page | Duplikat halaman arahan ke draf baru dengan slug unik. |
delete_landing_page | Hapus halaman arahan yang tidak dipublikasikan. |
connect_landing_page_domain | Hubungkan domain khusus halaman arahan dan kembalikan detail pengaturan DNS. |
update_landing_page_domain_settings | Ganti 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
| Tool | Deskripsi |
|---|---|
list_sequences | Daftarkan urutan dengan status dasbor, pencarian, label, batas, dan filter offset. |
get_sequence | Dapatkan detail urutan, ID varian A/B, dan jumlah blok dengan ab_tests:read, node, tepi, salinan tertaut, dan jendela pengiriman urutan. |
list_sequence_enrollments | Daftarkan pendaftaran kontak dengan paginasi dan atribusi entri berbasis daftar/tag/event/waktu yang akurat. Tes urutan langsung tidak membuat pendaftaran. |
send_sequence_test_email | Kirim satu langkah action_email tersimpan ke 1-10 peninjau; langkah A/B diperiksa per varian. |
create_sequence | Buat draf dasbor kosong atau urutan yang dihasilkan AI/langkah eksplisit. |
update_sequence | Perbarui identitas, pengaturan, pendaftaran, langkah yang ada, logika cabang, atau sisipkan langkah linier. |
update_sequence_node | Patch sadar-tipe pada satu node urutan yang ada. |
update_sequence_nodes | Patch beberapa node urutan yang ada secara atomik. |
insert_sequence_step | Sisipkan langkah dasbor bertipe apa pun, termasuk pembuatan AI, webhook keluar, penundaan, dan cabang berkabel. |
edit_sequence_graph | Pindahkan, sambungkan ulang, hapus, atau duplikat node grafik; laporkan penerima yang dipindahkan atau diselesaikan. |
simulate_sequence | Uji-coba kecocokan saat ini, kesiapan aktivasi, dan jalur cabang kontak opsional tanpa mendaftarkan atau mengirim. |
enable_sequence | Aktifkan urutan. |
disable_sequence | Bekukan urutan, blokir pendaftaran baru, dan tahan penerima saat ini. |
duplicate_sequence | Buat salinan draf independen dari grafik, email, dan tes A/B urutan. |
archive_sequence | Pindahkan urutan ke arsip dasbor dan hentikan pendaftaran baru. |
unarchive_sequence | Pulihkan urutan yang diarsipkan sebagai draf nonaktif. |
list_sequence_goals | Daftarkan tujuan konversi event, atribut pelanggan, dan tag yang diterapkan yang disimpan untuk urutan. |
create_sequence_goal | Tambahkan tujuan konversi event, atribut pelanggan, atau tag yang diterapkan. |
update_sequence_goal | Perbarui tujuan konversi urutan yang disimpan. |
delete_sequence_goal | Hapus tujuan konversi urutan yang disimpan. |
get_sequence_inbound_webhook | Baca URL masuk, status pengaturan, sampel, dan pemetaan pada MCP standar; rute OpenAI menghapus URL yang berisi kredensial. |
configure_sequence_inbound_webhook | Konfigurasikan endpoint, pemetaan bidang, dan sampel; rute OpenAI menghapus URL yang berisi kredensial dari hasilnya. |
rotate_sequence_inbound_webhook_secret | Putar rahasia endpoint urutan masuk dan kembalikan URL penggantinya pada MCP standar; dihilangkan dari rute yang ditinjau OpenAI. |
pause_sequence_enrollments | Hentikan pendaftaran baru untuk urutan aktif sementara penerima saat ini melanjutkan. |
resume_sequence_enrollments | Buka kembali pendaftaran baru untuk urutan aktif tanpa mengubah penerima saat ini. |
enroll_subscribers_in_sequence | Daftarkan hingga 500 pelanggan berdasarkan email, ID pelanggan, atau keduanya, dengan idempotensi aman-coba-ulang. |
cancel_sequence_enrollments | Hentikan pendaftaran aktif atau menunggu berdasarkan nilai bidang pelanggan atau event masuk. |
realign_sequence_enrollments | Pratinjau atau antrekan pemindahan penundaan langsung yang aktif lebih awal ke pembukaan jendela pengiriman mereka. |
get_sequence_enrollment_realignment | Poll pekerjaan realignment yang diterapkan dan baca hasil selesai atau kursor kelanjutannya. |
delete_sequence | Hapus 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"denganlistId, beberapalistIds, ataulistScope:any_contact(default) mendaftarkan setiap kontak yang ditambahkan, termasuk kontak yang tidak bergabung dengan daftar apa pun, sementaraany_listmenunggu keanggotaan daftar yang sebenarnya.trigger: "tag_added"dengantagNameatau beberapatagNames; tag yang dikonfigurasi apa pun mendaftarkan kontak.trigger: "segment_entered"plussegmentIduntuk 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"pluseventName,inactiveDays, dan opsionalinactivityBaseline(sequence_created_atatausubscriber_created_at).goaluntuk konten email yang dihasilkan AI.emailStyle: "visual"atau"plain"untuk memilih presentasi email yang dihasilkan AI berbasis tujuan; saat dihilangkan, preferensi tersimpan perusahaan digunakan.stepseksplisit dengan Sequenzyblocks.stepseksplisit 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 melaluiwaitUntil, atau gerbang kalender melaluiwaitUntilWeekday. 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_discountmembuat 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 skalarenrollmentFieldPathuntuk otomasi event khusus produk, varian, pesanan, atau langganan. Traversal array dengan[]termasuk dalampropertyFilters, 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
| Alat | Deskripsi |
|---|---|
get_email_block_schema | Daftar 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
| Alat | Deskripsi |
|---|---|
list_transactional_emails | Cari/filter template dan urutkan berdasarkan metrik pengiriman; mengembalikan subjek dan URL dasbor. |
get_transactional_email | Baca email transaksional berdasarkan ID atau slug. |
create_transactional_email | Buat template transaksional dari prompt, HTML, atau blok. |
update_transactional_email | Perbarui metadata transaksional atau konten badan. |
send_email | Kirim 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
| Alat | Deskripsi |
|---|---|
get_stats | Dapatkan statistik ringkasan untuk 7d, 30d, atau 90d; filter berdasarkan jenis email struktural. |
get_transactional_stats | Dapatkan metrik sepanjang masa atau rentang waktu untuk satu email transaksional tersimpan berdasarkan ID atau slug. |
get_campaign_stats | Dapatkan performa kampanye, metrik balasan, tujuan konversi terlampir, dan ringkasan Poll/NPS. |
list_poll_responses | Daftarkan jawaban Poll/NPS terbaru setiap responden per blok, dengan identitas dan waktu respons. |
get_sequence_stats | Dapatkan performa urutan agregat dan per langkah plus jumlah pendaftaran aktif/menunggu langsung berdasarkan node saat ini. |
list_email_metrics | Bandingkan corong kampanye dan langkah urutan, balasan, konversi, dan pendapatan, termasuk langkah lintas urutan. |
list_campaign_events | Daftarkan peristiwa email mentah berpagina untuk sebuah kampanye. |
list_sequence_events | Daftarkan peristiwa mentah berpagina untuk sebuah urutan, secara opsional dibatasi ke satu langkah email. |
get_subscriber_activity | Dapatkan 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
| Alat | Deskripsi |
|---|---|
list_team_members | Daftarkan anggota tim dan undangan tertunda. |
invite_team_member | Undang rekan sebagai admin atau penonton, dengan akses penagihan opsional. |
cancel_team_invitation | Batalkan undangan tim tertunda. |
list_conversations | Daftarkan percakapan balasan pelanggan dengan filter status dan belum dibaca. |
get_conversation | Baca percakapan dan riwayat pesannya. |
reply_to_conversation | Antrekan balasan keluar atau tambahkan catatan internal. |
update_conversation_status | Buka atau tutup percakapan. |
mark_conversation_read | Tandai semua pesan dalam percakapan sebagai dibaca. |
list_webhooks | Daftarkan titik akhir webhook keluar. |
create_webhook | Buat titik akhir dan kembalikan rahasia penandatanganan satu kali pada MCP standar; dihilangkan dari rute yang ditinjau OpenAI. |
update_webhook | Perbarui nama webhook, URL, peristiwa, atau status. |
delete_webhook | Hapus permanen titik akhir webhook dan riwayat pengiriman. |
test_webhook | Kirim peristiwa uji ke titik akhir webhook. |
list_webhook_deliveries | Daftarkan upaya pengiriman terbaru untuk sebuah webhook. |
replay_webhook_delivery | Putar 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
| Alat | Deskripsi |
|---|---|
generate_email | Hasilkan blok email bermerek dari sebuah prompt. |
generate_sequence | Alias tidak digunakan lagi yang mempertahankan draf urutan berbasis tujuan. |
generate_subject_lines | Hasilkan 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
| Tool | Deskripsi |
|---|---|
generate_sms | Membuat salinan SMS dari sebuah prompt. |
get_sms_settings | Membaca kesiapan add-on SMS, kredit, default, dan nomor yang disediakan. |
get_sms_usage | Membandingkan pengiriman, hasil pengiriman, kredit yang dibebankan, aktivitas terakhir, dan uji kirim berdasarkan nomor. |
update_sms_number_label | Memperbarui label nomor atau override awalan merek per nomor. |
release_sms_number | Mengembalikan nomor secara permanen ke operator dan membebaskan slot workspace-nya. |
send_test_sms | Mengirim 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.
| Resource | Deskripsi |
|---|---|
sequenzy://dashboard | Statistik ringkasan langsung untuk 7 hari terakhir. |
sequenzy://company | Pengaturan perusahaan dan lokalisasi saat ini. |
sequenzy://campaigns/recent | 10 kampanye terakhir dengan status dan statistik dasar. |
sequenzy://subscribers/recent | Pelanggan yang paling baru ditambahkan. |
sequenzy://subscribers/engaged | Pelanggan paling aktif atau terlibat. |
sequenzy://sequences | Semua urutan dengan status. |
sequenzy://templates | Template dengan status lokalisasi. |
sequenzy://segments | Segmen tersimpan dengan jumlah pelanggan. |
sequenzy://tags | Tag dengan jumlah penggunaan. |
sequenzy://health | Metrik keterkiriman dan status kesehatan. |
sequenzy://email-blocks | Referensi bidang untuk setiap tipe blok email. |
sequenzy://app-routes | Template 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
npxtersedia 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
inputSchemaalat harus berupa skematype: "object"polos. - Jangan publikasikan
anyOfdi mana pun dalam skema alat. - Jangan letakkan
oneOf,allOf,enum, ataunotdi 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:
- Titik akhir MCP jarak jauh:
https://api.sequenzy.com/v1/mcp - Manifes kemampuan agen:
agent-capability.json - Kartu agen gaya A2A:
.well-known/agent-card.json - Metadata keterampilan OpenClaw/Moltbot:
openclaw/skill.json - Panduan operasi OpenClaw/Moltbot:
openclaw/SKILL.md
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.