Not necessary for appointment. However having an appointment saves a lot of time and hassle. If you just walk in go early to get a number otherwise you'll sit and wait all day.
Your first time in Bangkok will have to be in person. Take a printout of the TM30 with. Thereafter you can do it online. I went through the same and first tried online but was rejected. That's why I know 🙂