Spec map
Home: All V2 Specs · Foundation: Data System (UVP) Mode(s): Campaign Mode, Petition Mode Related specs: Data System (UVP), Field Canvassing, Polling Engine, Voter Contact
🎯 Goals
Product Philosophy and User Model
- Compress professional phone-bank workflows into compliant self-serve software serving Manager, Caller, and Politogy roles. Mode Architecture and Product Positioning
- Position Phone Banking as a Campaign Mode voice channel of the Voter Contact substrate, distinct from Relationship Mode click-to-call. Foundational Architecture
- Inherit substrate entities and define phone-specific Caller, Session, Call Attempt, and VWPP extensions. The Continuous Lifecycle
- Run phone banking through plan-to-activate phases with compliance and cross-channel checks at each step. Campaign and Session Creation
- Give Managers a strategic console to build compliant lists, scripts, and sessions and monitor them live. The Caller Experience
- Provide a distraction-free, mobile-first call surface with auto-advance and silent compliance guards. The Script System
- Render voice-optimized, compliance-pre-checked, versioned scripts via the Methodology Agent and ScriptBuilder. Telnyx Integration
- Deliver browser and mobile voice over Telnyx with campaign caller ID, voicemail capture, and constrained drops. Compliance Architecture
- Enforce TCPA, DNC, calling hours, recording consent, and disclosures at five blocking checkpoints. Disposition Taxonomy
- Capture structured, Posture-constrained connection and contact outcomes with Capture Mode tagging. Reporting
- Provide real-time and final session, campaign, and cross-campaign reporting with cross-channel saturation. Field Volunteer Permissions
- Scope Callers tightly to their active session and own data, tightening but never loosening substrate permissions. Substrate Compliance Summary
- Demonstrate that Phone Banking honors every substrate contract without redefinition.
Conceptual Specification
Module: Campaign Mode → Voter Contact → Phone Banking Document type: Conceptual specification (architecture, behavior, and integration) Audience: Politogy VRM development team Status: Draft for development team review Author: Ben Edtl (Politogy LLC) Substrate dependency: VRM Voter Contact Substrate (foundational entities, Posture distinction, Cross-Channel Contact Ledger, VWPP framework, Next Moves contract, Capture Mode taxonomy, two-tier boundary) Companion documents: VRM Foundational Data System; VRM Polling Engine; VRM Voter Contact — Field Canvassing; VRM Mode Architecture; Message Lane Taxonomy
1. Executive Summary
Phone Banking is the voice channel of VRM Voter Contact. It is the system through which campaigns deploy real humans — paid staff, volunteers, candidates themselves — to call real voters in real time. It compresses the workflow of professional phone bank vendors into software that grassroots and Republican campaigns can run themselves.
The product thesis is that telephone voter contact at scale currently has two bad options: hire a vendor at six figures, or run a fragmented Google Sheets / random dialer / paper notes stack that leaks data, double-contacts voters, exposes campaigns to TCPA liability, and produces no usable intelligence. Phone Banking collapses both into a single system that ingests voter file data, builds and assigns call lists, generates compliant scripts, manages live caller sessions, enforces TCPA and DNC compliance absolutely, captures every disposition with full provenance, integrates with the Cross-Channel Contact Ledger to prevent double-contact across channels, and feeds every interaction back into the Unified Voter Profile and Aggregate Intelligence layer.
Phone Banking honors every contract defined in the VRM Voter Contact substrate. It does not redefine substrate concepts. It implements substrate primitives with phone-specific behaviors where the operational reality of voice contact demands it.
Phone Banking is built on five operational principles inherited from and consistent with the substrate:
- Precision over guesswork. Every call attempt is provenance-stamped. Every disposition is structured. Every session is auditable. Every voter touch is traceable to a Caller, a script version, a session, and a moment in time.
- Compliance is architecture, not a checklist. TCPA, federal and state DNC, calling-hours enforcement, recording-consent rules, and identification disclosures are enforced at the system layer. A Caller cannot place a non-compliant call. A Manager cannot stage a non-compliant Session. A non-compliant Script cannot be attached.
- Voice is signal. Every connected call produces structured intelligence — Connection Outcome, Contact Outcome, Capture Mode-tagged sentiment, optional polling responses, Caller-tagged voter-issue flags. Voice is not a delivery medium for messages; it is a fielding instrument for intelligence.
- The Caller is a measurable instrument. Callers are scored on Call Quality, Connect Rate, Data Quality, Sentiment Capture Reliability, Polling Fidelity, and Compliance Discipline. The Volunteer Worker Performance Profile (VWPP) accumulates across all accounts, all channels, all campaigns.
- No predictive dialing. Ever. Predictive dialing on political calls is a TCPA compliance landmine and is architecturally forbidden by this spec. Click-to-call V1; preview dialer V1.5; predictive never.
Phone Banking differentiates Politogy VRM in four structural ways:
- Substrate-native architecture. Phone Banking does not stand alone. It is one channel of a unified Voter Contact substrate. Cross-channel coordination (double-contact prevention, do-not-contact propagation, unified worker scoring, unified strategic Next Moves queue) is architected, not bolted on.
- Posture flexibility. A Phone Banking Session can be Posture A (Poll-Fielding — the script IS a Polling Engine poll instrument; dispositions feed the four-dimensional scoring model) or Posture B (Contact Operation — standalone outreach for ID, GOTV, recruitment, donor contact, etc.). Same Caller interface serves both, with the substrate’s Posture lock preventing data corruption.
- Compliance as system, not policy. TCPA, DNC, calling hours, recording consent, and identification disclosures are enforced at five points: Script compliance pre-check, Session staging validation, list-assignment time check, in-Session dialer guard, and post-disposition audit. Failure at any point blocks the action.
- Telnyx-native voice. WebRTC for browser Callers, Telnyx Mobile SDK for native mobile, inbound voicemail capture with transcription, outbound voicemail drops (off by default, landline-only with defensible legal path) — all on the same telephony infrastructure already serving SMS/MMS Blast.
This specification defines V1 MVP scope (click-to-call only), V1.5 enhancements (preview dialer), and V2 expansion (live inbound answer, per-Volunteer caller identity, posture switching mid-session). The data model is architected to support V2 expansions from day one.
2. Product Philosophy and User Model
2.1 The Three Users
Phone Banking serves three user roles, matching the substrate’s user model.
Manager / Coordinator (PC-tier user). Campaign managers, field directors, candidates, chief petitioners. Build sessions, define call lists, generate scripts, assign Callers, monitor live sessions, review reports, decide what comes next. Operates primarily on desktop. Mobile is read-only for monitoring during shifts.
Caller (Mobile-tier user). Volunteers, field organizers, paid callers, candidate-supporter callers. Receives assigned queues, places calls, captures interactions, administers structured instruments by voice. Operates on mobile or desktop browser. WebRTC for browser; Telnyx Mobile SDK for native mobile.
Politogy Internal (Cross-account oversight). Politogy admins reviewing TCPA compliance flags, moderating cross-account do-not-contact registrations, managing the cross-account Volunteer Worker entity, observing VWPP calibration, intervening on platform-level compliance escalations.
2.2 The Manager Experience
The Manager surface is a strategic call operations console. Call list creation is a methodology negotiation — define target population, geographic scope, contact propensity filters, do-not-contact filters, system produces a compliant call list with full methodology abstract. Assignment is structured and auditable. Live oversight provides real-time progress without micromanagement. Captured intelligence flows through the Strategic Analyst into actionable Next Moves.
Specifically:
- Call list optimization is consultative, not opaque. The user sees the optimization function being applied (contact propensity, time-zone routing, preferred-contact-time signals from prior contact, language matching), can adjust parameters, and overrides are logged.
- Live progress dashboards show connect rate, contact rate, outcome distribution, and Caller performance in aggregate. Compliance feed surfaces any flagged events in real time.
- Strategic memos arrive when Sessions complete. Heavy-Prescription Call List Next Moves arrive as fully-specified follow-up campaigns.
- Cross-channel integration with the Polling Engine and Field Canvassing is visible at the campaign level — Managers see channel mix and saturation across all features in one view.
2.3 The Caller Experience
The Caller surface is a confident voice assistant that handles every operational concern so the Caller can focus on the conversation. Click-to-call dialing keeps TCPA exposure at zero. Voter cards arrive pre-populated with everything the Caller needs to have an intelligent conversation. Outcome logging is two taps. Notes capture is fast and tagged by Capture Mode. Polling instruments administered by voice are scriptable, branched, and frozen at session start. Compliance prompts are unobtrusive but always present.
Specifically:
- The Caller cannot place a call outside legal hours. The system enforces this — the dial button is disabled.
- The Caller cannot dial a number on the federal DNC, the state DNC, the internal campaign DNC, or the platform-wide DNC. The voter is skipped automatically.
- For two-party-consent states, the recording-consent prompt appears as a scripted line at the top of the conversation. Caller cannot start recording without the prompt being delivered.
- Custom note fields defined by the Manager appear as distinct capture surfaces alongside Community Notes and Call Activity Notes.
- Polling Engine instruments fielded by phone appear as a clearly delineated module within the call screen — distinct from outcome logging and free-form notes.
- The disconnect / disposition transition is instant — auto-advance moves the Caller to the next voter in their queue without delay.
2.4 What This Product Is Not
To avoid scope drift:
- Not a predictive dialer. Predictive dialing on political calls is explicitly forbidden by this spec at the architectural layer (Section 4).
- Not a robocall platform. Automated voice broadcasts have separate regulatory requirements and live (if at all) in a separate module. Phone Banking is human-delivered voice contact only.
- Not a general-purpose CRM contact tool. Relationship Mode handles opt-in CRM contact with click-to-call. Phone Banking operates against the voter file and lives in Campaign Mode.
- Not a texting tool. SMS/MMS Blast is a separate module. Phone Banking may trigger an SMS follow-up after a disposition; the SMS infrastructure itself is not part of this spec.
- Not a call center contact center. Live inbound answer with round-robin routing, hold music, agent state tracking, and abandoned-call handling is V2. V1 ships inbound voicemail capture with Manager-assigned callback.
- Not a vendor portal. Campaigns run their own phone banks on Politogy VRM. They are not buying call services from Politogy.
2.5 Substrate Posture Distinction (Phone-Specific Application)
The substrate’s Posture distinction applies in full. Phone Banking does not add phone-specific Postures.
Posture A — Poll-Fielding Phone Session. The Session fields a Polling Engine poll instrument by voice. The Caller reads the questionnaire as scripted. Dispositions are poll responses, written to the four-dimensional scoring model. Methodology Agent owns the script. The Session contributes to the source poll’s Fielding Scorecard.
Posture B — Contact Operation Phone Session. Standalone phone outreach for Voter ID without poll-grade scoring, GOTV, volunteer recruitment, donor cultivation, candidate intro, petition follow-up, circulator recruit. Script from ScriptBuilder (or Methodology Agent for ID/persuasion subtypes). Dispositions write to Campaign Data layer as contact attempts and tags.
Posture is locked at Session creation. Mid-Session switching deferred to V2 per substrate.
Inbound voter callbacks are not their own Posture — they are a Session policy on a regular Posture B Session, allowing the Caller to take inbound calls from voters who received campaign mail / SMS and are calling back.
3. Mode Architecture and Product Positioning
3.1 Where Phone Banking Lives
Phone Banking lives exclusively inside Campaign Mode. This is substrate-enforced (the substrate lives in Campaign Mode; Phone Banking is a substrate channel). Meaningful phone contact requires voter-roll access (caller ID, propensity scoring, vote history, district matching, do-not-contact filtering). Campaign Mode grants voter-roll access; Phone Banking therefore lives there.
Petition Mode subscribers automatically receive Campaign Mode (per existing architecture) and therefore receive Phone Banking. Petition campaigns need to call signers to confirm signatures, drive turnout to signing events, and recruit circulators. Petition-specific Posture B subtypes (Petition Signature Follow-Up, Circulator Recruit) are first-class campaign types per the substrate’s shared campaign type taxonomy.
3.2 Phone Banking and Relationship Mode
Relationship Mode does not include Phone Banking. Relationship Mode is built around opt-in customer-supplied contacts and does not have voter-roll access, TCPA-grade compliance scaffolding, or the substrate’s Cross-Channel Contact Ledger writes. Relationship Mode does support light-touch click-to-call on individual contact records using the same Telnyx voice infrastructure — this is not Phone Banking. There are no Sessions, no Postures, no Callers, no Disposition Taxonomy, no Ledger writes. Notes log. That is the extent of it.
If a Relationship Mode user wants to run a structured phone bank against their CRM contacts, they upgrade to Campaign Mode. Deliberate upgrade pressure built into the product.
3.3 Phone Banking and the Polling Engine
Phone Banking and the Polling Engine integrate via the substrate’s Polling Engine Fielding Contract. Phone Banking is a fielding mode of the Polling Engine when operating in Posture A.
Tight integration:
- Phone-fielded poll responses are full Polling Engine poll responses — same Methodology Agent script, same four-dimensional scoring (Support / Confidence / Intensity / Volatility), same Fielding Scorecard contribution, same Strategic Analyst processing, same Aggregate Intelligence telemetry.
- The Methodology Agent’s headless mode generates phone-bank scripts alongside its existing poll questionnaire generation. One agent, multiple delivery channels.
- Heavy-Prescription Call List Next Moves are emitted by the Strategic Analyst and surface in the substrate’s unified Strategic Next Moves queue.
Loose integration:
- A Posture B Phone Banking Session without poll-fielding is a full Phone Banking Session. Outcome logging, free-form notes, and the rest of the phone-bank infrastructure operate independently of the Polling Engine.
- A Polling Engine poll without phone fielding is a full poll. SMS, email, tokenized web link, and (per Field Canvassing) door fielding all operate independently.
3.4 Phone Banking and Field Canvassing
Phone Banking and Field Canvassing are peer channels of the VRM Voter Contact substrate. Substrate-defined entities (Volunteer Worker, Session, Posture, Cross-Channel Contact Ledger, Next Moves contract, VWPP framework with four shared dimensions, Capture Mode) are shared. Channel-specific elements diverge per the operational reality of each medium.
Substrate-shared elements (defined in substrate, not in this spec):
- Volunteer Worker entity (Caller specializes; Canvasser specializes in Field Canvassing)
- Posture distinction
- Session lifecycle (Draft → Staged → Live → Closed → Archived)
- Campaign and Session entity schemas
- Cross-Channel Contact Ledger
- Shared campaign type taxonomy
- VWPP framework + four substrate-defined dimensions (Data Quality, Sentiment Capture Reliability, Polling Fidelity, Channel-Specific Quality)
- Methodology Agent and ScriptBuilder integration contracts
- Heavy-Prescription Next Moves contract
- Capture Mode taxonomy
- Two-tier IP boundary as applied to Voter Contact
Divergent elements (defined in this spec):
- Fielding instrument: call list vs walk list
- Optimization function: time-zone routing, contact propensity, language match, prior-call signals vs walking distance, elevation, time-of-day
- Capture environment: remote / voice vs in-person
- Capture Mode application: Self-Report and Verified common on phone; Observation rare (no visual context)
- Safety architecture: Caller anonymity, harassment protection vs physical canvasser safety
- Connectivity architecture: online-first vs offline-first
- Compliance regime: TCPA, federal/state/internal/platform DNC, calling hours, recording consent, identification disclosures, predictive-dialer prohibition vs state-by-state canvassing rules, HOA / private property, no-knock list
- Channel-specific VWPP dimensions: Connect Rate, Compliance Discipline vs Response Rate, Geographic Coverage Efficiency, Safety Discipline
3.5 Phone Banking and the UVP
Phone Banking writes to UVP layers per the substrate’s UVP routing rules:
- Campaign Data layer: Call list assignments, call attempt events, dispositions, free-form notes (Community / Call Activity / custom), captured polling responses (Posture A), Capture Mode tags, recording references where consented
- Relationship Data layer: Voter-stated do-not-call requests, voter-stated preferences captured during call
- Aggregate Intelligence layer: VWPP scoring inputs (Caller-side), Capture Mode-weighted sentiment training signal, voice-channel sentiment extraction outputs, cross-account phone contact intelligence, script effectiveness telemetry
- Identity Core / Contact Info / Vote History / Geographic / Enrichment: Read-only consumers; phone-bank surfaces display these through the call screen but do not write to them
User-generated data priority rules apply per the data system spec — Caller-captured data takes priority over voter file values when in conflict (e.g., voter says “wrong number”), with full provenance preservation.
4. Foundational Architecture
4.1 Substrate Inheritance
Phone Banking inherits the substrate’s six foundational entities (Campaign, Session, Channel, Posture, Volunteer Worker, Cross-Channel Contact Ledger) without modification. This section defines phone-specific extensions and channel-specific entities.
4.2 The Caller (Phone Banking Specialization of Volunteer Worker)
A Caller is the channel-specific specialization of the substrate’s Volunteer Worker entity. Architecturally:
- A User who has been assigned to a Phone Banking Session has a Caller specialization record attached to their Volunteer Worker entity.
- A User who has also worked Field Canvassing Sessions has both a Caller and a Canvasser specialization on the same Volunteer Worker entity, with one unified VWPP accumulating across both.
- Customers see only the Caller slice on their own account. Politogy sees the unified Volunteer Worker.
Caller-specific properties:
- Telephony device registration (WebRTC browser / Telnyx Mobile SDK device)
- Language fluency declaration (matched against script language variants)
- Authentication tier (volunteer / staff / candidate)
- Per-Campaign caller identity assignment (V1; per-Volunteer caller identity is V2)
4.3 The Phone Session (Channel-Specific Extensions to Substrate Session)
A Phone Session is a substrate Session with channel = phone and the following phone-specific extensions attached as channel-specific extension records:
- Dialer Mode —
click_to_call(V1);preview(V1.5);predictiveis forbidden and not in the enum - Caller Identity Mode —
per_campaign(V1);per_volunteer(V2) - Recording Policy —
none|all_consented|selected_consented; constrained by per-state consent laws enforced at staging time - Voicemail Policy — outbound drops
on|off(default off; on requires landline-only enforcement); inbound voicemail capture always on - Inbound Mode —
voicemail_only(V1);live_answer(V2) - Call Attempt Cap Per Voter — Manager-set; default 3
- Calling Hours Override — none allowed in V1; substrate-enforced state-by-state defaults
- Cross-Channel Cooldown Override — Manager may relax or tighten the substrate-default cross-channel cooldown for this Session
4.4 The Call Attempt
The atomic unit of phone-bank work. A Call Attempt records:
- Voter UVP reference
- Caller reference
- Session reference
- Script version reference
- Attempt timestamp (start, connect, disconnect)
- Connection Outcome (one of: no_answer, busy, voicemail_left, voicemail_no_drop, wrong_number, disconnected_number, do_not_call_request_runtime, dialer_error, connected)
- Contact Outcome (Posture-dependent; substrate-constrained for Posture A, operational for Posture B — see Section 11)
- Recording reference (if Recording Policy permits and consent captured)
- Capture Mode tags on captured data
- Notes references (Community Notes, Call Activity Notes, custom note fields)
- Compliance audit entries (consent prompt delivered, identification disclosure delivered, etc.)
Every Call Attempt writes a Cross-Channel Contact Ledger entry per substrate.
4.5 The Phone Bank Caller Performance Profile (Caller VWPP Dimensions)
Per substrate, every Caller specialization contributes channel-specific dimensions to the Volunteer Worker’s unified VWPP. The four substrate-defined shared dimensions plus Phone Banking’s two channel-specific dimensions:
| Dimension | Substrate-Defined / Channel-Specific | What It Measures |
|---|---|---|
| Call Quality | Channel-Specific Quality (substrate-named slot) | Pace, tone, script adherence — measured via Caller self-report on closeout + Manager spot-check + AI on recorded calls in V2 |
| Connect Rate | Channel-specific | % of attempts resulting in live voter conversation, normalized for list quality and time-of-day |
| Data Quality | Substrate-defined shared | % of dispositions complete, internally consistent, not flagged for review |
| Sentiment Capture Reliability | Substrate-defined shared | Caller-tagged sentiment vs ground-truth signal from later contact |
| Polling Fidelity | Substrate-defined shared | For Posture A: % of poll administrations completed in full vs partial; response distribution sanity-checked |
| Compliance Discipline | Channel-specific | TCPA adherence, DNC respect, calling hours observance, recording consent compliance |
Substrate-defined dimensions are directly comparable across channels (a Caller’s Data Quality is comparable to a Canvasser’s Data Quality). Channel-specific dimensions are not — Connect Rate is meaningful only for phone evidence.
5. The Continuous Lifecycle (Phone-Specific Detail)
Phone Banking follows the substrate’s continuous lifecycle. This section adds phone-specific behavior to each phase.
Plan → Build List → Build Script → Stage Session → Field → Disposition → Aggregate → Activate Next
Plan. Manager defines a Campaign, picks a campaign type from the substrate’s shared taxonomy, decides Posture. Phone-specific decisions deferred to staging.
Build List. Manager pulls voters using filters. Phone-specific filters: known-phone-number presence, phone propensity score (cell vs landline), time-zone, language preference, prior-call freshness. Cross-Channel Contact Ledger consulted at list-build time to surface cross-channel cooldown candidates. Voters on any do-not-call list (federal DNC, state DNC, internal DNC, platform DNC) are excluded automatically and not surfaced to the Manager.
Build Script. Methodology Agent (Posture A and Posture B ID/persuasion) or ScriptBuilder (other Posture B subtypes). Phone-specific script components: recording-consent prompt for two-party-consent states, identification disclosures per state law, opt-out language for compliance with TCPA’s do-not-call request handling.
Stage Session. Manager creates the Session, picks a window (constrained to legal calling hours across the list’s time zones), assigns Callers, balances the list, sets phone-specific Session policies (Dialer Mode, Recording Policy, Voicemail Policy, Call Attempt Cap, Cross-Channel Cooldown Override). Substrate’s compliance pre-check runs on the attached Script. Substrate’s Caller Identity provisioning runs per Caller Identity Mode. Session moves to Staged.
Field. Caller logs in, completes pre-shift tech check (microphone permission for WebRTC, mobile SDK ready for native, speaker test, quiet environment confirmation), reads through script preview, acknowledges compliance, enters Live shift mode. Substrate’s Cross-Channel Contact Ledger is consulted in real time — voters contacted on another channel within the cooldown window are skipped.
Disposition. Every Call Attempt is dispositioned — Connection Outcome plus Contact Outcome plus optional Capture Mode-tagged notes. Auto-advance moves the Caller to the next voter. Voicemail drops execute on no-answer dispositions per Session policy (off by default; on requires landline-only and stronger compliance warning). Recording stops at disconnect; recording reference written to the Call Attempt record if Recording Policy permitted and consent captured.
Aggregate. Session closes. Manager reports update in real time and finalize at close. Polling Engine Fielding Scorecard updates if Posture A. Substrate’s VWPP accumulates the shift’s evidence into each Caller’s profile. Aggregate Intelligence layer updates per standard cadence.
Activate Next. Manager reviews outcomes. Heavy-Prescription Call List Next Moves surface in the substrate’s unified Strategic Next Moves queue alongside Walk List Next Moves and Follow-Up Poll Next Moves from other Sessions.
Session states per substrate: Draft → Staged → Live → Closed → Archived.
6. Campaign and Session Creation (Manager Surface)
The Manager surface is a desktop-first application; mobile is read-only for monitoring during Live Sessions.
6.1 The Manager Dashboard
The home surface for Phone Banking. Shows:
- All active Phone Banking Campaigns with progress meters
- Today’s Phone Sessions (Staged, Live, recently Closed) with real-time call counts
- Cross-channel saturation map (substrate-sourced) — color-coded by % of voters contacted across all channels in the account’s geographic scope
- Caller leaderboard for the current active period
- Inbound notifications: voters who called back to leave voicemail, voters flagged for candidate follow-up, Sessions that need Manager attention (low connect rate, compliance flags, technical issues)
- Compliance feed: real-time list of any compliance events firing across Live Sessions
6.2 Campaign Creation
Creating a Phone Banking Campaign asks the Manager:
- Campaign name and description
- Campaign type (from substrate’s shared taxonomy)
- Campaign goal in plain language (used by Methodology Agent / ScriptBuilder for script generation)
- Active window (start / end dates)
- Default Posture for sessions in this Campaign (overridable per Session)
- Default Caller assignment pool (which Callers are eligible for sessions in this Campaign)
6.3 Call List Building
Manager invokes the call list builder with filters:
- Geographic scope (precinct, county, district, custom polygon)
- Party rank
- Vote propensity
- Phone presence (known cell, known landline, known either, both)
- Phone propensity score
- Time zone (auto-derived from voter address)
- Language preference
- Contact freshness (last contacted X days ago on any channel; substrate Ledger consulted)
- Custom tags
- Issue position (from prior surveys or polls)
- Excluded: any voter on federal DNC, state DNC, internal campaign DNC, or platform DNC
Builder produces a candidate list with size estimate, expected connect rate (derived from substrate’s cross-account intelligence at Enterprise tier; rough estimate at lower tiers), and estimated session hours given the assigned Caller pool.
6.4 Script Generation
Manager invokes script generation. Routing per substrate’s contracts:
- Posture A → Methodology Agent (full credibility validation, four-phase consultative negotiation, override mechanics)
- Posture B, ID/persuasion subtypes → Methodology Agent (consultative, lighter than Posture A)
- Posture B, other subtypes (GOTV, recruit, donor, intro, petition follow-up, circulator recruit) → ScriptBuilder
Phone-specific script generation requirements:
- Recording-consent prompt language emitted for two-party-consent states
- Identification disclosures per state law (caller name, organization, paid-for-by where applicable)
- TCPA opt-out compliance language
- Opening and closing language calibrated for voice delivery (not written delivery)
6.5 Session Staging
Manager creates a Phone Session inside the Campaign:
- Pick window (system constrains to legal calling hours across the list’s time zones — Manager cannot select a window that would force any Caller to dial outside permitted hours)
- Assign Callers from the Campaign’s pool
- Balance the list across Callers (manual / random / geographic / by-language / by-skill)
- Set Session policies (Dialer Mode, Recording Policy, Voicemail Policy, Call Attempt Cap, Cross-Channel Cooldown Override)
- Compliance pre-check runs on the attached Script
- Caller Identity provisioning (V1: one campaign number provisioned; V2: per-Caller numbers)
Session moves to Staged. Callers receive notifications.
6.6 Live Monitoring
When the Session is Live, the Manager sees:
- Real-time count of attempts, connections, dispositions
- Per-Caller activity (calls placed, connections, dispositions logged, current status)
- Live disposition distribution (% hard support, % soft support, % undecided, % opposed, % refused, etc.)
- Compliance feed (any flagged events: missed consent prompt, attempted DNC dial, calling-hours edge cases)
- Inbound queue (voters who called the campaign number and left voicemail)
- Callers who appear stuck, idle, or having technical issues
- Connect rate trending (live vs expected)
Manager can intervene: reassign voters from a stuck Caller, message a Caller, listen in (V1.5 with consent infrastructure), pause or close the Session.
6.7 Session Close
Closing a Phone Session:
- Locks all Call Attempts and Dispositions
- Triggers final report generation
- Writes all Dispositions to the appropriate UVP layers per Posture and substrate routing rules
- Substrate’s VWPP accumulator processes the shift’s evidence
- Triggers downstream actions per Session policy (thank-you SMS to hard supporters, event invites to pledged volunteers, candidate follow-up routing for flagged voters)
- Triggers Strategic Analyst processing (Heavy-Prescription Call List Next Moves)
- Archives the Session record (still queryable, no longer editable)
7. The Caller Experience
The Caller surface is the most-used surface in Phone Banking and the surface where the product wins or loses on usability.
7.1 Design Principles
- One voter at a time
- One disposition at a time
- Auto-advance after disposition logged
- Mobile-first parity (Callers do shifts from phones, not laptops)
- No menus, no settings, no hunting
- No exposed UVP detail beyond what the script requires
- Distraction-free; full-screen during active call
- Generous touch targets, large readable text, accessibility AA minimum
- Compliance is silent until it isn’t — guards activate without ceremony when needed
7.2 Caller Login and Shift Selection
Callers log in (mobile or browser) and see only the Sessions they are assigned to that are Staged or Live. Selecting a Session moves them into shift mode.
Pre-shift checklist:
- Script preview (Caller reads through before live calls)
- Compliance acknowledgment (Caller confirms they will follow scripts and TCPA rules)
- Tech check:
- Microphone permission for WebRTC (browser) / Telnyx Mobile SDK ready (mobile)
- Speaker test
- Quiet environment confirmation
- Network quality check
- Recording consent acknowledgment if Session policy enables call recording
- Caller Identity provisioning confirmation (V1: campaign number active; V2: Caller’s number active)
Caller enters Live shift mode.
7.3 The Call Screen
Single voter card at a time. Layout (mobile-first):
- Voter header: First name, age range, party, precinct (only fields the script requires)
- Phone number: tap-to-dial button (click_to_call) or auto-loaded preview countdown (preview, V1.5)
- Script body: Methodology Agent / ScriptBuilder rendered Script Object — opening, question/statement nodes with branches, closing
- Disposition panel: Connection Outcome buttons (always visible), Contact Outcome buttons (Posture-dependent; surfaces after Connection Outcome =
connected) - Notes capture: Community Notes, Call Activity Notes, custom note fields defined by Manager
- Capture Mode tagger: Self-Report / Verified buttons on each captured datum (Observation is rare on phone; surfaced only when contextually applicable)
- Polling instrument module (Posture A only): structured question administration with branching
- Compliance prompts: recording-consent line, identification disclosure line, opt-out language — rendered as scripted lines in the script body, not as separate UI
7.4 Auto-Advance
After Disposition logged → next voter loads automatically. No “next voter” button. Caller can pause the queue with a single tap (lunch break, technical issue, escalation to Manager).
7.5 Inbound Voicemail Callback Mode
When Session policy enables inbound voicemail callback (Posture B Sessions, typically donor cultivation or candidate intro), the Caller’s queue prioritizes voters who called the campaign number and left voicemail. The voicemail transcription is surfaced on the voter card before the Caller dials back. Outbound dial is normal click-to-call.
7.6 Caller Performance Feedback
Callers see their own performance per shift (calls placed, connects, dispositions logged) but do not see their own VWPP scores in V1 (substrate V2 feature, gated on legal review).
8. The Script System (Phone-Specific Application)
Scripts are produced per the substrate’s Methodology Agent and ScriptBuilder contracts. This section defines phone-specific script behavior.
8.1 The Script Object Rendered for Voice
Phone Banking renders the substrate-defined Script Object using voice-optimized UI:
- Opening sized for the Caller to read in one breath (greeting + identification + permission-to-continue)
- Question/Statement nodes with branching logic — Caller taps branch buttons as voter responds
- Closing with thank-you, next-step language, and opt-out compliance
- Recording-consent prompt rendered as a scripted line at the top of the conversation (when Recording Policy is on and the voter is in a two-party-consent state)
- Identification disclosures rendered per state law
8.2 Phone-Specific Compliance Pre-Check
Substrate’s compliance pre-check contract is implemented for phone with these specific checks:
- Required identifications present (caller name, organization, paid-for-by where applicable)
- Required opt-out language present (TCPA do-not-call request handling)
- Recording-consent prompt present if Session Recording Policy is on
- No language flagged by platform compliance heuristics (voter intimidation, candidate misrepresentation)
- For Posture A: full Methodology Agent credibility pass per Polling Engine spec
A Script that fails pre-check cannot be attached to a Phone Session. Manager must edit and re-validate.
8.3 Multi-Language Scripts
Substrate’s Script Object schema supports multi-language variants. Caller interface presents the variant matching the voter’s language preference if known, with a one-tap switch if the Caller is bilingual.
8.4 Script Versioning
Substrate’s versioning rule applies: Scripts are immutable once attached to a Live Session. Editing a Script after a Session goes Live creates Version N+1; the Live Session continues on Version N.
9. Telnyx Integration
Phone Banking’s voice infrastructure is Telnyx. This section defines the integration contract.
9.1 Browser Caller (WebRTC)
Callers using a browser session connect to Telnyx via WebRTC. Microphone access required. Network quality monitored throughout the shift; degraded connections surface a warning to the Caller and the Manager.
9.2 Mobile Caller (Telnyx Mobile SDK)
Native mobile Callers use the Telnyx Mobile SDK. iOS and Android targets at parity for V1.
9.3 Outbound Dialing
Outbound calls originate from the Session’s provisioned campaign number (V1, per-Campaign Caller Identity Mode). The voter sees a campaign-controlled caller ID. Callers’ personal numbers are never exposed.
V2: Per-Volunteer Caller Identity Mode provisions per-Caller numbers, so a voter who calls back reaches the specific Caller they spoke with originally.
9.4 Inbound Routing
V1: Inbound calls to the campaign number route to voicemail. Telnyx transcription is captured and stored on the campaign number’s inbound queue. Manager assigns transcribed voicemails to Callers for callback. Caller sees the transcription on the voter card before dialing back.
V2: Live inbound answer — inbound calls during business hours route round-robin to available Callers on shift. Outside business hours, voicemail. (V2 also explores AI-assisted answer for first-line triage on simple inbound queries.)
9.5 Voicemail Drops (Outbound)
V1: Voicemail drops are off by default. Manager may enable them per Session, with these constraints:
- Landline-only enforcement (drops to cell-phone voicemail are forbidden in V1 due to TCPA ambiguity)
- Strong compliance warning displayed at Session staging time
- Drop content reviewed in compliance pre-check (same identification disclosures as live calls)
The legal posture and Telnyx capability for cell-phone voicemail drops is an open developer question (Section 16) and may shift V1 scope.
9.6 Call Recording
When Recording Policy is on and consent is captured (state-appropriate prompt delivered), Telnyx records the call. Recording reference written to the Call Attempt record. Storage cost at scale is an open developer question (Section 16); retention policy may need explicit budget tier.
9.7 Numbers and Provisioning
V1: Numbers may be provisioned on-demand at Session staging time, or selected from a pool of pre-provisioned campaign-owned numbers. Existing 10DLC numbers used for SMS/MMS Blast may serve as voice numbers — pending Telnyx confirmation that voice traffic is supported on those numbers (Section 16 open question).
10. Compliance Architecture
Compliance is enforced at five points: Script compliance pre-check (Section 8.2), Session staging validation (Section 6.5), list-assignment time check (Section 10.2), in-Session dialer guard (Section 10.3), and post-disposition audit (Section 10.5). Failure at any point blocks the action.
10.1 The Compliance Stack
| Regime | Scope | Source of Truth |
|---|---|---|
| TCPA (federal) | All political calls | Federal regulation; platform-maintained rules engine |
| State calling hours | Per state | Platform-maintained registry (open question — Section 16 — third-party compliance service vs internal) |
| State recording consent | Per state (one-party vs two-party) | Platform-maintained registry |
| Federal DNC registry | Federal | Direct or via compliance vendor (Section 16) |
| State DNC registries | Per state (handful of states maintain them) | Vendor or direct |
| Internal campaign DNC | Per campaign | Customer-uploaded CSV (formats TBD — Section 16) |
| Platform DNC | Cross-account, Politogy-maintained | Voters who have requested no contact via the Politogy platform mechanism |
| Identification disclosures | Per state law | Platform-maintained registry |
| Predictive-dialer prohibition | Platform policy | Architectural — predictive is not in the Dialer Mode enum |
10.2 List-Assignment Time Check
Before any voter is added to a Session call list, the system checks:
- Voter is not on any DNC (federal, state, internal, platform)
- Voter has not requested no contact in a prior call (Relationship Data layer)
- Voter is in a time zone where the Session’s window allows legal calling
- Cross-Channel Contact Ledger cooldown is satisfied (or Manager has overridden with audit log)
Voters failing any check are excluded silently — Manager is not surfaced with names but is surfaced with aggregate exclusion counts (“48 voters excluded due to DNC; 12 voters excluded due to cross-channel cooldown”).
10.3 In-Session Dialer Guard
When the Caller is about to dial a voter, the dialer guard re-checks:
- Federal DNC, state DNC, internal DNC, platform DNC (in case of in-Session updates)
- State calling hours for the voter’s time zone (in case the Session has crossed a time-zone boundary)
- Cross-Channel Contact Ledger (in case the voter has been contacted on another channel since list assignment)
If any check fails, the dial button is disabled and the voter is skipped. The Caller sees a brief reason (“DNC — skipped”).
10.4 Runtime Do-Not-Call Requests
If a voter requests no further calls during a live call, the Caller logs a do_not_call_request_runtime Contact Outcome. This:
- Adds the voter to the campaign’s internal DNC
- Adds the voter to the Relationship Data layer’s do-not-contact flags
- Propagates the no-contact request across all Voter Contact channels for this account per substrate’s do-not-contact propagation contract
- Does NOT add the voter to federal DNC, state DNC, or platform DNC (different opt-out mechanisms; voter-initiated only)
10.5 Post-Disposition Audit
Every Call Attempt’s compliance audit trail is reviewed after Session close:
- Was the identification disclosure delivered? (Detected from Caller’s script position progression or recording analysis if available)
- Was the recording consent prompt delivered when required?
- Was the call placed within legal hours for the voter’s time zone?
- Did the Caller respect any runtime do-not-call request?
Failures are flagged for Manager review and feed the Caller’s Compliance Discipline VWPP dimension.
10.6 Recording Consent
State-by-state consent rules:
- One-party-consent states: Recording permitted if the Caller consents (implicit by Session policy and pre-shift acknowledgment)
- Two-party-consent states: Recording requires explicit voter consent at the top of the conversation
The Caller cannot start recording without the consent prompt being delivered (enforced at the call screen — recording does not initiate until the prompt is read and acknowledged).
11. Disposition Taxonomy
Phone Banking honors the substrate’s Posture-constrained disposition rules.
11.1 Layer 1: Connection Outcome (Phone-Specific, System-Defined)
Every Call Attempt receives exactly one Connection Outcome from this set:
no_answer— Rang outbusy— Busy signalvoicemail_left— Voicemail picked up; drop or message left per Session policyvoicemail_no_drop— Voicemail picked up; no drop / message leftwrong_number— Voter not at this numberdisconnected_number— Number is disconnecteddo_not_call_request_runtime— Voter answered and requested no further callsdialer_error— Technical failure on the dialerconnected— Live voter conversation occurred
When connected, the Caller proceeds to Layer 2.
11.2 Layer 2: Contact Outcome (Posture-Dependent)
Posture A (Poll-Fielding): Contact Outcomes are the poll instrument’s questions in order. Caller administers each question and logs responses. Disposition taxonomy is constrained to the poll instrument plus a small set of fielding outcomes (partial response, refused, completed). Customer cannot add ad-hoc Contact Outcomes — would corrupt poll response data.
Posture B (Contact Operation): Contact Outcomes are campaign-type-specific. Substrate ships defaults; customer accounts may extend within allowed bounds.
Default Posture B Contact Outcomes for Voter ID / Persuasion campaigns:
hard_support— Strongly supports candidate/issuesoft_support— Leans supportundecided— No firm positionsoft_oppose— Leans againsthard_oppose— Strongly opposedrefused_to_engage— Voter would not discusslanguage_barrier— Cannot communicate effectivelyflag_for_followup— Voter raised an issue requiring candidate / Manager follow-up
Default Posture B Contact Outcomes for GOTV campaigns:
committed_to_vote— Will voteintends_to_vote— Plans to voteunsure— Uncertainnot_voting— Will not votealready_voted— Has already voted
Default Posture B Contact Outcomes for Volunteer Recruit campaigns:
pledged_volunteer— Will volunteerinterested_more_info— Wants more informationdeclined— Not interestedflag_for_followup— Specific role / availability conversation needed
Customer accounts may add Layer 2 extensions per substrate’s customer extension contract. AI monitors cross-account extension patterns to surface promotion candidates to substrate canonical schema.
11.3 Layer 3: Notes
- Community Notes — Free-form notes visible to all Callers and Manager in the account
- Call Activity Notes — Free-form notes private to the Caller and Manager
- Custom Note Fields — Manager-defined per Campaign or Session
Every note carries Capture Mode tagging (Self-Report / Verified; Observation rare on phone).
12. Reporting
12.1 Session Report (Real-Time and Final)
For each Phone Session:
- Calls placed, connects, dispositions
- Connection Outcome distribution
- Contact Outcome distribution (Posture-dependent)
- Per-Caller stats
- Cross-Channel Contact Ledger impact (voters reached, voters skipped due to cooldown)
- Compliance events
- Average call duration
- Connect rate trending across the shift
12.2 Campaign Report
Aggregates across all Sessions in a Campaign:
- Total reach
- Outcome distribution
- Caller leaderboard
- Cross-channel saturation impact
- Compliance summary
12.3 Cross-Campaign Report
Account-level rollup across all Phone Banking Campaigns. Cross-channel saturation analytics (substrate-sourced) show phone alongside door and SMS/email.
12.4 Polling Engine Fielding Scorecard Contribution
Posture A Phone Sessions feed the source poll’s Fielding Scorecard per Polling Engine spec. Real-time contribution during the Session; finalized at close.
13. Field Volunteer Permissions (Phone-Specific Application)
Substrate’s Field Volunteer permission contract applies. Phone-specific tightening:
- Caller sees voter card only when assigned to current active Phone Session
- Caller cannot search for other voters
- Caller cannot export call data
- Caller cannot see another Caller’s notes (even within the same Session)
- Caller cannot view UVP fields beyond what the active Script requires
- Caller cannot access the Manager dashboard
- Caller’s Telnyx session is scoped to the active Phone Session — leaving the Session ends the Telnyx connection
Substrate permits tightening but not loosening; no phone-specific loosening.
14. V1 Scope, V1.5 Enhancements, V2 Expansion
14.1 V1 MVP Scope
Ships:
- Campaign creation with all eight substrate campaign types
- Phone Session creation with Posture A and Posture B (locked at creation per substrate)
channel = phonewith substrate channel-extension architecture- Dialer Mode:
click_to_callonly - Caller Identity Mode:
per_campaign - Script generation via Methodology Agent (Posture A and Posture B ID/persuasion) and ScriptBuilder (Posture B other subtypes)
- Multi-language scripts (per substrate Script Object)
- Caller experience: mobile + desktop, full call screen, auto-advance
- Telnyx integration: WebRTC browser, Telnyx Mobile SDK mobile, voice on Telnyx-provisioned numbers (pending technical confirmation on existing 10DLC voice support)
- Outbound voicemail drops: off by default, landline-only when on
- Inbound voicemail capture with transcription and Manager-assigned callback
- Three-layer Disposition taxonomy with substrate-shared Layer 2 defaults and customer extension capability
- Cross-Channel Contact Ledger integration (substrate) with pre-assignment, list-assignment, and in-Session checks
- Compliance: TCPA, federal/state/internal/platform DNC, calling hours, recording consent, identification disclosures, predictive-dialer prohibition, runtime do-not-call request handling, full compliance audit trail
- Live Session Monitor (Manager surface)
- Campaign and Cross-Campaign reporting
- Substrate’s cross-channel saturation map
- Polling Engine integration (Posture A) with Fielding Scorecard contribution and Heavy-Prescription Call List Next Move generation
- Substrate’s Caller specialization on Volunteer Worker with six VWPP dimensions (4 substrate-shared + Call Quality + Connect Rate + Compliance Discipline)
14.2 V1.5 Enhancements
- Preview Dialer mode (queue pacing, preview countdown UI, cooldown rules)
- Caller skill / language matching for auto-balance assignment
- Enhanced Caller leaderboards and gamification
- Manager-level call listening (live monitoring with consent infrastructure)
14.3 V2 Expansion
- Per-Volunteer Caller Identity Mode (per-Caller numbers; inbound routes back to original Caller)
- Live inbound answer (round-robin to active Callers; AI-assisted answer for first-line triage)
- Posture switching mid-Session (per substrate V2; with audit trail and data-integrity rules)
- Advanced cross-channel orchestration (“follow up failed phone with door knock automatically”)
- Caller trust / reputation scoring
- Customer-tier customization of Layer 2 disposition schema (V1 is extension-only; V2 allows full custom Layer 2)
- Predictive call quality scoring (which Caller + which voter + which time-of-day = highest connect rate)
- AI-powered live coaching during calls (whisper feedback)
- Recorded-call AI analysis for Call Quality VWPP dimension calibration
- Cell-phone voicemail drops (pending legal posture confirmation)
15. Substrate Compliance Summary
For substrate review, Phone Banking’s compliance with the VRM Voter Contact substrate:
| Substrate Element | Phone Banking Implementation |
|---|---|
| Volunteer Worker entity | Honored — Caller specialization attaches to substrate Volunteer Worker |
| Posture distinction | Honored — Posture A and Posture B Phone Sessions; locked at creation |
| Session lifecycle | Honored — Draft → Staged → Live → Closed → Archived |
| Cross-Channel Contact Ledger | Honored — every Call Attempt writes a Ledger entry |
| Shared campaign type taxonomy | Honored — all 8 substrate campaign types supported |
| VWPP framework | Honored — 4 substrate-defined shared dimensions + 2 channel-specific dimensions (Connect Rate, Compliance Discipline); Call Quality is the substrate-named Channel-Specific Quality slot |
| Methodology Agent contract | Honored — Posture A and Posture B ID/persuasion scripts |
| ScriptBuilder contract | Honored — Posture B other subtypes |
| Script Object schema | Honored — voice-optimized rendering |
| Heavy-Prescription Next Moves contract | Honored — emits Call List Next Move type into substrate’s unified queue |
| Capture Mode taxonomy | Honored — Self-Report and Verified common on phone; Observation rare but supported |
| Two-tier IP boundary | Honored — Politogy-tier scoring algorithms, customer-tier work product |
| Field Volunteer permission contract | Honored — tightened with phone-specific additions |
| Compliance scaffolding (substrate-level primitives) | Honored — do-not-contact propagation, audit trail, identification disclosure framework, compliance pre-check |
| Substrate extension contract | N/A — Phone Banking is one of two V1 channels, defined within substrate extension contract |
No substrate concepts are redefined. No substrate contracts are violated. Channel-specific elements diverge per substrate’s permission to do so.
16. Developer Open Questions
The following questions need resolution before or during V1 build. Organized by domain.
16.1 Telephony / Telnyx
- Does Telnyx 10DLC voice traffic on the same numbers used for SMS/MMS Blast actually work, or do we need a separate voice provisioning path? Confirmation needed before V1 architecture lock.
- Telnyx ringless voicemail capability — exists at the API level? Legally validated? If not, what is the alternative for outbound voicemail drops?
- Telnyx call recording — single-stream or dual-stream? Two-party-consent injection — built-in or roll-our-own?
- Telnyx WebRTC reliability across browsers — what is the fallback testing matrix?
- Telnyx Mobile SDK — React Native bindings current and supported? iOS and Android parity confirmed?
16.2 Compliance
- Voicemail drop on cell phones — is there a vendor or technique with a defensible legal posture? Or do we ship V1 with voicemail drops on landlines only and cell-phone drops as a V2 opt-in?
- State-by-state recording-consent rules — do we maintain our own registry or use a third-party compliance service?
- State-by-state calling hours — same question.
- Federal DNC integration — direct subscription or via a compliance vendor?
- State DNC integration — direct or via vendor?
- Internal DNC list import — what formats do campaigns typically have? CSV with phone numbers? Voter IDs?
- Platform DNC registration mechanism — voter-initiated only? Web form? Phone number?
- Compliance audit trail retention — substrate-required indefinite retention may exceed regulatory minimums; budget implications?
16.3 Architecture
- Caller real-time queue distribution — single-leader queue per Session or distributed assignment model?
- Telnyx WebRTC session pooling — one connection per Caller per Session, or per-call connection?
- Recording storage at scale — at what call volume does retention policy become a budget item?
- Inbound voicemail transcription — Telnyx native transcription, or pipe to a transcription specialist (Whisper / AssemblyAI)?
- Pre-shift tech check — what is the minimum network quality threshold for entering Live shift mode?
16.4 Polling Engine Integration
- When a Posture A Session collects a partial response (Caller terminated mid-questionnaire), does the partial feed the four-dimensional scoring model, or is it set aside? Substrate flags this as an open question for cross-channel consistency.
- Phone-fielded responses vs SMS-fielded responses — equal weight in scoring, or methodology adjustment for human-mediated responses (interviewer effects)?
- Fielding Scorecard real-time updates from phone — push or poll? Latency budget?
16.5 Caller Experience
- Caller authentication — password? Magic link? SSO via campaign account? Phone number OTP?
- Mobile app vs mobile web for Callers — V1 browser-only is fastest to ship; native app may be needed for reliable WebRTC and background behavior. Decision and timeline?
- Caller device fingerprinting for fraud detection — how aggressive?
- Caller VWPP visibility to the Caller themselves — substrate flags this as V2 pending legal review; does Phone Banking need a stub for V1?
16.6 Cross-Channel Coordination
- Substrate default cross-channel cooldown — what is the V1 default value? 48 hours? 72 hours? Per-channel asymmetric (phone to door = X, door to phone = Y)?
- When a Posture B phone Session emits a Heavy-Prescription Call List Next Move alongside a Walk List Next Move from a parallel canvass, what is the prioritization in substrate’s unified queue?
- Recording references and cross-channel Aggregate Intelligence — do phone call recordings feed cross-account sentiment training the same way canvass notes do? Methodology question.
16.7 VWPP Calibration
- Call Quality dimension — what V1 method? Caller self-report on closeout plus Manager spot-check is the substrate-acknowledged starting point, but the calibration model needs definition.
- Compliance Discipline dimension — what counts as a Compliance Discipline event? Every flag from the compliance audit? Tiered severity?
- Substrate-defined dimensions cross-channel calibration — substrate flags this; Phone Banking V1 needs to commit to how its Data Quality and Sentiment Capture Reliability scoring outputs are calibration-comparable to Field Canvassing’s.
16.8 Operations
- Caller training material — does Politogy ship in-app onboarding for Callers, or is it the campaign’s responsibility?
- What does on-call look like for a Live Phone Session that breaks? Caller support, Manager support, Politogy SLA?
- Inbound voicemail volume at scale — when does manual Manager assignment become operationally untenable? AI-assisted triage timeline?
These open questions should drive technical due diligence sprints before V1 lock. They are not blockers to architectural agreement on this conceptual spec.
End of conceptual specification.