Add canopy item listener