Threshold turns voter data, volunteer relationships, events, lists, and outreach conversations into organized action — and into reportable data your campaign can act on. It uses handwriting recognition, name-matching, and AI to make relational volunteer management and data entry scalable. This guide covers the whole workflow, for both volunteers and admins.
Key features and differentiators
- Rapid data entry — a patent-pending OCR+ and AI pipeline matches messy handwriting to the voter file in under 10 seconds.
- AI Coach — a customizable assistant that actually enters data and is trained on your campaign's materials and goals.
- Geocoded contacts — contacts are geographically coded so volunteers can start in their immediate neighborhood and move outward.
- Advanced reporting — a Postgres backend with customizable, AI-powered reporting.
Before you begin
Threshold works best when a campaign gets a few basics in place before volunteers start adding people:
- Fill in campaign information under Admin — candidate, election date, key issues — and customize survey questions, activist codes, the target universe, and AI Coach guidance.
- Invite team members with the correct roles. Volunteer and Organizer are self-explanatory; Regional Organizing Directors generally get Admin, while Data Directors and Organizing Directors usually get Organization Owner or Super Admin.
- Enable the right products per user — Relational or Events. A user can have one without the other.
- Confirm a voter dataset is assigned to the campaign. Without one, you can't match contacts, build SmartTurf lists, or export voter-file fields.
If you're a volunteer, you don't need to set any of this up. Your job: add people you know, reach out, and record what happened. Everything else flows from there.
Sign in and choose the right campaign
- Go to the sign-in page for the product you're using (your organizer will send a direct link).
- Enter your email and password.
- If prompted, enter the verification code emailed to you.
- Wait for the dashboard to load.
If you belong to more than one campaign, use the campaign switcher in the top-right account area. Pick the campaign and let the page reload — contacts, settings, lists, permissions, and access rules all swap together.
A few things to know:
- Each campaign is fully siloed. Contacts, lists, events, messages, and notes don't carry across campaigns.
- If a page or product you expected is missing, you're either in the wrong campaign or don't have access. Ask an admin to check both before assuming something's broken.
Roles and product access
Roles stack: an Organizer can do everything a Volunteer can, an Admin everything an Organizer can, and so on.
| Role | What they can do |
|---|---|
| Volunteer | Add and manage their own contacts, use AI Coach, scan sheets, and log outreach, notes, survey responses, and activist codes on their contacts. |
| Organizer | Everything a Volunteer can, plus visibility into team activity and (depending on setup) field workflows, lists, scans, and turf assignments. |
| Campaign Admin | Full admin for one campaign: users and roles, campaign-wide contacts, exports, AI Coach context, surveys and codes, integrations (incl. VAN), messaging, support, target universes, reporting, and the audit log. |
| Organization Owner | High-level access across the organization, including org-level settings and (where enabled) billing access. Everything a Campaign Admin can do. |
Product access is separate from role. A volunteer can have Relational but not Texting, or Events but not Messaging. If you expect to see a product and don't, ask an admin to check your product access.
Use the dashboard
The dashboard is home base. Top navigation:
- Home — campaign summary, your stats, and shortcuts to common actions.
- People — your contact list and action plan, where most day-to-day work happens.
- AI Coach — chat-based help that explains what to say, does data entry and logging, and suggests next steps.
- Messages — team channels, announcements, and DMs.
- Organizing — organizer-level reporting and team views (role permitting).
- Petitions — petition scanning and signature validity tools (role permitting).
- Admin — campaign administration, for admins and higher.
Recommended first-day workflow for volunteers: open People → add at least 10 real contacts you know → run Match when the button appears → review ambiguous matches → ask AI Coach who to contact first → send a text or make a call → come back and log the outcome.
Ten contacts is the floor, not the goal. Volunteers who add 30–50 people in the first session move twice as fast for the rest of the cycle, because matching, prioritization, and AI Coach all work better with a real pool to reason over.
Build your relational contact list
Open People to add contacts. There are three intake modes — and most volunteers use all three.
Manual — best when adding one person at a time. Enter first and last name; add address, city, ZIP, estimated age, gender, and phone when known; pick a relationship category; click Add Person. Address and estimated age are the two highest-leverage fields after name — a guess within five years dramatically reduces ambiguous matches. Relationship categories include Household, Close/Extended Family, Best/Close Friends, Neighbors, Coworkers, Faith Community, School/PTA, Sports/Recreation, Hobby Groups, Community Regulars, Recent Meals, and Other.
Nearby — find voter records around an address or ZIP. Open People → select Nearby → enter an address or five-digit ZIP → click Search Nearby → review results in list or map view. From any result you can add the voter, send a text or start a call (when a phone is on record), or mark a quick outcome. Nearby is the fastest way to turn a known location into 20–40 actionable contacts.
Contacts — bring in a stack of people at once via phone contact picker, vCard upload, pasted names, or bulk import. Threshold parses each row and shows a preview — review every row before adding. Name-only imports are still useful for outreach but won't match the voter file, so fill in city and an age estimate on important rows first.
Scan handwritten sheets
Scan Sheet turns paper — sign-in sheets, walk lists, petitions — into structured contacts.
- Click Scan Sheet from the dashboard or People page.
- Choose Contact Sheet.
- Take a photo on mobile or upload an image.
- Wait while Threshold reads the handwriting.
- Review every extracted row — fix misspellings, missing cities or phones, and wrong categories or outcomes.
- Pick which rows to include, then click Import.
Admins may see Data Entry Mode, where you pick the volunteer who should receive the contacts — useful when organizers type up paper sheets on someone's behalf. For petitions, choose Petition Sheet instead, which pulls signature lines, addresses, dates, and petitioner info and routes you to signature-validity review.
For cleaner scans: fill the frame with the sheet, use bright even light, keep the page flat, one sheet per photo, and always review before importing — handwriting OCR is good, not perfect.
Match people to the voter file
Voter matching links your contacts to records in your campaign's voter file. A confirmed match unlocks registration status, address, party, vote history, district, additional phones, and target status (exact fields depend on the dataset).
To run matching: add people first, click Run Match when it appears, wait, then open any ambiguous result and confirm the right record (or reject all candidates if none fit).
| Status | Meaning |
|---|---|
| Confirmed | A strong automatic match, or one a user confirmed. |
| Ambiguous | Multiple plausible candidates; needs human review. |
| Unmatched | No reliable voter record found. |
| Pending | Not matched yet. |
To resolve an ambiguous match, open the contact card, compare name, address, city, age/birth year, and phone, and pick the best fit. If none fit, reject the match, add more detail, and rematch.
Prioritize outreach
The People view lets you search, filter, and sort so you're not re-deciding who to contact every five minutes. Filter to Unmatched, filter by outcome (Not contacted, Supporters, Undecided, Left message, No answer, Not interested), and sort by Recent, Name, Category, Match status, Target, Outcome, or Priority.
Priority blends the signals the campaign cares about — match status, voter segment, target status, and outreach state — into one ranking. When in doubt, ask AI Coach rather than guessing. Campaigns with a target universe show target indicators on matched contacts; a target hit means the person fits the campaign's strategic universe.
Contact people and log outcomes
Threshold can help you call or text, but it can't read your conversations. Logging is your job, and it's the single most important step — un-logged outreach is invisible to the rest of the campaign.
Open People → find the contact → use Call or Send Text if a phone is available → have the conversation in your own voice → come back → mark how you contacted them, choose the outcome, and add notes, survey answers, or activist codes.
Outreach methods are Text, Call, and One-on-one (in person). Outcomes:
- Supporter — with the campaign, or agreed to the ask.
- Undecided — needs more information or a later follow-up.
- Opposed / Not interested — not persuadable right now.
- Left Message — voicemail or unanswered message.
- No Answer — you tried but didn't reach them.
Left Message, No Answer, and Undecided aren't dead ends — most supporters are reached on the second or third attempt. Good notes are short, specific, and operational: "Wants absentee ballot link, text Friday" or "Asked about housing plan, send issue page" — not "talked to her, seems supportive."
Use AI Coach
AI Coach helps volunteers and organizers move faster without learning every workflow. It's grounded in the campaign's own guidance (issues, talking points, tone) when an admin sets that up under Admin → AI Coach. It can suggest who to add next, draft scripts in the campaign's voice, explain a match result, run matching on request, log conversations from a plain-English description, summarize next steps, and turn messy notes into structured outcomes.
Sample prompts: "I'm brand new — what should I do first today?" · "Help me think of neighbors I should add." · "Write a friendly text for Maria about voting." · "I called James; he supports us and might volunteer next weekend." · "Which contacts need follow-up?"
AI responses can be wrong. Always review the records AI Coach touches — especially match decisions, survey answers, and notes — before treating them as truth.
Build voter lists with SmartTurf (coming soon)
SmartTurf is the organizer-facing workflow for building voter universes, saving them, analyzing them, and cutting them into turf. It runs against the campaign's voter dataset, so available filters depend on what's in that dataset. Main navigation: Manual ListBuilder (step-by-step), AI+ (natural-language list building), Folders (saved lists), and Cut Turf.
Manual ListBuilder builds a universe in sequential steps — each can add voters, remove voters, narrow to an intersection, or sample. Typical filters include districts, party, voter status, age and registration date, gender, vote history, suppressions, phones, household settings, contact history, survey questions, activist codes, scores, ballot status, petition status, and saved lists.
Build a list by picking filters, watching the live count update, adding steps to include/remove/narrow/sample, reviewing count, doors, phones, and geography, then saving with a clear name. Good names describe the universe and purpose ("GOTV — High turnout Dems — Ward 3"), not just criteria ("List 47"). AI+ can analyze a saved list or reason through a universe when you know the goal but not the exact filters.
Create turfs and walk lists
Cut Turf turns a saved list into walkable canvass packets: build or pick a list, open Cut Turf, review the map, voter density, total doors, and geocode coverage, split the universe into shift-sized packets, then assign or schedule them.
Canvassers open assigned turf in the field, check in, see stops in walking order, and mark each voter as knocked, not home, or refused — even with no signal. Offline actions queue locally and sync when connectivity returns.
Events and messaging
These products appear only when enabled for your campaign.
Events — publish event pages, collect RSVPs, manage guests, and send reminders. Create an event with title, description, type, date/time/timezone, and location; mark it virtual if it has a video link; set visibility and RSVP settings; add branding; publish. Event blasts can notify attendees, but use them sparingly — reserve them for changes people actually need to know (cancellation, time change, address fix).
Messaging is for internal coordination, not voter contact: Announcements (leadership broadcasts), Teams (shared channels), and DMs. Use channels for anything the team will need to reference later; don't run organizing in DMs, where context disappears.
Admin tools
Campaign admins see the Admin tab. Each tab is its own workspace: Summary, Targets, Users, Contacts, Activity (audit trail), Export, AI Coach, Surveys & Codes, Integrations (VAN and others), Messaging, and Support.
Setup checklist: confirm campaign name, state, election date, and candidate info → invite users with the right roles → confirm product access → add issues, talking points, and goals under AI Coach → add survey questions and activist codes before major outreach (adding them mid-cycle leaves earlier data without responses) → configure target universe rules → confirm the voter dataset is assigned → then run the full loop yourself (add a contact, match it, contact it, log it, export it). If anything's broken, you'll find it here, not in production.
Export and sync data
Admins export from the dashboard or Admin → Export. Exports typically include campaign ID and name, volunteer name, contact details, voter-file details (once matched), match status, outreach method, outcome, voter segment and score, relationship category, survey responses, activist codes, notes, and contact date.
Before exporting: run matching for any remaining unmatched contacts that need voter-file fields, review ambiguous matches (wrong matches are worse than missing ones), filter to what you need, and skim notes for anything sensitive.
If VAN or another integration is enabled, configure credentials, test the connection, and review sync logs under Integrations. Threshold maps relational outcomes onto VAN's model — Contact Method → Attempt → Result Code → (if Canvassed) Survey Question response. If sync errors mention missing required fields, bad credentials, or unsupported values, fix the underlying data in Threshold before retrying.
Troubleshooting
- Can't sign in — confirm you're using the invited email, reset your password, check spam for the verification code, and ask an admin to confirm your membership is active.
- Don't see a page or feature — confirm you're in the right campaign (top-right switcher), and ask an admin to check your role and product access. Some tools are admin- or platform-admin-only.
- Matching is weak — add full name, city, ZIP, street address, and an estimated age; confirm a voter dataset is assigned; reject wrong matches rather than forcing them; rematch after improving details.
- Scan found bad data — retake with better light, keep the page flat, review and edit every row, and delete rows that aren't real contacts.
- Texts/calls don't log automatically — expected. The buttons open your phone or messaging app; come back and log the method and outcome manually.
- Exports look incomplete — re-check filters (most "missing data" is filtered out), confirm volunteers logged outcomes, and run matching before exporting if voter-file fields are required.
Glossary
| Term | Definition |
|---|---|
| Action plan | The working list of people to contact and follow up with. |
| Activist code | A campaign-defined tag on a matched voter, used for segmentation and targeting. |
| AI Coach | The chat assistant that helps with scripts, workflow questions, contact creation, matching, and logging. |
| Ambiguous match | A match result with multiple plausible candidates needing human review. |
| Confirmed match | A contact linked to a voter record with high confidence. |
| Contact outcome | The result of an outreach attempt: Supporter, Undecided, Opposed, Left Message, or No Answer. |
| Cut Turf | The SmartTurf workspace for turning saved lists into walkable packets. |
| Dataset | The voter file assigned to a campaign. |
| Product access | Feature-level access (Relational, Events, Messaging, Texting), set independently of role. |
| Relational | The contact-list-driven product where volunteers add and contact people they know. |
| SmartTurf | Threshold's list-building, saved-universe, analysis, and turf-cutting workflow. |
| Target universe | The campaign's definition of voters who count toward a strategic goal. |
| Unmatched | A contact without a reliable voter-file record. |
| Voter segment | A classification from campaign settings and voter-file signals, used to prioritize outreach. |