Issue 016
Forms v2 — logic, calculated variables & a Typeform-grade experience
Forms are rebuilt end to end. Build multi-page forms with conditional logic, jump-to-page and disqualification rules, calculated variables you can drop straight into your questions, and mappings that turn submissions into contacts, companies and leads. The public form itself got a complete visual overhaul: a Typeform-style renderer with choice cards, animated transitions, full theming (including dark themes), embedding and per-recipient share links — plus AI-assisted form generation to draft a whole form from a document.
Features
Forms v2
Forms got a full rebuild — a proper form builder and a Typeform-grade public experience:
- Multi-page forms with drag-and-drop fields, per-page titles, headers and button labels
- A rich field library: short & long text, number, currency, date, time, email, phone, link, single & multiple choice, file upload, signature, rating, opinion scale, checkbox, and user pickers
- Choice fields render as clean, lettered choice cards with animated selection — dropdowns kick in automatically for longer lists
- Animated page transitions, staggered field reveals, a progress bar, submit loading state, and Enter-to-continue navigation that stays out of the way of dropdowns and pickers
- Branded thank-you screens with a custom message, success icon or image, action button, or timed redirect

Conditional Logic & Calculated Variables
Forms now think for themselves. Add rules to show or hide fields and pages, make answers required on the fly, pre-fill values, jump to a page, or end the form early with a custom disqualification screen — built from 16 condition operators combined into nested AND/OR groups. Calculated variables let you compute values from earlier answers (arithmetic, IF/SUM/MIN/MAX/AVG/COUNT/ROUND, text and date helpers like DATEDIFF and AGE) and drop them straight into your question text with {variable} tokens. Logic runs identically in the builder preview, the live form, and on the server at submit time, so what you build is exactly what respondents get — and what the server enforces.
Submissions → CRM Records
Map form submissions to your CRM. Each form can automatically create or update Contacts, Companies and Leads, mapping any field or calculated variable onto a standard column or custom field. Choose how records resolve — always create, match an existing record by email or phone, or update the specific record a share link is tied to — and gate mappings behind logic so they only run for qualifying responses. Submissions land on the record's timeline under its Forms activity. Public, unauthenticated submissions can never overwrite an arbitrary record via a typed-in email or phone — match-and-update only applies to the record the share link is bound to, keeping shared forms safe by default.
Themes, Dark Mode & Embedding
Style forms to match your brand: nine ready-made themes (including two dark themes) or a palette driven by your team's primary color. Dark themes flip the entire renderer — inputs, dropdowns and popovers included — into dark mode automatically. Share forms as a public link, embed them with a script snippet or iframe (auto-resize, hide-header and disable-animations options), or send per-recipient share links that can be tied to a specific record and used once. Forms can also be attached to a record as a required checklist that must be completed before the record is marked done.
Build a Form with AI
Skip the blank canvas. Paste a description or upload a document (.txt or .docx) and Heffl drafts a complete multi-page form for you — pages, fields, types and options — ready to review and refine. If the model is unavailable, a built-in fallback still produces a usable draft so you're never blocked.
Improvements
Submission Notifications
Pick which teammates get notified when a form is submitted. Each response fires an in-app notification with a deep link to the answer, and emits a form.response.created event you can drive automations from.


