पेयरिंग
SMS के लिए डिफ़ॉल्ट DM नीति पेयरिंग है।
Gateway सुरक्षा
Webhook एक्सपोज़र और प्रेषक एक्सेस नियंत्रणों की समीक्षा करें।
चैनल समस्या निवारण
क्रॉस-चैनल डायग्नोस्टिक्स और रिपेयर प्लेबुक।
शुरू करने से पहले
आपको चाहिए:openclaw plugins install @openclaw/smsके साथ आधिकारिक SMS Plugin इंस्टॉल किया हुआ।- SMS-सक्षम फ़ोन नंबर वाला Twilio खाता, या Twilio Messaging Service।
- Twilio Account SID और Auth Token।
- एक सार्वजनिक HTTPS URL जो आपके OpenClaw Gateway तक पहुंचता हो।
- प्रेषक नीति विकल्प: निजी उपयोग के लिए
pairing, पहले से स्वीकृत फ़ोन नंबरों के लिएallowlist, या केवल जानबूझकर सार्वजनिक SMS एक्सेस के लिएopen।
त्वरित सेटअप
Twilio प्रेषक बनाएं या चुनें
Twilio में, Phone Numbers > Manage > Active numbers खोलें और SMS-सक्षम नंबर चुनें। सहेजें:
- Account SID, उदाहरण के लिए
ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx - Auth Token
- प्रेषक फ़ोन नंबर, उदाहरण के लिए
+15551234567
MGxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx।Twilio को Gateway Webhook पर इंगित करें
Twilio फ़ोन नंबर सेटिंग्स में, Messaging खोलें और A message comes in को इस पर सेट करें:HTTP
POST का उपयोग करें। डिफ़ॉल्ट स्थानीय पथ /webhooks/sms है; यदि आपको अलग रूट चाहिए तो channels.sms.webhookPath बदलें।सटीक SMS Webhook पथ एक्सपोज़ करें
आपके सार्वजनिक URL को SMS पथ को Gateway प्रक्रिया तक रूट करना होगा। यदि आप स्थानीय परीक्षण के लिए Tailscale Funnel का उपयोग करते हैं, तो Voice Call और SMS अलग Webhook पथों का उपयोग करते हैं। यदि वही Twilio नंबर दोनों को संभालता है, तो Twilio और अपने टनल में दोनों रूट कॉन्फ़िगर रखें।
/webhooks/sms को स्पष्ट रूप से एक्सपोज़ करें:कॉन्फ़िगरेशन उदाहरण
कॉन्फ़िग फ़ाइल
जब आप चैनल परिभाषा को Gateway कॉन्फ़िग के साथ रखना चाहते हैं, तो config-file सेटअप का उपयोग करें:पर्यावरण चर
उन single-account डिप्लॉयमेंट के लिए env सेटअप का उपयोग करें जहां सीक्रेट होस्ट वातावरण से आते हैं:TWILIO_SMS_FROM, TWILIO_PHONE_NUMBER के उपनाम के रूप में स्वीकार किया जाता है। जब Twilio को Messaging Service से प्रेषक चुनना हो, तो फ़ोन-नंबर प्रेषक के बजाय TWILIO_MESSAGING_SERVICE_SID का उपयोग करें।
SecretRef auth token
authToken SecretRef हो सकता है। इसका उपयोग तब करें जब Gateway को plaintext कॉन्फ़िग संग्रहीत करने के बजाय OpenClaw secrets runtime से Twilio Auth Token resolve करना चाहिए:
केवल allowlist वाला निजी नंबर
जब केवल ज्ञात फ़ोन नंबरों को agent से बात करने की अनुमति होनी चाहिए, तोallowlist का उपयोग करें:
Messaging Service प्रेषक
जब Twilio को Messaging Service के ज़रिए प्रेषक चुनना हो, तोfromNumber के बजाय messagingServiceSid का उपयोग करें:
fromNumber और messagingServiceSid दोनों मौजूद हैं, तो fromNumber का उपयोग किया जाता है।
डिफ़ॉल्ट आउटबाउंड लक्ष्य
जब automation या agent-initiated delivery को कोई send flow स्पष्ट लक्ष्य छोड़ दे तो डिफ़ॉल्ट गंतव्य चाहिए, तबdefaultTo सेट करें:
एक्सेस नियंत्रण
channels.sms.dmPolicy सीधे SMS एक्सेस को नियंत्रित करता है:
pairing(डिफ़ॉल्ट)allowlist(allowFromमें कम से कम एक प्रेषक आवश्यक)open(allowFromमें"*"शामिल होना आवश्यक)disabled
allowFrom प्रविष्टियां +15551234567 जैसे E.164 फ़ोन नंबर होने चाहिए। sms: prefix स्वीकार किए जाते हैं और सामान्यीकृत किए जाते हैं। निजी सहायक के लिए, स्पष्ट फ़ोन नंबरों के साथ dmPolicy: "allowlist" को प्राथमिकता दें।
SMS भेजना
आउटबाउंड SMS लक्ष्य SMS चैनल चुने जाने परsms: service prefix का उपयोग करते हैं:
twilio-sms:+15551234567 मौजूदा चैनल-स्वामित्व वाले sms: service prefix, जिसका उपयोग iMessage करता है, को अपने कब्ज़े में लिए बिना इस चैनल को चुनता है।
--target चाहिए। defaultTo automation और agent-initiated delivery पथों के लिए है जहां लक्ष्य को चैनल कॉन्फ़िग से resolve किया जा सकता है।
इनबाउंड SMS बातचीत से agent के जवाब कॉन्फ़िगर किए गए Twilio प्रेषक के ज़रिए अपने-आप प्रेषक को वापस जाते हैं।
SMS आउटपुट plain text है। OpenClaw markdown हटाता है, fenced code blocks को flatten करता है, readable links संरक्षित करता है, और Twilio के ज़रिए भेजने से पहले लंबे जवाबों को chunk करता है।
सेटअप सत्यापित करें
Gateway शुरू होने के बाद:- पुष्टि करें कि Gateway log SMS Webhook रूट दिखाता है।
- Twilio-side probe चलाएं:
- अपने फ़ोन से Twilio नंबर पर SMS भेजें।
openclaw pairing list smsचलाएं।openclaw pairing approve sms <CODE>के साथ पेयरिंग कोड स्वीकृत करें।- एक और SMS भेजें और पुष्टि करें कि agent जवाब देता है।
macOS iMessage/SMS से end-to-end परीक्षण
Messages के ज़रिए carrier SMS भेज सकने वाले Mac पर, आप अपने फ़ोन को छुए बिना sender side चलाने के लिएimsg का उपयोग कर सकते हैं:
Webhook सुरक्षा
डिफ़ॉल्ट रूप से, OpenClawpublicWebhookUrl और authToken का उपयोग करके X-Twilio-Signature को मान्य करता है। publicWebhookUrl को Twilio में कॉन्फ़िगर किए गए URL के साथ byte-for-byte संरेखित रखें, जिसमें scheme, host, path, और query string शामिल हैं।
केवल स्थानीय टनल परीक्षण के लिए, आप सेट कर सकते हैं:
Multi-account कॉन्फ़िग
जब आप एक से अधिक Twilio नंबर संचालित करते हैं, तोaccounts का उपयोग करें:
webhookPath का उपयोग करना चाहिए।
समस्या निवारण
Twilio 403 लौटाता है या OpenClaw Webhook को अस्वीकार करता है
जांचें किpublicWebhookUrl Twilio में कॉन्फ़िगर किए गए URL से ठीक-ठीक मेल खाता है, जिसमें scheme, host, path, और query string शामिल हैं। Twilio सार्वजनिक URL string पर हस्ताक्षर करता है, इसलिए proxy rewrites और alternate hostnames signature validation तोड़ सकते हैं।
कोई पेयरिंग अनुरोध दिखाई नहीं देता
Twilio नंबर की Messaging Webhook URL और method जांचें। यह SMS Webhook URL की ओर इंगित होना चाहिए औरPOST का उपयोग करना चाहिए। यह भी पुष्टि करें कि Gateway सार्वजनिक इंटरनेट से या आपके टनल के ज़रिए पहुंच योग्य है।
यदि Twilio message log error 11200 दिखाता है, तो Twilio ने inbound SMS स्वीकार किया लेकिन आपके Webhook तक नहीं पहुंच सका। जांचें:
- Twilio Messaging > A message comes in
publicWebhookUrlकी ओर इंगित करता है। - method
POSTहै। - टनल या reverse proxy सटीक
webhookPathएक्सपोज़ करता है; Tailscale Funnel के लिए,tailscale funnel statusचलाएं और पुष्टि करें कि/webhooks/smsसूचीबद्ध है। publicWebhookUrlवही scheme, host, path, और query string उपयोग करता है जो Twilio भेजता है, ताकि signature validation signed URL को पुनः बना सके।
आउटबाउंड sends विफल होते हैं
पुष्टि करें किaccountSid, authToken, और fromNumber या messagingServiceSid में से कोई एक resolve हो रहा है। यदि आप trial Twilio account उपयोग करते हैं, तो outbound SMS भेजने से पहले destination number को Twilio में verified करना पड़ सकता है।
संदेश आते हैं लेकिन agent जवाब नहीं देता
dmPolicy और allowFrom जाँचें। डिफ़ॉल्ट pairing नीति के साथ, सामान्य एजेंट टर्न प्रोसेस होने से पहले प्रेषक को स्वीकृत होना चाहिए।