[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-microsoft-pipeline-health-analyzer":3,"mdc--cjxn9m-key":38,"related-org-microsoft-pipeline-health-analyzer":2312,"related-repo-microsoft-pipeline-health-analyzer":2507},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":28,"repoUrl":29,"updatedAt":30,"license":31,"forks":32,"topics":33,"repo":34,"sourceUrl":36,"mdContent":37},"pipeline-health-analyzer","analyze sales pipeline health","Reviews opportunities in the sales pipeline to identify stuck deals, missing next steps, weak qualification, and unbalanced stages. Use when user asks \"how is my pipeline looking\", \"analyze pipeline health\", \"which deals are stuck\", \"pipeline review\", \"find at-risk deals\", \"identify stalled opportunities\", or \"audit my open deals\".",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"microsoft","Microsoft","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fmicrosoft.png",[12,16,19,22,25],{"name":13,"slug":14,"type":15},"Reporting","reporting","tag",{"name":17,"slug":18,"type":15},"CRM","crm",{"name":20,"slug":21,"type":15},"Sales","sales",{"name":23,"slug":24,"type":15},"Analytics","analytics",{"name":26,"slug":27,"type":15},"Dataverse","dataverse",41,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fdataverse-business-skills","2026-04-06T18:36:39.918249",null,9,[],{"repoUrl":29,"stars":28,"forks":32,"topics":35,"description":31},[],"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fdataverse-business-skills\u002Ftree\u002FHEAD\u002Fskills\u002Fpipeline-health-analyzer","---\nname: pipeline-health-analyzer\ndescription: Reviews opportunities in the sales pipeline to identify stuck deals, missing next steps, weak qualification, and unbalanced stages. Use when user asks \"how is my pipeline looking\", \"analyze pipeline health\", \"which deals are stuck\", \"pipeline review\", \"find at-risk deals\", \"identify stalled opportunities\", or \"audit my open deals\".\nmetadata:\n  author: Dataverse\n  version: 1.0.0\n  category: sales-analytics\n---\n\n# Pipeline Health Analyzer\n\nSales teams often review pipelines weekly to identify at-risk deals manually. This skill automates that process by analyzing opportunity records against configurable health criteria, flagging issues, and providing prioritized recommendations to improve deal progression.\n\n## Instructions\n\n### Step 1: Determine Analysis Scope\nIdentify the pipeline scope to analyze:\n\n**Option A - Full Pipeline:**\n- All open opportunities (statecode = 0)\n\n**Option B - Filtered View:**\n- By owner (specific sales rep or team)\n- By time period (opportunities created\u002Fmodified in range)\n- By value threshold (deals above $X)\n- By sales stage\n\n**Query Example for Full Pipeline:**\n```\nSELECT opportunityid, name, estimatedvalue, estimatedclosedate, createdon, modifiedon,\n       salesstage, stepname, customerid, accountid, contactid, ownerid,\n       budgetstatus, need, purchasetimeframe, purchaseprocess, decisionmaker,\n       msdyn_opportunityscore, msdyn_opportunitygrade, msdyn_forecastcategory,\n       closeprobability, description, currentsituation, customerneed, customerpainpoints\nFROM opportunity\nWHERE statecode = 0\n```\n\n#### Step 2: Analyze Individual Opportunity Health\n\nFor each opportunity, evaluate against these health dimensions:\n\n**2.1 Stuck Deal Detection**\nQuery activity history for each opportunity:\n```\nSELECT activityid, activitytypecode, createdon, actualend, statecode\nFROM activitypointer\nWHERE regardingobjectid = '[opportunityid]'\nORDER BY createdon DESC\n```\n\n**Stuck Deal Criteria:**\n| Stage | Days Without Activity = Warning | Days Without Activity = Critical |\n|-------|--------------------------------|----------------------------------|\n| Qualify | 7 days | 14 days |\n| Develop | 10 days | 21 days |\n| Propose | 5 days | 10 days |\n| Close | 3 days | 7 days |\n\n**Flag as Stuck if:**\n- No activities in threshold period\n- Only automated activities (emails) but no calls\u002Fmeetings\n- Last activity was over 2 weeks ago regardless of stage\n\n**2.2 Missing Next Steps Analysis**\nCheck for scheduled future activities:\n```\nSELECT activityid, activitytypecode, scheduledstart, scheduledend, subject, statecode\nFROM activitypointer\nWHERE regardingobjectid = '[opportunityid]'\nAND statecode = 0\n```\n\n**Note:** Filter results where scheduledstart > current date. Activity statecodes:\n- 0 = Open (scheduled activities)\n- 1 = Completed\n- 2 = Canceled\n- 3 = Scheduled (specific to appointments)\n\n**Flag if:**\n- No scheduled future tasks or appointments\n- Next scheduled activity is more than 2 weeks away\n- Scheduled activity is past due (scheduledend \u003C today, still open)\n\n**2.3 Qualification Weakness Assessment**\nEvaluate BANT (Budget, Authority, Need, Timeline) signals:\n\n| Signal | Field | Weak | Moderate | Strong |\n|--------|-------|------|----------|--------|\n| **Budget** | budgetstatus | 0 (No Budget) | 1 (May Buy) | 2-3 (Can\u002FWill Buy) |\n| **Authority** | decisionmaker | NULL\u002Ffalse | - | true |\n| **Need** | need | 3 (No need) | 2 (Good to have) | 0-1 (Must\u002FShould have) |\n| **Timeline** | purchasetimeframe | 4 (Unknown) | 2-3 (This\u002FNext Year) | 0-1 (Immediate\u002FThis Qtr) |\n| **Process** | purchaseprocess | 2 (Unknown) | 1 (Committee) | 0 (Individual) |\n\n**Qualification Score Calculation:**\n- Strong signal = 2 points\n- Moderate signal = 1 point\n- Weak signal = 0 points\n- Total: 0-10 points (10 = fully qualified)\n\n**Flag as Under-qualified if:**\n- Score \u003C 5 for deals in Propose\u002FClose stage\n- Budget is unknown for deals > $50K\n- No decision maker identified for deals in Committee process\n\n**2.4 Stage Age Analysis**\nCalculate time in current stage:\n- Use stage transition tracking or estimate from modifiedon\n- Compare against expected stage duration benchmarks\n\n**Typical Stage Duration Benchmarks:**\n| Stage | Small Deal (\u003C$25K) | Medium Deal ($25K-$100K) | Enterprise (>$100K) |\n|-------|-------------------|--------------------------|---------------------|\n| Qualify | 7 days | 14 days | 21 days |\n| Develop | 14 days | 30 days | 60 days |\n| Propose | 7 days | 14 days | 30 days |\n| Close | 14 days | 30 days | 45 days |\n\n**Flag if:** Time in stage > 1.5x benchmark\n\n**2.5 Close Date Validity**\nCheck estimated close date reasonableness:\n\n**Flag if:**\n- `estimatedclosedate` is in the past\n- `estimatedclosedate` has been pushed out 3+ times (if tracking available)\n- Close date is within 7 days but stage is Qualify\u002FDevelop\n- Close date is > 6 months out but forecast category is \"Committed\"\n\n**2.6 Competitive Risk Assessment**\nAnalyze competitive signals from opportunity fields:\n- Check `description`, `currentsituation` for competitor mentions\n- Evaluate against known competitor patterns\n\n**Flag if:**\n- Competitor explicitly mentioned\n- \"Evaluating alternatives\" or similar language detected\n- Multiple vendors mentioned\n\n#### Step 3: Pipeline Balance Analysis\n\n**3.1 Stage Distribution**\n```\nSELECT salesstage, COUNT(opportunityid) as count, SUM(estimatedvalue) as total_value\nFROM opportunity\nWHERE statecode = 0\nGROUP BY salesstage\n```\n\n**Healthy Pipeline Ratios:**\n| Stage | Ideal Count % | Ideal Value % |\n|-------|--------------|---------------|\n| Qualify | 40-50% | 30-40% |\n| Develop | 25-35% | 25-35% |\n| Propose | 15-20% | 20-25% |\n| Close | 5-15% | 10-20% |\n\n**Flag Imbalances:**\n- **Top-Heavy:** Too many deals in early stages (lead gen working, conversion not)\n- **Bottom-Heavy:** Too few deals in early stages (future quarter risk)\n- **Propose Jam:** Deals stuck in proposal phase (pricing or competitive issues)\n\n**3.2 Close Date Clustering**\nAnalyze deals by expected close timing:\n```\nSELECT estimatedclosedate, COUNT(opportunityid) as count, SUM(estimatedvalue) as total_value\nFROM opportunity\nWHERE statecode = 0\nGROUP BY estimatedclosedate\n```\n\n**Flag if:**\n- >50% of pipeline value closing in last week of quarter (\"hockey stick\")\n- Current month has more committed deals than capacity\n- Next quarter has insufficient pipeline coverage\n\n**3.3 Value Distribution**\nAnalyze deal size distribution using separate queries (CASE not supported in Dataverse SQL):\n\n**Small Deals (\u003C$25K):**\n```\nSELECT COUNT(opportunityid) as count, SUM(estimatedvalue) as total_value\nFROM opportunity\nWHERE statecode = 0 AND estimatedvalue \u003C 25000\n```\n\n**Medium Deals ($25K-$100K):**\n```\nSELECT COUNT(opportunityid) as count, SUM(estimatedvalue) as total_value\nFROM opportunity\nWHERE statecode = 0 AND estimatedvalue >= 25000 AND estimatedvalue \u003C 100000\n```\n\n**Enterprise Deals (>$100K):**\n```\nSELECT COUNT(opportunityid) as count, SUM(estimatedvalue) as total_value\nFROM opportunity\nWHERE statecode = 0 AND estimatedvalue >= 100000\n```\n\n**Flag Concentration Risk:**\n- Single deal > 30% of pipeline value\n- Top 3 deals > 50% of pipeline value\n- Over-reliance on one deal size category\n\n#### Step 4: Generate Health Scores and Insights\n\n**Individual Opportunity Health Score (0-100):**\n| Component | Weight | Max Points |\n|-----------|--------|------------|\n| Activity Recency | 25% | 25 |\n| Next Steps Defined | 20% | 20 |\n| Qualification Strength | 25% | 25 |\n| Stage Velocity | 15% | 15 |\n| Close Date Validity | 15% | 15 |\n\n**Score Interpretation:**\n- 80-100: Healthy - On track\n- 60-79: At Risk - Needs attention\n- 40-59: Critical - Immediate action required\n- 0-39: Stalled - May need to be disqualified\n\n#### Step 5: Output Pipeline Health Report\n\n**Executive Summary:**\n```\nPIPELINE HEALTH REPORT\nGenerated: [Date]\nScope: [Owner\u002FTeam] Open Opportunities\n\nPIPELINE SNAPSHOT\n═══════════════════════════════════════════════════\nTotal Pipeline Value: $2,450,000\nOpportunity Count: 47\nWeighted Pipeline: $1,225,000 (based on close probability)\nAverage Deal Size: $52,128\nAverage Health Score: 68\u002F100\n\nHEALTH DISTRIBUTION\n═══════════════════════════════════════════════════\nHealthy (80+):     18 deals  $890,000   (36%)\nAt Risk (60-79):   15 deals  $720,000   (29%)\nCritical (40-59):  10 deals  $540,000   (22%)\nStalled (\u003C40):      4 deals  $300,000   (12%)\n\nSTAGE BALANCE\n═══════════════════════════════════════════════════\nQualify:    23 deals  $680,000   ⚠️  (49% - slight excess)\nDevelop:    12 deals  $720,000   ✓  (26% - healthy)\nPropose:     8 deals  $650,000   ✓  (17% - healthy)\nClose:       4 deals  $400,000   ⚠️  (9% - needs more)\n```\n\n**Priority Action List:**\n```\nIMMEDIATE ATTENTION REQUIRED\n════════════════════════════════════════════════════\n\n1. 🔴 Contoso Enterprise Deal - $150,000\n   Health Score: 35\u002F100 (Stalled)\n   Issues:\n   - No activity in 23 days\n   - No scheduled next steps\n   - Close date was yesterday (past due)\n   Recommendation: Schedule urgent call to re-engage\n   \n2. 🟠 Fabrikam Cloud Migration - $85,000  \n   Health Score: 52\u002F100 (Critical)\n   Issues:\n   - Budget not confirmed (deal in Propose stage)\n   - Decision maker not identified\n   - Competitor mentioned in notes\n   Recommendation: Qualify budget and identify champion\n\n3. 🟡 Acme Corp Expansion - $65,000\n   Health Score: 64\u002F100 (At Risk)\n   Issues:\n   - Stage age: 45 days in Develop (benchmark: 30 days)\n   - Next scheduled call is 3 weeks away\n   Recommendation: Accelerate next steps, check for blockers\n```\n\n**Pipeline Risks:**\n```\nSTRATEGIC RISKS IDENTIFIED\n════════════════════════════════════════════════════\n\n⚠️  CONCENTRATION RISK\n    Top 3 deals = 52% of pipeline value\n    - Contoso Enterprise: $150,000\n    - Fabrikam Cloud: $85,000\n    - Global Industries: $75,000\n\n⚠️  CLOSE DATE CLUSTERING  \n    67% of Q1 value expected in final 2 weeks\n    High probability of slip to Q2\n\n⚠️  QUALIFICATION GAP\n    12 deals in Propose stage without confirmed budget\n    Combined value at risk: $340,000\n\n⚠️  PIPELINE COVERAGE\n    Q2 pipeline coverage: 1.8x target\n    Recommended: 3x minimum\n    Action: Increase early-stage prospecting\n```\n\n#### Step 6: Drill-Down Recommendations\n\n**For Stuck Deals:**\n- Suggest specific re-engagement messages\n- Recommend alternative contacts to try\n- Propose disqualification if multiple attempts failed\n\n**For Under-Qualified Deals:**\n- Generate discovery questions to fill BANT gaps\n- Suggest qualification call agenda\n- Recommend resources (case studies, ROI calculators)\n\n**For Pipeline Imbalance:**\n- If top-heavy: Focus on conversion activities\n- If bottom-heavy: Increase prospecting\n- If propose jam: Review pricing strategy, competitive positioning\n\n### Dataverse Tables Used\n| Table | Purpose |\n|-------|---------|\n| `opportunity` | Primary entity for pipeline analysis |\n| `activitypointer` | Activity history for engagement analysis |\n| `task` | Scheduled tasks for next steps |\n| `appointment` | Scheduled meetings |\n| `account` | Customer context |\n| `contact` | Stakeholder information |\n| `systemuser` | Owner\u002Frep information |\n\n### Key Fields Reference\n**opportunity:**\n- `salesstage` (CHOICE) - Qualify(0), Develop(1), Propose(2), Close(3)\n- `stepname` (NVARCHAR) - Current business process step\n- `estimatedvalue` (MONEY) - Deal value\n- `estimatedclosedate` (DATE) - Expected close\n- `closeprobability` (INT) - Win probability % (0-100)\n- `budgetstatus` (CHOICE) - No Committed Budget(0), May Buy(1), Can Buy(2), Will Buy(3)\n- `need` (CHOICE) - Must have(0), Should have(1), Good to have(2), No need(3)\n- `purchasetimeframe` (CHOICE) - Immediate(0), This Quarter(1), Next Quarter(2), This Year(3), Unknown(4)\n- `purchaseprocess` (CHOICE) - Individual(0), Committee(1), Unknown(2)\n- `decisionmaker` (BIT) - Decision maker confirmed (true\u002Ffalse)\n- `msdyn_opportunityscore` (INT) - AI predictive score (0-100)\n- `msdyn_opportunitygrade` (CHOICE) - Grade A(0), B(1), C(2), D(3)\n- `msdyn_opportunityscoretrend` (CHOICE) - Improving(0), Steady(1), Declining(2), Not enough info(3)\n- `msdyn_forecastcategory` (CHOICE) - Pipeline(100000001), Best case(100000002), Committed(100000003), Omitted(100000004), Won(100000005), Lost(100000006)\n- `statecode` (STATE) - Open(0), Won(1), Lost(2)\n- `statuscode` (STATUS) - In Progress(1), On Hold(2) [Open]; Won(3) [Won]; Canceled(4), Out-Sold(5) [Lost]\n\n**activitypointer:**\n- `regardingobjectid` (LOOKUP) - Polymorphic link to opportunity, account, contact, lead, etc.\n- `activitytypecode` (NVARCHAR) - Type: phonecall, email, appointment, task\n- `createdon` (DATETIME) - When activity was created\n- `actualstart`, `actualend` (DATETIME) - Actual activity times\n- `statecode` (STATE) - Open(0), Completed(1), Canceled(2), Scheduled(3-appointments only)\n- `scheduledstart`, `scheduledend` (DATETIME) - Planned times\n\n### Configurable Thresholds\nOrganizations can customize these parameters:\n- Days without activity thresholds per stage\n- Stage duration benchmarks by deal size\n- Qualification score minimums per stage\n- Pipeline coverage targets\n- Concentration risk percentages\n\n## Examples\n\n### Example 1: Weekly Pipeline Review\n\n**User says:** \"How is my pipeline looking this week?\"\n\n**Actions:**\n1. Query all open opportunities owned by current user\n2. Analyze each deal against health criteria (stuck, missing next steps, qualification gaps)\n3. Calculate pipeline coverage vs. quota\n4. Generate prioritized action list\n\n**Result:**\n```\nPIPELINE HEALTH SUMMARY\n- Total Pipeline: $1.2M (42 opportunities)\n- Healthy Deals: 28 (67%)\n- Needs Attention: 10 (24%)\n- Critical: 4 (9%)\n\nTOP ACTIONS:\n1. Re-engage Contoso deal - no activity in 12 days\n2. Schedule discovery call with Fabrikam - missing BANT\n3. Update close date on 3 past-due opportunities\n```\n\n### Example 2: Find Stuck Deals\n\n**User says:** \"Which of my deals are stuck?\"\n\n**Actions:**\n1. Query all open opportunities\n2. For each, check last activity date against stage-specific thresholds\n3. Flag deals exceeding warning\u002Fcritical thresholds\n4. Sort by days stuck and deal value\n\n**Result:**\n```\nSTUCK DEALS (4 found):\n1. Northwind Traders - $150K - 21 days in Propose stage (CRITICAL)\n2. Alpine Ski House - $75K - 14 days in Develop stage (WARNING)\n```\n\n### Example 3: Qualify Under-Qualified Deals\n\n**User says:** \"Find deals with weak qualification\"\n\n**Actions:**\n1. Calculate BANT score for each open opportunity\n2. Flag deals in late stages (Propose\u002FClose) with low qualification scores\n3. Identify specific missing qualification elements\n\n**Result:**\n```\nUNDER-QUALIFIED DEALS IN LATE STAGES:\n1. Contoso Enterprise Deal - $200K in Propose\n   Missing: Budget not confirmed, Decision maker unknown\n   Recommendation: Schedule qualification call before proposal review\n```\n\n## Troubleshooting\n\n### Error: No opportunities found\n**Cause:** User has no open opportunities or filter criteria too restrictive\n**Solution:**\n- Check that statecode = 0 filter is correct\n- Verify owner filter matches user's systemuserid\n- Expand date range or remove value thresholds\n\n### Error: Activity data appears incomplete\n**Cause:** Activities not linked to opportunity via regardingobjectid\n**Solution:**\n- Check if activities are linked to account instead of opportunity\n- Query activities for both opportunity and related account\n- Remind users to link activities to opportunities\n\n### Error: Pipeline coverage calculation incorrect\n**Cause:** Quota data not available or forecast categories not set\n**Solution:**\n- Accept quota as user-provided input\n- Check msdyn_forecastcategory values are populated\n- Default to estimatedvalue if forecast fields unavailable\n",{"data":39,"body":43},{"name":4,"description":6,"metadata":40},{"author":26,"version":41,"category":42},"1.0.0","sales-analytics",{"type":44,"children":45},"root",[46,54,60,67,74,79,88,98,106,129,137,150,157,162,172,181,189,292,300,318,328,337,347,370,378,396,406,598,606,629,637,655,665,678,686,796,805,815,822,856,866,895,902,920,926,934,943,951,1044,1052,1085,1095,1104,1111,1136,1146,1154,1163,1171,1180,1188,1197,1205,1223,1229,1237,1350,1358,1381,1387,1395,1404,1412,1421,1429,1438,1444,1452,1470,1478,1496,1504,1522,1528,1669,1675,1683,1876,1884,1966,1972,1977,2005,2011,2017,2027,2035,2059,2067,2076,2082,2091,2098,2121,2128,2137,2143,2152,2159,2177,2184,2193,2199,2205,2220,2238,2244,2257,2275,2281,2294],{"type":47,"tag":48,"props":49,"children":50},"element","h1",{"id":4},[51],{"type":52,"value":53},"text","Pipeline Health Analyzer",{"type":47,"tag":55,"props":56,"children":57},"p",{},[58],{"type":52,"value":59},"Sales teams often review pipelines weekly to identify at-risk deals manually. This skill automates that process by analyzing opportunity records against configurable health criteria, flagging issues, and providing prioritized recommendations to improve deal progression.",{"type":47,"tag":61,"props":62,"children":64},"h2",{"id":63},"instructions",[65],{"type":52,"value":66},"Instructions",{"type":47,"tag":68,"props":69,"children":71},"h3",{"id":70},"step-1-determine-analysis-scope",[72],{"type":52,"value":73},"Step 1: Determine Analysis Scope",{"type":47,"tag":55,"props":75,"children":76},{},[77],{"type":52,"value":78},"Identify the pipeline scope to analyze:",{"type":47,"tag":55,"props":80,"children":81},{},[82],{"type":47,"tag":83,"props":84,"children":85},"strong",{},[86],{"type":52,"value":87},"Option A - Full Pipeline:",{"type":47,"tag":89,"props":90,"children":91},"ul",{},[92],{"type":47,"tag":93,"props":94,"children":95},"li",{},[96],{"type":52,"value":97},"All open opportunities (statecode = 0)",{"type":47,"tag":55,"props":99,"children":100},{},[101],{"type":47,"tag":83,"props":102,"children":103},{},[104],{"type":52,"value":105},"Option B - Filtered View:",{"type":47,"tag":89,"props":107,"children":108},{},[109,114,119,124],{"type":47,"tag":93,"props":110,"children":111},{},[112],{"type":52,"value":113},"By owner (specific sales rep or team)",{"type":47,"tag":93,"props":115,"children":116},{},[117],{"type":52,"value":118},"By time period (opportunities created\u002Fmodified in range)",{"type":47,"tag":93,"props":120,"children":121},{},[122],{"type":52,"value":123},"By value threshold (deals above $X)",{"type":47,"tag":93,"props":125,"children":126},{},[127],{"type":52,"value":128},"By sales stage",{"type":47,"tag":55,"props":130,"children":131},{},[132],{"type":47,"tag":83,"props":133,"children":134},{},[135],{"type":52,"value":136},"Query Example for Full Pipeline:",{"type":47,"tag":138,"props":139,"children":143},"pre",{"className":140,"code":142,"language":52},[141],"language-text","SELECT opportunityid, name, estimatedvalue, estimatedclosedate, createdon, modifiedon,\n       salesstage, stepname, customerid, accountid, contactid, ownerid,\n       budgetstatus, need, purchasetimeframe, purchaseprocess, decisionmaker,\n       msdyn_opportunityscore, msdyn_opportunitygrade, msdyn_forecastcategory,\n       closeprobability, description, currentsituation, customerneed, customerpainpoints\nFROM opportunity\nWHERE statecode = 0\n",[144],{"type":47,"tag":145,"props":146,"children":148},"code",{"__ignoreMap":147},"",[149],{"type":52,"value":142},{"type":47,"tag":151,"props":152,"children":154},"h4",{"id":153},"step-2-analyze-individual-opportunity-health",[155],{"type":52,"value":156},"Step 2: Analyze Individual Opportunity Health",{"type":47,"tag":55,"props":158,"children":159},{},[160],{"type":52,"value":161},"For each opportunity, evaluate against these health dimensions:",{"type":47,"tag":55,"props":163,"children":164},{},[165,170],{"type":47,"tag":83,"props":166,"children":167},{},[168],{"type":52,"value":169},"2.1 Stuck Deal Detection",{"type":52,"value":171},"\nQuery activity history for each opportunity:",{"type":47,"tag":138,"props":173,"children":176},{"className":174,"code":175,"language":52},[141],"SELECT activityid, activitytypecode, createdon, actualend, statecode\nFROM activitypointer\nWHERE regardingobjectid = '[opportunityid]'\nORDER BY createdon DESC\n",[177],{"type":47,"tag":145,"props":178,"children":179},{"__ignoreMap":147},[180],{"type":52,"value":175},{"type":47,"tag":55,"props":182,"children":183},{},[184],{"type":47,"tag":83,"props":185,"children":186},{},[187],{"type":52,"value":188},"Stuck Deal Criteria:",{"type":47,"tag":190,"props":191,"children":192},"table",{},[193,217],{"type":47,"tag":194,"props":195,"children":196},"thead",{},[197],{"type":47,"tag":198,"props":199,"children":200},"tr",{},[201,207,212],{"type":47,"tag":202,"props":203,"children":204},"th",{},[205],{"type":52,"value":206},"Stage",{"type":47,"tag":202,"props":208,"children":209},{},[210],{"type":52,"value":211},"Days Without Activity = Warning",{"type":47,"tag":202,"props":213,"children":214},{},[215],{"type":52,"value":216},"Days Without Activity = Critical",{"type":47,"tag":218,"props":219,"children":220},"tbody",{},[221,240,258,275],{"type":47,"tag":198,"props":222,"children":223},{},[224,230,235],{"type":47,"tag":225,"props":226,"children":227},"td",{},[228],{"type":52,"value":229},"Qualify",{"type":47,"tag":225,"props":231,"children":232},{},[233],{"type":52,"value":234},"7 days",{"type":47,"tag":225,"props":236,"children":237},{},[238],{"type":52,"value":239},"14 days",{"type":47,"tag":198,"props":241,"children":242},{},[243,248,253],{"type":47,"tag":225,"props":244,"children":245},{},[246],{"type":52,"value":247},"Develop",{"type":47,"tag":225,"props":249,"children":250},{},[251],{"type":52,"value":252},"10 days",{"type":47,"tag":225,"props":254,"children":255},{},[256],{"type":52,"value":257},"21 days",{"type":47,"tag":198,"props":259,"children":260},{},[261,266,271],{"type":47,"tag":225,"props":262,"children":263},{},[264],{"type":52,"value":265},"Propose",{"type":47,"tag":225,"props":267,"children":268},{},[269],{"type":52,"value":270},"5 days",{"type":47,"tag":225,"props":272,"children":273},{},[274],{"type":52,"value":252},{"type":47,"tag":198,"props":276,"children":277},{},[278,283,288],{"type":47,"tag":225,"props":279,"children":280},{},[281],{"type":52,"value":282},"Close",{"type":47,"tag":225,"props":284,"children":285},{},[286],{"type":52,"value":287},"3 days",{"type":47,"tag":225,"props":289,"children":290},{},[291],{"type":52,"value":234},{"type":47,"tag":55,"props":293,"children":294},{},[295],{"type":47,"tag":83,"props":296,"children":297},{},[298],{"type":52,"value":299},"Flag as Stuck if:",{"type":47,"tag":89,"props":301,"children":302},{},[303,308,313],{"type":47,"tag":93,"props":304,"children":305},{},[306],{"type":52,"value":307},"No activities in threshold period",{"type":47,"tag":93,"props":309,"children":310},{},[311],{"type":52,"value":312},"Only automated activities (emails) but no calls\u002Fmeetings",{"type":47,"tag":93,"props":314,"children":315},{},[316],{"type":52,"value":317},"Last activity was over 2 weeks ago regardless of stage",{"type":47,"tag":55,"props":319,"children":320},{},[321,326],{"type":47,"tag":83,"props":322,"children":323},{},[324],{"type":52,"value":325},"2.2 Missing Next Steps Analysis",{"type":52,"value":327},"\nCheck for scheduled future activities:",{"type":47,"tag":138,"props":329,"children":332},{"className":330,"code":331,"language":52},[141],"SELECT activityid, activitytypecode, scheduledstart, scheduledend, subject, statecode\nFROM activitypointer\nWHERE regardingobjectid = '[opportunityid]'\nAND statecode = 0\n",[333],{"type":47,"tag":145,"props":334,"children":335},{"__ignoreMap":147},[336],{"type":52,"value":331},{"type":47,"tag":55,"props":338,"children":339},{},[340,345],{"type":47,"tag":83,"props":341,"children":342},{},[343],{"type":52,"value":344},"Note:",{"type":52,"value":346}," Filter results where scheduledstart > current date. Activity statecodes:",{"type":47,"tag":89,"props":348,"children":349},{},[350,355,360,365],{"type":47,"tag":93,"props":351,"children":352},{},[353],{"type":52,"value":354},"0 = Open (scheduled activities)",{"type":47,"tag":93,"props":356,"children":357},{},[358],{"type":52,"value":359},"1 = Completed",{"type":47,"tag":93,"props":361,"children":362},{},[363],{"type":52,"value":364},"2 = Canceled",{"type":47,"tag":93,"props":366,"children":367},{},[368],{"type":52,"value":369},"3 = Scheduled (specific to appointments)",{"type":47,"tag":55,"props":371,"children":372},{},[373],{"type":47,"tag":83,"props":374,"children":375},{},[376],{"type":52,"value":377},"Flag if:",{"type":47,"tag":89,"props":379,"children":380},{},[381,386,391],{"type":47,"tag":93,"props":382,"children":383},{},[384],{"type":52,"value":385},"No scheduled future tasks or appointments",{"type":47,"tag":93,"props":387,"children":388},{},[389],{"type":52,"value":390},"Next scheduled activity is more than 2 weeks away",{"type":47,"tag":93,"props":392,"children":393},{},[394],{"type":52,"value":395},"Scheduled activity is past due (scheduledend \u003C today, still open)",{"type":47,"tag":55,"props":397,"children":398},{},[399,404],{"type":47,"tag":83,"props":400,"children":401},{},[402],{"type":52,"value":403},"2.3 Qualification Weakness Assessment",{"type":52,"value":405},"\nEvaluate BANT (Budget, Authority, Need, Timeline) signals:",{"type":47,"tag":190,"props":407,"children":408},{},[409,440],{"type":47,"tag":194,"props":410,"children":411},{},[412],{"type":47,"tag":198,"props":413,"children":414},{},[415,420,425,430,435],{"type":47,"tag":202,"props":416,"children":417},{},[418],{"type":52,"value":419},"Signal",{"type":47,"tag":202,"props":421,"children":422},{},[423],{"type":52,"value":424},"Field",{"type":47,"tag":202,"props":426,"children":427},{},[428],{"type":52,"value":429},"Weak",{"type":47,"tag":202,"props":431,"children":432},{},[433],{"type":52,"value":434},"Moderate",{"type":47,"tag":202,"props":436,"children":437},{},[438],{"type":52,"value":439},"Strong",{"type":47,"tag":218,"props":441,"children":442},{},[443,474,505,536,567],{"type":47,"tag":198,"props":444,"children":445},{},[446,454,459,464,469],{"type":47,"tag":225,"props":447,"children":448},{},[449],{"type":47,"tag":83,"props":450,"children":451},{},[452],{"type":52,"value":453},"Budget",{"type":47,"tag":225,"props":455,"children":456},{},[457],{"type":52,"value":458},"budgetstatus",{"type":47,"tag":225,"props":460,"children":461},{},[462],{"type":52,"value":463},"0 (No Budget)",{"type":47,"tag":225,"props":465,"children":466},{},[467],{"type":52,"value":468},"1 (May Buy)",{"type":47,"tag":225,"props":470,"children":471},{},[472],{"type":52,"value":473},"2-3 (Can\u002FWill Buy)",{"type":47,"tag":198,"props":475,"children":476},{},[477,485,490,495,500],{"type":47,"tag":225,"props":478,"children":479},{},[480],{"type":47,"tag":83,"props":481,"children":482},{},[483],{"type":52,"value":484},"Authority",{"type":47,"tag":225,"props":486,"children":487},{},[488],{"type":52,"value":489},"decisionmaker",{"type":47,"tag":225,"props":491,"children":492},{},[493],{"type":52,"value":494},"NULL\u002Ffalse",{"type":47,"tag":225,"props":496,"children":497},{},[498],{"type":52,"value":499},"-",{"type":47,"tag":225,"props":501,"children":502},{},[503],{"type":52,"value":504},"true",{"type":47,"tag":198,"props":506,"children":507},{},[508,516,521,526,531],{"type":47,"tag":225,"props":509,"children":510},{},[511],{"type":47,"tag":83,"props":512,"children":513},{},[514],{"type":52,"value":515},"Need",{"type":47,"tag":225,"props":517,"children":518},{},[519],{"type":52,"value":520},"need",{"type":47,"tag":225,"props":522,"children":523},{},[524],{"type":52,"value":525},"3 (No need)",{"type":47,"tag":225,"props":527,"children":528},{},[529],{"type":52,"value":530},"2 (Good to have)",{"type":47,"tag":225,"props":532,"children":533},{},[534],{"type":52,"value":535},"0-1 (Must\u002FShould have)",{"type":47,"tag":198,"props":537,"children":538},{},[539,547,552,557,562],{"type":47,"tag":225,"props":540,"children":541},{},[542],{"type":47,"tag":83,"props":543,"children":544},{},[545],{"type":52,"value":546},"Timeline",{"type":47,"tag":225,"props":548,"children":549},{},[550],{"type":52,"value":551},"purchasetimeframe",{"type":47,"tag":225,"props":553,"children":554},{},[555],{"type":52,"value":556},"4 (Unknown)",{"type":47,"tag":225,"props":558,"children":559},{},[560],{"type":52,"value":561},"2-3 (This\u002FNext Year)",{"type":47,"tag":225,"props":563,"children":564},{},[565],{"type":52,"value":566},"0-1 (Immediate\u002FThis Qtr)",{"type":47,"tag":198,"props":568,"children":569},{},[570,578,583,588,593],{"type":47,"tag":225,"props":571,"children":572},{},[573],{"type":47,"tag":83,"props":574,"children":575},{},[576],{"type":52,"value":577},"Process",{"type":47,"tag":225,"props":579,"children":580},{},[581],{"type":52,"value":582},"purchaseprocess",{"type":47,"tag":225,"props":584,"children":585},{},[586],{"type":52,"value":587},"2 (Unknown)",{"type":47,"tag":225,"props":589,"children":590},{},[591],{"type":52,"value":592},"1 (Committee)",{"type":47,"tag":225,"props":594,"children":595},{},[596],{"type":52,"value":597},"0 (Individual)",{"type":47,"tag":55,"props":599,"children":600},{},[601],{"type":47,"tag":83,"props":602,"children":603},{},[604],{"type":52,"value":605},"Qualification Score Calculation:",{"type":47,"tag":89,"props":607,"children":608},{},[609,614,619,624],{"type":47,"tag":93,"props":610,"children":611},{},[612],{"type":52,"value":613},"Strong signal = 2 points",{"type":47,"tag":93,"props":615,"children":616},{},[617],{"type":52,"value":618},"Moderate signal = 1 point",{"type":47,"tag":93,"props":620,"children":621},{},[622],{"type":52,"value":623},"Weak signal = 0 points",{"type":47,"tag":93,"props":625,"children":626},{},[627],{"type":52,"value":628},"Total: 0-10 points (10 = fully qualified)",{"type":47,"tag":55,"props":630,"children":631},{},[632],{"type":47,"tag":83,"props":633,"children":634},{},[635],{"type":52,"value":636},"Flag as Under-qualified if:",{"type":47,"tag":89,"props":638,"children":639},{},[640,645,650],{"type":47,"tag":93,"props":641,"children":642},{},[643],{"type":52,"value":644},"Score \u003C 5 for deals in Propose\u002FClose stage",{"type":47,"tag":93,"props":646,"children":647},{},[648],{"type":52,"value":649},"Budget is unknown for deals > $50K",{"type":47,"tag":93,"props":651,"children":652},{},[653],{"type":52,"value":654},"No decision maker identified for deals in Committee process",{"type":47,"tag":55,"props":656,"children":657},{},[658,663],{"type":47,"tag":83,"props":659,"children":660},{},[661],{"type":52,"value":662},"2.4 Stage Age Analysis",{"type":52,"value":664},"\nCalculate time in current stage:",{"type":47,"tag":89,"props":666,"children":667},{},[668,673],{"type":47,"tag":93,"props":669,"children":670},{},[671],{"type":52,"value":672},"Use stage transition tracking or estimate from modifiedon",{"type":47,"tag":93,"props":674,"children":675},{},[676],{"type":52,"value":677},"Compare against expected stage duration benchmarks",{"type":47,"tag":55,"props":679,"children":680},{},[681],{"type":47,"tag":83,"props":682,"children":683},{},[684],{"type":52,"value":685},"Typical Stage Duration Benchmarks:",{"type":47,"tag":190,"props":687,"children":688},{},[689,714],{"type":47,"tag":194,"props":690,"children":691},{},[692],{"type":47,"tag":198,"props":693,"children":694},{},[695,699,704,709],{"type":47,"tag":202,"props":696,"children":697},{},[698],{"type":52,"value":206},{"type":47,"tag":202,"props":700,"children":701},{},[702],{"type":52,"value":703},"Small Deal (\u003C$25K)",{"type":47,"tag":202,"props":705,"children":706},{},[707],{"type":52,"value":708},"Medium Deal ($25K-$100K)",{"type":47,"tag":202,"props":710,"children":711},{},[712],{"type":52,"value":713},"Enterprise (>$100K)",{"type":47,"tag":218,"props":715,"children":716},{},[717,736,757,776],{"type":47,"tag":198,"props":718,"children":719},{},[720,724,728,732],{"type":47,"tag":225,"props":721,"children":722},{},[723],{"type":52,"value":229},{"type":47,"tag":225,"props":725,"children":726},{},[727],{"type":52,"value":234},{"type":47,"tag":225,"props":729,"children":730},{},[731],{"type":52,"value":239},{"type":47,"tag":225,"props":733,"children":734},{},[735],{"type":52,"value":257},{"type":47,"tag":198,"props":737,"children":738},{},[739,743,747,752],{"type":47,"tag":225,"props":740,"children":741},{},[742],{"type":52,"value":247},{"type":47,"tag":225,"props":744,"children":745},{},[746],{"type":52,"value":239},{"type":47,"tag":225,"props":748,"children":749},{},[750],{"type":52,"value":751},"30 days",{"type":47,"tag":225,"props":753,"children":754},{},[755],{"type":52,"value":756},"60 days",{"type":47,"tag":198,"props":758,"children":759},{},[760,764,768,772],{"type":47,"tag":225,"props":761,"children":762},{},[763],{"type":52,"value":265},{"type":47,"tag":225,"props":765,"children":766},{},[767],{"type":52,"value":234},{"type":47,"tag":225,"props":769,"children":770},{},[771],{"type":52,"value":239},{"type":47,"tag":225,"props":773,"children":774},{},[775],{"type":52,"value":751},{"type":47,"tag":198,"props":777,"children":778},{},[779,783,787,791],{"type":47,"tag":225,"props":780,"children":781},{},[782],{"type":52,"value":282},{"type":47,"tag":225,"props":784,"children":785},{},[786],{"type":52,"value":239},{"type":47,"tag":225,"props":788,"children":789},{},[790],{"type":52,"value":751},{"type":47,"tag":225,"props":792,"children":793},{},[794],{"type":52,"value":795},"45 days",{"type":47,"tag":55,"props":797,"children":798},{},[799,803],{"type":47,"tag":83,"props":800,"children":801},{},[802],{"type":52,"value":377},{"type":52,"value":804}," Time in stage > 1.5x benchmark",{"type":47,"tag":55,"props":806,"children":807},{},[808,813],{"type":47,"tag":83,"props":809,"children":810},{},[811],{"type":52,"value":812},"2.5 Close Date Validity",{"type":52,"value":814},"\nCheck estimated close date reasonableness:",{"type":47,"tag":55,"props":816,"children":817},{},[818],{"type":47,"tag":83,"props":819,"children":820},{},[821],{"type":52,"value":377},{"type":47,"tag":89,"props":823,"children":824},{},[825,836,846,851],{"type":47,"tag":93,"props":826,"children":827},{},[828,834],{"type":47,"tag":145,"props":829,"children":831},{"className":830},[],[832],{"type":52,"value":833},"estimatedclosedate",{"type":52,"value":835}," is in the past",{"type":47,"tag":93,"props":837,"children":838},{},[839,844],{"type":47,"tag":145,"props":840,"children":842},{"className":841},[],[843],{"type":52,"value":833},{"type":52,"value":845}," has been pushed out 3+ times (if tracking available)",{"type":47,"tag":93,"props":847,"children":848},{},[849],{"type":52,"value":850},"Close date is within 7 days but stage is Qualify\u002FDevelop",{"type":47,"tag":93,"props":852,"children":853},{},[854],{"type":52,"value":855},"Close date is > 6 months out but forecast category is \"Committed\"",{"type":47,"tag":55,"props":857,"children":858},{},[859,864],{"type":47,"tag":83,"props":860,"children":861},{},[862],{"type":52,"value":863},"2.6 Competitive Risk Assessment",{"type":52,"value":865},"\nAnalyze competitive signals from opportunity fields:",{"type":47,"tag":89,"props":867,"children":868},{},[869,890],{"type":47,"tag":93,"props":870,"children":871},{},[872,874,880,882,888],{"type":52,"value":873},"Check ",{"type":47,"tag":145,"props":875,"children":877},{"className":876},[],[878],{"type":52,"value":879},"description",{"type":52,"value":881},", ",{"type":47,"tag":145,"props":883,"children":885},{"className":884},[],[886],{"type":52,"value":887},"currentsituation",{"type":52,"value":889}," for competitor mentions",{"type":47,"tag":93,"props":891,"children":892},{},[893],{"type":52,"value":894},"Evaluate against known competitor patterns",{"type":47,"tag":55,"props":896,"children":897},{},[898],{"type":47,"tag":83,"props":899,"children":900},{},[901],{"type":52,"value":377},{"type":47,"tag":89,"props":903,"children":904},{},[905,910,915],{"type":47,"tag":93,"props":906,"children":907},{},[908],{"type":52,"value":909},"Competitor explicitly mentioned",{"type":47,"tag":93,"props":911,"children":912},{},[913],{"type":52,"value":914},"\"Evaluating alternatives\" or similar language detected",{"type":47,"tag":93,"props":916,"children":917},{},[918],{"type":52,"value":919},"Multiple vendors mentioned",{"type":47,"tag":151,"props":921,"children":923},{"id":922},"step-3-pipeline-balance-analysis",[924],{"type":52,"value":925},"Step 3: Pipeline Balance Analysis",{"type":47,"tag":55,"props":927,"children":928},{},[929],{"type":47,"tag":83,"props":930,"children":931},{},[932],{"type":52,"value":933},"3.1 Stage Distribution",{"type":47,"tag":138,"props":935,"children":938},{"className":936,"code":937,"language":52},[141],"SELECT salesstage, COUNT(opportunityid) as count, SUM(estimatedvalue) as total_value\nFROM opportunity\nWHERE statecode = 0\nGROUP BY salesstage\n",[939],{"type":47,"tag":145,"props":940,"children":941},{"__ignoreMap":147},[942],{"type":52,"value":937},{"type":47,"tag":55,"props":944,"children":945},{},[946],{"type":47,"tag":83,"props":947,"children":948},{},[949],{"type":52,"value":950},"Healthy Pipeline Ratios:",{"type":47,"tag":190,"props":952,"children":953},{},[954,974],{"type":47,"tag":194,"props":955,"children":956},{},[957],{"type":47,"tag":198,"props":958,"children":959},{},[960,964,969],{"type":47,"tag":202,"props":961,"children":962},{},[963],{"type":52,"value":206},{"type":47,"tag":202,"props":965,"children":966},{},[967],{"type":52,"value":968},"Ideal Count %",{"type":47,"tag":202,"props":970,"children":971},{},[972],{"type":52,"value":973},"Ideal Value %",{"type":47,"tag":218,"props":975,"children":976},{},[977,994,1010,1027],{"type":47,"tag":198,"props":978,"children":979},{},[980,984,989],{"type":47,"tag":225,"props":981,"children":982},{},[983],{"type":52,"value":229},{"type":47,"tag":225,"props":985,"children":986},{},[987],{"type":52,"value":988},"40-50%",{"type":47,"tag":225,"props":990,"children":991},{},[992],{"type":52,"value":993},"30-40%",{"type":47,"tag":198,"props":995,"children":996},{},[997,1001,1006],{"type":47,"tag":225,"props":998,"children":999},{},[1000],{"type":52,"value":247},{"type":47,"tag":225,"props":1002,"children":1003},{},[1004],{"type":52,"value":1005},"25-35%",{"type":47,"tag":225,"props":1007,"children":1008},{},[1009],{"type":52,"value":1005},{"type":47,"tag":198,"props":1011,"children":1012},{},[1013,1017,1022],{"type":47,"tag":225,"props":1014,"children":1015},{},[1016],{"type":52,"value":265},{"type":47,"tag":225,"props":1018,"children":1019},{},[1020],{"type":52,"value":1021},"15-20%",{"type":47,"tag":225,"props":1023,"children":1024},{},[1025],{"type":52,"value":1026},"20-25%",{"type":47,"tag":198,"props":1028,"children":1029},{},[1030,1034,1039],{"type":47,"tag":225,"props":1031,"children":1032},{},[1033],{"type":52,"value":282},{"type":47,"tag":225,"props":1035,"children":1036},{},[1037],{"type":52,"value":1038},"5-15%",{"type":47,"tag":225,"props":1040,"children":1041},{},[1042],{"type":52,"value":1043},"10-20%",{"type":47,"tag":55,"props":1045,"children":1046},{},[1047],{"type":47,"tag":83,"props":1048,"children":1049},{},[1050],{"type":52,"value":1051},"Flag Imbalances:",{"type":47,"tag":89,"props":1053,"children":1054},{},[1055,1065,1075],{"type":47,"tag":93,"props":1056,"children":1057},{},[1058,1063],{"type":47,"tag":83,"props":1059,"children":1060},{},[1061],{"type":52,"value":1062},"Top-Heavy:",{"type":52,"value":1064}," Too many deals in early stages (lead gen working, conversion not)",{"type":47,"tag":93,"props":1066,"children":1067},{},[1068,1073],{"type":47,"tag":83,"props":1069,"children":1070},{},[1071],{"type":52,"value":1072},"Bottom-Heavy:",{"type":52,"value":1074}," Too few deals in early stages (future quarter risk)",{"type":47,"tag":93,"props":1076,"children":1077},{},[1078,1083],{"type":47,"tag":83,"props":1079,"children":1080},{},[1081],{"type":52,"value":1082},"Propose Jam:",{"type":52,"value":1084}," Deals stuck in proposal phase (pricing or competitive issues)",{"type":47,"tag":55,"props":1086,"children":1087},{},[1088,1093],{"type":47,"tag":83,"props":1089,"children":1090},{},[1091],{"type":52,"value":1092},"3.2 Close Date Clustering",{"type":52,"value":1094},"\nAnalyze deals by expected close timing:",{"type":47,"tag":138,"props":1096,"children":1099},{"className":1097,"code":1098,"language":52},[141],"SELECT estimatedclosedate, COUNT(opportunityid) as count, SUM(estimatedvalue) as total_value\nFROM opportunity\nWHERE statecode = 0\nGROUP BY estimatedclosedate\n",[1100],{"type":47,"tag":145,"props":1101,"children":1102},{"__ignoreMap":147},[1103],{"type":52,"value":1098},{"type":47,"tag":55,"props":1105,"children":1106},{},[1107],{"type":47,"tag":83,"props":1108,"children":1109},{},[1110],{"type":52,"value":377},{"type":47,"tag":89,"props":1112,"children":1113},{},[1114,1126,1131],{"type":47,"tag":93,"props":1115,"children":1116},{},[1117],{"type":47,"tag":1118,"props":1119,"children":1120},"blockquote",{},[1121],{"type":47,"tag":55,"props":1122,"children":1123},{},[1124],{"type":52,"value":1125},"50% of pipeline value closing in last week of quarter (\"hockey stick\")",{"type":47,"tag":93,"props":1127,"children":1128},{},[1129],{"type":52,"value":1130},"Current month has more committed deals than capacity",{"type":47,"tag":93,"props":1132,"children":1133},{},[1134],{"type":52,"value":1135},"Next quarter has insufficient pipeline coverage",{"type":47,"tag":55,"props":1137,"children":1138},{},[1139,1144],{"type":47,"tag":83,"props":1140,"children":1141},{},[1142],{"type":52,"value":1143},"3.3 Value Distribution",{"type":52,"value":1145},"\nAnalyze deal size distribution using separate queries (CASE not supported in Dataverse SQL):",{"type":47,"tag":55,"props":1147,"children":1148},{},[1149],{"type":47,"tag":83,"props":1150,"children":1151},{},[1152],{"type":52,"value":1153},"Small Deals (\u003C$25K):",{"type":47,"tag":138,"props":1155,"children":1158},{"className":1156,"code":1157,"language":52},[141],"SELECT COUNT(opportunityid) as count, SUM(estimatedvalue) as total_value\nFROM opportunity\nWHERE statecode = 0 AND estimatedvalue \u003C 25000\n",[1159],{"type":47,"tag":145,"props":1160,"children":1161},{"__ignoreMap":147},[1162],{"type":52,"value":1157},{"type":47,"tag":55,"props":1164,"children":1165},{},[1166],{"type":47,"tag":83,"props":1167,"children":1168},{},[1169],{"type":52,"value":1170},"Medium Deals ($25K-$100K):",{"type":47,"tag":138,"props":1172,"children":1175},{"className":1173,"code":1174,"language":52},[141],"SELECT COUNT(opportunityid) as count, SUM(estimatedvalue) as total_value\nFROM opportunity\nWHERE statecode = 0 AND estimatedvalue >= 25000 AND estimatedvalue \u003C 100000\n",[1176],{"type":47,"tag":145,"props":1177,"children":1178},{"__ignoreMap":147},[1179],{"type":52,"value":1174},{"type":47,"tag":55,"props":1181,"children":1182},{},[1183],{"type":47,"tag":83,"props":1184,"children":1185},{},[1186],{"type":52,"value":1187},"Enterprise Deals (>$100K):",{"type":47,"tag":138,"props":1189,"children":1192},{"className":1190,"code":1191,"language":52},[141],"SELECT COUNT(opportunityid) as count, SUM(estimatedvalue) as total_value\nFROM opportunity\nWHERE statecode = 0 AND estimatedvalue >= 100000\n",[1193],{"type":47,"tag":145,"props":1194,"children":1195},{"__ignoreMap":147},[1196],{"type":52,"value":1191},{"type":47,"tag":55,"props":1198,"children":1199},{},[1200],{"type":47,"tag":83,"props":1201,"children":1202},{},[1203],{"type":52,"value":1204},"Flag Concentration Risk:",{"type":47,"tag":89,"props":1206,"children":1207},{},[1208,1213,1218],{"type":47,"tag":93,"props":1209,"children":1210},{},[1211],{"type":52,"value":1212},"Single deal > 30% of pipeline value",{"type":47,"tag":93,"props":1214,"children":1215},{},[1216],{"type":52,"value":1217},"Top 3 deals > 50% of pipeline value",{"type":47,"tag":93,"props":1219,"children":1220},{},[1221],{"type":52,"value":1222},"Over-reliance on one deal size category",{"type":47,"tag":151,"props":1224,"children":1226},{"id":1225},"step-4-generate-health-scores-and-insights",[1227],{"type":52,"value":1228},"Step 4: Generate Health Scores and Insights",{"type":47,"tag":55,"props":1230,"children":1231},{},[1232],{"type":47,"tag":83,"props":1233,"children":1234},{},[1235],{"type":52,"value":1236},"Individual Opportunity Health Score (0-100):",{"type":47,"tag":190,"props":1238,"children":1239},{},[1240,1261],{"type":47,"tag":194,"props":1241,"children":1242},{},[1243],{"type":47,"tag":198,"props":1244,"children":1245},{},[1246,1251,1256],{"type":47,"tag":202,"props":1247,"children":1248},{},[1249],{"type":52,"value":1250},"Component",{"type":47,"tag":202,"props":1252,"children":1253},{},[1254],{"type":52,"value":1255},"Weight",{"type":47,"tag":202,"props":1257,"children":1258},{},[1259],{"type":52,"value":1260},"Max Points",{"type":47,"tag":218,"props":1262,"children":1263},{},[1264,1282,1300,1316,1334],{"type":47,"tag":198,"props":1265,"children":1266},{},[1267,1272,1277],{"type":47,"tag":225,"props":1268,"children":1269},{},[1270],{"type":52,"value":1271},"Activity Recency",{"type":47,"tag":225,"props":1273,"children":1274},{},[1275],{"type":52,"value":1276},"25%",{"type":47,"tag":225,"props":1278,"children":1279},{},[1280],{"type":52,"value":1281},"25",{"type":47,"tag":198,"props":1283,"children":1284},{},[1285,1290,1295],{"type":47,"tag":225,"props":1286,"children":1287},{},[1288],{"type":52,"value":1289},"Next Steps Defined",{"type":47,"tag":225,"props":1291,"children":1292},{},[1293],{"type":52,"value":1294},"20%",{"type":47,"tag":225,"props":1296,"children":1297},{},[1298],{"type":52,"value":1299},"20",{"type":47,"tag":198,"props":1301,"children":1302},{},[1303,1308,1312],{"type":47,"tag":225,"props":1304,"children":1305},{},[1306],{"type":52,"value":1307},"Qualification Strength",{"type":47,"tag":225,"props":1309,"children":1310},{},[1311],{"type":52,"value":1276},{"type":47,"tag":225,"props":1313,"children":1314},{},[1315],{"type":52,"value":1281},{"type":47,"tag":198,"props":1317,"children":1318},{},[1319,1324,1329],{"type":47,"tag":225,"props":1320,"children":1321},{},[1322],{"type":52,"value":1323},"Stage Velocity",{"type":47,"tag":225,"props":1325,"children":1326},{},[1327],{"type":52,"value":1328},"15%",{"type":47,"tag":225,"props":1330,"children":1331},{},[1332],{"type":52,"value":1333},"15",{"type":47,"tag":198,"props":1335,"children":1336},{},[1337,1342,1346],{"type":47,"tag":225,"props":1338,"children":1339},{},[1340],{"type":52,"value":1341},"Close Date Validity",{"type":47,"tag":225,"props":1343,"children":1344},{},[1345],{"type":52,"value":1328},{"type":47,"tag":225,"props":1347,"children":1348},{},[1349],{"type":52,"value":1333},{"type":47,"tag":55,"props":1351,"children":1352},{},[1353],{"type":47,"tag":83,"props":1354,"children":1355},{},[1356],{"type":52,"value":1357},"Score Interpretation:",{"type":47,"tag":89,"props":1359,"children":1360},{},[1361,1366,1371,1376],{"type":47,"tag":93,"props":1362,"children":1363},{},[1364],{"type":52,"value":1365},"80-100: Healthy - On track",{"type":47,"tag":93,"props":1367,"children":1368},{},[1369],{"type":52,"value":1370},"60-79: At Risk - Needs attention",{"type":47,"tag":93,"props":1372,"children":1373},{},[1374],{"type":52,"value":1375},"40-59: Critical - Immediate action required",{"type":47,"tag":93,"props":1377,"children":1378},{},[1379],{"type":52,"value":1380},"0-39: Stalled - May need to be disqualified",{"type":47,"tag":151,"props":1382,"children":1384},{"id":1383},"step-5-output-pipeline-health-report",[1385],{"type":52,"value":1386},"Step 5: Output Pipeline Health Report",{"type":47,"tag":55,"props":1388,"children":1389},{},[1390],{"type":47,"tag":83,"props":1391,"children":1392},{},[1393],{"type":52,"value":1394},"Executive Summary:",{"type":47,"tag":138,"props":1396,"children":1399},{"className":1397,"code":1398,"language":52},[141],"PIPELINE HEALTH REPORT\nGenerated: [Date]\nScope: [Owner\u002FTeam] Open Opportunities\n\nPIPELINE SNAPSHOT\n═══════════════════════════════════════════════════\nTotal Pipeline Value: $2,450,000\nOpportunity Count: 47\nWeighted Pipeline: $1,225,000 (based on close probability)\nAverage Deal Size: $52,128\nAverage Health Score: 68\u002F100\n\nHEALTH DISTRIBUTION\n═══════════════════════════════════════════════════\nHealthy (80+):     18 deals  $890,000   (36%)\nAt Risk (60-79):   15 deals  $720,000   (29%)\nCritical (40-59):  10 deals  $540,000   (22%)\nStalled (\u003C40):      4 deals  $300,000   (12%)\n\nSTAGE BALANCE\n═══════════════════════════════════════════════════\nQualify:    23 deals  $680,000   ⚠️  (49% - slight excess)\nDevelop:    12 deals  $720,000   ✓  (26% - healthy)\nPropose:     8 deals  $650,000   ✓  (17% - healthy)\nClose:       4 deals  $400,000   ⚠️  (9% - needs more)\n",[1400],{"type":47,"tag":145,"props":1401,"children":1402},{"__ignoreMap":147},[1403],{"type":52,"value":1398},{"type":47,"tag":55,"props":1405,"children":1406},{},[1407],{"type":47,"tag":83,"props":1408,"children":1409},{},[1410],{"type":52,"value":1411},"Priority Action List:",{"type":47,"tag":138,"props":1413,"children":1416},{"className":1414,"code":1415,"language":52},[141],"IMMEDIATE ATTENTION REQUIRED\n════════════════════════════════════════════════════\n\n1. 🔴 Contoso Enterprise Deal - $150,000\n   Health Score: 35\u002F100 (Stalled)\n   Issues:\n   - No activity in 23 days\n   - No scheduled next steps\n   - Close date was yesterday (past due)\n   Recommendation: Schedule urgent call to re-engage\n   \n2. 🟠 Fabrikam Cloud Migration - $85,000  \n   Health Score: 52\u002F100 (Critical)\n   Issues:\n   - Budget not confirmed (deal in Propose stage)\n   - Decision maker not identified\n   - Competitor mentioned in notes\n   Recommendation: Qualify budget and identify champion\n\n3. 🟡 Acme Corp Expansion - $65,000\n   Health Score: 64\u002F100 (At Risk)\n   Issues:\n   - Stage age: 45 days in Develop (benchmark: 30 days)\n   - Next scheduled call is 3 weeks away\n   Recommendation: Accelerate next steps, check for blockers\n",[1417],{"type":47,"tag":145,"props":1418,"children":1419},{"__ignoreMap":147},[1420],{"type":52,"value":1415},{"type":47,"tag":55,"props":1422,"children":1423},{},[1424],{"type":47,"tag":83,"props":1425,"children":1426},{},[1427],{"type":52,"value":1428},"Pipeline Risks:",{"type":47,"tag":138,"props":1430,"children":1433},{"className":1431,"code":1432,"language":52},[141],"STRATEGIC RISKS IDENTIFIED\n════════════════════════════════════════════════════\n\n⚠️  CONCENTRATION RISK\n    Top 3 deals = 52% of pipeline value\n    - Contoso Enterprise: $150,000\n    - Fabrikam Cloud: $85,000\n    - Global Industries: $75,000\n\n⚠️  CLOSE DATE CLUSTERING  \n    67% of Q1 value expected in final 2 weeks\n    High probability of slip to Q2\n\n⚠️  QUALIFICATION GAP\n    12 deals in Propose stage without confirmed budget\n    Combined value at risk: $340,000\n\n⚠️  PIPELINE COVERAGE\n    Q2 pipeline coverage: 1.8x target\n    Recommended: 3x minimum\n    Action: Increase early-stage prospecting\n",[1434],{"type":47,"tag":145,"props":1435,"children":1436},{"__ignoreMap":147},[1437],{"type":52,"value":1432},{"type":47,"tag":151,"props":1439,"children":1441},{"id":1440},"step-6-drill-down-recommendations",[1442],{"type":52,"value":1443},"Step 6: Drill-Down Recommendations",{"type":47,"tag":55,"props":1445,"children":1446},{},[1447],{"type":47,"tag":83,"props":1448,"children":1449},{},[1450],{"type":52,"value":1451},"For Stuck Deals:",{"type":47,"tag":89,"props":1453,"children":1454},{},[1455,1460,1465],{"type":47,"tag":93,"props":1456,"children":1457},{},[1458],{"type":52,"value":1459},"Suggest specific re-engagement messages",{"type":47,"tag":93,"props":1461,"children":1462},{},[1463],{"type":52,"value":1464},"Recommend alternative contacts to try",{"type":47,"tag":93,"props":1466,"children":1467},{},[1468],{"type":52,"value":1469},"Propose disqualification if multiple attempts failed",{"type":47,"tag":55,"props":1471,"children":1472},{},[1473],{"type":47,"tag":83,"props":1474,"children":1475},{},[1476],{"type":52,"value":1477},"For Under-Qualified Deals:",{"type":47,"tag":89,"props":1479,"children":1480},{},[1481,1486,1491],{"type":47,"tag":93,"props":1482,"children":1483},{},[1484],{"type":52,"value":1485},"Generate discovery questions to fill BANT gaps",{"type":47,"tag":93,"props":1487,"children":1488},{},[1489],{"type":52,"value":1490},"Suggest qualification call agenda",{"type":47,"tag":93,"props":1492,"children":1493},{},[1494],{"type":52,"value":1495},"Recommend resources (case studies, ROI calculators)",{"type":47,"tag":55,"props":1497,"children":1498},{},[1499],{"type":47,"tag":83,"props":1500,"children":1501},{},[1502],{"type":52,"value":1503},"For Pipeline Imbalance:",{"type":47,"tag":89,"props":1505,"children":1506},{},[1507,1512,1517],{"type":47,"tag":93,"props":1508,"children":1509},{},[1510],{"type":52,"value":1511},"If top-heavy: Focus on conversion activities",{"type":47,"tag":93,"props":1513,"children":1514},{},[1515],{"type":52,"value":1516},"If bottom-heavy: Increase prospecting",{"type":47,"tag":93,"props":1518,"children":1519},{},[1520],{"type":52,"value":1521},"If propose jam: Review pricing strategy, competitive positioning",{"type":47,"tag":68,"props":1523,"children":1525},{"id":1524},"dataverse-tables-used",[1526],{"type":52,"value":1527},"Dataverse Tables Used",{"type":47,"tag":190,"props":1529,"children":1530},{},[1531,1547],{"type":47,"tag":194,"props":1532,"children":1533},{},[1534],{"type":47,"tag":198,"props":1535,"children":1536},{},[1537,1542],{"type":47,"tag":202,"props":1538,"children":1539},{},[1540],{"type":52,"value":1541},"Table",{"type":47,"tag":202,"props":1543,"children":1544},{},[1545],{"type":52,"value":1546},"Purpose",{"type":47,"tag":218,"props":1548,"children":1549},{},[1550,1567,1584,1601,1618,1635,1652],{"type":47,"tag":198,"props":1551,"children":1552},{},[1553,1562],{"type":47,"tag":225,"props":1554,"children":1555},{},[1556],{"type":47,"tag":145,"props":1557,"children":1559},{"className":1558},[],[1560],{"type":52,"value":1561},"opportunity",{"type":47,"tag":225,"props":1563,"children":1564},{},[1565],{"type":52,"value":1566},"Primary entity for pipeline analysis",{"type":47,"tag":198,"props":1568,"children":1569},{},[1570,1579],{"type":47,"tag":225,"props":1571,"children":1572},{},[1573],{"type":47,"tag":145,"props":1574,"children":1576},{"className":1575},[],[1577],{"type":52,"value":1578},"activitypointer",{"type":47,"tag":225,"props":1580,"children":1581},{},[1582],{"type":52,"value":1583},"Activity history for engagement analysis",{"type":47,"tag":198,"props":1585,"children":1586},{},[1587,1596],{"type":47,"tag":225,"props":1588,"children":1589},{},[1590],{"type":47,"tag":145,"props":1591,"children":1593},{"className":1592},[],[1594],{"type":52,"value":1595},"task",{"type":47,"tag":225,"props":1597,"children":1598},{},[1599],{"type":52,"value":1600},"Scheduled tasks for next steps",{"type":47,"tag":198,"props":1602,"children":1603},{},[1604,1613],{"type":47,"tag":225,"props":1605,"children":1606},{},[1607],{"type":47,"tag":145,"props":1608,"children":1610},{"className":1609},[],[1611],{"type":52,"value":1612},"appointment",{"type":47,"tag":225,"props":1614,"children":1615},{},[1616],{"type":52,"value":1617},"Scheduled meetings",{"type":47,"tag":198,"props":1619,"children":1620},{},[1621,1630],{"type":47,"tag":225,"props":1622,"children":1623},{},[1624],{"type":47,"tag":145,"props":1625,"children":1627},{"className":1626},[],[1628],{"type":52,"value":1629},"account",{"type":47,"tag":225,"props":1631,"children":1632},{},[1633],{"type":52,"value":1634},"Customer context",{"type":47,"tag":198,"props":1636,"children":1637},{},[1638,1647],{"type":47,"tag":225,"props":1639,"children":1640},{},[1641],{"type":47,"tag":145,"props":1642,"children":1644},{"className":1643},[],[1645],{"type":52,"value":1646},"contact",{"type":47,"tag":225,"props":1648,"children":1649},{},[1650],{"type":52,"value":1651},"Stakeholder information",{"type":47,"tag":198,"props":1653,"children":1654},{},[1655,1664],{"type":47,"tag":225,"props":1656,"children":1657},{},[1658],{"type":47,"tag":145,"props":1659,"children":1661},{"className":1660},[],[1662],{"type":52,"value":1663},"systemuser",{"type":47,"tag":225,"props":1665,"children":1666},{},[1667],{"type":52,"value":1668},"Owner\u002Frep information",{"type":47,"tag":68,"props":1670,"children":1672},{"id":1671},"key-fields-reference",[1673],{"type":52,"value":1674},"Key Fields Reference",{"type":47,"tag":55,"props":1676,"children":1677},{},[1678],{"type":47,"tag":83,"props":1679,"children":1680},{},[1681],{"type":52,"value":1682},"opportunity:",{"type":47,"tag":89,"props":1684,"children":1685},{},[1686,1697,1708,1719,1729,1740,1750,1760,1770,1780,1790,1801,1812,1823,1834,1845],{"type":47,"tag":93,"props":1687,"children":1688},{},[1689,1695],{"type":47,"tag":145,"props":1690,"children":1692},{"className":1691},[],[1693],{"type":52,"value":1694},"salesstage",{"type":52,"value":1696}," (CHOICE) - Qualify(0), Develop(1), Propose(2), Close(3)",{"type":47,"tag":93,"props":1698,"children":1699},{},[1700,1706],{"type":47,"tag":145,"props":1701,"children":1703},{"className":1702},[],[1704],{"type":52,"value":1705},"stepname",{"type":52,"value":1707}," (NVARCHAR) - Current business process step",{"type":47,"tag":93,"props":1709,"children":1710},{},[1711,1717],{"type":47,"tag":145,"props":1712,"children":1714},{"className":1713},[],[1715],{"type":52,"value":1716},"estimatedvalue",{"type":52,"value":1718}," (MONEY) - Deal value",{"type":47,"tag":93,"props":1720,"children":1721},{},[1722,1727],{"type":47,"tag":145,"props":1723,"children":1725},{"className":1724},[],[1726],{"type":52,"value":833},{"type":52,"value":1728}," (DATE) - Expected close",{"type":47,"tag":93,"props":1730,"children":1731},{},[1732,1738],{"type":47,"tag":145,"props":1733,"children":1735},{"className":1734},[],[1736],{"type":52,"value":1737},"closeprobability",{"type":52,"value":1739}," (INT) - Win probability % (0-100)",{"type":47,"tag":93,"props":1741,"children":1742},{},[1743,1748],{"type":47,"tag":145,"props":1744,"children":1746},{"className":1745},[],[1747],{"type":52,"value":458},{"type":52,"value":1749}," (CHOICE) - No Committed Budget(0), May Buy(1), Can Buy(2), Will Buy(3)",{"type":47,"tag":93,"props":1751,"children":1752},{},[1753,1758],{"type":47,"tag":145,"props":1754,"children":1756},{"className":1755},[],[1757],{"type":52,"value":520},{"type":52,"value":1759}," (CHOICE) - Must have(0), Should have(1), Good to have(2), No need(3)",{"type":47,"tag":93,"props":1761,"children":1762},{},[1763,1768],{"type":47,"tag":145,"props":1764,"children":1766},{"className":1765},[],[1767],{"type":52,"value":551},{"type":52,"value":1769}," (CHOICE) - Immediate(0), This Quarter(1), Next Quarter(2), This Year(3), Unknown(4)",{"type":47,"tag":93,"props":1771,"children":1772},{},[1773,1778],{"type":47,"tag":145,"props":1774,"children":1776},{"className":1775},[],[1777],{"type":52,"value":582},{"type":52,"value":1779}," (CHOICE) - Individual(0), Committee(1), Unknown(2)",{"type":47,"tag":93,"props":1781,"children":1782},{},[1783,1788],{"type":47,"tag":145,"props":1784,"children":1786},{"className":1785},[],[1787],{"type":52,"value":489},{"type":52,"value":1789}," (BIT) - Decision maker confirmed (true\u002Ffalse)",{"type":47,"tag":93,"props":1791,"children":1792},{},[1793,1799],{"type":47,"tag":145,"props":1794,"children":1796},{"className":1795},[],[1797],{"type":52,"value":1798},"msdyn_opportunityscore",{"type":52,"value":1800}," (INT) - AI predictive score (0-100)",{"type":47,"tag":93,"props":1802,"children":1803},{},[1804,1810],{"type":47,"tag":145,"props":1805,"children":1807},{"className":1806},[],[1808],{"type":52,"value":1809},"msdyn_opportunitygrade",{"type":52,"value":1811}," (CHOICE) - Grade A(0), B(1), C(2), D(3)",{"type":47,"tag":93,"props":1813,"children":1814},{},[1815,1821],{"type":47,"tag":145,"props":1816,"children":1818},{"className":1817},[],[1819],{"type":52,"value":1820},"msdyn_opportunityscoretrend",{"type":52,"value":1822}," (CHOICE) - Improving(0), Steady(1), Declining(2), Not enough info(3)",{"type":47,"tag":93,"props":1824,"children":1825},{},[1826,1832],{"type":47,"tag":145,"props":1827,"children":1829},{"className":1828},[],[1830],{"type":52,"value":1831},"msdyn_forecastcategory",{"type":52,"value":1833}," (CHOICE) - Pipeline(100000001), Best case(100000002), Committed(100000003), Omitted(100000004), Won(100000005), Lost(100000006)",{"type":47,"tag":93,"props":1835,"children":1836},{},[1837,1843],{"type":47,"tag":145,"props":1838,"children":1840},{"className":1839},[],[1841],{"type":52,"value":1842},"statecode",{"type":52,"value":1844}," (STATE) - Open(0), Won(1), Lost(2)",{"type":47,"tag":93,"props":1846,"children":1847},{},[1848,1854,1856,1862,1864,1869,1871],{"type":47,"tag":145,"props":1849,"children":1851},{"className":1850},[],[1852],{"type":52,"value":1853},"statuscode",{"type":52,"value":1855}," (STATUS) - In Progress(1), On Hold(2) ",{"type":47,"tag":1857,"props":1858,"children":1859},"span",{},[1860],{"type":52,"value":1861},"Open",{"type":52,"value":1863},"; Won(3) ",{"type":47,"tag":1857,"props":1865,"children":1866},{},[1867],{"type":52,"value":1868},"Won",{"type":52,"value":1870},"; Canceled(4), Out-Sold(5) ",{"type":47,"tag":1857,"props":1872,"children":1873},{},[1874],{"type":52,"value":1875},"Lost",{"type":47,"tag":55,"props":1877,"children":1878},{},[1879],{"type":47,"tag":83,"props":1880,"children":1881},{},[1882],{"type":52,"value":1883},"activitypointer:",{"type":47,"tag":89,"props":1885,"children":1886},{},[1887,1898,1909,1920,1938,1948],{"type":47,"tag":93,"props":1888,"children":1889},{},[1890,1896],{"type":47,"tag":145,"props":1891,"children":1893},{"className":1892},[],[1894],{"type":52,"value":1895},"regardingobjectid",{"type":52,"value":1897}," (LOOKUP) - Polymorphic link to opportunity, account, contact, lead, etc.",{"type":47,"tag":93,"props":1899,"children":1900},{},[1901,1907],{"type":47,"tag":145,"props":1902,"children":1904},{"className":1903},[],[1905],{"type":52,"value":1906},"activitytypecode",{"type":52,"value":1908}," (NVARCHAR) - Type: phonecall, email, appointment, task",{"type":47,"tag":93,"props":1910,"children":1911},{},[1912,1918],{"type":47,"tag":145,"props":1913,"children":1915},{"className":1914},[],[1916],{"type":52,"value":1917},"createdon",{"type":52,"value":1919}," (DATETIME) - When activity was created",{"type":47,"tag":93,"props":1921,"children":1922},{},[1923,1929,1930,1936],{"type":47,"tag":145,"props":1924,"children":1926},{"className":1925},[],[1927],{"type":52,"value":1928},"actualstart",{"type":52,"value":881},{"type":47,"tag":145,"props":1931,"children":1933},{"className":1932},[],[1934],{"type":52,"value":1935},"actualend",{"type":52,"value":1937}," (DATETIME) - Actual activity times",{"type":47,"tag":93,"props":1939,"children":1940},{},[1941,1946],{"type":47,"tag":145,"props":1942,"children":1944},{"className":1943},[],[1945],{"type":52,"value":1842},{"type":52,"value":1947}," (STATE) - Open(0), Completed(1), Canceled(2), Scheduled(3-appointments only)",{"type":47,"tag":93,"props":1949,"children":1950},{},[1951,1957,1958,1964],{"type":47,"tag":145,"props":1952,"children":1954},{"className":1953},[],[1955],{"type":52,"value":1956},"scheduledstart",{"type":52,"value":881},{"type":47,"tag":145,"props":1959,"children":1961},{"className":1960},[],[1962],{"type":52,"value":1963},"scheduledend",{"type":52,"value":1965}," (DATETIME) - Planned times",{"type":47,"tag":68,"props":1967,"children":1969},{"id":1968},"configurable-thresholds",[1970],{"type":52,"value":1971},"Configurable Thresholds",{"type":47,"tag":55,"props":1973,"children":1974},{},[1975],{"type":52,"value":1976},"Organizations can customize these parameters:",{"type":47,"tag":89,"props":1978,"children":1979},{},[1980,1985,1990,1995,2000],{"type":47,"tag":93,"props":1981,"children":1982},{},[1983],{"type":52,"value":1984},"Days without activity thresholds per stage",{"type":47,"tag":93,"props":1986,"children":1987},{},[1988],{"type":52,"value":1989},"Stage duration benchmarks by deal size",{"type":47,"tag":93,"props":1991,"children":1992},{},[1993],{"type":52,"value":1994},"Qualification score minimums per stage",{"type":47,"tag":93,"props":1996,"children":1997},{},[1998],{"type":52,"value":1999},"Pipeline coverage targets",{"type":47,"tag":93,"props":2001,"children":2002},{},[2003],{"type":52,"value":2004},"Concentration risk percentages",{"type":47,"tag":61,"props":2006,"children":2008},{"id":2007},"examples",[2009],{"type":52,"value":2010},"Examples",{"type":47,"tag":68,"props":2012,"children":2014},{"id":2013},"example-1-weekly-pipeline-review",[2015],{"type":52,"value":2016},"Example 1: Weekly Pipeline Review",{"type":47,"tag":55,"props":2018,"children":2019},{},[2020,2025],{"type":47,"tag":83,"props":2021,"children":2022},{},[2023],{"type":52,"value":2024},"User says:",{"type":52,"value":2026}," \"How is my pipeline looking this week?\"",{"type":47,"tag":55,"props":2028,"children":2029},{},[2030],{"type":47,"tag":83,"props":2031,"children":2032},{},[2033],{"type":52,"value":2034},"Actions:",{"type":47,"tag":2036,"props":2037,"children":2038},"ol",{},[2039,2044,2049,2054],{"type":47,"tag":93,"props":2040,"children":2041},{},[2042],{"type":52,"value":2043},"Query all open opportunities owned by current user",{"type":47,"tag":93,"props":2045,"children":2046},{},[2047],{"type":52,"value":2048},"Analyze each deal against health criteria (stuck, missing next steps, qualification gaps)",{"type":47,"tag":93,"props":2050,"children":2051},{},[2052],{"type":52,"value":2053},"Calculate pipeline coverage vs. quota",{"type":47,"tag":93,"props":2055,"children":2056},{},[2057],{"type":52,"value":2058},"Generate prioritized action list",{"type":47,"tag":55,"props":2060,"children":2061},{},[2062],{"type":47,"tag":83,"props":2063,"children":2064},{},[2065],{"type":52,"value":2066},"Result:",{"type":47,"tag":138,"props":2068,"children":2071},{"className":2069,"code":2070,"language":52},[141],"PIPELINE HEALTH SUMMARY\n- Total Pipeline: $1.2M (42 opportunities)\n- Healthy Deals: 28 (67%)\n- Needs Attention: 10 (24%)\n- Critical: 4 (9%)\n\nTOP ACTIONS:\n1. Re-engage Contoso deal - no activity in 12 days\n2. Schedule discovery call with Fabrikam - missing BANT\n3. Update close date on 3 past-due opportunities\n",[2072],{"type":47,"tag":145,"props":2073,"children":2074},{"__ignoreMap":147},[2075],{"type":52,"value":2070},{"type":47,"tag":68,"props":2077,"children":2079},{"id":2078},"example-2-find-stuck-deals",[2080],{"type":52,"value":2081},"Example 2: Find Stuck Deals",{"type":47,"tag":55,"props":2083,"children":2084},{},[2085,2089],{"type":47,"tag":83,"props":2086,"children":2087},{},[2088],{"type":52,"value":2024},{"type":52,"value":2090}," \"Which of my deals are stuck?\"",{"type":47,"tag":55,"props":2092,"children":2093},{},[2094],{"type":47,"tag":83,"props":2095,"children":2096},{},[2097],{"type":52,"value":2034},{"type":47,"tag":2036,"props":2099,"children":2100},{},[2101,2106,2111,2116],{"type":47,"tag":93,"props":2102,"children":2103},{},[2104],{"type":52,"value":2105},"Query all open opportunities",{"type":47,"tag":93,"props":2107,"children":2108},{},[2109],{"type":52,"value":2110},"For each, check last activity date against stage-specific thresholds",{"type":47,"tag":93,"props":2112,"children":2113},{},[2114],{"type":52,"value":2115},"Flag deals exceeding warning\u002Fcritical thresholds",{"type":47,"tag":93,"props":2117,"children":2118},{},[2119],{"type":52,"value":2120},"Sort by days stuck and deal value",{"type":47,"tag":55,"props":2122,"children":2123},{},[2124],{"type":47,"tag":83,"props":2125,"children":2126},{},[2127],{"type":52,"value":2066},{"type":47,"tag":138,"props":2129,"children":2132},{"className":2130,"code":2131,"language":52},[141],"STUCK DEALS (4 found):\n1. Northwind Traders - $150K - 21 days in Propose stage (CRITICAL)\n2. Alpine Ski House - $75K - 14 days in Develop stage (WARNING)\n",[2133],{"type":47,"tag":145,"props":2134,"children":2135},{"__ignoreMap":147},[2136],{"type":52,"value":2131},{"type":47,"tag":68,"props":2138,"children":2140},{"id":2139},"example-3-qualify-under-qualified-deals",[2141],{"type":52,"value":2142},"Example 3: Qualify Under-Qualified Deals",{"type":47,"tag":55,"props":2144,"children":2145},{},[2146,2150],{"type":47,"tag":83,"props":2147,"children":2148},{},[2149],{"type":52,"value":2024},{"type":52,"value":2151}," \"Find deals with weak qualification\"",{"type":47,"tag":55,"props":2153,"children":2154},{},[2155],{"type":47,"tag":83,"props":2156,"children":2157},{},[2158],{"type":52,"value":2034},{"type":47,"tag":2036,"props":2160,"children":2161},{},[2162,2167,2172],{"type":47,"tag":93,"props":2163,"children":2164},{},[2165],{"type":52,"value":2166},"Calculate BANT score for each open opportunity",{"type":47,"tag":93,"props":2168,"children":2169},{},[2170],{"type":52,"value":2171},"Flag deals in late stages (Propose\u002FClose) with low qualification scores",{"type":47,"tag":93,"props":2173,"children":2174},{},[2175],{"type":52,"value":2176},"Identify specific missing qualification elements",{"type":47,"tag":55,"props":2178,"children":2179},{},[2180],{"type":47,"tag":83,"props":2181,"children":2182},{},[2183],{"type":52,"value":2066},{"type":47,"tag":138,"props":2185,"children":2188},{"className":2186,"code":2187,"language":52},[141],"UNDER-QUALIFIED DEALS IN LATE STAGES:\n1. Contoso Enterprise Deal - $200K in Propose\n   Missing: Budget not confirmed, Decision maker unknown\n   Recommendation: Schedule qualification call before proposal review\n",[2189],{"type":47,"tag":145,"props":2190,"children":2191},{"__ignoreMap":147},[2192],{"type":52,"value":2187},{"type":47,"tag":61,"props":2194,"children":2196},{"id":2195},"troubleshooting",[2197],{"type":52,"value":2198},"Troubleshooting",{"type":47,"tag":68,"props":2200,"children":2202},{"id":2201},"error-no-opportunities-found",[2203],{"type":52,"value":2204},"Error: No opportunities found",{"type":47,"tag":55,"props":2206,"children":2207},{},[2208,2213,2215],{"type":47,"tag":83,"props":2209,"children":2210},{},[2211],{"type":52,"value":2212},"Cause:",{"type":52,"value":2214}," User has no open opportunities or filter criteria too restrictive\n",{"type":47,"tag":83,"props":2216,"children":2217},{},[2218],{"type":52,"value":2219},"Solution:",{"type":47,"tag":89,"props":2221,"children":2222},{},[2223,2228,2233],{"type":47,"tag":93,"props":2224,"children":2225},{},[2226],{"type":52,"value":2227},"Check that statecode = 0 filter is correct",{"type":47,"tag":93,"props":2229,"children":2230},{},[2231],{"type":52,"value":2232},"Verify owner filter matches user's systemuserid",{"type":47,"tag":93,"props":2234,"children":2235},{},[2236],{"type":52,"value":2237},"Expand date range or remove value thresholds",{"type":47,"tag":68,"props":2239,"children":2241},{"id":2240},"error-activity-data-appears-incomplete",[2242],{"type":52,"value":2243},"Error: Activity data appears incomplete",{"type":47,"tag":55,"props":2245,"children":2246},{},[2247,2251,2253],{"type":47,"tag":83,"props":2248,"children":2249},{},[2250],{"type":52,"value":2212},{"type":52,"value":2252}," Activities not linked to opportunity via regardingobjectid\n",{"type":47,"tag":83,"props":2254,"children":2255},{},[2256],{"type":52,"value":2219},{"type":47,"tag":89,"props":2258,"children":2259},{},[2260,2265,2270],{"type":47,"tag":93,"props":2261,"children":2262},{},[2263],{"type":52,"value":2264},"Check if activities are linked to account instead of opportunity",{"type":47,"tag":93,"props":2266,"children":2267},{},[2268],{"type":52,"value":2269},"Query activities for both opportunity and related account",{"type":47,"tag":93,"props":2271,"children":2272},{},[2273],{"type":52,"value":2274},"Remind users to link activities to opportunities",{"type":47,"tag":68,"props":2276,"children":2278},{"id":2277},"error-pipeline-coverage-calculation-incorrect",[2279],{"type":52,"value":2280},"Error: Pipeline coverage calculation incorrect",{"type":47,"tag":55,"props":2282,"children":2283},{},[2284,2288,2290],{"type":47,"tag":83,"props":2285,"children":2286},{},[2287],{"type":52,"value":2212},{"type":52,"value":2289}," Quota data not available or forecast categories not set\n",{"type":47,"tag":83,"props":2291,"children":2292},{},[2293],{"type":52,"value":2219},{"type":47,"tag":89,"props":2295,"children":2296},{},[2297,2302,2307],{"type":47,"tag":93,"props":2298,"children":2299},{},[2300],{"type":52,"value":2301},"Accept quota as user-provided input",{"type":47,"tag":93,"props":2303,"children":2304},{},[2305],{"type":52,"value":2306},"Check msdyn_forecastcategory values are populated",{"type":47,"tag":93,"props":2308,"children":2309},{},[2310],{"type":52,"value":2311},"Default to estimatedvalue if forecast fields unavailable",{"items":2313,"total":2506},[2314,2336,2357,2376,2391,2408,2419,2432,2447,2462,2481,2494],{"slug":2315,"name":2315,"fn":2316,"description":2317,"org":2318,"tags":2319,"stars":2333,"repoUrl":2334,"updatedAt":2335},"rushstack-best-practices","manage Rush monorepos with best practices","Provides best practices and guidance for working with Rush monorepos. Use when the user is working in a Rush-based repository, asks about Rush commands (install, update, build, rebuild), needs help with project selection, dependency management, build caching, subspace configuration, or troubleshooting Rush-specific issues.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2320,2323,2326,2327,2330],{"name":2321,"slug":2322,"type":15},"Engineering","engineering",{"name":2324,"slug":2325,"type":15},"Local Development","local-development",{"name":9,"slug":8,"type":15},{"name":2328,"slug":2329,"type":15},"Project Management","project-management",{"name":2331,"slug":2332,"type":15},"Rush","rush",6484,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Frushstack","2026-04-06T18:34:44.965032",{"slug":2337,"name":2337,"fn":2338,"description":2339,"org":2340,"tags":2341,"stars":2354,"repoUrl":2355,"updatedAt":2356},"azure-ai-agents-persistent-dotnet","build AI agents with Azure .NET SDK","Azure AI Agents Persistent SDK for .NET. Low-level SDK for creating and managing AI agents with threads, messages, runs, and tools. Use for agent CRUD, conversation threads, streaming responses, function calling, file search, and code interpreter. Triggers: \"PersistentAgentsClient\", \"persistent agents\", \"agent threads\", \"agent runs\", \"streaming agents\", \"function calling agents .NET\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2342,2345,2348,2351],{"name":2343,"slug":2344,"type":15},".NET","net",{"name":2346,"slug":2347,"type":15},"Agents","agents",{"name":2349,"slug":2350,"type":15},"Azure","azure",{"name":2352,"slug":2353,"type":15},"LLM","llm",2804,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills","2026-07-03T16:32:10.297433",{"slug":2358,"name":2358,"fn":2359,"description":2360,"org":2361,"tags":2362,"stars":2354,"repoUrl":2355,"updatedAt":2375},"azure-ai-anomalydetector-java","build anomaly detection applications with Java","Build anomaly detection applications with Azure AI Anomaly Detector SDK for Java. Use when implementing univariate\u002Fmultivariate anomaly detection, time-series analysis, or AI-powered monitoring.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2363,2364,2365,2368,2371,2372],{"name":23,"slug":24,"type":15},{"name":2349,"slug":2350,"type":15},{"name":2366,"slug":2367,"type":15},"Data Analysis","data-analysis",{"name":2369,"slug":2370,"type":15},"Java","java",{"name":9,"slug":8,"type":15},{"name":2373,"slug":2374,"type":15},"Monitoring","monitoring","2026-05-13T06:14:16.261754",{"slug":2377,"name":2377,"fn":2378,"description":2379,"org":2380,"tags":2381,"stars":2354,"repoUrl":2355,"updatedAt":2390},"azure-ai-contentsafety-java","build content moderation applications with Azure AI","Build content moderation applications with Azure AI Content Safety SDK for Java. Use when implementing text\u002Fimage analysis, blocklist management, or harm detection for hate, violence, sexual content, and self-harm.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2382,2385,2386,2387],{"name":2383,"slug":2384,"type":15},"AI Infrastructure","ai-infrastructure",{"name":2349,"slug":2350,"type":15},{"name":2369,"slug":2370,"type":15},{"name":2388,"slug":2389,"type":15},"Security","security","2026-07-07T06:53:31.293235",{"slug":2392,"name":2392,"fn":2393,"description":2394,"org":2395,"tags":2396,"stars":2354,"repoUrl":2355,"updatedAt":2407},"azure-ai-contentsafety-py","detect harmful content with Azure AI Content Safety","Azure AI Content Safety SDK for Python. Use for detecting harmful content in text and images with multi-severity classification.\nTriggers: \"azure-ai-contentsafety\", \"ContentSafetyClient\", \"content moderation\", \"harmful content\", \"text analysis\", \"image analysis\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2397,2398,2401,2402,2403,2406],{"name":2349,"slug":2350,"type":15},{"name":2399,"slug":2400,"type":15},"Compliance","compliance",{"name":2352,"slug":2353,"type":15},{"name":9,"slug":8,"type":15},{"name":2404,"slug":2405,"type":15},"Python","python",{"name":2388,"slug":2389,"type":15},"2026-07-18T05:14:23.017504",{"slug":2409,"name":2409,"fn":2410,"description":2411,"org":2412,"tags":2413,"stars":2354,"repoUrl":2355,"updatedAt":2418},"azure-ai-language-conversations-py","implement conversational language understanding with Python","Implement Conversational Language Understanding (CLU) using the azure-ai-language-conversations Python SDK. Use when working with ConversationAnalysisClient to analyze conversation intent and entities, building NLP features, or integrating language understanding into applications.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2414,2415,2416,2417],{"name":23,"slug":24,"type":15},{"name":2349,"slug":2350,"type":15},{"name":2352,"slug":2353,"type":15},{"name":2404,"slug":2405,"type":15},"2026-07-31T05:54:29.068751",{"slug":2420,"name":2420,"fn":2421,"description":2422,"org":2423,"tags":2424,"stars":2354,"repoUrl":2355,"updatedAt":2431},"azure-ai-translation-text-py","translate text using Azure AI services","Azure AI Text Translation SDK for real-time text translation, transliteration, language detection, and dictionary lookup. Use for translating text content in applications.\nTriggers: \"text translation\", \"translator\", \"translate text\", \"transliterate\", \"TextTranslationClient\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2425,2428,2429,2430],{"name":2426,"slug":2427,"type":15},"API Development","api-development",{"name":2349,"slug":2350,"type":15},{"name":9,"slug":8,"type":15},{"name":2404,"slug":2405,"type":15},"2026-07-18T05:14:16.988376",{"slug":2433,"name":2433,"fn":2434,"description":2435,"org":2436,"tags":2437,"stars":2354,"repoUrl":2355,"updatedAt":2446},"azure-ai-vision-imageanalysis-py","analyze images with Azure AI Vision","Azure AI Vision Image Analysis SDK for captions, tags, objects, OCR, people detection, and smart cropping. Use for computer vision and image understanding tasks.\nTriggers: \"image analysis\", \"computer vision\", \"OCR\", \"object detection\", \"ImageAnalysisClient\", \"image caption\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2438,2439,2442,2445],{"name":2349,"slug":2350,"type":15},{"name":2440,"slug":2441,"type":15},"Computer Vision","computer-vision",{"name":2443,"slug":2444,"type":15},"Images","images",{"name":2404,"slug":2405,"type":15},"2026-07-18T05:14:18.007737",{"slug":2448,"name":2448,"fn":2449,"description":2450,"org":2451,"tags":2452,"stars":2354,"repoUrl":2355,"updatedAt":2461},"azure-appconfiguration-java","manage configuration with Azure App Configuration","Azure App Configuration SDK for Java. Centralized application configuration management with key-value settings, feature flags, and snapshots.\nTriggers: \"ConfigurationClient java\", \"app configuration java\", \"feature flag java\", \"configuration setting java\", \"azure config java\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2453,2454,2457,2460],{"name":2349,"slug":2350,"type":15},{"name":2455,"slug":2456,"type":15},"Configuration","configuration",{"name":2458,"slug":2459,"type":15},"Feature Flags","feature-flags",{"name":2369,"slug":2370,"type":15},"2026-07-03T16:32:01.278468",{"slug":2463,"name":2463,"fn":2464,"description":2465,"org":2466,"tags":2467,"stars":2354,"repoUrl":2355,"updatedAt":2480},"azure-cosmos-rust","build applications with Azure Cosmos DB","Azure Cosmos DB library for Rust (NoSQL API). Document CRUD, containers, and globally distributed data.\nTriggers: \"cosmos db rust\", \"CosmosClient rust\", \"document crud rust\", \"NoSQL rust\", \"partition key rust\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2468,2471,2474,2477],{"name":2469,"slug":2470,"type":15},"Cosmos DB","cosmos-db",{"name":2472,"slug":2473,"type":15},"Database","database",{"name":2475,"slug":2476,"type":15},"NoSQL","nosql",{"name":2478,"slug":2479,"type":15},"Rust","rust","2026-07-31T05:54:27.021432",{"slug":2482,"name":2482,"fn":2464,"description":2483,"org":2484,"tags":2485,"stars":2354,"repoUrl":2355,"updatedAt":2493},"azure-cosmos-ts","Azure Cosmos DB JavaScript\u002FTypeScript SDK (@azure\u002Fcosmos) for data plane operations. Use for CRUD operations on documents, queries, bulk operations, and container management. Triggers: \"Cosmos DB\", \"@azure\u002Fcosmos\", \"CosmosClient\", \"document CRUD\", \"NoSQL queries\", \"bulk operations\", \"partition key\", \"container.items\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2486,2487,2488,2489,2490],{"name":2469,"slug":2470,"type":15},{"name":2472,"slug":2473,"type":15},{"name":9,"slug":8,"type":15},{"name":2475,"slug":2476,"type":15},{"name":2491,"slug":2492,"type":15},"TypeScript","typescript","2026-07-03T16:31:19.368382",{"slug":2495,"name":2495,"fn":2496,"description":2497,"org":2498,"tags":2499,"stars":2354,"repoUrl":2355,"updatedAt":2505},"azure-data-tables-java","build table storage applications with Java","Build table storage applications with Azure Tables SDK for Java. Use when working with Azure Table Storage or Cosmos DB Table API for NoSQL key-value data, schemaless storage, or structured data at scale.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2500,2501,2502,2503,2504],{"name":2349,"slug":2350,"type":15},{"name":2469,"slug":2470,"type":15},{"name":2472,"slug":2473,"type":15},{"name":2369,"slug":2370,"type":15},{"name":2475,"slug":2476,"type":15},"2026-05-13T06:14:17.582229",267,{"items":2508,"total":2610},[2509,2526,2540,2553,2569,2581,2593],{"slug":2510,"name":2510,"fn":2511,"description":2512,"org":2513,"tags":2514,"stars":28,"repoUrl":29,"updatedAt":2525},"account-briefing-generator","generate account briefings for sales meetings","Generates meeting briefings by aggregating account info, contacts, opportunities, cases, and activity history into structured prep documents with talking points and discovery questions. Use when user says \"prep me for my call\", \"brief me on this account\", \"meeting prep\", \"I have a meeting with [company]\", \"account briefing\", \"customer briefing\", or \"prepare for customer meeting\".",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2515,2516,2517,2520,2521,2522],{"name":17,"slug":18,"type":15},{"name":26,"slug":27,"type":15},{"name":2518,"slug":2519,"type":15},"Meetings","meetings",{"name":9,"slug":8,"type":15},{"name":20,"slug":21,"type":15},{"name":2523,"slug":2524,"type":15},"Summarization","summarization","2026-04-06T18:36:32.277939",{"slug":2527,"name":2527,"fn":2528,"description":2529,"org":2530,"tags":2531,"stars":28,"repoUrl":29,"updatedAt":2539},"account-risk-early-warning","identify account churn risks from engagement signals","Identifies accounts showing warning signs of churn by analyzing activity trends, support cases, and engagement signals. Scores risk and prioritizes intervention targets. Use when user asks \"which accounts are at risk\", \"churn risk analysis\", \"find accounts that might leave\", \"customer health check\", \"at-risk customers\", \"retention warning signs\", or \"account health score\".",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2532,2533,2534,2535,2538],{"name":17,"slug":18,"type":15},{"name":26,"slug":27,"type":15},{"name":9,"slug":8,"type":15},{"name":2536,"slug":2537,"type":15},"Risk Assessment","risk-assessment",{"name":20,"slug":21,"type":15},"2026-04-06T18:36:28.462732",{"slug":2541,"name":2541,"fn":2542,"description":2543,"org":2544,"tags":2545,"stars":28,"repoUrl":29,"updatedAt":2552},"competitive-intelligence","generate competitive intelligence from sales data","Analyzes opportunity data and activity notes to generate competitive intelligence including win\u002Floss rates by competitor, patterns, and rep-ready battlecard talking points. Use when user asks \"how are we doing against [competitor]\", \"competitive analysis\", \"competitor win rate\", \"battlecard for [competitor]\", \"competitive landscape\", \"why are we losing to [competitor]\", or \"competitor intelligence\".",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2546,2548,2549,2550,2551],{"name":2547,"slug":2541,"type":15},"Competitive Intelligence",{"name":17,"slug":18,"type":15},{"name":26,"slug":27,"type":15},{"name":9,"slug":8,"type":15},{"name":20,"slug":21,"type":15},"2026-04-06T18:36:23.280253",{"slug":2554,"name":2554,"fn":2555,"description":2556,"org":2557,"tags":2558,"stars":28,"repoUrl":29,"updatedAt":2568},"create-an-asset","generate customized sales assets from Dataverse","Generates customized sales assets including one-pagers, proposals, executive summaries, ROI summaries, and mutual action plans from Dataverse context. Use when user says \"create a one-pager\", \"draft a proposal\", \"generate executive summary\", \"build ROI summary\", \"create mutual action plan\", \"sales asset for [account]\", \"proposal outline\", or \"customer-facing document\".",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2559,2562,2563,2566,2567],{"name":2560,"slug":2561,"type":15},"Content Creation","content-creation",{"name":26,"slug":27,"type":15},{"name":2564,"slug":2565,"type":15},"Marketing","marketing",{"name":9,"slug":8,"type":15},{"name":20,"slug":21,"type":15},"2026-04-06T18:36:24.562421",{"slug":2570,"name":2570,"fn":2571,"description":2572,"org":2573,"tags":2574,"stars":28,"repoUrl":29,"updatedAt":2580},"cross-sell-target-identifier","identify cross-sell targets from customer patterns","Analyzes successful product customers to identify patterns, then finds similar accounts that are good cross-sell candidates with fit scores and reasoning. Use when user asks \"who should I pitch this product to\", \"find cross-sell opportunities\", \"which customers should buy Product X\", \"identify upsell targets\", \"product expansion candidates\", or \"who else would buy this\".",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2575,2576,2577,2578,2579],{"name":23,"slug":24,"type":15},{"name":17,"slug":18,"type":15},{"name":26,"slug":27,"type":15},{"name":9,"slug":8,"type":15},{"name":20,"slug":21,"type":15},"2026-04-06T18:36:37.380929",{"slug":2582,"name":2582,"fn":2583,"description":2584,"org":2585,"tags":2586,"stars":28,"repoUrl":29,"updatedAt":2592},"daily-briefing","prepare daily business briefings from Dataverse","Delivers a prioritized morning summary covering today's meetings, overdue tasks, pipeline alerts, and recommended actions from Dataverse. Use when user says \"what's on my plate today\", \"daily briefing\", \"morning summary\", \"what do I need to focus on today\", \"start my day\", \"daily digest\", \"today's priorities\", or \"what's happening today\".",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2587,2588,2589,2590,2591],{"name":17,"slug":18,"type":15},{"name":26,"slug":27,"type":15},{"name":9,"slug":8,"type":15},{"name":20,"slug":21,"type":15},{"name":2523,"slug":2524,"type":15},"2026-04-06T18:36:31.028078",{"slug":2594,"name":2594,"fn":2595,"description":2596,"org":2597,"tags":2598,"stars":28,"repoUrl":29,"updatedAt":2609},"draft-outreach","draft personalized sales outreach from Dataverse","Generates personalized outreach messages by pulling context from Dataverse records. Creates tailored emails for new prospects, re-engagement, follow-ups, or cross-sell. Use when user says \"draft an email to [contact]\", \"write outreach for\", \"help me reach out to\", \"compose email\", \"re-engage this contact\", \"follow-up email\", \"prospecting email\", or \"outreach message for\".",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2599,2600,2601,2604,2605,2608],{"name":17,"slug":18,"type":15},{"name":26,"slug":27,"type":15},{"name":2602,"slug":2603,"type":15},"Email","email",{"name":9,"slug":8,"type":15},{"name":2606,"slug":2607,"type":15},"Outreach","outreach",{"name":20,"slug":21,"type":15},"2026-04-06T18:36:36.103544",16]