[verb て-form] + すみません [verb ない-form 〜ない → 〜なくて] + すみません [i-adj 〜い → 〜くて] + すみません [na-adj] + で + すみません
てすみません apologises for something specific: "sorry for ~ing", "sorry that ~". What you did goes in the て-form in front of すみません. The て-form carries no tense, so the same shape covers what you did yesterday, what you've just done and what you're doing now.
For something you failed to do, the ない-form changes ない to なくて. ないで means "without ~ing" and gives no reason, so it doesn't work here.
An い-adjective takes くて, and a な-adjective で. To apologise for making a noise or a mess, い-adjective く goes with して.
すみません is for something just done or still going on. すみませんでした looks back on a matter that is over, such as yesterday's absence. With friends it is ごめん or ごめんなさい, and at work or to a customer もうしわけ申し訳ありません or もうしわけ申し訳ございません.
When someone does something for you, Japanese often apologises for the trouble where English says thank you. The favour goes in てもらって or てくださって.