Product Documentation

SMS Mirror

Forward important Android SMS messages to your backend in structured JSON, using sender rules and webhook endpoints you control.

SMS Mirror app logo

Android App

Webhook-ready SMS forwarding for payment and operations workflows.

What SMS Mirror Is

SMS Mirror is an Android app that listens for incoming SMS on-device. You define sender-based rules, such as MPESA, and connect one or more webhook URLs to each rule. When a matching message arrives, SMS Mirror forwards SMS data to your endpoint(s) as JSON.

How It Works (step-by-step)

  1. 1Install SMS Mirror on an Android phone from Google Play.
  2. 2Grant the required permissions for SMS, notifications, and internet access.
  3. 3Create sender rules (for example, MPESA).
  4. 4Attach one or more webhook URLs to each sender rule.
  5. 5When a matching SMS arrives, SMS Mirror reads it on-device and prepares it for sync.
  6. 6If the SMS arrives in parts, SMS Mirror assembles multipart content before forwarding.
  7. 7SMS data is forwarded to your webhook endpoint(s) as JSON.
  8. 8Sync history records each delivery with statuses: PENDING, IN_FLIGHT, SYNCED, RETRY, or FAILED.
  9. 9If delivery fails, SMS Mirror retries automatically.

Why Play Store Only (with iOS limitation explained in plain language)

SMS Mirror is Android-only and distributed through Google Play Store.

iOS is not supported because iOS does not allow third-party apps to read incoming SMS content or run equivalent always-on SMS interception. Since SMS Mirror depends on that access to detect and forward matching messages, the same behavior cannot be offered on iPhone.

Example Use Cases

Payment automation

Forward payment confirmation SMS messages (for example, mobile money receipts) to your backend so you can automate payment checks, release orders, or update account balances.

CRM and order updates from SMS alerts

Send customer-related SMS alerts into CRM or order systems so teams can update records without manual copy and paste.

Internal operations alerts and reconciliation workflows

Route SMS events to internal tools for operations monitoring, exception handling, and reconciliation at end of day.

Need a concrete payment setup?

See a full, step-by-step M-PESA payment method example with sample SMS and webhook payloads.

Webhook Payload Example (JSON block)

{
  "event": "sms.received",
  "sender": "MPESA",
  "message": "Confirmed. KES 1,200 received from John Doe...",
  "received_at": "2026-03-10T09:14:22Z",
  "rule": {
    "sender_match": "MPESA",
    "webhooks": [
      "https://example.com/webhooks/payments",
      "https://example.com/webhooks/reconciliation"
    ]
  },
  "multipart": {
    "is_multipart": false,
    "parts": 1
  },
  "sync_status": "SYNCED"
}

Privacy, Permissions, and Security Notes

  • SMS Mirror needs Android SMS, notification, and internet permissions to detect, process, and forward matching messages.
  • You control what gets forwarded through sender rules and webhook routing.
  • Sync history shows delivery progress and outcomes with PENDING, IN_FLIGHT, SYNCED, RETRY, and FAILED.
  • Failed deliveries are retried automatically to improve reliability.
  • Use HTTPS webhook URLs and validate incoming payloads in your backend.

FAQ

Does SMS Mirror forward every message on the phone?

No. It forwards only messages that match sender rules you configure.

Can I send one sender stream to multiple systems?

Yes. Each sender rule can have one or more webhook URLs attached.

What happens when my endpoint is temporarily down?

The sync status is tracked and failed deliveries are retried automatically.

Can it handle long messages split into multiple SMS parts?

Yes. Multipart SMS can be assembled before forwarding.

Why is there no iPhone version?

iOS does not allow third-party apps to read incoming SMS content or run equivalent always-on SMS interception, so the core function cannot be implemented in the same way.

Final CTA

Use SMS Mirror to turn business-critical SMS events into reliable, automated backend workflows.