Hatchik help → Your contact form

Your contact form.

A website on Hatchik is just files, so a form on it has nowhere of its own to send a message to. Hatchik takes the messages for you instead: they appear on your project page under Messages from your site, and you get an email at the same time.

This works the same on a free website and on a paid app. An app could take its own messages, into its own database — but it does not have to, and if you would rather the enquiries just arrived in your inbox, point the form at Hatchik and they will.

Ask Claude for a contact form and it wires this up. You do not have to do anything.

It is off until your site has a form on it.

Your site's address is public, so anybody could try to push messages into your enquiry list. So the form is off for a project until you publish a page that actually has a contact form on it — at which point it turns itself on.

Publishing is what looks, and it looks at everything you publish. On a website that is the page itself. On an app it is the code that builds the page, so a form written in a template, in main.py, or in a front end you build counts just the same.

If you ever take the form off your site, turn it off on the project page too. While it is on, the address is open for messages whether or not the form is still there.

If your form is not taking messages.

Send yourself a test message from your own site. If what comes back says this site has no contact form, the address in your form is not the one Hatchik is watching for. It should be your project's own, like this:

<form method="POST" action="https://app.hatchik.com/f/your-project">

Publish again with that in place and it turns itself on. You can also switch it on yourself on the project page, under Messages from your site.

What Hatchik refuses.

You will not see any of this, but it is what keeps your enquiry list yours:

  • Messages sent from anywhere but your own pages. Someone filling in your form on your site is let through. A script pointed at the address, with no browser and no page behind it, is not.
  • Too many at once. There is a cap per sender per hour, and a cap on the whole site per hour and per day. Genuine enquiries never come close.
  • Anything enormous. A message far longer than anything a person types is turned away before it is read.
  • Empty messages, and anything that fills in the hidden box only a bot can see.

The subject line of the email you get.

Hatchik writes it: *New enquiry from <your site's name>*. It is always that.

It used to be whatever the sender put in a field called _subject, which meant somebody could send you an email, genuinely from Hatchik, saying whatever they liked in the part you read first. Whatever anyone types now — that field included — is in the body of the message with the rest of what they wrote, and never in the subject.

Where the messages go.

To the address on your project page, under Send enquiries to. Leave it empty and they go to the address you sign in with. Set it to the shop's address and they go there instead, which is usually what you want — signing in and handling enquiries are often two different people.

Every message is also on the project page, and in Download everything as a spreadsheet. They are yours; nothing here is a place they can be stuck.

The same page as plain text, for an AI or anything else that prefers it: /docs/contact-form.md