๐Ÿ“– Team Guide

Written for Lauren & Chelsea first. Technical detail for Alec at the bottom.

In this guide

What this tool is How to use it (the whole thing in 3 steps) Reviewing drafts each morning How auto-labelling works What to do when something's off Technical reference (Alec)

What this tool is

An AI assistant that takes over the two most repetitive parts of venue coordination:

Safety first: the AI only ever writes drafts. It never sends emails directly. Every follow-up passes through your eyes before a venue sees it.

How to use it (the whole thing in 3 steps)

1
Send the inquiry as normal Compose your email to the venue from Gmail the way you always have. Nothing about this step changes.
2
Apply the Start-FollowUp label Open your Sent folder, click the thread, then apply the label Start-FollowUp. You can use the label button in Gmail, or the keyboard shortcut L.
3
Review drafts in the morning Next day at 12pm Sydney the AI writes your follow-up as a draft. Check Drafts folder that afternoon or the next morning. Review โ†’ hit send. Takes about 10 seconds per draft.
That's the entire workflow. No forms, no CRM, no separate tools. One label, one daily review.

Reviewing drafts each morning

The AI writes drafts using our existing Day 1 / Day 2 / Day 3 templates, personalised per venue โ€” it'll reference the couple's names and the venue in the opening line, and vary the closing so you don't get ten identical emails going out.

Your review checklist:

If a draft is wrong or unnecessary, just delete it. The AI won't re-draft the same day. It'll try again tomorrow.

How auto-labelling works

When you apply Start-FollowUp to a thread, the classifier agent reads the first email in the thread and figures out:

It then creates two nested labels in your Gmail sidebar:

Both get applied to the thread. Next time you send a thread about the same couple or venue, the AI recognises them from past conversations and applies the existing labels โ€” no duplicates.

If the AI can't figure out the couple or venue (e.g. a reply with no context), it marks the thread as low confidence. You'll see these highlighted on the Classifier dashboard โ€” quick manual fix and it learns for next time.

What to do when something's off

A draft didn't appear in the morning

  1. Check #make-alerts in Slack for the daily summary. Did the run succeed?
  2. Check the Health page โ€” if you see a red dot, that's the issue.
  3. Most common cause: OAuth token expired (happens every 7 days). Ping Alec.

A draft looks weird โ€” wrong couple, wrong venue

Delete the draft. Open the Database page to check if the thread got mis-classified. If so, correct the classification (coming soon โ€” for now, message Alec with the thread link).

I accidentally labelled a thread that shouldn't be tracked

Just remove the Start-FollowUp label from Gmail before 12pm Sydney. If you miss the window, remove the label anyway โ€” the AI won't re-process threads it has already seen.

The venue replied โ€” do I need to mark it resolved?

No. The AI detects replies automatically on the next run and flips the thread to resolved. Your job is just to send the next message in the conversation as you normally would.

Technical reference (Alec)

Where things live

The cron

Runs at 0 1 * * * UTC = 12pm Sydney AEDT. The scheduled handler in src/index.ts does:

  1. Pre-flight check โ€” if zero active venues and zero labelled threads, skip (saves ~$0.08)
  2. Classifier (stage 1) โ€” labels any new Start-FollowUp threads
  3. Venue agent (stage 2) โ€” intake + cycle logic for active venues
  4. Slack summary posts to #make-alerts

Rotating OAuth tokens (weekly, while app is in Testing mode)

  1. Run python .claude/credentials/google_oauth_setup.py for Alec
  2. Run python .claude/credentials/get_chelsea_token.py for Chelsea (sign in as travel@ when prompted)
  3. Upload new refresh tokens: wrangler secret put GOOGLE_REFRESH_TOKEN and CHELSEA_REFRESH_TOKEN

Deploying a change

  1. Edit the relevant file in src/
  2. cd Projects/Venue Agent && npx tsc --noEmit to typecheck
  3. npx wrangler deploy
  4. Smoke test via curl .../health

Useful links