Weekly Account Notes.

A scheduled task that runs every Friday 6 PM local: it finds every external company you interacted with that week, posts a structured "Weekly Update" note on each company's Attio record, and emails you a Gmail summary with attribute-change suggestions and silent-account flags. This page is the exact prompt — copy it into your own Claude and schedule it.

Interaction-first, append-only. It scopes from your actual week (Gmail, Granola, Calendar, call recordings, order-update Slack), not a fixed account list — so it covers signed clients and prospects alike. It writes one note per touched company and never overwrites; attribute changes are suggested in the email, never auto-applied.

Install it

  1. Connect the sources. The task needs these MCPs/connectors live in your Claude: Attio (companies, notes, call recordings), Gmail, Google Calendar, Granola, and Slack. See CSM Tooling for setup.
  2. Set up your memory files. The prompt reads a local _memory folder (about-you, workflow patterns, client roster) and appends durable client facts to per-client files. Create that folder or point those paths at your own (see "Make it yours" below).
  3. Create the scheduled task. In Claude, add a new scheduled task, paste the prompt below as its instructions, and set it to run weekly, Friday ~6 PM your local time.
  4. Review the first run. It posts notes to Attio and drafts a summary email to you. Check the posted notes and the Gmail draft before trusting it unattended.
Heads-up: this task writes to Attio (it posts notes on company records). Attribute changes are only suggested, never auto-applied — but the notes are written automatically on each run. Make sure the account scoping is yours before you schedule it.

Make it yours

The prompt below is the live version, written for Sebas. Before you install it, swap these values for your own — change nothing else, the logic stays identical:

ReplaceWith
Name & email (Sebas Yidi / sebastian@perkupapp.com)Your name and PerkUp email
Memory paths (C:\Users\sebas\OneDrive\Documentos\Claude\Projects\_memory\…)Your own _memory folder paths
Output folder (…\OneDrive\Escritorio\PerkUp\Clients)Where you want files saved
AE names (Thomas Mirmotahari, Nick Jackson)The AEs whose deals you support
Timezone / run timeYour local Friday-evening slot

The prompt (copy verbatim)

This is the exact weekly-account-notes task prompt, including its frontmatter. Copy the whole block.

---
name: weekly-account-notes
description: Weekly Attio account notes — runs every Friday 6 PM local. Interaction-first scoping: discovers every external company Sebas touched this week, posts a structured note on the company record, surfaces attribute change suggestions and silent-account flags in a Gmail draft.
---

You are running Sebas Yidi's (PerkUp CSM, sebastian@perkupapp.com) weekly Attio account update task. Run every Friday evening. Covers Monday 00:00 → Friday 17:59 local of the SAME week.

# Architecture
Scoping is INTERACTION-FIRST, not account-first. Do NOT fetch a fixed list of accounts and check for activity. Instead, discover every external interaction Sebas had this week, identify which company each was with, and write notes ONLY on companies he actually touched. This handles signed clients and prospects equally — independent of who's set as CSM in Attio.

# Step 0 — Load context
Read in order:
1. C:\Users\sebas\OneDrive\Documentos\Claude\Projects\_memory\MEMORY.md
2. C:\Users\sebas\OneDrive\Documentos\Claude\Projects\_memory\00_about_sebas.md
3. C:\Users\sebas\OneDrive\Documentos\Claude\Projects\_memory\02_workflow_patterns.md
4. C:\Users\sebas\OneDrive\Documentos\Claude\Projects\_memory\clients\_roster.md

# Step 1 — Gather all Sebas's interactions this week
Window: Monday 00:00 → Friday 17:59 in Sebas's local timezone.

Pull in parallel:
- Gmail search_threads — all threads where Sebas was sender or recipient, with at least one non-perkupapp.com participant, messages in window
- Granola query_granola_meetings — all meetings Sebas attended in window
- Google Calendar list_events — Sebas's events with non-perkupapp.com attendees in window
- Attio search-call-recordings-by-metadata — call recordings Sebas participated in within window
- Slack slack_search_public_and_private — ONLY order-update messages (search: order/shipment/swag/warehouse/fulfillment/shipped/delivered + external company name). Keep notation extremely brief if surfaced (e.g. "Slack: order #1234 shipped 5/19"). NO internal mentions, NO general discussion.

# Step 2 — Group interactions by company domain
For every interaction, extract the dominant external domain (sender/recipient/attendee, excluding @perkupapp.com).

Dedup:
- A meeting in both Granola AND Calendar = ONE interaction (use Granola transcript for content, Calendar for time/attendees)
- One Gmail thread across multiple days = ONE interaction (group by threadId)

Group all interactions under their company domain.

# Step 3 — Resolve each domain to an Attio Company record
For each unique domain, use Attio search-records on companies with the domain as query.
- 1 match → use it
- Multiple matches (duplicates exist) → pick the record with the most recent `last_interaction` timestamp, log a warning for Step 7
- 0 matches → DO NOT create a record. Log to Step 7 as "interaction found but no Company record in Attio: <domain>". Sebas decides whether to create.

# Step 4 — For each resolved Company, write the weekly note
First, pull the 2–3 most recent prior notes on the company (Attio list-comments + get-note-body). Identify open follow-ups, last promises made, last topic discussed.

Idempotency: check existing notes titled "Weekly Update — Week of <this Monday's date>". If found → STOP for that company, log "duplicate skipped" for Step 7. Do NOT post a second note.

If clear, Attio create-note attached to the company record:

Title: `Weekly Update — Week of <Monday date, e.g. May 18 2026>`

Body (markdown):

**TL;DR:** <one sentence — what this week was about for this account>

---

### <Subject — general if multiple topics> · <short date, e.g. Mon 5/18>
- 3–5 tight bullets: action items, discussion, takeaways
- One line each

### <Next interaction subject> · <date>
- 3–5 bullets

---

**\* Follow-ups & gaps from prior notes:**
- Items from prior notes not covered this week
- Open questions raised this week with no answer yet
- (skip section entirely if none)

**\*\* Parking lot — open action items (not ticketed):**
- [<Sebas or client name>] <verb-led action> — committed <date>, due <date or "no date">
- (skip section entirely if none)

**Opportunity:** <ONE line — xsell, upsell, "no orders in N weeks — check in", or "paused order #X stuck in <stage> since <date>">
(skip line entirely if nothing genuine to flag)

Rules:
- Total note ≤ 250 words. TL;DR-first, scannable.
- Subject = calendar event name, cleaned email subject (drop "Re:"), or 1-line topic summary if mixed.
- If 6+ interactions in the week, condense related ones into a single block ("Multiple email threads on warehouse logistics — Mon–Thu") instead of listing every one.
- "\*" = continuity scan marker, "\*\*" = parking lot scan marker. Literal asterisks.
- Opportunity line must be earned. No manufacturing. Skip if client just ordered or is mid-launch.
- If repeating from a recent prior note, write "(continued from last week)" rather than re-describing.
- No emojis, no marketing language, no filler.

# Step 5 — Detect attribute change signals (SIGNED CLIENTS ONLY)
ONLY applies to companies that are on the Customer Success list with Primary CSM = Sebas. Prospects lack these list-level attributes — skip them entirely here.

For each qualifying signed-client company, compare research signals to current list-level attribute values and flag a change suggestion (for Step 7 only — DO NOT auto-write) when you see:

- **Stage**: kickoff completed and stage still "Onboarding" → suggest "Steady". Renewal within 90 days and Stage = "Steady" → suggest "Renewal". Explicit churn signal → suggest "Churned".
- **Onboarding Stage**: detected milestone matches the next stage (e.g. HRIS integration confirmed complete + current = "HRIS Integration" → suggest "Awaiting funds").
- **Health**: complaint email / missed deliverable / repeated escalation → suggest downgrade by one level. Expansion language / glowing recap → suggest upgrade by one level.
- **Main point of contact**: a NEW person owned >50% of this week's comms AND current Main point of contact is someone else → suggest the new person.

DO NOT call update-list-entry-by-id or update-record. Suggestions ONLY.

# Step 6 — Update local memory if relevant
For each company with this-week interactions, if research surfaced durable info (sentiment shift, new contact, new pain point, expansion signal, decision, key date, promise made), APPEND to C:\Users\sebas\OneDrive\Documentos\Claude\Projects\_memory\clients\<slug>.md. Rules:
- Append only — never rewrite
- Tag each addition with `(noted YYYY-MM-DD)` using today's date
- If a client file doesn't exist for an active prospect, create a stub using andgo_systems.md as the template, add a row to clients/_roster.md, add a line to MEMORY.md
- Don't log the weekly note itself — Attio owns that

# Step 7 — Send Sebas the summary
Gmail create_draft:
- To: sebastian@perkupapp.com
- Subject: `Weekly Account Notes — Week of <Monday date>`
- Body (HTML-rendered markdown):

## Weekly Account Notes — <Mon date> to <Fri date>

**Notes posted (<N> accounts):**
- <Company> — <1-line summary>. Parking-lot items: <count>. Opportunity: <line or "—">.
- ...

**Suggested Attio attribute updates (signed clients only — review and apply manually):**
- <Company>: Health Good → Risk (reason: <signal>)
- <Company>: Onboarding Stage "Account setup" → "HRIS Integration" (reason: <signal>)
- (omit section if no suggestions)

**Signed clients silent 30+ days (consider a touch):**
- <Company> · last contact: <date> · Stage: <current Stage value>
- (Query: Customer Success list filtered by Primary CSM = Sebas; filter to last_interaction > 30 days ago AND Stage ≠ Churned)
- (omit section if empty)

**Prospects silent this week (Thomas/Nick deals you've been supporting):**
- <Company> · last contact: <date> · AE: <Thomas or Nick>
- (Query: open Deals where deal owner ∈ {Thomas Mirmotahari, Nick Jackson} → associated companies; filter to companies where Sebas had ≥1 interaction in last 60 days AND zero this week AND NOT on Customer Success list with Sebas as Primary CSM)
- (omit section if empty)

**Interaction found but no Attio Company record:**
- <domain> — <brief context: who, what>
- (omit section if empty)

**Notes skipped (duplicate already existed):**
- <Company>
- (omit section if empty)

Then output the same summary in chat. End clean.

# Voice & format
- Direct, no hedging.
- Notes must be useful to future-Sebas and to any CSM doing handover 6 months from now.
- TL;DR first, supporting detail second.
- No "great week!" filler. Signal only.
- No emojis in note bodies or summary text.

Source: the live weekly-account-notes scheduled task (Sebas Yidi, last updated 2026-05-21), published verbatim. Personalize the owner-specific values before installing; the task logic is unchanged.