Custom Forms
Custom Forms let your organisation build its own data-capture forms — a nest-box survey, a post-storm sweep, a volunteer sign-off sheet — without waiting for a WildTrack360 release. Coordinators and admins design the form, anyone in the organisation fills it in, and submissions land in a reviewable, exportable table.
:::info Availability Custom Forms is released behind a per-organisation feature flag. If Forms doesn't appear in your navigation, the flag isn't enabled for your organisation yet — contact your WildTrack360 administrator. While it's off, the Forms pages are hidden entirely. :::
When to use it
Custom Forms is for structured observations that don't belong on an animal's record. If you're recording feeding, medical treatment, weight, or a release, use the animal's record timeline — those records carry compliance meaning that a custom form does not.
Reach for a custom form when you need to capture something your organisation defines: habitat surveys, equipment checks, community-sighting sweeps, working-bee attendance, or a trial of a new protocol before it becomes a real module.
:::note Not a compliance record Custom form submissions are not part of your ACT or NSW compliance register and are not included in the full data export or the NSW register exports. They export separately, per form. Don't use a custom form for anything your jurisdiction requires you to keep on the animal record. :::
Building a form
Go to Forms in the navigation, then New form. Give it a title and an optional description, and WildTrack360 creates the form as a draft and opens the builder.
Capture options
Every form has four organisation-wide capture toggles, all on by default:
| Toggle | What it does |
|---|---|
| Capture date and time | Records when the observation happened (defaults to now, editable by the person filling it in) |
| Require location | Asks the browser for coordinates and requires them before submitting |
| Capture photos | Allows photos to be attached to the submission |
| Capture weather | Adds optional temperature, humidity, wind, and rainfall fields |
Field types
Add as many fields as you need, up to 80 per form. Drag fields to reorder them; a live preview shows what the form will look like.
| Field type | Captures | Options you can set |
|---|---|---|
| Short text | A single line | Maximum length |
| Long text | A paragraph | Maximum length |
| Decimal number | A number with decimals | Minimum, maximum, unit |
| Whole number | A number without decimals | Minimum, maximum, unit |
| Count | A tally | Minimum (starts at 0), maximum |
| Date | A calendar date | — |
| Date and time | A date with a time | — |
| Yes or no | A toggle | — |
| Single choice | One option from a list | Up to 50 options |
| Multiple choice | Any number of options from a list | Up to 50 options |
| Species | A species name | Up to 200 suggestions |
Every field also takes a label (required), a required toggle, and optional help text shown under the input.
:::tip Species fields suggest, they don't restrict A Species field offers your suggestions as an autocomplete list, but the person filling the form can type anything. It is not linked to your Species Directory and won't validate against it. Single choice and Multiple choice fields are strict — only the options you list are accepted. :::
Two things to get right before you save
- A field's key is locked once saved. The key is generated from the label and is what identifies the field in exports. You can rename the label freely afterwards, but the key never changes — so get the field roughly right before the first save.
- Saved fields can be archived, not deleted. Once a field has been saved it loses its delete button and can only be archived. Archiving hides it from new submissions, the preview, and exports, but every value already captured against it is kept. This is deliberate: deleting a field would orphan historical answers.
Publishing
A form has three states, set from the Availability dropdown or the Publish button in the builder:
| Status | Who can see it | Accepts submissions |
|---|---|---|
| Draft | Coordinators and admins only | No |
| Published | Everyone in your organisation | Yes |
| Archived | Coordinators and admins only | No |
Carers only ever see published forms in their list. A draft or archived form opened by direct link shows as not found.
:::warning Publishing is organisation-wide There is no per-form audience. Every member of your organisation can fill in any published form, regardless of role or species access. If a form is only meant for a few people, keep that in the title and instructions — the system won't enforce it. :::
Versions and rollback
Every save creates a new version and freezes a snapshot of the form as it stood. You can add an optional change summary to describe what you altered.
- Submissions are pinned to the version they were captured under. An answer submitted against v2 always displays against v2's questions, even after you've moved on to v7. Old submissions never get re-interpreted by a newer form.
- Publishing and unpublishing also bump the version. Toggling availability is a change like any other, so expect version numbers to climb even when you haven't touched a field.
- Rolling back moves forward, it doesn't rewind. Restoring v2 while you're on v5 creates a v6 containing v2's questions, summarised as "Rolled back to v2". Nothing is erased, and the version history stays complete.
- Rollback keeps the current availability. Rolling back a published form leaves it published.
If two people edit the same form at once, the second save is rejected with a message asking you to reload — the first save wins.
Filling in a form
Open Forms, choose a published form, and fill it in. Depending on the form's capture options you'll also be asked for:
- When it happened — defaults to now
- Where — a Use my location button reads your browser's location; if the form requires location you can't submit without it
- Weather — temperature, humidity, wind direction, wind speed, gusts, and rainfall, all entered by hand
- Photos — see below
- Notes — free text, up to 5,000 characters
Photos
:::note Photo upload from the web app is not ready yet
The web form currently accepts pasted https:// photo links (up to 20), not file uploads. The field is labelled accordingly. Direct upload from the browser is planned; the underlying support for uploaded photos is already in place for the WildTrack360 mobile apps, whose photos appear as thumbnails in the submissions view.
:::
Photos attach to the submission as a whole, not to individual fields — there is no photo field type.
Reviewing submissions
From a form, open Submissions to see everything captured against it.
- Coordinators and admins see every submission for the form.
- Carers see only their own.
Select a submission to open a detail view with the full answers, location, weather, notes, and a photo gallery. Photos open full size and are served through WildTrack360's authenticated proxy — they're never public links.
Submissions can be deleted. Carers can delete their own; coordinators and admins can delete any.
:::warning Submission deletion is permanent Unlike animal records — which are soft-deleted and retained for compliance — deleting a custom form submission removes it outright, along with any photos uploaded through WildTrack360. It cannot be recovered and it won't appear in exports. Export before you delete if you might need the data. :::
Exporting submissions
Coordinators and admins can export a form's submissions as CSV or JSON from the submissions view, optionally filtered by date range. The file is named after the form and the export date, and carers don't see the export buttons.
Every export starts with the same fixed columns — Submission ID, Client Submission ID, Submitted By, Observed At, Form Version, Latitude, Longitude, Location Accuracy, Notes, Temperature, Humidity, Wind Direction, Wind Speed, Wind Gust, Rainfall — followed by one column per active field, then Photo URLs and Created At.
Because submissions are pinned to versions, an export spanning several versions includes a column for every field seen across them, and leaves cells blank where that version didn't ask the question.
:::warning Exports are capped at 500 submissions An export returns at most the 500 most recent submissions (by observation date) within your filter, and the app does not warn you when it truncates. If a form has more than 500 submissions, export in date-range slices and check the row counts. This is the single most important limitation to know about. :::
:::note Submitted By in exports The on-screen submissions table shows who submitted each entry by email. The exported Submitted By column contains the raw user ID instead. Match it against your user list if you need names. :::
The JSON export additionally embeds the question schema for every version referenced, so the file is self-describing.
Deleting a form
Deleting a form from the Forms list permanently destroys its entire version history and every submission ever made against it. There is no soft delete and no recovery. Archive the form instead if you simply want to close it to new submissions while keeping the data.
Permissions
| Action | Admin | Coordinator | Carer |
|---|---|---|---|
| Create, edit, publish, delete forms | Yes | Yes | No |
| View version history and roll back | Yes | Yes | No |
| See draft and archived forms | Yes | Yes | No |
| Fill in published forms | Yes | Yes | Yes |
| View submissions | All | All | Own only |
| Delete submissions | Any | Any | Own only |
| Export submissions | Yes | Yes | No |
Both species-scoped and all-species coordinators have the same access — custom forms are not filtered by species group. See Roles & Permissions.
For integrators
Custom Forms is fully covered by the generated API Reference at /api/docs, including a batch submission endpoint built for offline mobile capture. Batch submissions carry a client-generated ID and are de-duplicated on replay, so a device syncing the same queue twice won't create duplicates — a repeated submission comes back marked as de-duplicated rather than as an error.