In order to set up your custom forms, you'll first need to create your custom fields. Check out how to do that here: Custom Fields.
Once you have your custom fields set up you can begin to build forms to categorize your requests, gather more information from your end-users, and even create recipes to trigger further actions based on the form used or the custom field response.
To make a new custom form, go to Settings > Form Builder > Add new custom form. From here, you will have the option to name the form, add and rearrange the fields you want to appear on the form, select which fields should be required, and choose which channels you would like the form to be available in.
Once your form has been built, end users will be prompted with the form picker when creating a ticket with the slash command (/halp). Also, if you have the setting 'Require Form Data on Reaction Tickets' set to enabled, the user will also be prompted with the form when marking a message with your ticket creation emoji.
Note: If you don't want the ticket to have the name of the form as the main description of the ticket, make sure you have a field called 'title' on the form. This will prevent the original message from being replaced with the form's name. For more on this check out this article: How the Title gets set on a Ticket.
The next step is to create recipes based on your forms. Say you have both your IT team and Sales Ops team in Halp and you have specific forms and triage channels for each team. You could set up a recipe that when a ticket is filled out with the Sales Ops Request form, it is automatically sent to the Sales Ops Triage channel. Another example is if your boss needs to be looped in whenever a ticket is high priority, you could set up a recipe to add your boss as a follower when the ticket is created or updated with the custom field set to Priority = Urgent.