How should I specify the "start on" condition to run an upstart script when a device (an external disk) is attached?
Yes. Have a read of
The other route is just using udev to trigger run a script when you plug something in. That could be anything, including running a upstart command.
Upstart has a