Kit 01 · v1 · Live at RCA

D2C Activations Kit

A consolidated tracker for direct-to-consumer activation programming. Built first for RCA. Designed to clone to any label inside Sony Music Entertainment.

The problem

Before
D2C activations lived in three disconnected systems:
  1. Release Runway (no D2C view — no partner, no channel)
  2. PLAN schema
  3. Standalone D2C Airtable
Result: nobody had a single view. Decisions made in fragments.
After
One Airtable base + a dashboard:
  1. Every activation in one table
  2. Filters for acquisition targets, status, ODA goals, category
  3. Visual month-by-month grid
Result: programming visible end-to-end. Gaps and opportunities surface immediately.

Download the kit

Five files. Right-click → Save Link As, or just click and Save Page As. The dashboard and grid are two different views of the same data — keep both, use whichever fits the moment.

.md
schema-spec.md
The canonical schema. 13 fields, types, option lists. The migration document if data layer changes.
Download →
.py
populate-template.py
Python script. Builds the Airtable table from the spec, inserts placeholder rows. CSV import block included.
Download →
.html
dashboard-template.html
Table view. Sortable list of activations with filters, search, and key stats. Good for working through entries one by one.
Download →
.html
grid-template.html
Visual grid view. Month-by-category calendar showing every activation as a chip. Click any chip for details. The "see the year at a glance" view.
Download →
guide
Migration Guide
How to move this kit to Sony-owned infrastructure. Four-layer playbook.
Open →

The schema

One table — Activations — with 13 fields. Each row is one activation: a release, a merch drop, a shop initiative, a cultural moment. Working window is 12 months.

#FieldTypePurpose
1NameSingle line (primary)Format: {Artist} — {Initiative} for artist activations; just {Initiative} for shop / cultural moments.
2ArtistSingle lineLeave blank for cultural moments.
3InitiativeSingle lineThe thing happening.
4CategorySingle selectOfficial Releases · Merch Drop · Shop Initiative · Additional Music Product · Cultural Moment
5StatusSingle selectConfirmed · Planned · Exploring · Cancelled
6Acquisition TargetCheckboxTRUE if D2C merch rights not yet secured. Merch entries only.
7YearNumber (int)e.g. 2026 / 2027
8MonthSingle selectJanuary–December
9Date TextSingle lineFree-form: "April 3", "End of June", "Q3 launch"
10NotesLong textBulleted context. Anchor, partner, channel.
11SourceSingle selectA&R · Release Planning · Commercial Partnerships · D2C · Shop · Other
12Color OverrideSingle lineOptional manual hex for dashboard.
13ODA GoalNumberOwned data acquisition target (email captures, etc.).
Design Principle
The schema is intentionally narrow. One table, no relationships, no lookups. This is the minimum viable structure to consolidate the data. Additional complexity (linked roster table, automated status flags) can be added later — the dashboard will keep rendering.

Setup — 5 steps

  1. Create the Airtable base.
    In your label's workspace, create a base named {Label} D2C Activations. Generate a personal access token with data.records:read, data.records:write, and schema.bases:write scopes.
  2. Build the Activations table from the spec.
    Open populate-template.py. Replace BASE_ID and AIRTABLE_TOKEN at the top. Run once: python3 populate-template.py. The script creates the table with all 13 fields including option lists, then inserts placeholder rows.
  3. Populate with your activations.
    Open the base in Airtable. Add rows manually, OR extend the populate script's commented-out CSV import block.
  4. Configure the dashboard.
    Open dashboard-template.html. Set LABEL_NAME, AIRTABLE_BASE_ID, AIRTABLE_TABLE_NAME, and AIRTABLE_TOKEN at the top of the script block.
  5. Deploy.
    Static HTML deploys anywhere — Netlify, Vercel, Azure Static Web Apps, or a Sony-owned host. No backend needed. See the Migration Guide for moving to Sony infrastructure long-term.
Security Note
The dashboard reads from Airtable using a token embedded in the page. For a working prototype behind a password gate this is acceptable. For wider deployment, route reads through a server proxy that holds the token, or use Airtable view-share URLs with read-only access. Don't ship a token-embedded HTML page to a public URL.

Long-term: Sony infrastructure

The kit ships with a "scaffolding" stack — Airtable + GitHub + Netlify + simple password — so a label can get to working software fast. The destination is fully Sony-owned across four layers: domain, hosting, auth, data.

See the Sony Infrastructure Migration Guide for the full playbook. Order matters: domain first (cheap), data layer last (heaviest).

Questions

For setup or architectural questions: Meg Hourihan, Campaign Operations, RCA Records.