You can achieve it by 2 way.
1. Create detective update rule with condition datediff(a.enddate, curdate())=7 then add launch campaign as an action in the rule. Make sure to schedule detectiverulerun everyday once.
2. Create non-detective update rule with condition (##a.custompropertyXX is updated## and a.custompropertyXX='LaunchCampaign') and add launch campaign as an action in it. Create SAV4SAV with userimport xml and query which will update custompropertyXX with string "LaunchCampaign" for users whose enddate is still have 7 days.
As per best practice from Saviynt, it is better to use Approach 2 as suggested by @pmahalle