The 36-year-old, who retired from his playing career at the end of the season due to the effects of a knee problem, will begin his new role in September.
"I want to thank FC Barcelona for everything they have given me before and for this opportunity they are giving me now," Puyol told the club's official website.
"I have always played football and I have tried to do my best and I will do the same here. I need some time now to rest and continue with the odd bit of knee treatment but I am full of excitement about this new stage in my life."
Puyol, who joined Barca's academy almost 20 years ago, won 21 trophies during his illustrious career.