Romulus. BY NORTH JERSEY RESEARCH Request a demo

DOCS / FIELD

Field operations

Turfs, canvass events, scripts and walk sheets, and the live map — from cutting geography to watching the team move through it.

TIP — PERMISSIONS

Field requires the field feature. Viewing turfs needs view_voters; creating or editing them needs manage_turfs; canvass events run on manage_volunteers.

Turfs

Turfs split your voter file into geographic chunks a single canvasser can reasonably knock in one shift: a name, a list of assigned voters, an optional polygon on the map, an optional script, and notes for canvassers ("Stay on east side of Main").

Two ways to create one:

  • From the map — draw a polygon; Romulus auto-assigns every voter inside it.
  • From a filter — filter Voters to a ZIP, ward, or precinct and click Save as turf. No polygon by default; draw one later if you like.

Assignments aren't frozen — move edge-of-polygon households between turfs any time, and Re-evaluate picks up voters added since the turf was built. Voters are stored sorted by street address, and walk order is computed nearest-neighbor so canvassers minimize backtracking.

The turf list shows voter count, contacted-in-30-days, % complete, and last canvass; click into a turf for a color-coded contact-age map, outcome breakdowns, script response summaries, and per-canvasser session stats. Each turf also carries a canvass mode — standard door-knock, lit drop, ID, or interview — set on its field-ops panel, and that choice decides what canvassers see at the door.

Canvass events

A canvass event is a scheduled operating moment — Saturday morning, GOTV weekend — with volunteers assigned to turfs. The turf is the geography; the event is the moment. Create one with a name, date and times, meet location, and notes, then assign each volunteer a role and a turf.

Canvasser Walks a turf, knocks doors, logs contacts.
Team Captain Coordinates a group of canvassers; sees the team's progress.
Driver Drives canvassers between turfs; no door-knock expectations.
Phone Banker Calls voters from a turf instead of knocking doors.

Enable RSVP mode to ask canvassers to confirm instead of assigning unilaterally — it tracks confirmed / declined / tentative and sends reminders the day before and day-of. Cancelling or rescheduling notifies assigned canvassers by email automatically.

CANVASS REVIEW QUEUE

With feature_canvass_review on, canvasser submissions wait in a pending queue for staff approval before writing to the voter file — approve or reject individually, or bulk-approve a canvasser's whole shift. Useful with lots of new volunteers; turn it off for trusted teams.

Scripts & walk sheets

Scripts are per-turf, so a stronghold turf and a swing turf can ask different questions. Each question has a prompt, an answer type (multiple choice, yes/no, free text, 1–5 scale), optional branching (show only if a previous answer matched), and an optional maps-to — the answer feeds a structured voter field or custom field. You can also Draft with AI: describe the goal in a sentence and edit the proposed script.

Prefer paper? Every turf generates a walk sheet PDF — sorted by walking route, with name, age, party, address, last contact, and checkboxes per script question. The header carries the turf name, canvasser, date, and a small route map. Staff enter paper responses from voter profiles afterward, and both routes land in the same analytics.

  • Keep scripts short — 3–7 questions is plenty.
  • Lead with the easiest question (support level) to set rhythm.
  • Map every question to a structured field — free text is hard to analyze in bulk.
  • Don't print sheets more than a day ahead; contact history moves underneath you.

Live canvasser tracking

Field → Active canvassers is a split map-and-list view fed by GPS pings from the canvasser app every 15–30 seconds. Each canvasser shows their turf, current location, session stats (doors, spoken-to, not-home, refusals), and last activity — pin color encodes recency (green → yellow after 2 minutes → grey after 10). Aggregate counters roll up the whole event live.

Click any canvasser to message them directly ("Skip building 14 — security gate"); the message lands in their app in seconds with a read receipt back. Broadcast to the whole event from the event page. Need someone off the field mid-shift? Reassign their turf from the event and their app updates at the next ping.

PRIVACY

Pings only send while a canvasser is logged in with a turf assignment for the day, the app shows a "tracking active" indicator, and pings auto-prune after 7 days. They're never exported.

Some programs pay their canvassers, and paying people is its own discipline — hours, rates, eligibility, checks, and a paper trail that has to hold up. Turn on the paid_staff feature and a Paid Program desk appears under Field to run all of it in one place, instead of in a spreadsheet nobody else can open.

The desk breaks into a handful of working areas:

Program & policy The master overview plus the pay policy — rates, who qualifies, and how a worked shift turns into owed pay.
Approval queue Shift-by-shift pay approvals, reviewed one at a time.
Eligibility Eligibility requests and decisions, with ID verification.
Payouts Payout runs and the checks they produce.
Money ledger Every dollar in and out, exportable to JSON or CSV, with its own pay audit feed.
Availability board An offer board that turns canvasser sign-ups into shift assignments.

The rules around all this are deliberately tilted toward the people getting paid. The desk can only approve eligibility — never start it, and there's no bulk-approve, so nobody gets waved through in a batch. Declining eligibility sends nothing to the canvasser; declining a shift's pay requires a note, so there's always a reason on the record. And rate or policy changes are never retroactive — the rate is snapshotted onto the sign-up when the shift actually happens, so raising your rates tomorrow never rewrites what someone already earned.

CAREFUL — OWED PAY

Revoking eligibility only ever applies going forward, and voiding a check always reissues it — owed pay is never simply deleted. Every money action is written to the audit log. Reading, approving, and paying all require manage_volunteers; flipping the whole program's master switch on or off additionally requires manage_campaign.

← Voters Next — Canvasser app

Reading the manual before the demo? Sensible.

Request a demo