Forms
Form Endpoints collect new contacts from your website or landing pages by exposing a public endpoint that accepts submissions and feeds them into a topic.
Form endpoints let you collect new contacts directly from your website or landing pages. Each form is a public endpoint that accepts submissions and feeds them into your Owlat audience — no coding required beyond embedding a simple snippet.
In the product this feature is called Form Endpoints. It can be turned off per deployment via the forms feature flag — see Feature flags.
Creating a form
- Open Settings > Technical and select Form Endpoints.
- Click New Form.
- Give your form a name (for internal reference).
- Optionally choose a topic to subscribe new contacts to. Leaving it unset still captures the contact — it just won't subscribe them to any topic.
- Optionally set a redirect URL — where visitors go after submitting.
- Save the form to generate its endpoint.
Create separate forms for different signup contexts (e.g., "Blog Newsletter Signup", "Product Waitlist") so you can track where contacts come from and route them to the right topics.
Form settings
Linked topic
Linking a topic is optional. When a form has a topic, submitters are automatically added to it — and if that topic has double opt-in enabled, the contact must confirm their subscription before becoming active. A form with no topic still creates or updates the contact in your audience; it just doesn't subscribe them anywhere.
Redirect URL
After a successful submission, visitors are redirected to this URL. Use it to send people to a thank-you page, a resource download, or back to your homepage.
Spam protection
Forms include built-in honeypot spam protection — a hidden field that catches bots without requiring CAPTCHAs or extra setup from your visitors. This runs automatically on every submission.
Double opt-in on forms
If the topic linked to your form has double opt-in (DOI) enabled, the flow works like this:
- A visitor submits the form.
- The contact is created with a pending subscription status.
- A confirmation email is sent automatically.
- The contact clicks the confirmation link to become active.
- Only active contacts are eligible for campaign sends.
Double opt-in is configured at the topic level. See Topics for setup details.
The form editor's Enable Double Opt-In checkbox forces a confirmation step even when the linked topic does not require DOI. Double opt-in applies if either the form toggle or the topic setting requires it (a union of the two controls). Enabling it on the form is recommended for GDPR compliance.
Embedding your form
After creating a form, you'll see an embed code that you can paste into your website. The form submits data to Owlat's public endpoint, so it works with any website — static HTML, WordPress, React, or anything else.
What gets captured
Form fields can be one of three types: email, text, or checkbox. Of the values submitted, three are written to the contact record:
- Email (required) — the contact's identifier
- First name (optional) — mapped from a
firstNameorfirst_namefield - Last name (optional) — mapped from a
lastNameorlast_namefield
Any other fields a visitor submits are recorded in the submission log for that form, but they are not written to Contact Properties. Only the three fields above flow onto the contact itself.
Monitoring submissions
View submission statistics for each form on the Form Endpoints page (Settings > Technical > Form Endpoints). Every submission is recorded and classified into one of five outcomes:
| Status | Meaning |
|---|---|
success | A new contact was created (and subscribed, if the form links a topic). |
pending_confirmation | The contact must confirm via double opt-in before becoming active. |
duplicate | The contact already existed or was already subscribed to the topic. |
invalid | Validation failed — e.g. a missing required field or a malformed email. |
spam | The honeypot field was filled in, so the submission was rejected as a bot. |
All five outcome statuses are visible per submission in the Recent submissions list. The per-form aggregate tiles show Total, Successful, and Other — where Other is derived as total minus successful and groups together pending double opt-in, spam, invalid, and duplicate submissions (the backend stores only total and successful counters). Use the aggregate counts to understand which signup sources are performing best, and review the per-submission statuses to spot spam or invalid entries.
Next steps
- Contacts — see the contacts created by your forms
- Topics — configure the topics your forms feed into
- Deliverability — ensure your confirmation emails reach inboxes