Testing → Forms → /forms Beta
Forms is a questionnaire engine. You define a form, publish it, and answers come back either from an officer filling it in on a phone or from someone outside the system filling it in themselves through a link you send them.
It exists because forms change. Rather than building a screen per questionnaire and shipping a release every time a question is reworded, the form is data: revise it, publish a new version, and collect against it the same day.
The pieces
| Concept | Meaning |
|---|---|
| Form | The named questionnaire — "Tenant Application", "Move-in Inspection". |
| Version | A published, frozen revision. Answers are recorded against the version that was live when they were given, and a response keeps that version forever. |
| Response | One filled-in form, against a subject. |
| Subject | What the form is about — usually a lease, or a prospect for someone who has no record yet. |
| Share link | A secure, single-use link that lets someone outside the system fill a form in without an account. |
The pages
| Page | Route | Purpose |
|---|---|---|
| Forms | /forms | One tile per form, with live counts. |
| Form summary | /forms/<code> | One form's home — counts, where to start one, and answer summaries. |
| Manage forms | /forms/templates | The library: create, edit, share, uninstall. |
| New form / Edit form | /forms/templates/new, /forms/templates/<id> | The builder. |
| Shared forms | /forms/links | Every link you have sent, and whether it has been used. |
| Capture form | /forms/capture | Filling one in as an officer. |
| The public form | /form/<token> | What the person you sent the link to sees. |
Starting from a ready-made form
You do not have to build one. Manage forms offers a Start from a template card whenever a
ready-made form is not yet installed, and a brand-new organisation sees the same gallery on
/forms itself.
| Ready-made form | What it collects |
|---|---|
| Tenant Application | Identity, income, a photo of an ID and a signature — filled in by the applicant. |
| Move-in Inspection | Condition and inventory room by room, meter opening readings, keys, photos and sign-off. |
| Move-out Inspection | The same ground as move-in, plus cleaning, closing readings and deposit disposition. |
| Household Affordability Assessment | Household, income, expenses and readiness — used before an ownership allocation. See Ownership plans. |
Choose Install and the form arrives already published, ready to use. Installing is safe to repeat, and a form you uninstall comes back to the gallery so you can install it again.
The forms overview
Each tile on /forms shows the form's name, who fills it in, and three running counts:
| Count | Meaning |
|---|---|
| captured | Submitted or already reviewed. |
| in progress | Drafts somebody is still filling in. |
| awaiting review | Submitted and waiting for a decision. |
A tile marked Draft has never been published, so nothing can be collected against it yet.
Building a form
A form is organised into sections containing questions. Each section becomes one step for whoever fills it in — so a form with six sections is a six-step wizard on a phone.
Question types
| Type | Use |
|---|---|
| Short text, Long text | Free text. |
| Number, Money (KES) | Numeric answers. Only these can be totalled and averaged in the summaries. |
| Date | A calendar date. |
| Single choice, Dropdown, Select all that apply | Fixed options you define. |
| Yes / no tick box | A single flag. |
| Photo(s) | One or more photographs; opens the rear camera on a phone. |
| Signature | Signed on screen at the point of completion. |
| Document upload | A PDF or a photo — an ID copy, a payslip, a letter. |
| Repeatable group | A set of questions asked once per item — per room, per household member, per defect. |
Name it and choose who fills it in
Who fills this in? decides how the form can be used. Choose a prospective tenant to be able to send it as a link; choose a lease for something an officer fills in on site. This cannot be changed later, and neither can the form's code.
Group the questions into sections
Order them the way the conversation actually happens. A form that jumps between topics produces worse answers.
Add conditions instead of 'write N/A'
Show only when hides a question until an earlier answer warrants it. Require only when makes it mandatory only in the circumstances where it matters. Conditions produce clean data; free-text disclaimers do not.
Use a repeatable group for lists
Rooms, household members, defects — anything with an unknown count.
Tag the answers you want to report on
A question can carry a reporting key from a fixed list. Only tagged questions appear in the answer summaries — everything else is still captured, and still exported.
Publish
Save & publish freezes the version. Editing a published form creates a new draft version and leaves answers already captured untouched.
Sending a form to someone outside the system
This is the path for an applicant, a prospective tenant, or anyone who does not have an account.
Choose Share
From Manage forms on a published form's row, or Share form on the form's own page. A draft form has no Share button — publish it first.
Say who it is for
The name is shown at the top of their form so they know it is meant for them. Add a phone number or an email address if you want us to send it for you.
Set how long it stays open
7, 14, 30 or 90 days. The default is 14.
Send it
Copy the link and send it yourself, or choose Send it for me and it goes out by SMS and email through the normal communications queue.
What they see
A single-purpose page with your organisation's logo, no sign-in and no menu — one step at a time, sized for a phone. Their answers save every time they move to the next step, so a dropped connection does not cost them the form. When they send it, their answers stay on screen for their own records.
A link that has expired, been withdrawn, or already been used says only that it is no longer open and to ask you for a new one.
Keeping track of what you sent
Shared forms (/forms/links) lists every link, newest first, with a running count of how many
are still outstanding.
| Status | Meaning |
|---|---|
| Not opened | Sent, never opened. |
| Started | Opened, not yet sent back. |
| Completed | Filled in and returned. |
| Withdrawn | Cancelled by you. The link no longer works. |
Copy and Withdraw are available while a link is still usable. A completed link cannot be withdrawn — the answers are already in.
Filling one in as an officer
For a form whose subject is a lease, open the form from /forms, find the lease, and choose
Start a form. Any responses already captured for that lease are listed beside it, so you resume
a draft rather than starting a second one.
The capture screen is built for a phone in the field: one step per screen, large controls, and a progress bar. It saves every time you move to the next step — a warning tells you if the save failed, and your answers stay on the device.
The last step carries a free-text box for anything the questions did not capture.
Submit runs the checks. Anything missing is flagged under the question itself and you are taken back to the first step that needs attention. Once submitted, the response is read-only; choose Open a correction to start an amended version.
Reviewing what came back
Open a submitted response and the bottom bar offers three decisions:
| Decision | What happens |
|---|---|
| Approve | The response is marked reviewed. Nothing is sent back. |
| Request changes | You give a reason, the person sees it on their form, and their link reopens for 7 days so they can fix it and resend. It stays the same response, not a second one. |
| Decline | You give a reason, they are shown it, and that is the end of it. |
A reason is required for both Request changes and Decline.
Reading the results
The form's own page carries the summaries:
- Amounts — for money and number questions: how many people answered, the average, and the total.
- How people answered — for choice questions: a bar per option with the count and percentage.
Only questions you gave a reporting key are summarised. For everything else, use Export CSV on the form's page, which gives you one row per response. Exporting requires an administrator role.
Retiring a form
Uninstall, on the row in Manage forms, removes the form from your organisation and stops every share link for it. A form that has captured responses cannot be uninstalled — the answers would lose their questions. Uninstalling requires an administrator role.
Forms vs application checklists
They are different tools and worth not confusing:
| Form | Application checklist | |
|---|---|---|
| Purpose | Capture answers | Gate a workflow stage |
| Question | "What is the household income?" | "Has the ID copy been uploaded?" |
| Versioned | Yes | No |
| Holds answer values | Yes | No |
Application checklists live in Lease applications.
Common problems
| Symptom | Cause |
|---|---|
| No Share button on a form | It is still a draft. Publish it. |
| Cannot edit a published form | Published versions are frozen — your edits become a new draft version. |
| An answer is missing from the summaries | The question has no reporting key, or its type cannot be summarised. It is still in the CSV. |
| Answers missing from a report | They belong to a different version of the form. |
| The recipient says the link does not work | It has expired, been withdrawn, or already been used. Send a new one. |
| A form cannot be uninstalled | It has captured responses. |
| Officers skipping questions | The questions are not conditional and do not apply — fix the form, not the officer. |