The Bees will play Yeovil in the play-off final at Wembley on May 19 after overcoming the Robins 5-4 on penalties following a 3-3 draw at Griffin Park which meant the tie finished all square at 4-4 on aggregate.
Miles Storey missed Swindon's fourth spot-kick. That left Adam Forshaw to step up and score the winning penalty and send Brentford through.
MacDonald, who felt Nathan Byrne's red card in the 101st minute was a pivotal moment in the second leg, said: "The character of the team has been fantastic all the way through the season.
"You saw that again, but the sending-off turned the game.
"Miles showed a lot of character to step up there. I am proud of him, but someone had to miss."
After the 1-1 draw in the first leg at the County Ground just 48 hours earlier, Brentford edged ahead early on when Harry Forrester whipped in a corner and Adam Rooney diverted the ball past his own goalkeeper.
Clayton Donaldson made it 2-0 with a shot from outside the box but a mistake in Brentford's midfield allowed Rooney to pull one back before half-time.
Straight after the break Donaldson raced clear to restore Brentford's two-goal lead, and that should have been that.
But Joe Devera swept in a half-cleared cross to reduce the deficit and Aden Flint headed an equaliser in injury time to send the tie to extra time, and ultimately penalties.
- Sports & Recreation
- Adam Forshaw