I figured it out. In version 3.1 of Bot Builder, we have the ability to listen for matches to phrases using Regex - see IntentDialog. Using this, anywhere in your dialog flow a user can type a certain phase out of context (like 'help') and can be redirected to that route.
We can use the same method when a button is tapped. The important thing to note is that the message that is returned when a button is tapped is NOT the string seen by the user. Instead, it is the route that the button is hoping to direct to.
Therefore, you can use Regex to listen for the route, and then redirect to that route. For example:
var intents = new builder.IntentDialog();
bot.dialog('/', intents);
intents.matches(/^theRouteYourButtonIsDirectingTo\//i, [
function (session) {
// Whatever you want to return
},
]);