Draft Documentation

This guide is currently in development. Content may be incomplete or subject to change.

~15 minutes

Dataset Management

Master the complete dataset lifecycle - from uploading contact lists to monitoring execution progress and exporting enriched results.

Understanding Datasets

A dataset is a collection of contact records that your flow will process. Each row represents one contact to reach via WhatsApp, Voice, or both.

Dataset Lifecycle

Upload
Validate
Execute
Complete

Dataset vs Database

Datasets are for outreach - each row is processed once through your flow. Databases are for persistent data - used for lookups and enrichment across multiple executions.Learn more about databases →

Uploading a Dataset

File Requirements

  • Formats: CSV or Excel (.xlsx)
  • Required: Phone number column
  • Optional: Identifier, name, email, and custom columns
  • Max size: 50,000 rows per file

Steps:

  1. Navigate to your campaign's Datasets tab
  2. Click "Upload Dataset"
  3. Select your CSV/Excel file
  4. Map the Phone column (required)
  5. Optionally map identifier, name, and email columns
  6. Set default country code if phone numbers don't include it
  7. Configure database matching (if applicable)
  8. Click "Process"
Dataset upload interface

Country Code Cascade

If phone numbers don't include country codes, the system applies them in this order:

  1. Dataset level: Country code set during upload
  2. Campaign level: Default country code in campaign settings
  3. Client level: Organization's default country

Validation & Phone Normalization

After upload, the system validates and normalizes your data automatically.

Automatic Validation

Phone Validation

Phone numbers are validated for format and normalized to E.164 format (+56912345678). Invalid numbers are flagged for review.

Duplicate Detection

Duplicates are detected both within the file and against existing campaign datasets. You can choose to skip or include duplicates.

Database Matching

If configured, rows are matched against the campaign database. You can preview match rates before processing.

Validation results with corrections

Screenshot coming soon

Correction Suggestions

The system suggests corrections for common issues:

  • Missing country codes
  • Extra spaces or special characters
  • Incorrect phone number formats

Row Status Tracking

Each dataset row has a status that tracks its progress through the flow execution.

Status Types

Pending

Not yet processed, waiting in queue

InProgress

Currently executing flow steps

WaitingResponse

Waiting for customer reply

Completed

Successfully finished all steps

Failed

Error occurred during execution

Skipped

Invalid phone or filtered out

Cancelled

User cancelled execution

Superseded

Replaced by newer dataset

Execution Monitoring

Monitor execution progress in real-time with live updates via SignalR.

Live execution monitoring view

Progress Overview

  • Progress bar: Visual indicator of completion percentage
  • Status breakdown: Count by status (completed, failed, pending, etc.)
  • Current step: Which flow step is being executed
  • Rate metrics: Messages/calls per minute

Row-by-Row Grid

View individual row status in a searchable, filterable grid:

Row status grid with filters
  • Filter by status (show only failed, show only completed)
  • Search by phone number or identifier
  • Sort by execution time or status
  • Click any row to see detailed history

Row Details & Interaction History

Click on any row to view its complete execution details and interaction history.

Individual row detail modal

Screenshot coming soon

Message Status

For WhatsApp messages, track delivery status:

SentDeliveredReadFailed

Execution Timeline

View a chronological timeline of all events for a row:

Execution history timeline

Screenshot coming soon

  • Flow step transitions with timestamps
  • Messages sent and received
  • Voice call events (connected, transferred, ended)
  • AI classification and extraction results
  • Errors and retries

Data Enrichment

During flow execution, data is enriched and stored back to the dataset row.

Types of Enrichments

AI Classification Results

Categories assigned by AI steps (e.g., "interested", "not_interested", "callback").

AI Extraction Results

Structured data extracted by AI (e.g., appointment date, reason for call).

Database Matched Data

Fields from the campaign database that matched this row.

Flow Variables

Custom variables set during flow execution using DatasetEnrich step.

Row enrichments section

Screenshot coming soon

Exporting Enriched Data

Export your dataset with all enrichments included:

  1. Go to the dataset's detail page
  2. Click "Export"
  3. Select columns to include (original + enrichments)
  4. Choose format (Excel or CSV)
  5. Download the enriched file
Export with enrichments dialog

Dataset Supersession

When you upload a new dataset that contains phone numbers already in a previous dataset, the system handles this through "supersession."

How Supersession Works

  1. New dataset is uploaded with overlapping phone numbers
  2. Rows in the old dataset with matching phones are marked as "Superseded"
  3. Superseded rows are not processed (skipped during execution)
  4. The new dataset rows take priority

Important: Supersession only affects rows that haven't been processed yet. Completed or in-progress rows are not superseded.

Managing Multiple Waves

For campaigns with multiple outreach waves:

  • Upload new datasets for each wave
  • Previous dataset rows automatically supersede if phone overlaps
  • Use unique identifiers to track which wave reached each contact