Koppelen
Het standaard DM-beleid voor SMS is koppelen.
Gateway-beveiliging
Controleer webhook-blootstelling en toegangscontroles voor afzenders.
Kanaalproblemen oplossen
Diagnostiek en reparatiedraaiboeken voor meerdere kanalen.
Voordat je begint
Je hebt nodig:- De officiële SMS-Plugin geïnstalleerd met
openclaw plugins install @openclaw/sms. - Een Twilio-account met een telefoonnummer dat SMS ondersteunt, of een Twilio Messaging Service.
- De Twilio Account SID en Auth Token.
- Een openbare HTTPS-URL die je OpenClaw Gateway bereikt.
- Een keuze voor afzenderbeleid:
pairingvoor privégebruik,allowlistvoor vooraf goedgekeurde telefoonnummers, ofopenalleen voor bewust openbare SMS-toegang.
Snelle installatie
Maak of kies een Twilio-afzender
Open in Twilio Phone Numbers > Manage > Active numbers en kies een nummer dat SMS ondersteunt. Sla op:
- Account SID, bijvoorbeeld
ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx - Auth Token
- Telefoonnummer van afzender, bijvoorbeeld
+15551234567
MGxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.Laat Twilio naar de Gateway-webhook wijzen
Open in de instellingen van het Twilio-telefoonnummer Messaging en stel A message comes in in op:Gebruik HTTP
POST. Het standaard lokale pad is /webhooks/sms; wijzig channels.sms.webhookPath als je een andere route nodig hebt.Maak het exacte SMS-webhookpad beschikbaar
Je openbare URL moet het SMS-pad naar het Gateway-proces routeren. Als je Tailscale Funnel gebruikt voor lokale tests, maak Voice Call en SMS gebruiken afzonderlijke webhookpaden. Als hetzelfde Twilio-nummer beide afhandelt, houd dan beide routes geconfigureerd in Twilio en in je tunnel.
/webhooks/sms expliciet beschikbaar:Configuratievoorbeelden
Configuratiebestand
Gebruik installatie via een configuratiebestand wanneer je wilt dat de kanaaldefinitie met de Gateway-configuratie meereist:Omgevingsvariabelen
Gebruik env-installatie voor implementaties met één account waarbij geheimen uit de hostomgeving komen:TWILIO_SMS_FROM wordt geaccepteerd als alias voor TWILIO_PHONE_NUMBER. Gebruik TWILIO_MESSAGING_SERVICE_SID in plaats van een telefoonnummer-afzender wanneer Twilio de afzender uit een Messaging Service moet kiezen.
SecretRef-authenticatietoken
authToken kan een SecretRef zijn. Gebruik dit wanneer de Gateway de Twilio Auth Token moet ophalen uit de OpenClaw-geheimenruntime in plaats van platte-tekstconfiguratie op te slaan:
Privénummer met alleen allowlist
Gebruikallowlist wanneer alleen bekende telefoonnummers met de agent mogen praten:
Messaging Service-afzender
GebruikmessagingServiceSid in plaats van fromNumber wanneer Twilio de afzender via een Messaging Service moet kiezen:
fromNumber als messagingServiceSid aanwezig zijn na het oplossen van configuratie en env, wordt fromNumber gebruikt.
Standaard uitgaand doel
SteldefaultTo in wanneer automatisering of door de agent geïnitieerde aflevering een standaardbestemming moet hebben als een verzendflow geen expliciet doel opgeeft:
Toegangscontrole
channels.sms.dmPolicy bepaalt directe SMS-toegang:
pairing(standaard)allowlist(vereist ten minste één afzender inallowFrom)open(vereist datallowFrom"*"bevat)disabled
allowFrom-vermeldingen moeten E.164-telefoonnummers zijn, zoals +15551234567. sms:-voorvoegsels worden geaccepteerd en genormaliseerd. Geef voor een privéassistent de voorkeur aan dmPolicy: "allowlist" met expliciete telefoonnummers.
SMS verzenden
Uitgaande SMS-doelen gebruiken het servicevoorvoegselsms: met het SMS-kanaal geselecteerd:
twilio-sms:+15551234567 dit kanaal zonder het bestaande kanaal-eigen sms:-servicevoorvoegsel over te nemen dat door iMessage wordt gebruikt.
--target. defaultTo is bedoeld voor automatisering en door de agent geïnitieerde afleverpaden waarbij het doel uit kanaalconfiguratie kan worden opgelost.
Agentantwoorden uit inkomende SMS-gesprekken gaan automatisch terug naar de afzender via de geconfigureerde Twilio-afzender.
SMS-uitvoer is platte tekst. OpenClaw verwijdert markdown, vlakt omheinde codeblokken af, behoudt leesbare links en splitst lange antwoorden op voordat ze via Twilio worden verzonden.
Installatie verifiëren
Nadat de Gateway is gestart:- Controleer of het Gateway-log de SMS-webhook-route toont.
- Voer een Twilio-side probe uit:
- Stuur vanaf je telefoon een SMS naar het Twilio-nummer.
- Voer
openclaw pairing list smsuit. - Keur de koppelingscode goed met
openclaw pairing approve sms <CODE>. - Stuur nog een SMS en bevestig dat de agent antwoordt.
End-to-end-test vanuit macOS iMessage/SMS
Op een Mac die carrier-SMS via Berichten kan verzenden, kun jeimsg gebruiken om de afzenderkant aan te sturen zonder je telefoon aan te raken:
Webhook-beveiliging
Standaard valideert OpenClawX-Twilio-Signature met publicWebhookUrl en authToken. Houd publicWebhookUrl byte-voor-byte gelijk aan de URL die in Twilio is geconfigureerd, inclusief schema, host, pad en querystring.
Alleen voor lokale tunneltests kun je instellen:
Configuratie voor meerdere accounts
Gebruikaccounts wanneer je meer dan één Twilio-nummer beheert:
webhookPath gebruiken.
Problemen oplossen
Twilio retourneert 403 of OpenClaw weigert de webhook
Controleer ofpublicWebhookUrl exact overeenkomt met de URL die in Twilio is geconfigureerd, inclusief schema, host, pad en querystring. Twilio ondertekent de openbare URL-tekenreeks, dus proxy-herschrijvingen en alternatieve hostnamen kunnen handtekeningvalidatie breken.
Er verschijnt geen koppelingsaanvraag
Controleer de Messaging-webhook-URL en -methode van het Twilio-nummer. Deze moet naar de SMS-webhook-URL wijzen enPOST gebruiken. Bevestig ook dat de Gateway bereikbaar is vanaf het openbare internet of via je tunnel.
Als het Twilio-berichtlog fout 11200 toont, heeft Twilio de inkomende SMS geaccepteerd maar kon het je webhook niet bereiken. Controleer:
- Twilio Messaging > A message comes in wijst naar
publicWebhookUrl. - De methode is
POST. - De tunnel of reverse proxy maakt het exacte
webhookPathbeschikbaar; voer voor Tailscale Funneltailscale funnel statusuit en bevestig dat/webhooks/smswordt vermeld. publicWebhookUrlgebruikt hetzelfde schema, dezelfde host, hetzelfde pad en dezelfde querystring die Twilio verzendt, zodat handtekeningvalidatie de ondertekende URL kan reproduceren.
Uitgaande verzendingen mislukken
Bevestig dataccountSid, authToken en ofwel fromNumber of messagingServiceSid worden opgelost. Als je een Twilio-proefaccount gebruikt, moet het bestemmingsnummer mogelijk in Twilio worden geverifieerd voordat uitgaande SMS wordt verzonden.
Berichten komen aan, maar de agent antwoordt niet
ControleerdmPolicy en allowFrom. Met het standaardbeleid pairing moet de afzender zijn goedgekeurd voordat normale agentbeurten worden verwerkt.