Council members Bernard Rubal and Phil Vaughan were the two dissenting votes.
How it happened
Shelby's appointment came after two other motions to appoint Patrick Day and Kenneth Mitts failed.
How we got here
Bulman resigned from her seat during a May 6 meeting, following claims that she was being bullied.
The office of mayor or a council member becomes vacant upon the death, resignation, recall or removal from office in any manner authorized by law or forfeiture of office. When a vacancy occurs on the dais, the remaining remembers must appoint a qualified person to fill the unexpired term within 30 days, according to the city's charter.
What the dais is saying
Council member Bear Goolsby made the motion to appoint Shelby.
"I do believe that Shelby has a vision for the city that moves along in the direction that I see the city going," Goolsby said.
Putt said she always felt that Shelby was fair.
"It was a hard decision, and I'm hoping that the candidates who were not appointed tonight take it and spend this year being involved and being on boards and being on commissions...and run the next time," Putt said.
Council member Christina Fitzpatrick said she was impressed with Shelby during his time on council.
"He really showed an ability to understand concepts and kind of quickly wrap his head around things that were changing and needed to be understood," Fitzpatrick said.
Vaughan said he voted not to appoint Shelby because he thought there were other candidates he would prefer to see on council.
"We also just had somebody quit for what they perceived to be bullying and I am concerned that that might continue, so I would like to reduce the temperature on council and I'm concerned that may not happen," Vaughan said.
Rubal said he could not support appointing Shelby because of his former record.
Next steps
Shelby will be sworn in to a council seat during the next council meeting on June 3 and serve on the dais until 2027.