[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-posthog-posthog-pls-big-fish":3,"mdc--mbukai-key":37,"related-repo-posthog-posthog-pls-big-fish":1595,"related-org-posthog-posthog-pls-big-fish":1707},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":26,"repoUrl":27,"updatedAt":28,"license":29,"forks":30,"topics":31,"repo":32,"sourceUrl":35,"mdContent":36},"posthog-pls-big-fish","research and qualify large product-led leads","Research, qualify, and suggest outreach for PostHog big fish product-led leads — large companies (500+ or 1000+ employees) using PostHog on free tier without a payment method. Use this skill when a TAE needs to work a big fish alert from Salesforce. Triggers on 'work this big fish lead', 'research this product-led lead', 'big fish alert', '500+ employees no payment method', '1000+ employees no payment method', or any request involving a large-company product-led lead that needs research, qualification, and an outreach recommendation. Also trigger when a TAE pastes Salesforce lead details with matching criteria like 'Big fish alert' or '500+ employees, no payment method'.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"posthog","PostHog","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fposthog.png",[12,16,17,20,23],{"name":13,"slug":14,"type":15},"Research","research","tag",{"name":9,"slug":8,"type":15},{"name":18,"slug":19,"type":15},"Sales","sales",{"name":21,"slug":22,"type":15},"Outreach","outreach",{"name":24,"slug":25,"type":15},"Lead Enrichment","lead-enrichment",56,"https:\u002F\u002Fgithub.com\u002FPostHog\u002Fskills","2026-04-06T18:46:33.323056",null,4,[],{"repoUrl":27,"stars":26,"forks":30,"topics":33,"description":34},[],"PostHog skills (under construction)","https:\u002F\u002Fgithub.com\u002FPostHog\u002Fskills\u002Ftree\u002FHEAD\u002Fskills\u002Fteam\u002Fnew-business-sales\u002Fbig-fish-lead","---\nname: posthog-pls-big-fish\ndescription: \"Research, qualify, and suggest outreach for PostHog big fish product-led leads — large companies (500+ or 1000+ employees) using PostHog on free tier without a payment method. Use this skill when a TAE needs to work a big fish alert from Salesforce. Triggers on 'work this big fish lead', 'research this product-led lead', 'big fish alert', '500+ employees no payment method', '1000+ employees no payment method', or any request involving a large-company product-led lead that needs research, qualification, and an outreach recommendation. Also trigger when a TAE pastes Salesforce lead details with matching criteria like 'Big fish alert' or '500+ employees, no payment method'.\"\n---\n\n# PostHog Big Fish Lead Qualification & Outreach\n\nResearch, qualify, and recommend the right play for big fish product-led leads. These are large companies (500+ employees) that have signed up for PostHog and are using it on the free tier without a payment method.\n\n## What Makes Big Fish Leads Different\n\n- **They didn't ask for help** — you're reaching out proactively\n- **They're already using PostHog** — they have an account, possibly active usage\n- **The goal is supporting their evaluation — and identifying real opportunities along the way.** The TAE's job is to help these accounts get value from PostHog quickly. If PostHog is the right fit, the commercial conversation ($20K+ annual) will happen naturally once they're dependent on the product. Other teams handle free-to-paid conversion and churn prevention.\n- **You need a specific reason to reach out** — generic emails get ignored. Every outreach needs a hook grounded in what you actually know about their usage.\n\n## Core Workflow\n\n1. **Parse the lead** — Read Salesforce fields. Watch for the subject concatenation bug: `[Product-led] Companyemail@domain.com` often smashes the company name and email together. Split at the `@` pattern to get the real email address.\n2. **Research the company** — Web search for firmographics, product, industry\n3. **Check Vitally** — Account activity, users, products, conversations, notes\n4. **Identify the use case** — Map to PostHog's six use cases based on company type and product usage\n5. **Qualify and recommend a play** — Outreach \u002F Skip \u002F Nurture\n6. **Draft outreach** — If outreach is recommended, write a support-first email with a specific hook\n7. **Validate all URLs** — Fetch every link in the draft to confirm it resolves correctly\n\n## Step 1: Parse the Lead\n\nSalesforce has a known bug where the subject line concatenates the company name and the person's email without a space. For example:\n\n- `[Product-led] AcmeCorpjane.smith@acmecorp.com` → Company: **AcmeCorp**, Email: **jane.smith@acmecorp.com**\n- `[Product-led] Go Teamperson@goteam.ca` → Company: **Go Team**, Email: **person@goteam.ca**\n\n**Always parse the subject by finding the email address pattern** (look for where `@` appears and work backwards to the start of the local part). The company name is everything between `[Product-led]` and the start of the email.\n\n## Step 2: Research the Company\n\nUse web search to gather:\n\n- What the company does (one-sentence summary)\n- Industry \u002F vertical — is this ICP or not?\n- Company size (employees, engineering headcount if available)\n- Funding stage and recency\n- **Does the company build software products with end-user UIs?** This is table stakes for PostHog relevance. A company can have 5,000 employees but if they don't build software, PostHog isn't relevant.\n\n**Search queries to run:**\n```\n[company name] what does it do\n[company name] crunchbase funding\n[company name] engineering team\n```\n\n**Cross-check Salesforce enrichment data against your research.** The \"500+ employees\" matching criteria comes from Clearbit\u002FHarmonic data in Salesforce, which frequently maps to the wrong entity — especially for companies with common names. A 10-person startup can get enriched with data from a completely different company with a similar name, showing 45,000 employees and $10B+ revenue. If your web research contradicts the Salesforce employee count, revenue, or founding year, trust your research and flag the discrepancy.\n\n## Step 3: Check Vitally\n\n**This is the most important step.** The Vitally data determines whether this is a real evaluation or one person poking around.\n\n### 3a: Find the Account\n\nSearch for the account in Vitally. The most reliable lookup method is **user email** via `get_user_details`. Account name search is unreliable. If the email lookup returns the user with their account, you have everything you need.\n\nIf the lead email returns nothing, try the posthog_org_id from Salesforce as a last resort — but note the `search_accounts` externalId filter is unreliable and may return unrelated results.\n\n### 3b: Check Users in the Account\n\nUse `get_account_users` on the account ID. This is the single most important qualifying signal:\n\n- **1 user** — One person exploring. Lower priority. Light touch outreach at best.\n- **2+ users** — Real evaluation underway. Multiple people means someone shared PostHog internally — organizational interest, not just curiosity. Treat with urgency.\n- **3+ users with diverse roles\u002Factivity** — Very strong. Active cross-functional evaluation. Prioritize.\n\nFor each user, note:\n- **Email and name** — who are these people?\n- **Vitally segments** — \"Analytics Creator\", \"Replay User\", \"Feature Flag Creator\", \"Experiment Creator\" etc. tell you exactly what they're doing\n- **Last seen date** — how recent is the activity?\n- **Who's the org Owner?** — this is usually the champion who initiated the evaluation\n\n**Signup velocity matters.** If all users joined within a 1-2 week window, it's a coordinated evaluation. If they trickled in over months with gaps, it may have stalled.\n\n### 3b-ii: Research Each User's Persona and Role\n\n**Mandatory.** For every user in the account, research their actual job title and role. This changes the outreach strategy significantly — an Engineering Manager building a software product is a completely different conversation than a Marketing Ops person tracking a website.\n\n**How to research:**\n1. Check Vitally user traits first — `roleAtOrganization`, `sfdc.Role__c`, and `vitally.custom.calculatedTitle` sometimes have useful data\n2. Check their LinkedIn profile URL if available in Vitally traits (`sfdc.Linkedin_Profile__c`)\n3. Web search: `\"[first name] [last name]\" \"[company name]\" LinkedIn`\n4. If the company has divisions or sub-brands, note which division the person works in — this can completely change the ICP assessment (e.g., an engineer on a SaaS product team within a services company is very different from a project manager in the services delivery business)\n\n**What to look for:**\n- **Exact job title** — \"Senior Software Engineer\" vs. \"AV Project Manager\" tells you everything about ICP fit\n- **Department \u002F team** — Engineering, Product, Data, Marketing, IT, Operations?\n- **Which product or division they work on** — especially important at large companies with multiple business units. The division they're in determines whether PostHog is relevant.\n- **Seniority level** — IC engineer, engineering manager, director, VP? This affects who you address the email to and how you frame the ask.\n\n**Report what you find for each user** in the output. If you can't find someone's title, note that as an unknown.\n\n**Why this matters:** Knowing that both users are engineers on a software platform team (strong ICP) vs. marketing analysts tracking a corporate website (weak ICP) is the difference between a Slack channel + outreach email and a skip. The persona research often overrides the company-level ICP assessment — a non-tech company can still have a strong PostHog use case if the right team is evaluating it.\n\n### 3c: Check for Other Accounts on the Same Email Domain\n\n**Mandatory.** Large companies often have multiple PostHog accounts on the same email domain. Search Vitally for other accounts that share the same domain using `search_accounts` or `find_account_by_name` with the company name, and check whether any other accounts have admin emails on the same domain.\n\n**Why this matters:** Sometimes a user signs up and creates a new PostHog org when they actually meant to join an existing one that their colleagues already set up. This is especially common at large companies where one team is already using PostHog and a new person from a different team signs up independently.\n\n**What to look for:**\n\n- **Another account on the same domain that's more established** (more users, more usage, already paying, has a TAE assigned) — If this exists, the new account may be a duplicate. The lead contact may have accidentally created a new org instead of joining the existing one. Flag this in your output — the right play might be connecting this person to the existing account rather than treating them as a new lead.\n- **Multiple accounts with active, independent usage** — Different teams evaluating PostHog separately. This is a strong organizational signal. Note which account is most active, which the lead contact belongs to, and whether there's an opportunity to connect the teams.\n- **An existing account that's already being worked by another TAE** — If the domain already has an account in someone else's book, coordinate with that TAE before reaching out. Don't create a competing relationship.\n\n**Report what you find:** List all accounts on the domain, their user counts, activity levels, and whether they have a TAE assigned. If the lead's account looks like an accidental duplicate, recommend connecting the user to the existing org instead of outreaching to the new one.\n\n### 3d: Check Conversations and Notes (Last 45 Days)\n\n**Mandatory.** Use `get_account_conversations` and `get_account_notes` before deciding on a play.\n\n- If someone from PostHog has already reached out → coordinate, don't pile on\n- If the onboarding team has notes → read them for intel\n- If there are support conversations → learn what they're working on\n- **If zero conversations and zero notes** → flag this. The account is completely untouched. You're the first human contact.\n\n### 3e: Check Gmail\n\nSearch for the company domain in Gmail to see if there's any prior email contact outside of Vitally.\n\n## Step 4: Identify the Use Case\n\nMap to PostHog's six use cases based on what they're using and what the company does:\n\n| Vitally Segments \u002F Products Active | Likely Use Case |\n|---|---|\n| Analytics Creator, Analytics User, Surveys User | Product Intelligence |\n| Feature Flag Creator, Experiment Creator | Release Engineering |\n| Error Tracking User | Observability |\n| Web Analytics usage | Growth & Marketing |\n| LLM Observability usage | AI\u002FLLM Observability |\n| Data Warehouse, Batch Exports | Data Infrastructure |\n\nIf usage data is thin, infer from company type:\n- **AI-native** → AI\u002FLLM Observability + Product Intelligence\n- **PLG SaaS** → Product Intelligence + Growth & Marketing\n- **Developer tools** → Release Engineering + Observability\n- **E-commerce \u002F marketplace** → Growth & Marketing + Product Intelligence\n\n## Step 5: Qualify and Recommend a Play\n\n### Play: Outreach (Slack Channel + Support-First Email)\n\nWhen the account has **2+ users AND active usage**, they get the full treatment:\n- Create a shared Slack channel\n- Send a support-first email (see Step 6)\n\nAlso recommend outreach when:\n- The company is a reasonable ICP fit (builds software, has engineers)\n- $20K+ annual spend potential based on company size\n- No one from PostHog has already contacted them\n\n### Play: Skip\n\nRecommend skipping when:\n- **Not ICP.** Company doesn't build software products (traditional retail, manufacturing, dealerships, etc.)\n- **Account already being worked** by another TAE or team.\n- **Company size is misleading.** \"500+ employees\" but they're a non-tech company where the engineering team is 3 people maintaining a website.\n\n### Play: Single User — Check Back (Don't Skip Immediately)\n\n**Do NOT disqualify a lead just because there's only 1 user right now.** Big fish accounts often start with one person setting things up before inviting the team. It can take days or even a couple of weeks for additional users to show up.\n\nWhen a big fish lead has only 1 user:\n1. **Check back in 1 week.** Look at the account again — have more users been added? Has usage increased?\n2. **If still 1 user after 1 week, check back 1 more week.** Same check.\n3. **If still 1 user after 2 check-backs (3 weeks total), then decide:** send a light-touch single-user email, or deprioritize based on the overall picture (ICP fit, company size, activity level).\n\nTell the TAE when each check-back is due so they can set a reminder.\n\n### Play: Nurture (Watch, Don't Email Yet)\n\nRecommend nurture when:\n- Good fit company but usage is very early — they signed up days ago and have barely done anything. Give them a week to get set up before reaching out.\n- The evaluation appears stalled (users signed up months ago, no recent activity). A different approach may be needed (LinkedIn, in-app survey, etc.).\n\n## Step 6: Draft the Outreach Email\n\nRead `references\u002Foutreach-hooks.md` before drafting.\n\n### Key Principles (from https:\u002F\u002Fposthog.com\u002Fhandbook\u002Fgrowth\u002Fsales\u002Fgetting-people-to-talk-to-you)\n\n1. **Your initial outreach isn't about you, it's about them.** Do NOT lead with who you are, that you're attached to their account, or that you're \"here to help.\" Lead with an observation about *their* usage. Your name goes in the signature — that's enough.\n2. **Lead with value in the first sentence.** Make a specific observation about their setup drawn from Vitally data. If it takes a paragraph to get to the point, you won't get a response.\n3. **Avoid fluff.** \"I'm just reaching out to\", \"I just wanted to\", \"I'm here if you need anything\", \"Saw you just signed up\" — cut all of it.\n4. **Ask yourself: if this landed in the sales@ inbox, would I even give it a second look?** If not, rewrite.\n5. Do NOT mention pricing, costs, volume discounts, enterprise features, SSO, or anything commercial. They opted to not talk to sales by self-serving. Respect that.\n6. **Mention the Slack invite naturally** — not as the opening or centerpiece.\n7. **One open question at the end** — easy to answer, about them.\n\n### Data Integrity Rule\n\n**Only reference things you can verify from Vitally usage data or the company's public website.** Never cite enrichment data (tech stack fields from Clearbit, Harmonic, or Salesforce `Company_tech__c`) as fact in outreach. These fields are often stale, wrong, or refer to a different part of the org. If you state something about their stack in an email and it's wrong, you immediately lose credibility.\n\n✓ OK to reference: Products they're using in PostHog, number of projects, which Vitally segments their users are in, what the company does (from their public website)\n✗ NOT OK to reference: Tech stack enrichment fields, competitor tools from Salesforce data, anything you can't verify from actual usage or public information\n\n### Email Structure\n\n1. Brief greeting (\"[Company] team\" or first name)\n2. **Specific observation about their usage** — the first real sentence. Something from Vitally data.\n3. One useful resource or suggestion connected to that observation\n4. Slack invite mention (natural, not the hook)\n5. One open question about them\n6. Sign-off (name only)\n\n## Step 7: Validate All URLs\n\n**Mandatory.** Before presenting the draft, fetch every URL in the email using `web_fetch` to verify it resolves and points to the intended content. If broken, search for the correct page. If no valid page exists, remove the link.\n\n## Output Format\n\nWhen responding to the TAE, always provide:\n\n1. **Lead parsing** — Corrected company name and email (note if the Salesforce subject bug applied)\n2. **Company research summary** — What they do, size, funding, industry, ICP fit assessment\n3. **Vitally account summary** — Users (count, roles, activity, last seen), products in use, health score, signup velocity, conversations\u002Fnotes status\n4. **Use case assessment** — Which of the six use cases this maps to\n5. **Recommended play** — Outreach \u002F Skip \u002F Nurture, with reasoning\n6. **Draft email** — If outreach is recommended\n\n## Critical Reminders\n\n1. **Parse the Salesforce subject carefully.** The concatenation bug is common — always look for the email address and split there.\n2. **User email is the most reliable Vitally lookup.** Account name search is unreliable. Always try the user email first.\n3. **User count is the #1 qualifying signal.** 1 user = low priority. 2+ users = real evaluation. This overrides everything else.\n4. **Always check conversations and notes.** Don't pile on if someone is already engaged.\n5. **Lead with an observation about them, not about you.** Re-read the handbook: https:\u002F\u002Fposthog.com\u002Fhandbook\u002Fgrowth\u002Fsales\u002Fgetting-people-to-talk-to-you\n6. **Never cite enrichment data as fact in outreach.** Only reference what you can verify from Vitally usage or public sources.\n7. **The goal is not sales — it's supporting their evaluation.** These people signed up for PostHog on their own. They chose to self-serve. They did not ask to talk to a salesperson. Your job is to help their evaluation go well — answer technical questions, unblock implementation issues, point them to the right resources, and make sure they can make a good decision about whether PostHog fits their needs. If PostHog is the right fit, the commercial conversation will happen naturally once they're dependent on the product. If it's not the right fit, helping them figure that out quickly is also a win. Never mention pricing, volume discounts, enterprise features, annual contracts, SSO, or anything commercial in the first outreach. No \"your dedicated contact,\" no \"I'm here to help you get started,\" no framing that sounds like a sales motion. It's completely OK to acknowledge that they didn't ask to talk to sales — being upfront about that disarms resistance.\n8. **Always validate URLs before presenting the draft.**\n9. **Always research each user's persona and role.** Don't draft an email without knowing who these people are and what they do. The persona research often changes the entire play.\n",{"data":38,"body":39},{"name":4,"description":6},{"type":40,"children":41},"root",[42,51,57,64,110,116,207,213,218,274,299,305,310,343,351,363,373,379,389,396,416,429,435,448,481,486,529,539,545,555,563,624,632,675,685,695,701,725,734,741,774,784,790,815,843,849,854,860,865,971,976,1019,1025,1031,1043,1056,1061,1079,1085,1090,1123,1129,1139,1144,1177,1182,1188,1193,1206,1212,1225,1239,1315,1321,1339,1344,1350,1396,1402,1419,1425,1430,1493,1499],{"type":43,"tag":44,"props":45,"children":47},"element","h1",{"id":46},"posthog-big-fish-lead-qualification-outreach",[48],{"type":49,"value":50},"text","PostHog Big Fish Lead Qualification & Outreach",{"type":43,"tag":52,"props":53,"children":54},"p",{},[55],{"type":49,"value":56},"Research, qualify, and recommend the right play for big fish product-led leads. These are large companies (500+ employees) that have signed up for PostHog and are using it on the free tier without a payment method.",{"type":43,"tag":58,"props":59,"children":61},"h2",{"id":60},"what-makes-big-fish-leads-different",[62],{"type":49,"value":63},"What Makes Big Fish Leads Different",{"type":43,"tag":65,"props":66,"children":67},"ul",{},[68,80,90,100],{"type":43,"tag":69,"props":70,"children":71},"li",{},[72,78],{"type":43,"tag":73,"props":74,"children":75},"strong",{},[76],{"type":49,"value":77},"They didn't ask for help",{"type":49,"value":79}," — you're reaching out proactively",{"type":43,"tag":69,"props":81,"children":82},{},[83,88],{"type":43,"tag":73,"props":84,"children":85},{},[86],{"type":49,"value":87},"They're already using PostHog",{"type":49,"value":89}," — they have an account, possibly active usage",{"type":43,"tag":69,"props":91,"children":92},{},[93,98],{"type":43,"tag":73,"props":94,"children":95},{},[96],{"type":49,"value":97},"The goal is supporting their evaluation — and identifying real opportunities along the way.",{"type":49,"value":99}," The TAE's job is to help these accounts get value from PostHog quickly. If PostHog is the right fit, the commercial conversation ($20K+ annual) will happen naturally once they're dependent on the product. Other teams handle free-to-paid conversion and churn prevention.",{"type":43,"tag":69,"props":101,"children":102},{},[103,108],{"type":43,"tag":73,"props":104,"children":105},{},[106],{"type":49,"value":107},"You need a specific reason to reach out",{"type":49,"value":109}," — generic emails get ignored. Every outreach needs a hook grounded in what you actually know about their usage.",{"type":43,"tag":58,"props":111,"children":113},{"id":112},"core-workflow",[114],{"type":49,"value":115},"Core Workflow",{"type":43,"tag":117,"props":118,"children":119},"ol",{},[120,147,157,167,177,187,197],{"type":43,"tag":69,"props":121,"children":122},{},[123,128,130,137,139,145],{"type":43,"tag":73,"props":124,"children":125},{},[126],{"type":49,"value":127},"Parse the lead",{"type":49,"value":129}," — Read Salesforce fields. Watch for the subject concatenation bug: ",{"type":43,"tag":131,"props":132,"children":134},"code",{"className":133},[],[135],{"type":49,"value":136},"[Product-led] Companyemail@domain.com",{"type":49,"value":138}," often smashes the company name and email together. Split at the ",{"type":43,"tag":131,"props":140,"children":142},{"className":141},[],[143],{"type":49,"value":144},"@",{"type":49,"value":146}," pattern to get the real email address.",{"type":43,"tag":69,"props":148,"children":149},{},[150,155],{"type":43,"tag":73,"props":151,"children":152},{},[153],{"type":49,"value":154},"Research the company",{"type":49,"value":156}," — Web search for firmographics, product, industry",{"type":43,"tag":69,"props":158,"children":159},{},[160,165],{"type":43,"tag":73,"props":161,"children":162},{},[163],{"type":49,"value":164},"Check Vitally",{"type":49,"value":166}," — Account activity, users, products, conversations, notes",{"type":43,"tag":69,"props":168,"children":169},{},[170,175],{"type":43,"tag":73,"props":171,"children":172},{},[173],{"type":49,"value":174},"Identify the use case",{"type":49,"value":176}," — Map to PostHog's six use cases based on company type and product usage",{"type":43,"tag":69,"props":178,"children":179},{},[180,185],{"type":43,"tag":73,"props":181,"children":182},{},[183],{"type":49,"value":184},"Qualify and recommend a play",{"type":49,"value":186}," — Outreach \u002F Skip \u002F Nurture",{"type":43,"tag":69,"props":188,"children":189},{},[190,195],{"type":43,"tag":73,"props":191,"children":192},{},[193],{"type":49,"value":194},"Draft outreach",{"type":49,"value":196}," — If outreach is recommended, write a support-first email with a specific hook",{"type":43,"tag":69,"props":198,"children":199},{},[200,205],{"type":43,"tag":73,"props":201,"children":202},{},[203],{"type":49,"value":204},"Validate all URLs",{"type":49,"value":206}," — Fetch every link in the draft to confirm it resolves correctly",{"type":43,"tag":58,"props":208,"children":210},{"id":209},"step-1-parse-the-lead",[211],{"type":49,"value":212},"Step 1: Parse the Lead",{"type":43,"tag":52,"props":214,"children":215},{},[216],{"type":49,"value":217},"Salesforce has a known bug where the subject line concatenates the company name and the person's email without a space. For example:",{"type":43,"tag":65,"props":219,"children":220},{},[221,249],{"type":43,"tag":69,"props":222,"children":223},{},[224,230,232,237,239],{"type":43,"tag":131,"props":225,"children":227},{"className":226},[],[228],{"type":49,"value":229},"[Product-led] AcmeCorpjane.smith@acmecorp.com",{"type":49,"value":231}," → Company: ",{"type":43,"tag":73,"props":233,"children":234},{},[235],{"type":49,"value":236},"AcmeCorp",{"type":49,"value":238},", Email: ",{"type":43,"tag":73,"props":240,"children":241},{},[242],{"type":43,"tag":243,"props":244,"children":246},"a",{"href":245},"mailto:jane.smith@acmecorp.com",[247],{"type":49,"value":248},"jane.smith@acmecorp.com",{"type":43,"tag":69,"props":250,"children":251},{},[252,258,259,264,265],{"type":43,"tag":131,"props":253,"children":255},{"className":254},[],[256],{"type":49,"value":257},"[Product-led] Go Teamperson@goteam.ca",{"type":49,"value":231},{"type":43,"tag":73,"props":260,"children":261},{},[262],{"type":49,"value":263},"Go Team",{"type":49,"value":238},{"type":43,"tag":73,"props":266,"children":267},{},[268],{"type":43,"tag":243,"props":269,"children":271},{"href":270},"mailto:person@goteam.ca",[272],{"type":49,"value":273},"person@goteam.ca",{"type":43,"tag":52,"props":275,"children":276},{},[277,282,284,289,291,297],{"type":43,"tag":73,"props":278,"children":279},{},[280],{"type":49,"value":281},"Always parse the subject by finding the email address pattern",{"type":49,"value":283}," (look for where ",{"type":43,"tag":131,"props":285,"children":287},{"className":286},[],[288],{"type":49,"value":144},{"type":49,"value":290}," appears and work backwards to the start of the local part). The company name is everything between ",{"type":43,"tag":131,"props":292,"children":294},{"className":293},[],[295],{"type":49,"value":296},"[Product-led]",{"type":49,"value":298}," and the start of the email.",{"type":43,"tag":58,"props":300,"children":302},{"id":301},"step-2-research-the-company",[303],{"type":49,"value":304},"Step 2: Research the Company",{"type":43,"tag":52,"props":306,"children":307},{},[308],{"type":49,"value":309},"Use web search to gather:",{"type":43,"tag":65,"props":311,"children":312},{},[313,318,323,328,333],{"type":43,"tag":69,"props":314,"children":315},{},[316],{"type":49,"value":317},"What the company does (one-sentence summary)",{"type":43,"tag":69,"props":319,"children":320},{},[321],{"type":49,"value":322},"Industry \u002F vertical — is this ICP or not?",{"type":43,"tag":69,"props":324,"children":325},{},[326],{"type":49,"value":327},"Company size (employees, engineering headcount if available)",{"type":43,"tag":69,"props":329,"children":330},{},[331],{"type":49,"value":332},"Funding stage and recency",{"type":43,"tag":69,"props":334,"children":335},{},[336,341],{"type":43,"tag":73,"props":337,"children":338},{},[339],{"type":49,"value":340},"Does the company build software products with end-user UIs?",{"type":49,"value":342}," This is table stakes for PostHog relevance. A company can have 5,000 employees but if they don't build software, PostHog isn't relevant.",{"type":43,"tag":52,"props":344,"children":345},{},[346],{"type":43,"tag":73,"props":347,"children":348},{},[349],{"type":49,"value":350},"Search queries to run:",{"type":43,"tag":352,"props":353,"children":357},"pre",{"className":354,"code":356,"language":49},[355],"language-text","[company name] what does it do\n[company name] crunchbase funding\n[company name] engineering team\n",[358],{"type":43,"tag":131,"props":359,"children":361},{"__ignoreMap":360},"",[362],{"type":49,"value":356},{"type":43,"tag":52,"props":364,"children":365},{},[366,371],{"type":43,"tag":73,"props":367,"children":368},{},[369],{"type":49,"value":370},"Cross-check Salesforce enrichment data against your research.",{"type":49,"value":372}," The \"500+ employees\" matching criteria comes from Clearbit\u002FHarmonic data in Salesforce, which frequently maps to the wrong entity — especially for companies with common names. A 10-person startup can get enriched with data from a completely different company with a similar name, showing 45,000 employees and $10B+ revenue. If your web research contradicts the Salesforce employee count, revenue, or founding year, trust your research and flag the discrepancy.",{"type":43,"tag":58,"props":374,"children":376},{"id":375},"step-3-check-vitally",[377],{"type":49,"value":378},"Step 3: Check Vitally",{"type":43,"tag":52,"props":380,"children":381},{},[382,387],{"type":43,"tag":73,"props":383,"children":384},{},[385],{"type":49,"value":386},"This is the most important step.",{"type":49,"value":388}," The Vitally data determines whether this is a real evaluation or one person poking around.",{"type":43,"tag":390,"props":391,"children":393},"h3",{"id":392},"_3a-find-the-account",[394],{"type":49,"value":395},"3a: Find the Account",{"type":43,"tag":52,"props":397,"children":398},{},[399,401,406,408,414],{"type":49,"value":400},"Search for the account in Vitally. The most reliable lookup method is ",{"type":43,"tag":73,"props":402,"children":403},{},[404],{"type":49,"value":405},"user email",{"type":49,"value":407}," via ",{"type":43,"tag":131,"props":409,"children":411},{"className":410},[],[412],{"type":49,"value":413},"get_user_details",{"type":49,"value":415},". Account name search is unreliable. If the email lookup returns the user with their account, you have everything you need.",{"type":43,"tag":52,"props":417,"children":418},{},[419,421,427],{"type":49,"value":420},"If the lead email returns nothing, try the posthog_org_id from Salesforce as a last resort — but note the ",{"type":43,"tag":131,"props":422,"children":424},{"className":423},[],[425],{"type":49,"value":426},"search_accounts",{"type":49,"value":428}," externalId filter is unreliable and may return unrelated results.",{"type":43,"tag":390,"props":430,"children":432},{"id":431},"_3b-check-users-in-the-account",[433],{"type":49,"value":434},"3b: Check Users in the Account",{"type":43,"tag":52,"props":436,"children":437},{},[438,440,446],{"type":49,"value":439},"Use ",{"type":43,"tag":131,"props":441,"children":443},{"className":442},[],[444],{"type":49,"value":445},"get_account_users",{"type":49,"value":447}," on the account ID. This is the single most important qualifying signal:",{"type":43,"tag":65,"props":449,"children":450},{},[451,461,471],{"type":43,"tag":69,"props":452,"children":453},{},[454,459],{"type":43,"tag":73,"props":455,"children":456},{},[457],{"type":49,"value":458},"1 user",{"type":49,"value":460}," — One person exploring. Lower priority. Light touch outreach at best.",{"type":43,"tag":69,"props":462,"children":463},{},[464,469],{"type":43,"tag":73,"props":465,"children":466},{},[467],{"type":49,"value":468},"2+ users",{"type":49,"value":470}," — Real evaluation underway. Multiple people means someone shared PostHog internally — organizational interest, not just curiosity. Treat with urgency.",{"type":43,"tag":69,"props":472,"children":473},{},[474,479],{"type":43,"tag":73,"props":475,"children":476},{},[477],{"type":49,"value":478},"3+ users with diverse roles\u002Factivity",{"type":49,"value":480}," — Very strong. Active cross-functional evaluation. Prioritize.",{"type":43,"tag":52,"props":482,"children":483},{},[484],{"type":49,"value":485},"For each user, note:",{"type":43,"tag":65,"props":487,"children":488},{},[489,499,509,519],{"type":43,"tag":69,"props":490,"children":491},{},[492,497],{"type":43,"tag":73,"props":493,"children":494},{},[495],{"type":49,"value":496},"Email and name",{"type":49,"value":498}," — who are these people?",{"type":43,"tag":69,"props":500,"children":501},{},[502,507],{"type":43,"tag":73,"props":503,"children":504},{},[505],{"type":49,"value":506},"Vitally segments",{"type":49,"value":508}," — \"Analytics Creator\", \"Replay User\", \"Feature Flag Creator\", \"Experiment Creator\" etc. tell you exactly what they're doing",{"type":43,"tag":69,"props":510,"children":511},{},[512,517],{"type":43,"tag":73,"props":513,"children":514},{},[515],{"type":49,"value":516},"Last seen date",{"type":49,"value":518}," — how recent is the activity?",{"type":43,"tag":69,"props":520,"children":521},{},[522,527],{"type":43,"tag":73,"props":523,"children":524},{},[525],{"type":49,"value":526},"Who's the org Owner?",{"type":49,"value":528}," — this is usually the champion who initiated the evaluation",{"type":43,"tag":52,"props":530,"children":531},{},[532,537],{"type":43,"tag":73,"props":533,"children":534},{},[535],{"type":49,"value":536},"Signup velocity matters.",{"type":49,"value":538}," If all users joined within a 1-2 week window, it's a coordinated evaluation. If they trickled in over months with gaps, it may have stalled.",{"type":43,"tag":390,"props":540,"children":542},{"id":541},"_3b-ii-research-each-users-persona-and-role",[543],{"type":49,"value":544},"3b-ii: Research Each User's Persona and Role",{"type":43,"tag":52,"props":546,"children":547},{},[548,553],{"type":43,"tag":73,"props":549,"children":550},{},[551],{"type":49,"value":552},"Mandatory.",{"type":49,"value":554}," For every user in the account, research their actual job title and role. This changes the outreach strategy significantly — an Engineering Manager building a software product is a completely different conversation than a Marketing Ops person tracking a website.",{"type":43,"tag":52,"props":556,"children":557},{},[558],{"type":43,"tag":73,"props":559,"children":560},{},[561],{"type":49,"value":562},"How to research:",{"type":43,"tag":117,"props":564,"children":565},{},[566,595,608,619],{"type":43,"tag":69,"props":567,"children":568},{},[569,571,577,579,585,587,593],{"type":49,"value":570},"Check Vitally user traits first — ",{"type":43,"tag":131,"props":572,"children":574},{"className":573},[],[575],{"type":49,"value":576},"roleAtOrganization",{"type":49,"value":578},", ",{"type":43,"tag":131,"props":580,"children":582},{"className":581},[],[583],{"type":49,"value":584},"sfdc.Role__c",{"type":49,"value":586},", and ",{"type":43,"tag":131,"props":588,"children":590},{"className":589},[],[591],{"type":49,"value":592},"vitally.custom.calculatedTitle",{"type":49,"value":594}," sometimes have useful data",{"type":43,"tag":69,"props":596,"children":597},{},[598,600,606],{"type":49,"value":599},"Check their LinkedIn profile URL if available in Vitally traits (",{"type":43,"tag":131,"props":601,"children":603},{"className":602},[],[604],{"type":49,"value":605},"sfdc.Linkedin_Profile__c",{"type":49,"value":607},")",{"type":43,"tag":69,"props":609,"children":610},{},[611,613],{"type":49,"value":612},"Web search: ",{"type":43,"tag":131,"props":614,"children":616},{"className":615},[],[617],{"type":49,"value":618},"\"[first name] [last name]\" \"[company name]\" LinkedIn",{"type":43,"tag":69,"props":620,"children":621},{},[622],{"type":49,"value":623},"If the company has divisions or sub-brands, note which division the person works in — this can completely change the ICP assessment (e.g., an engineer on a SaaS product team within a services company is very different from a project manager in the services delivery business)",{"type":43,"tag":52,"props":625,"children":626},{},[627],{"type":43,"tag":73,"props":628,"children":629},{},[630],{"type":49,"value":631},"What to look for:",{"type":43,"tag":65,"props":633,"children":634},{},[635,645,655,665],{"type":43,"tag":69,"props":636,"children":637},{},[638,643],{"type":43,"tag":73,"props":639,"children":640},{},[641],{"type":49,"value":642},"Exact job title",{"type":49,"value":644}," — \"Senior Software Engineer\" vs. \"AV Project Manager\" tells you everything about ICP fit",{"type":43,"tag":69,"props":646,"children":647},{},[648,653],{"type":43,"tag":73,"props":649,"children":650},{},[651],{"type":49,"value":652},"Department \u002F team",{"type":49,"value":654}," — Engineering, Product, Data, Marketing, IT, Operations?",{"type":43,"tag":69,"props":656,"children":657},{},[658,663],{"type":43,"tag":73,"props":659,"children":660},{},[661],{"type":49,"value":662},"Which product or division they work on",{"type":49,"value":664}," — especially important at large companies with multiple business units. The division they're in determines whether PostHog is relevant.",{"type":43,"tag":69,"props":666,"children":667},{},[668,673],{"type":43,"tag":73,"props":669,"children":670},{},[671],{"type":49,"value":672},"Seniority level",{"type":49,"value":674}," — IC engineer, engineering manager, director, VP? This affects who you address the email to and how you frame the ask.",{"type":43,"tag":52,"props":676,"children":677},{},[678,683],{"type":43,"tag":73,"props":679,"children":680},{},[681],{"type":49,"value":682},"Report what you find for each user",{"type":49,"value":684}," in the output. If you can't find someone's title, note that as an unknown.",{"type":43,"tag":52,"props":686,"children":687},{},[688,693],{"type":43,"tag":73,"props":689,"children":690},{},[691],{"type":49,"value":692},"Why this matters:",{"type":49,"value":694}," Knowing that both users are engineers on a software platform team (strong ICP) vs. marketing analysts tracking a corporate website (weak ICP) is the difference between a Slack channel + outreach email and a skip. The persona research often overrides the company-level ICP assessment — a non-tech company can still have a strong PostHog use case if the right team is evaluating it.",{"type":43,"tag":390,"props":696,"children":698},{"id":697},"_3c-check-for-other-accounts-on-the-same-email-domain",[699],{"type":49,"value":700},"3c: Check for Other Accounts on the Same Email Domain",{"type":43,"tag":52,"props":702,"children":703},{},[704,708,710,715,717,723],{"type":43,"tag":73,"props":705,"children":706},{},[707],{"type":49,"value":552},{"type":49,"value":709}," Large companies often have multiple PostHog accounts on the same email domain. Search Vitally for other accounts that share the same domain using ",{"type":43,"tag":131,"props":711,"children":713},{"className":712},[],[714],{"type":49,"value":426},{"type":49,"value":716}," or ",{"type":43,"tag":131,"props":718,"children":720},{"className":719},[],[721],{"type":49,"value":722},"find_account_by_name",{"type":49,"value":724}," with the company name, and check whether any other accounts have admin emails on the same domain.",{"type":43,"tag":52,"props":726,"children":727},{},[728,732],{"type":43,"tag":73,"props":729,"children":730},{},[731],{"type":49,"value":692},{"type":49,"value":733}," Sometimes a user signs up and creates a new PostHog org when they actually meant to join an existing one that their colleagues already set up. This is especially common at large companies where one team is already using PostHog and a new person from a different team signs up independently.",{"type":43,"tag":52,"props":735,"children":736},{},[737],{"type":43,"tag":73,"props":738,"children":739},{},[740],{"type":49,"value":631},{"type":43,"tag":65,"props":742,"children":743},{},[744,754,764],{"type":43,"tag":69,"props":745,"children":746},{},[747,752],{"type":43,"tag":73,"props":748,"children":749},{},[750],{"type":49,"value":751},"Another account on the same domain that's more established",{"type":49,"value":753}," (more users, more usage, already paying, has a TAE assigned) — If this exists, the new account may be a duplicate. The lead contact may have accidentally created a new org instead of joining the existing one. Flag this in your output — the right play might be connecting this person to the existing account rather than treating them as a new lead.",{"type":43,"tag":69,"props":755,"children":756},{},[757,762],{"type":43,"tag":73,"props":758,"children":759},{},[760],{"type":49,"value":761},"Multiple accounts with active, independent usage",{"type":49,"value":763}," — Different teams evaluating PostHog separately. This is a strong organizational signal. Note which account is most active, which the lead contact belongs to, and whether there's an opportunity to connect the teams.",{"type":43,"tag":69,"props":765,"children":766},{},[767,772],{"type":43,"tag":73,"props":768,"children":769},{},[770],{"type":49,"value":771},"An existing account that's already being worked by another TAE",{"type":49,"value":773}," — If the domain already has an account in someone else's book, coordinate with that TAE before reaching out. Don't create a competing relationship.",{"type":43,"tag":52,"props":775,"children":776},{},[777,782],{"type":43,"tag":73,"props":778,"children":779},{},[780],{"type":49,"value":781},"Report what you find:",{"type":49,"value":783}," List all accounts on the domain, their user counts, activity levels, and whether they have a TAE assigned. If the lead's account looks like an accidental duplicate, recommend connecting the user to the existing org instead of outreaching to the new one.",{"type":43,"tag":390,"props":785,"children":787},{"id":786},"_3d-check-conversations-and-notes-last-45-days",[788],{"type":49,"value":789},"3d: Check Conversations and Notes (Last 45 Days)",{"type":43,"tag":52,"props":791,"children":792},{},[793,797,799,805,807,813],{"type":43,"tag":73,"props":794,"children":795},{},[796],{"type":49,"value":552},{"type":49,"value":798}," Use ",{"type":43,"tag":131,"props":800,"children":802},{"className":801},[],[803],{"type":49,"value":804},"get_account_conversations",{"type":49,"value":806}," and ",{"type":43,"tag":131,"props":808,"children":810},{"className":809},[],[811],{"type":49,"value":812},"get_account_notes",{"type":49,"value":814}," before deciding on a play.",{"type":43,"tag":65,"props":816,"children":817},{},[818,823,828,833],{"type":43,"tag":69,"props":819,"children":820},{},[821],{"type":49,"value":822},"If someone from PostHog has already reached out → coordinate, don't pile on",{"type":43,"tag":69,"props":824,"children":825},{},[826],{"type":49,"value":827},"If the onboarding team has notes → read them for intel",{"type":43,"tag":69,"props":829,"children":830},{},[831],{"type":49,"value":832},"If there are support conversations → learn what they're working on",{"type":43,"tag":69,"props":834,"children":835},{},[836,841],{"type":43,"tag":73,"props":837,"children":838},{},[839],{"type":49,"value":840},"If zero conversations and zero notes",{"type":49,"value":842}," → flag this. The account is completely untouched. You're the first human contact.",{"type":43,"tag":390,"props":844,"children":846},{"id":845},"_3e-check-gmail",[847],{"type":49,"value":848},"3e: Check Gmail",{"type":43,"tag":52,"props":850,"children":851},{},[852],{"type":49,"value":853},"Search for the company domain in Gmail to see if there's any prior email contact outside of Vitally.",{"type":43,"tag":58,"props":855,"children":857},{"id":856},"step-4-identify-the-use-case",[858],{"type":49,"value":859},"Step 4: Identify the Use Case",{"type":43,"tag":52,"props":861,"children":862},{},[863],{"type":49,"value":864},"Map to PostHog's six use cases based on what they're using and what the company does:",{"type":43,"tag":866,"props":867,"children":868},"table",{},[869,888],{"type":43,"tag":870,"props":871,"children":872},"thead",{},[873],{"type":43,"tag":874,"props":875,"children":876},"tr",{},[877,883],{"type":43,"tag":878,"props":879,"children":880},"th",{},[881],{"type":49,"value":882},"Vitally Segments \u002F Products Active",{"type":43,"tag":878,"props":884,"children":885},{},[886],{"type":49,"value":887},"Likely Use Case",{"type":43,"tag":889,"props":890,"children":891},"tbody",{},[892,906,919,932,945,958],{"type":43,"tag":874,"props":893,"children":894},{},[895,901],{"type":43,"tag":896,"props":897,"children":898},"td",{},[899],{"type":49,"value":900},"Analytics Creator, Analytics User, Surveys User",{"type":43,"tag":896,"props":902,"children":903},{},[904],{"type":49,"value":905},"Product Intelligence",{"type":43,"tag":874,"props":907,"children":908},{},[909,914],{"type":43,"tag":896,"props":910,"children":911},{},[912],{"type":49,"value":913},"Feature Flag Creator, Experiment Creator",{"type":43,"tag":896,"props":915,"children":916},{},[917],{"type":49,"value":918},"Release Engineering",{"type":43,"tag":874,"props":920,"children":921},{},[922,927],{"type":43,"tag":896,"props":923,"children":924},{},[925],{"type":49,"value":926},"Error Tracking User",{"type":43,"tag":896,"props":928,"children":929},{},[930],{"type":49,"value":931},"Observability",{"type":43,"tag":874,"props":933,"children":934},{},[935,940],{"type":43,"tag":896,"props":936,"children":937},{},[938],{"type":49,"value":939},"Web Analytics usage",{"type":43,"tag":896,"props":941,"children":942},{},[943],{"type":49,"value":944},"Growth & Marketing",{"type":43,"tag":874,"props":946,"children":947},{},[948,953],{"type":43,"tag":896,"props":949,"children":950},{},[951],{"type":49,"value":952},"LLM Observability usage",{"type":43,"tag":896,"props":954,"children":955},{},[956],{"type":49,"value":957},"AI\u002FLLM Observability",{"type":43,"tag":874,"props":959,"children":960},{},[961,966],{"type":43,"tag":896,"props":962,"children":963},{},[964],{"type":49,"value":965},"Data Warehouse, Batch Exports",{"type":43,"tag":896,"props":967,"children":968},{},[969],{"type":49,"value":970},"Data Infrastructure",{"type":43,"tag":52,"props":972,"children":973},{},[974],{"type":49,"value":975},"If usage data is thin, infer from company type:",{"type":43,"tag":65,"props":977,"children":978},{},[979,989,999,1009],{"type":43,"tag":69,"props":980,"children":981},{},[982,987],{"type":43,"tag":73,"props":983,"children":984},{},[985],{"type":49,"value":986},"AI-native",{"type":49,"value":988}," → AI\u002FLLM Observability + Product Intelligence",{"type":43,"tag":69,"props":990,"children":991},{},[992,997],{"type":43,"tag":73,"props":993,"children":994},{},[995],{"type":49,"value":996},"PLG SaaS",{"type":49,"value":998}," → Product Intelligence + Growth & Marketing",{"type":43,"tag":69,"props":1000,"children":1001},{},[1002,1007],{"type":43,"tag":73,"props":1003,"children":1004},{},[1005],{"type":49,"value":1006},"Developer tools",{"type":49,"value":1008}," → Release Engineering + Observability",{"type":43,"tag":69,"props":1010,"children":1011},{},[1012,1017],{"type":43,"tag":73,"props":1013,"children":1014},{},[1015],{"type":49,"value":1016},"E-commerce \u002F marketplace",{"type":49,"value":1018}," → Growth & Marketing + Product Intelligence",{"type":43,"tag":58,"props":1020,"children":1022},{"id":1021},"step-5-qualify-and-recommend-a-play",[1023],{"type":49,"value":1024},"Step 5: Qualify and Recommend a Play",{"type":43,"tag":390,"props":1026,"children":1028},{"id":1027},"play-outreach-slack-channel-support-first-email",[1029],{"type":49,"value":1030},"Play: Outreach (Slack Channel + Support-First Email)",{"type":43,"tag":52,"props":1032,"children":1033},{},[1034,1036,1041],{"type":49,"value":1035},"When the account has ",{"type":43,"tag":73,"props":1037,"children":1038},{},[1039],{"type":49,"value":1040},"2+ users AND active usage",{"type":49,"value":1042},", they get the full treatment:",{"type":43,"tag":65,"props":1044,"children":1045},{},[1046,1051],{"type":43,"tag":69,"props":1047,"children":1048},{},[1049],{"type":49,"value":1050},"Create a shared Slack channel",{"type":43,"tag":69,"props":1052,"children":1053},{},[1054],{"type":49,"value":1055},"Send a support-first email (see Step 6)",{"type":43,"tag":52,"props":1057,"children":1058},{},[1059],{"type":49,"value":1060},"Also recommend outreach when:",{"type":43,"tag":65,"props":1062,"children":1063},{},[1064,1069,1074],{"type":43,"tag":69,"props":1065,"children":1066},{},[1067],{"type":49,"value":1068},"The company is a reasonable ICP fit (builds software, has engineers)",{"type":43,"tag":69,"props":1070,"children":1071},{},[1072],{"type":49,"value":1073},"$20K+ annual spend potential based on company size",{"type":43,"tag":69,"props":1075,"children":1076},{},[1077],{"type":49,"value":1078},"No one from PostHog has already contacted them",{"type":43,"tag":390,"props":1080,"children":1082},{"id":1081},"play-skip",[1083],{"type":49,"value":1084},"Play: Skip",{"type":43,"tag":52,"props":1086,"children":1087},{},[1088],{"type":49,"value":1089},"Recommend skipping when:",{"type":43,"tag":65,"props":1091,"children":1092},{},[1093,1103,1113],{"type":43,"tag":69,"props":1094,"children":1095},{},[1096,1101],{"type":43,"tag":73,"props":1097,"children":1098},{},[1099],{"type":49,"value":1100},"Not ICP.",{"type":49,"value":1102}," Company doesn't build software products (traditional retail, manufacturing, dealerships, etc.)",{"type":43,"tag":69,"props":1104,"children":1105},{},[1106,1111],{"type":43,"tag":73,"props":1107,"children":1108},{},[1109],{"type":49,"value":1110},"Account already being worked",{"type":49,"value":1112}," by another TAE or team.",{"type":43,"tag":69,"props":1114,"children":1115},{},[1116,1121],{"type":43,"tag":73,"props":1117,"children":1118},{},[1119],{"type":49,"value":1120},"Company size is misleading.",{"type":49,"value":1122}," \"500+ employees\" but they're a non-tech company where the engineering team is 3 people maintaining a website.",{"type":43,"tag":390,"props":1124,"children":1126},{"id":1125},"play-single-user-check-back-dont-skip-immediately",[1127],{"type":49,"value":1128},"Play: Single User — Check Back (Don't Skip Immediately)",{"type":43,"tag":52,"props":1130,"children":1131},{},[1132,1137],{"type":43,"tag":73,"props":1133,"children":1134},{},[1135],{"type":49,"value":1136},"Do NOT disqualify a lead just because there's only 1 user right now.",{"type":49,"value":1138}," Big fish accounts often start with one person setting things up before inviting the team. It can take days or even a couple of weeks for additional users to show up.",{"type":43,"tag":52,"props":1140,"children":1141},{},[1142],{"type":49,"value":1143},"When a big fish lead has only 1 user:",{"type":43,"tag":117,"props":1145,"children":1146},{},[1147,1157,1167],{"type":43,"tag":69,"props":1148,"children":1149},{},[1150,1155],{"type":43,"tag":73,"props":1151,"children":1152},{},[1153],{"type":49,"value":1154},"Check back in 1 week.",{"type":49,"value":1156}," Look at the account again — have more users been added? Has usage increased?",{"type":43,"tag":69,"props":1158,"children":1159},{},[1160,1165],{"type":43,"tag":73,"props":1161,"children":1162},{},[1163],{"type":49,"value":1164},"If still 1 user after 1 week, check back 1 more week.",{"type":49,"value":1166}," Same check.",{"type":43,"tag":69,"props":1168,"children":1169},{},[1170,1175],{"type":43,"tag":73,"props":1171,"children":1172},{},[1173],{"type":49,"value":1174},"If still 1 user after 2 check-backs (3 weeks total), then decide:",{"type":49,"value":1176}," send a light-touch single-user email, or deprioritize based on the overall picture (ICP fit, company size, activity level).",{"type":43,"tag":52,"props":1178,"children":1179},{},[1180],{"type":49,"value":1181},"Tell the TAE when each check-back is due so they can set a reminder.",{"type":43,"tag":390,"props":1183,"children":1185},{"id":1184},"play-nurture-watch-dont-email-yet",[1186],{"type":49,"value":1187},"Play: Nurture (Watch, Don't Email Yet)",{"type":43,"tag":52,"props":1189,"children":1190},{},[1191],{"type":49,"value":1192},"Recommend nurture when:",{"type":43,"tag":65,"props":1194,"children":1195},{},[1196,1201],{"type":43,"tag":69,"props":1197,"children":1198},{},[1199],{"type":49,"value":1200},"Good fit company but usage is very early — they signed up days ago and have barely done anything. Give them a week to get set up before reaching out.",{"type":43,"tag":69,"props":1202,"children":1203},{},[1204],{"type":49,"value":1205},"The evaluation appears stalled (users signed up months ago, no recent activity). A different approach may be needed (LinkedIn, in-app survey, etc.).",{"type":43,"tag":58,"props":1207,"children":1209},{"id":1208},"step-6-draft-the-outreach-email",[1210],{"type":49,"value":1211},"Step 6: Draft the Outreach Email",{"type":43,"tag":52,"props":1213,"children":1214},{},[1215,1217,1223],{"type":49,"value":1216},"Read ",{"type":43,"tag":131,"props":1218,"children":1220},{"className":1219},[],[1221],{"type":49,"value":1222},"references\u002Foutreach-hooks.md",{"type":49,"value":1224}," before drafting.",{"type":43,"tag":390,"props":1226,"children":1228},{"id":1227},"key-principles-from-httpsposthogcomhandbookgrowthsalesgetting-people-to-talk-to-you",[1229,1231,1238],{"type":49,"value":1230},"Key Principles (from ",{"type":43,"tag":243,"props":1232,"children":1236},{"href":1233,"rel":1234},"https:\u002F\u002Fposthog.com\u002Fhandbook\u002Fgrowth\u002Fsales\u002Fgetting-people-to-talk-to-you",[1235],"nofollow",[1237],{"type":49,"value":1233},{"type":49,"value":607},{"type":43,"tag":117,"props":1240,"children":1241},{},[1242,1260,1270,1280,1290,1295,1305],{"type":43,"tag":69,"props":1243,"children":1244},{},[1245,1250,1252,1258],{"type":43,"tag":73,"props":1246,"children":1247},{},[1248],{"type":49,"value":1249},"Your initial outreach isn't about you, it's about them.",{"type":49,"value":1251}," Do NOT lead with who you are, that you're attached to their account, or that you're \"here to help.\" Lead with an observation about ",{"type":43,"tag":1253,"props":1254,"children":1255},"em",{},[1256],{"type":49,"value":1257},"their",{"type":49,"value":1259}," usage. Your name goes in the signature — that's enough.",{"type":43,"tag":69,"props":1261,"children":1262},{},[1263,1268],{"type":43,"tag":73,"props":1264,"children":1265},{},[1266],{"type":49,"value":1267},"Lead with value in the first sentence.",{"type":49,"value":1269}," Make a specific observation about their setup drawn from Vitally data. If it takes a paragraph to get to the point, you won't get a response.",{"type":43,"tag":69,"props":1271,"children":1272},{},[1273,1278],{"type":43,"tag":73,"props":1274,"children":1275},{},[1276],{"type":49,"value":1277},"Avoid fluff.",{"type":49,"value":1279}," \"I'm just reaching out to\", \"I just wanted to\", \"I'm here if you need anything\", \"Saw you just signed up\" — cut all of it.",{"type":43,"tag":69,"props":1281,"children":1282},{},[1283,1288],{"type":43,"tag":73,"props":1284,"children":1285},{},[1286],{"type":49,"value":1287},"Ask yourself: if this landed in the sales@ inbox, would I even give it a second look?",{"type":49,"value":1289}," If not, rewrite.",{"type":43,"tag":69,"props":1291,"children":1292},{},[1293],{"type":49,"value":1294},"Do NOT mention pricing, costs, volume discounts, enterprise features, SSO, or anything commercial. They opted to not talk to sales by self-serving. Respect that.",{"type":43,"tag":69,"props":1296,"children":1297},{},[1298,1303],{"type":43,"tag":73,"props":1299,"children":1300},{},[1301],{"type":49,"value":1302},"Mention the Slack invite naturally",{"type":49,"value":1304}," — not as the opening or centerpiece.",{"type":43,"tag":69,"props":1306,"children":1307},{},[1308,1313],{"type":43,"tag":73,"props":1309,"children":1310},{},[1311],{"type":49,"value":1312},"One open question at the end",{"type":49,"value":1314}," — easy to answer, about them.",{"type":43,"tag":390,"props":1316,"children":1318},{"id":1317},"data-integrity-rule",[1319],{"type":49,"value":1320},"Data Integrity Rule",{"type":43,"tag":52,"props":1322,"children":1323},{},[1324,1329,1331,1337],{"type":43,"tag":73,"props":1325,"children":1326},{},[1327],{"type":49,"value":1328},"Only reference things you can verify from Vitally usage data or the company's public website.",{"type":49,"value":1330}," Never cite enrichment data (tech stack fields from Clearbit, Harmonic, or Salesforce ",{"type":43,"tag":131,"props":1332,"children":1334},{"className":1333},[],[1335],{"type":49,"value":1336},"Company_tech__c",{"type":49,"value":1338},") as fact in outreach. These fields are often stale, wrong, or refer to a different part of the org. If you state something about their stack in an email and it's wrong, you immediately lose credibility.",{"type":43,"tag":52,"props":1340,"children":1341},{},[1342],{"type":49,"value":1343},"✓ OK to reference: Products they're using in PostHog, number of projects, which Vitally segments their users are in, what the company does (from their public website)\n✗ NOT OK to reference: Tech stack enrichment fields, competitor tools from Salesforce data, anything you can't verify from actual usage or public information",{"type":43,"tag":390,"props":1345,"children":1347},{"id":1346},"email-structure",[1348],{"type":49,"value":1349},"Email Structure",{"type":43,"tag":117,"props":1351,"children":1352},{},[1353,1366,1376,1381,1386,1391],{"type":43,"tag":69,"props":1354,"children":1355},{},[1356,1358,1364],{"type":49,"value":1357},"Brief greeting (\"",{"type":43,"tag":1359,"props":1360,"children":1361},"span",{},[1362],{"type":49,"value":1363},"Company",{"type":49,"value":1365}," team\" or first name)",{"type":43,"tag":69,"props":1367,"children":1368},{},[1369,1374],{"type":43,"tag":73,"props":1370,"children":1371},{},[1372],{"type":49,"value":1373},"Specific observation about their usage",{"type":49,"value":1375}," — the first real sentence. Something from Vitally data.",{"type":43,"tag":69,"props":1377,"children":1378},{},[1379],{"type":49,"value":1380},"One useful resource or suggestion connected to that observation",{"type":43,"tag":69,"props":1382,"children":1383},{},[1384],{"type":49,"value":1385},"Slack invite mention (natural, not the hook)",{"type":43,"tag":69,"props":1387,"children":1388},{},[1389],{"type":49,"value":1390},"One open question about them",{"type":43,"tag":69,"props":1392,"children":1393},{},[1394],{"type":49,"value":1395},"Sign-off (name only)",{"type":43,"tag":58,"props":1397,"children":1399},{"id":1398},"step-7-validate-all-urls",[1400],{"type":49,"value":1401},"Step 7: Validate All URLs",{"type":43,"tag":52,"props":1403,"children":1404},{},[1405,1409,1411,1417],{"type":43,"tag":73,"props":1406,"children":1407},{},[1408],{"type":49,"value":552},{"type":49,"value":1410}," Before presenting the draft, fetch every URL in the email using ",{"type":43,"tag":131,"props":1412,"children":1414},{"className":1413},[],[1415],{"type":49,"value":1416},"web_fetch",{"type":49,"value":1418}," to verify it resolves and points to the intended content. If broken, search for the correct page. If no valid page exists, remove the link.",{"type":43,"tag":58,"props":1420,"children":1422},{"id":1421},"output-format",[1423],{"type":49,"value":1424},"Output Format",{"type":43,"tag":52,"props":1426,"children":1427},{},[1428],{"type":49,"value":1429},"When responding to the TAE, always provide:",{"type":43,"tag":117,"props":1431,"children":1432},{},[1433,1443,1453,1463,1473,1483],{"type":43,"tag":69,"props":1434,"children":1435},{},[1436,1441],{"type":43,"tag":73,"props":1437,"children":1438},{},[1439],{"type":49,"value":1440},"Lead parsing",{"type":49,"value":1442}," — Corrected company name and email (note if the Salesforce subject bug applied)",{"type":43,"tag":69,"props":1444,"children":1445},{},[1446,1451],{"type":43,"tag":73,"props":1447,"children":1448},{},[1449],{"type":49,"value":1450},"Company research summary",{"type":49,"value":1452}," — What they do, size, funding, industry, ICP fit assessment",{"type":43,"tag":69,"props":1454,"children":1455},{},[1456,1461],{"type":43,"tag":73,"props":1457,"children":1458},{},[1459],{"type":49,"value":1460},"Vitally account summary",{"type":49,"value":1462}," — Users (count, roles, activity, last seen), products in use, health score, signup velocity, conversations\u002Fnotes status",{"type":43,"tag":69,"props":1464,"children":1465},{},[1466,1471],{"type":43,"tag":73,"props":1467,"children":1468},{},[1469],{"type":49,"value":1470},"Use case assessment",{"type":49,"value":1472}," — Which of the six use cases this maps to",{"type":43,"tag":69,"props":1474,"children":1475},{},[1476,1481],{"type":43,"tag":73,"props":1477,"children":1478},{},[1479],{"type":49,"value":1480},"Recommended play",{"type":49,"value":1482}," — Outreach \u002F Skip \u002F Nurture, with reasoning",{"type":43,"tag":69,"props":1484,"children":1485},{},[1486,1491],{"type":43,"tag":73,"props":1487,"children":1488},{},[1489],{"type":49,"value":1490},"Draft email",{"type":49,"value":1492}," — If outreach is recommended",{"type":43,"tag":58,"props":1494,"children":1496},{"id":1495},"critical-reminders",[1497],{"type":49,"value":1498},"Critical Reminders",{"type":43,"tag":117,"props":1500,"children":1501},{},[1502,1512,1522,1532,1542,1557,1567,1577,1585],{"type":43,"tag":69,"props":1503,"children":1504},{},[1505,1510],{"type":43,"tag":73,"props":1506,"children":1507},{},[1508],{"type":49,"value":1509},"Parse the Salesforce subject carefully.",{"type":49,"value":1511}," The concatenation bug is common — always look for the email address and split there.",{"type":43,"tag":69,"props":1513,"children":1514},{},[1515,1520],{"type":43,"tag":73,"props":1516,"children":1517},{},[1518],{"type":49,"value":1519},"User email is the most reliable Vitally lookup.",{"type":49,"value":1521}," Account name search is unreliable. Always try the user email first.",{"type":43,"tag":69,"props":1523,"children":1524},{},[1525,1530],{"type":43,"tag":73,"props":1526,"children":1527},{},[1528],{"type":49,"value":1529},"User count is the #1 qualifying signal.",{"type":49,"value":1531}," 1 user = low priority. 2+ users = real evaluation. This overrides everything else.",{"type":43,"tag":69,"props":1533,"children":1534},{},[1535,1540],{"type":43,"tag":73,"props":1536,"children":1537},{},[1538],{"type":49,"value":1539},"Always check conversations and notes.",{"type":49,"value":1541}," Don't pile on if someone is already engaged.",{"type":43,"tag":69,"props":1543,"children":1544},{},[1545,1550,1552],{"type":43,"tag":73,"props":1546,"children":1547},{},[1548],{"type":49,"value":1549},"Lead with an observation about them, not about you.",{"type":49,"value":1551}," Re-read the handbook: ",{"type":43,"tag":243,"props":1553,"children":1555},{"href":1233,"rel":1554},[1235],[1556],{"type":49,"value":1233},{"type":43,"tag":69,"props":1558,"children":1559},{},[1560,1565],{"type":43,"tag":73,"props":1561,"children":1562},{},[1563],{"type":49,"value":1564},"Never cite enrichment data as fact in outreach.",{"type":49,"value":1566}," Only reference what you can verify from Vitally usage or public sources.",{"type":43,"tag":69,"props":1568,"children":1569},{},[1570,1575],{"type":43,"tag":73,"props":1571,"children":1572},{},[1573],{"type":49,"value":1574},"The goal is not sales — it's supporting their evaluation.",{"type":49,"value":1576}," These people signed up for PostHog on their own. They chose to self-serve. They did not ask to talk to a salesperson. Your job is to help their evaluation go well — answer technical questions, unblock implementation issues, point them to the right resources, and make sure they can make a good decision about whether PostHog fits their needs. If PostHog is the right fit, the commercial conversation will happen naturally once they're dependent on the product. If it's not the right fit, helping them figure that out quickly is also a win. Never mention pricing, volume discounts, enterprise features, annual contracts, SSO, or anything commercial in the first outreach. No \"your dedicated contact,\" no \"I'm here to help you get started,\" no framing that sounds like a sales motion. It's completely OK to acknowledge that they didn't ask to talk to sales — being upfront about that disarms resistance.",{"type":43,"tag":69,"props":1578,"children":1579},{},[1580],{"type":43,"tag":73,"props":1581,"children":1582},{},[1583],{"type":49,"value":1584},"Always validate URLs before presenting the draft.",{"type":43,"tag":69,"props":1586,"children":1587},{},[1588,1593],{"type":43,"tag":73,"props":1589,"children":1590},{},[1591],{"type":49,"value":1592},"Always research each user's persona and role.",{"type":49,"value":1594}," Don't draft an email without knowing who these people are and what they do. The persona research often changes the entire play.",{"items":1596,"total":1706},[1597,1612,1631,1645,1665,1679,1690],{"slug":1598,"name":1598,"fn":1599,"description":1600,"org":1601,"tags":1602,"stars":26,"repoUrl":27,"updatedAt":1611},"account-handover","draft sales account handover notes","Draft structured handover notes for transitioning a PostHog account from one TAM or CSM to another. Use this skill when a TAM needs to hand over an account, prepare a transition briefing, write handover notes, create an account summary for a new owner, or any request involving account transitions between TAMs or CSMs. Triggers on \"hand over this account\", \"transition account to\", \"draft handover notes\", \"account briefing for new TAM\", \"prepare account transition\", or when a TAM names an account and says they're leaving or reassigning it.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1603,1606,1609,1610],{"name":1604,"slug":1605,"type":15},"Communications","communications",{"name":1607,"slug":1608,"type":15},"CRM","crm",{"name":9,"slug":8,"type":15},{"name":18,"slug":19,"type":15},"2026-04-16T05:13:00.172732",{"slug":1613,"name":1613,"fn":1614,"description":1615,"org":1616,"tags":1617,"stars":26,"repoUrl":27,"updatedAt":1630},"auditing-warehouse-data-health","audit PostHog data warehouse health","Audit the health of a PostHog project's data warehouse — find every broken or degraded pipeline item across sources, sync schemas, materialized views, batch exports, and transformations. Use when the user asks \"what's broken in my warehouse?\", \"give me a health check\", \"audit my data pipeline\", \"why are some dashboards stale?\", or wants a one-shot triage summary before deciding where to spend time. Produces a prioritized report of issues grouped by severity and type, with recommended next steps.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1618,1621,1624,1627,1629],{"name":1619,"slug":1620,"type":15},"Audit","audit",{"name":1622,"slug":1623,"type":15},"Data Engineering","data-engineering",{"name":1625,"slug":1626,"type":15},"Data Quality","data-quality",{"name":931,"slug":1628,"type":15},"observability",{"name":9,"slug":8,"type":15},"2026-06-21T08:19:05.85849",{"slug":1632,"name":1632,"fn":1633,"description":1634,"org":1635,"tags":1636,"stars":26,"repoUrl":27,"updatedAt":1644},"copying-flags-across-projects","copy feature flags across PostHog projects","Copy a feature flag from one PostHog project to one or more target projects in the same organization. Use when the user wants to duplicate a flag, promote a flag from staging to production, sync flags across projects, or replicate a flag configuration in a different workspace. Covers cohort remapping, scheduled-change handling, encrypted payloads, and the safe defaults (disabled in target, no scheduled changes).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1637,1640,1643],{"name":1638,"slug":1639,"type":15},"Deployment","deployment",{"name":1641,"slug":1642,"type":15},"Feature Flags","feature-flags",{"name":9,"slug":8,"type":15},"2026-05-04T05:56:44.484909",{"slug":1646,"name":1646,"fn":1647,"description":1648,"org":1649,"tags":1650,"stars":26,"repoUrl":27,"updatedAt":1664},"diagnosing-experiment-results","diagnose PostHog experiment results and anomalies","Diagnoses bias, anomalies, and strange-looking results on a specific PostHog experiment. Covers empty \u002F 0-exposure experiments, sample ratio mismatch, identity fragmentation, multi-variant exposure, uneven-split exclusion bias, significance traps (peeking, A\u002FA, Bayesian vs Frequentist), PostHog-vs-SQL discrepancies, and surprises after mid-run edits. Symptom-driven dispatch to the right diagnostic.\nTRIGGER when: user asks 'is my experiment biased?' or 'why 0 exposures?', references the bias banner, says a variant looks strange \u002F wrong \u002F off, sees significance flipping, notices PostHog numbers disagreeing with their SQL, sees an A\u002FA test showing significance, or reports surprises after mid-run edits.\nDO NOT TRIGGER when: creating a new experiment (use creating-experiments), only configuring rollout (use configuring-experiment-rollout) or metrics (use configuring-experiment-analytics), or only asking lifecycle questions (use managing-experiment-lifecycle).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1651,1654,1657,1660,1663],{"name":1652,"slug":1653,"type":15},"A\u002FB Testing","a-b-testing",{"name":1655,"slug":1656,"type":15},"Analytics","analytics",{"name":1658,"slug":1659,"type":15},"Data Analysis","data-analysis",{"name":1661,"slug":1662,"type":15},"Debugging","debugging",{"name":9,"slug":8,"type":15},"2026-05-22T06:59:58.103867",{"slug":1666,"name":1666,"fn":1667,"description":1668,"org":1669,"tags":1670,"stars":26,"repoUrl":27,"updatedAt":1678},"diagnosing-missing-recordings","diagnose missing PostHog session recordings","Diagnoses why a session recording is missing or was not captured. Use when a user asks why a session has no replay, why recordings aren't appearing, or wants to troubleshoot session replay capture issues for a specific session ID or across their project. Covers SDK diagnostic signals, project settings, sampling, triggers, ad blockers, and quota\u002Fbilling scenarios.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1671,1672,1673,1676,1677],{"name":1655,"slug":1656,"type":15},{"name":1661,"slug":1662,"type":15},{"name":1674,"slug":1675,"type":15},"Frontend","frontend",{"name":931,"slug":1628,"type":15},{"name":9,"slug":8,"type":15},"2026-04-22T05:06:51.989772",{"slug":1680,"name":1680,"fn":1681,"description":1682,"org":1683,"tags":1684,"stars":26,"repoUrl":27,"updatedAt":1689},"diagnosing-sdk-health","diagnose PostHog SDK health","Diagnoses the health of a project's PostHog SDK integrations — which SDKs are out of date and how to fix them. Use when a user asks about PostHog SDK versions, outdated SDKs, upgrade recommendations, \"SDK health\", \"SDK doctor\" (the former name), or when events or features seem off and it might be due to an old SDK.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1685,1686,1687,1688],{"name":1655,"slug":1656,"type":15},{"name":1661,"slug":1662,"type":15},{"name":931,"slug":1628,"type":15},{"name":9,"slug":8,"type":15},"2026-04-27T05:46:14.554016",{"slug":1691,"name":1691,"fn":1692,"description":1693,"org":1694,"tags":1695,"stars":26,"repoUrl":27,"updatedAt":1705},"error-tracking-android","track Android errors with PostHog","PostHog error tracking for Android",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1696,1699,1700,1703,1704],{"name":1697,"slug":1698,"type":15},"Android","android",{"name":1661,"slug":1662,"type":15},{"name":1701,"slug":1702,"type":15},"Mobile","mobile",{"name":931,"slug":1628,"type":15},{"name":9,"slug":8,"type":15},"2026-04-06T18:46:26.982494",110,{"items":1708,"total":1871},[1709,1724,1734,1747,1760,1773,1789,1806,1818,1833,1843,1861],{"slug":1710,"name":1710,"fn":1711,"description":1712,"org":1713,"tags":1714,"stars":1721,"repoUrl":1722,"updatedAt":1723},"analyzing-expensive-users","analyze expensive users in AI observability","Analyze the most expensive users in AI observability and explain why they cost so much. Use when the user asks about top spenders, expensive users, per-user LLM cost, user-level cost drivers, or patterns behind high AI observability spend.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1715,1716,1719,1720],{"name":1655,"slug":1656,"type":15},{"name":1717,"slug":1718,"type":15},"Cost Optimization","cost-optimization",{"name":931,"slug":1628,"type":15},{"name":9,"slug":8,"type":15},35568,"https:\u002F\u002Fgithub.com\u002FPostHog\u002Fposthog","2026-07-28T05:34:11.117757",{"slug":1725,"name":1725,"fn":1726,"description":1727,"org":1728,"tags":1729,"stars":1721,"repoUrl":1722,"updatedAt":1733},"auditing-endpoints","audit PostHog project endpoints","Audit every endpoint in a PostHog project for staleness, failed materialisations, and unused materialised versions. Use when the user asks \"what endpoints can I clean up?\", \"are any of my endpoints broken?\", \"which materialised versions are still being called?\", or wants a one-shot cleanup pass over the Endpoints product. Produces a prioritised report grouped by issue type, with recommended actions but does not modify anything without explicit confirmation.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1730,1731,1732],{"name":1655,"slug":1656,"type":15},{"name":1619,"slug":1620,"type":15},{"name":9,"slug":8,"type":15},"2026-06-08T08:08:33.693989",{"slug":1735,"name":1735,"fn":1736,"description":1737,"org":1738,"tags":1739,"stars":1721,"repoUrl":1722,"updatedAt":1746},"auditing-warehouse-source-health","audit PostHog data warehouse source health","Audit the health of a PostHog project's data warehouse sources and syncs — find every broken or degraded source connection, sync schema, and webhook channel. Use when the user asks \"why are my imports failing?\", \"what's broken with my sources?\", \"why is my warehouse data stale?\", or wants a one-shot triage of source\u002Fsync health before deciding where to dig in. Produces a prioritized report grouped by severity, with recommended next steps. For materialized-view health use `auditing-warehouse-view-health`; for a single failing sync use `diagnosing-failed-warehouse-syncs`.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1740,1741,1744,1745],{"name":1619,"slug":1620,"type":15},{"name":1742,"slug":1743,"type":15},"Data Warehouse","data-warehouse",{"name":931,"slug":1628,"type":15},{"name":9,"slug":8,"type":15},"2026-06-18T08:22:57.67984",{"slug":1748,"name":1748,"fn":1749,"description":1750,"org":1751,"tags":1752,"stars":1721,"repoUrl":1722,"updatedAt":1759},"auditing-warehouse-view-health","audit PostHog materialized view health","Audit the health of a PostHog project's materialized views (saved queries) — find every failed materialization and flag unused or stale materialized views that cost storage and compute. Use when the user asks \"which of my views are broken?\", \"why is this materialized view failing?\", \"are any of my views wasting compute?\", or wants a one-shot triage of view health. For source\u002Fsync health use `auditing-warehouse-source-health`.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1753,1754,1755,1758],{"name":1619,"slug":1620,"type":15},{"name":1742,"slug":1743,"type":15},{"name":1756,"slug":1757,"type":15},"Performance","performance",{"name":9,"slug":8,"type":15},"2026-06-18T08:25:10.936787",{"slug":1761,"name":1761,"fn":1762,"description":1763,"org":1764,"tags":1765,"stars":1721,"repoUrl":1722,"updatedAt":1772},"authoring-error-tracking-alerts","author PostHog error tracking alerts","Author error tracking alerts that fire when an issue is created, reopened, or starts spiking. Use when the user asks to set up error notifications, route exceptions to Slack\u002Fwebhook\u002FLinear, or evaluate which error events are worth alerting on. Covers trigger-event selection, integration choice, dedup against existing alerts, and shipping with the canonical message body shape.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1766,1769,1770,1771],{"name":1767,"slug":1768,"type":15},"Alerting","alerting",{"name":1661,"slug":1662,"type":15},{"name":931,"slug":1628,"type":15},{"name":9,"slug":8,"type":15},"2026-06-18T08:24:40.318583",{"slug":1774,"name":1774,"fn":1775,"description":1776,"org":1777,"tags":1778,"stars":1721,"repoUrl":1722,"updatedAt":1788},"authoring-log-alerts","author log alerts in PostHog","Author useful, low-noise log alerts on services in a PostHog project. Use when the user asks to set up alerts for their logs, suggest alerts they should add, or evaluate whether a service is worth monitoring. Covers service triage, baseline characterisation, threshold drafting, back-testing via simulate, and shipping with a notification destination.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1779,1780,1783,1784,1787],{"name":1655,"slug":1656,"type":15},{"name":1781,"slug":1782,"type":15},"Monitoring","monitoring",{"name":931,"slug":1628,"type":15},{"name":1785,"slug":1786,"type":15},"Operations","operations",{"name":9,"slug":8,"type":15},"2026-07-18T05:10:54.430898",{"slug":1790,"name":1790,"fn":1791,"description":1792,"org":1793,"tags":1794,"stars":1721,"repoUrl":1722,"updatedAt":1805},"building-workflows","build and edit PostHog workflows","Build, edit, test, enable, and monitor PostHog workflows over MCP. Author the action\u002Fedge graph so it runs and opens cleanly in the visual editor, then change drafts surgically with patch operations. Use when asked to build, set up, automate, change, fix, or debug a workflow, campaign, broadcast, drip sequence, or event-triggered automation in the workflows product.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1795,1798,1801,1802],{"name":1796,"slug":1797,"type":15},"Automation","automation",{"name":1799,"slug":1800,"type":15},"MCP","mcp",{"name":9,"slug":8,"type":15},{"name":1803,"slug":1804,"type":15},"Workflow Automation","workflow-automation","2026-07-28T05:34:12.167015",{"slug":1807,"name":1807,"fn":1808,"description":1809,"org":1810,"tags":1811,"stars":1721,"repoUrl":1722,"updatedAt":1817},"check-posthog-loading","inspect PostHog SDK loading across URLs","Inspect how the PostHog JavaScript SDK is loaded across a list of URLs. Use to confirm consistent installation across pages, find pages missing the snippet, detect mismatched API keys or hosts between pages, and verify the load method (head snippet vs deferred vs array.js).\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1812,1813,1814,1815,1816],{"name":1655,"slug":1656,"type":15},{"name":1661,"slug":1662,"type":15},{"name":1674,"slug":1675,"type":15},{"name":931,"slug":1628,"type":15},{"name":9,"slug":8,"type":15},"2026-05-07T05:56:19.828048",{"slug":1819,"name":1819,"fn":1820,"description":1821,"org":1822,"tags":1823,"stars":1721,"repoUrl":1722,"updatedAt":1832},"consuming-endpoints-from-client-code","integrate PostHog endpoints into client applications","Wire a PostHog endpoint into a client app or SDK. Covers fetching the OpenAPI spec, generating a typed client with openapi-generator or @hey-api\u002Fopenapi-ts, sending the right auth header, shaping the variables payload (HogQL code_name vs insight breakdown property), handling rate-limit and materialised-endpoint error responses. Use when the user says \"how do I call my endpoint\", \"generate a client for this\", or \"what auth header do I use\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1824,1827,1828,1829],{"name":1825,"slug":1826,"type":15},"API Development","api-development",{"name":1674,"slug":1675,"type":15},{"name":9,"slug":8,"type":15},{"name":1830,"slug":1831,"type":15},"SDK","sdk","2026-06-08T08:08:34.929454",{"slug":1834,"name":1834,"fn":1835,"description":1836,"org":1837,"tags":1838,"stars":1721,"repoUrl":1722,"updatedAt":1842},"copying-endpoints-across-projects","copy PostHog endpoints across projects","Copy a PostHog endpoint (a saved HogQL\u002Finsight query exposed as an API route) to another project in the same organization, or duplicate it under a new name in the same project. Use when the user wants to duplicate an endpoint, promote an endpoint from staging to production, replicate an endpoint's query\u002Fvariables\u002Ffreshness config in another workspace, or clone an endpoint to iterate on it. Unlike feature flags and experiments, endpoints have NO native cross-project copy tool — this skill covers the read-then-recreate flow (endpoint-get then endpoint-create), the active-project switching it requires, name-collision checks, and the safe defaults (land unmaterialised in the target, verify with endpoint-run). Does not cover editing endpoint versions (see managing-endpoint-versions) or authoring a brand-new endpoint from scratch (see creating-an-endpoint).\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1839,1840,1841],{"name":1825,"slug":1826,"type":15},{"name":1785,"slug":1786,"type":15},{"name":9,"slug":8,"type":15},"2026-07-15T05:29:58.442727",{"slug":1844,"name":1844,"fn":1845,"description":1846,"org":1847,"tags":1848,"stars":1721,"repoUrl":1722,"updatedAt":1860},"creating-ai-subscription","schedule recurring AI-generated PostHog reports","Create a recurring AI-generated PostHog report — schedule a free-text prompt to run on a cron, with the LLM-synthesized markdown delivered to email or Slack on each tick. Use when the user wants a recurring AI summary of X on any cadence (daily, weekly, monthly, yearly) rather than a one-off report. (To attach an AI summary to an existing insight\u002Fdashboard subscription instead of a free-text prompt, see `managing-subscriptions` and its `summary_enabled` option.)\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1849,1850,1853,1854,1857],{"name":1796,"slug":1797,"type":15},{"name":1851,"slug":1852,"type":15},"Email","email",{"name":9,"slug":8,"type":15},{"name":1855,"slug":1856,"type":15},"Reporting","reporting",{"name":1858,"slug":1859,"type":15},"Slack","slack","2026-06-09T07:32:27.935712",{"slug":1862,"name":1862,"fn":1863,"description":1864,"org":1865,"tags":1866,"stars":1721,"repoUrl":1722,"updatedAt":1870},"creating-an-endpoint","create PostHog API endpoints","Create a PostHog endpoint with the right shape on the first try — covers query kind choice, name conventions, what to expose as variables (HogQL code_name vs insight breakdown), data_freshness_seconds, and whether to materialise on day one. Use when the user says \"create an endpoint\", \"expose this query as an API\", \"turn this insight into an endpoint\", or asks for help structuring a new endpoint. Steers away from common mistakes: materialising a query with cohort breakdowns or compare mode, inline-only variables on a materialised endpoint, unbounded date ranges, ambiguous names.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1867,1868,1869],{"name":1655,"slug":1656,"type":15},{"name":1825,"slug":1826,"type":15},{"name":9,"slug":8,"type":15},"2026-06-08T08:08:29.624498",231]