There’s a particularly prevalent — but completely incorrect — belief wandering around that sandboxes don’t have scenario hooks.
To the contrary: A good sandbox has scenario hooks hanging all over the place. The successful sandbox will not only be festooned with scenario hooks, it will also feature some form of default action that can be used to deliver more hooks if the players find themselves bereft of interesting options.
For example, a typical hexcrawl sandbox features a rumor table (which serves up some arbitrary number of scenario hooks to the PCs) and a default action if none of those rumors sound appealing (wandering around the map until you find something interesting).
A megadungeon sandbox similarly features a rumor table and a default action (go explore some unknown part of the dungeon).
Prepping this plethora of scenario hooks can be daunting for a GM who believes that every scenario hook needs to be linked to a distinct, unique plot. The trick to a sandbox is that you don’t prep plots: You prep situations. And for the sandbox you’ll be able to hang countless hooks off of every situation. You’ll also discover how sandbox situations “stay alive” even after the PCs have interacted with them (instead of being completely chewed up and discarded).
For example, let’s say you’ve got a dungeon a fair distance outside of town that’s the remains of a Neo-Norskan temple complex. It’s currently being occupied by a Bandit King who has forged together an alliance of humans, goblins, and ogres. He’s also renting skeletons off a nearby necromancer.
In terms of scenario hooks, there’s all kinds of stuff you can hang on this situation: Bandit raids are terrorizing local villages. A powerful magical artifact was stolen from a local caravan. There are old legends about the Neo-Norskan temple and what it contains. Because of the skeletons, there are false rumors that the necromancer lives there. Or that the necromancer has allied with the Bandit King. (And you can salt these scenario hooks into the campaign in any number of ways: Rumor tables. Lore recovered from other locations. Allies of the PCs who are now in need. Et cetera.)
So one day the PCs grab one of these hooks and they go off and they kill the Bandit King and they take the magical artifact he was carrying.
Over and done with, right? Only not really, because the guy who originally owned the magical artifact still wants it, so now the PCs are getting attacked by bounty hunters attempting to recover the artifact. Meanwhile, they didn’t wipe out all the bandits and the remaining goblins are renewing their raids under the leadership of the One-Eyed Ogre.
So the PCs go back to the Neo-Norskan temple and this time they wipe out all the bandits, permanently ending their threat to the region. Except now the Necromancer sees a big, open dungeon complex filled with the discarded corpses the PCs have left in their wake, and so he moves in and animates the corpses as a skeletal army.
Which all sounds like a lot of work, but because you prepped the whole thing as a situation to begin with you haven’t needed to spend more than about 5 minutes “refreshing” this content between sessions: You’re reusing the same maps and stat blocks over and over again. You spent a little time putting together new stat blocks for the bounty hunters when they showed up. And there was probably some light re-keying necessary for the changes the Necromancer made when he took over the complex.
You didn’t have to buy a whole new set of tools every single time. You just occasionally added a new tool when necessary. (And occasionally removed a hammer that the PCs had broken.)
This can be easier to visualize with a location (which is why I use it as an example), but the same basic process holds true for, say, factions in an urban campaign. Create a gang that’s, for example, manufacturing and marketing a drug derived from blood that’s been harvested from vampires and you should be able to use that toolkit to generate dozens of sessions of play.
The other thing that happens in a sandbox campaign is synergy between the different elements of the sandbox: By holding onto the artifact that was stolen from them, the PCs make enemies of House Nobuzo. This unexpectedly earns them a patron in the form of House Erskine, unleashing a flurry of scenario hooks from the “feuding noble houses” toolkit you designed. As the PCs get drawn into that world, they’re approached by a minor house named Tannar: They’re currently allied to House Nobuzo, but their daughter has been murdered by the Necromancer who has now stolen her body in order to transform her into his Corpse Bride. If the PCs can rescue their daughter from a fate literally worse than death, they’ll break their alliance with House Nobuzo and pledge for House Erskine.
After that scenario has resolved itself, you might find that the players are now actively looking for minor houses that they can endear to their political causes by doing favors for them. (Which would organically create a new default action for delivering scenario hooks.)
In any case, once your sandbox toolkits start interacting with each other like this, you’ll quickly find that the sandbox is basically running itself.