Many years ago, I created a messaging system for a puzzle hunt (AKA puzzle race) and I utilized Twilio for SMS text messages. Twilio provides a way for their customers to send SMS text messages through cell phone carriers to their devices. In other words, you can text people from a computer program of your own design.

The way the Twilio API worked back then was simple (to a computer programmer): You sign up with Twilio and then write your app to contact their server to send messages. The data was in an XML format that included some secret API keys and the message. Twilio would send out the message to the destination phone number and then charge your account the appropriate amount, probably a fraction of a cent at the time. One of the nice things about services like Twilio is the need to rent a phone number for this and the ability to receive messages at this number. Their system can be configured to contact your computer with a data packet whenever a text message comes in.

I used the Twilio service as an automated answer checker. Participants in the puzzle hunt would be instructed to send a text to our number and some software would check the message for accuracy. The messages would be in the form of “zero flowers” or “nineteen zebras” and my software would let the participants know if they are wrong. It’s a good system since the purpose of the puzzle hunt is to solve things, not to fail and not know about it. It’s more fun to keep traying than to wait until the end of the event to discover mistakes.

Now in 2024 (2025 in about a week) Twilio still exists and everything works in the same way. Except for the A2P 10DLC government requirements. In an attempt to curve SMS spam, the government requires that people sending text messages be registered. My company is adding Twilio support to our apps for a client and we had to register a “brand” and then a “campaign”. We are not a brand, we are just a company. But I suspect that this was designed so a monolithic company could register multiple brands. The brand registration included some business information that we screwed up at first and Twilio made it hard to fix. It was just their UI that made it tough since they used business information in the brand registration and they made it seem like data we entered for the brand was wrong. We got locked out of the brand data entry after a few tries and it wasn’t until I checked our company info that I saw that it was there that the data was entered incorrectly and could be fixed. once I did that, I was able to start a new brand registration and it got approved.

Then I registered a campaign. For the campaign, Twilio asks for a description of how users opt-in to the messaging campaign and what the messages might look like. One very odd thing is that they ask what type of campaign this is and it was not clear what to select. Do I select “mixed” because we might send a user info about their account and also send them notifications about work assignments? No, since their work assignments are related to them and their work related “account” with us, I needed to pick “account related messages.” This part was worrisome to me since It’s more business related than tech related and I’m not the owner or manager of our business, I’m one of a few programmers on staff.

On a related note, what type of messaging we would be doing, that answer to the type if campaign we have, would determine how much we pay and what throughput we get. But they don’t tell us exactly what answer gives us what throughput or fees. They expect us to guess right and then we get what we get. At least at the volume we will be sending messages, maybe a few a day, the worse effect from a bad choice will be us paying $10 a month instead of $1.50 a month in fees. Throughput is not going to be an issue.

We are all set up now. Our brand was approved and our campaign was approved. I’ve been doing some testing and I was happy to get some texts. My boss had given me his number to use for testing but since my first test message didn’t say who it was from, he blocked the number, lol.

It’s cool to be able to send text messages form software. It was cool when I worked on the puzzle hunt and it’s still sort of cool.