handover_prompts/claude_notion_easier_agency_extraction.md

Edit Back to List

CLAUDE HANDOVER PROMPT: Notion Easier Agency Access & Extraction for GBRAIN Ingestion

OBJECTIVE

Resolve Notion access permissions for the Easier Agency page/database, extract its five departments (Marketing, Sales, Relationships, Fulfilment, Operations), and prepare content for gbrain ingestion following user steering guidance.

ASSUMPTIONS

PREREQUISITES

STEP-BY-STEP PROCEDURE

PHASE 1: VERIFY MCP CONNECTION & INTEGRATION STATUS

1.1 List MCP Servers

Run: hermes mcp list - Verify Notion server appears as: notion npx notion-mcp-server all ✓ enabled - If not connected, troubleshoot MCP configuration

1.2 Test Integration Token

Run: hermes mcp execute notion get_self '{}' - Should return bot user info for "Hermes" integration - Confirms token is valid and working

1.3 Test Basic Search Capability

Run: hermes mcp execute notion search_pages '{"query": "Hermes WebUI", "pageSize": 5}' - Should return Hermes WebUI page if search works - Confirms basic Notion API access is functional

PHASE 2: LOCATE & DIAGNOSE EASIER AGENCY ACCESS ISSUE

2.1 Search for Easier Agency

Run: hermes mcp execute notion search_pages '{"query": "Easier Agency", "pageSize": 10}' - Note the results, particularly: - Easier Agency entry (should appear in results) - Easier Marketing entry - Other related items - Record the IDs returned: - Likely Page ID: eb7df9ac-6a51-49a1-8af5-5fcae6ff2674 - Likely Parent Database ID: 86b9c355-cc0c-4438-b964-beb0141ecab9

2.2 Test Direct Page Access (Expected to Fail Initially)

Run: hermes mcp execute notion get_page '{"page_id": "eb7df9ac-6a51-49a1-8af5-5fcae6ff2674", "include_properties": true}' - Expected result: object_not_found error indicating sharing required - If successful, proceed to Phase 4

2.3 Test Database Access (Alternative Path)

Run: hermes mcp execute notion get_data_source '{"data_source_id": "86b9c355-cc0c-4438-b964-beb0141ecab9"}' - Expected result: object_not_found error indicating sharing required - If successful, proceed to query the database for Easier Agency entry

2.4 Check Software Logins Database (Known Accessible)

Run: hermes mcp execute notion get_data_source '{"data_source_id": "d6f9882d-56c7-493e-a026-8b6012e1b30b"}' - Should succeed (Software Logins is accessible) - Then query for Easier Agency within Software Logins: hermes mcp execute notion query_database '{ "data_source_id": "d6f9882d-56c7-493e-a026-8b6012e1b30b", "filter": {"property": "Page", "title": {"equals": "Easier Agency"}}, "pageSize": 1 }' - Should return the Easier Agency database entry (metadata only, not page content)

PHASE 3: USER ACTION - SHARE NOTION CONTENT WITH HERMES INTEGRATION

INSTRUCTION FOR USER (Anthony Stratton): The Notion integration token is valid and connected, but the Easier Agency content has not been shared with the "Hermes" integration.

Please share the Easier Agency content with the Hermes integration:

Option A: Share the Specific Page/Database Entry 1. Open Notion and navigate to the Easier Agency page 2. Click the ••• menu (top-right) 3. Select "Add connections" or "Connect" 4. Ensure the integration named "Hermes" is selected 5. Confirm the sharing

Option B: Share the Parent Database (if Easier Agency is a database entry) 1. Open the database that contains the Easier Agency entry (likely Software Logins or similar) 2. Click the ••• menu → "Add connections" 3. Ensure the integration named "Hermes" is selected 4. Confirm the sharing

VERIFICATION: After sharing, wait 60 seconds then retry the get_page call from Step 2.2. It should now return page metadata instead of an object_not_found error.

PHASE 4: EXTRACT EASIER AGENCY DIRECTORY STRUCTURE (POST-ACCESS)

Once access is granted (get_page succeeds), extract the full directory:

4.1 Fetch Root Page Content & Properties

Run: hermes mcp execute notion get_page '{ "page_id": "eb7df9ac-6a51-49a1-8af5-5fcae6ff2674", "include_properties": true }' - Record page properties (Status, Last edited, Owner, etc.)

4.2 Get Page Content as Markdown

Run: hermes mcp execute notion get_page_markdown '{ "page_id": "eb7df9ac-6a51-49a1-8af5-5fcae6ff2674" }' - Extract the main content/markdown of the Easier Agency page

4.3 Get Child Blocks (Directory Structure)

Run: hermes mcp execute notion get_block_children '{ "block_id": "eb7df9ac-6a51-49a1-8af5-5fcae6ff2674", "pageSize": 100 }' - This should return the top-level blocks representing the five departments: - Marketing - Sales - Relationships - Fulfilment - Operations - For each department block: - Extract the heading/title (from properties.title.title[0].plain_text if it's a child page, or from text if it's a heading block) - Get the description/SOP content - If the block is a child page, recursively fetch that page's content - If the block contains a database, query that database for relevant records - Preserve hierarchy and status indicators (green/orange/red icons if present)

4.4 Extract Sub-Pages and Databases

For each item in the directory that links to another page/database: - Follow the link and extract that content - Maintain hierarchy in extraction notes - Pay special attention to: - ICP definitions and targeting criteria - SOP documents - Content plans and calendars - Outreach frameworks - Client acquisition materials

PHASE 5: EXTRACT SUPPORTING CONTENT (ALREADY ACCESSIBLE)

Extract these verified accessible sources (doing this while waiting for Easier Agency access or in parallel):

5.1 Software Logins Database (Metadata Only - NO Credentials)

Run: hermes mcp execute notion query_database '{ "data_source_id": "d6f9882d-56c7-493e-a026-8b6012e1b30b", "pageSize": 100 }' Extract (NON-SENSITIVE METADATA ONLY): - Service name (from properties.title.title[0].plain_text) - In use? status (from properties.In use?.select.name) - Cost/month (from properties.Cost / month.number) - Activity (from properties.Activity.multi_select[*].name) - Username (from properties.Username.rich_text[0].plain_text) - Notes (from properties.Notes.rich_text[0].plain_text) DO NOT EXTRACT: Password/SSO fields (these contain credentials)

5.2 API Keys Database (Metadata Only - NO Raw Keys)

Run: hermes mcp execute notion query_database '{ "data_source_id": "f1be5677-deda-4ce4-bd64-7a0e12439022", "pageSize": 100 }' Extract (NON-SENSITIVE METADATA ONLY): - Service name (from properties.title.title[0].plain_text) - Status (from properties.Status.select.name) - Last Rotated (from properties.Last Rotated.date.start) - Used By (from properties.Used By.multi_select[*].name) - Notes (from properties.Notes.rich_text[0].plain_text) DO NOT EXTRACT: API Key field (contains raw secrets/tokens)

5.3 Outreach Tracker Database

Run: hermes mcp execute notion query_database '{ "data_source_id": "2ee0308b-4848-80e2-b2d4-000bf535a2b4", "pageSize": 100 }' Extract ALL FIELDS (non-sensitive): - Name (from properties.Name.title[0].plain_text) - Created (from properties.Created.created_time) - Chase 1 (from properties.Chase 1 formula or text) - Chase 2 (from properties.Chase 2 formula or text) - Response? (from properties.Response?.checkbox) - QA Note (from properties.QA Note.rich_text[0].plain_text)

5.4 ContentOS Pages (Full Extraction)

For each page ID, get markdown: - ContentOS PRD: 3210308b-4848-8163-b899-d9631caa16ae - ContentOS Pipeline: 3230308b-4848-8048-bc54-fa1729e7eda1 - ContentOS Phased Tasks: 3230308b-4848-80bf-aac4-cbb64c785e3a Run for each: hermes mcp execute notion get_page_markdown '{"page_id": "<ID>"}'

5.5 OUTBOUND Master Copies (Full Extraction)

For each page ID, get markdown: - OUTBOUND 1: 3250308b-4848-8166-a323-d3eaa96741af - OUTBOUND 2: 3250308b-4848-8103-afd5-e928c7aca221 Run for each: hermes mcp execute notion get_page_markdown '{"page_id": "<ID>"}'

5.6 Company Records

PHASE 6: PREPARE CONTENT FOR GBRAIN INGESTION

6.1 Content Format Standardization

For each extracted piece, prepare in gbrain format:

# [Title]

[Compiled truth - current synthesis, key points, actionable information]

---

[Timeline - append-only evidence log with sources and dates]

6.2 Apply User Steering Guidance

6.3 File Organization Structure

Propose gbrain vault structure (suggested paths):

people/
  anthony-stratton.md
organisations/
  easier-agency.md
  easier-marketing.md
projects/
  contentos-pipeline.md
  outreach-framework.md
  easier-agency-departments/
    marketing.md
    sales.md
    relationships.md
    fulfilment.md
    operations.md
processes/
  contentos-workflows.md
  outreach-sops.md
decisions/
  icp-strategy-decision.md
  tech-stack-decision.md
  contentos-airtable-migration.md
etc.

PHASE 7: VERIFICATION & HANDOFF

7.1 Internal Validation

7.2 Handover Package

Provide to user: 1. Extracted content in gbrain-ready format (compiled truth + timeline) 2. Summary of what was accessed vs. what required sharing 3. List of any content that remains inaccessible despite efforts 4. Recommended next steps for gbrain ingestion (file placement, linking, etc.) 5. Notes on any discrepancies, stale information, or nuance observed during extraction

7.3 Final Verification

SUCCESS CRITERIA

TROUBLESHOOTING GUIDE

If Access Still Denied After Sharing:

  1. Wait 90-120 seconds for permissions to propagate (Notion sharing can be slow)
  2. Verify exact IDs being accessed match what was shared
  3. Check if there are multiple "Easier Agency" entries - ensure correct one shared
  4. Try sharing the parent workspace instead of just the page/database
  5. As last resort, have user export as Markdown/CSV and share files directly for manual ingestion

Large Content Handling:

If User Unsure What to Share:

ESTIMATED TIME COMMITMENT


This handover prompt is designed for Claude to execute with minimal guidance. The agent should verify each step before proceeding and report back at major phase completions. All file paths referenced are relative to /srv/easier-hermes/vault/ unless otherwise specified.