Skip to content

Connect your website's own form with Website Forms

Website Forms is built into Crewtavo and works like Formspree. You keep the form your website already has, in its own fonts and colors, and change one thing: where it sends. Each message then becomes a request in Crewtavo, and an email goes to the people you choose. Reply to that email and you’re answering the customer.

It costs nothing extra, and the messages stay in your own Crewtavo.

An owner, or an admin who can connect apps, does this once.

  1. Open Apps (in the menu on a computer, or under More on a phone) and choose Crewtavo - Website Forms, under Built into Crewtavo.
  2. Click Install.

A form called Contact form is ready right away. It has its own address, and it emails your business’s email address from Settings → Company (or yours, if the business doesn’t have one yet).

On the app’s page, under Point your form at this address, click Copy. In your website’s form, set the action to that address and the method to POST:

<form action="https://crm.yourbusiness.com/f/3fa9c2d71b" method="POST">

Then name the fields so Crewtavo knows what each one is:

Field name Where it goes
name (or first_name and last_name) The client’s name
email The client’s email, and where Reply goes
phone The client’s phone number
address, with city, state and zip if you ask them separately The property
company The client’s business name
message The request’s details

Crewtavo also understands the usual other spellings, like full_name, E-mail Address, Phone Number, street_address, zip_code, comments or details. Every other field your form asks, like the service they want or how they heard about you, comes along with the message under its own name.

Each message needs an email address or a phone number, so you can answer it.

Open Need a form? Copy one that’s ready to paste on the app’s page and click Copy the form. It’s a plain form with name, email, phone, address and message fields that takes your website’s own fonts and colors:

<form action="https://crm.yourbusiness.com/f/3fa9c2d71b" method="POST">
<label>Name <input type="text" name="name" autocomplete="name" required></label>
<label>Email <input type="email" name="email" autocomplete="email" required></label>
<label>Phone <input type="tel" name="phone" autocomplete="tel"></label>
<label>Address <input type="text" name="address" autocomplete="street-address"></label>
<label>Message <textarea name="message" rows="5" required></textarea></label>
<!-- Keeps bots out. Leave it here, hidden. -->
<input type="text" name="_gotcha" style="display:none" tabindex="-1" autocomplete="off">
<button type="submit">Send</button>
</form>

Paste it where the form should go, in your site builder’s HTML, Embed or Code block. The steps for Squarespace, Wix, WordPress, GoDaddy and Google Sites are the same as for a booking form.

Fill in your form on your website and send it. It shows up in Requests within seconds, and the app’s page says Taking messages with the time of the last one. See them in Requests shows only the messages from your website forms.

  • It becomes a request. In Requests it’s marked Website form, and it’s called by the form’s name (or the form’s _subject). The message is under What they asked for, with every other field listed below it.
  • It goes on the right client. Crewtavo looks for a client with the same email address, and then the same phone number, however either was written. A message from someone you already have goes on their record, and their saved name, email and phone stay as they are: what they typed shows on the request instead. Anyone new becomes a lead, with Website form as their lead source.
  • The address becomes a property, or the client’s property with the same street address.
  • The people you chose get an email called “New message from” and the person’s name, listing everything they sent, with an Open the request button. Reply to it and you’re answering whoever sent the message. This needs email set up in Crewtavo.
  • The office is told by the automation Tell the office about new online requests, the same as for booking forms.
  • The page that brought them in shows on the request when Website Analytics is installed.
  • They see a thank-you page with your logo: “Thanks! Your message was sent.” and “{Your business} will get back to you soon.”, with a Back to the website button. You can send them to your own page instead (below).

Each form has its own card on the app’s page.

  • Email each message to: up to 5 email addresses, separated by commas. Leave it empty to only see messages in Requests.
  • Under More settings:
    • Form name: what each request from it is called.
    • After someone sends it: A thank-you page from Crewtavo, or My own page with its address, like https://greenlawn.com/thanks.
    • Only take messages from: your website, like greenlawn.com. A copy of your form on any other website can’t send to Crewtavo then. Leave it empty to take messages from any website.
    • Get a new address: the old address stops taking messages right away, so put the new one in your form’s action straight after. Use it if bots have found your form.
    • Delete form: its address stops taking messages. The messages it already sent stay in Requests.

Click Save changes when you’re done. Add a form makes another one, like a quote form next to your contact form. Each gets its own address, and its name on each request.

Change your form’s action from its formspree.io address to your Crewtavo form’s address. Everything else stays as it is. Formspree’s own fields work the same:

  • _gotcha: the hidden field that keeps bots out. People leave it empty; when a bot fills it in, it’s told the message went through and nothing is kept.
  • _subject: the email’s subject, and the request’s name.
  • _next: the page to go to after sending, instead of the thank-you page.
  • _replyto: the email address to answer, when the form has no email field.

Other fields that start with _ are ignored. Files aren’t taken: if you need photos, use a booking form with a photos question. For job applications with résumés, use Careers, which works the same way and puts each one in Applicants.

A form that sends with fetch() works too, from any website. Ask for JSON and you get JSON back instead of the thank-you page:

const response = await fetch("https://crm.yourbusiness.com/f/3fa9c2d71b", {
method: "POST",
headers: { Accept: "application/json" },
body: new FormData(form),
});
const result = await response.json();
// Sent: { ok: true, next: "…" }
// Not sent: { ok: false, error: "Add an email or phone number so we can reach you." }

You can also send JSON, with Content-Type: application/json.

  • Keep the hidden _gotcha field in your form. The ready-made form has it.
  • One address can send 10 messages an hour, and your business takes 100 an hour from all its forms. After that people see “Too many messages. Try again later, or call us.”
  • Fill in Only take messages from with your website.
  • If spam still gets through, use Get a new address.

On the app’s page, click Uninstall. Your forms stop taking messages right away, and people who fill one in are told it wasn’t sent. Every form keeps its address and its messages stay in Requests, so installing it again picks up where you left off.

When a message isn’t sent, the person sees a page that says why, with a Go back to the form button, so nothing they typed is lost.

  • “Add an email or phone number so we can reach you.” The form sent neither. Check that your email field is named email and your phone field phone.
  • “That email address doesn’t look right. Check it and try again.” The email wasn’t a whole address, and there was no phone number.
  • “This form only takes messages from its own website.” The page the form is on isn’t in Only take messages from. Add it, or leave the setting empty.
  • “This form isn’t taking messages right now. Call or email the business instead.” Website Forms is uninstalled, the form was deleted, or it got a new address. Check the address in your form’s action against the app’s page.
  • “The form didn’t send anything Crewtavo can read. Its method should be POST.” Add method="POST" to your form.
  • “Too many messages. Try again later, or call us.” See Keep spam out.
  • “That’s too much to send in one message.” or “Part of the message is too long. Shorten it and try again.” A message can have up to 60 fields, 5,000 characters in each.
  • No email arrives. If the app’s page says “Email isn’t set up in Crewtavo yet, so messages only show in Requests.”, connect your email. Otherwise see email not arriving. The messages are in Requests either way.

© 2026 Crewtavo · Website · Compare · Deploy on Railway · GitHub · Contact