The source said the deal was worth up to $3 million with incentives.
Willson, who turned 27 in January, has started 30 games over four seasons with the Seahawks, but he was targeted a career-low 21 times -- with only 15 receptions -- as Jimmy Graham was the clear No. 1 tight end in 2016, when healthy.
Seahawks coach Pete Carroll praised Willson for being an unselfish, team-first player and said the team had discussions with him during the season about an extension, but the two sides were not able to agree to terms.
Willson, an average blocker, was a fifth-round pick in 2013. He has 74 career catches for 976 yards (13.2 yards per reception) and only dropped one pass on 46 targets in the past two seasons.
ESPN's Sheil Kapadia contributed to this report.