SMSTunnel for Synology DSM

NAS alerts by text, from your own phone and number

Built into DSM 7 · no package
Notification › Webhook › Custom
Synology webhook help

Know when your NAS needs you

When a disk starts failing, a volume fills up or a backup task fails, DSM hands the notification to your SMSTunnel account and your own Android phone texts it to you from your own number. DSM's rules decide which events send a text.

1. Get your key

  1. 1. Install the SMSTunnel app from Google Play on your Android phone and sign in.
  2. 2. In your dashboard, open Apps → Add an app, pick Script or server, name it (for example "Synology NAS") and click Create the key.
  3. 3. Copy the key right away: it's shown only once. You can stop or delete the app there anytime, and Synology NAS can't send texts anymore.

Get the steps with your key in them

It opens Add an app with Script or server picked. Once the key is made, the dashboard shows every step and command with the key already filled in, ready to copy.

2. Add a Custom webhook

In DSM, open Control Panel → Notification → Webhook, click Add and choose Custom as the Provider. On the first page:

Rule
Critical, or Warning (warning and critical events)
Provider name
SMSTunnel
Subject
%HOSTNAME%: (DSM puts it in front of every text)
Webhook URL
https://smstunnel.io/api/v1/sms/send
Send notification messages in English
ticked

Click Next, then:

HTTP Method
POST
Content-Type
application/x-www-form-urlencoded
Add Header
X-API-Key with your key as the value
Parameter (Add Field)
to = your number with 00 instead of +, like 0014155550123
Parameter (Add Field)
message = @@TEXT@@
  • Why 00? In a form, a + can turn into a space on the way. SMSTunnel reads a leading 00 as +, so 0014155550123 arrives as +14155550123.
  • Keep only to and message: SMSTunnel refuses fields it doesn't know. @@TEXT@@ is where DSM puts the event's text.
  • Click Apply, then click the webhook in the list and Send Test Message: your phone texts it to your number.

Worth knowing

  • Keep texts short. Some DSM messages are long. Trim them in Control Panel → Notification → Events → Edit Message; a text can be up to 1600 characters.
  • Several people? One Custom webhook per number. SMSTunnel sends one text to one number per request.
  • The key sits in DSM's settings. Give the NAS its own app in SMSTunnel, so you can stop it without touching your other apps.
  • Phone offline? The text waits and goes out as soon as the phone is back.

If it doesn't work

  • 400 "property … should not exist": DSM added a field of its own. Remove every parameter except to and message.
  • 401 "Invalid or expired API key": the key is wrong or was deleted. "API key is required. Use X-API-Key header.": the key isn't in an X-API-Key header. SMSTunnel reads the key only from that header: Bearer or Basic authentication won't work.
  • 403 with PERMISSION_REQUIRED: the key may not send texts. Make a new one under Apps → Add an app.
  • 400 "property … should not exist": the body has a field SMSTunnel doesn't know. Send only to and message (and, if you need them, deviceId and defaultCountryCode). "message must be shorter than or equal to 1600 characters": shorten the text. "Phone number must contain…": put the number in international format, like +14155550123.
  • 400 with "to must be a string" and "message must be a string": the body didn't arrive as JSON. Add the header Content-Type: application/json.
  • 404 "Cannot GET /api/v1/sms/send": the tool sent a GET. Choose POST.
  • 429: too many texts at once. SMSTunnel takes 30 send requests a minute. Wait a minute and try again.
  • No text, but no error? If your phone is offline, the text waits and goes out as soon as the phone is back online. Open the SMSTunnel app on the phone to check it's linked.

Build it with an AI assistant

Copy this prompt into Claude, ChatGPT, Cursor or Copilot and replace the part in [brackets]. Don't paste your API key into the chat: the prompt doesn't need it.

Help me get Synology NAS (DSM 7) notifications as text messages from my own phone, with SMSTunnel.

About SMSTunnel (https://smstunnel.io): my own apps and tools hand text messages (SMS) to my SMSTunnel account, and my own Android phone sends them from my own number, on my own SIM and plan. The phone runs the SMSTunnel app from Google Play (https://play.google.com/store/apps/details?id=io.smstunnel.app), signed in to my account.

What I want: [describe what should send a text, to whom, and when]

How it works:
- No package: DSM's own webhook notifications. Control Panel → Notification → Webhook → Add → Provider: Custom.
- Rule: Critical (or Warning). Provider name: SMSTunnel. Subject: %HOSTNAME%: (it is put in front of every text). Webhook URL: https://smstunnel.io/api/v1/sms/send. Tick "Send notification messages in English". Next.
- HTTP Method: POST. Content-Type: application/x-www-form-urlencoded. Add Header: X-API-Key = <my key>. Parameters (Add Field): to = 0014155550123 (the number with 00 instead of +, because a + can turn into a space in a form; SMSTunnel reads 00 as +) and message = @@TEXT@@. Apply.
- SMSTunnel reads form bodies as well as JSON, but refuses unknown fields with 400: only "to" and "message".
- Send Test Message (click the webhook in the list) sends a test text.
- Long event texts: trim them in Control Panel → Notification → Events → Edit Message. A text can be up to 1600 characters.
- One recipient per request: SMSTunnel sends one text to one number. For several people, one request (or one notification) per number. In DSM, one Custom webhook per number.
- Answers: 200 {"success": true, "messageId": "…"}; 401 wrong or deleted key; 403 the key lacks a permission ("code": "PERMISSION_REQUIRED"); 400 a missing, unknown or too long field; 429 too many requests (30 sends a minute, with Retry-After): wait and retry; without Retry-After, the plan's limit for the day or month is reached. If my phone is offline the text waits and goes out when it is back, within 3 days.
- The API key comes from my SMSTunnel dashboard (https://dashboard.smstunnel.io): Apps → Add an app → Create the key. It is shown only once and can send texts and check whether they went out.

Rules for your answer:
- Do not ask for my SMSTunnel password or API key and do not put a real key in your answer; I will not paste it in this chat.
- Phone numbers must be in international format (+ and the country code).
- Help me test it with my own number first.
- Only send texts people expect from me. No unsolicited texts.
- Help me pick which DSM events deserve a text (rules), so routine messages stay in e-mail.

Responsible use

Built for alerts to yourself and your team, and texts people expect from you. One text goes to one number. Sending unsolicited messages from a consumer SIM generally breaches mobile carrier terms of service.

Synology and DSM are trademarks of Synology Inc. SMSTunnel is a third-party integration and is not affiliated with, endorsed by, or sponsored by Synology Inc..

No phone paired yet?

Install the Android app and sign in with your account, and you're ready in about a minute.

Get it on Google Play