First of all, login is distinct from startup. This answer assumes you mean login, as you apparently refer to the ability to start programs as configured in System Preferences » Users & Groups.
Run Automator scripts using the command line utility
automator and AppleScripts using
man pages explain the usage in detail.
You can set a login hook, but it is rather outdated and deprecated in favor of
You can create
launchd jobs by placing XML configuration files in your
~/Library/LaunchAgents directory. This site contains quite a few rather minimal examples, and you can view
/System/Library/LaunchAgents for examples of system-provided
launchd jobs. You need the
RunAtLoad directive for
You still can save your AppleScripts and Automator scripts as applications, and run them as such. To hide them from the Dock, edit their
Contents/Info.plist file and add an
LSUIElement directive as described e.g. here. This will hide its Dock icon and menu.