Forms — collect data from anyone, straight into your records
Build forms from your record fields, share or embed them publicly, and every submission lands as a validated record — not a row in yet another inbox.
Part of AxisIQ's single business model — The input layer (Know the business). How the layers fit.
AxisIQ Forms is how information reaches your workspace from people who will never log into it — customers, leads, field staff, suppliers. You assemble an ordered list of fields, publish it as a hosted page or embed it in your own website, and every submission arrives as a new record in the same system your team, reports and automations already work from.
Most businesses collect the same information twice: once by email, WhatsApp or a paper docket, then again when somebody types it into the software that runs the business. Every re-typing can drop a digit or land three days late.
A form only ever collects. It creates new data. It never edits anything you already hold and never reads your data back out. That constraint is what makes it safe to point at the open internet.
Your fields, not a second set of fields
Most form builders make you describe your data again in their vocabulary, then map it back afterwards. Here it already exists. When a form targets one of your object types, the builder reads that type's field definitions and offers them as a picker — or builds the whole set in one click. The key, the type, whether it is required, the dropdown options all come from the definition rather than from memory, and a key the target type does not have is flagged while you are still editing.
The available types are the ones your records already use: text, long text, number, yes/no, date, date and time, money, single select, multi-select, email address and link. A submitted value is checked by the same validator that guards every write inside the platform. A value that is invalid in AxisIQ is invalid on the form — there is no second, weaker rulebook to drift out of step, so tightening a rule on the object type tightens the public form at the same moment.
Where a submission goes
A form has two optional targets; use one, both or neither.
Point it at an object type — leads, complaints, service requests — and every submission creates a record of that type. From that instant it is an ordinary record: it appears in lists and search, it can be picked up by a work queue, it shows in reports and the audit trail, and any flow watching that type fires. There is no "actions on submit" builder to learn — run something when a form comes in is just a flow on the created record.
Point it at a function instead and the values are handed to your own JavaScript, which is there for forms with nothing to file behind them. A form can also send every submission to a URL of your own — signed with an HMAC secret only you and the form know, retried for hours if your server is down, and deduplicable by submission id — so another system hears about a response without a polling job. Set no target and no URL and the form is a pure collector: submissions are stored and read in the app, which for a feedback box or RSVP is often the right answer.
Nothing typed is ever lost
Submissions are stored before any target runs. If the record creation fails or the function throws, the submission is already saved — marked failed with the reason. Each carries its own state: received when nothing else is configured, then processed or failed once a target has run.
The person who filled it in still gets a success page: their input was valid against the form they were shown, and a stranger filling in a contact form has no business reading your internal errors.
Safe to point at the internet
Publishing gives a form its own hosted page and an iframe snippet for your site — one form rendered in two places. Unpublish it and the page stops existing rather than showing a lock.
A public form is an unauthenticated write endpoint, so the rest of the design is narrow on purpose.
There are deliberately no lookup fields on a public form. Letting a visitor pick an existing customer or order means the page can list customers and orders — a search box over your business wearing a friendly hat. The capability is absent, not permission-gated.
The write is bounded on the way in too: a submission can only create the one object type the form declares, with the fields it declares, and the values are rebuilt from the form's own definition rather than from whatever the browser posted. Only validation errors come back, so a submitter can fix their own input and learn nothing else. Where a public form calls a function — arbitrary code, a much wider surface — it runs with only the standing you have granted to unauthenticated visitors.
For spam there is an invisible honeypot field: a bot that fills it in gets a success response while the submission is discarded — telling it that it failed only invites a retry with the field cleared. Submissions are also capped at 30 per minute from one IP address. That stops scripted form-stuffing, not a determined attacker who reads the page and fills it in properly — there is no captcha yet.
Other ways to get one built
- Describe it and let AI propose the fields. Write "customer complaint form for a service business" and get a field list back to review. The model proposes only — it sees none of your data, picks no target and writes nothing, and its suggestions pass the same validation as fields you typed by hand, so a bad proposal is rejected, not published.
- Start from a template, or duplicate an existing form and change what differs.
- Prefill from the URL. The hosted page accepts query-string values for the fields the form declares, so a link you send can arrive part-filled.
Who fills it in, who reads the answers
Permissions are set per form, and four rights are separate: seeing a form, submitting it, reading what other people submitted, and authoring or publishing it. A technician who files a damage report every day usually has no business reading the whole response log. It is one more resource in the permissions model you already run, not a separate access list.
Why not just use a dedicated form tool
A dedicated form tool is genuinely better at building forms, and honest advice starts there. If the form is the whole job — a payment field at the end, signatures, scored quizzes — a specialist product will serve you better today. AxisIQ Forms does steps, show-and-hide logic and file uploads, but takes no payment on the form itself (that is what payment links are for). Responses are read in the app and export to CSV.
What a specialist tool cannot do is the part after submit. Its answers live in its own database, and moving them into your business system means an integration, a mapping screen and a new place for things to go quietly wrong. Here the submission is the record.
Pick the specialist when the form is the product. Pick this when the form is the front door to your operations.
How it fits with the rest
Operations holds the object types a form writes into, Automation decides what happens next, and permissions govern who reads the answers. For a worked example, see the guide on customer intake forms.
FAQ
Can I embed an AxisIQ form on my own website? Yes. Every published form gets a hosted page and an iframe snippet you paste into your site. Both render the same form, so an edit in the builder shows in both places.
Do form submissions become records automatically? Yes, when the form targets an object type. The submission creates a record of that type, and from then on it behaves like any record created by hand — searchable, reportable, audited, and able to trigger flows.
Can a public form look up an existing customer or order? No, and that is deliberate. Lookup fields are not available on forms, because a form that can search your records is a data leak on a public URL.
Can people upload files or pay through a form? Files, yes: a file question takes PDFs, images or documents up to 25 MB each, stored in your Drive and counted toward your storage. Payment is handled by payment links rather than a field on a form.
What happens if the record creation fails after someone submits? Nothing is lost — the submission is stored before any target runs, then marked as failed with the reason so you can act on it.