30-Second Quickstart
Docs/Getting Started·4 min read

30-Second Quickstart

Connect any form to EntryWise in 30 seconds using our <1.5KB drop-in script tag, standard HTML form action, or JSON fetch in React, Next.js, and Astro.

Option 1: Zero-JS Class Binder (<1.5KB embed.js)#

The fastest way to wire up a form on Webflow, Framer, WordPress, Astro, or plain HTML is our ultra-lightweight embed.js helper. Include the script once and add class="entrywise-form" plus data-form-key to any <form>.

It automatically intercepts submit events, disables the submit button with a loading label, injects an invisible honeypot field, submits via AJAX, and renders inline success or error feedback without a page reload.

HTML + embed.js· index.html
<script src="https://api.entrywise.si/embed.js" defer></script>

<form
  class="entrywise-form"
  data-form-key="ew_live_your_form_key"
  data-success-message="Thanks! We will get back to you within 24 hours."
  data-submitting-text="Sending..."
>
  <input type="text" name="name" placeholder="Jane Doe" required />
  <input type="email" name="email" placeholder="jane@company.com" required />
  <textarea name="message" placeholder="How can we help?" required></textarea>
  <button type="submit">Send Message</button>
</form>

Option 2: Pure HTML Form (Zero JavaScript)#

Building a strict zero-JS static page? Point your <form action="..."> directly at your EntryWise endpoint. Use hidden inputs like _redirect and _gotcha to control post-submission redirects and bot filtering.

Pure HTML5 Form· contact.html
<form action="https://api.entrywise.si/f/ew_live_your_form_key" method="POST">
  <!-- Honeypot spam trap (keep hidden) -->
  <input type="text" name="_gotcha" style="display:none" tabindex="-1" autocomplete="off" />

  <!-- Optional custom redirect after submission -->
  <input type="hidden" name="_redirect" value="https://yoursite.com/thank-you" />

  <!-- Optional dynamic email subject -->
  <input type="hidden" name="_subject" value="New Website Lead" />

  <input type="email" name="email" required placeholder="you@domain.com" />
  <textarea name="message" required placeholder="Your message"></textarea>
  <button type="submit">Submit</button>
</form>

Option 3: React / Next.js / Astro JSON Fetch#

For modern single-page applications or server actions, send a standard application/json POST request. EntryWise accepts any arbitrary JSON object and automatically infers your schema on the first submission.

React / TypeScript· ContactForm.tsx
async function handleSubmit(e: React.FormEvent<HTMLFormElement>) {
  e.preventDefault();
  const formData = new FormData(e.currentTarget);

  const res = await fetch('https://api.entrywise.si/f/ew_live_your_form_key', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'Accept': 'application/json',
    },
    body: JSON.stringify(Object.fromEntries(formData)),
  });

  const data = await res.json();
  if (!res.ok) {
    throw new Error(data.error || 'Submission failed');
  }
  console.log('Saved submission ID:', data.submissionId);
}