Getting Started
SmsForwarder is an Android app that forwards your incoming text messages, picture messages, call events, and (optionally) notifications from other apps to the places you actually use — Telegram, email, a webhook, Slack, Bark, WhatsApp, Google Drive, or even another phone over SMS. Everything is configured by you, and forwarded messages go from your phone straight to the destinations you set up. A few optional features route through a developer-operated cloud instead: the AI features that come with the Advanced subscription (see AI Enhancements below); the Email channel's built-in sending option (the default for new email channels), which delivers your mail through SmsForwarder's cloud so you don't have to configure an outgoing mail server; and the optional "access from anywhere" mode of the Web Access feature, which relays your browser session through the same cloud so you can read and send SMS from a PC even when you are off your home network (see Useful Extras below).
What You Can Forward
- Text messages (SMS) received on the device.
- Picture messages (MMS).
- Call events — incoming, answered, missed, ended, outgoing dialed and outgoing ended. Forwarded messages can include the phone number, duration, and the contact name from your address book when available.
- Notifications from other apps (optional). When you turn this on and grant notification access, SmsForwarder can forward selected app notifications too.
Where You Can Forward It To
You can add one or more "delivery channels". Each channel is a destination you control:
- Telegram — push to a chat, group, or channel through your own Telegram bot.
- Email — by default, SmsForwarder sends the email for you through its own cloud, so there is no mail server to set up — just enter a recipient. Built-in sending requires an active subscription (Basic or Advanced). Prefer to use your own outgoing email account? Switch the channel to custom sending email and enter your SMTP details. Common providers (Gmail, Outlook, iCloud, Yahoo, QQ Mail, 163 Mail) are auto-configured from the address you type, with on-screen guidance for creating an "app password". Encrypted connections (SSL/TLS or STARTTLS) are supported.
- Webhook — send to any web URL you choose, with a custom message body. The app supports both POST and GET. You can use placeholders like
{{from}},{{contact}},{{content}},{{slot}},{{sim}}, and{{time}}in the body, and SmsForwarder fills them in for each forwarded message. - Slack — send to a Slack incoming webhook.
- Bark — push to the Bark iOS app (the official server, or your self-hosted one).
- WhatsApp — send to a WhatsApp number using either Meta's Cloud API (your own WhatsApp Business app, with an access token) or CallMeBot (a free third-party relay you activate from your own WhatsApp).
- Google Drive — append each forwarded message as a new entry in a single log file inside your own Google Drive. You sign in once with your Google account; SmsForwarder only sees files it creates (Google's
drive.filescope), never the rest of your Drive. You can pick the folder name, the file name, and whether new entries are added at the top or the bottom of the file. - SMS — re-send to another phone number. You can choose which SIM card sends it, and you can set the SMS channel to only kick in when the phone has no internet — handy as an offline fallback.
How Forwarding Rules Work
A rule decides what gets forwarded and where. You can create more than one rule. A rule includes:
- A name.
- A type — text messages, calls, or app notifications.
- One or more delivery channels the rule forwards to. A single rule can fan out to any number of channels you have set up — for example, push to Telegram and append to Google Drive at the same time. Pick them from the channel list when you create or edit the rule.
- An on/off switch.
- Optional content filters. Each rule type has its own:
- Text-message rules can filter by SIM slot, by sender phone number (any / only these / exclude these — short codes like
10086are matched as written), and by keywords in the message body. Each text-message rule also has three source-type toggles — SMS, RCS, and MMS — so you can decide which kinds of incoming text the rule should react to. SMS is always on; RCS and MMS are independent and on by default. RCS pickup needs Notification access (Android does not give apps direct access to RCS, so SmsForwarder reads RCS messages from the system notification posted by the default messaging app). - Call rules can filter by SIM slot, by call event type, by phone number, and by contact name from your address book.
- App-notification rules can filter by source app, by keywords in the notification title, and by keywords in the notification text.
- Text-message rules can filter by SIM slot, by sender phone number (any / only these / exclude these — short codes like
- With an Advanced subscription, every rule type can also turn on AI processing on the rule itself and filter by AI tags and by spam score. See AI Enhancements below.
When a rule is enabled and at least one of its channels is set up, anything that matches the rule is forwarded through every selected channel.
AI Enhancements (Advanced Subscription)
The Advanced subscription tier adds an optional AI step you can run on each incoming message before it is forwarded. AI is off by default. You turn it on in two places:
- Settings → AI — flip the AI master switch, accept the one-time AI consent dialog, and pick which cloud path the AI calls go through (more on that below). This is also where you see your remaining monthly AI usage.
- Each rule's AI card — open a rule and turn on the individual AI capabilities you want for that rule. Each capability is per-rule, so you can have one rule that only extracts OTPs and another rule that translates and summarizes long marketing messages.
The capabilities available on a rule are:
- One-time code (OTP) extraction — pulls the verification code out of a message so you can paste it directly from the forwarded notification.
- Tags and spam score — tags messages from your own editable tag vocabulary (see below) and gives them a spam score from 0 to 1. The rule can then filter on tags, on spam score, or on both.
- Translation — translates the message body into the target language you pick (17 options, plus "follow app language"). Set per rule.
- Summary — for long messages, generates a short summary that fits in a single notification. The minimum message length that triggers summary is configurable per rule.
- Natural-language remote command — a separate toggle on the Remote control page, not on a rule. See
#AIon the Remote Control page.
AI tag vocabulary. The tag list is now yours to edit under Settings → AI → AI tags. Two system tags — otp and other — are always present and cannot be edited or removed. The rest is open: the defaults are Banking, Bills, Logistics, Promo, and Social, and you can add up to 16 tags total. For each tag you set a name, a display label, a short "when to apply" hint that the AI reads, and up to three example messages. Removing a tag also removes it from every rule that was filtering on it.
AI runs in the cloud. You pick which cloud path under Settings → AI:
- Built-in (default, recommended). Advanced subscribers get an included monthly AI allowance with no API key to set up. Requests go over HTTPS to a developer-operated proxy that relays them to an upstream provider (OpenAI, Anthropic, or Google) and discards the message body once it has answered. The AI settings page shows your current usage and warns you when the allowance is running low.
- Bring your own key. If you would rather pay an AI provider directly, pick Google Gemini, Anthropic Claude, or OpenAI and paste your API key. The key is stored encrypted on the device, is never uploaded to the developer, and is deliberately excluded from backup files.
A one-time AI consent dialog has to be acknowledged before the AI master switch can be turned on or an Advanced subscription can be purchased. Messages that come from a phone number already in your address book are skipped on purpose — both for privacy and to save your AI quota.
When AI is on for a rule, the default forwarding template for that rule's channel automatically picks up new placeholders you can use anywhere in your custom templates: {{ai_otp}}, {{ai_tags}}, {{ai_spam_score}}, {{ai_summary}}, and {{ai_translation}}. If a particular AI capability is off for that rule, the matching placeholder is replaced with an empty string. AI failures never block forwarding — your message goes through with whatever AI fields are available at that moment.
Ask AI
Ask AI is a separate, conversational AI helper for the app itself — not for incoming messages. Tap the Ask AI button (it appears on the rule list, the channel list, the AI tags page, in the rule editor, in the channel editor, and on each push-record detail) to open a chat sheet that already knows what you are looking at. Common uses: "why didn't this push fire?", "write a Telegram template that includes the OTP and the sender's contact name", or "give me a regex that matches my bank's verification codes". You can keep multiple conversations, and the chat history is stored on the device.
Ask AI requires the Advanced subscription and uses the same cloud provider you picked in Settings → AI. It has its own daily usage allowance, shown separately from the message-classifier allowance on the AI settings page.
First-Time Setup
- Install SmsForwarder from Google Play and open it.
- Read the in-app privacy notice and accept it. Nothing is forwarded until you do.
- Add a delivery channel and fill in its details. An Email channel works out of the box with built-in sending (just enter a recipient) if you have a subscription; otherwise switch it to custom sending and enter your own SMTP account, which is auto-filled for common providers. The Google Drive channel asks you to sign in once with your Google account. You can use the Send a test message button on the channel screen to confirm it works before you continue.
- Add at least one forwarding rule and link it to one or more channels. There is no separate global "forwarding on/off" switch — a rule starts forwarding as soon as it is enabled, the matching permissions are granted, and at least one of its channels is configured.
- When you enable the rule, the app walks you through every permission it needs for that rule type. Typical prompts include:
- Permission to read incoming text messages (SMS rules).
- Permission to send text messages (only if you plan to use the SMS channel or remote control).
- Permission to read call and phone state (call rules).
- Notification access (app-notification rules, and also SMS rules that have the RCS source type turned on).
- Permission to show notifications (Android 13 and later).
- Permission to ignore battery optimization, so Android does not stop the app in the background.
- The vendor-specific "auto-start" or "background" allowlist on your phone, if your manufacturer has one (Xiaomi, Huawei, OPPO, Vivo, Honor, etc.). The app will open the right settings page when it can.
- Send yourself a test text (or trigger a test call / app notification, depending on the rule type) and check that it arrives in every destination you configured.
Useful Extras
- Per-SIM labels. On dual-SIM phones, you can give each SIM a label and route each line to a different destination.
- Retry and timeout. If a forwarding attempt fails (bad network, server timeout, etc.), SmsForwarder will retry. You can adjust the retry count, the gap between retries, and how long each attempt waits before giving up.
- Proxy support. Every channel that uses the internet — Telegram, Email, Webhook, Slack, Bark, WhatsApp, and Google Drive — can be routed through an HTTP or SOCKS5 proxy with optional username and password, set per channel. (The SMS channel does not use the internet, so it has no proxy option.)
- Forwarding history. The app keeps a local list of recent forwards so you can check what was sent, what failed, and why. The number of records kept is configurable (default 500, up to 10,000). Each entry has a detail panel showing which channel(s) the message was pushed through, the response from each one, and a Send feedback button that attaches the related diagnostic log if you want to report a problem.
- Web Access (PC Sync). Read and send SMS from a desktop browser. Two modes you turn on independently:
- Local network (Basic subscription) — your phone exposes a web URL on your Wi-Fi network. Open the URL on any PC on the same network, sign in with the access token shown in the app, and you have a view of your inbox plus a "compose" box. Traffic stays on the local network and is not encrypted, so use it only on networks you trust.
- Access from anywhere (Advanced subscription) — the phone keeps a tunnel open through SmsForwarder's cloud relay, so you can open the same web page from outside your home network. The relay does not store message content. Both modes share a single access token; rotating it signs out every browser session at once. If the Read SMS permission is not granted, the web page only shows messages the app has already forwarded, not your full inbox.
- Ask AI assistant. A conversational helper inside the app that can answer questions about your own setup — "why didn't this rule fire?", "draft a Telegram template that includes the OTP", "what regex matches my bank's codes?" — and offer Apply-to-form buttons where useful. Advanced subscription only, with its own daily allowance shown next to the regular AI usage card.
- Remote control over SMS. You can authorize specific phone numbers to send command messages to your phone. From an authorized number you can send a reply on your behalf, toggle forwarding, query status or battery, share the help link, re-sync your subscription with Google Play, or — with an Advanced subscription — give a plain-language instruction. See the Remote Control page for the full command reference. Only numbers you explicitly add to the allow list are accepted.
- Backup and one-tap migration. Export your channels, rules, and settings to a backup file. Two export options live side by side: Share backup opens the Android share sheet, and Save to device lets you pick a folder with the system file picker. Import on a new phone to move everything over. The backup file is created locally and is not uploaded anywhere by the app itself.
- Scheduled Google Drive backup. Optionally have the app upload a fresh backup to your Google Drive every day, week, or month. You pick the Drive folder and how many recent backups to keep; older ones are pruned automatically. Uses the same
drive.filescope as the Google Drive channel, so the app only sees the files it uploads. Separate from the Google Drive forwarding channel — you can use either, both, or neither. - Light, dark, or follow-system theme.
- The app's interface is available in English, Simplified Chinese, German, Spanish, French, Japanese, Korean, and Portuguese (with separate Brazilian and European Portuguese translations).
Things to Know Before You Rely On It
- SmsForwarder is Android only.
- Android does not have a single, standard "auto-start" setting. The app guides you to the right page on common phone brands, but on aggressive battery savers you may still need to manually allow it to run in the background.
- Telegram requires you to create your own bot through
@BotFatherand to know the chat ID you want messages sent to. - Email uses built-in sending by default and needs no setup beyond a recipient (an active subscription is required for this mode). If you switch to your own SMTP account instead, note that providers often block normal passwords for outgoing email — you will usually need an "app password" or "authorization code" from your email provider's security settings, and the app links you to the right page for common providers.
- SMS forwarding uses your own SIM card, so it consumes your carrier's SMS allowance like any other text you send.
- Channels and rules are stored locally on your device. Backup files contain credentials (such as bot tokens and email passwords) in plain text — keep them somewhere safe. AI cloud-provider API keys are stored encrypted and are deliberately not included in backup files; you re-enter them on the new phone after importing a backup.
- Subscriptions come in two tiers:
- Basic unlocks call forwarding, app-notification forwarding, built-in email sending (sending email through SmsForwarder's cloud without your own mail server), and the Web Access local network mode.
- Advanced includes everything in Basic and adds the AI features described above (OTP extraction, tags + spam score, translation, summary, and the
#AIremote command), the Ask AI in-app assistant, and the Web Access access from anywhere mode. Without a subscription you can still use the Email channel — just switch it to custom sending and enter your own SMTP account. Pricing, the free trial, and switching between tiers are all shown inside the app before any purchase.
If something does not work as expected, see the Technical Support page.