Request a Demo
Platform Infrastructure

Forms Engine

The universal form builder and submission processor for the entire Civic platform — every module that needs citizen-facing intake, staff forms, or inspection checklists plugs into Forms Engine.

99.95%

Uptime SLA

<3s

Submission Latency

30+

Field Types

2.1 AA

WCAG Compliance

Purpose-Built for Canadian Municipalities

Ontario Compliant
MFIPPA Ready
AODA Accessible
Bilingual Support
Canadian Hosted
SOC 2 Aligned

How It Works

The identity journey, step by step

From first registration to golden record resolution — how a resident's identity evolves across the platform.

01

Online Form Submission

A resident submits a building permit application from the citizen portal.

How it works

The resident logs into My Civic Dashboard, navigates to Licences & Permits, selects 'Building Permit Application'. Their name, address, and contact information are pre-filled from their civic-identity profile. They fill in project details across a multi-page wizard, upload site plans via drag-and-drop, sign digitally, and submit. A confirmation number (BP-2026-001234) is generated instantly and emailed with a PDF copy.

Step 1 of 5

Purpose & Scope

What this module owns

Clear ownership boundaries prevent duplication and ensure every capability has exactly one authoritative home.

Owns

15

Delegated to

5

Workflow triggered after form submission

workflow-automation

Document storage of uploaded files

document-records

Payment processing during form submission

payment-engine

Notification after submission

notification-engine

Business rules / application processing

consuming modules

These capabilities are handled by dedicated modules and consumed via stable API contracts — keeping boundaries clean and ownership unambiguous.

Core Capabilities

What it does

4 capability groups comprising 9 discrete capabilities — each with API surface, business rules, and data ownership.

Visual drag-and-drop canvas for municipal business analysts to design citizen-facing and internal forms without developer involvement.

No-Code Builder

Visual drag-and-drop canvas for municipal business analysts.

Field Types

Text (short/long), Number, Currency, Date/Time, Date Range, Dropdown, Radio, Checkbox, Multi-Select, File Upload, Image Capture, Address (Canada Post autocomplete), Phone, Email, URL, Signature, Rich Text, Table/Repeater, Calculated, Hidden, Section Heading, Paragraph, Divider, Rating/Scale, Map Point Picker.

Validation Rules

Required, min/max length, min/max value, regex pattern, custom expression, cross-field validation.

Show/hide fields, enable/disable sections, set required flags, skip pages, and auto-compute values based on other field inputs.

Conditional Logic

Show/hide field, enable/disable field, set required, set value, skip section — all based on other field values.

Calculated Fields

Auto-compute values from other fields (e.g., total fees = base fee × quantity + HST).

Repeating Sections

Allow submitter to add multiple rows (e.g., multiple owners, multiple vehicles, multiple dependents).

Reusable field groups shared across forms and pre-built templates for common municipal intake scenarios.

Field Groups

Reusable field groups (e.g., 'Address Block', 'Contact Info Block') shared across forms.

Form Templates

Pre-built templates for common municipal forms (dog license, building permit, complaint, FOI request, event permit, business license, driveway permit).

Real-World Scenarios

Who uses this, and how

4 persona-driven scenarios showing how Forms Engine works in practice — from resident registration to privacy compliance.

Homeowner

Multi-Page Building Permit Application

Sarah is applying for a building permit for a home renovation and needs to submit plans, contractor details, and a digital signature.

Steps

  1. 1Sarah navigates to Licences & Permits on the citizen portal and selects 'Building Permit Application'
  2. 2Her name, address, and contact info are pre-filled from her civic-identity profile
  3. 3She fills in project details across four wizard pages: property info, project scope, contractor details, and declarations
  4. 4She uploads architectural drawings and site plans via drag-and-drop (PDF, max 25 MB each)
  5. 5She adds her contractor as a co-signer; both sign digitally via touch signature
  6. 6She submits and receives confirmation number BP-2026-004521 via email with a PDF copy of the full application

Outcome

Complete application submitted with all attachments and dual digital signatures. The form.submitted event triggers workflow-automation to route to the building department for review.

View scenario

Municipal Inspector

Offline Field Inspection Checklist

Mark is a building inspector conducting site inspections in areas with poor connectivity and needs to complete inspection checklists on his tablet.

Steps

  1. 1Mark downloads today's inspection schedule and associated form checklists to his tablet via mobile-field
  2. 2At the first site (no cell signal), he opens the pre-loaded inspection checklist form
  3. 3He works through the checklist — checking items, noting deficiencies, capturing photos with camera capture
  4. 4He adds a digital signature confirming the inspection
  5. 5When he returns to connectivity, all completed inspections sync automatically
  6. 6Submissions trigger workflow events for deficiency notices and permit status updates

Outcome

Inspections completed in the field without connectivity concerns. Data syncs seamlessly, and workflow-automation processes deficiency follow-ups automatically.

View scenario

Engagement Coordinator

Bilingual Public Budget Consultation Survey

The municipality is running a bilingual public consultation on next year's budget priorities and needs a survey accessible to all residents.

Steps

  1. 1The engagement coordinator creates a survey using the no-code builder with rating scales, dropdowns, and open text fields
  2. 2She enables bilingual mode with English/French toggle and reviews both language versions
  3. 3The form is published with anonymous access enabled and reCAPTCHA anti-spam protection
  4. 4Citizens access the survey via QR codes on posters, social media links, and the municipality website
  5. 5Form analytics track completion rate (72%), average time (4 minutes), and drop-off points
  6. 6After the consultation period, submissions are exported for analysis with full bilingual response data

Outcome

2,400 responses collected over 3 weeks with 72% completion rate. Analytics identified a confusing question on page 3 (high drop-off), which was simplified mid-survey to improve completion.

View scenario

Municipal Clerk

Reusable Field Groups Across Departments

The clerk's office standardizes address and contact information collection across all departmental forms using shared field groups.

Steps

  1. 1The clerk creates a global 'Address Block' field group with street, city, province, postal code, and Canada Post autocomplete
  2. 2She creates a global 'Contact Info Block' with phone, email, and preferred contact method
  3. 3Department form builders drag these shared blocks into their forms — permits, licenses, complaints, registrations
  4. 4When Canada Post updates their API, the address block is updated once and all forms inherit the change
  5. 5Submission data is structured consistently across all departments for reporting and CRM integration

Outcome

40+ forms across 12 departments use consistent address and contact fields. Data quality improves and CRM can reliably match submissions to citizen profiles.

View scenario

Internal Architecture

How it's built

3 architectural layers comprising 19 components — from API gateway to data quality engine.

3 layers · 19 total components

Forms Engine

Every module owns a single bounded context, exposes stable APIs, and can be composed into any Civic product — that's the architecture that scales.

Krutik Parikh

Creator of Civic

Data Model

Entity Architecture

3 entities with 5 relationships — the authoritative schema for this bounded context.

Entities

Select an entity to explore its fields and relationships

API Surface

Integration Endpoints

11 RESTful endpoints across 2 resource groups — plus 4 domain events for async integration.

|
GET

/api/v1/forms/definitions

List all form definitions

POST

/api/v1/forms/definitions

Create new form

PUT

/api/v1/forms/definitions/{id}

Update form (creates new version)

POST

/api/v1/forms/definitions/{id}/publish

Publish form version

GET

/api/v1/forms/definitions/{code}/render

Get form rendering schema (for portal)

Ecosystem

Products that depend on this module

19 Civic products consume Forms Engine — making it one of the most critical platform services in the ecosystem.

CRM / 311

Service request intake, complaint forms, feedback surveys

View product →

Licences & Permits

License application, permit application, renewal forms

View product →

Property Tax

Assessment appeal, tax deferral, vacancy rebate

View product →

Utility Billing

Service connection application, meter access forms

View product →

Recreation

Program registration, facility booking, membership application

View product →

Bylaw Enforcement

Complaint forms, property standards, noise complaint, parking complaint

View product →

Animal Services

Dog license, animal complaint, adoption application

View product →

Building Inspection

Building permit application, occupancy permit, demolition permit

View product →

Planning & Development

Site plan application, zoning amendment, official plan amendment, subdivision

View product →

HR & Payroll

Job application, leave request, expense claim, benefits enrollment

View product →

Citizen Engagement

Public survey, budget consultation, feedback form

View product →

Tourism & Events

Event permit, vendor application, special occasion permit

View product →

Grant Management

Grant application, milestone report, final report

View product →

Social Housing

Waitlist application, income declaration, maintenance request

View product →

Economic Development

Business inquiry, incentive application

View product →

Cemetery

Interment application, monument permit

View product →

FOI

Freedom of information request form

View product →

Elections

Voter registration correction, candidate nomination

View product →

Court / POA

Early resolution request, trial request

View product →

Technical Specifications

Performance, Compliance & Configuration

Availability

Target99.95% — form submission must never be lost

Submission Latency

Target< 3 seconds for form submission (including PDF generation)

Auto-Save Latency

Target< 500ms for draft save

Concurrent Forms

Target1,000 simultaneous form sessions

Accessibility

TargetWCAG 2.1 AA compliance mandatory for all rendered forms

Mobile

TargetFully responsive; touch-optimized; camera capture for file upload

Data Encryption

TargetAll submission data encrypted at rest (AES-256) — PII fields doubly encrypted

FAQ

Frequently Asked Questions

Ready to Integrate

Build on Forms Engine

Request an architecture brief, integration guide, or live demo environment for your team.