custom coupon code

Hello, I’ve got a simple question about coupons hope you’ll be able to share some light.
Im using the Buy X Get Y coupon.
Can I change the Get Y items to Get Y Discount ?
Meaning that if someone buys X products, than instead of getting Y products, he will simply get a discount for the total price. (a user is buying 3 products with total cost of 10$ and when applying the code, he will get 2$ discount. when he buy 6 products, he will get 4$ discount and so on. )
For each X items bought (3) , get $ discount (and not free itmes) - Is it doable?
And while we’re here, Can i auto apply the coupon if they reach the needed amount? (3 products of move) instead of “forcing” them to enter the coupon code ?
Thanks in advance !