Prime Direction

Contact Page

The Contact page in Core is a regular Ghost page. There is no special template or route required.

The easiest option is to use Formspree with an HTML card.

  1. Create a page with the slug contact
  2. Create a form in Formspree
  3. Copy your Formspree endpoint
  4. Paste this form into an HTML card and replace the action value with your endpoint
  5. Publish the page and test one submission
<form action="https://formspree.io/f/your-form-id" method="POST" target="_blank" style="border: 0; padding: 0;">
  <label for="name">Your Name</label>
  <input name="name" id="name" type="name" />

  <label for="email">Your Email</label>
  <input name="email" id="email" type="email" required />

  <label for="message">Your Message</label>
  <textarea name="message" id="message" required></textarea>

  <button type="submit">Send message</button>
</form>

Do not leave action="https://formspree.io" as-is. Formspree gives you a custom form URL that you need to paste into the form.

Alternative setup#

  1. Create a page with the slug contact
  2. Add your copy and an HTML form using an HTML card
  3. Add the page to your navigation if needed

Example form markup:

<form action="https://example-form-endpoint.com" method="POST">
  <label for="name">Name</label>
  <input id="name" name="name" type="text" required>

  <label for="email">Email</label>
  <input id="email" name="email" type="email" required>

  <label for="message">Message</label>
  <textarea id="message" name="message" required></textarea>

  <button type="submit">Send</button>
</form>

Third-party form services#

Instead of handling submissions yourself, you can connect the form to a third-party service such as Formspree, Web3Forms, Basin, or Getform.

If you already use an external CRM or automation tool, point the form action to that service endpoint instead of building a custom backend.