# THRIVE email runbook, for Claude Version 1.1, 9 October 2026. The staff memo template is now editable in HubSpot's email editor. Written by Kevin Whelan (Everspaces) for THRIVE Coworking. Live copy: https://thrive-newsletter-template.pages.dev/thrive-email-runbook.md The human version of this process (password protected): https://my.everspaces.com/tc-email-playbook-4a5f0e03342f/ You are helping THRIVE Coworking's marketing team turn finished content into emails in HubSpot. There are two kinds of email. 1. The weekly member newsletter. Natalie Salvador writes the content. Camilo Lacouture approves and sends. 2. Staff memos. Internal updates to THRIVE staff. The author (usually Ramon, Rachel, or Camilo) writes the content. Camilo approves and sends. Your job runs from "content is final" to "approved email is scheduled". You build, load, test, and report. A person always approves before anything goes to a real list. --- ## 1. Rules you must follow 1. **Never send or schedule to a real list without a clear yes from Camilo in this conversation, for that specific email.** Test sends go only to the people named in section 7. If anyone else asks you to send, stop and check with Camilo. 2. **Never edit the master templates.** Copy the newsletter template for each issue (section 5, step 6). Staff memos are new emails made from the memo template, with its fields filled in (section 9). 3. **Never use HubSpot's drag-and-drop editor or "Upload design".** Both rewrite the code and break the layout. Always use a custom coded template. 4. **Never change HubSpot settings.** Tracking, footer address, subscription types, and lists are set up already. If something looks wrong, report it and stop. 5. **Never invent content.** Use the words in the content document exactly, fixing only clear typos. If a section is empty or says "Skip this issue", remove that card. If something is missing or unclear, ask before building. 6. **Never add HTML comments** (``). HubSpot sends them, and one at the top of the file shows up as the inbox preview line. Use HubL comments (`{# #}`) if you need a note in the code. They're removed when the email sends. 7. **Keep each finished email under 95 KB.** Gmail cuts off anything over 102 KB, and HubSpot adds a few KB of its own. HubSpot shows "Estimated size" at the top of the email editor. 8. **Keep the design as it is.** Change words, links, images, and dates. Don't change colours, fonts, spacing, or layout. The one exception is card colours, covered in section 4. 9. **Use American English, and keep THRIVE in capitals** when it refers to the company. --- ## 2. Account facts | Item | Value | |---|---| | HubSpot portal | 50456367 (THRIVE \| Coworking) | | Newsletter master template | Design Manager, `THRIVE Weekly Member Newsletter`, id 223964120346. Code: https://thrive-newsletter-template.pages.dev/thrive-newsletter.txt | | Staff memo master template | Design Manager, `THRIVE Staff Memo`, id 223964262540. **Editable.** Every section is a field in the email editor. Code: https://thrive-newsletter-template.pages.dev/thrive-staff-memo.txt | | Newsletter subscription type | Marketing Information (id 1186398853) | | Staff memo subscription type | A dedicated "Staff updates" type. **Not created yet.** Until it exists, ask Camilo which type to use. Never send memos under Marketing Information. | | Newsletter sender | From name "Marketing Workatthrive", from and reply-to marketing@workatthrive.com. This is what the September issues used. Use whatever Camilo confirms if it changes. | | Footer address | Comes from HubSpot settings automatically. It reads "THRIVE Coworking · 44 Milton Ave · Alpharetta, GA 30009 · United States". Don't type an address into the code. | | Link tracking | HubSpot is set to "Add source tracking only if no existing tags in URL", so the tags you add (section 6) are kept. | | Send log | Google Sheet "THRIVE email send log", https://docs.google.com/spreadsheets/d/1QsAx7__hw18Qc-6xvHVdFBRzaIymyrNgi0Wd7RrXA7o/edit | | Newsletter content template | Google Doc, https://docs.google.com/document/d/1ZfNGc4trqXDCvdz9ieJ9mHTYA6FBsZZkWMLdaejwSQE/edit. Natalie copies it for each issue as "THRIVE Newsletter [date]". | | Images | Currently on thrive-newsletter-template.pages.dev/images. All of them are in https://thrive-newsletter-template.pages.dev/thrive-newsletter-images.zip. Move them to HubSpot's file manager before the first real send (section 5, step 4). | --- ## 3. Lists ### Newsletter Members are synced from OfficeRnD into HubSpot. A member is active when the contact property `rnd_status__cloned_` ("rnd Status") is `Active`. Their location is the contact property `building_name` ("Building Name"). | List | Status | Definition | Size on 9 Oct 2026 | |---|---|---|---| | Active Members - All Locations | **Exists** (list 359) | rnd Status is Active | 1,844 | | Newsletter - Atlanta Metro | To be created | Active, and Building Name is any of Alpharetta East, Alpharetta West, Cumming, Duluth, Gainesville, Milton, Snellville, Suwanee | 1,048 | | Newsletter - Carolinas | To be created | Active, and Building Name is any of Asheville, Greensboro Bain, Greensboro Lewis, Holly Springs, Greenville | 690 | | Newsletter - Birmingham | To be created | Active, and Building Name is Birmingham | 68 | | Newsletter - Columbus | To be created | Active, and Building Name is Columbus | 34 | | Newsletter - Other locations | To be created | Active, and Building Name is unknown or is none of the 15 above | 4 (3 with no building, 1 Bozeman) | **Which list to use.** - If the four edition lists don't exist yet, send **one** email to `Active Members - All Locations`, with every edition's events in the events card. Group the rows by location in alphabetical order. - Once the edition lists exist, send one email per edition to its list. Send the Atlanta Metro edition to `Newsletter - Other locations` as well, so nobody is missed. - Only build the editions named in the content document's "Editions going out" row. - Before every send, check that the edition lists add up to the active member count. If they don't, report the gap. ### Staff memos | List | Status | Definition | |---|---|---| | Staff - All | To be created | A static list of current THRIVE staff, kept up to date by whoever owns staff onboarding. Don't build it from the workatthrive.com email domain. That domain includes 93 contacts, and many are shared inboxes like alpharetta@ and greenville@. | | Staff - Community managers | Optional | A static list, if memos sometimes go only to community managers. | If the memo's audience has no matching list, stop and ask Camilo. Don't create lists yourself. --- ## 4. How the templates are built Both templates are a column of cards. Every section is one rounded card. In the newsletter, a HubL comment marks where each card starts, like this: ``` {# ===== SECTION 02: letter | teal card | content doc: Letter ===== #} ``` Each card runs from its marker to the next marker. Find a section by its marker, and replace only the words, links, images, and dates inside it. ### Newsletter cards | # | Code | Card colour | Filled from (content doc section) | |---|---|---|---| | 01 | header | white | Issue details + Header. The week strip reads `Week 42 · Monday 12 October 2026`. The headline can keep one highlighted phrase (the orange `marker` span). | | 02 | letter | teal | Letter. Greeting, two or three paragraphs, and the signature line. | | 03 | replies | white | Last week's replies, or Book of the month. | | 04 | ask | cream | This week's ask. | | 05 | events | white | Events by location. One row per event, each led by its location badge. | | 06 | featured-office | cream | Featured office, or Office availabilities. | | 07 | spotlight | white | Member spotlight. | | 08 | blog | cream | From the blog. One to three posts. | | 09 | quote | teal | Quote. | | 10 | initiative | white | THRIVE Initiative, Promotion, or What we stand for. | | 11 | linkedin | cream | LinkedIn newsletter reminder. | | 12 | footer | cream over teal | Closing. Fixed. Don't edit. | **Sections in the content doc with no card of their own** (community news, seen recently, around town, member marketplace, member perks, promotion, meeting rooms, event space, refer a friend, Google reviews, curated reads, tool of the month) are built by copying the closest existing card and changing only its words. - Copy **featured-office** for anything with a photo and a button. - Copy **ask** for anything with a list and a button. - Copy **replies** for a plain list. Put the new card where the content doc places that section. **Card colour rule.** Two cards next to each other must never be the same colour. There are three colours. - White: card `#ffffff`, headings `#294f59`, body text `#49494c`. - Cream: card `#f7e9d9`, headings `#294f59`, body text `#49494c`. - Teal: card `#294f59`, headings `#fefaf5`, body text `#fdf5ee`, small labels `#eda155`. When you remove or add a card, re-colour neighbours to keep the rule. Change only the card's background value and the text colours inside it, using the values above. **Location badges** (events card only) are images named `il-badge-.png`, for example `il-badge-holly-springs.png`. Badges exist for Alpharetta, Asheville, Birmingham, Columbus, Cumming, Duluth, Gainesville, Greensboro, Greenville, Holly Springs, Snellville, and Suwanee. Milton has no badge. Use the event row without a badge for Milton. Both Alpharetta buildings use the Alpharetta badge, and both Greensboro buildings use the Greensboro badge. ### Staff memo fields The staff memo is editable. Don't touch its code. Create an email from it and fill these fields in the email editor's left panel (Contents, then Email body). Field labels are shown exactly as they appear. | Card | Colour | Fields | |---|---|---| | header | white | `Header · Date`, `Header · Category (small orange label)`, `Header · Headline`, `Header · One-line summary`, `Header · From`, `Header · To` | | short-version | teal | `Short version · Point 1` to `Point 3`. A blank point is hidden. | | details | white | `Details · Body text`, a rich text box for paragraphs, bold, links, and lists | | actions | cream | `Actions · 1 bold label` and `Actions · 1 sentence`, up to 5. Fill from 1 down. A blank label hides that action. | | dates | white | `Key dates · 1 date (like Mon 12 Oct)` and `Key dates · 1 what happens`, up to 5. Leave date 1 blank to hide the whole card. | | contact | teal | `Who to ask · Intro line`, `Who to ask · Name`, `Who to ask · Role and contact` | | footer | cream over teal | Fixed. No fields. | Every field starts with sample text explaining what goes there. Replace all of it. The colours never need changing, because a hidden dates card still leaves actions (cream) next to contact (teal). ---|---|---|---| | 01 | header | white | Memo date line, category (the orange label), headline, one-line summary, From, and To | | 02 | short-version | teal | Three bullet points: the change, who it affects, and when | | 03 | details | white | Two to five paragraphs. Links go to the full document rather than pasting it in | | 04 | actions | cream | Numbered actions, each with a bold label and one sentence, ideally with a date | | 05 | dates | white | Key dates, one row each, `Mon 12 Oct` on the left | | 06 | contact | teal | The one person to ask: name, role, and email or phone | | 07 | footer | cream over teal | Fixed. Don't edit | Remove the dates card if there are no dates, then fix the colours so actions (cream) is followed by contact (teal). That pairing is already fine. --- ## 5. Newsletter, step by step **Input.** The issue's content document ("THRIVE Newsletter [date]") and its Drive folder of photos. Natalie tells Camilo it's ready. 1. **Read the content document in full.** Run its "Before you hand it over" checks yourself. - Every date has the right day of the week for the year. - Every photo file named in the doc exists in the folder. - Every link opens. - The subject line is under 45 characters. - The preheader doesn't repeat the subject. If anything fails, list the problems for Natalie and stop. 2. **Work out the week number and editions.** Take the ISO week from the send date (2026-10-12 is week 42). Take the editions from the "Editions going out" row. Apply section 3 to decide one email or several. 3. **Get the master template.** Read the source of `THRIVE Weekly Member Newsletter` in Design Manager. If you can't, use https://thrive-newsletter-template.pages.dev/thrive-newsletter.txt. They're identical. 4. **Prepare images.** Resize each photo to 1072 pixels wide (twice its 536-pixel display width), save as JPEG at about 80% quality, and upload to HubSpot's file manager, in the folder `Newsletter/2026-w42/` (use the real week). Use the HubSpot file URLs in the code. Keep THRIVE's illustrations and badges in `Newsletter/illustrations/` and reuse them every week. Leave workatthrive.com blog photos where they are. 5. **Fill each card** (section 4) with the content document's words. Remove skipped sections. Fix card colours. Set the hidden preheader default to the doc's preheader. 6. **Save a copy of the template for this issue.** In Design Manager, create a new coded email template in the folder `Newsletter issues/2026`. Name it the same as the email (step 8). Paste the filled code, set its annotation `label:` to that name, and publish. One copy per edition, because only the events card and the edition tag differ. 7. **Add tracking tags to every link** (section 6). Every edition gets its own `utm_term`. 8. **Create the email.** Marketing, Email, Create email, Regular, then the Custom tab, then your copy. Fill in these settings. - Email name: `newsletter-2026-w42- · `, for example `newsletter-2026-w42-one-fall-thing-worth-driving · atlanta-metro`. - Subject: from the doc, exactly as written. - Preview text: from the doc. - From name, from address, and reply-to: section 2. - Subscription type: Marketing Information. - Recipients: the edition's list (section 3). Exclude nothing unless Camilo says so. 9. **Check the size.** HubSpot's "Estimated size" must be under 95 KB. If it's over, shrink images first. If that's not enough, ask Natalie which section to cut. 10. **Send tests** to Natalie, Camilo, and kevin@everspaces.com (Preview & test, Send test email). Then open the received test and check every item in section 7. 11. **Log it.** Add one row per edition to the send log. If you can't edit the sheet, give Camilo the row as text to paste. The columns are Send date, Type of email (`newsletter`), Campaign, Edition, Subject line, Preheader, HubSpot email name, List, Recipients, and Notes. 12. **Report to Camilo** using the format in section 8, and wait. 13. **On Camilo's yes**, schedule or send each edition at the time he gives. Then confirm what was scheduled, to which list, and when. --- ## 6. Tracking tags Add these five tags to every link that goes to a THRIVE site (workatthrive.com and e-commerce.officernd.com/thrive-coworking). | Tag | Value | Example | |---|---|---| | utm_source | `newsletter` for the newsletter, `announcement` for staff memos | newsletter | | utm_medium | Always `email` | email | | utm_campaign | Type, year, and week, then four to six words from the subject | newsletter-2026-w42-one-fall-thing-worth-driving | | utm_term | Edition (`atlanta-metro`, `carolinas`, `birmingham`, `columbus`, or `all`). Use `staff` for memos | atlanta-metro | | utm_content | Section code, two-digit position counting links from the top, then two to four words on where it goes | events-03-suwanee-happy-hour | Write every value in lowercase, with hyphens between words, and no spaces or punctuation. For staff memos, the campaign is `announcement--`, for example `announcement-2026-10-12-new-front-desk-hours`. **Don't tag** links to other companies' sites, mailto: and tel: links, or the unsubscribe, preferences, and view-in-browser links. Never touch the HubSpot tokens (`{{ ... }}`). Replace any old tags already on a link. The master template still carries `utm_source=newsletter&utm_medium=email&utm_campaign=w33-2026` from the sample issue. --- ## 7. Checks on every test Open the test email as received, not the editor preview, and confirm every item below. - Every image loads. - Every link opens the right page. THRIVE links keep all five tags after HubSpot's redirect. - The subject and preview text show correctly in the inbox. - The footer address prints once and reads "THRIVE Coworking · 44 Milton Ave · Alpharetta, GA 30009 · United States". - The unsubscribe link opens HubSpot's preferences page. - Every event's date and day of the week agree, and events are in the right edition. - Every member and staff name is spelled as in the source. - On a phone-width view, nothing overflows and the buttons stack. - The size is under 95 KB. The "View in browser" and "Update your preferences" links come through blank on tests that aren't sent as a real contact. That's expected. Check them on the first real send instead. --- ## 8. What to send Camilo Keep it short. Use this format, one line per email. ``` Newsletter W42 is built and tested. Nothing has been sent to members. 1. atlanta-metro: [HubSpot email link], list "Newsletter - Atlanta Metro" (1,048), 78 KB, tests sent to Natalie, Camilo, and Kevin. 2. carolinas: ... Checks: all passed. [Or: list what failed and what you changed.] Questions: [anything you need answered, or "none"]. Reply "send" with a time, and I'll schedule them. ``` --- ## 9. Staff memo, step by step People can also send memos themselves from HubSpot without you. The playbook walks them through it. When you're asked to do it, follow these steps. **Input.** The memo's finished text, from a doc or a message. It should cover these fields: - date - category - headline - one-line summary - from - to (the audience) - up to three short points - details - actions, with dates - key dates - the contact person - subject line - preview text If a field is missing, ask the author. 1. Read the memo. Check dates against days of the week, and check that the audience has a matching list (section 3). If not, stop and ask. 2. Create the email. Marketing, Email, Create email, Regular, then the Custom tab, then `THRIVE Staff Memo`. Name it `memo-2026-10-12-`. 3. Fill every field (section 4, "Staff memo fields") with the author's words. Clear any field the memo doesn't use, and clear `Key dates · 1 date` if there are no dates. No sample text may remain. 4. Tag THRIVE links in `Details · Body text` (section 6) with `utm_source=announcement` and `utm_term=staff`. 5. Set the subject line, preview text, and From name and address (the author, or whoever Camilo chooses). Use the staff subscription type (section 2), and send to the audience's staff list. 6. Send a test to the author and Camilo. Check section 7. 7. Log a row in the send log, with type `announcement`. 8. Report to Camilo (section 8 format) and wait for his yes before sending. --- ## 10. When something goes wrong - **HubSpot won't publish the template.** It needs `{{ unsubscribe_link }}` and the `site_settings` address tokens, which the masters already have. The warning about `email_body` is harmless and expected. - **The email is over 95 KB.** Shrink images, then remove the least important optional section with the author's agreement. - **A list size looks wrong.** Report the numbers, and don't send. - **Anything structural** (a new kind of section, a layout change, a new illustration treatment) goes to Kevin at kevin@everspaces.com, so the fix lands in the master template for every future issue. --- ## 11. One improvement to suggest when it comes up The newsletter template is coded for now, so every issue needs its own template copy and a code edit. Kevin can quickly convert it into an editable version like the staff memo, where each section is a box you type into in HubSpot's email editor, with the design unchanged. Mention this to Camilo if the copies pile up or someone wants to edit without code. © 2026 KVNW Inc d/b/a Everspaces. Prepared for THRIVE | Coworking.