Bailey (voiced by Josh Gad) is living the good life on the Michigan farm of his “boy,” Ethan (Dennis Quaid) and Ethan’s wife Hannah (Marg Helgenberger). He even has a new playmate: Ethan and Hannah’s baby granddaughter, CJ. The problem is that CJ’s mom, Gloria (Betty Gilpin), decides to take CJ away. As Bailey’s soul prepares to leave this life for a new one, he makes a promise to Ethan to find CJ and protect her at any cost.
Thus begins Bailey’s adventure through multiple lives filled with love, friendship and devotion as he, CJ (Kathryn Prescott), and CJ’s best friend Trent (Henry Lau) experience joy and heartbreak, music and laughter, and few really good belly rubs.