How to send a text message from an ATMEGA328PB microcontroller
One way or another you will need some sort of communication module. You could use a GSM module as you mentioned, or a WiFi/Ethernet chip. If the latter, you can use any internet-based SMS service (Google Voice, VOIP, etc). If you go with the WiFi approach, I'd suggest an Espressif chip (ESP32 or ESP8266). They're cheap and have a lot of Arduino support.