Getting started

1. Create a form

Log in to the admin dashboard and click New form. Give it a name and a slug (the short identifier used in the embed, e.g. contact-us). Add the fields you want — text, email, number, a dropdown, a checkbox, or an image upload — then publish it.

2. Embed it on your site

Install the SDK and point it at your form's slug:

npm install @form-engine/sdk
import { FormEngineClient } from "@form-engine/sdk";
const form = new FormEngineClient("contact-us");
const { schema } = await form.load();
// render your own fields from schema.fields, then:
await form.submit({ name, email, message }, { turnstileToken });

See the SDK reference for the full API, including image uploads and the respondent edit flow.

3. Get notified

Open the form in the dashboard and add a webhook destination — any URL you control. Every new submission (and every edit) is delivered there as a signed HTTP request. See Webhooks for the payload shape and how to verify the signature.

4. Manage submissions

Every submission shows up in the dashboard's Submissions tab — filterable by form and status, with the full field data and any uploaded images.