We are doing exactly what you are describing.
First we disabled the default “Lifecycle > Retirement”-Button in Configuration and replaced it with a CustomButton
The Custom Button executes a pretty simple state machine, which basically does something like this
vm = $evm.root['vm']
cooldown_phase = 4.weeks
disable_monitoring_for_vm(vm)
remove_visibility_tags(vm)
send_email_notification_to_vm_owner(vm, "Hey your VM is about to be deleted")
vm.stop
vm.retires_on = Time.now + cooldown_phase
This StateMachine only powers the VM off and sends a warning to the VM owner. If we get an angry email from the user, that we should not delete the VM, we simple power it back on and remove the retirement date in the UI.
Once the retirement-date is reached, ManageIQ will automatically start to retire the VM. This means, that it will call /Infrascructure/ VM/Retirement/StateMachines/VMRetirement/Default
If you do all your retirement steps in this StateMachine, the VM should be deleted automatically 4 weeks after the user initialized retirement
Because you said you are new to ManageIQ, I am going to link 2 ebooks about Automation in ManageIQ (the first one is the important one)
https://pemcg.gitbooks.io/mastering-automation-in-cloudforms-4-2-and-manage/content/
https://manageiq.gitbook.io/mastering-cloudforms-automation-addendum/