handle the add-on workflow