Skip to content

[Epic] Customer data and campaigns #79

Description

@rahuliitk

Parent roadmap: #76

Problem

QuickVoice can place quick and CSV/XLSX batch calls, schedule them, and show basic campaign progress. Production outreach requires a customer/audience model, consent and suppression enforcement, controlled pacing, outcome-aware retries, voicemail/callback behavior, personalization, and attribution. Without those controls, campaign operators must coordinate data and legal safety externally.

Outcome

An authorized operator can import or sync customers, build a consent-aware audience, preview personalization, schedule a campaign in recipients' local time, monitor execution, pause or cancel safely, and measure business outcomes without duplicating calls or contacting suppressed recipients.

Required capabilities

  • Organization-scoped customer profiles, external IDs, channels, lists, dynamic segments, attributes, lifecycle, consent provenance, DNC/suppression, timezone, and interaction history.
  • Validation, deduplication, column mapping, preview, error export, and reversible imports.
  • Campaign draft/scheduled/running/paused/completed/cancelled states with pacing, concurrency, quotas, provider limits, quiet hours, retry policies, and idempotent dispatch.
  • Answering-machine/voicemail outcomes, configurable message/drop behavior, dispositions, callbacks, follow-up tasks, and multi-step journeys.
  • Safe per-recipient variables with missing-data fallbacks and preflight sampling.
  • Control/variant experiments and attribution to configured goals without overstating causality.
  • Real-time progress, suppression reasons, costs, outcomes, and exportable reports.

Child issues

Acceptance criteria

  • A recipient has a canonical identity and cannot be dispatched twice because of worker retry or duplicated import rows.
  • Consent, DNC, suppression, quiet-hour, timezone, organization quota, and provider-limit checks run immediately before dispatch, not only at upload time.
  • Pause stops new dispatch while preserving in-flight call state; cancellation is auditable and cannot silently resume.
  • Campaign and recipient state reconcile after queue/worker restart.
  • Operators can explain why each recipient was called, skipped, retried, suppressed, or failed.
  • Imports, scheduling boundaries, DST, dedupe, retry/idempotency, suppression, queue recovery, authorization, and reporting have automated tests.

Boundaries

The platform supplies configurable controls and evidence; customers remain responsible for determining applicable calling, consent, recording, and marketing law.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: consoleCustomer consolearea: serverExpress API and server control planearea: telephonyCarrier and call-flow integrationsenhancementNew feature or requeststatus: needs-designNeeds maintainer design agreement before implementation

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions