If you’re on Service Hub Pro or Enterprise, you can set this up pretty cleanly using the Inbox (Help Desk/Conversations) plus Tickets.
Build the ticket pipeline
Go to Settings > Objects > Tickets > Pipelines
Create whatever stages make sense to your process: like New, In Progress, Waiting on customer, Resolved, Closed, etc. You can also specify which pipeline/stage your automated ticket will live in, which is why this step is first.
Connect channel > Team email and connect the shared mailbox
Automatically create tickets from inbound email
In the inbox settings, enable the option to create a ticket for new incoming conversations
This will create a ticket for each new email thread and keep it linked to the conversation
Map Subject to Ticket title and set other fields
Subject to ticket name is typically handled automatically when tickets are created from inbox conversations
For anything else (category, priority, assignment), use ticket properties plus a ticket-based workflow to set values on create
Auto-reply with the ticket ID or ticket number
If you want the reply to include the ticket number or ticket ID, you’ll need a ticket-based workflow
Trigger: ticket created
Action: send an email using ticket personalization tokens so the message includes the ticket identifier
If you’re on Starter and not Pro/Ent you’re going to have issues with the automatic inbound ticket creation and the auto-reply that includes the ticket number.
Hope this helps!