Pairing
Kebijakan DM default untuk SMS adalah pairing.
Gateway security
Tinjau paparan webhook dan kontrol akses pengirim.
Channel troubleshooting
Diagnostik lintas channel dan panduan perbaikan.
Sebelum Anda mulai
Anda memerlukan:- Plugin SMS resmi yang diinstal dengan
openclaw plugins install @openclaw/sms. - Akun Twilio dengan nomor telepon yang mendukung SMS, atau Twilio Messaging Service.
- Twilio Account SID dan Auth Token.
- URL HTTPS publik yang mencapai OpenClaw Gateway Anda.
- Pilihan kebijakan pengirim:
pairinguntuk penggunaan pribadi,allowlistuntuk nomor telepon yang sudah disetujui, atauopenhanya untuk akses SMS yang memang sengaja dibuat publik.
Penyiapan Cepat
Create or choose a Twilio sender
Di Twilio, buka Phone Numbers > Manage > Active numbers dan pilih nomor yang mendukung SMS. Simpan:
- Account SID, misalnya
ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx - Auth Token
- Nomor telepon pengirim, misalnya
+15551234567
MGxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.Point Twilio at the Gateway webhook
Di pengaturan nomor telepon Twilio, buka Messaging dan atur A message comes in ke:Gunakan HTTP
POST. Path lokal default adalah /webhooks/sms; ubah channels.sms.webhookPath jika Anda memerlukan rute berbeda.Expose the exact SMS webhook path
URL publik Anda harus merutekan path SMS ke proses Gateway. Jika Anda menggunakan Tailscale Funnel untuk pengujian lokal, ekspos Voice Call dan SMS menggunakan path webhook terpisah. Jika nomor Twilio yang sama menangani keduanya, pertahankan kedua rute tetap dikonfigurasi di Twilio dan di tunnel Anda.
/webhooks/sms secara eksplisit:Contoh Konfigurasi
File konfigurasi
Gunakan penyiapan file konfigurasi ketika Anda ingin definisi channel ikut bersama konfigurasi Gateway:Variabel lingkungan
Gunakan penyiapan env untuk deployment akun tunggal saat rahasia berasal dari lingkungan host:TWILIO_SMS_FROM diterima sebagai alias untuk TWILIO_PHONE_NUMBER. Gunakan TWILIO_MESSAGING_SERVICE_SID alih-alih pengirim nomor telepon saat Twilio harus memilih pengirim dari Messaging Service.
Token autentikasi SecretRef
authToken dapat berupa SecretRef. Gunakan ini ketika Gateway harus menyelesaikan Twilio Auth Token dari runtime rahasia OpenClaw alih-alih menyimpan konfigurasi plaintext:
Nomor privat khusus allowlist
Gunakanallowlist ketika hanya nomor telepon yang dikenal yang boleh berbicara dengan agen:
Pengirim Messaging Service
GunakanmessagingServiceSid alih-alih fromNumber saat Twilio harus memilih pengirim melalui Messaging Service:
fromNumber dan messagingServiceSid sama-sama ada setelah penyelesaian konfigurasi dan env, fromNumber digunakan.
Target outbound default
AturdefaultTo ketika otomasi atau pengiriman yang diinisiasi agen harus memiliki tujuan default jika alur pengiriman tidak mencantumkan target eksplisit:
Kontrol akses
channels.sms.dmPolicy mengontrol akses SMS langsung:
pairing(default)allowlist(memerlukan setidaknya satu pengirim diallowFrom)open(memerlukanallowFrommenyertakan"*")disabled
allowFrom harus berupa nomor telepon E.164 seperti +15551234567. Prefiks sms: diterima dan dinormalisasi. Untuk asisten privat, pilih dmPolicy: "allowlist" dengan nomor telepon eksplisit.
Mengirim SMS
Target SMS outbound menggunakan prefiks layanansms: dengan channel SMS yang dipilih:
twilio-sms:+15551234567 memilih channel ini tanpa mengambil alih prefiks layanan sms: milik channel yang sudah ada dan digunakan oleh iMessage.
--target eksplisit. defaultTo digunakan untuk jalur otomasi dan pengiriman yang diinisiasi agen ketika target dapat diselesaikan dari konfigurasi channel.
Balasan agen dari percakapan SMS masuk otomatis dikirim kembali ke pengirim melalui pengirim Twilio yang dikonfigurasi.
Output SMS berupa teks biasa. OpenClaw menghapus markdown, meratakan blok kode berpagar, mempertahankan tautan yang mudah dibaca, dan memecah balasan panjang sebelum mengirimkannya melalui Twilio.
Verifikasi Penyiapan
Setelah Gateway dimulai:- Pastikan log Gateway menampilkan rute webhook SMS.
- Jalankan probe dari sisi Twilio:
- Kirim SMS ke nomor Twilio dari telepon Anda.
- Jalankan
openclaw pairing list sms. - Setujui kode pairing dengan
openclaw pairing approve sms <CODE>. - Kirim SMS lain dan pastikan agen membalas.
Pengujian end-to-end dari macOS iMessage/SMS
Di Mac yang dapat mengirim SMS operator melalui Messages, Anda dapat menggunakanimsg untuk menjalankan sisi pengirim tanpa menyentuh telepon Anda:
Keamanan webhook
Secara default, OpenClaw memvalidasiX-Twilio-Signature menggunakan publicWebhookUrl dan authToken. Pastikan publicWebhookUrl selaras byte demi byte dengan URL yang dikonfigurasi di Twilio, termasuk skema, host, path, dan string kueri.
Hanya untuk pengujian tunnel lokal, Anda dapat mengatur:
Konfigurasi multi-akun
Gunakanaccounts ketika Anda mengoperasikan lebih dari satu nomor Twilio:
webhookPath yang berbeda.
Pemecahan masalah
Twilio mengembalikan 403 atau OpenClaw menolak webhook
Periksa bahwapublicWebhookUrl sama persis dengan URL yang dikonfigurasi di Twilio, termasuk skema, host, path, dan string kueri. Twilio menandatangani string URL publik, jadi penulisan ulang proxy dan nama host alternatif dapat merusak validasi tanda tangan.
Tidak ada permintaan pairing yang muncul
Periksa URL dan metode webhook Messaging milik nomor Twilio. Itu harus mengarah ke URL webhook SMS dan menggunakanPOST. Pastikan juga Gateway dapat dijangkau dari internet publik atau melalui tunnel Anda.
Jika log pesan Twilio menampilkan error 11200, Twilio menerima SMS masuk tetapi tidak dapat mencapai webhook Anda. Periksa:
- Twilio Messaging > A message comes in mengarah ke
publicWebhookUrl. - Metodenya adalah
POST. - Tunnel atau reverse proxy mengekspos
webhookPathyang tepat; untuk Tailscale Funnel, jalankantailscale funnel statusdan pastikan/webhooks/smstercantum. publicWebhookUrlmenggunakan skema, host, path, dan string kueri yang sama dengan yang dikirim Twilio, sehingga validasi tanda tangan dapat mereproduksi URL yang ditandatangani.
Pengiriman outbound gagal
PastikanaccountSid, authToken, dan salah satu dari fromNumber atau messagingServiceSid terselesaikan. Jika Anda menggunakan akun uji coba Twilio, nomor tujuan mungkin perlu diverifikasi di Twilio sebelum SMS outbound dapat dikirim.
Pesan masuk tetapi agen tidak menjawab
PeriksadmPolicy dan allowFrom. Dengan kebijakan pairing default, pengirim harus disetujui sebelum giliran agen normal diproses.