A trigger, vaguely, is any external input that causes an event or a series of events to start. Walking into a pre-defined area can cause a door to open. Using a button can turn on a light. Shooting at an enemy soldier can cause more soldiers to shoot back at you. All these situations are examples of triggers, and these triggers are handled with Source's Input/Output system. One of the simplest things we can do with the Input/Output (I/O) system is open a door with a trigger_once entity.
A trigger_once entity is a brush-based entity that will initiate a sequence of events (fire outputs), when it collides with the player. So our trigger's input will be the player colliding with the brush, and our trigger's output will be opening a door.
Create two rooms with a door-textured brush separating them. Turn the door-textured brush into func_door entity and then let's take a quick look at the func_door properties.