When we created our @firstname.lastname@example.org Mastodon account, we were not sure how toots can be scheduled in advance. In the early days, we used one of the Mastodon Crossposting tools, but when that tool was shut down, we were unsure how to deal with the situation.
After doing a bit of research, I came across Larry Garfield's mastobot on GitHub. While it looked good, I did not want to self-host a cronjob and figure out how to make it easily accessible for our marketing team.
Thankfully Larry's project made me aware that there exists a scheduled posts feature in ActivityPub and the Mastodon API. However, most Mastodon UIs do not expose this functionality to the end user. So I tried to find Mastodon UIs allowing me to schedule toots via this functionality and these are the options I found:
You can find a running instance here: https://www.scheduler.mastodon.tools
This is a bit more complex PHP & Symfony application that in general works in a similar way as the mastodon-scheduler-v2 project. In contrast to mastodon-scheduler-v2 this application does not need a developer application registered with your Mastodon account. It allows you to generate an access token on the fly which is only valid until your session expires.
You can find a running instance here: https://plan.fedilab.app
The interesting thing is, that the mentioned tools work client side only. No data is stored on 3rd party servers, you just interact with your Mastodon server.
If you prefer to use a mobile app instead, for Android exists the Fedilab app which also allows you to schedule toots.