There's no integration for keeping track of that. It's also hard to determine a basket has used a promotion as it's stored in the parameters of the basket. Specifically they're stored as promotions_coupons in integrations params as |*| delimitered. Using the below usage just might work.
Plan Active
Global
Triggers: onCPayUserStateChange
User: Automatic
Access: Everybody
Conditions
1: [var3] Equal To PLAN_ID_HERE
2: [var2] Equal To A
3: [var5_promotions_coupons] Is Not Empty
You can use a REGEXP condition to look for a coupon code in [var5_promotions_coupons] more specifically if needed. var5 is the $integrationParams object for that trigger, which is where the promotion coupon codes are stored for a basket.