The Phase II upgrade of the CMS detector for the High Luminosity upgrade of the LHC (HL-LHC) includes the introduction of tracking at the Level-1 (L1) trigger, thus offering the possibility of developing a simplified Particle Flow (PF) algorithm. We present the logic of the algorithm, along with its inputs and its firmware implementation. We show that this implementation is capable of operating under the limited timing and processing resources available at the trigger level. The expected performance and physics implications of such an algorithm are shown using Monte Carlo samples with hιgh pile-up, simulating the harsh conditions of the HL-LHC. Additionally, advanced pile-up techniques are needed to preserve the physics performance in the HL-LHC environment. We present a method that combines all information to perform Pile-Up Per Particle Identification (PUPPI) capable of running at trigger level. Demonstration of the algorithm on dedicated hardware (ATCA platform) is presented.