sms-gateway

Send and receive SMS using a local sms-gate.app instance running on Android (via Termux) or a dedicated device. Use when the user needs to send text messages, check delivery status, list message history, or manage webhooks for incoming SMS.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "sms-gateway" with this command: npx skills add sms-gateway

SMS Gateway

Interact with a local sms-gate.app instance to send and receive SMS through an Android device.

Setup

Requires environment variables:

  • SMS_GATE_URL — Your gateway URL (e.g., http://192.168.50.69:8080)
  • SMS_GATE_USER — HTTP Basic Auth username
  • SMS_GATE_PASS — HTTP Basic Auth password

Quick Start

Send an SMS:

python3 scripts/send_sms.py '+41787008998' 'Hello from OpenClaw!'

Check delivery status:

python3 scripts/check_status.py 'VdHHQ3nlNwDZ-W9SNuLzm'

List recent messages:

python3 scripts/list_messages.py 20

Operations

Sending SMS

Use scripts/send_sms.py:

python3 scripts/send_sms.py '<phone_number>' '<message>' [delivery_report]

Phone numbers can include + prefix (will be normalized). Delivery report is true by default.

Checking Status

Use scripts/check_status.py with the message ID returned from send:

python3 scripts/check_status.py '<message_id>'

States: PendingSentDelivered (or Failed)

Listing Messages

Use scripts/list_messages.py:

python3 scripts/list_messages.py [limit]

Shows both sent (📤) and received (📥) messages with their current state.

Managing Webhooks

Use scripts/manage_webhooks.py:

# List configured webhooks
python3 scripts/manage_webhooks.py list

# Add webhook for incoming SMS
python3 scripts/manage_webhooks.py add sms:received https://your-server.com/sms

# Add delivery confirmation webhook
python3 scripts/manage_webhooks.py add sms:delivered https://your-server.com/delivered

# Delete webhook
python3 scripts/manage_webhooks.py delete sms:received

API Reference

See references/api.md for complete endpoint documentation.

Common Patterns

Send with status check:

# Send and capture ID
MSG_ID=$(python3 scripts/send_sms.py '+41787008998' 'Test' 2>&1 | grep "ID:" | awk '{print $3}')

# Check status after a few seconds
sleep 5
python3 scripts/check_status.py "$MSG_ID"

Health check:

python3 scripts/health.py

Receiving SMS (Incoming)

The sms-gate.app API doesn't store message content - it only delivers via webhooks. To receive incoming SMS:

Option 1: Webhook Server + ngrok (Recommended)

1. Start the webhook receiver:

python3 scripts/webhook_server.py 8787

2. Expose via ngrok:

ngrok http 8787
# Copy the https://xxxx.ngrok-free.app URL

3. Configure webhook:

python3 scripts/manage_webhooks.py add sms:received https://xxxx.ngrok-free.app/sms-received

Now incoming SMS will be printed to the webhook server console.

Option 2: Local Network (Same WiFi)

If Pixel 3 and Mac are on same network:

# Get Mac IP
ipconfig getifaddr en0
# Configure webhook directly (if gateway allows HTTP)
python3 scripts/manage_webhooks.py add sms:received http://<mac-ip>:8787/sms-received

Notes

  • The Android device must have SMS capability and be on the same network (or accessible via tunnel like Cloudflare)
  • Webhooks require HTTPS for remote access (ngrok provides this)
  • Message content is only available via webhooks, not stored in /messages API
  • Message IDs are URL-safe strings returned after sending

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

Olares Shared (olares-cli foundation)

Shared olares-cli foundation: profile model, first-time login (profile login with password + TOTP), bootstrapping a profile from an existing refresh token (p...

Registry SourceRecently Updated
Coding

Mistral Mcp Openclaw

Configure OpenClaw to use the community mistral-mcp stdio server for Mistral OCR, Codestral FIM, Voxtral audio, durable workflows, moderation, classification...

Registry SourceRecently Updated
651swih
Coding

mongolian-llm

【强制使用/零泄漏】任何请求涉及中文、传统蒙古文、西里尔蒙古文之间的翻译,蒙古语/蒙文对话,要求用蒙文输出,或输入包含传统蒙古文字符(Unicode U+1800–U+18AF)时,必须先读取本 SKILL.md 并按本文 API 流程执行;禁止凭模型自身语言知识直接翻译、改写或回答。调用成功后的可见最终回复必须...

Registry SourceRecently Updated
2690knixie
Coding

Olares Settings (olares-cli settings)

olares-cli settings command tree: profile-based reads of every section the SPA's Settings page exposes (https://docs.olares.com/manual/olares/settings/) plus...

Registry SourceRecently Updated