Status: π‘ Building | Owner: ARCH | Created: S158 | Decision: D112 (pending)
Hidden from public site via Super.so page settings. Operator action required.Subscriber DB
Architecture Overview
Stack: Notion Form (capture) β Subscriber DB (storage) β GEN/ARCH session (composition) β Gmail MCP (draft creation) β Operator (send)
Zero external SaaS. Fully internal to existing tool ecosystem.
How It Works
Layer 1: Email Capture
- Notion Form linked from every Type 1 (CLP) and Type 2 (TAC) Insights post
- Form contains one visible field: Email
- One form per exemplar β the form identity carries the RV_Class + Geography tag (visitor never sees these)
- Submissions land as rows in the Subscriber DB below
Layer 2: Subscriber Storage
- Subscriber DB (inline database on this page β see below)
- Each row = one subscriber, tagged by RV_Class + Geography derived from Source_Form
- Multi-select tags support subscribers who enter through multiple exemplar forms
- Deduplication by email: first submission creates the record; subsequent submissions from different exemplar forms append tags
Layer 3: Newsletter Composition
- Type 6 Newsletter Entry content is already produced by WEB-BP-PRV during Stage 27
- GEN session loads the Type 6 content + queries Subscriber DB for the target segment
- GEN composes HTML email using subject line template and CAN-SPAM footer
Layer 4: Draft Creation & Delivery
- GEN calls
gmail_create_draftwith: toorbcc: subscriber batch (β€100 per draft to avoid spam flags)contentType:text/htmlsubject: per STEP-008-WEB template β[Market_Geo] [Crisis_Label]: What the Latest Data Showsbody: HTML email with Type 6 content + CAN-SPAM footer- Operator reviews draft in Gmail β clicks Send
- GEN updates Subscriber DB: Last_Newsletter_Sent, Newsletter_Count
Layer 5: Prospect DB Sync
- GEN periodically queries new subscribers (Prospect_Synced = unchecked)
- Creates Prospect DB record with Source = "Inbound: Newsletter"
- Checks Prospect_Synced on subscriber record
- Deduplicates against existing Prospect records by email
Cadence Rules
Type | Trigger | Content | Max Frequency |
Triggered | New exemplar completes Stage 27 | Type 6 Newsletter Entry for that exemplar | As needed |
Monthly Digest | 1st of month | Aggregated Type 6 entries from all exemplars published that month | 1/month |
Cap | β | β | Max 2 emails/subscriber/month |
Email Compliance (CAN-SPAM / GDPR)
- Every email includes unsubscribe instruction (reply "UNSUBSCRIBE" or mailto: link)
- Physical mailing address in email footer
- Unsubscribe honored within 10 business days
- GEN session searches Gmail for unsubscribe replies β updates Subscriber DB Status = Unsubscribed
- Unsubscribed addresses are never re-added, even on new form submissions
Gmail Send Limits
Account Type | Daily Limit | Implication |
Gmail (free) | 500/day | Fine until ~500 subscribers |
Google Workspace | 2,000/day | Fine until ~2,000 subscribers |
BCC batch size: β€100 per draft to avoid spam classification.
Upgrade Trigger
Migrate to dedicated ESP (Mailchimp, ConvertKit, Beehiiv) when:
- Subscriber count exceeds 500 (free Gmail) or 2,000 (Workspace), OR
- Exemplar count exceeds 10, OR
- Segmentation complexity requires automated workflows beyond manual GEN sessions
At migration: update form embed URLs in all WEB-BP blueprints (one-time edit).
Form Inventory
Exemplar | Form Name | Form URL | RV_Class | Geography | Status |
FL-MIA-001 | TBD | TBD | RV-04 | Miami-Dade | Not created |
FL-NAP-001 | TBD | TBD | RV-04 | Naples/Collier | Not created |
CA-LOS-001 | TBD | TBD | RV-02 | Los Angeles | Not created |
HTML Email Template
Subscriber DB Schema
See inline database below. Fields:
- Email (title) β subscriber address
- RV_Class (multi-select) β risk vector tags, derived from Source_Form
- Geography (multi-select) β market area tags, derived from Source_Form
- Status (select) β Active / Unsubscribed / Bounced
- Source_Forms (text) β which Notion Form(s) they submitted through
- Subscribed_Date (date) β first submission date
- Last_Newsletter_Sent (date) β most recent email sent
- Newsletter_Count (number) β total emails sent to this subscriber
- Prospect_Synced (checkbox) β whether Prospect DB record exists
Open Items (Future Sessions)
Create Subscriber DB (inline database on this page)
Create first Notion Form (FL-MIA-001 β active Stage 27 exemplar)
Test Super.so rendering of Notion form link on Insights posts
Build HTML email template
Update STEP-008-WEB Β§Newsletter Pipeline to reference this architecture
Update WEB-BP-CLP + WEB-BP-TAC form placeholders with actual form URLs
Add "Inbound: Newsletter" option to Prospect DB Source field (coordinate T203)
Log D112
Operator: hide this page in Super.so site settings