Workspace Modes

Campaigns

Multi-channel broadcast and outreach manager — define audiences, schedule sends, track delivery and engagement.

Campaigns is the broadcast / outreach manager. You compose a campaign, target an audience from your People table, pick channels (SMS, email), schedule the send, and track delivery.

Layout

CanvasCampaignsCard is a two-card layout:

  • Left — campaign list:
    • Search
    • Status filter pills (Draft / Scheduled / Running / Sent / Failed)
    • Each row shows status, channel, audience tag, and label tags
  • Right — selected campaign:
    • Summary stats grid
    • Delivery-rate bar
    • Engagement metrics
    • Audience preview (live row count from the People table)
    • Detail edit panel

CampaignFilterDropdown in the breadcrumb mirrors the status filter.

Creating a campaign

+ New campaign opens a modal asking for:

  • Name
  • Channels — SMS, email (more planned)
  • Audience tags — selected from the People table's tags column. The audience size updates live as you toggle tags.
  • Schedule — send now or schedule for later
  • Compliance settings (opt-in checks, quiet hours from the SMS tab)

Submitting creates the campaign row in Supabase and queues it. Status moves through draft → scheduled → running → sent.

Audience targeting

Audiences are defined by tag intersection on the People table. Selecting customer + vip targets anyone with both tags. The campaign respects each person's opted_in_sms / opted_in_email flags — opted-out contacts are filtered out before the send.

The people.conversation_count and last_contacted_at columns update as the campaign delivers, giving you a running view of engagement history.

Where to go next

On this page