Przejdź do treści
Zastosowania

Przypomnienia SMS o wizycie: jak je wysyłać automatycznie z własnego numeru

SMS przypominający o wizycie z własnego numeru: 12 gotowych szablonów do 160 znaków, kiedy wysłać, odpowiedź TAK/NIE przez webhook i planowanie przez API.

Zespół smsportalOpublikowano: 8 min czytania
Kalendarz, budzik i telefon z wiadomością – przypomnienie SMS o wizycie

Przypomnienie SMS o wizycie to jeden z najtańszych sposobów na mniej nieodwołanych terminów w gabinecie, salonie czy warsztacie. Poniżej znajdziesz 12 gotowych szablonów z liczbą znaków, zasady wyboru godziny wysyłki, obsługę odpowiedzi „TAK/NIE” przez webhook i dwa sposoby automatyzacji: z kalendarza przez n8n oraz z pliku CSV. Wiadomości wychodzą z Twojego zwykłego numeru, więc klient może na nie odpisać.

Kiedy wysłać przypomnienie o wizycie?

Wyślij je 24–48 godzin przed terminem, a przy wizytach umawianych z dużym wyprzedzeniem dodaj krótką wiadomość rano w dniu wizyty. Tyle czasu wystarcza, by klient odwołał termin, a Ty zdążysz zaproponować go komuś z listy oczekujących.

Praktyczny schemat dla większości usług:

  • 48 godzin przed – pierwsze przypomnienie z prośbą o potwierdzenie (TAK/NIE),
  • 24 godziny przed – powtórka tylko do osób, które jeszcze nie odpisały,
  • rano w dniu wizyty – krótka informacja z adresem lub prośbą o przyjście 10 minut wcześniej,
  • po wizycie – opcjonalnie prośba o ocenę.

Unikaj wysyłki w nocy i przed 8:00. Dla wizyt z rana poprzedniego dnia wieczorem (np. 18:00) działa lepiej niż 48 godzin wcześniej.

Ile znaków ma przypomnienie SMS i po co rezygnować z polskich liter?

Jeden SMS ma 160 znaków w kodowaniu GSM-7, ale tylko wtedy, gdy w tekście nie ma ani jednej polskiej litery. Wystarczy jedno „ą”, „ę”, „ł” czy „ó”, a cała wiadomość przechodzi na kodowanie UCS-2 i mieści już tylko 70 znaków w jednym SMS-ie. Dłuższy tekst jest cięty na części po 67 znaków (przy GSM-7: po 153), a każda część to osobna wiadomość z pakietu.

KodowanieKiedyZnaków w 1 SMSZnaków w SMS wieloczęściowym (na część)
GSM-7tekst bez polskich liter160153
UCS-2choć jedna polska litera7067

Gdy warto zrezygnować z ogonków: gdy mieścisz się w jednej wiadomości i liczysz każdy SMS (pakiet operatora ma limit), a także gdy wiadomość i tak jest techniczna. Gdy lepiej je zostawić: gdy to pierwszy kontakt z klientem albo marka stawia na staranny język. Wtedy zaakceptuj 2 SMS-y albo skróć treść do 70 znaków.

Licznik znaków i segmentów zobaczysz przy pisaniu wiadomości w aplikacji na telefonie i w panelu.

Ekran pisania SMS-a w aplikacji smsportal z licznikiem znaków i segmentów

Wskazówka: znaki [ ] { } ~ \ ^ | € w GSM-7 liczą się podwójnie. Unikaj ich w szablonach, jeśli liczysz każdy znak.

12 gotowych szablonów przypomnień SMS (do 160 znaków)

Wszystkie poniższe teksty są zapisane bez polskich liter, więc mieszczą się w jednym SMS-ie GSM-7. Liczba w nawiasie to liczba znaków z przykładowymi danymi.

Gabinet stomatologiczny i medyczny

  1. (114) Gabinet Kowalski: przypominamy o wizycie jutro, 12.10, o 10:00. Odpisz TAK, aby potwierdzic, lub NIE, aby odwolac.
  2. (97) Dzien dobry! Jutro o 9:30 czeka na Pania/Pana wizyta kontrolna. Prosimy o odpowiedz: TAK lub NIE.
  3. (102) Wizyta u stomatologa za 2 dni, pt. 11.10 o 11:00. Nie mozesz? Odpisz NIE, a zaproponujemy nowy termin.
  4. (49) Stomatolog: wizyta jutro o 10:00. Odpisz TAK/NIE.

Salon kosmetyczny i fryzjerski

  1. (111) Salon Ewa: Twoja wizyta jest jutro o 14:00 (koloryzacja). Potwierdz odpisujac TAK. Zmiana terminu: 600 100 200.
  2. (95) Jutro o 12:00 masz u nas zabieg. Pamietaj: bez makijazu i kremow. Potwierdz: TAK, odwolaj: NIE.
  3. (92) Zwolnil sie termin dzis o 15:30. Chcesz go zajac? Odpisz TAK, a zarezerwujemy go dla Ciebie.

Serwis samochodowy

  1. (97) Warsztat AutoSerwis: jutro o 8:00 przyjmujemy Twoje auto (przeglad). Odpisz TAK, aby potwierdzic.
  2. (89) Twoje auto jest gotowe do odbioru. Warsztat AutoSerwis czynny do 17:00. Rachunek: 480 zl.
  3. (108) Przypomnienie: w czwartek 10.10 o 17:00 odbior pojazdu po przegladzie. Adres: ul. Polna 5. Tel. 600 100 200.

Uniwersalne

  1. (91) Przypominamy: dzis o 16:00 wizyta w gabinecie. Prosimy byc 10 min wczesniej. Do zobaczenia!
  2. (77) Nie widzielismy Cie na wizycie o 10:00. Odpisz TERMIN, a umowimy nowa wizyte.

Do tego jedna wiadomość po wizycie (69 znaków): Prosimy o ocene wizyty: odpisz cyfra 1-5. Dziekujemy, ze byles u nas!

Zasady dobrego szablonu: nazwa miejsca na początku (klient widzi Twój numer, ale nie zawsze go zapisał), data i godzina, jedno jasne działanie („odpisz TAK”) i nic reklamowego. Gdy dopiszesz do przypomnienia ofertę, wiadomość staje się informacją handlową i potrzebujesz zgody (zob. SMS i RODO: zgoda marketingowa).

Jak działa odpowiedź TAK/NIE?

Klient odpisuje na SMS-a, a odpowiedź trafia do Twojego systemu jako zdarzenie webhooka. Ponieważ przypomnienie wychodzi z Twojego zwykłego numeru, nie potrzebujesz osobnego numeru do odpowiedzi ani nadpisu.

Przebieg:

  1. Telefon odbiera SMS-a od klienta.
  2. smsportal wysyła na Twój adres HTTPS żądanie ze zdarzeniem MESSAGE_RECEIVED (pola sender, message, receivedAt).
  3. Twój kod szuka klienta po numerze sender, odczytuje treść i zmienia status wizyty.

Przykład w Pythonie (Flask) z weryfikacją podpisu X-Signature:

python
import hmac, hashlib, os
from flask import Flask, request, abort

app = Flask(__name__)
SECRET = os.environ["WEBHOOK_SECRET"].encode()

@app.post("/sms-webhook")
def sms_webhook():
    raw = request.get_data()
    expected = hmac.new(SECRET, raw, hashlib.sha256).hexdigest()
    if not hmac.compare_digest(expected, request.headers.get("X-Signature", "")):
        abort(401)

    event = request.get_json()
    if event["webhookEvent"] != "MESSAGE_RECEIVED":
        return "", 204

    phone = event["sender"]                  # np. +48600100200
    answer = event["message"].strip().upper()

    if answer in ("TAK", "T", "YES"):
        set_appointment_status(phone, "potwierdzona")
    elif answer in ("NIE", "N", "NO"):
        set_appointment_status(phone, "odwolana")
        offer_free_slot(phone)
    return "", 200

set_appointment_status i offer_free_slot to Twoje funkcje: zapis do bazy, arkusza albo wywołanie API kalendarza. Deduplikuj zdarzenia po idempotencyKey, bo nieudane dostarczenia są ponawiane. Pełny opis w artykule o odbieraniu SMS przez webhook.

Uwaga: klienci odpisują różnie: „Tak”, „tak, będę”, „OK”. Normalizuj tekst (wielkie litery, bez spacji) i obsłuż kilka wariantów. Wszystko, czego nie rozpoznasz, zostaw do ręcznego przeglądu.

Jak zaplanować SMS na konkretną godzinę przez API?

Dodaj do żądania POST /gateway/send-sms pole scheduledAt z przyszłym czasem w formacie ISO 8601. Serwer przetrzyma wiadomość i wyśle ją w podanym momencie, więc nie musisz uruchamiać własnego harmonogramu.

bash
curl -X POST "https://smsportal.app/api/v1/gateway/send-sms" \
  -H "x-api-key: $SMSPORTAL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "recipients": ["+48600100200"],
    "message": "Gabinet Kowalski: przypominamy o wizycie jutro, 12.10, o 10:00. Odpisz TAK, aby potwierdzic, lub NIE, aby odwolac.",
    "scheduledAt": "2026-10-11T08:00:00Z"
  }'

Czas podawaj w UTC (końcówka Z) albo z przesunięciem strefy, np. +02:00. Uwaga na zmianę czasu z letniego na zimowy: wyliczaj termin w kodzie z uwzględnieniem strefy Europe/Warsaw. Planowanie jest dostępne w API, nie w formularzu wysyłki z pliku CSV.

Telefon musi być w momencie wysyłki włączony, z internetem i zasięgiem. Wiadomości czekają w kolejce do 72 godzin, potem wygasają, więc status warto sprawdzić webhookiem MESSAGE_DELIVERED lub MESSAGE_FAILED. Więcej o stabilności pracy telefonu: niezawodność bramki.

Oś czasu pojedynczej wiadomości w aplikacji smsportal

Jak zautomatyzować przypomnienia: kalendarz Google, n8n i CSV?

Masz dwie proste drogi, bez pisania własnej aplikacji.

Kalendarz Google → n8n → API

  1. W n8n dodaj wyzwalacz Schedule (codziennie o 18:00) albo Google Calendar Trigger.
  2. Pobierz wydarzenia z jutra z kalendarza gabinetu. Numer telefonu klienta trzymaj w opisie wydarzenia (np. linia tel: +48600100200).
  3. Węzłem Code wyciągnij numer i złóż treść z szablonu.
  4. Węzłem HTTP Request wyślij POST /gateway/send-sms z nagłówkiem x-api-key.
  5. Drugi workflow z węzłem Webhook odbiera odpowiedzi TAK/NIE i aktualizuje wydarzenie.

Gotowy opis węzłów znajdziesz w artykule n8n i SMS. Natywnego węzła smsportal w n8n nie ma, używasz zwykłych węzłów HTTP Request i Webhook.

Plik CSV z jutrzejszymi wizytami

Jeśli system rezerwacji potrafi wyeksportować listę wizyt, wgraj ją w panelu: Wysyłka zbiorcza, dopasuj kolumnę z numerem i wpisz treść ze zmiennymi, np. Dzien dobry {{ imie }}! Jutro o {{ godzina }} wizyta w gabinecie. Odpisz TAK lub NIE. Każdy wiersz dostaje własną wiadomość. Szczegóły: masowa wysyłka SMS z CSV. Wysyłka z pliku idzie od razu po potwierdzeniu, więc zrób ją o właściwej porze.

Trzy scenariusze z życia

  • Gabinet stomatologiczny. Recepcja ma stary telefon podłączony do ładowarki. Dzień przed wizytą wychodzi szablon nr 1. Odpowiedź NIE uruchamia w kodzie propozycję terminu z listy oczekujących (szablon nr 7).
  • Salon kosmetyczny. Zabiegi trwają godzinę, więc każda nieobecność to strata. Wiadomość nr 5 idzie 48 godzin wcześniej, a nr 6 z instrukcją przygotowania w dniu poprzedzającym.
  • Serwis samochodowy. Szablon nr 8 przypomina o przyjęciu auta, a nr 9 wysyła pracownik po zakończeniu naprawy. To klasyczna wiadomość „auto gotowe do odbioru”. Zbliżone automatyzacje opisujemy przy powiadomieniach o zamówieniu.

Na co uważać przy przypomnieniach SMS

  • Zakres wiadomości. Przypomnienie o umówionej usłudze to co innego niż reklama. Nie dopisuj promocji.
  • Dane w treści. Nie podawaj rozpoznania ani szczegółów leczenia. SMS to nie jest poufny kanał. Wystarczy data, godzina i miejsce.
  • Telefon jako nadajnik. Ma być zasilany, z internetem i bez agresywnego oszczędzania baterii. Aplikacja podpowiada, co poprawić w ekranie stanu urządzenia.
  • Skala. Kilkadziesiąt wizyt dziennie to dla jednego telefonu bagatela. Przy tysiącach dziennie rozważ kilka telefonów albo bramkę hurtową.

Wypróbuj przypomnienia SMS z własnego numeru

Zainstaluj aplikację na Androidzie, połącz ją z kontem i wyślij pierwsze przypomnienie w kilka minut. Plan na start jest bezpłatny, a dokumentację API znajdziesz w api-docs. Jeśli dopiero zaczynasz, przeczytaj najpierw czym jest bramka SMS i jak wysłać SMS przez API, a przykłady w Pythonie, Node.js i PHP znajdziesz w osobnym poradniku. Potem załóż konto.

Najczęściej zadawane pytania

Kiedy wysłać SMS z przypomnieniem o wizycie?

Najczęściej 24–48 godzin przed terminem, bo klient ma jeszcze czas, żeby odwołać albo przełożyć wizytę, a Ty zdążysz zapełnić zwolniony termin. Przy wizytach umawianych z dużym wyprzedzeniem dodaj krótkie przypomnienie rano w dniu wizyty.

Czy w przypomnieniu o wizycie można używać polskich liter?

Można, ale każda polska litera przełącza całą wiadomość na kodowanie UCS-2, w którym jeden SMS ma 70 znaków zamiast 160. Dłuższy tekst zostaje połączony z kilku części i liczy się jako kilka wiadomości, więc przy krótkich przypomnieniach często warto zrezygnować z ogonków.

Czy do przypomnienia o wizycie potrzebna jest zgoda klienta?

Przypomnienie o umówionej wizycie to wiadomość dotycząca usługi, o którą klient sam poprosił, a nie reklama. Gdy dopiszesz do niej ofertę lub promocję, robi się z niej informacja handlowa i wymaga zgody. Szczegóły omawiamy w artykule o SMS-ach i RODO.

Jak klient może potwierdzić wizytę SMS-em?

Prosisz w treści o odpowiedź TAK albo NIE. Klient odpisuje na Twój numer, odpowiedź trafia do webhooka jako zdarzenie MESSAGE_RECEIVED, a Twój kod zmienia status wizyty w kalendarzu lub arkuszu.

Czy można zaplanować SMS na konkretną godzinę?

Tak, przez API. W żądaniu send-sms podajesz pole scheduledAt z czasem w formacie ISO 8601, a serwer przetrzymuje wiadomość do tego momentu. Planowanie nie jest dostępne w formularzu wysyłki masowej z pliku CSV.

Wyślij pierwszego SMS-a jeszcze dziś

Załóż darmowe konto, podłącz telefon i sprawdź, jak klienci reagują na wiadomości z Twojego numeru.