← Back to Index

Quo SMS Auto-Reply Setup

Date: Feb 15, 2026
Goal: Auto-reply to SMS from (661) 755-0275 only

What Was Created

New handler: tools/quo-webhook-handler-v3.py

Changes from v2:

  1. Detects incoming SMS from QUAN_NUMBER (+16617550275)
  2. When detected, forwards to OpenClaw webhook endpoint
  3. Waits for OpenClaw response with Minnie's reply
  4. Automatically sends reply back via SMS using quo-messaging.py
  5. Other numbers just forward to Telegram (no auto-reply)

Architecture

[Quan texts (385) 485-5863 from (661) 755-0275]
         ↓
[Quo webhook POSTs to handler]
         ↓
[Handler detects it's Quan's number]
         ↓
[Handler POSTs to OpenClaw webhook endpoint]
         ↓
[OpenClaw processes message, Minnie responds]
         ↓
[Handler receives Minnie's response]
         ↓
[Handler sends response via SMS to (661) 755-0275]
         ↓
[Quan receives SMS reply]

Other numbers: SMS → Telegram notification (manual reply only)

Host Setup Required

Note: This needs to be done on the HOST (not in container), similar to how the original handler was set up.

1. Update Systemd Service

Replace the existing quo-webhook.service to use v3 handler:

sudo systemctl stop quo-webhook
sudo nano /etc/systemd/system/quo-webhook.service

Update ExecStart line to use v3:

ExecStart=/usr/bin/python3 /home/linuxuser/.openclaw/workspace/tools/quo-webhook-handler-v3.py 18791

2. Reload and Restart

sudo systemctl daemon-reload
sudo systemctl start quo-webhook
sudo systemctl status quo-webhook

3. Verify Logs

journalctl -u quo-webhook -f

Should show:

🚀 Quo webhook v3 listening on port 18791
📱 Auto-reply enabled for: +16617550275

Testing

  1. Text from Quan's number:

    • Send SMS from (661) 755-0275 to (385) 485-5863
    • Should receive automatic SMS reply from Minnie
    • Check logs for "Auto-replied to +16617550275"
  2. Text from other number:

    • Send SMS from different number to (385) 485-5863
    • Should see Telegram notification only
    • NO automatic SMS reply

OpenClaw Webhook Response Format

The handler expects OpenClaw webhook endpoint to return:

{
  "reply": "Minnie's response text here",
  "status": "ok"
}

Note: If OpenClaw webhook doesn't support synchronous responses, we'll need to implement a different mechanism (polling, callback, or message queue).

Rollback

If v3 doesn't work, revert to v2:

sudo systemctl stop quo-webhook
# Edit service file back to quo-webhook-handler-v2.py
sudo systemctl daemon-reload
sudo systemctl start quo-webhook

Current Status

Next: Deploy on host and test end-to-end flow.