SANTA CLARA -- Ross Dwelley was at the Red Lion Hotel Paper Valley in Appleton, Wisconsin, on Oct. 15 last year when he got the call that changed everything.
49ers general manager John Lynch was on the line.
Lynch officially informed Dwelley, an undrafted rookie tight end from the University of San Diego, he was being promoted from the 49ers' practice squad and he would be in uniform later that evening to play against the Green Bay Packers.
Dwelley did not see any snaps on offense that first game. He played entirely on special teams. But Dwelley's status on the 49ers' 53-man roster has not been in serious doubt since that day.
On Monday, Dwelley could be the 49ers' primary tight end for the team's' biggest game of the season. The 49ers have a key NFC West matchup against the Seattle Seahawks at Levi's Stadium and star tight end George Kittle is doubtful because of knee and ankle issues that have kept him out of practice this week.
"I've always had confidence in myself," Dwelley said. "Coming from undrafted, you got to have an inner confidence in yourself that you can be that guy for the team. I feel like I have that confidence. It was a matter of proving it to everyone else that you can be that guy."
Dwelley won his spot on the 49ers this season as Kittle's backup. He started the past four games with fullback Kyle Juszczyk out of action with a knee injury. The 49ers deployed a large dose of two-tight end personnel groupings, with Dwelley also seeing considerable time at fullback.
"Ross is a good player," 49ers coach Kyle Shanahan said on "49ers Game Plan," which airs Saturday at 7 p.m. on NBC Bay Area (Ch. 3).
"He's gotten better and better since he's been here. Originally, being an undrafted free agent and making our practice squad, he's gotten his opportunity. He made a few plays for us at tight end last year. He's been making some plays at fullback. Ross is up for everything. Whatever you think he can't do, give him a couple reps at it, and he usually surprises you and figures it out."
Now, Juszczyk is expected back just as Kittle is likely to be out of action.
Through seven games, Dwelley had a grand total of three receptions for minus-1 yard. He absorbed some good-natured fun at his expense from his teammates and coaching staff for his meager statistical line.
But in Week 9 against the Arizona Cardinals, Dwelley made one of the biggest plays of the game at a key moment with Kittle sidelined late in the fourth quarter with his injuries. On a third-and-9 play, quarterback Jimmy Garoppolo found Dwelley for 11 yards. The 49ers were able to run out the clock from there on a 28-25 victory.
"It definitely is a boost in confidence, knowing that coach Shanahan is drawing up plays for you, and that he and Jimmy have faith in you to go to you in that clutch moment," Dwelley said. "It's a confidence boost for yourself to know that you can make that play in a clutch moment on the biggest stage."
Dwelley finished that game against the Cardinals with career-highs of four catches for 29 yards. The 11-yard pass he caught late in the fourth quarter was also the longest of his 19-game NFL career.
Dwelley had an outstanding four-year career at San Diego, where he caught 198 passes for 2,310 yards and 26 touchdowns. Yet, the 49ers were one of the few teams to show any interest in signing him. Jon Embree, the 49ers' tight ends coach, gave Dwelley his only private workout leading up to the draft.
Dwelley made the 49ers' practice squad to open his rookie season, then replaced Cole Wick as the team's third tight end midway through last season. This year, Dwelley solidified his roster spot with a strong offseason.
He got stronger, improved his blocking, increased his speed and route-running. It made for a less stressful time at the end of training camp when the 49ers had to trim their roster from 90 players to the regular-season limit of 53.
"I wouldn't say I knew, but I wasn't worried at the same time," Dwelley said of his likelihood of making the team. "I just knew the work I put in during the offseason. I had confidence in myself."