How to wire up Form with Desk, so when a user submit a form, it becomes a ticket automatically? or I am not using the correct approach?

How to wire up Form with Desk, so when a user submit a form, it becomes a ticket automatically? or I am not using the correct approach?

Just really a very common help desk, that either
when a user send a email to my agent's email, then a ticket automatically created and when replied or resolved the user get a email update, like how zendesk work.
or just simply allow any user submit a form entry and it becomes a ticket...

Do I have to develop this with the API instead?