This is a free, open-source Android app that automatically forwards incoming SMS messages, phone calls, and push notifications to specified URLs as JSON via HTTP POST.
- SMS Forwarding: Forward SMS from specific numbers or all senders
- Call Monitoring: Forward incoming call information with caller details and contact names
- Push Notification Forwarding: Forward notifications from specific apps
- Flexible Filtering: Configure rules for specific phone numbers, apps, or monitor all sources
- Modern UI: Material Design 3 interface with structured configuration
- Template Customization: Build custom JSON payloads with template variables
- HTTP Headers: Configure custom headers for webhook requests
- Retry Logic: Failed requests retry with exponential backoff
- SSL Options: Option to ignore SSL certificate errors
- Built-in Testing: Test webhook configurations before saving
- No Cloud Dependencies: All processing happens locally on your device
Forward incoming text messages with sender information, message content, timestamps, and SIM slot details.
Available template variables:
%from%- Sender phone number%text%- Message content%sentStamp%- Message sent timestamp%receivedStamp%- Message received timestamp%sim%- SIM slot identifier
Monitor incoming calls and forward caller information including contact names when available.
Available template variables:
%from%- Caller phone number%contact%- Contact name (if available in contacts)%timestamp%- Call timestamp%duration%- Call duration (0 for incoming calls)
Forward notifications from specific apps with title, content, and app information.
Available template variables:
%package%- App package name%title%- Notification title%content%- Notification content%text%- Combined notification text%sentStamp%- Notification timestamp
Download apk from release page
This project includes automated version management and release scripts for streamlined development:
# Complete release workflow (recommended)
./release.sh minor "Add new features and improvements"
# Version bump only
./version_bump.sh patch "Fix critical bug"version_bump.sh- Automated version bumping with git commits and tagsrelease.sh- Complete release workflow with APK building and GitHub releases- Semantic versioning support (major/minor/patch)
- Automatic changelog generation
- Build verification and rollback capabilities
For detailed documentation, see VERSION_MANAGEMENT.md.
# Debug build
./gradlew assembleDebug
# Release build
./gradlew assembleReleaseSet up App Permissions for you phone after installation. For example, enable "Autostart" if needed and "Display pop-up windows while running in the background" from Xiaomi devices.
Set sender phone number or name and URL. It should match the number or name you see in the SMS messenger app. If you want to send any SMS to URL, use * (asterisk symbol) as a name.
Every incoming SMS will be sent immediately to the provided URL. If the response code is not 2XX or the request ended with a connection error, the app will try to send again up to 10 times (can be changed in parameters). Minimum first retry will be after 10 seconds, later wait time will increase exponentially. If the phone is not connected to the internet, the app will wait for the connection before the next attempt.
If at least one Forwarding config is created and all needed permissions granted - you should see F icon in the status bar, means the app is listening for the SMS.
Press the Test button to make a test request to the server.
Press the Syslog button to view errors stored in the Logcat.
HTTP method: POST
Content-type: application/json; charset=utf-8
Sample payload:
{
"from": "%from%",
"text": "%text%",
"sentStamp": "%sentStamp%",
"receivedStamp": "%receivedStamp%",
"sim": "%sim%"
}Available placeholders: %from% %text% %sentStamp% %receivedStamp% %sim%
Use this curl sample request to prepare your backend code
curl -X 'POST' 'https://yourwebsite.com/path' \
-H 'content-type: application/json; charset=utf-8' \
-d $'{"from":"1234567890","text":"Test"}'- Create Telegram bot and channel to receive messages. There is short tutorial how to do that.
- Add new forwarding configuration in the app using this parameters:
- Any sender you need, * - on the screenshot
- Webhook URL -
https://api.telegram.org/bot<YourBOTToken>/sendMessage?chat_id=<channel_id>- change URL using your token and channel id - Use this payload as a sample
{"text":"sms from %from% with text: \"%text%\" sent at %sentStamp%"} - Save configuration
Since $_POST is an array from the url-econded payload, you need to get the raw payload. To do so use file_get_contents:
$payload = file_get_contents('php://input');
$decoded = json_decode($payload, true);The main screen showing the clean, modern Material Design 3 interface when no forwarding rules are configured yet.
The main screen displaying an active forwarding rule configuration with the status indicator showing the app is listening for incoming activities.
The rule creation interface where users can configure new forwarding rules for SMS, calls, or notifications with sender/app filtering options.
The template editor showing how to customize JSON payloads using template variables like %from%, %text%, %sentStamp%, etc. for flexible webhook integration.
The HTTP headers configuration screen allowing users to add custom headers for authentication or other webhook requirements.
Settings screen for configuring SIM card names and identifiers, useful for dual-SIM devices to distinguish between different carriers.
Additional settings options including operator-specific configurations and advanced forwarding parameters.
This is fully refactored and updated version of Konstantin B's repo.
Much thanks to him for the inspiration.






