Preheat the oven to 350°F. Line a cupcake tin with liners and set aside.
Add the flour, cinnamon, baking powder, and salt in a medium bowl and stir to combine well.
Add the sugar and butter to your mixer and beat until light and fluffy – about 5 minutes.
Add in the eggs one at a time and beat the mixture for about 2 minutes after you add each egg. Beat in the vanilla.
Alternate between adding the flour – in three additions – and the buttermilk – in two additions. Begin and end with the flour. Stir until just combined.
Evenly divide the batter among the cupcake liners and bake for about 18 minutes, or until a toothpick inserted in the middles of the cupcakes comes out with only a few crumbs sticking to it.
Remove from the oven and allow to cool completely.
As the cupcakes are baking, shred your apple (you do not need to peel the apple). Add to a skillet along with the butter, sugar, and cinnamon. Cook until the apples are soft and there is not much liquid in the skillet. Stir in the vanilla and caramel sauce.
While the cupcakes are cooling, make the frosting. Beat the butter until creamy. Add in the powdered sugar and salt and mix for about 3 minutes. The mixture will look clumpy and that is okay. Slowly beat in the vanilla, then the heavy cream one tablespoon at a time until the mixture becomes a silky, pipeable consistency.
Fit a piping bag with your favorite tip, then fill with the frosting.
Cut out holes in the cupcakes and stuff with the caramel apple filling. Frost with the vanilla frosting, then drizzle with the caramel.