Manage Canvassing Campaigns
Enable canvassing, create campaigns and mapped territories, assign representatives, load properties, and configure field policy.
Manage Canvassing Campaigns
V2 release scope: The V2 web app ships Campaigns & territories, manager property loading, Field View (List and Map, with visits, dispositions, and do-not-knock), shared filters, Properties/Visits/Results CSV exports, reporting, territory and campaign comparisons, and team competitions. Authorized managers can add a complete address at an exact point on the territory map, load eligible active client properties from the CRM, import a CSV through private preview and explicit confirmation, and review a bounded target list with authoritative total and unvisited counts (W4-S6 confirmed). Move unvisited properties, GPS route tracking and representative locations, follow-up scheduling from the web, and canvassing-specific mobile screens beyond the existing native field app remain parity work. The detailed later sections retain the V1 workflow as the required baseline; where a stage is still parity work, its section says so explicitly. This release adds no mobile layout, navigation, control, label, styling, or interaction.
Location retention and route capture: The web Canvassing settings page now includes Location collection & retention controls for teammates with Manage Canvassing. Blank retention and interval values remain unconfigured; no defaults are selected. Saving these settings does not start route collection. Capture remains off and unavailable in the released app while authenticated background startup and sign-out cleanup remain unverified. The retention purge is paused and has not completed a run, so a selected period is not an active deletion guarantee. Existing campaign, territory, and visit workflows are unaffected.
The complete V1 Canvassing workspace combines campaign setup, mapped territories, assignments, property loading, field rules, competitions, and reporting. Owners and managers can create and edit campaign basics from the native mobile app or use the web command center for complete setup. Assigned representatives complete field work from the native app.
V2 Access
Owners and admins receive View canvassing and Manage canvassing by default. Office users and sales reps are denied by default until an owner or admin grants the appropriate permission in Settings. View canvassing opens the allowed office workspace read-only. An owner, admin, or office user with view-only access can review campaign, territory, and target history inside their authorized office scope, but cannot load properties, change assignments, or open the manager team directory. A sales representative with that grant sees targets only through an active assigned campaign and territory. Manage canvassing permits campaign, territory, lifecycle, assignment, and the available target-loading changes. Every target remains scoped through its exact organization, office, campaign, and territory, and a location-limited member cannot discover a sibling office's address, coordinate, count, identifier, or continuation cursor.
Campaigns, territories, and eligible team members load in bounded pages. Select Load more campaigns, Load more territories, or Load more team members when the workspace indicates that another page is available. Only the selected campaign's territory boundaries are loaded into the workspace. The server selects the bounded territory page before it gathers assignments, so a large campaign cannot turn one page load into an aggregation across every territory assignment. Each returned territory includes its own assigned-member summary independently of the current team-member page. Eligible team choices are also page-bounded before they are combined. The workspace reads named and unnamed teammates separately for two eligible groups: active owners, admins, and sales representatives pinned to the campaign's office, plus active organization-wide owners and admins. Each of those four indexed groups reads no more than 101 candidates before the results are combined, regardless of the requested page size. Once paging reaches unnamed teammates, only the two unnamed groups continue. The final merge then applies the requested page size and keeps the same display-name order, including matching names, without paging through members from unrelated offices first. Campaign pages retain the V1 order: the selected campaign first, then Active, Draft, Paused, Completed, and Archived, with recent updates first inside each status. Team members sort by display name and territories sort by name. Every continuation stays bound to the campaign selected when paging began. If a manager changes a campaign, territory, assignment, or eligible team member between pages, the old continuation is rejected and the web workspace reloads the latest list. Relevant writes queue one pending revision for each affected organization and transaction, even when one bulk statement changes thousands of team members. A deferred per-organization gate publishes that revision at commit, so revisions become visible in commit order even when two managers save at the same time. The bookkeeping grows with the number of organizations changed by the transaction, not the number of changed rows. A cursor captured before either committed change therefore becomes stale after that change instead of remaining valid because an earlier transaction finished late.
Selecting a different campaign loads its complete available territory choices for visits, competitions, and reports. Visits and reports clear their current page when filters change and clear an incompatible territory after the new territory list loads successfully; late results from an older filter do not replace the current view.
The server reads the organization revision before and after assembling every campaign, member, and territory page. If another relevant change commits in the middle—even during the first load without a continuation—the mixed result is discarded as stale. This prevents one response from combining campaign, member, or territory rows taken from different committed list revisions.
For either an initial-load or continuation stale response, the web workspace closes both editors, clears their unsaved drafts, and makes one fresh request. The notice Canvassing changed while you were viewing it. The latest list is loaded. confirms a successful refresh. If another change makes that one retry stale too, the page stops instead of looping and shows Canvassing changed again while refreshing. Select Retry to load the latest list. Use Retry, review the refreshed campaign, and start the edit again; text, dates, boundary points, and assignment choices from the stale draft do not remain.
When the workspace opens without a saved campaign selection, it chooses the most recently updated Active campaign first, followed by Draft, Paused, Completed, and Archived campaigns. An older archived campaign therefore cannot replace the current field campaign merely because it was created first.
Complete V1 Access Baseline
The organization owner can open Canvassing and select Enable Canvassing. Enabling or disabling the feature changes access to the module but does not delete historical campaigns, visits, or GPS records.
The default access model is:
| Role | Default access |
|---|---|
| Owner | View and manage all organization canvassing data |
| Manager | View and manage all organization canvassing data |
| Sales representative | View assigned campaigns and territories and record field work |
| Crew lead or technician | No canvassing access |
Custom roles use View Canvassing and Manage Canvassing. View-only sales representatives are restricted to their active assignments; authorized office-side viewers can review the history in their office scope without manager controls or teammate assignment identities. A territory whose assignees are intentionally withheld says Assignment details hidden; that label does not mean the territory is unassigned. Creating campaigns, importing properties, changing assignments, editing settings, and reopening completed work require Manage Canvassing. Organization-wide raw GPS remains limited to owners and managers even if another role receives a custom manage permission.
Native property context follows the same layered access model. An assigned representative can see the selected target and its canvassing attempt history. Linked estimate summaries additionally require View Clients and View Estimates; prior-service summaries require View Clients and View Jobs. A role without those permissions sees an unavailable message rather than a misleading empty history. Grant the underlying permissions only when that representative should see those CRM records.
Create a Campaign
On mobile, open Canvass > Campaigns from the manager team-map header or + Manage action. Select +, enter the name, offer, description, and date window, then choose whether to create it as Active or Draft. Select an existing card to edit those details. The cards also provide the allowed activate, pause, resume, complete, reopen, archive, and restore actions.
On V2 web, open Canvassing > Campaigns & territories.
- Under New campaign, enter the campaign name and optional offer.
- Select Create draft. A campaign remains a draft until Activate is
selected, preventing representatives from receiving unfinished work.
- In Campaign lifecycle, add or revise the description, offer, start date, and end date.
- Use Activate, Pause, Resume, Complete, Archive, or Reopen as the campaign changes.
V1's Duplicate action remains planned parity work in V2.
Archived campaigns cannot be edited in place. The web workspace hides Edit campaign and tells the manager to select Restore to draft before changing campaign details or territories. Completed campaigns can be reopened as active when more work is required; their campaign details remain available, but their territories cannot be changed until the campaign is reopened.
The following property behavior describes the V1 baseline and is not yet in the V2 foundation: creating or refreshing a campaign does not recenter the map. After you pan or zoom, the command center keeps that camera position while it refreshes properties for the visible area, and it preserves your saved Map or Satellite choice. The V1 property list opens with 25 rows and supports 25, 50, or 100 rows per page.
Draw and Assign a Territory
Mobile (V1 baseline; not changed by the V2 foundation)
On the manager Canvass team map:
- Select an active campaign.
- Select Draw territory.
- Tap at least three different map points around the work area.
- Use Undo or Clear if the boundary needs correction.
- Enter the territory name and select at least one eligible rep.
- Select Save territory.
The mobile server validates every selected rep as an active workspace member, then saves the boundary and assignment set together. If the assignment step fails, it cleans up the new boundary. Unassigned territories are still listed for managers and can be assigned later with Balance doors.
Manage Houses and Knocks on Mobile
After selecting a territory, the manager map loads its complete paginated target set and displays up to 500 map markers, prioritizing houses with recorded attempts. The Territory houses card shows total, knocked, unvisited, and do-not-knock counts plus the most recent activity.
Select Edit boundary to reshape a saved territory. Trace the replacement outline by dragging on the map, use Clear or Undo as needed, and save. Only the polygon changes; campaign membership, assignments, targets, attempts, and dispositions remain intact.
Tap a marker or Dispo row to review append-only attempt history and record a new outcome. No-contact outcomes appear in a compact swipeable control and save with one tap; Conversation / details opens required notes, contact, follow-up, and appointment fields. Contact outcomes provide a multi-select service picker for common residential work, and those selections carry into the estimate handoff. Qualified visits can use Save + quote to create or match the Door Knocking lead, assign the signed-in rep, and open the native residential builder immediately. Manager entries use the same server disposition configuration and validation as representative entries. Quote Sent and Sold are explicit lead-backed outcomes: each requires a confirmed customer name and creates or matches the Door Knocking client and lead before the visit can be stored. Tap an empty point inside the boundary to reverse-geocode and add a missing property; normal organization, active campaign, boundary, duplicate-address, nearby-coordinate, and idempotency checks still apply.
V2 Web
- Under New territory, select a campaign.
- Select Draw boundary.
- Click at least three map points around the work area.
- Enter a territory name.
- Select one or more active owners, managers, or sales representatives.
- Select Save territory.
More than one representative can share a team territory. Use Save assignments on an existing territory to replace its active assignment set.
When an assignment editor opens, representatives already assigned to that territory remain pinned in the choices even if they fall beyond the currently loaded team-member page. Their names and selected state remain visible, and a manager can remove them without repeatedly selecting Load more team members. Loading another member page adds eligible choices without clearing the existing assignment selection.
Use Edit boundary & assignments to edit a territory later. V2 validates a closed, non-degenerate, simple polygon with 3–100 precise points. Repeated non-adjacent vertices and crossing edges are rejected. V2 does not yet detect overlap between two neighboring territories automatically, so managers should coordinate shared borders before saving. The new boundary and complete active assignment set save together. Once a territory contains targets, a boundary edit that would exclude any saved target is rejected instead of silently orphaning or moving the property. Visit-history guards become applicable when that later parity stage ships.
An assigned sales representative must remain active and pinned to the territory's exact office. Only active owners and admins may be assigned across all offices without a pinned location. Remove a member's active territory assignments before deactivating the member, changing to an ineligible role, or moving the member to another office.
Territory Lifecycle
A V2 foundation territory can use Assigned, In progress, Paused, and Completed. Visit-aware completion guards and reopening remain planned for the target/visit stage.
In the V1 baseline, Reopen returns a completed territory to paused work. That control and active-shift locking depend on the target/visit stage and are not available in the V2 foundation yet.
Move Unvisited Properties
Use Move unvisited properties to transfer selected targets between territories in the same open campaign.
V1 baseline — not available in the current V2 release. The first target slice does not move a saved target between territories.
- Only targets with no recorded attempt can move. Until visits ship, every
newly loaded target is unvisited.
- Future visit history will never move.
- A direct target assignee is cleared during the move; review destination assignments afterward.
- A single operation is limited to 500 selected targets.
Load Target Properties
Every canvassing property belongs to the organization and can be reused in later campaigns. A campaign target connects that property to one territory for the current campaign. Clean Estimate Pro compares both normalized addresses and coordinates so CRM and map-entry properties share the same duplicate rules. CSV properties now use those same rules through the manager workflow below; field-created properties remain later work.
Select a campaign under Canvassing > Campaigns & territories, find the territory card, and select Target properties. The panel opens with the first 25 saved addresses and reports N total · N unvisited. Because visits do not exist yet, unvisited truthfully equals total. V2 does not show invented zero values for knocked or do-not-knock work.
Select Load more target properties while another bounded page is available. If the territory changes while an older page is open, V2 reloads the first page and shows Target properties changed. The latest list is loaded. Review the refreshed addresses before continuing. No target properties yet. is the honest empty state. Select Close to collapse the panel. Functional Field view Map/List modes remain planned parity.
If another manager changes the territory while an add is being saved, V2 reloads the latest target page and shows Target properties changed. The latest list is loaded. Review and retry. Nothing is added from the stale request.
CSV Import
Current V2 web workflow
Open the selected territory's Target properties panel and find Property CSV import. The territory is already selected, so V2 does not repeat the V1 campaign and territory selectors inside the import card.
- Select Download sample CSV for the supported headings.
- Under Choose CSV file, select a
.csvfile up to 5 MB with no more than
5,000 data rows.
- Select Preview import. No property or target is created during preview.
File selection remains locked until that preview finishes. If the selected territory changes while processing, the late preview is discarded.
- Review the total, valid, invalid, new, exact-match, nearby-match, and
already-here counts. The table displays up to 100 rows and prioritizes invalid rows; the summary always covers the full file.
- Correct every invalid row in the source file and preview the corrected file
again. Confirm properties stays unavailable while any row is invalid.
- Select Confirm properties before the displayed one-hour expiry. V2 then
repeats authorization, lifecycle, revision, boundary, duplicate, and match checks and creates the complete result atomically.
The preview reports missing fields, oversized values, duplicate file rows (including differently named new rows within 12 meters and multiple rows that resolve to the same saved property), unresolved addresses, points outside the territory, exact addresses that conflict with saved coordinates, and properties already targeted in another territory for the campaign. It also identifies new, exact-address, and within-12-meter matches. An existing target in this same territory is reported as Already here and is not duplicated.
Current safeguards are:
- Confirmation must match the authenticated request's organization and member.
Supplying another organization or manager cannot authorize a batch, and the caller must still be an active member allowed to manage canvassing for the batch's office.
- CSV preview and confirmation take teammate, organization, and territory locks
in the same order as identity-provider member removal. A manager cannot confirm a batch concurrently with a membership change and leave a partial target load.
- Expired, unconfirmed staging records can be removed only by the bounded
owner/service maintenance operation. Its registered hourly job removes at most 100 batches per invocation and queues another bounded invocation when a full batch indicates that backlog remains.
- Every signed raw upload path is recorded for the exact organization and
manager before the URL is returned. Preview consumes one short claim and leaves a one-day tombstone after deleting the object. That is well beyond the signed URL's two-hour lifetime, so a reused URL recreates only a tracked path. The same hourly job deletes up to 25 expired raw paths before retiring their tickets and retries temporary Storage failures without exposing paths in job payloads.
- Confirmed batch and row evidence is immutable and is not eligible for the
expired-preview purge. It remains retained so a replay cannot create another confirmation or audit event.
- Nearby-property matching uses the same Earth-radius calculation as the final
12-meter distance check, wraps longitude across the international date line, and uses a spherical longitude bound at every supported latitude, including polar regions. Properties at either edge of that radius are reused instead of failing confirmation or creating a duplicate.
- Preview rounds supplied, cached, and geocoded coordinates to the same seven
decimal places stored for confirmation before it checks saved matches, territory boundaries, or duplicates inside the file. Extra source precision therefore cannot make the preview disagree with the confirmed result.
- Staging records and the secure geocode cache remain outside PowerSync and
offline mobile data. No mobile screen, navigation item, control, label, styling, or interaction is added or changed.
The browser uploads the raw CSV directly to a private, signed, actor-bound storage path so the documented 5 MB limit does not exceed the hosted web function request limit. The server deletes that object before it returns a preview, then keeps the consumed path ticket for one day so the still-valid signed URL cannot recreate an untracked file. An abandoned upload that never reaches Preview import is also removed after one day by Clean Estimate's bounded retention job. The database stores the private path ticket, never the raw file; it keeps bounded, immutable parsed preview rows and the source digest. Invalid oversized values are safely truncated in private preview evidence after their error is recorded and can never be confirmed.
Rows without coordinates use the private server geocoder, with at most 100 lookups in one preview. Resolved cache entries are reused within the same organization; unresolved results are cached for one day. A provider outage is shown as a recoverable error and does not create a preview.
If another manager changes the territory before preview or confirmation, V2 loads the latest target list and asks you to choose the file and review again. An expired preview also requires a new preview. Retrying a completed confirmation is replay-safe and cannot add duplicate targets or another audit event.
Retained V1 workflow and file contract
Download the sample from Property CSV import. Supported columns are:
address_line1,address_line2,city,state,zip,latitude,longitude,parcel_id,owner_name,property_typeThe retained workflow uses Preview import. The preview shows valid rows, invalid rows, existing properties that will be reused, exact-address and nearby-coordinate matches, duplicates inside the file, geocoded rows, cache hits, unresolved addresses, and properties outside the territory. Preview writes nothing.
Important limits and safeguards:
- A file can contain up to 5,000 rows and 5 MB of CSV text.
- Quoted commas, escaped double quotes, Windows or Unix line endings, and line breaks inside quoted fields are supported.
- Malformed quoting, duplicate header names, missing or extra columns, oversized cells, and latitude without longitude (or longitude without latitude) are rejected during preview.
- At most 100 missing-coordinate addresses can be geocoded in one request. Add coordinates or split larger geocoding batches.
- Geocoding happens on the server and uses a private key.
- The secure geocode cache is reused when possible.
- Unresolved or out-of-territory rows block confirmation; nothing is silently placed outside the boundary.
- A coordinate within 12 meters of an organization property is treated as the same property, even when the submitted address is formatted differently.
- An existing property is reused without replacing its saved organization details.
- A target already used elsewhere in the same campaign is not silently moved.
- Preview and confirmation repeat the duplicate checks. CSV, CRM, map, and field submissions are serialized at the organization level so simultaneous requests cannot create nearby duplicates.
No properties are written until Confirm properties in the retained V1 workflow.
Add a Property from the Map
Current V2 web
Open Target properties on an open campaign and territory. Under Add property from map:
- Click the exact property point inside the territory on the inline satellite
map. You can also enter or correct the Latitude and Longitude values directly.
- Enter Street address, optional Address line 2, City, State,
ZIP, and Country.
- Select Add property.
When Google Maps is not configured or cannot load, the panel shows Map unavailable. Enter the exact coordinates below. Enter both coordinates and the complete address before adding the property.
The point must be inside the selected territory. If the normalized address already exists or an organization property is within 12 meters, Clean Estimate Pro reuses that property instead of creating a duplicate. It does not silently move a target that is already assigned elsewhere in the campaign.
Retained V1 baseline labels
V1 used Place property pin on map or Move property pin after a separate territory selector. Those controls remain the parity reference; they are not buttons in the current V2 inline target panel.
Load CRM Properties
Current V2 web
Load CRM properties searches active client properties in the selected territory's office. A property may also be linked to a lead, but current V2 does not expose separate client and lead source selectors.
- Open Target properties on the destination territory.
- In Load CRM properties, enter a customer name or address in **Customer or
address, then select Search**. An empty search returns a bounded set of eligible properties.
- Select one or more returned properties.
- Select Add selected properties.
Only active clients and active properties with complete structured addresses, valid saved coordinates, the same office, and a point inside the selected territory are eligible. The current search returns at most 50 results and does not provide CRM result-page controls. Narrow the search when the needed property is not shown.
A CRM property is reused first by its stable source record. Correcting its CRM address or coordinates therefore does not create another canvassing property or campaign target. Exact-address and within-12-meter matches are also reused. Reused properties keep their CRM link and saved canvassing history, and an existing campaign target is not moved to another territory.
Retained V1 baseline labels
The V1 CRM loader includes Existing clients and Existing leads source choices, separate campaign and territory selectors, Select this page, and Previous/Next result paging. Those remain required V1 parity labels and workflow inputs, but they are not current V2 controls.
Property Provider Integrations
Parcel and address-provider search remains planned parity work. The current V2 manager sources are map entry, the private CSV import workflow, and eligible active client properties from the CRM, including client properties already linked to leads.
Field View
Open Canvassing > Field View to see every target's live status for the selected campaign, filtered by territory, representative, disposition, and address. This is live state, not a report period, and it defaults to List.
Map shows each target as a marker colored by its current disposition, with a legend for the colors, plus the selected campaign's territory boundaries drawn as polygons. Markers cluster into a single numbered pin at lower zoom levels and split back into individual pins as you zoom in; the map opens in Satellite and a button toggles to roadmap. Map needs a configured Google Maps browser key -- without one, it shows a notice to use List for the same live data instead.
Selecting a marker (or a row in List) opens the property panel: address, current disposition, a do-not-knock flag, attempt count, last visit date and representative, next follow-up date, a link to the linked CRM client record when one exists, a shortcut to open the address in Google Maps, and the property's visit history -- disposition, date, representative, and a note excerpt for each recorded visit, or No visits recorded yet. when there are none. A manager can select Mark do not knock on a property that isn't already flagged, or Clear one that is, which still requires a typed reason. Visits themselves are recorded from the native field app, not from this office panel.
The same campaign, territory, representative, disposition, address, and date filters carry across Field View, Visits, and Reports, so switching between them keeps the current filter choices instead of resetting them.
The Properties CSV export (available from a territory's target list to a teammate with Export data) downloads every property loaded into that territory -- not just the page currently on screen -- with each property's ID, address, coordinates, loading source, current disposition, do-not-knock flag, attempt count, last visited date and representative, and next follow-up date.
Reports adds a Campaign comparison table alongside the existing territory comparison: completion rate, attempts, contacts, leads and lead rate, appointments and appointment rate, estimates and estimate rate, and sales and sales rate, side by side for every campaign matching the current filters (completed revenue is not yet available per campaign). A teammate with Export data can download this table as a CSV, the same as the territory comparison. For the full reporting metrics, GPS route review, representative rankings, and the Visits/Results/GPS exports, see Canvassing Reporting and Exports.
Configure Field Policy
V2 web settings: Teammates with Manage Canvassing can open Canvassing settings and use Location collection & retention to save the optional retention period and collection interval. These controls store policy values; they do not activate mobile route capture. The GPS review settings and signals in the V1 table below remain target workflow.
In the V1 workflow, open Canvassing settings > Field policy.
| Setting | What it controls |
|---|---|
| Raw GPS retention | Intended number of days for raw route coordinates; non-coordinate shift summaries are retained separately |
| Manager review distance | Distance from a property at which a visit is flagged for review |
| Tracking distance interval | Minimum movement used by native route collection |
| Tracking time interval | Native route collection cadence |
| Manager access to private AI coaching | Organization policy preference for future conversation-level coaching access |
In web Canvassing settings, Point retention (days) accepts a whole number from 7 to 365, and Collection interval (seconds) accepts a whole number from 5 to 300. Leave either field blank to keep it unconfigured; no value is selected by default. The selected period is intended for raw route points; non-coordinate shift summaries are retained. Saving the policy does not turn on collection. The mobile capture remains off, and the retention purge is paused and has not completed a run, so the selected duration is not an active deletion guarantee.
The V1 baseline uses a 150-meter review distance and 180-day raw GPS retention. Neither value is an active W43 organization default. A distance flag saves the visit and asks for review; it is not an automatic accusation or proof of misconduct.
The server can also attach review signals for mocked-location reports, outside or unverifiable territory boundaries, implausible travel, unusually rapid door activity, repeated visits clustered at one point, low shift coverage, and long location interruptions. When route data is available, the review evidence includes the nearest route point from the same representative and shift within the surrounding time window, including its time and distance from the visit. These are non-accusatory integrity prompts for human review, not automated employment decisions.
Choose retention and employee-notice practices that meet your local legal and labor requirements before a future rollout. The V1 workflow confines background tracking to an active canvassing shift.
The current manager AI surface remains aggregate and scoped even when the private-coaching policy preference is on; it does not expose a conversation archive.
Review Recovered Visit Requests
Each mobile door action has a durable request identity bound to the organization, representative, assignment, shift, target, and submitted details. A retry reuses the completed visit instead of creating another attempt, lead, appointment, or automatic customer message. If an interrupted request must be recovered after its processing lease becomes stale, Clean Estimate Pro reuses any durable CRM intake result, suppresses automatic communications, and adds a manager-review reason. Completed request fingerprints are retained for 45 days—beyond the supported 30-day offline replay window—then removed in bounded service-only batches; active or recoverable claims remain. Review the property history and linked CRM records before manually contacting the customer.
Configure Outcomes
Open Canvassing settings > Dispositions to review system outcomes or add an organization-specific outcome.
For each custom disposition you can set:
- Label, stable code, icon key, marker color, and sort order
- Whether it is active or completes the target
- Whether it counts as a conversation, qualified lead, or appointment
- Whether a note or follow-up is required
- Whether it creates an organization-wide do-not-knock restriction
System dispositions are read-only. Custom dispositions can be edited or archived. The web and native maps use the configured label, color, and status abbreviation, so color is never the only status indicator.
Do-not-knock applies to the reusable organization property across campaigns. Clearing or adding it from the property panel requires a manager explanation and records the override. A representative's confirmed mobile restriction is also projected immediately across every downloaded target for that property, including offline copies, while the authoritative server write waits to synchronize. When a connected representative opens a property from a stale map page, the fresh server projection likewise applies a newer office or teammate restriction across every downloaded target for that property before the sheet allows another outcome.
Configure XP, Goals, and Templates
Open Canvassing settings > XP & goals to control leaderboard visibility, choose full or rank-only privacy, select its featured metric, and manage server-verified XP rules and representative goals. The existing leaderboard setting is separate from the Enable canvassing XP awards switch. Teammates with View canvassing can read the section; Manage canvassing is required to save changes.
Web release: Canvassing XP awards require both the organization-wide XP setting and a separate canvassing award setting, which is off by default, to be enabled. The settings support prospective rule and goal changes; existing awards keep their original value and past activity is not replayed. The Shift started rule is read-only and unavailable because V2 has no verified shift record.
The Server-verified XP section's editable rules default to 1 XP per unique door, 4 per conversation, 10 per qualified lead, 20 per appointment, 15 per estimate, 50 per attributed sale, 25 per Suds Club sale, 30 per completed job, and 1 per $100 of completed revenue. Shift started defaults to 2 but is read-only and unavailable without a verified shift record. Representative goal defaults are 50 daily doors, 15 daily conversations, 10 weekly qualified leads, 5 weekly appointments, 8 monthly sales, and $10,000 monthly revenue. If another manager saves newer settings first, a stale save is rejected and the latest values are loaded. Review those values before saving again.
For an eligible event, the server verifies the underlying activity before awarding XP. Repeating an action or retrying a request does not award it twice.
Leaderboard XP follows verified activity in the same organization and representative account. If completed work is reopened or cancelled, its XP reversal remains visible in period totals and does not count as a positive contribution.
Use Estimate templates to store up to 12 named residential starting-point configurations with approved service keys, an optional package key, and a customer note. After a representative records an eligible outcome during the current shift, the native Canvass flow presents these as quick-estimate choices. Selecting one opens the standard Residential Estimate builder with the approved starting values; it never overrides configured pricing, tax, discount authorization, or Red Line controls.
Before a field rollout, confirm the active residential price book has one supported row for each offered service, valid add-on size options, current approved custom-item templates, and a published Suds Club setup if the team offers membership. Native builders receive those values and the rep's effective permissions in one revisioned server bundle. Sent estimates must match the exact revision and server-calculated total that the rep reviewed, so a pricing or catalog change made while a phone is offline stops the stale send for review instead of silently carrying the old price forward.
Set the organization's IANA timezone under Settings > Company Information before a pilot. The native Your verified goals panel shows daily doors and contacts, weekly qualified leads and appointments, and monthly sales and completed revenue in that timezone. Goal and leaderboard windows are derived in PostgreSQL for Today, Week, and Month, including daylight-saving transitions, repeated local midnights, and skipped local midnights, instead of using fixed UTC boundaries. The same organization-local bounds apply to operational, XP, and balanced-scorecard standings. Organizations upgraded without a saved valid timezone use UTC until an owner selects another IANA zone.
The web command center labels From and To with that IANA timezone. Reset selects the organization's current calendar date and the prior 29 dates. Date-only edges use the first real instant of the local start date through one millisecond before the first real instant of the next local date, including daylight-saving dates whose midnight is skipped or repeated. Reports, property results, representative drills, route review, CSV exports, and Manager AI therefore share one calendar scope. Report headings and daily activity chart buckets use the same organization-local calendar dates and identify the timezone.
Progress comes from server-validated visits and attributed outcomes; visits waiting for manager review do not increase operational goals. Contact, appointment, and close rates follow the cohort of verified visits in the selected period, including later linked outcomes. Appointment, estimate, sale, and revenue cards credit the period in which the downstream activity occurred, so their counts can intentionally differ from cohort rate numerators. The native full-screen standings panel can filter by authorized campaign, territory, and Sales reps only, and each card includes verified doors, contacts, qualified leads, appointments, estimates sent, sales, revenue, contact, appointment, and close rates, plus XP. The configured metric is promoted and highlighted on every card even when the main rank remains balanced. Owners and managers receive organization-wide live campaign and territory choices; representatives receive only active assigned scopes. The native result is bounded to the top 25 plus the current representative's own row, including at most 26 identity profiles.
The mobile app refreshes only while the standings panel is open, using a staggered interval of about 120–150 seconds and a stable-principal server rate limit. A live full-visibility response can show the top 25 plus the current representative, but those teammate identities are never persisted. Version 4 offline standings retain only the signed-in representative's own row under the private Current user label, with the download time and exact organization, user, period, campaign, territory, and role-filter provenance for no more than five minutes. Echoed period, filters, and ordered organization-timezone bounds must match; malformed, incomplete, expired, more-than-30-seconds-future, or differently scoped snapshots are rejected. Legacy version 3 identity-bearing snapshots never render and are removed when cache maintenance can write. Authorization failures, disabled standings, and rank-only privacy changes purge incompatible data; if a local privacy purge fails, an in-memory barrier blocks later offline standings for that organization and user until a safe authoritative result is cached.
Drill into representative results
In the web command center, open Reporting and select a representative's name to inspect verified visits, or select the linked Verified doors, Estimates, or Sales value to inspect that exact source type. Clean Estimate Pro preserves the selected representative plus the report's organization-local date, campaign, territory, disposition, and address filters, then switches to a paginated Field list containing only matching verified source targets. Visits waiting for manager review and records outside the live organization scope are excluded.
The Source representative, match-count, and Last matching activity columns describe the exact source set. Match count follows the selected focus: one distinct verified door, individual verified visits, distinct linked estimate records, or distinct sold targets. A campaign and territory label disambiguates the same reusable property when it appears as more than one canvassing target. Select Details to carry that exact target ID, representative, period, campaign, territory, and disposition scope into the matching visits and estimate or sale attributions. Appointment and sale conversion in the drill follows the selected verified-visit cohort, including linked outcomes recorded later. This makes the aggregate traceable to its exact source records without weakening normal organization, property, or CRM access checks.
Run a Competition
Under Team competitions:
- Enter a name, start and end time, metric, minimum qualifying activity, prize or recognition, and optional XP bonus.
- Optionally scope the competition to a campaign, territory, or selected eligible users.
- Create the draft and select Activate when ready.
- Review View standings before selecting Finalize.
Supported competition metrics include doors, conversations, leads, appointments, estimates, sales, completed revenue, and XP. Finalization stores the reviewed standings and winner. A contest-linked XP bonus is idempotent, so retrying verification cannot intentionally award it twice.
The competition panel and the organization XP leaderboard are related but separate. A contest is described as an XP competition only when its selected metric is XP.
Next Steps
- Send representatives to Door-to-Door Canvassing.
- Review results in Canvassing Reporting and Exports.
- Configure safe assistance with Canvassing AI.
- Complete Canvassing Launch Readiness before enabling a live organization.
Related articles
Was this article helpful?
Still need help? Contact support