Dokumentasi OpsIQ

(Yang membangun, mengoperasikan, dan Agihan kepanjangan OpsIQ.

Ini adalah dokumentasi lengkap untuk OpsIQ_. Atur produk, jalankan dukungan, konfigurasi AI, mengelola CRM, memasang widget, membangun konektor, sebut REST API, menerima webhooks, paket marketplace apps, dan mengoperasikan penyebaran yang dihost sendiri.

Panduan pelangganPanduan administrasi arifanPanduan pengembang untuk pengembangRujukan CRMKonektor SDKMemerlukan APIMempelindungi diri sendiri
Skop

Skop buku panduan ini

Everything OpsIQ does, in one place: how each screen works, how to connect your own systems, and how to build on top of it. Start anywhere, the sections follow the same order as the admin sidebar.

Skop
Peta dokumentasiBuku panduan diatur di sekitar produk OpsIQ, mengikuti urutan yang sama dengan bilah sisi admin.Peta dokumentasiOpsIQ productAUDIENCEOperatorBAHASA LUARPembangunRUNAdministratorORANG KERJA HIDUPGuna OpsIQLayar produk dan aliran kerjaDisertakanEkstend OpsIQ__Penghubung, APIs dan widgetDisertakanDiagramkan OpsIQ_Keamanan, kron dan penyebaranDisertakanRujukanPaket Ubuntu, API dan kontrak webhookDisertakan1CHOOSE AUDIENCEpengembang atau operator2FOLLOW THE UIPengg_unaan Bagian-bagian Cermin OpsIQ_3USE SOURCE TRUTHStatus org berasal dari bangunan
Buku panduan diatur di sekitar produk OpsIQ, mengikuti urutan yang sama dengan bilah sisi admin.
Panduan lapangan Vocabe

Kelegapan menggunakan administrator dan panduan pengembang yang telah didedikasikan untuk arsitektur Portal, halaman, komponen, pratinjau, Pusat Bantuan, identitas, SCIM, rilis diatur, ekstensi, migrasi dan sertifikasi.

Bukalah panduan Portal Studio

Apa yang ada di sini

Kau bisa menggunakan produknya.

Setiap layar di admin: analitik, chat langsung, tiket, CRM, basis pengetahuan, Site Intelligence, promosi dan portal pelanggan.

Sistemmu akan terhubung.

Widget website, kotak surat email, webhooks masuk dan outbound, dan perpustakaan konektor untuk platform seperti Shopify, WooCommerce, WHMCS, Zendesk, Stripe, Slack dan Gmail.

Binalah sendiri

Pembangun Konektor untuk penyambung tanpa-kode, Aksi & Pemicu jika anda lebih suka tidak menggunakan penyambung sama sekali, dan REST API dengan setiap tindakan, skop dan kode kesalahan.

Operasikan itu

Peranan dan izin, keamanan, cron, diagnostik, cadangan, dan keduanya menjadi tuan rumah dan penyebaran yang dihosted sendiri.

Di mana untuk memulai

1
Andorra Anda menjalankan OpsIQ hari ke hari

Baca bagian layar dalam urutan sisir. setiap buka dengan apa halaman adalah untuk, sehingga Anda dapat berhenti segera setelah Anda memiliki apa yang Anda butuhkan.

2
Jika kau melakukannya

Ini adalah bagian yang memutuskan apakah segala sesuatunya terus bekerja.

3
Jika kau membangun integrasi

Mulai di Konektor, lalu konektor Builder, kemudian REST API Bacalah dengan teratur dan kau akan melihat segala cara. OpsIQ Kau bisa bicara dengan sistem lain.

💡
2 hal mengubah apa yang anda lihat. ijin menyembunyikan halaman peran anda tidak dapat dibuka, jadi bagian yang dijelaskan di sini mungkin hilang dari sisibar anda. mintalah seorang administrator untuk memeriksa peran anda. dan konektor membawa label matang Production, Beta, Preview, atau Templat; pembangunan berjalan dan manifes penyambungnya adalah otoritas dimana anda memiliki, bukan halaman ini.
Mulailah dari sini.

Apa OpsIQ Keistimewaan bisnis Anda

OpsIQ Dia adalah sebuah platform operasi bisnis AI-pertama yang lengkap. Ini menggantikan analitik Anda, chat live, helpdesk, CRM, SEO toolkit, integrasi middleware, dan developer platform dengan satu admin terpadu di mana setiap alat berbagi konteks pelanggan yang sama. Daripada menjahit bersama-sama 8-12 Anda pasang produk SaaS terpisah OpsIQ Satu kali dan beroperasi semuanya dari satu layar.

Platform
Ke_utamaan OpsIQ mudaSebuah otak AI pusat terhubung ke live chat, CRM, tiket, Site Intelligence, promosi dan analitik.¡Live chatPromosiAI CRM_Situs web resmi Situs Web IntelTiketAnalisisOpsIQOTAK AI1ONE WORKSPACESemua alat-alat dalam satu sistem2SHARED BRAINSatu konteks pelanggan3ANYWHEREAwan atau dihoskan sendiri
OpsIQ Dia adalah salah satu platform dengan satu konteks pelanggan bersama, setiap feed alat, dan didukung oleh, otak AI yang sama.

Everything OpsIQ does · in detail

Website analitik dan intelijen pengunjung

Pelacak pengunjung real-time

Setiap halaman memuat, klik, gulungan, dan peristiwa navigasi ditangkap secara real time lihat siapa yang ada di situs Anda sekarang, halaman apa yang mereka tonton, berapa lama mereka menghabiskan waktu, dan dari mana mereka berasal, semua tanpa kue pihak ketiga.

Log dan sesi lawati layorator

Sejarah penuh dari setiap pengunjung dengan perangkat, peramban, sistem operasi, negara, kota, referer, parameter UTM, halaman pendaratan, dan resolusi identitas. Sesi halaman kelompok melihat ke dalam perjalanan sehingga Anda dapat melihat seluruh jalur yang ditempuh pengunjung.

Ulangan sesi

Pemutaran gaya Timeline dari sesi pengunjung yang ditangkap. Lihat persis apa yang dilakukan pengguna: gerakan tetikus, klik, gulungan, transisi halaman, dan interaksi bentuk. Gunakan untuk mendiagnosis isu UX, memahami titik drop-off, dan memverifikasi konversi mengalir.

Makanan langsung vinf

Lihat tampilan halaman, obrolan dimulai, penyerahan formulir, dan sinyal niat yang diperbarui setiap beberapa detik.

Halaman Top

Halaman-halaman yang dirangking oleh kunjungan, waktu pertunangan, tingkat pantulan, konversi, dan aktivitas dukungan.

intelijen Geofififier

Negara, kota, dan wilayah rusak dengan peta.

Saluran corong yang tidak nyaman

Sinyal niat pengunjung wan pengunjung (pricing page laughing, return berulang, dokumentasi pola browsing, dan interaksi dukungan) untuk mengidentifikasi pengunjung yang kemungkinan membeli, churn, atau membutuhkan bantuan.

Eksperimen A/B

Lulusan tes pemisahan di website Anda langsung dari OpsIQ_. Buat varian, set alokasi lalu lintas, definisikan tujuan konversi, dan ukur signifikansi statistik. Tidak ada alat pengujian eksternal yang diperlukan.

JavaScript error tracking

Angkut kesalahan klien-sisi JavaScript dari situs web anda secara otomatis. Lihat pesan galat, jejak stack, peramban yang terpengaruh, penghitungan frekuensi, dan halaman mana yang memicunya. Debug isu frontend tanpa pemantauan kesalahan terpisah.

Catatan Peristiwa Lenyap

Setiap acara yang dilacak (view page, event custom, interaksi chatting, forms submissions, pembelian) dalam log yang dapat dicari dan dapat disaring dengan data meta penuh.

Penjualan dan konversi

Perintah trek, pendapatan, pengembalian, pembaruan langganan, dan konversi atribut ke sumber lalu lintas, kampanye, dan perjalanan pengunjung.

Lead

Pengunjung yang berintent tinggi diidentifikasi dengan pola perilaku. Skor mengarah berdasarkan kunjungan halaman, waktu di situs, frekuensi kembali, interaksi dukungan, dan sinyal suai. Suapan mengarah langsung ke pipa CRM.

Situs Intelijen Situs (SEO dan analisis konten)

Situs Krawls

Terotomatisasi merangkak seluruh situs web Anda untuk menemukan halaman, mendeteksi tautan yang rusak, menemukan tag meta yang hilang, memeriksa teks alt gambar, memvalidasi kanonik URLs_, dan memetakan struktur situs Anda. Jadwal merangkak untuk menjalankan setiap hari, mingguan, atau sesuai permintaan.

Audit SEO Teknikal

Analisis teknis koprehensif: skor kecepatan halaman, responsif mobileness, Inti Web Vitals, SSL status sertifikat, rantai redirect, pendeteksian konten duplikat, analisis kedalaman merangkak, dan validasi data terstruktur.

audit kandungan

Evaluasi avaluasi setiap halaman untuk kualitas konten, penghitungan kata, skor kemampuan baca, kepadatan kata kunci, struktur heading, rasio link internal/eksternal, dan kesegaran. Kenali kandungan tipis, halaman duplikat, dan kesenjangan isi.

Pencarian bertenaga AI

Carilah secara semantik di seluruh konten situs Anda. Tanyakan pertanyaan bahasa alami tentang isi dan dapatkan jawaban AI-synthesized dengan referensi halaman sumber.

Pelacakan pangkat SERP

XAWN Monitor peringkat mesin pencari Anda untuk kata kunci target di seluruh Google dan mesin lain. Posisi trek berubah dari waktu ke waktu, dibandingkan dengan pesaing, dan lihat peringkat halaman mana yang akan digunakan.

Penelitian kata kunci INO

Temukan kesempatan kata kunci berdasarkan konten, analisis pesaing, dan data volume pencarian Anda. Dapatkan saran untuk topik konten baru, variasi ekor panjang, dan target optimasi isi.

Analisis alisin bowlink

Lihat situs mana yang menghubungkan ke Anda, melacak link baru dan hilang, menganalisis distribusi teks jangkar, dan mengidentifikasi peluang membangun-pautan.

Local SEO grid

Bisnis freak untuk bisnis dengan lokasi fisik: bayangkan jarak pandang pencarian lokal Anda melintasi suatu jaringan geografis. lihat bagaimana peringkat Anda bervariasi berdasarkan lokasi, jarak dari bisnis Anda, dan tujuan pencarian Anda.

Sinkronisasi Profil Bisnis Google Business

Hubungkan Profil Bisnis Google Anda ke OpsIQ. Sync review, postingan, Q&A, foto, dan informasi bisnis. Urus daftar GBP Anda dari dalam OpsIQ Tanggapan terhadap ulasan, pos penerbitan, dan wawasan monitor.

Laporan yang dijadwalkan

Laporan Automated SEO dan analitik yang dihasilkan pada jadwal Anda (secara harian, mingguan, bulanan). Laporan termasuk perubahan peringkat, tren lalu lintas, masalah teknis ditemukan, dan kinerja konten. Keluaran White-label tersedia untuk lembaga.

Dukungan bertenaga AI

chat DENGAN pelanggan if

AIOA menjawab pertanyaan pelanggan di situs web Anda 24/7 Keterampilan menggunakan basis pengetahuan anda, data platform terkoneksi (urutan, akun, langganan), dan prompt pelatihan gubahan. Mendukung penyedia AI multiple: Claude (pengisi):Anthropic), GPT-4o (OpenAI), Gemini Voygo (Google), dan Grok (xAI).

Pembantu AI pentadbir

Copilot AI di dalam panel pentadbiran anda yang membantu anda menulis jawapan tiket, rancang komunikasi pelanggan, analisis trend sokongan, cari data pelanggan di seluruh platform tersambung, dan jalankan tindakan melalui sistem sambungan.

Pengetahuan AI membumi

AI ini didasarkan pada artikel dasar pengetahuan Anda, entri FAQ, dokumentasi produk, dan data platform yang terhubung. Ini tidak berhalusinasi. Ini menjawab dari informasi bisnis Anda yang sebenarnya atau meningkat ketika tidak pasti.

Oto-diserahkan kepada manusia

Ketika AI tidak dapat menyelesaikan pertanyaan, mendeteksi frustrasi, atau pelanggan meminta manusia, ia secara otomatis menyerahkan kepada tim Anda dengan konteks percakapan penuh. Mengkonfigur penurunan/pengurangan waktu auto-revert kembali ke AI.

AI prompts pelatihan ifco

Diakui instruksi terpisah untuk pelanggan-facing AI dan admin-fanding AI. Kontrol nada, batas, aturan eskalasi, topik dilarang, dan perilaku spesifik bisnis. Konfigurasi per-workspace didukung.

Sejarah dan audit AI

oucha setiap percakapan AI login dengan detail permintaan/pertanggungan penuh, penggunaan token, pelacakan biaya, penyedia yang digunakan, dan versi model. Tinjau percakapan untuk mengidentifikasi kesenjangan pelatihan dan meningkatkan akurasi AI.

AI wawasan

Analisis terautomasi dari pola percakapan AI. Lihat pertanyaan umum, tingkat resolusi, frekuensi handoff, kepuasan pelanggan berdasarkan topik, dan area di mana AI membutuhkan pelatihan yang lebih baik.

Konfigurasi AI per-ruang kerja

Setiap situs/ruang kerja yang terhubung dapat menggunakan penyedia AI sendiri, model, suhu, anggaran token, dan promo pelatihan. Sebuah perusahaan SaaS dapat menggunakan Claude untuk produk utama dan GPT-4o untuk merek sekunder.

Diagnosis AI dan BYOK_

Two AI modes: Managed AI (included in your plan, no API key needed) or Bring Your Own Key (use your own OpenAI/Anthropic/Google/xAI API key for full control over model selection and costs). Both are first-class, every feature works with either mode.

Anggaran token AI dan biaya kontrol

Tetapkan anggaran token bulanan, batas per-konversi, dan peringatan keseimbangan rendah. belanja trek per penyedia, per ruang kerja, dan per percakapan. mencegah biaya yang tidak terjangkau dengan langit-langit keras.

Tiket dan helpdesk

Sistem tiket pribumi

Kemudahan penuh untuk membantu departemen, prioritas (low/medium/high/urgent), status, pelacakan SLA, catatan internal, jawaban pelanggan, lampiran file, dan percakapan threaded. Tidak ada bantuan eksternal yang diperlukan.

AI triage dan auto-reply

Ail secara otomatis triages memasukkan tiket melalui departemen dan prioritas. Aktifkan auto-reply untuk departemen yang aman. Draf AI dan mengirim respon setelah penundaan yang dapat dikonfigurasi (lalai: 2 menit) sehingga manusia dapat turun tangan terlebih dahulu.

Email e-mel ingestion

Kmail (Gmail, IMAP, atau provider-specific) untuk secara otomatis membuat tiket dari email yang masuk. Balasan ke surel pemberitahuan tiket memperbaharui benang tiket.

Portal tiket ditancapkan

Ditanamkan sebuah portal tiket pelanggan di website anda. Pelanggan dapat menyerahkan tiket, melihat sejarah mereka, membalas tiket terbuka, dan memeriksa status, semua dicap pada desain anda.

Penggabungan Tiket

Cantumkan tiket duplikat ke dalam satu benang. Gabungkan tiket show [Mergetan] pada baris subjek. Semua riwayat percakapan dipertahankan dalam tiket yang masih bertahan.

AIVE kembali ke AI

Selepas ejen manusia mengambil alih tiket, gunakan "Kembali ke AI" untuk biarkan AI meneruskan auto-jawab pada tiket itu. Berguna bila bahagian yang diperlukan oleh manusia telah diselesaikan tetapi pelanggan mempunyai soalan lanjut yang boleh ditangani oleh AI.

Kopilot Kotak Masuk KL Boxbox

Manajemen tiket AI-aquisted dari tampilan inbox. Kopilot menyarankan balasan, meringkas sejarah percakapan, merekomendasikan prioritas/pertemuan tugas, dan dapat mengeksekusi tindakan pada platform yang terhubung.

-=Membuat sebuah permainan dan dukungan waktu nyata

Kotak masuk Chat

Ini adalah percakapan pelanggan yang dikelola secara real-time dari kotak masuk terpadu.

Aturan obrolan pro-koaktif

Pemicu pesan obrolan berdasarkan perilaku pengunjung: waktu di halaman, spesifik URL Contoh: Tampilkan pesan bantuan setelah 60 detik di halaman utama.

Widget

Sebuah widget chat yang dapat diubah-ubah tertanam di website anda. Mendukung obrolan AI, percakapan agen langsung, penyerahan tiket, pencarian basis pengetahuan, dan identitas pengunjung.

Survei CSAT BAHASA

Mengumpulkan penilaian kepuasan pelanggan setelah chatting dan interaksi tiket.

Survei email pasca-chat jarbi

Selepas sembang berakhir, pengunjung dengan emel yang diketahui boleh menerima satu mel branded dengan ringkasan AI apa yang ditangani dan satu-klik "Adakah ia mudah?" Ya/Tidak. Sekali per rantaian, tanda tangani pautan penggunaan sekali, setiap menghantar log, dan hasil mendarat pada halaman Balasan sebagai isyarat sendiri di sebelah bintang dalam sembang.

Indentitas balikan palsu

\"Ofuthodi Setiap item umpan balik yang membawa seseorang menunjukkan mereka: nama, email, klik-melalui perjalanan pelanggan penuh mereka dan kontak CRM, dan satu-klik Email atau jawaban AI-draft\" dikudeta dalam sejarah sebenarnya.

AI Penulisan AI

Asisten penulisan AI yang terpisah untuk menggubah draft email, jawaban tiket, pengumuman, dan komunikasi pelanggan. Menggunakan prompt sendiri (bukan chat brain) untuk penulisan bisnis profesional.

AIAIN-Pertama CRM

Pusat Komando CRM

Layar tunggal menunjukkan seluruh CRM negara Anda: nilai pipa, kecepatan kesepakatan, tugas-tugas mendatang, transaksi-risk, aktivitas agen, dan rekomendasi AI. Halaman rumah CRM adalah titik awal harian Anda.

Kenalan dan perusahaan

. . -===\"==2\"=\"Tujuan\"=-

Berikan bantuan dan papan pipeline

Papan perjanjian gaya Kanban visual dengan peringkat boleh suai. Seret perjanjian antara peringkat, tetapkan nilai, tentukan pemilik, jejak tarikh tutup dan lihat nilai paip pada setiap peringkat. Paip berbilang disokong.

AI menangani coaching

AIAA menganalisis setiap kesepakatan dan menyediakan coaching: sinyal risiko (pergi tenang, pesaing disebutkan, kekhawatiran anggaran), rekomendasi lanjutan-terbaik-aksi, probabilitas menang, dan menyarankan follow-up timing.

Laporan dan siaran

Peramalan harga berevenue berdasarkan data pipa, tingkat dekat historis, dan kecepatan kesepakatan. Laporan termasuk jalur pipa melalui tahap, oleh pemilik, oleh sumber, nilai konversi, ukuran transaksi rata-rata, dan panjang siklus penjualan.

Agen Prospeksi Kesiagaan (SDR)

Prospek AI bertenaga AI yang mengidentifikasi calon pelanggan dari data pengunjung Anda, sinyal timbal, dan aktivitas platform terhubung. Mengusulkan target outreach, draft pesan awal, dan skor kualitas memimpin.

Urutan susulan

Urutan tindak lanjut multi-langkah terautomatik: email, tunggu, email, respon cek, eskalasi. Definisi urutan untuk lead baru, penawaran yang diulurkan, pemeriksaan pasca pembelian, dan kampanye re-engagement.

Sepeda dan retensi kehidupan

Uji coba jejak tahap daur hidup pelanggan (lead, prospek, customer, churned) dengan transisi otomatis.

Agen pengurus Data

Agen AI yang terus-menerus membersihkan dan memperkaya data CRM Anda: menduplikasi kontak, mengisi medan hilang, mengesahkan email, standardisasi nama perusahaan, dan bendera catatan basi.

Bina CRM saya

Konfigurasi CRM bahasa alami: beritahu AI seperti apa proses penjualan Anda dan membangun tahap pipa Anda, bidang langganan, template kesepakatan, dan aturan otomatisasi.

Periksa kesehatan CRM

Audit terotomatasi dari kualitas data CRM Anda: kontak duplikat, transaksi tanpa langkah berikutnya, pipa basi, informasi kontak hilang, dan data kelengkapan mencetak gol.

Dial Kepercayaan

Pengendalian otonomi tingkat tiga untuk setiap agen AI CRM: Autopilot (AI bertindak secara independen), Copilot (aliai menyarankan, menyetujui manusia), dan Manual (AI mengamati hanya). Atur dial per agen, per tipe aksi, dan per deal nilai ambang.

AI agen 4 AI

OFZO CRM menjalankan empat agen AI khusus: Steward (kualitas data), SDR (prospecting), Revention (churn prevention), dan Analyst (reporting and howness). Setiap agen memiliki setting Trust Dial sendiri.

Penyambung dan integrasi

Konektor pra-bangun

Ready-to-use connectors for Shopify, WooCommerce, BigCommerce, Magento 2, PrestaShop, OpenCart, osCommerce, WordPress, WHMCS, Zendesk, Stripe, Amazon SES, Postmark, Resend, SendGrid, Mailgun, Gmail, IMAP, Slack, and Google Business Profile. Each connector brings platform-specific AI actions, knowledge, and data sync.

Pembina Penyambung

Build connectors suai untuk platform apapun, tidak ada kode, AI-assisted, atau kode penuh. pembina mendukung REST dan GraphQL APIs, OAuth Aliran kode otorisasi, webhook auto-registrasi dengan skema Stripe dan tandatangan sederhana, pagination (offset, page, cursor, and link-header), list/error transforms, multi-action context, dan marketplace packaging.

Penulisan penyambung AI-assisted

Auder BuilderAI Penyambung membantu Anda membangun konektor: menggambarkan apa yang Anda inginkan dan menyarankan tindakan, menulis penanganan permintaan, dan peta API _. Mengawasi otentikasi, peginasi, dan penanganan kesalahan secara otomatis.

OAuth Aliran aliran untuk setiap konektor

Á Generik in-app OAuth Aliran otorisasi yang bekerja dengan setiap penyambung. dukungan PKCE, manajemen negara site-scoped, refresh token otomatis. Konektor mendefinisikan mereka OAuth Parameter dan OpsIQ - Dia yang mengendalikan aliran.

Bus kapabilitas bus (sambungan lebar platform)

Connectors don't just add platform actions. They can power core features through capability "buses". A connector declares a capability (calendar, enrichment, esign in CRM; local_listing, rank_data in Site Intelligence; web_analytics in Analytics; payment_provider in Payments; email_sync in Mailbox; video_meeting in Comms) and implements its small method set; OpsIQ discovers it via CapabilityRegistry and wires it into the UI, the Customer 360 timeline, and the AI actions. Several connectors can offer the same capability with no lock-in. See connectors/PLATFORM_CONNECTORS.md.

Dipasang sebelum hari pasaran di tier

Connectors live in one of two tiers. Pre-installed connectors (connectors/) are registry-active out of the box, kept lean to just the keyless reference and the most-used provider per capability (e.g. Google Calendar, Gmail, Google Business Profile). Marketplace connectors (marketplace_connectors/) are discoverable but inert until installed, e.g. Microsoft 365 Calendar, Outlook, DocuSign, Stripe, GA4, SerpApi, Zoom. Every bridge surfaces a marketplace list so the UI and the AI can prompt "install from the marketplace" (notify-to-install) when a capability has no ready provider, never a broken button.

Pasaran penghubung

Terbitkan konektor Anda ke OpsIQ Pasar pasar. konektor paket dengan profil.json Pengetahuan.json, workflow_recipes.json, dan arsip yang ditandatangani.

Menandatangani konektor

Semua penyambung adalah cryptografik yang ditandatangani secara kriptografi untuk verifikasi integritas. Penandatanganan diperiksa pada waktu pemasangan. Gunakan alat resign_all_connectors untuk mendaftar kembali setelah pemutakhiran.

SmartLookup

Declarative fuzzy-matching system for connector actions. Define lookup rules and OpsIQ matches user queries to platform entities using fuzzyScore and smartRank algorithms. Example: find_country("germ") matches Germany with 88.9% confidence.

Kontrak aksi

Jendral OpsIQ API Afrika 1,312 Tindakan-tindakan yang diberi nama oleh kindon, sementara paket penyambung menyatakan tindakan vendor mereka sendiri dengan parameter yang diketik, persyaratan autentikasi, aturan paginasi, dan transformasi respon melalui ActionExecutor terpadu.

Resep Konektor

Resepi aliran kerja prabina yang menggabungkan beberapa tindakan sambungan ke dalam aliran kerja perniagaan biasa. Contoh: "Apabila pesanan baru datang pada Shopify, cipta tiket, kemaskini CRM, dan hantar pemberitahuan Slack."

Pengetahuan ilmu pengetahuan sinkron

Konektor menyatakan topik pengetahuan yang selaras dengan basis pengetahuan AI. Artikel bantuan spesifik platform, panduan setup, dan langkah-langkah bidik troubling secara otomatis tersedia untuk AI tanpa entri pengetahuan manual.

Platform pengembang untuk bandar

Memerlukan API

Nama A JSON API Ahligon mencakup setiap administrator terdaftar JSON operasi, denganAPI Otentikasi kunci, isolasi ruang kerja, ruang lingkup, batas tingkat, penulisan idempoten, OpenAPI, dan koleksi Postman yang dihasilkan.

Webhook

Outbound webhooks untuk semua acara utama: pesanan, faktur, langganan, tiket, chats, lead, pendaftaran pengguna, dan cart ditinggalkan. Penyerahan async melalui antrian kerja, retry backoff eksponensial, proteksi SSRF, dan auto-disable setelah 15 Kegagalan berturut-turut.

Menandatangani Webhook

Setiap webhook outbound ditandatangani dengan HMAC-SHA256. Pastikan tanda tangan pada akhir penerimaan anda untuk memastikan keaslian webhouk.

Widget SDK

JavaScript SDK Untuk widget pelacakan dengan resolusi identitas, pelacakan acara suai, pengendalian obrolan programmatik, dan konfigurasi spesifik halaman. Pasang resep untuk React, Vue, Next.js, WordPress, Shopify, dan statis HTML.

Plug dan SDK

SDK server-side dan plugin untuk kerangka kerja umum. WordPress Plugin, WHMCS module, dan pustaka integrasi PHP/Node.js generik.

Acara API_

Push peristiwa adat ke dalam OpsIQ dari backend anda: pembelian, pendaftaran, penggunaan fitur, kesalahan, atau acara bisnis apapun. Peristiwa muncul di timeline pengunjung dan feed menjadi analitik dan konteks AI.

Buku masak Pemicu Pemipu

Pemicu alur kerja otomatis yang dipicu oleh peristiwa: tiket baru, obrolan dimulai, pengunjung mengidentifikasi, menangani tahap perubahan, atau acara gubahan. Memicu pelaksanaan tindakan penyambung, mengirim webhook, memperbarui catatan, atau memberitahu tim Anda.

API pembuat

Visual API Pembuat webhook di dalam admin. Atur titik akhir, permintaan tes, respon inspeksi, dan integrasi debug tanpa meninggalkan OpsIQ.

Tim dan administrasi

Kontrol akses berbasis Role-based

3 peran: Pemilik (akses penuh, penagihan, zona bahaya), Admin Penuh (semua operasi kecuali billing dan zona bahaya) dan Agen (hanya departemen yang ditugaskan, tidak ada akses pengaturan). Semua halaman sensitif digagalkan secara keras oleh peran.

Dashboard prestasi pasukan

Pemilik dan papan dashboard Admin-only Full menampilkan resolusi kali, distribusi beban kerja, menangani kedalaman, gangguan saluran, analisis trend, kepatuhan SLA, CSAT oleh agen, tarif buka kembali, rollup tim, dan jam tersibuk. Diperbarui dalam waktu nyata.

Adanya Admin dan pelacakan online

Wahana real-time yang-adalah-online widget dalam navigasi admin. deteksi kehadiran berbasis Heartbeat (pengecaman)60- Ping kedua, 300-freid-second extended, auto-priune setelah 120 Hari-hari). Lihat dimana admin saat ini aktif dan di halaman mana.

Pengaturan per-ruang kerja XOXN

Setiap situs yang terhubung (workspace) dapat memiliki konfigurasi AI, pengaturan konektor, departemen tiket, branding, dan aturan operasional. Badan baku global dicasade ke ruang kerja yang tidak menimpanya.

Manajemen Multi-site

Mengendalikan situs web berganda dari satu OpsIQ admin. Setiap situs memiliki snippet pelacakan sendiri, data pengunjung, dan konfigurasi. Tukar antar situs dari navigasi admin

Sistem templat e- mel

Templat email yang digiring oleh Registry untuk semua komunikasi otomatis: pemberitahuan tiket, transkrip obrolan, surel selamat datang, pengaturan ulang kata sandi, dan peringatan sistem. Edit HTML Templat orgalia dengan preview langsung, chip variabel ({{customer_name}}, {{ticket_id}}), dan pengendalian bentangan global.

Import dan ekspor

Impor kontak, tiket, dan artikel pengetahuan dari situs web CSV/JSON Ekspor data pengunjung, laporan analitik, dan catatan CRM.

Keamanan, kepatuhan, dan operasi

EnterpriseSSO

OIDC (OpenID Sambung) log masuk tunggal dengan masa jalan penuh: penemuan, kebenaran, panggilan balik, pengesahan tandatangan JWKS, maklumat pengguna, senarai domain yang dibenarkan, pemberian JIT, dan pengawal status. SAML sokongan konfigurasi.

GDPR Kepatuhan data dan kepatuhan Data

Instand DSAR (Penggunaan Akses Subjek Data) penanganan: ekspor dan hapus data pelanggan di seluruh sistem. Penghapusan data tingkat kontak meliputi sesi, tiket, chat, catatan CRM, dan log email. Pengaturan konsen dan kebijakan retensi.

IP penghalang dan perlindungan brute-force

Khusus Blok Alfaid IPs Tidak atau jangkauan dari mengakses situs atau admin Anda. Penguncian otomatis setelah percobaan log masuk yang gagal konfigurasi. Log masuk gagal dengan IP, timestamp, dan agen pengguna.

HSTS dan tajuk keamanan

Kemudahan Pengangkutan HTTP, header Akses-Polisi, dan konfigurasi cookie aman. Penyampaian hosted sendiri dapat menambahkan header CSP melalui konfigurasi server.

Pemkerasan bidik web luar arah

guard blok SSRF webhooks ke pribadi/metadata IP Jarak jangkauan. Penyerahan async mencegah titik akhir yang lambat menghalangi aplikasi anda. Dapat-dimatikan secara otomatis setelah 15 Kegagalan berturut-turut beruntun mencegah limbah sumber daya pada titik buntu.

Ruang isolasi Ruang Kerja Ruang Kerja

Pengisolasi data ketrampilan antara ruang kerja. Pengunjung, tiket, chat, catatan CRM, dan percakapan AI diskop ke ruang kerja mereka. Kebocoran data lintas-ruang kerja dicegah pada lapisan pertanyaan.

Manajemen siklus Billing yang senilai

Dukungan untuk bulanan, triwulanan, semi-annual, tahunan, biennial, dan siklus penagihan seumur hidup normalisasi mata uang untuk gerbang multi-kurensi konversi FX pada penerimaan pembayaran untuk laporan pendapatan yang akurat.

Otomasi yang dijadwalkan dan Cron

Sistem cron terbina-dalam α untuk tugas yang dijadwalkan: pembuatan laporan, pembersihan data, pembaruan langganan, pemutakhiran pelatihan AI, sinkronisasi konektor, dan retries webhook. Diagnosa kesehatan dengan indikator peringatan.

Kebijakan retensi Data .

Konfigurasikan berapa lama sesi pengunjung, transkrip chatting, riwayat percakapan AI, dan log acara dipertahankan. Pembersihan otomatis data usia untuk mengelola penyimpanan dan mematuhi kebijakan retensi.

Diagnostik dan kesehatan

Sistem kesehatan softboard yang menampilkan status cron, konektivitas basis data, status penyedia AI, kesehatan konektor, tingkat pengiriman webhook, dan penggunaan penyimpanan. Peringatan masalah konfigurasi dan kinerja bottenck.

Siapa OpsIQ Ini adalah untuk

Toko e-merce

Toko Kedai

Jejaki setiap pengunjung dari mendarat ke membeli. Biarkan AI jawab "Di mana pesanan saya?" menggunakan data Shopify/WooCommerce/BigCommerce hidup. Urus tiket sokongan dengan auto-jawab AI. Jalankan paip perjanjian untuk lead grosir dan B2B. Atribut pendapatan kepada sumber lalu lintas dan kampanye. Monitor abandonment kereta dengan aliran kerja pemulihan.

Perusahaan perangkat lunak dan SaaS

Name

Penandatanganan uji coba monitor dan adopsi fitur dengan replay sesi. Trek halaman dokumentasi mana yang diubah. Dukungan otomatis dengan AI grounded dalam Anda API docs. mengelola pendapatan langganan dan ekspansi transaksi di CRM. Sambungkan platform penagihan anda (Stripe, WHMCS Gunakan agen daur hidup CRM untuk mendeteksi dan mencegah churn.

Prinsip dan Pekerja lepas

Agensi Otherland

Offabed analitik dan portal dukungan label-putih ke klien. Track leads di seluruh situs klien multiple dari satu admin. Gunakan pipa CRM untuk mengelola prospek dan proyek leader. Build connector custom untuk platform klien menggunakan Connector Builder. Hasilkan laporan SEO bermerek dengan Site Intelligence. Resell marketplace konektor sebagai layanan nilai-tambah.

Sarana dan Prasarana

Orang yang Menghibur

Deep WHMCS integration with 80+ AI actions for order lookup, service management, DNS, and provisioning. Auto-reply to common hosting questions using knowledge base articles. Track server status page engagement. Manage technical support tickets with AI triage. Use the billing cycle ladder for monthly through lifetime hosting plans.

Bisnis yang berat

Sodium Support

Deflect 40-70% of repetitive questions with AI chat grounded in your knowledge base. Route tickets to the right department with AI triage. Track team performance with resolution times, SLA compliance, and CSAT by agent. Use the writing AI for professional reply drafting. Monitor support trends with AI insights.

Tim Pemasaran dan SEO

Pemasaran

Situs Full Intelligence suite: merangkak, audit SEO teknis, analisis konten, pelacakan peringkat SERP, penelitian kata kunci, pemantauan backlink, dan jaringan lokal SEO. Manajemen Profil Bisnis Google Laporan berjadwal untuk klien Pengujian A/B dibangun ke dalam widget pelacakan Kampanye atribusi di seluruh saluran

Pendiri Solo dan tim kecil

Mulanya Diambil

Mulai dengan hanya melacak dan chatting, bebas untuk menambahkan. kemudian tambahkan tiket ketika anda mendapatkan volume dukungan. hidupkan CRM ketika anda mulai menjual. hubungkan platform saat anda mengadopsi mereka. OpsIQ skala dari satu orang melakukan segala sesuatu untuk 50 Operasi orang-person tim operasi dengan RBAC, departemen, dan pelacakan kinerja per-agen.

Perusahaan dan multi-brand

Perusahaan

Enterprise SSO with OIDC for centralized authentication. Multi-workspace isolation for separate brands or divisions. Per-workspace AI configuration with different providers and models. Custom connector development with marketplace distribution. Audit trails, GDPR compliance tools, and data retention policies.

Apa yang OpsIQ ganti

Google Analytics Tidak Mungkin untuk + Hotjar + Serasi

Situs web penuh analitik website dengan pelacakan pengunjung, replay sesi, ranking halaman, kecerdasan geo, corong niat, atribusi konversi, peristiwa, eksperimen A/B, dan pelacakan kesalahan JS, semua privasi-friendly, semua dalam satu platform.

Wife Intercom + Drift + Tidio

AI-powered pelanggan chat dengan pengetahuan grounding, dukungan AI multi-provider, auto-handoff untuk manusia, proactive chat order, sejarah percakapan, survei CSAT, dan pembuatan tiket dari chatting.

Zendesk + Freshdesk + Help Scout

Sistem tiket pribumi dengan departemen, prioritas, SLA, AI triage, auto-reply dengan penundaan yang dapat dikonfigurasi, email ingestion, ticket benam, karcis penggabungan, kopilot kotak masuk, dan Kembali ke kemampuan AI.

HubSpot + Papedrive + Salesforce

AI-pertama CRM dengan empat agen AI khusus (Steward, SDR, Retensi, Analis), Trust Dial otonomi kontrol, papan pipa, deal coaching, peramalan, urutan, manajemen lifecycle, dan konfigurasi CRM bahasa alami.

Ahrefs + SEMrush + Moz

Intelijen Situs web olektif dengan merangkak otomatis, audit teknis SEO, analisis konten, pencarian AI, pelacakan peringkat SERP, penelitian kata kunci, analisis backlink, jaringan SEO lokal, dan laporan berjadwal huruf putih.

Kepelihara + Make + middleware suai

Connector SDK with 25+ pre-built connectors, Connector Builder (no-code/AI-assisted/full-code), OAuth flow, webhook auto-registration, a large catalogue of connector action definitions that become executable only when the relevant connector is installed, enabled, configured and validated, SmartLookup, marketplace, and signed packages.

Manajer Profil Bisnis Google Business

Konektor GBP Fullwidance: manajemen ulasan, penerbitan pos, manajemen Q&A, unggah foto, sinkronisasi info bisnis, wawasan pelacakan, dan respon ulasan AI-powered, semua dari dalam OpsIQ_.

Alat templat e- mel yang terpisah

Templat email yang digiring oleh Regisper-pengubah elektronik dengan editor visual, pratinjau langsung, chip variabel, kontrol tata letak global, dan per-event kustomisasi untuk semua komunikasi otomatis.

Dashboard pengurusan pasukan

Kinerja tim terbina-dalam . Jam resolusi, beban kerja, kepatuhan SLA, CSAT oleh agen, tarif reakno terbuka kembali, jam sibuk, pelacakan kehadiran real-time, dan gangguan perdepartemen.

GDPR Alat-alat pengampuan

Penanganan asli DSAR _, penghapusan data di semua sistem, manajemen persetujuan, kebijakan retensi, dan jejak audit, dibangun ke dalam platform, tidak dibundel.

Edisi ke-2

Pasukan bayaran yang ditabuh

OpsIQ Operasi produk adalah sama; infrastruktur, pembaruan dan backup ditangani oleh operator hosting.OpsIQ Waktu berjalan ketimbang pemasaran atau rekening komersial.

Modul yang di-host sendiri

Pasang OpsIQ pada pelayan anda sendiri untuk kawalan penuh terhadap data, branding, kemaskini dan integrasi. Memerlukan PHP 8.4+, MySQL 5.7 atau MariaDB 10.3+, HTTPS, dan OpsIQ Sokong cron terpadu WHMCS integrasi sebagai modul addon. Data kedaulatan penuh.

Perintah pembacaan saranan

1
Cepat mulai

Keabsahan mengikuti panduan setup 30_-menit untuk mendapatkan pelacakan, chatting, dan AI dasar yang bekerja di situs web Anda.

2
Papan dashboard dan analitik

Lunjari cara membaca data pengunjung Anda, menyiapkan sesi replay, mengidentifikasi lead, dan memahami pola lalu lintas.

3
Situs Intelijen Situs

Kau harus lari dari SEO pertamamu, periksa kesehatan teknismu, dan atur pelacakan peringkat SERP untuk kata kunci targetmu.

4
Tiket dan dukungan

¡Nafida mendirikan departemen, mengatur auto-reply dengan AI, menghubungkan ingestion email, dan melatih AI Anda untuk menangani pertanyaan umum.

5
ORMA CRM

Mengatur kontak, membangun pipamu, mengatur agen AI, mengatur level Trust Dial, dan membiarkan AI coach kesepakatanmu.

6
Konektor dan alat pengembang

Takwidne Anda menghubungkan platform e-commerce/billing, membangun konektor langganan, mendirikan webhooks, dan terintegrasi melalui REST API.

💡
New to OpsIQ Mulai dengan panduan Quick Start di bawah ini. Anda dapat memiliki pelacakan dan AI chat yang berjalan di bawah 30 1 menit.
Mulailah dari sini.

Lunt cepat dalam 30 menit

Ikuti langkah ini untuk mendapatkan larian OpsIQ _. setiap langkah membangun pada langkah sebelumnya. pada akhirnya, anda akan memiliki pelacakan pengunjung, obrolan AI, dan dukungan tiket dasar.

Tetapkan
Cepat mulai daftar cekDaftar cek setup yang dipandu oleh pamret yang menunjukkan pasang widget, sambungan platform, pelatihan AI, undangan tim dan go-live, dengan bar kemajuan 60 _percent.MulailahsetupPasang OpsIQ wigetSELESAIUngkapkan sebuah platform (WHMCS, Shopify...)SELESAIKetapelilahi AI Anda pada konten AndaSELESAIJemput timmuPeriksa dan pergi langsungKemajuan setup belum selesai3 WOVE 5 · 60%1STEP 1Adonan Pasang widget2STEP 2Ungkap AI & kereta3STEP 3Jemput & pergi live
Jalur 30_-menit: pasang widget, sambungkan platform, latih AI anda, undang tim, kemudian pergi secara langsung.

Tetapan 30-menit

1
\"Awasi Aktifkan SIM-mu\"...

Masukkan kekunci lesen anda dalam OpsIQ admin. Pergi ke Tetapan, masukkan kunci lesen yang dibekalkan untuk pemasangan ini dan klik Aktifkan. Anda patut melihat lencana "Aktif" hijau.

2
Cari tahu identitas bisnismu.

Pergi ke Pengaturan dan isi nama bisnis, industri, zona waktu, mata uang default, dan jam dukungan. Informasi ini digunakan oleh AI ketika menjawab pertanyaan pelanggan dan dengan analitik untuk laporan-laporan yang bersifat zona waktu.

3
Pilih penyedia AI

Pergi ke Konfigurasi AI dan pilih penyedia anda. Opsyen: Claude (Anthropic), GPT-4 (OpenAI), Gemini (Google), atau Grok (xAI). Masukkan API kekunci jika menggunakan kekunci anda sendiri, atau gunakan AI Terurus jika ada pada rancangan anda. Klik "Uji sambungan" untuk mengesahkan.

4
Pasang widget pelacakan

Go to Connected Sites, copy the tracking snippet, and paste it before the closing </body> tag on your website. Visit your site in a private browser, then check the Live Feed in OpsIQ. You should see yourself as a visitor within 15 seconds.

5
Konnect platform Anda

Jika Anda menggunakan Shopify, WooCommerce, WHMCS, atau platform lain yang didukung, pergi ke Konektor, cari platform Anda, masukkan kelayakan, dan klik Sambungan Uji. Ini memberikan akses AI untuk memesan data, profil pelanggan, dan konteks dukungan.

6
Jemput timmu

Pergi ke Tim, klik Undangan, masukkan email dan peran mereka (Pemilik, Admin Penuh, atau Agen) Agen hanya dapat mengakses departemen yang Anda tugaskan kepada mereka.

Jalan tercepat yang mungkin dicapai (5 30 menit)

Step 1_: Pasang widget

Salin snippet dari Situs Tersambung dan tampal di situs web anda. Ini akan segera melacaknya.

Step 2_: Aktifkan AI

Ke Konfigurasi AI, pilih penyedia, masukkan kunci Anda dan simpan. Sembang AI kini aktif di website Anda.

Selesai

Kau sekarang punya pengunjung pelacakan dan obrolan AI. kau bisa menambahkan tiket, CRM, dan konektor nanti.

Hari 2_: Buat ia berguna

Pengetahuan tentang ilmu pengetahuan

Pergi ke Dasar Pengetahuan dan tambahkan 5-10 Artikel - artikel tentang pertanyaan Anda yang paling umum, AI menggunakan ini untuk menjawab pelanggan dengan akurat.

Departemen-departmen

Pergi ke Tiket dan cipta sekurang-kurangnya 2 jabatan (cth, "Jualan" dan "Support"). Tugaskan ahli pasukan kepada masing-masing.

Tulis saja surat pernyataan AI Anda

Pergi ke AI Training dan menulis sebuah customer AI prompt yang menggambarkan bisnis, nada, dan aturan eskalasi Anda.

analisa percakapan

Buka website Anda dalam peramban pribadi dan chatting dengan AI sebagai pelanggan. Periksa bahwa jawaban adalah akurat dan nada benar.

Minggu 1_: Bina operasi anda

E-mail Sambungan

Key_adia menyediakan kotak surat (Gmail, IMAP_, atau konektor penyedia) sehingga email pelanggan secara otomatis membuat tiket.

Mengatur auto-reply

Memungkinkan tiket secara otomatis untuk departemen yang aman. atur jeda 2_-menit jadi manusia bisa turun tangan dulu.

Analisis analisa fobia

Lihat jumlah pengunjung, tingkat pantulan, halaman atas, dan penjualan jika pelacakan terhubung.

Mulai CRM Anda

Open AI CRM and let OpsIQ import contacts from your connected platforms. Review the pipeline board.

Bulan 1Optimumkan

Tinjau sejarah AI

Periksa AI History mingguan Cari jawaban yang salah, pertanyaan yang terlewat, dan kesempatan untuk menambah pengetahuan.

Tambahkan aturan proaktif

¡Buat aturan: jika pengunjung berada di halaman pricing untuk 60+ detik, tampilkan pesan chat yang bertanya apakah mereka membutuhkan bantuan.

Bina penyambung

Jika Anda menggunakan platform yang tidak memiliki konektor bawaan, gunakan Builder Konektor untuk membuat satu.

Uaplah webhooks

Connect OpsIQ to your internal tools using outbound webhooks for ticket, chat, and sales events.

Boleh aku lewatkan AI dan hanya menggunakan pelacakan?+

Yes. The AI provider is optional. OpsIQ works as a pure analytics and ticketing platform without AI. You can enable AI later when you are ready.

Boleh aku lewatkan konektor dan tambahkan nanti?+

Yes. Connectors enrich the AI with platform-specific data, but OpsIQ works without them. Start with tracking and chat, then connect platforms when needed.

Bagaimana jika aku belum punya website?+

Kau masih bisa menggunakanOpsIQUntuk tiket,CRMDan kolaborasi tim, widget pelacakan adalah pilihan, tambahkan ketika website Anda siap.

Bagaimana aku tahu jika widget dipasang dengan benar?+

Kunjungi situs web anda di peramban pribadi/incognito. OpsIQ Anda harus melihat kunjungan Anda muncul dalam 15 Jika tidak, periksa: (1GANDA ) adalah snippet yang ditempel dengan benar, (2) adalah kunci situs yang benar, (3) adalah pengblokir iklan atau header CSP yang menghalangi skrip.

Mulailah dari sini.

Peta produk lengkap buatan Aerofix

OpsIQ Ini adalah admin operator, widget situs web, lapisan dukungan AI, sistem tiket/helpdesk, CRM penuh dengan empat agen AI. Sebuah Suite Intelijen Situs, platform konektor dengan pasar, dan permukaan pengembang Berikut adalah setiap komponen yang dikandungnya.

Operator admin

Dashboard, suapan langsung, log pengunjung, sesi, main semula sesi, halaman utama, geointelligence, funnel niat, log peristiwa, eksperimen A/B, penjejak ralat JS, jualan dan penukaran, leads, AI CRM (pusat perintah, kenalan, syarikat, perjanjian, papan paip, pelatih perjanjian. ramalan, prospek, susunan, siklus hidup, pengawal data, Bina CRM saya, konfigurasi CRM, kesihatan CRM, CRM API), tiket, kotak masuk sembang, peraturan proaktif, kaji selidik CSAT, draf e-mel, peti mel, konfigurasikan AI, latihan AI, sejarah AI, pandangan AI, pangkalan pengetahuan, sambungan, Pembina Penghubung, pasar, laman tersambung, pengurusan pasukan, prestasi pasukan, tetapan, diagnostik, dan lesen.

Permukaan tempat penyimpanan customer

Website situs web füffic tracking widget (analitis beacon + chat + tiket bed + pengetahuan dasar pencarian), client AI chat, portal penyerahan tiket, penanganan token identitas pengunjung, berkas upload, widget survei CSAT, dan pusat bantuan pelanggan-facing.

AIAIN-Pertama CRM

Pusat arahan, kenalan, syarikat, perjanjian, papan paip dengan seret-dan-letak, pelatih perjanjian AI (isyarat risiko, tindakan terbaik seterusnya, kemungkinan menang), ramalan pendapatan, ejen prospek (SDR), rentetan tindak balas automatik, pengurusan siklus hidup dan pemeliharaan, ejer steward data (dedup, memperkayakan, mengesahkan), Bina CRM saya (setup bahasa semulajadi), konfigurasi CRM, pemeriksaan kesihatan CRM, Trust Dial (Autopilot/Copilot/Manual setiap ejer), empat ejen khusus (Steward, SDR, Retention, Analyst), dan CRM API dengan webhooks.

Situs web vincial suite

Situs Automatid merangkak, teknis SEO audit (kecepatan, mobile, Core Web Vitals, SSL, alih-alih, data terstruktur), audit konten (hitungan kata, kemampuan baca, kepadatan kata kunci, struktur heading), pencarian semantik bertenaga AI, pelacakan peringkat SERP melintasi mesin, penelitian kata kunci dengan kesempatan mencetak, analisis backlink dan pemantauan, visualisasi jaringan SEO lokal, sinkronisasi Google Business Profile (reviews, posts, Q&A, foto, wawasan), laporan yang dijadwalkan (daily/weekly/monthly/bulanly), dan white-label PDF output badan-badan.

Otomasi dan otomasi

Customer AI chat (multi-provider: Claude, GPT-4o, Gemini, Grok), admin AI assistant, AI knowledge grounding, auto-handoff with configurable revert, per-workspace AI configuration, managed AI and BYOK modes, token budgets and cost controls, AI history audit trail, AI insights analysis, ticket AI triage, ticket auto-reply with delay, writing AI (separate prompt), and admin inbox copilot.

Penyambung dan integrasi

25 Konektor pra-built + pra-dibangun (Shopify, WooCommerce, BigCommerce, Magento2, PrestaShop, OpenCart, OsCommerce, WordPress, WHMCS, Zendesk, Stripe, Amazon SES, Postmark, Resend, SendGrid, Mailgun, Gmail, IMAP, Slack, Google Business Profile), Konektor Builder (tanpa-kode/AI-assisted/full-code), generik OAuth Flow dengan PKCE, marketplace konektor dengan distribusi berbayar, penyambung tandatangan dan verifikasi, SmartLookup fuzzy match, katalog besar definisi aksi HTTP yang ketersediaannya tergantung pada pemasangan koneksor, enablement, konfigurasi dan validasi, knowledge sync, dan resep alur kerja.

Platform pengembang untuk bandar

ESTAPI(Pembagi, acara, tiket, kontak, pengaturan, konektor), spesifikasi OpenAPI,API Manajemen kunci, outbound webhooks (async, signed, retried, SSRF-guarded, auto-disable), EventsAPI Lubnan untuk acara suai ingestion, widget SDKDengan resolusi identitas, pemicu buku masak, kontrak aksi, konektor SDK, pasar kemasan, server-side SDK (PHP, Node.js), WordPress plugin kinford, dan WHMCS module.

Seting dan operasi

Identiti perniagaan, konfigurasi AI per ruang kerja, tetapan penjejak, keselamatan (HSTS, Kebenaran-Politik, IP penghalang, perlindungan brute-force), RBAC (Pemilik/Admin Penuh/Agen), pengurusan pasukan dan jemputan, papan pemuka prestasi pasukan, penjejaki kehadiran admin, sistem templat emel (dipandu oleh rekod, editor visual, chip berubah), perancang kaji selidik, pengetahuan domain, konfigurasikan tiket terbenam, branding, dasar pemeliharaan data, pengurusan siklus bil (bulanan melalui hayat), normalisasi mata wang, import/eksport, diagnostik, automasi cron, dan zon bahaya.

Keamanan dan kepatuhan

Enterprise SSO (OIDC dengan verifikasi JWKS, penyediaan JIT), SAML konfigurasi, GDPR/DSAR Penanganan (export dan hapus di seluruh sistem), penghapus data per kontak, manajemen persetujuan, isolasi ruang kerja (strict quest-layer scoping), jejak audit, pelacakan log masuk gagal, IP Pemblokiran, outbound webhook penjaga SSRF, dan kebijakan retensi data.

Jembatan penyedia bandaral

Dia mengelola AI yang sudah ditunjang melalui OpsIQ Penyedia penyedia URL, Situs informasi intelijen panggilan, lisensi validasi, laporan kesehatan, PDF Penerapan, dan ekspor data, semua dialihkan melalui titik akhir penyedia yang telah dikonfigurasi, bukan vendor langsung API Panggilan dari servermu.

Setiap halaman admin bagi para anggota sistem

Papan Dash

Inisi

Pusat komando harian: spion pandang lalu lintas, hitungan pengunjung langsung, ringkasan penjualan, dukungan kedalaman antrian, peringatan aktivitas AI, dan jalan pintas aksi-cepat.

Makanan langsung vinf

Analisis

Aliran pengunjung waktu-nyata: tampilan halaman, obrolan dimulai, penyerahan formulir, dan sinyal niat memperbarui setiap beberapa detik dengan filter country, perangkat, dan referer.

Log lawatilabor

Analisis

Catatan kunjungan lengkap Complete Freaches: perangkat, peramban, OS, negara, kota, referer, param UTM, halaman pendaratan, identitas, dan sejarah halaman-view penuh.

Sesi

Analisis

Pandangan yang dikelompokkan oleh Journey: aliran halaman, waktu pada halaman, kedalaman gulungan, jalur konversi, dan halaman keluar untuk setiap sesi pengunjung.

Ulangan sesi

Analisis

Penputaran garis waktu peristiwa yang ditangkap: pergerakan tetikus, klik, gulungan, peralihan halaman, dan bentuk interaksi untuk diagnosis UX.

Halaman Top

Analisis

rangking kinerja Halaman ophonia: kunjungan, waktu pertunangan, tingkat pantulan, konversi, interaksi pendukung, dan arah tren.

intelijen Geofififier

Analisis

Laporan Geografis: negara/kota rusak dengan peta, distribusi perangkat, saham peramban, sumber lalu lintas, dan penetrasi pasar.

Saluran corong yang tidak nyaman

Analisis

Pelacakan niat perilaku fobia: menetapkan kunjungan, kembali frekuensi, browsing doc, mendukung interaksi, dan sinyal custom dengan probabilitas konversi.

Catatan Peristiwa Lenyap

Analisis

Sejarah peristiwa yang dapat dicari: tampilan halaman, acara suai, chat, pembelian, penyerahan formulir dengan metadata dan penyaringan penuh.

Eksperimen A/B

Analisis

Pengujian fregat dari fordford: membuat varian, mengalokasikan lalu lintas, mendefinisikan tujuan, mengukur signifikansi, dan mendeklarasikan pemenang, semua dari dalam OpsIQ_.

Galat JS

Analisis

Pengecekan galat Frontend: pesan, jejak tumpukan, peramban yang terpengaruh, frekuensi, halaman yang terkena dampak, dan pelacakan tren.

Jualan

Jualan

Lengkangan revenue: perintah, pembaruan, pengembalian dana, atribusi oleh sumber, kinerja kampanye, perbandingan periode, dan analisis tren.

Lead

Jualan

Manajemen lead form: mencetak, Atribusi sumber, status CRM, rincian kontak, sinyal perilaku, dan routing pipa.

AI CRM_

ORMA CRM

CRM Penuh: pusat komando, kontak, perusahaan, kesepakatan, papan pipa, pelatih, ramalan, prospek, urutan, daur hidup, pengurus data, dan kesehatan.

Tiket

Sodium Support

support inbox: departemen, prioritas, pelacakan SLA, triage AI, auto-reply, catatan internal, lampiran file, penggabungan, dan manajemen status.

Kotak masuk Chat

Sodium Support

Percakapan langsung: AI dan obrolan manusia, handoff, kolaborasi, sejarah percakapan, identitas pelanggan, dan koleksi CSAT.

Draf e-mel

Sodium Support

Manajemen email: surat masuk ke tiket, komposisi balasan AI-assisted, pemilihan template, dan konfigurasi kotak surat.

config AI iB

AIAI

Setup penyedia pengembang: pilih Claude/GPT-4o/Gemini/Grok, enter API Kunci dan mengaktifkan AI yang dikelola, model set, suhu, dan anggaran token per ruang kerja.

Latihan AI hirI

AIAI

Penulisan pengempan lemawan: customer-facing dan admin-fating prompts, eskalation rules, none guide, offbed topic, dan extreal configure.

Sejarah AI

AIAI

Audit percakapan techroaf: permintaan/pertanggungan penuh log, penggunaan token, biaya per percakapan, penyedia, versi model, dan hasil resolusi.

AI wawasan

AIAI

Analisis pola: pertanyaan umum, tingkat resolusi, frekuensi handoff, kepuasan oleh topik, dan pelatihan identifikasi kesenjangan.

Dasar pengetahuan ilmu pengetahuan

AIAI

Artikel pelatihan AI: artikel, entri FAQ, dokumen produk, pengetahuan konektor, dan entri gubahan.

Penyambung

Integrasi

Integrasi hub: penyambung terpasang, status kesehatan, inventaris aksi, manajemen kredensial, peramban marketplace, dan Builder Konektor.

Situs-situs berkonek

Tetapan-peraturan

Manajemen Situs zodanes: pelacakan snippet, kunci situs, konfigurasi widget, pengaturan domain, dan isolasi ruang kerja per-situs.

Kumpulan

Tetapan-peraturan

Manajemen Pengguna: mengundang anggota, menetapkan peran (Owner/Full Admin/Agent), mengatur akses departemen, dan mengelola izin.

Prestasi pasukan

Tetapan-peraturan

Ops metrik: resolusi kali, beban kerja, kepatuhan SLA, CSAT oleh agen, tarif buka kembali, jam sibuk, dan analisis tren.

Tetapan-peraturan

Tetapan-peraturan

Konfigurasi: identitas bisnis, penyiapan AI, pelacakan, keamanan, pencaplokan, retensi, template email, penagihan, impor/ekspor, diagnostik, dan zona bahaya.

Lisensi

Tetapan-peraturan

Manajemen Rencana technance: status lisensi, fitur rencana, metrik penggunaan, tanggal pembaruan, dan opsi upgrade/turunan.

Mulailah dari sini.

Panduan tentangboarding

¡Abjek onboarding mengubah instalasi baru menjadi OpsIQ ruang kerja yang bekerja dan dapat ditinggalkan dan dilanjutkan kembali tanpa kehilangan kemajuan.

Skrin produk
 TMPada papan penunjukan menunjukkan setiap area pengaturan, keadaan saat ini dan tindakan berikutnya untuk diselesaikan. TMRuang kerja ERJPROGRESS60%COMPLETED6EKSWidgetORANG KERJA HIDUPLisensiKogori mengesahkan lisensi produkSelesaipenyedia AI providerPilih penyedia dan kunci ujianSelesai_BuangIdentitas bisnis dan nadaSelesaiLaman sesawangSitus dan pasang situsFijibhutan1COMPLETE BASICSLisensi, merek, AI2CONNECT DATASitus dan penghubung Situs Ogos3VERIFY LAUNCHTim, email, cek
Pada papan penunjukan menunjukkan setiap area pengaturan, keadaan saat ini dan tindakan berikutnya untuk diselesaikan.

Urutan saran

  1. Lisensi: ¡Oudio memvalidasi lisensi dan mengkonfirmasi ruang kerja aktif.
  2. Penyedia AI: . AI dapat dilompati jika ruang kerja pada awalnya akan menggunakan analitik dan tiket saja.
  3. Identitas bisnis asli: ¡Callie, industri, deskripsi, pelanggan-kegagahan nada dan rincian merek yang digunakan oleh widget dan AI.
  4. Konektor: PUNYA memungkinkan setidaknya satu platform eksternal ketika OpsIQ membutuhkan perintah, pelanggan, tiket, email atau konteks platform lainnya.
  5. Situs dan widget: ¡Abca membuat situs/ruang kerja, menyalin kunci situs dan memverifikasi kunjungan pribadi-browser di Live Feed.
  6. Tim dan routing: \"Owandzaid admins/agen, ciptakan departemen, atur routing email dan konfirmasi preferensi pemberitahuan.
  7. Periksa langsung: Test chatting, tiket, connector sync, cron, outbound email, webhooks dan tajuk keamanan.

Perjalanan purway store selesai per ruang kerja. Mengembalikan ke Onboarding harus menampilkan langkah-langkah yang selesai daripada memaksa start ulang.

Mulailah dari sini.

Navigasi dan izin administrasi edisial

The OpsIQ sidebar is permission-aware. This map explains where each operational area lives and why a page may not be visible to every administrator.

Skrin produk
_Pemutar OpsIQ iThe sidebar groups OpsIQ by work area; individual links appear only when the current role can use them._Pemutar OpsIQ iRuang kerja ERJGROUPS8MUKAHak Akses berbasisSEARCHONWISORANG KERJA HIDUPSodium SupportTiket, email, CSAT, pengetahuanBukaORMA CRMKenalan, pipa, penawaran, prospekBukaOtomimasiKebekerjaan, aturan, tujuanBukaKeprivasi Keamanan &AWAL, audit, persetujuan, blokAdmin1PICK A GROUPPadankan dengan sisi bar2CHECK ROLEDilarang berarti terlarang3USE PAGE HELPBuka bagian yang cocok
The sidebar groups OpsIQ by work area; individual links appear only when the current role can use them.
Sodium Support

Tiket, platform email tim, CSAT, Pusat Bantuan dan chatbot mengalir.

ORMA CRM

Ke permukaan penjualan harian: CRM Home, Command Center, kontak, pipa, ramalan, daur hidup, prospekting, segmen, papan pemimpin, persetujuan kesepakatan, pengurus data, alat pertumbuhan dan aliran aktivitas.

Otomimasi

\"Ujian-Event-driven workflows, aturan daur hidup dan tujuan konversi.

Pemasaran

Outreach, pesan proaktif, pengumuman, Promotion Studio, Survey Studio, kampanye push dan tur pemanduan.

Analisis

Permukaan laporan pertama kali — Analytics Hub, wawasan AI, penjualan, pelanggan, lead, corong, tes A/B, replay sesi, papan dashboard langganan dan laporan terjadwal — dengan pengunjung mentah, sesi, halaman, geografi dan catatan acara dalam sub-bagian Data Raw.

Halaman Standalone

Situs Intelijen, Tim Prestasi dan Feedback duduk di luar kelompok sebagai entri langsung.

Integrasi

Penyambung, aksi dan pemicu, kotak surat, draft, pengaturan email, titik akhir masuk, bidik web outbound dan kunci API.

Keprivasi Keamanan &

Security overview, privacy and compliance, cookie consent, audit activity, failed logins, blocked IPs and JavaScript errors.

Tetapan-peraturan

Dasar-dasar Ruang Kerja (umum, tim, situs, bahasa), kemudian sub-bagian yang dapat dikoperlasi: AI Brain (instruksi, konfigurasi, evaluasi, sejarah), CRM Setup (pembina, bidang langganan, lead scoring, kesehatan), Data & Kesehatan (diagnostik, ekspor) dan Getting Started (onboarding, bantuan).

Halaman words a peran tidak dapat dibuka tersembunyi dari batang sisi. Halaman rencana saat ini tidak termasuk tetap terlihat dengan upgrade - Dan buka layar upgrade in-app.

Rute langsung dari LUC masih diperiksa sisi-server. Sembunyi sambungan bilah sisi bukanlah batas keamanan: setiap tindakan yang dilindungi harus melewati izin dan pemeriksaan ruang kerja.

Analisis

hub Analitik

hub Analitik membawa dukungan, obrolan, AI, pengunjung dan agen melaporkan ke dalam satu ruang kerja yang disaring tanggal dengan hasil yang dapat diekspor.

Skrin produk
hub AnalitikÆdichalytics Hub menunjukkan rentang tanggal, kartu metrik dan tab untuk Support, Chat, AI, Pengunjung dan kinerja Agen.hub AnalitikRuang kerja ERJKECIL TICKET184AI RESOLVE63%KANTOR CSAT4.7ORANG KERJA HIDUPSodium SupportDiciptakan, ditutup, tertunda, SLAZabSembangHasil buatan manusia dan waktu menanganiZabAIAIKeyakinan, umpan balik, penggunaan tokenZabAgenVolume, kecepatan dan kepuasanZab1CHOOSE DATESPraset atau kebiasaan2CHANGE TABSodium Dukungan kepada Agen3EXPORTMuaturun CSV
Ædichalytics Hub menunjukkan rentang tanggal, kartu metrik dan tab untuk Support, Chat, AI, Pengunjung dan kinerja Agen.

Filter dan kontrol

  • Umukan praset atau kebiasaan Dari/ke Kisaran ikigami, lalu segarkan untuk membangun kembali setiap kartu dan bagan untuk periode yang sama.
  • Eksport CSV Keuai ekspor pandangan analitis aktif daripada cuplikan layar.
  • Penggambaran ruang kerja technical adalah otomatis; mengubah situs mengubah data yang mendasari.

Apa yang setiap langkah tab

  • Sodium Support: tiket dicipta/ditutup/bergantung, jawapan pertama, resolusi, resolusinya-pertama-hubungan, SLA, dan keutamaan/jabatan/pecah status.
  • ./ Aku tidak tahu. Sesi-sesi olesen dimulai, resolusi AI, eskalasi, ditinggalkan, menangani waktu, pesan per sesi, dan CSAT AI/human/all.
  • AI: Kepercayaan rata-rata , tingkat kepercayaan rendah, akurasi triage, umpan balik, defleksi pengetahuan, penggunaan token/cache, dan item yang membutuhkan ulasan.
  • Pengunjung: Lalu lintas lalu lintas dan tren pertunangan untuk periode terpilih.
  • Agen: Kinerja per-agen beban kerja, kecepatan, penutupan dan langkah kepuasan.

¡Anaux Analytics Hub untuk tinjauan tim silang; gunakan pengunjung yang didedikasikan, Tiket, CSAT, AI History and Team Performance pages ketika Anda membutuhkan penyelidikan tingkat rekor.

Analisis

 TM

Dashboard adalah pusat komando harianmu menunjukkan lalu lintas, penjualan, beban dukungan, aktivitas AI dan indikator konversi dalam satu pandangan buka setiap pagi untuk memahami apa yang terjadi semalam dan apa yang perlu diperhatikan hari ini

Papan Dash
Di papan sengkang selayang pandangThe Overview screen led by an OpsIQ Intelligence AI panel (with Daily brief, Smart alerts, Forecast), KPI widget tiles and a seven-day traffic widget, plus a Reset layout control.SEDRuang kerja ERJOPSIQINTELLIGENCETakwidz Pilih sebuah analisis dan OpsIQ _tulis ituRingkasan harianWaspada pintar BijakirantinaSusunatur semula madya:Hari ini, para Viking2,481+12%PELAYAN$8.2k+5%OPEN TICKET143 SLATraffic · last 7 days1AI-FIRSTOpsIQ Panel Intelijen Intelligence2WIDGETSUbin KPI yang kau atur3ANDA YOUSRekap ulang sesuai sekapanpun
layar Real Overview: panel OpsIQ Intelligence atas (ambil analisis dan tulisnya) di atas widget KPI yang anda atur sendiri.

Kartu papan dash dijelaskan

Pengunjung langsung di Amerika

Bilangan orang di laman web anda sekarang. Ini dikemas kini setiap 15 saat (boleh dikonfigur). Pelawat adalah "aktif" jika mereka memuatkan halaman dalam ambang aktif (piawai: ) 90 saat).

Pengunjung yang unik

How many different people visited your website in the selected date range. OpsIQ identifies visitors by a combination of browser fingerprint, cookies, and (if available) authenticated identity.

New vs kembali

pengunjung baru melihat situsmu untuk pertama kalinya. kamu tidak akan menarik minat.

Kadar lantunan terlantar

The percentage of visitors who left after viewing only one page. A bounce rate above 70% on landing pages usually means the page is not meeting visitor expectations, wrong content, slow load, or poor mobile experience.

Masa purata pada halaman

Berapa lama pengunjung menghabiskan waktu untuk setiap halaman rata-rata. 10 Detik) di halaman konten menyiratkan bahwa isi tidak terlibat.

Ancaman terhadap ancaman diblok

IPAlamat yang OpsIQ mengidentifikasi sebagai kemungkinan berbahaya berdasarkan ancaman, serangan kekerasan brutal, atau blok manual. Klik untuk melihat blok yang diblok IPs Daftar tokoh.

Jual hari ini / minggu ini / bulan ini

Revenue berbayar dari sumber penjualan yang terhubung (revenue)Shopify, WooCommerce, StripeJika penjualan menunjukkan nol, periksa bahwa konektor platform Anda terhubung dan disinkronisasi.

Bagan Trend

Grafik garis yang menampilkan jumlah pengunjung di atas rentang tanggal terpilih. Cari pola: lonjakan lalu lintas (kampaign, tekan replace), dips (minggu, liburan), dan tren berkelanjutan.

Sumber-sumber top falgon

Dari mana pengunjung Anda berasal: langsung, Google, media sosial, kampanye email, situs referensi. Gunakan ini untuk memahami saluran pemasaran mana yang bekerja.

Pelayar Atas Melayari

Krom, Safari, Firefox, Edge, dan lain-lain. Jika sebuah peramban memiliki kecepatan pantulan yang luar biasa tinggi, Anda mungkin memiliki tingkat pantul yang luar biasanya tinggi,CSSOR atau ORANGJavaScriptMasalah keserasian keserasian.

Peta panas Jam

Sebuah grid menunjukkan aktivitas pengunjung pada jam satu hari dan hari dalam seminggu. gunakan ini untuk memutuskan kapan jadwal shift dukungan, kapan harus mengirim pengumuman, dan kapan menjalankan promosi.

Pengunjung terbaru yang tidak terkenal

Beberapa pengunjung terakhir dengan negara, halaman, perangkat, dan sumber.

Nama pengguna untuk penapis jangkauan tanggal

Klik pemetik tanggal di kanan atas Dashboard. 7 Hari-hari terakhir 30 Hari-hari, bulan ini, bulan lalu, bulan terakhir, kisaran langganan. Semua kartu dashboard dan bagan update ketika Anda mengubah jangkauan. Jangkauan tanggal berada di zona waktu yang telah dikonfigurasi (ditetapkan dalam Pengaturan).

Contoh - contoh yang diupayakan

Penyelidikan spike tingkat lanun

Skenario:
Your bounce rate jumped from 45% to 78% this week. What happened?
Apa yang harus dilakukan:

Check: (1) Did a specific landing page change? Go to Top Pages and sort by bounce rate. (2) Did a campaign send traffic to the wrong page? Check Top Sources for new referrers. (3) Did the site break on mobile? Check browser breakdown for mobile bounce rate. (4) Is it bot traffic? Check the Threats counter and visitor details for suspicious patterns.

Ázik pengunjung di dashboard

Skenario:
The dashboard shows 0 live visitors even though your website is getting traffic.
Apa yang harus dilakukan:

Periksa: (1) Apakah widget pelacakan dipasang? Lihat kode sumber situs web Anda dan cari OpsIQ script. (2) Apakah kunci situs benar? Bandingkan kunci data-situs dalam skrip dengan kunci di Situs Tersambung. (3) Apakah CDN atau cache menyajikan halaman basi tanpa skrip? Bersihkan cache CDN Anda. (4) Apakah sebuah bloker iklan atau header CSP menghalangi skrip? Periksa konsol peramban untuk permintaan yang diblokir.

Pembacaan peta panas berjam - jam

Skenario:
Your heatmap shows heavy activity between 10am-2pm on weekdays but nothing on weekends.
Apa yang harus dilakukan:

This is a B2B traffic pattern. Your visitors are working professionals browsing during business hours. Implications: (1) Schedule support staff for weekday business hours. (2) Send email campaigns Tuesday-Thursday morning. (3) Weekend maintenance windows are safe. (4) Consider offering live chat only during peak hours.

Penampakan lalu lintas dari sumber yang tidak diketahui

Skenario:
You see a sudden spike of 500 visitors in one hour from an unknown referrer.
Apa yang harus dilakukan:

Go to Visitors and filter by the time window. Check: (1) Are they real visitors or bots? Look at session duration, pages viewed, and browser diversity. (2) If real, what page are they landing on? (3) Check the referrer URL. Someone might have linked to you from Reddit, Hacker News, or a popular blog. (4) If it is bot traffic, check Threats and consider blocking the IP range.

Mengapa pengunjung saya menghitung berbeda dari Google Analytics_?+

OpsIQ Ini menggunakan browser sidik jari dan kue, sementara GA menggunakan model cookie yang berbeda. penapisan Bot, tingkat blocker ad, dan urutan pemuatan skrip juga dapat menyebabkan perbedaan. 10-20% Varians normal.

Boleh aku pasang dashboard di alat lain?+

The dashboard is designed for the OpsIQ admin. For external reporting, use the REST API to pull analytics data and display it in your own dashboard or BI tool.

Apa maksud "ancaman"?+

Itu dihitung IP Alamat yang OpsIQ Telah ditandai atau diblokir berdasarkan skor ancaman, log masuk yang gagal berulang, atau blok manual. Klik counter untuk melihat detail dan mengelola blok.

Analisis

Log lawatilabor

Log Pengunjung menunjukkan setiap kunjungan ke situs webmu yang terlacak. setiap baris adalah satu halaman dari satu pengunjung. gunakan untuk menyelidiki perilaku pengunjung individu, menemukan lalu lintas kampanye, dan diagnose masalah pelacakan.

Log lawatilabor
Log lawatilaborSebuah meja pengunjung dengan filter bar (date, cari IP/email/kota, sumber, perangkat) dan kolom untuk IP/email, lokasi, sumber, perangkat dan waktu, dengan tanda ancaman baris.Log lawatilaboryoursite.com7 Hari-hariCari IP, email, kota...Sumber ▾Peranti ▾DivaisIP/ EMAILKELARGAANSUMBERPERANTIKETIKA KITA[email protected]· AS · New YorkgoogleDesktop2m41.62.10.4InggrisdirectMudah Alih6m[email protected]· Berlinutm:adsMudah Alihiran. org203.0.113.9NG · LagosreferralDesktopthreat1–25 WOVE 3,402Sesi→1FILTERTarikh · cari · sumber · peranti2REAL COLUMNSParameter IP_/email · lokasi · ancaman3DRILL INBuka sesi penuh
Log Pengunjung yang sebenarnya: filter berdasarkan tanggal, pencarian dan perangkat, kemudian membaca setiap kunjungan oleh IP/email, lokasi, sumber, perangkat dan waktu, ancaman ditandai dengan merah.

Apa yang ditunjukkan oleh setiap baris

IP Alamat

Para pengunjung IP Alamatnya, anonim jika...IP Anonymisasi anonim diaktifkan dalam Pengaturan. Klik untuk melihat semua kunjungan dari ini IP.

Negara dan kota

Dikesan dariIP alamat menggunakan data GeoIP. Memerlukan pangkalan data MaxMind GeoLite2 atau Cloudflare pengepala geo. Papar "Tidak diketahui" jika GeoIP tidak dikonfigur.

Halaman URL_Foter

Halaman yang dimuat pengunjung. Klik untuk melihat penuh URLPanjang URLs GORK terpangkas dalam tampilan tabel.

Referrer fana

Di mana pengunjung datang dari sebelum mendarat di laman anda. "Langsung" bermakna tiada rujukan (tanda buku, URLs yang ditaip, beberapa pautan aplikasi).

Pelayar dan Perangkat

Tipe perangkat pengunjung (desktop, mobile, tablet) dan peramban (Chrero, Safari, Firefox, dll.). Diurai dari header User-Agent.

Tanggal dan waktu

Ketika halaman dimuat, di zona waktu yang telah dikonfigurasi.

Identitas customer

Jika pengunjung diidentifikasi (via identity token atau log masuk), nama atau email mereka muncul. Jika tidak, menunjukkan sebagai anonim.

Tapisan

kisaran tanggal

Penyaring ke periode waktu tertentu. Baku: 7 hari terakhir.

Cari

Pencarian oleh: IP alamat, halaman URL, refererer, country, atau email pelanggan.

Sumber

Filter oleh sumber lalu lintas: Langsung, Organik, Sosial, Referral, Dibayar, Email.

Perangkat

Filter oleh Desktop, Mobile, atau Tablet.

Hanya New_New

Hanya menampilkan pengunjung pertama kali yang belum pernah terlihat sebelumnya.

Contoh - contoh yang diupayakan

Cari pengunjung dari kampanye tertentu

Skenario:
You launched a Google Ads campaign with UTM parameter utm_source=google&utm_medium=cpc&utm_campaign=summer-sale. How do you find those visitors?
Apa yang harus dilakukan:

Dalam Log Pengunjung, gunakan medan Carian dan taip "summer-sale". Pencarian memeriksa rujukan URLs dan halaman URLs, jadi parameter UTM akan sepadan. Anda juga boleh penapis oleh Sumber = Dibayar untuk menyempitkan lagi.

Cari pelanggan yang melaporkan masalah

Skenario:
A customer emailed saying "your checkout page was broken yesterday around 3pm." How do you find their session?
Apa yang harus dilakukan:

Cari alamat email mereka di Log Pengunjung. Jika mereka log masuk, identitas mereka akan muncul. Tetapkan jangkauan tanggal ke kemarin. cari kunjungan untuk memeriksa halaman sekitar jam 3 sore. Klik sesi mereka untuk melihat aliran halaman penuh dan setiap galat JavaScript _.

Mengesankan adanya pengotak atau penggorek gelung

Skenario:
You notice an IP address has 500+ visits in one hour, all to the same page.
Apa yang harus dilakukan:

Ini mungkin robot, scroper, atau skrip rusak.IP Periksa: (1) Apakah semua kunjungan ke halaman yang sama? (2Apa agen penggunanya adalah robot yang dikenal?3) Apakah durasi sesi selalu 0 Jika sebagai robot, pergi ke keamanan dan blok IP.

Log lawati v Sesi vs Live feed

Log lawatilabor

Satu baris per halaman tampilan terbaik untuk: menyelidiki halaman tertentu, menemukan lalu lintas dari sumber tertentu, mendiagnosis masalah pelacakan.

Sesi

Mengkumpulkan paparan halaman ke dalam perjalanan. Satu baris bagi setiap sesi lawatan. Terbaik untuk: memahami aliran pengguna, mengukur tempoh sesi, mengenal pasti laluan penukaran.

Makanan langsung vinf

Kegiatan yang dilakukan secara real-time menunjukkan pengunjung saat ini di situs anda terbaik untuk: kampanye pemantauan sedang berlangsung, melihat pengunjung yang sangat tinggi menyaksikan kesempatan dukungan.

Mengapa aku melihat kunjunganku sendiri di log?+

OpsIQ Untuk mengecualikan lalu lintasmu sendiri, tambahkan Anda IPAlamat untuk yang dikecualikan IPs Daftar dalam Seting > Pelacakan.

Kenapa pengunjung menunjukkan negara "Tidak diketahui"?+

Pencarian GeoIP juga diperlukan Cloudflare header geo poligi (automatik jika menggunakan Cloudflare) atau berkas basis data MaxMind GeoLite2. Periksa Seting > GeoIP Path untuk memastikan file database ada dan dapat dibaca.

Berapa lama data pengunjung disimpan?+

Data Pengunjung disimpan untuk masa retensi yang dikonfigurasi dalam Pengaturan (lalai: 90 _hari). Setelah itu, catatan lama secara otomatis dibersihkan oleh pekerjaan retensi cron.

Analisis

Sesi

Sesi audiensi kelompok multi halaman dilihat dari orang yang sama ke dalam satu perjalanan.

Sesi
SesiTabel Log Sesi dengan IP, negara, perangkat, sumber, durasi dan kolom halaman, dan baris ancaman yang ditandai.Sesiyoursite.comNegara Bagian BAHASA (NG)Log Sesi osisIP Fiji (S)KEBUDAYAAN COUNTAPERANTISUMBERPENDURASIANMUKA41.62.10.4UKDesktopgoogle12s_ 3m6102.89.6.2NGMudah Alihdirect05s_Foham 1m388.21.4.9KANTORDesktoputm:ads48s_Memoyang11203.0.113.9ASMudah AlihreferralNama fine0m 42s_21SESSION LOGPerjalanan kelompok2COLUMNSPerangkat · · sumber3THREATSesi risiko yang ditandai
Catatan Sesi nyata: setiap pengunjung perjalanan sebagai baris (IP, negara, perangkat, sumber, durasi dan halaman) dengan sesi berisiko ditandai merah.

Bagaimana sesi berfungsi

Sesi bermula apabila pengunjung memuatkan halaman pertama mereka. Ia berterusan ketika mereka menavigasi ke lebih banyak halaman. Sesi berakhir apabila pengunjung tidak aktif untuk tempoh tamat masa sesi (piawai: 30 minit) atau tutup pelayar mereka. Orang yang sama kembali selepas tamat masa mencipta sesi baru.

Apa yang ditunjukkan setiap sesi

Halaman pertama

Halaman pendaratan, tempat pengunjung memasuki situs Anda.

Halaman terakhir

Halaman keluar, tempat pengunjung pergi. pengunjung mungkin membandingkan Anda dengan pesaing.

Jumlah Halaman

Berapa banyak halaman yang dilihat pengunjung dalam sesi ini. halaman lebih banyak biasanya berarti keterlibatan lebih, tetapi juga dapat berarti pengunjung hilang.

Tempohan

Total waktu dari beban halaman pertama hingga aktivitas terakhir Sesi dengan 0 _detik adalah pantulan (view halaman tunggal, tidak ada interaksi lebih lanjut).

Sumber

Sumber lalu lintas untuk sesi ini (Direkt, Google, sosial, referal, dll).

Negara

Detected country from the visitor's IP address.

Terikam Bounce

Apakah pengunjung pergi setelah melihat hanya satu halaman. Sesi terlantun memiliki indikator merah.

Penukaran

Apakah pengunjung menyelesaikan acara konversi yang dilacak (pembelian, pendaftaran, penyerahan formulir) selama sesi ini.

Tapisan

Cari

Pencarian oleh: IP, email, halaman URL, atau refererer dalam sesi.

Jenis

Filter oleh pengunjung baru (persi pertama yang pernah ada) atau pengunjung yang kembali.

Sumber

Filter oleh sumber lalu lintas.

Negara

Tapis oleh negara untuk melihat sesi dari wilayah tertentu.

Ancaman/Terancam

Filter untuk menunjukkan hanya sesi bounced atau sesi ditandai sebagai ancaman.

Contoh - contoh yang diupayakan

Profil seorang pelanggan bernilai tinggi

Skenario:
A customer just made a large purchase. You want to understand their journey before buying.
Apa yang harus dilakukan:

Search for their email in Sessions. Look at all their sessions: (1) How many times did they visit before buying? (2) Which pages did they view? (3) Did they use chat or open a ticket? (4) What was the total time from first visit to purchase? This tells you the typical buying journey for high-value customers.

Mengesan log masuk dari lokasi baru

Skenario:
A customer usually logs in from Nigeria but you see a session from Russia.
Apa yang harus dilakukan:

Cari email pelanggan di Sesi Bandingkan dengan negara sesi baru-baru ini jika sebuah sesi tiba-tiba muncul dari negara yang tidak biasa, itu bisa menjadi perjalanan sah atau akun yang terganggu.1) Apakah ada usaha login yang gagal sebelum yang sukses? (2Apa yang terjadi? IP Jika kau curiga, kau akan berubah dalam sesi yang sama?

Apa bedanya sesi dan pengunjung?+

Pengunjung adalah orang (atau peramban). Sesi adalah salah satu kunjungan dari orang tersebut. Pengunjung yang sama dapat memiliki banyak sesi seiring waktu Sesi berakhir setelah periode waktu habis.

Bagaimana jika OpsIQ _mengidentifikasi pengunjung kembali?+

OpsIQ Jika pengunjung membersihkan kue dan tidak log masuk, mereka akan muncul sebagai pengunjung baru.

Analisis

Makanan langsung vinf

Ini memperbarui secara otomatis setiap detik 15 _(dapat dikonfigurasi). Gunakan selama kampanye, peluncuran produk, dan periode dukungan yang sibuk untuk melihat apa yang sedang terjadi sekarang.

Makanan langsung vinf
Makanan langsung vinfSebuah aliran aktivitas real-time menunjukkan siaran langsung online-visitor dan feed tindakan pengunjung baru-baru ini oleh negara.Makanan langsung vinfyoursite.com37pengunjung online sekarangAktivitas langsungSekarangAS · pelihat /pricing_2s· UK · memulai sebuah chat5sDE · ditambahkan ke gerobak9s· CA · pendaftaran selesai1RIGHT NOWLihat siapa yang ada di lokasi2AUTO-REFRESHSemua orang-orang 15s_3AKT¡Jump ke dalam sebuah obrolan langsung
Lihat siapa yang ada di situsmu detik ini dan apa yang mereka lakukan, menyegarkan secara otomatis setiap detik 15 _.

Bagaimana cara kerjanya

jajak pendapat dari Live Feed server Anda pada interval refresh yang telah dikonfigurasi. Setiap baris menampilkan pengunjung yang sedang berada di situs Anda: halaman, negara, perangkat, sumber, durasi sesi, dan jumlah halaman. Green menyoroti menunjukkan aktivitas baru sejak refresh terakhir. Klik setiap baris pengunjung untuk melihat rincian sesi lengkap mereka.

Tetapan-peraturan

Selang waktu penyegaran ulangan

Seberapa sering siaran langsung diupdate. 15 detik. nilai rendah (5-10s) memberikan pembaruan yang lebih cepat tetapi gunakan lebih banyak sumber server. Nilai yang lebih tinggi (30-60s) lebih mudah pada server tetapi kurang real-time.

Ambang aktif [3]

How long a visitor is considered "active" after their last page load. Default: 90 seconds. If a visitor loads a page and then reads it for 2 minutes without clicking, they disappear from the live feed after the threshold.

Tombol Jeda

Klik Me_rhentikan refresh-otomatis. Berguna ketika anda ingin membaca rincian tanpa daftar pemutakhiran. Klik Sambung semula untuk memulai semula.

Contoh - contoh yang diupayakan

Cari petunjuk panas selama kampanye

Skenario:
You are running a product launch. A visitor just viewed your homepage, then features, then pricing, and is now on the checkout page.
Apa yang harus dilakukan:

This is high-intent behavior. In the Live Feed: (1) Click the visitor to see their session. (2) If they start a chat, the AI will have their full journey context. (3) If they leave without buying, they become a lead in the Leads page. (4) Consider creating a proactive rule to show a chat message when visitors reach checkout.

Terlalu banyak pengunjung dari IP yang sama

Skenario:
You see 20 visitors from the same IP address, all on different pages.
Apa yang harus dilakukan:

This could be: (1) An office with shared internet. Check if the visits look like real humans (different pages, reasonable session durations). (2) A bot or scraper. Check if sessions are very short (0-1 seconds) or hitting pages systematically. (3) A load test. If you are running automated tests, exclude the IP from tracking.

Mengapa siaran langsung menunjukkan 0 Para pengunjung di situsku mengalami kemacetan?+

Check: (1) Is the widget script installed on your site? (2) Is the site key correct? (3) Has the active threshold passed? (4) Are visitors using aggressive ad blockers that block the tracking script?

Bisa kusaring siaran langsung oleh negara atau perangkat?+

Untuk tampilan yang disaring, gunakan halaman Log atau Sesi Pengunjung dengan pilihan filter mereka. feed langsung secara sengaja sederhana untuk pemantauan waktu nyata.

Analisis

Halaman Top

Halaman Top Toel menunjukkan halaman mana di website Anda yang paling banyak mendapatkan lalu lintas. Halaman ini diaransemen oleh kunjungan, pertunangan, konversi, dan kegiatan dukungan. Gunakan untuk mengidentifikasi konten terbaik Anda, cari halaman yang kurang lengkap, dan menemukan halaman yang menghasilkan pertanyaan dukungan.

Halaman Top
Halaman TopBAHASA peringkat Daftar halaman yang paling banyak dikunjungi dengan palang kunjungan dan terhitung.Halaman Topyoursite.comHalaman yang paling banyak dikunjungi/pricing3,402/2,910/docs1,740/blog/seo-guide980/signup6401RANKEDHalaman yang paling banyak dikunjungi2SIGNALSKunjungan lawati & konversi3FINDHalaman yang dikendarai tiket
Halaman Anda digolongkan oleh lalu lintas dan keterlibatan, sehingga Anda dapat melihat isi dan halaman atas yang menghasilkan dukungan.

Apa yang ditunjukkan setiap halaman

Halaman URL_Foter

The full URL path. Similar pages (e.g., product variants) are grouped if grouping is enabled.

Pandangan

Jumlah kali halaman ini dimuatkan dalam julat tarikh yang dipilih.

Pengunjung yang unik

Meigueore berapa banyak orang yang berbeda memandang halaman ini (orang yang melihat halaman yang sama dua kali dihitung sebagai 1 unik).

Kadar lantunan terlantar

Percentage of pengunjung yang meninggalkan situs Anda setelah hanya melihat halaman ini.

Masa purata

Secara rata-rata, berapa lama pengunjung menghabiskan waktu untuk halaman ini.

[Chatting dimulai]

Berapa banyak percakapan obrolan dimulai dari halaman ini. Percakapan tinggi dimulai pada halaman produk berarti deskripsi produk mungkin tidak jelas.

Tiket Sogion Support

Berapa banyak tiket pendukung yang dibuat oleh pengunjung yang berada di halaman ini. Tangku tiket tinggi = potensi UX atau masalah konten.

Contoh - contoh yang diupayakan

Cari halaman yang mendukung pertanyaan drive

Skenario:
Your support team keeps getting questions about shipping. Which page is failing?
Apa yang harus dilakukan:

Isih Halaman Utama mengikut "Tiket Sokongan" atau "Sembang mula" menurun. Lihat untuk produk atau halaman penghantaran dengan kiraan tinggi. Laman dengan kebanyakan soalan sokongan mungkin mempunyai maklumat tidak jelas. Baiki kandungan laman dan awasi sama ada soalan dukungan berkurang.

Cari halaman dengan tingkat keluar tinggi

Skenario:
You want to know where people leave your site most often.
Apa yang harus dilakukan:

Isih mengikut kadar lencong menurun. Abaikan halaman yang secara semula jadi adalah titik keluar (halaman terima kasih, laman pengesahan). Fokus pada halaman yang sepatutnya membuat pengunjung terlibat: halaman produk, harga, ciri-ciri. Ini memerlukan panggilan-ke-tindakan atau kandungan lebih jelas.

Kenapa halaman menunjukkan tampilan 0 meskipun aku tahu itu akan macet?+

Periksa: (1) Apakah widget pelacakan dipasang pada halaman tertentu tersebut? Aplikasi halaman-tunggal mungkin tidak menembakkan tampilan halaman pada perubahan rute. (2) Apakah halaman dikecualikan dalam pengaturan pelacakan? (3) Apakah CDN melayani versi cache tanpa skrip pelacakan?

Analisis

intelijen Geofififier

Geo Intelligence menunjukkan dari mana pengunjung Anda berasal oleh negara, kota, perangkat, dan sumber. gunakan untuk memahami pasar geografis Anda, memutuskan dukungan bahasa, merencanakan pemasaran regional, dan mendeteksi pola lalu lintas yang mencurigakan.

GeoNota
intelijen GeofififierPeta lokasi pengunjung di samping ranking bar per-negaraan.intelijen Geofififieryoursite.comPengunjung di lokasiASUKKANTORCAAVNG1MARKETSNegara, kota, perangkat2PLANBahasa & Kawasan3WATCHLalu lintas aneh yang aneh
Dari mana asal para pengunjung Anda (dari negara, kota dan perangkat) untuk mengukur pasar dan melihat lalu lintas yang tidak biasa.

Apa yang kau lihat

Negara-negara top di Eropa

Negara-negara teratas yang di peringkat oleh jumlah pengunjung Klik negara untuk mengebor ke data tingkat kota.

Donat negeri makan

Kecewaan visual lalu lintas oleh negara.

Meja negara penuh

LU setiap negara dengan pengunjung dalam periode terpilih, menunjukkan jumlah pengunjung, hitungan sesi, tingkat pantulan, dan tingkat konversi.

Kota Bor-down

Klik sebuah negara untuk melihat kota mana di dalam negeri itu yang paling banyak dikunjungi.

Cara kerja deteksi GeoIP

OpsIQ Lokasi pengunjung dapat dideteksi dengan dua cara: (1) Cloudflare Jika situs Anda berada di belakang Cloudflare, deteksi negara adalah otomatis dan akurat. (2) Database MaxMind GeoLite2. Unduh basis data bebas dan konfigurasikan jalur dalam Pengaturan. pendeteksian tingkat kota memerlukan database GeoLites2-City, bukan hanya basis data Country.

Kemacan VPN dan proksi

Pengunjung yang menggunakan VPN akan muncul dari lokasi server VPN, bukan lokasi mereka sebenarnya. OpsIQ Tak dapat dan jangan mencoba memotong sambungan VPN. Jika Anda melihat pola negara yang luar biasa, pertimbangkanlah bahwa 10-20% Para pengunjung mungkin menggunakan VPN.

Contoh - contoh yang diupayakan

Lalu lintas negara tak terduga yang tidak diduga

Skenario:
You run a US-only business but 30% of traffic is from India.
Apa yang harus dilakukan:

Check: (1) Are these real visitors? Look at session duration and pages viewed. Very short sessions with high bounce = likely bots. (2) Are they finding you through Google? Check the referrer. (3) Could they be potential customers in a new market? If the traffic is genuine and engaged, consider adding India-specific pricing or content.

Memutuskan pada dukungan bahasa

Skenario:
You want to know if you should translate your site into Spanish.
Apa yang harus dilakukan:

Lihat pada halaman Geo Intelligence. Jika negara-negara berbahasa Sepanyol (Spanyol, Mexico, Colombia, Argentina, dll) bersama mewakili lebih daripada 10% trafik anda dengan kadar lencong rendah, penterjemahan adalah bernilai dipertimbangkan. Juga semak: adakah pengunjung dari negara ini menukarkan pada kadar yang sama kepada pasaran utama anda?

Perencanaan pergeseran dukungan regional

Skenario:
You need to decide support team hours for different time zones.
Apa yang harus dilakukan:

Use the hourly heatmap (on Dashboard) combined with Geo Intelligence. If 40% of your traffic is from Europe and 35% from the US, you need coverage for both time zones. The heatmap shows exactly when each region is most active.

Negara ini dengan kunjungan tapi tidak ada perintah

Skenario:
Germany shows 500 visitors this month but zero sales.
Apa yang harus dilakukan:

Investigate: (1) Are they bouncing on the pricing page? Maybe your pricing is not competitive for that market. (2) Do you ship to Germany? Check if your shipping page mentions Germany. (3) Is your checkout available in EUR? Currency mismatch causes abandoned checkouts. (4) Are these visitors from a single source that might be low-intent traffic?

Kenapa pengunjung menunjukkan negara "Tidak diketahui"?+

GeoIP is not configured. Either set up Cloudflare (which adds geo headers automatically) or download the MaxMind GeoLite2 database and set the file path in Settings > GeoIP Path.

Boleh aku menghalangi lalu lintas dari negara tertentu?+

OpsIQ Tidak boleh memblokir oleh negara. Gunakan server web atau Cloudflare Aturan firewall untuk memblokir negara.OpsIQ Kataks berfokus pada visibilitas, bukan kontrol akses di tingkat jaringan.

Analisis

Saluran corong yang tidak nyaman

Saluran Intent ini mengklasifikasikan sesi pengunjung berdasarkan apa yang tampaknya mereka coba lakukan: melihat, meneliti, membandingkan, membeli, mendapatkan dukungan, atau meninggalkan. Gunakan untuk memahami keseimbangan niat di situs Anda dan mengidentifikasi di mana pengunjung drop off.

Saluran corong yang tidak nyaman
Saluran corong yang tidak nyaman¡A corong dari Layar ke Penelitian untuk Dibandingkan dengan Beli dengan penghitungan, ditambah dukungan dan meninggalkan chip.Saluran corong yang tidak nyamanyoursite.comLayari · 8,200_Penelitian · 4,100_Bandingkan dengan · 1,650_Belian · 520_Sodium Support 6%Membiarkan 11%1CLASSIFYApa yang pengunjung inginkan2STAGESLayari untuk membeli3IXCarilah tempat itu
Sesi morfide diklasifikasikan oleh niat (browse, riset, bandingkan, membeli) sehingga Anda dapat melihat persis di mana orang-orang drop off.

Kategori yang tidak sesuai

Keramban

Para pengunjung yang datang dengan santai melihat-lihat. sesi singkat, beberapa halaman, tidak ada tujuan tertentu yang terdeteksi.

Riset

Pengunjung yang membaca produk/fitur halaman, dokumen, atau konten blog. Lama di halaman, banyak halaman isi.

Perbandingan

Para pengunjung yang berkunjung ke tempat yang lebih mahal, membandingkan rencana, atau meja - meja fitur.

Membeli

Pengunjung di checkout, gerobak, atau halaman pendaftaran.

Sodium Support-seeking

Para pengunjung di halaman bantuan, halaman kontak, atau mulai mengobrol.

Bouncing

Pengunjung yang pergi setelah satu halaman.

Bagaimana membaca corong

Interpreting your funnel

Skenario:
1,000 visitors viewed Pricing. 270 opened chat. 92 started checkout. 64 paid. 18 opened support tickets.
Apa yang harus dilakukan:

Keberanian halaman cukup kuat untuk menciptakan niat. 27% Luacher dari pricing pengunjung melakukan dengan chat sebelum membeli. Tiket dukungan setelah checkout mungkin menunjukkan pengaktifan atau kebingungan pembayaran. Tindakan: (1Pastikan jawaban obrolan yang baik untuk menjawab pertanyaan - pertanyaan yang menarik. (2Selidiki 18 Tiket dukungan pasca pemeriksaan untuk isu-isu umum.

penapis waktu

Use the date range filter to compare intent patterns across periods. For example, compare Black Friday week to a normal week. You should see a spike in "Buying" intent and possibly "Support-seeking" if your promotions created confusion.

Bagaimana kabarnya OpsIQ Keistimewaan?+

OpsIQ Ketampakan di halaman URLs, perilaku sesi, dan pola waktu. Menggariskan halaman dengan maksud pembanding sinyal. Checkout pages signal buy entry. Help/contact pages asignal support intent. Klasifikasi berbasis heuristik, bukan AI-driven.

Bisa kusuaikan kategori niatnya?+

Tidak saat ini kategorinya dibangun berdasarkan pola perilaku web yang umum. klasifikasi maksud custom adalah pada roadmap.

Analisis

Saluran, retensi dan jalur

Bina perjalanan adat dari halaman atau langkah acara, mengukur retensi kohort dan menemukan jalan yang paling sering ditempuh pengunjung melalui sebuah situs.

Skrin produk
SaluranSebuah corong langganan menampilkan setiap halaman/event step, pengunjung yang tersisa dan persentase konversi.SaluranRuang kerja ERJSTEPS4CONVERSION28.4%WINDOW72hORANG KERJA HIDUPDitinjau dari segi kelayakan1,420 pengunjung100%Boulder dipilih780 pengunjung54.9%Pemeriksaan di mulai530 pengunjung37.3%Pesanan selesai403 pengunjung28.4%1DEFINEPilih 2–8 Langkah-langkah2UkuranFuuchi Set jendela konversi3AYAH IMPROVECarilah tetes terbesar
Sebuah corong langganan menampilkan setiap halaman/event step, pengunjung yang tersisa dan persentase konversi.

Saluran

Buat corong dengan nama 2 Ke 8 page atau event steps. Set jendela konversi dalam jam; pengunjung hanya menghitung ketika langkah yang diurut terjadi di dalam jendela tersebut. Gunakan penurunan antara langkah untuk memilih di mana untuk memeriksa replay, error, kecepatan halaman atau pesan.

Pembalasan Plak

Kelompok retensi pengunjung masuk ke cohorts mingguan dan menunjukkan berapa banyak pengembalian. Pilih a 6, 8 OR atau ORANG 12 Agar definisi kohor tetap stabil ketika membandingkan rilis atau kampanye.

Path-path

Paths mencantumkan urutan halaman yang paling umum. Pilih panjang jalur dari 2 Ke 5 Halaman untuk menjaga hasil dapat dibaca. Gunakannya untuk menemukan jalan memutar yang tak terduga, jalan keluar umum dan konten yang berulang kali mendahului konversi.

corong-corong langganan adalah definisi analitis, bukan otomasi. Untuk bereaksi pada langkah yang telah selesai, membuat tujuan konversi, segmen, pemicu atau alur kerja.

Analisis

Ulangan sesi

Main Sesi membolehkan anda menonton garis masa apa yang pengunjung lakukan di laman web anda: unsur mana mereka klik, bagaimana mereka skrol, di mana mereka terapung, dan apa yang mereka taip (dengan medan sensitif disembunyikan). Gunakannya untuk mendiagnosis masalah UX, mengesahkan laporan pepijat, dan memahami kebingungan pelanggan.

Ulangan sesi
Ulangan sesiPemain replay menampilkan port tampilan halaman dengan kursor, panel info sesi, dan scrubber garis waktu.Ulangan sesiyoursite.comBeli sekarangKESIHATANDurasi Eksterior 3m 12s_14 klik· Desktop ASKrom Krom 124_1WATCHKlik untuk melihat, menggulung, mengetik2MASKEDBidang sensitif tersembunyi3DIAGNOSELaporan kutu verifikasi tanpa ijin
Memutar ulang persis apa yang dilakukan pengunjung: klik, gulungan, mengetik (sensitif medan bertopeng), pada scrubber garis waktu.

Cari sesi yang tepat

Dari halaman Sesi, cari sesi dengan masalah yang dilaporkan, halaman tinggi dihitung tanpa konversi, atau sesi dari pelanggan yang mengajukan tiket dukungan. Klik ikon replay untuk membuka tampilan garis waktu.

Apa yang diperlihatkan oleh tayangan ulang

Garis Waktu

Sebuah bar horizontal yang menunjukkan peristiwa dari waktu ke waktu.

Navigasi Halaman

Setiap halaman muncul sebagai segmen pada garis waktu.

Klik

Peristiwa klik ifford ditunjukkan sebagai titik pada garis waktu dan sebagai sorotan pada rekonstruksi halaman.

Mengumpul

Kedalaman scroll bitnah dilacak sehingga Anda dapat melihat seberapa jauh ke bawah pengunjung membaca.

Interaksi Bentukan orang-orangan

Fokus lapangan dan peristiwa pengetikan field direkam. Masukan teks dalam kata sandi dan medan sensitif bertopeng secara default.

Kerahsiaan dan topeng

Sesi audiensi replay topeng medan bentuk sensitif secara baku. Medan kata sandi, input kartu kredit, dan bidang ditandai dengan data-opsiq_-mask tidak pernah direkam. Anda dapat mengatur aturan masker tambahan dalam Seting > Tracking. Jika kebijakan kepatuhan anda memerlukannya, anda dapat menonaktifkan pemutaran ulang sepenuhnya.

Diagnosis pemeriksaan yang rusak

Skenario:
A customer says "I tried to buy but the button did nothing."
Apa yang harus dilakukan:

Cari sesi mereka di halaman Sessions (pencarian melalui email). Buka replay. Perhatikan segmen halaman checkout. cari: (1Apakah mereka menekan tombol kanan?2Apakah sebuah JavaScript Terjadi kesalahan? (Periksa halaman JS Errors untuk waktu itu.) (3) Apakah halaman memuat ulang atau menampilkan pesan kesalahan? (4- Apakah lapangan yang diperlukan kosong?

Luftore Berapa banyak penyimpanan yang digunakan untuk sesi replay?+

Data replay yang diputar ulang tumbuh dengan volume lalu lintas. Gunakan pengaturan retensi untuk secara otomatis membersihkan data replay lama. Untuk situs-situs bertraffik tinggi, pertimbangkan periode retensi replay lebih pendek (misalnya, 30 _hari) untuk mengelola penyimpanan.

Pengunjung di Indianapolis bisa tidak bermain ulang?+

Jika "Hak Jangan Jejak" diaktifkan dalam Tetapan, pengunjung dengan pengepala DNT tidak direkod. Anda juga boleh mengecualikan halaman tertentu daripada dimainkan semula dalam tetapan penjejak.

Analisis

Catatan Peristiwa Lenyap

Catatan Acara menunjukkan setiap acara yang telah tercatat OpsIQ _: tampilan halaman, klik, chatting dimulai, pembuatan tiket, penjualan, dan acara gubahan. Gunakan untuk debug integrasi, verifikasi pengiriman webhook, dan memahami urutan tindakan.

Catatan Peristiwa Lenyap
Catatan Peristiwa LenyapLog acara kronologis dengan lencana tipe kode warna: pageview, chatting, sale, webhook dan custom.Catatan Peristiwa Lenyapyoursite.compageview· /pricing_12:04:01chat.startWidget · PELAJARAN dibuka12:04:09jualan$49.00 · ordo #104212:05:22webhookpayment.succeeded12:05:23customdemo_booked12:06:101EVERYTHINGSetiap kejadian tercatat2DEBUGKiriman webhook tentusah secara pasti3ORDERLihat urutan yang tepat
A timeline of everything OpsIQ records (pageviews, chats, sales, webhooks, custom events) for debugging and audit.

Kejadian dalaman (otomatis)

pageview

Kemuatan gambar setiap kali memuat halaman yang dilacak. Termasuk URL, judul, referer, dan timestamp.

chat.started

¡Ogofredi dipecat ketika pengunjung membuka widget chatting dan mengirim pesan pertama mereka.

chat.message

ugrica dipecat untuk setiap pesan dalam percakapan chatting (baik pengunjung maupun AI/agen).

ticket.created

Kebakaran gifold ketika tiket dukungan baru dibuat (dari chat, email, widget, atau admin).

ticket.replied

Dipecat ketika balasan ditambahkan ke tiket.

order.completed

Áinford dipecat ketika pembelian selesai melalui platform yang terhubung.

form.submitted

Ffreid Fired ketika formulir yang dilacak diserahkan (jika pelacakan bentuk diaktifkan).

identify

Kekebakaran ketika pengunjung diidentifikasi melalui tanda pengenal.

Keamanan. login_failed

Xerlin Fired ketika percobaan log masuk gagal.

Acara suai

Anda dapat mengirim acara-acara gubahan dari situs web atau server ke OpsIQ_. Acara langganan berguna untuk melacak tindakan khusus untuk bisnis anda: klik tombol, penggunaan fitur, drama video, unduhan, dll.

JavaScript Acara · kuntom dari peramban
// Send a custom event from the browser
window.OpsIQ = window.OpsIQ || [];
window.OpsIQ.push(["track", "plan_selected", {
  plan: "pro",
  billing: "annual",
  value: 99
}]);
PHP · · rekam aktivitas kontak dari server Anda
// Record a server-side activity for a contact (PHP)
$ch = curl_init("https://your-opsiq-domain.com/api/v1.php");
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        "Authorization: Bearer opq_your_key",
        "Content-Type: application/json",
    ],
    CURLOPT_POSTFIELDS => json_encode([
        "action" => "crm.activities.record",
        "site_key" => "site_abc123",
        "email" => "[email protected]",
        "event" => "subscription.upgraded",
        "value" => 50,
        "currency" => "USD",
    ]),
]);
$response = curl_exec($ch);
curl_close($ch);

Acara penyaringan

Jenis peristiwa dalam bahasa Yunani

Tapis dengan nama acara tertentu: pageview, chat. started, ticket. created, dll.

kisaran tanggal

Xerance menunjukkan peristiwa dari periode waktu tertentu.

Cari

Cari data peristiwa berdasarkan kata kunci (URL, email, nilai properti acara).

Berapa lama acara berlangsung?+

Acara-acara mengikuti kebijakan retensi yang diatur dalam Penetapan. Hal baku: 90 _hari. Upacara nilai tinggi (pembelian, peristiwa keamanan) dapat dikonfigurasi dengan retensi lebih lama.

Bisa aku gunakan peristiwa dalam eksperimen A/B?+

Ketika membuat percobaan, Anda memilih sebuah acara konversi. Setiap acara bawaan atau kebiasaan dapat digunakan sebagai tujuan konversi.

Analisis

Eksperimen A/B

Eksperimen ifexis membiarkan Anda menguji dua versi dari sebuah halaman atau fitur dan mengukur mana yang tampil lebih baik. OpsIQ track kesan, konversi, dan signifikansi statistik.

Eksperimen A/B
Eksperimen A/BDua kartu varians oledon membandingkan tingkat konversi, dengan lencana pemenang dan signifikansi pada varian terkemuka.Eksperimen A/Byoursite.comRANVANIA A4.2%konversi · 1,020 _viewsVarian BPEMAIN6.8%konversi · 1,005 _views+62% angkat · 96% signifikan1ESTDua varian head-to-head2UkuranPerubahan & signifikansi bahasa3DIDECIDEMemetik seorang pemenang
Anda harus menjalankan dua varian, menonton konversi dan statistik signifikansi, dan menyatakan pemenang.

Eksperimen bagaimana cara kerja eksperimen

1
\"Membuat eksperimen\"

Kekhalifahan memberikan nama, mendefinisikan metrik utama (konversi peristiwa), dan mengatur varian (control and test).

2
Run it

OpsIQ Jangan ubah eksperimen saat berjalan.

3
Baca hasilnya

Setelah data yang cukup dikumpulkan, periksa tingkat kepercayaan diri.95% keyakinanmu berarti kau bisa 95% Memastikan perbedaannya nyata, bukan kebetulan.

Eksperimen fan

DAFTAR

Kau masih bisa mengedit varian dan metrik.

Kemudi Dijalankan

Secara aktif menugaskan pengunjung ke varian. Jangan sunting saat berjalan.

Selesai

Hasil adalah final.

Arsip

Hasil telah dinilai dan eksperimen tidak lagi diperlukan dalam senarai aktif.

Praktek terbaik

Ditakrifkan metrik anda sebelum peluncuran

Memutuskan apa yang Anda mengukur sebelum memulai Memilih metrik setelah melihat hasil menunjukkan bias.

Kecualikan lalu lintas internal

Dan juga alamat-alamat_ IP dari tim anda ke daftar eksklusi sehingga kunjungan staf tidak memencet hasil.

Kau sudah cukup lama berlari

Jangan hentikan percobaan setelah pengunjung 100 _.

Tes 1 perubahan sekaligus

Jika Anda mengubah judul utama dan warna tombol, Anda tidak akan tahu perubahan mana yang menyebabkan peningkatan.

Rekod keputusan anda

Setelah percobaan berakhir, perhatikan varian mana yang menang dan mengapa Anda memilih untuk menerapkannya.

Berapa banyak pengunjung yang saya butuhkan untuk percobaan valid?+

Ini tergantung pada tingkat konversi dasar dan ukuran efek yang ingin anda kesani. Sebagai aturan ibu jari: setidaknya 500 Pengunjung origin per varian untuk a 20% Untuk efek yang lebih kecil, kau butuh ribuan.

Bisa aku melakukan beberapa eksperimen sekaligus?+

Jika dua percobaan mempengaruhi halaman yang sama, hasilnya mungkin berinteraksi.

Analisis

JavaScripterrors

JavaScript Kesalahan codef mengumpulkan kesalahan sisi klien dari pengunjung situs web anda. Sebuah tombol rusak, sebuah kegagalan API Panggilan BAHANA, atau sumber yang hilang muncul di sini. gunakan untuk menemukan dan memperbaiki bug yang mempengaruhi pelanggan nyata.

Galat JS
JavaScripterrorsDaftar kesalahan yang ditangkap di front-end dengan titik keparahan, berkas sumber, peramban dan kejadian.JavaScripterrorsyoursite.comKesalahan terbaruTypeError: tidak dapat membaca x dari undefinedcheckout. js:42 · Krom×214404 Dimuat /assets/app.cssIndeks · Safari×88Ucaught (dalam janji) NetworkErrorapi.js:17· Firefox×51Peringatan deprekasi: acara bongkar muatvendor. js · Edge×331CAPTUREKesalahan sisi-ke Klien2IMPACTPelungsur & Kiraan Monokin3IXSerangga nyata yang aneh
Pengunjung yang sebenarnya menghantam permukaan kode rusak di sini (pesan, sumber, peramban dan seberapa sering) sehingga Anda dapat memperbaiki apa yang penting.

Apa yang ditunjukkan oleh setiap kesalahan

Pesan kesalahan

Teks ralat JavaScript (cth, "TypeError: Tidak dapat baca ciri-ciri tak ditakrif").

Halaman URL_Foter

Di halaman mana kesalahan terjadi.

Pelayar dan perangkat

Pelayar dan jenis perangkat yang melihat kesalahannya. Beberapa kesalahan adalah spesifik peramban.

Jejak Tumpukan

Lokasi kode dimana kesalahan terjadi. Klik untuk memperluas jejak stack penuh.

Pertama kali dilihat

Saat kesalahan ini muncul pertama kali.

Terakhir terlihat

Saat kesalahan ini terjadi baru-baru ini.

Amerika/Oppu

berkali-kali kesalahan ini telah dicatat.

Sesi yang dipengaruhi oleh orang lain

Lubris berapa banyak sesi pengunjung yang berbeda mengalami kesalahan ini.

Kesalahan peprioritasan

Tidak semua JavaScript Kesalahan - kesalahan yang perlu segera diperhatikan. Diprioritaskan oleh: (1Kesalahan pada halaman kritis (checkout, signup, login), (2kesalahan dengan jumlah sesi tinggi, (3) kesalahan yang muncul baru-baru ini (kemungkinan regresi dari perubahan kode), (4Kesalahan pada kode Anda sendiri (bukan skrip pihak ketiga).

Memperbaiki tombol pemeriksaan yang rusak

Skenario:
The JS Errors page shows "TypeError: Cannot read properties of undefined (reading submit)" on /checkout, affecting 45 sessions this week.
Apa yang harus dilakukan:

Ini berarti 45 Pelanggan sejati tidak bisa menyelesaikan pemeriksaan.1) Buka halaman dalam kombinasi peramban/perangkat yang sama. (2) Konsol peramban terbuka dan mereproduksi kesalahan. (3Periksa jejak stack untuk menemukan garis kode yang tepat.4Perbaiki bug, sebarkan, dan pantau jumlah kesalahan akan nol.

Apakah ada kesalahan tangkapan OpsIQ dari skrip pihak ketiga?+

Ya, OpsIQ Tangkapan semua JavaScript Kesalahan pada halaman, termasuk kesalahan dari skrip analitik, widget chat, dan skrip iklan. Tapis oleh URL Di jejak tumpukan untuk fokus pada kodemu sendiri.

Bagaimana aku bisa mengecualikan kesalahan yang tak berbahaya?+

Anda tidak dapat menekan galat spesifik dalam OpsIQ, tetapi Anda dapat menyaring daftar demi halaman URL Pesan galat atau ralat. Baiki atau abaikan kesalahan dari ekstensi peramban (mereka sering menunjukkan sebagai kesalahan dari sumber yang tidak diketahui).

Jualan

Penjualan dan konversi

Sales tracking connects your store or billing platform to OpsIQ so you can see revenue alongside visitor behavior. Every purchase is attributed to a visitor journey so you know which pages, campaigns, and channels drive revenue.

Jualan
JualanLayar penjualan: total pendapatan dengan kontrol jangka waktu All-time, pencarian, dan tabel Pembelian Terkini (tanggal, pelanggan, platform, jumlah, sumber).Jualanyoursite.comPELAYAN$42,180+18%Sepanjang masa ▾E-mail pencarian , IP, ID Order...Pembelian Terkini BebelianTARIKHFOBUS TENGAHPLATIKSUMSUMBERKehajar Jun 3_[email protected]Shopify$49googleKehajar Jun 3_[email protected]WooCommerce$129directKehajar Jun 2_[email protected]Stripe$480iklan1PELAYANKetentraman dan pembaruan2RECENT PURCHASESTanggal · pelanggan · jumlah3ATTRIBUTEDKe sumber lalu lintas
¡Layar Sales yang asli, pendapatan naik ke atas, kemudian Pembelian Terkini (date, pelanggan, platform, jumlah), masing-masing disetarakan dengan sumber lalu lintasnya.

Papan dashboard bersoda

Penjualan hari ini

Setelah perintah selesai hari ini, kita akan mendapatkan kembali setiap acara pesanan baru dari platform yang terhubung.

Minggu ini / bulan ini / total

Rekonsultan senilai 1 dibagi dalam periode.

Bagan Trend

Grafik garis graph menunjukkan pendapatan harian melebihi kisaran tanggal yang dipilih. Cari lonjakan (promosi, kampanye) dan dip (issue, musiman).

Sumber penukar Top Font

Sumber lalu lintas mana yang membawa kepada pembelian paling banyak. Pelanggan "Langsung" sering tanda buku laman anda. Pengguna "Google" menjumpai anda melalui carian.

pembelian terbaru

Perintah terbaru dengan email pelanggan, jumlah, mata uang, dan barang yang dibeli.

Panduan penyiapan platform Poofical

Shopify

Pergi ke Penyambung >Shopify Buat aplikasi tersendiri di dalam Anda Shopify Admin sistem (Tetapan > Apps dan saluran penjualan > Mengembangkan aplikasi). Hibah lingkup: baca_orders, read_customers, reread_products. Salin Admin API Token akses masuk OpsIQ, masukkan domain toko Anda (misalnya, your-store.myshopify.com) dan token akses. Klik Sambungan Uji. Jika berhasil, aktifkan sinkronisasi webhook untuk pemberitahuan urutan waktu nyata.

WooCommerce

Pergi ke Penyambung >WooCommerce Dalam dirimu. WordPress \"Amin-admin, pergi ke\"WooCommerce> Seting > Lanjutan > REST API Membuat kunci dengan izin Read/Write. OpsIQ Masukkan situsmu. URL Kunci konsumen, dan rahasia konsumen.

Commerce

Pergi ke Connectors > BigCommerce. Dalam admin BigComerce Anda, pergi ke Pengaturan Lanjutan >API Buat akun V2/V3 API Akun dengan read skop untuk Orders, Pelanggan, dan Produk.API Masukkan mereka ke dalam OpsIQ Tes dan tes.

Ke 2_

Pergi ke Konektor > Magento. Dalam admin Magento anda, pergi ke Sistem > Integrasi. Buat integrasi baru dengan API Akses sumber ke Sales, Pelanggan, dan Catalog. Aktifkan integrasi dan salin token akses. Masukkan ke dalam OpsIQ Di mana markas Magento-mu? URL.

PrestaShop

Pergi ke Connectors > PrestaShop. Dalam admin PrestaSpop anda, pergi ke Advanced Parameter > Webservice. Aktifkan web service dan buat kunci baru. Berikan akses ke perintah, pelanggan, dan produk. Salin kuncinya dan masukkan ke dalam OpsIQ Kelicikan dengan toko Anda URL.

OpenCart

Buat sambungan ke connectors > OpenCart. Hasilkan API Bukti kelayakan dari panel admin OpenCart anda. Masukkan API URL Nama pengguna, dan kunci masuk OpsIQ Konektornya menggunakan REST OpenCart.API Ogos untuk pesanan dan data pelanggan.

Perancis

Pergi ke Konektor > osCommerce. Atur akses basis data atau API Bukti kelayakan seperti yang didokumentasikan dalam pengaturan penyambung. OsCommerce integrasi biasanya membutuhkan akses database langsung atau gubahan API module.

Stripe

Pergi ke Penghubung > Jalur. Salin batas garismu API Kunci dari Stripe Dashboard (Pembangun >API Kuncinya perlu membaca akses ke pelanggan, biaya, faktur, dan Langganan. Masukkan OpsIQ Atur titik akhir webhook untuk acara real-time.

Kebiasaan / platform lain

Gunakan REST API Kirim perintah.completed events with customer email, jumlah, mata uang, dan item.API Bagian untuk format muatan.

Kesepahaman penjualanmu itu corong

Sumber penukar Top Font

Shows which channels bring paying customers. If Google brings 1000 visitors and 50 sales, that is a 5% conversion rate. If email brings 200 visitors and 30 sales, that is 15%. Email is more effective per visitor.

Pengubahsaizan

Mereka mengurangi total pendapatan bersihmu jika tarif pengembalian uang tinggi dari sumber tertentu lalu lintas mungkin kualitasnya rendah.

Penanganan Mata Uang

OpsIQ Bisnis multi-kursor melihat pendapatan dalam setiap mata uang. pelaporan normal menggunakan nilai tukar yang dikonfigurasi.

Contoh - contoh yang diupayakan

100 pengunjung, penjualan nol

Skenario:
Your pricing page gets 100 visitors per day but zero conversions.
Apa yang harus dilakukan:

Investigate: (1) Use Session Replay on pricing page visitors. Watch how they interact with the pricing table. (2) Check Top Pages for the pricing page bounce rate and time-on-page. (3) Check Chat conversations from pricing page visitors. What questions do they ask? (4) Compare your pricing page to competitors. (5) Try an A/B experiment with different pricing layouts.

Atribusi untuk kampanye pemasaran

Skenario:
You sent an email campaign with UTM tags. How do you measure its revenue impact?
Apa yang harus dilakukan:

Go to Sales and filter by source. Search for the campaign UTM parameter. You will see: (1) How many visitors came from the email. (2) How many converted to sales. (3) Total revenue attributed to the campaign. (4) Compare to the same period before the campaign.

Mengapa Sales menunjukkan nol meskipun toko saya memiliki perintah?+

Periksa: (1Apakah konektor platform terhubung dan sehat?2) Apakah sinkronisasi webhook diaktifkan? Jika menggunakan polling, apakah pekerjaan cron berjalan? (3Apakah konektor memiliki hak API Skop? Shopify Kau perlu read_order.

Bagaimana kabarnya OpsIQ Penjualan untuk seorang pengunjung?+

When an order comes in via the connector, OpsIQ matches the customer email to a known visitor. If the visitor was tracked before the purchase, the sale is attributed to their visitor journey, including the traffic source, landing page, and session history.

Bisa kutambahkan penjualan secara manual?+

Anda dapat mengirim acara penjualan melalui REST API Format peristiwa didokumentasikan dalam Peristiwa API Bagian BAHASA.

Jualan

Lead

Luad adalah pengunjung atau pelanggan yang menunjukkan niat membeli atau mendukung.OpsIQSecara otomatis, dia mendeteksi petunjuk berdasarkan perilaku: pricing kunjungan halaman, kunjungan kembali, interaksi chatting, pemeriksaan dimulai, dan keterlibatan tinggi. Gunakan halaman Leads untuk memprioritaskan tindak lanjut dan memberi makan AndaCRMSaluran pipa.

Lead
LeadLayar The Leads: tabel yang dapat dicari dengan IP/email, lokasi, perangkat, sumber dan waktu-di-situs kolom, dan sumber atas dan negara.Leadyoursite.comCari IP, kota, negara...Sumber top google · Negeri Top: ASIP/ EMAILKELARGAANPERANTISUMBERWAKTU41.62.10.4InggrisMudah Alihgoogle12s_ 4m[email protected]· AS · New YorkDesktopdirect02s_Memoyang[email protected]· BerlinMudah Alihutm:ads40s_203.0.113.9· TorontoDesktopgoogle28s_ 3m1DETECTEDPengunjung yang sangat tinggi2TOPNegara3ENRICHEDIP, lokasi, perangkat, waktu
layar Leads nyata, pengunjung tinggi-intent sebagai meja yang dapat dicari (IP/email, lokasi, perangkat, sumber, waktu di situs) dengan sumber dan negara teratas.

Apa yang membuat memimpin

Kunjungan halaman yang istimewa

Pengunjung yang melihat harga atau halaman rencana Anda secara aktif mempertimbangkan pembelian.

Kunjungan kembali

Pengunjung yang kembali beberapa kali terlibat tapi belum dikonversi.

Interaksi Sembang

Pengunjung yang memulai chatting aktif mencari bantuan, baik pra pembelian maupun pasca pembelian.

Mulailah pemeriksaan

Pengunjung yang mencapai halaman pos tetapi tidak menyelesaikan pembelian.

Formulir penyerahan

Pengunjung yang mengajukan formulir kontak, permintaan demo, atau formulir pendaftaran.

Pertunangan halaman tinggi untuk wanita

Pengunjung yang melihat banyak halaman dengan durasi sesi panjang sangat meneliti.

Panel detail yang dituntun olehnya

Klik sebarang petunjuk untuk melihat profil penuh mereka:

Identitas

Nama, email, perusahaan jika diketahui. IP Lokasi dan lokasi.

Sesi

Sesi kesemua dari lead ini dengan aliran halaman, durasi, dan sumber.

Halaman dilihat

Setiap halaman yang mereka kunjungi, diperintahkan oleh resensi.

Sumber

Bagaimana mereka menemukanmu: organik, dibayar, sosial, referensi, langsung.

Skor Lead

AAOV0-100 Skor ketaksonan berdasarkan intensitas perilaku, rekensi, dan niat halaman.

Status CRM

Apakah timah ini telah ditambahkan ke CRM sebagai kontak atau kesepakatan.

Jualan typ

AI-generated suggestion on what to do next (e.g., "Visited pricing 3 times · consider proactive outreach").

Lencana timbal bernilai tinggi

Lumpuh dengan skor di atas 80 Ini adalah prospek terpanas Anda, memprioritaskan mereka untuk outreach, proactive chatting, atau CRM pipeline entry.

Contoh - contoh yang diupayakan

Bekerja dengan seorang pemimpin yang seksi

Skenario:
A lead viewed your pricing page 3 times in 2 days, started a chat asking about enterprise plans, but has not purchased.
Apa yang harus dilakukan:

This is a high-intent lead. Steps: (1) Check their lead detail for company and role information. (2) Review the chat transcript for specific needs and objections. (3) Create a deal in the CRM with the information gathered. (4) Assign a follow-up task for a sales team member. (5) If they return to the pricing page, the proactive chat rule can trigger a personalized message.

Counded converting anonymous mengarah ke kontak CRM

Skenario:
You have 50 anonymous leads with high scores but no email addresses.
Apa yang harus dilakukan:

Pilihan - pilihan: (1) Cipta aturan proaktif yang menawarkan diskon atau unduhan sumber daya sebagai pengganti email pada halaman berintent tinggi. (2) Gunakan widget chat untuk meminta email ketika pengunjung anonim memulai percakapan. (3) Tambahkan tanda pengenal pada halaman log masuk/tanda masuk Anda sehingga pengunjung yang kembali diidentifikasi secara otomatis.

Bagaimana skor utama dihitung?+

Skor merujuk kepada: kebelakangan lawatan (baru = tinggi), frekuensi lawatan(lebih = lebih tinggi), halaman dilihat (harga/checkout = tertinggi), tempoh sesi (panjang = paling tinggi), interaksi sembang (terlibat = yang tertinggi) dan lawatan balik (sesi berbilang = terbesar).

Apa aku bisa menyesuaikan aturan skor utama?+

Ya. Dalam Konfigurasi CRM, anda boleh tambah peraturan skor-lead yang meningkatkan skor berdasarkan kata kunci tertentu, peristiwa, sumber atau corak halaman.

ORMA CRM

FOGY Anda CRM mulai dari sini

OpsIQ Kapal CRM AI-pertama penuh yang menangkap kebenaran pelanggan, membersihkan data, memberi skor lead, coaches kesepakatan, perkiraan pendapatan, dan bertindak, dengan kecerdasan website, dukungan, tiket, produk dan pembayaran sebagai satu grafik langsung. Setiap aksi AI bersumber, dapat dijelaskan, reversibel dan disetujui.

AI CRM_
AI CRM selayang pandangDial Trust diatur untuk Copilot di samping empat kartu agen AI: Steward, Prospector, Retensi dan Analis.AI CRM_Ruang kerja ERJDial KepercayaanManual UmuNameCopilotPilot otomatisBerapa banyak AI lakukan sendiriDSPengurus(Kehancuran) menjadi debu yang besar,Data validasi morfisSDRProspectorskor:tugas baruKANPembalasan PlakSpot churn,KemudikanADAAnalisisirancast &Catatan kaki1AI-FIRSTEmpat ejen pakar2YOU DECIDEOtonomi Dial Kepercayaan3TRUSTEDSumber BAHASA & reversibel
AI-AI-pertama CRM dijalankan oleh empat agen spesialis, dan Trust Dial yang memutuskan berapa banyak mereka lakukan sendiri.

SEview halaman CRM

AI CRM (Pusat Komando)

Mulailah dari sini.

Layar rumah harian Anda: pulsa pendapatan, apa yang AI temukan, apa itu lakukan, antrian persetujuan, gerakan berikutnya, kesehatan agen, dan ROI.

Kenalan Baru

Inisi

Orang-orang dan perusahaan di CRM. Anda Cari, filter, skor, dan mengelola profil.

Paipline

Inisi

Diagnoza Visual menangani papan dengan tahap seret dan jatuhkan, memenangkan kemungkinan, dan AI coaching.

iran dan Laporan

Inisi

Prediksi tingkat papan schec, mungkin, kasus terbaik, dengan interval kepercayaan diri dan pelacakan akurasi.

Siklus Hidup

Inisi

Di mana setiap pelanggan berdiri: aktif, pada risiko, ekspansi siap, pembaruan karena, atau bergolak.

Bina CRM saya

Konfig

Jangan uraikan.CRMDisetel dalam bahasa Inggris sederhana.OpsIQDiokhanida menghasilkan rencana yang dapat diubah dan menerapkannya pada persetujuan.

Kesehatan CRM

Operasi

Halaman pemeriksaan-sendiri: skema, agen, rute, aksi AI, dan data langsung dihitung.

How OpsIQ keeps you safe

Tanyalah sebelum bertindak

AI proposal pergi ke antrian persetujuan. Anda menyetujui, mengedit, atau menolak masing-masing.

Jangan sekali-kali dirind

AI menunjukkan perubahan, nilai saat ini dan nilai yang diusulkan data yang masuk ke dalam manusia telah terbukti perlindungan.

Semuanya reversibel

Setiap aksi AI tercatat dalam jurnal.

Terangkanlah

Setiap rekomendasi dari AI menunjukkan penalarannya dan sumber data yang digunakan.

Mulai dari sini.

1
AI CRM Open AI Open

Click AI CRM in the left navigation. The Command Center shows your current state.

2
Periksa Kesehatan CRM

Kesehatan CRM Open untuk memastikan skema, agen, dan rute siap.

3
Orang hubungan yang tidak diketahui

Jika konektor aktif (Fakta)Shopify, WHMCS, etc.), kontak diimpor secara otomatis. Jika tidak, impor via CSV Atau membuat secara manual.

4
Buat pipa

Pergi ke Pipeline dan buat pipa pertama dengan tahap (misalnya, Lead, Qualified, Proposal, Negosiasi, Won, Lost).

5
Kau harus melakukan kesepakatan pertamamu.

Berikan kesepakatan dari kontak, atur jumlah dan tahapannya, dan biarkan Pelatih Deal membimbingmu.

Apa aku perlu menggunakan CRM?+

Tidak.CRMItu opsional.OpsIQDia bekerja sempurna sebagai pelacakan + dukungan + platform AI tanpaCRMAktifkan saat kau siap untuk mengelola penjualan dan hubungan pelanggan.

Bisa CRM bekerja tanpa penyambung?+

Anda dapat membuat kontak dan kesepakatan secara manual. Konektor memperkaya CRM dengan data platform (order, langganan, tiket) tetapi tidak diperlukan.

Apa itu Lapisan Kepercayaan?+

lapisan kepercayaan adalah sistem keselamatan yang mengontrol apa yang dapat dilakukan oleh AI. Mode kopilot (baku): AI mengusulkan, menyetujui manusia. Mod Autopilot (opt-in): AA bertindak secara otomatis pada rendah-risk, operasi reversibel.

ORMA CRM

AI CRM layar rumah

Pusat Komando adalah pengarahan harianmu buka setiap pagi untuk melihat apa yang terjadi, apa yang perlu diperhatikan dan apa yang harus dilakukan selanjutnya.

Pusat Komando Ukur
Pusat Komando CRMRumah ORMA CRM dengan Forecast/Win-rate/Pipeline togol, KPI yang dibocorkan-forecast, dan antrian proposal AI dengan Approve dan Dismiss pada setiap baris.Pusat Komando CRMRuang kerja ERJirantinaTingkat kelonggaranPaiplineLALUAN OLEH Q INIsenilai $74k87%proposal AI · antrian persetujuanPerjanjian · Acme $24kDari percakapan dengan pembeliAperroveSia-SilakanAlih bahasa Nimbus → Proposaljawapan positif dikesanAperroveSia-SilakanTugas log · mengikuti PuncakAgi_t tidak ada aktivitas dalam 7 _hariAperroveSia-Silakan1TOGGLETOWOF Forecast · Win rate · Pipeline2AI PROPOSESKesepakatan, tahap, tugas3YOU DECIDEMenghargai atau Tidak Menyalahkan
Pusat Komando yang sebenarnya: switch antara Forecast, Win rate dan Pipeline, dan bekerja antrian proposal AI, menyetujui atau membatalkan kesepakatan, langkah panggung dan tugas-tugas yang disarankan.

Apa yang ditunjukkan Pusat Komando

Angka hari ini

Nilai pipeline, penawaran won/lost, lead baru, transaksi aktif, dan tren pendapatan, snapshot dari negara Anda saat ini.

Apa yang OpsIQ ditemukan

Wawasan ditemukan AI: penawaran yang terhenti, rekening yang beresiko, peluang baru, isu kualitas data, dan sinyal pasar.

Mema_ki perbuatan yang dilakukan OpsIQ

Tindakan AI telah diambil (dalam Autopilot) atau diusulkan (dalam Copilot): kemajuan tahap, update skor, pengayaan kontak, dan pembuatan tugas.

Perlu persetujuan untuk Halus

Setiap kali menunjukkan tindakan, penalaran, dan bukti yang diusulkan, minta, sunting, atau tolak.

Pergerakan berikutnya

Daftar peringkat AI dari 10 hal-hal terpenting yang harus dilakukan hari ini: menindaklanjuti kesepakatan panas, memeriksa akun at-risk, meneliti petunjuk baru, dll.

Status Pembantu

Kesihatan agen AI: Tangkap, Data Pengurus, Intelijen Perjanjian, Pelatih Perjanjian. Hijau = berjalan, oren = memerlukan perhatian, merah = ralat.

Hasil

Pelacakan ROI: kesepakatan yang dipengaruhi oleh AI, waktu disimpan, ketepatan prediksi, dan perbandingan dengan pekerjaan manual CRM.

Pengerjaan pengarahan Pagi

1
Angka hari ini adalah 1/ 2

Kau sudah mengikuti jejak bulan ini?

2
Bersihkan antrian persetujuan

Tinjau setiap proposal AI. Ajukan tindakan aman, sunting di mana diperlukan, tolak saran buruk.

3
Periksa apa yang OpsIQ ditemukan

Apakah ada kesepakatan yang beresiko?

4
Kerjakan daftar pergerakan berikutnya

AI telah peringkat ini oleh mendesak dan potensi dampak.

Berburu mengejar ketinggalan setelah cuti

Skenario:
You were away for a week. What happened while you were gone?
Apa yang harus dilakukan:

Open the Command Center and check: (1) "What OpsIQ did" shows all AI actions during your absence. (2) "Needs approval" shows proposals waiting for your review. (3) "What OpsIQ found" highlights urgent items. (4) Set the dashboard date range to your absence period to see the trend.

ORMA CRM

Kenalan, perusahaan dan penawaran

Kog CRM mengatur hubungan bisnis Anda ke dalam empat objek: Kontak (orang), Perusahaan (organisasi), Kesepakatan (revenue peluang), dan Tugas (follow-up action).

Objek CRM KANTOR
Objek CRM KANTORCatatan kontak yang terhubung dengan Company, Deal and Task di grafik yang terhubung.Objek CRM KANTORRuang kerja ERJKenalanOrang · email · teleponPerusahaanaccountsBerikan bantuanpeluang pendapatanTugasTindakan susulan uskup1OBJECTSKenalan, perusahaan, penawaran2LINKEDGraf terhubung satu graf3TASKSBerikutan-up terpasang
Empat objek inti core (kontak, perusahaan, kesepakatan dan tugas) dihubungkan ke dalam satu grafik pelanggan yang terhubung.

Kenalan Baru

Apa itu kontak

Seorang pria di CRM_mu. Mereka mungkin pelanggan, prospek, mitra, atau pemimpin.

Cari kenalan

Guna lifecycle bar untuk mencari nama, email, perusahaan, atau tag. Gunakan filter: tahap daur hidup, skor utama, sumber, negara, tanggal aktivitas terakhir, pemilik yang ditugaskan.

Profil Kenalan

Klik sebuah kontak untuk melihat profil lengkap mereka: info pribadi, perusahaan, kesepakatan, kegiatan, tiket, chatting, kunjungan situs web, skor utama, dan wawasan AI.

Skor Hotness

AAOV0-100 Skor morfico dihitung dari isyarat perilaku: kunjungan situs web, keterlibatan email, interaksi chatting, sejarah pembelian, dan resensi. lebih tinggi = lebih panas.

Perusahaan

... Tiket lagi...
Perusahaan-kontak berkonten

Kenalan dengan Kenalan terkait dengan perusahaan melalui domain email atau tugas manual.

Berikan satu penawaran

Apa kesepakatan

Kesepakatan memiliki gelar, jumlah, pipa, tahap, kemungkinan menang, tanggal dekat, pemilik yang ditugaskan, dan kontak/perusahaan terkait.

Kemungkinan besar menang kemungkinan

Persentasi persentase kesempatan memenangkan kesepakatan Set secara manual atau dihitung oleh AI berdasarkan data kemenangan sejarah Anda drives perkiraan tertimbang

Kesehatan ginjal

Ferevis Green (kesehatan), amber (kerugian), atau merah (terhenti). Berdasarkan aktivitas recensi, durasi panggung, dan sinyal keterlibatan.

Tugas

Apa tugas

Tindakan susulan yang diberikan kepada seseorang. Tugas memiliki judul, tanggal jatuh tempo, prioritas, jenis (panggilan, email, pertemuan, lainnya), dan kontak/deal terkait.

Tugas yang dihasilkan oleh AI

AI ifford Menciptakan tugas secara otomatis ketika mendeteksi sesuatu perlu perhatian: Menindaklanjuti kesepakatan yang terhenti, merespon akun at-risk, meneliti petunjuk baru.

Cari petunjuk panas

Skenario:
You want to see all high-score contacts in the UK who have not been contacted recently.
Apa yang harus dilakukan:

Pilih Kenalan, Tapis dengan: Skor utama > 80, Negara = Britania Raya, kegiatan terakhir > 7 Beberapa hari yang lalu, berdasarkan skor utama menurun.

Couguesco membuat kesepakatan dari kontak

Skenario:
A contact just expressed interest in your enterprise plan during a chat.
Apa yang harus dilakukan:

Buka profil kenalan. Klik "Create deal". Masukkan tajuk perjanjian (cth, "Acme Corp - Enterprise Plan"), jumlah, paip dan peringkat (cths, "Qualified"). Tetapkan tarikh tutup dan tentukan kepada diri sendiri. Pelatih Perjanjian akan mula menjejaki peluang ini.

ORMA CRM

Jalur pipa (papan kesepakatan Anda)

Jalur pipa adalah sebuah papan visual dimana transaksi bergerak melalui tahap dari kiri ke kanan.

Paipline
Saluran pipa CRMLayar pipa dengan Open-deals, Open-value, Weighted-forecast dan Attritchd-dealls stats, tombol New-deaal, antrian AI Approve, dan Lead/Qualified/Won board.PaiplineRuang kerja ERJTawaran terbuka23Nilai OpenOOGRamalan yang Berat Bebansenilai $74kPerjanjian terkait dengan kode12Perjanjian BaruAntrian permintaan2 PULIT untuk meninjauTIDAKAndika Volt Inc442$4kLampu6$KDIPERTAKUKANNimbibus$30kPuncakMENJADINameORANG $48k1LIVE STATSPrakiraan berbobot nilai Open value &2AI QUEUETawaran yang diajukan oleh pihak ketiga3BOARDBuat kesepakatan melalui tahap
layar pipa nyata: stat langsung (nilai terbuka, perkiraan berbobot), antrian AI Approve untuk penawaran yang diusulkan, dan papan seret-dan-turun.

Woinquine menggunakan papan pipa

1
Lihat tawaranmu

Jalur pipa itu menunjukkan semua kesepakatan aktif sebagai kartu yang disusun dalam kolom (tahap). Setiap header kolom menunjukkan nilai total penawaran dalam tahap tersebut.

2
Seretan untuk maju

Setelah itu, kartu akan kembali ke posisi semula.

3
Lencana kad semak

Lencana hijau = sehat (aktivitas recent, di jalur). Amber = berisiko (lambat, perlu perhatian). merah = terhenti (tidak ada aktivitas untuk waktu yang terlalu lama).

4
Klik untuk menjelaskan secara detail

COCOCK sebuah kartu untuk membuka panel detil kesepakatan dengan kontak, kegiatan, Deal Coach singkat, dan tindakan cepat.

Memujian persetujuan

Setiap proposal menunjukkan apa yang AI ingin lakukan, mengapa, dan bukti.

Aperrove

Terimalah proposalnya sebagai-is. Aksi berjalan melalui Trust Layer dan dicatat dalam jurnal.

Tak ada yang namanya \"Sunting\"

Sebagai contoh, ubahlah tahap yang disarankan atau atur jumlahnya.

lak

AI belajar dari penolakan untuk membuat saran yang lebih baik di masa depan.

Kemungkinan besar, kemungkinan besar Win dijelaskan

Kemungkinan menang boleh ditetapkan secara manual atau dikira oleh AI. Apabila AI menghitungnya, ia menggunakan model yang terlatih pada perjanjian ditutup anda sendiri (menang dan kalah). Jika anda tidak mempunyai data sejarah yang cukup, AI menggunakan kemungkinan lalai peringkat. Kemungkinannya memandu ramalan berat: a $10,000 bagi pada 30% kebarangkalian menyumbang $3,000 kepada "mungkin" ramalan.

Memindahkan kesepakatan kepada Won

Skenario:
A customer signed the contract and paid.
Apa yang harus dilakukan:

Seret kad tawar-menawar ke peringkat "Memenangkan". OpsIQ akan: (1Tandakan perjanjian sebagai ditutup-menang.2Kemaskini ramalan.3) Tambah aktiviti "Dimenangi" ke garis masa. (4) Jika dikonfigur, mulakan peristiwa webhook (crm.deal.won). (5) Kemas kini peringkat siklus hidup kenalan ke "Pelanggan."

\"Perjanjian Terjebak\"

Skenario:
You want to find deals that have been in the same stage for too long.
Apa yang harus dilakukan:

Carilah lencana merah (tertahan) di papan pipa. Kesepakatan ini tidak memiliki aktivitas lebih lama daripada ambang busuk yang telah dikonfigurasi (ditetapkan dalam CRM Configuration > Pipelines). Klik setiap kesepakatan yang terulur untuk melihat rekomendasi Deal Coach untuk reaktivasi.

- Aku bisa punya beberapa pipa?+

Ke Konfigurasi CRM > Pipeline untuk membuat pipa tambahan. Kasus penggunaan umum: memisahkan saluran pipa untuk bisnis baru vs pembaruan, atau untuk produk/layanan yang berbeda.

Apa yang berlaku apabila saya seret perjanjian ke "Hilang"?+

Kesepakatan ditandai dengan \"lost tertutup\". Anda akan diminta untuk alasan kerugian. Perjanjian dihapus dari papan aktif tetapi dapat ditemukan dalam filter perjanjian tertutup. Kontak tetap di CRM.

ORMA CRM

Pelatihan Berikan Keberpihakan

COBA Deal Coach menganalisis setiap kesepakatan dan memberikan Anda singkat dengan status kesehatan, sinyal risiko, orang kunci, daftar cek kualifikasi, persiapan pertemuan, dan saran tindakan berikutnya. semuanya bersumber. Pelatih menunjukkan tiket, chat, atau aktivitas mana yang masing-masing klaim berasal.

Pelatih berkewarganegaraan Amerika Serikat
Pelatih berkewarganegaraan Amerika SerikatKartu kesepakatan yang mencantumkan sinyal risiko yang terdeteksi AI dengan sumber bukti, di samping rekomendasi AI dan tombol draft-email.Pelatih berkewarganegaraan Amerika SerikatRuang kerja ERJAceme Corp · $24,000_Tahapan: Proposal · 60% _menangPENYELGANA RISKTiada balasan pada 10 _hariJuara voice menjadi tenangPemkosa yang disebutkan dalam chatSumber: tiket #482 · percakapan 6/12 benang e- mel yang dimuat berseri-seriAIOWO merekomendasikanRe-menghidupkan ekonomiPembeli dengan rekap ROIDan sebuah 7Rencana dekat hari ini.KOMD Draf email1SIGNALSMengapa kesepakatan bisa gagal2SOURCEDSetiap tuntutan menyebut bukti3TINDAKANKlik satu langkah berikutnya
Pelatih bendera mengapa kesepakatan mungkin tergelincir (masing-masing sinyal cites sumbernya) dan tangan Anda langkah berikutnya untuk mengambil.

Apa yang pelatih katakan padamu

Penjelasan kesehatan

Mengapa kesepakatan itu sehat, berisiko, atau terhenti. sinyal khusus: hari dalam tahap, tanggal kontak terakhir, frekuensi aktivitas, penyebutan pesaing, pola keberatan.

Isyarat

Dikategorikan menjadi: keberatan diajukan, pesaing menyebutkan, menetapkan diskusi, mendukung indikator risiko, pembaruan/expansion signal Setiap sinyal link ke sumbernya (chat transkrip, tiket, email, aktivitas).

map juara dan blocker

Siapa yang membantu kesepakatan (champion) dan siapa yang melawan (blocker). berdasarkan analisis interaksi dan peran kontak.

Daftar cek kualifikasi

Daftar cek MELDIK atau BANT (konfigurable) menunjukkan kriteria kualifikasi mana yang terpenuhi dan mana yang hilang. Peringkat: A, B, C, D, atau F.

Persiapan pertemuan

Saat sebelum pertemuan yang dijadwalkan, pelatih menghasilkan sebuah agenda singkat: agenda, poin kunci untuk menutupi, pertanyaan untuk bertanya, risiko ke alamat, dan bahan untuk mempersiapkan.

Membalas dan memanggil rencana

Cadangkan pesan berikutnya atau skrip panggilan berdasarkan keadaan kesepakatan saat ini dan interaksi terbaru.

Jadual masa bukti

BAHASA Setiap klaim pelatih membuat link ke sumber: nomor tiket, ID transkrip obrolan, tanggal aktivitas, atau kunjungan situs web.

Cara menggunakan pelatih

1
Bacalah singkatnya

Buka kesepakatan apapun dan tatal ke bagian Deal Coach Baca status kesehatan dan sinyal kunci.

2
Kesenjangan kualifikasi dekat

Periksa senarai semak kelayakan. Jika "Pembeli Ekonomi" hilang, rancang untuk mengenal pasti dan melibatkan pemegang bajet.

3
Aktilah saran - saran yang diberikan oleh para penulis

Pelatih coach menyarankan tindakan selanjutnya yang konkret. Klik untuk membuat tugas, menyusun email, atau mengatur jadwal pertemuan, semua dirute melalui antrian persetujuan.

Persiapan untuk perhimpunan besar

Skenario:
You have a meeting with a prospect tomorrow about a $50,000 deal.
Apa yang harus dilakukan:

Open the deal and read the Meeting Prep section. It shows: (1) Key talking points based on recent interactions. (2) Objections they raised in chat last week. (3) Competitor they mentioned in a support ticket. (4) Questions to ask about their timeline. (5) Risk factors to address proactively. Use this brief to prepare a focused, evidence-based agenda.

Memahami mengapa kesepakatan berisiko

Skenario:
The pipeline shows a red badge on a deal you thought was going well.
Apa yang harus dilakukan:

Klik perjanjian dan baca penjelasan kesihatan Pelatih Perjanjian. Ia mungkin berkata: "Perjanjian ini telah berada dalam peringkat Usul untuk 22 hari (ambang: 14). Penghantaran terakhir adalah 11 hari yang lalu. Kenalan utama membuka tiket sokongan mengenai kebimbangan migrasi data 5 hari lalu (tiket #T-892 Cadangan: atasi masalah perpindahan dan jadualkan panggilan lanjut. Sekarang anda tahu apa yang perlu diperbaiki.

ORMA CRM

Laporan dan siaran

Prediksi tingkat Dewan dengan jangkauan yang tak terbantahkan, penjelasan perubahan tingkat kesepakatan, dan pelacakan ketepatan sehingga Anda dapat membuktikan dan menjelaskan nomor Anda.

irantina
irantinaNomor ramalan triwulanan dengan Commit, Best-case dan Pipeline bands dan catatan ketepatan.irantinaRuang kerja ERJMUKA LALUAN INI OLEH2 juta dolar87% Ke gawangLaksanakan failKasus terbaik untuk kasus terbaikPaiplineAI-berat oleh kesehatan kesepakatan dan sejarah · ketepatan dilacak dari waktu ke waktu1KANTOR KASIHLaksanakan pipa2AI-WEIGHTEDKesehatan yang baik3PROVABLEAkurasi terjejak
Komit, terbaik-case dan pipa sekilas, AI-berat oleh kesehatan kesepakatan, dengan akurasi dilacak sehingga Anda dapat mempertahankannya.

Kategori ultur

Dikomit

Berikan kesepakatan dengan 80% Ini kemungkinan menang lebih tinggi atau lebih tinggi, ini adalah kemungkinan besar Anda menang.

Kemungkinan berat badan AI

Ini adalah prediksi yang paling realistis dari apa yang akan kau tutup.

Kasus terbaik untuk kasus terbaik

Ini adalah pendapatan maksimum yang mungkin jika semuanya berjalan sempurna (itu jarang terjadi).

Selang waktu kepercayaan diri

An 80% pita kemungkinan menunjukkan julat realistik. Contoh: "Anda mungkin akan menutup antara $45,000 dan $72,000 suku tahun ini."

Apa yang berubah dan mengapa

Ramalan merangkumi penambahan perubahan minggu-ke-minggu. Apabila ramalan anda turun dengan $15,000, laporan menjelaskan tepat mana perjanjian yang menyebabkan perubahan: "Perjanjian A tergelincir ke kuartal berikutnya ($8,000), Tawar B kalah ($5,000), Deal C dikurangkan dalam nilai ($2,000)."

Jejak ketepatan

KANPE Ramalan

Kesalahan Persentase Singkat: seberapa jauh dari ramalanmu secara historis. lebih rendah lebih baik.15% Artinya ramalanmu biasanya ada di dalam 15% Hasil yang sebenarnya.

Pekali kemungkinan menang

Skor Brier Coordinator mengukur seberapa baik kemenangan probabilitas cocok dengan hasil yang sebenarnya. Jika kesepakatan di 70% Kemungkinan besar kemungkinan besar menang.70% Kalibrasinya bagus.

Mingguan bergambar

OpsIQ captures a snapshot of your forecast each week (via cron). Over time, you can see how your forecast accuracy improves.

Guling dan Peringatan

Per-per-tahap konversi

Berapa banyak penawaran yang bergerak dari setiap tahap ke tahap berikutnya. 80% Lulusan dari Qualified ke proposal tapi hanya 20% Dari proposal ke negosiasi, usulanmu mungkin butuh pekerjaan.

Tingkat kemenangan Sumber-Perfasi

sumber yang menghasilkan paling banyak kemenangan.

Per-penampilan pemilik

Bagaimana setiap anggota tim penjualan tampil: penawaran dimenangkan, nilai pipa, ukuran kesepakatan rata-rata, angka menang.

Amaran

Kemacetan pasir (tidak realistis kemungkinan rendah), overcommitting (secara tidak realistis tinggi), dan berkomitmen-at-risk (pemprobabilitas tinggi penawaran menunjukkan sinyal kios).

Memahami pemahaman suatu ramalan

Skenario:
Your quarterly forecast dropped from $180,000 to $155,000 since last week.
Apa yang harus dilakukan:

Open the Forecast page and check "What changed." The report shows: "Acme Corp deal ($15,000) moved to Lost, competitor chosen. Beta Inc deal ($8,000) close date pushed to next quarter. New deal with Gamma LLC ($3,000) added this week." The net change is -$20,000 + $3,000 = -$17,000, explaining the drop from $180K to $163K (with the remaining $8K explained by probability adjustments on other deals).

ORMA CRM

Mencari bisnis baru

Agen Prospeksi Merencanakan teknologi membantu Anda menemukan dan meneliti calon pelanggan. gambarkan pelanggan ideal Anda, tambahkan perusahaan target, dan biarkan penelitian AI, skor, dan draft first-touch outreach.

Prospeksi
ProspeksiDaftar perusahaan prospek AI-found dengan catatan yang pas, skor dan tombol draft-outreach masing-masing.ProspeksiRuang kerja ERJProspeksi yang ditemukan oleh agen SDR\"Northwind Ltd\"SaaS · 50 staff · hiring support88DAFTAR Draf di luarAndikabalt MfgPengilangan · 200 staff74DAFTAR Draf di luarSpanyoleCommerce · 30 staff69DAFTAR Draf di luarKesehatan VegaKesehatan Kebidanan · 80 staf63DAFTAR Draf di luar1FINDSumber AI sumber rekening target2SAKONiat Fit & niat menduduki peringkat3DRAFTOtot pertama ditulis untuk Anda
Agen SDR menemukan perusahaan target, mencetak skor mereka pada fit, dan draft pertama-sentuh outreach untuk ulasan Anda.

Satu kali set

1
Jangan uraikan pelanggan idealmu.

Pergi ke Konfigurasi CRM > Prospekting. Huraikan profil pelanggan ideal anda (ICP): industri sasaran, saiz syarikat, gelaran pekerjaan, fokus geografi, terma-padanan produk, dan skor sesuai minimum. Contoh: "Perusahaan SaaS B2B dengan 50-500 pekerja di AS/UK, menjual alat pembangun, dengan VP Pemasaran atau Ketua Pertumbuhan sebagai kenalan utama."

2
Perusahaan target

Anda juga dapat membiarkan AI menyarankan perusahaan berdasarkan ICP anda.

3
Hasil penelitian telaah sejawat

AI memperkayakan setiap syarikat dengan data yang ada: saiz, industri, stack teknologi, berita terkini, dan skor sesuai dengan penjelasan.

4
Aprove outreach

Untuk perusahaan yang bagus, AI membuat pesan yang dipersonalisasi.

Fusing Fitch

Setiap prospek akan mendapat0-100 Skor sesuai liga berdasarkan lima faktor:

Sesuai ICP

. . Seberapa cocok perusahaan dengan profil pelanggan ideal Anda (industri, ukuran, lokasi).

Sinyal Frekuensi

Apakah ada bukti yang mereka butuhkan produkmu sekarang?

Proksi anggaran belanja

Ukuran Perusahaan, tahap pendanaan, dan indikator pendapatan menyarankan ketersediaan anggaran.

Padanan produk

Kau tahu, produkmu sangat relevan dengan bisnis mereka berdasarkan industri dan teknologi.

Dukungan Sogion cocok

Apakah Anda dapat secara efektif melayani pelanggan ini (zon waktu, bahasa, kompleksitas).

Penelitian terhadap perusahaan target

Skenario:
You want to evaluate whether acme.com is worth pursuing.
Apa yang harus dilakukan:

** Tambah **acme.com AI mengembalikan: Nilai muat 78/100 Alasan: B2B Saas, 120 Karyawan, berbasis AS, baru-baru ini menyewa VP Sales (sinyal pemberontakan), menggunakan pesaing X (cocok produk). Membeli sinyal: mengunjungi halaman harga Anda dua kali bulan lalu (dari pelacakan situs web). Kontak terbaik: [email protected] Pembuka yang terdraf merujuk mereka baru-baru ini mempekerjakan dan membiayai kunjungan halaman.

ORMA CRM

Urutan susulan otomatis dari sekuens penindak-naik

Urutan automat multi-langkah tindak lanjut: campuran email, tunggu, tugas, panggilan, dan langkah webhook yang berjalan secara otomatis setelah Anda menyetujui pengiriman awal.

Urutan
Urutan susulanEmail, tunggu tiga hari, Email. Lalu tugas, dengan deteksi balasan.Urutan susulanRuang kerja ERJSetelah kau menyetujui kiriman pertama →E-mailOverTunggu3 Hari-hariE-mailIkutiTugasPanggilanLangkah bisa berupa email, tunggu, tugas atau webhook. Sebuah jawaban auto-stop urutannya.1AUTOMATELangkah-berbilangmenindaklanjuti2STEPSE-mail · · tunggu (bantuan) · tugas3YOU APPROVEKiriman pertama adalah gerbang
Diautomatik multi-langkah tindak lanjut (email, tunggu, email, tugas) yang Anda setujui terlebih dahulu dan jawaban berhenti secara otomatis.

Bagaimana urutan kerja

1
Aiskrim membuat sebuah urutan

Definisikan langkah: email, tunggu 3 hari, email, tunggu 5 Hari-hari, tugas (panggil jika tidak ada balasan), email. Setiap langkah surel memiliki template yang dapat anda ubah suaikan.

2
kontak

AI juga mungkin mengusulkan pendaftaran dari hasil prospek.

3
Eksekusi otomatis

Langkah-langkah dilakukan secara otomatis sesuai jadwal. Jika kontak menjawab pada setiap titik, urutan berhenti secara otomatis.

4
Hasil Trek

Anda dapat melihat tingkat terbuka, tingkat balasan, tingkat konversi, dan tidak langganan per langkah. Gunakan ini untuk mengoptimalkan urutan Anda.

Pengertian takhayul

Ketika kontak menjawab, AI mengklasifikasikan jawaban:

Positif

Aku tertarik, ingin bicara.

Bantahan

Ada kekhawatiran tapi tidak menolak.

Langganan Undiskusi

Ada yang ingin berhenti menerima pesan.

Tidak sekarang

Penantian yang menarik tapi waktu salah.

Salah orang

Jangan kontak yang tepat.

Sodium Support

Pertanyaan dukungan, bukan respon penjualan.

Perlindungan anti-spam

Penanganan operasi-keluar

Permintaan undi tanpa langganan langsung direspek dan kontak ditekan dari semua urutan masa depan.

Harian akhbar

Workspace-level daily limit (default: 1,000 emails). Prevents mass sends that trigger spam filters.

Batas per-kontak

Me_pesan maksimum 1 _messages per kontak per hari. Mencegah orang yang melampaui batas.

Penanganan over-capis

Langkah yang melebihi topi harian ditangguhkan ke hari berikutnya.

Apa yang terjadi jika kontak membuka tiket dukungan selama urutan?+

Urutan sekuens berhenti secara otomatis. Support mengambil prioritas atas outreach. Urutan dapat dilanjutkan secara manual setelah masalah dukungan diselesaikan.

Boleh aku mengikuti urutan ujian A/B?+

Tidak langsung dalam urutan, tetapi Anda dapat membuat dua rangkaian dengan pesan yang berbeda dan membandingkan hasil mereka.

ORMA CRM

Alat Pertumbuhan

Satu halaman di bawah CRM yang memegang mesin pertumbuhan: Recurle repeach (MRR/ARR), katalog produk, bentuk lead-capture, link pemesanan dan routing leading. Semuanya di sini menulis langsung ke dalam CRM, jadi sebuah formulir penyerahan atau panggilan yang telah dipesan adalah kontak dengan sejarah, bukan berturut-turut dalam sebuah spreadsheet.

Apa yang hidup di halaman

Pendapatan yang merekursi

Permulaan

Langganan dikelompokkan dari pembayaran per platform, siklus penagihan dicerca dari kesenjangan pembayaran, dan lap langganan ketika pembayaran terlambat1.5Kitar kali ini, pelanggan terhubung keCRMKontak dengan orang lain secara otomatis ketika buku besar membawa email mereka.

Katalog produk

Katalog

Salah satu sumber kebenaran untuk apa yang kau jual. dan menerima kutipan masuk ke dalam pendapatan produk.

Bentuk-bentuk tangkapan-pimpinan

iran

Setiap formulir mendapat halaman host ditambah kode iframe yang disematkan untuk situs Anda sendiri.

Taut pemesanan

Jadual

Membagi link, biarkan prospek memilih slot bebas. Slot menghormati jam kerja penyelenggara, zona waktu dan pertemuan yang ada.

Lead routing

Mengeluarkan

Aturan Wilayah Wilayah UID dijalankan pertama, kemudian aturan lapangan (match a field seperti negara atau sumber), kemudian round-robin melintasi rep pool Anda. Ini rute CONTACTS DAN DEALS sama, apapun status kesepakatan: kesepakatan yang dimenangkan masih membutuhkan pemilik untuk komisi atribusi, tanggung jawab akun dan tindak lanjut, dan dalam pemilik atau mode visibilitas tim sebuah rekor tidak dimiliki tidak terlihat oleh semua orang tetapi manajer. Catatan dibuat oleh otomatisasi (penjualan konektor, chat, impor) tidak membawa pencipta interaktif, sehingga mereka dirujukan dengan peraturan yang sama pada pemilik yang tidak ada tapi pemilik yang belum pernah ditandatangani.

Buat bentuk pertamamu

1
Alat Pembesaran Terbuka

Pergi ke CRM, lalu Alat Pertumbuhan, kemudian bagian Lead-capture.

2
Nama itu dan memilih bidang

Type nama dan daftar medan yang dipisahkan dengan koma, misalnya nama, email, telepon, pesan. Email selalu diperlukan.

3
Kongsi atau masukkan

Salin link host untuk berbagi di mana saja, atau salin kode yang disembes dan tempelkan ke halaman manapun dari website Anda.

4
Ada petunjuk untuk mengawasi.

Ketundukan setiap CRM adalah kontak dengan sebuah formulir. submitted activity, notifikasi pemilik, dan routing otomatis.

💡
Halaman tangkapan publik menggunakan alamat ruang kerja Anda sendiri. Ruang kerja awan menggunakan subdomain mereka yang ditugaskan (company.opsiq_. help), sehingga link selalu menyelesaikan data yang tepat.

Perlindungan Dalaman

Bots melihat kesuksesan, Anda tidak melihat apa-apa

Sebuah sarang tersembunyi medan diam-diam membuang penyerahan bot.

Kadar morfosis terbatas

Ten submissions per hour per IP address across forms and bookings.

iran Consent tetap jujur

Melepaskan formulir tidak memberikan persetujuan pemasaran.

Tidak ada pemesanan ganda

Slot A divalidasi kembali terhadap cek ketersediaan segar pada saat pemesanan.

Dari mana datangnya data yang berulang itu?+

Dari buku besar perdagangan yang sama Anda Sales halaman menggunakan, diberi makan oleh penyambung tagihan. Gunakan Re-sync dari penagihan setelah menghubungkan platform baru.

Bisa aku gunakan formulir tanpa website?+

Setiap formulir memiliki halaman di host pada alamat Anda sendiri yang bekerja mandiri, dengan atau tanpa JavaScript_.

ORMA CRM

Hub Pesanan (SMS dan APASApp)

Satu konektor, hingga dua puluh gateways. Sambungkan SMS dan penyedia WhatsApp yang anda gunakan, tandai satu sebagai default, dan ambil salah satunya ketika mengirim pesan kontak. Konsen diperiksa oleh CRM sebelum gerbang apapun dihubungi.

Kau harus mengaturnya.

1
Memaktifkan konektor

WhatsApp) dan mengaktifkannya.

2
Model data

Di laci yang sama, atau di CRM Growth Tools, pilih gerbang dari dropdown (Twilio, Vonage, Termii, Meta WhatsApp Cloud, Infobip dan banyak lagi), pastekan API kredensial dan sambung. Anda dapat menambahkan beberapa, termasuk gateway yang sama dua kali dengan akun yang berbeda.

3
Wire the webhook

Setiap entri penyedia provider menunjukkan webhooknya sendiri URL Masukkan ke dalam gateway's pengiriman-laporan dan pengaturan inbound-message untuk mendapatkan status pengiriman dan jawaban kembali ke OpsIQ.

4
(Kepada)

¡Open kontak dan gunakan tombol SMS atau WhatsApp. Jika lebih dari satu penyedia mendukung saluran, pemilih membolehkan anda memilih; jika tidak, maka default yang digunakan.

Konsent yang pertama

Hanya persetujuan yang diberikan

persetujuan tidak diketahui oleh IGH. Kiriman menolak kecuali persetujuan SMS diberikan secara eksplisit WhatsApp naik persetujuan yang sama.

Do-tak-kontact selalu menang

Sebuah bendera do-not-contact blok setiap saluran, tidak peduli apa lagi yang ditetapkan.

Kehormatan Suppression

Kenalan dalam daftar penindasan tidak pernah dipesan.

Orang - orang yang tidak beragama menyebut alasan mereka

Kiriman yang diblokir memberitahu Anda persis mengapa, sehingga Anda dapat memperbaiki data daripada menebak.

Bagi pengembang: kontrak webhook

Bentuk URL

https://your-address/opsiq/cron/messaging_webhook.php?sk=SITE_KEY&e=ENTRY_ID&t=TOKEN. Token per-entry dimint ketika penyedia terhubung dan tidak pernah berputar pada sunting.

Format-format yang dipahami

Twilio form posts (MessageStatus/MessageSid for delivery, Body/From for inbound), Meta WhatsApp Cloud JSON (statuses and messages, including the hub.challenge subscription handshake), and a generic JSON shape: {"type":"delivery","message_id":"...","status":"delivered"} or {"type":"inbound","from":"+234...","body":"..."}.

Kesan - Efek

Laporan pengiriman ward melaporkan cap baris ledge outreach yang membawa id pesan penyedia seperti disampaikan atau dipantulkan. Pesan masuk cocok dengan kontak oleh nomor telepon di dalam ruang kerja, tanah sebagai aktivitas pesan. menerima, dan menandai percakapan menjawab.

Mode kegagalan Gagal

Salah atau token jawaban yang hilang 403_. Muatan tidak diketahui dihitung dan diabaikan, tidak pernah fatal, sehingga gerbang yang salah dikonfigurasi tidak dapat mematahkan titik akhir.

Pintu gerbang mana yang didukung?+

¡Twilio, Vonage, Plivo, MessageBird, Sinch, Infobip, Telnyx, ClickSend, Termii, Africa's Talking, BulksMS, Textlocal, Meta WhatsApp Cloud, 360dialog, SMSAPI, Gupshup, Kaleyra, D7 Networks, Hubtel, dan sebuah webhook HTTPS tersendiri untuk hal lain.

Bukti kelayakan aman?+

Kredensial berbodi disimpan terenkripsi dalam pengaturan penyambung dan tidak pernah digema kembali ke peramban. Menyunting entri dengan rahasia kosong menyimpan yang tersimpan.

Bisa AI mengirim pesan?+

KANTOR YA, melalui tindakan terdaftar yang memerlukan konfirmasi dan menjalankan gerbang persetujuan yang sama. AI juga dapat mencantumkan penyedia yang terhubung untuk menjelaskan apa yang tersedia.

ORMA CRM

Keepping dan semakin berkembang pelanggan

Manajemen sepeda hidup membantu Anda melindungi pendapatan yang ada. dan buku permainan sukses yang disarankan.

Siklus Hidup
Papan sepeda motor kariCogone Sebuah papan sepeda motor pelanggan-hidup (Onboarding, Active, At-risk, Renewal) dengan bar kesehatan pada setiap kartu akun.Siklus HidupRuang kerja ERJONBOARINGAcmekesihatan 40KASIHGlobexkesihatan 88Fijichine Initechkesihatan 76ATS-RISKKesoyongankesihatan 28KANEWALUbra\"Membarukan\" dalam 12dpengembangan +$8k1STAGESSaatnya melakukan pembaruan2SCOREDPengembangan Kesehatan Fargix &3PLAYBOOKLangkah selanjutnya yang disarankan
Pelanggan PUTRA bergerak melalui onboarding, aktif, at-risk dan pembaruan, masing-masing mencetak untuk kesehatan dan ekspansi dengan buku permainan.

Papan daur hidup

Peta Tahapan Fon

Papan visual menunjukkan di mana setiap akaun berdiri: Lead, Prospect, Opportunity, Customer, Expansion, Renewal, At Risk, Churned.

Akun ultah

Akun ifgo ditandai dengan risiko tinggi yang diselipkan masing-masing menunjukkan driver atas (pacu dukungan, ketidakaktifan, kegagalan pembayaran) dan permainan simpan yang disarankan.

Keupayaan pengembangan

Akun-akun narasumber yang menunjukkan sinyal kesiapan untuk membeli lebih banyak: penggunaan tinggi, permintaan fitur, pertanyaan rencana.

Renewals LUang

Akun-akun palsu dengan tanggal pembaruan yang akan datang, diurut berdasarkan tingkat risiko dan nilai pendapatan.

Bagaimana OpsIQ jejak mendeteksi risiko yang tak terduga

Risiko cholln fax dihitung dari sinyal ganda menyatu bersama:

Sinyal CRM Frekuensi

Kesehatan yang tidak aktif, kerugian baru - baru ini, penurunan keterlibatan.

Sinyal dukungan isyarat Sofles

Jumlah tiket terbuka, lonjakan loket tiket, sentimen negatif, eskalasi.

Pertunangan produk niaga

Frekuensi log masuk, penggunaan fitur, kunjungan halaman, panggilan API _.

Sinyal Billing Cafles

Pembayaran gagal pembayaran, tagihan yang terlambat, permintaan turun tingkat, kunjungan halaman pembatalan.

Buku Main

Simpan permainan

Untuk rekening yang berisiko: menjangkau secara proaktif, mengatasi kekhawatiran, menawarkan dukungan, eskalasi jika diperlukan.

Bermain di Renewal

Untuk pembaruan mendatang: konfirmasikan kepuasan, penggunaan ulasan, nilai sekarang, tawarkan insentif jika sesuai.

Mainan Pengembangan

Untuk akun siap-untuk-tumbuh: pilihan upgrade hadir, berbagi cerita sukses, menunjukkan ROI.

Permainan Adotion

Untuk akun - rekening yang kurang digunakan: memberikan pelatihan, berbagi praktek terbaik, memungkinkan fitur yang tidak mereka gunakan.

Spotting churn before it happens

Skenario:
A customer who normally logs in daily has not logged in for 2 weeks, and they opened 3 support tickets this month.
Apa yang harus dilakukan:

Lembaga Siklus Hidup bendera akaun ini sebagai "Berrisiko" dengan pemacu: tidak aktif (14 hari sejak log masuk terakhir) dan sokongan spike (3x volume tiket normal). Permainan yang disyorkan: panggilan jangkauan proaktif untuk memahami apa yang berlaku. Adakah terdapat masalah produk? Adakah mereka mengevaluasi pesaing? Sekatan awal boleh menyelamatkan akaun.

ORMA CRM

Mebersihkan data Anda

Agen Keperawatan Data secara otomatis menemukan dan memperbaiki isu kualitas data: duplikat, medan hilang, inkonsistensi, dan catatan basi.

Data pengurus
Data pengurusDaftar terbitan kualitas data (duplicate, hilang, basi, format), masing-masing dengan aksi perbaikan satu klik.Data pengurusRuang kerja ERJMasalah data yang ditemui oleh ejen StewardDuplikasi[email protected] Dan [email protected]Cantuman Cantumkan BaruHilang/_Buang kenalan 12 tak punya perusahaanHuluLuput38 Perjanjian rahasia tak tersentuh untuk 90 Hari-hariUlasanFormatNomor telepon rumah sakit di 4 formatSemua perbaikan1CATCHESDupes, galah, basi2EXPLAINSMengapa ditandai masing-masing3FIXESAtas persetujuanmu
Agen Steward menjaga CRM bersih Anda, menemukan duplikat, celah, catatan basi dan format buruk, memperbaiki persetujuan.

Apa yang ditangkap

Kenalan Duplikasi

Catatan ganda untuk orang yang sama (misalnya, [email protected] Dan [email protected] Para pengurus mengusulkan penggabungan mereka.

Data hilang metamorf

Kenalan tanpa email, penawaran tanpa jumlah, perusahaan tanpa domain. Saran mengisi dari sumber yang tersedia.

Catatan tak terpaut kinetik

COID Sepakat tanpa kontak terkait, kontak tanpa perusahaan. Mengusulkan pemautan berdasarkan domain dan konteks email.

Tidak konsisten

Perjanjian dalam peringkat "Memenangkan" dengan kemungkinan 20%, kenalan ditandakan sebagai "Pelanggan" tanpa perjanjian, syarikat dengan industri tidak sepadan.

Tahapan salah

Kesepakatan yang telah berada dalam tahap yang sama terlalu lama atau kontak yang tahap daur hidup mereka tidak sesuai dengan aktivitas mereka.

Cara menggunakan

1
Bukalah daftar pengurus

Çaššić pergi ke CRM dan mencari bagian Keperawatan Data (atau membukanya dari CRM Health).

2
Menghargai perbaikan aman

Barang hijau aman: duplikat jelas, data hilang yang jelas.

3
Tinjau sisanya

item Amber adobel membutuhkan penilaian Anda: kemungkinan duplikat dengan sedikit perbedaan, perubahan tahap yang diusulkan, hubungan perusahaan.

Membersihkan kontak duplikat

Skenario:
The steward found "John Smith ([email protected])" and "J. Smith ([email protected])": same email, different display names.
Apa yang harus dilakukan:

Para pengurus me-maged mengusulkan penggabungan: menjaga catatan dengan lebih banyak aktivitas, menggabungkan perjanjian dan kegiatan record lainnya. Tinjau kembali proposal tersebut, menyesuaikan nama tampilan yang bertahan jika diperlukan, dan menyetujui. Kedua riwayat catatan tersebut dipertahankan dalam kontak gabungan.

ORMA CRM

Bina CRM saya

Binalah SayaCRMKau bisa menggambarkan dirimu.CRMDisetel dalam bahasa Inggris sederhana.OpsIQIa menghasilkan rencana yang dapat divalidasi, reversibel dan menerapkannya pada persetujuan. tanpa koding, tanpa konfigurasi manual mengklik.

Bina CRM saya
Bina CRM sayaDeskripsi bahasa alami di kiri menghasilkan rencana CRM yang dihasilkan tahap, bidang dan segmen di kanan.Bina CRM sayaRuang kerja ERJKeistimewaanmu itu hanya menjelaskan bisnismuKita adalah sebuah biro desain webDijual bulanan dan dijual oleh orang-orang miskin.proyek satu-off ke kecilperniagaan.Bina CRM sayaRencana yang dihasilkan oleh janajanaTahapan: Timbal → PenentuJenis-jenis kesepakatan: paender, projectMedan: nilai bulananSegmen: SMB, agensiUrutan: onboardingAplikasi Approve &1DESCRIBEBahasa Inggris Plain di2AI PLANSTahapan, bidang, segmen3APPROVEDiterapkan · tanpa koding
Jelaskan bisnis Anda dalam bahasa Inggris sederhana;OpsIQSeluruh draftCRMLuangford (tahap, bidang, segmen) dan menerapkannya pada persetujuan.

Bagaimana cara kerjanya

1
Terangkan apa yang kau inginkan

Taipkan keterangan bahasa Inggeris ringkas bagi konfigurasi CRM anda. Contoh: "Cipta paip pembaharuan dengan peringkat: Akan Datang, Dihubungi, Mengadakan Perbincangan, Dibaharui, Hilang. Skor lead lebih tinggi apabila mereka melihat harga dua kali."

2
Tinjau rencana itu

OpsIQ Dan menunjukkan pratinjau dari apa yang akan dibuatnya: pipeline, tahap, kemungkinan panggung, peraturan skor, aturan daur hidup.

3
Terapkan

Klik Terapkan untuk menjalankan rencana. Setiap perubahan dicatat sebagai bundel yang dapat Anda batalkan dalam satu klik.

4
Jika perlu, kembalilah jika dibutuhkan

Jika ada yang tidak benar, klik Undo untuk mengembalikan seluruh berkas. CRM Anda kembali ke keadaan sebelumnya.

Apa yang bisa kau bangun

Paip dan tahap

Buatan yang dinamakan pipeline dengan tahap khusus, probabilitas default, dan ambang membusuk.

Aturan Penilaian

Meningkatkan skor pemandu berdasarkan tingkah laku: "Skor lebih tinggi apabila mereka melihat harga," "Scor rendah apabila mereka melawat halaman karier."

Aturan sepeda motor

Maju secara automatik peringkat siklus hidup: "Alih ke SQL bila mereka minta demo," "Alihkan ke Pelanggan bila perjanjian dimenangi."

Bidang langganan

Tambah bidang ke kontak, penawaran, atau perusahaan: teks, nomor, tanggal, pilih, kotak tanda, URL, email.

Daftar cek kualifikasi

Diadikan MEDDICC atau BANT checklist Deal Coach grade melawan.

Merencanakan sebuah jaringan pipa baru

Skenario:
You manage SaaS subscriptions and need a pipeline for renewals.
Apa yang harus dilakukan:

Jenis: "Create a renewal pipeline. Stages: 90 Days Out (10%), 60 Days Out (25%), Dihubungi (40%), Negotiating (60%), Diperbaharui (100%), Churned (0%). Tetapkan ambang kerosakan kepada 14 hari."OpsIQ menjana rancangan, anda semak ia dan klik Laksana. Paip muncul pada halaman Paip anda dengan serta-merta.

Bagaimana jika aku menggambarkan sesuatu yang tidak mungkin?+

Pembina hanya menghasilkan tindakan yang ia tahu bagaimana untuk sah. Jika anda meminta sesuatu di luar keupayaan (cth, "Integrasikan dengan API sendiri saya"), ia akan menolak permintaan dan menjelaskan apa yang boleh dilakukan sebagai gantinya.

Boleh aku ubah?+

Setiap Build My CRM action ditangkap sebagai bundel reversibel. pergi ke CRM Health > Ubah Sejarah untuk melihat semua berkas dan membatalkan salah satu dari mereka.

ORMA CRM

\"Membentuk CRM\" caramu

Konfigurasi Manual CRM untuk tim yang lebih memilih mengklik daripada mengetik. Semua pengaturan yang dapat dibuat oleh Build My CRM juga tersedia sebagai bidang formulir tradisional.

Paip dan tahap

Cipta, nama semula, susunan semula dan padamkan paip dan peringkat. Tetapkan kemungkinan menang piawai per peringkat. Set ambang keruntuhan (hari tanpa aktiviti sebelum perjanjian ditanda "terhenti").

Bidang langganan

Tambah medan ke penawaran, kontak, atau perusahaan. Jenis-jenis lapangan: teks, nomor, tanggal, pilih (dropdown dengan pilihan pradefinisi), kotak cek, URL, email. Bidang langganan muncul pada profil objek dan dalam filter.

Daftar cek kualifikasi

Diagnosis daftar cek yang digunakan Deal Coach untuk mengevaluasi kesepakatan. Pilih MEDDICC, BANT, atau kriteria tertentu. Setiap item dapat ditandai diperlukan atau opsional.

Aturan tahap sepeda roda sepeda

Definisikan transisi tahap otomatis: ketika kontak memenuhi suatu kondisi (views pricing, submits a bform, make a beli), tahapan daur hidup mereka maju secara otomatis.

Aturan skor utama

Naikkan atau kurangkan skor lead berdasarkan tingkah laku. Contoh: "Laman harga dilihat = +15 titik," "buku putih yang dimuat turun = +10"Laman karier yang dilawati = -5titik." Kiraan minimum boleh ditetapkan (cth., "mesti lihat harga sekurang- kurangnya 2 times").

Pandangan orang - orang yang diselamatkan

Buat kombinasi filter+sort yang bernama untuk kontak, kesepakatan, atau perusahaan. Kongsi tampilan dengan tim Anda. Tetapkan tampilan baku per jenis objek.

Menambahkan peraturan skor utama

Skenario:
You want contacts who view your pricing page twice or more to get a higher score.
Apa yang harus dilakukan:

Pergi ke Konfigurasi CRM > Peraturan Penjajaran Lead. Klik Tambah Peratur. Set: Event = "pageview", URL mengandungi = "/pricing", Kiraan minimum =2, Peningkatan skor = +20. Simpan. Lain kali skorer berjalan, kenalan yang sepadan dengan peraturan ini akan mendapat +20 untuk skor unggul mereka.

ORMA CRM

Pemeriksaan kesehatan CRM

Kesehatan CRM adalah halaman diagnostik diri sendiri yang membenarkan CRM anda diatur dengan benar dan berjalan lancar.

Periksa kesehatan
Cek kesehatan CRMA health score ring at 92 beside a checklist of passing and warning configuration checks.Cek kesehatan CRMRuang kerja ERJ92SEHATTahap paip dikonfigurKonektor terhubung & importingAgen AI dihidupkan!UVIN tidak ada urutan susulan aktif!12 kontak orang hubungan yang hilang perusahaan1AUDITBuktikan pengaturan Anda2FLAGSApa yang hilang3SAKOAngka keseluruhan 1 [3]
Audit CRM satu halaman: skor kesehatan keseluruhan ditambah daftar cek dari apa yang diatur dengan benar dan apa yang masih perlu diperhatikan.

Apa yang dicek

Skema

Tabel basis data di sini dan memiliki kolom yang benar. Jika migrasi tidak terjawab, CRM Health akan memanifestasikannya.

Agen AI

Semua agen CRM (Capture, Data Steward, Deal Intelligence, dll.) terdaftar dan sehat. Hijau = berjalan, ambar = perlu perhatian, merah = kesalahan.

Laluan

ORMA CRM API rute dan titik akhir AJAX terdaftar dan dapat dipanggil.

Tindakan AI ony

Katalog aksi CRM terdaftar dalam Registry Aksi. Jika tindakan hilang, CRM Health self-heal dengan mendaftarkan kembali mereka.

Data hidup dikira

Kontak, perusahaan, penawaran, tugas, kegiatan, dan acara. Berguna untuk memverifikasi impor dan penangkapan data yang sedang berlangsung.

Setelah pemeriksaan setup

Setelah setup CRM pertama kali, CRM Health terbuka dan verifikasi semua cek adalah hijau. Jika ada ambar atau merah, klik item untuk penjelasan diagnostik dan disarankan memperbaikinya.

Bagaimana seharusnya saya memeriksa CRM Health?+

Periksa setelah penyiapan awal, setelah pembaruan besar, dan kapanpun perilaku CRM tampak salah. CRM Kesehatan self-heals banyak isu (seperti pendaftaran tindakan hilang) hanya dengan membuka halaman.

ORMA CRM

Sambungan CRM bagi pengembang

The CRM exposes a complete public REST API and outbound webhooks so it fits any stack without manual exports.

API Titik akhir halus

Otentikasi Autentikasi XEX

API Kunci (Authorisasi: Bearer opq_...) dengan skop crm.read atau crm,write. POST to /api/v1.php Dan kunci situs.

Kenalan Baru

chem. contacts. list (search + filter), crm. contracts. detail (oleh ID), cr m. conttacs. upsert (cipta atau pembaruan), crmp. contakts. save.

Berikan satu penawaran

crm. deals. list, crm. deals (deal-deal) detail, crms. deals. create, cr m. dealis. update, crmb. dealls. advance (semua melalui Lapisan Kepercayaan).

Kegiatan

krm. aktivities. list (garis waktu untuk kontak/deal), crm. activities (aktivity. record) (log aktivitas baru).

Peristiwa Lenyap

norkewicecrm. events. list (duble change feed dengan accept_id kursor), crm. events. catalog (daftar jenis acara yang tersedia).

Aanugeniae membuat kesepakatan melalui API_
POST /api/v1.php
Authorization: Bearer opq_live_xxx
Content-Type: application/json

{
  "action": "crm.deals.create",
  "site_key": "<workspace>",
  "title": "Acme renewal",
  "amount": 12000,
  "pipeline_id": 1,
  "stage_id": 2
}

Acara Webhook

crm.contact.created

¡Dipecat ketika kontak baru ditambahkan ke CRM.

organia crm. deal. stage_changed

Dipecat saat kesepakatan beralih ke panggung yang berbeda.

crm.deal.won

Diatas api ketika kesepakatan ditutup seperti yang dimenangkan.

crm.deal.lost

Kebakaran ketika kesepakatan ditutup seperti hilang.

crm.task.created

AIrfreid ketika tugas baru dibuat (manual atau AI-generated).

crm.outreach.reply

Dipecat ketika prospek menjawab email urutan.

krm. agent. proposal_created

Diatas ketika agen AI membuat proposal untuk antrian persetujuan.

Semua acara webhook adalahHMACDitandatangani dan dicoba ulang pada kegagalan.URLKemuliaan dalam Pengaturan > Webhooks, atau jajak pendapatcrm.events.list dengan accept_id untuk pakan perubahan yang tahan lama.

Menyegerakkan kontak CRM ke Lembaran Google

Skenario:
You want every new CRM contact to appear in a Google Sheet for your marketing team.
Apa yang harus dilakukan:

Kemudiakan sebuah webhook pelanggan untuk crm. contact. created. Arahkan ke aplikasi web Script Google Apps atau webhoot_ URL. Muatan termasuk nama kontak, email, perusahaan, memimpin skor, dan sumber. Skrip Anda menambahkan berturut-turut ke Lembaran Google untuk setiap kontak baru.

ORMA CRM

Segmen

Segmen-eegmen menghemat filter kontak yang dapat digunakan kembali untuk tampilan CRM, outreach, promosi dan alat-alat sadar penonton lainnya.

Skrin produk
SegmenPenyunting Segmen Begindia menggabungkan kondisi, menunjukkan jumlah pertandingan langsung dan membiarkan operator memilih filter hidup atau snapshot yang disematkan.SegmenRuang kerja ERJODEArasLOGICSEMUAMATCHES1,248ORANG KERJA HIDUPTahap pelanggan ustomsama dengan pelanggan aktifPeraturanAktivitas terakhirDi dalam 30 Hari-hariPeraturanNegarasama dengan Britania RayaPeraturanNiat tinggiskor sekurang-kurangnya 70Peraturan1CHOOSE MODEHidup atau snapshot2ADD RULESSEMUA atau SEMULA3REUSEKampanye dan CRM
Penyunting Segmen Begindia menggabungkan kondisi, menunjukkan jumlah pertandingan langsung dan membiarkan operator memilih filter hidup atau snapshot yang disematkan.

A segmen langsung Saya menghitung ulang dari data saat ini kapan saja digunakan. A Seretan jembat ¡Folches daftar anggota saat ini, yang berguna ketika penonton outreach tidak boleh berubah setelah persetujuan.

Pilih SEMUA ifola ketika setiap syarat harus cocok atau SEBENARNYA analisa hitungan langsung sebelum menyimpan. segmen sistem dapat terlihat tetapi terlindung dari penyuntingan biasa.

ORMA CRM

**** *Mencetak skor **

Aturan skor-pimpinan . yang mengubah perilaku dan sinyal profil menjadi skor konsisten yang dapat digunakan penjualan dan otomasi.

Skrin produk
**** *Mencetak skor **Skor lead scoring menunjukkan aturan aktif, jendela bergulir dan perubahan skor positif atau negatif setiap peraturan berlaku.**** *Mencetak skor **Ruang kerja ERJRULES12SCORED8,412HOT LEADS286ORANG KERJA HIDUPKegiatan yang Memprihatinkan3kunjungan ke sana. 14 Hari-hari+20Kata kunci Belianherbeanth berisi migrasi atau perusahaan+15Risiko dukungan SogionPeristiwa pengaduan keguhan dalam 30 hari-10Sumber terpercayaReferal mitra+121DESCRIBE RULEBahasa Inggris biasa2REVIEW FIELDSSinyal, jendela, titik3RESCORETerapkan ke ruang kerja
Skor lead scoring menunjukkan aturan aktif, jendela bergulir dan perubahan skor positif atau negatif setiap peraturan berlaku.

AI order author pembangun dapat mengubah instruksi bahasa Inggris-biasa menjadi aturan terstruktur Setiap peraturan harus tetap ditinjau sebelum pengaktifan: mengkonfirmasi aktivitas atau kata kunci, penghitungan minimum, bergulir jendela dan perubahan skor.

Aturan positif dan negatif dapat hidup berdampingan. Ruangkerja Rescore Setelah perubahan aturan materi sehingga kontak yang ada dinilai di bawah model baru.

ORMA CRM

Papan pemimpin penjualan Indianapolis

Pimpinan dewan banding perwakilan menggunakan kuota tercapai, pendapatan menang, komisi dan pipa terbuka untuk bulan terpilih.

Skrin produk
Papan pemimpin penjualan IndianapolisDia adalah pemimpin bulanan yang bekerja di jajaran perwakilan penjualan sementara tetap memenangkan pendapatan, komisi dan saluran pipa terbuka terlihat.Papan pemimpin penjualan IndianapolisRuang kerja ERJPERIODJuliTEAM QUOTA82%MENJADI184k pound.ORANG KERJA HIDUPAmina104% kuota · £62k wonke- 1Ben88% kuota · £51k wonKe-2& Lukiskan76% kuota · £43k wonKe-3Saluran pipa terbuka£312k seluruh timUlasan1CHOOSE MONTHBandingkan satu periode2CHECK QUOTAKekejipan oleh rep3COACHBahasa Inggris
Dia adalah pemimpin bulanan yang bekerja di jajaran perwakilan penjualan sementara tetap memenangkan pendapatan, komisi dan saluran pipa terbuka terlihat.

Kemudahan kuota etikotip hanya bermakna apabila setiap perwakilan memiliki kuota saat ini dan kesepakatan memiliki pemilik, jumlah, mata uang dan status dekat yang benar. Gunakan papan pemimpin untuk pelatih dan pengakuan, bukan sebagai satu-satunya ukuran kualitas; pasang dengan kesehatan kesepakatan, aktivitas dan akurasi prakiraan.

ORMA CRM

Persetujuan kesepakatan berkompromi

Persetujuan kesepakatan pemberian persetujuan diperlukan sign-off manajer sebelum penawaran bernilai tinggi dapat ditandai menang.

Skrin produk
Persetujuan kesepakatan berkompromiKebijakan persetujuan mendefinisikan dua nilai ambang batas dan antrian menunjukkan penundaan, disetujui dan keputusan ditolak.Persetujuan kesepakatan berkompromiRuang kerja ERJPOLICYDiaktifkanWAITING6OLDEST3hORANG KERJA HIDUPAras 1_Berikan Mahakuasa dari £10,000PengurusAras 2_Berikan Mahakuasa dari £50,000SeniorPerbarui perusahaanMemerlukan £72,000 _· yang diminta oleh BenDitundaProyek migrasiMemerlukan permintaan £18,500 _· yang diminta oleh RitaDisetujui1SET THRESHOLDS0 Aifine menonaktifkan sebuah tier2REQUESTRephibe Repa menyerahkan kesepakatan3DIDECIDEPermintaan atau penolakan
Kebijakan persetujuan mendefinisikan dua nilai ambang batas dan antrian menunjukkan penundaan, disetujui dan keputusan ditolak.

Mengaktifkan kebijakan dan set level 1 Zadok dan Aras 2 Ambang batas. 0 Jika seorang non-manager mencoba memenangkan kesepakatan di atau di atas ambang batas, OpsIQ _menciptakan permintaan persetujuan daripada secara diam-diam mengubah panggung.

Pengurus dan administrator penuh tidak diblokir oleh kebijakan. setiap keputusan harus mempertahankan permintaan, menyetujui, waktu dan alasan untuk auditabilitas.

ORMA CRM

Aturan sepeda motor

Aturan sepeda motor bebas otomatis memindahkan kontak antar tahap ketika data mereka saat ini sesuai dengan kondisi yang disimpan.

Skrin produk
Aturan sepeda motorAturan daur hidup dinilai oleh prioritas; aturan pencocokan pertama mengubah tahap kontak.Aturan sepeda motorRuang kerja ERJKASIH7RUNSMalamPRIORITYYang tertinggi pertamaORANG KERJA HIDUPTimbalan → Dikualifikasiskor ≥ 60 dan aktiviti terkiniPrioriti 100_Keharmonisan → Pelangganperistiwa pembelian barang adaPrioriti 90_Pelanggan → Berbahayano activity for 60 daysPrioriti 70_Waxid pada risiko → Pelangganpembelian atau balasan baruPrioriti 60_1PICK STAGESDari dan ke2DEFINE FILTERJSON gaya Segmen3ORDER RULESPertandingan pertama menang
Aturan daur hidup dinilai oleh prioritas; aturan pencocokan pertama mengubah tahap kontak.

Setiap peraturan memiliki tahap sumber, tahap tujuan, bendera aktif, prioritas dan filter gaya segmen. job daur hidup terjadwal mengevaluasi prioritas lebih tinggi pertama dan berhenti setelah pertandingan pertama untuk sebuah kontak.

Aturan harus dapat dipahami secara bersama. Hindari dua aturan aktif yang dapat menggerakkan kontak yang sama ke arah berlawanan selama menjalankan yang sama. Uji filter terhadap segmen sebelum mengaktifkannya.

ORMA CRM

Aliran aktivitas CRM

Aliran aktivitas ruang kerja therload menggabungkan pelanggan dan acara operasional sehingga tim dapat menyelidiki apa yang terjadi tanpa membuka setiap modul.

Skrin produk
Aktivitas CRM¡Aksi arus aktivitas interleaves chat, tiket, email, webhook, konversi dan anomali peristiwa dengan filter dan pagination.Aktivitas CRMRuang kerja ERJKEPADA2,804CUSTOMERS1,126ANOMALIES14ORANG KERJA HIDUPKelelahan PercakapanMemerlukan [email protected] _· AISekarangTiket menjawabT-1048 · Billing4mPeristiwa yang tidak masuk akalsubscription.upgradediran. orgPenukaranOrder #7788 · £149Fiji 19m1FILTERAcara dan pelanggan2OPEN CONTEXTLompat ke rekor3PAGE RESULTSSiasat-siasat yang dilakukan oleh pelaku kejahatan
¡Aksi arus aktivitas interleaves chat, tiket, email, webhook, konversi dan anomali peristiwa dengan filter dan pagination.

Filter oleh tipe event, tanggal, kontak atau keadaan pelanggan (termasuk pelanggan berbayar). Pas adalah model baca dari aktivitas rekaman; tidak menggantikan tiket sumber, percakapan, kesepakatan atau catatan konektor. Buka catatan terkait sebelum mengambil tindakan sensitif.

ORMA CRM

Aliran kerja

Aliran kerja kinalis merespon sebuah acara dan menjalankan serangkaian tindakan yang diperintahkan, termasuk langkah tertunda dilanjutkan oleh cron.

Skrin produk
Aliran kerjaSebuah alur kerja menunjukkan pemicunya, tindakan selesai, menunggu penundaan dan langkah berikutnya.Aliran kerjaRuang kerja ERJKASIH9RUNNING42GAGAL1ORANG KERJA HIDUPPemicucontact.createdMulaLangkah ke - 1Kirimkan selamat datang emailSelesaiTundaanWait 2 _daySedang menungguLangkah ke - 2Cipta tugas penjualanFijibhutan1CHOOSE TRIGGERPeristiwa dimulai berjalan2ORDER STEPSTindakan dan penundaan3MONITORLanjutkan kembali melalui cron
Sebuah alur kerja menunjukkan pemicunya, tindakan selesai, menunggu penundaan dan langkah berikutnya.

Eksploitasi membuat alur kerja dengan memilih pemicu, menambahkan langkah-langkah dalam rangka dan mengaktifkannya. Lengahan disimpan, tidak dipegang oleh permintaan peramban; cron terpadu melanjutkan alur kerja yang jatuh tempo.

Instand-in awal template termasuk penyambutan setelah pendaftaran, pasca pembelian ucapan terima kasih dan konfirmasi demo. Klone a template, mengganti penerima/contentnya, kemudian menguji dengan catatan yang dikendalikan sebelum aktivasi luas.

Tindakan desain schafical untuk menjadi idempoten. Sebuah retry tidak boleh mengirim permintaan pendua money-moving atau membuat catatan duplikat.

Sodium Support

Tiket

Tiket adalah saluran dukungan formal Anda. mereka memiliki departemen, prioritas, target SLA, lampiran, catatan internal, dan benang percakapan penuh tiket dapat tiba dari OpsIQ Admin sistem, formulir tiket/embed, ingestion email, eskalasi obrolan, penyambung, atau API.

Tiket
Rincian tiketTiket dengan bilah sisi meta (prioritas, departemen, SLA, status), benang percakapan, dan draft AI dan tindakan pengembalian dana.TiketRuang kerja ERJ12345_(Prioritas)SMADepartemen Urusan AirBilSLA3h 12m kiriStatusBukaAku dikenakan dua kali untuk sayaLangganan pada 3Juni.AIAIDikonfirmasi duplikatBiaya, pengembalian dana.Jawaban draft AI IKAPengubahsaizan1THREADEDMemerlukan percakapan penuh + nota2SLA & ROUTINGPrioriti, dept, pemasa3AI DRAFTJawapan palsu ditulis untuk Anda
Setiap tiket membawa prioritas, departemen, SLA timer dan benang penuh, dan AI dapat menyusun balasan untuk Anda.

Bagaimana tiket mengalir

1
Tiket tiba

Seorang pelanggan mengirimkan pesan melalui email, eskalasi chatting, ticket bed, atau admin menciptakan satu. tiket mendapatkan ID unik (mis., T-12345).

2
Zarage

BAHASA AI membaca subjek dan badan, menetapkan prioritas (Low/Normal/High/Urgent), menyarankan sebuah departemen, dan mendeteksi sentimen. hal ini terjadi secara otomatis jika triage diaktifkan.

3
UMUM

Agen enggoda membuka tiket, membaca konteks (profil pelanggan, data platform dari konektor, tiket sebelumnya), dan menulis balasan. AI dapat menyusun kembali, dan edit agen sebelum mengirim.

4
KATA

Bila masalah selesai, agen menutup tiket pelanggan diberitahu.

Tindakan per-tiket

Departemen Perubahan

Pindah tiket ke departemen yang berbeda (misalnya, dari Jenderal ke Billing). Berguna ketika routing awal salah.

Umpukkan untuk agen

Uiff tiket untuk anggota tim tertentu.

Tambahkan nota internal

Kenota tulis catatan hanya terlihat pada staf. Gunakan untuk: temuan penyelidikan, alasan pengembalian dana, konteks teknik, komitmen sebelumnya. Catatan internal tidak pernah muncul ke pelanggan.

Cantumkan tiket

Semua pesan dari kedua tiket disimpan dalam tiket yang masih bertahan.

Respon yang tidak dapat dikalonkan

Penggambaran buklet jawaban pra-tulis. Variabel seperti {{customer_name}} Dan {{ticket_id}} Secara otomatis digantikan.

Penulisan ulang karya palsu

¡Biarkan AI meningkatkan jawaban draf Anda: menyesuaikan nada, perpendek/panjang, memperbaiki tata bahasa, atau menerjemahkan.

Keutamaan perubahan

Prioritas mempengaruhi timer SLA dan urutan.

Status perubahan

¡Ditetapkan untuk Membuka, Mending, Menunggu Pelanggan, Dipecahkan, atau Ditutup.

Contoh yang bekerja di bidang kined: menangani pelanggan yang tidak bahagia

Emel pelanggan: "Saya dicaj dua kali untuk langganan saya"

Skenario:
Subject: Double charge on my account
Body: Hi, I just checked my bank statement and I see two charges of $49.99 from your company dated June 3. I only have one subscription. Can you please refund the duplicate charge? This is really frustrating.
Apa yang harus dilakukan:

Step 1: AI triage assigns Priority: High, Department: Billing, Sentiment: Frustrated. Step 2: Agent opens the ticket. The connector panel shows the customer's Stripe charges, confirmed two charges on June 3. Step 3: Agent adds an internal note: "Confirmed duplicate charge in Stripe. Transaction IDs: ch_xxx and ch_yyy." Step 4: Agent drafts a reply: "Hi [Name], I can see the duplicate charge and I'm processing a refund for the second transaction right now. You should see $49.99 back in your account within 3-5 business days. I'm sorry for the inconvenience." Step 5: Agent triggers the refund action through the Stripe connector (with confirmation). Step 6: Agent sends the reply and sets status to Resolved.

Departemen-Departmen

Departemen-departemen di Departments > Tiket > Jabatan. Jabatan umum: Jenderal, Billing, Teknis, Penjualan, Penyalahgunaan, Pelimpahan, Pelarangan. setiap departemen dapat memiliki peraturan auto-reply yang berbeda, pengetahuan AI, dan tugas tim.

Respon yang Dikanon

Buat templat jawaban yang dapat digunakan kembali dalam Seting > Tiket > Respon Yang Dapat Didapatkan. Tanggapan yang baik antara lain:

Templat tanggapan sekata senam kalengan Contoh sempalan
Hi {{customer_name}},

Thanks for reaching out. I checked the details and here is what I found:

{{response_details}}

If you need anything else, just reply to this ticket and I will be happy to help.

Best regards,
{{agent_name}}
{{department_signature}}

Tiket Penggabungan

Ketika seorang pelanggan mengirimkan pertanyaan yang sama berkali-kali (via email dan chat, atau dua email terpisah), Anda dapat menggabungkan duplikat. Pergi ke tiket, klik Cange, pilih tiket lain untuk bergabung. Tiket yang selamat mendapatkan semua pesan dari kedua tiket. Subjek tiket yang digabung mendapat tag [MERGED] untuk menunjukkan itu digabungkan.

Prioriti dan SLA

LUCUL

Pertanyaan non-pemberontakan, permintaan fitur, umpan balik umum. respon pertama target: 24 jam.

iranos

Target pertama respon: 8 jam.

SMA

Target pertama respon: 4 jam.

Darurat

Layanan fregat menurun, insiden keamanan, kehilangan data, kesalahan penagihan. respon pertama target: 1 jam.

Penggulung SLA bermula bila tiket dicipta dan jeda bila status adalah "Menanti Pelanggan." Jika sasaran SLA terlepas, tiket ditonjolkan dan secara opsyenal dinaikkan.

Dapatkah pelanggan melihat catatan internal?+

Catatan internal hanya staf saja.

Apa yang terjadi ketika tiket tertutup dijawab?+

Secara otomatis tiket dibuka kembali dan kembali ke antrian aktif. Tim diberitahu balasan baru.

Boleh aku mengunci tiket untuk mencegah jawaban lebih lanjut?+

Gunakan pilihan Lock Thread untuk mencegah pelanggan maupun AI dari menambahkan jawaban baru. Berguna untuk menyelesaikan perselisihan atau penyelidikan tertutup.

Sodium Support

Studio Layanan: SLA, aliran status dan kualitas

Ruang kontrol untuk bagaimana operasi dukungan Anda berperilaku: Kebijakan SLA dengan tangga eskalasi, kalender jam bisnis, aliran status yang ditegakkan, pengaturan CSAT dan switch fitur enterprise. Buka dari halaman Tiket (tombol Service Studio di bar operasi).

Kebijakan-kebijakan yang dibuat oleh SLA

Setiap tiket baru mendapat batas waktu resolusi pertama dan resolusi dari kebijakan aktif yang paling spesifik: departemen + prioritas mengalahkan departemen, mengalahkan prioritas, mengalahkan default. Deadlines jeda secara otomatis sementara tiket duduk di Pending atau On hold.

Tangga Escalasi

Alih-alih satu tindakan pelanggaran, sebuah kebijakan dapat mendefinisikan hingga enam langkah: sebagai contoh memperingatkan pemberi tugas di 75% Dari jendela, manajer waspada di 100%, ditugaskan kembali ke agen bernama di 150% Setiap langkah api tepat sekali per tiket.

Jam dan kalender bisnis bagi para penulis

Dengan jam kerja bisnis pada, jam SLA hanya terbakar selama waktu bekerja, sehingga tiket yang dibuka Jumat malam tidak dilanggar Sabtu. Dinamakan kalender (zona waktu, hari, jam, liburan) dapat melekat pada kebijakan individu untuk tim di wilayah yang berbeda.

Aliran Status Flow

Sebuah matriks dari/ke batas matriks dari status mana yang dapat dibuat oleh admin, dengan praset gaya Zendesk. Otomasi, inbound email dan pelanggan-dioriginasi jawaban tiket selalu dikecualikan, sehingga sebuah matriks ketat tidak pernah bisa menjejam pipa. Secara opsional memerlukan sign-off yang disetujui sebelum penutupan.

Kepatuhan

Agen meminta tanda keluar pada tiket (pembayaran balik melebihi ambang, pengecualian polisi). Penyampai yang diberi nama atau mana-mana Pentadbir Penuh memutuskan dengan nota; penerima tidak boleh meluluskan permintaan mereka sendiri. Kebenaran menunggu muncul sebagai banner di dalam peti masuk.

Hubungan tiket

Tiket Link oleance sebagai terkait, duplikat, induk/anak atau pemblokiran; pembagian balasan ke tiket link baru (terbaliknya penggabungan, tanpa email pelanggan); mengikuti tiket untuk pemberitahuan in-app, dan opsional CC pengikut alamat email pada jawaban outbound.

Kekejaman dan tabrakan hidup dalam kotak

Dengan kotak masuk waktu nyata diaktifkan, tiket baru dan jawaban muncul untuk agen dalam hitungan detik melalui aliran pemberitahuan yang ada. Pada tiket, agen melihat siapa lagi yang melihat dan mendapatkan spanduk peringatan ketika rekan satu tim sudah menulis balasan. Sebuah tombol klaim satu klik menetapkan tiket kepada diri sendiri.

Laluan yang sedar AI

Peraturan laluan boleh sepadan pada isyarat penapisan AI: keutamaan, kategori, perasaan dan risiko escalation, ditambah nilai- medan suai yang ditipkan dari borang permintaan portal anda. Peraturen menggunakan keadaan ini tetap rehat sehingga ciri dihidupkan.

💡
Setiap perusahaan beralih kapal OFF. Menyalakan satu di Service Studio → Kualitas & Automasi adalah opt-in; meninggalkan mereka off terus perilaku identik dengan sebelum peningkatan.
Mengapa pelanggan masih bisa membuka kembali tiket tertutup ketika matriks saya melarang tutup → terbuka?+

Matriks hanya mengatur tindakan ADMIN. Pelanggan-dioriginasi balasan, jawaban email dan otomatisasi sengaja dikecualikan sehingga kebijakan yang ketat tidak pernah dapat mengunci pelanggan keluar atau memecahkan pipa.

Apakah tangga SLA menggantikan tindakan pelanggaran lama?+

Polisi disimpan dengan aksi pelanggaran tunggal terus bekerja tidak berubah tangga menggantikan tindakan tunggal hanya pada kebijakan di mana Anda mendefinisikan langkah.

Sodium Support

Auto-jawab tiket dan eskalasi

Auto-reply memungkinkan AI merespon tiket baru secara otomatis. Escalation memindahkan tiket ke departemen yang berbeda ketika AI mendeteksi kebutuhan khusus. Kedua fitur bekerja di seluruh tiket asli dan tiket diciptakan email.

Secara Otomatis
Autobalasan tiketSebuah aliran: tiket baru, dua menit penundaan, AI balasan dari pengetahuan dan konteks, kemudian dikirim atau disimpan sebagai draf.Secara OtomatisRuang kerja ERJKetika tiket baru tibaTiket baruSumber apa sajaTundaan2 minBalasan AIOIKB + konteksÁ Senatau drafJika jawaban manusia selama penundaan, auto-reply dibatalkan. Intent dapat meningkat ke departemen lain terlebih dahulu.1DELAYManusia dapat kesempatan pertama2AI REPLIESDari konteks KB +3OR ESCALATERute oleh maksud
Tiket baru ollow mendapatkan penundaan singkat (sehingga manusia dapat melompat masuk), kemudian balasan AI dari pengetahuan Anda, dikirim atau dibariskan sebagai draf.

Bagaimana kerja auto-reply

1
Tiket muncul

Sebuah tiket baru dibuat dari sumber manapun (email, chat, portal, API_).

2
Jadwal kerja

OpsIQ Waits untuk penundaan yang telah dikonfigurasi (lalai: 2 Ini memberi agen manusia kesempatan untuk merespon terlebih dahulu.

3
Balasan pertama menang

Jika agen manusia menjawab selama penundaan, auto-reply dibatalkan. Jika tidak, AI menghasilkan balasan.

4
Hasilkan dan kirim

¡AI membaca tiket, memeriksa basis pengetahuan, konteks konektor, dan sejarah pelanggan, kemudian menulis balasan. Reply dikirim (atau dibaris gilir sebagai draf untuk ulasan, tergantung pada pengaturan).

Bagaimana eskalasi bekerja

1
Departemen-departmen

Jabatan mana yang dapat menerima eskalasi (misalnya, Billing dapat ditingkatkan dari Jenderal, Teknis dapat diekskavasi dari Umum).

2
Kelaskan tiket

Sebelum replying otomatis, AI mengklasifikasikan maksud tiket: penagihan, teknis, pengembalian dana, penyalahgunaan, dll.

3
Move jika diperlukan

Jika tujuan tiket cocok dengan departemen eskalasi, tiketnya dipindahkan.

4
Janakan dalam suara baru

Balasan molander dihasilkan menggunakan pengetahuan departemen tujuan dan pelatihan AI.

Rujukan pengaturan metano

Aktif secara otomatis

Hidupkan untuk mengaktifkan AI auto-reply untuk tiket.

Departemen-departemen yang diizinkan

Departemen mana yang dapat menerima auto-replies. mulai dari departemen berisiko rendah (General, Sales) sebelum mengaktifkan penagihan.

Tundaan

OFIN Berapa lama menunggu sebelum jawaban AI (dalam detik). Default: 120 detik (dalam bahasa Inggris)230 menit). set to0Untuk jawaban instan.

Jadual Lengah

Secara opsional, menetapkan penundaan yang berbeda untuk jam kerja vs. setelah jam kerja.

\"Hentikan di balasan admin\"

Jika agen manusia menjawab pertama, batalkan auto-reply.

Escalasi diaktifkan

Pengalihan departemen otomatis yang diaktifkan berdasarkan maksud tiket.

Departemen Escalation

Tiket departemen mana yang bisa ditingkatkan.

Status Escalasi

Status apa yang akan ditetapkan sewaktu eskalasi (misalnya, Buka, Tunda).

Catatan Escalation

Apakah untuk menambah catatan internal menjelaskan alasan eskalasi.

Tiket yang dibuat e-mail

Tiket nickoff yang dibuat dari email (via polling kotak surat atau pengiriman MX-piped) mengikuti aturan auto-reply dan eskalasi yang sama. Balasan AI dikirim sebagai respon email kepada pelanggan. draf Email pergi ke antrian draf untuk ditinjau jika dikonfigurasi.

Akankah AI membalas untuk mengajukan pertanyaan?+

Hanya jika Anda mengaktifkan auto reply untuk departemen Billing kami sarankan mulai dari auto-reply off untuk tagihan dan memungkinkannya hanya setelah Anda telah melatih AI dengan pengetahuan penagihan menyeluruh dan diuji secara menyeluruh.

Bagaimana jika AI memberikan jawaban yang salah?+

Jika pelanggan menjawab jawaban yang mengatakan jawabannya salah, seorang agen manusia harus campur tangan. Review AI History untuk memahami mengapa AI memberikan jawaban yang salah, maka memperbaharui basis pengetahuan atau pelatihan AI untuk mencegah hal itu terjadi lagi.

Boleh aku meninjau ulang auto-replies sebelum mereka dikirim?+

Ya. Tetapkan mod penghantaran kepada "Draf" bukannya "Auto-hantar". Draf autobalas akan muncul dalam baris gilir Draf untuk tinjauan manusia sebelum dihantar.

Sodium Support

Portal tiket ditancapkan

Portal tiket beded memungkinkan Anda menambahkan antarmuka manajemen tiket ke website manapun pelanggan dapat melihat tiket mereka, membuat yang baru, dan membalas, semua tanpa masuk OpsIQ \"Madfi admin\".

Bagaimana cara kerjanya
Portal tiket ditancapkanSebuah portal pendukung tertanam di website yang menunjukkan tiket mereka sendiri dan tombol baru.yoursite.com/supportPusat Dukungan SogiTiket baruKATA YOUR TICKETS#1042 · Pertanyaan pengembalian uangBuka#1038 · Setup bantuanDipecahkan#1031 · Salinan audioDitunda1EMBEDTambahkan ke situs mana pun2SELF-SERVEPelanggan melihat tiket mereka3NO LOGINIdentitas yang ditangani dengan aman
Portal tiket ditancapkan

Tiga rasa embeded

Tertanam dalam garis

Portal itu mengambil lebar penuh dari wadahnya.

Widget terapung

BARIS Menampilkan tombol mengambang yang membuka portal tiket dalam panel. Mirip dengan widget chat.

Disahkan

Mereka hanya perlu tanda pengenal, pelanggan hanya melihat tiket mereka sendiri.

Pemasangan

Knippet tiket gadaian
<script src="https://your-opsiq-domain.com/widget.php"
  data-site-key="site_abc123"
  data-mode="tickets"
  data-identity-token="SERVER_GENERATED_TOKEN"
  async></script>

Generasi token Identiti Identitas

For authenticated mode, your server must generate a signed identity token. This token tells OpsIQ who the customer is so they see only their own tickets.

PHP KEPJAYA · menghasilkan token identitas
<?php
// Generate identity token (PHP)
$site_secret = "opsiq_whsec_your_secret";
$payload = json_encode([
    "site_key" => "site_abc123",
    "customer" => [
        "id" => "cust_1001",
        "email" => "[email protected]",
        "name" => "Ada Lovelace",
    ],
    "iat" => time(),
    "exp" => time() + 900, // 15 minutes
]);
$token = base64_encode($payload) . "." . hash_hmac("sha256", $payload, $site_secret);
// Pass $token to the frontend
WHMCS Token identitas · hook · lemp
// WHMCS hook — auto-generate identity token
add_hook("ClientAreaPage", 1, function($vars) {
    if (!isset($vars["loggedinuser"])) return;
    $payload = json_encode([
        "site_key" => "site_abc123",
        "customer" => [
            "id" => $vars["loggedinuser"]["id"],
            "email" => $vars["loggedinuser"]["email"],
            "name" => $vars["loggedinuser"]["firstname"]." ".$vars["loggedinuser"]["lastname"],
        ],
        "iat" => time(),
        "exp" => time() + 900,
    ]);
    $token = base64_encode($payload).".".hash_hmac("sha256", $payload, "opsiq_whsec_xxx");
    // Inject into page
});
\"Node. js\", menghasilkan tanda identitas
// Node.js / Express — generate identity token
const crypto = require("crypto");

function generateOpsIQToken(customer) {
    const payload = JSON.stringify({
        site_key: "site_abc123",
        customer: {
            id: customer.id,
            email: customer.email,
            name: customer.name,
        },
        iat: Math.floor(Date.now() / 1000),
        exp: Math.floor(Date.now() / 1000) + 900,
    });
    const sig = crypto.createHmac("sha256", "opsiq_whsec_xxx")
        .update(payload).digest("hex");
    return Buffer.from(payload).toString("base64") + "." + sig;
}

Fitur Widget

Daftar tiket

Daftar yang dicari, disaring status.

Percakapan yang dibebendungkan

Pandangan percakapan penuh dengan teks, lampiran, dan timestamp yang kaya.

Autosimpan Draf

Customer draft jawaban yang disimpan secara otomatis sehingga mereka tidak kehilangan pekerjaan jika mereka navigasi pergi.

jajak pendapat langsung

jajak pendapat widget untuk jawaban baru setiap ~12 detik.

Mengeluarkan / membuka kembali

Pelanggan dapat menyelesaikan atau membuka kembali tiket mereka sendiri dengan satu klik.

Catatan staf internal tidak pernah ditunjukkan kepada pelanggan dalam benam tiket.
Sodium Support

Kotak masuk Chat

Kotak Masuk Chat adalah tempat tim Anda mengelola percakapan pelanggan langsung. Ini menunjukkan obrolan aktif, percakapan ditugaskan, chatting AI-handled, dan sejarah arsip.

Kotak masuk Chat
Kotak masuk ChatPeti masuk perbualan ejen tiga-pane: senarai perbualannya, perbualnya secara langsung dengan chip draf AI, dan panel konteks pengunjung/CRM.Kotak masuk ChatRuang kerja ERJKANJDJane.Dimana pesanankuKANTOR MOiranPertanyaan tagihanKAN& LukiskanAIA ditanganiDimana pesananku?Dikirim hari ini · UPSKAU siap untuk bersiap-siapBalas...VIUSTORJane Doe· Krom3 _lewati perintahLTV $480_ORMA CRMTahapan: Pelanggan1UNIFIEDSetiap chat hidup2CONTEXTPanel lawatitor + CRM3AI ASSISTKOMDraf & penulisan ulang
1 inbox untuk setiap percakapan langsung, daftar percakapan, benang dengan draf AI pada keran, dan pengunjung penuh + konteks CRM.

Pembicaraan pembual

Obrolan aktif

Percakapan yang sedang berlangsung. Green dot = pelanggan mengetik atau baru-baru ini aktif.

Diurus oleh AI

Perbualan di mana AI menjawab. Anda boleh ambil alih bila-bila masa dengan mengklik "Sertai."

Ditugaskan padaku

Percakapan yang ditugaskan khusus untukmu.

Sedang menunggu

Percakapan di mana pelanggan menunggu tanggapan.

Arsip

Percakapan selesai.

Dilepaskan dari AI ke manusia

Bila kau mengambil alih percakapan dari AI, ikuti tiga aturan ini:

1
Alfly

Ini Sarah dari tim pendukung.

2
Konteks referensi Ukraina

Tunjukkan awak baca perbualan. "Saya nampak awak tanya status pesanan awak."

3
Keharapan

Beritahu pelanggan apa yang akan berlaku seterusnya. "Saya sedang mengkaji perkara ini sekarang dan saya akan ada jawapan untuk anda dalam beberapa minit."

Menghidupkan/off AI pada/mengaktifkan AI per percakapan

Jika AI aktif, AI akan menghasilkan respon. ketika mati, hanya agen manusia yang dapat membalas. AI mengingat konteks percakapan bahkan ketika dimatikan dan kembali.

Mode Away / jam keluar

Konfigur jam kerja dalam Tetapan. Diluar jam kerja, AI boleh: (1) Teruskan menjawab kepada pelanggan, (2) Papar mesej "keluar" dan cipta tiket untuk diikuti, atau (3) Lumpuhkan sembang sepenuhnya dan papar borang tiket. Pilih perilaku yang sesuai dengan model sokongan anda.

Memegang percakapan yang sulit

1
Tenang.

Jangan sesuaikan intensitas emosional pelanggan.

2
Pengumpul fakta

Sebelum merespon, kumpulkan informasi yang relevan: detail pesanan, status akun, tiket sebelumnya.

3
Escalasi awal

Jika situasinya melibatkan pengembalian uang, ancaman hukum, penyalahgunaan, atau keamanan, meningkat menjadi anggota tim senior daripada mencoba untuk menanganinya sendirian.

Bisa aku bicara dengan tim?+

Ya. Gunakan catatan internal dalam percakapan untuk berkomunikasi dengan agen lain. Catatan ini tidak pernah terlihat oleh pelanggan.

Apa yang terjadi saat aku menutup percakapan?+

Jika pelanggan mengirimkan pesan baru nanti, percakapan baru akan dibuat.

Sodium Support

Saluran Pesanan

WhatsApp, Facebook Messenger, Instagram DM, Telegram dan LINE sehingga pelanggan pesan sudah mengirimkan anda dalam inbox yang sama dengan chat website anda, dijawab oleh asisten AI yang sama.

Dari semua saluran yang berperilaku sama sekali terhubung: pesan pelanggan menjadi percakapan di Kotak Masuk Chat, asisten AI Anda menjawabnya dengan menggunakan pengetahuan dan instruksi yang sama seperti chat website Anda, dan setiap agen dapat mengambil alih. Tidak ada tentang AI kebutuhan konfigurasi per channel.

Apa hubungan terlihat seperti

Utusan Facebook & Instagram

Bukalah → _Pengirim Facebook & Instagram DM, klik Sambung, masuk dengan akun Facebook yang mengelola Halaman Anda, dan pilih Halamannya. Instagram datang dengannya ketika Halaman Anda memiliki akun profesional Instagram yang dihubungkan.

WhatsApp

Satu klik di mana penyedia anda menawarkannya: membuka penyambung Messaging Hub dan menggunakan Connect WhatsApp, kemudian ikuti petunjuk Meta untuk memilih atau membuat nomor Whatsapp Business Anda. Jika tidak, paste kredensial dari salah satu 20 gateways.

Telegram

Two minutes. Message @BotFather in Telegram, send /newbot, choose a name and a username ending in "bot", and paste the token it gives you into the Telegram connector. OpsIQ registers the webhook for you.

BARIS

Create a Messaging API channel at developers.line.biz, paste the Channel secret and access token, then copy the webhook URL shown in OpsIQ into LINE and switch its own auto-replies off.

SMS

FALD sebuah penyedia (Twilio, Vonage, Termii dan lain-lain) di Hub Pesan dengan nomor kredensial dan pengirimnya.

Setiap konektor menunjukkan instruksi langkah demi langkah di dalam laci, termasuk apa yang harus disalin dan dimana. Anda tidak pernah membutuhkan kredensial pengembang untuk pilihan satu klik.

Ada saluran di

Gnectkan sebuah saluran tidak memulainya. Pergi ke Settings → Client Chat → Advanced → Messaging ChannelsSetiap saluran memiliki AI sendiri secara otomatis, sehingga Anda dapat mengemudi pada satu sebelum membuka sisanya.

1
Buat saluran

Di Konektor, menggunakan instruksi di laci konektor itu.

2
Tes sambungannya.

Ini membuat panggilan nyata ke penyedia dan memberitahu Anda apa yang salah jika ada sesuatu.

3
Menyalurkan saluran pesan

Tetapan Profil→Klien:→Hidupkan tombol utama, lalu salurannya.

4
Ajukan pesan pada dirimu sendiri

Dari akun lain, pesan Halaman, nomor atau bot Anda. Seharusnya muncul di Kotak Masuk Chat dalam hitungan detik dan mendapatkan balasan AI.

Jendela Balas

Messaging platforms limit how long a business may reply after a customer writes. OpsIQ shows the remaining time on each conversation and enforces the rule for you.

WhatsApp

24 _jam dari pesan terakhir pelanggan. Setelah itu anda hanya boleh mengirim templat yang disetujui, yang mana anda konfigurasikan di tab Lanjutan yang sama.

Utusan Rasulullah & Instagram

24 hours for normal replies; agents may answer up to 7 days later under Meta's human-agent allowance.

Telegram, LINE, SMS

Tidak ada jendela yang disimpul.

⚠️
Jika balasan gagal karena jendela ditutup, percakapan menunjukkan alasannya. Ini adalah aturan platform, bukan batas OpsIQ _.

Pertanyaan umum

Apakah pelanggan melihat bahwa jawaban AI?+

Hanya jika Anda memberitahu mereka.

Apa agen bisa mengambil alih pertengahan konflik?+

Buka percakapan di Kotak Masuk Chat dan klik Join. AI berhenti, Anda mengetik, dan pelanggan melihat benang yang berkesinambungan di sisi mereka.

Bagaimana jika aku memutuskan saluran?+

Use Disambungkan pada penyambung. Sejarah pesan disimpan; pesan baru berhenti tiba, dan platform disuruh untuk menghentikan pengirimannya.

Bisa dua ruang kerja menggunakan Facebook Page yang sama?+

Tidak. sebuah Halaman milik satu ruang kerja pada suatu waktu. Menghubungkannya ke tempat lain memindahkannya, dan ruang kerja pertama berhenti menerima pesan, jadi putuskan dengan sengaja daripada menyambung kembali ke tempat lainnya.

Sodium Support

Perbualan sembang sebenar

Contoh-contoh ini menunjukkan bagaimana AI Pelanggan terlatih harus menangani skenario umum. Gunakan mereka untuk menguji pelatihan AI Anda dan mengidentifikasi celah.

10 Contoh percakapan contoh-contoh tasifus

1Kembali pelanggan bertanya tentang pesanan

Skenario:
Customer: Hi, I placed an order 3 days ago and haven't received any shipping notification yet. Order #ORD-5523.
Apa yang harus dilakukan:

The AI should: (1) Look up order #ORD-5523 through the connector. (2) Report the current status and tracking info if available. (3) If the order is delayed, acknowledge the delay and provide an estimated timeline. (4) Do NOT invent a shipping status if the connector does not have one.

2Prospect bertanya tentang harga

Skenario:
Customer: How much does your Pro plan cost? Do you offer annual billing?
Apa yang harus dilakukan:

The AI should: (1) Answer from the knowledge base with current pricing. (2) Explain the difference between monthly and annual billing. (3) If the answer is not in the knowledge base, say so and offer to connect them with sales. (4) Do NOT invent pricing that is not in the knowledge base.

3Pelanggan yang marah menuntut pengembalian dana

Skenario:
Customer: This is ridiculous! Your product does not work and I want my money back NOW.
Apa yang harus dilakukan:

The AI should: (1) Acknowledge the frustration calmly. (2) Ask for the order number or account email. (3) Explain the refund process. (4) Create a support ticket or escalate to a human agent. (5) Do NOT promise a refund, that requires human approval.

4Kasus ganda di pinggir.

Skenario:
Customer: I was charged twice this month. My bank shows two charges of $29.99.
Apa yang harus dilakukan:

AI harus: (1Akui kekhawatirannya.2) Kumpulkan perincian yang relevan (email, tanggal tuntutan). (3) Jelaskan bahwa masalah penagihan membutuhkan ulasan manusia. (4) Ciptakan tiket jabatan Billing dengan rinciannya. (5Tetapkan prioritas ke High.

5. Pelanggan multi-bahasa

Skenario:
Customer: Bonjour, je voudrais savoir si vous livrez en France?
Apa yang harus dilakukan:

AI harus: (1) Menanggapi dalam bahasa pelanggan jika bahasa tersebut didukung. (2Jawab pertanyaan tentang pengiriman ke Prancis dari dasar pengetahuan.3) Jika bahasa tersebut tidak didukung, respon dalam bahasa baku dan menyebutkan bahasa mana yang tersedia.

6Setelah berjam-jam percakapan

Skenario:
Customer: Hello, is anyone there? I need help with my account.
Apa yang harus dilakukan:

AI harus: (1Jika dikonfigurasikan untuk AI selepas waktu kerja, jawab dan bantu.2) Jika selepas-jam mencipta tiket, kata: "Pasukan kami semasa ini luar talian. Saya telah mencipta satu tiket sokongan untuk anda dan seseorang akan mengikuti semasa jam perniagaan." (3Berikan nombor tiket.

7Perbandingan pra pembelian belanja

Skenario:
Customer: How does your product compare to [Competitor X]?
Apa yang harus dilakukan:

The AI should: (1) Describe your product's strengths factually. (2) Do NOT badmouth the competitor. (3) If there is a comparison page in the knowledge base, link to it. (4) If the customer asks about features you do not have, be honest.

8Pelanggan ingin rekomendasi.

Skenario:
Customer: I run a small online store with about 100 orders per month. Which plan is right for me?
Apa yang harus dilakukan:

The AI should: (1) Ask clarifying questions if needed (e.g., what features matter most). (2) Recommend a plan based on the knowledge base. (3) Explain why that plan fits their needs. (4) Mention that they can start with a smaller plan and upgrade later.

9Pelanggan mencoba untuk mendapatkan diskon yang tidak sah

Skenario:
Customer: I saw online that you give 50% discounts. Can I have one?
Apa yang harus dilakukan:

AI harus: (1Secara sopan menjelaskan promosi saat ini jika ada yang ada. (2) JANGAN membuat atau menjanjikan diskon yang tidak berada dalam dasar pengetahuan. (3Jika pelanggan tetap bertahan, menawarkan untuk menghubungkan mereka dengan tim penjualan.

Kesu_pan 10. Pelanggan memerlukan bantuan dengan fitur

Skenario:
Customer: How do I export my data? I can't find the export button.
Apa yang harus dilakukan:

The AI should: (1) Provide step-by-step instructions from the knowledge base. (2) Include the exact page path and button location. (3) If the feature requires a specific plan, mention that. (4) If the feature does not exist, be honest and suggest alternatives.

Sodium Support

routing dan eskalasi chat

Bila sebuah obrolan langsung membutuhkan orang yang nyata, AI menjawab dua pertanyaan: tim mana yang memiliki percakapan ini, dan siapa yang harus diberitahu. keduanya dikonfigur dalam Pengaturan, Klien Chat, Dukungan Flow, di bawah departemen routing AI.

Para departemen yang dapat digunakan oleh AI

2 kotak di panel itu adalah daftar putih departemen pindah ke kanan satu-satunya yang dapat AI rute atau tiket terbuka masuk apapun yang tersisa di kiri tidak terlihat olehnya bahkan jika departemen ada dan staf mulai sempit dan menambahkan departemen sebagai Anda staf mereka

💡
If no department is enabled at all, OpsIQ falls back to legacy routing across every department it can find. Treat that as a safety net, not a configuration choice.

Siapa yang menerima eskalasi

This is the part most people expect to configure and do not need to. When the AI escalates a chat, OpsIQ emails the people attached to that department. You manage that list once, on the Team and Departments page, and both ticket escalation and chat escalation follow it.

Anggota pasukan Jabatan

Setiap admin aktif yang melekat pada departemen menerima salinan mereka sendiri. Ditangguhkan dan dilumpuhkan rekening dilewatkan.

Fadmin Primer Fabrik

Digunakan ketika tidak ada anggota tim yang melekat, sehingga eskalasi masih mencapai seseorang.

Tak ada yang dilampirkan.

Panel routing menandai departemen merah dan AI tidak memberitahu pengunjung bahwa manusia diberitahu.

⚠️
Alamat email Departemen A sendiri sengaja tidak pernah digunakan sebagai penerima. alamat tersebut adalah kotak surat tiket masuk departemen, yang satu surat masuk dicocokkan dengan tiket terbuka. eskalasi yang dikirim akan dipipe kembali sebagai tiket baru daripada mencapai seseorang.

Departemen tangkapan

Ini menerima percakapan AI tidak bisa percaya diri tempat, dan itu adalah jalan terakhir daripada jalan normal.

1
Sinyal clear signal menang

Kata Billing pergi ke departemen penagihan, hosting dan kesalahan mengatakan kepada yang teknis, membeli kata-kata untuk penjualan.

2
Pengkelas AI ke depan.

Jika kata kunci tidak meyakinkan, model membaca percakapan dan memilih dari departemen yang diaktifkan.

3
Lalu menangkap semua

Hanya ketika keduanya datang kosong Apakah departemen menangkap-semua menerima chat.

4
Petugas penjualan

If the catch-all is a sales department and the visitor showed no buying signal, OpsIQ looks for a support or technical department instead, so ordinary support questions do not accumulate in Sales.

Apa yang dikatakan pengunjung

Jika email eskalasi keluar, AI memberitahu pengunjung tim telah diberitahu. jika tidak dapat keluar, Al mengatakan sesuatu yang jujur dan mengundang mereka untuk meninggalkan pesan dalam chatting sebagai gantinya.

Panel kata "Tiada siapa untuk memberitahu" bagi satu jabatan+

Tak ada yang dilampirkan ke dalamnya.

Bisa bicara dengan eskalasi pergi ke tempat lain selain tim?+

Alamat langganan yang sebelumnya disimpan untuk departemen masih membatalkan daftar tim.

Kenapa aku dilewatkan?+

Check whether it is a sales department. If it is, and the visitor showed no buying signal, OpsIQ routes to a support or technical department on purpose.

Sodium Support

Kotak surat dan draf Email

OpsIQ Menyampaikan pesan email untuk secara otomatis membuat tiket dari email masuk dan mengirim balasan sebagai surel.

E-mail
Email ke tiketKotak-surat berisi IMAP pada kotak surat di sebelah kiri memberi makan email masuk ke dalam tiket berbenang dengan balasan yang tertabur AI di sebelah kanan.E-mailRuang kerja ERJ[email protected] · IMAPPermintaan pengembalian uang[email protected]Indianapolis tidak dapat log masuk[email protected]voice copy[email protected]Tiket tiket 1042Dari email · BillingAku ingin uang kembali untukTuduhan pendua...Draf AIUlasan & kirim balasan1INGESTIMAP & forwarding in2TO TICKETSDibebenang secara otomatis3AI DRAFTSBalasan untuk ulasan
Pull email in over IMAP (or forwarding), turn each into a threaded ticket, and let the AI draft the reply for review.

GOVS sebuah kotak surat

Protokol

IMAP (kebanyakan penyedia), Gmail API Nigoda (Google Area Kerja), atau Microsoft Graph (Outlook 365).

Pengaturan-perlengkapan yang dibutuhkan

Host palsu, port, enkripsi (dalam bahasa Inggris).SSL/TLS), nama pengguna, kata sandi atau aplikasi, folder (biasanya INBOX).

Pemetaan Jabatan

Petakan peti mel ke bahagian tiket. Emel kepada [email protected] mencipta tiket dalam bahagian "Support".

Gmailsetup (langkah demi langkah)

1
Enable 2-Step Verification

Pergi ke Google Account > Security > 2- Langkah Verifikasi dan mengaktifkannya.

2
Terapkan Kata Sandi Aplikasi

Pergi ke Akaun Google > Keselamatan > Katalaluan Aplikasi. Pilih "Mel" dan "Lain-lain (OpsIQ)". Salin 16 Kata laluan -character.

3
Ke_masukkan di OpsIQ

Pergi ke Email > Kotak Surat > Tambahkan. Tetapkan host: imap.gmail.com, pelabuhan: 993, enkripsi: SSL Nama pengguna: [email protected] Kata sandi aplikasi.

4
Uji

Click Test Connection. If successful, OpsIQ will start polling for new emails at the configured interval.

konfigurasi 365 Outlook

1
Check IMAP is enabled

In Outlook settings > Mail > Sync email, ensure IMAP is enabled.

2
Use kata sandi aplikasi atau auth modern

Jika MFA diaktifkan, buatlah sandi aplikasi. Jika tidak, gunakan kata sandi biasa Anda.

3
Ke_masukkan di OpsIQ

Host: outlook.office365.com, pelabuhan: 993, enkripsi: SSL Nama pengguna: [email protected].

cPanel setup webmail

1
Find IMAP settings

Di cPanel Akaun > E- mel, klik akun email Anda untuk IMAP setting.

2
Ke_masukkan di OpsIQ

Host: biasanya mail.yourdomain.com Nama pelayan anda, port: 993 (SSL) atau 143 Nama pengguna: alamat email lengkap.

AI draft email

Apabila auto-jawab ditetapkan ke mod "Draf", AI menghasilkan draf jawapan yang muncul dalam baris gilir Draf. Anda boleh:

Ulasan

Baca draf dan periksa ketepatannya.

Tak ada yang namanya \"Sunting\"

¡Koreadon memodifikasi teks, nada, atau isi sebelum pengiriman.

Kirim

Mintalah draf dan kirimkan sebagai balasan email.

Buang

Hapus draft jika tidak sesuai.

Oto-kirim

Jika keyakinan ubuntu cukup tinggi dan auto-send diaktifkan, draf dikirim secara otomatis setelah penundaan yang dapat dikonfigurasi.

Kenapa email tidak ditukarkan ke tiket?+

Periksa: (1) Apakah kotak surat terhubung dan sehat? Cari status hijau di Email > Kotak Surat. (2Apakah pekerjaan cron berjalan?3) Apakah email sedang disaring atau dipindahkan ke folder selain INBOX?

Boleh aku pakai kotak surat?+

Setiap kotak surat dapat dipetakan ke departemen yang berbeda. [email protected] Dia pergi untuk mendukung, [email protected] Dia pergi ke Billing.

Sodium Support

Kepuasan pelanggan ifsufi (CSAT)

¡Ablat CSAT mengukur tiket dan kepuasan chat, permukaan respon tidak bahagia dan membandingkan AI dan hasil manusia.

Skrin produk
Kepuasan pelanggan ifsuifHalaman CSAT codemkan kartu skor, tindak lanjut detraktor, komentar, kerusakan departemen dan agen, dan umpan balik obrolan.Kepuasan pelanggan ifsuifRuang kerja ERJRESPONSES386AVERAGE4.6POSITIVE91%ORANG KERJA HIDUPTindak lanjut Pencabutan Feksi12 Respons palsu dinilai1–2UlasanSurvei tiket cengkeAku dikirim. 24h after closeAutomatikUmpan balik obrolan tidak masuk akalAIO 4.5 · Manusia 4.7BandingkanPandangan Agen AgensiJumlah dan jumlah respon yang diberikan oleh badanPelatih1WATCH AVERAGEGunakan trend, tidak satu skor2FOLLOW DETRACTORSBaca komentarnya3COMPARE FAIRLYAI dan manusia
Halaman CSAT codemkan kartu skor, tindak lanjut detraktor, komentar, kerusakan departemen dan agen, dan umpan balik obrolan.

Ticket surveys are scheduled after closure (normally 24 hours later). A positive response is a score of 4 or 5. Use the detractor queue for scores of 1 or 2 and read the ticket/conversation before contacting the customer.

Umpan balik obrolan oleh pihak asing dilaporkan secara terpisah untuk percakapan yang diresolved dan ditangani manusia. Ukuran sampel yang rendah tidak boleh digunakan untuk peringkat agen atau model.

Sodium Support

Siaran emel pasukan

Halaman Platform Email memungkinkan operator yang berwenang mengirim pesan satu kali ke semua agen aktif, agen terpilih atau departemen dan review mengirimkan sejarah.

Skrin produk
Platform E-melKomposer email tim ini memperlihatkan kepada hadirin, subjek, pesan dan riwayat pengiriman yang lalu.Platform E-melRuang kerja ERJRECKIPIENTS12DELIVERED11GAGAL1ORANG KERJA HIDUPPenonton\"Fakta\"Ukrainian dipilihSubjekRota dukungan JuliSiapPesan ToolCatatan jadwal dan eskalasiSiapSejarahHasil dan siaran sebelumnyaPaparan1CHOOSE PEOPLESemua, terpilih atau tim2WRITE CLEARLYSubjek dan pesan3REVIEW HISTORYHasil konfirmasi oleh Co.
Komposer email tim ini memperlihatkan kepada hadirin, subjek, pesan dan riwayat pengiriman yang lalu.

Halaman ini untuk pesan operasional internal, bukan pemasaran pelanggan. Pilih audien yang paling kecil benar, nama pratinjau dan alamat, kemudian kirim. Pengiriman menggunakan jalur email outbound yang dikonfigurasi dan mencatat hasilnya.

Sodium Support

Kotak surat, pengiriman dan email masuk

Configure how OpsIQ sends email, turns inbound messages into tickets and proves the sending domain is ready.

Skrin produk
Tetapan e- melTetapan emel menggabungkan laluan keluar, Dari identiti, pengambilan peti mel, semakan penghantaran dan ujian e-mel.Tetapan e- melRuang kerja ERJKELUARSMTPMAILBOXES3DOMAINJalur HANOORANG KERJA HIDUPKonektor yang disukai oleh KIFIDSMTP / penyedia sambunganDikonfigurasiAsal usul identitasSupport <[email protected]>SiapKotak-surat IMAP o-mel[email protected] · INBOXPolingKebolehbebasanPASAL DERCJalur HANO1CHOOSE OUTBOUNDKonektor atau SMTP_2CONNECT INBOXIMAP Poki atau pipa3ESTKirim dan periksa
Tetapan emel menggabungkan laluan keluar, Dari identiti, pengambilan peti mel, semakan penghantaran dan ujian e-mel.

Email Outbound

Administrator penuh dapat memilih penyambung surel yang disukai; OpsIQ jatuh kembali ke konfigurasi SMTP Kirim /mail bila sesuai. Atur yang dapat dikenali Dari nama/alamat, kirim tes dan periksa 24-Kesuksesan jam/kegagalan metrik.

Kotak - Kotak Mel

Kotak-surat IMAP perlu nama, alamat email, departemen target, host, port, mode keamanan, username, password, folder, polling state dan circtific-validation choice. Gunakan Sekarang kau akan menjadi Untuk memastikan pemeriksaan sebelum menunggu cron.

Penipisan instan buatan

Di server yang sama, pipa surat dapat menyampaikan pesan mentah RFC822 secara langsung. Sebuah server surat jauh dapat POST pesan mentah ke titik akhir inbound terlindung menggunakan tokennya. Kedua jalur memasukkan deduktasi yang sama , threading dan carket-routing pipeline.

Kebolehbebasan

Pemeriksaan SPF/DKIM/DMARC adalah bukti penasihat untuk yang dikonfigurasi Dari domain. Pemeriksaan hijau tidak menjamin penempatan inbox, tetapi kegagalan harus diperbaiki sebelum mengirim pesan produksi.

Sodium Support

Sodium Support Portal Studio

Sogodia Pendukung Portal Studio desain dan menerbitkan pengalaman dukungan pelanggan-mengganti tanpa memerlukan aset gambar eksternal.

Skrin produk
Sodium Support Portal StudioPortal Studio menampilkan pratinjau yang responsif di samping tema, navigasi, pengetahuan, tiket, asisten, formulir, footer dan CSS kontrol.Sodium Support Portal StudioRuang kerja ERJTEMPLATEModernYEHUWADesktopKETAMAANDAFTARORANG KERJA HIDUPTemaOtot dan tipografi warna merekTak ada yang namanya \"Sunting\"Navigasi ke Pemanduan arahPengetahuan, tiket, pembantuTak ada yang namanya \"Sunting\"Formulir tiketLapangan, routing dan salinanTak ada yang namanya \"Sunting\"BAHASA INGINKesahihan dan hidupkanlahUlasan1CHOOSE TEMPLATEMula dari struktur2PREVIEW SIZESDesktop untuk mobile3PUBLISH SAFELYTinjau kemudian rilis
Portal Studio menampilkan pratinjau yang responsif di samping tema, navigasi, pengetahuan, tiket, asisten, formulir, footer dan CSS kontrol.

Diagnosis menggunakan template sebagai titik awal, kemudian mengatur tema, tata letak, navigasi, pencarian pengetahuan, bentuk tiket, asisten, footer, merek, perilaku tiket, pengaturan custom CSS dan setting umum. Pratonton desktop, tablet dan mobile sebelum penerbitan.

Sodium Support

Kesenjangan pengetahuan ilmu pengetahuan

antrian pengetahuan-gup mengumpulkan pertanyaan pelanggan AI tidak dapat menjawab dengan yakin sehingga tim dapat meningkatkan cakupan.

Skrin produk
Kesenjangan pengetahuan ilmu pengetahuanBaris antrian celah gap peringkat meleset atau pertanyaan kepercayaan rendah dan trek apakah tim telah menyelesaikan mereka.Kesenjangan pengetahuan ilmu pengetahuanRuang kerja ERJOPEN GAPS28REPEATED9RESOLVED116ORANG KERJA HIDUPBatas migrasi14 kali dike_tanyaSMADukungan akhir minggu sedum8 kali dike_tanyaSederhanaPenghitungan balikan balik6 kali dike_tanyaSederhanaDaerah API3 kali dike_tanyaLUCUL1REVIEW QUESTIONLihat konteks percakapan2CHOOSE FIXArtikel atau prompt3RESOLVESahkan jawaban berikutnya.
Baris antrian celah gap peringkat meleset atau pertanyaan kepercayaan rendah dan trek apakah tim telah menyelesaikan mereka.

¡Once Open a gap untuk membaca pertanyaan asli dan percakapan terdekat, kemudian memilih fix yang tepat: memperbarui artikel yang ada, membuat artikel pengetahuan baru, menambahkan fakta bisnis, mengoreksi data konektor atau mengubah instruksi eskalasi. Tandai itu diselesaikan hanya setelah evaluasi atau tes nyata mengembalikan jawaban yang dapat diterima.

Sodium Support

Pentadbiran halaman status

Halaman administrasi status madya mengkomunikasikan kesehatan dan insiden pelayanan menggunakan komponen, negara bagian saat ini dan pembaruan.

Skrin produk
Administrasi Status AirAdministrasi status madya Daftar komponen dan insiden sehingga operator dapat mempublikasikan informasi layanan yang jelas dan terjepit waktu.Administrasi Status AirRuang kerja ERJOVERALLOperasiKOMPON7INCIDENTS1ORANG KERJA HIDUPLaman sesawangOperasiHijauAPIKinerja degradedTontonlahEmail e-mel ingestionOperasiHijauInsiden saat iniAPI Siasat kependaman.Buka1UPDATE COMPONENTKOSIK Pilih keadaan jelas2POST INCIDENTPemutakhiran waktu-ditamped3RESOLVEDitutup dengan ringkasan
Administrasi status madya Daftar komponen dan insiden sehingga operator dapat mempublikasikan informasi layanan yang jelas dan terjepit waktu.

Use component states consistently. When an incident affects customers, publish an initial notice, add time-stamped updates as facts change, and close with a concise resolution summary. Do not use the status page as an internal debug log; sensitive diagnostics belong in OpsIQ and server logs.

AIAI

Kau harus menyiapkan AI mu

Konfigurasi AI adalah di mana Anda memilih penyedia AI, model, dan kontrol biaya. OpsIQ (Inggris) supporter multiple provider: Claude (Inggris):Anthropic), GPT-4o (OpenAI), Gemini Anda dapat menggunakan sendiri API Kunci lak (BYOK) atau mengelola AI jika tersedia pada rencana Anda.

Set up AI
Konfigurasi AIPanel pengaturan AI if: sebuah mandord-AI / BYOK provider togol, pemilih model, dan meteran token-budget bulanan.Konfigurasi AIRuang kerja ERJKonfigurasi AIPenyediaAI TerurusKuncimu (Key)BYOK)ModelPASAL · claude yang seimbangAnggaran belanja rumah tangga62%1TWO MODESDiagnous diagnosa AI atau BYOK_2PICK A MODELKedalaman Meter Kecepatan vs3BUDGETScocken Token caps & cost control
osis yang diurus AI atau kunci sendiri, pilih model untuk kecepatan vs kedalaman, dan bulanan cap dihabiskan dengan anggaran token.

Pencalonan sebuah penyedia

Claude (Anthropic)

Penalaran yang kuat, hati-hati dengan fakta, baik pada mengikuti instruksi kompleks Model: claude-sonnet-4-20250514, claude-3.5-sonnet. terbaik untuk: mendukung percakapan, pertanyaan teknis, analisis rinci.

AVGPT-4o (OpenAI)

Model: gpt-4o, gpt-4o-mini. terbaik untuk: respon cepat, penulisan kreatif, pertanyaan pengetahuan luas.

Figler Gemini _(Google)

Bagus pada pertanyaan faktual, dukungan multi-bahasa.gemini-2.0-Flash,gemini-1.5-pro. terbaik untuk: dukungan multi-bahasa, pencarian faktual.

grok (xAI)

Model: grok-3-mini-fast. terbaik untuk: jawaban cepat, nada santai.

BYOK vs Managed AI

BYOK (Bawalah Kunci Sendiri)

Anda menyediakan kunci API dari penyedia. Anda membayar secara langsung penyedia. Kendali penuh atas pemilihan model dan penggunaan.

AI Terurus

AI disediakan sebagai bagian dari Anda OpsIQ Tidak ada rencana. API Penggunaan dimeterkan terhadap saldo kredit AI rencana Anda.

Pengaturan langkah demi langkah

1
Pergi ke AI Konfigurasi

Pada OpsIQ admin, arahkan ke Pengaturan > Konfigurasi AI.

2
Penyedia Pilih peranti

Pilih provider AI-mu dari dropdown.

3
Key API key

Jika menggunakan BYOK Masuk ke dalam. API Kunci untuk AI, ini ditangani secara otomatis.

4
Model pilihan

Model yang lebih kecil lebih cepat dan lebih murah model yang lebih besar memberikan jawaban kualitas yang lebih baik

5
Sambungan utilitas

Klik "Uji sambungan" untuk mengesahkan kekunci API dan model berfungsi. Tanda semak hijau bermakna berjaya.

6
Simpan

Klik untuk mengaktifkan konfigurasi AI anda.

Kontrol biaya org

Anggaran belanja

Tetapkan pengeluaran bulanan maksimum pada token AI. Ketika anggaran tercapai, fitur AI secara anggun merendahkan (respon pendek, tidak ada auto-reply) daripada berhenti sepenuhnya.

Batas token per-konversiasi

Token maksimum untuk percakapan tunggal mencegah percakapan kabur dari mengkonsumsi kredit berlebihan.

Alap keseimbangan rendah

Ketika saldo kredit AI Anda turun di bawah ambang (baku: 50,000 tokens), peringatan muncul dalam admin. Atur ini dalam Konfigurasi AI.

Konfigurasi per-workspace

Konfigurasi AI adalah per-workspace. Jika Anda mengelola situs multiple, setiap ruang kerja dapat menggunakan penyedia, model, dan anggaran yang berbeda. Ruang kerja mewarisi default global kecuali overridden. Untuk mengatur per area kerja: beralih ke ruang kerja, kemudian pergi ke konfigurasi AI dan menyimpan pengaturan di sana.

Getting API keys

Anthropic(Claude)

Go to console.anthropic.com > API Keys > Create Key. Copy the key starting with "sk-ant-".

OpenAI Fiji (GPT)

Pergi ke platform.openai.com > API Kekunci > Cipta kekunci rahsia baru. Salin kekunci bermula dengan "sk-".

Google (Gemini)

Pergi ke aistudio.google.com [Get] API Kunci, buat kunci untuk proyekmu.

xii (Gorok)

Pergi ke console.x.ai > API Kunci 28. buat dan salin kuncimu.

Kebodohan menguji persediaan Anda

Skenario:
After entering your API key, click "Test connection." You should see a green checkmark and a sample response from the AI.
Apa yang harus dilakukan:

If the test fails: (1) Check that the API key is correct (no extra spaces). (2) Check that your account has billing set up with the provider. (3) Check that the model name is valid. (4) If using Managed AI, verify your license is active.

Mana yang terbaik penyedianya?+

There is no single best provider. Claude is excellent for support conversations. GPT-4o is fast and versatile. Gemini handles multiple languages well. Try each one and see which produces the best results for your specific use case.

Boleh aku tukar penyedia nanti?+

Ya. / Ubah provider dan kunci API pada setiap saat. Sejarah percakapan yang ada akan dipertahankan. AI akan menggunakan penyedia baru untuk semua percakapan di masa depan.

Apa yang terjadi ketika aku kehabisan kredit?+

AI degrades anggun: respon menjadi lebih pendek, jeda otomatis-reply, dan admin menunjukkan peringatan keseimbangan rendah. Pelacakan inti, tiket, dan CRM terus bekerja tanpa AI.

AIAI

chat pelanggan murah & lebih cerdas

Sebuah set of opt-in kontrol yang membuat pelanggan Anda chatting baik lebih pintar (alasannya di seluruh akun pelanggan seperti agen manusia) atau lebih murah (ia mengirimkan AI kurang, atau jawaban dalam langkah yang lebih sedikit). Setiap kendali dimatikan secara default dan independen, mengubah satu pada tidak pernah mengubah perilaku lain. Kebanyakan hidup di bawah Pengaturan > Klien Chat > Perilaku; beberapa berada di Set up AI dan Train AI Anda.

Jawaban Pintar (mode agen)

Seorang chatbot normal menjawab satu pertanyaan dari satu pencarian. Mod Agen on, the assistant can make several read-only account checks in a single turn and cross-reference them, e.g. "do I have open tickets, and is my balance enough for my next renewal?" is answered in one reply with the maths done. It only engages for verified customers on account or refund questions; everything else runs the normal single-answer path.

Mod Agen

Naik ke beberapa pencarian baca-saja per putaran, referensi silang sebelum menjawab. Hidupkan ketika Anda memiliki platform terhubung (WHMCS, Shopify_-, Stripe, Zendesk, dll.). Off = perilaku tampilan tunggal hari ini, tidak berubah.

Kedalaman pemikiran untuk jawaban agen

Bagaimana kerasnya model alasan pada putaran kompleks (low/medium/high). Mulailah dari Low; kebanyakan pertanyaan dukungan ditangani dengan baik di sana.

Model Agen

Dia Pins model yang lebih kuat hanya untuk agen kompleks berubah, jadi obrolan sehari-hari tetap pada sebuah cahaya, model murah dan hanya putaran keras membayar kedalaman.

Rencanakan ke depan · jawaban satu-pass (beta)

Langkah perencanaan kecil memutuskan pencarian mana yang harus ditarik dan apakah basis pengetahuan dibutuhkan, kemudian jawaban dalam SATU panggilan utama daripada beberapa langkah. sub-toggle di bawah mode Agen. Ini tidak dapat diaktifkan kecuali Mod Agen berada pada. kualitas jawaban yang sama, lebih sedikit panggilan pada pertanyaan multi-bagian.

Percakapan angois & pemahaman

Memori lama lawan-perubahan (beta)

¡Agen membuat ringkasan singkat yang berjalan dari pesan-pesan lama (nama, nomor tiket/masuk suara, jumlah, keputusan) sehingga asisten tetap konsisten melintasi percakapan yang sangat panjang tanpa melanjutkan seluruh transkrip. Terbaik untuk dukungan-berat, benang panjang; berpasangan dengan mode Agen.

toleransi Topo bersikukuku

Baca kesalahan tatabahasa kecil ("tiket terbuka saya", "invocies tidak dibayar") sebagai perkataan yang dimaksudkan supaya maklumat betul dijumpai dan bukan terlepas. Berfungsi dengan setiap platform yang disambungkan. Mati secara lalai; berguna untuk sembang berat-mobile.

Konteks akun Lean Ukraina

Hanya luffoles melampirkan snapshot akun pelanggan ketika pertanyaan sebenarnya tentang rekening mereka (balance, invoices, tiket, layanan), melewatkannya pada pertanyaan umum Potong biaya tanpa kehilangan kualitas Asisten masih dapat mengambil account langsung ketika giliran membutuhkannya

Biaya penyimpanan

Langkau pengetahuan mencari salam (beta)

"Hi", "thanks" and "ok" don't trigger a knowledge-base search, those replies never use it. Any message with real content still searches as normal.

Balasan terlama diizinkan (token)

Kecap berapa lama satu balasan bisa. Panjang Balas adalah bagian yang paling mahal dari panggilan, jadi tutup masuk akal (sekitar 500 untuk dukungan) adalah kontrol biaya chat yang paling efektif tunggal. Hanya menurunkan batas global Anda, tidak pernah menaikkannya.

Pada menetapkan AI Anda

Kedalaman daya pikir kedirgdaya (kebiasaan & admin chat)

Tealford Berapa banyak model berpikir sebelum menjawab (minimal hingga tinggi). Jaga chat pelanggan pada minimal/rendah untuk kecepatan; simpan pengaturan lebih tinggi untuk analisis dan kopilot admin.

Model Per-AI (perkerjaan)

AI permukaan (live chat, draf tiket, summary, analisis, admin copilot, promosi, Site Intelligence dan lebih) dapat berjalan dengan model sendiri. Cahaya di mana masalah kecepatan, kuat di mana hal-hal kualitas. Blank on a surface = provider default untuk pekerjaan tersebut.

Kontrol biaya chat tax administrasi admin

Kopilot admin para admin dapat menyimpan memori kerja yang terikat dan memuat hanya alat-alat keperluan pertanyaan (lean tools) daripada setiap alat setiap belok.

Ke atas Kereta AI Anda

Instruksi MAMAMampatkan

Your instructions are sent on every turn, so their length is a recurring cost. The Compress button rewrites a slot to say the same thing in fewer words. It refuses the rewrite if it would drop any {variable} or rule, and reports what it protected, so it never silently changes meaning.

"Apa yang sudah ada dalam otak" (ℹ️)

Dan menunjukkan apa yang OpsIQ Kau sudah tahu tentang bisnismu, jadi kau bisa menghapus apapun yang kau ulangi dalam instruksimu sendiri.

💡
Ke mana perginya uang itu? Untuk dukungan singkat chat input (instruksi + data akun + sejarah, dikirim setiap putaran) biasanya biaya lebih dari balasan pendek, caching dan ramping konteks bantuan paling banyak di sana. Untuk konten yang dihasilkan panjang output mendominasi. Cap panjang-jawab dan kedalaman berpikir lebih rendah membayar di sana . Lihat Set up AI Anda untuk terus prompt caching on, yang membuat bagian besar berulang setiap berubah murah.
Apakah ini mengubah bagaimana percakapan sudah menjawab?+

No Setiap kontrol dimatikan secara default dan independen. Mematikan satu pada hanya menambahkan perilakunya; mematikannya mengembalikan chatting untuk persis bagaimana itu bekerja sebelumnya.

Apa perintah yang harus kunyalakan?+

Lari setiap hari pada model cahaya dan pin model Agen yang lebih kuat. Kemudian, jika Anda memiliki platform terhubung, aktifkan mode Agen, lalu Plan ke depan, kemudian memori Long-conversation. Lalu context ramping, skip-KB-for-greetings, dan reply cap. Akhirnya compress instruksi Anda. Perhatikan beberapa obrolan nyata setelah setiap perubahan.

kit Agen Admin: web pencarian, buku panduan, misi, transfer file

Obrolan AI Admin adalah insinyur yang bekerja, bukan hanya kotak pertanyaan. Ini dapat meneliti memperbaiki web, menyimpan perpustakaan prosedur operasi Anda, patroli server Anda pada jadwal, dan memindahkan berkas. Kebanyakan ini didorong dengan menanyakannya dalam chat; satu hal yang Anda konfigurasikan di depan adalah mana penyedia pencarian web yang digunakannya, pada halaman AI Anda Set up.

Pencarian Web

Dalam Fungsi

Agen mencari web untuk dokumen, mesej ralat dan maklumat semasa sewaktu ia berfungsi. Keluar dari kotak ini menggunakan DuckDuckGo, yang tidak memerlukan kekunci dan tiada tetapan.

Buku Petunjuk

Di chat

Agen menulis satu setelah menangkap pekerjaan yang rumit dan mengikutinya lain kali, jadi tahu bagaimana bertahan dari akhir percakapan.

Misi

Jadwal

- Setiap pagi, periksa ruang disk dan kesalahan log dan katakan padaku - Menemukan tiba pada bel admin Anda.

Transfer Berkas iran

Di chat

Tanya berkas log dan dapatkan link unduh pribadi, atau ada satu file disalin dari satu server yang terhubung ke server lain. Kedua-duanya ditutup pada 5 MB.

Pencarian web Agen Admin (saat menyiapkan AI Anda)

Penyedia Pencarian Kebidanan

Apa yang digunakan oleh agen web pencarian. Serper.dev Hasil yang lebih baik biasanya kembali hasil yang lebih bagus tapi masing-masing membutuhkan API Kunci dari penyedia tersebut. Jika sebuah penyedia kunci gagal karena alasan apapun (kunci yang buruk, kuota yang digunakan, masalah jaringan), pencarian itu jatuh kembali ke DuckDuckGo secara otomatis, sehingga pencarian tidak pernah menjadi gelap.

Cari API kunci

Kunci untuk penyedia terpilih Anda, hanya diperlukan untuk Brave, Tavily atau Serper. Setelah disimpan itu bertopeng dan tidak pernah ditampilkan di halaman lagi; paste yang baru untuk menggantikannya. Sebuah penyedia keyed menjadi aktif hanya ketika kedua provider dan kuncinya disimpan.

Buku Petunjuk

Apabila ejen baru bekerja melalui kerja yang anda mahu lakukan dengan cara sama lagi, kata "simpan sebagai runbook bernama nightly-cleanup". Dari situ ia melihat runbook mengikut nama dalam setiap sesi, dan apabila anda tanya untuk pekerjaan menurut nama (atau menerangkannya) ia tarik langkah-langkah dan ikut mereka. Anda boleh minta ia senaraikan, kemaskini atau padam runbooks bila-bila masa.

💡
Sebuah buku panduan adalah pedoman, bukan sebuah pass bebas. ketika agen mengikuti satu, setiap langkah yang akan mengubah server masih melalui mode izin anda saat ini dan menunjukkan kartu persetujuan biasa. buku lari tidak pernah dapat melewati persetujuan.

Misi

Misi adalah kerja berulang yang ejen jalankan sendiri: setiap jam, sehari pada waktu ditetapkan, atau mingguan pada hari ditetapkan. Misi dibaca-sahaja oleh reka bentuk. Mereka boleh baca pelayan, data dan web, tetapi mereka tidak pernah mengubah apa-apa; mereka menyelidik dan melaporkan. Apabila misi selesai, penemuan akan muncul sebagai pemberitahuan di loceng admin anda. Katakan "jalankan rondaan pagi sekarang" untuk mulakan satu apabila diperlukan, atau minta ejen daftar, jeda atau buang misi.

⚠️
Misi berjalan di luar cron OpsIQ, jadi ia perlu ditetapkan (lihat Cron dan automasi). Satu-satunya "jalankan sekarang" dari sembang berfungsi walaupun antara pelaksanaan cron pada kebanyakan pelayan.

Memindahkan berkas-berkas

Minta fail ("perolehi log ralat hari ini dari pelayan web") dan ejen memulakannya dan membalas dengan pautan muat turun persendirian. Pautan hanya berfungsi untuk admin yang telah log masuk dan luput selepas kira-kira satu hari. Fail dihadkan pada 5 MB; bagi apa sahaja yang lebih besar, minta ejen memampat atau memotongnya pada pelayan terlebih dahulu.

Agena tersebut juga dapat menyalin berkas tunggal antara dua server yang terhubung, lagi-lagi sampai 5 MB_. Penulisan di destinasi diperlakukan seperti perubahan lain yang dibuat: dalam mode tanya Anda mendapatkan kartu persetujuan terlebih dahulu, file yang ada diundur, dan salinannya dapat dikembalikan. Untuk keselamatan, isi berkas dibaca ulang dari sumber pada saat salinan diterapkan, tidak diambil dari chat.

AIAI

Keangkuhanmu

Pelatihan latih di mana kau mengajar OpsIQ Kau menulis petunjuk yang mendefinisikan kepribadian, batasan, fokus pengetahuan, dan aturan eskalasi.

AI Kereta AI
KeangkuhanmuBAHASA AI arahan editor dengan customer/Admin tab dan nada biasa-Inggris, selalu dan tidak pernah aturan.KeangkuhanmuRuang kerja ERJAI Pelanggan OgosPentadbir AItonRamah, ringkas, tidak pernah memaksa.SentiasaCabulkan tuntutan manusia untuk sengketa.Tak pernahJanji akan dikembalikan tanpa memeriksa rekening.1TWO MANUALSPelanggan & admin AI2PLAIN ENGLISHTone, selalu, tidak pernah3GROUNDEDDitambah pengetahuan dasar Anda
¡Tatih AI seperti upah baru, Customer dan Admin manual ditulis dalam bahasa Inggris biasa (tone, selalu, tidak pernah), ditanahkan dalam KB Anda.

Dua kawasan latihan

AI promp pelanggan if

Ini adalah langkah paling penting untuk mendapatkan hak.

Prompt AI Admin

Ini menangani pertanyaan internal dan eksekusi aksi.

Penulisan sebuah pernyataan pelanggan AI besar

Nasehat pelanggan AI Anda harus mencakup daerah-daerah ini:

1
Identitas

Siapa AI? Berikan nama, peranan dan keperibadian. Contoh: "Anda Luna, seorang pembantu sokongan pelanggan yang mesra dan berpengetahuan untuk Acme Store."

2
style dan gaya

Bagaimana ia patut berkomunikasi? Contoh: "Bertindak profesional tetapi hangat. Guna bahasa mudah. Hindari jargon. Jaga jawapan ringkas (2-3 perenggan maks)."

3
Batas pengetahuan

Apa yang perlu dan tidak patut diketahui? Contoh: "Anda tahu tentang produk kami, harga, penghantaran, dan polisi pengembalian. Anda TIDAK tahu mengenai produk pesaing atau keputusan syarikat dalaman."

4
Aturan Escalasi

Bilakah ia patut diserahkan kepada manusia? Contoh: "Eskalasi ke ejen manusia bila: pelanggan meminta bayaran balik, menyebut tindakan undang-undang, melaporkan isu keselamatan, atau bertanya soalan yang sama tiga kali."

5
Hal-hal yang tidak pernah dilakukan

Had- had yang ketat. Contoh: "Jangan pernah janjikan bayaran balik. Jangan berkongsi formula harga dalaman. Jangan buat ciri produk yang tidak wujud. Jangan beri nasihat perubatan, undang-undang atau kewangan."

Contoh sempt

Contoh custome sempm AI · online store
You are Aria, a friendly customer support assistant for TechGear.

PERSONALITY:
- Warm and professional
- Concise (2-3 paragraphs max per response)
- Use simple language, no jargon
- If unsure, say so honestly

KNOWLEDGE:
- Our products: laptops, accessories, software subscriptions
- Pricing: as listed in the knowledge base
- Shipping: free over $50, 3-5 business days standard, 1-2 days express ($12)
- Returns: 30-day money-back guarantee, must be in original condition

ESCALATION (hand off to human):
- Refund requests over $100
- Account security concerns
- Legal threats or complaints
- Customer explicitly asks for a human

NEVER DO:
- Promise specific delivery dates (say "estimated")
- Share discount codes not in the knowledge base
- Make up product specifications
- Give financial or legal advice
Contoh custome customer AI prompt · hosting company
You are Atlas, an AI assistant for CloudHost web hosting.

TONE: Technical but accessible. Assume the customer has basic web knowledge.

KNOWLEDGE:
- Shared hosting, VPS, dedicated servers
- cPanel, DNS, SSL, email configuration
- WordPress, Joomla, Drupal installation
- Common error codes and troubleshooting

ESCALATION:
- Server outages affecting multiple customers
- Data loss or security breach reports
- Billing disputes over $50
- Complex migration requests

BOUNDARIES:
- Do NOT access customer servers or databases
- Do NOT change DNS records or passwords
- Always recommend the customer makes changes themselves
- For code issues, suggest steps but clarify you cannot debug their application

Menjelaskan waktu dengan cepat

1
Lancarkan dengan dasar

Mulailah dengan identitas, nada, dan batas kunci.

2
Tinjau Biografi Episoda

Membaca percakapan di mana AI memberikan jawaban yang salah atau suboptimal.

3
Update prompt

Add specific rules for recurring issues. Example: if the AI keeps promising refunds, add "Never promise a refund. Say you will escalate to the billing team."

4
Pengetahuan tentang ilmu pengetahuan

Jika AI tidak bisa menjawab pertanyaan, tambahkan jawaban untuk Basis Pengetahuan daripada mencoba untuk menyesuaikan semuanya dalam prompt.

⚠️
Pastikan promps Anda di bawah 2,000 _. terlalu panjang, prompt dapat membingungkan AI dan meningkatkan biaya token.
Apa perbedaan antara prompt dan dasar pengetahuan?+

Kesegeraan tersebut mendefinisikan kepribadian, batas, dan aturan. basis pengetahuan menyediakan informasi faktual (rincian produk, harga, kebijakan). AI membaca keduanya, tetapi perilaku bentuk promp sementara KB memberikan jawaban.

Boleh aku minta surat berbeda untuk departemen yang berbeda?+

Prom adalah per-ruang kerja. jika Anda membutuhkan perilaku AI yang berbeda untuk departemen yang berbeda, gunakan dasar pengetahuan untuk memberikan informasi spesifik departemen dan menyebutkan konteks departemen dalam prompt Anda.

AIAI

Sejarah AI

AI History menunjukkan setiap percakapan yang telah AI dengan pelanggan dan admin. Gunakan untuk mengaudit kinerja AI, menemukan jawaban yang salah, dan mengidentifikasi kesenjangan pelatihan.

Sejarah AI
Sejarah AILog AI berubah dengan lencana tipe, pertanyaan dan jawaban, waktu respon dan hasil.Sejarah AIRuang kerja ERJSetiap giliran AI, direkamchotDimana pesananku?Dikirim hari ini, pelacakan UPS...0.9sansweredticketJawaban Draf untuk T-12345Penguatan balikan uang tunai wajib digugat1.4sdraftedsistemdya\"Samakan tiket minggu ini\"Ringkasan 12 baris kembali2.1sdilakukanchotBatalkan rencanaku.Diserahkan pada manusia.0.7sescalated1EVERY TURNPenggesa, balas, tindakan2SEARCHABLEEkspor Penapis3OWNER-ONLYJejak audit lengkap
¡Audio Setiap giliran AI (chat, draf tiket, aksi admin) loging dengan prompt yang tepat, reply, durasi dan hasil.

Apa yang diperlihatkan oleh setiap percakapan

Tanggal dan waktu

Ketika percakapan terjadi.

Identitas customer

Name and email if known, otherwise IP and country.

Saluran

Widget chatting, tiket auto-reply, draf email, atau admin AI.

_Mesej

Transkrip penuh dari percakapan: pesan pelanggan dan respon AI.

Penggunaan Token

Berapa banyak tanda yang digunakan oleh percakapan tersebut. penggunaan token tinggi mungkin menunjukkan AI memberikan jawaban yang terlalu panjang atau percakapan berjalan dalam lingkaran.

Tindakan yang diambil

Tindakan apapun yang dilakukan AI selama percakapan (mencari pesanan, membuat tiket, dll).

Penawaran

Jika CSAT diaktifkan, kepuasan pelanggan akan meningkat untuk percakapan ini.

Kesulitan mencari masalah

Cari berdasarkan kata kunci

Cari topik tertentu untuk melihat bagaimana AI mengendalikannya. Contoh: cari "refund" untuk semak sama ada AI mengikuti polisi pengembalian anda.

Tapis menurut peringkat

Hanya menampilkan percakapan berkategori rendah untuk fokus pada pelanggan yang tidak puas.

Penapis menurut saluran

Ogois hanya menampilkan auto-replise tiket untuk audit respon otomatis secara terpisah dari chat.

Urutkan berdasarkan penggunaan token

Percakapan dengan Token tinggi mungkin menunjukkan masalah: perombakan AI, berjalan dalam lingkaran, atau gagal menjawab pertanyaan.

Kegiatan rutin beraudit bersutradi

1
Periksa percakapan dengan rating rendah

Apa yang salah?

2
Periksa percakapan dengan token tinggi

Ini mungkin menunjukkan kebingungan apakah AI mengulanginya sendiri?

3
Pelatihan Update technology

Untuk pengetahuan yang tidak jelas, tambahkan artikel ke Dasar Pengetahuan untuk masalah perilaku, perbarui promp AI. Untuk jawaban yang salah berulang, tambahkan aturan pembetulan eksplisit.

Kesenjangan pengetahuan menemukan

Skenario:
You search AI History for "installation" and find 15 conversations where the AI said "I do not have specific installation instructions for this product."
Apa yang harus dilakukan:

Ini berarti Pangkalan Pengetahuan Anda kehilangan panduan pemasangan. Ciptakan artikel dasar pengetahuan untuk langkah instalasi setiap produk. Setelah menambahkannya, uji dengan menanyakan pertanyaan pemasangan AI.

AIAI

AI wawasan

AI Insights secara otomatis menganalisis pola percakapan dan permukaan yang dapat ditindaklanjuti: pertanyaan umum, tren kepuasan, kesenjangan pengetahuan, dan pola eskalasi.

AI wawasan
Pemahaman AI (Hub Intelijen)The Intelligence Hub: sebuah AI Hari Ini Brief, Smart Alerts, sebuah Score-a-Lead / Analyse-a - Page alat, dan sebuah 14-Harian Pola Lalu Lintas.AI wawasanRuang kerja ERJHari ini hari ini,Lalu lintas lalu lintas 12%; 3 Petunjuk panas .2Perjanjian pengadilan perlu ditindaklanjuti.Waspada Cerdas Ajar - HiburanTerjadi peningkatan galat pemeriksaan terhadap cengkerTerpaku pada /pricing_Pemandu panas baru dari ASPeruntungan pertama minggu laluDia mencetak sebuah Lead / Analisa sesebuah HalamanIP OR atau ORANG URL…Jalankan14 Pola Lalu Lintas Siang Hari1Hari ini hari ini,AI menulis ringkasan pagi2SMART ALERTSAnomali muncul3ON DEMANDFeasco a lead · analysis a page
The Real Intelligence Hub: sebuah tulisan AI Hari ini Brief, Smart Alerts untuk anomali, on-demand lead scoring dan analisis halaman, dan pola lalu lintas 14 hari.

Apa yang diperlihatkan oleh wawasan

Pertanyaan Top

Soalan yang paling kerap ditanya. Jika "Bagaimana saya menetapkan semula kata laluan saya?" adalah #1, pangkalan pengetahuan anda memerlukan panduan tetapkan semula Kata Laluan yang ketara.

Kepuasan yang berlebihan

Nilai CSAT dari waktu ke waktu Apakah kepuasan AI membaik atau menurun?

Tingkat Resolusi

What percentage of conversations does the AI resolve without human intervention? A rate above 70% is good. Below 50% means the AI needs more training.

Alasan Escalation

Mengapa percakapan diserahkan kepada manusia. alasan umum: pelanggan meminta manusia, AI tidak dapat menjawab, topik sensitif, isu penagihan.

Kesenjangan pengetahuan ilmu pengetahuan

Topik di mana AI sering berkata "Saya tidak tahu" atau memberikan jawapan rendah keyakinan.

Panjang perbualan purata

Ada berapa banyak pesan dalam percakapan, percakapan yang sangat panjang.10 AI mungkin tidak memahami pertanyaan.

Menggunakan pemahaman untuk meningkatkan

Skenario:
AI Insights shows that 23% of escalations are "Customer asked about warranty" and the AI could not answer.
Apa yang harus dilakukan:

Ini adalah jarak pengetahuan yang jelas.1) Tulis artikel garansi yang komprehensif di Dasar Pengetahuan yang meliputi semua istilah garansial, proses klaim, dan eksklusi. (2(Inggris) Update AI promot untuk referensi informasi garansi. (3) Monitor AI Insights minggu depan untuk melihat apakah eskalasi garansi berkurang.

AIAI

Buku permainan AI Admin

AI Admin (Ask OpsIQ membantu mengelola tim Anda OpsIQ Anda dapat memintanya untuk mencari data, menjelaskan fitur, meringkas tiket, dan melakukan tindakan platform.

Pentadbir AI
Buku permainan AI AdminKotak arahan Ask-OpsIQ dengan kad tindakan platform yang diusulkan AI menunjukkan parameter dan mengesahkan/batalkan.Tanya OpsIQ_Ruang kerja ERJTanya OpsIQ_\"Gantungkan layanan untuk akun yang terlambat\"4821AIAITindakan yang diusulkan: suspend_serviceAkun: #4821 (Terlalu lewat) $120)platform: WHMCS · reversible · auditedKonfirmasiBatal1ASK ANYTHINGPerintah Plain-Inggris2PROPOSE FIRSTTindakan yang ditunjukkan sebelum berjalan3YOU CONFIRMSkop & diaudit
Beritahu admin AI apa yang Anda inginkan dalam bahasa Inggris biasa; itu mengusulkan tindakan yang tepat (diskop, reversibel, diaudit) dan menunggu konfirmasi Anda.

Apa yang bisa dilakukan oleh admin AI

Cari data

Tanya: "Tunjukkan saya semua tiket dari [email protected]" atau "Apakah status arahan #ORD-5523?"

Tak ada yang bisa disumumi

Tanya: "Ringkasan tiket 10 terakhir" atau "Apakah isu sokongan utama minggu ini?"

Fitur-fitur ikhtisar

Tanya: "Bagaimana saya tetapkan auto-balas?" atau "Apakah maksud kad kadar lencong?"

Tindakan Eksekusi ufuk

Tanya: "Cipta tiket untuk [email protected] mengenai bil" atau "Tutup tiket T-12345"

Pertanyaan Platform tidak bersyarat

Tanya: "Berapa ramai pengunjung yang kami dapat semalam?" atau "Apakah pendapatan kami bulan ini?"

Contoh percakapan

Mencari pelanggan

Skenario:
Admin asks: "Find customer [email protected] and show me their recent activity"
Apa yang harus dilakukan:

¡AI mencari pelanggan di seluruh sumber data yang terhubung: sesi pengunjung, tiket, percakapan chatting, pesanan, dan kontak CRM. Ini mengembalikan ringkasan aktivitas baru-baru ini dengan link ke setiap item.

Sedang mencari ringkasan harian

Skenario:
Admin asks: "What happened today?"
Apa yang harus dilakukan:

AI ringkasan: "Hari ini anda mempunyai 245 pengunjung (up ) 12%), 8tiket baru (3 diselesaikan oleh AI),2pesanan baru berjumlah $198, dan1chat escalation tentang tertangguh penghantaran."

irankhania Menjalankan suatu tindakan

Skenario:
Admin asks: "Change ticket T-5523 priority to Urgent"
Apa yang harus dilakukan:

AI mengesahkan: "Saya akan ubah keutamaan tiket T-5523 dari Normal ke Urgent. Ini akan mempengaruhi pemasa SLA. Sahkan?" Anda sahkan, dan tindakan dilaksanakan.

💡
AI Admin hanya menjalankan tindakan yang terdaftar di Registry Aksi. Tidak dapat menemukan tindakan atau sistem akses di luar OpsIQ.
AIAI

Skenario AI Pelanggan

Bagian ini meliputi skenario AI yang biasa gagal pelanggan dengan perilaku dan tips pelatihan yang diharapkan.

AI Pelanggan Ogos
Skenario AI PelangganPerpustakaan pelanggan pertanyaan berpasangan dengan perilaku AI yang diharapkan dan tag hasil untuk masing-masing.Skenario AI PelangganRuang kerja ERJPerpustakaan Skenario · perilaku AI yang diharapkan"Di mana pesanan saya?"Cari pesanan melalui penyambung, memberikan pelacakanBebas"Saya mahu bayaran balik"Mengakui, tidak pernah janji · tangan kepada manusiaKOMOF"Adakah perkhidmatan turun?"Periksa status, laporkan keadaan saat iniStatus"Batal akaun saya"Ketahui niat, kemudian rute ke manusiaKonfirmasi1SCENARIOSPertanyaan umum2EXPECTEDBagaimana AI harus menjawab3ESTCari celah latihan
Perpustakaan pelanggan yang sebenarnya bertanya dan bagaimana AI harus menangani masing-masing, untuk menguji pelatihan Anda dan menemukan celah.

Pustaka Skenario

Penyidikan status pesanan

Skenario:
Customer: "Where is my order #12345?"
Apa yang harus dilakukan:

Expected AI behavior: (1) Look up the order through the platform connector. (2) Report current status (processing, shipped, delivered). (3) Include tracking number if available. (4) If the order is delayed, acknowledge and provide estimated timeline. (5) Never invent tracking information.

Permintaan reset kata sandi

Skenario:
Customer: "I forgot my password and cannot log in"
Apa yang harus dilakukan:

AI behavior yang diharapkan oleh AI: (1) Sediakan kata sandi untuk mengatur ulang langkah dari dasar pengetahuan. (2) Masukkan link atau jalur halaman reset. (3) Sebutkan bahwa reset email mungkin memakan waktu beberapa menit. (4Cadangkan untuk memeriksa folder spam.5Jika pelanggan masih tidak dapat mengatur ulang, eskalasi kepada manusia.

Permintaan fitur untuk Keupayaan

Skenario:
Customer: "Can you add dark mode to the mobile app?"
Apa yang harus dilakukan:

Expected AI behavior: (1) Thank them for the suggestion. (2) Explain how feature requests are handled (logged, reviewed, prioritized). (3) Do NOT promise the feature will be built. (4) If a similar feature exists, mention it.

Perbankan UU Kebebanan

Skenario:
Customer: "I was charged but my service is not working"
Apa yang harus dilakukan:

Expected AI behavior: (1) Acknowledge the frustration. (2) Check the service status if possible. (3) Escalate to the billing department with all details. (4) Do NOT promise a refund. (5) Set ticket priority to High.

Pertanyaan yang tidak masuk akal

Skenario:
Customer: "What is the weather like in London today?"
Apa yang harus dilakukan:

AI behavior yang diharapkan oleh AI: (1Aku asisten pendukungmu dan dapat membantu pertanyaan tentang produk dan jasa kami.2Tanyakan apakah mereka punya pertanyaan produk.

Bagaimana cara menguji perilaku AI pelanggan?+

Buka website Anda di peramban pribadi/incognito dan chatting dengan AI sebagai pelanggan Coba pertanyaan umum, kasus pinggir, dan skenario adversarial Periksa bahwa AI mengikuti aturan prompt Anda dan menggunakan konten basis pengetahuan dengan benar.

AIAI

Pangkalan pengetahuan AI

Pangkalan Pengetahuan WHO adalah perpustakaan artikel yang digunakan oleh AI untuk menjawab pertanyaan. ketika seorang pelanggan menanyakan sesuatu, AI mencari dasar pengetahuan untuk artikel yang relevan dan menggunakannya untuk menghasilkan respon yang akurat dan berdasar.

Dasar pengetahuan ilmu pengetahuan
Dasar pengetahuan ilmu pengetahuanSumber-sumber makan ke toko pengetahuan, kemudian sebuah AI menghasilkan tanah, menjawab.Dasar pengetahuan ilmu pengetahuanRuang kerja ERJSumberKelilingi situs webArtikel bantuanFAQDok yang diimporPengetahuan tentang pengetahuansemantik + kata kunciAIAIJawaban yang dibumikan/ Dengan sumber yang dikutip.- Refunds mengambil 3–5hari perniagaan."1INGESTCrawl, FAQ, impor2RETRIEVEKata kunci umastik +3GROUNDEDJawaban dari isi hati Anda
[Crawl] situs Anda dan dokter impor ke dasar pengetahuan; AI mendapatkan potongan yang tepat dan jawaban, digiling dan dikutip.

Bagaimana cara kerjanya

1
Pelanggan PUTRA mengajukan pertanyaan

"Apa polisi pengembalian anda?"

2
AI mencari dasar pengetahuan

OpsIQ mencari artikel "Kempen Kembali" dengan sepadan kata kunci dan makna semantik.

3
AI menghasilkan tanggapan

AI membaca artikel dan menulis jawapan bahasa semula jadi berdasarkan kandungan artikel.

4
Pelanggan osis mendapat jawaban yang tepat

Responsinya didasarkan pada kebijakanmu, bukan data pelatihan AI.

Artikel yang bagus

Satu topik bahasan untuk setiap artikel

Iagogo Tulis artikel terpisah untuk setiap topik: kebijakan pengembalian, tarif pengiriman, setup akun, reset kata sandi. Jangan gabungkan topik yang tidak berhubungan.

Tulis seperti FAQ

Mulailah dengan pertanyaan yang ditanyakan pelanggan, lalu berikan jawabannya.

Jadilah spesifik

"Kembalian mesti dimulakan dalam masa 30 hari dari penghantaran" lebih baik daripada "Kami mempunyai polisi pulangan."

Termasuk kasus pinggir

Bagaimana dengan produk digital?

Simpan sekarang

Menilai artikel setiap suku tahun. Hapuskan maklumat yang tidak terkini. Kemas kini harga, dasar dan prosedur apabila mereka berubah.

Artikel yang lebih awal harus ditulis

Pengiriman dan pengiriman

Biaya pengiriman, waktu pengiriman, pelacakan, pengiriman internasional, dan penundaan penanganan.

Kembali dan pengembalian uang

Jendela kembali, kondisi, proses, pengembalian kembali garis waktu, dan pengecualian.

Manajemen Akun nama

Set ulang kata sandi, perubahan email, penghapusan akun, dan ekspor data.

Kefasihan dan penagihan

Keterangan Rencana, siklus penagihan, metode pembayaran, faktur, dan mata uang.

Panduan produk

Cara menggunakan setiap produk atau fitur.

Pencarian Masalah

Masalah dan solusi umum. pesan kesalahan dan perbaikan mereka.

Informasi Kenalan

Jam kerja bisnis, saluran pendukung, waktu respon, dan jalur eskalasi.

Hukum dan Kepatuhan

Ringkasan kebijakan kerahsiaan, persyaratan ringkasan layanan, permintaan data GDPR.

Pengetahuan konektor

Setiap konektor ode dapat memberikan kontribusi pengetahuan pada AI. Ketika sebuah penyambung diaktifkan, artikel-artikel pengetahuan bawaannya (program produk, pertanyaan umum, peron-spesifik troubleshooting) tersedia secara otomatis untuk AI . Anda dapat mentogolkan pengetahuan koneksor pada atau off per konektruktor dalam pengaturan Konektor.

anggaran belanja bagunan

The knowledge base has a configurable token ceiling (default: 32,000 tokens) that controls how much knowledge context is sent to the AI per conversation. If your knowledge base is very large, the AI selects the most relevant articles within this budget. Increase the ceiling if the AI is not finding relevant articles; decrease it if you want to reduce token costs.

Berapa banyak artikel yang harus saya miliki?+

Mula dengan5-10 Artikel - artikel yang membahas pertanyaan Anda yang paling umum. Tambahkan lebih banyak lagi seraya Anda mengenali celah melalui AI History and AI Insights. Kebanyakan bisnis membutuhkan 20-50 Artikel artikel untuk liputan menyeluruh.

Boleh aku mengimpor artikel dari sistem lain?+

Saat ini, artikel dibuat secara manual di OpsIQ_. Anda dapat menyalin-paste konten dari FAQ yang ada, pusat bantuan, atau dokumen.

Format artikel apa yang patut digunakan?+

Plain text works best. The AI understands natural language better than structured HTML or markdown. Write as you would explain to a customer.

AIAI

evaluasi dan Menara Pengawal

Set penilaian mengubah soalan pelanggan kritikal ke dalam ujian yang boleh diulang untuk kualiti jawapan, kutipan, escalation dan keselamatan tindakan.

Skrin produk
Evaluasi AIE LUAREvaluasi ubuntu AI mencantumkan kasus uji emas, perilaku yang diperlukan, hasil terbaru dan jadwal Menara Pengawal berjalan.Evaluasi AIE LUARRuang kerja ERJSETS6CASES84PASS RATE96%ORANG KERJA HIDUPKebijakan pengiriman pembenahanDiperlukan pemetikanJalur HANOPermintaan pengembalian uangPerlu konfirmasi manusiaJalur HANOKlaim tidak didukungTindakan terlarangJalur HANOPertanyaan migrasiSumber yang diharapkan untuk menghilangorg1CREATE CASESAturan dan masukan emas2RUN SAFELYUji kering atau eval langsung3WATCHJadwal harian atau mingguan
Evaluasi ubuntu AI mencantumkan kasus uji emas, perilaku yang diperlukan, hasil terbaru dan jadwal Menara Pengawal berjalan.

Administrator penuh dapat membuat set evaluasi dengan sebuah prompt, label sumber yang diharapkan, diperlukan kutipan, aturan konfirmasi manusia, ekspektasi eskalasi dan tindakan terlarang. Jalankan set langsung, jalankan secara kering, atau putar ulang sejarah terpilih.

Menara Pengawal jadualkan periksaan harian atau mingguan melalui cron dan jalankan bilangan kes yang terhad (sehingga lapan per laluan terjadual). Tinjau kegagalan bersama penyedia/model, versi prompt, versi pengetahuan, tindakan diusulkan dan kos sebelum mengubah perilaku pengeluaran.

AIAI

Bahasa dan terjemahan Bahasa Fedo

Bahasa-bahasa neuran menerjemahkan teks ketampanan pelanggan dan perilaku yang digunakan ketika OpsIQ mengikuti bahasa pelanggan.

Skrin produk
BahasaHalaman Bahasa memaparkan bahasa sumber, terjemahan bahasa, keadaan draf/segera dan perilaku bahasa pelanggan.BahasaRuang kerja ERJSUMBERBahasa InggrisLANGUAGES4WANITA3ORANG KERJA HIDUPPerancisInternet dan kontenArasJermanInternet dan kontenArasSpanyolTerjemahanDAFTARPengikut pelangganJawapan dalam bahasa yang dideteksiDiaktifkan1SET SOURCEBahasa operator asal2ADD LANGUAGETerjemahkan terjemahan di latar belakang3PUBLISHDraf atau live
Halaman Bahasa memaparkan bahasa sumber, terjemahan bahasa, keadaan draf/segera dan perilaku bahasa pelanggan.

OpsIQ translates operator-entered customer-facing text. Set the source language correctly before creating translations, add target languages, then review drafts before publishing. “Follow customer language” controls response language; translating the widget interface controls its buttons, labels and system text.

Skop terjemahan BAHASA dapat berupa draft-only atau live. Jangan bergantung pada penerjemahan mesin untuk legal, pengembalian, keamanan atau teks keselamatan tanpa peninjauan manusia.

Setiap tempat yang memegang kata-kata Anda sendiri tercantum dengan jumlah pesannya: pesan obrolan klien, promosi, pesan proaktif, aliran chatting, tur panduan, pengumuman, gelembung teaser dan Survei dan formulir. Permukaan survei meliputi setiap survei yang diterbitkan sepenuhnya: judul, setiap pertanyaan, setiap pilihan jawaban, tombol, selamat datang dan terima kasih salinan, halaman krom dan halaman hasil. Kunci terikat pada ID pertanyaan dan nilai opsi, sehingga memesan ulang pertanyaan atau opsi tidak pernah kehilangan terjemahan, dan mengucapkan kembali satu pesan yang diterjemahkan ulang hanya pesan tersebut. Diterbitkan survei langsung ditawarkan secara baku; draf bergabung ketika Anda memperlebar ruang lingkup.

Survei email pasca-chat technology mengikuti bahasa yang sebenarnya dibujuk oleh pengunjung, asalkan bahasa tersebut adalah salah satu yang Anda tawarkan di sini; jika tidak menggunakan bahasa sistem Anda. Enam bidang yang dapat disunting juga diterjemahkan pada halaman ini, dan perilakunya memiliki switch sendiri dalam pengaturan Klien Chat.

Pesan tiket dan portal Kovern meliputi jenis operator teks tetap sekali dan setiap pelanggan kemudian menerima dalam satu bahasa tersebut: pengakuan tiket, konfirmasi terbuka, tertutup dan umpan balik, per-departemen sign-offs dan baris ucapan selamat datang portal. (AI auto-reply membutuhkan semua ini, sudah menjawab dalam bahasa pelanggan.) Dengan Pelanggan email dalam bahasa mereka sendiri Difungsikan dalam OpsIQ Penulisan, email tiket menyelesaikan bahasa penerima dalam urutan ini: bahasa yang mereka pilih di portal atau Pusat Bantuan (dibawa ke tiket), lokale pada catatan kontak mereka, kemudian bahasa yang ditulisnya, terdeteksi secara lokal oleh jangkauan skrip dan kata penanda, tanpa panggilan eksternal. Hanya bahasa-bahasa yang dipilih di halaman Languages yang pernah digunakan, sehingga fiturnya inert sampai bahasa ditambahkan. HTML wrapper email sengaja tidak diterjemahkan: itu adalah markup, bukan prose. Staff-facing email (notifikasi, peringatan departemen, singkat analis, laporan terjadwal, digest mingguan) selalu menggunakan bahasa sistem.

Sodium Support

Pusat Bantuan

Pusat Bantuan Anda adalah situs bantuan yang dibuat sendiri dari artikel yang Anda terbitkan. Pelanggan dapat membaca dan mencarinya di halaman publiknya sendiri, dan tepat di dalam widget chatting, sehingga mereka dapat menemukan jawaban sendiri sebelum mereka pernah membuka percakapan. semua yang ada berasal dari basis pengetahuan Anda, jadi konten yang sama yang mendasari AI juga memberi kekuatan pada bantuan publik Anda.

Di mana pelanggan Anda melihatnya

Veachines memiliki halaman publik

Situs bantuan yang bersih dan dapat dicari di /help.phpPelanggan dilayari oleh kategori, pencarian, dan membuka artikel apapun.

¡Di dalam widget obrolan

Sebuah link bantuan dalam widget chat sehingga pelanggan dapat mencari artikel Anda tanpa meninggalkan percakapan. Jika mereka masih membutuhkan seseorang, mereka adalah satu keran jauh dari memulai percakapan.

- Kau yang hidupkan

1
Buka halaman Pusat Bantuan

Pergi ke Config, then Help Center \"Madmin\" mu dan hidupkan Pusat Bantuan Publik.

2
Berikan nama dan lihat

Anda dapat mematikan navigasi atas untuk halaman bersih tanpa menu.

3
BAHASA artikel ini

Tidak ada yang menunjukkan sampai Anda menerbitkan artikel untuk itu.

Artikel ke Pusat Bantuan

Artikel - artikel yang ada di dasar pengetahuan Anda. Artikel yang muncul di Pusat Bantuan setelah diterbitkan dan ditandai ke publik.

1 artikel

Buka artikelnya, tandai artikel itu diterbitkan, dan nyalakan opsi untuk memperlihatkannya di Pusat Bantuan.

BAHASA SEMUA

Gunalah ISSE Semua Tombol untuk menekan seluruh yang diterbitkan Anda ditetapkan ke Pusat Bantuan dalam satu klik, daripada melakukannya satu per satu.

¡Fakta - FAQ menjadi artikel

Sudah memiliki FAQ? Gunakan ISS semua untuk Bantuan Mereka menjadi artikel bantuan sehingga mereka duduk di samping hal - hal lain.

Mengimpor basis pengetahuan yang ada

Pindah dari meja bantuan lain? KB Impor Tombol ufuk pada tab Artikel membawa dasar pengetahuan yang ada untukmu.

Tampal URL_

Berikan alamat pusat bantuan Anda saat ini. Jika mengenali platform (misalnya Zendesk) itu membaca pohon kategori yang tepat dari platform tersebut. Jika tidak, ia merangkak situs dan membangun kembali struktur dari halaman, mengimpor hanya artikel-artikel asli dan melewatkan log masuk, pricing, dan halaman kontak.

Pilih aplikasi yang tersambung

Jika sebuah platform sudah terhubung ke ruang kerja ini dan memegang dasar pengetahuan, ia muncul di dropdown bawah Impor dari aplikasi yang terhubungPilih dan impor, tidak ada URL atau password yang diperlukan. Aplikasi hanya terdaftar setelah terhubung dan diatur.

Muat naik CSV_

Tak ada situs langsung yang menunjuk ke titik di? Memuat Upload sebuah spreadsheet dengan title, category, dan body Diletakkan di tiang-tiang. Parent / Child Di kolom kategori untuk membangun kategori bersarang.

Apapun cara yang Anda pilih, Anda mendapatkan Pertama, pratinjau pertamaArtikel yang ditemukan, dikelompokkan berdasarkan kategori, masing-masing dengan kotak cek sehingga Anda dapat menjatuhkan apapun yang tidak Anda inginkan. Tidak ada yang disimpan sampai Anda klik Impor. Setelah itu Anda bisa Amerika/Obd Seluruh impor dalam satu klik, atau Segerakkan semula a URL or connected-app import later to pull in new and changed articles.

💡
Pembangun: setiap penyambung dapat mengiklankan pengetahuannya dasar untuk penurunan ini dengan menyatakan kb_capabilities Blok di dalamnya settings.json dargen (jenis kb_sourceDengan adapter Dan base_templateLihat bagian Konektor dan referensi konektor platform.

Diorganisir dengan AI

Pusat bantuan yang rapi mudah dilayari dan lebih mudah dicari. Diorganisir dengan AI Tombol kopling melakukan penitipan untuk Anda. Dalam satu klik, ia membaca artikel yang telah diterbitkan, mengurutkannya ke dalam kategori yang masuk akal, dan menambahkan tag. Ini menciptakan kategori ketika dibutuhkan, menggunakan kategori yang sudah sesuai, dan melewatkan apa pun yang telah Anda susun, sehingga Anda dapat menjalankannya lagi kapan saja Anda menambahkan artikel baru. What Let AI organising into subkategori Di dalam pengaturan Pusat Bantuan dan juga dapat memuat artikel - artikel di bawah sarang Parent / Child Kategori, yang berguna setelah mengimpor dasar pengetahuan yang memiliki sub-bagian.

💡
Anda dapat mengubah nama atau memindahkan sesuatu setelah itu. AI memberikan titik awal yang kuat, bukan pengaturan yang anda terjebak dengan.

Pusat Bantuan untuk XFonon di dalam widget obrolan Anda

Anda dapat menunjukkan Pusat Bantuan tepat di dalam widget obrolan sehingga orang mencari jawaban sebelum mereka mengirim pesan. Dalam pengaturan widget chat, pilih dimana link bantuan muncul:

* Di kepala

Ikon bantuan kecil di atas widget.

Di dasar

Pautan teks di bawah kotak mesej, contohnya "Layari Pusat Bantuan". Anda boleh ubah kata-kata.

Kedua-duanya

Di bagian bawah dan di bagian bawah, untuk paling banyak penglihatan.

link bantuan memiliki kontrol warna sendiri di bawah pengaturan Penampilan widget. Biarkan saja pada Tiada Kecocokkan dengan warna peluncur Anda, atau pilih Padat Warna atau warna GradienSeluruh pengalaman membantu mengikuti tema widgetmu, jadi selalu terlihat seperti bagian dari merekmu.

Kau harus mencari tahu alamat webmu sendiri.

Dari kotak, pusat bantuan Anda sudah memiliki alamat yang bersih dan dapat dibagikan sendiri (misalnya /help/your-help-centerKau bisa melangkah lebih jauh dan melayaninya dibawahmu. domain ownJadi, pelanggan dan mesin pencari melihatnya sebagai bagian dari merek Anda, misalnya yourdomain.com/help OR atau ORANG help.yourdomain.comSemuanya terus bekerja pada domain Anda: link, gambar, pencarian dan peringkat artikel.

Di bawah situs utamamu

Di Pusat BantuanBuka pintunya. Terbenam tab and find "Show your help center on your own web address". Pick your setup (Cloudflare, Nginx or Apache), copy the ready-made block, and paste it into your site. Each option has a Panduan perlengkapan usifour Tombol di sebelahnya dengan langkah yang tepat.

Pada subdomain

Andorra help.yourdomain.comPanel yang sama memiliki pilihan subdomain. Cloudflare Sebuah subdomain adalah rute yang paling terpercaya, dan itu memberikan alamat bersih dengan apa-apa setelah itu.

💡
Nama pengguna Cloudflare Ini hanya menjalankan pekerjanya pada alamat yang ditunjang melalui Cloudflare Domain utama Anda sering menunjuk lurus ke website Anda, sehingga aturan yang ditempatkan pada domain utama dapat diam-diam tidak melakukan apa-apa. Cara yang dapat diandalkan adalah subdomain yang terkoneksi seperti help.yourdomain.comPanduan setup berjalan Anda melalui satu DNS catatan dan rute.
Kebagusan untuk SEO_. Setelah pusat bantuan anda berada pada domain anda sendiri, mesin pencari indeks artikel anda di bawah merek anda. Setiap halaman menyatakan alamat yang benar dan situs peta mencantumkannya, jadi artikel yang sama tidak pernah terindeks dua kali.
💡
Guna pautan bantuan dalam-widget juga? Dalam tetapan "Buka di pusat bantuan" bagi widget sembang, tetapkan Ke mana link pergi ke Anda sendiri bantuan domain pusat Kemudian artikel tersebut juga menghubungkan domain Anda dengan alamat yang sama, bukan pada alamat OpsIQ _.

Lihat bagaimana seluruh pusat bantuan Anda lakukan

Di luar suara tunggal-artikel, Pusat Bantuan memiliki sendiri analytics. Aktifkan dalam pengaturan Pusat Bantuan dan diam-diam mencatat bagaimana orang menggunakan bantuan Anda: artikel yang paling banyak ditinjau, apa yang mereka cari, dan pencarian yang kembali kosong (daftar tulis-dibuat siap), bekerja keluar negara pengunjung dan perangkat sendiri, sehingga tidak perlu widget chat diinstal untuk melaporkan. Setiap nomor ditampilkan untuk both Tempat bantuan Anda muncul, halaman publik dan in-widget bantuan, serta gabungan, sehingga Anda dapat melihat berapa banyak masing-masing benar-benar digunakan.

💡
Analitika tetap dimatikan sampai Anda menyalakannya, dan Anda dapat memiliki pengunjung IP alamat yang dianonim. tidak ada yang direkam sebelum Anda memilih masuk

Pilih apa yang tampak di setiap bagian halaman

Setiap bagian Pusat Bantuan (kategori di halaman utama, artikel populer, daftar artikel pada halaman kategori dan lebih) memiliki aturan sederhana tersendiri. all Barang-barang, nomor set, yang terkini, atau hanya satu-satunya yang Anda feature dengan bintang. Apabila peraturan menutup senarai, pelanggan masih mendapat pautan "Tunjukkan semua", jadi tiada apa yang benar-benar di luar jangkauan.

Anda juga boleh tentukan bagaimana suara berguna kelihatan: tersembunyi, nisbah "12 dari 14 found this helpful", or plain thumbs counts. A minimum- votes setting stops a brand new article showing an awkward "0keluar dari0".

Lihat artikel mana yang sedang dikerjakan

Setiap artikelnya menunjukkan sebuah Apakah ini membantu? Setiap ya atau tidak dihitung per artikel, sehingga Anda dapat melihat sekilas artikel mana yang menjawab pertanyaan dengan baik dan mana yang membutuhkan penulisan ulang.

Teks dan label

Anda dapat mengubah heading dan label pada Pusat Bantuan untuk mencocokkan suara Anda. Biarkan setiap bidang kosong dan itu jatuh kembali ke standar yang masuk akal, jadi anda hanya mengedit kata-kata yang ingin anda ubah.

Pusat Bantuan osis berbagi satu perpustakaan dengan AI Anda. Setiap artikel yang Anda terbitkan di sini adalah konten yang sama yang digunakan oleh AI untuk menjawab chat dan tiket, sehingga meningkatkan satu memperbaiki yang lain.

Pertanyaan umum

Apakah saya perlu menulis konten terpisah untuk Pusat Bantuan?+

Tidak, artikel ini dibangun dari artikel dasar AI yang sama yang telah digunakan.

Boleh aku menyimpan artikel internal?+

Hanya artikel yang Anda terbitkan dan tandai publik muncul di Pusat Bantuan.

Apakah pelanggan masih bisa mencapai seseorang?+

Ya. widget membantu menghubungkan duduk keran jauh dari memulai percakapan, jadi diri-serve tidak pernah menjebak siapa pun.

Pertumbuhan & SEO

Situs Intelijen (SEO suite)

Situs web Kecerdasan Situs web Cezeki adalah OpsIQ yang dibangun-dalam SEO dan search-visible suite. Situs ini merangkak situs Anda seperti mesin pencari, trek di mana Anda peringkat, penelitian kata kunci, pengawasan backlinks dan pesaing, memindai kehadiran peta lokal Anda, memeriksa kecepatan halaman, dan mengubahnya semua ke dalam laporan siap pelanggan, dengan analis AI yang menjelaskan apa yang harus diperbaiki dan dapat menyusun perbaikan. Ini adalah fitur premium; ketika diaktifkan sebagai Intelijen muncul sebagai Situs di sidebar. Setiap data domain tetap terpisah, merangkak, ranking dan laporan tidak pernah mencampur antara domain.

Situs Intelijen Situs
Situs Web Intelijen Situs web DashboardANASEODashboard menunjukkan skor kesehatan situs, pelacakan peringkat kata kunci dan tren lalu lintas.Situs Intelijen Situsyoursite.com86KESEHATAN SITE3 Masalah kritikalPelacakan pangkat kata kunciAWA Ai bantuandesk#3life live chat saas#7Amunisi untuk agensi#12Klik organik1ORANG CRAWLMenemukan masalah teknis2TRACKPangkat, kata kunci, backlinks3AI AIANALISTPenjelasan dan draf perbaikan
Situs Intelijen: sebuah situs-kesehatan skor dari merangkak terbaru, pelacakan peringkat kata kunci langsung, tren klik organik, dan tiga langkah loop: crawl, track, biarkan AI draft perbaikan.

Larilah kepayahan mulai dari sini

A crawl is OpsIQ visiting your pages the way a search engine would, to find technical issues: broken links, missing titles, thin content, slow pages, indexing problems.

1
Mulai merangkak

Pada Overview, klik untuk memulai crawl. OpsIQ _baris gilir dan bekerja melalui halaman Anda di latar belakang; indikator status menunjukkan kemajuan.

2
Baca laporannya.

Setiap isu dikelompokkan oleh keparahan sehingga Anda menang pertama.

3
Biar AI membantu

Analis AI analisa menghasilkan singkat bahasa-biasa saja tentang apa yang salah dan mengapa hal itu penting, dan dapat menghasilkan saran untuk memperbaiki Anda sebelum menerapkan.

Situs Apa yang melacak Intelijen Situs

Kesehatan situs Crawls &

Memindai halaman Anda untuk masalah teknis SEO dan daftar setiap halaman dengan masalahnya.

Pelacakan pangkat

Add the keywords you care about; OpsIQ checks where your site ranks and tracks movement over time.

Penelitian kata kunci INO

Discover ide kata kunci baru untuk target, dengan pelatih kata kunci AI untuk membantu prioritise.

Kemudi

Lihat siapa yang menghubungkan kepada Anda, segarkan daftarnya, dan jangan sampai ada hubungan yang tidak ingin dikaitkan dengan situs Anda.

Pengkompetisi

Tambah domain pesaing dan bandingkan visibilitasmu terhadap mereka, dengan analisis AI pesaing.

Grid lokal (peta)

Ogoza Scan lokal-listing visibilitas melintasi grid geografis untuk melihat di mana Anda muncul di peta, ditambah Google Business Profile alat.

Kecepatan PageVice

Periksa kecepatan halaman agar kau bisa memperbaiki halaman lambat yang melukai ranking dan konversi.

Kandungan AIOC

BAHASA dan draf konten yang ditujukan pada kata kunci yang Anda tuju.

Laporan

Membangun laporan yang mudah dicetak, pelanggan siap melaporkan segala sesuatu di atas.

Sambungkan Google untuk data yang akurat

Dua penghubung Google membuat perkiraan menjadi bilangan real:

Konsol Pencarian Google buatan Forbes

Cari

Coba tarik pertanyaan yang tepat, klik dan kesan laporan Google untuk situs Anda, petakan properti Anda, dan peluang permukaan langsung dari data Google sendiri.

Google Analytics 4

Lalu Lintasan Lalu Lintas

Bawa data lalu lintas dan keterlibatanmu bersama data SEO-mu, jadi laporan menunjukkan visibilitas dan perilaku bersama.

Laporan fresh yang dijadwalkan & berlabel putih

Anda tidak perlu menjalankan semuanya dengan tangan. Dijadwalkan menyegarkan kembali merangkak, pemeriksaan peringkat, cek kata kunci, penyegaran backlink, pemindaian lokal-grid dan generasi laporan pada suatu kaden (daily atau mingguan tergantung pada rencana dan volume). Ini dijalankan melalui OpsIQ _Cron, lihat bagian Cron dan automasi. Dihasilkan melaporkan ekspor sebagai dapat dicetak, dokumen siap pelanggan: lembaga mengirimkan setiap klien sebuah pembaruan SEO biasa, dan karena setiap data domain terpisah, setiap klien hanya pernah melihat mereka sendiri.

Beberapa fitur Intelijen Situs Situs web tertentu menyebut penyedia data eksternal dan AI melalui OpsIQ Mereka bekerja di luar kotak ketika suite diaktifkan untuk rencana Anda. Jika refresh tidak berjalan, konfirmasi OpsIQ Cron hirobia berjalan (lihat Cron dan otomatisasi).
Apa aku perlu menambahkan sesuatu ke situsku untuk pelacakan SEO?+

Buat trafik dan data pencarian yang tepat, sambungkan Google Search Console dan GA4.

Bisa aku melacak lebih dari satu domain?+

Tambahkan setiap domain secara terpisah; mereka merangkak, peringkat dan laporan tetap sepenuhnya terisolasi satu sama lain.

Seberapa sering aku harus merangkak?+

Mingguan bertuah banyak untuk kebanyakan situs; merangkak pada permintaan setelah perubahan besar konten atau struktur. Atur jadwal sehingga Anda tidak pernah lupa.

Pertumbuhan & SEO

Pengimplementasi Otomatis ( Agen SEO)

Oto-Implement adalah bagian dari Site Intelligence yang benar-benar menerapkan fix the craw dan AI analis merekomendasikan, bukan hanya menyarankan Anda. Agen bekerja ketat dari apa yang telah ditemukan oleh Site Intelegence (ia tidak pernah dapat menemukan perubahan) dan berjalan setiap perbaikan melalui loop aman yang sama: sebuah pratilik lari kering, persetujuan per langkah Anda, tulisan langsung, snapshot otomatis, dan re-crawl yang membuktikan jumlah open-issue turun. Ini adalah fitur Manard-AI-only; ia muncul sebagai Auto-Implemment (pengulangan) action di dalam Situs Intelijen, dan itu adalah bagian intelijen dan mematikannya.

Pengimplemen-Otome
Agen SEO Auto-ImplementAliran yang menunjukkan SEO merekomendasikan perbaikan bergerak melalui pratinjau, persetujuan dan tulisan langsung, dengan proce-it re-crawl.Pengimplemen-Otomeyoursite.comPerbaikan sarananAdd missing <title>Diluluskanafx robot. txtDiluluskanKirim peta situs.xmlreviewPRAWASAN DRY-RUN (DIFF)+ <title>AI Helpdesk - OpsIQ</title>+ <meta name=description ...>- <title>Home</title>AperroveSkip jing- RE-CRAWLIsu terbuka 124Snapshot disimpan1YEHUWADiff dry-run dari setiap perbaikan2AKAN MENGGUNAKAN & WRITTENSSH Dirumahi API3PROVE DAN ROLLBACKSelit semula + snapshot
Bagaimana sesi berjalan: agen daftar fixes Situs Intelijen sudah disarankan, menunjukkan diff kering-run dari masing-masing satu, menerapkan yang Anda menyetujui atas SSH Orang Amerika API, snapshot sebelum setiap tulisan, dan re-crawls untuk membuktikan jumlah open-issue menurun.

Apa yang bisa berubah

Agen hanya pernah melaksanakan pembaikan yang Intelijen Laman (atau penganalisis AI) telah dinasihatkan untuk domain itu. Melalui platform yang disokong meliputi:

Konfigurasi server ik

situs webmap.xml, robots. txt, dan redirect, aturan kanonik dan header dalam . htaccess (Apache / LiteSpeed) atau konfigurasi nginx.

rantaian Redirect

Kuncupkan rantai multi-hop arah ke bawah ke hop tunggal lurus ke akhir URL_, di dalam blok . htaccess dikelola sama, sehingga kecepatan dan nilai link berhenti bocor melalui hop tambahan.

Page <head>

Judul halaman yang hilang atau lemah, keterangan meta, tag kanonik dan blok terstruktur-data (skema).

WordPressSEO

Yoast, Rank Math dan SEOPress judul & meta, dan teks alt gambar, diterapkan melalui WP-CLI pada SSH Jalur vingia atau REST API Di jalan tuan rumah.

WordPress structured data

ubase-type JSON-LD (skema) ke halaman yang hilang itu. SSH Jalur bantuan kecil yang dikelola (a must-use plugin) mencetak markup sehingga bekerja dengan atau tanpa plugin SEO; di jalur hosting plugin SEo Anda membawanya.

Pautan internal

Adds one relevant internal link inside existing WordPress content to rescue orphan pages and connect related posts. One link per page, never inside a heading, an existing link or a shortcode, and always approved by you first.

Isian halaman-tipis menulis ulang

Draf isi penggantian penuh untuk halaman tipis (dinyalakan oleh opsi merangkak, lihat di bawah). Setiap draf ditinjau dan disetujui oleh Anda sebelum apa pun diterbitkan, dan konten lama disimpan sehingga dapat dipulihkan.

Cache halaman WordPress)

Hagnoshi menyalakan W3 Total Cache page caching ketika crawl menemukan masalah kecepatan dan plugin yang terpasang, sehingga halaman melayani lebih cepat.

ShopifySEO

Produk dan koleksi SEO judul & deskripsi, halaman dan blog-artikel SEO, ditambah 301 Arahkan ke arah, melalui Shopify Admin API.

WebflowSEO

Per-halaman SEO judul dan meta deskripsi melalui Webflow Data API ^ a b c d e f g h i j k l m n o p q r s t u v 2.

Siapkan perbaikan secara otomatis (pilihan dua merangkak)

Dan dia memutuskan berapa banyak agen yang akan berbaris untuk Anda sebelum waktu.

Auto-siapkan AI diperbaiki setelah setiap merangkak

Setiap craw juga menulis konten perbaikan konkret (judul, deskripsi meta, teks alt, skema, redirects) untuk apa yang ditemukan, sehingga fixes siap meninjau dan menerapkan momen crawl finishes daripada dijana nanti pada permintaan. Menggunakan kredit AI pada setiap merangkak.

Konten english menulis ulang (halaman thin)

Agen tersebut mungkin menyusun konten pengganti penuh untuk halaman tipis. Tidak ada yang pernah diterbitkan sendiri: setiap draf muncul sebagai perubahan yang Anda tinjau secara berdampingan dan disetujui atau ditolak, konten sebelumnya disimpan sehingga reversibel, dan terbatas pada beberapa halaman per lulus. Penggunaan kredit AI per draf.

💡
Kedua pilihan hanya mempersiapkan dan membuat draf kerja setiap perubahan masih melalui persetujuan per langkah yang sama, snapshot dan rollback sebagai perbaikan lain, sehingga menghidupkan mereka tidak pernah menempatkan apa pun hidup dengan sendirinya.

Dua cara menghubungkan

SSH / SFTP Jalur

Diurus Sendiri

Untuk situs di servermu sendiri, agen terhubung ke atas. SSH/SFTP Kelayakan yang anda simpan, sunting berkas konfigurasi dan halaman server secara langsung, dan jalankan WP-CLI untuk WordPress Lebih baik jika kau memiliki akses shell dan ingin kontrol penuh file.

Di--API Path ari (tidak ada SSH)

Tidak ada shell

Untuk platform yang tidak memungkinkan SSH Agen bekerja sepenuhnya melalui seorang pejabat API Konektor, WordPress Kata Sandi (REST + Aplikasi), Webflow (Data)API v2 dan Shopify Fiji (Admin API Tidak ada yang dipasang di host.

💡
Wix dan Squarespace tidak memiliki publik SEO-write API_, sehingga pada platform tersebut Auto-Implement berjalan dalam mode penasihat: hal ini menunjukkan perubahan yang tepat untuk membuat (judul, meta atau pengaturan yang tepat) bagi Anda untuk diterapkan dengan tangan. Segala sesuatu yang lain adalah baca-saja dan aman.

Jangan nyalakan konektornya.

Agen mencapai setiap platform melalui sambungan:

Dalam Fungsi

Shopify Dan WordPress Kapal penghubung dengan OpsIQ Hanya mengaktifkan mereka di bawah Connectors dan menambahkan penyimpanan / kelayakan situs.

Dari Pasar

WebflowAda instalasi Wix dan Squarespace dari Penyambung→Pasar, lalu menghubungkan dengan cara yang sama.

Bagaimana sesi berjalan

1
Memetik obat-obatan

Oto-Implement Open (rocket) dari bagian Intelijen Situs. Daftar ini berisi masalah yang sudah ditemukan oleh Intelijen Situs web yang dapat diperbaiki pada domain ini.

2
Setiap perubahan prapaparan

Untuk setiap perbaikan agen menunjukkan diff yang berjalan kering (tepatnya apa yang akan ditulis) sebelum apapun menyentuh situs langsung.

3
Langkah demi langkah Approve

Anda menyetujui (atau melewatkan) setiap perubahan secara individual. Tidak ada yang diterapkan tanpa Anda eksplisit pergi-ahead pada langkah itu.

4
Ia menulis, kemudian gambar

Pada persetujuan agen membuat perubahan hidup atas SSH Orang Amerika Serikat atau yang di rumah API Dan menyimpan gambar pertama, sehingga setiap perubahan dapat dikembalikan.

5
Buktikan, hidup

Sebagai itu berlaku setiap perubahan agen segera memeriksa kembali bahwa halaman yang tepat dan menunjukkan per langkah \"tetap hidup\" putusan, sehingga Anda menonton setiap memperbaiki tanah di halaman langsung seperti yang terjadi. pada akhirnya itu re-crawl seluruh situs dan mengkonfirmasi jumlah open-issue menurun.

Pengamanan Keselamatan &

SEO sahaja

Agen agen hanya dapat melakukan apa yang disarankan oleh Intelijen Situs untuk domain tersebut. Ini tidak dapat membuat perubahan sewenang-wenang ke situs atau server Anda.

Persetujuan per-langkah

Setiap tulisan dipratinjau sebagai diff dan diterapkan hanya setelah Anda menyetujui langkah spesifik tersebut.

& Rulas balik snapshot

Snapshot disimpan sebelum setiap tulisan, sehingga perubahan apapun dapat dikembalikan.

Hidup per-langkah bukti

Setiap halaman yang diubah diperiksa ulang segera ditulis dan mendapat putusan \"langsung tetap\", sehingga sebuah perbaikan dikonfirmasi terhadap halaman langsung segera, tidak hanya dalam penutupan re-crawl.

Kandungan bahasa Inggris tidak pernah diterbitkan secara oto

Sambungan internal dan penulisan ulang konten halaman tipis lebih tinggi, sehingga selalu ditunjukkan kepada Anda untuk persetujuan dan tidak pernah diterapkan secara otomatis, mode apapun yang Anda jalankan.

Hanya mengurus-AI

Auto-Implementasi berjalan pada AI Terurus; ia dihalang bila ruangkerja menggunakan kekuncinya sendiri (BYOK).

Bil

AI tokens tagihan biasanya seperti yang Anda gunakan mereka, ditambah satu rata per-use biaya setiap sesi Auto-Implement, keduanya diambil dari kredit Managed-AI yang sama.

Auto-Implement off secara default. Aktifkannya pada halaman konfigurasi AI (Auto-Implemmen card) dan pastikan konektor untuk platform anda tersambung terlebih dahulu.
Apa itu mengubah sesuatu tanpa bertanya?+

Setiap perubahan dipratinjau sebagai diff yang berjalan kering dan diterapkan hanya setelah Anda menyetujui langkah yang tepat. snapshot disimpan sebelum setiap menulis sehingga Anda dapat roll kembali.

Apakah aku perlu akses SSH _?+

Tidak pada WordPress, Shopify OR atau ORANG Webflow Mereka bekerja melalui pejabat mereka. APIs Tidak ada akses shell. SSH Hanya satu dari dua jalur, digunakan ketika Anda ingin agen untuk menyunting konfigurasi server dan file secara langsung pada server Anda sendiri.

Bagaimana aku tahu itu berhasil?+

Setelah menerapkan perbaikan yang disetujui agen kembali merangkai situs dan menunjukkan hitungan terbuka sebelum dan sesudah, sehingga Anda dapat mengkonfirmasi perbaikan mengurangi masalah.

Akankah ia menulis ulang atau menerbitkan sendiri konten halaman?+

No. AI konten menulis ulang kembali off sampai Anda menyalakannya dalam pilihan merangkak, mereka terbatas pada beberapa halaman tipis per lulus, dan setiap draf ditunjukkan kepada Anda untuk persetujuan samping-bersisi sebelum apa pun yang diterbitkan. Isi sebelumnya disimpan, sehingga sebuah penulisan ulang selalu dapat dikembalikan.

Boleh aku menggunakannya dengan kunci AI sendiri?+

No. Auto-Implement hanya dikelola-AI dan diblokir dibawah BYOK_. Ini tagihan token AI biasanya ditambah satu flat per-use fee per sesi, dari kredit yang dikelola-AII yang sama.

Pertunangan pertumbuhan wanfan &

Studio Survei

Studio Survei Beragam adalah ruang kerja untuk membuat survei yang dapat disunting yang dapat disampaikan sebagai halaman standalone kaya, widget situs web atau inline bledgeed. Produk saat ini juga menyediakan link hosting, pratinjau draft ditandatangani, undangan pribadi, berbagi QR, browsing respon dan analisis survey-skop. Si widget website adalah salah satu pilihan pengiriman; itu bukan definisi dari sebuah survei.

⚠️
Batas target lawan-perlawanan: - Apa? - Ya. survey Pusat Survei masih membutuhkan arsitektur multi-deployment independen, signed-token Survey Identity Gateway, target/variable wiring,CRMTidak ada aliran dan tipenya surveys.* API.

Wheridon membuat survei

1
Pilihlah bagaimana orang akan mengambilnya

Wird saat ini menawarkan Standalone page & link, Website widget dan Inline blemed. Aliran target yang disetujui dimulai dengan tipe survei dan kemudian menambahkan email CRM, private-link dan QR deployment sebagai pilihan kelas pertama.

2
Pilih tujuan

Oceanza Pick NPS, CSAT, CES, umpan balik produk, pasca pembelian, pembatalan, onboarding, website, event, webinar, dukungan, lead/demo, trial, testimonial, riset, karyawan, asupan atau umpan balik umum.

3
Woindon Gunakan templat lengkap atau Mula kosong

Katalog saat ini telah siap untuk mengedit starter yang dapat dikelompokkan dengan tujuan. Memilih templat membuat draf yang disalin: mengubah survei Anda tidak mengubah starter atau survei lain.

4
Sesuaikan atau Cepat ulasan

OFOCOSize membuka setiap pertanyaan, desain, perilaku dan kontrol pengiriman.

Pilihan dan perilaku sekarang

Laman & pautan Standalone

Appacher Sebuah halaman bermerek responsif dengan URL_ sendiri. Gunakan undangan pribadi dan ekspiriat ketika setiap penerima membutuhkan link terkontrol. QR berbagi poin pada pengalaman yang dihost ini.

Widget situs web bagi Medidak

Air kepindahan saluran warisan. Ia dapat menggunakan halaman, geografi, perangkat, pengunjung, tanggal, sampling, pendinginan, lawati dan aturan kuota. Hal ini masih didukung oleh jembatan aktif-widget legasi sementara arsitektur penyebaran dibangun.

Tertanam dalam garis

Survei yang ditaruh di dalam sebuah halaman, portal, produk atau pusat bantuan.

E-mail

Hari ini Studio dapat menghasilkan undangan HTML dan link pribadi. Akhir-ke-akhir pengiriman dari kontak/segmen CRM, dengan persetujuan, penekanan, penjadwalan, retry dan korelasi respon, adalah target integrasi CRM Outreach yang disetujui.

Desain dan pratinjau Enterprise

Halaman kaji selidik mempunyai tema milik kaji selitik dan keluarga susunatur halaman, kawalan responsif, salam dan salinan penyelesaian, dan pralihat draf yang ditandatangani. Pralihat perancang adalah lebar penuh di bawah editor, bukan rel sisi sempit. Ia menggunakan masa jalankan sebenar dalam bingkai kotak pasir dan menyokong lebar desktop, tablet dan telefon; laluan pralihat tidak menulis jawapan atau analisis.

💡
Studio Survei adalah bebas dari Studio Promosi. Pemerhatian masa jalan, identiti, aset, render dan analisis mesti dimiliki oleh Studio Survai. Kandungan promosi hanya boleh digunakan semula melalui satu kali salin/import yang mencipta data survei terpisah; penyuntingan promosi kemudian tidak perlu ada kesan.

Produk bentuk penuh

Penyaluran Independen

Aras

Salah satu survei dapat memiliki halaman versi, widget, embed, email CRM, private-link dan QR deployments, masing-masing dengan keadaan sendiri, desain, audiens dan analytic. Setiap survei dapat diistirahatkan, dinonaktifkan atau dihapus.

Kampanye dan kampanye CRM Outreach

Aras

Buildof audien yang diverifikasi dari segmen CRM dan konektor Survey-mampu, membekukannya ke dalam versi tak terbantahkan, mengeluarkan satu undangan ditandatangani masing-masing, dan mengirim melalui penghubung email outbound terjepit dengan bukti pengiriman per-invitation.

KATA dan validasi lapangan frekuensi

Aras

slider, pilihan gambar, berkas unggah, tanda tangan, alamat, telepon, heading dan teks kaya, dengan panjang min/max, email/URL Praset nomor /number, teks kesalahan suai dan prefill per-permintaan URL Parameter trans_title= yang tidak diketahui mengabaikan (tanggal-akses= yang disarankan) (bantuan).

Logika, rumus, hasil

Aras

AND/OR kelompok kondisi, aturan cabang, mesin formula aman atas jawaban, dan mencetak skor band yang membawa halaman hasil sendiri: sebuah kuis yang dicetak mendarat pada putusannya.

Bahasa, kios, prefill

Aras

Sebuah bahasa pengunjung dropdown listing hanya bahasa dengan terjemahan nyata, mode kios untuk tablet terbagi (target lebih besar, auto-reset, tidak redirect), pembangun link prafill, dan editable aman-badge dan teks footer.

Tes Versi A/B

Aras

¡Oublish sebuah versi penantang pada setiap penyebaran dengan split lalu lintas. Pengunjung ditugaskan secara tetap, respon dicap dengan versi yang benar-benar disajikan, dan tabel perbandingan menunjukkan tanggapan, penyelesaian dan skor berarti per versi. Promote pemenang dalam satu klik.

Bernage bersuapan Weekly

Aras

Emel mingguan dengan KPIs kaji selidik 7 hari terakhir, kaji selitik paling sibuk, Pulse Maklum Balas dan penerangan AI terkini, dihantar melalui sambungan keluar yang dipegang. Konfigurkannya dalam Pusat Penghantaran, Automatik.

Pimpinan

Aras

Daftar akses update Per-survey membatasi siapa yang dapat mengedit, menerbitkan atau menghapus survei. Terbitkan persetujuan (empat-mata) memerlukan admin kedua untuk merilis draft tepat; penyuntingan menetapkan ulang persetujuan. Draf share links Biarkan pengulas melihat draft nyata tanpa log masuk

Platform pengembang untuk bandar

Aras

Kontrak konektor 2.2, diketik survei.* dan umpan balik.* tindakan pada api/v1, survei kanonik.* acara, webhooks yang tahan lama ditandatangani dengan format relay Slack dan Google Sheets, dan satu-respon PDF eksport.

Pertunangan pertumbuhan wanfan &

Analisis Survei dan Maklum Balas adalah produk yang berbeza

Analisis Survei menerangkan bagaimana survei itu sendiri menjangkau orang dan melakukannya. Maklum balas menjelaskan apa yang pelanggan katakan di sepanjang semua sumber yang dibenarkan dan apa yang perniagaan harus lakukan mengenainya. Dua produk ini terhubung satu sama lain tetapi tidak berkongsi atau menulis ganti kebenaran analitikal.

Analisis Survei

Dimasukkan dari survei individu di Survey Studio, bukan dari navigasi sisi global. Ini mengukur kelayakan, ekspeksi, perilaku pemicu, dimulai, penyempurnaan, ketertinggalan, pertanyaan dan gesekan cabang, waktu, penyebaran/kampaign/versi hasil dan runtime reliabilitas.

Umpan Balik Fisik Selayang Pandang & Kotak Masuk

Satu suapan kronologi yang tahu kebenaran untuk jawapan Survei selesai, maklum balas widget lama, sembang dan tiket CSAT, respon balik tiket, penarafan jawapannya AI pelanggan, undi berguna pangkalan pengetahuan dan sumber luaran/suai yang diluluskan.

Analitik

. . Analyzes pelanggan yang berarti: tren metrik asli, topik/tema, sentimen, emosi, maksud, mendesak, permintaan, keluhan, pujian, perjalanan/produk/layanan/pelepasan segmen, detraktor dan hasil tertutup-loop.

Kepemilikan data berbobot

Sumber informasi yang dapat dibangun kembali sumber referensi dan sinyal, kemudian beban bukti yang diizinkan pada permintaan.

⚠️
Halaman Feedback saat ini masih memiliki peramban respon Survey dan kotak inbox widget warisan terpisah, dan total AI-nya belum menggunakan model sumber yang dinormalkan penuh. Secara terpadu Overview / Inbox / Analytics / Sumber & desain kesehatan adalah target implementasinya.

NPS, CSATMereka tidak harus digabungkan menjadi satu rata-rata yang tak bisa dijelaskan.

Pertumbuhan & SEO

Studio Promosi

Studio Promosi Menyalakan website Anda menjadi mesin konversi. Desain pop-up, spanduk, slide-in, bar atas/bawah, pengambilalihan layar penuh, blok inline dan bahkan pengalihan berbasis negara, kemudian menampilkan pesan yang tepat ke pengunjung kanan pada saat yang tepat. Semuanya disampaikan melalui OpsIQ widget sudah di situs Anda, sehingga tidak ada tambahan untuk dipasang. Anda merancang dan menyimpan kampanye setiap waktu; mereka hanya menunjukkan sekali Anda menerbitkannya dan studio beralih untuk ruang kerja Anda.

Studio Promosi
Promosion Studio designerSeorang desainer kampanye visual dengan palet blok, pop-up di kanvas, dan panel target.Promosi Studio - PerancangWANITAxSelamat datang, {first_name}_!Get 15% off your first orderSAVE15K K K K Kyaip kuponkuBAHASA ORANGNegaraAmerika Serikat, CAPemicuKeluar-intentPisahkan A/B50 / 50BAHASA INGIN1TAK BERDESAGMe_ngus blok ke kanvas2SASARANNegara, halaman, penonton3UkuranPemenang A/B + wawasan AI
The visual designer: a blocks palette on the left, your campaign on the canvas (here a personalised coupon pop-up using a {first_name} token), and the targeting + publish panel on the right.

Gambar besar

Kampanye

Apa

Salah satu promosi: pop-up, banner, bar, slide-in, layar penuh, inline block atau geo-redirect. masing-masing memiliki tujuan: penjualan, lead, sign-up (pertunjukan), chat, survei, pengumuman.

Versi Desain &

Bagaimana

Kau membuat tampilan di editor visual setiap simpan menciptakan versi baru, sehingga kau bisa selalu kembali.

Target

WhoNone

¡Kho melihatnya: negara, halaman, perangkat, sumber lalu lintas, kembali vs baru, jadwal, dan (dengan penyambung) pelanggan log-in Anda.

Pencetus

ORANG YANG

Bila muncul: seketika, pada penundaan, pada gulungan, pada keluar-intent, ketika menganggur, pada klik, setelah N halaman, atau dari chat / kegiatan tiket.

Analisis

Hasil

Kesan langsung, klik-melalui, konversi, drop-off corong, country / page / perangkat splits, A/B pemenang dan wawasan AI.

Luncurkan promosi pertama Anda dalam 5 langkah

1
Mula dari templat atau kosong

Studio Promosi Terbuka dan klik kampanye Baru, atau pilih desain yang sudah dibuat dari galeri Template.

2
Desain itu

Keheret dalam blok, heading, text, tombol, gambar, lencana, stat, hitung mundur, formulir, kupon, video, rating, spin-wheel. Warna gaya, gradien dan efek 3D dengan slider. Preview Desktop / Tablet / Mobile, dan gunakan Free move untuk menempatkan apa saja di mana saja.

3
Kepribadian itu

Jenis token seperti {first_name}, {country} OR atau ORANG {company} Pada waktu pertunjukan mereka menjadi nilai nyata pengunjung.

4
Sasaran & pemicu

Pilihlah siapa yang melihatnya (negara, halaman, perangkat, penonton) dan ketika api (delay, scroll, exit-intent).

5
Cek, kemudian terbitkan

Klik Semak untuk imbasan pra-lancar pantas, kemudian Terbitkan. Ia akan hidup dalam beberapa saat dan mula mengumpul analisis.

Blok - Blok yang bisa Anda bangun

Kandungan _Nobal

Inisi

Kepala, paragraf, daftar, kutipan, gambar, ikon, lencana, statistik, pembagi dan ruang, blok bangunan dari pesan apapun.

Panggilan untuk tindakan

Inisi

Tombol Thingol dengan aksi nyata: membuka taut, memulai chatting, membuat tiket, menyalin kupon, atau melompat ke halaman.

Kesusahan & penangkapan

Premium

Penghitung quedown, formulir (email / telepon / teks), kupon terkutip dan pita video.

Umpan balik yang tidak digagap &

Premium

Roda putar-ke-menangan, kartu goresan, rating bintang NPS / dan corong multi langkah.

Efek susunatur & susunatur

Premium

Kolom, bar kemajuan, berbagi sosial, tanda bukti sosial, ya/tidak ada dua langkah, kuis, dan efek 3D, kemiringan, cahaya, parallax, kacamorfisme.

Token Personalisasi

Ini adalah daftar atau kutipan.

Token yang tersedia vinada
From the visit:   {country} {city} {device} {page_path} {utm_source} {referrer}
From your CRM:    {first_name} {last_name} {email} {company} {segment} {lifecycle_stage}
From a connector: {balance_due} {unpaid_invoices}   (logged-in customers only)

Referensi Target Baru

Lokasi

¡Caw hanya menampilkan di (atau bersembunyi dari) negara-negara terpilih, kota atau zona waktu melalui GeoIP. Besar untuk penawaran spesifik wilayah atau geo-redirect.

Halaman & URLs_

Batasi halaman tertentu dengan menggunakan sama dengan / dimulai-dengan / berisi / regex, dan abaikan halaman juga.

Perangkat

Desktop, tablet atau mobile, misalnya sebuah batang langsing pada mobile, modal pada desktop.

Jenis lawati

Æð New, return, dikenal (dalam CRM Anda) atau anonim; segmen CRM, tahap daur hidup, skor utama atau bahasa peramban.

Sumber lalu lintas

utm_campaign) atau situs rujukan, misalnya hanya pengunjung dari iklan tertentu.

Frekuensi Jadwal &

Mulai tanggal / akhir, waktu-of-hari jendela, dan seberapa sering seseorang dapat melihatnya (per sesi, per hari, setelah mereka menutup / klik / konversi).

Lalu lintas A/B tercerai

Dari audiote yang datang dan menjalankan varian head-to-head; orang yang sama selalu melihat varian yang sama.

Penonton (dilog masuk)

Dengan penyambung diaktifkan, target oleh live account state, misalnya pelanggan dengan invoice yang tidak dibayar, atau pelanggan aktif.

Pencetus

Pilih bagaimana promosi muncul: Segera, setelah penundaan, pada kedalaman gulungan, pada keluar-intent, ketika diam, pada klik elemen, setelah sejumlah halaman dilihat, pada form-abandon, atau dari aktivitas chat / tiket. Pengembang dapat menembakkan satu dari kode mereka sendiri dengan window.OpsIQPromo.fire('event').

Log masuk log-in target pelanggan (konektor)

Inilah yang membuat OpsIQ Promosi khusus: menghubungkan platform seperti WHMCS WANITA (atau setiap konektor yang mendukung penonton) dan studio dapat menargetkan pengunjung melalui keadaan akun langsung mereka.

1
Tonton penyambung penonton

Di Bawah Konektor, memungkinkan seseorang yang menyingkapkan fakta - fakta penonton (WHMCS Pelanggan dikenali secara aman ketika masuk ke platform itu, OpsIQ Jangan pernah mempercayai email yang diketik.

2
Tambahkan peraturan penonton

Dalam kampanye Targeting > Audience, membutuhkan log-in dan menambahkan aturan seperti faktur tidak dibayar >= 1_, langganan past-due, atau kredit akun > 0.

3
Kepribadian dengan data mereka

Guna token seperti {first_name} atau {balance_due} Sebuah "Anda mempunyai invois terlambat" peringatan menulis dirinya.

Audience targeting is fail-safe: if the connector cannot confirm a fact (or the visitor is not logged in), the promotion simply does not show, so a billing-targeted offer never reaches the wrong person. Building your own connector? See "Promotion audience targeting" below.

Perdagangan berkoneksi (tenaga super studio)

Kartu produk dari toko Anda

Data langsung

A Product block pulls real items (name, price, sale price, image, link) straight from WHMCS, WooCommerce, Shopify or your OpsIQ billing. Tick "Keep fresh" and the card updates its price from the platform every hour while published.

Kupon terapan-toko-dijangkau

Kupon

Blok kupon boleh mencipta kod diskaun sebenar dalam kedai anda pada masa anda menerbitkan, jadi kod yang dipaparkan pengunjung sentiasa berfungsi semasa membuat pembayaran.

Pendapatan pesanan-kebenaran

Atribusi Ubi

Perintah nyata dari platform Anda dicocokkan kembali ke kampanye per jam (dengan kode kupon yang digunakan atau oleh email pemimpin) sehingga pendapatan yang Anda lihat adalah dari penjualan sebenarnya, bukan perkiraan.

Bukti sosial nyata

Kepercayaan

The social-proof ticker can lead with genuine recent orders ("Ada ordered Starter Plan · 2h ago"), first name and item only, never emails or amounts.

Eksperimen ulir & perjalanan

A/B variant & auto-winner

fregonia Split lalu lintas di seluruh varian desain; biarkan studio mempromosikan pemenang statistik secara otomatis, atau lalu lintas tangan ke bandit optimisasi yang bergeser pengunjung terhadap apa yang mengubah sebagai bukti masuk

Peningkatan holdout

Simpan sepotong pengunjung yang tidak melihat apa-apa, sehingga Anda dapat membuktikan kampanye itu sendiri menyebabkan lift.

varians Segmen

konten berbeda yang berbeda per penonton pada kampanye SAME (mobile pengunjung, big cart, return customer), setiap segmen mendapatkan versinya sendiri.

Eksperimen Pemicu Uber

Varianwan juga dapat menguji KETIKA untuk muncul: langsung vs tertunda vs keluar-intent, diukur head-to-head.

Perjalanan (berrantai)

Target by what someone did with another campaign ("saw campaign A but didn't convert") to build multi-step promotion sequences.

Teh

Pengunjung pil kecil dapat membuka kembali setelah penutupan kampanye, sehingga pop-up tertutup tidak pernah pergi untuk selamanya.

Kau tahu apa yang terjadi?

Klik peta panas

Pereka Bentuk

Dalam desainer, togel peta panas untuk mengecat klik pengunjung nyata di setiap blok desain Anda.

Saluran langkah antah

Saluran

Kampanye multi-langkah menunjukkan persis di mana orang-orang drop off, layar dengan layar.

Kampanye Bandingkan

Studio

Ketemu empat kampanye secara berdampingan (impresi, klik, konversi), nilai terbaik yang disorot.

Cerita bercerita dan cernaan bersuapan bersuap

AIAI

Setiap Isnin, satu ringkasan akan muncul dalam pemberitahuan anda; butang cerita mingguan 📖 menulis ringkasan bahasa mudah dengan langkah seterusnya bila-bila masa anda mahu.

Bekerja dengan nyaman

Ide copilot &

Berbual dengan pemandu rancangan untuk mengedit kanvas ("buat tajuk penting, tambah pengiraan mundur"), dapatkan idea-idea kampanye dari data lalu lintas anda sendiri, menterjemahkan sebuah kampanye per negara, atau auto-betul skor rancangannya yang rendah.

Import Kit Brand

Satu perintah ifiah membaca website Anda dan mengusulkan warna merek asli dan font; simpan dan setiap pemilih mengarah dengan mereka.

Saluran - saluran lain Multi - layar

Blok langkah steps dapat benar setiap penyuntingan layar: tab untuk setiap layar, tambah atau urutan ulang layar, dan pratinjaunya mengikuti sepanjang.

Versi & kehadiran bernama

Namakan versi penting ("Kandidat Lancar"), pulihkan mana-mana daripadanya, dan lihat amaran bila rakan pasukan sedang mengedit kampanye yang sama.

Garis & penguasa peranti

Lihat desktop, tablet dan mobile secara berdampingan dalam satu pandangan; togolkan para penguasa piksel untuk penempatan yang tepat.

Saluran & halaman palsu

Kemilau setiap kampanye juga dapat menjadi halaman yang berdiri sendiri di host untuk bios dan kode QR, urutan tetesan email untuk lead yang ditangkap, atau draft satu-klik web-push.

Keamanan Enterprise

¡Terbitkan jendela beku (change-freeze period), sebuah jeda darurat switch-all, persetujuan, jejak audit dan versi rollback.

Apa aku perlu menambahkan kode ke situsku?+

Promosi akan disampaikan oleh widget OpsIQ yang sama yang sudah anda pasang.

Akankah pengunjung mengunjungi tempat yang sama berulang-ulang?+

No. Set cap frekuensi (per sesi / per hari, atau berhenti setelah seseorang menutup, klik atau mengubah). Standar sensible diterapkan.

Siapa yang bisa menerbitkan?+

Penerbitan, penyayang, pengarsipan dan penggulungan kembali terbatas pada pemilik ruang kerja dan administrator penuh. Setiap anggota tim dapat membuat dan merancang draft.

Pertumbuhan & SEO

Perancang Promosi

Promotion Designer adalah editor blok responsif untuk membangun, meninjau, memversi dan menerbitkan pengalaman kampanye.

Skrin produk
Perancang PromosiPerancangnya menggabungkan kanvas hidup, pratinjau perangkat, blok, variabel personalisasi, komentar dan sejarah versi.Perancang PromosiRuang kerja ERJVIEWPORTDesktopVERSI UNGKAPANv12KETAMAANDAFTARORANG KERJA HIDUPBlok HeroKepala Keluarga, media dan CTATak ada yang namanya \"Sunting\"Tawaran blokKeterbatasan dan batas waktuTak ada yang namanya \"Sunting\"PersonalisasiKekerapan dan kempen variabelSiapCek peluncuran dan peluncuranKomentar dan validasi hirokataUlasan1BUILD BLOCKSedit bentangan langsung2YEHUWADesktop, tablet, telefon bimbit3PUBLISHVersi terjemahan rilis
Perancangnya menggabungkan kanvas hidup, pratinjau perangkat, blok, variabel personalisasi, komentar dan sejarah versi.

Guna blok untuk menyusun pengalaman, pratinjau setiap viewport yang didukung dan sisipkan variabel personalisasi yang disetujui. Review komentar dan AI-media terbukti sebelum peluncuran. Menyimpan versi sehingga desain sebelumnya dapat diperiksa atau dipulihkan.

Pertumbuhan & SEO

Templat promosi

Templat menyediakan galeri mula yang boleh dicari dan dikategorikan untuk promosi Studio.

Skrin produk
Templat promosiGaleri templato menyaring tata letak premium dan menerapkan warna merek area kerja ketika sebuah templat menjadi draft.Templat promosiRuang kerja ERJBAHASA KANTORPenukaranRESULTS24BAHASADiterapkanORANG KERJA HIDUPTawaran keluarKekebalan dengan urgensi dan KTAPratontonSelamat datang pengunjung baruDaftar manfaat dan manfaatPratontonPelancaran produkPahlawan, bukti dan hitung mundurPratontonPermintaan feedbackPrompt survei CompactPratonton1FILTERKategori dan pencarian2YEHUWAPeriksa desain lengkapnya.3USEAis
Galeri templato menyaring tata letak premium dan menerapkan warna merek area kerja ketika sebuah templat menjadi draft.

Pencarian atau penyaring berdasarkan kategori, muat hasil tambahan, pralihat pengalaman lengkap, kemudian pilih Guna templatKampanye baru tetap menjadi draf dan dapat diubah dalam Promotion Designer sebelum publikasi.

Pertumbuhan & SEO

Promosi anasir

Analisis promosi menghubungkan impak dan klik kepada penukaran, konteks penonton, hasil tindakan sambungan dan pembelajaran kampanye.

Skrin produk
Promosi anasirSnaiosion promosional menunjukkan penampilan headline, penonton dan pemicu breakdowns, memimpin ekspor dan hasil tindakan konektor.Promosi anasirRuang kerja ERJIMPRESSIONS42.8kKTR6.4%CONVERSIONS814ORANG KERJA HIDUPNegaraBritania Raya · 31%_KehancuranHalaman/pricing · 22%KehancuranPemicuKeterbatasan keluar fyter_ 44%KehancuranTindakan penyambungCoupon created · 97% successUjilat Outcome1UkuranKANTOR untuk konversi2SLICEHalaman, negara, perangkat3LEARN\"Ajari\"
Snaiosion promosional menunjukkan penampilan headline, penonton dan pemicu breakdowns, memimpin ekspor dan hasil tindakan konektor.

Kesan Baca , klik-melalui laju dan konversi bersama-sama. Putuskan hasil oleh negara, halaman, pemicu dan perangkat; ekspor yang ditangkap mengarah ketika diperlukan. Hasil tindakan konektor menunjukkan apakah tindak lanjut promosi yang dijanjikan benar-benar dijalankan. Pemahaman AI dan pembelajaran jumlah harus diperlakukan sebagai hipotesis untuk memvalidasi, bukan bukti otomatis.

Pertumbuhan & SEO

Pengumuman

Pengumuman menerbitkan pesan di area notifikasi widget dengan target opsional, jadwal dan panggilan untuk bertindak.

Skrin produk
PengumumanPenyunting Pengumuman gnosemen termasuk konten, CTA, penonton, segmen, aturan halaman, tanggal aktif dan gaya visual.PengumumanRuang kerja ERJKASIH3AUDIENCESegmenTAJUKJul 22–29ORANG KERJA HIDUPGelaranPenyelenggaraan perencanaan borosSiapKandungan _NobalPesan Markdown EMFSiapKANTORBaca berita terbarunya.UMUMPeraturanHalaman - halaman yang sangat menentukan · pelanggan aktifSasaran1WRITEGelar dan Tanda Turunan2SASARANKecantikan, segmen, halaman3TAJUKJendela aktif
Penyunting Pengumuman gnosemen termasuk konten, CTA, penonton, segmen, aturan halaman, tanggal aktif dan gaya visual.

BAHASA Pilih semua pengunjung, yang ditandatangani-masuk pengunjung atau pengunjung baru; secara pilihan mempersempit penonton dengan segmen kontak dan aturan halaman. Tetapkan active-from/active-to dates dan bendera aktif. Praset gaya Premium dan warna mengubah presentasi tetapi tidak mengganti konten yang jelas.

Pertumbuhan & SEO

Kampanye yang dilakukan oleh orang-orang yang tidak memiliki kekuatan

Kampanye yang dilakukan oleh Tim Kampanye, yang sedang melakukan kampanye, mengirim pemberitahuan browser kepada pengunjung yang berlangganan setelah mereka meninggalkan situs.

Skrin produk
Kampanye yang dilakukan oleh orang-orang yang tidak memiliki kekuatanKomposer dorong menunjukkan jangkauan langganan, konten, media, tindakan, aturan sasaran dan keadaan jadwal.Kampanye yang dilakukan oleh orang-orang yang tidak memiliki kekuatanRuang kerja ERJSUBSCRIBERS8,214SAST31.6kCLICK RATE5.8%ORANG KERJA HIDUPGelaranKeretamu menungguSiapBadanHari ini kembali untuk pengiriman gratisSiapKANTORGerobak OpenSiapJadwalKirim sekarang atau dijadwalkanDAFTAR1PREPARE PUSHGelaran, tubuh, ikon2SASARANKecantikan, segmen, halaman3SENDSekarang, jadwal atau draft
Komposer dorong menunjukkan jangkauan langganan, konten, media, tindakan, aturan sasaran dan keadaan jadwal.

Konfigur tombol Web Push pertama-tama di bawah pengaturan Web Puch. Kampanye dapat mencakup judul, badan, ikon, gambar pahlawan, lencana, CTA dan hingga dua tombol aksi; pemberitahuan persisten tetap sampai pengunjung berinteraksi.

Target oleh audien, segmen kontak opsional dan aturan halaman. Simpan draf, jadwalkan atau kirim segera. Gunakan metrik berlangganan dan klik untuk menilai jangkauan. HTTPS dan pekerja layanan yang dituan rumah secara benar diperlukan pada situs pihak ketiga tertanam; lihat Web Push pada situs-situs pihak ketiga.

Pertumbuhan & SEO

Pesan proaktif

Pesan-pesan Proaktif Menjangkau secara otomatis saat perilaku pengunjung sesuai dengan aturan, sebelum mereka bertanya. Anda membangun masing-masing sebagai peraturan dengan tiga bagian: apa yang seharusnya terjadi, kapan harus menembak, dan seberapa sering. Semua telah disampaikan melalui OpsIQ widget sudah di situs Anda.

Proaktif Minimal
Pesan proaktifA komposer proaktif-rule dalam tiga bagian: memilih tindakan (chat, banner, tour, push, email), menambahkan kondisi, dan menetapkan pendinginan frekuensi.Pesan-pesan ProaktifRuang kerja ERJTindakan1 ·Pesan chatBannerPerlumbaanTolakE-mail2 · Kondisipage = /pricingWaktu di halaman > 20s_AYAT3 Frekuensi status tidak diketahuiSatu kali per sesiStatus1TINDAKAN- Chat, banner, email, dorong...2CONDITIONSHalaman, waktu, skor, kembali3FREQENSIKedinginan di setiap pengunjung
Setiap aturan proaktif adalah tiga pilihan: apa yang terjadi (chat, banner, tour, push, email, webhook), kapan (kondisi), dan seberapa sering (cooldown).

Tiga bagian dari sebuah aturan

1
Apa yang seharusnya terjadi (tindakan)

Tampilkan gelembung chat atau banner on-page, mulai Tour Guided, kirim web push atau email, ditugaskan ke departemen, atau tembak webhook. Tokens seperti {{visitor_name}} Dan {{page_title}} Menjadi nilai-nilai nyata.

2
Ketika harus api (kondisi)

Adonan Narrow yang memicunya: page/_URL, time on page, scroll depth, lead score, return vs new, idle. tanpa syarat, rule fire untuk setiap pengunjung. Tambahkan setidaknya satu untuk menargetkan itu. kondisi digabungkan dengan AND.

3
Seberapa sering (frekuensi)

¡Ditetapkan pendinginan sehingga orang yang sama tidak terganggu, misalnya sekali per sesi atau sekali per hari. setiap aturan memiliki status on/off.

⚠️
The workspace toggle "Run time/idle rules hourly" lets server-side actions (email, push, webhook, assign) fire on a schedule for known contacts who are not currently on the page, so you can "email idle hot leads" automatically. It needs the OpsIQ cron running. Leave it off if you only want live on-page nudges.
Akankah api untuk semua orang?+

Hanya jika Anda menambahkan tidak ada syarat. tambahkan setidaknya satu syarat (halaman, skor utama, kembali...) untuk menargetkan pengunjung yang tepat.

Apa kaitan ini dengan arus dan tur?+

Mereka bekerja sama: aturan proaktif dapat memulai Tour Guided, dan sebuah Chatbot Flow dapat dipicu oleh aturan proactive. Mulai dengan aturan pesan- chat tunggal, kemudian melapisi yang lain.

Pertumbuhan & SEO

mengalir ing-ing

Anda bertanya, pengunjung memilih pilihan, dan aliran mengirimkannya ke cabang yang cocok. Hanya arus aktif yang dijalankan di situs Anda.

Bagaimana cara kerjanya
mengalir ing-ingkanvas aliran: cabang node ucapan menjadi tiga tombol pilihan, masing-masing mengarah ke langkah berikutnya, melihat ke atas urutan, atau menyerahkan kepada manusia.AluAda yang bisa kubantu?Aku memesan trackPertanyaan Billing Keistimewaan¡Ched to a humanCarilah perintah→ Agen manusiaPemicu: Menyapa · Kata Kunci · Manual · Sesudah-Perincian · On-chat-end
mengalir ing-ing

Aliran Furut vs AI · ketika digunakan yang

Guna aliran

When the path is predictable and you want it identical every time: booking steps, a returns wizard, a "which plan?" chooser, collecting an email before handoff. Flows never improvise.

Gunalah AI

When questions are open-ended, "does this work with my setup?". The Customer Chat AI answers from your trained knowledge. A flow can hand off to the AI (or a human) at any step.

Pencetus

Alu

¡Folin Runs sebagai pesan pembuka ketika pengunjung pertama kali membuka chat.

Katakunci

¡Lari ketika pengunjung mengetikkan kata yang Anda terdaftar (misalnya pengembalian uang, harga, batal).

Setelah rincian / Setelah penundaan

Setelah rincian kontak dibagikan, atau waktu yang ditetapkan ke dalam percakapan.

Di akhir obrolan / Proaktif

¡Dilaksanakan sebagai chatting membungkus (misalnya peringkat), atau dimulai oleh peraturan Proactive Message.

Bina satu dari empat langkah

1
Cipta aliran

Klik Aliran Baru, namakan, pilih jenis pemicu (dan kata kunci jika Kata Kunci), simpan. Mulai dimatikan.

2
Buka kanvas

Klik Melukis Kanvas. Pembangun visual di mana Anda menambahkan langkah (pesan, pertanyaan dengan tombol, cabang) dan menghubungkannya.

3
(Dan cabang-cabang) dari tanah liat, yaitu ranting-ranting dan ranting-bengkel yang ada di dalamnya (dan daun-daunan)

Untuk setiap pilihan, menarik cabang ke langkah berikutnya.

4
Enable it

Klik Hidupkan. Aliran akan hidup dalam widget anda dengan serta merta. Lumpuhkan bila-bila masa tanpa kehilangan reka bentuk.

mengalir Do menggantikan AI?+

Tidak, mereka berjalan berdampingan gunakan aliran untuk jalur yang dapat diprediksi dan AI untuk pertanyaan yang terbuka; sebuah aliran bisa selalu diserahkan ke keduanya.

Pertumbuhan & SEO

Tur pemanduan

Tours Guided adalah step-by-step walkthroughs yang menunjuk pada bagian halaman Anda dengan gelembung ucapan dan sorotan, membimbing pengunjung melalui onboarding atau fitur baru. Mereka sepenuhnya bertemakan dan dibangun di desainer visual dengan pratinjau langsung. Tur berjalan hanya ketika ditandai Aktif.

Bagaimana cara kerjanya
Tur pemanduanHalaman yang redup dengan cincin lampu sorot di sekitar tombol Add-deal dan langkah pembacaan gelembung ucapan bertema 1 WOVE 4 Dengan tombol Next.Perjanjian tambahanSTEP 1 OF 4Kau harus membuat kesepakatan pertama.Klik di sini untuk menambahkan kesepakatan ke pipa Anda.Next→
Tur pemanduan

Bagaimana tur dibangun

Langkah-langkah

Setiap langkah kinode menargetkan elemen dan menampilkan gelembung dengan teks Anda. Tambahkan sebanyak berhentinya kebutuhan walthrough dan perintah mereka.

Tema Praset &

Mulai dari praset atau desain gelembung sendiri (warna, gradien, sorotan) dengan pratayang langsung di sebelah kanan.

Pemicu

Secara opsional menghubungkan sebuah Peraturan Proaktif sehingga tur otomatis dimulai ketika itu aturan kebakaran (misalnya kunjungan pertama pengunjung kembali papan dashboard).

Tool yang aktif

Tur A hanya boleh dijalankan sementara Active dicentang. Tak perlu membawanya turun tanpa menghapusnya.

Bina satu dari empat langkah

1
Tur baru

Klik Tour Panduan Baru, namai, dan secara opsional menghubungkan Aturan Proaktif sehingga dimulai secara otomatis.

2
Langkah pertama

Tambahkan setiap hentian: pilih elemen yang dituju dan tulis teks gelembung. Susun ulang sampai jalur mengalir.

3
Desain itu

Ambil praset atau gaya gelembung sendiri.

4
Membiarkan

Tikik Aktif dan simpan. tur sekarang dapat dijalankan, dengan pemicunya sendiri, atau dimulai oleh aturan Proactive Message.

Bagaimana tur dimulai?+

On their own trigger, or via a Proactive Message rule's "Guided tour" action, so you decide which visitors see which tour and when.

Pertumbuhan & SEO

Tujuan konversi org2

Conversion Goals turn an activity you care about (an inbound webhook event, a chat message, a ticket resolution) into a recorded conversion with full attribution. When the activity fires, OpsIQ logs a conversion against the contact and ties it back to the campaigns, segments and sources that led there.

Bagaimana cara kerjanya
Tujuan konversi org2Aliran matlamat: peristiwa webhook payment. succeeded menjadi konversi "beli" direkodkan bernilai $49, dihubungkan kepada sumber dan kampanyenya, dengan chip praset permulaan pantas di atas.Cepat mulai_NafiStripe pembelianBuku demo milik Universitas Negeri ThronePenyamukuan Surat Kabarpayment.succeededBidik web yang tidak masuk akalPenukaran"beli" · $49AtributKampanye · sumber kempen
Tujuan konversi org2

Tentukan tujuan dalam tiga langkah

1
Ambil aktivitas pemicunya.

Klik tujuan konversi baru. Pilih jenis aktivitas yang dihitung sebagai konversi, atau gunakan preset awal-cepat, pembelian Stripe, Demo dipesan, penandatanganan Newsletter atau Langganan dimulai.

2
Nama itu dan menetapkan nilai

Æberi nama konversi (pembelian, buku demo, pendaftaran) dan secara opsional nilai tetap dan jendela atribusi.

3
Simpan

Save and enable. From then on, whenever the activity fires, OpsIQ records a conversion against the contact with attribution to the preceding touches.

Tujuan-tujuan BAHASA sudah disebar ke dalam bidik web yang masuk: setiap gol yang pemicunya cocok dengan api tipe peristiwa inbound secara otomatis saat kejadian mendarat. Gunakan halaman Webhooks Inbound untuk menghubungkan Stripe_, Calendly atau sistem apapun yang dapat POST JSON.
Apa yang bisa menjadi konversi?+

Aktivitas rekaman apapun: acara webhook inbound (payment. suceed), penangkapan email obrolan, resolusi tiket, apa pun pada timeline kontak.

Analisis

Papan dashboards

Papan Dash Suai . Custom memungkinkan Anda membangun tampilan sendiri dari metrik yang penting, daripada hanya mengandalkan standar Overview. Tambahkan widget yang Anda inginkan, seret dan ubah ukuran mereka ke dalam tata letak yang Anda suka, simpan, dan bagi dengan tim Anda.

Papan dashboards
Papan dashboardsSeorang pembangun dashboard dengan KPI dan bagan widget ubin, sebuah zona drop putus-putus, dan tombol Add-widget.Papan Dash KebiasaanRuang kerja ERJMy dashboardBezaid + Tambah widgetVISTORS2,481PELAYAN$8.2kTRAFFICDi sini, dia akan menyeret widgetMUKA TOP/pricing/docs/signup1ADD WIDGETSTangga lagu Tik metriks &2ARRANGEPulihkan & saiz semula3SHAREBersama timmu
Thüfine membangun papan anda sendiri: tambahkan KPI, bagan dan daftar widget, seret dan ubah ukuran mereka ke dalam tata letak yang anda inginkan, kemudian bagikan dengan tim.

Build one in three steps

1
Wiget tambahan

Klik Widget Tambah dan pilih metrik atau bagan yang ingin anda lacak. Ulang semua yang anda inginkan di papan tulis.

2
Atur bentangan

widget drag untuk reposisi dan seret tepi mereka untuk mengubah ukuran. KPIs di atas, bagan di bawah. apapun yang terbaik.

3
Simpan & berbagi

Simpan dashboard dan bagi dengan tim Anda sehingga semua orang menonton angka yang sama.

Keep separate boards for separate jobs (a "daily glance" board with live counts, and a "monthly review" board with trend charts) so each stays focused.
Pertumbuhan & SEO

Kampanye militer lepas landas

Ke Luar Negeri adalah OpsIQ Perancis1:1Mesin email puff dan massal: menyusun pesan yang dipersonalisasi atau menjalankan kampanye ke segmen CRM, dengan deteksi balasan, kontrol waktu kirim, pelacakan terbuka/klik, piksel pelacakan dan satu-klik unsubscub. Ini adalah persetujuan-dikumpulkan dan CAN-SPAM / CASL compliant.

Ke Luar Negeri
Kampanye militer lepas landasLayar Outreach dengan Composer/Camppaigns/Templates/Replies tabs dan tabel kampanye yang menampilkan dikirim, open-rate dan rep-rate.Ke Luar NegeriRuang kerja ERJKampanyePenggubahTemplateBalasanKAMPANYESASTBukaRUPLYSurat kabar Juni1,20048%7%Tindak lanjut percobaan34062%14%¡Win-back82039%5%Pengesanan deteksi otomatis-henti-sendiri tindak lanjut · satu-klik batalkan langganan pada setiap kirim11:1 & BULKKerah atau kampanye2TRACKEDBukaan, klik, balasan3COMPLIANTLangganan Un langgan dibangunkan dalam
Mesin Outreach: kirim1:1Lu'd atau menjalankan kampanye ke segmen, trek terbuka dan jawaban, dan tetap patuh dengan built-in un langgan dan reply deteksi.

\"4 Tab\"

Penggubah

Write a personalised1:1E-mail dengan {tokens} Dari kontak dan CRM.

Kampanye

Kirim ke segmen CRM, dijadwalkan atau sekarang, dengan caps dan kontrol waktu kirim.

Template

Templat pesan yang dapat dikembalikan untuk pengulangan jarak jauh.

Balasan

Pengenal jejak deteksi balasan palsu mencatat respon dan auto-stop tindak lanjut kepada siapa saja yang menjawab.

Bagaimana kampanye berjalan

1
\"Tak Ada Penonton\"

BAHAYA Memilih segmen CRM (atau memuat daftar). Penyembunyian dan persetujuan diterapkan secara otomatis.

2
Gubah

¡Oinza menulis pesan dengan token pribadi; pratinjau terhadap kontak nyata.

3
Jadual & hantar

Kirim sekarang atau pada waktu terbaik. Sebuah catatan piksel pelacakan terbuka; klik dan jawaban dikaitkan.

¡Overreach adalah persetujuan- dan menekan-gated, termasuk satu-klik unsubscriber pada setiap kiriman, dan mengikuti CAN-SPAM / CASL. Balasan secara otomatis berhenti lanjutan lebih lanjut.
Analisis

Laporan yang dijadwalkan

Laporan yang Dijadwalkan mengirimkan email metrik yang dipilih untuk memilih penerima pada jadwal (hari, mingguan atau bulanan) sebagai label-putih yang dapat dicetak PDF Set sekali dan laporan tanah inbox secara otomatis melalui OpsIQ -Cron.

Laporan yang dijadwalkan
Laporan yang dijadwalkanLayar jadwal-laporan-terjadwal: sebuah tabel laporan dengan jadwal, penerima dan waktu terakhir-dikirim, ditambah tombol Save-report.Laporan yang DijadwalkanRuang kerja ERJLaporan yang dijadwalkanLaporan SimpanORANGTAJUKRECKIPIENTSAWASTLalu lintas mingguanMon9:00[email protected]2d laluLaporan klien SEOAustralia[email protected]Kehajar Jun 1_Ringkasan penjualanHarian[email protected]todayDibebaskan sebagai label putih PDF Melalui OpsIQ Fiji cron1AUTOMATEDHarian Mingguan2WHITE-LABELPDF Ke pelanggan3RECKIPIENTSEmel sesuai jadwal
Mengeluarkan laporan sekali (set metrik, jangkauan, jadwal, penerima) dan OpsIQ E-mail sebuah label putih PDF Secara otomatis pada irama Anda.

AKAN membuat laporan

1
Memikul apa yang harus dikirim

Ambil set metrik (traffic, SEO, penjualan, dukungan...) dan kisaran tanggal.

2
Set jadwal & penerima

Harian, mingguan atau bulanan, pada waktu yang Anda pilih, kepada satu atau lebih penerima surel.

3
Simpan

Laporan menghasilkan dan mengirim email sendiri sesuai jadwal, tanpa langkah manual.

💡
Scheduled reports run through the OpsIQ cron, if a report does not arrive, confirm the cron is running (see Cron and automation).
Kerahsiaan

Kepatuhan kerahsiaan

Halaman Privasi & Kepatuhan adalah tempat tunggal untuk menunjukkan auditor yang anda tangani data pribadi dengan bertanggung jawab: ledgeer persetujuan, log akses admin, kebijakan residensi dan retensi data anda, dan a ready-to-print DPA_, dalam satu tampilan tab. Hanya administrator penuh yang dapat membukanya.

Kepatuhan kerahsiaan
Kepatuhan kerahsiaanlayar Kerahsiaan & Kepatuhan: tab untuk ledgeger Konsen, Log Akses, Residensi dan DPA, dengan tabel ledger persetujuan hibah dan dibatalkan melalui saluran.Kepatuhan Privasi &Ruang kerja ERJBuku besar KonsenLog akses technicalKeperluanDPAKONTACTKANINTINDAKANTARIKH[email protected]E-mailDikabulkanKehajar Jun 12_[email protected]pushBatalKehajar Jun 10_[email protected]marketingDikabulkanKehajar Jun 9_Bukti yang dapat dicari dari setiap persetujuan hibah dan dibatalkan, melalui saluran1CONSENT LEDGERBukti dari setiap hibah2ACCESS LOGAndika menyentuh data3DPATemplat dapat dicetak
Satu auditor-siap layar: sebuah buku besar persetujuan yang dapat dicari (grants/revokes by channel), catatan akses siapa menyentuh data, pengaturan residency/retensi, dan pengaturan DPA yang dapat dicetak.

\"4 Tab\"

Buku besar Konsen

Catatan yang dapat dicari dari setiap hibah persetujuan dan dibatalkan, melalui kontak, saluran (email, push, SMS, in-widget), tindakan, sumber dan tanggal. Bukti Anda sebuah kontak setuju (atau mundur).

Log akses technical

Siapa di tim Anda yang melihat, menyunting, mengekspor, menghapus atau mengirim pesan data kontak, dengan admin, kontak, tindakan, menyatakan alasan dan IP. Tepat apa yang diminta oleh regulator.

Ketahanan kembali dan retensi

Perihal di mana data ruang kerja ini tinggal, mengatur berapa hari baris aktivitas disimpan (0 = Selamanya), dan merekam data controller Anda dan DPO.

DPA Templat

Addendum Pengolahan Data yang dapat dicetak yang mengisi kendali, alamat, DPO, residensi dan retensi. Cetak atau simpan sebagai PDF.

Kerahasia & Kepatuhan berpasangan dengan studio persetujuan Cookie (yang mengumpulkan persetujuan) dan halaman Export (yang menghasilkan salinan data untuk sebuah DSAR). Lihat juga Kron dan otomatisasi untuk pembersihan retensi malam.
Penyambung

Konnect platform Anda

Link penghubung OpsIQ Ke platform eksternal: e-commerce toko, sistem penagihan, prosesor pembayaran, penyedia email, dan langganan APIs Setelah terhubung, AI dapat mencari perintah, data pelanggan, langganan, dan banyak lagi, dan mengambil tindakan dengan persetujuan Anda.

Bagaimana cara kerjanya
Pusat penghubungOpsIQinti finod terhubung keWHMCS, Shopify, Stripe, WooCommerce, Profil Bisnis SendGrid dan Google, masing-masing menampilkan status terhubung.WHMCSShopifyStripeWooCommerceHantardridGoogle BPOpsIQKORE1PLUG IN25+ penyambung pra-bangun2AI CONTEXTData platform Real vinis3ACTIONSSelesai dengan persetujuan Anda
Penyambung

Kapal dengan OpsIQ

Ini adalah saat Anda memasang dan hanya perlu bukti mereka.

WHMCS

Bil

Situs web Pemangkuan billing: klien, jasa, tiket, faktur, domain, server.

Shopify

¡Amerce E-commerce

- E-commerce: pesanan, pelanggan, produk, inventaris, pembayaran, webhook.

WooCommerce

¡Amerce E-commerce

Kyabi WordPress e-commerce: pesanan, pelanggan, produk, kupon, pengiriman.

WordPress

CMS

Konten dan pengguna pada situs WordPress _.

[ Gambar di hlm.

Bayaran yuran

Bayaran dan titik penjualan: pesanan, pelanggan, katalog.

Perancis

¡Amerce E-commerce

Legacy e-commerce: pesanan, pelanggan, produk.

Hotel Botble

Jembatan Zakan

A Botble Situs hotel CMS Botble melalui signedOpsIQ\"Jambatan.\" \"Persyaratan referensi\" untuk platform tanpa...API.

Zendesk

Sodium Support

OFANDdesk: tiket, pengguna, organisasi, komentar.

Profil Bisnis Google Fale

Pemasaran

Bisnis lokal: ulasan, posting, Q&A, wawasan. Gunakan OAuth_.

Kalendar Gnome

Produktivitas Produktif

Kalendar dan peristiwa. Gunakan OAuth_.

GmailDanIMAP

E-mail

Kotak surat: surat masuk dan outbound, sinkronisasi buku alamat.

Hantardrid

E-mail

Pengiriman email: mengirim surel dan mengelola templat.

Mailgun

E-mail

Kirim email melalui Mailgun.

Slack, Telegram, LINE, X DM

Pesanan Saraf

Saluran pesan untuk percakapan masuk dan keluar.

Saluran Meta

Pesanan Saraf

\"Syahashi Facebook Messenger, Instagram DM dan WhatsApp\".

Intelijen Situs (Inggris)GA4, Konsol Pencarian)

Analisis

Analisis dan pencarian data untuk SEO suite.

Website enrichment and CRM import

ORMA CRM

Perkayaan Perusahaan dan impor pelanggan massal.

Ada yang tersedia dari pasar

Ini adalah paket yang diterbitkan, bukan bagian dari pemasangan. Pasang satu dari Connectors, Marketplace dan itu disalin ke folder penghubung langsung, setelah itu berperilaku persis seperti yang di atas.

Stripe

Zurich Marketplace

Pembayaran yuran: biaya, pelanggan, faktur, langganan, pembayaran, sengketa.

Commerce

Zurich Marketplace

¡Agoza E-commerce: pesanan, pelanggan, produk, kategori, merek.

Ke 2_

Zurich Marketplace

- E-commerce: pesanan, pelanggan, produk, kategori, inventaris.

PrestaShop

Zurich Marketplace

- E-commerce: pesanan, pelanggan, produk, aturan gerobak, kapal induk.

OpenCart

Zurich Marketplace

¡Agoza E-commerce: pesanan, pelanggan, produk, kategori.

Amazon SES, Postmark, Resend

Zurich Marketplace

Transaksi pengiriman email.

(Inggris) Liar

Zurich Marketplace

Tak ada masalah dan proyek pelacakan.

Zuz, Microsoft Calendar, Outlook Mail

Zurich Marketplace

Meetings, kalender dan surat.

¡Tinju Docu Sign, Apollo, SerpApi, Google Analytics_

Zurich Marketplace

Signature, prospekting, pencarian dan analisis data.

Webflow_, Wix, Squarespace

Zurich Marketplace

Platform website milik kinford.

💡
Daftar konektor yang dikeluarkan oleh ode-daftar konektur yang diterbitkan. Daftar otoritatif untuk pemasangan ANDA adalah halaman Connectors: apa yang tercantum ada apa yang ditemukan runtime, dan tab Marketplace menunjukkan apa yang dapat Anda tambahkan.

\"Adomen Pasang Konektor\"

1
Pergi ke Konektor

Navigasi ke Konektor di batang samping admin.

2
Cari konektor

Layari daftar atau pencarian. Penyambung dikelompokkan berdasarkan kategori.

3
Enable it

Klik konektor dan togol Aktifkan.

4
Kelayakan Gagal

Isi dalam bidang yang diperlukan: API Kunci, URL Setiap konektor memiliki persyaratan tertentu yang didokumentasikan dalam panel pengaturannya.

5
Sambungan utilitas

Klik "Uji Sambungan." Hasil hijau bermakna sambungan boleh mencapai platform luar. Hasil merah menunjukkan ralat.

6
Konfigur fitur-fitur

Pilih fitur mana yang akan diaktifkan: science sync, webhook sync (sinkronisasi webhouk), AI actions. Tidak semua konektor mendukung semua fitur.

Apa yang konektor diberikan oleh Anda

Konteks AI

AI dapat mencari data pelanggan, pesanan, langganan, dan lebih melalui konektor. Ketika chat pelanggan, AI memiliki data platform yang nyata untuk referensi.

Konteks AI (penulis konektor)

ContextProvider sambungan anda menyuap tiket-AI dengan ringkasan akaun baca-sahaja pemilik tiket. Selesai pelanggan oleh customer_id Ketika diketahui; sebaliknya, pada tiket auto-replise, di mana bendera ctx customer_trust_email Benar, lihat rekeningnya. customer_email \"Penerima tiket\" \"Lapisan Jauh\" \"Mengekspos\"... /context/customer-by-email Ini yang membuat kutipan AI sebagai saldo/invoice nyata daripada mengatakan \"tolong log in.\" Hormati togol kelas data operator (customer_sections, customer_allow_creditDan tetap baca-saja, jangan pernah memancarkan rahasia.

Direktori persuai (penulis konektor)

Konektormu, IdentificationProvider memberi makan tiga pencarian tiket universal: lookupCustomerById() (kartu pelanggan), lookupCustomerServices() (meja produk/layanan), dan listCustomers($query,$limit): the "Search customer or type email" picker on the native Compose-New-Ticket form. Return rows of {id, external_id, name, email, company, phone, platform, platform_label}. Aturan Remote: Jika pelanggan Anda tinggal di database atau layanan lain, menjemput mereka melalui platform Anda API Di dalam metode-metode ini, tidak pernah membaca tabel sistem lain secara langsung (dalam OpsIQ DB mereka adalah pemegang tempat kosong, itulah sebabnya sebuah bacaan lokal mengembalikan seorang pemetik kosong). Gatekan jalur jarak jauh pada konfigurasi anda API URL Tetap baca lokal hanya sebagai fallback yang sama-DB.

Tiket berpiut-ipping email, deteksi & routing (penulis konektor)

Ketika inbound email menjadi tiket asli, OpsIQ mendeteksi pengirim dengan memanggil lookupCustomerById(0, ['email'=>$sender]) di sepanjang setiap sambungan; yang pertama "mempunyai" pelanggan dan platform Slugfol yang dicap pada ticket.created Peristiwa vini sebagai _pipe_owner_platform Jadi WHMCS-Kebiasaan pelanggan email membuka tiket masuk WHMCS (WHMCS Penomoran nutfah, dicerminkan sebagai satu), sementara pengirim yang tidak diketahui tetap tamu pribumi. Jika cermin penghubungmu tiket asli ke platform sendiri, anda ticket.created Pengendali harus gerbang di sini: if (array_key_exists('_pipe_owner_platform',$payload) && $payload['_pipe_owner_platform'] !== '<your-slug>') return;Kuncinya tidak hadir pada tiket non-pape (chat/manual/AI), sehingga cermin tersebut seperti sebelumnya. Perdepartemen kontrol hidup di bawah Tim & Departemen → Tiket terbuka melalui email (Anyone / Customers only / Off).

Tindakan

¡AI AI dapat melakukan tindakan melalui konektor: membuat tiket, memperbaharui perintah, membatalkan langganan, semua dengan persetujuan Anda melalui Trust Layer.

Pengetahuan tentang pengetahuan

Connectors contribute platform-specific knowledge articles to the AI. Shopify connector adds e-commerce troubleshooting; WHMCS connector adds hosting knowledge.

Pengetahuan-ketahuan-dasar impor (penulis konektor)

Jika platform anda memuatkan pangkalan pengetahuan, nyatakan a kb_capabilities blok di settings.json dargen (jenis kb_source) dan konektor Anda muncul dalam editor Pusat Bantuan → Import dari aplikasi yang terhubung Penurunan nama tak ada metode untuk diimplementasikan: namakan sebuah bawaan adapter (zendesk Pusat Bantuan Pohon-Past-Pusat API, atau crawl Kefazine untuk situs KB apapun) dan a base_template Nama samaran seperti https://{subdomain}.zendesk.com, yang diisi OpsIQ dari pengaturan tersimpan konektor Anda. Bukti kelayakan tidak pernah meninggalkan server; peramban hanya mengirim slug penyambung. Untuk mendukung platform baru, tambahkan opsiq_kb_<platform>_manifest() Adaptor dan referensinya dengan nama. connectors/PLATFORM_CONNECTORS.md §5.

Webhook

Beberapa konektor enkoder mendaftarkan webhooks dengan platform eksternal untuk pemberitahuan acara real-time (pesanan baru, pembaruan tiket, dll).

Pelacakan penjualan

Transaksi E-commerce penyambungan data pendapatan ke dalam dasbor penjualan untuk atribusi dan analitik.

💡
Setiap ruang kerja dapat memiliki konektor yang berbeda-beda yang diaktifkan dengan kredensial yang berbeda. A WHMCS Log masuk ke ruang kerja menggunakan WHMCS penyambung; a Shopify Log masuk ke ruang kerja menggunakan Shopify Konektor.
Boleh aku gunakan beberapa penyambung sekaligus?+

Yes. You can have Shopify for orders and Stripe for payments in the same workspace. The AI merges data from all enabled connectors.

Bagaimana jika platform saya tidak terdaftar?+

Guna Pembangun Penyambung untuk membuat konektor tersendiri bagi setiap platform dengan REST API_. Atau periksa Marketplace untuk penyambung yang dibangun oleh komunitas.

Apakah konektor-konektor wirework dengan self-hosted OpsIQ?+

Konektor bekerja sama dalam kedua edisi awan dan dihost sendiri.

Penyambung

Penjualan dan tagihan kontrak konektor

Every commerce connector uses the same platform-neutral event contract. WHMCS is the reference implementation, but SaaS Bridge, stores, payment providers, marketplace connectors and Connector Builder packages must obey the same rules.

Apa yang harus diterbitkan oleh setiap penyambung perdagangan

Salah satu buku besar berwithritatif

Publish realised economic events to opsiq_sales_events through CommerceEventRegistry::normalize(). Do not build a connector-specific Sales table or make core analytics query a remote platform directly.

Identitas sumber yang stabil

Platform kinform adalah slug registry konektor, seperti whmcs, shopify Opasiq_saas. traffic_source berisi atribusi akuisisi yang diverifikasi ketika diberikan; jika tidak gunakan slug yang sama seperti fallback. Pengenal penyimpanan, bukan label tampilan. OpsIQ Nifadin menyelesaikan nama konektor yang ramah di UI.

Kekurangdataan

Event_id harus deterministik. Petakan setidaknya satu order_ref tak termuat, invoice_reff atau langgan_refe jadi webhook retries dan backfills memperbaharui kejadian yang sama daripada membuat duplikat sales. service_re foundation identified the resctive product or service instance when one exist.

Sumber timestamp

somecontago_at adalah waktu pembayaran atau event ekonomi yang dilaporkan oleh platform sumber. Jangan pernah mengganti tanggal pembayaran sejarah dengan waktu impor.

Uang dan FX

. Jika pengaturan konektor memungkinkan konversi OpsIQ FX, pelaporan berubah ke mata uang pelaporan ruang kerja; jika tidak laporan memelihara toko atau mata uang platform penagihan. Kode penghubung tidak boleh memaksa pelaporan mata uang atau nilai tukar.

Siklus hidup berasaskan bukti

Anda perlu menggunakan baru, pembaruan, upgrade, pengembalian, kredit atau tidak diketahui. Mengklasifikasikan dari alasan faktur, langganan atau hubungan layanan, tipe line-item, atau bidang sumber berwibawa lainnya. Pembelian berulang oleh pelanggan yang sama bukan secara otomatis pembaharuan.

Batas penjualan

Hanya positif dari lowongan baru, pembaruan, peningkatan, atau penerimaan perdagangan yang tidak diketahui secara sah yang termasuk dalam Sales & Konversi. Refund dilaporkan oleh return dan net-revenue analitik. Kredit akun, top-up dompet, top up token dan Add Funds tetap acara billing-ledgeger dan tidak pernah dihitung sebagai penjualan, konversi, volume pesanan, atau pendapatan penjualan.

CRM Ukur terpisah

Perjanjian CRM adalah transaksi pipa dan transaksi, mereka bukan penjualan komersial-platform kecuali sebuah tagihan yang terhubung atau platform toko memancarkan surat perintah yang direalisasikan atau faktur melalui kontrak ini.

Proyeksi yang berasal

Opsiq_conversions dan summerarium dashboard adalah proyeksi keserasian yang dibangun kembali dari buku besar. Konektor tidak boleh menganggap suatu proyeksi sebagai sumber keuangan kebenaran. Revisi kontrak dapat mengevaluasi ulang baris turunan tanpa menghapus sejarah penagihan yang mendasarinya.

Batas platform jauh Remote

Konektor remote odea membaca platformnya melalui terkonotentikasi API_. Ini tidak boleh bergantung pada tabel basis data server yang sama. Situs domain yang diotentikan persis diberikan oleh ConnectorRegistry dan harus diterapkan untuk setiap buku besar tulis dan backfill. Ruang kerja atau ruang lingkup grup hanya agregasi waktu baca saja; itu tidak boleh memperluas kepemilikan peristiwa tersimpan.

Contoh pay-event parent annion

Perdagangan Bermerek
{
  "event_id": "acme_store:invoice:INV-1042",
  "event_name": "invoice.paid",
  "platform": "acme_store",
  "order_ref": "ORDER-884",
  "invoice_ref": "INV-1042",
  "subscription_ref": "SUB-28",
  "service_ref": "SERVICE-91",
  "status": "paid",
  "lifecycle_type": "renewal",
  "amount": 129.00,
  "currency": "USD",
  "traffic_source": "acme_store",
  "occurred_at": "2026-07-23 08:30:27"
}

Pemetaan Builder Konektor

Ketika penjualan dan penagihan Zoda diaktifkan dalam Penyambung, jumlah peta, mata uang, status sumber dan tanggal sumber, ditambah setidaknya satu urutan, rujukan faktur atau langganan. Peta lifecycle_type ketika API mengekspos bukti daur hidup yang berotoritas. Penjualan yang dihasilkan melewati setiap baris melalui CommerceEventRegis normalizer yang sama digunakan oleh built-in and marketplace connectors.

⚠️
Kredit dan Dana Tambahan sengaja disimpan untuk sejarah penagihan, konteks keseimbangan pelanggan dan analisis buku besar. Melebihi mereka dari Penjualan tidak menghapusnya; itu hanya mencegah mereka dari kinerja perdagangan yang meningkat.

lifecycle_type menentukan apa yang menjadi kesepakatan CRM

lifecycle_type - Apa? - Tidak.OpsIQBaca untuk memutuskan apakah penjualan masukCRMSaluran pipa, sehingga setiap penyambung penjualan membuat keputusan pipa apakah itu berniat atau tidak.

BAHASA baru

¡Omerance Opens a close-won deal (bisnis baru).

pembaruan, peningkatan

Diremekan sebagai pendapatan yang berulang. Tidak ada kesepakatan bisnis baru — pembaruan mengubah kurva probabilitas yang berbeda dan mencampur keduanya merusak kedua ramalan.

Uang, kredit

Uang yang dikembalikan ke pelanggan bukanlah kemenangan.

Æfl / tidak diketahui

Penjualannya hanya rekaman tapi tidak pernah mencapai saluran pipa.

Satu penjualan, satu baris ledger: identitas adalah SALE, bukan acara

Jangan cocokkan pada event_id Kau harus menyisipkan dirimu. event_id is platform:eventName:externalIdSebuah platform yang mengumumkan satu pembayaran dua kali — sebagai invoice.paid Dan lagi sebagai payment.completed Nama yang digunakan untuk memukul dan tidak ada yang perlu diperingatkan.

💡
Ditemukan pada pemasangan referensi: enam faktur dengan tiga baris ledger masing-masing, dari tiga jalur kode menggunakan tiga skema event_id yang berbeda. mereka semua membawa 0.00 jadi tidak ada total tampak salah, dan proses selanjutnya mengembalikan jumlah nyata akan dihitung satu pembayaran tiga kali.

Cari tahu siapa yang akan menjual (penghasilan)sale_fingerprint), cocok dengan baris yang sudah ada di atasnya, melestarikan aslinya event_id Pada pembaruan, dan filter ke kolom nyata:

Satu-satunya cara yang didukung untuk menulis buku besar penjualan
\OpsIQ\Commerce\CommerceEventContract::upsertSaleRow('opsiq_sales_events', $row);
Penjualan yang sama, banyak kejadian

faktur. bayar, pembayaran. completed and sale. comcomplete untuk satu invoice share satu sidik jari dan update satu baris.

Pengubahsaizan tetap terpisah

Uang keluar adalah fakta yang berbeda dari uang masuk pengembalian sebuah faktur menyimpan identitasnya sendiri, sehingga tidak pernah bisa menimpa pembayaran yang terbalik.

Tak ada referensi, tak ada sidik jari.

Baris yang tidak membawa pesanan, faktur, langganan atau referensi layanan sama sekali tidak mendapatkan sidik jari, sehingga dua baris yang tidak berhubungan tidak pernah bertabrakan hanya karena keduanya hilang id.

Rujukan rujukan falkn

voice_ref, kemudian order_reff, lalu langgan_reaf, maka service_refe — yang terkuat pertama, jadi satu penjualan menyimpan identitas stabil.

Buku besar itu adalah tambahan-hanya: tidak pernah menulis ulang penjualan

Pembayaran kembali, pembatalan atau pembetulan adalah Baru baru ditampatkan masukJangan pernah mem-mutasi barisnya dengan benar. menulis ulang pembayaran ke dalam pengembalian uang terlihat rapi dan memecahkan tiga hal sekaligus:

Itu menghancurkan pendapatan kotor

Penjualan dan pengembalian uang yang dijual secara yuran berhenti dipisah -- dan tarif pengembalian adalah metrik yang ada untuk diberitahukan.

Buku ini terbalik dalam periode yang salah

2 Maret, pengembalian uang bulan Januari, penjualan bulan Januari harus dikurangi Maret.

Itu merusak jejak audit

Catatan buku besar yang terjadi pada suatu titik dalam waktu.

Jadi, seorang penyambung melaporkan bahwa pembalikan itu sebaliknya daripada menerapkannya: kembali refunded_at BAHWA DAN refund_amount Di samping itu, si penelepon menulis kembali uang sebagai baris sendiri tanggal kapan pengembalian uang tersebut terjadi.

💡
The same principle applies to amounts. Do not "repair" a stored amount to the platform's current value: an invoice settled from account credit legitimately recorded 0 at payment time, and the money was already recorded when the customer topped up. Restoring the face value counts it twice.

Klasifikasi kontrak

OpsIQ Memutuskan sepeda hidup once, in \OpsIQ\Commerce\SaleLifecycleClassifierSebuah penyambung menyatakan hanya yang mana dari Ini adalah platform sendiri Kata-kata berarti apa, dengan menerapkan \OpsIQ\Connectors\SalesLifecycleConnectorInterface::salesLifecycleVocabulary()Jangan uraikan kembali penalarannya.

Kosakata pernyataan, delegasikan keputusan
public static function salesLifecycleVocabulary(): array
{
    return [
        'credit'             => ['addfunds'],                  // adds balance, sells nothing
        'upgrade'            => ['upgrade'],                   // resizes an existing commitment
        'recurring'          => ['hosting', 'domainrenew'],    // continues something owned
        'acquisition'        => ['domainregister'],            // obtains something new
        'recurring_prefixes' => ['domainaddon'],               // families that grow over releases
    ];
}

$lifecycle = \OpsIQ\Commerce\SaleLifecycleClassifier::classify([
    'explicit'    => $platformSaidSo,     // wins outright when present
    'line_types'  => $types,              // your platform's own line/item types
    'vocabulary'  => self::salesLifecycleVocabulary(),
    'is_order'    => $cameFromANewOrder,
    'is_refunded' => $moneyWentBack,
]);
💡
Precedence urceedence tetap dan dibagi: eksplisit, kemudian rebiasing/cancelled, kemudian credit, kemudian upgrade, kemudian is_order, kemudian berulang, kemudian akuisisi, kemudian tidak diketahui. Penataran duduk di atas cek pesanan karena platform menaikkan urutan untuk upgrade juga; berulang duduk di bawahnya karena invoice pertama dari sebuah langganan baru membawa tipe baris yang berulang. Pada penjualan non-urutan ambigu penggolongan cenderung pendapatan dan jauh dari pipa.

Terangkan seluruh kosakata platform

Ini adalah kegagalan yang paling mahal dan terlihat paling tidak salah.WHMCS Konektor tidak sepadan ['hosting','addon','domain'] Daftar yang dibaca sebagai lengkap. WHMCS tidak memancarkan telanjang Domain Jenis vinashi untuk garis domain nyata; ia memancarkan DomainRegister, DomainRenew, DomainTransfer, PromoHosting, PromoDomain, DomainAddon* BAHWA DAN UpgradeMereka semua jatuh melewati daftar ke unknown: 1,288 voices, tiga tahun, tidak ada kesalahan dan tidak ada log line.

Setiap pelanggan baru mengimpor sejarah mereka melalui backfill konektorÍ, jadi sebuah kutu klasifikasi tidak mempengaruhi satu ruang kerja — itu mempengaruhi setiap area kerja yang pernah onboard melalui konektor tersebut, pada saat pertama kali mereka melihat saluran pipa mereka. Ambil kosakata dari dokumentasi platform atau sensus data langsung, dan cocokkan keluarga dengan prefix Jadi, kakak tidak ada yang pernah melihat belum digolongkan dengan kerabatnya bukan menghilang.

💡
Sebuah cek praktis: hitung berapa banyak baris tanah Anda sendiri yang tidak diketahui. sebuah penyambung penjualan yang sehat mengklasifikasikan hampir semuanya. aliran yang belum diketahui secara pasti hampir tidak pernah data yang tidak Anda miliki — itu adalah kosakata yang tidak pernah dipelajari oleh konektor untuk dibaca.

Membaiki sejarah impor

Every shipped OpsIQ sales connector implements this — WHMCS, Shopify, WooCommerce, osCommerce, SaaS Bridge, Stripe, BigCommerce and Magento 2. Treat it as expected, not optional: a customer imports their old records on day one, so a classification fix that cannot reach that history only helps people who signed up afterwards. Implement \OpsIQ\Connectors\SalesLifecycleRepairInterface::reclassifySale() Kau sudah punya apa saja yang kau punya. tools/crm_backfill_sales_lifecycle.php Kemudian, setelah itu, perbaiki riwayat konektor Anda yang diimpor dengan tidak ada kode per-konektor: kering dijalankan secara baku, punggung sendiri dan membenarkan jumlah baris sebelum menulis, reversibel melalui buku besar yang dibatalkan, dan tidak pernah menulis bacaan gagal sebagai jawaban.

💡
Jika konektor Anda tidak dapat membaca kembali catatan masa lalu — penyambung webhook-only tidak dapat — jangan menyesakkan metode. Stub yang kembali tidak diketahui lebih buruk daripada tidak ada implementasi: sebuah backfill akan menulis ulang baris yang baik sebagai sukses tanpa rahasia dan laporan. Implementasi antarmuka kosakata saja.
💡
Referensi paket terrinci oded tetap tersedia dalam konektor/CONNECTOR_EVENTS. md dan penyambung/PLATOFORM_CONNEKTORS. mmd dalam distribusi sumber yang dihost sendiri.
Penyambung

Kontrak acara perjalanan

Intelijen Perjalanan Airiah menerima satu amplop peristiwa platform-netral dari widget peramban, penyambung bawaan, Jembatan SaaS, paket marketplace dan output Connector Builder. Nama spesifik platform diterjemahkan di tepi; corong, attribution dan kode Site Intelligence hanya mengkonsumsi acara kanonik.

Keisolasian dan batas kepercayaan

Kunci reser-domain exacity

Setiap acara terikat ke autentikasied domain site_key. Seorang penyambung harus mengambil kunci tersebut dari ConnectorRegistry atau titik akhir yang diauthentikasinya, tidak pernah dari badan permintaan yang tidak dipercaya. Domain menyimpan catatan terpisah; sebuah grup domain adalah agregat waktu-baca saja.

Identitas yang tidak terjamah

ugford event_id diperlukan untuk konektor dan harus deterministik untuk acara native yang sama. Retries, webhooks dan backfills memperbarui satu acara daripada menduplikasi sebuah perjalanan atau penjualan.

Nama pribumi ditambah nama kanonik

Waxear source_event_name untuk bukti dan troubleshooting, kemudian memetakannya ke event_name_canonical. Core analytics tidak boleh bercabang pada slug connector.

Bukti pelayan menang

Pengamatan Browser dapat memulai atau menyimpulkan suatu perjalanan. Kejadian penyambung yang disahkan mengkonfirmasi penandatangan, log masuk, pembayaran, pembelian, pembaruan, pengembalian dan hasil terminal lainnya. Sebuah token korelasi terikat situs yang valid adalah bergabung terkuat; sebuah token tidak sah ditolak dan ID tertanamnya tidak dipercaya.

Kerahsiaan

Hanya kirim pengenalpasti dan bidang yang diperlukan untuk perjalanan yang dinyatakan. Penghormatan persetujuan, pengemasan dan pengaturan retensi. Jangan pernah tempatkan kredensial, data kartu, rahasia autentikasi atau badan pesan pribadi di properti.

Sampul surat Canonical

Sampul peristiwa perjalanan
{
  "contract_version": 1,
  "event_id": "myshop:order:884:paid",
  "source": "myshop",
  "source_event_name": "order.paid",
  "event_name_canonical": "commerce.purchase.completed",
  "site_key": "exact_domain_site_key",
  "occurred_at": "2026-07-23T08:30:27Z",
  "visitor_id": "optional-browser-visitor",
  "session_id": "optional-browser-session",
  "journey_id": "optional-journey",
  "attempt_id": "optional-attempt",
  "correlation_token": "optional-signed-token",
  "customer_ref": "C-42",
  "user_email": "[email protected]",
  "object_type": "order",
  "object_ref": "884",
  "order_ref": "884",
  "outcome": "succeeded",
  "evidence_level": "server_confirmed",
  "confidence": 1,
  "properties": {"amount": 129, "currency": "USD"}
}

Taksonomi Canonical

Menggunakan nama yang paling sempit untuk kebenaran. Keluarga-keluarga yang didukung termasuk acara page/CTA pertunangan; pendaftaran akun, daftar masuk, MFA dan kata sandi ditetapkan ulang; tahap lead dan formulir; produk, cart, checkout, pembayaran, pembelian, langganan, pembaruan dan pengembalian kembali; tayangan promosi dan konversi; help-centre, chatting dan tiket acara; peristiwa keamanan; dan acara langganan namespaced. Nama terminal biasa adalah account.signup.succeeded, account.login.succeeded, lead.form.succeeded, commerce.payment.succeeded, commerce.purchase.completed, commerce.subscription.renewed BAHWA DAN commerce.refund.completed.

Gangguan, konfirmasi dan pengabaian Browser

Widget dapat bekerja tanpa penyambung dengan mengamati struktur halaman, tindakan formulir, hasil DOM dan log perjalanan pengunjung. Bukti tersebut tetap secara eksplisit dinilai seperti diamati atau tidak diinginkan. Seorang konektor menambahkan konfirmasi server otoritatif dan dapat mengkorelasinya ke upaya peramban yang sama. Lembar pertama disimpan sebagai kandidat; menjadi ditinggalkan hanya setelah jendela tak aktif yang diatur di UI dan hanya ketika tidak ada pemulihan atau keberhasilan kemudian ada.

Atribusi dan pendapatan

Atribusi Itauran atrigansi tidak sah, kemudian perjalanan yang tepat, percobaan, sesi atau referensi perdagangan, maka grafik identitas yang disetujui, dan akhirnya sebuah pertandingan perilaku terikat. Penjualan tak tertandingi tetap tidak dapat dihubungi. Beban ledge multi-touch harus total 1_. Situs Intelijen terkait pendapatan membaca buku besar ini; kredit, dompet top-up, token top- up dan Add Funs tidak pernah pembelian konversi. Perilaku konektor FX tetap dikendalikan oleh pengaturan penghubung tersebut.

⚠️
Model Atribusi raftriance, jendela lookback, penanganan langsung-traffic, kepercayaan minimum, waktu habis ditinggalkan dan definisi corong adalah kebijakan UI. Kode konektor tidak boleh mengkodekan mereka secara hardcode.

Pemanifest dan Pembina Penyambung

deklarasi perjalanan penghubung
{
  "capabilities": ["sales", "journey_events"],
  "journey_capabilities": {
    "journey_events": true,
    "payments": true,
    "subscriptions": false,
    "correlation_token": false,
    "backfill": true
  },
  "journey_event_mappings": [{
    "source_event_name": "order.paid",
    "event_name_canonical": "commerce.purchase.completed",
    "field_map": {
      "order_ref": "order.id",
      "customer_ref": "order.customer_id",
      "amount": "order.total",
      "currency": "order.currency",
      "occurred_at": "order.paid_at"
    }
  }]
}

Declare only capabilities the package really delivers. Connector Builder validates the mapping and generates the same platform-neutral adapter used by first-party packages. Journey ingestion accepts one event or a bounded batch of 100 through the generated authenticated integration endpoint.

💡
Buku besar perniagaan tetap sumber kewangan yang benar. Jambatan perniagaan-ke-perjalanan menerbitkan hasil yang disahkan oleh pelayan dan menyelaraskan atribut selepas upsert buku besar idempoten sedia ada, jadi satu pembayaran tidak pernah menjadi dua jualan.
Penyambung

AI tindakan bekerja

Setiap sambungan menyatakan satu set tindakan: perkara yang AI boleh lakukan melalui platform luar. Tindakan adalah jambatan antara "AI kata" dan "AI buat."

Tindakan AI ony
AI tindakan bekerjaPermintaan pelanggan dipetakan ke kartu aksi tipe-hapus, kemudian daftar cek: izin diperiksa, Anda mengkonfirmasi, API _dipanggil.AI tindakan bekerjaRuang kerja ERJ"Batal langganan saya"pelangganAIAIcancel_subscriptiondeletePerlu konfirmasiParam voice_id (dari konteks)JENIS AKSIreadwritedeleteKeizinan & peran diperiksaKau mengkonfirmasi tindakannya.API yang disebut · hasil dilaporkan1DECLAREDSetiap tindakan daftar penyambung2GATEDIzin + konfirmasi3THEN RUNAPI Panggilan, hasil kembali
Permohonan A AWAS menjadi tindakan yang dinyatakan (ditaipkan baca/tulis/hapus) yang dicheck-izin, dikonfirmasi, kemudian dieksekusi dan dilaporkan.

Bejana aksi sepeda hidup

1
Pelanggan customer meminta sesuatu

"Batal langganan saya." AI mengenal pasti ini memerlukan tindakan "cancel_subscription".

2
Hak pemeriksaan AI untuk mencari

Apakah tindakan ini diperbolehkan? Apakah pengguna saat ini memiliki peran yang tepat?

3
AI mengumpul parameter

Tindakan membutuhkan ID langganan.

4
Pengesahan Kepastian Menyadari

AI meminta konfirmasi sebelum mengeksekusi.

5
Eksekusi

Tindakan tersebut menyebut platform eksternal sebagai API_.

6
Hasil

AI melaporkan hasilnya kepada pelanggan.

Jenis aksi kinashi

Tindakan Baca Ukraina

cari data tanpa mengubah apapun contoh: list_orders, get_customer aman, tidak ada konfirmasi yang diperlukan

Tindakan penulisan somesomesome

oucle (Aturan) Membuat atau mengubah data. Contoh: create_ticet, update_order. Mungkin memerlukan konfirmasi.

Hapus tindakan

Mengeluarkan data. contoh: concel_subscription. selalu memerlukan konfirmasi.

Tindakan HTTP ugilla

Diputuskan dalam tindakan.json, generik API Panggilan yang didefinisikan secara deklalaratif.

Tag kapabilitas Aspect

Optional per-action "capability" field in actions.json, a connector-neutral class tag (e.g. "tickets" for a ticket read/lookup, "ticket_create" for opening a ticket). OpsIQ gates the whole class uniformly across every connector: ticket reads drop out of the AI when the operator turns off AI Ticket Awareness, and ticket creation is reserved for OpsIQ's own composer (so a connector's create tool can't duplicate it). Declare it and your connector conforms. OpsIQ never needs to know your action names. The Connector Builder exposes it as a Capability dropdown per action.

Tindakan kod

Hal ini dilaksanakan dalam PHP di kelas konektor.

Definisi tindakan se Contoh sebol
{
  "lookup_order": {
    "label": "Look up an order",
    "description": "Find an order by ID or email",
    "method": "GET",
    "endpoint": "/admin/api/2024-01/orders.json",
    "params": {
      "order_id": { "type": "string", "label": "Order ID" },
      "email":    { "type": "email",  "label": "Customer email" }
    }
  }
}
Penyambung

Bina penyambung

Pembangun Konektor memungkinkan anda membuat konektor lengkap untuk setiap platform dengan sebuah REST API_. Tidak ada kod yang diperlukan untuk koneksor dasar.

Bina penyambung
Pembina PenyambungA no-code connector bentuk: nama, tipe auth, base URL, sebuah pemetaan aksi, tes passing dan tombol publikasi.Pembina PenyambungRuang kerja ERJPembina PenyambungNamaPlatformku berpenyakit penyakitJohnOAuth 2.0 Fiji (PKCE)Asas URL_https://api.example.com/v2AksiGET/customers → List_customersTes osis lulusKonektor Paket Ubuntu1NO-CODENama, otentifikasi, pangkalan URL2ANY APIKunci, Bearer, Basic, HMAC, OAuth_3PUBLISHInto /connectors/<slug>/
* Arahkan pembangun di setiap REST API Set auth, base URL Tindakan dan tindakan, mengujinya, dan menerbitkan sebuah konektor kerja.

Complete provider API coverage

Setiap hasil dihasilkan API Konektor yang tidak diketahui dapat menyingkapkan Penduduk Asli yang terpisah API Baca dan Penduduk Asli API Tindakan menulis. Tindakan Curated tetap disukai; titik akhir penyedia sampul aksi native ditambahkan kemudian. runtime mendukung REST, GraphQL, JSON Bentuk, bentuk, XML, tubuh mentah dan multi-bagian, paginasi terikat,API-version headers dan idempotensi saat menjaga kelayakan di dalam pengaturan konektor ruang kerja.

⚠️
Paket-paket marketplace yang berasal dari /marketplace_connectors Dan juga dibundel /connectors. Dia meningkatkan versi paket, meregenerasi kontrak dan dokumentasinya, menjalankan tes konformance, kemudian menandatangani kembali dan menerbitkan versi Marketplace baru.

Penyihir Pembangun Konektor

Penyihir memiliki enam langkah, menunjukkan sebagai tab di atas. Simpan _Draf Di footer, kau harus tetap bekerja.

1
Identitas dan profil

Nama, slug, deskripsi dan ikon, kemudian memilih profil kontrak: Standard API, Commerce, Helpdesk, Mailbox, Site Intelligence, SaaS Bridge, Local PHP Platform, atau Platform tanpa API_ Å ketika platform tidak berfungsi untuk panggilan dan OpsIQ harus memasang jembatan. Profil memilih titik awal kapabilitas lengkap; Anda masih dapat menyesuaikan kemampuan individu.

2
John

Ambil pola autentikasi yang digunakan platform dan isi bidangnya. Masukkan bukti kelayakan uji nyata di sini juga: ini digunakan untuk tes koneksi pada langkah berikutnya, dan tidak disimpan setelah Anda menerbitkan.

3
Uji

Masukkan API basis URL dan titik akhir yang pasti, kemudian jalankan tes koneksi langsung menggunakan kelayakan dari langkah 2Lakukan ini sebelum kau mendefinisikan tindakan apapun, jika auth atau basisnya URL Kau salah, setiap tindakan yang kau tulis setelah itu akan gagal untuk alasan yang sama dan kau akan menjadi debugging hal yang salah.

4
Tindakan

Definisikan setiap operasi: nama, metode HTTP, titik akhir jalur, parameter, pemetaan medan respon, dan pengaturan keandalan yang dijelaskan di bawah. Anda dapat menjalankan setiap tindakan secara individual terhadap langsung API dari langkah ini.

5
Pencetus

Petakan acara webhook yang platform anda kirimkan ke OpsIQ peristiwa, sehingga hal-hal yang terjadi di platform anda dapat mulai bekerja dalam OpsIQ_.

6
Tinjau, kontrak perusahaan dan publikasikan

Review every action, trigger and capability. Enterprise profiles expose the generated queue, worker, hook, migration, ticket-mirror, attachment and conflict contract before publishing. Publishing writes the package into /connectors/<slug>/.

⚠️
Penerbitan BAHASA TIDAK menjalankan suite kesesuaian. Terbitkan hanya validasi bentuk wizard dan memancarkan peringatan yang tidak menghalangi. Suite penuh — berkas manifes, kapabilitas, kontrak identitas-token dan cek bridge-snippet — berjalan ketika Anda menekan Dry-run, dan lagi saat pemasangan. Tekan Dry - lari sebelum Anda kapal, setiap kali.

Apa penerbitan yang tidak menunjukkan bahwa formulir tidak menunjukkan

Lima perilaku generator mengejutkan orang-orang tidak ada bug, semua dari mereka akan dikenakan biaya sore jika Anda bertemu dengan mereka secara tidak sengaja.

Satu pertanyaan COMCUL memutuskan passthrough: apakah platform tersebut melayani API?

Answer it in step 1 by picking the data-access mode (or the "Platform with no API" profile). API mode declares native_api and emits the <slug>_api_call passthrough. Bridge mode declares platform_bridge Sebaliknya, dia dan STRIPS native_api Bahkan jika spesifikasi yang lebih tua membawanya, jadi manifes, kelas yang dihasilkan dan dokter keahlian tidak bisa tidak setuju. ai_brain_aware Ada yang ditambahkan.

SILENCE MEANS "it has an API"

The Builder follows your answer; it does not work the truth out for itself, and the default when nothing is said is API mode. So a no-API platform must ACTIVELY say so — pick the "Platform with no API" profile, set data access to bridge, or tick platform_bridge; any one of the three is enough and they cannot contradict each other. Skip the question on a platform with no API and you are back to the old failure: a dead <slug>_api_call the model keeps reaching for. This used to be stamped unconditionally, so the trap is now escapable rather than gone.

Gagal uji sambungan ke GET /ping_

Jika kau meninggalkan jalur verifikasi kosong, Builder menulis /ping into the generated connector and into profile.json's test block. Almost no real platform serves that route, so Test Connection fails with HTTP 404 on every install and reads like a customer misconfiguration rather than a package defect. Set a verify path that your platform actually answers. For a bridge connector, point it at your own diagnostics endpoint — it proves the whole chain in one call: the bridge is deployed, the key matches, and the bridge can reach the database.

Pepublikasian ulang masih menimpa edit tangan Anda

Keupayaan itu sekarang mengikuti jawaban akses data, sehingga mereka yang tidak lagi hanyut. Segala sesuatu yang lain yang dihasilkan masih melakukan: sunting ContextProvider. php atau berkas emited lainnya dan penerbitan berikutnya menggantikannya. pengecualian yang dilindungi adalah file bridge — penyihir hanya menimpa jembatan yang membawa penanda sendiri, jadi tulisan tangan dibiarkan sendiri.

Mempublish kembali berkas hapus

Tidak ada kemampuan dan penerbitan berikutnya menghapus berkas penyedianya. Penyuntingan tangan ke berkas yang dihasilkan — ContextProvider.php di atas semua — ditulis-ganti tanpa peringatan. Salin kustomisasi terlebih dahulu, atau mengambil kepemilikan paket dengan menghapus .opsiq- binaragawan.json(setelah yang wizard tidak akan lagi mengelolanya).

release_status release selalu pralihat

Sebuah paket yang dimaksudkan untuk kapal sebagai produksi harus memiliki release_status berubah dengan tangan dalam pengaturan.json — dan bahwa suntingan istirahat tanda tangan, jadi re-sign setelah itu.

Bukti bahwa tandatangan membuktikan integritas, bukan asal

Paket-paket Builder ditandatangani dengan kunci simetris install ini sendiri. Yang mendeteksi pengosongan. Ini tidak membuktikan siapa yang menulis paket, dan setiap pemasangan memegang kunci yang sama dapat menghasilkan tanda tangan yang sama. Perlakukan paket yang ditandatangani secara lokal sebagai ditandatangani sendiri.

Tabrakan Slug tubrukan hanya diperiksa dalam satu pohon

Penerbitan menolak siput yang sudah ada di bawah/connectors/.Ia tidak melihat/marketplace_connectors/,Jadi, paket pihak pertama dengan slug yang sama dapat berakhir bayangan.

💡
Wizard tidak memiliki langkah yang berwenang pengetahuan. Berkas pengetahuan yang menjelaskan platform Anda dihasilkan untuk Anda dari nama, deskripsi, tipe Auth dan tindakan yang Anda definisikan, dan dimuat ke dalam AI ketika konektor diaktifkan.

Mendefinkan suatu tindakan (langkah 4)

Setiap tindakan memiliki pengaturan berikut. hanya empat pertama yang diperlukan; sisanya kontrol yang mungkin menjalankannya dan seberapa hati-hati.

Kunci dan label aksi bagi paraf

Kekunci adalah apa yang AI panggil; label ialah apa yang manusia baca. Kekunci dinama ruang dengan slug sambungan anda secara automatik, jadi dua sambungan boleh mempunyai "list_orders" tanpa berlanggar.

Metode HTTP

GET, POST, PUT, PATCH atau DELETE.

URL Jalur

Ditambahkan ke dasar URL Gunakan {name} Misalnya, placeholders /opportunities/{id}/stage

Parameter fecth

Untuk setiap parameter, Anda juga memilih di mana ia pergi: badan, path, query OR atau ORANG pengepalaSebuah parameter jalan mengisi {placeholder}); sebuah parameter pertanyaan ditambahkan ke URL.

Pemetaan respon stensue

Katakanlah mana bidang di JSON Respons afgon berarti apa, yang merupakan nama pelanggan, yaitu email, yang adalah urutan total. inilah yang memungkinkan AI membaca data platform Anda daripada menebaknya.

Siapa yang bisa menggunakannya

Tim Anda (admin AI), pelanggan signed-in (custer chatting), baik, maupun asisten menulis. Aksi customer hanya berjalan untuk pelanggan yang masuk, dan identity field terkunci ke mereka secara otomatis sehingga satu pelanggan tidak dapat bertanya tentang yang lain.

Kemudikan diperlukan konfirmasi

Seorang manusia harus menyetujui sebelum aksi berjalan.

** Destructive *

Ædi Marks tindakan sebagai menghapus atau mengubah keadaan. Digunakan untuk memperingatkan sebelum berjalan.

Keizinan diperlukan

Admin dari pihak lain harus memegang izin ini untuk AI menjalankan tindakan atas nama mereka; administrator penuh selalu lulus. Pilih dari manage_integrasi, mengelola_general, mengelola _billing, mengelola/sales_bridge, mengelola-pengetahuan, mengelola'keterampilan, mengelola: menjaga_behavior, mengelola, mengelola... permisi, mengelola.. dangerzone, membalas_to_chats, escalate_to-ticet, mengirim_agen_email, atau tidak ada, berarti admin yang disahkan.

Keterangan / Petunjuk AI

Opsyenal, tetapi berbaloi ditulis. Ia memberitahu AI bila untuk mencapai tindakan ini, contohnya "Gunakan ini apabila admin meminta untuk menukar peringkat pembahagian". Petunjuk yang baik ialah perbezaan antara tindakan yang digunakan dengan betul oleh AI dan satu yang diabaikan.

Kemampuan berbakat

Tag kelas pilihanonal , baik tiket (pembacaan tiket atau lookup) atau ticket_create (membuka tiket). Tagging memungkinkan OpsIQ gerbang seluruh kelas sekaligus, misalnya, menyembunyikan tiket dibaca ketika operator mematikan kesadaran tiket AI.

Path Daftar orgone

Untuk titik akhir yang mengembalikan daftar, jalur bertitik ke array, misalnya data atau data. item

Jalur Ralat untuk IAW

Sebuah bidang tubuh yang kehadirannya berarti panggilan gagal, misalnya kesalahan. pesan, berguna untuk APIs HTTP yang kembali itu 200 Gagal gagal.

Run it

Setiap aksi dapat dijalankan terhadap API langsung dari langkah ini, sehingga Anda dapat memperbaiki jalur atau nama lapangan yang salah sebelum orang lain menggunakannya.

⚠️
Tindakan penulisan AWAS secara default. Setiap tindakan menggunakan POST, PUT, PPATCH atau DELETE mulai memerlukan izin mengelola_integrasi BAHWA DAN Ini disengaja. tindakan menulis baru gagal ditutup daripada membiarkan AI mengubah data Anda tanpa pengawasan.
💡
Untuk dapat dipanggil dari chat pelanggan, sebuah tindakan harus dibaca-saja: biarkan baik Memerlukan konfirmasi maupun Destructive tidak ditandai. Sebuah aksi yang bisa memicu pelanggan yang juga mengubah keadaan bukanlah sesuatu yang penyihir akan membiarkan Anda kapal secara tidak sengaja.

Menerima 5)

Langkah Pemicu Memicu memberimu webhook URL Untuk mendaftar dengan platform Anda, dan membenarkan setiap permintaan yang tiba di atasnya.

Kepala Tandatangan:

Kepala header Anda tanda-tanda platform dengan, misalnya X-Hub-Signature-256_.

Algoritma tandatangan Algojo tandatangan Algagoritme

HANC-SHA1, HMAC- SHA256 atau HMAK-SHAS12.

Skema tandatangan bagi _andk:

- format yang digunakan oleh Stripe dan beberapa platform yang disalin.

Awalan tandatangan

Beberapa platform awalan digest, misalnya sha256=. biarkan kosong jika anda tidak.

Pemetaan Peristiwa - Peristiwa yang dilakukan oleh virus

Map each event your platform sends onto the OpsIQ event it should raise.

Auto-daftar webhook

Jika platform Anda memiliki API Untuk mengelola webhooks sendiri, Anda tidak perlu mendaftar URL Buka dengan tangan. Auto-daftarkan webhook ini yang diaktifkan Dan arahkan pada dua tindakan yang anda definisikan dalam langkah 4_:

Aksi Cipta-webhook

Anda memberikan nama parameter yang membawa URL_, secara opsional yang membawa daftar peristiwa, dan jalur dalam respon yang memegang id webhook baru.

Padam aksi damhan-webhook

Dipanggil ketika penyambung dinonaktifkan, menggunakan id yang ditangkap di atas, sehingga mematikan konektor juga menghentikan platform Anda yang dikirim ke titik buntu.

Keupayaan Anda dapat beralih pada

Profil dan kemampuan didefinisikan oleh Connector Contract 2.2_. Dijanakan dan deklaratorisasi kemampuan dipancarkan secara langsung; kemampuan perusahaan menghasilkan sebuah EnterpriseExtension.php Perancah dengan kabel sepeda hidup runtime.

Tindakan

Operasi AI dapat berjalan di platform Anda: daftar perintah, menemukan pelanggan, mengeluarkan pengembalian uang.

Pencetus

Requind menerima webhooks dari platform Anda dan mengubahnya menjadi OpsIQ events.

Tiket AI

AI Triage dan Copilot balasan pada tiket yang tetap berada di platform Anda. Pilih titik akhir yang mengembalikan satu tiket dengan jawaban dan petakan bidangnya; OpsIQ _membaca benang melalui itu.

Kolab Folder, dan kontak

Dan sinkronkan buku alamatmu ke dalam CRM OpsIQ _.

Import customer ustomer

Halaman melalui daftar pelanggan dan impor setiap satu sebagai kontak OpsIQ. Ini adalah apa yang dijalankan tombol Impor.

Konteks

Push data langsung dari platform Anda ke dalam setiap percakapan AI.

Identitas

Wagodin bekerja keluar yang pelanggan Anda pengunjung adalah, dan menunjukkan profil mereka dan pembelian pada tiket.

Penjualan dan penagihan

Acara pendapatan dan MRR masuk ke dalam papan dasbor OpsIQ.

Tiket masuk ke arah luar

Luathe Tukar tiket dan email platform Anda menyampaikan dengan webhook ke OpsIQ -- thread dukungan.

Jawaban Outwidthwither

Mempos OpsIQ _-_ para staf menjawab kembali ke platform thread berasal dari.

Pengguna sinkronis

Import your staff accounts into OpsIQ admin users.

Departemen-departmen Neuch

Mengimpor departemen dukungan Anda ke OpsIQ_.

Target Promo dan produk pakan

Sebaiknya Studio Promosi Membiarkan target pada fakta yang Anda tahu tentang seseorang, dan memberikan produk asli Anda dalam promosi.

Penyedia Studio Survei

Fakta Survei Terverifikasi-server ekspose, variabel yang kabur dan halaman penerima CRM Outreach terbelenggu melalui SurveyProvider yang didedikasikan. php. Ini tidak menggunakan kembali waktu berjalan Promosi.

Pemblokiran IP Pribumi

When OpsIQ blocks an IP, call your platform's own block API so the block is enforced there too.

Acara keamanan kapal

Reception diblokir-IP Sinyal ancaman dari... OpsIQ.

Pengetahuan Platform untuk AI

Setiap konektor yang Anda buat membuat kapal referensi singkat menjelaskan apa platform Anda dan apa tindakannya. OpsIQ admin AI membacanya setiap kali koneksor Anda diaktifkan, sehingga ia memahami platform Anda daripada hanya melihat daftar nama aksi. Ini dihasilkan untuk Anda.

API Hapus tembusan

Konektor Anda selalu mendapat panggilan umum-tujuan sehingga AI dapat mencapai titik akhir yang tidak Anda definisikan tindakan terketik untuk. Gunakan tindakan diketik di mana Anda bisa; ini adalah pintu keluar.

Canonical Connector Contract 2.2 reference

Contract version: 2.2 · 54 capabilities · 8 profiles.

Profil penghubung

standard_api · Standard REST or GraphQL API

Actions, triggers, OAuth/API-key authentication and optional context/identity mappings. Capabilities: actions, triggers, native_api, ai_brain_aware.

commerce · Commerce and billing platform

Customers, orders, sales, subscriptions, billing, promotions and journey events. Capabilities: actions, triggers, journey_events, sales, billing, sync_orders, customer_import, survey, promo_audience, promo_feed, context, identity.

helpdesk · Helpdesk and ticket platform

Inbound tickets, outbound replies/notes, customer roster, AI triage and bidirectional ticket mirroring. Capabilities: actions, triggers, inbound_ticket, outbound_reply, outbound_note, ai_tickets, customer_import, survey, context, identity, ticket_mirror, attachment_bridge, conflict_resolution.

mailbox · Mailbox and email provider

Inbound/outbound mail, address-book sync, multi-account OAuth and CRM timeline integration. Capabilities: inbound_email, outbound_email, mailbox, email_mailbox, oauth, actions, customer_import, ai_reply.

site_intelligence · Site Intelligence data provider

SEO, analytics, search-console, local-search or monitoring provider with scheduled sync. Capabilities: actions, triggers, site_intelligence, seo, scheduled_workers, durable_queue.

saas_bridge · SaaS bridge

Deep two-way SaaS integration with customers, billing, identity, tickets, webhooks, queues, attachments and workers. Capabilities: actions, triggers, webhook, context, identity, customer_import, survey, journey_events, sales, billing, inbound_ticket, outbound_reply, ticket_mirror, attachment_bridge, durable_queue, scheduled_workers, database_migrations, conflict_resolution, enterprise_hooks, admin_assets.

no_api_bridge · Platform with no API (OpsIQ installs a bridge)

For a self-hosted PHP application that serves no callable API. The wizard generates a signed bridge file the operator drops into their own site, plus the typed actions that read and write through it. Capabilities: actions, platform_bridge, ai_brain_aware.

local_php_platform · Local PHP platform bridge

WHMCS-style local hooks, database access, two-way tickets, billing/customer sync, queues and migrations. Capabilities: actions, native_data, context, identity, customer_import, survey, journey_events, sales, billing, inbound_ticket, outbound_reply, ticket_mirror, attachment_bridge, durable_queue, scheduled_workers, database_migrations, conflict_resolution, enterprise_hooks, admin_assets.

Kemampuan untuk dapat diolah oleh kinical

Tindakan usil

Universal actions. Capability version: 1.0. Mode: generated. Runtime methods: registerActions. Package files: actions.json.

Pemicu ham

Inbound event triggers. Capability version: 1.0. Mode: generated. Runtime methods: handleWebhook. Package files: actions.json.

webhook

Inbound webhook endpoint. Capability version: 1.0. Mode: generated. Runtime methods: handleWebhook.

journey_events

Universal Journey Event Contract mapping. Capability version: 1.1. Mode: generated. Interfaces: OpsIQ\Connectors\JourneyEventConnectorInterface. Package files: settings.json.

context

AI context providers. Capability version: 1.0. Mode: generated. Runtime methods: contextProviders. Interfaces: OpsIQ\Connectors\ContextConnectorInterface. Package files: ContextProvider.php.

guest_lookup

Guest record lookup without login (reference + proof match). Capability version: 1.0. Mode: generated. Runtime methods: contextProviders. Interfaces: OpsIQ\Connectors\ContextConnectorInterface. Package files: GuestLookupProvider.php.

identiti

Admin/customer identity providers. Capability version: 1.0. Mode: generated. Runtime methods: identityProviders, detectAdmin, detectCustomer. Interfaces: OpsIQ\Connectors\IdentityConnectorInterface. Package files: IdentityProvider.php.

sales

Sales and revenue ingestion. Capability version: 1.1. Mode: generated. Interfaces: OpsIQ\Connectors\CommerceConnectorInterface. Package files: SalesIngest.php.

PILANG

Cross-platform billing snapshot. Capability version: 1.0. Mode: generated. Runtime methods: billingProviders. Interfaces: OpsIQ\Connectors\BillingConnectorInterface. Package files: BillingProvider.php.

payments

Payment-provider capability bus. Capability version: 1.0. Mode: generated. Runtime methods: paymentsCapabilities.

inbound_ticket

External ticket/email to OpsIQ ticket ingestion. Capability version: 1.0. Mode: generated. Runtime methods: handleWebhook. Interfaces: OpsIQ\Connectors\TicketMirrorConnectorInterface.

outbound_reply

Reply mirroring to the external platform. Capability version: 1.0. Mode: generated. Runtime methods: pushReply. Interfaces: OpsIQ\Connectors\TicketMirrorConnectorInterface.

sync_users

Staff/customer synchronisation. Capability version: 2.0. Mode: generated. Runtime methods: listCustomers. Interfaces: OpsIQ\Connectors\CustomerImportConnectorInterface. Package files: SyncImport.php.

sync_departments

Department/team synchronisation. Capability version: 1.0. Mode: generated. Package files: SyncImport.php.

sync_orders

Order roster and order-event synchronisation. Capability version: 1.0. Mode: declarative. Interfaces: OpsIQ\Connectors\CommerceConnectorInterface.

sync_products

Product, catalog and inventory synchronisation. Capability version: 1.0. Mode: declarative. Runtime methods: registerActions.

sync_projects

Project, issue and workspace synchronisation. Capability version: 1.0. Mode: declarative. Runtime methods: registerActions.

customer_import

CRM customer roster import. Capability version: 2.0. Mode: generated. Runtime methods: listCustomers, backfillChunk. Interfaces: OpsIQ\Connectors\CustomerImportConnectorInterface.

security_events

Receive and emit security events. Capability version: 1.1. Mode: generated. Runtime methods: securityCapabilities, syncBlockedIp, removeBlockedIp. Interfaces: OpsIQ\Connectors\SecuritySyncConnectorInterface.

security_native_block

Native remote IP/CIDR blocking. Capability version: 1.0. Mode: generated. Runtime methods: syncBlockedIp, removeBlockedIp. Interfaces: OpsIQ\Connectors\SecuritySyncConnectorInterface.

survey

Survey identity, audiences, recipients and variables. Capability version: 1.0. Mode: generated. Runtime methods: surveyAudienceCatalog, surveyAudienceFacts, surveyVariableCatalog, surveyVariables, surveyRecipientPage. Interfaces: OpsIQ\Connectors\SurveyConnectorInterface. Package files: SurveyProvider.php.

reply_feedback

Ticket reply feedback mirror (platform reply ratings land via the portal write method). Capability version: 1.0. Mode: generated. Runtime methods: replyFeedbackCatalog, pullReplyFeedback. Interfaces: OpsIQ\Connectors\ReplyFeedbackConnectorInterface.

promo_audience

Promotion targeting facts. Capability version: 1.0. Mode: generated. Runtime methods: subscribers. Interfaces: OpsIQ\Connectors\PromotionConnectorInterface.

promo_feed

Promotion product/content feed. Capability version: 1.0. Mode: generated. Interfaces: OpsIQ\Connectors\PromotionConnectorInterface.

email_mailbox

Mailbox bus, outbound mail and address-book sync. Capability version: 1.0. Mode: generated. Runtime methods: emailAccounts. Interfaces: OpsIQ\Connectors\MailboxConnectorInterface.

inbound_email

Receive inbound email. Capability version: 1.0. Mode: declarative. Runtime methods: poll, handleWebhook. Interfaces: OpsIQ\Connectors\MailboxConnectorInterface.

outbound_email

Send outbound email. Capability version: 1.0. Mode: declarative. Runtime methods: registerActions. Interfaces: OpsIQ\Connectors\MailboxConnectorInterface.

mailbox

Mailbox connector. Capability version: 1.0. Mode: declarative. Runtime methods: emailAccounts. Interfaces: OpsIQ\Connectors\MailboxConnectorInterface.

ai_tickets

AI triage and Inbox Copilot for remote tickets. Capability version: 1.0. Mode: generated. Runtime methods: loadTriageContext. Package files: AiOperations.php.

ai_reply

AI-assisted reply drafting. Capability version: 1.0. Mode: declarative. Runtime methods: registerActions.

ai_brain_aware

Connector expertise supplied to Admin AI. Capability version: 1.0. Mode: generated. Package files: ai_expertise_admin.md, ai_api_reference.md.

native_api

Native API passthrough. Capability version: 1.0. Mode: generated. Runtime methods: registerActions.

platform_bridge

Signed platform bridge (for platforms with no API). Capability version: 1.0. Mode: generated. Runtime methods: registerActions. Package files: bridge/.

native_data

Local database/platform data adapter. Capability version: 1.0. Mode: declarative. Runtime methods: nativeDataProviders. Interfaces: OpsIQ\Connectors\NativeDataConnectorInterface.

kim

CRM capability provider (calendar, enrichment, telephony or customer data). Capability version: 1.0. Mode: declarative. Runtime methods: crmCapabilities. Interfaces: OpsIQ\Connectors\CrmCapabilityConnectorInterface.

block_registry

Remote sender block-registry synchronisation. Capability version: 1.0. Mode: declarative. Runtime methods: blockSender, unblockSender, isSenderBlocked. Interfaces: OpsIQ\Platform\BlockRegistryInterface.

inbound_comment

Inbound comment ingestion. Capability version: 1.0. Mode: declarative. Runtime methods: handleWebhook.

outbound_note

Outbound private note. Capability version: 1.0. Mode: declarative. Runtime methods: registerActions.

outbound_notification

Outbound notification delivery. Capability version: 1.0. Mode: declarative. Runtime methods: registerActions.

oauth

OAuth 2.0 authorisation. Capability version: 1.0. Mode: generated.

reviews

Review ingestion and response. Capability version: 1.0. Mode: declarative. Runtime methods: registerActions.

KANIN

Local search/location data. Capability version: 1.0. Mode: declarative. Runtime methods: registerActions.

iran

SEO data and actions. Capability version: 1.0. Mode: declarative. Runtime methods: registerActions.

site_intelligence

Site Intelligence provider. Capability version: 1.0. Mode: declarative. Runtime methods: siteIntelligenceProviders. Interfaces: OpsIQ\Connectors\SiteIntelligenceConnectorInterface.

analytics

Analytics data provider. Capability version: 1.0. Mode: declarative. Runtime methods: analyticsCapabilities.

comms

Communications/video-meeting provider. Capability version: 1.0. Mode: declarative. Runtime methods: commsCapabilities.

admin_assets

Connector-provided admin/account/public browser assets. Capability version: 1.0. Mode: generated. Runtime methods: adminAssets. Interfaces: OpsIQ\Connectors\AdminAssetConnectorInterface.

enterprise_hooks

Platform-native hooks and lifecycle callbacks. Capability version: 1.0. Mode: extension. Package files: EnterpriseExtension.php.

durable_queue

Durable outbox/inbox queue and retry policy. Capability version: 2.0. Mode: extension. Package files: EnterpriseExtension.php.

ticket_mirror

Bidirectional ticket mirror with conflict handling. Capability version: 2.0. Mode: extension. Interfaces: OpsIQ\Connectors\TicketMirrorConnectorInterface. Package files: EnterpriseExtension.php.

attachment_bridge

Attachment upload/download transfer. Capability version: 2.0. Mode: extension. Package files: EnterpriseExtension.php.

database_migrations

Connector-owned schema migrations. Capability version: 1.0. Mode: extension. Package files: EnterpriseExtension.php.

scheduled_workers

Connector-owned scheduled/background workers. Capability version: 1.0. Mode: extension. Package files: EnterpriseExtension.php.

conflict_resolution

Two-way sync conflict strategy. Capability version: 1.0. Mode: extension. Package files: EnterpriseExtension.php.

⚠️
Spesifikasi pembangun tetap sumber berwibawa. Letakkan aturan bisnis spesifik platform di titik ekstensi yang dihasilkan; daur hidup paket, antrian, pekerja, migrasi dan tes konformance tetap dibangun.

Pengaturan keandalan pada setiap tindakan

Cuba Semula

How many times to retry a failed call, with a backoff that doubles each attempt. Only timeouts, 429s and 5xx errors are retried; a 4xx is your request's fault and repeating it would just burn your rate limit.

Batas kadar morf

Sebuah langit-langit per-menit untuk aksi ini, jadi pemicu sibuk tidak dapat memalu platform Anda. Biarkan di 0 untuk tanpa batas.

Kehabisan data

Berapa lama untuk menunggu platform Anda sebelum menyerah.

Pengesahan Kepastian Menyadari

Membutuhkan manusia untuk menyetujui sebelum aksi berjalan. gunakan untuk apa pun yang merusak.

Jenis otentikasi Arondisemen Agodin

Langkah ke - 2 Ambil yang cocok dengan platformmu. API Dokumentasi dokumentasi, generator memancarkan klien HTTP yang tepat untuk itu.

Key_kunci API pada header

Sebuah kunci statis dikirim sebagai header tetap, misalnya X-API-Key. Anda memberikan nama header dan label formulir admin yang harus ditampilkan. Ini mengirimkan kunci sebagai header saja; jika Anda API PASAL mengharapkan kunci sebagai parameter pertanyaan sebagai gantinya, gunakan header custom atau konektor full-code.

Token Bearer kin

Token sent as Authorization: Bearer <token>. Common for modern APIs.

Auth

Nama pengguna dan kata sandi, base64-dikodekan ke dalam header Authorization. Anda memilih label kedua field show pada formulir admin.

Tandatangan HMAC

Kunci publik ditambah rahasia, dengan badan permintaan ditandatangani.

OAuth 2.0 (Klien)

Server-ke-server, tanpa interaksi pengguna dan tanpa pengalihan. Anda memberikan token URL dan sebuah skop opsional; admin memasok ID klien dan rahasia. Gunakan ini ketika isu platform Anda kredensial ke aplikasi daripada ke orang.

OAuth 2.0 (Tombol sambungan)

The authorization-code flow with PKCE, for Stripe, Shopify, Slack and QuickBooks-style apps. You give the authorization URL, the token URL and the scope. After publishing, the admin clicks Connect on the connector, authorizes on your platform, and OpsIQ stores the refresh token and mints access tokens on demand. The redirect URI to register in your OAuth app is shown on the connector's settings page.

Kepala rumahan

Bentuk-bebas JSON peta pengepala untuk apa-apa yang corak di atas tidak meliputi, contohnya {"X-API-Key":"{api_key}","X-Tenant":"{tenant_id}"}. Setiap tempat letak menjadi medan pada borang admin.

💡
PUKCE berlaku untuk aliran tombol-Sambung saja. Aliran client-credentials tidak memiliki arah kembali dan tanpa langkah pengguna, sehingga PKCE tidak berlaku untuk itu.

Gaya peginasi

Ofset

Parameter offset dan batas DPRD. Contoh: ?offset=100&pembatas kata-kata=50.

Halaman

Contoh: ?page=3&Lapisan_halaman=50.

Kursor

Ufun menggunakan token kursor dari respon sebelumnya.

header Link Nizaid

Guna pengepala respon Pautan dengan rel="next".

Lanjutan: kode PHP suai

connector. php RETURNS sebuah instansi. Ini tidak menyatakan kelas bernama yang diburu OpsIQ _. Nama metode dibawah ini adalah yang diperlukan ConnectorInterface; mendapatkan salah satu kesalahan adalah fatal pada beban, bukan peringatan.

penghubung. php — kontrak yang sebenarnya, minimal dan dapat dijalankan
<?php
/* connectors/myplatform/connector.php */
declare(strict_types=1);

use OpsIQ\Connectors\AbstractConnector;

require_once __DIR__ . '/Client.php';

return new class extends AbstractConnector {

    /* ── the three identity methods. NOT identifier()/label(). ── */
    public function slug(): string        { return 'myplatform'; }
    public function name(): string        { return 'My Platform'; }
    public function description(): string { return 'Orders and customers from My Platform.'; }

    public function capabilities(): array { return ['actions', 'context']; }

    public function settingsSchema(): array
    {
        $f = __DIR__ . '/settings.json';
        if (!is_file($f)) return [];
        $j = json_decode((string)file_get_contents($f), true);
        return is_array($j['settings'] ?? null) ? $j['settings'] : [];
    }

    /* ── NOTE THE ARGUMENT. testConnection() with no parameter is a fatal. ── */
    public function testConnection(array $settings): array
    {
        try {
            $resp = \OpsIQ\Connectors\MyPlatform\Client::callWithSettings($settings, 'GET', '/me', [], []);
            $code = (int)($resp['http_code'] ?? 0);
            return ($code >= 200 && $code < 300)
                ? ['success' => true,  'info'  => ['message' => 'Connection OK', 'http_code' => $code]]
                : ['success' => false, 'error' => "Verify endpoint returned HTTP $code"];
        } catch (\Throwable $e) {
            return ['success' => false, 'error' => 'Test failed: ' . $e->getMessage()];
        }
    }

    public function onEnable(array $settings): array  { return ['success' => true]; }
    public function onDisable(array $settings): array { return ['success' => true]; }

    public function handleWebhook(array $payload, array $headers, array $settings): array
    {
        return ['success' => true, 'note' => 'No triggers declared.'];
    }

    /* Inherited from AbstractConnector: reads actions.json for you.
     * Override only to ADD actions the manifest cannot express. */
    public function registerActions(array $settings): array
    {
        return parent::registerActions($settings);
    }
};
⚠️
Three things that fatal at class load rather than failing gracefully. The identity methods are slug(), name() and description() — not identifier() and label(). testConnection() TAKES an array of settings; a no-argument version is an incompatible signature. And there is no $this->http() or runAction() on AbstractConnector — HTTP goes through your own Client.php or through an action declared in actions.json.

Cermin tiket ke dalam sistem tiket asal

When your platform owns a ticket, mirror it into OpsIQ from your connector using the ticket ingest helper your connector inherits (create for a new ticket, add-reply for follow-ups). Emit and subscribe to the universal ticket events in your connector's subscribers() Metode , ticket.created, ticket.replied, ticket.updated, ticket.deletedAuto-reply, eskalasi, SLA dan CSAT semua hook acara yang sama, sehingga Anda mewarisi mereka tanpa kode tambahan.

Kata orang yang menulis pesan pembukaan

Tiket selalu dar Pelanggan, tapi pesan pembukaan mungkin ditulis oleh staffAgen membuka tiket atas nama pelanggan, atau menjangkau secara proaktif. ticket.created kontrak daripada sesuatu yang setiap sambungan menyelesaikan secara peribadi.

author_type

Klien (default) atau admin. Abaikan dan pelanggan diasumsikan.

author_id

ID staf ketika author_type=admin. Jangan pernah id pelanggan.

author_name

Nama paparan ejen atau jabatan. Kembali ke "Kad".

author_email

Agen agen alamat. tidak pernah pelanggan satu pesan staf di bawah email pelanggan adalah laporan dan audit error.

Ini bukan kosmetik. Konsumer membaca author_type Sebuah pembukaan tertulis staf dilaporkan sebagai client Dan membuat gema platform Anda dari pembukaan yang terlihat seperti pesan pelanggan segar, yang kemudian mendarat sebagai duplikat dan membalik tiket ke answeredPetakan sinyal platformmu di dalamnya di konektormu Penormal acara nizomisJangan di dalam konsumen.

Pemblokiran terpusat

Ketika agen memblokir pengirim, yang berlaku di seluruh every Saluran üchain segera (e-mail, chatting, portal, widget dan setiap kembaran penyambung) karena blok ditegakkan secara terpusat, sebelum ada konektor yang melihat pesan. Konektor Anda mewarisinya dengan tidak melakukan apa-apa. Tidak ada pekerjaan inbound untuk diimplementasikan dan tidak ada cara untuk mendapatkannya salah.

Bagian opsional adalah outboundmengatakan pada platform anda pelanggan diblokir disini. Implementasi hanya jika platform anda dapat menyatakan sesuatu yang setara.

kapabilitas 444()

Harus termasuk block_registry DAN kelas harus mengimplementasikan BlockRegistryInterface. Bendera adalah klaim; antarmuka adalah jaminan. registry membutuhkan keduanya.

blockSender($b)

Para anugrah akan menerima jenis (emailCaldomaindomainDomaindialog_ip), nilai, alasan, admin_id, kedaluwarsa_at, site_key. Mengembalikan [result, detail?, remote_ref?].

unblockSender($b)

muatan yang sama, dibalik pasti tidak menguntungkan melepaskan sesuatu yang tidak pernah diblokir adalah noop, bukan kesalahan.

isSenderBlocked($b)

Untuk rekonsiliasi, jadi drift dilaporkan daripada ditemukan oleh pelanggan.

Nilai hasil

KANINO ok

Digunakan untuk platform anda. Sertakan remote_ref bila anda memiliki id yang layak untuk direkam.

noop

Sudah di negara bagian yang diminta.

unsupported

Platformmu tidak memiliki konsep yang setara.

irango gagal

Kau bisa melakukannya dan itu salah, termasuk detailnya, itu mendarat di jalur audit.

Pembobolan adalah jawaban yang benar. Banyak platform tidak mempunyai konsep "halang penghantar ini" dan hanya menawarkan penangguhan AKUNTANSI, yang berhentikan bil, log masuk dan perkhidmatan berbanding hanya menyokong mel. Memeta "agen menghalang alamat spam" ke "tutup akaun klien ini" akan membiarkan satu klik salah menghalang perkhidmatan pelanggan yang membayar. Jika itu satu-satunya tuas anda ada, kembali unsupported Dan biarkan saja.

Pencacahan Colak juga mencakup kasus di mana platform can Kau harus melakukannya tapi tidak akan membiarkanmu. API, bukan fitur: tuas yang hanya ada di platform admin UI adalah tuas konektor Anda tidak memiliki.

Contoh · Zendesk (perlaksanaan referensi)

Bacalah connectors/zendesk/connector.php alongside this. It is short, and every branch below is a decision you will face too.

→ ok

PUT /api/v2/users/{id} Ketergantungan dengan suspensi=benar. Permintaan baru pengguna akhir tertangguh mengalihkan ke Tiket Tertangguh daripada membuka satu, benar-benar ide yang sama seperti memblokir pengirim, dan berhenti tidak ada tagihan karena pengguna akhir Zendesk tidak memiliki apapun. Mengembalikan id pengguna sebagai remote_ref.

domain → tidak didukung

Zendesk HANY Zendesk s CAN suspensi seluruh domain, tetapi hanya melalui suspend: kata kunci dalam textrea daftar blok Admin Center, dan tidak ada API _menulis bidang tersebut. Fiturnya ada; tuas tidak.

ip →RAS tidak didukung

Tidak ada blok IP _tersedia.

alamat → noop tidak diketahui

Zendesk tidak dapat pra-suspensi alamat yang belum pernah dilihat. tidak ada yang harus dilakukan bukan kegagalan, dan blok lokal masih menghentikan tiket.

ejen atau admin → tidak disokong

Staf yang sedang menunggu akan mengunci rekan kerja dari helpdesk. alamat staf yang mencapai daftar blok jauh lebih mungkin menjadi kesalahan daripada instruksi, memeriksa peran sebelum Anda bertindak di atasnya.

kontrak tidak bisa menghentikan Anda memetakan blok ke sesuatu yang merusak, jadi setiap konektor harus memutuskan sendiri apa yang akan ditolak. menolak dengan keras, dengan detail Operator dapat membaca, mengalahkan mematuhi.

Laporan jujur. Perhatikan seberapa sedikit dari baris-baris itu okItu adalah hasil yang benar, bukan celah: blok domain masih bekerja (ini ditegakkan dalam inti saat itu ditulis); ini tidak dapat dicerminkan ke luar. ok Untuk sesuatu yang tidak kau lakukan akan memberitahu operator blok mencapai platformmu ketika itu tidak pernah meninggalkan OpsIQ_.

Aturan

\"Hantaman lokal selalu menang\"

Ini ditulis sebelum kau dipanggil dan berdiri apapun yang kau kembali kau tidak bisa mencegah operator menghalangi seseorang

Jangan pernah melempar

A throw dianggap tidak didukung dan direkam. Return gagal dengan detail sebaliknya sehingga alasan bertahan hidup.

Be idempotent

Blok yang sama mungkin diumumkan lebih dari sekali.

Cepat kembali

Fan-out adalah sinkron dengan klik operator. Antrian kerja lambat daripada memegang permintaan terbuka.

Jangan panggil kembali

Jangan pernah memblok ulang ke OpsIQ dari handler Anda. registry melewatkan konektor asal, tapi hop kedua akan loop.

Setiap pengumuman ditulis untuk opsiq_block_registry_log (operasi, jenis, nilai, alasan, admin, asal, slug konektor, hasil, detail dan timestamp) sehingga operator dapat melihat blok tiba dari platform Anda daripada dari agen, dan apa yang dilakukan setiap konektur tentang hal itu.

Mendorong lampiran dengan benar

Tangan seorang attachments array HANFAIN untuk membuat ()/addReply(). Setiap item membawa file dalam satu dari tiga bentuk:

content_b64

Base64 dari byte file RAW, digunakan untuk berkas di belakang auth (kebanyakan kasus inbound). OpsIQ decodes dan host ulang file untuk Anda. Bentuk paling portabel.

url Sumber/sumber_url

A public httpsURL(e.g. a.Zendeskcontent_url). Mesti https; melewati pemeriksaan SSRF / ijinkan daftar sebelum disimpan.

stored_path

Rujukan file tersimpan yang sudah Anda tulis (apa yang dihasilkan oleh penggubah asli).

Items also accept filename, mime_type and size_bytes. Caps: 12 MB/file, ~24 MB total, 10 files per call. Most platform read APIs return attachment Nama file hanya (tidak byte), jadi pola inbound yang dapat diandalkan adalah: baca byte di mana kode Anda sudah berjalan (di dalam platform, atau dari muatan webhook), base64 mereka, dan kapal mereka sebagai content_b64 Di acara itu.

Outbound (OpsIQ →platform Anda). Ketika agen melampirkan file, ticket.replied Muatan memberi Anda file balasan sebagai stored_path Barang-barang di bawah OpsIQ Baca dan tekan dalam format platform Anda sendiri, dan periksa dokumen platform, hal pengkodean: WHMCS Kau ingin base64_encode(json_encode([[name,data]])) (JSON, bukan serialize); Zendesk upload mentah bytes ke /uploads.json \"Dia akan membuat token\" comment.uploads); Gmail mengirim multipart/mixed RFC-822 pesan base64url-encoded dalam raw; Amazon SES inbound attachments need the S3 receive action (the SNS path caps at 150 KB).

Platform jarak jauh: API + webhook, tidak pernah ada tabel aplikasi lain

Jika platform Anda adalah aplikasi atau basis data terpisah yang diberikan oleh kedua orang Çaš (sebuah hosting SaaS, sebuah remote WHMCS_, DB yang berbeda pada server yang sama), Tidak pernah menulis tabelnya secara langsungSebuah tanah tulis di data-data yang terhubung aktif dan diam-diam melewatkan baris nyata. outbound = call the platform's signed REST API (replies, status, department, deletes); inbound = platform POSTs sebuah webhook ditandatangani, Anda handleWebhook() Memverifikasinya dan membakar pencocokannya. ticket.* Untuk menghentikan lingkaran cermin, tandai apa yang Anda tekan dengan penanda asal (misalnya. mirror_origin:'opsiq'LUVE); platform menggema di webhook dan inbound handler Anda melewati gema sendiri. OpsIQEvents::isMirroredEvent() Di atas setiap handler.

Status cermin, prioritas & departemen

Sebuah balasan bergerak status secara otomatis, sebuah agent Balas →_ answered, a pelanggan Balas →_ customer_replyLUVE; cerminkan dengan cara yang sama. Untuk perubahan eksplisit berlangganan ticket.updated BAHWA payload['changes'] dargon (e. g. {status:'closed'}).

Status: Set kanunisable OpsIQ_ adalah open, customer_reply, answered, in_progress, pending, closedSimpan peta kecil dua arah ke kosakata platform Anda, dan pastikan kolom Anda benar-benar menerima nilai yang Anda tulis (an ENUM A nilai hilang akan diam-diam dijatuhkan ke kosong oleh beberapa database). Departemen Luar Negeri: the OpsIQ department id is meaningless on your side, Jangan pernah kirimKirimkan penerangnya (name, email BAHWA DAN slugDan menyelesaikannya melawan departemenmu sendiri lewat e-mail.→Nama font→Jadi, \"Billing Department\" mendarat di Kau Departemen Billing Ketimbang UmumPemicu pada keduanya ticket.escalated Dan department_id Pergantian di dalam ticket.updated.

💡
Status / prioritas / subjek / departemen / menghapus mirroring digeret oleh togol per-konektor (mirror_status_changes, cermin_priority_change, spion_subject_change , error_department_change (pengubahan _status_miror, cermin) dibaca melalui shared OpsIQ Adakan blok itu dalam pengaturan Anda.json Dan setiap konektor ticket-mirror berbunyi secara identik.

Kemudikan tiket ke produk / layanan

Jika pelanggan memilih produk tertentu semasa membuka tiket, stamp petunjuk supaya ejen melihat kad perkhidmatan terfokus (dengan satu-klik "lihat produk lain" modal untuk selebihnya). Serahkan mana-mana daripada ini ke create():

related_service_id

Preferred: the service id exactly as it appears in your IdentityProvider::lookupCustomerServices() list (each service's id). Unambiguous match.

related_service_label

Sebuah platform service-code, mis. WHMCS - - -- ---- - -=--396) / D11 (domain11). OpsIQ Füphne menguraikan tipe-huruf opsional + id dan cocok dengan daftar layanan Anda, dengan type guard sehingga kode domain tidak pernah cocok dengan produk dari id yang sama. Expose ref yang sepadan pada setiap layanan untuk pertandingan yang tepat.

related_domain

Nama domain A; dipertandingkan sebagai substring terhadap detail / domain masing-masing layanan.

💡
Buat daftar lampiran sekali, dalam bentuk di atas, dan OpsIQ Sisa: tuan rumah URLs Anda tidak perlu menulis penanganan berkas per platform.
⚠️
Action keys are lowercase letters, digits and underscores. The Builder accepts 3 to 80 characters and also allows dots; the action store accepts 2 to 100 characters with no dots, so keep to letters, digits and underscores and you satisfy both. Adding an action creates no AJAX route, so there is nothing to regenerate — re-save the connector and it is synced.
Penyambung

Connect a platform that has NO API (the bridge pattern)

Banyak kapal platform nyata tidak ada RESTAPISebuah hotel CMS, sistem penagihan lama, sebuah alat internal bespoke. Anda masih dapat menulis lengkapOpsIQKonektor untuk satu: konektor kapal file PHP tunggal yang operator jatuh ke webroot publik mereka sendiri, dan file IS yangAPIHalaman ini adalah pola keseluruhan, dengan aturan yang membuatnya aman untuk berjalan dan alasan di balik setiap peraturan.

Bentuknya

Konektor normal . Cawri seorang konektor biasa memanggil orang lain sebagai API_. Seorang penyambung jembatan membawa sendiri. Tidak ada perubahan lain: tindakan yang sama, penyedia konteks yang sama , kontrak identitas yang sama (contact), tata letak paket yang sama.

1
Anda menulis satu berkas PHP

It lives in your package at bridge/opsiq-<platform>-bridge.php. It talks to the platform's database directly, or boots the platform's framework, or both. It answers JSON.

2
Operator itu menyalinnya ke dalam akar web mereka

Di sebelah index. php. Tidak ada kode platform yang dimodifikasi, tidak ada plugin terpasang, tidak akan ada yang mempertahankan di seluruh platform upgrade.

3
Panel penghubung itu menyerahkan filenya kepada mereka

Pengaturanmu.json¡Ophys mendeklarasikan webhook_help.snippet_template. Halaman konektor membuatnya sebagai berkas yang dapat disalin dengan pengaturan langsung mereka sudah diganti, sehingga tidak ada yang perlu disunting tangan.

4
OpsIQ calls it server-to-server

Klien Anda.php mengirim permintaan GET dengan kunci terbagi dalam X-Opsiq-Vear Bridge-Key.URLSetting adalah akar situs platform.

The Connector Builder CAN generate this for you now. Pick the "Platform with no API" profile (or set data access to bridge) and it emits the bridge file, the matching panel snippet and the typed actions that read and write through it — for a Laravel application reading its .env, for WordPress reading wp-config.php, or with credentials you paste in for anything else. Hand-author only when your platform is none of those, or when you need behaviour the generated bridge does not cover. A hand-written bridge is safe from the wizard: it only overwrites a bridge file carrying its own marker.
💡
Everything on this page is shown in PHP against MySQL, because that is the reference implementation and the only combination the packaging pipeline fully supports. The pattern itself is language-agnostic and engine-agnostic: see "The bridge in other languages and other databases" for the gate in Node, Python, Go, Ruby, .NET and Java, the introspection query for PostgreSQL, SQL Server, SQLite and Oracle, and the MongoDB equivalent — along with the packaging constraint that decides how a non-PHP bridge reaches the operator.

Model keamanan, dan mengapa setiap aturan ada

File ini duduk di sebuah webroot publik di belakang satu kunci berbagi. fakta itu mendorong setiap aturan dibawah ini. jangan bersantaikan salah satunya untuk membuat jembatanmu lebih sederhana.

Dan tak pernah ada penelepon yang menyediakan SQL_

Not a WHERE clause, not an ORDER BY fragment, not a "just this once" raw query parameter. The caller names a table, a column and a value; your file builds the statement. The moment a caller can contribute SQL text, one shared key becomes arbitrary database execution.

Nama tabel dan kolom divalidasi terhadap informasi_schema

Para pengidentifikasi tidak dapat dijilid sebagai parameter, jadi mereka harus diperiksa sebagai gantinya. Baca daftar tabel dan kolom yang sebenarnya untuk database INI dan menolak apa pun yang tidak ada padanya. Pengenal bahwa bukan objek nyata dari skema ini maka tidak dapat mencapai pertanyaan sama sekali — yang mana membuatnya aman untuk membuka setiap meja.

Setiap nilai adalah parameter batas

Ijin tanpa pengecualian, termasuk nilai di dalam pencarian. Pengenal yang sah ditambah nilai terikat adalah pasangan yang membuat total permukaan dan nil permukaan injeksi.

Bacaan universal, tulis didaftar-izin

Ini adalah aturan yang paling ingin dilewati orang.

Kolom rahasia bercorak merah pada baca dan menolak menulis

Match on column NAME: password, remember_token, secret, api_key, private_key, salt, token. Replace the value with a placeholder on the way out. Refuse the write entirely on the way in — writing a raw password hash is not an operation, it is a footgun. Send the operator to the platform's own password flow.

Deletes adalah satu-baris, oleh kunci utama

Tidak pernah menghapus secara besar-besaran, tidak pernah menghapusnya melalui filter. Penghapusan massal adalah bagaimana sebuah database mati. Jika seseorang benar-benar membutuhkan satu, mereka dapat melakukannya dalam platform.

Bacaan BARIS dipetakan-baris

¡Availa Clamp parameter batas dengan langit-langit keras. Pertanyaan yang kabur tidak boleh dapat membuang database melalui pesan chat.

Gagal ditutup sampai kunci ditetapkan

Jawaban jembatan yang tak terkonfigurasi403Jembatan yang berguna sebelum dikonfigurasi adalah jembatan yang membantu orang asing.

Perbandingan kunci waktu-milar, kunci dalam header

Key masuk dalam X-_Opsiq-Bridge-Key, bukan string pertanyaan, sehingga tidak boleh masuk ke log akses, log proksi dan header Referer.

Hanya

Semua yang dilakukan jembatan adalah terlihat sebagai GET dengan parameter validasi, dan OpsIQ _adalah satu-satunya penelepon.

Baca universal, tuliskan — dan mengapa

Ini adalah aturan yang dibantah, jadi inilah penalarannya secara penuh. Asisten harus dapat melihat seluruh platform: itulah yang membuatnya berguna, dan sebuah bacaan tidak dapat menghancurkan apa pun. Tulis berbeda. Berkas ini duduk dalam sebuah webroot publik di belakang kunci berbagi SATU. Jika kebocoran kunci itu, permukaan tulis tanpa batas membuat kebocoran setara dengan kontrol basis data lengkap — seorang pengguna admin baru, sebuah tabel pemesanan kosong. Sebuah daftar ijin berarti kunci bocor masih tidak bisa mencapai meja operator tidak pernah diaktifkan.

⚠️
The OpsIQ approval card gates the AI, not the key. The admin clicking Allow on a destructive action is a control over the assistant. It is not a control over whoever holds the bridge key. Those are two different threats, and the allow-list is the answer to the second one.
Tombol operator-facing, dari jembatan Botble
/* ── WRITE ALLOW-LIST — which tables the assistant may CHANGE here.
 *
 * READS are unrestricted: the assistant can see every table in the platform.
 * WRITES are limited to this list, because this file sits in a PUBLIC webroot
 * behind ONE shared key — an allow-list means that even a leaked key cannot
 * reach a table you never enabled (no new admin users, no emptied bookings).
 *
 * Comma-separated table names. Add tables as you need them — e.g. append
 * ',pages,posts' to let the assistant edit site content. Set it to '*' to
 * allow every table, deliberately. Empty falls back to the hotel defaults. ── */
const OPSIQ_WRITE_TABLES = 'ht_bookings,ht_booking_rooms,ht_booking_addresses,ht_rooms,ht_room_types,ht_customers,customers';

Dua rincian dalam pemeriksaan di bawah ini mudah untuk salah. Nama tabel tiba sudah RESOLVED, membawa awalan tabel pemasangan, sementara operator menulis daftar-izin tidak terprefiks karena itu adalah apa yang mereka akan alami jenis. Bandingkan kedua cara atau instal awalan diam-diam memungkinkan apa-apa dan setiap istirahat tulis. dan penolakan harus menjelaskan sendiri, karena orang membaca itu admin di jendela chat, bukan pengembang dengan jejak tumpukan.

Pemeriksaan daftar-izin, verbatim dari marketplace_connectors/bobble/bridge/opsiq-boble-bridge. php
/** Tables a WRITE may touch. Empty = the built-in defaults. */
$writeAllowed = static function (string $table) use ($prefix): bool {
    $raw = trim((string)(defined('OPSIQ_WRITE_TABLES') ? OPSIQ_WRITE_TABLES : ''));
    if ($raw === '') $raw = 'ht_bookings,ht_booking_rooms,ht_rooms,ht_customers,customers';
    if (trim($raw) === '*') return true;                     // explicit opt-in to everything
    $bare = ($prefix !== '' && stripos($table, $prefix) === 0) ? substr($table, strlen($prefix)) : $table;
    foreach (explode(',', $raw) as $t) {
        $t = trim($t);
        if ($t === '') continue;
        if (strcasecmp($t, $table) === 0) return true;
        if (strcasecmp($t, $bare)  === 0) return true;
        if ($prefix !== '' && strcasecmp($prefix . $t, $table) === 0) return true;
    }
    return false;
};

/** One refusal, one explanation — used by every write op. */
$requireWritable = static function (string $table) use ($writeAllowed): void {
    if ($writeAllowed($table)) return;
    opsiq_bridge_out(['success' => false, 'error' =>
        'write_not_allowed: "' . $table . '" is not in this bridge\'s write allow-list. '
        . 'Reads are unrestricted. To permit writes here, add the table to OPSIQ_WRITE_TABLES '
        . 'in opsiq-botble-bridge.php (or set it to "*" to allow every table).'], 403);
};

Gerbang, penuh

4 cek, dalam urutan ini sebelum ada yang menyentuh data.

4 gerbang, dalam urutan
<?php
declare(strict_types=1);

/* ── EDIT THIS: a long random secret (40+ chars). Empty = bridge OFF. ── */
const OPSIQ_BRIDGE_KEY = '';

header('Content-Type: application/json; charset=utf-8');
header('Cache-Control: no-store');

function opsiq_bridge_out(array $payload, int $code = 200): void
{
    http_response_code($code);
    echo json_encode($payload, JSON_UNESCAPED_SLASHES);
    exit;
}

/* 1. Fail closed. An unconfigured bridge answers nothing to anyone. */
if (OPSIQ_BRIDGE_KEY === '' || strlen(OPSIQ_BRIDGE_KEY) < 24) {
    opsiq_bridge_out(['success' => false, 'error' => 'bridge_not_configured'], 403);
}
/* 2. One method. */
if (strtoupper((string)($_SERVER['REQUEST_METHOD'] ?? '')) !== 'GET') {
    opsiq_bridge_out(['success' => false, 'error' => 'method_not_allowed'], 405);
}
/* 3. Constant-time key comparison, key from a header (never the query string). */
$given = (string)($_SERVER['HTTP_X_OPSIQ_BRIDGE_KEY'] ?? '');
if ($given === '' || !hash_equals(OPSIQ_BRIDGE_KEY, $given)) {
    opsiq_bridge_out(['success' => false, 'error' => 'forbidden'], 403);
}
/* 4. Only now read credentials and connect. */

Pengenalpasti pengesahan terhadap informasi_schema

This is the piece that turns "the assistant can reach any table" from reckless into safe. Resolve the caller's table name against the real schema, tolerate a missing or extra table prefix, and return null for anything else. Everything downstream then works with a name that provably exists.

Pengenalpastian validasi dan reaksi, verbatim dari jembatan Botble
/** Real tables in THIS database — the allow-list, straight from the DB. */
$allTables = static function () use ($pdo, $db): array {
    static $cache = null;
    if ($cache !== null) return $cache;
    $st = $pdo->prepare('SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA = ? ORDER BY TABLE_NAME');
    $st->execute([$db]);
    return $cache = array_map('strval', $st->fetchAll(PDO::FETCH_COLUMN));
};

/** Resolve a caller-supplied table name to a REAL one, or null. */
$resolveTable = static function (string $name) use ($allTables, $prefix): ?string {
    $name = trim($name);
    if ($name === '' || !preg_match('/^[A-Za-z0-9_]+$/', $name)) return null;
    $tables = $allTables();
    foreach ($tables as $t) if (strcasecmp($t, $name) === 0) return $t;
    /* Tolerate a missing or extra table prefix. */
    foreach ($tables as $t) {
        if (strcasecmp($t, $prefix . $name) === 0) return $t;
        if ($prefix !== '' && strcasecmp($prefix . $t, $name) === 0) return $t;
    }
    return null;
};

/** Column introspection: table => [column => true]. Cached per request. */
function opsiq_bridge_columns(PDO $pdo, string $db, string $table): array
{
    static $cache = [];
    if (isset($cache[$table])) return $cache[$table];
    $stmt = $pdo->prepare('SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ?');
    $stmt->execute([$db, $table]);
    $cols = [];
    foreach ($stmt->fetchAll(PDO::FETCH_COLUMN) as $c) $cols[strtolower((string)$c)] = true;
    return $cache[$table] = $cols;
}

/** Columns whose VALUES must never leave the platform. */
$secretCol = static function (string $c): bool {
    return (bool)preg_match('/(^|_)(password|remember_token|secret|api_key|private_key|salt|token)($|_)/i', $c);
};
/** Columns a write may never touch — auth material. */
$writeBanned = static function (string $c): bool {
    return (bool)preg_match('/(^|_)(password|remember_token)($|_)/i', $c);
};
/** Strip secret values from a row before it leaves the server. */
$redact = static function (array $row) use ($secretCol): array {
    foreach ($row as $k => $v) if ($secretCol((string)$k)) $row[$k] = '[redacted]';
    return $row;
};

Operasi baca dan operasi tulis, lengkap

AWAS Catatan apa yang diikat dan apa yang divalidasi. Kolom filter diperiksa terhadap daftar kolom nyata kemudian diinterpolasikan sebagai pengenal; nilainya terikat. Batasnya dijepit. Baris dicakup ulang saat keluar. Pemutakhiran menolak kunci utama dan setiap kolom auth, dan prangko diperbarui_at ketika tabel memiliki satu.

BAHAYA membaca tabel apa pun — pengenal yang tervalidasi, nilai batas, baris berkabel
case 'query': {
    $t = $resolveTable((string)($_GET['table'] ?? ''));
    if ($t === null) opsiq_bridge_out(['success' => false, 'error' => 'unknown_table'], 404);
    $cols = opsiq_bridge_columns($pdo, $db, $t);
    if (!$cols) opsiq_bridge_out(['success' => false, 'error' => 'unknown_table'], 404);

    $sql = "SELECT * FROM `$t` WHERE 1=1";
    $args = [];

    /* Equality filter: column must be REAL, value is bound. */
    $wc = strtolower(trim((string)($_GET['where_column'] ?? '')));
    if ($wc !== '') {
        if (!isset($cols[$wc])) opsiq_bridge_out(['success' => false, 'error' => 'unknown_column: ' . $wc], 400);
        $sql .= " AND `$wc` = ?";
        $args[] = (string)($_GET['where_value'] ?? '');
    }
    /* Ordering: column validated, direction from a fixed pair. */
    $ob = strtolower(trim((string)($_GET['order_by'] ?? '')));
    if ($ob !== '' && isset($cols[$ob])) {
        $dir = strtoupper(trim((string)($_GET['order'] ?? 'DESC'))) === 'ASC' ? 'ASC' : 'DESC';
        $sql .= " ORDER BY `$ob` $dir";
    } elseif (isset($cols['id'])) {
        $sql .= " ORDER BY `id` DESC";
    }
    /* Hard row cap. */
    $lim = (int)($_GET['limit'] ?? 25);
    if ($lim < 1)   $lim = 25;
    if ($lim > 200) $lim = 200;
    $off = max(0, (int)($_GET['offset'] ?? 0));
    $sql .= " LIMIT $lim OFFSET $off";

    $st = $pdo->prepare($sql);
    $st->execute($args);
    $rows = array_map($redact, $st->fetchAll());
    opsiq_bridge_out(['success' => true, 'data' => [
        'table' => $t, 'returned' => count($rows), 'rows' => $rows,
    ]]);
}
Write satu baris — tabel yang terdaftar, menolak auth kolom, baris tunggal oleh kunci utama
case 'record.update': {
    $t = $resolveTable((string)($_GET['table'] ?? ''));
    if ($t === null) opsiq_bridge_out(['success' => false, 'error' => 'unknown_table'], 404);
    $requireWritable($t);                       // the allow-list, before anything else
    $cols = opsiq_bridge_columns($pdo, $db, $t);
    $pk   = $primaryKey($t);
    $id   = (string)($_GET['id'] ?? '');
    if ($id === '') opsiq_bridge_out(['success' => false, 'error' => 'id_required'], 400);

    $set = json_decode((string)($_GET['set'] ?? ''), true);
    if (!is_array($set) || !$set) opsiq_bridge_out(['success' => false, 'error' => 'set_json_required'], 400);

    $frag = []; $args = [];
    foreach ($set as $col => $val) {
        $col = strtolower(trim((string)$col));
        if (!isset($cols[$col]))  opsiq_bridge_out(['success' => false, 'error' => 'unknown_column: ' . $col], 400);
        if ($writeBanned($col))   opsiq_bridge_out(['success' => false, 'error' => 'refused: "' . $col . '" is auth material - change it through the platform own password flow, never by direct write.'], 400);
        if ($col === $pk)         opsiq_bridge_out(['success' => false, 'error' => 'refused: the primary key cannot be rewritten.'], 400);
        if (is_array($val) || is_object($val)) $val = json_encode($val, JSON_UNESCAPED_SLASHES);
        $frag[] = "`$col` = ?";
        $args[] = ($val === null) ? null : (string)$val;
    }
    if (isset($cols['updated_at']) && !isset($set['updated_at'])) $frag[] = '`updated_at` = NOW()';

    $before = $pdo->prepare("SELECT * FROM `$t` WHERE `$pk` = ? LIMIT 1");
    $before->execute([$id]);
    $prev = $before->fetch();
    if (!$prev) opsiq_bridge_out(['success' => false, 'error' => 'not_found'], 404);

    $args[] = $id;
    $up = $pdo->prepare("UPDATE `$t` SET " . implode(', ', $frag) . " WHERE `$pk` = ? LIMIT 1");
    $up->execute($args);
    opsiq_bridge_out(['success' => true, 'data' => [
        'table' => $t, 'id' => $id, 'changed' => $up->rowCount(),
        'before' => $redact(array_intersect_key($prev, $set)),
    ]]);
}

Perbedaan skema bertahan hidup

Versi Platform gnoza berbeda. Kolom bergerak, berganti nama, atau absen. Sebuah jembatan yang mengasumsikan satu skema bekerja pada satu pasang. Introspeksi dan menyesuaikan sebagai gantinya: hanya pilih kolom-kolom yang ada di sini, mentolerir awalan tabel, dan mencoba ejaan yang masuk akal dari sebuah rujukan.

Toleransi skema, dari jembatan Botble
/* Only ever select columns that exist on THIS install. */
$pick = static function (array $cols, array $wanted, string $alias = 'b'): string {
    $out = [];
    foreach ($wanted as $c) if (isset($cols[$c])) $out[] = "`$alias`.`$c`";
    return $out ? implode(', ', $out) : "`$alias`.*";
};

/* References vary: stored with or without a leading "#", with or without an
 * operator-configured alpha prefix, or only as a numeric id. Try every
 * plausible form — the PROOF match is what actually gates disclosure, so
 * tolerant matching here is safe. */
$refCandidates = [$ref, '#' . $ref];
$digitsOnly = preg_replace('/\D+/', '', $ref);
if ($digitsOnly !== '' && $digitsOnly !== $ref) {
    $refCandidates[] = $digitsOnly;
    $refCandidates[] = '#' . $digitsOnly;
}
$refCandidates = array_values(array_unique($refCandidates));
💡
Give your bridge an op=diag that reports STRUCTURE only — which tables resolved, which columns the main table has, and the SHAPE of the newest reference with every digit masked. It is key-gated like everything else, and it turns "the lookup does not find anything" from a support ticket into a ten-second answer. Never let it return real records.

Kesalahan seragam dan jebakan enumerasi

Satu bentuk untuk segalanya

Success is {"success":true,"data":{...}}. Failure is {"success":false,"error":"snake_case_reason"}. Your Client.php and every action then have exactly one response shape to handle.

Tidak ditemukan dan tidak ada-match harus identik

AAZO pada permukaan pencarian, referensi yang tidak ada dan referensi yang buktinya tidak cocok harus menghasilkan respon SAME. Jawaban berbeda mengubah jembatan Anda menjadi sebuah oracle yang mengkonfirmasi referensi mana yang nyata, yaitu ekspor daftar pelanggan bebas untuk pasien.

Tak pernah membocorkan alasan untuk pengunjung

Jembatan ini dapat tepat dengan OpsIQ_. Apa yang sampai ke pengunjung diputuskan oleh OpsIQ, dalam satu penolakan tetap.

Berkas yang dapat disalin di panel konektor

Operator tidak pernah membuka repositori Anda. Mereka membuka panel konektor dalamOpsIQSalinan itu berasal dari pengaturan.json, dan itu harus menjadi program yang sama dengan jembatan/*.php.

setting.json- panel untuk penghubung jembatan
{
  "settings": [
    { "key": "base_url", "label": "API base URL", "type": "text", "required": true },
    { "key": "api_key",  "label": "Bridge key",   "type": "password", "required": true,
      "autogenerate": true,
      "help": "Auto-generated the moment you enable the connector. It must match OPSIQ_BRIDGE_KEY inside the bridge file; the copyable file below already carries this value once saved." }
  ],
  "webhook_help": {
    "title": "One file, three surfaces",
    "body": "This platform has no public REST API, so this ONE file IS the API. Copy it into the site PUBLIC webroot, keeping the filename.",
    "snippet_filename": "opsiq-yourplatform-bridge.php   (drop next to the site index.php)",
    "snippet_template": "<?php\n/* ... the whole bridge file ... */\nconst OPSIQ_BRIDGE_KEY = \u0027{{setting:api_key}}\u0027;\n..."
  }
}
{{setting:key}} carries live values

The connector panel substitutes {{setting:<key>}} in the snippet with that connector's saved value, so the copied file already contains the operator's generated bridge key and needs no hand-edit. An empty or unsaved setting leaves the token visible, so the operator can see exactly what is still missing.

Pemegang tempat lain adalah disubstitusi server-side

Hanya itu saja,{webhook_url}, {webhook_path}, {webhook_secret}, {site_key}, {base_url}Dan{slug}AYAT diisi sebelum panel pernah melihat snippet.

¡webhook_help mungkin adalah satu objek atau daftar

Daftar A memberikan beberapa snippet dalam satu panel, misalnya file bridge dan hook relay terpisah.

🚫
Jangan pertahankan snippet dengan tangan. Berkas jembatan dan salinan panel adalah dua salinan dari satu program, dan mereka AKAN hanyut — sebuah jembatan ditingkatkan dan salinannya tidak ada panelnya, jadi siapa pun yang memasang ulang dan menyalin dari panel yang dipasangi jembatan lama dan secara diam-diam kehilangan setiap kapabilitas baru. Tidak ada yang mendeteksinya: konformance pased, tanda tangan lulus, tes lulus.
Tetap membuat dua salinan identik
# Regenerate every package's panel snippet from its bridge file
php tools/sync_connector_bridge_snippets.php --apply

# Show what would change, without writing
php tools/sync_connector_bridge_snippets.php

Drift is now a failing conformance check, not a support ticket: the verifier compares the two line by line (ignoring the {{setting:...}} placeholders, which are supposed to differ) and names the first line that differs. Run the sync tool as the last step before every release, right before signing.

Apa yang harus diekspos oleh jembatan

Operasi yang dibentuk dan permukaan data universal, bersama-sama. yang berbentuk kembali rapi, tujuan dibangun jawaban untuk pertanyaan orang benar-benar bertanya; universal yang meliputi segala sesuatu yang lain sehingga asisten tidak pernah terjebak.

Bentuk baca

Ini memberikan AI jawaban yang baik dalam satu panggilan bukan lima.

Tulisan berbentuk

Dua atau tiga perubahan negara bagian yang penting — status, batal. Simpan nilai yang diterima yang diijinkan.

Penemuan Universal

tabel (dengan jumlah baris) dan gambarkan (kolumn, jenis, kunci primer, ditambah bendera yang dapat dibaca dan dapat ditulis per kolom). Ini adalah bagaimana asisten mempelajari platform yang tidak Anda antisipasi.

Baca dan tulis Universal

lema, record. get, records. create, record, update, record-delete. setiap dari mereka divalidasi seperti yang ditunjukkan di atas.

Identitas, sebelum gerbang kunci

Kuar identitasnya disebut oleh BROWSER ADMIN, sama-origin, jadi mereka tidak dapat mengirim header custom. autentikasi mereka adalah sesi platform itu sendiri. Taruh mereka di depan gerbang kunci, jauhkan mereka dari semua data rekaman, dan jangan biarkan mereka kembali rahasia. lihat halaman identitas konektor.

Diagnostik Diagnosis

op=diag, structure only, masked.

💡
Jika platform Anda hanya pernah menjawab pertanyaan, kapal jembatan tanpa ops tulis dan seluruh kelas risiko menulis menghilang. tambah tulis ketika seseorang meminta mereka.

Daftar cek sebelum Anda kapal jembatan

Jembatan itu menolak segalanya tanpa kunci

Uji. Ubah nama konstanta untuk kosong dan konfirmasi setiap op jawaban 403_.

Kunci yang salah ditolak dalam waktu konstan

¡Afine hash_equals, dan kunci dibaca dari header saja.

Nama meja yang dibuat-buat ditolak

Dan nama tabel yang asli dengan awalan yang salah masih menyelesaikan.

Kolom sandi tidak pernah muncul dalam sebuah bacaan

Dan sebuah tulisan yang menyebutkan nama satu ditolak dengan penjelasan.

Sebuah surat ke meja di luar daftar-izin ditolak

Dengan pesan yang memberitahu operator bagaimana memperluasnya.

snippet panel ini cocok dengan berkas jembatan

php alat/sync_connector_bridge_snippets. php melaporkannya dalam langkah.

Bebalut memasang kembali konektor tidak cukup

Jika paket Anda mengirimkan file bridge, operator meningkatkan konektor harus ALSO redeploy file yang ke webroot mereka.

Penyambung

Jembatan dalam bahasa lain dan basis data lainnya

Pola jembatan ini bukan pola PHP.OpsIQPanggilan yang dipanggil oleh phanford adalah titik akhir HTTP, sehingga filenya bisa berupa Node, Python, Go, Ruby, .NET atau Java, dan toko di belakangnya dapat menjadi apapunSQLMesin atau mesinMongoDBApa yang berbentuk IS PHP adalah saluran pipa kemasan, dan kendala itu memutuskan bagaimana jembatan Anda mencapai operator. baca bagian pengiriman pertama: itu adalah bagian yang mengejutkan orang-orang.

Apa sebenarnya yang dibutuhkan konektor

Ini adalah kontraknya, tak ada yang menyebut bahasa.

Transportasi

Satu permintaan untuk panggilan.

Otentikasi Autentikasi XEX

Ada rahasia yang dikongsi dalam X-Opsiq-Bridge-Key header permintaan, dibandingkan dalam waktu konstan. bukan parameter pertanyaan, bukan cookie, bukan Auth Dasar.

Parameter fecth

Kalimat pertanyaan. op Nama-nama permukaan, do Nama operasi, sisanya adalah argumen operasi.

Sambutan

JSON. {"success":true,"data":{...}} OR atau ORANG {"success":false,"error":"snake_case_reason"}Aplikasi . Content-Type/jsonDan tak ada caching.

Kode status kode status code

200 on success. 403 unconfigured or wrong key, 404 not found, 405 wrong method, 400 bad argument, 501 unsupported on this schema.

Itu saja

No framework, no runtime, no OpsIQ library on your side. If it can serve that, it can be a bridge.

Pengiriman: apa yang mungkin hidup di jembatan/, dan apa yang tidak harus

Paket yang telah ditandatangani itu mencakup daftar tetap ekstensi file, dan berkas di luar daftar tersebut ditinggalkan dari ZIP. Sebuah jembatan dalam bahasa daftar tidak dapat menutup karena itu tidak dapat kapal di dalam paket — tetapi juga tidak dapat menghilang lagi pada Anda. Karena itu, saya tidak bisa menggunakan sistem ini untuk menutupinya.26Ogos2026Sebuah file di bridge/ Diafford bahwa paket akan drop adalah kegagalan konformance yang sulit, sehingga paket menolak untuk lulus daripada memasang tanpa jembatan di dalamnya.

Bagaimana sebuah bridge/ folder diperlakukan pada waktu membangun
bridge/bridge.php     ->  SHIPPED, and drift-checked against the panel snippet
bridge/server.js      ->  SHIPPED, and drift-checked against the panel snippet
bridge/bridge.py      ->  REFUSED at conformance: "Bridge files are packaged" FAILS
bridge/bridge.rb      ->  REFUSED at conformance
bridge/main.go        ->  REFUSED at conformance
bridge/Bridge.cs      ->  REFUSED at conformance
bridge/Bridge.java    ->  REFUSED at conformance
PHP dan JavaScript — didukung sepenuhnya

Kapal file di ZIP yang ditandatangani, dan pengverifikasi snippet menyimpan panel Anda salinan byte-identical untuk itu, mana saja dari dua itu. cek drift membaca setiap berkas di bridge/, bukan hanya yang PHP, sehingga jembatan yang ditingkatkan dengan salinan panel basi gagal membangun dalam kedua bahasa.

Kelainan — antarkan melalui panel saja

Panel snippet adalah teks biasa tanpa tahu bahasa apa yang dipegangnya, sehingga bekerja untuk tumpukan apapun. Letakkan seluruh program dalam webhook_help. snippet_template, nama file dalam snippet_filename, dan JANGAN tinggalkan salinan di bridge/ — konformance akan menolak paket daripada kapal itu berongga. Katakanlah secara polos dalam webhook_help . body bahwa operator menyalin berkas ini daripada mendapatkannya dari paket.

Jika Anda benar-benar membutuhkan bahasa lain dalam paket

Widen PackageSigner::EXTENSIONS deliberately, then re-sign and re-seed. That is a decision about what executable code Nabtech distributes, so make it on purpose — do not discover it from a missing file.

💡
Nama file di webhook_help.snippet_filename Itu adalah bagaimana sang penerang tahu mana jembatan yang dimiliki oleh salinan panel; tanpa itu, pasangan ambigu dilaporkan sebagai peringatan kesesuaian dan bahwa snippet dibiarkan tidak diperiksa.
⚠️
Titik dari drift check adalah bahwa file jembatan dan panel copynya dua salinan dari satu program dan WILL diverge. regenerasi daripada hand-edit: php tools/sync_connector_bridge_snippets.php --applyLalu tandai ulang paketnya.

Gerbang, dalam enam bahasa

4 cek sama di urutan yang sama di mana-mana: gagal ditutup tanpa kunci, satu metode, perbandingan kunci waktu konstan dari header, kemudian sambung. Satu-satunya perangkap nyata adalah perbandingan, dan itu adalah jebakan berbeda dalam setiap bahasa.

⚠️
Bandingkan dengan SHA-256Ini benar dalam setiap bahasa, dan itu mengabaikan fakta bahwa beberapa comparator konstan-waktu baik melempar atau kebocoran pada panjang tidak cocok — Node's timingSafeEqual menaikkan RangeError ketika buffer berbeda panjang, yang mengubah kunci salah menjadi500Bukannya seorang403.
Node. js — gerbang
// Node.js — no dependencies
const http = require("http"), crypto = require("crypto"), url = require("url");

const BRIDGE_KEY = process.env.OPSIQ_BRIDGE_KEY || "";   // empty = bridge OFF

const sameKey = (a, b) => {
  const ha = crypto.createHash("sha256").update(String(a)).digest();
  const hb = crypto.createHash("sha256").update(String(b)).digest();
  return crypto.timingSafeEqual(ha, hb);                 // equal lengths, always
};
const out = (res, payload, code = 200) => {
  res.writeHead(code, { "Content-Type": "application/json; charset=utf-8",
                        "Cache-Control": "no-store" });
  res.end(JSON.stringify(payload));
};

http.createServer(async (req, res) => {
  if (BRIDGE_KEY.length < 24)         return out(res, { success: false, error: "bridge_not_configured" }, 403);
  if (req.method !== "GET")           return out(res, { success: false, error: "method_not_allowed" }, 405);
  const given = req.headers["x-opsiq-bridge-key"] || "";
  if (!given || !sameKey(BRIDGE_KEY, given))
                                      return out(res, { success: false, error: "forbidden" }, 403);

  const q = url.parse(req.url, true).query;
  // ... dispatch on q.op / q.do exactly as the PHP bridge does
}).listen(process.env.PORT || 8787);
Python — gerbang
# Python — Flask
import hashlib, hmac, os
from flask import Flask, request, jsonify

app = Flask(__name__)
BRIDGE_KEY = os.environ.get("OPSIQ_BRIDGE_KEY", "")      # empty = bridge OFF

def same_key(a: str, b: str) -> bool:
    return hmac.compare_digest(
        hashlib.sha256(a.encode()).digest(),
        hashlib.sha256(b.encode()).digest(),
    )

def out(payload, code=200):
    resp = jsonify(payload)
    resp.status_code = code
    resp.headers["Cache-Control"] = "no-store"
    return resp

@app.before_request
def gate():
    if len(BRIDGE_KEY) < 24:
        return out({"success": False, "error": "bridge_not_configured"}, 403)
    if request.method != "GET":
        return out({"success": False, "error": "method_not_allowed"}, 405)
    given = request.headers.get("X-Opsiq-Bridge-Key", "")
    if not given or not same_key(BRIDGE_KEY, given):
        return out({"success": False, "error": "forbidden"}, 403)
Pergi, Ruby, . NET dan Java — perbandingan yang sama
// Go
func sameKey(a, b string) bool {
    ha := sha256.Sum256([]byte(a))
    hb := sha256.Sum256([]byte(b))
    return subtle.ConstantTimeCompare(ha[:], hb[:]) == 1
}

func gate(next http.HandlerFunc) http.HandlerFunc {
    return func(w http.ResponseWriter, r *http.Request) {
        w.Header().Set("Content-Type", "application/json; charset=utf-8")
        w.Header().Set("Cache-Control", "no-store")
        key := os.Getenv("OPSIQ_BRIDGE_KEY")
        if len(key) < 24 { out(w, 403, "bridge_not_configured"); return }
        if r.Method != http.MethodGet { out(w, 405, "method_not_allowed"); return }
        given := r.Header.Get("X-Opsiq-Bridge-Key")
        if given == "" || !sameKey(key, given) { out(w, 403, "forbidden"); return }
        next(w, r)
    }
}

// Ruby
def same_key?(a, b)
  OpenSSL.secure_compare(Digest::SHA256.digest(a.to_s), Digest::SHA256.digest(b.to_s))
end

// C# / .NET
static bool SameKey(string a, string b) =>
    CryptographicOperations.FixedTimeEquals(
        SHA256.HashData(Encoding.UTF8.GetBytes(a)),
        SHA256.HashData(Encoding.UTF8.GetBytes(b)));

// Java
static boolean sameKey(String a, String b) throws Exception {
    MessageDigest d = MessageDigest.getInstance("SHA-256");
    return MessageDigest.isEqual(d.digest(a.getBytes(UTF_8)), d.digest(b.getBytes(UTF_8)));
}

Pengenalpasti pengesahan pada setiap mesin basis data

Properti keselamatan tidak berubah: tabel atau nama kolom yang diberikan oleh pemanggil harus diperiksa terhadap skema sebenarnya sebelum diinterpolasi, dan setiap nilai harus menjadi parameter terikat. Hanya pertanyaan introspeksi, karakter petik dan klausa paging berbeda.

MySQLDanMariaDB

Tabel: SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA = ?Kolom: sama terhadap information_schema.COLUMNS DENGAN BAHASA AND TABLE_NAME = ?Keluar dengan backticks, doubling setiap backtick di dalamnya. LIMIT n OFFSET m.

PostgreSQL

Pandangan informasi_schema yang sama dari kata-kata kecil, WHERE table_schema = $1 [biasanya] publicKutipan dengan kutipan ganda, menggandakan kutipan ganda di dalamnya. LIMIT n OFFSET mPerhatikan aturan lipatan: pengenal tak terkutip dilipat ke huruf kecil, jadi bandingkan kasus-tidak sensitif ketika Anda menyelesaikan sebuah nama.

SQLServer

Gambaran INFORMASI_SCHEMA yang sama. ORDER BY [id] DESC OFFSET @o ROWS FETCH NEXT @n ROWS ONLY.

SQLite

Tabel: SELECT name FROM sqlite_master WHERE type = 'table' AND name NOT LIKE 'sqlite_%'Kolom: SELECT name FROM pragma_table_info(?) - Gunakan bentuk yang dinilai meja, karena telanjang PRAGMA table_info(x) Pernyataan enosial tidak dapat mengambil parameter terikat dan mengundang interpolasi string ada persis lubang yang coba Anda tutup. Kutipan dengan kutipan ganda. Halaman dengan LIMIT n OFFSET m.

Oracle

Tabel: SELECT TABLE_NAME FROM ALL_TABLES WHERE OWNER = :ownerDari kolom ALL_TAB_COLUMNSKutipan dengan kutipan ganda, dan ingat lipatan pengenal tak terkutip ke kasus UPPER, kebalikan dari PostgreSQL_. Page with OFFSET :o ROWS FETCH NEXT :n ROWS ONLY Pada 12c dan kemudian.

MongoDB

Tak ada SQL_, jadi tak ada interpolasi pengenal dan parameter terikat — disiplin yang berbeda untuk tujuan yang sama.

Pertanyaan introspeksi untuk setiap mesin
-- MySQL / MariaDB
SELECT TABLE_NAME  FROM information_schema.TABLES  WHERE TABLE_SCHEMA = ?;
SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ?;

-- PostgreSQL
SELECT table_name  FROM information_schema.tables  WHERE table_schema = $1;
SELECT column_name FROM information_schema.columns WHERE table_schema = $1 AND table_name = $2;

-- SQL Server
SELECT TABLE_NAME  FROM INFORMATION_SCHEMA.TABLES  WHERE TABLE_SCHEMA = @schema;
SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = @schema AND TABLE_NAME = @table;

-- SQLite
SELECT name FROM sqlite_master WHERE type = 'table' AND name NOT LIKE 'sqlite_%';
SELECT name FROM pragma_table_info(?);

-- Oracle
SELECT TABLE_NAME  FROM ALL_TABLES      WHERE OWNER = :owner;
SELECT COLUMN_NAME FROM ALL_TAB_COLUMNS WHERE OWNER = :owner AND TABLE_NAME = :tbl;
💡
Resolve, then use the RESOLVED name. Never pass the caller's spelling through to the query even after checking it — look the real name up in the list you read from the schema and interpolate that. It costs nothing and it closes the gap between "this name matched something" and "this is the name I am about to run".

MongoDBAturan yang sama, tanpaSQL

Tidak ada kalimat pertanyaan untuk disuntikkan, jadi orang menganggap tidak ada yang perlu dijaga. Ada: dokumen filter. Melewatkan pemanggilan-supliedJSONFigur lurus ke dalam find() bulgon membiarkan penelepon mengirim {"$ne": null} OR atau ORANG {"$gt": ""} Di mana kau mengharapkan nilai, dan secara diam-diam memilih setiap dokumen.

MongoDB — collection allow-list, scalar-forced filter, projection as redaction
// Node + the official driver
const names = (await db.listCollections({}, { nameOnly: true }).toArray()).map(c => c.name);

function resolveCollection(given) {
  if (!/^[A-Za-z0-9_.-]+$/.test(given || "")) return null;
  return names.find(n => n.toLowerCase() === String(given).toLowerCase()) || null;
}

const coll = resolveCollection(q.collection);
if (!coll) return out(res, { success: false, error: "unknown_collection" }, 404);

// Build the filter from a validated field and a SCALAR value. Never spread
// caller JSON into it: {"$ne":null} would match every document.
const filter = {};
if (q.where_field) {
  if (!/^[A-Za-z0-9_.]+$/.test(q.where_field))
    return out(res, { success: false, error: "unknown_field: " + q.where_field }, 400);
  filter[q.where_field] = String(q.where_value ?? "");   // String() is the guard
}

// Projection is the redaction allow-list: drop secrets, never return them.
const projection = { password: 0, remember_token: 0, api_key: 0, secret: 0, token: 0 };

const limit = Math.min(Math.max(parseInt(q.limit ?? "25", 10) || 25, 1), 200);
const rows  = await db.collection(coll)
                      .find(filter, { projection })
                      .limit(limit)
                      .skip(Math.max(0, parseInt(q.offset ?? "0", 10) || 0))
                      .toArray();
Nama koleksi dari daftarCollections

Itu informasi_schemamu.

Kumpulkan setiap nilai filter ke skalar

UDANG A String() atau Number() di sekitarnya adalah keseluruhan pertahanan terhadap suntikan operator. Sebuah dokumen dimana Anda mengharapkan nilai adalah NoSQL setara dengan kutipan menyimpang.

Proyeksi adalah aturan reksaan

Dikecualikan dari bidang yang berbentuk rahasia dalam proyeksi sehingga mereka tidak pernah meninggalkan server, daripada menghapusnya dari hasil setelahnya.

Hapus menjauhkan diri dari dokumen tunggal oleh _id

HapusOne dengan _id yang diselesaikan. Jangan hapusMany, dan jangan pernah filter yang dipengaruhi oleh penelepon.

Writes tinggal diperbolehkan-didaftar

Penalaran yang sama dengan SQL_: namakan koleksi sebuah tulisan mungkin menyentuh, dan menolak sisanya dengan penjelasan.

Titik akhir identitas dalam bahasa lain

Kuar identitas adalah setengah lainnya dari jembatan, dan itu HTTP juga. Blok penandatangan identik dalam setiap bahasa: base64url muatan, HMAC_-SHA256 string tersebut, bergabung dengan sebuah titik.

Jangan tulis ini dari awal.WordPress, WHMCS, Node dengan dan tanpa ketergantungan, Flask dan FastAPI, Django, .NET, Ruby pada Rails, Java Spring Boot dan Go. Ambil penanda dari flavour yang cocok dengan tumpukan Anda.
Apa yang akan berubah ketika kau menggunakannya kembali

Mereka snippet mint sebuah token handoff PORTAL, yang sengaja ketat: ia membawa jti dan single_use:true and life about120detik karena perjalanan dalamURLSebuah tanda identitas jembatan atau widget tidak membawa keduanya dan menggunakan eksp yang lebih panjang, menit hingga jam.

Apa yang tetap sama

situs_key, iat, exp dan sebuah tingkat atas yang diotentikasi:true, plus sebuah admin atau pelanggan subjek dengan id dan nama pengguna atau email. Klaim yang sama, tanda tangan yang sama , rahasia yang sama.

Kedua-duanya bentuk token memverifikasi

A three-part JWT signed HS256 works, and so does the two-part base64url payload plus hex HMAC that the PHP reference emits. Use whichever your language's libraries make natural — a JWT library is usually the shorter path outside PHP.

Jangan pernah mint di browser

Tanda tangan di sisi klien berarti mengirimkan rahasia situs ke setiap pengunjung.

Memilih, jujur

Platformnya PHP

Dia akan menulis jembatan di PHP. kapal dalam paket, itu drift-checked, dan dapat boot kerangka kerja platform sendiri untuk membaca sesi hidup untuk probe identitas. tidak ada yang lain memberikan Anda ketiganya.

Platform ini Node

Kapal jembatan . js, tanda dan drift diperiksa persis seperti PHP satu.

Platformnya adalah Python, Ruby, Go, NET atau Java

Kerahkan dia melalui panel snippet dan katakan demikian dalam tubuh panel; jangan tinggalkan berkas di bridge/, dimana konformance akan menolak paket. Konektor sebaliknya sepenuhnya normal: tindakan, penyedia konteks, identitas dan pencarian tamu semua bekerja sama, karena tidak ada satupun dari mereka peduli apa yang menjawab panggilan HTTP.

Anda tidak dapat menjalankan proses pada host platform

Kemudian pola jembatan bukanlah alat yang tepat. sebuah jembatan ada untuk mencapai platform dari dalam host sendiri. jika anda hanya dapat menjangkaunya dari luar, anda sedang menulis API konektor biasa terhadap permukaan apapun yang ia lakukan.

⚠️
Satu lagi batasan yang layak direncanakan: sebuah probe identitas harus membaca sesi log masuk platform, yang biasanya berarti berjalan di dalam proses platform sendiri atau setidaknya pada hostnya dengan akses ke toko sesinya. Sebuah jembatan yang ditulis dalam bahasa berbeda dari platform dapat melayani data dengan nyaman dan mungkin masih berjuang untuk menjawab op=admin_identity. Jika itu adalah kasus Anda, kapal jembatan data dalam bahasa Anda dan prob identitas dalam platform.
Penyambung

Berikan asisten kedua bagian: tindakan DAN konteks

This is the single most common thing missing from a connector that "works but is useless". Actions let the AI DO things. Context sections let it KNOW things. A connector needs both, and most questions an admin asks are answered by context, never by an action. A connector with perfect actions and no context provider will truthfully report that it cannot see anything.

Dua bagian

Tindakan - tindakan yang dilakukan oleh AI

Diputuskan dalam tindakan.jsonorg atau dikembalikan oleh registerActions(). Model memilih satu, mengisi parameternya, danOpsIQTindakan untuk kata kerja: batalkan pemesanan ini, buka tiket itu, ubah status ini.

Bagian - bagian konteks Konteks bahasa Yunani — bagaimana AI mengetahui hal - hal

Assembled by a ContextProvider before the model runs. "How many orders this month", "who are my newest customers", "what do we sell" all resolve through a context lookup, and never touch an action at all.

⚠️
Symptom of a missing provider: the assistant answers "No enabled connector supplied this context section" while the connector is installed, enabled and passing its connection test. Nothing is logged, nothing errors. That message means no provider claimed the section.

kosakata daerah universal

OpsIQTugas Anda adalah memutuskan apa yang masing-masing berarti di platform Anda dan menjawabnya.

Gagal menorder / cont_ing_orders

Apa pun transaksi yang ada di platform Anda: perintah, pemesanan, pemesanan , pekerjaan, pengiriman. lading_orders adalah daftar yang sama disaring ke yang belum selesai.

Klien

- Pelanggan daftar tamu.

products

Apa yang dijual oleh platform: produk, kamar, rencana, jasa.

PILANG

Jumlah uang dan uang, ditambah dihitung berdasarkan negara.

Tiket, layanan, domain, server, aktivitas

Gunakanlah ini jika platform Anda benar - benar memiliki mereka.

Apa pun yang lain platform Anda telah

¡Oady Declare your sendiri. Sebuah penyedia yang menyatakan bagian(): ['licenses','shipments'] telah mereka yang digabung ke dalam daftar-izin pencarian universal, sehingga tampilan spesifik platform menjadi tersedia tanpa perubahan inti.

Kesalahan yang biaya sehari

Sebuah penyedia konteks MUST mengimplementasikan antarmuka. Tipe registry memeriksanya, jadi kelas yang hanya melihat ke kanan dilewatkan — tanpa kesalahan, dimanapun.

KonteksProvider. php — kontrak, dari paket referensi Botble
use OpsIQ\Platform\ContextProviderInterface;

/* MUST implement ContextProviderInterface: ContextRegistry::collectAll()
 * type-checks it, so a provider that merely LOOKS right is skipped and every
 * section answers "No enabled connector supplied this context section" — the
 * exact symptom, with no error anywhere. */
final class ContextProvider implements ContextProviderInterface
{
    public function slug(): string  { return 'yourplatform_context'; }
    public function label(): string { return 'Your Platform (orders, customers, products)'; }
    public function priority(): int { return 30; }   // lower renders earlier

    /** ADMIN only. The guest surface has its own provider and its own rules. */
    public function surfaces(): array { return ['admin']; }

    /** The universal section names this connector can answer. */
    public function sections(): array
    {
        return ['orders', 'pending_orders', 'clients', 'products', 'billing'];
    }

    public function isAvailable(): bool
    {
        try {
            $s = \OpsIQ\Connectors\ConnectorRegistry::getSettings('yourplatform') ?: [];
            return trim((string)($s['base_url'] ?? '')) !== '' && trim((string)($s['api_key'] ?? '')) !== '';
        } catch (\Throwable $e) {
            return false;
        }
    }

    public function build(array $ctx): string
    {
        $section = strtolower(trim((string)($ctx['section'] ?? '')));
        $limit   = max(3, min(50, (int)($ctx['limit'] ?? 20)));
        $query   = trim((string)($ctx['query'] ?? ''));
        try {
            switch ($section) {
                case 'orders':
                case 'pending_orders': return $this->orders($limit, $query, $section === 'pending_orders');
                case 'clients':        return $this->customers($limit, $query);
                case 'products':       return $this->products($limit);
                case 'billing':        return $this->billing();
            }
        } catch (\Throwable $e) {
            return '';   // a provider must NEVER break prompt assembly
        }
        return '';
    }
}
Daftarkan dari konektor

Implementasi ConnectorInterface dan kembalikan provider anda dari contextProviders(). Kelas konektor mungkin juga menerapkan ContextProviderInterface secara langsung dan didaftarkan sebagai dirinya sendiri.

Aundy Kembali teks biasa, bukan JSON_

build () mengembalikan blok teks yang dikonkatenkan ke dalam prompt. Tuliskannya untuk pembaca: sebuah heading, kemudian satu baris per baris.

Kembali '' daripada melempar

Sebuah penyedia yang melempar di log dan dilewatkan, tapi mengembalikan '' adalah kontraknya.

Ukrainian Pembina tidak dapat menulis section() untuk anda

¡The result ContextProvider. php ships section(): array { return []; } dan wizard tidak memiliki lapangan untuk itu. isi dengan tangan — dan ingat bahwa publishing dari wizards OVERWRITS file. Salin suntingan Anda terlebih dahulu.

⚠️
State the true TOTAL, not the number of rows you sent. A page is not a total. A provider that lists twenty rows without saying so gets the assistant confidently answering "you have 20 bookings" when the platform holds 669. One cheap COUNT and one explicit line — "TOTAL on file: 669 (this list shows the newest 20 only)" — is the whole fix, and a confidently wrong count is worse than no count.
Sebuah blok bagian yang tidak dapat disalah hitung
$lines = ['YOUR PLATFORM — ORDERS (live, newest first)'];
$lines[] = 'TOTAL orders on file: ' . (int)$total
         . ' (this list shows the newest ' . count($rows) . ' only — never count these rows to answer "how many")'
         . ' | by status: ' . $byStatus;
foreach ($rows as $r) {
    $lines[] = '#' . (int)$r['id'] . ' ' . $r['reference'] . ' | ' . $r['status']
             . ' | amount ' . $r['amount'] . ' | ' . substr((string)$r['created_at'], 0, 16);
}
$lines[] = 'Use yourplatform_get_order (order_id) for the full record.';
return implode("\n", $lines);

Name your actions so OpsIQ can tell reads from writes

OpsIQ classifies an action by the WORDS in its action_id, and it is deliberately conservative: anything it cannot recognise is treated as a write and demands an approval card. Get the verb right and a read just runs.

1
Keke_malasan adalah destruktif atau kemenangan konfirmasi_perlu

Jika keduanya sudah diatur, tindakannya selalu perlu persetujuan.

2
Sebuah kata tulis di mana saja dalam id membuatnya menulis

tambah, buat, buatlah, buka, kemaskini, sunting, ubah, ubahkan, hapus, hapuskan, batalkan, batalkan dana, tangguh, akhiri, aktifkan, setujui, tolak, tolakkan, kirim, tekan, ulang, tangkap, tutup, tutup kembali, buka kembali, pasang, batalkan., batalkan hibah, set, togel, aktif, matikan, keluarkan, hasilkan, laksanakan, laksanakan biaya, bayar, penyediaan, penetapan, pembaharuan, penggabungan, pemindahan, pemindahan.

3
Kemudian kata baca membuatnya dibaca

get, list, pencarian, tampilan, tampilan dan tampilan, pengambilan, penghitungan, pencarian count, deskripsi, baca, ekspor, pratilik, uji, ping, status, ringkasan, detail, terbaru, sejarah, pemeriksaan, pencatatan, statistik, metrik, overview, pendapatan, breakdown, laporan, analitik, keseimbangan, penggunaan, kuota, snapshot, wawasan, feed, draft, triage, classify, saran.

4
Maka metode HTTP memutuskan

GETET, HEAD dan PILIHAN dibaca.

5
Jika tidak, itu adalah sebuah tulisan

Tidak dikenali, itu berarti persetujuan diperlukan.

⚠️
Kata tulis lema dicentang BEFORE dibaca kata-kata, sehingga nama campuran seperti get_and_sync_orders diklasifikasikan sebagai WRITE. Pilih satu kata kerja, letakkan pertama, dan tetap bersih: list_order, get_customer, search_booking, cancel_booked, set_order_status.

Hanya menyatakan asli_api jika platform benar-benar memiliki satu

The native_api capability registers a generic <slug>_api_call passthrough so the model can reach endpoints your typed actions do not cover. On a platform with no API it is worse than useless: the model keeps reaching for a tool that cannot succeed, instead of using the tools that can.

Pembangun memutuskannya dari jawaban akses datamu.

Say the platform has an API and it declares native_api and emits the passthrough. Say it has none (bridge mode, or the "Platform with no API" profile) and it declares platform_bridge instead and strips native_api, so the two can never both be true. You no longer hand-edit this.

Paket-paket yang berwenang harus tetap benar

Jika Anda menulis manifes sendiri, menyatakan persis salah satu asli_api atau platform_bridge. Konformance memperlakukan platform_jembatan sebagai pintu keluar penghubung jembatan diharapkan memiliki, dan Builder menolak spesifikasi yang mengklaim platform_jambatan pada sebuah konektor API _.

¡Keep ai_api_reference. md jujur baik cara

On a connector that declares native_api the admin brain heads that file with a line naming <slug>_api_call. Without native_api it is headed neutrally instead, so a bridge connector no longer advertises a tool it does not have. Describe your real surface — for a bridge, that is your op and do vocabulary, not a REST endpoint table.

Ajarlah otak admin tentang platformmu.

Declare ai_brain_aware and ship two Markdown files. They are read from the INSTALLED package directory (opsiq/connectors/<slug>/) for ENABLED connectors only, and injected into the admin agent's system prompt.

Ma_ksimum_atrikale_admin. md

Apa ini platform IS, bagaimana data dibentuk, apa yang objeknya disebut, dan quirks yang sebaliknya akan membuat asisten menebak. tulis untuk rekan kompeten yang belum pernah melihat platform.

Ke_utamaan ai_apis. md

Untuk penghubung jembatan ini adalah opmu dan lakukan kosakata dengan parameter mereka, bukan tabel titik akhir REST.

Anggaran Pendapatan

Secara kasar6,000karakter-karakter ode disimpan per penyambung, dan sekitar24,000karakter untuk seluruh blok di setiap konektor diaktifkan. Lebih dari tutup per-konektor file Anda dipotong; menjadi ringkas sebelum penggerek adalah.

Bayaran Presisi Kepertimbangan

Berkas-berkas ini adalah perbedaan antara asisten menggunakan alat meja universal Anda dan menjawab dari bagian yang salah karena tidak ada yang pernah mengatakan itu alat-alat tersebut ada.

💡
Kedua berkas itu harus ada dalam paket yang belum tertALLED, bukan hanya pohon sumber Anda. kedua berkas tersebut adalah berkas paket biasa, jadi file ini ditutupi oleh tanda tangan dan dikirim dalam ZIP — yang juga berarti mengedit satu setelah penandatanganan memecahkan segel.
Penyambung

Identiti ID melalui penyambung: admin, pelanggan, portal

One signing contract serves three surfaces. The connector's job is to turn "who is logged in on the platform" into a signed token OpsIQ can verify, and then to present the verified subject in OpsIQ's shape. The connector never authenticates anyone — the platform does, and the signature carries that assertion.

Tiga permukaan, satu penanda

Admin - staf Anda, di dalam backend Anda

Subjek admin bagi para petugas. Widget memuat di dalam panel admin platform dan setiap anggota staf dipadankan dengan OpsIQ agen mereka sendiri. Berjalan penuh pada halaman widget admin.

Pelanggan — pelanggan yang mendaftar masuk, dalam client chat

Ini yang membuat pelanggan yang masuk log masuk mendapatkan akun WHOLE mereka daripada pencarian anonim: setiap perintah, detail penuh, dan tindakan layanan diri apapun yang Anda izinkan.

Portal Portal — link yang dalam ke portal pendukung

Klaim yang sama ditambah jti dan single_use, dengan120-Kehidupan kedua, karena perjalanan token dalamURLAnda tidak perlu menggulung ini dengan tangan: Pengaturan, Portal Dukungan membawa snippet yang siap setiap bahasa, dan mint platform untuk anda ketika area akun berjalan pada server ini.

Kontrak muatan

Ini adalah klaim yang di periksa oleh para penerang tidak ada pilihan apapun contoh sebagian dari tempat lain mungkin menyarankan.

site_key

Tingkat atas harus sama dengan kunci situs permintaan, atau token ditolak.

Aquina iat dan exp

Tingkat atas, enam detik. eksp harus berada di masa depan dan setelah iat. token lebih dari satu menit pada masa depan ditolak.

Gagal disahkan: benar

Level atas, disamping exp. pernyataan platform Anda bahwa manusia nyata masuk

Platform

Sebuah nama dari slug yang pendek. dan memungkinkan penyedia identitas konektor memberitahu token sendiri dari platform lain.

admin atau pelanggan

Ini harus membawa id yang tidak kosong, dan nama pengguna atau email — padanan gerbang akses per-admin pada mereka. Sertakan keduanya ketika Anda memiliki keduanya.

Minting, verbatim from the Botble bridge
$payload = [
    'site_key'      => $cfgSiteKey,
    'iat'           => time(),
    'exp'           => time() + 6 * 3600,
    'authenticated' => true,
    'platform'      => 'yourplatform',
    /* 'admin' or 'customer' — OpsIQ stamps the matching session identity
     * from whichever key is present. */
    $opsiqSubject   => $subjectPayload,
];
$payload64     = rtrim(strtr(base64_encode(json_encode($payload, JSON_UNESCAPED_SLASHES)), '+/', '-_'), '=');
$identityToken = $payload64 . '.' . hash_hmac('sha256', $payload64, $cfgSecret);

Dua pemverifikasi, dan kegagalan yang mereka sebabkan

OpsIQAku tahu ini menyelamatkanmu sore hari, karena gejalanya tidak terlihat seperti penyebabnya.

Widget admin milik sistem

opsiq/embed/admin_ajax.php membawa sebuah penerang lokal yang menerima bendera terotentikasi dalam posisi baik. Daftar percakapan, sejarah dan belum dibaca semuanya melaluinya, sehingga mereka mengotentikasi dengan baik.

Pemverifikasi bersama yang lebih ketat

opsiqKetermasukkan/ke_identitas_customer_identity_token_verify.php duduk di belakang aliran chat dan core AJAXAPISecara historis, bendera diperlukan di tingkat TOP.

Gejalanya

History and conversations work. Every chat turn answers "Admin login required". It reads exactly like a session bug and is not: the token is missing the top-level flag.

Apa yang inti saat ini lakukan

Sekarang ini menerima bendera di tingkat atas atau di dalam subjek, jadi kontraknya seragam. inti yang lebih tua hanya membaca tingkat atas. keluarkan bentuk kanonik dan paketmu bekerja pada setiap rilis.

Semua file dalam paket Anda yang menyimpan identitas token secara statis dipindai terhadap kontrak, dan muatan platform akan menolak gagal sesuai dengan berkas dan baris yang tepat. Jalankan sendiri: php tools/verify_identity_contracts. php.

Pelanggan bertandatangan signed dalam chat klien

Core harus mencap pelanggan yang sudah diverifikasi, dan konektormu harus hadir.

1
Jembatanmu atau titik akhirmu adalah sebuah token pelanggan

Anda membaca pelanggan dari sesi platform sendiri. Jika anda menandatangani daftar pelanggan pada penjaga yang berbeda dari admin, bacalah penjaga yang anda inginkan dan jangan pernah mundur ke belakang di seluruh subjek — begitulah cara seorang pelanggan akan diberikan sebuah token admin.

2
Core diverifikasi dan stempel itu

Diatas token yang valid, stempel inti subjek yang telah diverifikasi ke dalam sesi. Penyedia Anda membaca identitas yang terbukti; tidak pernah disahkan.

3
IdentificationProvider Anda menyajikannya

detectCustomer() returns the OpsIQ shape. It MUST implement OpsIQ\Platform\IdentityProviderInterface, or the registry silently skips it — the same trap as the context provider.

4
Tindakan customer-scoped Anda menerima pelanggan_id

DanOpsIQDia menguncinya ke identitas yang telah diverifikasi sebelum eksekusi.

IdentificationProvider. php — baca identitas yang terbukti, hadirkan dalam bentuk OpsIQ
use OpsIQ\Platform\IdentityProviderInterface;

final class IdentityProvider implements IdentityProviderInterface
{
    public function slug(): string  { return 'yourplatform_identity'; }
    public function label(): string { return 'Your Platform identity (bridge-signed identity_token)'; }
    public function priority(): int { return 25; }   // ahead of the generic session provider

    public function isAvailable(): bool
    {
        try {
            $s = \OpsIQ\Connectors\ConnectorRegistry::getSettings('yourplatform') ?: [];
            return trim((string)($s['base_url'] ?? '')) !== '';
        } catch (\Throwable $e) { return false; }
    }

    public function detectAdmin(): ?array
    {
        $row = $this->sessionRowFor('_opsiq_admin_identity');
        if (!$row || !$this->isOurs($row)) return null;
        return [
            'id'       => (int)($row['id'] ?? 0),
            'name'     => $this->displayName($row, 'Admin'),
            'email'    => (string)($row['email'] ?? ''),
            'username' => (string)($row['username'] ?? ''),
            'role'     => (string)($row['role'] ?? ''),
            'platform' => 'yourplatform',
            'source'   => 'yourplatform_identity_token',
        ];
    }

    public function detectCustomer(): ?array
    {
        $row = $this->sessionRowFor('_opsiq_customer_identity');
        if (!$row || !$this->isOurs($row)) return null;
        return [
            'id'       => (int)($row['id'] ?? 0),
            'name'     => $this->displayName($row, 'Customer'),
            'email'    => (string)($row['email'] ?? ''),
            'phone'    => (string)($row['phone'] ?? ''),
            'platform' => 'yourplatform',
            'source'   => 'yourplatform_identity_token',
        ];
    }

    /* A session identity stamped by ANOTHER platform's token must not be
     * claimed here. An empty platform is accepted because older bridges did
     * not stamp one, and the site key already scoped the token. */
    private function isOurs(array $row): bool
    {
        $p = strtolower(trim((string)($row['platform'] ?? '')));
        return $p === '' || $p === 'yourplatform' || $p === 'remote';
    }

    private function sessionRowFor(string $key): ?array
    {
        if (session_status() !== PHP_SESSION_ACTIVE) return null;
        $row = $_SESSION[$key] ?? null;
        return (is_array($row) && (int)($row['id'] ?? 0) > 0) ? $row : null;
    }
}

Tindakan customer-scoped: dua kunci, keduanya diperlukan

Model tidak boleh memilih data siapa yang dibacanya.OpsIQSatu kunci adalah bug jauh dari kebocoran; dua kunci adalah kontrak.

Perancis1 — OpsIQMenggantikan parameter identitas

Before a customer-chat action runs, OpsIQ replaces every identity-shaped parameter with the VERIFIED visitor identity: client_id, clientid, user_id, userid, customer_id, account_id take the verified numeric id; client_identifier, customer_identifier, account_identifier take it as a string; email, client_email, customer_email, user_email take the verified email. Whatever the model proposed is discarded.

Lock 2 — your platform re-scopes every query

Ambil id yang diberikan dan tambahkan ke klausa WHE setiap bacaan dan setiap tulisan di permukaan itu jangan pernah percaya referensi dalam permintaan sendiri pelanggan yang menandatangani menanyakan tentang perintah orang lain harus kembali kosong, tidak dilarang.

Namakan parameter anda jadi kunci 1 _dapat menemukannya

Call it customer_id, not cust or ref. A parameter OpsIQ does not recognise is a parameter it cannot lock.

⚠️
Give the signed-in customer surface its OWN operations, separate from the admin ones, even when the SQL looks similar. Two surfaces with different rules stay honest; one surface with a flag becomes a leak the day someone edits the wrong branch.

Niar halaman nol: prob terdeklarasi-konektor

You can spare the operator all page wiring. Add an admin_identity_probe_url setting (https only) pointing at your identity endpoint. The plain admin-widget loader from Remote Sites, Codes then works with no page attributes at all: the widget discovers the endpoint through the connector, calls it with the site key and widget token, and authenticates each admin individually. A page can still override with a data-identity-endpoint attribute or window.OpsIQAdminIdentityEndpoint.

seting.json — pengaturan prob
{
  "key": "admin_identity_probe_url",
  "label": "Admin identity probe URL",
  "type": "text",
  "placeholder": "https://your-site.com/opsiq-yourplatform-bridge.php?op=admin_identity",
  "help": "Set this to your bridge admin_identity endpoint and the plain admin-widget loader works with NO page wiring: the widget probes this URL by itself, the bridge answers with the signed identity of the CURRENTLY logged-in admin, and every admin is matched to their own OpsIQ agent. Leave empty to keep the admin embed off."
}
Kuar itu disebut oleh peramban

Autentikasinya adalah sesi platform.

Ini menjawab bentuk yang tetap

{"success":true,"authenticated":true,"admin":{...},"identity_token":"..."} — and {"success":false,"authenticated":false,"error":"..."} when nobody is signed in.

Tak ada rahasia lama di sumber halaman

Hanya tanda tangan, token kadaluarsa.

Eksekusi titik akhir penuh untuk Laravel,WordPress, WHMCSMereka adalah kode yang sama untuk subjek pelanggan: mengubah penjaga yang Anda baca dan kunci subjek yang Anda tandai.

Penyambung

Penerbitan: Pengeditan folder tidak diterbitkan

Cara paling umum untuk kehilangan sore adalah dengan menyunting konektor di bawah marketplace_connectors/, memasangnya kembali, dan tidak menemukan perubahan apapun. Pasang tidak membaca folder tersebut. Mereka menarik ZIP yang ditandatangani dari katalog market Place. Penerbitan adalah urutan yang menempatkan perubahan Anda ke dalam ZIP itu.

Mengapa suntingan tidak melakukan apa-apa

marketplace_connectors/<slug>/ is the SOURCE

Tak ada yang bisa dipasang dari itu.

Katalog ini memiliki ZIP yang ditandatangani

Instalasi yang ZIP, pastikan tanda tangan dan membongkarnya sampai Anda membangun kembali ZIP.

Pengirim Konektor menerbitkan di tempat lain

It writes into /connectors/<slug>/ on this install. That is a local connector, not a marketplace release. The two paths do not overlap.

Urutan rilis

1
Mampatkan versi dalam berkas TWO

setting.jsonKebocoran dan konektor.jsonKonformance membandingkannya dan gagal jika slug, versi atau kapabilitas yang ditetapkan tidak setuju.

2
Synkronisasi-semula snippet jembatan

php tools/sync_connector_bridge_snippets.php --apply — only relevant if your package ships bridge/*.php, and mandatory if it does. Skipping it means the panel hands operators the previous bridge.

3
Memundurkan setiap paket

php alat/resign_all_connectors. php — tanda tangan meliputi berkas hashes, jadi setiap suntingan tidak valid itu. Tanda tangan terakhir, setelah setiap file adalah final.

4
KATA KOKASI KOTAK, kemudian benih

XEZ: The seeder menandatangani setiap paket seraya membangun ZIP, dan itu berjalan dalam konteks di mana kunci tidak dapat dibaca dari pengaturan — sehingga harus berasal dari lingkungan.

5
Redoeploy file jembatan, jika Anda kapal satu

Ini TIDAK menyentuh salinan yang duduk di dalam webroot operator.

Seluruh rilis, dalam rangka
# 2 — hold the panel copy identical to the shipped bridge
php tools/sync_connector_bridge_snippets.php --apply

# 3 — re-sign (do this last, after every file is final)
php tools/resign_all_connectors.php

# 4 — the seeder reads the signing key from the ENVIRONMENT only
export OPSIQ_CONNECTOR_SIGNING_KEY="$(php -r 'require "bootstrap/init.php"; echo opsiq_setting("connector_signing_key","");')"
php saas/scripts/maint/seed_marketplace_free.php --apply --only=<slug>

# verify before and after
php tools/verify_identity_contracts.php
php vendor/bin/phpunit tests/phpunit/Unit/Connectors
⚠️
Why the export is not optional: the signer looks for the key in OPSIQ_CONNECTOR_SIGNING_KEY first and the connector_signing_key setting second. The seeder runs on the SaaS bootstrap and tools/sign_connector.php boots nothing at all, so in both the settings reader does not exist — with no environment variable there is no key, and you get "No signing key available" or every package reported as signing_failed. Only tools/resign_all_connectors.php boots OpsIQ and can find the key on its own.

Apa sebenarnya kapal

Hanya berkaskan fail penutup tandatangan

ZIP dibuat dari daftar berkas penandatangan sendiri, jadi file yang tersimpan di folder paket Anda tidak dikirim.

Sambungan Tertutup Kulit

php,json, js,css, md, txt,html, sh, svg, png, jpg, jpeg, gif, webp, ico, yml, yaml — secara rekursif, termasuk bridge/ dan tes/. tanda tangan.jsonungsu sendiri dikecualikan dari hashes dan kemudian ditambahkan ke ZIP sehingga pemasangan dapat memverifikasi.

Apa pun yang lain dilaporkan sebagai tidak_paket

Sebuah berkas yang Anda harapkan untuk kapal yang muncul di sana berarti ada perpanjangan yang salah atau lokasi yang salah — bukan kesuksesan diam - diam.

Mengomendoborkan setiap file tertutup memecahkan segel

Termasuk file Markdown.

Berkas yang diperlukan oleh ifrica dalam paket yang dapat didistribusikan

connector.php

Harus kembali sebagai contoh ConnectorInterface.

settings.json

Manifest: slug, name, versi, manifes_version, keserasian, kemampuan, connector_contract_version (kontrak_versi), pengaturan.

connector_contract.json

Ini adalah slug, versi dan kapabilitas set harus identik dengan pengaturan.json_.

README. md, DEVELOPER. mD, CHANGELOG. m d

Semua tiga sudah diperiksa untuk keberadaan dan ukuran minimum.

Sebuah berkas yang dinyatakan sebagai kemampuan

Setiap nama ketakmampuan dari berkas yang diharapkannya — ContextProvider. php untuk konteks, IdentityProvister. php Untuk identitas, GuestLookupProvicer. php for tame_lookup, dan sebagainya — kecuali konektor menerapkan inline kapabilitas.

Tak ada yang terlihat seperti bukti kelayakan

Keselarasan mengumbas ketiga berkas Markdown untuk nilai-nilai berbentuk rahasia dan kunci pribadi, dan gagal dalam sebuah hit.

Periksalah sebelum kau mengirimkannya

Dia memeriksa daftar yang sama dengan pemasangannya. Ia memeriksa manifes terhadap kontrak kanonik, bahwa runtime dan kemampuan manifesto setuju, bahwa setiap kapabilitas yang dinyatakan memiliki file dan metodenya, kontrak identitas-token di setiap berkas minting, jombridge-snippet, tampilan tamu mengizinkan kebersihan daftar, keunikan aksi dan keamanan konfirmasi, dan tanda tangan paket.

Jalankan keempatnya sebelum setiap rilis
# conformance for every marketplace package
php tools/test_marketplace_connector_conformance.php

# the identity-token contract, statically, with file:line on failure
php tools/verify_identity_contracts.php

# the connector unit suite
php vendor/bin/phpunit tests/phpunit/Unit/Connectors

# the release gate
php tools/release_gate_connectors.php
💡
Satu kegagalan diharapkan dan tidak menjadi masalah: pemeriksaan tanda tangan paket melaporkan peringatan saat Anda masih menyunting.
Penyambung

Paket ulet dan referensi daur hidup

Ini adalah kontrak tingkat sumber untuk membangun konektor yang OpsIQ Menurut bius, konfigurasi, validasi, aktifkan, laksanakan, uji, tandatangan dan mendistribusikan.

Rujukan pengembang
Paket konektor tidak diketahuiPaket konektor ode A memiliki implementasi dan manifes koneksor yang diperlukan, dengan tindakan opsional, resep, pengetahuan, aset dan metadata tanda tangan.Paket konektor tidak diketahuideveloperMANIFESTv1LIFECYCLEDiurus oleh mustahilKERJASkopORANG KERJA HIDUPconnector.phpKelas / pabrik konektorDiperlukansettings.jsonSkema tata letak dan pengaturan buatannyaDiperlukanactions.jsonDefinisi aksi takrifan tagUMUMsignature.jsonData meta tandatangan pakejKeluaran Melepas1DECLAREManifes dan kemampuan2IMPLEMENTSiklus hidup dan pembekal3VALIDATETes, tanda, paket
Paket konektor ode A memiliki implementasi dan manifes koneksor yang diperlukan, dengan tindakan opsional, resep, pengetahuan, aset dan metadata tanda tangan.

Paket minimum untuk nama

connectors/example_platform/
├── connector.php          # connector implementation / entry point
├── settings.json          # manifest + configuration schema
├── actions.json           # optional action catalogue
├── README.md              # setup, scopes, webhooks and limits
├── workflow_recipes.json  # optional reusable recipes
├── knowledge.json         # optional provider knowledge
├── profile.json           # optional connector profile
├── src/                   # optional client/provider classes
├── assets/                # optional admin assets
└── signature.json         # signed release metadata

Kontrak manifest

settings.json Nama samaran 1KATAtor mengharapkan slug, name, versi, manifes_version, keserasian, deskripsi dan kemampuan. opsiq_min BAHWA DAN opsiq_maxStatus pelepasan adalah salah satu dari production, beta, praja OR atau ORANG template; Kematangan kapabilitas menggunakan level L1–L6. Paket Legacy dapat dinormalkan dengan peringatan, tetapi paket baru harus lulus tanpa peringatan.

Antarmuka penghubung inti Konektor Konek

  • Identiti dan penyiapan: slug(), name(), description(), capabilities(), settingsSchema(), testConnection().
  • Siklus Hidup: onEnable() BAHWA DAN onDisable(). Matikan harus non-destruktif; pembersihan data adalah operasi yang dilakukan secara terpisah.
  • Segerakkan masuk: handleWebhook(), poll(), backfill(). Pemegang Poll pekerjaan tambahan; isi ulang impor sejarah dan harus aman untuk diulangi.
  • Sodium Support: pushReply() Di mana platform menerima jawaban.
  • Tindakan: registerActions() Perusahaan persediaan kontrak aksi yang dapat dieksekusi.
  • Keamanan: securityCapabilities(), syncBlockedIp(), removeBlockedIp(), testSecuritySync().

Asas abstrak juga menawarkan pengisian balik bersaiz kecil, senarai pelanggan, penemuan/ciptaan akaun emel, ahli, pengesanan admin/pelanggan, pembekal bil/konteks/identiti, ekstrak respons, cuba semula panggilan HTTP, akses laluan JSON, penarafan kabur dan bantuan paginasi.

Keupayaan dan otentikasi

Nama kapabilitas yang didukung oleh Keandaan Didukung antara lain tindakan, pemicu, konteks, identitas, penjualan, penagihan, inbound_ticet, outbound _reply, sync_users, syncnch_departments, security_events, customer_import, secomes_native_block, promo_audience, promo_feed, emailbox_mail, native_api, ai_brain_aware dan ais_ticket. Pembangun menyediakan API Kunci, pembawa, dasar, HMAC,OAuth 2Kelayakan klien,OAuth 2kode otorisasi dan templat otentikasi langganan.

Rejis lifecycle

  1. Discovery memuat paket dan mengesahkan manifesnya.
  2. Konfigurasi nutfah disimpan per ruang kerja; rahasia dienkripsi.
  3. Ujian sambungan membuktikan keizinan tanpa mengaktifkan penyambung.
  4. Panggilan yang dapat dibenarkan onEnable(), menyelaraskan definisi tindakan dan dapat memulai backfill awal.
  5. Eksekusi polling/webhook/langgan selalu membawa konteks ruang kerja.
  6. Panggilan tidak dilumpuhkan onDisable() klade dan menghentikan aktivitas tanpa menghapus data impor.
  7. Pembersihan adalah operasi eksplisit terpisah.

Aturan ke-betulan cogoin

  • LUCU menggunakan kunci ruang kerja/site dalam setiap baca, tulis, kunci cache, kunci dedullikasi dan pencarian webhook.
  • Buat backfill, webhook ingestion dan tulis aksi idempoten. Rekam ID eksternal/event ID dimanapun platform menyediakan satu.
  • Untuk sistem remote, gunakan mereka. API Tidak pernah menganggap tabel basis data mereka ada di OpsIQ Koneksi.
  • Kemuliaan kembali terstruktur, kesalahan penyimpanan pelanggan. Jangan pernah membuka rahasia, jejak penyedia mentah atau keberadaan ruang kerja lain.
  • Hanya menunjukkan kemampuan paket yang benar-benar diimplementasikan. actions.json katalog tidak membuat suatu tindakan yang dapat digunakan sampai konektor dipasang, diaktifkan, dikonfigurasi dan sambungannya valid.

Uji dan lepas

Jalankan lint PHP, manifes validasi, tes koneksi, uji skema aksi, uji tanda tangan/replay webhook, uji peisolasi-penyalinan ruang kerja, tes backfill-repeating, uji penyambung-nonaktif dan tes gagal/pengulangan. Sebuah paket marketplace harus kemudian ditandatangani dan diverifikasi, termasuk pengaturan/permissions/webhook dokumentasi, dan menyatakan status rilis sebenarnya. ubin penghubung dan manifesto adalah sinyal ketersediaan yang berwibawa.

Penyambung

Resep Konektor

Resep langkah- demi langkah untuk penyiapan konektor umum.

Resepi
Resep KonektorWasit penyiapan Shopify _sebagai senarai cek: membuat aplikasi, memberikan skop, menempelkan token dan tes, mengaktifkan webhooks, menempatkan perintah uji.Resep KonektorShopify· Shopify dengan webhooksA_dji dibuat oleh program gubahan pada Shopify adminSkop cengke_lintang skop: baca_orders, read_customers...Path Simpan domain + token, klik UjiAktifkan sinkronisasi Webhook (urutan auto-daftar)Kediaman → muncul pada Sales di 30s_1STEP BY STEPResep Sajian Salinan-Salinan2REAL PLATFORMSShopify · WHMCS · Stripe· GBP3VERIFYUrutan uji coba menunjukkan di 30s_
Setiap resep adalah daftar cek Anda mengikuti dari atas ke bawah, di sini, Shopify dengan webhooks urutan waktu nyata, diverifikasi oleh perintah tes.

Recipe: Shopify with real-time webhooks

Skenario:
Goal: Connect Shopify with automatic order sync and GDPR compliance.
Apa yang harus dilakukan:

1. Create a custom app in Shopify admin (Settings > Apps > Develop apps). 2. Grant scopes: read_orders, read_customers, read_products, write_customers. 3. Copy the Admin API access token. 4. In OpsIQ Connectors > Shopify, enter store domain and token. 5. Click Test Connection. 6. Enable Webhook sync, OpsIQ registers order/customer webhooks automatically. 7. GDPR webhooks register automatically (data_request, customers/redact, shop/redact). 8. Verify: place a test order, check it appears in OpsIQ Sales within 30 seconds.

Resepsi: WHMCS temuan

Skenario:
Goal: Connect WHMCS so AI can look up clients, services, tickets, and invoices.
Apa yang harus dilakukan:

1. In WHMCS admin, Setup > Staff Management > Manage API Credentials. Create a key. 2. In OpsIQ Connectors > WHMCS, enter URL, API identifier, and secret. 3. Click Test Connection. 4. Install the WHMCS module addon for ticket relay. 5. Verify: ask the admin AI "Find client [email protected]". WHMCS data should appear.

AYAT T Stripe pembayaran

Skenario:
Goal: Track Stripe payments and let AI look up transactions.
Apa yang harus dilakukan:

1. In Stripe Dashboard > Developers > API keys, create a restricted key (read: Customers, Charges, Invoices, Subscriptions). 2. In OpsIQ Connectors > Stripe, enter the restricted key. 3. Test Connection. 4. Add webhook endpoint in Stripe: copy the webhook URL shown on the connector's own settings page. It carries a per-connector token and looks like https://your-domain.com/api/connectors.php?slug=stripe&token=THE_TOKEN A URL without the token is rejected with "Missing slug or token". 5. Select events: charge.succeeded, invoice.paid, customer.subscription.updated. 6. Copy the webhook signing secret to OpsIQ. 7. Verify: make a test payment, check it in OpsIQ Sales.

cipe: Profil Bisnis Google

Skenario:
Goal: Connect GBP for review management, posts, and insights.
Apa yang harus dilakukan:

1. Create a Google Cloud project, enable Business Profile API. 2. Create OAuth 2.0 credentials (Web application). 3. Set redirect URI: copy it from the connector's own settings page. Google and Microsoft connectors share one slug-less callback: https://your-domain.com/connectors.php?oauth=callback Everything else uses https://your-domain.com/connectors.php?slug=<slug>&oauth=callback OAuth redirect URIs must match EXACTLY, and a URI missing oauth=callback is read as a webhook and answered with "Missing slug or token". 4. In OpsIQ, enter Client ID and Client Secret. 5. Click Authorize, sign in, grant access. 6. Select your business location. 7. Verify: reviews, posts, and insights should appear.

Penyambung

Ukraine Memperpanjang Intelijen Situs CRM &

OpsIQ subsystems are open for extension. A connector can plug a new capability into the CRM or Site Intelligence with no changes to OpsIQ core, via the platform capability registry (\OpsIQ\Platform\CapabilityRegistry). Declare the capability, implement its small method set, ship the connector, OpsIQ discovers it and wires it into the UI, the Customer 360 timeline and the install prompts.

Opertenden CRM & SI
Kemampuan beronsonSebuah konektor di bus kapabilitas makan kiri (CRM, Site Intelligence, Analytics) ditemukan oleh CapabilityRegistry.Kemampuan beronsonRuang kerja ERJKonektormu\"Menyatakan kemampuan\"ORMA CRMKalender · Pengkayaan · esign · pembayaran · kotak suratSitus Intelijen Situsleng_engengengketakanAnalisisTe_natis webofifine · laporan & tidak terjawabKemampuan Berdayadaya RegistryMenurut analisa, ia & kabel garis waktu UI +1DECLAREKejang-kejang, bukan edit inti2PLUG INCRM· SI · · Bas Analitik3AUTO-WIREDUI, garis waktu, prompts
Sebuah konektor odeya menyatakan kemampuan (kalendar, pengayaan, data peringkat, analitik...) dan OpsIQ auto-wires mereka ke dalam CRM dan Site Intelligence, tidak ada perubahan inti.

Kemampuan untuk mengungkapkan

Oklaratif (setting.json)

* Tambahkan a * <domain>_capabilities array, terbaik untuk tidak ada kode/pasar konektor. Domains: crm, site_intelligence.

Kode dalam kode (connector. php)

Implementasi crmCapabilities() / siCapabilities() Kemuliaan kembali yang sama.

Oceola declare sebuah penyedia kalender CRM (setting.json)

Skenario:
Goal: make a calendar connector appear in the CRM Schedule-meeting panel.
Apa yang harus dilakukan:

"crm_capabilities": [ { "type": "calendar", "label": "Calendar (Acme)", "actions": ["createEvent","listEvents","freeBusy"], "requires_auth": true } ]

Ogois Declare a Site Intelligence provider (setting.json)

Skenario:
Goal: feed local-listing data into Site Intelligence.
Apa yang harus dilakukan:

"site_intelligence_capabilities": [ { "type": "local_listing", "actions": ["listLocations","listReviews","getInsights"], "requires_auth": true } ]

Bus kapabilitas dan metode mereka permukaan

Kalendar / kalender kim / krim Kalendar

createEvent($settings,$params) →¡event_id,html_link,meet_link}; listEvents; freeBusy. Didorong oleh \OpsIQ\CRM\CalendarBridge.

Kerikil / pengayaan

enrich($settings,$params) → {success,traits}. Didorong oleh \OpsIQ\CRM\EnrichmentBridge (juga berjalan secara automatik pada syarikat cipta apabila penyedia disambungkan).

krm / esign

sendForSignature($settings,$params) → {success,envelope_id,sign_url}. Didorong oleh \OpsIQ\CRM\EsignBridge.

Situs_inteliti_ijen / lokal_daftar

listLocations, listReviews, getInsightsKapal melalui penghubung Google Business Profile.

Situs_inteliti/ ranking_data

keywordRanks($settings,$params) → {success,ranks}. Didorong oleh \OpsIQ\SiteIntelligence\RankDataBridge. Kapal: Penyambung SerpApi.

analitik / web_analitik

report($settings,$params) zumunc (sync/export) + ingest($settings,$events) (import). Driven by \OpsIQ\Analytics\WebAnalyticsBridge. Ships: Google Analytics (GA4) connector. Data API for reports, Measurement Protocol for import. Analytics is open for connectors like CRM + Site Intelligence (domain analytics / analytics_capabilities).

pembayaran luahan /pembayaran_pemprovider

listPayments, customerPayments, createPaymentLink. Driven by \OpsIQ\Payments\PaymentsBridge. Show a customer's payments on the CRM timeline + send a payment link on a deal. Ships: Stripe Payments connector. Domain payments / payments_capabilities.

Kotak surat / e-mel_sync

listMessages + sendMessage. Driven by \OpsIQ\Mailbox\MailboxBridge. A customer's emails on the Customer 360 timeline + send email from a deal. Ships: Gmail + Outlook/Microsoft 365 connectors. Domain mailbox / mailbox_capabilities.

Shared OAuth app + ONE redirect

All Google connectors share ONE app via \OpsIQ\OAuth\SharedGoogleApp. Set google_oauth_client_id/_secret once and Calendar, Analytics, Business Profile + Gmail all work (the per-connector "(optional)" fields are overrides). They also share ONE redirect URI, <site>/connectors.php?oauth=callback (tidak ada slug per-konektor), karena Google mengekspos no API UUU untuk menambah URI arah semula ke aplikasi; OpsIQ FOC memulihkan penyambung dari tanda tangan OAuth state Nonce. Daftarkan bahwa satu URI sekali dan setiap penyambung Google (present + future) memberi wewenang tanpa adanya pengaturan Konsol lebih lanjut. Kembali SharedGoogleApp::resolve(...)Orang - orang di Yunani redirect_uri Dari Mu oauthParams(); jangan pernah keras-kodkan pautan balik per-slug. Penyambung Microsoft lakukan yang sama melalui \OpsIQ\OAuth\SharedMicrosoftApp (microsoft_oauth_*).

Tombol impor coupabilitas-gated

iran Import And Pelanggan import Tombol-tombol tunggakan HANYA untuk penyambung yang benar-benar melaksanakannya, dideteksi oleh pantulan, sehingga tidak ada bendera untuk dideklarasikan. Batalkan backfill() OR atau ORANG backfillChunk() Untuk mendapatkan tombol Impor; batalkan listCustomers() (kembali {emel, nama_pertama, …} halaman) untuk memperoleh pelanggan Import. Wariskan AbstractConnector ¡No-op dan tombol tetap tersembunyi, sehingga UI tidak pernah menawarkan impor konektor tidak dapat dilakukan.

AI melintasi bus

The CRM agent proposes and books meetings off deal signals (\OpsIQ\CRM\MeetingProposer → CalendarBridge), and auto-enriches new accounts, the “AI operates the CRM” loop, executed across connector buses.

Pencarian tiket pelanggan-chat (fetchTicket())

Dua-tier, tidak ada perubahan inti

Apabila pengunjung rujukan nombor tiket dalam sembang klien ("apa status T-000123?"), OpsIQ menyelesaikannya dalam dua peringkat. Tier 1 Bacalah toko tiket OpsIQ yang dibagikan, setiap penyambung dengan inbound_ticket Cermin tiketnya di sana, jadi tiket yang sudah diselaraskan hanya bekerja untuk SEMUA penyambung dengan kode nol per-konektor. Tier 2 LUKAN adalah sebuah fallback untuk tiket OLD yang tidak pernah dicerminkan: core calls an PILIHAN fetchTicket() Pada setiap konektor yang memungkinkan yang menerapkannya. duck-typed (ditemukan oleh method_exists(), seperti contextProviders()/audienceCatalog()Jadi, tanda tangan ConnectorInterface Tak tersentuh dan penyambung yang tak memerlukannya (email/chat sources yang menciptakan tiket secara natif) hanya mengabaikannya.

⚠️
Kepemilikan adalah wajib dan Anda untuk menegakkan. fetchTicket() Dia menerima identitas pengunjung yang tak pernah ada. $ctx (client_id + client_email, identitas yang sama diverifikasi klien chat AI gunakan). Selesaikan kembali pelanggan platform dari identitas itu dan tanyakan HANYA bahwa tiket pelanggan, kemudian periksa kembali kepemilikan pada catatan detail. null Tidak pernah ada data pelanggan lain. null menurunkan dengan baik kepada "tidak dapat mencari tiket itu".
konektor.php, kontrak fetchTicket() (rujukan: penyambung/whmcs BARIS dan konektor/zendesk)
<?php
// connector.php — OPTIONAL universal client-chat ticket resolver (Tier 2).
// Only add it if your platform keeps its OWN ticket store that may hold tickets
// not yet mirrored into OpsIQ. Return the normalised array below, or null.
//
// $ref      = ['mode' => 'id'|'tid', 'value' => string]  (from extract_ticket_ref)
// $ctx      = ['client_id' => int, 'client_email' => string]  (VERIFIED visitor)
// $settings = your connector settings
public function fetchTicket(array $ref, array $ctx, array $settings): ?array
{
    try {
        $email = trim((string)($ctx['client_email'] ?? ''));
        $cid   = (int)($ctx['client_id'] ?? 0);
        if ($cid <= 0 && $email === '') return null;            // no verified identity → refuse

        // 1) Resolve THIS visitor on your platform (by verified email/id).
        // 2) List ONLY their tickets and match $ref against the ticket number/id.
        // 3) Re-confirm ownership on the detail record before returning.
        //    On any miss/mismatch/error → return null (never leak).

        return [
            'tid'        => 'T-000123',     // the customer-facing reference
            'id'         => 123,            // your internal id
            'status'     => 'open',
            'subject'    => '…',
            'department' => 'Billing',     // '' if your platform has none
            'priority'   => 'high',
            'opened_at'  => '2026-06-29 10:00:00',
            'last_reply' => '2026-06-29 12:00:00',
            'message'    => 'opening message text',
            'replies'    => [               // oldest → newest; opening message may be first
                ['who' => 'You',   'date' => '…', 'message' => '…'],
                ['who' => 'Staff', 'date' => '…', 'message' => '…'],
            ],
        ];
    } catch (\Throwable $e) {
        error_log('[yourslug][fetchTicket] ' . $e->getMessage());
        return null;                                             // graceful degrade
    }
}

Bagaimana platform menggunakannya

Discovery

CapabilityRegistry::providers($domain,$type) Daftar penyedia illey dengan status terpasang/dibenarkan/siap (berdasarkan sistem berkas; DB hanya untuk bendera yang diaktifkan).

Pemilihan

CapabilityRegistry::active($domain,$type) NYBA mengembalikan penyedia siap pertama dengan penyambung dan pengaturan dimuatnya.

Beritahu-ke-pasang

Di mana sebuah fitur membutuhkan kemampuan yang belum tersambung, UI menunjukkan satu klik Connect/Pasang prompt, tidak pernah ada kendali mati.

Panduan penuh

Lihat connectors/PLATFORM_CONNECTORS.md (CRM + Situs Intelijen) dan connectors/CRM_CONNECTORS.md Di paket.

Penyambung

Pelanggan layanan-sendiri pencarian & pengembalian uang (bina konektor anda untuk chat pelanggan)

Signed-in customers can ask the customer chat AI about their OWN account ("my balance", "my orders", "did support answer my ticket") and, if the business enables it, request refunds. All of it is powered by YOUR connector's declarations: no OpsIQ core changes, no platform hardcoding. The AI calls your lookups as native tools (it cannot invent one), identity is locked server-side to the verified customer, and results are automatically trimmed for the AI.

Memperlihatkan penampilan pelanggan

In your actions.jsonTindakan baca-saja menjadi pelanggan yang bisa dipanggil dengan semua tiga: "scope":"client", "requires_confirmation":false, "is_destructive":falseGunakan "scope":"both" Ketika penampilan yang sama juga harus dipanggil oleh tim Anda dalam AI Admin. admin, client, both BAHWA DAN system (system Tidak ada yang mencapai AI — API dan rute webhook saja). Ada lagi yang ditolak secara langsung: validasi paket gagal dan aksi tidak dipasang. Tidak ada writing Skop Skop — asisten penulisan disajikan admin Tindakan siap.

Aturan identitas (mandatory)

Namakan parameter identitas Anda dari set standar. Terkunci ke id numerik yang telah diverifikasi: client_id, clientid, customer_id, user_id, userid, account_idTerkunci ke id yang sebagai string: client_identifier, customer_identifier, account_identifierTerkunci ke email yang sudah diverifikasi: email, client_email, customer_email, user_email. OpsIQ locks and auto-fills it from the platform-verified signed-in customer; the AI never sees or chooses identity. A non-standard name fails closed (denied, never leaked).

Apa yang harus tetap admin-only

Apa-apa yang tidak diskop oleh identiti itu: fetch-by-bare-id (order_id/ticket_id Itu adalah kebocoran silang pada platform apapun. "scope":"admin".

Hasilkan shaping (kunci jawaban-beban)

Hasil pencarian lentural dipangkas secara struktural sebelum mencapai AI: kunci berbentuk rahasia dijatuhkan, string panjang dan daftar ditutup, medan kosong dipotong, dan peta datar lebih lebar dari tutup kunci menyimpannya Kunci penyaji jawaban pertamaUang, uang (credit, balance, amount, total, due, paid), identitas (email, *name, phone, company), state (status, active, expir*, renew*), tanggal, rencana/produk/domain/layanan/subskripsi/pesan/perintah/dalam bidang faktur/tiket, mata uang, penghitungan dan stats/summary/totalsSebelum kursi yang tersisa pergi ke kunci lain yang paling kecil-pertama. bimbingan praktis: namakan bidang Anda dengan kosakata standar dan kembalikan bidang yang menjawab pertanyaan pelanggan daripada mentah100Tempat pembuangan platform -key -key; lapangan yang dinamai di luar kosakata bersaing untuk kursi sisa dan dapat dipangkas dari muatan yang sangat lebar.

Pengulangan Kembalian · apa yang diberikan konektor Anda

Dua operasi mentah, bebas kebijakan:1) Pembayaran-verifikasi dibaca dapat disaring oleh identitas dan referensi transaksi (Anda API harus AND filter), mis. whmcs_get_transactions); (2) suatu tindakan pengembalian dana yang dilaksanakan (scope:"admin", requires_confirmation:true, is_destructive:true, tidak pernah pelanggan-diekspos), mis. whmcs_refund_order. Bisnis memilih kedua kunci dalam Pengaturan → Klien Chat; OpsIQ _-_--membenarkan kembali server pembayaran, menerapkan kotak kebijakan bisnis (amount cap, jendela usia, batas bulanan), isu di dalam kotak, dan file tiket ulasan untuk segala sesuatu yang lain.

Pembuat kode-No

Editor tindakan Pembina Penyambung mempunyai kawalan yang sama: tetapkan "Siapa boleh guna" kepada pelanggan yang telah log masuk, tinggalkan kedua-dua kotak semak tulis dimatikan, dan gunakan nama parameter identiti piawai.

Perlaksanaan referensi bereformasi

Entri "Perkhidmatan Sendiri Pelanggan" dalam connectors/whmcs/actions.json, woocommerce/actions.json, oscommerce/actions.jsonKontrak penuh di connectors/README.md §8.1–8.2 Dan ConnectorInterface::registerActions().

Penyambung

Pencarian tamu - tamu — biarkan pengunjung melacak pemesanan, pengiriman atau pesanan TANPA yang mendaftar masuk (tamu_cari)

Hotel, kurir dan banyak perusahaan perdagangan melayani pelanggan yang memegang referensi tapi tidak ada log masuk: tamu dengan konfirmasi pemesanan, penerima dengan nomor pelacakan. guest_lookup Ketupatabilitasan [Connector Contract, mode: dihasilkan] memungkinkan konektor ANDA melayani pengunjung yang berada dalam AI chat klien — tidakOpsIQPerubahan inti, tidak ada hardcoding platform. konektor Anda menyatakan APA membuktikan titlement dan bidang WHICH terlihat;OpsIQDia menegakkan tombol, throttle dan seragamnya ditolak.

Model kepercayaan

Bukti referensi +, tidak pernah identitas

Kerap pengunjung memasok referensi rekaman (disesuaikan dengan regex yang Anda nyatakan) ditambah bukti yang Anda pilih — biasanya email di dalam catatan. Tindakan pengambilan Anda mendapatkan kembali rekor SERVER-SIDE berdasarkan referensi; OpsIQ penyedia hasilkan membandingkan bukti terhadap catatan FETCHED. Masukan pengunjung tidak pernah dipercaya, dan tidak ada identitas yang terverifikasi dibuat: kecocokan memberi hak kepada pengunjung untuk bahwa satu catatan mengizinkan bidang, tidak ada lagi.

Penyandang seragam (tidak ada oracle enumerasi)

AI secara eksplisit diinstruksikan untuk tidak pernah mengkonfirmasi apakah referensi ada dan tidak pernah menemukan rincian rekaman. Percobaan adalah batas-nilai per percakapan + IP dengan inti sebelum konektor Anda pernah berkonsultasi.

Ott-in ganda, keduanya default OFF

Nothing serves guests until the business enables BOTH switches: the workspace-wide control in Settings → Security → "Guest record lookups in client chat" (permission-gated AND always password-confirmed, even when optional step-up is off), and your connector's own guest_lookup_enabled Pengaturan boutbolisasi togol. Memasang atau mengaktifkan konektor sendiri tidak pernah membuka permukaan tamu.

Permukaan tamu yang berdedikasi

Pendaftar penyedia yang dihasilkan oleh perusahaan untuk guest Permukaan konteks Ukraina — secara struktural terpisah dari admin BAHWA DAN customerPenyedia konteks yang sudah ada tidak pernah berkonsultasi untuk pengunjung anonim, dan penyedia tamu tidak pernah dimintai pendapat untuk yang masuk. ctx yang diterimanya membawa pesan obrolan, id benang dan surat elektronik pra-chat pengunjung sebagai kandidat bukti — tanpa identitas.

(Yang mengatakan) atau yang dikatakan (di dalam Kitab yang di dalam kitab) yakni Alquran.

1
Takrifkan aksi pengambilan

Pada langkah Aksi, tambahkan tindakan baca-saja yang mengembalikan satu catatan dengan referensinya (misalnya. GET /bookings/{booking_number}) dan memetakan bidang respon dengan alias: status, kedatangan, keberangkatan, kamar_tipe, customer_email...

2
Tik-Tik-Cik-Gok-Gincang--

Pada langkah kemampuan, memungkinkan guest_lookupPanel berdedikasi muncul: pilih aksi pengambilan, namakan parameter referensi, beri pola referensi (tubuh regex seperti \bBK-[0-9]{4,10}\b), name the record ("booking"), and pick the proof — email on the record (recommended) or none (reference alone, for status-only courier tracking).

3
Memungkinkan untuk menyeleksi bidang yang tampak

Tick Tick persis bidang yang mungkin dilihat oleh tamu. Segala sesuatu yang lain adalah DROPPED — tidak pernah direka ulang. Pembangun menolak bidang berbentuk PII (email, telepon, alamat, pembayaran...) dalam daftar ijin, dan release-gate conformance suite memeriksa kembali aturan yang sama sebelum diterbitkan, sehingga sebuah spesifikasi penyuntingan tangan tidak dapat menyelinap satu masuk Catatan bahwa validasi install-time meliputi manifes dan tanda tangan saja, jadi jalankan conformance suite sebelum Anda kapal. Bidang bukti sendiri tidak pernah bisa ditampilkan.

4
BAHASA ISI dan aktifkan

Ubi Pembangun dipancarkan GuestLookupProvider.php ---- implementasi yang diperkeras secara kanonik, identik untuk setiap paket yang dihasilkan - dan menambahkan guest_lookup_enabled Boondon togol ke setting konektor Anda. Senjata bisnis kedua switch dan AI chat mulai menawarkan lookup ketika pengunjung bertanya tentang jenis rekaman Anda.

Peraturan kontrak

Hanya ruas berbentuk Status

Think "what would a courier print on the public tracking page": status, dates, room or service category, counts. Names, contact details, street addresses, payment data and free-text notes have no place in an anonymous chat — the Builder and conformance both refuse them.

AI menjawab HANYA dari blok

Penyedia yang dihasilkan itu mengakhiri keluarannya dengan instruksi untuk hanya menjawab dari ladang yang terdaftar dan menawarkan tiket untuk hal lain.

Pengikut terus bekerja

The provider re-derives the reference from the visitor's recent messages in the same conversation, so "and when is check-out?" works without re-typing the reference. The matched reference and proof email are remembered on the chat thread as CANDIDATES, so follow-ups do not re-ask. They are candidates only: every turn still re-fetches the record server-side and re-compares the proof before releasing a single field.

Paket-paket berotorisasi tangan

Sebuah paket pasar mungkin kapal sendiri GuestLookupProvider.php implementing ContextProviderInterface DENGAN BAHASA surfaces(): ['guest']Ikuti kontrak yang dihasilkan itu tepat -- mengambil referensi, mempromosi server sampingan, menolak seragam, hanya output yang diizinkan daftar - dan menyatakan guest_lookup in capabilitiesKonformance memverifikasi permukaan tamu dan memindai daftar ijin untuk PII.

💡
Pencarian tamu adalah konteks baca-saja untuk AI chat. Mereka tidak pernah mengeksekusi tindakan, tidak pernah membuat identitas, dan tidak pernah membuka jalan aksi layanan diri pelanggan di atas — jalur tersebut masih membutuhkan pelanggan yang ditandatangani secara berverifikasi platform.
Penyambung

Pemarsuan penonton promosi (promo_audiensi)

Let the Promotion Studio target campaigns by LIVE client and billing state from YOUR platform: "has an unpaid invoice", "order pending", "subscription cancelled". Any connector (pre-installed, marketplace, or one you build yourself) joins by implementing two small methods. No OpsIQ core changes, no platform hardcoding: your connector appears as a platform in the studio Targeting tab with its own dropdown of facts, and several connectors can be enabled side by side.

Penonton Promo yang hadir
Pembidik penonton promosiIdentitas yang sudah dikonfirmasi disahkan ke penonton konektorFlags panggilan menghasilkan fakta yang mendorong aturan target, dengan catatan yang gagal ditutup.Pembidik penonton promosiRuang kerja ERJDidaftar-dalamIdentiti DisahkanPenonton audiensFlags()KonektormuFAKTA SAKTAunpaid_invoices = 2PERATURANKATA_NNNY_BAR_ 1Acara kampanyeKegagalan ditutup: klien tidak diketahui atau kesalahan apapun → kampanye tetap tersembunyi.1TWO METHODSPenonton yang hadirCatalog + Flags2LIVE STATEBelum dibayar, belum selesai, status3FAIL-SAFETidak pernah menunjukkan kepada orang yang salah
Konektor Anda menjawab langsung fakta tagihan untuk pengunjung log masuk; target studio pada mereka, dan gagal ditutup sehingga tawaran penagihan tidak pernah mencapai orang yang salah.

Bagaimana cara kerjanya

1
Bolak fakta Anda

audienCatalog() pada kelas konektor Anda. Ia mengembalikan label dan daftar kunci yang dapat dijawab oleh platform Anda. Setiap kunci muncul dalam dropdown studio dengan nama platform Anda

2
Jawaban untuk satu klien

Implement audienceFlags(array $identity). OpsIQ calls it at delivery time with the VERIFIED logged-in visitor identity (from the widget identity token, the same identity the client chat AI uses). Return a flat key => value map.

3
Selesai

Hidupkan sambungan. Tab Target Promosi Studio tumbuh seksyen "Klien & bil" yang menyenaraikan platform anda; pentadbir bina peraturan seperti "unpaid_invoices >= 1"; setiap fakta juga menjadi variabel peribadian seperti {unpaid_invoices}.

penghubung. php, kontrak yang sangat luar biasa
public function audienceCatalog(): array
{
    return ['label' => 'My Billing Platform', 'keys' => [
        ['key' => 'unpaid_invoices', 'label' => 'Unpaid invoices (count)', 'type' => 'number'],
        ['key' => 'pending_orders',  'label' => 'Pending orders (count)',  'type' => 'number'],
        ['key' => 'client_status',   'label' => 'Client status',           'type' => 'text'],
    ]];
}

public function audienceFlags(array $identity): array
{
    // $identity = verified token payload: ['email' => ..., 'id' => ..., 'name' => ...]
    $email = strtolower(trim((string)($identity['email'] ?? '')));
    if ($email === '') return [];
    $client = $this->api('GetClient', ['email' => $email]); // your platform call
    if (!$client) return []; // unknown client -> return [] (fails CLOSED)
    return [
        'unpaid_invoices' => (int)$client['unpaid_count'],
        'pending_orders'  => (int)$client['pending_orders'],
        'client_status'   => (string)$client['status'],
    ];
}

Peraturan kontrak

Anjurkan kemampuan

Tambah 'promo_audience' Ke penghubungmu capabilities() array sehingga platform dan marketplace mencantumkannya sebagai audien-capable (pengemuan juga bekerja dari kehadiran metode, tetapi menyatakan itu adalah sinyal bersih). Pra-dipasang connectors/whmcs Konektor adalah implementasi referensi penuh.

Nama kunci origami

Huruf _kecil pada huruf kecil, 2-60 Karakter-karakter bool, pencocokan ^[a-z0-9_]+$. Tipe: nomor, teks, bool. Kunci yang tidak dideklarasi dikembalikan oleh audiensFlags() masih dapat digunakan dalam aturan, tetapi menyatakan semua yang Anda mendukung sehingga admin dapat melihatnya.

Identiti telah disahkan

The $identity array comes from the signed widget identity token issued by the customer site at login, never from client-supplied fields. If your platform cannot resolve the identity, return an empty array.

Kegagalan · selalu ditutup

Pada kesalahan apapun (API Sebuah aturan yang faktanya hilang membuat kampanye TIDAK menunjukkan. Sebuah target palsu tidak boleh mencapai orang yang salah; OpsIQ Dia juga memberlakukan ini dalam pertandingan peraturan.

Prestasi

audiensFlags() disebut paling sering sekali per penyambung per tampilan halaman, dan HANYA ketika kampanye yang diterbitkan benar-benar menggunakan aturan platform Anda. Pengunjung anonim biaya Anda nol panggilan. Simpan untuk 1-2 API Panggilan dari maskapai; OpsIQ Memoizes dalam permintaan.

Operator disediakan secara gratis

Admin - admin menggabungkan kunci Anda dengan =, !=, >, >=, <, <=, berisi, ditetapkan, kosong, Anda hanya memberikan nilai.

Token Personalisasi

Setiap fakta dua kali lipat sebagai variabel dalam salinan kampanye: {unpaid_invoices}, {client_status}, ditambah built-in {first_name} Dan {client_email} Nilai-nilai disanit sebelum penerapan.

Tidak ada kode pasar penyambung

Fakta-fakta yang bersifat otomatis

Kolaratif (Fir'aun)JSON-hanya) marketplace connectors get promo_audience for FREE: jika konektor Anda menyatakan pelanggan/pengguna, faktur, pesanan atau langganan sumber daya, OpsIQ ¡Oirves customer_status, uncomed_invoices, aman_due_dual, laden_orders, active_subscriptions dan langganan_status dari aksi pencarian anda yang sudah ada. Tidak ada kode sama sekali.

Katalog langganan (setting.json)

Add an audience_capabilities object · {"label": "My Platform", "keys": [{"key": "open_carts", "label": "Open carts", "type": "number"}]}, to control exactly which facts (and labels) appear in the studio dropdown.

Keberanian Anda

1
Memaktifkan konektor

Connectors > your connector > Enable. Then open any campaign's Targeting tab. Your platform must appear under "Client & billing (connectors)".

2
Membina aturan

Tambah: Platform anda · kekunci · >= · 1 dan tetapkan "Klien yang log masuk sahaja". Simpan dan terbit.

3
Tentukan kedua arah

¡Conggoin masuk ke platform anda sebagai klien yang sesuai dengan aturan (popup harus menunjukkan) dan sebagai orang yang tidak (popip harus tetap tersembunyi). Pengunjung yang terdaftar-keluar tidak pernah cocok dengan peraturan log-masuk.

Kepecatan kampanye dari kodemu sendiri (kecewaan langganan)

Mengapa

Di luar pemicu bawaan (delay, scroll, exit-intent, idle, klik, pages-viewed, chat / kegiatan tiket), Anda dapat menembakkan kampanye dari mana saja di situs atau konektor depan-end, setelah langkah pemeriksaan sukses, ketika gerobak ditinggalkan, ketika SPA Anda mengubah rute, dll.

Bagaimana

Merencanakan kampanye untuk memicu Kebiasaan Xahford dengan nama peristiwa (misalnya. checkout_failed), kemudian sebut hook global dari halaman Anda:

Situsmu / konektor depan JS
// Any campaign whose Custom trigger event matches will be evaluated
// (it still respects targeting, frequency caps and audience rules).
window.OpsIQPromo && window.OpsIQPromo.fire('checkout_failed');
💡
Ini hanya akan melepaskan \"kapan\" kampanye masih harus melewati setiap aturan (geo, penonton, persetujuan, cap) sebelum menunjukkan.
Panduan lengkap cara-cara-memakai (desain, blok, analitik, A/B, penerbitan) tinggal di Pusat Bantuan In-app dibawah Keangkuhan → Promosi StudioKemampuan di sini ditemukan secara otomatis dari setiap konektor ENABLED dalam penyambung/ atau marketplace_connectors/. tidak ada yang perlu didaftarkan.
Penyambung

Keupayaan sambungan survei (Kontrak 2.2)

iran survey Kemampuan keandalan penyakit memungkinkan setiap pasokan platform memverifikasi adaptor identitas pelanggan, fakta audiens, variabel aman dan kandidat penerima untuk Survey Studio. promo_audience Dan tidak memberikan kepemilikan konektor terhadap survei, tanggapan, analitik atau pengiriman email.

💡
Status Implementasi. Penulisan selesai dan dapat digunakan hari ini: Kontrak Konektor 2.2, SurveyConnectorInterface, panel pembangun yang berdedikasi, dihasilkan SurveyProvider.php, data meta paket dan isolasi konsumsi semua kapal. SurveyConnectorRegistry Kemudahan telah diimplementasikan dan diuji, tetapi belum ada waktu berjalan Survey menyebutnya, sehingga kesehatan penyedia tidak dipermukaan dalam admin UI dan tidak ada paket penyambung yang diterbitkan menyatakan kapabilitas. Signed-token Survei Identity Gateway issuance, targeting dan integrasi variabel, CRM Outreach materialization dan pemetaan provider pertama yang dikirim tetap fase terpisah. Build terhadap kontrak ini sekarang; mengharapkan runtime untuk mulai mengkonsumsinya dalam rilis kemudian.

Tanggung jawab penyedia senilai -

Katalog dan fakta yang menarik

2008-Declare men-type fakta kanonik dan nilai resolve hanya untuk sebuah subjek yang diverifikasi server, terikat ruang kerja. Fakta khas termasuk order_count, last_order_status, uncelled_order-count, customer_create_at, active_subscription_count (invoice_count), past_due_invoic_count dan open_ticet_count.

Katalog dan nilai variabel Daftarbel

¡Ogodi Declare customer, akun, pesanan, langganan dan dukungan variabel dengan tipe, sensitivitas dan konteks yang diizinkan. Salinan survei memerlukan fallback dan output-context melarikan diri.

Pengirim pesan

Secara opsional, para kandidat untuk CRM Outreach dengan ID eksternal yang stabil, halaman terbatas, kursor deterministik dan data meta terkait persetujuan. Survei membekukan audiens terpilih sebelum mengirim apapun.

Identitas

Dari situs Survey Identity Gateway setelah tanda token, ekspiri, tujuan, penyambung dan verifikasi ruang kerja.

Kesehatan waktu kerja

SurveyConnectorRegistry dirancang untuk melaporkan penyedia yang kompatibel, terblokir dan tidak tersedia tanpa membongkar pengaturan, jalur, identitas mentah atau pesan pengecualian, dan sebuah provider terblok tidak pernah dapat dipanggil. Permukaan pelaporan belum terpapar dalam admin UI: hari ini penyedia yang diblokir hanya inert.

Aturan gagal yang telah dilampirkan

Kunci tidak dideklarasi oleh codes, tipe salah, nilai yang terlalu besar, ketidakcocokan subjek, waktu pertemuan dan identitas yang tak diketahui ditolak. Sebuah aturan penargetan yang membutuhkan fakta yang tidak tersedia tidak cocok. Halaman penerima capped dan audited. Nilai sensitif tidak pernah muncul dalam pratinjau umum atau log.

Gerbang pembebasan Builder

Contract 2.2 ships the capability registry entry, interface, Survey mapping panel, generated SurveyProvider.php, Versi kapabilitas, referensi README/developer dan conformance fixtures. Commerce, helpdesk, jembatan SaaS dan profil PHP lokal termasuk didalamnya; Standard API konektor opt in. Gerbang statis menolak penyedia Survey yang menyebut sebuah ruang nama Promosi, tabel atau kapabilitas.

💡
Macandon dari Promosi adalah impor-hanya: Builder mungkin menerjemahkan pemetaan Promotion kompatibel sekali, menyimpan salinan dan rekaman Survey-owned lengkap yang terbukti. Menghapus atau mengubah pemetaan Promosi tidak boleh mengubah perilaku Survei.
Penyambung

Kapabilitas umpan balik balasan netwitch (Kontrak 2.2)

iran reply_feedback Kemampu kapabilitas cermin platform sendiri per-reply rating ke OpsIQ Seorang bintang pelanggan memberikan jawaban staf di dalam WHMCS Wilayah kliennya mendarat di balasan SAMA di OpsIQ Benang admin sistemd, dengan chip, kredit agen, masukan halaman Feedback dan komputasi Kinerja Tim & sebagai peringkat yang diberikan pada OpsIQ Satu penyimpanan, satu chip, satu pipa; konektor hanya diterjemahkan.

Satu-satunya jalan menulis

Ada dua jalur masuk dan satu kebenaran. tiket portal OpsIQ _- tulis secara native tiket platform mengalir melalui konektor, dan inti tanah setiap acara melalui ReplyFeedback::recordMirrored()Kolom yang sama, aturan staf-satu-satunya, satu-berganti-per-berulang-baru-menang semantik, stempel ruang kerja dan Voice of Customer indeks penulisan portal menggunakan. Seorang konektor tidak pernah menulis baris umpan balik itu sendiri.

Konforming (empat berkas, kemudian re-sign)

1
connector_contract.json

Add the capability. reply_feedback entry: versi 1.0_, ReplyFeedbackConnectorInterface, metode replyFeedbackCatalog dan pullReply Feedback, menyiratkan inbound_ticet.

2
settings.json

Tambah rep_feedback ke daftar kapabilitas. Inilah yang dibaca penemuan konektor.

3
spec.json

Declare reply_feedback. modes (poll dan/atau webhook) dan skala rating platform. Inilah yang dibaca oleh gerbang konformance.

4
Kelas waktu kerja Jerman

Implementasi antarmuka, list reply_feedback in capability(), kemudian menandatangani ulang paket.

Tanggung jawab penyedia senilai -

Katalog

Mode deklare, skala rating platform sendiri (core normalises to native 1-5Katalog harus setuju dengan spesifikasi.json.

Terjemahan Fell

Dia tidak pernah menulis.

Kekurangdataan

quest_id adalah stabil per STATE feedback, sehingga acara yang diputar ulang merupakan no-op dan overwrite rating yang berubah (terakhir menang, seperti portal).

Kursor disiplin

Halaman zombi terikat dan deterministik; kursor yang tidak maju mengakhiri run.

Keselamatan Probe

Dengan tanpa konfigurasi, kembalikan halaman kosong yang lengkap daripada melempar. Pelari conformance probe dengan argumen kosong.

Resolusi gagal-ditutup

Intinya menyelesaikan setiap peristiwa kepada jawapan setempat oleh penanda cermin yang cermin tiket sudah stamp (<slug>:<ticket>:reply:<reply>). Suatu peristiwa yang tidak dapat diselesaikan dijatuhkan, tidak pernah ditebak; umpan balik hanya melekat pada jawaban staf; dan kredit agen selalu berasal dari penulis yang ada jawabannya. Penulisan peringkat tidak pernah mengubah kepengajar. Inilah sebabnya kemampuan diperlukan inbound_ticket OR atau ORANG ticket_mirror.

Contoh kegojokan: WHMCS_

WHMCS _simpan client-rea per-reply peringkat bintang dalam tblticketreplies.ratingItu. WHMCS penyambung menyatakan mode jajak pendapat dengan 1-5 skala, kapal a ticket_reply_ratings Perintah estafet dalam file jembatan, dan menerjemahkan setiap baris ke dalam sebuah peristiwa yang id cocok whmcs:<ticket>:reply:<reply> markers its ticket mirror already stamps. After upgrading the connector, re-copy the bridge file to the WHMCS server so the new command exists there.

💡
Kontrak pemaju penuh dengan antaramuka, bentuk peristiwa, peraturan normalisasi dan senarai semak keserasian: doc/contracts/TICKET_REPLY_FEEDBACK_CAPABILITY.md Di dalam OpsIQ Penerimaan: tingkatkan balasan di dalam platform, tunggu untuk jajak pendapat per jam, dan jawaban yang sama di OpsIQ© menunjukkan chip, halaman Feedback mencantumkannya, dan acara yang diputar ulang tidak mengubah apa-apa.
Penyambung

Pasaran penghubung

Kedai Pasar memungkinkan Anda menemukan, memasang, dan menerbitkan konektor yang dibangun oleh masyarakat.

Zurich Marketplace
Pasaran penghubungDari jaringan yang dapat dicari dari kartu konektor komunitas dengan kategori, install button dan rating bintang.Pasaran penghubungRuang kerja ERJKonektor pencarian...Amerika/Ocean CalendlyJadualInstal★ 4.8HubSpotORMA CRMInstal★ 4.6KeledaiE-mailInstal★ 4.7QuickBooksAkuntansi KesarjanaanInstal★ 4.5BAHWASMSInstal★ 4.9NotionDokumenInstal★ 4.41DISCOVERKonektor Komunitas2INSTALLSatu klik3PUBLISHSign & serahkan milikmu
Layari konektor komunitas, pasang dalam satu klik, atau tanda tangan dan publikasikan sendiri, pra-pasang dan marketplace tiers keduanya dapat dicari.

Memerlukan dan memasang konektor

1
Layari hingar

Cari dengan nama, kategori, atau platform.

2
Ulasan

Periksa deskripsi, tindakan yang didukung, dan rating.

3
Instal

Pasang Klik Pembuka paket unduhan dan pasang ke pemaut_saran/.

4
Konfigurkan

Hidupkan dalam Konektor, masukkan API kredensial, dan uji.

Penerbitan sebuah penyambung

1
Bina dan uji coba

Gunakan konektor Builder.

2
Paket Ubuntu

Khadikan generic profile.json Tindakan.json Pengetahuan.json, dan berkas PHP.

3
TEkan Tanda Tangan

Run php tools/sign_connector.php <slug> to sign ONE package (it also accepts a path). It does not boot OpsIQ, so give it the key: either --key=<secret> or the OPSIQ_CONNECTOR_SIGNING_KEY environment variable, otherwise it stops with "No signing key available". tools/resign_all_connectors.php re-signs EVERY package on the install and reads the key from settings by itself, but it can also mint a NEW install-wide signing key, so reach for it only when that is what you want.

4
Merahkan

Upload melalui aliran pengiriman pasar untuk ulasan.

Dua penyambung tiers

Konektor/ — apa yang sebenarnya berjalan

Semua yang ada di sini adalah langsung: konektor yang memiliki kapal dengan OpsIQ, apapun yang dipasang dari pasar, dan apa pun yang diterbitkan oleh Penyambung Builder pada pemasangan ini.

marketplace_connectors/ — dimana paket-paket diberi wewenang

Penerbitan SUMBER untuk paket pasar pihak pertama. Ini bukan akar penemuan: tidak ada yang hidup sampai dipaketkan, ditandatangani, disemai ke katalog dan dipasang, pada titik mana sebuah salinan tanah dalam konektor/.

💡
Sebuah paket yang Anda tulis di bawah marketplace_connectors/ bukanlah salinan yang berjalan — memasangnya ke dalam konektor/, dan hanya salinan itu ditemukan pada waktu jalan.Stripe, BigCommerce, Magento2, PrestaShop, OpenCart, Amazon SES, Postmark dan Resend adalah semua paket marketplace: pasang satu sebelum mengharapkan untuk menemukannya di Konektor.
Pembangun

API dan pembangun webhook

The API and Webhook Builder lets you create custom API endpoints and webhook listeners inside OpsIQ without writing raw PHP.

API pembuat
API dan pembangun webhookWhatspermanger memilih tipe pemicu (inbound webhook, jadwal, acara, manual) yang feeding ke dalam aksi yang dapat dikonfigurasi.API & pembangun webhookRuang kerja ERJPENCETUSBidik web yang tidak masuk akalJadwal (kron)OpsIQ eventManual UmuNameAksiPetakan medan masuk →Mewujudkan tiket / notifikasi / panggilan API_Simpan titik akhir1TRIGERSParameter url-status= yang tidak diketahui akan diabaikan (bantuan)Pemeliharaan CS1: Bahasa yang tidak ada (link)2NO RAW PHPDibangun di UI3TINDAKANMedan Peta, kemudian jalankan
Build endpoint tanpa PHP mentah: pilih pemicu (inbound webhook, jadwal, acara atau manual), kemudian peta medan ke suatu tindakan.

Pencetus

Peristiwa

Lari ketika sesuatu terjadi di OpsIQ, atau ketika sistem eksternal memposting acara yang cocok ke webhook Anda URL Ketik nama acaranya, misalnya tiket.

Jadwal

Anda tidak perlu mengingatnya.

Frasa

Andai saja ada admin yang meminta AI dalam bahasa biasa, tambahkan frasa yang harus dicocokkan, misalnya cari pelanggan.

Bidik web yang tidak masuk akal

Sebuah sistem eksternal mengirimkan HTTP POST ke Anda OpsIQ webhook URL Setiap pemicu mendengarkan peristiwa kebakaran itu.

Hanya menjalankannya kadang-kadang: kondisi

Pemicu peristiwa dapat membawa kondisi, sehingga hanya berjalan ketika data masuk cocok. Tanpa syarat itu berjalan setiap kali kebakaran terjadi.

Sibuk

Sebuah jalur ke dalam data peristiwa. Gunakan titik untuk nilai bersarang, misalnya customer. email.

Padankan semua atau apapun

KANTOR Pilih apakah setiap aturan harus cocok, atau hanya salah satu dari mereka.

Tes teks

==, tidak sama, berisi, tidak mengandung, dimulai dengan, adalah salah satu dari, bukan salah satu. Pencocokan mengabaikan modal.

Uji Nomor Urut Infanx

AVA lebih besar dari, setidaknya, kurang dari, paling banyak. Angka ditulis sebagai teks masih dibandingkan dengan benar.

Tes Presensi

Æða ada, hilang, kosong, tidak kosong.

Hanya halaman on-call engineer untuk tiket mendesak

Skenario:
Event ticket.created, with one rule: priority equals urgent.
Apa yang harus dilakukan:

Aksinya berjalan untuk tiket yang mendesak dan dilewatkan untuk hal lain.

💡
Jika Anda meninggalkan aturan kosong pemicu berjalan pada setiap acara yang cocok, yang perilaku sama seperti sebelum kondisi ada.

Tindakan

Kirim webhook

Kirim HTTP POST ke URL eksternal dengan muatan suai.

Buat tiket

¡Atas membuat tiket dukungan dengan departemen, subjek, dan pesan yang telah ditentukan.

Kirim email

Kirim email dengan templat tersendiri.

Catatan terbarui oleh technical record

Update pelanggan, tiket, atau rekaman CRM.

Tindakan run konektor

¡OUG melakukan tindakan terdaftar dari konektor yang diaktifkan dengan izin penghubung dan peraturan pengesahannya.

Jalankan OpsIQ Umum API _Aksi

Kendari pencarian lengkap yang bernama General API catalog. Fields, skop, izin, konfirmasi, idempotency dan dukungan dry-run berasal dari kontrak aksi langsung; alur kerja mengeksekusi di dalam konteks ruang kerja dan administratornya yang disimpan.

Permintaan API _parent pengirim penyedia

Umu Nama Asli Konektor API Baca atau sahkan Penduduk Asli API Tindakan tulis bila titik akhir penyedia tidak memiliki tindakan yang terkekang. Bukti kelayakan tetap berada di dalam konektor dan hanya jalur penyedia relatif diterima.

Pembangun Aksi & Pemicu, /api/v1.php, OpenAPI dan Tukang Pos menggunakan ActionContractRegistry yang sama, sehingga tindakan yang dapat dipilih tidak dapat hanyut dari dokumentasi runtime.
Pembangun

Buku masak Pemicu Pemipu

Resep pemicu-aksi yang siap-digunakan untuk automasi umum.

Bagaimana cara kerjanya
Buku masak Pemicu PemipuAliran resep: sebuah uptime. down webhook melewati filter produksi, kemudian fans keluar untuk membuat tiket mendesak dan memberitahu Slack.uptime.downmonitor webhookjika dihasilkanfilterBuat tiket pentingBeritahu Slack #ops
Buku masak Pemicu Pemipu

Auto-create tiket dari pemantauan

Skenario:
Monitoring system sends POST when server goes down.
Apa yang harus dilakukan:

Trigger: Inbound webhook Condition: payload.status = "down" Action: Create ticket · Dept: Technical, Subject: "Server {{payload.hostname}} down", Priority: Urgent

Pemberitahuan Slack atas perintah besar

Skenario:
Slack message every time a customer places an order over $100.
Apa yang harus dilakukan:

Trigger: Event (order.completed) Condition: order.amount > 100 Action: Send webhook to Slack incoming webhook URL with order details

E-mel digest Mingguan

Skenario:
Summary email to management every Monday at 9am.
Apa yang harus dilakukan:

Trigger: Schedule (Monday 09:00) Action: Send email with last week's stats pulled from the REST API

Escalat tiket basi

Skenario:
If a ticket has no reply for 24 hours, assign to team lead.
Apa yang harus dilakukan:

Trigger: Schedule (every hour) Condition: ticket.status = "Open" AND ticket.last_reply_age > 86400 Action: Assign to team-lead, add internal note

Pembangun

Membina tindakan pertama Anda

Melalui walkthrough ini menciptakan sebuah tindakan konektor sederhana dari goresan.

Membina tindakan
Membina tindakanBentuk aksi-takdefinisi: name lookup_order, sebuah permintaan GET ke /orders/{id}, parameter id tipe, dan lewat 200 Tes.Tindakan baruRuang kerja ERJTindakan baruNamalookup_orderPermintaanGET/orders/{id}Param-paramstring · id · leaderUrutan 200 · yang ditemukan1DEFINENama, metode, titik akhir2PARAMSInput typed kinetik3EST_Hasil langsung 200
Buat satu tindakan dari awal. 200.

Dua jenis aksi

Sebelum kau mulai, putuskan yang mana yang kau butuhkan.

Fighanic Call an external API_

Tindakan tersebut mengirim permintaan HTTP ke platform anda. Pilih ini ketika OpsIQ _perlu untuk menjangkau dan melakukan sesuatu di sisi anda.

Woadin Jalankan tindakan penyambung

Tindakan menjalankan sesuatu penyambung terpasang yang telah disediakan. Pilih ini ketika pekerjaan sudah tersedia dan anda hanya ingin memicunya. Anda memilih tindakan konektor dari daftar, jadi tidak ada yang perlu di-wire up.

Pilihan kedua adalah bagaimana Anda menggunakan kembali semua yang dapat dilakukan konektor Anda tanpa membangunnya lagi: membaca benang tiket, mencari pelanggan, kontak impor, dan sebagainya. Pilih tindakan penyambung dari dropdown dan Anda selesai.
1
Woagon Rencanakan aksi

Example: "lookup_product". Look up a product by name, return price, stock, and description.

2
Takrif dalam tindakan_json

Takrifan aksi:

actions.json — the real manifest shape
{
  "actions": [
    {
      "action_id": "lookup_product",
      "label": "Look up a product",
      "category": "Catalogue",
      "description": "Find a product by name and return price, stock and description.",
      "scope": "admin",
      "requires_confirmation": false,
      "is_destructive": false,
      "delivery_type": "http",
      "http_method": "GET",
      "http_url": "/api/products/search",
      "parameters": [
        { "name": "name", "type": "string", "required": true, "in": "query",
          "description": "Product name to search for" }
      ],
      "returns": [
        { "alias": "id",          "path": "data.id",             "type": "string" },
        { "alias": "name",        "path": "data.name",           "type": "string" },
        { "alias": "price",       "path": "data.price",          "type": "number" },
        { "alias": "stock",       "path": "data.stock_quantity", "type": "number" }
      ]
    }
  ]
}
⚠️
Three things that make an action fail to register at all. action_id is REQUIRED and must be 2 to 100 characters of lowercase letters, digits and underscores — an entry without one is rejected outright. The manifest is an object with an "actions" LIST, not a map keyed by action name. And response mapping is "returns" with DOTTED paths (data.id), not JSONPath ($.data.id) — there is no "response_mapping", "method", "endpoint" or "params" key anywhere in the registry.
3
Uji dengan kering-lari

Dalam langkah Connector Builder's Review, tekan Dry run. Ini menjalankan daftar cek konformance penuh terhadap paket Anda dan, ketika Anda telah memberikan kelayakan, membuat tes koneksi nyata. Tidak menggunakan data sampel.

4
Penggunaan AI tentusah secara exvery

AI untuk mencari dan menjalankan aksi.

⚠️
Menambah tindakan ke tindakan.jsonTIDAK membuat rute AJAX, jadi tidak ada yang perlu diregenerasi. Tindakan konektor diselaraskan keOpsIQAWAL ketika penyambung diaktifkan atau pengaturannya disimpan: simpan kembali konektor dan tindakan baru muncul. tools/gen_route_registry.php meliputi admin AJAX dispatch dan tidak memiliki bantalan pada tindakan penghubung.
Pembangun

Titik akhir peristiwa yang tidak terbatas

Inbound endpoints accept signed JSON from another system and turn it into deduplicated contact activity that can feed timelines, scoring and workflows.

Skrin produk
Titik akhir yang tidak terbatasSetiap sumber masuk memiliki sumber sendiri URL, rahasia, pemetaan dan hasil aktivitas baru-baru ini.Titik akhir yang tidak terbatasRuang kerja ERJSUMBER5ACCEPTED12.4kREJECTED18ORANG KERJA HIDUPPlatform Billingacara LanggananKesehatanAplikasi produkAcara pendaftaran dan penggunaanKesehatanID Peristiwaprovider_event_iddargupe_Tandatangan- X-OpsIQ-Signature-InboundOOB HMAC1CREATE SOURCEURL Rahasia dan rahasia2MAP PAYLOADEmail, acara dan ID3VERIFYHMAC kemudian menelan
Setiap sumber masuk memiliki sumber sendiri URL, rahasia, pemetaan dan hasil aktivitas baru-baru ini.

Create one source per sending system. OpsIQ generates a URL/token and secret. Send JSON with Content-Type: application/json Dan tanda tangan mayat mentah yang tepat menggunakan HMAC-SHA256:

X-OpsIQ-Inbound-Signature: sha256=<hex hmac>

Peta laluan JSON untuk emel kenalan, nama acara dan ID acara opsyenal. ID acara adalah kekunci deduplikasi yang disukai. Aktiviti diterima memasuki garis masa kenalan dan boleh mempengaruhi skor lead, segmen, peraturan siklus hidup dan aliran kerja.

FOGN menolak tanda tangan yang tidak sah sebelum menghurai data bisnis. Putar rahasia dengan memperbarui kedua belah pihak di dalam jendela yang dikendalikan; jangan log rahasia.

Pembangun

Operasi webhook luar angkasa

Administrasi webhook yang luar biasa menciptakan langganan yang ditandatangani, titik akhir tes dan monitor pengiriman asinkron dan retry kesehatan.

Skrin produk
Biok web luar biasaHalaman webhook outbound Daftar titik akhir HTTPS, langganan acara, kesehatan pengiriman dan tes satu klik ditandatangani.Biok web luar biasaRuang kerja ERJENDPOINTS7SUCCESS99.2%MENANGIS4ORANG KERJA HIDUPCermin CRMKontak.* dan kesepakatan.*KesehatanSodium Support busTiket.* dan chatting.*KesehatanGudang Data*Cuba lagiKiriman tesMuatan sampel yang ditandatangani oleh signedSiap1SUBSCRIBEHTTPS URL and events2AUTHENTICATETanda tangan HMAC untuk nama pengguna3OBSERVERel dan retrie
Halaman webhook outbound Daftar titik akhir HTTPS, langganan acara, kesehatan pengiriman dan tes satu klik ditandatangani.

Administrator penuh yang membuat titik akhir HTTPS, memilih peristiwa khusus atau wildcard, menyimpan rahasia dengan aman dan mengirim tes.OpsIQ\"Dirawat-nya\" denganHMAC-SHA256:

X-OpsIQ-Signature: sha256=<hex hmac>

Pastikan tanda tangan sebelum deserialising atau bertindak. Pengiriman adalah asinkron dan secara otomatis dicoba lagi setelah kira-kira 1 minute, 5 minutes, 30 minutes, 2 hours and 12 hoursGunakan rel yang baru-baru ini untuk memeriksa status, kode respon dan hitungan percobaan.

Penerimamu harus tidak berdaya karena setiap sistem sinkron bisa redeliver. mengembalikan respon 2xx hanya setelah penerimaan yang tahan lama.

Pembangun

Webhook

Webhooks membiarkan sistem eksternal memberitahu OpsIQ Bila terjadi sesuatu (dalam perjalanan), dan biarkan OpsIQ Kogminal sistem eksternal ketika sesuatu terjadi secara internal (outbound).

Webhook
Biok web luar biasaLayar webhooks outbound: tabel titik akhir dengan nama, peristiwa yang dilanggan, titik status pengiriman terbaru, dan tombol Ujian-Hantar.Biok web luar biasaRuang kerja ERJTitik akhir UkiranTitik akhir SimpanNAMAKEPADAKEHILANGSlack#Valertshttps://hooks.slack.com/…Diciptakan, dijualUjiCermin CRMhttps://api.acme.com/hookKontak.*, tiket diciptakanUjiZapierhttps://hooks.zapier.com/…chat.startedUji1ENDPOINTSNama, peristiwa, URL_2SIGNEDHMAC + auto-cuba semula3SEND TESTKiriman verifikasi untuk provery
Layar outbound-webhooks yang sebenarnya: setiap titik akhir dengan acaranya, kesehatan pengiriman terbaru, dan tes satu klik Kiriman, ditandatangani dan dicoba kembali.

Biok web luar biasa

Langganan

Ke Tetapan > Jatik Web. Tambah titik akhir URL dan pilih acara yang akan diterima.

Peristiwa Lenyap

Diciptakan. compeed, ticket. replied, chat. started, chatt. message, order. completed, crm. deal. stage_changed, crm. contact. created, dll.

Cuba lagi

Penghantaran gagal cuba semula dengan backoff eksponen. Selepas 15 kegagalan berturut-turut, titik akhir dilumpuhkan secara automatik.

Menandatangan

Setiap permintaan termasuk tanda tangan HMAC dalam X-OpsIQ_-Signature.

Perlindungan SSRF

OpsIQ Tidak akan dikirim ke swasta/dalam IPs (127.x, 10.x, 172.16.x, 192.168.x, 169.254.169.254).

Kiriman segerak

Webhooks disampaikan melalui antrian kerja, bukan menghalangi operasi OpsIQ _.

ID peristiwa yang Staable

Setiap acara memiliki event_id unik yang tetap sama melintasi retries untuk dedukasi.

Tanda tangan webhook yang tentusah

PHP PHP · sahkan tandatangan webhook
<?php
$payload   = file_get_contents("php://input");
$signature = $_SERVER["HTTP_X_OPSIQ_SIGNATURE"] ?? "";
$secret    = "opsiq_whsec_your_secret";

$expected = hash_hmac("sha256", $payload, $secret);
if (!hash_equals($expected, $signature)) {
    http_response_code(401);
    exit(json_encode(["error" => "Invalid signature"]));
}

$event = json_decode($payload, true);
// Process the event...
http_response_code(200);
echo json_encode(["received" => true]);
AWAS Node. js, periksa tandatangan webhook
const crypto = require("crypto");

app.post("/opsiq-webhook", (req, res) => {
    const payload  = JSON.stringify(req.body);
    const sig      = req.headers["x-opsiq-signature"];
    const expected = crypto.createHmac("sha256", "opsiq_whsec_xxx")
        .update(payload).digest("hex");

    if (!crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(sig || "")))
        return res.status(401).json({ error: "Invalid signature" });

    console.log("Webhook:", req.body);
    res.json({ received: true });
});
Apa yang harus saya lakukan untuk menguji webhooks di daerah setempat?+

Guna ngrok untuk mengekspos server lokal Anda. Tetapkan titik akhir webhook ke ngrogk URL_ Anda.

Bagaimana jika titik akhirku sementara turun?+

OpsIQ retries with exponential backoff. If your endpoint recovers within the retry window, no events are lost.

Pembangun

Kunci API

API Permintaan otentikasi kunci ke server OpsIQ EST API Setiap kunci memiliki izin terskop.

Kunci API
Kunci APILayar kunci API _be_Nexa: panel terbitan dengan tingkat akses dan chip skop, di samping daftar tombol bertopeng yang ada dengan tombol dibatalkan.Kunci APIRuang kerja ERJKeluarkan kunciAksesHanya Baca-bacaDilarangSkopcontacts.readtickets.readevents.writeKuncinya adalah:KuncimuIntegrasi Zapieropq_•••·4f2aBatalAplikasi mobileopq_•••·91c7BatalEkspor analisis statistikopq_•••·2db0Batal1SCOPEDHanya baca-saja atau terbatas2PER-ACTIONAmbil skop yang tepat3REVOCABLEPutar kapan saja
Layar kunci API yang nyata: mengeluarkan kunci terskop, baca-saja atau terbatas dengan memilih skop yang tepat, dan mencabut kunci apapun kapan saja.

Mencipta sebuah kunci API

1
Pergi ke Tetapan > API Kekunci _Tipta:

Navigasi ke manajemen kunci API.

2
Klik Untuk Cipta Kunci

Berikan nama deskriptif.

3
Pilih skop

Berikan kunci hanya apa yang diperlukan. Skop datang dalam membaca dan menulis pasangan per area, sehingga sebuah integrasi pelaporan dapat diberikan baca dan tidak ada lagi.

Skop yang ada

Pilih set tersempit yang melakukan pekerjaan. admin Jadi gunakan saja hanya jika Anda benar-benar membutuhkan akses luas.

¡crm. read / crm. write

Kenalan, perusahaan, perjanjian, kegiatan, segmen, outreach, konversi, lifecycle dan webhook CRM.

Tiket. read / tiket. write

Daftar dan baca tiket dan pesan mereka; balasan, pembaruan, terbuka dan jalankan operasi antrian pukal.

Percakapan. read / percakapan. write

¡Ochat live-chat percakapan dan riwayat pesan; mengirim pesan, menetapkan dan mengubah status.

kinch

Entri pangkalan pengetahuan.

read / chat. write

Templat balasan yang disimpan.

connectors.read

Lihat konektor mana yang dipasang, apa yang bisa mereka lakukan, dan uji kelayakan mereka.

automations.read

Kau lihat tindakanmu, pemicu dan sejarah mereka.

departments.read

Departemen-Departemen Waffeogon tersedia untuk routing.

notifications.read

Pemberitahuan palsu untuk operator bernama.

analytics.read

Seksi Laporan , CSV ekspor dan definisi laporan terjadwal.

Situs_intelijen. read

Situs yang dipantau dan laporan SEO mereka.

files.read

Tautan unduhan yang ditandatangani oleh UDUR untuk lampiran.

status.write

Status komponen halaman dan insiden.

writing

AI witter pembantu: draft, summarise, translate, critripte, compose, analisa.

sistemdya

Semuanya, termasuk sejumlah kecil tindakan sensitif yang sengaja tidak dapat dijangkau oleh lingkup sempit manapun: menghapus kontak, mengubah pengaturan privasi, dan membaca log akses.

💡
Panggil meta. actions dengan kunci anda untuk melihat persis apa yang dapat dijalankan pada pemasangan anda. yang selalu lebih dapat diandalkan daripada bekerja dari daftar.

Aras akses universiti

Semua

Kuncinya mungkin akan memanggil apapun yang memungkinkannya.

Hanya Baca-baca

Setiap tulisan ditolak, apapun yang diskop katakan pilihan paling aman untuk melaporkan, dashboard dan apa pun yang tidak boleh mengubah data.

Dilarang

Kau daftarkan tindakan yang tepat yang mungkin dihubungi kunci.

4
Salin kunci

- Simpanlah dengan aman.

🚫
Tidak pernah berbagi API kunci di kode publik, client-side JavaScript, atau kontrol versi. Gunakan variabel lingkungan.
Pembangun

Situs webmu disambungkan

The OpsIQ widget is a JavaScript snippet you add to your website for tracking, AI chat, ticket creation, and customer identification.

Bagaimana cara kerjanya
Situs webmu disambungkanSebuah tag skrip satu baris di kiri dan, di kanan, halaman web dengan gelembung OpsIQ chat muncul di sudut.<!-- paste before </body> --><script src="https://cdn.opsiq.io/w.js" data-site="ws_8a2f" async></script>
Situs webmu disambungkan

Pemasangan Asas .

snippet widget dasar snippet
<script src="https://your-opsiq-domain.com/widget.php"
  data-site-key="site_abc123"
  async></script>

Paste before the closing </body> tag. The script loads asynchronously and does not block page rendering.

Atribut konfigurasi ahli

data-site-key

Kunci situsmu dari Situs Tersambung.

data-mode

Opsyenal. "chat" (piawai), "tickets", atau "both".

data-position

Opsyenal. "kanan bawah" (piawai) atau "kiri bawah".

data-color

Kode heksa warna primer.

data-greeting

Pesan ucapan awal.

data-language

Opsyenal. Bahasa UI: "en", "es", "fr", "de", "pt", "ar", dll

data-identity-token

- Sebuah server yang menghasilkan token identitas.

Dukungan SPA

Pelacakan rute Manual SPA Manual
// Manually notify OpsIQ of a route change (for custom routers)
window.OpsIQ = window.OpsIQ || [];
window.OpsIQ.push(["pageview", {
  url: window.location.href,
  title: document.title,
}]);

orgorgorg=2

Peraturan CSP untuk widget
script-src 'self' https://your-opsiq-domain.com;
connect-src 'self' https://your-opsiq-domain.com;
frame-src https://your-opsiq-domain.com;
Apakah widget memperlambat website saya?+

No. Under 15 KB gzipped, loads async after page content.

Apa aku bisa menyesuaikan penampilanmu?+

Guna warna-data untuk warna primer. Dukungan kontak untuk pilihan pembatal CSS _.

Pembangun

Resepi pemasangan Widget

Panduan pemasangan khusus platform.

Bagaimana cara kerjanya
Resepi pemasangan WidgetPlatform pasang kad untuk WordPress, Shopify dan Google Tag Manager, masing-masing menyatakan di mana untuk menambah widget.WANITAWordPressPasang plugin, enterKunci situsmu, simpan.KedaiShopifyTampal snippet ke dalamTema . liquid sebelum /body._Vidania GTMPengurus Tag X. A. G.Tag HTML Custom, semua halaman.
Resepi taplak

WordPress

Skenario:
Add to all pages of a WordPress site.
Apa yang harus dilakukan:

Option 1: Edit theme footer.php, paste snippet before </body>. Option 2: Use "Insert Headers and Footers" plugin > Scripts in Footer. Option 3: Use a child theme footer.php to survive theme updates.

Shopify

Skenario:
Add to your Shopify store.
Apa yang harus dilakukan:

Online Store > Themes > Edit Code > Layout > theme.liquid. Paste before </body>. Save.

React / Next. js

Skenario:
Add to a React or Next.js app.
Apa yang harus dilakukan:

In Next.js, use next/script in app/layout.tsx: import Script from "next/script"; <Script src="https://your-opsiq.com/widget.php" data-site-key="site_abc" strategy="lazyOnload" />

WHMCS

Skenario:
Add to your WHMCS client area.
Apa yang harus dilakukan:

Setup & > Seting Umum > Lain-lain > Kandungan Pengaki Global. Tampal snippet. atau sunting footer. tpl template Anda.

Google Tag Manager

Skenario:
Add via GTM.
Apa yang harus dilakukan:

Bina Kebiasaan HTML Tag, tampal snippet. Pemicu: Semua Halaman. Terbitkan.

Pembangun

Widget Admin edoksi di backend anda (satu kontrak, setiap platform)

Embed the OpsIQ admin assistant — admin chat, ticket inbox and AI Writing — inside YOUR OWN platform's admin panel, so your team never leaves their tools. Like visitor identity and portal SSO, this is ONE generic contract implemented in ~15 lines of your platform's server code — the same pattern Zendesk, Intercom and Discourse use for SSO. There is no per-platform plugin to wait for: any stack that can compute an HMAC can do this today.

Step 1 — garis embed

Dari Remote Sites → your site → Codes, salin baris pemuat dan tambahkan ke halaman panel admin anda (kaki termasuk, templat tata letak, atau kotak custom-JS admin-only):

Satu-garis dibenamkan
<script async src="https://YOUR-OPSIQ/opsiq/embed/admin_widget.php?site_key=SITE_KEY&identity_token=TOKEN_FROM_STEP_2"></script>

Langkah ke -2NiatOpsIQifogles yang mendaftar masuk (server-signed)

Hanya aplikasi ANDA yang tahu admin mana yang ditandatangani — yang bukan kelemahan, itu adalah model keamanan. Server Anda menghasilkan token singkat yang ditandatangani dari sesi Anda sendiri, persis seperti token identitas pengunjung, ditandatangani dengan webhook rahasia situs yang sama:

PHP PHP · tandai identitas admin dari sesi anda
<?php
$secret  = "opsiq_whsec_your_site_secret";   // Remote Sites → Codes
$payload = json_encode([
    "site_key"      => "SITE_KEY",
    "iat"           => time(),
    "exp"           => time() + 6 * 3600,
    "authenticated" => true,          // REQUIRED, top level — see note below
    "platform"      => "your-platform",
    "admin"    => [
        "id"            => (string)$admin->id,      // from YOUR session
        "name"          => $admin->name,
        "username"      => $admin->username,
        "email"         => $admin->email,
        "role"          => $admin->role,
        "authenticated" => true,
    ],
]);
$payload64 = rtrim(strtr(base64_encode($payload), "+/", "-_"), "=");
$identityToken = $payload64 . "." . hash_hmac("sha256", $payload64, $secret);
// Put $identityToken into the embed line (identity_token=…), or expose it as
// window.OpsIQAdminIdentityToken before the loader script.
Akses Per-admin, secara otomatis

Every admin who logs into your platform is matched individually: OpsIQ's per-admin access gate resolves the token's username + email against one OpsIQ agent (Team page; use the agent's "match emails" list when platform emails differ) and applies THAT agent's workspace, department and inbox permissions. New staff member = add the agent in OpsIQ; no embed changes.

Peranan Peranan bersama

Apa pun peran string platform Anda mengirimkan ditunjukkan padaOpsIQSisi UIN untuk atribusi; otorisasi selalu berasal dariOpsIQCatatan agen zodiak, tidak pernah dari peran tegas.

Mengapa tidak membaca kue log masuk kami?

Browsers never send your admin cookie to another origin — no vendor can "just detect" your login cross-domain. Every serious product solves this the same way: your server vouches, signed. That is the whole contract.

Mode sederhana (toko admin-tunggal)

Langkah Skip inda2Dan gunakan token statis dari Situs Jauh→Kode-kode codes dalam garis loader (token=... daripada identity_token =...). Widget bekerja dengan identitas share ruang kerja; gerbang per-admin dapat tetap ditegakkan kemudian ketika tim tumbuh.

iran authenticated Bendera tahbisan — diletakkan di tingkat TOP

This flag is your server's assertion that a human is really logged in, and OpsIQ refuses any token without it. Put "authenticated" => true beside site_key/iat/exp, TIDAK hanya di dalam admin object. Current OpsIQ accepts it in either position, but older releases only read the top level — and the failure is deceptive: conversation list, history and unread all authenticate fine while every chat turn answers "Admin login required"Jika Anda melihat persis bahwa split, periksa bendera ini terlebih dahulu.

Kebersihan Token ifisi

Sign pada server saja, jangan pernah di browserJavaScriptTerus eksp pendek (menit sampai jam);OpsIQMenyalahkan token yang sudah kadaluarsa dan tak akan datang, dan tanda tangan mengikat token ke kunci situs anda.

Perlaksanaan referensi bereformasi

The WHMCS module does this automatically from the WHMCS admin session; the Botble Hotel connector's bridge file does it from the Laravel session (op=admin_identity). Both are just this contract in their platform's dialect — copy whichever reads closest to your stack.

Pengkabelan halaman kosong (prob terdeklarasi-konektor)

Ketika AndaOpsIQKonektor menyimpan titik akhir identitas Anda di dalamnya admin_identity_probe_url Tak ada yang menentukan, baris pemuat PLAIN adalah semua halaman admin anda butuhkan: widget menemukan prob dari konektor, menyebutnya dengan kunci situs anda + token widget, dan otentifikasi setiap admin secara otomatis. Halaman masih dapat menimpa dengan sebuah data-identity-endpoint atribut atau atribut mikro atau window.OpsIQAdminIdentityEndpoint.

Implementasi identitas titik akhir pada Laravel (note keras-won)

Jika platform Anda Laravel (Bobble, Bagisto, aplikasi langganan) dan titik akhir Anda adalah berkas yang berdiri sendiri yang mensepakat kerangka kerja untuk membaca admin login, tiga spesifik akan menghemat waktu Anda — masing-masing menghasilkan kegagalan produksi nyata sebelum dipelajari:

Bind the request BEFORE bootstrap

Penyedia jasa Anda di KAU bisa menyelesaikannya request Laravel sendiri mengikat sepeda hidup yang ditangkap permintaan pertama di dalam Kernel::handle() Cermin - cermin yang urutan: $app->instance('request', Request::capture()) SEBEL $kernel->bootstrap(), atau Anda mendapatkan "Target class [request] does not exist".

Prefiks session-cookie HMAC-keyed

Larvel modern prefiks nilai kue denganHMACDENGAN APP KUNCI (CookieValuePrefix) — sebuah dataran sha1(name."v2") Jangan pernah cocokkan dengan itu. CookieValuePrefix::validate($name, $decrypted, $keys), dengan struktur jatuh kembali (40Zahnic chars + | * Di posisi *40Beritahu: sesi id lebih panjang dari40chars (81Awalan = masih melekat) dan sesi yang hanya memuat dengan _token Di dalamnya.

Di mana login tinggal

\"Stempel Authentis\" adalah login_<guard>_<sha1(guard class)> Untuk penjaga web yang baku: 'login_web_' . sha1(Illuminate\Auth\SessionGuard::class)Pindai apapun login_* Kunci numerik α sebagai jatuh kembali untuk penjaga adat.

Umukan seperti jembatan lakukan

Kapal A debug=1 Mode oleof yang memberi nama STEP gagal dan pengecualian — tangkapan buta-semua membuat penyebaran langsung tidak terdiagnosable. Jembatan Botble (dari v1.0.7) adalah referensi: penanda langkah di kernel/bind/bootstrap/decrypt/session/auth/db.

Laravel · lengkap identitas titik akhir (salinan, set kedua konstanta, dilakukan)
<?php
/* identity endpoint · LARAVEL (Botble, Bagisto, any Laravel admin)
 * Drop this in your PUBLIC web root, e.g. /opsiq-identity.php
 * Answers: {"success":true,"authenticated":true,"admin":{...},"identity_token":"..."} */
define("OPSIQ_SITE_KEY", "SITE_KEY");
define("OPSIQ_SITE_SECRET", "opsiq_whsec_your_site_secret");   // Remote Sites → Codes

header("Content-Type: application/json");
$step = "boot";
try {
    require __DIR__ . "/../vendor/autoload.php";
    $app = require_once __DIR__ . "/../bootstrap/app.php";

    $step = "bind";
    // ORDER MATTERS: bind the request BEFORE bootstrapping, or providers that
    // resolve "request" during boot throw "Target class [request] does not exist".
    $request = Illuminate\Http\Request::capture();
    $app->instance("request", $request);

    $step = "bootstrap";
    $kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
    $kernel->bootstrap();

    $step = "session";
    $app["session"]->driver()->setId($request->cookie(config("session.cookie")));
    $app["session"]->driver()->start();

    $step = "auth";
    $user = auth()->guard("web")->user();   // use YOUR admin guard name
    if (!$user) {
        echo json_encode(["success" => false, "authenticated" => false, "error" => "no admin session"]);
        exit;
    }

    $step = "sign";
    $admin = [
        "id"            => (string)$user->id,
        "name"          => (string)($user->name ?? $user->username),
        "username"      => (string)($user->username ?? $user->email),
        "email"         => (string)$user->email,
        "role"          => (string)optional($user->roles->first())->name,
        "authenticated" => true,
    ];
    $payload = json_encode([
        "site_key"      => OPSIQ_SITE_KEY,
        "iat"           => time(),
        "exp"           => time() + 6 * 3600,
        "authenticated" => true,          // TOP LEVEL — required
        "platform"      => "laravel",
        "admin"         => $admin,
    ], JSON_UNESCAPED_SLASHES);
    $p64   = rtrim(strtr(base64_encode($payload), "+/", "-_"), "=");
    $token = $p64 . "." . hash_hmac("sha256", $p64, OPSIQ_SITE_SECRET);

    echo json_encode(["success" => true, "authenticated" => true,
                      "admin" => $admin, "identity_token" => $token]);
} catch (\Throwable $e) {
    // debug=1 names the failing STEP — never ship a blind catch-all
    $err = ($_GET["debug"] ?? "") === "1"
        ? get_class($e) . " at [" . $step . "]: " . $e->getMessage()
        : "identity unavailable";
    echo json_encode(["success" => false, "authenticated" => false, "error" => $err]);
}

Type yang sama pada tumpukan lain

Only the "who is logged in?" line changes — the signing block is identical everywhere. Sign on the server, never in JavaScript.

WordPress · WHMCS· Symfony · PHP biasa — tukar pencarian, simpan penandatangan
<?php
/* The ONE helper every platform shares. Keep it verbatim. */
function opsiq_identity_token(array $admin, string $siteKey, string $secret, string $platform): string {
    $payload = json_encode([
        "site_key"      => $siteKey,
        "iat"           => time(),
        "exp"           => time() + 6 * 3600,
        "authenticated" => true,          // TOP LEVEL — OpsIQ refuses the token without it
        "platform"      => $platform,
        "admin"         => $admin + ["authenticated" => true],
    ], JSON_UNESCAPED_SLASHES);
    $p64 = rtrim(strtr(base64_encode($payload), "+/", "-_"), "=");
    return $p64 . "." . hash_hmac("sha256", $p64, $secret);
}

/* ── WORDPRESS ─────────────────────────────────────────────────────────── */
require_once ABSPATH . "wp-load.php";
if (!current_user_can("manage_options")) { /* not an admin → refuse */ }
$u = wp_get_current_user();
$admin = ["id" => (string)$u->ID, "name" => $u->display_name,
          "username" => $u->user_login, "email" => $u->user_email,
          "role" => implode(",", $u->roles)];

/* ── WHMCS (inside an addon/hook, admin area) ──────────────────────────── */
$aid = (int)($_SESSION["adminid"] ?? 0);
if ($aid <= 0) { /* not an admin → refuse */ }
$row = Capsule::table("tbladmins")->where("id", $aid)->first();
$admin = ["id" => (string)$row->id, "name" => trim($row->firstname . " " . $row->lastname),
          "username" => $row->username, "email" => $row->email, "role" => "administrator"];

/* ── SYMFONY ───────────────────────────────────────────────────────────── */
$u = $security->getUser();                    // Symfony\Bundle\SecurityBundle\Security
if (!$u) { /* not an admin → refuse */ }
$admin = ["id" => (string)$u->getId(), "name" => $u->getName(),
          "username" => $u->getUserIdentifier(), "email" => $u->getEmail(),
          "role" => implode(",", $u->getRoles())];

/* ── PLAIN PHP / your own app ──────────────────────────────────────────── */
session_start();
if (empty($_SESSION["admin_id"])) { /* not an admin → refuse */ }
$admin = ["id" => (string)$_SESSION["admin_id"], "name" => $_SESSION["admin_name"] ?? "",
          "username" => $_SESSION["admin_username"] ?? "", "email" => $_SESSION["admin_email"] ?? "",
          "role" => $_SESSION["admin_role"] ?? ""];

/* ── then, on EVERY stack ──────────────────────────────────────────────── */
$token = opsiq_identity_token($admin, "SITE_KEY", "opsiq_whsec_your_site_secret", "wordpress");
echo json_encode(["success" => true, "authenticated" => true,
                  "admin" => $admin, "identity_token" => $token]);

Bila tidak berhasil, diagnosa dalam urutan ini

Kata konsol, tidak pernah muncul Widget, konsol mengatakan "signed admin identity token is required"

Tidak, tidak. identity_tokenBuka titik akhir URL langsung di dalam peramban admin yang masuk &debug=1 Ini hampir selalu menjadi permintaan atau barang prefix kuki di atas.

Sejarah dan percakapan kerja, tetapi setiap obrolan mengatakan "Admin login required"

Ini adalah pembagian klasik. authenticated Bendera ORANG — titik akhir widget sendiri menerima token, penerang bersama di balik aliran obrolan menolak itu. "authenticated" => true beside exp.

--admin tidak disediakan dalamOpsIQ" Fiji (HTTP401)

The token verified, but its username + email match no OpsIQ agent. Add the agent in OpsIQ → Team, or add the platform email to that agent's match-emails list when it differs from their OpsIQ email.

Keaneka_semua 403s dari peramban tetapi bekerja dengan curl

Sebuah lampu depan sedang menolak salah satu dari tajuk permintaanmu. OPTIONS echo dan gema asal permintaan, atau hindari saja tajuk suai — widget hanya perlu kuki.

Kemarin bekerja kemarin, gagal hari ini

Periksa exp: Tanda-tanda berumur pendek menurut desain. Widget secara otomatis probe, jadi ini biasanya berarti titik akhir berhenti melihat sesi — putaran kunci aplikasi, perubahan session-driver, atau perubahan kuki-domain.

💡
Widget admin untuk mensahkan tersembunyi sampai identitasnya selesai, dan setiap panggilan chat/inbox/data ditegakkan sisi-server terhadap yang cocokOpsIQAgen agen polina terlepas dari apa pun yang dinyatakan oleh halaman. Token membuka UI; ijin selalu berasal dariOpsIQ.
Pembangun

Identitas layorator

Identity connects anonymous visitors to known customers. When identified, OpsIQ links browsing history, chats, and tickets to the customer profile.

Bagaimana cara kerjanya
Identitas layoratorAliran: log masuk pengguna di situs anda, anda mengeluarkan token identitas yang ditandatangani, dan OpsIQ _mengunci sesi, chatting dan tiket ke dalam satu profil.Log masuk ke log penggunaTuk di situsmuTHE THELDIdentiti identitas_token (HMAC)Profil iranfifisessions+ sembangTiket untuk nicket +
Identitas layorator

Dua tingkat identitas, dan ketika masing-masing cukup

Level 1 — an unsigned hint

Kau bilang pada widget siapa tamu dengan dataranJavaScriptIni mengisi email dan id pelanggan pada log pengunjung, jadi dashboard Anda menunjukkan tanda tangan di lalu lintas dan sesi bergabung.OpsIQTak pernah merilis data akun tentang kekuatan itu.

Aras 2 — tanda pengenal

Your server signs a short-lived token with the site webhook secret. OpsIQ verifies the signature and only then treats the person as a proven customer. This is the level that unlocks account answers in customer chat and connector lookups. Use it for anything a stranger must not see.

⚠️
Aras Adonan1Level level2Jika pertanyaan hanya dapat dijawab untuk pemegang rekening yang sebenarnya, Anda perlu Level2.

Aras 1 -- petunjuk tak bertandatangan

MUKA Set objek SEBELUM skrip widget, atau panggilan mengidentifikasi() nanti begitu aplikasi Anda tahu siapa yang ditandatangani. Kedua formulir dibaca; gunakan mana saja sesuai dengan halaman Anda.

JavaScript· kedua bentuk yang didukung
<!-- Form A: set the global before the loader -->
<script>
  window.OpsIQClient = {
    id:    "cust_1001",
    email: "[email protected]",
    name:  "Jane Smith",
    plan:  "pro"
  };
</script>
<script async src="https://YOUR-OPSIQ/widget.php?site_key=YOUR_SITE_KEY"></script>

<!-- Form B: identify later, e.g. after a client-side login -->
<script>
  window.opsiq.identify({
    id:    "cust_1001",
    email: "[email protected]",
    name:  "Jane Smith",
    plan:  "pro"
  });
</script>
⚠️
Only these forms are read: the window.OpsIQClient global, window.opsiqConfig.user, and window.opsiq.identify(). There is no OpsIQ.push(['identify', ...]) queue and no OpsIQClientSignature global — if you find either in an old note, it does nothing.

Aras 2 — token identitas-server

Tepat kontrak token yang sama dengan widget admin, dengan customer Subyek bukannya subjek admin Tanda tangani di server dan berikan ke widget. dua rincian memutuskan apakah itu membenarkan, dan keduanya mudah untuk salah:

The HMAC covers the BASE64URL string, not the JSON

TEkan Tanda Tangan $payload64Tidak $payloadTanda tangan mentah JSON menghasilkan token yang terlihat benar dan ditolak setiap kali dengan tanda tangan tidak cocok.

BARIS base64url, unpadded

Terjemahkan Terjelma +/ ke -_ Dan stripthe = Paddings. Plain base64 terjadi untuk bertahan hidup hari ini; base64url adalah kontrak dan merupakan apa yang setiap OpsIQ pemverifikasi dan referensi connector emitor emitions.

dikonfirmasi pergi di tingkat TOP

Fijiangola_ provinces. kgm site_key, iat BAHWA DAN exp. It is your assertion that a real human is logged in, and OpsIQ refuses the token without it.

pelanggan. id adalah wajib

Sebuah token yang membawa hanya email yang diverifikasi sebagai tanda tangan dan kemudian diam-diam dijatuhkan. selalu kirim sebuah id.

Tetap eksp pendek

Uang itu adalah pernyataan sesi, bukan bukti untuk disimpan.

PHP - tandai token identitas pelanggan (kode ini tepat)
<?php
/* Server-signed customer identity. Runnable as-is: set the two constants. */
$siteKey = "YOUR_SITE_KEY";                        // Remote Sites -> Codes
$secret  = "opsiq_whsec_your_site_secret";         // Remote Sites -> Codes

$payload = json_encode([
    "site_key"      => $siteKey,
    "iat"           => time(),
    "exp"           => time() + 3600,
    "authenticated" => true,                       // TOP LEVEL - required
    "platform"      => "your-platform",
    "customer"      => [
        "id"            => (string)$user->id,      // REQUIRED
        "email"         => (string)$user->email,   // REQUIRED
        "name"          => (string)$user->name,
        "plan"          => (string)($user->plan ?? ""),
        "authenticated" => true,
    ],
], JSON_UNESCAPED_SLASHES);

/* base64url(payload) . "." . hex HMAC-SHA256 OF THAT STRING. */
$payload64 = rtrim(strtr(base64_encode($payload), "+/", "-_"), "=");
$token     = $payload64 . "." . hash_hmac("sha256", $payload64, $secret);

/* Hand it to the widget either way: */
printf(
    '<script async src="https://YOUR-OPSIQ/widget.php?site_key=%s&identity_token=%s"></script>',
    rawurlencode($siteKey),
    rawurlencode($token)
);
// or, if the loader is already on the page:
// echo '<script>window.opsiqConfig = window.opsiqConfig || {}; '
//    . 'window.opsiqConfig.identityToken = ' . json_encode($token) . ';</script>';
🚫
Sebuah token yang dicat dalam browser JavaScript berarti pengiriman rahasia situs kepada setiap pengunjung, yang tangan siapa pun kemampuan untuk meniru pelanggan.

Kontrak yang sama, tiga permukaan

Obtchat pelanggan di situs Anda

Subjek pelanggan, lulus sebagai identitas_token ke widget. php.

Obrolan admin di dalam backend Anda

admin subject, passed to opsiq/embed/admin_widget.php. Same signer, different subject key. See "Admin widget in your backend".

Sogijah Mendukung portal yang dalam

Varian yang lebih ketat: klaim yang sama ditambah jti dan single_use:true, and a120-Kehidupan kedua, karena perjalanan token dalamURLAnda tidak perlu menggulungnya. Pengaturan, Portal Dukungan memiliki snippet yang siap untuk bahasa anda, dan mint platform untuk anda ketika area akun anda berjalan pada server ini.

Bagaimana jika pengunjung membersihkan kue?+

They become anonymous until they are identified again. OpsIQ links the new anonymous record to the customer profile the moment a hint or a token arrives.

Mengapa tanda pengenalku di konfirmasi untuk log pengunjung tapi bukan untuk pertanyaan rekening?+

Itu adalah tingkat1Aras / Tingkatan2Petunjuk yang tidak ditandatangani mengisi log pengunjung dan tidak ada yang lain jawaban akun membutuhkan tanda tangan yang diverifikasi.

Pembangun

Plug dan SDK

OpsIQ Provide SDK Paket dan plugin untuk platform umum.

Bagaimana cara kerjanya
Plug dan SDKfourpackages: PHP SDK, Node.js SDK, WordPress Plugin dan WHMCS Module, masing-masing dengan perintah pemasangannya.PHP KefakiPHP PHP SDKdibutuhkan penggubah nama opsiq/sdkJSNode. js SDK_npm i @opsiq/sdkWANITAWordPress Plugin\"Oplikasi Satu klik\" & connectWHWHMCS Modul* Untuk tagihan + relay tiket *
Plug masuk & SDK
PHP PHP SDK

Paket penggubah: pembuatan token identitas, aksi API pembantu, verifikasi tandatangan webhook.

JavaScript SDK

Sisi-Pelayar: pelacakan, identitas, acara adat, chat control.

WordPress Plugin

Injeksi widget, identitas dari sesi pengguna WP, WooCommerce sinkronis.

WHMCS Modul

Integrasi penuh: widget, relay tiket, identitas, admin AI.

Shopify theme extension

App yang disematkan dengan identitas pelanggan otomatis.

PHP SDK permulaan pantas

Contoh PHP SDK
composer require opsiq/sdk

use OpsIQ\SDK\Identity;
$token = Identity::createToken(
    siteKey: "site_abc123",
    secret:  "opsiq_whsec_your_secret",
    customer: ["id" => "cust_1001", "email" => "[email protected]", "name" => "Jane"]
);

// Call any catalog action over the action API
$ch = curl_init("https://your-opsiq.com/api/v1.php");
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        "Authorization: Bearer opq_your_key",
        "Content-Type: application/json",
    ],
    CURLOPT_POSTFIELDS => json_encode([
        "action" => "crm.contacts.list",
        "status" => "lead",
        "limit"  => 25,
    ]),
]);
$contacts = json_decode(curl_exec($ch), true);
Pembangun

Survei API, peristiwa dan otomatisasi bebas konektor

Studio Survei Survey Bekal dirancang untuk menggunakan General API yang sama bertipe, internal executor, event bus dan webhook operasi sebagai sisa dari OpsIQ_. Hal ini memungkinkan pengembang terintegrasi berakhir tanpa membangun konektor paket.

⚠️
Status inmplementasi: katalog langsung saat ini hanya mengekspos platform.get.survey.config BAHWA DAN platform.save.survey.configItu. surveys.* BAHWA DAN feedback.* Keluarga di bawah adalah kontrak target yang disetujui dan harus kembali unknown_action Nama itu terdaftar.

Keluarga aksi sasaran

Tipe, templat dan peluncuran cepat

surveys.types.*, surveys.templates.* BAHWA DAN surveys.quick_launch.* Daftar, pratayang, instantiate dan validate lengkap starter.

Survei dan versi

surveys.create|get|list|update|archive|duplicate I'mfid ditambah versi, validasi dan penerbitan tindakan.

Ledakan dan target

surveys.deployments.*, surveys.links.*, surveys.audiences.*, surveys.triggers.* BAHWA DAN surveys.variables.*.

Keterlibatan dan tanggapan

surveys.invitations.*, surveys.campaigns.*, surveys.recipients.*, surveys.responses.*- Apa?

Webhook, import dan Suapan Balik

surveys.webhooks.*, surveys.imports.*, feedback.items.*, feedback.analytics.*, feedback.sources.* BAHWA DAN feedback.analysis.*.

Aliran bebas konektor

1
Buat dan publikasikan melalui General API_

Guna typed survey.* tindakan dengan kunci yang dipini ruang kerja. Tulis menyatakan izin, risiko, konfirmasi, idemptensi dan perilaku yang berjalan kering.

2
Terimalah acara bisnismu.

Kirimkan sebuah acara yang ditandatangani ke webhook inbound, misalnya pembatalan pesanan atau selesai pada langkah papan. Replay proteksi menduplikasikan ID acara.

3
Faliagon Map it in Actions & Triggers

Pilihlah orang OpsIQ Umum API Tindakan seperti mengeluarkan undangan Survey atau mempersiapkan kampanye, kemudian memetakan bidang dari muatan pemicu yang telah diverifikasi.

4
Langganan untuk Survey peristiwa

Kirimkan survei aman bisnis yang didokumentasikan.* Subset daur hidup ke titik akhir Anda dengan tanda tangan, filter, coba lagi, log dan replay yang berwenang.

Target acara Canonical

Katalog bersama akan meliputi Survei/deployment menerbitkan keputusan negara, audiens dan pemicu, undangan, render/start/partial/resume/complete/abdon, reaction respon, keadaan kampanye dan kegagalan pengiriman. Fokus volume tinggi, gulungan dan pertanyaan waktu tinggal di penyimpanan Survey Analytics kecuali secara eksplisit didokumentasikan untuk fan-out.

Konektor A oleh odefox adalah opsional. Ini menambahkan penemuan platform yang dapat digunakan kembali, identitas yang telah diverifikasi, fakta, variabel dan penerima enumerasi. General API _+Aksi & Pemicu/webhooks tetap menjadi jalur integrasi lengkap bagi pengembang yang tidak membutuhkan penyambung paket.
Pembangun

Memerlukan API

The OpsIQ REST API lets you programmatically access all platform features.

Bagaimana cara kerjanya
Memerlukan APISebuah terminal yang menunjukkan POST ke OpsIQ API Dia memiliki kunci Bearer, daftar tiket terbuka, dan halaman JSON Responsisisi mata.$ curl -X POST https://your-domain.com/api/v1.php \-H "Authorization: Bearer opq_..."200 OK{ "data": [{ "id": 4192, "ticket_number": "T-4192","subject": "Card declined", "status": "open" },... more tickets ...], "page": 1, "per_page": 50, "has_more": true }
Memerlukan API

Format permintaan KANTOR

Ukir kunci sebagai Authorization: Bearer opq_... OR atau ORANG X-OpsIQ-Key: opq_...Gunakan satu header autentikasi, bukan keduanya.

Format permintaan API _Fong
POST https://your-opsiq-domain.com/api/v1.php
Authorization: Bearer opq_your_api_key
# Alternative header: X-OpsIQ-Key: opq_your_api_key
Content-Type: application/json

{
  "action": "endpoint.name",
  "site_key": "site_abc123"
}

Aksi umum

The API is action-based: send an action Setiap administrator terdaftar, nama anggota badan. JSON Operasi telah stabil bernama tindakan. {"action":"meta.actions"} (tidak diperlukan kunci) untuk daftar otoritatif, per-install, kontrak permintaan, data meta risiko dan ruang lingkup. platform.routes.* Jembatan jambatan tetap hanya untuk integrasi yang lebih tua.

crm.contacts.list

Daftar kontak CRM (scope crm. read). Params: q, status, sumber, tag, skor utama, batas.

crm.contacts.upsert

Param: email plus field, tag, catatan.

crm.deals.list

Daftarkan transaksi CRM (scope crm. read). Params: status, stage_id, company_id (perusahaan_id), owner_admin_id(pemilik), pipeline_id/, limit.

crm.activities.record

. Param: email atau contact_id, event, nilai, mata uang.

crm.conversions.record

. Param: contact_id atau email, conversion_type, nilai, mata uang.

crm.events.list

- Aku tidak akan...CRMaliran peristiwa (skop)crm.read). Param: batas.

tickets.list

Daftar tiket (scopecoket. read). Params: page, per_page, sort, order, status, prioritas, department_id, assigned_admin_id (department/admin-id), client_email, pencarian.

tickets.get

Satu tiket dan pesannya (scope ticket. read). Params: ticet_id atau ticke_number, include_message, message_limit.

tickets.reply

. Param: ticket_id atau tiket_nomor, badan, author_type, authors_name, internal.

tickets.update

AWAS tiket (scope ticket. write). Params: ticet_id atau loket_nomor, status, prioritas, subjek, department_id, assigned_admin_id.

tickets.open

¡Oathe Membuka tiket pendukung (scope tickets. write). Params: customer_email, customan_name, subjek, badan, prioritas.

tickets.bulk

Buat operasi antrian besar-besaran (scope tickets. write). Params: operasi, id.

conversations.list

Daftar percakapan langsung-chat (scopebual. read). Params: page, per_page, status, assigned_admin_id, client_email, search.

conversations.get

Perbincangan dan pesannya (scopepecakapan. read). Param: conversation_id atau thread_key, include_message.

conversations.messages

Sejarah pesan terhalaman di_halaman (scopepecakapan. read). Param: conversation_id, page, per_page, include_internal.

conversations.send

Kata-kata: conversation_id, message, pengirim_type, internal.

conversations.update

Tugaskan, status semula atau tajuk semula perbualan (skop conversations. write). Params: conversation_id, status, assigned_admin_id.

connectors. list / . get / test

LUAD Lihat konektor mana yang dipasang, apa yang dapat dilakukan masing-masing, dan apakah pekerjaan kelayakannya (skop connectors. read).

automations.actions.list

Tindakan yang akan dijalankan oleh pembangun Aksi Anda (skop automasi. read).

automations.triggers.list

Apa yang akan api dan kondisi (skop otomatis. read).

automations.runs.list

Sejarah eksekusi angori untuk debugging sebuah integrasi (automasi skop. read). Params: status, action_key.

departments.list

Departemen-Departmen Departemen- Departemen Luar Negeri Anda dapat rute tiket ke (scopedepartement. read).

notifications.list

Pemberitahuan notifikasi kata-kata kerja untuk satu operator (scopenounce. read). Param: admin_id (perlu), unread_only.

analytics.export

A report section as CSV (scope analytics.read). Params: section, preset, from, to. Call analytics.sections.list for valid values.

. list / . reports. list

Situs-situs yang dipantau oleh wikipedia dan laporan SEO mereka (situs-situs skop_intelijen. read).

files.get

UDD yang bertanda tangan pendek untuk lampiran (berkas skop. read). Params: referensi, ttl.

security.check

Apakah Anda akan bertanya apakah IP Email diblokir atau mencurigakan disini (scope security.read). Menggabungkan IP firewall, daftar blok spam tiket dan keputusan AI Keamanan yang dicache. ip Email.

security.report

Penjaminan laporan penyalahgunaan sistem anda diamati (scope security. write). Direkam sebagai peristiwa keamanan, diklasifikasikan oleh AI Keamanan segera, dan admin disiagakan pada putusan berisiko tinggi. Param: ip, email, jenis, alasan, sumber.

Keamanan. listblock. add / . list

Urus peraturan spam yang paip tiket laksanakan (skop security. write / security. read). Storan sama seperti kawal "Blok penghantar" halaman Tiket. Parameter: jenis (emel, domain, ip), nilai, sebab, tamat masa.

💡
meta. actions selalu berwith. Ia mengembalikan setiap tindakan yang tersedia pada pemasangan anda dengan skop yang dibutuhkan masing-masing, jadi anda tidak perlu menebak atau mengkode keras daftar ini.

Pengumpan, penyaringan dan pengurutan

Setiap daftar aksi menggunakan parameter yang sama, jadi kau mempelajarinya sekali.

halaman / per_halan

Nomor halaman mulai pada 1, dan ukuran halaman. 50, maksimum 200 Batas dan ofset juga diterima jika Anda lebih suka.

Urut / urutan

Lapangan usch untuk diurut, dan asc atau desc (desc standard). Setiap tindakan menerima set tetap dari medan ort; apa pun diabaikan daripada kesalahan.

filters

Filter Hantar Füder sebagai objek, atau luluskan filter sebagai parameter aras-atas. Penyaring tidak diketahui diabaikan.

Apa yang kembali

Barang, halaman, per halaman, jumlah, total dan has_more. teruslah minta halaman sampai has-more adalah palsu.

Dihalaman, disaring, diurutkan daftar permintaan
POST /api/v1.php
Authorization: Bearer opq_your_api_key

{
  "action": "tickets.list",
  "status": "open",
  "priority": "urgent",
  "sort": "created_at",
  "order": "desc",
  "page": 1,
  "per_page": 50
}

Kesalahan

Setiap kegagalan mengembalikan bentuk yang sama, dengan stabil code Jangan samakan dengan manusia yang bisa dibaca error Teks, yang mungkin dikata ulang.

Respons kesalahan pada penderita:
{
  "success": false,
  "code": "missing_scope",
  "error": "API key missing required scope. Needed one of: tickets.read, admin",
  "request_id": "req_8f2c1a9d4b7e"
}
oward hilang_api_key / invalid_apii_key

Tak ada kunci yang dikirim, atau kuncinya salah atau sudah berakhir. HTTP 401_.

missing_scope

Kunci ini sah tetapi tidak memiliki skop yang diperlukan oleh aksi ini. HTTP 403_.

kunci_baca-sahaja / tindakan_terhad

Kuncinya hanya-baca, atau tindakan ini tidak ada dalam daftar-benarnya. HTTP 403_.

unknown_action

Jangan lakukan itu. panggil meta. actions untuk daftar saat ini. HTTP 400_.

invalid_parameter

Parameter yang diperlukan tidak hadir, atau nilai tidak diterima. HTTP 400_.

not_found

Catatan gonhadine tidak ada, atau tidak berada di ruang kerja kunci ini dapat melihat. HTTP 404_.

rate_limited

Batas per jam bagi kunci ini digunakan. HTTP 429_.

server_error

Ada sesuatu yang gagal di pihak kita. 500.

Semoga selamat kembali

Jika ada waktu menulis, kau tak bisa tahu apakah itu mendarat. idempotency_key undi dan ulang panggilan yang sama mengembalikan hasil asli daripada melakukan pekerjaan dua kali.

Penulisan palsu
{
  "action": "tickets.reply",
  "ticket_id": 4192,
  "body": "Thanks, that is now fixed.",
  "idempotency_key": "your-unique-id-for-this-attempt"
}
Berapa lama itu berlangsung

Kunci A diingat untuk 24 Jam-jam melawan tindakan yang sama dan API Kuncinya.

Apa yang kau dapatkan

Respon asli, ditambah idempoten_replay: benar sehingga Anda dapat mengatakan itu adalah replay.

Kegagalan tetap dapat dicoba kembali

Hanya penulisan sukses yang diingati. Jika panggilan gagal, mengirimkannya lagi dengan kunci yang sama menjalankannya lagi, yaitu apa yang Anda inginkan.

Bacaan

Bacaan tidak mengabaikan kunci, mengulangi bacaan tidak berbahaya.

Testing tanpa mengubah apapun

Tambah dry_run: true Kunci, skop dan parameter Anda semua diperiksa secara normal, lalu panggilan berhenti sebelum sesuatu dibuat atau diubah.

Pengeringan dijalankan: verifikasi kelayakan dan muatan dengan aman
{
  "action": "tickets.update",
  "ticket_id": 4192,
  "status": "closed",
  "dry_run": true
}

{
  "success": true,
  "dry_run": true,
  "would_execute": true,
  "message": "Authorised and validated. No write was performed because dry_run was set."
}
Guna dry_run saat anda sedang membangun. Ini adalah cara tercepat untuk memastikan kunci memiliki skop yang tepat dan muatan anda dibentuk dengan benar, tanpa membuat data tes anda kemudian harus membersihkannya.

Batasan kadar laklak

Batas Per-key vin

Had jam yang boleh dikonfigur setiap API key (default ) 1000 permintaan setiap jam). Tetapkannya per kekunci di bawah Tetapan,API Kunci.

Dilebihi jika dilampaui

HTTP 429 dengan code rate_limited, ditambah header Retry-After memberitahu Anda berapa detik untuk menunggu. Batasnya ditetapkan ulang pada akhir jam berikutnya.

Mengetahui di mana Anda berdiri

Setiap respon yang dibawa oleh X-RateLimit-Limit, X-RateLimit - Remaining dan X-ReatLimit rest (sebuah timestamp Unix). Perhatikan Sisa dan pelan-pelan sebelum Anda kehabisan daripada menunggu untuk ditolak.

Meceritakan 429 Dari 401

AAOV 429 Maksudnya tunggu dan coba lagi. 401 Artinya kunci itu sendiri salah atau sudah kadaluarsa, jadi mencoba lagi tidak akan membantu sampai kau memperbaiki kuncinya.

Pra-auth penjaga angkatan brutal

Repeated failed-auth attempts from one IP are throttled separately. Valid keys never trip this.

Praktek terbaik

Mundur ketika Sisa mendapat rendah, dan kehormatan Coba-Selepas setelah 429 daripada mencoba kembali segera.

Versi dan kestabilan

Versi terkini dari versi FOVE

Setiap respon membawa X-OpsIQ-API- Versi dan X--OpsIQ-API-Status agar kau bisa mengkonfirmasi apa yang sedang kau bicarakan.

Bagaimana kau akan diperingatkan?

Jika versi pernah dipensiunkan, respon memperoleh standar Deprekasi dan header Sunset, dan meta. actions melaporkan usang dan sunset_at. Periksa mereka dalam pemantauan Anda dan Anda tidak akan pernah terkejut.

Apa yang tidak akan berubah

Nama aksi yang ada, parameter dan kode kesalahan mereka. Tindakan baru dan medan opsional baru mungkin ditambahkan kapan saja, jadi abaikan bidang yang tidak Anda kenali daripada gagal pada itu.

Integrasi lengkap, mulai menyelesaikan

Ini adalah seluruh loop: menemukan pekerjaan, membacanya, bertindak di atasnya, dan mengkonfirmasi apa yang Anda lakukan.

Fuir kerja tiket penuh melalui API_
# 1. Discover what this install offers and what each action needs.
POST /api/v1.php
{"action":"meta.actions"}

# 2. Find the urgent open tickets.
POST /api/v1.php
Authorization: Bearer opq_your_api_key
{"action":"tickets.list","status":"open","priority":"urgent","per_page":25}

# 3. Read one, including its conversation history.
{"action":"tickets.get","ticket_id":4192}

# 4. Reply, safely enough to retry if the network drops.
{"action":"tickets.reply","ticket_id":4192,
 "body":"We have issued the refund.","idempotency_key":"reply-4192-attempt-1"}

# 5. Close it.
{"action":"tickets.update","ticket_id":4192,"status":"closed"}

# 6. Page through anything larger: keep going until has_more is false.
{"action":"tickets.list","page":2,"per_page":50}
💡
Semua di atas berfungsi dengan cara yang sama untuk perbualan: conversations. list, conversations. get, conversation. send dan conversations,update mengikut corak yang sama, parameter dan bentuk tindak balas.

Setiap aksi, dengan skop yang dibutuhkannya

Daftar ini dihasilkan dari katalog yang berjalan, sehingga selalu cocok dengan versi Anda. meta.actions 2) mengembalikan informasi yang sama seperti JSON_.

1744 named actions: 587 reads, 1157 writes and 62 scopes. Every registered administrator JSON operation has a stable named action. OpenAPI: /api/v1/openapi.php. Postman: /api/v1/postman.php. Contract quality: declared_dynamic: 390; explicit: 92; route_inferred: 1146; source_inferred: 116.

administration (25)

administration.2fa.disable

Write. Scope: administration.write, admin. Contract: route_inferred. Admin 2fa Disable

administration.2fa.enable

Write. Scope: administration.write, admin. Contract: route_inferred. Admin 2fa Enable

administration.2fa.recovery.regenerate

Write. Scope: administration.write, admin. Contract: route_inferred. Admin 2fa Recovery Regenerate

administration.2fa.setup

Read. Scope: administration.read, admin. Contract: declared_dynamic. Admin 2fa Setup

administration.2fa.status

Read. Scope: administration.read, admin. Contract: declared_dynamic. Admin 2fa Status

administration.ai.train.from.reply

Write. Scope: administration.write, admin. Contract: route_inferred. Admin Ai Train From Reply

administration.brain.cancel

Write. Scope: administration.write, admin. Contract: declared_dynamic. Admin Brain Cancel

administration.brain.view

Write. Scope: administration.write, admin. Contract: route_inferred. Admin Brain View

administration.chat.access.check

Write. Scope: administration.write, admin. Contract: route_inferred. Admin Chat Access Check

administration.chat.create.ticket.on.behalf

Write. Scope: administration.write, admin. Contract: route_inferred. Admin Chat Create Ticket On Behalf

administration.chat.draft.ticket.from.thread

Write. Scope: administration.write, admin. Contract: route_inferred. Admin Chat Draft Ticket From Thread

administration.conv.delete

Write. Scope: administration.write, admin. Contract: route_inferred. Admin Conv Delete

administration.conv.get

Write. Scope: administration.write, admin. Contract: route_inferred. Admin Conv Get

administration.conv.list

Write. Scope: administration.write, admin. Contract: route_inferred. Admin Conv List

administration.conv.new

Write. Scope: administration.write, admin. Contract: route_inferred. Admin Conv New

administration.conv.save

Write. Scope: administration.write, admin. Contract: route_inferred. Admin Conv Save

administration.notification.prefs.get

Read. Scope: administration.read, admin. Contract: declared_dynamic. Admin Notification Prefs Get

administration.notification.prefs.save

Write. Scope: administration.write, admin. Contract: declared_dynamic. Admin Notification Prefs Save

administration.notifications.list

Read. Scope: administration.read, admin. Contract: route_inferred. Admin Notifications List

administration.notifications.mark.all.read

Read. Scope: administration.read, admin. Contract: declared_dynamic. Admin Notifications Mark All Read

administration.notifications.mark.read

Read. Scope: administration.read, admin. Contract: route_inferred. Admin Notifications Mark Read

administration.notifications.pulse

Write. Scope: administration.write, admin. Contract: route_inferred. Admin Notifications Pulse

administration.online.list

Read. Scope: administration.read, admin. Contract: declared_dynamic. Admin Online List

administration.presence.ping

Write. Scope: administration.write, admin. Contract: declared_dynamic. Admin Presence Ping

administration.realtime.token

Write. Scope: administration.write, admin. Contract: route_inferred. Admin Realtime Token

analytics (43)

analytics.add.widget

Write. Scope: analytics.write, admin. Contract: route_inferred. Dashboard Add Widget

analytics.analytics.connectors.catalog

Read. Scope: analytics.read, admin. Contract: declared_dynamic. Analytics Connectors Catalog

analytics.analytics.data

Read. Scope: analytics.read, admin. Contract: route_inferred. Analytics Data

analytics.analytics.export

Read. Scope: analytics.read, admin. Contract: route_inferred. Analytics Export

analytics.analytics.export.csv

Read. Scope: analytics.read, admin. Contract: route_inferred. Analytics Export Csv

analytics.analytics.import

Write. Scope: analytics.write, admin. Contract: route_inferred. Analytics Import

analytics.analytics.report

Write. Scope: analytics.write, admin. Contract: route_inferred. Analytics Report

analytics.analytics.segments.delete

Write. Scope: analytics.write, admin. Contract: route_inferred. Analytics Segments Delete

analytics.analytics.segments.list

Read. Scope: analytics.read, admin. Contract: declared_dynamic. Analytics Segments List

analytics.analytics.segments.save

Write. Scope: analytics.write, admin. Contract: route_inferred. Analytics Segments Save

analytics.analytics.status

Read. Scope: analytics.read, admin. Contract: declared_dynamic. Analytics Status

analytics.clear.all

Write. Scope: analytics.write, admin. Contract: declared_dynamic. Replay Clear All

analytics.compute

Read. Scope: analytics.read, admin. Contract: route_inferred. Funnels Compute

analytics.create

Write. Scope: analytics.write, admin. Contract: route_inferred. Ab Test Create

analytics.create.route.dashboard.create

Write. Scope: analytics.write, admin. Contract: route_inferred. Dashboard Create

analytics.create.route.report.create

Write. Scope: analytics.write, admin. Contract: route_inferred. Report Create

analytics.delete

Write. Scope: analytics.write, admin. Contract: route_inferred. Ab Test Delete

analytics.delete.route.dashboard.delete

Write. Scope: analytics.write, admin. Contract: route_inferred. Dashboard Delete

analytics.delete.route.funnels.delete

Write. Scope: analytics.write, admin. Contract: route_inferred. Funnels Delete

analytics.delete.route.report.delete

Write. Scope: analytics.write, admin. Contract: route_inferred. Report Delete

analytics.events

Read. Scope: analytics.read, admin. Contract: route_inferred. Replay Events

analytics.export

Read. Scope: analytics.read, admin. Contract: source_inferred. Analytics Export

analytics.get

Read. Scope: analytics.read, admin. Contract: route_inferred. Dashboard Get

analytics.layout.get

Read. Scope: analytics.read, admin. Contract: declared_dynamic. Dashboard Layout Get

analytics.layout.save

Write. Scope: analytics.write, admin. Contract: route_inferred. Dashboard Layout Save

analytics.list

Read. Scope: analytics.read, admin. Contract: declared_dynamic. Ab Test List

analytics.list.route.dashboard.list

Read. Scope: analytics.read, admin. Contract: declared_dynamic. Dashboard List

analytics.list.route.funnels.list

Read. Scope: analytics.read, admin. Contract: declared_dynamic. Funnels List

analytics.list.route.report.list

Read. Scope: analytics.read, admin. Contract: declared_dynamic. Report List

analytics.remove.widget

Write. Scope: analytics.write, admin. Contract: route_inferred. Dashboard Remove Widget

analytics.rename

Read. Scope: analytics.read, admin. Contract: route_inferred. Dashboard Rename

analytics.results

Read. Scope: analytics.read, admin. Contract: route_inferred. Ab Test Results

analytics.save

Write. Scope: analytics.write, admin. Contract: route_inferred. Funnels Save

analytics.scheduled.list

Read. Scope: analytics.read, admin. Contract: explicit. List scheduled analytics reports for an operator Required fields: admin_id.

analytics.sections.list

Read. Scope: analytics.read, admin. Contract: explicit. List analytics report sections and date presets

analytics.send.now

Write. Scope: analytics.write, admin. Contract: route_inferred. Report Send Now

analytics.sessions

Read. Scope: analytics.read, admin. Contract: route_inferred. Replay Sessions

analytics.step.visitors

Read. Scope: analytics.read, admin. Contract: route_inferred. Funnels Step Visitors

analytics.timeline

Read. Scope: analytics.read, admin. Contract: route_inferred. Replay Timeline

analytics.toggle.shared

Write. Scope: analytics.write, admin. Contract: route_inferred. Dashboard Toggle Shared

analytics.update

Write. Scope: analytics.write, admin. Contract: route_inferred. Ab Test Update

analytics.update.route.report.update

Write. Scope: analytics.write, admin. Contract: route_inferred. Report Update

analytics.widget.data

Read. Scope: analytics.read, admin. Contract: route_inferred. Dashboard Widget Data

automations (6)

automations.actions.list

Read. Scope: automations.read, admin. Contract: explicit. List integration actions

automations.delete

Write. Scope: automations.write, admin. Contract: route_inferred. Workflow Delete

automations.list

Read. Scope: automations.read, admin. Contract: route_inferred. Workflow List

automations.runs.list

Read. Scope: automations.read, admin. Contract: explicit. List automation execution history

automations.save

Write. Scope: automations.write, admin. Contract: route_inferred. Workflow Save

automations.triggers.list

Read. Scope: automations.read, admin. Contract: explicit. List integration triggers

chot (34)

chat.call.start

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Call Start

chat.cobrowse.send

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Cobrowse Send

chat.feedback

Read. Scope: chat.read, admin. Contract: route_inferred. Chat Feedback

chat.feedback.digest

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Feedback Digest

chat.form.delete

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Form Delete

chat.form.get

Read. Scope: chat.read, admin. Contract: route_inferred. Chat Form Get

chat.form.list

Read. Scope: chat.read, admin. Contract: declared_dynamic. Chat Form List

chat.form.save

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Form Save

chat.form.set.default

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Form Set Default

chat.online.admins

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Online Admins

chat.permissions.list

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Permissions List

chat.permissions.revoke

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Permissions Revoke

chat.permissions.save

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Permissions Save

chat.permissions.upload.avatar

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Permissions Upload Avatar

chat.reaction.toggle

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Reaction Toggle

chat.saved_replies.add

Write. Scope: chat.write, admin. Contract: source_inferred. Chat Saved Replies Add Retry-safe with idempotency_key.

chat.saved_replies.list

Read. Scope: chat.read, admin. Contract: explicit. List workspace and personal saved replies

chat.saved_replies.save

Write. Scope: chat.write, admin. Contract: source_inferred. Chat Saved Replies Save Retry-safe with idempotency_key.

chat.set.persona

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Set Persona

chat.snooze.clear

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Snooze Clear

chat.snooze.set

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Snooze Set

chat.transfer.thread

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Transfer Thread

chat.transfer.unread

Write. Scope: chat.write, admin. Contract: declared_dynamic. Chat Transfer Unread

chat.typing.preview

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Typing Preview

chat.whisper.ai.summary

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Whisper Ai Summary

chat.whisper.controls

Write. Scope: chat.write, admin. Contract: declared_dynamic. Chat Whisper Controls

chat.whisper.delete.room

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Whisper Delete Room

chat.whisper.list

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Whisper List

chat.whisper.mentions

Write. Scope: chat.write, admin. Contract: declared_dynamic. Chat Whisper Mentions

chat.whisper.rooms

Write. Scope: chat.write, admin. Contract: declared_dynamic. Chat Whisper Rooms

chat.whisper.save.controls

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Whisper Save Controls

chat.whisper.send

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Whisper Send

chat.whisper.targets

Write. Scope: chat.write, admin. Contract: declared_dynamic. Chat Whisper Targets

chat.whisper.unread

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Whisper Unread

communications (21)

communications.auth.check

Read. Scope: communications.read, admin. Contract: route_inferred. Email Auth Check

communications.campaign.delete

Write. Scope: communications.write, admin. Contract: route_inferred. Push Campaign Delete

communications.campaign.save

Write. Scope: communications.write, admin. Contract: route_inferred. Push Campaign Save

communications.campaign.send

Write. Scope: communications.write, admin. Contract: route_inferred. Push Campaign Send

communications.campaigns.list

Read. Scope: communications.read, admin. Contract: declared_dynamic. Push Campaigns List

communications.drafts.delete

Write. Scope: communications.write, admin. Contract: route_inferred. Email Drafts Delete

communications.drafts.list

Read. Scope: communications.read, admin. Contract: declared_dynamic. Email Drafts List

communications.drafts.save

Write. Scope: communications.write, admin. Contract: route_inferred. Email Drafts Save

communications.drafts.send

Write. Scope: communications.write, admin. Contract: route_inferred. Email Drafts Send

communications.mailboxes.delete

Write. Scope: communications.write, admin. Contract: route_inferred. Email Mailboxes Delete

communications.mailboxes.list

Read. Scope: communications.read, admin. Contract: route_inferred. Email Mailboxes List

communications.mailboxes.poll

Read. Scope: communications.read, admin. Contract: declared_dynamic. Email Mailboxes Poll

communications.mailboxes.save

Write. Scope: communications.write, admin. Contract: route_inferred. Email Mailboxes Save

communications.mailboxes.test

Read. Scope: communications.read, admin. Contract: declared_dynamic. Email Mailboxes Test

communications.pipe.regen.token

Write. Scope: communications.write, admin. Contract: declared_dynamic. Email Pipe Regen Token

communications.platform.list

Read. Scope: communications.read, admin. Contract: declared_dynamic. Email Platform List

communications.platform.send

Write. Scope: communications.write, admin. Contract: route_inferred. Email Platform Send

communications.settings.get

Read. Scope: communications.read, admin. Contract: declared_dynamic. Email Settings Get

communications.settings.save

Write. Scope: communications.write, admin. Contract: route_inferred. Email Settings Save

communications.settings.test

Read. Scope: communications.read, admin. Contract: route_inferred. Email Settings Test

communications.vapid.generate

Write. Scope: communications.write, admin. Contract: declared_dynamic. Push Vapid Generate

connector_builder (11)

connector_builder.export

Read. Scope: connector_builder.read, admin. Contract: explicit. Export a generated connector Required fields: slug.

connector_builder.generate

Write. Scope: connector_builder.write, admin. Contract: explicit. Generate a connector package Required fields: spec. Retry-safe with idempotency_key.

connector_builder.get

Read. Scope: connector_builder.read, admin. Contract: explicit. Load a Builder specification Required fields: slug.

connector_builder.import.curl

Write. Scope: connector_builder.write, admin. Contract: explicit. Import cURL into Connector Builder Retry-safe with idempotency_key.

connector_builder.import.openapi

Write. Scope: connector_builder.write, admin. Contract: explicit. Import OpenAPI into Connector Builder Retry-safe with idempotency_key.

connector_builder.import.postman

Write. Scope: connector_builder.write, admin. Contract: explicit. Import Postman into Connector Builder Retry-safe with idempotency_key.

connector_builder.list

Read. Scope: connector_builder.read, admin. Contract: explicit. List Builder connectors

connector_builder.profiles

Read. Scope: connector_builder.read, connectors.read, admin. Contract: source_inferred. List Connector Builder profiles and capability contracts

connector_builder.test

Write. Scope: connector_builder.write, admin. Contract: explicit. Run Builder conformance tests Required fields: slug. Retry-safe with idempotency_key.

connector_builder.update

Write. Scope: connector_builder.write, admin. Contract: explicit. Update a generated connector Required fields: slug, spec. Retry-safe with idempotency_key.

connector_builder.validate

Read. Scope: connector_builder.read, admin. Contract: explicit. Validate a Builder specification Required fields: spec.

connectors (49)

connectors.action

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Action

connectors.backfill

Write. Scope: connectors.write, admin. Contract: explicit. Start connector backfill Required fields: slug. Retry-safe with idempotency_key.

connectors.backfill.route.connectors.backfill

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Backfill

connectors.backfill.status

Read. Scope: connectors.read, admin. Contract: explicit. Read connector backfill status Required fields: slug.

connectors.backfill.status.route.connectors.backfill.status

Read. Scope: connectors.read, admin. Contract: route_inferred. Connectors Backfill Status

connectors.builder.ai.actions

Read. Scope: connectors.read, admin. Contract: route_inferred. Connectors Builder Ai Actions

connectors.builder.ai.handler

Read. Scope: connectors.read, admin. Contract: route_inferred. Connectors Builder Ai Handler

connectors.builder.ai.map

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Builder Ai Map

connectors.builder.delete

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Builder Delete

connectors.builder.dry.run

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Builder Dry Run

connectors.builder.generate

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Builder Generate

connectors.builder.import.curl

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Builder Import Curl

connectors.builder.import.openapi

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Builder Import Openapi

connectors.builder.import.postman

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Builder Import Postman

connectors.builder.list

Read. Scope: connectors.read, admin. Contract: declared_dynamic. Connectors Builder List

connectors.builder.load

Read. Scope: connectors.read, admin. Contract: route_inferred. Connectors Builder Load

connectors.builder.marketplace.apply

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Builder Marketplace Apply

connectors.builder.marketplace.link

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Builder Marketplace Link

connectors.builder.marketplace.status

Read. Scope: connectors.read, admin. Contract: declared_dynamic. Connectors Builder Marketplace Status

connectors.builder.marketplace.submit

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Builder Marketplace Submit

connectors.builder.test

Read. Scope: connectors.read, admin. Contract: route_inferred. Connectors Builder Test

connectors.builder.test.action

Read. Scope: connectors.read, admin. Contract: route_inferred. Connectors Builder Test Action

connectors.builder.update

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Builder Update

connectors.builder.validate

Read. Scope: connectors.read, admin. Contract: route_inferred. Connectors Builder Validate

connectors.contacts.import

Write. Scope: connectors.write, admin. Contract: route_inferred. Connector Contacts Import

connectors.contract

Read. Scope: connectors.read, connector_builder.read, admin. Contract: source_inferred. Read the canonical connector capability contract

connectors.customers.sync

Write. Scope: connectors.write, admin. Contract: explicit. Synchronize connector customers Required fields: slug. Retry-safe with idempotency_key.

connectors.disable

Write. Scope: connectors.write, admin. Contract: explicit. Disable a connector Required fields: slug. Retry-safe with idempotency_key.

connectors.disable.route.connectors.disable

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Disable

connectors.email.account.department

Read. Scope: connectors.read, admin. Contract: route_inferred. Connector Email Account Department

connectors.email.account.remove

Write. Scope: connectors.write, admin. Contract: route_inferred. Connector Email Account Remove

connectors.email.account.routing

Read. Scope: connectors.read, admin. Contract: route_inferred. Connector Email Account Routing

connectors.enable

Write. Scope: connectors.write, admin. Contract: explicit. Enable a connector Required fields: slug. Retry-safe with idempotency_key.

connectors.enable.route.connectors.enable

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Enable

connectors.get

Read. Scope: connectors.read, admin. Contract: source_inferred. Connectors Get

connectors.get.route.connectors.get

Read. Scope: connectors.read, admin. Contract: route_inferred. Connectors Get

connectors.install

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Install

connectors.integrity.scan

Read. Scope: connectors.read, admin. Contract: declared_dynamic. Connector Integrity Scan

connectors.list

Read. Scope: connectors.read, admin. Contract: explicit. List installed connectors and capabilities

connectors.list.route.connectors.list

Read. Scope: connectors.read, admin. Contract: declared_dynamic. Connectors List

connectors.oauth.start

Write. Scope: connectors.write, admin. Contract: route_inferred. Connector Oauth Start

connectors.settings.get

Read. Scope: connectors.read, admin. Contract: explicit. Read connector settings Required fields: slug.

connectors.settings.save

Write. Scope: connectors.write, admin. Contract: explicit. Save connector settings Required fields: slug, settings. Retry-safe with idempotency_key.

connectors.shared.oauth.delete

Write. Scope: connectors.write, admin. Contract: route_inferred. Connector Shared Oauth Delete

connectors.sync.customers

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Sync Customers

connectors.test

Read. Scope: connectors.read, admin. Contract: source_inferred. Connectors Test

connectors.test.route.connectors.test

Read. Scope: connectors.read, admin. Contract: route_inferred. Connectors Test

connectors.uninstall

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Uninstall

connectors.workflow.recipes

Read. Scope: connectors.read, admin. Contract: route_inferred. Connectors Workflow Recipes

conversations (37)

conversations.ai.draft

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Ai Draft

conversations.ai.rewrite

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Ai Rewrite

conversations.archive

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Archive

conversations.assign

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Assign

conversations.assignees

Write. Scope: conversations.write, admin. Contract: declared_dynamic. Admin Client Chat Assignees

conversations.bulk

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Bulk

conversations.clear

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Clear

conversations.clear.all

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Clear All

conversations.customer.tickets

Write. Scope: conversations.write, admin. Contract: declared_dynamic. Admin Client Chat Customer Tickets

conversations.decline

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Decline

conversations.delete

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Delete

conversations.delete.last

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Delete Last

conversations.edit.last

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Edit Last

conversations.export

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Export

conversations.forget.visitor

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Forget Visitor

conversations.get

Read. Scope: conversations.read, admin. Contract: source_inferred. Conversations Get

conversations.history

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat History

conversations.list

Read. Scope: conversations.read, admin. Contract: source_inferred. Conversations List

conversations.messages

Read. Scope: conversations.read, admin. Contract: source_inferred. Conversations Messages

conversations.resolve

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Resolve

conversations.saved.replies

Write. Scope: conversations.write, admin. Contract: declared_dynamic. Admin Client Chat Saved Replies

conversations.saved.reply.add

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Saved Reply Add

conversations.saved.reply.ai.generate

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Saved Reply Ai Generate

conversations.saved.reply.delete

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Saved Reply Delete

conversations.saved.reply.save

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Saved Reply Save

conversations.send

Write. Scope: conversations.write, admin. Contract: source_inferred. Conversations Send Retry-safe with idempotency_key.

conversations.send.route.admin.client.chat.send

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Send

conversations.tags.set

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Tags Set

conversations.thread

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Thread

conversations.threads

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Threads

conversations.toggle

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Toggle

conversations.toggle.attachments

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Toggle Attachments

conversations.toggle.call.button

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Toggle Call Button

conversations.typing

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Typing

conversations.unarchive

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Unarchive

conversations.update

Write. Scope: conversations.write, admin. Contract: explicit. Update a conversation status, assignment or subject Retry-safe with idempotency_key.

conversations.upload

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Upload

kim (260)

crm.ab.results

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Ab Results

crm.access.set

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Access Set

crm.access_log.list

Read. Scope: admin. Contract: source_inferred. Crm Access Log List

crm.account.health

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Account Health

crm.account.health.board

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Account Health Board

crm.account.health.refresh

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Account Health Refresh

crm.account.plan.get

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Account Plan Get

crm.account.plan.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Account Plan Save

crm.account.plans.due

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Account Plans Due

crm.account.timeline

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Account Timeline

crm.activities.list

Read. Scope: crm.read. Contract: explicit. List CRM contact activities

crm.activities.record

Write. Scope: crm.write. Contract: explicit. Record a CRM contact activity Required fields: contact_id, activity_type. Retry-safe with idempotency_key.

crm.activity.feed

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Activity Feed

crm.agent.toggle

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Agent Toggle

crm.ai.policy.get

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Ai Policy Get

crm.ai.policy.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Ai Policy Save

crm.ai.policy.simulate

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Ai Policy Simulate

crm.ai.trace

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Ai Trace

crm.approval.decide

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Approval Decide

crm.approval.delegate.set

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Approval Delegate Set

crm.approval.list

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Approval List

crm.approval.policy.get

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Approval Policy Get

crm.approval.policy.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Approval Policy Save

crm.approval.settings

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Approval Settings

crm.approve.apply

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Approve Apply

crm.approve.list

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Approve List

crm.approve.reject

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Approve Reject

crm.approve.update

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Approve Update

crm.ask

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Ask

crm.assign.owner

Write. Scope: crm.write, admin. Contract: route_inferred. Contact Assign Owner

crm.assignment.get

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Assignment Get

crm.assignment.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Assignment Save

crm.attachment.delete

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Attachment Delete

crm.attachment.list

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Attachment List

crm.attachment.upload

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Attachment Upload

crm.autobook.meeting

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Autobook Meeting

crm.autodeal.mode

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Autodeal Mode

crm.book.meeting

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Book Meeting

crm.booking.link.save

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Booking Link Save

crm.booking.links.list

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Booking Links List

crm.build.apply

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Build Apply

crm.build.get

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Build Get

crm.build.list

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Build List

crm.build.plan

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Build Plan

crm.build.rollback

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Build Rollback

crm.bulk

Write. Scope: crm.write, admin. Contract: route_inferred. Contact Bulk

crm.bundle.set

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Bundle Set

crm.calendar.status

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Calendar Status

crm.capture.status

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Capture Status

crm.comm.policy.get

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Comm Policy Get

crm.comm.policy.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Comm Policy Save

crm.command.snapshot

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Command Snapshot

crm.companies.list

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Companies List

crm.company.hierarchy

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Company Hierarchy

crm.company.save

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Company Save

crm.company.set.parent

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Company Set Parent

crm.company.suggest.related

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Company Suggest Related

crm.connectors.catalog

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Connectors Catalog

crm.consent_log.list

Read. Scope: crm.read. Contract: source_inferred. Crm Consent Log List

crm.contact.churn

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Contact Churn

crm.contact.draft.email

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Contact Draft Email

crm.contact.enrich

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Contact Enrich

crm.contact.propose.email

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Contact Propose Email

crm.contacts.detail

Read. Scope: crm.read. Contract: source_inferred. Crm Contacts Detail

crm.contacts.erase

Write. Scope: admin. Contract: source_inferred. Crm Contacts Erase Retry-safe with idempotency_key.

crm.contacts.export

Read. Scope: crm.read. Contract: source_inferred. Crm Contacts Export

crm.contacts.import.list

Read. Scope: crm.read. Contract: source_inferred. Crm Contacts Import List

crm.contacts.import.run

Write. Scope: crm.write. Contract: source_inferred. Crm Contacts Import Run Retry-safe with idempotency_key.

crm.contacts.list

Read. Scope: crm.read. Contract: source_inferred. Crm Contacts List

crm.contacts.next_action

Read. Scope: crm.read. Contract: source_inferred. Crm Contacts Next Action

crm.contacts.open_chat

Write. Scope: crm.write. Contract: source_inferred. Crm Contacts Open Chat Retry-safe with idempotency_key.

crm.contacts.open_ticket

Write. Scope: crm.write. Contract: source_inferred. Crm Contacts Open Ticket Retry-safe with idempotency_key.

crm.contacts.resync

Write. Scope: crm.write. Contract: source_inferred. Crm Contacts Resync Retry-safe with idempotency_key.

crm.contacts.save

Write. Scope: crm.write. Contract: source_inferred. Crm Contacts Save Retry-safe with idempotency_key.

crm.contacts.send_email

Write. Scope: crm.write. Contract: source_inferred. Crm Contacts Send Email Retry-safe with idempotency_key.

crm.contacts.upsert

Write. Scope: crm.write. Contract: explicit. Crm Contacts Upsert Required fields: email. Retry-safe with idempotency_key.

crm.contract.amend

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Contract Amend

crm.contract.price.set

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Contract Price Set

crm.contract.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Contract Save

crm.contract.usage

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Contract Usage

crm.contracts.list

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Contracts List

crm.conversation.intel

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Conversation Intel

crm.conversions.goals.delete

Write. Scope: crm.write. Contract: source_inferred. Crm Conversions Goals Delete Retry-safe with idempotency_key.

crm.conversions.goals.list

Read. Scope: crm.read. Contract: source_inferred. Crm Conversions Goals List

crm.conversions.goals.save

Write. Scope: crm.write. Contract: source_inferred. Crm Conversions Goals Save Retry-safe with idempotency_key.

crm.conversions.list

Read. Scope: crm.read. Contract: source_inferred. Crm Conversions List

crm.conversions.record

Write. Scope: crm.write. Contract: source_inferred. Crm Conversions Record Retry-safe with idempotency_key.

crm.create.video.meeting

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Create Video Meeting

crm.customer.auto.sync

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Customer Auto Sync

crm.customer.auto.sync.status

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Customer Auto Sync Status

crm.customer.emails

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Customer Emails

crm.customer.payments

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Customer Payments

crm.data.steward.bulk.propose

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Data Steward Bulk Propose

crm.data.steward.inbox

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Data Steward Inbox

crm.data.steward.propose

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Data Steward Propose

crm.deal.advance

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Deal Advance

crm.deal.coach

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Deal Coach

crm.deal.coach.action

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Deal Coach Action

crm.deal.get

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Deal Get

crm.deal.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Deal Save

crm.deal.splits.get

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Deal Splits Get

crm.deal.splits.set

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Deal Splits Set

crm.deals.advance

Write. Scope: crm.write. Contract: explicit. Advance a CRM deal to another stage Required fields: deal_id, stage_id. Retry-safe with idempotency_key.

crm.deals.create

Write. Scope: crm.write. Contract: explicit. Create a CRM deal Required fields: title. Retry-safe with idempotency_key.

crm.deals.detail

Read. Scope: crm.read. Contract: explicit. Get one CRM deal Required fields: deal_id.

crm.deals.list

Read. Scope: crm.read. Contract: explicit. List CRM deals

crm.deals.list.route.crm.deals.list

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Deals List

crm.deals.update

Write. Scope: crm.write. Contract: explicit. Update a CRM deal Required fields: deal_id. Retry-safe with idempotency_key.

crm.detail

Write. Scope: crm.write, admin. Contract: route_inferred. Contact Detail

crm.draft.outreach

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Draft Outreach

crm.enrich.account

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Enrich Account

crm.erase

Write. Scope: crm.write, admin. Contract: route_inferred. Contact Erase

crm.events.catalog

Read. Scope: crm.read. Contract: explicit. List subscribable CRM domain events

crm.events.list

Read. Scope: crm.read. Contract: explicit. List durable CRM domain events

crm.export

Write. Scope: crm.write, admin. Contract: route_inferred. Contact Export

crm.export.all

Read. Scope: crm.read, admin. Contract: route_inferred. Contact Export All

crm.field.add

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Field Add

crm.field.policy.get

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Field Policy Get

crm.field.policy.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Field Policy Save

crm.field.remove

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Field Remove

crm.fields.list

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Fields List

crm.forecast.board

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Forecast Board

crm.forecast.snapshot

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Forecast Snapshot

crm.form.save

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Form Save

crm.forms.list

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Forms List

crm.health.repair.catalog

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Health Repair Catalog

crm.health.smoke

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Health Smoke

crm.health.snapshot

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Health Snapshot

crm.home.persona.set

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Home Persona Set

crm.identity.rules.get

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Identity Rules Get

crm.identity.rules.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Identity Rules Save

crm.import.list

Read. Scope: crm.read, admin. Contract: route_inferred. Contact Import List

crm.import.run

Write. Scope: crm.write, admin. Contract: route_inferred. Contact Import Run

crm.inbound.activity

Read. Scope: crm.read. Contract: source_inferred. Crm Inbound Activity

crm.inbound.endpoints.delete

Write. Scope: crm.write. Contract: source_inferred. Crm Inbound Endpoints Delete Retry-safe with idempotency_key.

crm.inbound.endpoints.list

Read. Scope: crm.read. Contract: source_inferred. Crm Inbound Endpoints List

crm.inbound.endpoints.save

Write. Scope: crm.write. Contract: source_inferred. Crm Inbound Endpoints Save Retry-safe with idempotency_key.

crm.inbound.endpoints.test

Write. Scope: crm.write. Contract: source_inferred. Crm Inbound Endpoints Test Retry-safe with idempotency_key.

crm.leaderboard

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Leaderboard

crm.lifecycle.evaluate

Write. Scope: crm.write. Contract: source_inferred. Crm Lifecycle Evaluate Retry-safe with idempotency_key.

crm.lifecycle.rules.delete

Write. Scope: crm.write. Contract: source_inferred. Crm Lifecycle Rules Delete Retry-safe with idempotency_key.

crm.lifecycle.rules.list

Read. Scope: crm.read. Contract: source_inferred. Crm Lifecycle Rules List

crm.lifecycle.rules.save

Write. Scope: crm.write. Contract: source_inferred. Crm Lifecycle Rules Save Retry-safe with idempotency_key.

crm.list

Read. Scope: crm.read, admin. Contract: route_inferred. Contacts List

crm.mailbox.status

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Mailbox Status

crm.meeting.book

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Meeting Book

crm.meeting.cancel

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Meeting Cancel

crm.meeting.list

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Meeting List

crm.meeting.reschedule.accept

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Meeting Reschedule Accept

crm.meeting.reschedule.reject

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Meeting Reschedule Reject

crm.merge

Write. Scope: crm.write, admin. Contract: route_inferred. Contact Merge

crm.message.send

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Message Send

crm.messaging.provider.delete

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Messaging Provider Delete

crm.messaging.provider.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Messaging Provider Save

crm.messaging.provider.test

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Messaging Provider Test

crm.messaging.status

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Messaging Status

crm.next.action

Write. Scope: crm.write, admin. Contract: route_inferred. Contact Next Action

crm.object.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Object Save

crm.objects.list

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Objects List

crm.offline.pull

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Offline Pull

crm.offline.push

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Offline Push

crm.open.chat

Read. Scope: crm.read, admin. Contract: route_inferred. Contact Open Chat

crm.open.ticket

Write. Scope: crm.write, admin. Contract: route_inferred. Contact Open Ticket

crm.outreach.campaigns.delete

Write. Scope: crm.write. Contract: source_inferred. Crm Outreach Campaigns Delete Retry-safe with idempotency_key.

crm.outreach.campaigns.list

Read. Scope: crm.read. Contract: source_inferred. Crm Outreach Campaigns List

crm.outreach.campaigns.save

Write. Scope: crm.write. Contract: source_inferred. Crm Outreach Campaigns Save Retry-safe with idempotency_key.

crm.outreach.campaigns.send

Write. Scope: crm.write. Contract: source_inferred. Crm Outreach Campaigns Send Retry-safe with idempotency_key.

crm.outreach.send

Write. Scope: crm.write. Contract: source_inferred. Crm Outreach Send Retry-safe with idempotency_key.

crm.outreach.templates.delete

Write. Scope: crm.write. Contract: source_inferred. Crm Outreach Templates Delete Retry-safe with idempotency_key.

crm.outreach.templates.list

Read. Scope: crm.read. Contract: source_inferred. Crm Outreach Templates List

crm.outreach.templates.preview

Read. Scope: crm.read. Contract: source_inferred. Crm Outreach Templates Preview

crm.outreach.templates.save

Write. Scope: crm.write. Contract: source_inferred. Crm Outreach Templates Save Retry-safe with idempotency_key.

crm.payments.status

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Payments Status

crm.pipeline.data

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Pipeline Data

crm.price.resolve

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Price Resolve

crm.pricebook.entry.set

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Pricebook Entry Set

crm.pricebook.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Pricebook Save

crm.pricebooks.list

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Pricebooks List

crm.privacy_settings.get

Read. Scope: crm.read. Contract: source_inferred. Crm Privacy Settings Get

crm.privacy_settings.save

Write. Scope: admin. Contract: source_inferred. Crm Privacy Settings Save Retry-safe with idempotency_key.

crm.product.archive

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Product Archive

crm.product.revenue

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Product Revenue

crm.product.save

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Product Save

crm.products.list

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Products List

crm.propose.meeting

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Propose Meeting

crm.propose.outreach

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Propose Outreach

crm.prospecting.dashboard

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Prospecting Dashboard

crm.prospecting.icp.save

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Prospecting Icp Save

crm.prospecting.import

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Prospecting Import

crm.prospecting.research

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Prospecting Research

crm.prospecting.score

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Prospecting Score

crm.prospecting.sequence

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Prospecting Sequence

crm.qualification.checklist.get

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Qualification Checklist Get

crm.qualification.checklist.save

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Qualification Checklist Save

crm.quota.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Quota Save

crm.quote.get

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Quote Get

crm.quote.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Quote Save

crm.quotes.list

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Quotes List

crm.record.delete

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Record Delete

crm.record.fields.get

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Record Fields Get

crm.record.fields.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Record Fields Save

crm.record.get

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Record Get

crm.record.history

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Record History

crm.record.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Record Save

crm.record.share.set

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Record Share Set

crm.record.share.unset

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Record Share Unset

crm.record.shares

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Record Shares

crm.records.list

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Records List

crm.restore.email.consent

Write. Scope: crm.write, admin. Contract: route_inferred. Contact Restore Email Consent

crm.resync.from.platform

Write. Scope: crm.write, admin. Contract: route_inferred. Contact Resync From Platform

crm.retention.catalog

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Retention Catalog

crm.revert

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Revert

crm.runtime.policy.get

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Runtime Policy Get

crm.runtime.policy.remote.wipe

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Runtime Policy Remote Wipe

crm.runtime.policy.save

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Runtime Policy Save

crm.save

Write. Scope: crm.write, admin. Contract: route_inferred. Contact Save

crm.scoring.rule.ai

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Scoring Rule Ai

crm.scoring.rule.delete

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Scoring Rule Delete

crm.scoring.rule.list

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Scoring Rule List

crm.scoring.rule.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Scoring Rule Save

crm.segments.delete

Write. Scope: crm.write. Contract: source_inferred. Crm Segments Delete Retry-safe with idempotency_key.

crm.segments.list

Read. Scope: crm.read. Contract: source_inferred. Crm Segments List

crm.segments.members

Read. Scope: crm.read. Contract: source_inferred. Crm Segments Members

crm.segments.preview

Read. Scope: crm.read. Contract: source_inferred. Crm Segments Preview

crm.segments.save

Write. Scope: crm.write. Contract: source_inferred. Crm Segments Save Retry-safe with idempotency_key.

crm.segments.suggestions.accept

Write. Scope: crm.write. Contract: source_inferred. Crm Segments Suggestions Accept Retry-safe with idempotency_key.

crm.segments.suggestions.dismiss

Write. Scope: crm.write. Contract: source_inferred. Crm Segments Suggestions Dismiss Retry-safe with idempotency_key.

crm.segments.suggestions.list

Read. Scope: crm.read. Contract: source_inferred. Crm Segments Suggestions List

crm.semantic.search

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Semantic Search

crm.send.email

Write. Scope: crm.write, admin. Contract: route_inferred. Contact Send Email

crm.send.email.route.crm.send.email

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Send Email

crm.send.for.signature

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Send For Signature

crm.send.payment.link

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Send Payment Link

crm.sequence.action

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Sequence Action

crm.sequence.runs

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Sequence Runs

crm.setup.status

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Setup Status

crm.sharing.rules.get

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Sharing Rules Get

crm.sharing.rules.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Sharing Rules Save

crm.subject.registry

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Subject Registry

crm.subscriptions.list

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Subscriptions List

crm.subscriptions.rollup

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Subscriptions Rollup

crm.subscriptions.sync

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Subscriptions Sync

crm.task.create

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Task Create

crm.tasks.list

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Tasks List

crm.team.parent.set

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Team Parent Set

crm.team.rules.set

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Team Rules Set

crm.team.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Team Save

crm.teams.list

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Teams List

crm.territory.set

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Territory Set

crm.video.status

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Video Status

crm.views.delete

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Views Delete

crm.views.list

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Views List

crm.views.save

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Views Save

crm.webhooks.delete

Write. Scope: crm.write. Contract: source_inferred. Crm Webhooks Delete Retry-safe with idempotency_key.

crm.webhooks.list

Read. Scope: crm.read. Contract: explicit. List CRM outbound webhook endpoints and recent deliveries

crm.webhooks.save

Write. Scope: crm.write. Contract: source_inferred. Crm Webhooks Save Retry-safe with idempotency_key.

crm.webhooks.test

Write. Scope: crm.write. Contract: source_inferred. Crm Webhooks Test Retry-safe with idempotency_key.

crm.workflows.delete

Write. Scope: crm.write. Contract: source_inferred. Crm Workflows Delete Retry-safe with idempotency_key.

crm.workflows.list

Read. Scope: crm.read. Contract: source_inferred. Crm Workflows List

crm.workflows.save

Write. Scope: crm.write. Contract: source_inferred. Crm Workflows Save Retry-safe with idempotency_key.

Pelanggan (44)

customers.analyze

Write. Scope: customers.write, journey.write, admin. Contract: explicit. Analyze a customer journey with AI Required fields: client_id. Retry-safe with idempotency_key.

customers.behaviour

Read. Scope: customers.read, admin. Contract: route_inferred. Cdp Behaviour

customers.behaviour.analyze

Write. Scope: customers.write, admin. Contract: route_inferred. Cdp Behaviour Analyze

customers.chat.embed.backfill

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Embed Backfill

customers.chat.embed.status

Read. Scope: customers.read, admin. Contract: declared_dynamic. Client Chat Embed Status

customers.chat.faq.ai.generate

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Faq Ai Generate

customers.chat.faq.approve.all

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Faq Approve All

customers.chat.faq.delete

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Faq Delete

customers.chat.faq.delete.all

Write. Scope: customers.write, admin. Contract: declared_dynamic. Client Chat Faq Delete All

customers.chat.faq.export

Write. Scope: customers.write, admin. Contract: declared_dynamic. Client Chat Faq Export

customers.chat.faq.generate

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Faq Generate

customers.chat.faq.import

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Faq Import

customers.chat.faq.list

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Faq List

customers.chat.faq.save

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Faq Save

customers.chat.faq.set.help

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Faq Set Help

customers.chat.faq.set.help.all

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Faq Set Help All

customers.chat.faq.status

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Faq Status

customers.chat.grant.upload

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Grant Upload

customers.chat.help.set.slug

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Help Set Slug

customers.chat.knowledge.crawl.step

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Knowledge Crawl Step

customers.chat.knowledge.delete

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Knowledge Delete

customers.chat.knowledge.delete.all

Write. Scope: customers.write, admin. Contract: declared_dynamic. Client Chat Knowledge Delete All

customers.chat.knowledge.delete.duplicates

Write. Scope: customers.write, admin. Contract: declared_dynamic. Client Chat Knowledge Delete Duplicates

customers.chat.knowledge.duplicates

Write. Scope: customers.write, admin. Contract: declared_dynamic. Client Chat Knowledge Duplicates

customers.chat.knowledge.export.json

Write. Scope: customers.write, admin. Contract: declared_dynamic. Client Chat Knowledge Export Json

customers.chat.knowledge.import.json

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Knowledge Import Json

customers.chat.knowledge.preview

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Knowledge Preview

customers.chat.knowledge.recrawl

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Knowledge Recrawl

customers.chat.knowledge.test.url

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Knowledge Test Url

customers.chat.revoke.upload

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Revoke Upload

customers.chat.upload.agent.avatar

Write. Scope: customers.write, admin. Contract: declared_dynamic. Client Chat Upload Agent Avatar

customers.chat.upload.ai.avatar

Write. Scope: customers.write, admin. Contract: declared_dynamic. Client Chat Upload Ai Avatar

customers.chat.upload.icon

Write. Scope: customers.write, admin. Contract: declared_dynamic. Client Chat Upload Icon

customers.client.analyze

Write. Scope: customers.write, admin. Contract: route_inferred. Cdp Client Analyze

customers.client.delete

Write. Scope: customers.write, admin. Contract: route_inferred. Cdp Client Delete

customers.client.export

Write. Scope: customers.write, admin. Contract: route_inferred. Cdp Client Export

customers.client.journey

Read. Scope: customers.read, admin. Contract: route_inferred. Cdp Client Journey

customers.client.prepare.outreach

Write. Scope: customers.write, admin. Contract: route_inferred. Cdp Client Prepare Outreach

customers.clients.list

Read. Scope: customers.read, admin. Contract: route_inferred. Cdp Clients List

customers.detail

Read. Scope: customers.read, admin. Contract: route_inferred. Client Detail

customers.get

Read. Scope: customers.read, crm.read, admin. Contract: explicit. Get a customer profile Required fields: client_id.

customers.journey

Read. Scope: customers.read, journey.read, admin. Contract: explicit. Get a complete customer journey Required fields: client_id.

customers.list

Read. Scope: customers.read, crm.read, admin. Contract: explicit. List known customers

customers.outreach.prepare

Write. Scope: customers.write, crm.write, admin. Contract: explicit. Prepare CRM outreach for a customer Required fields: client_id. Retry-safe with idempotency_key.

departments (1)

departments.list

Read. Scope: departments.read, admin. Contract: source_inferred. Departments List

engagement (164)

engagement.ab.autowinner

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Ab Autowinner

engagement.ab.bandit

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Ab Bandit

engagement.address.get

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Survey Address Get

engagement.address.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Address Save

engagement.ai.agent

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Ai Agent

engagement.ai.analyze

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Ai Analyze

engagement.ai.compile.profile

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Ai Compile Profile

engagement.ai.copy

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Ai Copy

engagement.ai.critique

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Promo Ai Critique

engagement.ai.decide

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Ai Decide

engagement.ai.design

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Ai Design

engagement.ai.edit

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Ai Edit

engagement.ai.generate

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Ai Generate

engagement.ai.ideas

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Promo Ai Ideas

engagement.ai.image

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Ai Image

engagement.ai.image.edit

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Ai Image Edit

engagement.ai.localize

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Ai Localize

engagement.ai.logo

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Ai Logo

engagement.ai.media.jobs

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Promo Ai Media Jobs

engagement.ai.narrative

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Promo Ai Narrative

engagement.ai.responsive

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Promo Ai Responsive

engagement.ai.variants

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Ai Variants

engagement.ai.video.start

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Ai Video Start

engagement.ai.video.status

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Ai Video Status

engagement.approval.decide

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Approval Decide

engagement.approval.request

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Approval Request

engagement.approvals.list

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Approvals List

engagement.asset.delete

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Asset Delete

engagement.asset.upload

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Asset Upload

engagement.assets.list

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Promo Assets List

engagement.audience.materialize

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Audience Materialize

engagement.audience.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Audience Save

engagement.audience.test

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Audience Test

engagement.audit.export

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Promo Audit Export

engagement.autoresponder.get

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Autoresponder Get

engagement.autoresponder.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Autoresponder Save

engagement.bank.delete

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Bank Delete

engagement.bank.list

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Survey Bank List

engagement.bank.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Bank Save

engagement.bank.used

Read. Scope: engagement.read, admin. Contract: route_inferred. Survey Bank Used

engagement.blackouts.get

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Promo Blackouts Get

engagement.blackouts.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Blackouts Save

engagement.brand.kit.bootstrap

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Brand Kit Bootstrap

engagement.brand.kit.font.upload

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Brand Kit Font Upload

engagement.brand.kit.get

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Promo Brand Kit Get

engagement.brand.kit.get.route.survey.brand.kit.get

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Survey Brand Kit Get

engagement.brand.kit.save

Write. Scope: engagement.write, admin. Contract: declared_dynamic. Promo Brand Kit Save

engagement.brand.kit.save.route.survey.brand.kit.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Brand Kit Save

engagement.campaign.archive

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Campaign Archive

engagement.campaign.delete

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Campaign Delete

engagement.campaign.duplicate

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Campaign Duplicate

engagement.campaign.get

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Campaign Get

engagement.campaign.launch

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Campaign Launch

engagement.campaign.list

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Campaign List

engagement.campaign.pause

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Campaign Pause

engagement.campaign.preview

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Campaign Preview

engagement.campaign.publish

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Campaign Publish

engagement.campaign.rollback

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Campaign Rollback

engagement.campaign.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Campaign Save

engagement.campaign.save.route.survey.campaign.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Campaign Save

engagement.campaign.toggle

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Campaign Toggle

engagement.campaign.versions

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Campaign Versions

engagement.comment.add

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Comment Add

engagement.comments.add

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Comments Add

engagement.comments.delete

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Comments Delete

engagement.comments.list

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Comments List

engagement.comments.list.route.survey.comments.list

Read. Scope: engagement.read, admin. Contract: route_inferred. Survey Comments List

engagement.comments.resolve

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Comments Resolve

engagement.connectors.catalog

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Promo Connectors Catalog

engagement.coupon.providers

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Promo Coupon Providers

engagement.coupons.clear

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Coupons Clear

engagement.coupons.stats

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Coupons Stats

engagement.coupons.upload

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Coupons Upload

engagement.delete

Write. Scope: engagement.write, admin. Contract: route_inferred. Announcement Delete

engagement.delete.route.tour.delete

Write. Scope: engagement.write, admin. Contract: route_inferred. Tour Delete

engagement.delivery.analytics

Read. Scope: engagement.read, admin. Contract: route_inferred. Survey Delivery Analytics

engagement.delivery.dashboard

Read. Scope: engagement.read, admin. Contract: route_inferred. Survey Delivery Dashboard

engagement.deployment.ab.promote

Read. Scope: engagement.read, admin. Contract: route_inferred. Survey Deployment Ab Promote

engagement.deployment.ab.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Deployment Ab Save

engagement.deployment.publish

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Deployment Publish

engagement.deployment.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Deployment Save

engagement.deployment.status

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Deployment Status

engagement.detail

Read. Scope: engagement.read, admin. Contract: route_inferred. Campaign Detail

engagement.digest.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Digest Save

engagement.feed.catalog

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Promo Feed Catalog

engagement.feed.items

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Feed Items

engagement.geo.preview

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Geo Preview

engagement.idle.cron.set

Write. Scope: engagement.write, admin. Contract: route_inferred. Proactive Idle Cron Set

engagement.import.create

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Import Create

engagement.import.replay

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Import Replay

engagement.leads.export

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Leads Export

engagement.leads.list

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Leads List

engagement.list

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Announcements List

engagement.list.route.tours.list

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Tours List

engagement.module.set.ai.live

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Module Set Ai Live

engagement.module.set.custom.html

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Module Set Custom Html

engagement.module.set.enabled

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Module Set Enabled

engagement.module.status

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Promo Module Status

engagement.onsite.preview

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Onsite Preview

engagement.pause.all

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Promo Pause All

engagement.presence

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Presence

engagement.preview.share

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Preview Share

engagement.push.draft

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Push Draft

engagement.recipients.issue

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Recipients Issue

engagement.recipients.list

Read. Scope: engagement.read, admin. Contract: route_inferred. Survey Recipients List

engagement.recipients.revoke

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Recipients Revoke

engagement.response.detail

Read. Scope: engagement.read, admin. Contract: route_inferred. Survey Response Detail

engagement.responses.browse

Read. Scope: engagement.read, admin. Contract: route_inferred. Survey Responses Browse

engagement.rule.delete

Write. Scope: engagement.write, admin. Contract: route_inferred. Proactive Rule Delete

engagement.rule.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Proactive Rule Save

engagement.rule.stats

Read. Scope: engagement.read, admin. Contract: route_inferred. Proactive Rule Stats

engagement.rule.test

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Rule Test

engagement.rule.toggle

Write. Scope: engagement.write, admin. Contract: route_inferred. Proactive Rule Toggle

engagement.rules.list

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Proactive Rules List

engagement.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Announcement Save

engagement.save.route.tour.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Tour Save

engagement.stats

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Stats

engagement.stats.route.tour.stats

Read. Scope: engagement.read, admin. Contract: route_inferred. Tour Stats

engagement.studio.a11y

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio A11y

engagement.studio.ai.generate

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Ai Generate

engagement.studio.ai.insights

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Ai Insights

engagement.studio.ai.target

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Ai Target

engagement.studio.archive

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Archive

engagement.studio.assets

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Survey Studio Assets

engagement.studio.create

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Create

engagement.studio.delete

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Delete

engagement.studio.duplicate

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Duplicate

engagement.studio.event

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Studio Event

engagement.studio.get

Read. Scope: engagement.read, admin. Contract: route_inferred. Survey Studio Get

engagement.studio.governance

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Governance

engagement.studio.list

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Survey Studio List

engagement.studio.preview

Read. Scope: engagement.read, admin. Contract: route_inferred. Survey Studio Preview

engagement.studio.preview.link

Read. Scope: engagement.read, admin. Contract: route_inferred. Survey Studio Preview Link

engagement.studio.publish

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Publish

engagement.studio.rename

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Rename

engagement.studio.revert

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Revert

engagement.studio.save.draft

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Save Draft

engagement.studio.save.targeting

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Save Targeting

engagement.studio.set.active

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Set Active

engagement.studio.set.status

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Set Status

engagement.studio.template.delete

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Template Delete

engagement.studio.template.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Template Save

engagement.studio.tpl.preview

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Tpl Preview

engagement.studio.upload

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Upload

engagement.studio.webhook

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Webhook

engagement.targeting.simulate

Read. Scope: engagement.read, admin. Contract: route_inferred. Survey Targeting Simulate

engagement.template.apply

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Template Apply

engagement.template.list

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Template List

engagement.template.save.custom

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Template Save Custom

engagement.toggle

Write. Scope: engagement.write, admin. Contract: route_inferred. Announcement Toggle

engagement.toggle.route.tour.toggle

Write. Scope: engagement.write, admin. Contract: route_inferred. Tour Toggle

engagement.trigger.set.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Trigger Set Save

engagement.variant.delete

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Variant Delete

engagement.variant.list

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Variant List

engagement.variant.promote

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Variant Promote

engagement.variant.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Variant Save

engagement.version.compare

Read. Scope: engagement.read, admin. Contract: route_inferred. Survey Version Compare

engagement.version.get

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Version Get

engagement.version.label

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Version Label

engagement.webhook.delete

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Webhook Delete

engagement.webhook.replay

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Webhook Replay

engagement.webhook.run

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Webhook Run

engagement.webhook.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Webhook Save

engagement.widget.data

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Tour Widget Data

feedback (8)

feedback.analytics

Read. Scope: feedback.read, admin. Contract: source_inferred. Feedback Analytics

feedback.detractors

Read. Scope: feedback.read, admin. Contract: source_inferred. Feedback Detractors

feedback.get

Read. Scope: feedback.read, admin. Contract: source_inferred. Feedback Get

feedback.ingest

Write. Scope: feedback.write, admin. Contract: explicit. Ingest a feedback record or external review

feedback.list

Read. Scope: feedback.read, admin. Contract: source_inferred. Feedback List

feedback.overview

Read. Scope: feedback.read, admin. Contract: source_inferred. Feedback Overview

feedback.sources.list

Read. Scope: feedback.read, admin. Contract: explicit. List Voice of Customer feedback sources

feedback.update

Write. Scope: feedback.write, admin. Contract: source_inferred. Feedback Update Retry-safe with idempotency_key.

files (1)

files.get

Read. Scope: files.read, admin. Contract: source_inferred. Files Get

intent (6)

intent.clear

Write. Scope: intent.write, admin. Contract: declared_dynamic. Intent Clear

intent.funnel

Read. Scope: intent.read, analytics.read, admin. Contract: explicit. Read the intent funnel

intent.funnel.aggregate

Read. Scope: intent.read, admin. Contract: route_inferred. Intent Funnel Aggregate

intent.funnel.route.intent.funnel

Read. Scope: intent.read, admin. Contract: route_inferred. Intent Funnel

intent.summary

Read. Scope: intent.read, analytics.read, admin. Contract: explicit. Read intent summaries

intent.summary.route.intent.summary

Read. Scope: intent.read, admin. Contract: route_inferred. Intent Summary

kb (6)

kb.faq.delete

Write. Scope: kb.write, admin. Contract: source_inferred. Kb Faq Delete Retry-safe with idempotency_key.

kb.faq.generate

Write. Scope: kb.write, admin. Contract: source_inferred. Kb Faq Generate Retry-safe with idempotency_key.

kb.faq.import

Write. Scope: kb.write, admin. Contract: source_inferred. Kb Faq Import Retry-safe with idempotency_key.

kb.faq.list

Read. Scope: kb.read, read, admin. Contract: source_inferred. Kb Faq List

kb.faq.save

Write. Scope: kb.write, admin. Contract: source_inferred. Kb Faq Save Retry-safe with idempotency_key.

kb.faq.set_status

Write. Scope: kb.write, admin. Contract: source_inferred. Kb Faq Set Status Retry-safe with idempotency_key.

knowledge (77)

knowledge.analytics.get

Read. Scope: kb.read, admin. Contract: route_inferred. Help Analytics Get

knowledge.analytics.toggle

Write. Scope: kb.write, admin. Contract: route_inferred. Help Analytics Toggle

knowledge.article.ai.refine

Read. Scope: kb.read, admin. Contract: route_inferred. Help Article Ai Refine

knowledge.article.class.bulk

Write. Scope: kb.write, admin. Contract: route_inferred. Help Article Class Bulk

knowledge.article.delete

Write. Scope: kb.write, admin. Contract: route_inferred. Help Article Delete

knowledge.article.publish

Write. Scope: kb.write, admin. Contract: route_inferred. Help Article Publish

knowledge.article.save

Write. Scope: kb.write, admin. Contract: route_inferred. Help Article Save

knowledge.article.set.category

Write. Scope: kb.write, admin. Contract: route_inferred. Help Article Set Category

knowledge.article.set.public

Write. Scope: kb.write, admin. Contract: route_inferred. Help Article Set Public

knowledge.articles.ai.generate

Write. Scope: kb.write, admin. Contract: route_inferred. Help Articles Ai Generate

knowledge.articles.bulk.delete

Write. Scope: kb.write, admin. Contract: route_inferred. Help Articles Bulk Delete

knowledge.articles.count

Read. Scope: kb.read, admin. Contract: declared_dynamic. Help Articles Count

knowledge.articles.ids

Read. Scope: kb.read, admin. Contract: route_inferred. Help Articles Ids

knowledge.articles.list

Read. Scope: kb.read, admin. Contract: route_inferred. Help Articles List

knowledge.articles.set.public.all

Write. Scope: kb.write, admin. Contract: route_inferred. Help Articles Set Public All

knowledge.categories.ai.merge

Write. Scope: kb.write, admin. Contract: declared_dynamic. Help Categories Ai Merge

knowledge.categories.bulk.delete

Write. Scope: kb.write, admin. Contract: route_inferred. Help Categories Bulk Delete

knowledge.categories.list

Read. Scope: kb.read, admin. Contract: declared_dynamic. Help Categories List

knowledge.categories.merge.dupes

Write. Scope: kb.write, admin. Contract: declared_dynamic. Help Categories Merge Dupes

knowledge.category.delete

Write. Scope: kb.write, admin. Contract: route_inferred. Help Category Delete

knowledge.category.get

Read. Scope: kb.read, admin. Contract: route_inferred. Help Category Get

knowledge.category.save

Write. Scope: kb.write, admin. Contract: route_inferred. Help Category Save

knowledge.center.article.image.upload

Write. Scope: kb.write, admin. Contract: declared_dynamic. Help Center Article Image Upload

knowledge.center.favicon.upload

Write. Scope: kb.write, admin. Contract: declared_dynamic. Help Center Favicon Upload

knowledge.center.hero.dark.upload

Write. Scope: kb.write, admin. Contract: declared_dynamic. Help Center Hero Dark Upload

knowledge.center.hero.upload

Write. Scope: kb.write, admin. Contract: declared_dynamic. Help Center Hero Upload

knowledge.center.logo.dark.upload

Write. Scope: kb.write, admin. Contract: declared_dynamic. Help Center Logo Dark Upload

knowledge.center.logo.upload

Write. Scope: kb.write, admin. Contract: declared_dynamic. Help Center Logo Upload

knowledge.center.settings.get

Read. Scope: kb.read, admin. Contract: declared_dynamic. Help Center Settings Get

knowledge.center.settings.save

Write. Scope: kb.write, admin. Contract: declared_dynamic. Help Center Settings Save

knowledge.center.translate.estimate

Write. Scope: kb.write, admin. Contract: declared_dynamic. Help Center Translate Estimate

knowledge.center.translate.run

Write. Scope: kb.write, admin. Contract: route_inferred. Help Center Translate Run

knowledge.center.translate.status

Read. Scope: kb.read, admin. Contract: declared_dynamic. Help Center Translate Status

knowledge.center.translate.stop

Write. Scope: kb.write, admin. Contract: declared_dynamic. Help Center Translate Stop

knowledge.center.widget.icon.upload

Write. Scope: kb.write, admin. Contract: declared_dynamic. Help Center Widget Icon Upload

knowledge.comments.deliver.notifications

Write. Scope: kb.write, admin. Contract: route_inferred. Kb Comments Deliver Notifications

knowledge.comments.maintenance

Write. Scope: kb.write, admin. Contract: route_inferred. Help Comments Maintenance

knowledge.comments.moderate

Write. Scope: kb.write, admin. Contract: route_inferred. Help Comments Moderate

knowledge.comments.moderate.route.kb.comments.moderate

Write. Scope: kb.write, admin. Contract: route_inferred. Kb Comments Moderate

knowledge.comments.moderation.list

Read. Scope: kb.read, admin. Contract: route_inferred. Help Comments Moderation List

knowledge.comments.moderation.list.route.kb.comments.moderation.list

Read. Scope: kb.read, admin. Contract: route_inferred. Kb Comments Moderation List

knowledge.comments.notification.run

Write. Scope: kb.write, admin. Contract: route_inferred. Help Comments Notification Run

knowledge.import.batches

Write. Scope: kb.write, admin. Contract: route_inferred. Kb Import Batches

knowledge.import.connectors

Write. Scope: kb.write, admin. Contract: declared_dynamic. Kb Import Connectors

knowledge.import.csv.preview

Read. Scope: kb.read, admin. Contract: route_inferred. Kb Import Csv Preview

knowledge.import.preview

Write. Scope: kb.write, admin. Contract: route_inferred. Kb Import Preview

knowledge.import.resync

Write. Scope: kb.write, admin. Contract: route_inferred. Kb Import Resync

knowledge.import.run

Write. Scope: kb.write, admin. Contract: route_inferred. Kb Import Run

knowledge.import.undo

Write. Scope: kb.write, admin. Contract: route_inferred. Kb Import Undo

knowledge.insights.generate

Write. Scope: kb.write, admin. Contract: route_inferred. Help Insights Generate

knowledge.insights.get

Read. Scope: kb.read, admin. Contract: declared_dynamic. Help Insights Get

knowledge.mark.reviewed

Write. Scope: kb.write, admin. Contract: declared_dynamic. Kb Mark Reviewed

knowledge.missed.dismiss

Write. Scope: kb.write, admin. Contract: route_inferred. Kb Missed Dismiss

knowledge.missed.draft.article

Write. Scope: kb.write, admin. Contract: route_inferred. Kb Missed Draft Article

knowledge.missed.list

Read. Scope: kb.read, admin. Contract: route_inferred. Kb Missed List

knowledge.missed.mark.published

Read. Scope: kb.read, admin. Contract: route_inferred. Kb Missed Mark Published

knowledge.missed.refresh

Write. Scope: kb.write, admin. Contract: declared_dynamic. Kb Missed Refresh

knowledge.organize.descriptions

Write. Scope: kb.write, admin. Contract: declared_dynamic. Help Organize Descriptions

knowledge.organize.status

Write. Scope: kb.write, admin. Contract: declared_dynamic. Help Organize Status

knowledge.organize.step

Write. Scope: kb.write, admin. Contract: route_inferred. Help Organize Step

knowledge.publish

Write. Scope: kb.write, admin. Contract: route_inferred. Kb Publish

knowledge.reformat.revert

Write. Scope: kb.write, admin. Contract: declared_dynamic. Help Reformat Revert

knowledge.reformat.status

Read. Scope: kb.read, admin. Contract: declared_dynamic. Help Reformat Status

knowledge.reformat.step

Write. Scope: kb.write, admin. Contract: route_inferred. Help Reformat Step

knowledge.review.queue

Read. Scope: kb.read, admin. Contract: declared_dynamic. Kb Review Queue

knowledge.search.gaps

Read. Scope: kb.read, admin. Contract: declared_dynamic. Kb Search Gaps

knowledge.set.featured

Write. Scope: kb.write, admin. Contract: route_inferred. Help Set Featured

knowledge.set.visibility

Write. Scope: kb.write, admin. Contract: declared_dynamic. Kb Set Visibility

knowledge.subdomain.allocate

Write. Scope: kb.write, admin. Contract: route_inferred. Help Subdomain Allocate

knowledge.subdomain.check

Read. Scope: kb.read, admin. Contract: route_inferred. Help Subdomain Check

knowledge.subdomain.release

Write. Scope: kb.write, admin. Contract: route_inferred. Help Subdomain Release

knowledge.taxonomy.organize

Write. Scope: kb.write, admin. Contract: declared_dynamic. Kb Taxonomy Organize

knowledge.taxonomy.status

Read. Scope: kb.read, admin. Contract: declared_dynamic. Kb Taxonomy Status

knowledge.taxonomy.step

Write. Scope: kb.write, admin. Contract: route_inferred. Kb Taxonomy Step

knowledge.widget.categories

Read. Scope: kb.read, admin. Contract: route_inferred. Kb Widget Categories

knowledge.widget.publish

Write. Scope: kb.write, admin. Contract: route_inferred. Kb Widget Publish

knowledge.widget.targets

Read. Scope: kb.read, admin. Contract: route_inferred. Kb Widget Targets

leads (6)

leads.delete

Write. Scope: leads.write, crm.write, admin. Contract: explicit. Delete a lead Required fields: lead_id. Retry-safe with idempotency_key.

leads.delete.route.lead.delete

Write. Scope: leads.write, admin. Contract: route_inferred. Lead Delete

leads.list

Read. Scope: leads.read, crm.read, admin. Contract: explicit. List leads

leads.stats

Read. Scope: leads.read, analytics.read, admin. Contract: explicit. Get lead statistics

leads.stats.route.leads.stats

Read. Scope: leads.read, admin. Contract: declared_dynamic. Leads Stats

leads.update

Write. Scope: leads.write, crm.write, admin. Contract: explicit. Update a lead Required fields: lead_id, status. Retry-safe with idempotency_key.

Meta (4)

meta.action

Read. Scope: none. Contract: explicit. Get one General API action contract Required fields: name.

meta.actions

Read. Scope: none. Contract: explicit. List the complete General API contract

meta.me

Read. Scope: none. Contract: explicit. Describe the authenticated API key and active workspace

meta.scopes

Read. Scope: none. Contract: explicit. List API scopes and the actions protected by each scope

notifications (1)

notifications.list

Read. Scope: notifications.read, admin. Contract: source_inferred. Notifications List

Platform (345)

platform.add.announcement

Write. Scope: platform.write, admin. Contract: declared_dynamic. Add Announcement

platform.add.kb.article

Write. Scope: platform.write, admin. Contract: route_inferred. Add Kb Article

platform.add.todo.item

Write. Scope: platform.write, admin. Contract: route_inferred. Add Todo Item

platform.ai.action.lookup

Write. Scope: platform.write, admin. Contract: route_inferred. Ai Action Lookup

platform.ai.anomaly.detect

Read. Scope: platform.read, admin. Contract: route_inferred. Ai Anomaly Detect

platform.ai.brain.add

Write. Scope: platform.write, admin. Contract: route_inferred. Ai Brain Add

platform.ai.brain.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Ai Brain Delete

platform.ai.brain.edit

Write. Scope: platform.write, admin. Contract: route_inferred. Ai Brain Edit

platform.ai.brain.list

Write. Scope: platform.write, admin. Contract: route_inferred. Ai Brain List

platform.ai.brain.pin

Write. Scope: platform.write, admin. Contract: route_inferred. Ai Brain Pin

platform.ai.brain.status

Write. Scope: platform.write, admin. Contract: route_inferred. Ai Brain Status

platform.ai.chat

Write. Scope: platform.write, admin. Contract: route_inferred. Ai Chat

platform.ai.confidence.stats

Read. Scope: platform.read, admin. Contract: declared_dynamic. Ai Confidence Stats

platform.ai.context.lookup

Write. Scope: platform.write, admin. Contract: route_inferred. Ai Context Lookup

platform.ai.daily.brief

Write. Scope: platform.write, admin. Contract: route_inferred. Ai Daily Brief

platform.ai.daily.brief.check

Read. Scope: platform.read, admin. Contract: declared_dynamic. Ai Daily Brief Check

platform.ai.daily.brief.dismiss

Write. Scope: platform.write, admin. Contract: declared_dynamic. Ai Daily Brief Dismiss

platform.ai.daily.brief.fetch

Read. Scope: platform.read, admin. Contract: route_inferred. Ai Daily Brief Fetch

platform.ai.eval.control.summary

Read. Scope: platform.read, admin. Contract: declared_dynamic. Ai Eval Control Summary

platform.ai.eval.feedback.queue

Read. Scope: platform.read, admin. Contract: declared_dynamic. Ai Eval Feedback Queue

platform.ai.eval.kb.gap.queue

Read. Scope: platform.read, admin. Contract: declared_dynamic. Ai Eval Kb Gap Queue

platform.ai.eval.load

Read. Scope: platform.read, admin. Contract: declared_dynamic. Ai Eval Load

platform.ai.eval.replay.history

Write. Scope: platform.write, admin. Contract: declared_dynamic. Ai Eval Replay History

platform.ai.eval.run

Write. Scope: platform.write, admin. Contract: declared_dynamic. Ai Eval Run

platform.ai.eval.save

Write. Scope: platform.write, admin. Contract: declared_dynamic. Ai Eval Save

platform.ai.eval.score.answer

Read. Scope: platform.read, admin. Contract: declared_dynamic. Ai Eval Score Answer

platform.ai.eval.simulate

Read. Scope: platform.read, admin. Contract: route_inferred. Ai Eval Simulate

platform.ai.feedback.analysis

Read. Scope: platform.read, admin. Contract: declared_dynamic. Ai Feedback Analysis

platform.ai.feedback.stats

Read. Scope: platform.read, admin. Contract: declared_dynamic. Ai Feedback Stats

platform.ai.history.archive

Write. Scope: platform.write, admin. Contract: declared_dynamic. Ai History Archive

platform.ai.history.clear.all

Write. Scope: platform.write, admin. Contract: declared_dynamic. Ai History Clear All

platform.ai.history.delete

Write. Scope: platform.write, admin. Contract: declared_dynamic. Ai History Delete

platform.ai.history.export.csv

Write. Scope: platform.write, admin. Contract: declared_dynamic. Ai History Export Csv

platform.ai.history.get

Write. Scope: platform.write, admin. Contract: declared_dynamic. Ai History Get

platform.ai.history.list

Write. Scope: platform.write, admin. Contract: declared_dynamic. Ai History List

platform.ai.history.stats

Write. Scope: platform.write, admin. Contract: declared_dynamic. Ai History Stats

platform.ai.insight.clear

Write. Scope: platform.write, admin. Contract: route_inferred. Ai Insight Clear

platform.ai.insight.history

Read. Scope: platform.read, admin. Contract: route_inferred. Ai Insight History

platform.ai.insight.report.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Ai Insight Report Delete

platform.ai.insight.report.get

Read. Scope: platform.read, admin. Contract: route_inferred. Ai Insight Report Get

platform.ai.instructions.compress

Write. Scope: platform.write, admin. Contract: declared_dynamic. Ai Instructions Compress

platform.ai.instructions.connector.templates

Read. Scope: platform.read, admin. Contract: declared_dynamic. Ai Instructions Connector Templates

platform.ai.instructions.example

Read. Scope: platform.read, admin. Contract: declared_dynamic. Ai Instructions Example

platform.ai.instructions.load

Write. Scope: platform.write, admin. Contract: declared_dynamic. Ai Instructions Load

platform.ai.instructions.preview

Read. Scope: platform.read, admin. Contract: route_inferred. Ai Instructions Preview

platform.ai.instructions.reset

Write. Scope: platform.write, admin. Contract: declared_dynamic. Ai Instructions Reset

platform.ai.instructions.save

Write. Scope: platform.write, admin. Contract: declared_dynamic. Ai Instructions Save

platform.ai.page.insights

Read. Scope: platform.read, admin. Contract: route_inferred. Ai Page Insights

platform.ai.popup.regen

Write. Scope: platform.write, admin. Contract: route_inferred. Ai Popup Regen

platform.ai.quality.view

Read. Scope: platform.read, admin. Contract: declared_dynamic. Ai Quality View

platform.ai.reasoning.chain.get

Read. Scope: platform.read, admin. Contract: route_inferred. Ai Reasoning Chain Get

platform.ai.score.lead

Write. Scope: platform.write, admin. Contract: route_inferred. Ai Score Lead

platform.ai.smart.alerts

Read. Scope: platform.read, admin. Contract: declared_dynamic. Ai Smart Alerts

platform.ai.triage.accuracy

Read. Scope: platform.read, admin. Contract: declared_dynamic. Ai Triage Accuracy

platform.ai.whmcs.chat

Write. Scope: platform.write, admin. Contract: route_inferred. Ai Whmcs Chat

platform.ai.writing

Write. Scope: platform.write, admin. Contract: route_inferred. Ai Writing

platform.api.keys.catalog

Read. Scope: platform.read, admin. Contract: declared_dynamic. Api Keys Catalog

platform.api.keys.create

Write. Scope: platform.write, admin. Contract: route_inferred. Api Keys Create

platform.api.keys.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Api Keys Delete

platform.api.keys.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Api Keys List

platform.api.keys.revoke

Write. Scope: platform.write, admin. Contract: route_inferred. Api Keys Revoke

platform.api.keys.update

Write. Scope: platform.write, admin. Contract: route_inferred. Api Keys Update

platform.audit.export

Read. Scope: platform.read, admin. Contract: route_inferred. Audit Export

platform.blocked

Write. Scope: platform.write, admin. Contract: route_inferred. Blocked

platform.campaigns

Read. Scope: platform.read, admin. Contract: declared_dynamic. Campaigns

platform.chart.browsers

Read. Scope: platform.read, admin. Contract: declared_dynamic. Chart Browsers

platform.chart.countries

Read. Scope: platform.read, admin. Contract: declared_dynamic. Chart Countries

platform.chart.devices

Read. Scope: platform.read, admin. Contract: declared_dynamic. Chart Devices

platform.chart.hourly

Read. Scope: platform.read, admin. Contract: declared_dynamic. Chart Hourly

platform.chart.new.returning

Read. Scope: platform.read, admin. Contract: declared_dynamic. Chart New Returning

platform.chart.os

Read. Scope: platform.read, admin. Contract: declared_dynamic. Chart Os

platform.chart.sources

Read. Scope: platform.read, admin. Contract: declared_dynamic. Chart Sources

platform.chart.visitors

Read. Scope: platform.read, admin. Contract: route_inferred. Chart Visitors

platform.chatbot.flow.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Chatbot Flow Delete

platform.chatbot.flow.get

Read. Scope: platform.read, admin. Contract: route_inferred. Chatbot Flow Get

platform.chatbot.flow.save

Write. Scope: platform.write, admin. Contract: route_inferred. Chatbot Flow Save

platform.chatbot.flow.stats

Read. Scope: platform.read, admin. Contract: route_inferred. Chatbot Flow Stats

platform.chatbot.flow.test.advance

Read. Scope: platform.read, admin. Contract: route_inferred. Chatbot Flow Test Advance

platform.chatbot.flow.test.start

Write. Scope: platform.write, admin. Contract: route_inferred. Chatbot Flow Test Start

platform.chatbot.flow.toggle

Write. Scope: platform.write, admin. Contract: route_inferred. Chatbot Flow Toggle

platform.chatbot.flows.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Chatbot Flows List

platform.chatbot.flows.widget.data

Read. Scope: platform.read, admin. Contract: declared_dynamic. Chatbot Flows Widget Data

platform.chatbot.node.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Chatbot Node Delete

platform.chatbot.node.save

Write. Scope: platform.write, admin. Contract: route_inferred. Chatbot Node Save

platform.chatbot.nodes.list

Read. Scope: platform.read, admin. Contract: route_inferred. Chatbot Nodes List

platform.clear.admin.chat.history

Write. Scope: platform.write, admin. Contract: declared_dynamic. Clear Admin Chat History

platform.command.center.view

Read. Scope: platform.read, admin. Contract: declared_dynamic. Command Center View

platform.complete.todo.item

Write. Scope: platform.write, admin. Contract: route_inferred. Complete Todo Item

platform.consent.log.list

Read. Scope: platform.read, admin. Contract: route_inferred. Consent Log List

platform.countries

Read. Scope: platform.read, admin. Contract: declared_dynamic. Countries

platform.country.detail

Read. Scope: platform.read, admin. Contract: route_inferred. Country Detail

platform.custom.code.approve

Write. Scope: platform.write, admin. Contract: route_inferred. Custom Code Approve

platform.custom.code.disable

Write. Scope: platform.write, admin. Contract: route_inferred. Custom Code Disable

platform.custom.code.reject

Write. Scope: platform.write, admin. Contract: route_inferred. Custom Code Reject

platform.custom.code.rollback

Write. Scope: platform.write, admin. Contract: route_inferred. Custom Code Rollback

platform.custom.code.status

Read. Scope: platform.read, admin. Contract: route_inferred. Custom Code Status

platform.delete.todo.item

Write. Scope: platform.write, admin. Contract: route_inferred. Delete Todo Item

platform.devices

Read. Scope: platform.read, admin. Contract: declared_dynamic. Devices

platform.diag.check.resolutions

Read. Scope: platform.read, admin. Contract: declared_dynamic. Diag Check Resolutions

platform.diag.dismiss

Write. Scope: platform.write, admin. Contract: route_inferred. Diag Dismiss

platform.diag.recheck

Read. Scope: platform.read, admin. Contract: route_inferred. Diag Recheck

platform.diag.recheck.all

Read. Scope: platform.read, admin. Contract: declared_dynamic. Diag Recheck All

platform.diag.report

Write. Scope: platform.write, admin. Contract: route_inferred. Diag Report

platform.diag.unmute

Read. Scope: platform.read, admin. Contract: route_inferred. Diag Unmute

platform.dismiss.credit.alert

Write. Scope: platform.write, admin. Contract: route_inferred. Dismiss Credit Alert

platform.domain.knowledge.ai.generate

Write. Scope: platform.write, admin. Contract: route_inferred. Domain Knowledge Ai Generate

platform.domain.knowledge.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Domain Knowledge Delete

platform.domain.knowledge.list

Write. Scope: platform.write, admin. Contract: route_inferred. Domain Knowledge List

platform.domain.knowledge.save

Write. Scope: platform.write, admin. Contract: route_inferred. Domain Knowledge Save

platform.domain.knowledge.toggle

Write. Scope: platform.write, admin. Contract: route_inferred. Domain Knowledge Toggle

platform.domain.verify.add

Write. Scope: platform.write, admin. Contract: route_inferred. Domain Verify Add

platform.domain.verify.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Domain Verify List

platform.domain.verify.recheck

Write. Scope: platform.write, admin. Contract: route_inferred. Domain Verify Recheck

platform.domain.verify.remove

Write. Scope: platform.write, admin. Contract: route_inferred. Domain Verify Remove

platform.dynamic.action.dispatch

Write. Scope: platform.write, admin. Contract: route_inferred. Dynamic Action Dispatch

platform.events.clear.all

Write. Scope: platform.write, admin. Contract: declared_dynamic. Events Clear All

platform.events.list

Read. Scope: platform.read, admin. Contract: route_inferred. Events List

platform.experiment.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Experiment Delete

platform.experiment.results

Read. Scope: platform.read, admin. Contract: route_inferred. Experiment Results

platform.experiment.save

Write. Scope: platform.write, admin. Contract: route_inferred. Experiment Save

platform.experiments.clear.all

Write. Scope: platform.write, admin. Contract: declared_dynamic. Experiments Clear All

platform.experiments.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Experiments List

platform.failed.logins.clear.all

Write. Scope: platform.write, admin. Contract: declared_dynamic. Failed Logins Clear All

platform.failed.logins.clear.history

Write. Scope: platform.write, admin. Contract: declared_dynamic. Failed Logins Clear History

platform.failed.logins.journey

Write. Scope: platform.write, admin. Contract: route_inferred. Failed Logins Journey

platform.failed.logins.list

Write. Scope: platform.write, admin. Contract: declared_dynamic. Failed Logins List

platform.failed.logins.unblock

Write. Scope: platform.write, admin. Contract: route_inferred. Failed Logins Unblock

platform.feedback.analysis.get

Read. Scope: platform.read, admin. Contract: declared_dynamic. Feedback Analysis Get

platform.feedback.analysis.run

Write. Scope: platform.write, admin. Contract: route_inferred. Feedback Analysis Run

platform.feedback.analytics.all

Read. Scope: platform.read, admin. Contract: route_inferred. Feedback Analytics All

platform.feedback.analytics.detractors

Read. Scope: platform.read, admin. Contract: route_inferred. Feedback Analytics Detractors

platform.feedback.analytics.metrics

Read. Scope: platform.read, admin. Contract: route_inferred. Feedback Analytics Metrics

platform.feedback.analytics.overview

Read. Scope: platform.read, admin. Contract: route_inferred. Feedback Analytics Overview

platform.feedback.analytics.segments

Read. Scope: platform.read, admin. Contract: route_inferred. Feedback Analytics Segments

platform.feedback.analytics.sentiment

Read. Scope: platform.read, admin. Contract: route_inferred. Feedback Analytics Sentiment

platform.feedback.analytics.themes

Read. Scope: platform.read, admin. Contract: route_inferred. Feedback Analytics Themes

platform.feedback.analytics.trends

Read. Scope: platform.read, admin. Contract: route_inferred. Feedback Analytics Trends

platform.feedback.assignees.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Feedback Assignees List

platform.feedback.event.outbox.drain

Write. Scope: platform.write, admin. Contract: route_inferred. Feedback Event Outbox Drain

platform.feedback.exports.create

Write. Scope: platform.write, admin. Contract: route_inferred. Feedback Exports Create

platform.feedback.exports.get

Read. Scope: platform.read, admin. Contract: route_inferred. Feedback Exports Get

platform.feedback.external.review.ingest

Write. Scope: platform.write, admin. Contract: route_inferred. Feedback External Review Ingest

platform.feedback.ingest.create

Write. Scope: platform.write, admin. Contract: route_inferred. Feedback Ingest Create

platform.feedback.items.assign

Write. Scope: platform.write, admin. Contract: route_inferred. Feedback Items Assign

platform.feedback.items.evidence

Read. Scope: platform.read, admin. Contract: route_inferred. Feedback Items Evidence

platform.feedback.items.follow.up.complete

Write. Scope: platform.write, admin. Contract: route_inferred. Feedback Items Follow Up Complete

platform.feedback.items.follow.up.set

Write. Scope: platform.write, admin. Contract: route_inferred. Feedback Items Follow Up Set Required fields: bool.

platform.feedback.items.get

Read. Scope: platform.read, admin. Contract: route_inferred. Feedback Items Get

platform.feedback.items.list

Read. Scope: platform.read, admin. Contract: route_inferred. Feedback Items List

platform.feedback.items.mark.read

Write. Scope: platform.write, admin. Contract: route_inferred. Feedback Items Mark Read

platform.feedback.items.notes.add

Write. Scope: platform.write, admin. Contract: route_inferred. Feedback Items Notes Add

platform.feedback.items.set.priority

Write. Scope: platform.write, admin. Contract: route_inferred. Feedback Items Set Priority

platform.feedback.items.set.status

Write. Scope: platform.write, admin. Contract: route_inferred. Feedback Items Set Status

platform.feedback.items.tags.add

Write. Scope: platform.write, admin. Contract: route_inferred. Feedback Items Tags Add

platform.feedback.items.tags.remove

Write. Scope: platform.write, admin. Contract: route_inferred. Feedback Items Tags Remove

platform.feedback.list

Read. Scope: platform.read, admin. Contract: route_inferred. Feedback List

platform.feedback.reconciliation

Read. Scope: platform.read, admin. Contract: declared_dynamic. Feedback Reconciliation

platform.feedback.reports.delete

Write. Scope: platform.write, admin. Contract: declared_dynamic. Feedback Reports Delete

platform.feedback.reports.email

Read. Scope: platform.read, admin. Contract: declared_dynamic. Feedback Reports Email

platform.feedback.reports.get

Read. Scope: platform.read, admin. Contract: declared_dynamic. Feedback Reports Get

platform.feedback.reports.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Feedback Reports List

platform.feedback.satisfaction.advice.last

Read. Scope: platform.read, admin. Contract: declared_dynamic. Feedback Satisfaction Advice Last

platform.feedback.satisfaction.advise

Read. Scope: platform.read, admin. Contract: declared_dynamic. Feedback Satisfaction Advise

platform.feedback.satisfaction.overview

Read. Scope: platform.read, admin. Contract: declared_dynamic. Feedback Satisfaction Overview

platform.feedback.sources.health

Read. Scope: platform.read, admin. Contract: declared_dynamic. Feedback Sources Health

platform.feedback.sources.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Feedback Sources List

platform.feedback.sources.rebuild

Write. Scope: platform.write, admin. Contract: route_inferred. Feedback Sources Rebuild

platform.feedback.sources.replay

Write. Scope: platform.write, admin. Contract: route_inferred. Feedback Sources Replay

platform.feedback.stats

Write. Scope: platform.write, admin. Contract: declared_dynamic. Feedback Stats

platform.fx.refresh.now

Write. Scope: platform.write, admin. Contract: declared_dynamic. Fx Refresh Now

platform.geoip.autodetect

Read. Scope: platform.read, admin. Contract: declared_dynamic. Geoip Autodetect

platform.get.admin.chat.history

Read. Scope: platform.read, admin. Contract: declared_dynamic. Get Admin Chat History

platform.get.ai.snapshot

Write. Scope: platform.write, admin. Contract: route_inferred. Get Ai Snapshot

platform.get.campaign.groups

Read. Scope: platform.read, admin. Contract: declared_dynamic. Get Campaign Groups

platform.get.client.chat.knowledge.overview

Write. Scope: platform.write, admin. Contract: declared_dynamic. Get Client Chat Knowledge Overview

platform.get.kb.categories

Read. Scope: platform.read, admin. Contract: route_inferred. Get Kb Categories

platform.get.live.health.snapshot

Read. Scope: platform.read, admin. Contract: route_inferred. Get Live Health Snapshot

platform.get.pwa.chat.prefs

Write. Scope: platform.write, admin. Contract: declared_dynamic. Get Pwa Chat Prefs

platform.get.servers

Read. Scope: platform.read, admin. Contract: declared_dynamic. Get Servers

platform.get.survey.config

Read. Scope: platform.read, admin. Contract: declared_dynamic. Get Survey Config

platform.get.ticket.options

Read. Scope: platform.read, admin. Contract: declared_dynamic. Get Ticket Options

platform.get.ticket.thread

Read. Scope: platform.read, admin. Contract: route_inferred. Get Ticket Thread

platform.get.todo.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Get Todo List

platform.get.whmcs.health.snapshot

Read. Scope: platform.read, admin. Contract: declared_dynamic. Get Whmcs Health Snapshot

platform.get.widget.advanced

Read. Scope: platform.read, admin. Contract: route_inferred. Get Widget Advanced

platform.groups.create

Write. Scope: platform.write, admin. Contract: route_inferred. Groups Create

platform.groups.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Groups Delete

platform.groups.list

Write. Scope: platform.write, admin. Contract: route_inferred. Groups List

platform.groups.rename

Write. Scope: platform.write, admin. Contract: route_inferred. Groups Rename

platform.groups.set.primary

Write. Scope: platform.write, admin. Contract: route_inferred. Groups Set Primary

platform.hc.preview.mint

Read. Scope: platform.read, admin. Contract: route_inferred. Hc Preview Mint

platform.hc.template.apply

Write. Scope: platform.write, admin. Contract: route_inferred. Hc Template Apply

platform.hc.template.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Hc Template Delete

platform.hc.template.preview

Read. Scope: platform.read, admin. Contract: route_inferred. Hc Template Preview

platform.hc.template.save

Write. Scope: platform.write, admin. Contract: route_inferred. Hc Template Save

platform.hc.templates.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hc Templates List

platform.hc.translation.review.get

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hc Translation Review Get

platform.hc.translation.review.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hc Translation Review List

platform.hc.translation.review.revert

Write. Scope: platform.write, admin. Contract: declared_dynamic. Hc Translation Review Revert

platform.hc.translation.review.save

Write. Scope: platform.write, admin. Contract: declared_dynamic. Hc Translation Review Save

platform.heatmap

Read. Scope: platform.read, admin. Contract: route_inferred. Heatmap

platform.inbound.activity.feed

Write. Scope: platform.write, admin. Contract: route_inferred. Inbound Activity Feed

platform.inbound.endpoints.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Inbound Endpoints Delete

platform.inbound.endpoints.list

Write. Scope: platform.write, admin. Contract: route_inferred. Inbound Endpoints List

platform.inbound.endpoints.save

Write. Scope: platform.write, admin. Contract: route_inferred. Inbound Endpoints Save

platform.inbound.endpoints.test

Write. Scope: platform.write, admin. Contract: route_inferred. Inbound Endpoints Test

platform.ip.classify

Read. Scope: platform.read, admin. Contract: route_inferred. Ip Classify

platform.js.errors.clear.all

Write. Scope: platform.write, admin. Contract: declared_dynamic. Js Errors Clear All

platform.js.errors.list

Read. Scope: platform.read, admin. Contract: route_inferred. Js Errors List

platform.js.issue.assign

Write. Scope: platform.write, admin. Contract: route_inferred. Js Issue Assign

platform.js.issue.update

Write. Scope: platform.write, admin. Contract: route_inferred. Js Issue Update

platform.js.sourcemap.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Js Sourcemap Delete

platform.js.sourcemap.upload

Write. Scope: platform.write, admin. Contract: route_inferred. Js Sourcemap Upload

platform.js.sourcemaps.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Js Sourcemaps List

platform.leads

Read. Scope: platform.read, admin. Contract: route_inferred. Leads

platform.license.delete

Write. Scope: platform.write, admin. Contract: declared_dynamic. License Delete

platform.license.diagnostics

Read. Scope: platform.read, admin. Contract: declared_dynamic. License Diagnostics

platform.license.force.check

Read. Scope: platform.read, admin. Contract: declared_dynamic. License Force Check

platform.license.preflight

Read. Scope: platform.read, admin. Contract: declared_dynamic. License Preflight

platform.license.save

Write. Scope: platform.write, admin. Contract: route_inferred. License Save

platform.license.status

Read. Scope: platform.read, admin. Contract: declared_dynamic. License Status

platform.license.verify.now

Write. Scope: platform.write, admin. Contract: declared_dynamic. License Verify Now

platform.lifecycle.evaluate

Read. Scope: platform.read, admin. Contract: route_inferred. Lifecycle Evaluate

platform.lifecycle.rule.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Lifecycle Rule Delete

platform.lifecycle.rule.list

Read. Scope: platform.read, admin. Contract: route_inferred. Lifecycle Rule List

platform.lifecycle.rule.save

Write. Scope: platform.write, admin. Contract: route_inferred. Lifecycle Rule Save

platform.list.assignable.sites

Read. Scope: platform.read, admin. Contract: declared_dynamic. List Assignable Sites

platform.list.network.issues

Read. Scope: platform.read, admin. Contract: declared_dynamic. List Network Issues

platform.list.sites

Read. Scope: platform.read, admin. Contract: declared_dynamic. List Sites

platform.lookup.client.full

Read. Scope: platform.read, admin. Contract: route_inferred. Lookup Client Full

platform.mark.feedback.read

Write. Scope: platform.write, admin. Contract: route_inferred. Mark Feedback Read

platform.marketplace.local.install

Write. Scope: platform.write, admin. Contract: route_inferred. Marketplace Local Install

platform.marketplace.local.uninstall

Write. Scope: platform.write, admin. Contract: route_inferred. Marketplace Local Uninstall

platform.marketplace.session.get

Read. Scope: platform.read, admin. Contract: declared_dynamic. Marketplace Session Get

platform.marketplace.session.set

Write. Scope: platform.write, admin. Contract: route_inferred. Marketplace Session Set

platform.message.contact.locale

Write. Scope: platform.write, admin. Contract: route_inferred. Message Contact Locale

platform.message.outbound.convert

Write. Scope: platform.write, admin. Contract: route_inferred. Message Outbound Convert

platform.message.translate

Write. Scope: platform.write, admin. Contract: route_inferred. Message Translate

platform.message.translation.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Message Translation Delete

platform.message.translation.save

Write. Scope: platform.write, admin. Contract: route_inferred. Message Translation Save

platform.meta.channels.disconnect

Write. Scope: platform.write, admin. Contract: declared_dynamic. Meta Channels Disconnect

platform.onboarding.action

Read. Scope: platform.read, admin. Contract: declared_dynamic. Onboarding Action

platform.onboarding.readiness

Read. Scope: platform.read, admin. Contract: declared_dynamic. Onboarding Readiness

platform.open.network.issue

Read. Scope: platform.read, admin. Contract: declared_dynamic. Open Network Issue

platform.open.ticket

Read. Scope: platform.read, admin. Contract: route_inferred. Open Ticket

platform.operator.text.translate

Write. Scope: platform.write, admin. Contract: route_inferred. Operator Text Translate

platform.opsiq.backup.export

Read. Scope: platform.read, admin. Contract: declared_dynamic. Download a full backup in one request (retired)

platform.opsiq.backup.import

Write. Scope: platform.write, admin. Contract: route_inferred. Opsiq Backup Import

platform.opsiq.backup.import.start

Write. Scope: platform.write, admin. Contract: route_inferred. Opsiq Backup Import Start

platform.opsiq.backup.job.start

Write. Scope: platform.write, admin. Contract: route_inferred. Opsiq Backup Job Start

platform.opsiq.backup.job.status

Write. Scope: platform.write, admin. Contract: route_inferred. Opsiq Backup Job Status

platform.outreach.campaign.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Outreach Campaign Delete

platform.outreach.campaign.list

Read. Scope: platform.read, admin. Contract: route_inferred. Outreach Campaign List

platform.outreach.campaign.save

Write. Scope: platform.write, admin. Contract: route_inferred. Outreach Campaign Save

platform.outreach.campaign.send

Write. Scope: platform.write, admin. Contract: route_inferred. Outreach Campaign Send

platform.outreach.compose.send

Write. Scope: platform.write, admin. Contract: route_inferred. Outreach Compose Send

platform.outreach.replies.list

Read. Scope: platform.read, admin. Contract: route_inferred. Outreach Replies List

platform.outreach.reply.ai

Write. Scope: platform.write, admin. Contract: route_inferred. Outreach Reply Ai

platform.outreach.reply.mark

Write. Scope: platform.write, admin. Contract: route_inferred. Outreach Reply Mark

platform.outreach.reply.pref

Write. Scope: platform.write, admin. Contract: route_inferred. Outreach Reply Pref

platform.outreach.reply.send

Write. Scope: platform.write, admin. Contract: route_inferred. Outreach Reply Send

platform.outreach.reply.thread

Write. Scope: platform.write, admin. Contract: route_inferred. Outreach Reply Thread

platform.outreach.template.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Outreach Template Delete

platform.outreach.template.list

Read. Scope: platform.read, admin. Contract: route_inferred. Outreach Template List

platform.outreach.template.preview

Read. Scope: platform.read, admin. Contract: route_inferred. Outreach Template Preview

platform.outreach.template.save

Write. Scope: platform.write, admin. Contract: route_inferred. Outreach Template Save

platform.overview

Read. Scope: platform.read, admin. Contract: declared_dynamic. Overview

platform.overview.hub.view

Read. Scope: platform.read, admin. Contract: route_inferred. Overview Hub View

platform.overview.intelligence.graph

Read. Scope: platform.read, admin. Contract: declared_dynamic. Overview Intelligence Graph

platform.pages

Read. Scope: platform.read, admin. Contract: route_inferred. Pages

platform.paths.data

Read. Scope: platform.read, admin. Contract: route_inferred. Paths Data

platform.profile.change.password

Write. Scope: platform.write, admin. Contract: declared_dynamic. Profile Change Password

platform.profile.get

Read. Scope: platform.read, admin. Contract: route_inferred. Profile Get

platform.profile.reward.claim

Write. Scope: platform.write, admin. Contract: route_inferred. Profile Reward Claim

platform.profile.reward.claim.cancel

Write. Scope: platform.write, admin. Contract: route_inferred. Profile Reward Claim Cancel

platform.profile.save

Write. Scope: platform.write, admin. Contract: declared_dynamic. Profile Save

platform.profile.session.revoke

Write. Scope: platform.write, admin. Contract: route_inferred. Profile Session Revoke

platform.profile.sessions.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Profile Sessions List

platform.profile.sessions.revoke.others

Write. Scope: platform.write, admin. Contract: declared_dynamic. Profile Sessions Revoke Others

platform.profile.team.dispute.file

Write. Scope: platform.write, admin. Contract: route_inferred. Profile Team Dispute File

platform.purge

Write. Scope: platform.write, admin. Contract: route_inferred. Purge

platform.purge.all

Write. Scope: platform.write, admin. Contract: route_inferred. Purge All

platform.realtime

Read. Scope: platform.read, admin. Contract: route_inferred. Realtime

platform.realtime.test

Write. Scope: platform.write, admin. Contract: route_inferred. Realtime Test

platform.retention.data

Read. Scope: platform.read, admin. Contract: route_inferred. Retention Data

platform.routes.list

Read. Scope: admin. Contract: source_inferred. List every registered OpsIQ operation

platform.routes.read

Read. Scope: admin. Contract: explicit. Execute a registered read operation Required fields: route.

platform.routes.write

Write. Scope: admin. Contract: explicit. Execute a registered write operation Required fields: route, idempotency_key. Retry-safe with idempotency_key.

platform.run.ai.analysis

Write. Scope: platform.write, admin. Contract: route_inferred. Run Ai Analysis

platform.save.admin.chat.history

Write. Scope: platform.write, admin. Contract: route_inferred. Save Admin Chat History

platform.save.pwa.chat.prefs

Write. Scope: platform.write, admin. Contract: declared_dynamic. Save Pwa Chat Prefs

platform.save.survey.config

Write. Scope: platform.write, admin. Contract: route_inferred. Save Survey Config

platform.save.widget.advanced

Write. Scope: platform.write, admin. Contract: declared_dynamic. Save Widget Advanced

platform.scim.token.issue

Read. Scope: platform.read, admin. Contract: route_inferred. Scim Token Issue

platform.scim.token.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Scim Token List

platform.scim.token.revoke

Write. Scope: platform.write, admin. Contract: route_inferred. Scim Token Revoke

platform.segment.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Segment Delete

platform.segment.list

Read. Scope: platform.read, admin. Contract: route_inferred. Segment List

platform.segment.members

Read. Scope: platform.read, admin. Contract: route_inferred. Segment Members

platform.segment.preview

Read. Scope: platform.read, admin. Contract: route_inferred. Segment Preview

platform.segment.save

Write. Scope: platform.write, admin. Contract: route_inferred. Segment Save

platform.segment.suggestion.accept

Write. Scope: platform.write, admin. Contract: route_inferred. Segment Suggestion Accept

platform.segment.suggestion.dismiss

Write. Scope: platform.write, admin. Contract: route_inferred. Segment Suggestion Dismiss

platform.segment.suggestion.list

Read. Scope: platform.read, admin. Contract: route_inferred. Segment Suggestion List

platform.send.campaign

Write. Scope: platform.write, admin. Contract: route_inferred. Send Campaign

platform.send.client.email

Write. Scope: platform.write, admin. Contract: route_inferred. Send Client Email

platform.send.ticket.reply

Write. Scope: platform.write, admin. Contract: route_inferred. Send Ticket Reply

platform.service.studio.get

Read. Scope: platform.read, admin. Contract: declared_dynamic. Service Studio Get

platform.set.active.site

Write. Scope: platform.write, admin. Contract: route_inferred. Set Active Site

platform.site.set.group

Write. Scope: platform.write, admin. Contract: route_inferred. Site Set Group

platform.sites.add

Write. Scope: platform.write, admin. Contract: route_inferred. Sites Add

platform.sites.edit

Write. Scope: platform.write, admin. Contract: route_inferred. Sites Edit

platform.sites.list

Write. Scope: platform.write, admin. Contract: route_inferred. Sites List

platform.sites.picker

Write. Scope: platform.write, admin. Contract: route_inferred. Sites Picker

platform.sites.remove

Write. Scope: platform.write, admin. Contract: route_inferred. Sites Remove

platform.stats

Read. Scope: platform.read, admin. Contract: declared_dynamic. Stats

platform.stepup.verify

Write. Scope: platform.write, admin. Contract: declared_dynamic. Stepup Verify

platform.submit.agent.ai.feedback

Write. Scope: platform.write, admin. Contract: route_inferred. Submit Agent Ai Feedback

platform.submit.triage.feedback

Write. Scope: platform.write, admin. Contract: route_inferred. Submit Triage Feedback

platform.test.geoip

Read. Scope: platform.read, admin. Contract: route_inferred. Test Geoip

platform.top.pages

Read. Scope: platform.read, admin. Contract: route_inferred. Top Pages

platform.train.client.chat.knowledge

Write. Scope: platform.write, admin. Contract: route_inferred. Train Client Chat Knowledge

platform.triggers

Read. Scope: platform.read, admin. Contract: declared_dynamic. Triggers

platform.turn.pool.add

Write. Scope: platform.write, admin. Contract: route_inferred. Turn Pool Add

platform.turn.pool.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Turn Pool List

platform.turn.pool.pick.test

Write. Scope: platform.write, admin. Contract: route_inferred. Turn Pool Pick Test

platform.turn.pool.remove

Write. Scope: platform.write, admin. Contract: route_inferred. Turn Pool Remove

platform.turn.pool.update

Write. Scope: platform.write, admin. Contract: route_inferred. Turn Pool Update

platform.update.lead.status

Write. Scope: platform.write, admin. Contract: route_inferred. Update Lead Status

platform.wa.embedded.signup.exchange

Write. Scope: platform.write, admin. Contract: route_inferred. Wa Embedded Signup Exchange

platform.warehouse.export.run

Read. Scope: platform.read, admin. Contract: declared_dynamic. Warehouse Export Run

platform.warehouse.exports.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Warehouse Exports List

platform.webhook.deliveries.list

Read. Scope: platform.read, admin. Contract: route_inferred. Webhook Deliveries List

platform.webhook.endpoint.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Webhook Endpoint Delete

platform.webhook.endpoint.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Webhook Endpoint List

platform.webhook.endpoint.save

Write. Scope: platform.write, admin. Contract: route_inferred. Webhook Endpoint Save

platform.webhook.endpoint.test

Write. Scope: platform.write, admin. Contract: route_inferred. Webhook Endpoint Test

platform.webhook.redeliver

Write. Scope: platform.write, admin. Contract: route_inferred. Webhook Redeliver

platform.weekly.digest.view

Read. Scope: platform.read, admin. Contract: route_inferred. Weekly Digest View

platform.whmcs.op.dispatch

Read. Scope: platform.read, admin. Contract: declared_dynamic. Whmcs Op Dispatch

platform.workspace.custom.domain.remove

Write. Scope: platform.write, admin. Contract: declared_dynamic. Workspace Custom Domain Remove

platform.workspace.custom.domain.set

Write. Scope: platform.write, admin. Contract: route_inferred. Workspace Custom Domain Set

platform.writing.json.knowledge.clear

Write. Scope: platform.write, admin. Contract: declared_dynamic. Writing Json Knowledge Clear

platform.writing.json.knowledge.count

Read. Scope: platform.read, admin. Contract: declared_dynamic. Writing Json Knowledge Count

platform.writing.json.knowledge.import

Write. Scope: platform.write, admin. Contract: route_inferred. Writing Json Knowledge Import

portal_studio (147)

portal_studio.add

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Domain Add

portal_studio.allocate

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Subdomain Allocate

portal_studio.apply.kit

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Apply Kit

portal_studio.apply.theme

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Design Apply Theme

portal_studio.approval

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Design Approval

portal_studio.approve

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Approve

portal_studio.ask

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Ask

portal_studio.audience.explain

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Audience Explain

portal_studio.brand.generate

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Design Brand Generate

portal_studio.brand.import

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Design Brand Import

portal_studio.cancel.schedule

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Design Cancel Schedule

portal_studio.certify

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Certify

portal_studio.check

Read. Scope: portal_studio.read, admin. Contract: route_inferred. Portal Host Check

portal_studio.check.route.portal.subdomain.check

Read. Scope: portal_studio.read, admin. Contract: route_inferred. Portal Subdomain Check

portal_studio.comment.add

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Comment Add

portal_studio.comment.resolve

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Comment Resolve

portal_studio.component.package.inspect

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Component Package Inspect

portal_studio.component.package.install

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Component Package Install

portal_studio.component.validate

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Component Validate

portal_studio.config

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Handoff Config

portal_studio.data.resolve

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Data Resolve

portal_studio.delete.theme

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Design Delete Theme

portal_studio.developer.contract

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Developer Contract

portal_studio.discovery.preview

Read. Scope: portal_studio.read, admin. Contract: route_inferred. Portal Studio Discovery Preview

portal_studio.discovery.save

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Discovery Save

portal_studio.document.load

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Load

portal_studio.document.save

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Save

portal_studio.form.archive

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Form Archive

portal_studio.form.catalog

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Form Catalog

portal_studio.form.create

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Form Create

portal_studio.form.delete

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Form Delete

portal_studio.form.duplicate

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Form Duplicate

portal_studio.form.evaluate

Read. Scope: portal_studio.read, admin. Contract: route_inferred. Portal Studio Form Evaluate

portal_studio.form.group.apply

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Form Group Apply

portal_studio.form.group.delete

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Form Group Delete

portal_studio.form.group.save

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Form Group Save

portal_studio.form.publish

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Form Publish

portal_studio.form.restore

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Form Restore

portal_studio.form.save

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Form Save

portal_studio.form.template

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Form Template

portal_studio.form.test

Read. Scope: portal_studio.read, admin. Contract: route_inferred. Portal Studio Form Test

portal_studio.form.version.restore

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Form Version Restore

portal_studio.identity.discover

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Identity Discover

portal_studio.identity.load

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Identity Load

portal_studio.identity.save

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Identity Save

portal_studio.integration.activate

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Integration Activate

portal_studio.integration.install

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Integration Install

portal_studio.integration.kill.switch

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Integration Kill Switch

portal_studio.integration.list

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Integration List

portal_studio.integration.policy

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Integration Policy

portal_studio.integration.policy.save

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Integration Policy Save

portal_studio.integration.preflight

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Integration Preflight

portal_studio.integration.revise

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Integration Revise

portal_studio.integration.rollback

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Integration Rollback

portal_studio.integration.transition

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Integration Transition

portal_studio.journey.archive

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Journey Archive

portal_studio.journey.catalog

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Journey Catalog

portal_studio.journey.delete

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Journey Delete

portal_studio.journey.duplicate

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Journey Duplicate

portal_studio.journey.evaluate

Read. Scope: portal_studio.read, admin. Contract: route_inferred. Portal Studio Journey Evaluate

portal_studio.journey.instantiate

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Journey Instantiate

portal_studio.journey.restore

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Journey Restore

portal_studio.journey.save

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Journey Save

portal_studio.kb.category.delete

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Kb Category Delete

portal_studio.kb.category.reorder

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Kb Category Reorder

portal_studio.kb.category.save

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Kb Category Save

portal_studio.kb.governance

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Kb Governance

portal_studio.kb.governance.save

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Kb Governance Save

portal_studio.kb.languages

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Kb Languages

portal_studio.kb.languages.save

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Kb Languages Save

portal_studio.kb.parity

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Kb Parity

portal_studio.kb.search.tuning

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Kb Search Tuning

portal_studio.kb.search.tuning.save

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Kb Search Tuning Save

portal_studio.kb.tree

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Kb Tree

portal_studio.knowledge.summary

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Knowledge Summary

portal_studio.list

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Domain List

portal_studio.load

Read. Scope: portal_studio.read, admin. Contract: route_inferred. Portal Analytics Load

portal_studio.load.route.portal.design.load

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Design Load

portal_studio.load.route.portal.form.load

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Form Load

portal_studio.lock

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Lock

portal_studio.migration.apply

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Migration Apply

portal_studio.migration.approve

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Migration Approve

portal_studio.migration.list

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Migration List

portal_studio.migration.reconcile

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Migration Reconcile

portal_studio.migration.report

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Migration Report

portal_studio.migration.rollback

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Migration Rollback

portal_studio.migration.rollout

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Migration Rollout

portal_studio.migration.start

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Migration Start

portal_studio.node.add

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Node Add

portal_studio.node.delete

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Node Delete

portal_studio.node.duplicate

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Node Duplicate

portal_studio.node.move

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Node Move

portal_studio.node.update

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Node Update

portal_studio.operations.control

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Operations Control

portal_studio.operations.record

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Operations Record

portal_studio.operations.summary

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Operations Summary

portal_studio.org.context

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Org Context

portal_studio.org.member.save

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Org Member Save

portal_studio.org.members

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Org Members

portal_studio.org.requests

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Org Requests

portal_studio.page.archive

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Page Archive

portal_studio.page.create

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Page Create

portal_studio.page.delete

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Page Delete

portal_studio.page.duplicate

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Page Duplicate

portal_studio.page.restore

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Page Restore

portal_studio.page.update

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Page Update

portal_studio.parity.accept

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Parity Accept

portal_studio.parity.capture

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Parity Capture

portal_studio.parity.compare

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Parity Compare

portal_studio.parity.create

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Parity Create

portal_studio.parity.list

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Parity List

portal_studio.presence

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Presence

portal_studio.preview

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Design Preview

portal_studio.preview.catalog

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Preview Catalog

portal_studio.publish

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Design Publish

portal_studio.redirect.delete

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Redirect Delete

portal_studio.redirect.save

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Redirect Save

portal_studio.release.publish

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Publish

portal_studio.release.rollback

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Rollback

portal_studio.release.schedule

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Schedule

portal_studio.remove

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Domain Remove

portal_studio.request.changes

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Request Changes

portal_studio.restore.published

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Restore Published

portal_studio.revert

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Design Revert

portal_studio.review

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Review

portal_studio.review.link

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Design Review Link

portal_studio.rollback

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Design Rollback

portal_studio.save

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Design Save

portal_studio.save.route.portal.form.save

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Form Save

portal_studio.save.theme

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Design Save Theme

portal_studio.saved.section.delete

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Saved Section Delete

portal_studio.saved.section.instantiate

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Saved Section Instantiate

portal_studio.saved.section.save

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Saved Section Save

portal_studio.schedule

Read. Scope: portal_studio.read, admin. Contract: route_inferred. Portal Design Schedule

portal_studio.schedule.cancel

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Schedule Cancel

portal_studio.scim.config

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Scim Config

portal_studio.service.archive

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Service Archive

portal_studio.service.catalog

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Service Catalog

portal_studio.service.duplicate

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Service Duplicate

portal_studio.service.reorder

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Service Reorder

portal_studio.service.restore

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Service Restore

portal_studio.service.save

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Service Save

portal_studio.service.template

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Service Template

portal_studio.sign.in.flow.save

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Sign In Flow Save

portal_studio.test.link

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Handoff Test Link

portal_studio.unlock

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Unlock

portal_studio.upload

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Image Upload

sales (14)

sales.ai.insight

Write. Scope: sales.write, admin. Contract: route_inferred. Sales Ai Insight

sales.analyze

Write. Scope: sales.write, analytics.write, admin. Contract: explicit. Analyze sales with AI Retry-safe with idempotency_key.

sales.chart

Write. Scope: sales.write, admin. Contract: route_inferred. Sales Chart

sales.compare

Read. Scope: sales.read, analytics.read, admin. Contract: explicit. Compare sales periods

sales.compare.route.sales.compare

Read. Scope: sales.read, admin. Contract: route_inferred. Sales Compare

sales.goal.delete

Write. Scope: sales.write, admin. Contract: route_inferred. Conversion Goal Delete

sales.goal.list

Read. Scope: sales.read, admin. Contract: route_inferred. Conversion Goal List

sales.goal.save

Write. Scope: sales.write, admin. Contract: route_inferred. Conversion Goal Save

sales.list

Read. Scope: sales.read, analytics.read, admin. Contract: explicit. List sales and conversions

sales.list.route.conversion.list

Read. Scope: sales.read, admin. Contract: route_inferred. Conversion List

sales.record

Write. Scope: sales.write, admin. Contract: route_inferred. Conversion Record

sales.stats

Read. Scope: sales.read, analytics.read, admin. Contract: explicit. Read sales statistics

sales.stats.route.sales.stats

Read. Scope: sales.read, admin. Contract: declared_dynamic. Sales Stats

sales.table

Read. Scope: sales.read, admin. Contract: route_inferred. Sales Table

Keamanan (21)

security.ai.analyze

Write. Scope: security.write, admin. Contract: route_inferred. Security Ai Analyze

security.ai.ask

Write. Scope: security.write, admin. Contract: route_inferred. Security Ai Ask

security.ai.briefs

Read. Scope: security.read, admin. Contract: declared_dynamic. Security Ai Briefs

security.ai.chain.explain

Read. Scope: security.read, admin. Contract: route_inferred. Security Ai Chain Explain

security.ai.incident.action

Write. Scope: security.write, admin. Contract: route_inferred. Security Ai Incident Action

security.ai.incidents

Read. Scope: security.read, admin. Contract: route_inferred. Security Ai Incidents

security.ai.js.triage

Read. Scope: security.read, admin. Contract: route_inferred. Security Ai Js Triage

security.ai.policies

Read. Scope: security.read, admin. Contract: declared_dynamic. Security Ai Policies

security.ai.policy.action

Write. Scope: security.write, admin. Contract: route_inferred. Security Ai Policy Action

security.ai.verdicts

Read. Scope: security.read, admin. Contract: route_inferred. Security Ai Verdicts

security.blocklist.add

Write. Scope: security.write, admin. Contract: source_inferred. Add a spam rule (email, domain or IP) to the ticket blocklist Required fields: kind, value. Retry-safe with idempotency_key.

security.blocklist.list

Read. Scope: security.read, admin. Contract: explicit. List the current ticket spam rules

security.chain.reanchor

Write. Scope: security.write, admin. Contract: declared_dynamic. Security Chain Reanchor

security.check

Read. Scope: security.read, admin. Contract: source_inferred. Check an IP or email against the platform blocklists and Security AI verdicts

security.ip

Write. Scope: security.write, admin. Contract: route_inferred. Block Ip

security.ip.route.unblock.ip

Write. Scope: security.write, admin. Contract: route_inferred. Unblock Ip

security.list

Write. Scope: security.write, admin. Contract: route_inferred. Access Log List

security.overview.chains

Read. Scope: security.read, admin. Contract: declared_dynamic. Security Overview Chains

security.overview.data

Read. Scope: security.read, admin. Contract: declared_dynamic. Security Overview Data

security.report

Write. Scope: security.write, admin. Contract: source_inferred. Report abuse a connector observed (spam, login attack, scan, fraud) Retry-safe with idempotency_key.

security.visitor

Write. Scope: security.write, admin. Contract: route_inferred. Block Visitor

sessions (5)

sessions.detail

Read. Scope: sessions.read, admin. Contract: route_inferred. Session Detail

sessions.get

Read. Scope: sessions.read, analytics.read, admin. Contract: explicit. Get a session journey Required fields: session_id.

sessions.list

Read. Scope: sessions.read, analytics.read, admin. Contract: explicit. List sessions

sessions.merged

Read. Scope: sessions.read, admin. Contract: route_inferred. Sessions Merged

sessions.table

Read. Scope: sessions.read, admin. Contract: route_inferred. Sessions Table

settings (11)

settings.ai.eval.watchtower.config

Write. Scope: settings.write, admin. Contract: declared_dynamic. Ai Eval Watchtower Config

settings.get.client.chat.settings

Read. Scope: settings.read, admin. Contract: route_inferred. Get Client Chat Settings

settings.get.settings

Read. Scope: settings.read, admin. Contract: route_inferred. Get Settings

settings.opsiq.branding.clear

Write. Scope: settings.write, admin. Contract: route_inferred. Opsiq Branding Clear

settings.opsiq.branding.upload

Write. Scope: settings.write, admin. Contract: route_inferred. Opsiq Branding Upload

settings.privacy.settings.get

Read. Scope: settings.read, admin. Contract: declared_dynamic. Privacy Settings Get

settings.privacy.settings.save

Write. Scope: settings.write, admin. Contract: route_inferred. Privacy Settings Save

settings.save.ai.settings

Write. Scope: settings.write, admin. Contract: route_inferred. Save Ai Settings

settings.save.chat.widget.settings

Write. Scope: settings.write, admin. Contract: declared_dynamic. Save Chat Widget Settings

settings.save.client.chat.settings

Write. Scope: settings.write, admin. Contract: route_inferred. Save Client Chat Settings

settings.save.settings

Write. Scope: settings.write, admin. Contract: route_inferred. Save Settings

site_intelligence (221)

site_intelligence.action.audit.chain

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Action Audit Chain

site_intelligence.action.execute

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Action Execute

site_intelligence.action.preview

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Action Preview

site_intelligence.action.token

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Action Token

site_intelligence.agent.auto.bg

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Auto Bg

site_intelligence.agent.auto.bg.stop

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Auto Bg Stop

site_intelligence.agent.auto.step

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Auto Step

site_intelligence.agent.chat

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Chat

site_intelligence.agent.conn.delete

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Conn Delete

site_intelligence.agent.conn.get

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Conn Get

site_intelligence.agent.conn.save

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Conn Save

site_intelligence.agent.conn.test

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Conn Test

site_intelligence.agent.coverage

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Coverage

site_intelligence.agent.events

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Events

site_intelligence.agent.hosted.apply

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Hosted Apply

site_intelligence.agent.hosted.finalize

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Hosted Finalize

site_intelligence.agent.hosted.live.set

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Hosted Live Set

site_intelligence.agent.hosted.preview

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Hosted Preview

site_intelligence.agent.hosted.rollback

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Hosted Rollback

site_intelligence.agent.hosted.start

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Hosted Start

site_intelligence.agent.hosted.verify

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Hosted Verify

site_intelligence.agent.run.delete

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Run Delete

site_intelligence.agent.run.finalize

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Run Finalize

site_intelligence.agent.run.rollback

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Run Rollback

site_intelligence.agent.run.start

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Run Start

site_intelligence.agent.run.status

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Run Status

site_intelligence.agent.run.verify

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Run Verify

site_intelligence.agent.runs.list

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Runs List

site_intelligence.agent.set.mode

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Set Mode

site_intelligence.agent.status

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Status

site_intelligence.agent.step.apply

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Step Apply

site_intelligence.agent.step.skip

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Step Skip

site_intelligence.agent.turn.status

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Turn Status

site_intelligence.ai.activity

Read. Scope: site_intelligence.read, admin. Contract: declared_dynamic. Si Ai Activity

site_intelligence.ai.alert.enrich

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Alert Enrich

site_intelligence.ai.alerts

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Alerts

site_intelligence.ai.analyst

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Analyst

site_intelligence.ai.analyst.ask

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Analyst Ask

site_intelligence.ai.analyst.email

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Analyst Email

site_intelligence.ai.analyst.run

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Analyst Run

site_intelligence.ai.badges

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Badges

site_intelligence.ai.badges.portfolio

Read. Scope: site_intelligence.read, admin. Contract: declared_dynamic. Si Ai Badges Portfolio

site_intelligence.ai.badges.preview

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Badges Preview

site_intelligence.ai.bl.plan

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Bl Plan

site_intelligence.ai.bl.plan.run

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Bl Plan Run

site_intelligence.ai.brief

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Brief

site_intelligence.ai.brief.run

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Brief Run

site_intelligence.ai.comp.analyse

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Comp Analyse

site_intelligence.ai.comp.analyse.run

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Comp Analyse Run

site_intelligence.ai.content.get

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Content Get

site_intelligence.ai.content.list

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Content List

site_intelligence.ai.content.publish

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Content Publish

site_intelligence.ai.content.write

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Content Write

site_intelligence.ai.daily.digest

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Daily Digest

site_intelligence.ai.discover

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Discover

site_intelligence.ai.fix.apply

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Fix Apply

site_intelligence.ai.fix.apply.bulk

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Fix Apply Bulk

site_intelligence.ai.fix.dismiss

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Fix Dismiss

site_intelligence.ai.fix.dismiss.bulk

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Fix Dismiss Bulk

site_intelligence.ai.fix.generate

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Fix Generate

site_intelligence.ai.fix.generate.all

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Fix Generate All

site_intelligence.ai.fix.list

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Fix List

site_intelligence.ai.kw.coach

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Kw Coach

site_intelligence.ai.kw.coach.run

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Kw Coach Run

site_intelligence.ai.overview

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Overview

site_intelligence.ai.page.audit

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Page Audit

site_intelligence.ai.page.audit.run

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Page Audit Run

site_intelligence.ai.portfolio

Read. Scope: site_intelligence.read, admin. Contract: declared_dynamic. Si Ai Portfolio

site_intelligence.ai.portfolio.history

Read. Scope: site_intelligence.read, admin. Contract: route_inferred. Si Ai Portfolio History

site_intelligence.ai.portfolio.run

Write. Scope: site_intelligence.write, admin. Contract: declared_dynamic. Si Ai Portfolio Run

site_intelligence.ai.probe

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Probe

site_intelligence.ai.prompt.add

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Prompt Add

site_intelligence.ai.prompt.history

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Prompt History

site_intelligence.ai.prompt.remove

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Prompt Remove

site_intelligence.ai.prompts

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Prompts

site_intelligence.ai.readiness

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Readiness

site_intelligence.ai.ready

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Ready

site_intelligence.alert.resolve

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Alert Resolve

site_intelligence.alerts

Read. Scope: site_intelligence.read, admin. Contract: route_inferred. Si Alerts

site_intelligence.alerts.list

Read. Scope: site_intelligence.read, admin. Contract: explicit. List Site Intelligence alerts

site_intelligence.alerts.resolve

Write. Scope: site_intelligence.write, admin. Contract: explicit. Resolve a Site Intelligence alert Required fields: alert_id. Retry-safe with idempotency_key.

site_intelligence.analyze

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Analyze

site_intelligence.ask

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ask

site_intelligence.audit.hint

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Audit Hint

site_intelligence.backlink.disavow

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Backlink Disavow

site_intelligence.backlinks

Read. Scope: site_intelligence.read, admin. Contract: route_inferred. Si Backlinks

site_intelligence.backlinks.list

Read. Scope: site_intelligence.read, admin. Contract: explicit. List backlinks

site_intelligence.backlinks.refresh

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Backlinks Refresh

site_intelligence.billing.overview

Read. Scope: site_intelligence.read, admin. Contract: declared_dynamic. Si Billing Overview

site_intelligence.brand.get

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Brand Get

site_intelligence.brand.radar

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Brand Radar

site_intelligence.brand.save

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Brand Save

site_intelligence.cannibalisation

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Cannibalisation

site_intelligence.compare

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Compare

site_intelligence.competitor.add

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Competitor Add

site_intelligence.competitor.refresh

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Competitor Refresh

site_intelligence.competitor.remove

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Competitor Remove

site_intelligence.competitors

Read. Scope: site_intelligence.read, admin. Contract: route_inferred. Si Competitors

site_intelligence.competitors.list

Read. Scope: site_intelligence.read, admin. Contract: explicit. List competitors

site_intelligence.content.brief

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Content Brief

site_intelligence.content.decay

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Content Decay

site_intelligence.content.draft

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Content Draft

site_intelligence.crawl.budget

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Crawl Budget

site_intelligence.crawl.list

Read. Scope: site_intelligence.read, admin. Contract: route_inferred. Si Crawl List

site_intelligence.crawl.status

Read. Scope: site_intelligence.read, admin. Contract: route_inferred. Si Crawl Status

site_intelligence.crawls.list

Read. Scope: site_intelligence.read, admin. Contract: explicit. List Site Intelligence crawls

site_intelligence.crawls.status

Read. Scope: site_intelligence.read, admin. Contract: explicit. Get crawl status

site_intelligence.dashboard

Read. Scope: site_intelligence.read, admin. Contract: explicit. Read the Site Intelligence dashboard

site_intelligence.dashboard.route.si.dashboard

Read. Scope: site_intelligence.read, admin. Contract: route_inferred. Si Dashboard

site_intelligence.dashboard.save

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Dashboard Save

site_intelligence.diag.backfill

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Diag Backfill

site_intelligence.diag.compare

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Diag Compare

site_intelligence.diag.portfolio

Read. Scope: site_intelligence.read, admin. Contract: declared_dynamic. Si Diag Portfolio

site_intelligence.diag.recs.regen

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Diag Recs Regen

site_intelligence.diag.thresholds

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Diag Thresholds

site_intelligence.diag.thresholds.eval

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Diag Thresholds Eval

site_intelligence.diag.thresholds.history

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Diag Thresholds History

site_intelligence.diag.thresholds.profile

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Diag Thresholds Profile

site_intelligence.diag.thresholds.save

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Diag Thresholds Save

site_intelligence.diagnostics

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Diagnostics

site_intelligence.exec.report

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Exec Report

site_intelligence.export

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Export

site_intelligence.ga4.connect

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ga4 Connect

site_intelligence.ga4.list.properties

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ga4 List Properties

site_intelligence.ga4.map

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ga4 Map

site_intelligence.ga4.status

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ga4 Status

site_intelligence.ga4.sync

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ga4 Sync

site_intelligence.gbp

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gbp

site_intelligence.gbp.draft.approve

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gbp Draft Approve

site_intelligence.gbp.draft.dismiss

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gbp Draft Dismiss

site_intelligence.gbp.draft.sync

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gbp Draft Sync

site_intelligence.gbp.drafts

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gbp Drafts

site_intelligence.gbp.locations

Read. Scope: site_intelligence.read, admin. Contract: declared_dynamic. Si Gbp Locations

site_intelligence.gbp.map

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gbp Map

site_intelligence.gbp.post.draft

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gbp Post Draft

site_intelligence.gbp.post.publish

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gbp Post Publish

site_intelligence.gbp.qa

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gbp Qa

site_intelligence.gbp.qa.approve

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gbp Qa Approve

site_intelligence.gbp.qa.dismiss

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gbp Qa Dismiss

site_intelligence.gbp.qa.sync

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gbp Qa Sync

site_intelligence.gbp.site.prefs

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gbp Site Prefs

site_intelligence.gbp.sync

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gbp Sync

site_intelligence.google.truth.schedule.save

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Google Truth Schedule Save

site_intelligence.growth

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Growth

site_intelligence.gsc.connect

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gsc Connect

site_intelligence.gsc.list.properties

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gsc List Properties

site_intelligence.gsc.map

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gsc Map

site_intelligence.gsc.opportunities

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gsc Opportunities

site_intelligence.gsc.status

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gsc Status

site_intelligence.gsc.sync

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gsc Sync

site_intelligence.image.audit

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Image Audit

site_intelligence.internal.links

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Internal Links

site_intelligence.issue.history

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Issue History

site_intelligence.issues

Read. Scope: site_intelligence.read, admin. Contract: route_inferred. Si Issues

site_intelligence.issues.list

Read. Scope: site_intelligence.read, admin. Contract: explicit. List Site Intelligence issues

site_intelligence.keyword.add

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Keyword Add

site_intelligence.keyword.remove

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Keyword Remove

site_intelligence.keyword.research

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Keyword Research

site_intelligence.keywords

Read. Scope: site_intelligence.read, admin. Contract: route_inferred. Si Keywords

site_intelligence.keywords.list

Read. Scope: site_intelligence.read, admin. Contract: explicit. List tracked keywords

site_intelligence.local

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Local

site_intelligence.local.grid

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Local Grid

site_intelligence.local.grid.scan

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Local Grid Scan

site_intelligence.log.ingest

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Log Ingest

site_intelligence.log.summary

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Log Summary

site_intelligence.metadata.audit

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Metadata Audit

site_intelligence.overview

Read. Scope: site_intelligence.read, admin. Contract: declared_dynamic. Si Overview

site_intelligence.page

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Page

site_intelligence.page.experience

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Page Experience

site_intelligence.page.optimize

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Page Optimize

site_intelligence.pages

Read. Scope: site_intelligence.read, admin. Contract: route_inferred. Si Pages

site_intelligence.pages.list

Read. Scope: site_intelligence.read, admin. Contract: explicit. List Site Intelligence pages

site_intelligence.pagespeed.bridge.status

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Pagespeed Bridge Status

site_intelligence.portfolio.export

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Portfolio Export

site_intelligence.provider.health

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Provider Health

site_intelligence.rank.check

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Rank Check

site_intelligence.rec.action

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Rec Action

site_intelligence.recommendations

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Recommendations

site_intelligence.redirect.audit

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Redirect Audit

site_intelligence.report

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Report

site_intelligence.report.generate

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Report Generate

site_intelligence.reports

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Reports

site_intelligence.reports.list

Read. Scope: site_intelligence.read, admin. Contract: source_inferred. Site Intelligence Reports List

site_intelligence.reset.google.oauth

Write. Scope: site_intelligence.write, admin. Contract: declared_dynamic. Si Reset Google Oauth

site_intelligence.revenue

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Revenue

site_intelligence.revenue.portfolio

Read. Scope: site_intelligence.read, admin. Contract: declared_dynamic. Si Revenue Portfolio

site_intelligence.save.shared.google.oauth

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Save Shared Google Oauth

site_intelligence.scan.run

Write. Scope: site_intelligence.write, admin. Contract: explicit. Start a Site Intelligence analysis Retry-safe with idempotency_key.

site_intelligence.schedule.delete

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Schedule Delete

site_intelligence.schedule.run.now

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Schedule Run Now

site_intelligence.schedule.save

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Schedule Save

site_intelligence.schedules.list

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Schedules List

site_intelligence.schema.audit

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Schema Audit

site_intelligence.server.engineer

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Server Engineer

site_intelligence.settings.save

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Settings Save

site_intelligence.sites.list

Read. Scope: site_intelligence.read, admin. Contract: explicit. List Site Intelligence monitored sites

site_intelligence.speed

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Speed

site_intelligence.speed.progress

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Speed Progress

site_intelligence.speed.run

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Speed Run

site_intelligence.speed.v2

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Speed V2

site_intelligence.speed.v2.build.task

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Speed V2 Build Task

site_intelligence.speed.v2.collect

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Speed V2 Collect

site_intelligence.speed.v2.read

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Speed V2 Read

site_intelligence.speed.v2.run

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Speed V2 Run

site_intelligence.start.crawl

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Start Crawl

site_intelligence.task.approve

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Task Approve

site_intelligence.task.assign

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Task Assign

site_intelligence.task.bulk.apply

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Task Bulk Apply

site_intelligence.task.bulk.assign

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Task Bulk Assign

site_intelligence.task.bulk.deadline

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Task Bulk Deadline

site_intelligence.task.bulk.dismiss

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Task Bulk Dismiss

site_intelligence.task.deadline

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Task Deadline

site_intelligence.task.note

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Task Note

site_intelligence.task.proof

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Task Proof

site_intelligence.task.reject

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Task Reject

site_intelligence.task.review

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Task Review

site_intelligence.topical.map

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Topical Map

site_intelligence.webhook.delete

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Webhook Delete

site_intelligence.webhook.save

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Webhook Save

site_intelligence.webhooks.list

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Webhooks List

site_intelligence.workflow

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Workflow

Status vinza (6)

status.component.save

Write. Scope: status.write, admin. Contract: declared_dynamic. Status Component Save

status.components.save

Write. Scope: status.write, admin. Contract: explicit. Create or update a public status component Required fields: name. Retry-safe with idempotency_key.

status.incident.create

Write. Scope: status.write, admin. Contract: declared_dynamic. Status Incident Create

status.incident.resolve

Read. Scope: status.read, admin. Contract: route_inferred. Status Incident Resolve

status.incidents.create

Write. Scope: status.write, admin. Contract: explicit. Create a status-page incident Required fields: title. Retry-safe with idempotency_key.

status.incidents.resolve

Write. Scope: status.write, admin. Contract: source_inferred. Status Incidents Resolve Retry-safe with idempotency_key.

Survei BAHAYA (22)

surveys.analytics.get

Read. Scope: surveys.read, admin. Contract: source_inferred. Surveys Analytics Get

surveys.audiences.list

Read. Scope: surveys.read, admin. Contract: explicit. List survey audiences

surveys.audiences.materialize

Write. Scope: surveys.write, admin. Contract: source_inferred. Surveys Audiences Materialize Retry-safe with idempotency_key.

surveys.campaigns.create

Write. Scope: surveys.write, admin. Contract: explicit. Create or update a survey campaign Required fields: deployment_id. Retry-safe with idempotency_key.

surveys.campaigns.launch

Write. Scope: surveys.write, admin. Contract: source_inferred. Surveys Campaigns Launch Retry-safe with idempotency_key.

surveys.campaigns.list

Read. Scope: surveys.read, admin. Contract: explicit. List survey campaigns

surveys.deployments.list

Read. Scope: surveys.read, admin. Contract: explicit. List survey deployments

surveys.deployments.set_status

Write. Scope: surveys.write, admin. Contract: source_inferred. Surveys Deployments Set Status Retry-safe with idempotency_key.

surveys.get

Read. Scope: surveys.read, admin. Contract: source_inferred. Surveys Get

surveys.imports.create

Write. Scope: surveys.write, admin. Contract: explicit. Create and run a survey import Required fields: kind. Retry-safe with idempotency_key.

surveys.imports.process

Write. Scope: surveys.write, admin. Contract: source_inferred. Surveys Imports Process Retry-safe with idempotency_key.

surveys.invitations.list

Read. Scope: surveys.read, admin. Contract: explicit. List survey invitations

surveys.links.create

Write. Scope: surveys.write, admin. Contract: source_inferred. Surveys Links Create Retry-safe with idempotency_key.

surveys.list

Read. Scope: surveys.read, admin. Contract: explicit. List survey definitions

surveys.responses.get

Read. Scope: surveys.read, admin. Contract: source_inferred. Surveys Responses Get

surveys.responses.list

Read. Scope: surveys.read, admin. Contract: explicit. List survey responses

surveys.triggers.list

Read. Scope: surveys.read, admin. Contract: explicit. List survey trigger sets

surveys.types.list

Read. Scope: surveys.read, admin. Contract: explicit. List supported question types and Studio templates

surveys.versions.list

Read. Scope: surveys.read, admin. Contract: source_inferred. Surveys Versions List

surveys.webhooks.delete

Write. Scope: surveys.write, admin. Contract: source_inferred. Surveys Webhooks Delete Retry-safe with idempotency_key.

surveys.webhooks.list

Read. Scope: surveys.read, admin. Contract: explicit. List survey webhook subscriptions

surveys.webhooks.save

Write. Scope: surveys.write, admin. Contract: explicit. Create or update a survey webhook subscription Required fields: url. Retry-safe with idempotency_key.

team (63)

team.delete

Write. Scope: team.write, admin. Contract: route_inferred. Admin Users Delete

team.delete.route.departments.delete

Write. Scope: team.write, admin. Contract: route_inferred. Departments Delete

team.list

Read. Scope: team.read, admin. Contract: route_inferred. Admin Users List

team.list.route.departments.list

Read. Scope: team.read, admin. Contract: declared_dynamic. Departments List

team.perf.activity

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Activity

team.perf.ai.compare

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Ai Compare

team.perf.ai.review

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Ai Review

team.perf.availability

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Availability

team.perf.award.finalize

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Award Finalize

team.perf.award.history

Read. Scope: team.read, admin. Contract: route_inferred. Team Perf Award History

team.perf.award.void

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Award Void

team.perf.claim.pay

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Claim Pay

team.perf.claim.recover

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Claim Recover

team.perf.claim.reject

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Claim Reject

team.perf.clear

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Clear

team.perf.coaching.action.item.add

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Coaching Action Item Add

team.perf.coaching.action.item.complete

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Coaching Action Item Complete

team.perf.coaching.evidence.pin

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Coaching Evidence Pin

team.perf.coaching.evidence.unpin

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Coaching Evidence Unpin

team.perf.coaching.session

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Coaching Session

team.perf.coaching.session.create

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Coaching Session Create

team.perf.coaching.session.update

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Coaching Session Update

team.perf.coaching.sessions

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Coaching Sessions

team.perf.coaching.status

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Coaching Status

team.perf.data

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Data

team.perf.heatmap

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Heatmap

team.perf.history

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf History

team.perf.pay.all.claims

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Pay All Claims

team.perf.qa.calibration.record

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Qa Calibration Record

team.perf.qa.dispute.resolve

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Qa Dispute Resolve

team.perf.qa.disputes

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Qa Disputes

team.perf.qa.evaluation.submit

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Qa Evaluation Submit

team.perf.qa.overview

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Qa Overview

team.perf.qa.scorecard.publish

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Qa Scorecard Publish

team.perf.qa.scorecard.save

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Qa Scorecard Save

team.perf.quest.record

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Quest Record

team.perf.quest.save

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Quest Save

team.perf.quest.status

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Quest Status

team.perf.quests

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Quests

team.perf.recognition

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Recognition

team.perf.recognition.settings.save

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Recognition Settings Save

team.perf.recognition.streak.history

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Recognition Streak History

team.perf.recognition.streaks.record

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Recognition Streaks Record

team.perf.reward.budget.authorize

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Reward Budget Authorize

team.perf.reward.claims

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Reward Claims

team.perf.reward.pay

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Reward Pay

team.perf.reward.payouts

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Reward Payouts

team.perf.reward.period.finalize

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Reward Period Finalize

team.perf.reward.period.history

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Reward Period History

team.perf.reward.period.preview

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Reward Period Preview

team.perf.reward.period.reverse

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Reward Period Reverse

team.perf.reward.period.void

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Reward Period Void

team.perf.reward.save

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Reward Save

team.perf.reward.state

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Reward State

team.perf.trends

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Trends

team.perf.v2.data

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf V2 Data

team.perf.v2.export

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf V2 Export

team.perf.v2.live

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf V2 Live

team.perf.v2.reward.sheet

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf V2 Reward Sheet

team.perf.v2.settings

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf V2 Settings

team.perf.v2.settings.save

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf V2 Settings Save

team.save

Write. Scope: team.write, admin. Contract: route_inferred. Admin Users Save

team.save.route.departments.save

Write. Scope: team.write, admin. Contract: route_inferred. Departments Save

Tiket untuk Sony (75)

tickets.ai.summary

Read. Scope: tickets.read, admin. Contract: route_inferred. Ticket Ai Summary

tickets.analytics

Read. Scope: tickets.read, admin. Contract: route_inferred. Ticket Analytics

tickets.approval.decide

Read. Scope: tickets.read, admin. Contract: route_inferred. Ticket Approval Decide

tickets.approval.request

Read. Scope: tickets.read, admin. Contract: route_inferred. Ticket Approval Request

tickets.approvals.pending

Read. Scope: tickets.read, admin. Contract: declared_dynamic. Ticket Approvals Pending

tickets.assignment.rule.delete

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Assignment Rule Delete

tickets.assignment.rule.list

Read. Scope: tickets.read, admin. Contract: declared_dynamic. Ticket Assignment Rule List

tickets.assignment.rule.save

Write. Scope: tickets.write, admin. Contract: declared_dynamic. Ticket Assignment Rule Save

tickets.assignment_rules.delete

Write. Scope: tickets.write, admin. Contract: source_inferred. Tickets Assignment Rules Delete Retry-safe with idempotency_key.

tickets.assignment_rules.save

Write. Scope: tickets.write, admin. Contract: explicit. Create or update a ticket assignment rule Required fields: name. Retry-safe with idempotency_key.

tickets.bulk

Write. Scope: tickets.write, admin. Contract: source_inferred. Tickets Bulk Retry-safe with idempotency_key.

tickets.bulk.route.tickets.bulk

Write. Scope: tickets.write, admin. Contract: route_inferred. Tickets Bulk

tickets.calendar.delete

Write. Scope: tickets.write, admin. Contract: route_inferred. Sla Calendar Delete

tickets.calendar.save

Write. Scope: tickets.write, admin. Contract: declared_dynamic. Sla Calendar Save

tickets.claim

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Claim

tickets.embed.load

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Embed Load

tickets.embed.save

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Embed Save

tickets.embed.secret

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Embed Secret

tickets.field.save

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Field Save

tickets.follower.add

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Follower Add

tickets.follower.remove

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Follower Remove

tickets.get

Read. Scope: tickets.read, admin. Contract: source_inferred. Tickets Get

tickets.kb.deflection

Read. Scope: tickets.read, admin. Contract: route_inferred. Ticket Kb Deflection

tickets.kb.draft

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Kb Draft

tickets.kb.save

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Kb Save

tickets.kb.version.restore

Read. Scope: tickets.read, admin. Contract: route_inferred. Ticket Kb Version Restore

tickets.kb.versions

Read. Scope: tickets.read, admin. Contract: route_inferred. Ticket Kb Versions

tickets.link.add

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Link Add

tickets.link.remove

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Link Remove

tickets.list

Read. Scope: tickets.read, admin. Contract: source_inferred. Tickets List

tickets.open

Write. Scope: tickets.write, admin. Contract: source_inferred. Tickets Open Retry-safe with idempotency_key.

tickets.open_guest

Write. Scope: tickets.write, admin. Contract: source_inferred. Tickets Open Guest Retry-safe with idempotency_key.

tickets.ops.summary

Read. Scope: tickets.read, admin. Contract: declared_dynamic. Ticket Ops Summary

tickets.policy.delete

Write. Scope: tickets.write, admin. Contract: route_inferred. Sla Policy Delete

tickets.policy.list

Read. Scope: tickets.read, admin. Contract: declared_dynamic. Sla Policy List

tickets.policy.save

Write. Scope: tickets.write, admin. Contract: declared_dynamic. Sla Policy Save

tickets.presence.leave

Read. Scope: tickets.read, admin. Contract: route_inferred. Ticket Presence Leave

tickets.presence.ping

Read. Scope: tickets.read, admin. Contract: route_inferred. Ticket Presence Ping

tickets.quick.replies

Write. Scope: tickets.write, admin. Contract: declared_dynamic. Ticket Quick Replies

tickets.quick.reply.save

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Quick Reply Save

tickets.relations.get

Read. Scope: tickets.read, admin. Contract: route_inferred. Ticket Relations Get

tickets.reply

Write. Scope: tickets.write, admin. Contract: source_inferred. Tickets Reply Retry-safe with idempotency_key.

tickets.reply.delete

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Reply Delete

tickets.reply.edit

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Reply Edit

tickets.reply.outbound.convert

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Reply Outbound Convert

tickets.reply.translate

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Reply Translate

tickets.reply.translation.delete

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Reply Translation Delete

tickets.reply.translation.save

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Reply Translation Save

tickets.rule.compose

Read. Scope: tickets.read, admin. Contract: route_inferred. Ticket Rule Compose

tickets.side.ai.draft

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Side Ai Draft

tickets.side.assign.department

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Side Assign Department

tickets.side.create

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Side Create

tickets.side.list

Read. Scope: tickets.read, admin. Contract: route_inferred. Ticket Side List

tickets.side.mention

Read. Scope: tickets.read, admin. Contract: route_inferred. Ticket Side Mention

tickets.side.recipients

Read. Scope: tickets.read, admin. Contract: declared_dynamic. Ticket Side Recipients

tickets.side.reply

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Side Reply

tickets.sla.delete

Write. Scope: tickets.write, admin. Contract: source_inferred. Tickets Sla Delete Retry-safe with idempotency_key.

tickets.sla.save

Write. Scope: tickets.write, admin. Contract: explicit. Create or update an SLA policy Required fields: name. Retry-safe with idempotency_key.

tickets.split

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Split

tickets.split.candidates

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Split Candidates

tickets.tag.add

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Tag Add

tickets.tag.list

Read. Scope: tickets.read, admin. Contract: route_inferred. Ticket Tag List

tickets.tag.remove

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Tag Remove

tickets.tags.add

Write. Scope: tickets.write, admin. Contract: source_inferred. Tickets Tags Add Retry-safe with idempotency_key.

tickets.tags.list

Read. Scope: tickets.read, admin. Contract: source_inferred. Tickets Tags List

tickets.tags.remove

Write. Scope: tickets.write, admin. Contract: source_inferred. Tickets Tags Remove Retry-safe with idempotency_key.

tickets.update

Write. Scope: tickets.write, admin. Contract: source_inferred. Update a ticket status, priority, subject, department or assignment Retry-safe with idempotency_key.

tickets.view.delete

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket View Delete

tickets.view.list

Read. Scope: tickets.read, admin. Contract: declared_dynamic. Ticket View List

tickets.view.save

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket View Save

tickets.views.delete

Write. Scope: tickets.write, admin. Contract: source_inferred. Tickets Views Delete Retry-safe with idempotency_key.

tickets.views.save

Write. Scope: tickets.write, admin. Contract: source_inferred. Tickets Views Save Retry-safe with idempotency_key.

tickets.worklog.add

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Worklog Add

tickets.worklog.delete

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Worklog Delete

tickets.worklog.list

Read. Scope: tickets.read, admin. Contract: route_inferred. Ticket Worklog List

todos (1)

todos.add

Write. Scope: todos.write, admin. Contract: source_inferred. Todos Add Retry-safe with idempotency_key.

visitors (3)

visitors.block

Write. Scope: visitors.write, security.write, admin. Contract: explicit. Block a visitor Required fields: visitor_id. Retry-safe with idempotency_key.

visitors.list

Read. Scope: visitors.read, analytics.read, admin. Contract: explicit. List visitors

visitors.table

Read. Scope: visitors.read, admin. Contract: route_inferred. Visitors Table

writing (6)

writing.analyze

Write. Scope: writing. Contract: source_inferred. Writing Analyze Retry-safe with idempotency_key.

writing.compose

Write. Scope: writing. Contract: source_inferred. Writing Compose Retry-safe with idempotency_key.

writing.reply

Write. Scope: writing. Contract: source_inferred. Writing Reply Retry-safe with idempotency_key.

writing.rewrite

Write. Scope: writing. Contract: source_inferred. Writing Rewrite Retry-safe with idempotency_key.

writing.summarize

Write. Scope: writing. Contract: source_inferred. Writing Summarize Retry-safe with idempotency_key.

writing.translate

Write. Scope: writing. Contract: source_inferred. Writing Translate Retry-safe with idempotency_key.

API Terbuka dan Tukang Pos tersedia?+

OpenAPI yang dihasilkan 3.0 Dokumen berada di /api/v1/openapi.php, Koleksi Postman yang dihasilkan ada di /api/v1/postman.php, Para pengembang yang bisa dibaca manusia sedang berada di /api/docs/.

Bagaimana cara kerjaku dengan lebih dari satu ruang kerja?+

¡Cyword Send site_key in the request body to click a area kerja. Sebuah kunci yang dikeluarkan untuk satu ruang kerja tetap disematkan kepadanya; sebuah kunci dengan konteks admin dapat memilih setiap ruang kerja yang diizinkan untuk dilihat, dan ditolak untuk apapun itu tidak.

Tindakan yang mana yang bisa dibaca-saja?+

Tindakan apapun yang ditandai sebagai sebuah baca. Tetapkan mode ijin pada kunci untuk dibaca_only dan setiap penulisan ditolak dengan read_ony_key, jadi integrasi pelaporan tidak dapat mengubah apa pun bahkan secara salah.

Kenapa aku tidak bisa menemukan sesuatu yang bisa kulihat di sistem?+

Kuncinya diskop ke ruang kerja. Catatan di ruang kerja lain kembali tidak_ ditemukan daripada kesalahan izin, jadi API _tidak pernah mengkonfirmasi apakah ada sesuatu yang ada di tempat lain.

Pembangun

Keamanan API

Satu kontrak keamanan untuk setiap konektor dan integrasi: tanya OpsIQ Apa yang diketahuinya tentang IP Pengirim atau pengirim, dan mengembalikan penyalahgunaan yang dilihat oleh sistemmu sendiri.

OpsIQ Telah mempertahankan diri: IP firewall fireway blok penyerang, filter pipa tiket spam, dan keamanan AI mengklasifikasikan pelanggar dan mengusulkan aturan blok. API Sebuah platform penagihan, portal klien atau aplikasi pelanggan dapat memeriksa pengunjung sebelum mempercayainya, dan melaporkan apa yang diamati sehingga seluruh instalasi belajar dari setiap permukaan.

Apa yang bisa kau lakukan

Periksa sebelum percaya

Keamanan. Periksa jawaban dengan keadaan firewall, setiap aturan spam yang cocok dengan pengirimnya, dan putusan AI cached untuk IP_. satu panggilan, satu pendapat konsolidasi.

Melaporkan apa yang kau lihat

Keamanan. report mencatat pengamatan sebagai peristiwa keamanan, memiliki AI Security mengklasifikasikan IP segera, dan memperingatkan para admin ketika putusan kembali berisiko tinggi. laporan berulang cluster ke dalam insiden, persis seperti serangan OpsIQ _melihat langsung.

Kongsi aturan spam

security. blocklist. add dan security. bloklist. senarai baca dan tulis peraturan spam yang sama yang digunakan oleh halaman Tiket, jadi penghantar yang dihalang dalam satu sistem akan dihalang di mana-mana.

Melaporkan penyalahgunaan dari penyambung
POST /api/v1.php
Authorization: Bearer opq_your_api_key
Content-Type: application/json

{
  "action": "security.report",
  "ip": "203.0.113.7",
  "kind": "spam",
  "reason": "Sent 40 junk tickets in 10 minutes",
  "source": "whmcs:example.com"
}

Skop dan keselamatan

security.read

Perlu keamanan. check dan keamanan. blocklist. list. aman untuk memberikan integrasi pelaporan.

security.write

Perlu keamanan. report dan keamanan. blocklist. add. Berikan hanya pada sistem yang ingin kau laporkan.

Tidak ada yang diam-diam hancur

Seorang pengirim yang masih terdaftar di sana, masih mendarat dalam pandangan Spam di mana tiketnya dapat dibaca dan dipulihkan.

Platform melindungi diri sendiri

server ini sendiri IP Alamat-alamat tidak pernah dapat diblokir, dilarang atau dilaporkan melalui ini API Jadi integrasi yang salah konfigurasi tidak dapat mengambil platform bawah.

💡
Diaminkan kunci di bawah Integrasi, kemudian API Keys, dan hanya memberikan ruang lingkup keamanan yang dibutuhkan. Kontrak permintaan penuh untuk setiap tindakan berada dalam meta. actions dan dokumen OpenAPI.
Apakah konektor saya yang ada menggunakan ini secara otomatis?+

Outbound sync sudah otomatis: ketika Anda memblokir IP, platform terhubung diberitahu melalui sinkronisasi keamanan penyambung. Keamanan API adalah setengah inbound. Arahkan konektor atau kode custom anda pada keempat tindakan ini dengan kunci yang membawa ruang lingkup keamanan.

Di mana aturan spam tinggal?+

Satu toko. tiket halaman Block kontrol pengirim, spam AI dalam pengaturan, dan ini API Semua bekerja melawan blocklist yang sama, jadi ada satu tempat untuk melihat.

Pembangun

Acara API_

Kirim peristiwa suai dari server atau website anda ke OpsIQ untuk analitik, eksperimen, pemicu CRM, dan kondisi webhook.

Bagaimana cara kerjanya
Acara API_¡A track() panggilan mengirimkan acara demo_booked gubahan ke OpsIQ_, yang feed tujuan konversi, segmen dan pemicu.OpsIQ. track("demo_booked", {nilai: 0, rancangan: "pro"});Tujuan konversi org2SegmenPemicu Pemicam & webhooksPelayar Web (OpsIQ.track) atau POST sisi-server /v1/events
Acara API_

Peristiwa pinggir-panji

Pelacakan peristiwa Pelayaran
window.OpsIQ = window.OpsIQ || [];
window.OpsIQ.push(["track", "button_clicked", {
  button: "signup",
  page: "/pricing",
  variant: "green"
}]);

Acara-acara di-sside server

Sisi-Pelayan, merekam aktivitas dan konversi terhadap kontak melalui aksi API. Gunakan crm.activities.record Kesenangan untuk kehidupan sepeda / kegiatan bisnis dan crm.conversions.record Tidak ada events.send Tindakan A. L. B inbound CRM penerima acara tinggal di /v1/inbound.php?t=<token> - Untuk sistem pihak ketiga yang mendorong peristiwa masuk.

Aktivitas sisi-server (aksi API)
POST /api/v1.php
Authorization: Bearer opq_your_key
Content-Type: application/json

{
  "action": "crm.activities.record",
  "site_key": "site_abc123",
  "email": "[email protected]",
  "event": "subscription.upgraded",
  "value": 50,
  "currency": "USD"
}

Kebaktian Naming

Notasi Anta

"order. completed" bukan "orderCompleted".

Past tense

"button. clicked" bukan "buttons. click".

Jadilah spesifik

"pricing. plan_selected" bukan "user_action".

Pembangun

Bagaimana data mengalir melalui OpsIQ_

Pemahaman data aliran membantu Anda meng-bug integrasi dan kinerja optimal.

Bagaimana cara kerjanya
Bagaimana data mengalirData gonta mengalir dari widget dan suar ke dalam inti OpsIQ (CDP, grafik identitas, otak AI, analitik, CRM) kemudian keluar melalui webhooks dan REST API_.WidgetsuarOpsIQcoreCari · graf identitas CDPOtak AIAnalisis analitik · CRMWebhooks keluarMemerlukan API
Aliran data

Aliran data tidak terarah

1
Angklung Widget

The JavaScript widget sends page views, clicks, and chat messages to /beacon.php.

2
Penggunaan peristiwa

Peristiwa-peristiwa yang disimpan dalam opsiq_event dengan site_key, tipe acara, pelanggan, dan properti.

3
Himpunan Sesi audiensi

Sesi process kelompok pembangun sesi tampilan halaman ke dalam sesi (via cron).

4
Resolusi Identitas IoC

Bila diidentifikasi, catatan anonim terkait dengan profil pelanggan.

5
Segerak konektor

Konektor menarik data dari platform eksternal dan menyimpan di cache konektor.

6
Konteks AI

WhatAI rakit konteks dari: sejarah pengunjung, profil pelanggan, data konektor, KB, dan prompt.

Aliran data Outbound

1
Peristiwa kebakaran

Kebakaran peristiwa internal ttg ignigner (ticket. create, chat. message, order. completed).

2
Antrian kerja BARNU

Peristiwa yang ditempatkan dalam antrian kerja async.

3
Pengiriman Webhook

Tanda-tanda dan pengiriman ke semua titik akhir yang tidak dilanggani.

4
Gagal mencoba lagi

Pengiriman yang gagal dicoba dengan pengunduran eksponensial.

Tetapan-peraturan

Rujukan pengaturan metano

Pengaturan adalah pusat kontrol untuk ruang kerja. Semua yang di bawah ini terskop ke ruang kerja Anda, jadi satu akun dapat menjalankan beberapa merek dengan identitas berbeda, perilaku chatting dan aturan retensi.

Kekhalifahan Menemukan pengaturan

Ada sekitar enam ratus kontrol individu di Pengaturan, tersebar di sebelas tab yang dikelompokkan di bawah empat menu.

Pengaturan pencarian lemary (Ctrl + K)

Ketik kata-kata biasa dan tekan Enter untuk langsung ke kontrol. Cari toleransi terhadap tipos kecil dan memahami kata- kata terkait, jadi penjadwal menemukan Cron dan privasi menemukan kendali pelacakan. Ini hanya menunjukkan pengaturan peran Anda dapat terbuka.

Ruang Kerja dan Rencana

Jenderal dan Lisensi.

Dukungan AI dan Pelanggan

Pembantu AI Admin, Chat Klien, OpsIQ Portal Tulis dan Sokongan.

Data dan Pimpinan

Kelayakan dan Kerahsiaan, Izin dan Keamanan.

Sistem

Pengaturan Cron (hanya dihost) dan Zona Bahaya.

Simpanan

Each tab saves on its own with its own Save button. Client Chat and OpsIQ Writing pin theirs to the screen. Save before switching tabs; changes are not carried across.

link yang mendalam

Tab aktif ditulis ke dalam alamat halaman, sehingga tab dapat ditanda buku atau dikirim kepada rekan kerja.

Umum: Identiti Perniagaan

Kartu paling penting di halaman AI membaca nilai-nilai ini pada setiap jawaban, laporan dan singkat harian.

Nama Bisnis

Dipakai dalam laporan AI, brief harian dan kata-kata pelanggan yang bertahan sesuai dengan footer website Anda.

Industri Perniagaan

Analisis Tailors AI, memimpin skoring, brief dan praset survei. Pilih dari hosting web, e-commerce, SaaS, real estate, agensi, konsultasi, kesehatan, pendidikan, keuangan atau bisnis umum.

Bahasa Sistem

Bahasa yang ditunjukkan pada siapa saja yang tidak memilih mereka sendiri.

Bahasa Pelayar

Setelah seseorang memilih bahasa di sana, pilihan mereka menang dan ini tidak akan pernah membatalkannya.

Sistem Zacezaid Timezone

Zona zon seluruh sistem berjalan dalam: tanggal, laporan, jadwal dan cron latar belakang Gunakan zona waktu operasi Anda, bukan pelanggan Anda.

Umum: GeoIP dan Pelacakan

Path Basis Data GeoIP2

Jalur penuh ke GeoLite2-City. mmdb. Auto-detect pada muatan pertama melintasi cPanel, Plesk, DirectAdmin, Cloudways, Docker dan plain Linux atau Windows. Tambahkan GeoLites2-ASN. mmbb dalam folder yang sama untuk penyedia internet pengunjung.

Mode Sumber Geo

GeoLite2 saja, GeoLites2 dengan Cloudflare musim gugur, atau Cloudflare Hanya saja.Cloudflare Mode victake mengharuskan situs ini ditunjang melalui Cloudflare, dengan lokasi pengunjung header diaktifkan untuk kota dan wilayah detail.

Kehabisan Sesi Kehabisan Versi Baru (s)

Ketidakaktifan sebelum sesi pengunjung dianggap selesai. Default 14400, yang mana empat jam.

Selang Waktu Segarkan Hidup (s)

Seberapa sering Suapan Nyawa disegarkan. 30 detik.

Ambang Aktif (min)

Berapa lama pengunjung dianggap hidup setelah beban halaman terakhir mereka. 2 Ini adalah Live Feed drop-off, bukan panjang sesi.

Pembalasan Data Kelayakan (hari)

P hapus ifrica dikumpulkan dan dijanakan catatan masa lalu usia ini: analitik, chatting, tiket, umpan balik, transaksi, telemetri AI, log integrasi danCRMAktivitas mikologi.0Dia tidak pernah menghapusnya.

Bila sebuah chatt akan dihapus

Memilih berapa banyak percakapan yang dihapus tetap dicatat: catatan lengkap, catatan tanpa percakapan, atau skor saja. Menghapus selalu menyembunyikan chat dari kotak masuk dan riwayat pengunjung. Retensi berjadwal dan Lupakan pengunjung selalu menghapus secara penuh terlepas dari hal ini.

Laluan bot

Counts crawlers sebagai pengunjung. tinggalkan, itu menggelembungkan pengunjung menghitung dan mencongkel setiap laporan.

popup survey feedback suapansume diaktifkan

¡Offord menunjukkan widget umpan balik situs-lebar kepada pengunjung. terpisah dari survei obrolan di bawah Klien Chat, Dukungan Flow.

Umum: Fitur AI

Master screenes untuk setiap permukaan AI. Semua default untuk dan simpan per ruang kerja.

AI Triage pada tiket

Mengklasifikasikan setiap tiket dengan kategori, prioritas dan sentimen, dan menulis ringkasan benang di bagian atas tiket.

Ringkasan hover AI Triage

Keaneka menunjukkan tag triage dan ringkasan dalam tooltip ketika agen melayang berturut-turut di daftar tiket. Memerlukan AI Triage.

Kopilot Kotak Masuk (komposer)

Tambahkan Draf AI balasan, Warmer, Shorter, Lebih formal dan Apologietic tombol di bawah kotak balasan tiket.

Ask-OpsIQ Copilot

Copilot pengapung yang sadar halaman di setiap halaman admin.

Pagi briefing

Pada hari pertama dibuka setiap hari copilot menyajikan tiket mendesak, balasan yang terlambat dan menunggu chat. Minggu menghasilkan seminggu dalam ulasan.

Uang, merek, cadangan

Mata uang dasar OpsIQ _kualitas wanita

Semua uang dalam sistem administrasi diubah menjadi mata uang ini untuk dipapar.

Laju FX sinkron-oto-Snomy

Tingkatkan tarif kedauran setiap enam jam dari siaran umum gratis tanpa kunci API _. Anda dapat menambahkan tarif manual yang membatalkan suapan. Dengan auto-sync off, currencies tanpa tingkat manual dibiarkan tidak terbalik.

Fitur Perdagangan dan Pembiayaan

Mematikannya di halaman penjualan dan penukaran, kartu pendapatan dashboard dan Live Intelligence Feed. dengan itu off, setiap permukaan harga tersembunyi dan Sales page meninggalkan menu.

kosakata bahasa Prancis

Teaches OpsIQ your wording: whether you do renewals, the word for renewing, what you sell, and what buyers are called.

Branding dan Logos

upload dua UDDA, satu untuk latar belakang cahaya (admin sidebar) dan satu untuk gelap (tanda-dalam halaman). PNG, JPG, WebP atau SVG hingga 3 MB.

Agen Intelijen Laman, benarkan sasaran peribadi SSH

Agen Oto-Implement SEO menghubungkan lebih SSH. Private, loopback dan alamat simpanan diblokir secara default sebagai ukuran anti-SSRF. Hanya aktifkan pada pemasangan yang dihost sendiri yang harus mencapai server lokal.

/ Pulihkan OpsIQ Sandar/Kembalikan

Vosika ekspor setiap pengaturan dan OpsIQ-meja ownuped ditambah file terunggah. Pulihkan ganti OpsIQ Konfigurasi dan pencatatan hanya; tidak pernah menyentuh klien, faktur, tiket, jasa, domain, pesanan atau transaksi.

⚠️
Dan juga mengambil bantuan sebelum menggunakan apapun di zona bahaya.
Tetapan-peraturan

Pengaturan Kecakapan: Keamanan

Perlindungan untuk admin masuk, rekening staf anda dan data OpsIQ mengumpulkan. Pelanggan mendaftar masuk untuk portal dukungan dikonfigurasi secara terpisah.

Perlindungan sign-in

GooglereCAPTCHA

Stops bot dan bukti kelayakan pada sign-in admin. Pilih v3 (tidak terlihat, mencetak) atau v2 (checkbox), set ambang skor v3, dan memasok situs dan kunci rahasia. Kunci yang sama ini digunakan kembali oleh formulir permintaan portal dukungan.

Gagal Dikunci-Otomati-Login

Anda dapat menyesuaikan pesan halaman terkunci dan menunjukkan gangguan layar-penunggu kecil.

Perkerasan Log Masuk

Kebijakan password ugling dengan panjang minimum, penolakan kata sandi yang ditemukan dalam pelanggaran yang diketahui, penguncian per-account terhadap barangan kredensial, wajib dua-faktor untuk setiap admin, password masuk kembali sebelum tindakan berbahaya, dan baru-device tanda-in waspada.

Tanda Tangan Tunggal Maksimal (OIDC)

Staf sign-in melalui penyedia identitas Anda. Perlu penerbit URL, ID klien dan rahasia klien. Domain provisi otomatis, satu per baris, membuat pengguna secara otomatis pada sign in pertama.

Tanda Tangan Tunggal Maksimal (SAML 2.0)

Untuk penyedia yang bercakap. SAML. OpsIQ menyediakan jawapan ACS URL dan ID entiti SP; anda berikan IdP entiti ID, log masuk URL, log keluar opsyenal URL dan X.509 sijil tandatangan. Medan atribut e-mel dan nama hanya diperlukan untuk nama atribut bukan piawai.

Penyediaan SCIM

Penciptaan, kemaskini dan nyahaktifkan arahan direktori OpsIQ akaun.OpsIQ menyediakan SCIM asas URL; anda mencipta token berlabel di sini supaya satu boleh dibatalkan tanpa merosakkan yang lain.

Ancaman, pemblokiran dan koleksi

Egres Memungkinkan-list Outbound Outbroad

Pembatas yang mana host eksternal ini ruang kerja konektor mungkin panggilan. SSH Target kontrol di Jenderal.

Penandaan Ancaman dan Auto-Halang

Para pengunjung pernah mendapat skor ancaman mereka melewati ambang batasmu. 0 Perhatikan halaman Sekilas Keamanan selama seminggu sebelum memilih nomor.

Pesan Halaman Blok Toolbar

Pesan dari seorang pengunjung yang diblokir melihat, sebagai teks biasa atau layar blok HTML _mu sendiri.

Vital Web Inti Vitals dari pengunjung nyata

Ukur LCP, INP dan CLS dari sesi nyata.

Penghantaran peristiwa cuba-semula selamat, berkelompok

Acara langganan antri di peramban dan antar dalam kelompok dengan retries, mengurangi kerugian pada koneksi mobile yang buruk.

Beacon Pelacakan Ditandatangani

Widget asli yang membedes membawa token kriptografi berputar sehingga data pelacakan palsu dapat ditolak. Dimatikan secara default; mengaktifkan perubahan bagaimana penembusan disahkan, jadi uji terlebih dahulu.

Waspada Keamanan

Kartu ini mengontrol apakah Anda diberitahu, dan berapa banyak bantuan AI.

Ajaklah waspada keamanan

- Aku akan pergi ke tempat ini.

Ambang gelombang Gagal-login

Berapa banyak kegagalan masuk dalam jangka pendek dihitung sebagai gelombang layak waspada.

IP Kecerdasan reputasi

Addres skor ancaman untuk pengunjung muncul dalam feed penyalahgunaan publik.

Pemantau tapak

Waktu habis dan TLS _-- pemeriksaan ekspiri, waspada sebelum lap sertifikat.

Analisis keselamatan AI dan laporan insiden AI

Ada keputusan yang dapat dijelaskan tentang aktivitas mencurigakan, dan kelompok-kelompok terkait serangan ke insiden tunggal yang dapat dibaca daripada arus peristiwa.

Autopilot polisi

Kisah itu sendiri, mengubah apa yang dipelajarinya dari sebuah insiden menjadi aturan yang diusulkan atau diterapkan.

Bercernaan keamanan harian dan penasihat postur Weekly

Anda akan membaca kembali harian di halaman Security Overview, dan daftar cek mingguan yang mengeras memperlihatkan apa yang dilindungi dan apa yang masih terbuka.

Proposal basi Auto-expire

Sebuah aturan blok yang diusulkan Anda tidak pernah bertindak pada kadaluarsa dengan sendirinya daripada akumulasi.

Sesi Replay DOM

Main ulang sesi DOM

Sesi pengunjung Catatan Kebowo untuk pemutaran kembali. Ketika dari perpustakaan replay tidak pernah dimuat, sehingga tidak ada biaya untuk meninggalkannya. Rekaman disampel dan ditopeng privasi, dan diawasi pada halaman Replay Session di bawah Analytics.

Tingkat sampel, penangkapan maksimum, retensi

Apa yang dibagikan oleh sesi untuk merekam, berapa lama rekaman tunggal dapat berjalan, dan berapa hari rekaman disimpan.

⚠️
Main semula sesi merekodkan orang sebenar menggunakan laman anda. Kekalkan kadar sampel dan pemeliharaan yang rendah untuk masih menjawab soalan anda, dan nyatakannya dalam notis privasi anda.
Tetapan-peraturan

Pengaturan Kelayakan: Pelacakan dan Privasi

Apa yang bisa dikumpulkan oleh OpsIQ _, dan berapa lama setiap jenis rekor bertahan.

Kekecualian

Excluded IPs and CIDR Ranges

Alamat-alamat tak pernah dilacak, satu per baris, alamat yang tepat atau jangkauan CIDR. Cara terbersih untuk menjauhkan timmu dari analitikmu, karena itu mencakup semua orang di alamat itu daripada hanya signed-in admin.

Dikecualikan URL Path-path

Pola halaman pola tidak pernah dilacak, satu per baris, wildcard dengan asterisk. Misalnya /admin/* Dia membuat seluruh kantor belakang keluar dari catatan pengunjung.

Kebijakan Retensi Data Ketahanan Data

Pembersihan otomatis per-subsistem dalam beberapa hari terpisah dari pengaturan Retensi Data secara keseluruhan di Jenderal dan dari pembersihan Zona Bahaya.

Log interaksi AI kerok

Telemetri lema confidence yang memegang pratinjau pendek pertanyaan dan respon. 90 hari default. Ini menyimpan teks pelanggan terbanyak, sehingga memperpendek terlebih dahulu ketika mengetatkan privasi.

Acara penggunaan AI dalam bentuk

Per-panggilan token dihitung untuk laporan biaya. Baku 90 Nomor saja, tidak ada isi pesan.

Jejak audit aksi

Aksi dan catatan keamanan yang sangat penting. 365 Berhari-hari, simpan ini paling lama; itu adalah jejak buktimu.

Diagnostik Diagnosis

Catatan kesehatan Sistem Kesehatan Sistem Kesehatan Standar 30 _hari.

Pertanyaan yang tidak terjawab

Kluster pertanyaan yang tidak dapat dijawab oleh AI. 90 Bekerja melalui mereka pada Pertanyaan halaman yang hilang AI sebelum mereka berakhir.

wiki-ofeno dan ekspor

Alerts Anamaly Numerik

Perbandingan sehari-hari dari kemarin terhadap garis asas baru-baru ini, waspada ketika metrik bergerak lebih dari ambang batas Anda. 35 25%. mati secara default.

Eksport Gudang

Tempat pembuangan malam sesi, pengunjung, pemandangan halaman dan meja terkait untuk tumpukan BI Anda sendiri, dalam format yang Anda pilih, disimpan selama beberapa hari.

Tetapan-peraturan

Pengaturan: Pembantu Aid Admin

Asisten floating yang digunakan staf Anda di dalam admin, dengan akses langsung baca ke klien, faktur, tiket, server dan log cron. Asisten berbeda dari pelanggan-facing satu di bawah Klien Chat.

Memungkinkan OpsIQ Aid Widget

Kau akan menunjukkan tombol pembantu di setiap halaman admin.

Susunatur dan perilaku

Posisi sudut, lebar panel (320 Ke 600 [ Gambar di hlm.400 Ke 900 [ Gambar di hlm.0Ke 24), ukuran font, dan kabur kaca beku di belakang panel.

** Tunjukkan Chip Cepat *

Salah satu tombol pintas klik di bawah kepala.

Info Model Pertunjukan

Tampilan yang model menjawab dan berapa lama waktu yang dibutuhkan.

Pintu masuk Per-admin

Only shows the assistant to a signed-in admin whose username and email both match an OpsIQ agent assigned to this workspace. Owners always pass. Use the Check my access button before enabling or you can lock your own team out.

AI Person

Nama, tagline header dan pesan selamat datang biasa yang ditampilkan sewaktu panel dibuka.

Chip Aksi Cepat Pintar

Edit label dan underlying prompt untuk setiap jalan pintas, tambahkan sendiri, atau reset ke default. label adalah apa yang dilihat oleh staf, promp adalah apa AI menerima.

Warna dan bentuk

Bentuk chip (pill, bulat, persegi), warna chip, tema kartu dan bentuk peluncur (bulat, squircle, persegi panjang), dengan pratinjau langsung.

Memori Percakapan Aneka

Asisten zodon mengingat setiap riwayat orang di seluruh sesi peramban, sampai ke 120 pesan, disimpan dalam basis data Anda sendiri. Bersihkan untuk memulai dari awal.

Tetapan-peraturan

Seting- Tetapan Bekal: Chat Klien

Widget chat yang digunakan pelanggan Anda, dan area terbesar dari Setting. Enam sub-tab, dengan switch master dan Simpan disematkan ke atas tab.

Work melalui sub-tab dalam rangka pemasangan baru: Identity and Copy, Appeign, Behavior, Support Flow, Knowledge Training. Lanjutan adalah infrastruktur dan dapat menunggu.

Identitas dan Salinan

Identitas Merek

Nama Widget, tagline, nama AI, nama yang digunakan untuk sistem dan pemberitahuan menganggur, dan bagaimana nama agen muncul. Agen Name Source memutuskan antara nama asli, nama langganan atau label tim.

Salam dalam-Tata-Shat

Dua salam, satu untuk semua pengunjung dan satu untuk pengunjung yang diidentifikasi pertanyaan dimulai lebih banyak percakapan daripada pernyataan.

Teaser Popup

Keislaman pesan mengambang sebelum chat dibuka, dengan nama, ukuran font dan warna sendiri. AI dapat menulis teaser, dengan kontrol untuk berapa banyak untuk menghasilkan, berapa banyak yang menunjukkan per kunjungan dan kesenjangan di antara mereka.

Prompt dan Penghapusan

Naskah lengkap: meminta nama dan email, konfirmasi, permintaan manusia, tidak ada agen yang tersedia, tiket dibuat atau dibatalkan, handoff tertunda. Sekitar dua lusin baris individu dalam panel collapsible.

Notis Status dan Idle

Tiga pesan pelanggan-tampak: agen menutup percakapan, pengunjung telah pergi tenang, dan agen tangan kembali ke AI. Hindari kata internal seperti diselesaikan atau triaged.

Kompadan dan Saran

Pemegang tempat input, label tombol bicara ke manusia, dan pertanyaan pembuka yang disarankan. 3 saran bagus untuk mengalihkan tiket lebih dari satu halaman artikel.

Pelancar, Ikon dan Avatar

Ikon Pelancar, ikon berbeda opsional ketika terbuka, ukuran peluncur, dan gambar untuk agen manusia dan AI.

Penampilan

Tema dan Kaca

Mode Tema, preset warna premium, intensitas kabur dan kelegapan, ditambah togol untuk animasi, garis pemisah, menyembunyikan baris status, menyembunyikan kartu kotak pesan dan menyembunyikan tombol tutup. Mulai dengan praset; ia menetapkan puluhan warna sekaligus.

Warna Utama

Pelancar, header, panel bantuan, tautan, tombol, pemberitahuan sistem dan komposer, masing-masing dengan warna awal dan akhir untuk gradien. Pilihan gelas baku yang digunakan mengabaikan ini dan menjaga finish transparan.

Panel, Buih dan Keripik

Ke sekeliling tiga puluh pemetik yang meliputi panel, perbatasan, teks, area input dan setiap tipe gelembung (visitor, AI, agen, agent, mengetik, sistem) ditambah chip saran dan keadaan hover mereka. Hanya buka ini untuk pencocokan merek yang tepat, dan periksa kontras pada teks gelembung.

Susunatur dan Bentuk

Lebar dan tinggi panel, radius sudut, ukuran font, posisi layar, bentuk peluncur, gaya gelembung dan apakah avatar menunjukkan. Menguji lebar pada telepon.

Perilaku

AI jawaban secara otomatis

Jika kau ingin membalas, berarti setiap pesan menunggu manusia.

Penindaklanjutan manusia dan teks ganda alami

A follow-up lembut ketika pengunjung pergi tenang, dan pesan singkat pilihan kedua cara seseorang akan mengirim satu. Ditaun dengan susulan maksimum per keheningan, penundaan pertama, nanti multiplier, jendela kehadiran dan jendela urutan maksimum. Bisa dibatasi untuk jam bisnis, dan ditekan setelah trims sederhana.

Mesin tik mesin penjawab dan membalas langkah

Apakah iflies membalas mengetik kata demi kata, dan seberapa cepat asisten menjawab, dengan preset atau jeda minimum dan maksimum Anda sendiri dalam milidetik. Sebuah penundaan kecil dibaca sebagai lebih manusia daripada jawaban instan.

Terjemahan Segera

Setiap agen žak membaca dan menulis dalam bahasa mereka sendiri sementara pengunjung membaca mereka.

Tangan kembali ke AI setelah agen menganggur

Minit agen tidak aktif sebelum AI melanjutkan pembicaraan.

Buka sendiri percakapan ini

Saat-saat sebelum widget terbuka sendiri.0Tak pernah terbuka, mengganggu bergerak, pergi dari sini.0Kecuali diuji.

Jawaban yang Cerdas

Merancang ke hadapan untuk jawapan satu laluan, mendalam berfikir, model terpisah pilihan untuk jawapa ejen, menunjukkan alasan kepada pengunjung, toleransi kesilapan ejaan, memori perbualan panjang, membatasi pembantu hanya kepada perniagaan anda, harga dalam mata wang pengunjung, dan bagaimana pautan muncul. Hanya bercakap tentang perniagaan anda harus diaktifkan untuk hampir semua orang.

Penyimpanan Biaya Uap

Keterampilan ilmu mencari ucapan seperti hi dan terima kasih, dan tutupkan balasan terlama dalam token. Trims biaya tanpa mengubah kualitas jawaban pada pertanyaan nyata.

Bahasa

Bahasa yang mana yang digunakan oleh widget dan bagaimana ia memilih satu untuk pengunjung.

Jawaban Akun Pelanggan

Jawaban dari akun pelanggan sendiri yang ditandatangani, secara opsional melihat langsung, dan mungkin dimuat hanya ketika diperlukan. Baca-saja dalam semua kasus; beban-kapan-diperlukan biaya yang diperkecil.

Pengubahsaizan

Permintaan pengembalian uang yang diminta asisten mengumpulkan detail dan tangan kepada seseorang.

Perbualan dan Widget

¡Tjaga percakapan masa lalu, melanjutkan obrolan di situs-situs yang terhubung, jendela yang dapat diseret, meminta tamu untuk email, dan membiarkan tim Anda mengubah chatting menjadi tiket.

Fitur Widget Keupayaan Kemudahan

Pemetik Emoji, lampiran dengan mode paste-saja pilihan, pemahaman gambar AI, ikon inline, mikrofon, tombol talk-to-agent, suara pengunjung, pratinjau lampiran, tombol panggilan suara dan isolasi sesi. Pengertian gambar Aile adalah apa yang memungkinkan pengunjung untuk menempelkan cuplikan layar kesalahan dan mendapatkan jawaban yang berguna.

Kotak Masuk Admin, Pemberitahuan dan Popup Selamat Datang

Pengunjung menyambut popup, ditambah agen Anda waspada: suara kotak masuk, pemberitahuan desktop, suara bisikan, apakah berbisik pribadi berbunyi, dan interval polling inbox.

Aliran Dukungan Sodium

Manusia Manusia yang Dibebaskan

Bagaimana permintaan untuk seseorang ditugaskan, detik yang harus direspon agen, apakah menurunnya kembali chat ke AI, dan apakah AI melanjutkan ketika waktu habis. Atur ini sebelum pergi langsung atau pengunjung yang meminta manusia hanya menunggu.

Jam Bekerja

Di luar jam-jam ini AI tidak akan menawarkan manusia jadwal terpisah dari jam bisnis tiket di bawah OpsIQ Penulisan.

Balasan ketika AI dimatikan

Kata balasan pertama untuk pesan baru, balasan ketika seseorang sudah dibaris gilir, dan berapa lama sebelum mengulang.

Formulir Luar Talian

Freicho menunjukkan bentuk kontak daripada chat.

Pencarian Tiket dan Pemberitahuan Jabatan

Kesadaran tiket AI , jadi pengunjung mengutip nomor tiket mendapatkan status sebenarnya, dan departemen mana yang AI mungkin rute ke. sebuah panel bawaan menunjukkan penerima nyata untuk setiap departemen, menyelesaikan cara yang sama dengan notifier menyelesaikan mereka, sehingga Anda dapat melihat sebelum pelanggan melakukan bahwa peringatan departemen tidak ada.

Pusat Bantuan Tegous dalam widget obrolan

Anda memilih di mana titik masuk muncul, label dan ikon bar bawah, dan apakah menawarkan link ke pusat bantuan penuh.

Pemeranan Percakapan di Amerika

Peringkat bintang star tercetus ketika agen menutup percakapan, ketika handoff berakhir, atau setelah periode tidak aktif yang Anda tetapkan. Pilih satu atau dua pemicu, bukan semuanya.

Survei Pasca-Chat

Sebuah survei singkat ketika pengunjung menutup percakapan, dengan pertanyaan Anda, penundaan, aturan waktu dan tutup per kunjungan. Pengunjung juga dapat mengirim email atau mengunduh transkrip. Satu pertanyaan akan dijawab; tiga tidak.

Survei Email Post-Chat

Sebuah survei lanjutan melalui email setelah percakapan berakhir, secara pilihan dalam bahasa pengunjung chatted in, dengan kontrol atas penundaan, subjek, intro, pertanyaan, baik label tombol dan baris ucapan terima kasih.

Umpan Balik Berbalas

Ibu jari naik dan jempol turun pada setiap jawaban AI, memberi makan dasbor kualitas.

Arsip Percakapan oleh Vigo

Auto-archive setelah hari, auto-resolve setelah beberapa menit diam, dan menghapus percakapan yang diarsipkan setelah hari. Sebuah retensi tempat ketiga ditetapkan, di samping General and Tracking.

Latihan Pengetahuan

Apa yang sebenarnya diketahui asistennya, tak ada hal lain dalam obrolan klien.

Pelatihan Pengetahuan di Website

Kepal situs Anda sehingga asisten dapat menjawab dari itu. Sampai sepuluh link awal, batas halaman, kedalaman link, dan folder yang dikecualikan. Sebuah URL _dapat diuji sebelum merangkak penuh. Menyalahkan pemeriksaan, akun dan jalur admin.

Pembenaman

Kata kunci dan model API yang mengubah halaman menjadi makna yang dapat dicari daripada padanan kata kunci.

Penyusun Pengetahuan AI

Satu klik dan AI membaca setiap FAQ dan halaman merangkak dan urutkan mereka ke dalam kategori.

FAQ, Jawaban yang Disahkan

Pertanyaan dan jawaban pasangan yang diperlakukan sebagai sumber prioritas tertinggi, masing-masing dengan status, berat, dan kategori. dicari, dapat diimpor dari JSON_, dan AI dapat menulisnya dari deskripsi bisnis Anda. Ketika asisten mendapatkan sesuatu yang salah, tulis FAQ: itu mengungguli halaman merangkak, sehingga perbaikan segera.

Lanjutan

Prestasi dan Batas - Batas yang Tidak Termanfaatkan

interval polilling, batas tingkat pesan dan jendela, ukuran lampiran maksimum, percobaan lampiran per jendela, dan ekstensi file yang diizinkan. Daftar ekstensi adalah kontrol keamanan; menjaga ketat.

Pengiriman Realtime

Pesan instan dan pengiriman status dari pemungutan suara, melalui Pusher, Ably atau Firebase, dengan interval jajak pendapat mundur.

Pemberitahuan Pendorongan

Perangkat aviator untuk agen melalui Bea Pembeku atau OneSignal, dengan bunga perangkat.

Dorongan Web (VAPID)

Peluncuran Browser menggunakan kunci yang dihasilkan sendiri tanpa penyedia pihak ketiga. Dijana di sini, bukan di Danger Zone.

Suara, Video dan Perkongsian Layar

TURN credentials so calls connect through restrictive networks, using Cloudflare or Twilio credentials or your own TURN URL, username and credential.

Aliran Kerja Kotak Masuk Kotak Masuk

Pengaturan ruang kerja agen ketimbang pengaturan pengunjung: Respon pertama SLA dalam menit, tampilan antrian disimpan, pintasan papan kekunci dan palet perintah, pencarian in-konversiasi, dan tiket pelanggan di inspektur.

Saluran Pesanan

WhatsApp, SMS, Facebook Messenger, Instagram, Telegram, X pesan langsung dan LINE, masing-masing dengan AI sendiri switch auto-reply, ditambah suis kebijakan untuk tindakan AI di saluran, reply debounce dan template re-engagement Whatsapp. Setiap saluran tanah dalam inbox yang sama seperti web chat.

A Live Widget Prapapar di bawah tab pemutakhiran saat anda mengedit. Gunakannya sebagai ganti memuat ulang website anda untuk memeriksa perubahan.
Tetapan-peraturan

Seting- Tetapan: OpsIQ _Menulis

Tiket nutfah menjawab secara tertulis: jawaban otomatis, sistem tiket asli, eskalasi, jam bisnis, routing dan email pelanggan-facing.

Secara Otomatis

Niger Show OpsIQ _, Tombol Menulis

Tes tambahan tombol pembantu menulis untuk agen Anda di admin.

Memungkinkan pengembali otomatis tiket

Jika tidak, mulailah dengan itu dan review draft selama seminggu.

Departemen-departemen berrepliku-sendiri

Departemen mana yang secara oto-reply dapat menjawab masuk apa pun yang tidak terdaftar ditinggalkan untuk manusia, yang merupakan standar aman.

Jadwal jeda reject (menit)

Berapa lama menunggu sebelum balasan otomatis dikirim. Jawaban instan berbunyi sebagai robot; beberapa menit dibaca sebagai tim cepat.

Upah Max AI ULANG setiap tiket oleh departemen

Sebuah topi per-perdepartemen, misalnya Billing 1 Didukung oleh Yehuwa 3Tanpa penutup yang membingungkan bisa berputar.

Panjang Balas, status dan identitas

Token penulisan maksimum, status tiket setelah balasan dan setelah eskalasi, dan yang admin account jawaban otomatis dikaitkan. Gunakan akun bernama jelas sehingga staf dapat memberitahu AI membalas dari manusia.

Operasi tiket penduduk asli kota

Sistem Tiket Asli Ogos

Sistem tiket ticket yang dibangun menjadi OpsIQ, untuk pemasangan tanpa bantuan eksternal.

Email masuk melalui saluran masuk ke dalam tiket asli

Ada yang mengubah email masuk ke tiket. OpsIQ Dan persediaan untuk titik akhir URL Apa saja yang dapat posting ke titik akhir itu bisa membuat tiket, jadi rahasiakan tokennya.

Jawaban multi-pembalikan dan penundaan dan pencacahan

Apakah AI terus menjawab sambil percakapan berlanjut, dan apakah itu menunggu jendela yang tenang sehingga tiga pesan cepat mendapatkan satu balasan dipertimbangkan. Jendela tenang adalah setting tunggal terbaik untuk membuat jawaban otomatis merasa dipertimbangkan.

Portal dukungan publik untuk Fuufor

Laman pelanggan dimana siapa saja bisa menaikkan dan melacak tiket, dengan baris ucapan selamat datang. alamat dan tampilannya dikonfigurasikan dalam tab Portal Dukungan.

Format nomor tiket

Åxóne Berapa banyak huruf acak muncul dalam nomor tiket yang dihasilkan.

Pelanggan email dalam bahasa mereka sendiri

Emel tiket mengikut bahasa pelanggan. Emel kakitangan tidak pernah menukar bahasa: pemberitahuan, amaran jabatan, penerangan dan laporan terjadual tetap dalam bahasa sistem anda.

Akolusi dan konfirmasi tidak diketahui

A acquitement tetap pada tiket baru, ditambah pesan konfirmasi ketika sebuah tiket dibuka, ketika umpan balik ditinggalkan dan ketika tiket ditutup, masing-masing dengan pratinjau langsung. Ada juga peliput template email global dan link di belakang tampilan tombol tiket anda.

Penayangan spam AI ani

Menyalin tiket dari penghantar tidak diketahui, dan boleh secara opsyenal memindahkan spam yang dicurigai sendiri. Tinggalkan pergerakan automatik mati sehingga anda telah melihat keputusannya.

Tiket idle otomatis tutup-sendiri

Beritahu pelanggan di pesan penutup bagaimana membuka kembali.

Jam kerja bisnis (SLA calendar)

Waktu zona waktu, pembukaan dan penutupan waktu, hari kerja dan liburan untuk timer reply dan resolusi pertama. jadwal terpisah dari Working Hours di bawah Client Chat.

Tiket baru Auto-asign

Tugas otomatis, secara opsional hanya untuk agen yang online, dengan keterampilan agen dan kepekaan cocok untuk routing berbasis keterampilan.

Cadangkan tiket duplikat

Diafest ketika pelanggan membuka tiket dekat dengan yang mereka sudah miliki, dengan kepekaan sesuai yang dapat disesuaikan.

Survei kepuasaan setelah ditutup

Hasil muncul di halaman CSAT.

Beritahukan departemen melalui email

Email departemen ketika tiket baru tiba.

Apa yang bisa dibaca AI

Akses data klien AI

Sebuah switch master ditambah hak baca-sahaja individu untuk ringkasan profil klien, faktur, transaksi, saldo kredit, produk dan layanan, domain, server terpaut dan sebuah overview akun tingkat tinggi. Mulai dengan ringkasan profil dan menambahkan kategori sebagai jawaban membutuhkannya.

Eskelatasi dan pengetahuan

ULANGKAN Eskalasi tiket AI

Kau memilih departemen yang diizinkan, cek penundaan, dan dapat menulis instruksi pemberitahuan eskalasimu sendiri.

Pengaturan pengetahuan tentang ilmu pengetahuan

Apakah jawaban menggunakan bahasa pelanggan, apakah mereka menggambar pada link merangkak dan FAQ, apakah AI membaca gambar dan PDF Lampiran, mode jawaban pengetahuan, apakah diimpor JSON Pengetahuan yang digunakan, dan apakah sumber link mungkin muncul. Gunakan link merangkak dan FAQ harus menyala, atau AI adalah menebak.

Hentikan auto-reply setelah jawaban manusia

Setelah staf menjawab, AI berhenti menjawab tiket itu tanpa itu AI dapat berbicara atas agen Anda sendiri.

Petunjuk tiket dan email

Instruksi Free-text membentuk nada dan konten untuk setiap jawaban, dengan contoh yang dapat dimuat. lebih spesifik tentang apa yang tidak harus dilakukan oleh AI.

Import JSON pengetahuan

Upload or paste a JSON knowledge file for the writing assistant.

Studio Butang

Desainer penuh untuk tombol pengganti pelanggan: gaya tampilan, ukuran, label, ikon, bentuk, lebar minimum, gaya latar belakang dengan warna primer dan sekunder, sudut gradien, perbatasan, radius sudut, bayangan, tipografi, pemadatan, animasi idle, gerakan melayang dan warna, dan cincin fokus, ditambah sebuah kebiasaan CSS Kotak untuk apa pun yang kontrol tidak menutupi.

Tetapan-peraturan

Pengaturan Kecakapan: Portal Dukungan

Situs perhitungan pelanggan tempat orang-orang mengangkat dan melacak tiket dan membaca artikel bantuan Anda. Tab ini mengontrol bagaimana hal itu dicapai dan bagaimana pelanggan mendaftar; desain visualnya dilakukan di Portal Dukungan Studio.

Portal Studio atau Portal Tiket Terbenam: yang mana yang saya inginkan?

Ini adalah dua produk yang berbeda dan orang mencampurnya terus-menerus. Mereka memecahkan masalah yang berbeda, dan menjalankan keduanya adalah normal.

Sodium Support Portal Studio: tempat yang Anda kirim pelanggan ke

Studio merancang Memukuhkan situs dukungan lengkap yang OpsIQ host untuk andaIni memiliki alamat web sendiri, atau domain Anda sendiri, dan membawa seluruh pengalaman self-service: artikel bantuan dengan pencarian, formulir permintaan, sejarah tiket, pendaftaran pelanggan dan asisten. Pilih sebuah template, bekerja melalui Tema, Navigasi, Layout, Pengetahuan, Footer, Brand, Tiket, Asisten, Form dan CSS, preview di desktop, tablet dan ukuran telepon, kemudian menerbitkan.

Gunalah ketika Anda ingin satu tujuan bermerek yang dapat Anda tujukan ke setiap pelanggan, dan Anda lebih suka tidak membangun atau mempertahankan area pendukung di dalam situs web Anda sendiri.

Ditanamkan Terbenam Tiket Portal: tiket di dalam situs Anda sendiri

Keledainya Hanya pengalaman tiket di halaman website Anda sendiri. Pelanggan membuka, melacak dan membalas permintaan dukungan tanpa pernah meninggalkan halaman Anda, dan header Anda sendiri, navigasi dan desain tetap persis seperti mereka. Atur aturan tata letak, penampilan, dan akses dalam pembangun widget, pratilik hasilnya, kemudian salin snippet yang telah disembatkan ke halaman Anda.

Gunalah ketika Anda sudah memiliki website atau aplikasi dengan desain sendiri, dan Anda ingin dukungan terjadi di dalamnya daripada menyerahkan pelanggan ke alamat yang berbeda.

Versi pendek

Studio bina Tempat dimana kau mengirim pelanggan ke- Yang ditanam membawa tiket Ke tempat pelanggan Anda sudah beradaBanyak bisnis yang menjalankan keduanya, membenamkan widget tiket di area rekening mereka untuk permintaan in-context sambil menjaga portal host sebagai tujuan layanan mandiri dengan artikel dan pencarian.

Alamat dan akses

Mode akses access able

Apakah portal terbuka untuk siapa saja atau dibatasi untuk signed-in pelanggan.

Pilihan susunatur

Apakah portal dan pusat bantuan berbagi satu pahlawan atau menggunakan dua, yang navigasi dan footer muncul di kedua permukaan, dan label bagian navigasi.

Alamat Portal

The address customers use. Pick a name and OpsIQ shows the resulting portal and matching help centre addresses. Changing it later breaks links you have already sent.

Domainmu sendiri

Wadiore melayani portal dari domain yang Anda miliki, seperti support. yourdomain. com.

Portal Tiket Terbenam di Benam

Tukar undi pada widget drop-in yang dijelaskan di atas, dan buka pembangun bumbed dimana anda memilih aturan tata letak, penampilan dan akses, pratilik hasil dan salin snippet untuk halaman anda. Ini bukan Studio Portal: Studio desain portal hosting, ini menempatkan tiket di dalam situs anda sendiri. Keduanya dapat berada di dalam sekaligus.

Bagaimana pelanggan menandatangani di

Ini adalah pilihan pendaftaran pelangganmu.

Metode tandatangan-in

Pilihan yang muncul di halaman masuk.

Tanda masuk sosial

Penyedia akun Consumer, masing-masing membutuhkan ID klien dan rahasia, dengan alamat pengalihan yang dibekalkan oleh OpsIQ untuk mendaftar dengan penyedia tersebut.

Tanda tangan tunggal (OIDC)

Pelanggan customer masuk melalui penyedia identitas, dengan penerbit URL_, ID klien, rahasia dan opsional yang diizinkan daftar domain email.

Pelanggan SAML 2.0

The SAML equivalent. OpsIQ supplies the ACS reply URL and SP entity ID; you supply the IdP entity ID, sign-in and sign-out URLs, X.509 certificate and optional attribute names. Turn SAML on in Sign-in methods or it will not appear.

Tak ada yang masuk dari aplikasimu.

Dia menandatangani link yang dalam jadi pelanggan sudah masuk ke tanah aplikasi Anda di portal tanpa tanda tangan lagi. OpsIQ \"Memsediakan tanda tangan rahasia, portal\"URL Kunci login dan ruang kerja, ditambah generator untuk link tes yang ditandatangani. Gunakan generator sebelum menulis kode apapun.

Sign out mana-mana

Keluar dari portal juga menandatangani pelanggan keluar dari aplikasi Anda.

Kecerobohan dan perlindungan

Medan formulir permintaan ORANG

Setiap bidang tambahan kehilangan penyerahan, jadi mintalah apa yang kau butuhkan untuk triage.

Kekejaman dan perlindungan penyalahgunaan

Sebuah honeypot dan batas tingkat selalu melindungi bentuk publik. Di atas Anda dapat memblokir alamat email sekali pakai, menambahkan domain terblok sendiri, dan menambahkan CAPTCHA menggunakan Google reCAPTCHA atau Cloudflare _Sorttile. reCAPTCHA menggunakan kembali kunci yang sudah ditetapkan di bawah Pengaturan, Keamanan; Kunci turntiled dimasukkan ke sini.

Portal analitik

A read-only ringkasan kegiatan portal selama tiga puluh hari terakhir.

Tetapan-peraturan

Pengaturan Kelayakan: Izin, Lisensi, Cron dan Zona Bahaya

Grup Sistem, ditambah dengan akses tim kontrol yang memutuskan siapa yang dapat melihat Setting tab mana.

Akses dan Izin Tim Tak Terizin

Hak-hak milik per-admin

Setiap admin mendapat set izin eksplisit yang meliputi akses kotak masuk chat, yang mengatur bagian-bagian mereka dapat mengedit, dan departemen mereka. Siapapun dengan peran Administrator Penuh selalu memiliki setiap izin. Pengaturan ijin memutuskan tab mana yang dilihat seseorang, jadi berikan set tersempit yang memungkinkan mereka bekerja.

Lisensi

¡C ¡menunjukkan lisensi Anda saat ini, apa yang akan diberikan kepada Anda dan statusnya.

Persediaan Cron

Hanya pasang sendiri pada OpsIQ _mengawani jadwal yang dijalankan untuk anda dan tab tersembunyi. satu baris crontab drive setiap tugas terjadwal: tiket otomatis-reply, eskalasi routing, pertukaran-rate refresh, pemungutan suara kotak surat dan connector sync.

1
Salin garis

Tab menunjukkan garis crontab yang tepat untuk server Anda dengan binari PHP yang benar sudah dipilih.

2
Tambahkan ke crontab

Run crontab -e as the user that runs PHP and paste the single line. On cPanel use the Cron Jobs tool instead.

3
Tentusahkan secara pasti

Dalam satu menit, tilam detak jantung menyala.

Panel detak jantung menunjukkan run terakhir, durasi dan apa yang diproses untuk kedua antrian auto-reply dan email dan connector jajak pendapat. Ini memperingatkan ketika run terakhir berasal dari tombol web manual daripada cron server nyata, dan ketika detak jantung telah basi.

Zona Bahaya Variado

Hapus Semua Data Trek

Kemuaosau menghapus segala sesuatu OpsIQ yang dikumpulkan atau dihasilkan. Anda periksa apa yang harus dimasukkan dan ketik frasa konfirmasi dengan tepat. Pengaturan dan konfigurasi situs, alamat terblokir, semua yang ditulis tim Anda (pengetahuan dasar, FAQ, terjemahan, desain portal, definisi aksi) dan penerimaan persetujuan semuanya terlestarikan.

Singkirkan Data Lama Dari

menyapu sama terbatas pada catatan yang lebih tua dari 30, 60, 90 OR atau ORANG 180 Untuk retensi bergulir otomatis menggunakan nilai retensi di General and Tracking dan membiarkan tugas yang dijadwalkan melakukannya.

🚫
Export sebuah backup dari Detection, General sebelum menggunakan apapun di Danger Zone. Tindakan ini tidak dapat dibatalkan.
Tetapan-peraturan

Memulihkan timmu

Jemput anggota tim dan tugaskan peran untuk mengendalikan siapa yang bisa mengakses apa.

Kumpulan
Departemen-departmen Tim Vhiden &Layar tim: tabel admin dengan kontak, lencana peran (Owner, Full Admin, Agen) dan departemen yang masing-masing dapat mengakses.Departemen-departmen Tim Vhiden &Ruang kerja ERJDepartemen-departmen Tim Vhiden &Pengguna sistem failKONTACTPERANANDEPARTMENAO[email protected]AdausuPemilikSemuaKM[email protected]Çakh Kojo MensahAdmin PenuhSemuaKAN[email protected]Nazar Rita TettehAgenBilSB[email protected]AgenSodium Support1TEAMGagal mengundang dan mengelola admin2ROLESKepemilikan · Admin Penuh · Agen3SCOPEDAkses Per-perdepartemen
Semua admin dengan kontak, peran dan departemen yang mereka dapat raih, agen diskop, pemilik penuh.

Peranan

Pemilik

Akses penuh termasuk lisensi, tagihan, dan zona bahaya.

Admin Penuh

Akses penuh kecuali lisensi dan zona bahaya.

Agen

Dibatasi untuk departemen yang ditugaskan Tiket, chatting, dan analytic saja.

Anggota tim yang bertugas untuk membantu

1
Pergi ke Tim

Navigasi ke Tim di sisi bar.

2
Klik Jump

Masukkan email anggota tim.

3
Set role

Ocean, Admin, atau Agen.

4
Umpukkan departemen

Untuk Agen, memilih departemen yang dapat diakses.

5
Undangan Kirim

Mereka menerima email dengan link setup.

Tetapan-peraturan

Prestasi pasukan

Bagaimana tim pendukung Anda melakukan. Akses adalah dengan izin, bukan melalui peran: ijin tampilan membuka halaman, izin mengelola membuka target, QA dan rekan-identifikasi membaca, dan izin imbalan-uang-uang adalah apa yang menambahkan tab Upah. Sebuah memimpin tim dapat diberikan salah satu dari ini tanpa menjadi administrator penuh.

Prestasi pasukan
Prestasi pasukanlayar performance tim: agen peringkat oleh batang skor komposit, CSAT dan saldo hadiah dengan tombol Pay per baris.Prestasi pasukanRuang kerja ERJPrestasi pasukanORANG AGENSAKOKANTOR CSATBALANCARAKANNazar Rita Tetteh4.8$42Fijiaustria. kgmSBFijiangra4.5$28Fijiaustria. kgmKMÇakh Kojo Mensah4.2$15Fijiaustria. kgmAOAdausu4.9$51Fijiaustria. kgm1SCOREDPerforma komposit2CSAT & LOADPenarafan Feedulasi + volume3REWARDSSaldo ejen bayaran
layar performance tim nyata: masing-masing agen mencetak gol pada volume dan CSAT, dengan saldo hadiah Anda dapat membayar keluar per baris.

Bagaimana halaman diatur

Setiap jawaban pertanyaan yang berbeda, dan mereka diperintahkan dengan seberapa mendesak mereka biasanya membutuhkanmu.

01 Pusat Komando UGD

keadaan antrian langsung, hasil pelanggan terhadap target Anda, bagaimana kapasitas yang dihabiskan, situasi membutuhkan keputusan, dan bukti-disesuaikan per timmate indeks.

02 Rekan setim

papan pemimpin, pengakuan (paling ditingkatkan dan streak), pencarian, dan kontrol opt-in untuk siapa yang mungkin melihat peringkat.

Kualiti 03 _Filty

Kartu Skor, evaluasi tercatat, perjanjian reviewer yang dikoreksi secara kebetulan, drift pengulas, dan sengketa bukti.

04 Upah

Nilai Token, klaim pembayaran, dan alokasi periode yang diatur: mengotorisasi sebuah langit-langit yang didanai, meninjau pratinjau, finalise.

05 Sejarah

Bagaimana ruang kerja telah pindah dari waktu ke waktu: metrik trend dengan bagan, dan 28 Setiap kartu menyembunyikan dirinya sendiri sampai ada sejarah yang cukup untuk menggambarnya.

Tidak ada nilai yang tidak terkorekorkan

Teman setim tanpa volume yang cukup ditangani — atau yang dimensinya membawa bukti menambahkan hingga kurang dari setengah berat badan yang dikonfigurasi — ditunjukkan sebagai Unscored. Skor mereka, peringkat dan band kosong dan breakdown mereka tersembunyi. Ini adalah kesengajaan: merender pengukuran absen sebagai nol menempatkan seseorang di bagian bawah ranking untuk memiliki minggu tenang. Derajat bukti adalah konfigurasi per ruang kerja dalam Target & mencetak gol.

Kedua ambang bukti melakukan pekerjaan berbeda dan itu layak membuat mereka terpisah. Minimum ditangani memutuskan apakah seseorang yang dicetak sama sekali. peringkat minimum tidak mempengaruhi skor: hal ini menentukan penghargaan dan kelayakan imbalan. sehingga rekan setim dapat sepenuhnya mencetak dan menduduki peringkat dan masih tidak memenuhi syarat untuk periode tersebut, karena terlalu sedikit pelanggan yang menilai mereka.

💡
Setiap sosok diskop ke ruang kerja yang anda lihat dan rentang waktu yang anda pilih. Teman satu tim yang bekerja di dua ruang kerja terpisah memiliki catatan independen masing-masing. Dua pengecualian yang layak untuk diketahui: sebuah situs GROUP adalah satu ruang kerja, sehingga domain anggotanya diukur bersama; dan pandangan All-sites sengaja mengukur semuanya sekaligus.

Indeks kinerja untuk

Sebuah komposit lima dimensi, masing-masing diukur terhadap target yang Anda set daripada melawan rekan, kemudian ditarik ke arah tengah ketika bukti di belakangnya tipis. Perhatikan arah: penyesuaian menggerakkan angka menuju 70_, jadi skor sangat baik tipis ditarik ke bawah dan skor miskin tipis ditarik. Minggu pertama yang buruk pada empat percakapan bukan putusan yang diselesaikan juga. Sebagai bukti menumpukkan angka yang disesuaikan konvergen pada mentah.

Kualitas Magon

Kepuasan pelanggan dari umpan balik yang diverifikasi. ditambah oleh hasil QA scorecard dimana mereka ada dan diatur.

Kepekaan Menanggapi

Pertama kali respon di P50 dan P90 persentil, terhadap target Anda.

Resolusi

Resolusi waktu dan tingkat resolusi satu-sentuhan.

SLA

Penahanan terhadap SLA yang kau konfigurasikan, ditambah pada resiko dan pelanggaran.

Kemujikan

Cara membuka kembali dan memindahkan — pekerjaan yang kembali.

💡
Berat badan tidak dapat dikonfigurasi dan relatif; mereka tidak harus total 100_. Bukti yang hilang hanya dapat menurunkan indeks, tidak pernah menaikkannya — berat terkonfigur penuh tetap di penyebut.

Keupayaan dan waktu yang produktif

Occupancy, productive time, solved per productive hour and online share of the window. Utilisation is deliberately not reported: it needs scheduled hours as a denominator, OpsIQ has no roster or shift source, and a substituted denominator would be a guess wearing a percentage sign. It reads as unavailable with that reason attached.

⚠️
Occupancy mengatakan bagaimana waktu dihabiskan, tidak pernah seberapa baik itu dihabiskan, dan tidak pernah dana, gerbang atau ukuran pembayaran. rekan setim tanpa bukti handle-time dibaca sebagai tidak tersedia, tidak sebagai nol.

Jaminan Kualitas Majinal

Kartu skor adalah rubric reviewers mencetak percakapan nyata terhadap. Hanya versi yang diterbitkan dapat menerima evaluasi, dan menerbitkan versi baru tidak pernah menulis ulang apa yang telah dicetak. Sebuah ulasan merupakan bukti tentang satu percakapan, bukan putusan pada seseorang.

Perjanjian viewer

Reported as a chance-corrected statistic (Cohen's and Fleiss' kappa), not a raw agreement percentage. Two reviewers who pass everything agree 100% of the time while carrying no information.

Tinjauan bintang

Apakah seorang pengulas mencetak skor secara sistematis lebih keras atau lebih lembut daripada rekan - rekan mereka pada percakapan yang sama — perbandingan terhadap panel lain, bukan tren dari waktu ke waktu.

Disputes

Teman setim dapat secara resmi membantah bukti yang dicatat tentang mereka.

Pandangan Sendiri

Rekan setim tidak bisa mengajukan evaluasi terhadap diri mereka sendiri.

⚠️
Evaluasi yang dinilai AI tidak dapat mempengaruhi gaji sampai kalibrasi diterbitkan menunjukkan model setuju dengan peninjau manusia cukup dekat, diukur oleh kappa terhadap sampel minimum. Sebuah gerbang terbuka berarti model setuju cukup erat dengan orang-orang yang menghitung — itu tidak pernah berarti modelnya benar.

Pengakuan

Ranking sendiri telah mendokumentasikan mode kegagalan: game metrik, burnout, dan publik yang menyamarkan siapa pun yang terakhir. 3 alternatif duduk di sampingnya.

Yang paling ditingkatkan

Ukur terhadap rekor rekan satu tim sendiri sebelumnya, jangan pernah melawan rekan-rekan, dengan penyusutan jadi penyebut kecil tidak bisa membeli kemenangan.

Kepiting

Periode yang konsekutif pertemuan periode tetap, dinyatakan bar — rata-rata rating, volume ditangani, jumlah peringkat dan tingkat feedback negatif, semua angka absolut. setiap orang dapat memegang garis beruntun secara bersamaan, sehingga tidak menciptakan peringkat, dan rekan memiliki bulan luar biasa tidak dapat mematahkan Anda.

rangking opt-in

Teman setim selalu melihat indeks mereka sendiri, apakah mereka melihat rekan adalah keputusan ruang kerja. Band percentile dapat diterbitkan bukan posisi absolut.

💡
Sebuah streak tidak bisa mendanai pembayaran atau melanggar satu, dan yang paling ditingkatkan bukan kategori penghargaan.

Quests

A target tim bekerja ke arah, diukur terhadap bar yang dinyatakan tetap daripada melawan satu sama lain — sehingga semua orang dapat membersihkan pencarian yang sama dalam periode yang sama.

Skop dan kade

Individual atau tim; one-off, repeatable, atau musiman dengan jendela eksplisit.

Kriteria

Percakapan yang ditangani, penilaian yang diterima, hari aktif, rata - rata rating, atau tingkat umpan balik negatif. — semuanya mutlak — tidak ada metrik yang nilainya bergantung pada apa yang dilakukan rekan kerja.

Penjaga kualitas Makulin

Ada pencarian yang diperlukan dengan target volume. Memukul angka sementara kualitas jatuh di bawah lantai menahan pencarian daripada menyelesaikannya, dan ditunjukkan sebagai ditahan, bukan belum selesai.

Batasan pengulangan

Sebuah topi per-period, didorong oleh kriteria paling lambat, ditambah pendingin opsional sebelum pengulangan dapat menghitung.

Pencarian Tim Pasukan Kemanusiaan

Kemajuan bersama dengan tidak ada atribusi tim yang diterbitkan, sehingga pencarian tim tidak bisa menjadi papan pemimpin.

Sesi Pelatih Comoros

Sesi pelatih adalah sebuah rekor, bukan obrolan. ia memiliki seorang pelatih, rekan satu tim yang sedang dilatih, waktu terjadwal, poin pembicaraan yang disepakati, dan ringkasan yang ditulis setelahnya. sebenarnya chatting, tiket dan evaluasi QA disematkan kepadanya sebagai bukti, sehingga percakapan tersebut berlabuh untuk bekerja yang benar-benar terjadi daripada kesan yang diingat.

Titik bicara yang tidak benar

Dia setuju sebelum sesi, jadi rekan tim tidak akan terkejut.

Bukti yang telah dipinjam

Chats, tickets and QA evaluations attached to the session. A pin stores a reference — a type and an id — not a copy, so it always points at the live record. OpsIQ does not verify the id before accepting it.

Barang-barang aksi

Setiap orang yang memiliki pemilik dan tanggal jatuh tempo, suatu barang yang melewati tanggalnya ditunjukkan sebagai terlambat — suatu keadaan turunan, bukan status yang harus diingat seseorang untuk ditetapkan.

Catatan pribadi Wadine

Teman satu tim yang dilatih tidak pernah bisa membacanya, bukan sebagai agen, bukan manajer, bukan pemilik.

Siapa yang bisa melihat sesi

Pelatih, rekan satu tim dan siapapun yang memiliki izin kerja tim tak ada orang lain termasuk rekan setim lainnya di departemen yang sama

Audit

Setiap ciptaan, pembaruan, pin, unpin dan penyempurnaan dicatat dengan apa yang berubah, oleh siapa.

💡
Coaching Coaking sengaja terpisah dari skor dan uang. sesi tidak mengubah indeks siapa pun, tidak gerbang hadiah, dan tidak muncul di papan pemimpin.

Upah dan penghargaan

Aktivitas rekaman yang diubah menjadi token dengan nilai tunai yang Anda tetapkan.

1
\"Dia\" \"Memerintahkan nilai token\"

Berapa banyak token yang sama dengan berapa banyak uang, dan apa setiap aktivitas bernilai.

2
Otorisasi langit-langit yang didanai

Untuk periode kalender tertutup, seorang administrator penuh menyatakan token maksimum yang mungkin dibayarnya. Menyimpan formulir pengaturan tidak mengizinkan anggaran, dan tidak dapat mengubah langit-langit yang telah diizinkan.

3
Tinjaulah pratinjaunya

Penerima, cadangan, dan alasan siapa pun tidak memenuhi syarat.

4
Kinalkan

The allocation is recorded permanently with the evidence behind it. A period that allocated nothing can be voided and re-run outright. One that issued tokens must be reversed first: OpsIQ writes a compensating entry against each wallet and never deletes the original, so the ledger still shows what happened and why, and only then is the period released. The reversal refuses if anyone has already cashed out more than the amount being recovered, and names who and by how much.

⚠️
Eligibility requires verified customer feedback. AI quality scores may supplement that judgement but never replace it, and a teammate shown as Unscored is not eligible. Each contributor is capped at 25% above their expected share of the period, so one very high-volume month cannot absorb the whole budget.
💡
Pemilik akun tidak mengambil bagian dalam penghargaan atau hadiah token, tanpa switch: mereka mengotorisasi langit-langit yang didanai dan finalisasi setiap alokasi, dan tidak ada orang di atas mereka untuk menyetujui apa yang akan mereka bayar sendiri. pekerjaan mereka diukur, mencetak dan peringkat di papan tepat seperti orang lain.

Semua orang mengambil bagian secara baku, tim memimpin dan rekan pemilik termasuk. untuk meninggalkan seseorang keluar, membukanya di Departemen Tim & dan mematikan Takes bagian dalam penghargaan dan hadiah pilihan. pekerjaan mereka masih mencetak dan menunjukkan; mereka berhenti menjadi kandidat dari titik itu, dan tidak ada yang sudah finaled disentuh.

⚠️
Nobody approves money for themselves. Because the people who can take part are also the people who can approve payouts, OpsIQ refuses a payout or credit into your own wallet, paying your own claim, finalising a period in which you would be paid, and finalising an award you would win. Another full administrator or the owner must do it. Pay all claims skips your own and reports it as skipped, not failed.

Siapa yang bisa melihat dan melakukan apa yang

Prestasi tim View

Papan papan, keadaan langsung, kapasitas dan kualitas review untuk ruang kerja.

Prestasi tim manajemen

Target dan skor, ekspor, kartu skor QA dan evaluasi, pelatih, pencarian, dan membaca bahwa membawa rekan-identifikasi data seperti sejarah per-admin dan sejarah penghargaan.

Tim Viewer Worship financies

Imbangan, nilai tunai, catatan klaim dan referensi pembayaran — terpisah dari bukti kinerja karena itu adalah gaji-deadjacent.

Hanya administrator penuh yang dapat mengelabui liut

Mutasi uang setiap: membayar upah, membayar atau menolak klaim, mengesahkan anggaran, mengklarifikasi, membatalkan atau membalikkan alokasi, dan menetapkan tingkat token-ke-kash. ini tidak dapat didelegasikan dengan memberikan izin.

Menggunakannya dengan adil

Indeks kinerja adalah bukti manajemen, bukan keputusan kerja otomatis Buka percakapan sumber di balik nomor sebelum bertindak di atasnya dan timbang kompleksitas kasus, jadwal, cuti dan kebutuhan aksesibilitas. minggu sulit tunggal tidak terlihat seperti pola yang berkelanjutan.

Tetapan-peraturan

Situs - situs Anda (ruang kerja)

Situs web zoks (ruang kerja) memungkinkan anda mengelola beberapa situs web dari satu instalasi OpsIQ. Masing-masing memiliki pelacakan sendiri, AI, konektor, dan akses tim.

Laman Web
SitusmuLayar situs-situs: daftar ruang kerja, masing-masing dengan domain, jenis, konektor, lencana status dan tombol Terbuka, ditambah Add-new-site.SitusmuRuang kerja ERJSitusmuSitus baruSshop.acme.comEmerce · Shopify penyambungAVMBukaHhost.acme.comHosting · WHMCS connectorAVMBukaBblog.acme.comKonten Leather · tidak ada konektorTetapkanBuka1MULTI-SITESatu ruang kerja per situs2ISOLATEDData campuran tidak pernah dicampur3PER-SITEPenyambung & pengaturan sendiri
layar Situs nyata: setiap situs adalah ruang kerja tersendiri yang terisolasi (dataran sendiri, konektor dan pengaturan), ditambahkan dan dibuka dari satu daftar.

Cucase a site

1
Situs Bersambung

Navigasi ke Situs Tersambung.

2
Situs baru

Masukkan nama, domain, dan deskripsi.

3
Salin kunci situs

Setiap situs viceza mendapat kunci unik (site_xxx) untuk snippet widget.

4
Konfigurasi secara independen

Setiap situs memiliki AI, konektor, dan pengaturannya sendiri.

- Berapa banyak situs yang bisa aku miliki?+

- Kau harus memeriksa rincian lisensimu.

Tetapan-peraturan

Lisensi dan rencana

Taksi lisensi OpsIQ mu untuk mengontrol fitur, batas situs, dan saldo kredit AI.

Lisensi
Pusat Lisensi Pemegang LesenThe OpsIQ License Center: plan, an Active status badge, the masked license key, an AI-credit meter, and a Force-remote-check button.Pusat Lisensi Pemegang LesenRuang kerja ERJOpsIQ Pusat Lisensi Pemegang LesenRencanaPerniagaanStatusAVMKunciOPSIQ-•••–••AI kredit$68 KiriPeriksa jarak jauh Angkatan Keherah1PLAN & STATUSActive, sekilas2KEYDicache HMAC lokal3CREDITSKeseimbangan AI & batasan AI ficance
Pusat Lisensi yang sebenarnya: rencana dan status aktif Anda, kunci bertopeng, keseimbangan kredit-Ami-Anda, dan kekuatan satu klik reverify.
Kunci Lisensi Pemegang Lesen

Masukkan fía dalam Seting > Lisensi. Disahkan terhadap server lisensi OpsIQ.

Detak jantung Lisensi / validasi

OpsIQ Biasanya dia membaca cache lisensi lokal yang ditandatangani dan menyegarkan validasi ketika diperlukan. Gunakan Paksa pemeriksaan jarak jauh ketika Anda membutuhkan hasil segera; Diagnostik mengidentifikasi DNS, masalah HTTPS atau waktu server.

Rencana

Membatasi ketersediaan dan batasan fitur.

Had laman

Jumlah maksimum ruang kerja.

AI kredit

Jika menggunakan AI yang dikelola, saldo kredit Anda ditampilkan di sini.

Kedaluwarsa

Baru kembali sebelum keluar dari gangguan layanan.

Apa yang terjadi ketika SIM-ku habis?+

Pelacakan, tiket, danCRMKelanjutan. AI fitur jeda sampai pembaruan. Data dipertahankan.

Tetapan-peraturan

Profil, sandi dan dua-faktor autentikasi

Setiap administrator dapat mempertahankan identitas mereka sendiri, preferensi bekerja, kata sandi dan dua-pengesahan faktor.

Skrin produk
Profilku FantafiHalaman profil filebia memisahkan rincian pribadi, bahasa/timezone, avatar/signature, kata sandi dan dua-proctor autentikasi.Profilku FantafiRuang kerja ERJPROFILSelesaiTIMEZONEEropa/AthensWHO 2FADiaktifkanORANG KERJA HIDUPNama dan emailIdentitas pribadi identitas pribadiTak ada yang namanya \"Sunting\"Bahasa dan zona waktu Bahasa dan zon waktuTanggal dan antarmukaTak ada yang namanya \"Sunting\"Avatar dan tanda tanganBalasan dan kehadiran timTak ada yang namanya \"Sunting\"Kata Sandi dan 2FAPerlindungan akunBARU Aman1UPDATE PROFILEIdentitas dan lokalitas2SECURE LOGINKata Sandi dan 2FA3SAVE\"Append\" ke \"admin\" ini
Halaman profil filebia memisahkan rincian pribadi, bahasa/timezone, avatar/signature, kata sandi dan dua-proctor autentikasi.

Pengaturan profil signed-in milik administrator dan jangan ubah branding ruang kerja. Gunakan kata sandi unik dan aktifkan otentikasi dua faktor. Mengubah email atau pengaturan autentikasi mungkin memerlukan re-verifikasi atau tanda masuk segar.

Tetapan-peraturan

Keutamaan notifikasi

Kontrol pengalih perhatian lithan yang acara operasionalnya mencapai administrator dalam produk atau melalui email.

Skrin produk
Keutamaan notifikasiHalaman pemberitahuan program ini menyediakan pilihan in-app dan email per-event ditambah daftar notifikasi terbaru.Keutamaan notifikasiRuang kerja ERJIN-APPDiaktifkanEMAILSelektifUNREAD4ORANG KERJA HIDUPTiket ditugaskanOmail dan in-appDiaktifkanPelanggan oscouster menjawabiran-appDiaktifkanRisiko SLA physicalOmail dan in-appDiaktifkanPersetujuan AIOmail dan in-appDiaktifkan1CHOOSE EVENTSHanya sinyal berguna dari jenis2CHOOSE CHANNELA-app atau email3YABATpemberitahuan baru-baru ini tidak ada
Halaman pemberitahuan program ini menyediakan pilihan in-app dan email per-event ditambah daftar notifikasi terbaru.

Keutamaan ifrica meliputi penugasan tiket, balasan pelanggan, peringatan SLA, acara persetujuan chat handoff dan AI. Tetap aktifkan sinyal operasional mendesak di suatu tempat; mematikan email tidak selalu mematikan pemberitahuan in-app.

Tetapan-peraturan

Sekilas pandang tentang keamanan dan keamanan

Wadah Keamanan adalah layar pertama untuk menilai blok, serangan login, sesi ancaman, tren keamanan dan integritas acara.

Skrin produk
Sekilas pandang tentang keamanan dan keamananSecurity Overview nutfah menggabungkan kartu risiko saat ini, sebuah 14_-hari tren, daftar penyerang, asupan acara dan status integritas.Sekilas pandang tentang keamanan dan keamananRuang kerja ERJACTIVE BLOCKS18FAILED LOGINS42HIGH THREAT3ORANG KERJA HIDUPDiblokir-otomatis7Total dan sumber hari -hariTrendonPenyerang yang paling anehIP, negara dan alasanUlasanAcara keamanan kapalRisiko dan akibat tindakanSuapanIntegritas rantai Hash-chainrantai peristiwa yang sangat terkenalKesahihan1READ HEADLINEDepostur saat ini tidak terjamah2OPEN EVIDENCESerangan dan peristiwa3AKTBlok, penyelidikan, ekspor
Security Overview nutfah menggabungkan kartu risiko saat ini, sebuah 14_-hari tren, daftar penyerang, asupan acara dan status integritas.

Pakai kartu tajuk utama untuk triage, kemudian buka Audit terkait, Log Masuk Gagal, Diblokir IPs OR atau ORANG JavaScript Kesalahan halaman untuk pekerjaan tingkat rekor. 14 Ke trensi hari -hari lebih berguna daripada lonjakan tunggal. Sesi berthreat tinggi harus diselidiki terhadap pengunjung, permintaan dan bukti autentikasi sebelum blok permanen diterapkan.

Tetapan-peraturan

Log audit Tamper-terkenal

Catatan audit yang melakukan apa, kapan, untuk objek mana, pada tingkat risiko dan apakah itu berhasil.

Skrin produk
Audit aktivitasHalaman audit audio menyediakan kegiatan vendor-evident yang dapat dicari dengan tindakan, aktor, risiko, target dan hasil.Audit aktivitasRuang kerja ERJKEPADA18.2kHIGH RISK21INTEGRITYKesahihanORANG KERJA HIDUPKonektor diaktifkan[email protected] · ShopifySuksesKunci API dibatalkan[email protected] Kunci · leacher 19SuksesPengaturan perisuan berubahMemerlukan [email protected] _· AISuksesHak Akses ditolakEkspor [email protected] · fryDiblokir1FILTERAksi, risiko dan aktor2KECILTarget dan hasil3EXPORTCSV OR atau ORANG JSON
Halaman audit audio menyediakan kegiatan vendor-evident yang dapat dicari dengan tindakan, aktor, risiko, target dan hasil.

Filter by action, risk and actor; export CSV or JSON for an investigation. The hash chain helps detect missing or altered audit rows, but it does not replace protected backups and restricted database access. Treat audit exports as sensitive because they may identify users, records and security actions.

Operasi

Diagnostik Diagnosis

Diagnostik gnosis diagnosis mengubah pemeriksaan subsistem menjadi hasil kesehatan biasa-Inggris dan tindakan selanjutnya langsung.

Skrin produk
Diagnostik DiagnosisDiagnostik mengumpul pemeriksaan kesihatan bagi widget, AI, tiket, integrasi, Kecerdasan Laman, tugas latarbelakang, automasi CRM, lesen dan storan.Diagnostik DiagnosisRuang kerja ERJSEHAT13WARNING2GAGAL1ORANG KERJA HIDUPWidgetDi titik akhir chatKesehatan_Latar BelakangDetak jantung Cron terlambatPeringatan AmuniaE-mailGagal uji OutboundGagalPenyambungPendaftar dan asupan peristiwaKesehatan1REFRESHJalankan cek saat ini2OPEN WARNINGBukti Bacaan Aaa3FIX AND RETEST\"Operasi pemulihan\"
Diagnostik mengumpul pemeriksaan kesihatan bagi widget, AI, tiket, integrasi, Kecerdasan Laman, tugas latarbelakang, automasi CRM, lesen dan storan.

AWA2 Halaman checks Site Speed, ranking/keyword/backlink/data lokal, AI dan action gateway, tiket, crawler/audits, integrasi/event asupan, tugas latar belakang, otomatisasi CRM, lisensi, widget dan layanan produk terkait. Ini sengaja melaporkan penyebab yang dapat dibaca operator daripada membongkar rahasia mentah.

Setelah perubahan, Refresh dan konfirmasi subsistem yang terkena kembali sehat. Sebuah halaman diagnostik hijau diperlukan tetapi tidak cukup untuk peluncuran; melengkapi daftar cek Pra-launch juga.

Tetapan-peraturan

Keamanan dan akses

OpsIQ Füfless termasuk beberapa lapisan keamanan untuk melindungi admin, data, dan API Akses.

Bagaimana cara kerjanya
Keamanan dan aksesSebuah perisai keamanan di samping kontrol yang diaktifkan: dua-faktor, OIDC SSO, SCIM 2.0 AVE, OAuth2 PKCE, CSRF/CSP, IP firewall, batas tingkat dan lemari besi rahasia.Faktor-Dua-Fakta (TOTP)SSO OIDCSCIM 2.0AAbe OAuth2 PKCEcinemascore-formatIPfirewallBatasan kadar laklakPeti besi rahasia
Keamanan

Fitur-fitur keamanan untuk AFN

Otentikasi admin

Kata sandi dengan opsional 2FA.

Log masuk lockout

Penguncian sementara setelah terlalu banyak upaya gagal.

IP blocking

Block IPs or CIDR ranges from accessing tracked sites.

Ancaman skoring

Nilai ancaman berdasarkan perilaku, pengunjung yang berwatak tinggi dapat diblokir secara otomatis.

Penegakan HTTPS

LUC untuk semua koneksi. HTTP dialihkan ke HTTPS.

HSTS header

Keamanan-Transport-Transtrikal mencegah serangan downgrade.

Pemeliharaan CSRF

Semua formulir admin dari pihak-pihak yang ada termasuk token CSRF.

Perlindungan XSS

Semua input pengguna telah lolos. header CSP membatasi eksekusi skrip.

Perlindungan SSRF

Outbound webhooks blok pribadi/internal IP alamat.

Persediaan saran

1
292F

Untuk semua akun admin.

2
Kata sandi yang kuat

Karakter 12 Minimum, campuran.

3
Catatan - catatan harian

Mengeluarkan akses untuk mantan anggota tim.

4
Monitor logmasuk gagal

Periksa mingguan untuk pola mencurigakan.

5
Tetap kabari

Terapkan pembaruan segera untuk keamanan patch.

Tetapan-peraturan

Peranan dan hak

Pengendalian Akses Bersaing Peranan memungkinkan Anda mengontrol apa yang dapat dilakukan setiap anggota tim.

Perizinan & Peranan
Peranan dan hakMatriksi peran-berdasar kemampuan: Pemilik memiliki segalanya; Admin penuh kekurangan tagihan dan zona bahaya; Agen hanya memiliki tiket terskop.Perizinan & PerananRuang kerja ERJTEMANINGGRISBAHASA ORANGKECIL TICKETPemilikAdmin PenuhAgenscoped13 ROLESKepemilikan · Admin Penuh · Agen2GRANULARPer-halaman + per-per-pembagianan3DEFAULT-DENYRute yang diblokir
Pemilik mendapatkan segalanya, Admin penuh semuanya kecuali tagihan dan zona bahaya, Agen hanya tiket mereka yang terskop.

Peranan bawaan

Pemilik

Semuanya termasuk lisensi, zona bahaya, dan manajemen instalasi.

Admin Penuh

Semuanya kecuali lisensi dan zona bahaya.

Agen

Kesaksian untuk memberi surat tilang dan chat, melihat analitik.

Apa aku bisa membuat peran sendiri?+

Tidak sekarang, tiga peran dalam bangunan ditambah tugas departemen memberikan kontrol granular.

Tetapan-peraturan

IPs dihalang

Manage IP addresses blocked from accessing your tracked sites.

IPs dihalang
IPs dihalangDiblokir-IPs Layar layar: sebuah blok-an-IPBentuk /CIDR di samping tabel Alamat Yang Diblokir dengan setiap entri, tanggal, alasan dan tombol Unblock.IPs dihalangRuang kerja ERJAndika_f sebuah IP / CIDR203.0.113.0/24Alasan (opsional)BlokirAlamat - alamat yang diblokir203.0.113.9Jun 12 · paksaan kasarTidak boleh diblokir45.12.0.0/16Jun 10 · spamTidak boleh diblokir102.89.6.2Jun 9 · penyalahgunaanTidak boleh diblokir1WANITAIP or CIDR range2LISTSiapa yang & ketika, dengan alasan3UNBLOCKSatu klik
The real Blocked IPs screen: block a single IP or a CIDR range, and manage the list, each with its date, reason and one-click unblock.

Bagaimana untuk memblokir

1
Ke Keamanan > Diblokir IPs_

2
Add an IP or CIDR range

Contoh: 203.0.113.42 OR atau ORANG 203.0.113.0/24

3
** Tambahkan alasan **

Dokumen mengapa: spam, penyalahgunaan, penggusuran, dll.

Apakah pemblokiran akan mempengaruhi pengguna yang sah?+

Jika pelanggan berkongsi perusahaan IP VPN atau VPN, menghalangi itu IP Gunakan blok sempit.

Tetapan-peraturan

Gagal log masuk

Semua percobaan login tak sukses ke OpsIQ admin anda.

Gagal log masuk
Gagal log masukLayar gagal-login: tabel akun/IPs dengan jumlah kegagalan, waktu percobaan terakhir, dan tombol Blok per baris.Gagal log masukRuang kerja ERJGagal login percobaanCOUNT ACCOUNT / IPGAGALAYATTINDAKAN[email protected] · 41.62.10.472m yang laluBlokir[email protected] · 102.89.6.2318m yang laluBlokirParameter · 45.12.9.7_ tidak diketahui12252m yang laluBlokir[email protected] · 88.21.4.921h Aa laluBlokir1WATCHGagal login percobaan2COUNTSKekerapan akun / IP_3AKTBlok africane dari baris
Xerex Layar log masuk Gagal Nyata: setiap akun/IP Kegagalannya dan upaya terakhir, memblokir sumber tenaga kasar langsung dari baris.

Apa yang ditunjukkan oleh setiap entri

Tarikh/waktu

Ketika percobaan itu terjadi.

E-mail

Alamat Email yang digunakan.

IP Alamat

Sumber percobaan.

Negara

Lokasi Geografis.

Alasan

Kata sandi salah, terkunci, atau tidak ditemukan.

Tanda-tanda peringatan anyword

Banyak upaya, email yang sama

Tebakan Kata Sandi palsu.

Banyak upaya, email berbeda

Serangan otomatis. blok sumber IP_.

Negara - negara yang tidak asing

Jika tim Anda adalah lokal, upaya asing kemungkinan besar akan menyerang.

Tetapan-peraturan

Analisis keselamatan AI

Lapisan analis yang opt-in dari situs keamanan: putusan, laporan insiden, digest harian, cek postur mingguan, Ask Security, dan kebijakan blok 0token.

Setiap halaman keamanan mencatat apa yang terjadi, tetapi membaca masih mengambil penilaian. Analis keamanan AI menambahkan bahwa penghakiman di tempat, dan dibangun untuk menghabiskan hampir tidak ada: itu tidak pernah duduk dalam jalur suar atau login, aturan deterministik menyelesaikan kasus-kasus yang jelas tanpa panggilan AI, putusan yang disimpan, dan keluaran terbaik analis adalah aturan deterimenistik yang kemudian ditegakkan selamanya pada token nol. Keanekaragaman Bedah → KeamananSemua default off.

Apa yang ditambahkan

Chip Verdict kinerja + Jelaskan

Diblokir IPs Baris Log Masuk Gagal dan Gagal menunjukkan sebuah chip / mencurigakan / bermusuhan dengan skor kepercayaan. Jelaskan membuka penalaran, fakta yang digunakan, dan satu-klik aksi Block / Release. 24h, jadi meninjau kembali sebuah IPKau bebas.

Catatan singkat Insiden

Peristiwa terkait cluster menjadi satu insiden (gelombang login, URL Scan, auto-block burst) dengan garis waktu Inggris polos dan satu langkah berikutnya yang disarankan. serangan berlangsung lipat ke insiden yang sama.

Harian nerge

Kemarin melawan garis dasar, blok, insiden, dan satu hal yang harus dilakukan.

Pemeriksaan postur Mingguan Speak

Hari Senin, daftar cek hardening (2FA gap, ambang kunci melawan volume serangan nyata, waspada) dengan keparahan, upaya dan tepat memperbaiki per item.

Ajukan Keamanan

Kotak pertanyaan di Security Overview yang menjawab dari keadaan keamananmu. pertanyaan server mendalam diserahkan pada manajer administrasi chat daripada ditebak.

Usul dasar + autopilot

Analis astronador mengusulkan peraturan blok beton sebagai kartu Aprove / Dismiss; aturan yang disetujui ditegakkan di token nol dengan hit counter langsung. Autopilot opsional menyetujui hanya aturan paling aman secara otomatis.

Tetapan-peraturan

Analisis keselamatan AI (security_ai_enabled)

Menyalakan chip putusan, jelaskan, dan tanyakan keamanan. IPs Dia mencapai model, ditumpuk menjadi satu panggilan.

Catatan singkat insiden (keamanan_ai_insiden)

Kami menemukan kejadian ke insiden dan menulis setiap cerita baru.

Segest harian nutfah (keamanan_ai_dicernaan)

Satu rekap keamanan satu hari di bel dan Overview.

Pemeriksaan postur Mingguan (keamanan_ai_postur)

Hari Senin hari Senin, hardening daftar cek di Overview.

Autopilot polisi (security_ai_autopilot)

Biar analis mengaktifkan proposal teramannya tanpa pengawasan: blok batas waktu yang dapat dikembalikan hanya, tunggal IPs Wadikasi atau jangkauan tidak lebih lebar dari /24, Tidak pernah berbagi/mobile/private, capped 10 Setiap jam, selalu diaudit dan dibatalkan.

💡
Setiap panggilan ditandai security_ai dengan cap bulanannya sendiri dalam AI Config → Cost Guardrails (default 300k token). Jika cap yang dipukul, fitur diturunkan untuk deterministik membaca. pemblokiran, penguncian dan peringatan tidak pernah bergantung pada anggaran ini. Analis tidak pernah dapat menghapus data, pengaturan perubahan, sentuh buku besar audit, atau membuat larangan permanen.
Operasi

Otomasi dan automasi

OpsIQDia menggunakan satu penjadwal produk untuk menjalankan pemungutan suara email, otomatisasi tiket, analisis rollups, retensi, antrian AI,CRMPekerjaan, laporan dan pekerjaan konektor.

Skrin produk
Otomasi dan automasiOne product cron entry supplies the heartbeat; OpsIQ decides which internal jobs are due.Otomasi dan automasiserver KANTERHEBASetiap menitRUNNERcron/all.phpHEALTHTetapan-peraturanORANG KERJA HIDUPRetrief produk Unifiedopsiq/cron/all.phpDiperlukanTiket dan antrian emailPekerjaan berjadwal singkat untuk tahunAVMAnalisis dan retensiKagen dalamanJadwalPelanggan konektor didiskusikanKejadian cron yang dinyatakan kronSkop1INSTALL ONE LINE\"Larikan jadwal produk setiap menitnya\"2CHECK CRON SETUPKonfirmasi detak jantung CLI3USE DIAGNOSTICSDiinvestigasi terlambat atau gagal bekerja
One product cron entry supplies the heartbeat; OpsIQ decides which internal jobs are due.

Kemasukan cron produk diperlukan

Adonan Tambahkan baris tunggal ini ke crontab untuk lingkungan server dan PHP yang sama dengan yang menjalankan OpsIQ_:

OpsIQ produk masukan crontab
* * * * * php /path/to/opsiq/opsiq/cron/all.php >> /tmp/opsiq-cron.log 2>&1

Ganti /path/to/opsiq Guna jalur PHP CLI penuh ketika host memerlukan satu, misalnya /usr/bin/php8.4.

Jangan gunakan level atas /cron.php untuk kerja produk. In this repository that runner belongs to a separate non-product service outside this handbook. The OpsIQ product runner is opsiq/cron/all.php.

Apa yang dikandadakan oleh penjadwal terpadu

Tiket dan antrian AI

Proses-proses processes due auto-replies, eskalasi, persetujuan dan pekerjaan produk antrian lainnya.

Email tidak masuk akal

jajak pendapat yang dikonfigurasi kotak surat di mana pemungutan suara adalah metode asupan terpilih.

Analisis dan sesi

Sesi Assembles zodiore dan menyegarkan agregat yang dijadwalkan saat mereka jatuh tempo.

CRM and engagement

Lulusan lari mencetak gol, daur hidup, alur kerja, kampanye dan tugas-tugas yang dijadwalkan.

Retensi dan pemeliharaan

¡ACH melakukan pembersihan, arsip, ekspiri dan pekerjaan integritas.

Penyambung

CONCONTOS connector cron subscriber dan polling hanya untuk konektor terpasang, diaktifkan dan dikonfigurasi.

Sidik sirna tentusah cron

  1. Buka Pengaturan - Persediaan Kron Dan memastikan bahwa produk pelari ada.
  2. Guna Run now Setelah itu pastikan admin dan pemungutan suara akan segera dimutakhirkan.
  3. Periksa Diagnostik Diagnosis Untuk detak jantung yang terlambat, PHP CLI, database atau masalah file-path.
  4. Periksa nilai tanggal di: year= (bantuan) /tmp/opsiq-cron.log Áin atau jalur log yang Anda pilih ketika sebuah manual dijalankan gagal.

Jaga penyambung tetap handler pendek, idempoten dan ruang kerja-discoped. Batch panjang sinkronisasi dan simpan kursor/checkpoint sehingga selanjutnya dapat berjalan dengan aman.

🚫
Saat kor produk berhenti, OpsIQ kerja berbasis waktu berhenti atau menjadi terlambat meskipun halaman admin biasa masih bisa dimuat.
Operasi

Operasi penempatan tercanggih diherankan

Sebuah hosting OpsIQ _perangkat menggunakan layar produk dan alur kerja yang sama sementara operator hosting mengelola lapisan server. sign-up komersial, rencana, penagihan dan prosedur portal akun berada di luar buku panduan ini.

Skrin produk
Pasukan bayaran yang ditabuhPerubahan operasi yang dilakukan oleh pengguna yang menjaga infrastruktur; tidak mengubah bagaimana pelanggan menggunakan OpsIQ.Pasukan bayaran yang ditabuhRuang kerja ERJPRODUCT UISameNomma OpsIQINFRASTRUCTUREOperator-diurusWORKSPACE DATATerisolasiORANG KERJA HIDUPWaktu jalan Aplikasi UisonPHP, web server dan basis dataDiurus oleh mustahilKuntum ProdukDijadwalkan oleh operator hostingTentusahkan secara pastiupdate dan bala bantuanKebijakan dan bukti penyedia PHYUlasanTetapan OpsIQ _fizSitus, AI, tim dan konektorTimmu1OPERATE OPSIQ NORMALLYUsir navigasi produk yang sama2VERIFY SERVICE HEALTHDiagnostik dan bukti status3KNOW RESPONSIBILITYPengaturan produk terpisah dari pekerjaan hosting
Perubahan operasi yang dilakukan oleh pengguna yang menjaga infrastruktur; tidak mengubah bagaimana pelanggan menggunakan OpsIQ.

Apa yang biasanya dikelola operator hosting

  • Server web, waktu jalan PHP, layanan basis data, TLS dan penyimpanan.
  • Cron produk yang disatukan dan log tahap-pelayannya.
  • Pemutakhiran aplikasi, pemantauan infrastruktur dan proses backup yang didefinisikan oleh perjanjian hosting.

Apa yang masih dikelola oleh administrator OpsIQ _mu

  • Website dan instalasi widget, pengaturan AI, pengetahuan, kotak surat dan alur kerja pendukung pelanggan.
  • Akses tim, departemen, kontrol keamanan, kunci API, konektor, otomatisasi dan pengaturan restensi data.
  • Verifikasi Produk fargonda melalui Diagnostik, log audit, tes konektor dan cek akhir-ke-akhir yang nyata.

Pemeriksaan operasi

Jangan menganggap bahwa layanan yang dikelola berarti setiap integrasi produk sehat. Konfirmasi bukti cadangan terbaru dan kebijakan retensi dengan operator hosting, dan penggunaan OpsIQ Diagnostik diagnostik setelah berubah menjadi DNS, email, penyedia AI, situs web atau konektor.

Bagian ini mencakup operasi produk saja. administrasi transaksi onboarding, langganan, tagihan dan pelanggan tetap di luar OpsIQ Buku panduan.

Operasi

Memandu-kendiri OpsIQ

A self-hosted OpsIQ installation runs on infrastructure you control. You are responsible for the runtime, database, TLS, product cron, backups, updates and monitoring.

Skrin produk
Memhosting diri sendiriMembela diri memberikan pengendalian infrastruktur dan membuat tim Anda bertanggung jawab untuk setiap ketergantungan operasi.Memhosting diri sendiriserver KANPHP Kefaki8.4+DATABASEMySQL 5.7+SCHEDULERSetiap menitORANG KERJA HIDUPEkstensi waktu jalancurling, pdo_mysql, mbstring, json_DiperlukanSambungan tambahan SYTxml, opensl, zip, intl, gdDiperlukanalternatif pangkalan data beraliran NafiqMariaDB 10.3 Çižibi + dengan InnoDBDidukungTransportasiCOMBIL HTTPS dan akses penyedia outboundTentusahkan secara pasti1PREPARE THE SERVERKeperluan waktu jalan yang sesuai dengan kepantasan2INSTALL AND CONFIGUREUse a fudted database and HTTPS3ADD PRODUCT CRON/Dialog/jalankan opsiq_/cron/all. php
Membela diri memberikan pengendalian infrastruktur dan membuat tim Anda bertanggung jawab untuk setiap ketergantungan operasi.

Kontrak perangkat lunak minimum

PHP Kefaki

PHP 8.4 atau lebih baru. Sambungan yang diperlukan: curl, pdo_mysql, mbstring, json, xml, openssl, zip, intl dan gd.

Pangkalan Data Database

MySQL 5.7 atau MariaDB 10.3+ menggunakan InnoDB. Cipta pangkalan data khusus dan pengguna aplikasi paling kurang hak istimewanya.

Server web

Apache atau Nginx dikonfigurasi untuk controller depan OpsIQ, aset statik dan diperlukan penulisan ulang.

HTTP

Keperluan untuk sesi admin, lalu lintas widget, kunci API, webhooks dan panggilan penyedia.

Akses Outbound

Allow DNS and HTTPS access to the AI, email, connector and licence endpoints you actually enable.

voice. Diakses tanggal 2013-02-07.

Pengguna web dan CLI harus dapat membaca berkas aplikasi dan menulis hanya ke lokasi runtime/storage yang didokumentasikan.

Kron

Diagodon Menjalankan penjadwal produk OpsIQ setiap menit dengan konfigurasi aplikasi dan akses database yang sama seperti proses web.

Urutan pemasangan coran

  1. Muat naik rilis ke akar dokumen yang ditujukan dan jaga struktur direktori yang diberikan.
  2. ¡Abc membuat basis data dan pengguna aplikasi, kemudian masukkan database, kanonik URL dan pengaturan lisensi.
  3. ¡Aundominator/setup mengalir dan membuat akun pemilik pertama.
  4. Benarkan HTTPS dan verifikasi arah semula, kuki dan widget publik/API jalur.
  5. Add-dand gabungan OpsIQ produk cron:
Cron produk berhantu sendiri
* * * * * php /path/to/opsiq/opsiq/cron/all.php >> /tmp/opsiq-cron.log 2>&1
  1. Pengaturan Terbuka Keperawatan - Setup Kron dan Diagnostik; jalankan penjadwal sekali dan selesaikan setiap dependensi yang gagal.
  2. Konfigur cadangan, mengembalikan pengujian, retensi log dan prosedur pembaruan sebelum menambah data produksi.

Mengemaskini dengan selamat

  1. Membaca nota rilis dan memeriksa PHP/extensies yang diperlukan sebelum mengubah berkas.
  2. Back up database dan berkas aplikasi/konfigurasi, kemudian membuktikan backup dapat dipulihkan di lokasi tes.
  3. Sebarkan berkas baru tanpa menghapus konfigurasi spesifik-instal atau data runtime.
  4. Untuk menjalankan proses migrasi/perbaikan yang diberikan dan verifikasi log masuk, pelacakan widget, tiket, email, AI, penyambung dan cron.
  5. ¡Keep the first release and database backup sebelumnya tersedia untuk jendela rollback dokumentasi.
🚫
Tambahkan ke dalam repositori /cron.php Tidak ada yang OpsIQ Penjadwal produk, penunjukkan otomatisasi produk hanya di opsiq/cron/all.php.
⚠️
Jangan hapus . schema_cache.json sebagai pemeliharaan rutin. Hapus hanya ketika instruksi produk secara eksplisit membutuhkan pembangunan ulang skema-cache (rekonstitusi).
Operasi

Panduan Produksi dari perusahaan

Daftar cek dan praktik terbaik untuk menjalankan OpsIQ dalam produksi.

Panduan Produksi dari perusahaan
Panduan Produksi dari perusahaan¡A go-live checklist: domain langganan dan SSL_, AI terlatih, konektor dan cron, backup dan retensi, dan peran tim.Daftar cek hidup-goRuang kerja ERJSebelum kau hidupDomain suai + SSL dikonfigurAI dilatih pada kandungan andaPenyambung diuji · cron berjalanSandar Cadangan dijadwalkan · retensi setPeranan tim sekutu ditugaskan & ditinjau kembali1GO-LIVEDaftar cek pra-launch2VERIFYDomain · SSL · backup3CONFIDENTKapal ketika hijau
Daftar cek go-live A sehingga tidak ada yang terlewat: domain + SSL_, AI terlatih, penyambung dan cron teruji, cadangan dan retensi, dan peran tim.

Sebelum pergi langsung

domain terkonfigur

SSL terpasang, pengalihan HTTP, HSTS diaktifkan.

Caron berjalan

Pastikan melalui halaman diagnostik.

AIoidel diuji

Bicara sebagai pelanggan, tentu saja akurasi dan nada.

Widget GADD dipasang

Di semua halaman website, pastikan dengan Live Feed.

Konfigurasi reksadana

Diotomasi database harian dan file backup.

Pengelogan kesalahan code

Log ralat PHP dihidupkan dan dipantau.

Tim TUA diundang

Semua anggota ode memiliki akun dengan peran yang benar.

Pangkalan pengetahuan telah diisi

Setidaknya 5-10 Artikel luar biasa.

Periksa dashboard, daftar tiket yang jelas, cek percakapan AI.

Weekly: Review AI Insights, update KB, cek kinerja tim, review keamanan.

Monthly: Tinjau tren analitik, konektor audit, pelatihan update AI, verifikasi backup.

Operasi

Daftar cek pra-launch

Perintah yang tersedia bukanlah bukti bahwa itu berlalu di lingkungan Anda.

Skrin produk
Verifikasi Melepas Melepaskan MelepasPandangan rilis menunjukkan gerbang yang harus dijalankan; tidak ada pra-labelnya seperti yang dilewati.Verifikasi Melepas Melepaskan Melepasserver KANRUNTIMPHP PHP 8.4SOURCE GATESsetempatOUTCOMEBerdasarkan buktiORANG KERJA HIDUPSambungan yang diperlukanPeriksalah di depan kamar suiteGerbang LUPembersihan sintaks PHPProjek/CiriGerbang LUEvaluasi AI dan PHPUNIJalankan ketika dependensi hadirGerbang LUPemeriksaan Statik dan perambanNameGerbang LU1RUN THE CHECKSSi Tangkap output sebenarnya2FIX EVERY REQUIRED FAILUREJangan mengganti bukti dengan asumsi3TEST THE PRODUCTSahkan perjalanan pengguna nyata
Pandangan rilis menunjukkan gerbang yang harus dijalankan; tidak ada pra-labelnya seperti yang dilewati.

Sumber dan gerbang pembebasan

Jalankan pemeriksaan repositori dari akar instalasi dan tetap simpan keluaran lengkap mereka dengan catatan rilis.

Gerbang utama penerbangan perdana di kota ini
php tools/preflight.php
Gerbang pembebasan yang diperluas
php tools/release_gate.php

**Periksa pra-penerapan PHP * 8.4 Waktu jalan dan ekstensi yang diperlukan, melakukan sapuan sintaks PHP, menjalankan gerbang kapal evaluasi AI dan suite lengkap PHPPUnit, dan menjalankan pemeriksaan PHPStan/Node ketika alat-alat tersebut dipasang. Gerbang diperpanjang juga termasuk asap, clean-install/schema dan browser end-to-end checks ketika lingkungan mereka dikonfigurasi.

Cek yang dilewatkan bukanlah pass. Rekam mengapa tidak tersedia, pasang dependensi yang hilang atau jalankan dalam lingkungan CI/staging yang benar sebelum rilis.

Periksaan produk

1Autentifikasi dan peran

Tanda tangan dalam sebagai masing-masing peran yang dimaksudkan; sahkan halaman/tindakan yang diizinkan dan ditolak.

2Widget dan pelacakan

Muat situs nyata di peramban pribadi; verifikasi lalu lintas suar, Live Feed, pengunjung dan catatan sesi.

3Chat dan AI

Tanyai wakilnya pertanyaan; pastikan pengetahuan dasar, keselamatan, eskalasi dan sejarah AI.

Tiket4.

Ciptakan, umpuk, balas, eskalasi, tutup dan buka kembali melalui setiap jalur masuk yang diaktifkan.

5Email

Uji penghantaran keluar dan setiap kotak mel masuk yang dikonfigur atau laluan webhook.

6. CRM dan analitik

¡Abnu membuat kontak/deal/conversion terkontrol dan memverifikasi dashboard, corong, mencetak dan laporan.

7Konektor

Jalankan tes sambungan, satu baca, satu write/dry aman jalankan dan jalur webhook/polling untuk setiap penyambung yang diaktifkan.

8. API Ogo dan webhooks

Skop yang sangat sempit, batas tingkat, retries idempoten, tanda tangan dan penanganan duplikat.

9Cron

Diakontrol penjadwal produk terpadu dan mengkonfirmasi semua detak jantung yang diperlukan dalam Cron Setup/Diagnostik.

10 Keamanan

Overifikasi 2FA, kontrol CSRF/session, entri audit, pembatalan kunci dan isolasi ruang kerja.

11 Bantuan dan pemulihan

Ogoshima Pulihkan backup arus ke dalam lingkungan uji terpisah dan verifikasi data dan konfigurasi.

12 Kewaspadaan dan rollback

Sahkan log/pemakluman, simpan ID permintaan dan buktikan prosedur rollback.

⚠️
Keberagaman hanya setelah setiap gerbang yang diperlukan dan perjalanan kritis bisnis memiliki bukti saat ini untuk pelepasan dan lingkungan yang tepat.
Pembangun

Push Web di situs pihak ketiga

Pemberitahuan tolakan Browser (termasuk OpsIQ Dia membutuhkan pekerja dinas dari SAME ORIGIN sebagai halaman.OpsIQ Beban widget dari Anda OpsIQ Disebarkan, jadi situs pihak ketiga tidak bisa mendaftar OpsIQ Dia bekerja secara langsung. satu file kecil di situs domain sendiri untuk mengaktifkan dorongan disana.

Bagaimana cara kerjanya
Dorongan Web vinakSebuah gaya dorong ulir OS di atas dua kartu metode pengiriman: Built-in VAPID dan Pusher Beams.TokomuYour cart is waiting · 10% off todaySekarangDalaman Dalam/Batas (VAPID)Tidak ada pihak ketigaSatu berkas host milik kapalBeam PendorongGuna akaun andaHos pekerja
Dorongan Web vinak

Mengapa ini diperlukan

Pelayar hanya membiarkan sebuah halaman mendaftarkan seorang pekerja jasa dari asalnya sendiri.OpsIQ Ketersediaan, sehingga tidak dapat memasang pekerja dorong pada situs pelanggan, sampai Anda menjadi tuan rumah pekerja di asal situs tersebut, widget secara diam-diam melewatkan push (tanpa kesalahan, tanpa berlangganan).OpsIQ Push Campaigns menerbitkan melalui keduanya.

Pilihan A · Dorongan Web Mandiri (VAPID, tidak ada pihak ketiga)

1. Muaturun pekerja dari OpsIQ _Puisi: https://YOUR-OPSIQ/opsiq/opsiq-push-sw.js

2. Kau harus memuatnya ke akar web kinetik Jadi bisa dicapai di https://yoursite.com/opsiq-push-sw.jsWidget auto-deteksi jalan ini UDANG pada halaman asal dan mendaftarkannya sendiri, tidak ada perubahan snippet yang diperlukan. (It menggunakan skop sempit, sehingga tidak pernah menggantikan pekerja layanan yang sudah Anda jalankan.)

Pilihan: Jika Anda harus host di jalur non-standar, titik widget di itu ore snippet. Hanya diterima ketika origin-sama:

FOGAL pilihanonal · hanya jika file TIDAK di akar web
<script>window.OpsIQ=window.OpsIQ||{};window.OpsIQ.pushSwUrl="/custom/opsiq-push-sw.js";</script>

3. In OpsIQ, generate VAPID keys (Settings → Client Chat AI → Advanced → Web Push). The widget then asks visitors for notification permission and subscribes them.

Dibalik CDN/Cloudflare Memastikan /opsiq-push-sw.js 2) mengembalikan HTTP 200 (memurnikan cache jika itu adalah 404 Sebelum Anda diunggah, sebuah cached 404 will block pendaftaran).

Opsi B · Pembeam Pendorong (pembekal terurus)

1. In OpsIQ settings set the push provider to Beam Pendorong Dan masuk ke Beams Anda ID Instans BAHWA DAN Kunci Rahasia.

2. Pekerja jasa Beams di situs root sebagai /service-worker.jsDimengerti. https://YOUR-OPSIQ/opsiq/pusher-beams-service-worker.js, atau menggabungkan garis ini ke dalam pekerja akar Anda yang sudah ada:

Beams worker, host at https://yoursite.com/service-worker.js
importScripts("https://js.pusher.com/beams/service-worker.js");

3. Itu dia. widget secara otomatis memuat Beams SDK dan berlangganan setiap pengunjung untuk kepentingan per-situs opsiq-site-<your-site-key>Tak ada kabel lain yang diperlukan.

Bagaimana kampanye pengiriman

Kampanye Push menerbitkan melalui both Metode ole afford sekaligus: pengunjung di pekerja VAPID yang dihost sendiri mendapatkan Web Push yang terenkripsi, dan pengunjung berlangganan melalui Pusher Beams mendapatkan Beams menerbitkan. Setiap pengunjung dicapai melalui mana pun mereka berlangganan, sehingga Anda dapat menjalankan VAPId yang sama-origin pada beberapa situs dan beam lintas-orijin pada orang lain.

Perlu HTTPS patif Kealeman untuk pekerja jasa dan Web Push (localhost dikecualikan untuk pengujian). Inbox chat admin sudah menggunakan mekanisme bunga Beams yang sama untuk peringatan operator.

Operasi

Pencarian Masalah

Masalah umum dan bagaimana memperbaikinya.

Umum

Laman kosong+

Log galat PHP Periksa log galat PHL. Penyebab: PHP lama (perlu 8.4+), ekstensi hilang, sambungan DB gagal, izin berkas salah.

Papan dash menunjukkan nol+

Periksa: widget dipasang? Cron berjalan? Prege tanggal benar? IP _keluarkan?

AIAI

AI tidak menjawab+

Periksa: provider dikonfigurasi? API kunci valid (gunakan sambungan Uji)? Kehabisan anggaran? Konfigurasi AI ruang kerja benar?

AI memberi jawapan yang salah+

Periksa: pengetahuan dasar sampai saat ini? Pemakluman jelas? Pencarian konektor mengembalikan data yang benar? Review percakapan dalam AI History.

AIAIN lambat+

Ketergantungan pada: provider API kecepatan, ukuran konteks (besar KB = lebih banyak token = lebih lambat), latensi jaringan. Coba model yang lebih cepat.

Melacak

Widget hilang+

Periksa: skrip di sumber halaman? Galat JS di konsol? CSP bloking? Ad blocker?

Negara tidak diketahui+

GeoIP not configured. Use Cloudflare (automatic) or MaxMind GeoLite2 database.

Tiket

Email tidak membuat tiket+

Check: mailbox connected? Cron running? App password changed? IMAP settings correct?

Oto-reply tidak bekerja+

Cron berlari?

Penyambung

Sambungan gagal+

Mengecek: \"alasan\" benar? Kunci sudah habis? API Dapat diakses dari server? URL Benar?

Terhubung tetapi tidak ada data+

Periksa: Skop kunci API? Sync webhook diaktifkan? Cron berjalan?

Prestasi

Halaman pelan - pelan+

Periksa: kinerja basis data (SHOW PROSESSIST), memori PHP (meningkatkan ke 1GB_), aktifkan opcache, kurangi periode retensi.

Operasi

Widget bukan kunjungan penebangan

Unafin gunakan pemeriksaan fokus ini ketika widget memuat salah atau Live Feed tetap kosong.

Ketika Widget ugifogine bukan kunjungan log masuk, periksa kunci situs, muat halaman di peramban pribadi, periksa panel peramban Network/Console untuk beacon atau permintaan widget yang terblokir, meninjau Content-Security-Policy dan ad blockers, konfirmasi situs aktif di OpsIQ, dan buka Diagnostik. Sebuah gelembung chat terlihat tidak dengan sendirinya membuktikan bahwa suar analitik diterima.

Rujukan

Glosari

Definisi untuk istilah digunakan di seluruh OpsIQ.

Aksi

Sesuatu yang dapat dilakukan oleh AI melalui konektor atau platform.

Agen

Tim anggota tim dengan akses terbatas, atau agen AI.

BYOK

Bawalah Kunci Sendiri Anda, Anda menyediakan AI Anda sendiri API Kuncinya.

Konektor

Pengaya plugin yang mengintegrasikan sebuah platform eksternal dengan OpsIQ_.

KANTOR CSAT

\"Tingkat Kepuasan Pelanggan Watak\".

Berikan bantuan

Sebuah kesempatan pendapatan di CRM.

Departemen Urusan Air

Kategori tiket untuk routing dan akses kontrol.

Escalasi

Mengindahkan tiket ke departemen yang berbeda atau dari AI ke manusia.

GeoIP

Pengesanan lokasi pelawati dari alamat IP _.

KOMOF

Memindahkan percakapan dari AI ke manusia.

Token Identiti

Token yang ditandatangani mengidentifikasi pengunjung situs.

Dasar pengetahuan ilmu pengetahuan

Artikel - artikel yang digunakan oleh AI untuk menjawab pertanyaan.

Lead

Seorang pengunjung menunjukkan niat membeli.

Skor Lead

0-100 Angka (1) yang menunjukkan kemungkinan konversi.

Tahap Siklus Hidup

Di mana pelanggan adalah: Lead, Prospect, Customer, At Risk, Churned.

AI Terurus

AIAike disediakan sebagai bagian dari rencana OpsIQ _mu.

Paipline

Papan Visual tahap kesepakatan.

RBAC

Kontrol Akses Bersaing Peranan.

Sesi osis

Seri artikel ini memuat halaman dalam jendela yang sudah habis.

Situs web Key Situs web

Pengidentifikasi unik untuk situs web yang dilacak.

SLA

Perjanjian Tingkat Layanan Waxé, waktu respon target.

irantha

Unit teks AI. Kira-kira 4 aksara = 1 token.

Lapisan Kepercayaan

Sistem keselamatan kemandulan mengendalikan otonomi AI.

Webhook

Panggilan kembali HTTP untuk pemberitahuan peristiwa.

Widget

Kode JavaScript _cd tertanam di website Anda.

Ruang Kerja GNOME

Situs dengan pelacakannya sendiri, AI, konektor, dan tim.

Rujukan

Cari bantuan lagi

Jika dokumentasi ini tidak menjawab pertanyaan Anda:

Pentadbir AI

Klik "Tanya OpsIQ" dalam pentadbir. Mempunyai akses ke dokumentasi ini dan data platform anda.

Tiket dukungan Sodium

Termasuk: apa yang telah Anda coba, apa yang terjadi, apa yg Anda harapkan, dan pesan kesalahan.

E-mail

Dukungan email melalui kunci lisensi dan deskripsi isu Anda.

Tips untuk permintaan dukungan yang efektif

Anda juga akan memasukkan halaman

Which admin page (URL or name).

Termasuk pengaturannya

Nama dan nilai saat ini adalah pengaturan persis.

Termasuk kesalahan

Pesan kesalahan yang tepat dengan kode.

Termasuk langkah-langkah

Apa yang kau lakukan, melangkah.

Dimasukkan ke dalam nama asli yang diharapkan vs.

Apa yang harus terjadi... .. Membalas apa yang telah terjadi.

💡
Semakin spesifik permintaan anda, semakin cepat jawapan. "Ia tidak berfungsi" memerlukan penyelidikan. "Klik Simpan pada Konfigurasi AI memberikan kod ralat 502" mendapat jawapan langsung.