Glycogen synthesis:
To synthesize glycogen three enzymes are needed:
1. UDP-glucose pyrophosphorylase catalyzes the synthesis of UDP-glucose from UTP and glucose 1-phosphate:

The pyrophosphate (PPi) is immediately hydrolyzed through inorganic pyrophosphatase, releasing energy. Therefore the whole reaction is very exergonic and essentially irreversible.
2. Glycogen synthase now transfers the glucosyl residue from UDP-glucose to the C4 OH group at the nonreducing end of a glycogen molecule, forming a α1-4 glycosidic bond. Amusingly, glycogen synthase can only extend an existing chain. Therefore it needs a primer; this is a protein known as glycogenin. Glycogenin holds eight glucosyl units linked via α1-4 link- ages, which are added to the protein through itself for instance Autocatalysis. It is this molecule which glycogen synthase then extends. Every glycogen granule contains only a single glycogenin molecule at its core. The reality that glycogen synthase is fully active only when in contact with glycogenin limits the size of the glycogen granule.

Figure: The UDP-glucose pyrophosphorylase reaction.
3. Branching enzyme [amylo-(1-4→1-6) transglycosylase] is a variant enzyme from glycogen-debranching enzyme. Units have been joined as a straight chain with α1-4 linkages and branching enzyme breaks one of the α1-4 bonds and transfers a block of residues (generally about seven) to a more interior site in the glycogen molecule after a number of glucose, reattaching these by creating a α1-6 bond. The branches are important because the enzymes which degrade and synthesize glycogen (glycogen synthase and glycogen phosphorylase, correspondingly) work only at the ends of the glycogen molecule. Therefore the existence of several termini permits a far more rapid rate of degradation and synthesis than would be possible with a nonbranched polymer.

Figure: Synthesis of glycogen by glycogen synthase.