v1.3.1 — Dashboard, rules & webhook

Forward your SMS, RCS
and app notifications

An Android app that intercepts every message and forwards it to the number or webhook of your choice. Configurable rules, real-time dashboard, 100% local.

6.8 MB
APK size
Android 8.0+
Compatibility
185 Tests
Coverage
AGPL-3.0
License
Dashboard - Active forwarding History of forwarded SMS Settings and filtering Filter management Forwarding statistics

Everything you need

A complete message-forwarding app, designed to be reliable, configurable and respectful of your privacy.

New

Real-time dashboard

24h stats (sent / failed), overall success rate, active rules and unread notifications badge. Everything updates live via Flow.

New

Forwarding rules

Create rules with sender criteria (regex) + keyword, per-rule destination (SMS or webhook), priority and activation. Interactive test with a sample SMS.

New

HTTP POST webhook

Send each message as JSON to any endpoint { sender, content, receivedAt }. Zero external dependencies.

New

Third-party app monitoring

Forward notifications from WhatsApp, Telegram, Allo, Ringover, Onoff... as SMS to your number or via webhook.

SMS + RCS forwarding

Triple capture via BroadcastReceiver, ContentObserver and NotificationListener so you never miss a message, including RCS.

New

Configurable retry

Max attempts (1-10), initial delay (30s / 1min / 5min / 15min), backoff multiplier (x1.5 / x2 / x3). Every message eventually gets through.

New

Notification center

Alerts persisted in database: rule errors, unreachable destination, battery warnings. Mark as read individually or all at once.

New

Diagnostics screen

Audit of permissions, battery optimization, notification access, network connectivity. Each check provides a deep-link to system settings.

100% local & open source

No data sent to any server, zero analytics, zero tracking. Source code open under AGPL-3.0, verifiable on GitHub.

Forwarding rules & Webhook

A powerful routing system: each message is analyzed, matched against your rules, then sent to the right destination.

Configurable rules (CRUD)

  • Sender in regex — filter by number, pattern or prefix
  • Keyword — additional condition on the content
  • Per-rule destination — SMS or webhook, independent from the global destination
  • Priority & activation — order your rules, enable / disable without deleting
  • Interactive test — validate a rule with a sample SMS before activating it

JSON HTTP POST webhook

Plug SMS Forwarder into your API, your Slack bot, an n8n workflow, or any HTTP service. The payload is sent as POST application/json with no external dependency (native HttpURLConnection).

// POST https://your-endpoint.com/sms
{
  "sender": "+336****5678",
  "content": "Your code: 8472",
  "receivedAt": "2026-05-01T19:08:32Z",
  "sourceLabel": "WhatsApp",
  "originalDestination": "+336****0000"
}

Third-party app monitoring

Add a whitelist of applications whose notifications will be intercepted and forwarded as SMS. The sourceLabel indicates the originating app in the webhook payload.

WhatsApp Telegram Allo Ringover Onoff

How it works

Three simple steps to start forwarding your messages.

1

Configure

A 4-step onboarding: welcome, permissions, destination number and test SMS. Each permission is explained individually.

2

Receive

The app automatically intercepts every SMS, RCS and app notification via triple capture. Rules analyze each message in real time.

3

Forward

The message is routed to the right recipient (SMS or webhook) according to your rules. Full tracking in the history with filters and resend.

Technical specs

Built with the most modern Android technologies for optimal performance.

Language
Kotlin 2.0
UI Framework
Jetpack Compose
Architecture
MVVM + Hilt + Ports/Adapters
Database
Room v2 (SQLite)
APK size
6.8 MB
Tests
185 (unit + integration)

Ready to forward your messages?

Download for free from GitHub Releases or Google Play. Open source, transparent, no account required.

Source code on GitHub All releases
Open Source - AGPL-3.0

Frequently asked questions

Everything you need to know before getting started.

No. The app uses BroadcastReceivers and an optimized foreground service. It only consumes battery when a message is received and forwarded. While idle, the impact is negligible. The Diagnostics screen lets you check battery optimization at a glance.

Each forwarded SMS is sent as a standard SMS from your phone and is deducted from your plan. Forwarding to an HTTP webhook, on the other hand, is free (uses your data connection). If you have an unlimited SMS plan, forwarding to a domestic number will come at no extra cost.

The app runs 100% locally on your phone. There is no analytics, no tracking, no telemetry. If you configure a webhook, only the messages matching that rule are sent to the URL you have defined — you keep full control. The source code is open and verifiable on GitHub.

Each incoming message is analyzed by your rules, in priority order. A rule can match on the sender (regex) and/or a keyword in the content. If a rule matches, the message is sent to the destination defined in that rule (SMS or webhook). If no rule matches, the fallback uses the global destination. You can test each rule interactively before activating it.

Yes. The app intercepts notifications from the apps you add to the whitelist (WhatsApp, Telegram, Allo, Ringover, Onoff...). The notification content is then forwarded as an SMS or via webhook, with a sourceLabel indicating the originating app.

The app relaunches automatically thanks to a BootReceiver. Your configuration, rules and activation state are kept in the Room database. Forwarding resumes without any action on your part.

The app automatically detects messages it has sent itself and excludes them from forwarding. In addition, the destination number is automatically added to the blacklist. It is therefore impossible to create an infinite loop.

The webhook requires a data connection. On failure (network unavailable, endpoint unreachable), the app automatically retries according to your configurable retry policy (up to 10 attempts with exponential backoff). You can configure an SMS fallback for critical rules.