← back to apps

SMS2Webhook

org.golder.sms2webhook

android MIT kind 32267

Forwards incoming SMS to a webhook endpoint you control, with retries, deduplication and optional API key authentication.

latest release
2.2.1 main
released 2026-10-06 08:18 UTC
download apk
asset · 14.5 MB
android-arm64-v8aandroid-armeabi-v7aandroid-x86android-x86_64 vcode 8
+1 more variants — full list in the assets card below
✓ signed cert 4932517e…

about

description
SMS2Webhook runs on your own phone and posts each incoming SMS to a webhook URL that you configure. It is a building block for self-hosted automation: point it at your own server to trigger workflows, archive messages, feed a CRM or ticketing system, or expose SMS to your own dashboards. ## What it sends Every forwarded message is posted as JSON to the single endpoint you set. The payload is your phone's own messaging row rather than a fixed shape, so the fields present vary by device and Android version: the sender `address`, the message `body` and the `date` timestamp are always there, and devices whose messaging app records a SIM subscription include it as `sub_id`. Treat anything beyond those as optional. If you configure an API key it is sent as an `Authorization: Bearer` header. ## What leaves the device Message content is transmitted **only** to the webhook URL you enter. There are no analytics, no advertising, no crash reporting and no third-party servers. The local database stores a SHA-256 hash of each message for deduplication, not the message text. Source code is public and auditable. Because this is a self-hosted tool, the destination is yours to choose. Review the URL you enter, and prefer HTTPS so message bodies are encrypted in transit. ## Permissions - `RECEIVE_SMS` and `READ_SMS` — required to observe incoming messages and, if you choose, to backfill your existing SMS history. - `INTERNET` — to reach your webhook. - `CAMERA` — optional, only for scanning the setup QR code. The telephony and camera hardware features are declared optional, so the app installs on devices without them. ## Reliability Uploads are queued in WorkManager with exponential backoff, so a webhook that is briefly unreachable does not lose messages. A SHA-256 cache prevents the same message being delivered twice. ## Requirements Android 9.0 (API 28) or later.
publisher
e3c6d9d514d74afe40ffbb93e659cb34d1c9a8bd1e84f60faae4525aa61423c9
first seen
2026-10-04T12:08:12.420844+00:00
last event
2026-10-06 08:18 UTC
website
https://github.com/rossigee/sms2webhook
install
zapstore.dev or any Zapstore-compatible client
topics
#automation #notifications #privacy #self-hosted #sms #webhook

source & build

repository
https://github.com/rossigee/sms2webhook
arch flags
android-arm64-v8a android-armeabi-v7a android-x86 android-x86_64
manifest
zapstore.yaml ok checked 2026-10-04T12:09:33.256994+00:00
parsed zapstore.yaml (gap-filler — event fields always win)
{
  "images": [
    "screenshots/04_settings_screen_filled.png",
    "screenshots/05_main_screen_configured.png",
    "screenshots/02_main_screen_with_logs.png",
    "screenshots/01_main_screen_empty.png",
    "screenshots/03_settings_screen_empty.png"
  ],
  "license": "MIT",
  "match": ".*-release-signed\\.apk$",
  "name": "SMS2Webhook",
  "release_notes": "./CHANGELOG.md",
  "repository": "https://github.com/rossigee/sms2webhook",
  "summary": "Forwards incoming SMS to a webhook endpoint you control, with retries, deduplication and optional API key authentication.",
  "tags": [
    "sms",
    "automation",
    "webhook",
    "self-hosted",
    "notifications",
    "privacy"
  ],
  "website": "https://github.com/rossigee/sms2webhook"
}

releases (kind 30063)

5 releases indexed; latest 2.2.1.

versionchannelreleasedevent
2.2.1 main 2026-10-06 08:18 UTC 62ec6130…
2.2.0 main 2026-10-06 06:15 UTC 05ea4fdc…
2.1.2 main 2026-10-06 01:02 UTC 78142caa…
2.1.1 main 2026-10-06 00:03 UTC 3ce2ad0e…
2.1.0 main 2026-10-04 12:19 UTC 61f704e4…

assets & verification

Every app, release and asset event is schnorr-verified (NIP-01 id + signature) before it enters the catalog, and assets are content-addressed by sha256. We subscribe read-only to the catalog relay — never write to it.

2.2.1 — application/vnd.android.package-archive

sha256
f170ff9be102f0f13e2ce018c37a6f20afc73915a0ada55e838e5a2d485a1859
size
14.5 MB
archs
android-arm64-v8a, android-armeabi-v7a, android-x86, android-x86_64
version code
8
apk cert sha256
4932517eaf4a0dc3191dd261301edb3ba786b08725fbcd4148011c281daa2533
download
asset

2.2.1 — application/vnd.android.package-archive

sha256
20f4ed70b163a415fbbe9b9d38e4e4569c0c2866abe537e5f06f987712857c33
size
14.5 MB
archs
android-arm64-v8a, android-armeabi-v7a, android-x86, android-x86_64
version code
8
apk cert sha256
4932517eaf4a0dc3191dd261301edb3ba786b08725fbcd4148011c281daa2533
download
asset

2.2.0 — application/vnd.android.package-archive

sha256
162f75081b4ff8ce659b43c97782a2cc3cc9906179de9315a9a6821773c7a3a4
size
14.5 MB
archs
android-arm64-v8a, android-armeabi-v7a, android-x86, android-x86_64
version code
7
apk cert sha256
4932517eaf4a0dc3191dd261301edb3ba786b08725fbcd4148011c281daa2533
download
asset

2.2.0 — application/vnd.android.package-archive

sha256
64ecbafdca424d96a37cc1cf26c2d586c554d71f63710207e32a352630f10996
size
14.5 MB
archs
android-arm64-v8a, android-armeabi-v7a, android-x86, android-x86_64
version code
7
apk cert sha256
4932517eaf4a0dc3191dd261301edb3ba786b08725fbcd4148011c281daa2533
download
asset

Showing the newest 4 asset descriptors; the full set is in /api/apps/e3c6d9d5…