Is there a way to prevent agents from deleting tickets and only allow select agents the ability to delete?
The tickets in HelpDesk are stored in a SharePoint list. You can set up user-specific permissions for that list so that some of the users won't have the permissions to delete items.
I would add two SharePoint groups for that, say, Admins and Agents.
Please note that, by default, SharePoint online sites do not have permission levels with the permission to edit but restrictions to delete. So, the most tricky part here is to create a custom permission level.
Please open your permission settings and do the following:
Go to managing permission levels:
Duplicate one of the default levels, I recommend "Contribute" for this task. To duplicate a level, open its settings, skip down and click on "Copy Permission level".
Finally, name your new permission level and remove the checkboxes that correspond to "Delete" permissions:
After this, please open the Tickets list Permissions settings, brake the permission inheritance, and set up the new permissions for the new groups:
NB! The comments for the ticket are stored in the separate "Comments" list. If you don't want your agents to able to delete the comments either (they can't do this with the ticket form, but they can open the Comments list and delete those manually), please set up the permissions for the Comments list the same way.
Thanks for the info!