In a skillet, melt 1 tablespoon butter (or oil) over medium heat. Add onions and cook until caramelized.
Mix chicken with mayonnaise, Dijon mustard, garlic powder, salt, pepper, and the caramelized onions.
Butter one side of each bread slice.
Layer cheese, chicken mixture, and any optional toppings on the unbuttered side. Add another slice of cheese, then top with bread (butter side out).
Heat a skillet or griddle over medium-low. Cook the sandwich for 3–4 minutes per side until golden brown and cheese is melted.
Slice in half, serve hot, and enjoy!