The doorCreate a prop_dynamic entity in your level. I can recommend checking out the different sequences/animations to see how it looks like when it's open/closed. (Model Tab). Name it something relevant as per good practice.

In this example, I've named it d_combinegate.

The buttonThis is entirely up to you. There are many ways to create buttons in hammer and they work in much the same ways.This is the simplest way that I can think of to create a button.

Create a func_button brush and give it an appropriate texture. You don't have to name the func_button brush.

The logicAlright, this is the fun part. If you haven't checked out the sequence/animation names for your door/gate model, doing so now would be a good idea.

Create a logic_branch entity and name it m_combinegate_logic.Set its initial value to 0 (false).