[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-microsoft-account-risk-early-warning":3,"mdc--adib3i-key":36,"related-repo-microsoft-account-risk-early-warning":2326,"related-org-microsoft-account-risk-early-warning":2425},{"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":34,"mdContent":35},"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},"microsoft","Microsoft","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fmicrosoft.png",[12,14,17,20,23],{"name":9,"slug":8,"type":13},"tag",{"name":15,"slug":16,"type":13},"CRM","crm",{"name":18,"slug":19,"type":13},"Sales","sales",{"name":21,"slug":22,"type":13},"Dataverse","dataverse",{"name":24,"slug":25,"type":13},"Risk Assessment","risk-assessment",41,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fdataverse-business-skills","2026-04-06T18:36:28.462732",null,9,[],{"repoUrl":27,"stars":26,"forks":30,"topics":33,"description":29},[],"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fdataverse-business-skills\u002Ftree\u002FHEAD\u002Fskills\u002Faccount-risk-early-warning","---\nname: account-risk-early-warning\ndescription: 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\".\nmetadata:\n  author: Dataverse\n  version: 1.0.0\n  category: customer-success\n---\n\n# Account Risk Early Warning\n\nRetaining existing customers is more cost-effective than acquiring new ones. This skill monitors key accounts for early warning signals that indicate potential churn or relationship issues, enabling proactive intervention before problems escalate.\n\n## Instructions\n\n### Step 1: Determine Scope\nWhen user asks \"Which of my top accounts are showing warning signs?\":\n\n**1.1 Define Account Set:**\n```\nOptions:\nA) All active accounts owned by user\nB) Specific account list (e.g., enterprise tier)\nC) Accounts with revenue above threshold\nD) Accounts up for renewal in next X months\n```\n\n**1.2 Query Target Accounts:**\n```\nSELECT accountid, name, revenue, numberofemployees, industrycode,\n       createdon, ownerid, customertypecode, territoryid,\n       openrevenue, openrevenue_date\nFROM account\n-- Note: openrevenue and openrevenue_date are rollup fields that may not exist in all orgs.\n-- If absent, calculate open pipeline value by querying the opportunity table directly.\nWHERE statecode = 0\nAND ownerid = '[current_user_id]'  -- or specific criteria\nORDER BY revenue DESC\n```\n\n#### Step 2: Analyze Risk Signals for Each Account\n\n**Important: Dataverse SQL Limitations**\nDataverse SQL does NOT support: subqueries, DATEADD(), GETUTCDATE(), HAVING, DISTINCT, UNION, CASE statements. \nUse separate queries and calculate date filters programmatically (e.g., calculate '2025-09-01' for 6 months ago).\n\n**2.1 Activity Trend Analysis**\nQuery recent activities for each account (run separately per account):\n```\nSELECT activityid, activitytypecode, createdon, statecode\nFROM activitypointer\nWHERE regardingobjectid = '[accountid]'\nAND createdon > '2025-09-01'\nORDER BY createdon DESC\n```\n\n**Calculate Activity Metrics:**\n```\nFor each account:\n- Total activities (last 6 months)\n- Activities per month trend\n- Activity types breakdown\n- Days since last activity\n- Comparison to account's historical average\n```\n\n**Activity Risk Indicators:**\n| Signal | Warning | Critical |\n|--------|---------|----------|\n| Days Since Last Activity | 30+ days | 60+ days |\n| Month-over-Month Decline | 25%+ decline | 50%+ decline |\n| No Meetings\u002FCalls | 45+ days | 90+ days |\n| Only Automated Emails | 30+ days | 60+ days |\n\n**2.2 Support Case Pattern Analysis**\nQuery recent cases (run per account, calculate date filter programmatically):\n```\nSELECT incidentid, title, createdon, prioritycode, severitycode, \n       statecode, statuscode, caseorigincode, customersatisfactioncode, \n       msdyn_casesentiment, escalatedon\nFROM incident\nWHERE customerid = '[accountid]'\nAND createdon > '2025-09-01'\nORDER BY createdon DESC\n```\n\n**Calculate Case Metrics:**\n```\nFor each account:\n- Total cases (last 6 months)\n- Cases per month trend\n- Case severity distribution\n- Average resolution time\n- Escalation count\n- Customer satisfaction scores (if available)\n- Sentiment analysis (msdyn_casesentiment)\n```\n\n**Case Risk Indicators:**\n| Signal | Warning | Critical |\n|--------|---------|----------|\n| Case Volume Increase | 50%+ increase | 100%+ increase |\n| High Severity Cases | 2+ in 30 days | 5+ in 30 days |\n| Escalated Cases | 1 in 60 days | 2+ in 60 days |\n| Negative Sentiment | Score 9 (Slightly negative) | Score 7-8 (Very negative \u002F Negative) |\n| Low Satisfaction | Score 2-3 | Score 1 (Very Dissatisfied) |\n| Unresolved Cases | 3+ open > 7 days | 5+ open > 14 days |\n\n**2.3 Opportunity Velocity Analysis**\nQuery opportunity history (per account, calculate date filter programmatically):\n```\nSELECT opportunityid, name, estimatedvalue, actualvalue,\n       statecode, statuscode, createdon, actualclosedate,\n       salesstage, msdyn_forecastcategory\nFROM opportunity\nWHERE accountid = '[accountid]'\nAND createdon > '2024-03-01'\nORDER BY createdon DESC\n```\n\n**Calculate Opportunity Metrics:**\n```\nFor each account:\n- New opportunities (last 6 months vs prior 6 months)\n- Win rate trend\n- Average deal size trend\n- Pipeline coverage\n- Time since last won deal\n- Lost opportunities (recent)\n```\n\n**Opportunity Risk Indicators:**\n| Signal | Warning | Critical |\n|--------|---------|----------|\n| No New Opportunities | 90+ days | 180+ days |\n| Declining Win Rate | 20%+ decline | 50%+ decline |\n| Declining Deal Size | 25%+ decline | 50%+ decline |\n| Recent Lost Deals | 1 in 60 days | 2+ in 60 days |\n| Stalled Pipeline | 60+ days no movement | 90+ days |\n\n**2.4 Engagement Pattern Analysis**\nAnalyze contact engagement:\n```\nSELECT c.contactid, c.fullname, c.jobtitle, c.accountrolecode\nFROM contact c\nWHERE c.accountid IN ([target account ids])\nAND c.statecode = 0\n\nSELECT a.regardingobjectid, COUNT(*) as activity_count,\n       MAX(a.createdon) as last_activity\nFROM activitypointer a\nJOIN contact c ON a.regardingobjectid = c.contactid\nWHERE c.accountid IN ([target account ids])\nAND a.createdon >= '[6_months_ago]'\nGROUP BY a.regardingobjectid\n```\n\n**Engagement Risk Indicators:**\n| Signal | Warning | Critical |\n|--------|---------|----------|\n| Key Contact Disengaged | 45+ days no response | 90+ days |\n| Champion Gone Dark | 30+ days | 60+ days |\n| Executive Engagement Drop | 50%+ decline | 75%+ decline |\n| New Decision Maker | Not yet engaged | 60+ days not engaged |\n| Contact Left Company | Detected | Champion left |\n\n**2.5 Relationship Signals from Notes**\nAnalyze annotations and activity descriptions:\n```\nSELECT a.objectid, a.subject, a.notetext, a.createdon\nFROM annotation a\nWHERE a.objecttypecode = 'account'\nAND a.objectid IN ([target account ids])\nAND a.createdon >= '[6_months_ago]'\nORDER BY a.createdon DESC\n```\n\n**Keyword Detection:**\nLook for risk keywords in notes:\n- **Negative:** \"unhappy\", \"frustrated\", \"dissatisfied\", \"complaint\", \"issue\", \"problem\", \"leaving\", \"cancel\", \"competitor\"\n- **Competitive:** \"evaluating alternatives\", \"RFP\", \"comparing options\", \"other vendors\"\n- **Organizational:** \"budget cut\", \"freeze\", \"layoffs\", \"restructuring\", \"merger\", \"acquisition\"\n- **Turnover:** \"leaving company\", \"new role\", \"replacement\", \"transition\"\n\n**2.6 Renewal and Contract Signals**\nIf contract\u002Frenewal data available:\n```\nQuery opportunities or custom entities for:\n- Upcoming renewal dates\n- Contract end dates\n- Renewal discussions (or lack thereof)\n```\n\n**Renewal Risk Indicators:**\n| Signal | Warning | Critical |\n|--------|---------|----------|\n| Renewal in 90 days | No discussion started | Negative feedback received |\n| Renewal in 60 days | No commitment | Competitor being evaluated |\n| Renewal in 30 days | Not verbal confirmed | At risk \u002F declining |\n\n#### Step 3: Calculate Composite Risk Score\n\n**Risk Score Model (0-100, higher = more risk):**\n\n| Risk Category | Weight | Max Points |\n|---------------|--------|------------|\n| Activity Decline | 20% | 20 |\n| Support Case Patterns | 25% | 25 |\n| Opportunity Velocity | 20% | 20 |\n| Engagement Patterns | 20% | 20 |\n| Relationship Signals | 15% | 15 |\n\n**Score Interpretation:**\n- 0-25: **Healthy** - No significant risk signals\n- 26-50: **Monitor** - Early warning signs, watch closely\n- 51-75: **At Risk** - Multiple warning signals, intervention needed\n- 76-100: **Critical** - Immediate action required\n\n#### Step 4: Prioritize Intervention Targets\n\n**Sort accounts by:**\n1. Risk Score (highest first)\n2. Revenue Impact (larger accounts prioritized)\n3. Renewal Proximity (sooner renewals first)\n4. Relationship Investment (longer tenure\u002Fmore history)\n\n**Calculate Priority Score:**\n```\npriority = risk_score * 0.5 + revenue_weight * 0.3 + renewal_urgency * 0.2\n\nWhere:\n- risk_score: 0-100 from Step 3\n- revenue_weight: Normalized account revenue\n- renewal_urgency: Days until renewal (inverted scale)\n```\n\n#### Step 5: Generate Risk Report\n\n**Output Format:**\n```\nACCOUNT RISK EARLY WARNING REPORT\n════════════════════════════════════════════════════\nGenerated: [Date]\nScope: [User]'s Accounts\nAccounts Analyzed: [N]\n\n════════════════════════════════════════════════════\nRISK SUMMARY\n════════════════════════════════════════════════════\nCritical Risk (76-100):   [N] accounts  $[revenue at risk]\nAt Risk (51-75):          [N] accounts  $[revenue at risk]\nMonitor (26-50):          [N] accounts  $[revenue at risk]\nHealthy (0-25):           [N] accounts  $[revenue value]\n\nTOTAL REVENUE AT RISK: $[sum of Critical + At Risk]\n\n════════════════════════════════════════════════════\nPRIORITY INTERVENTION LIST\n════════════════════════════════════════════════════\n\n1. 🔴 CONTOSO CORPORATION\n   Risk Score: 85\u002F100 (Critical)\n   Annual Revenue: $500,000\n   Renewal: 45 days\n   ─────────────────────────────────────────────────\n   \n   WARNING SIGNALS:\n   ⚠️  Activity Decline: 67% fewer touchpoints vs prior quarter\n   ⚠️  Support Cases: 8 cases in 30 days (up 300% from average)\n   ⚠️  Escalation: 2 escalated cases in past month\n   ⚠️  Sentiment: Case sentiment trending negative (avg 7.5)\n   ⚠️  Competitor: \"Evaluating alternatives\" mentioned in notes\n   ⚠️  Contact: VP Champion hasn't responded in 45 days\n   \n   DETAILED ANALYSIS:\n   \n   Activity Trend:\n   • 6 months ago: 12 activities\u002Fmonth\n   • Current: 4 activities\u002Fmonth\n   • Trend: ↓ 67% decline\n   \n   Support Cases:\n   • Total (6 mo): 15 cases\n   • Last 30 days: 8 cases (spike)\n   • High Severity: 3 cases\n   • Avg Resolution: 5.2 days (above SLA)\n   \n   Opportunity Status:\n   • No new opportunities in 120 days\n   • Last won deal: 8 months ago\n   • Pipeline: $0 (no active deals)\n   \n   Key Contacts:\n   • Sarah Chen (VP Ops) - Last contact: 45 days ago ⚠️\n   • John Smith (IT Dir) - Last contact: 12 days ago ✓\n   \n   RECOMMENDED INTERVENTIONS:\n   \n   Priority 1 (Immediate):\n   📞 Executive outreach from sales leadership to Sarah Chen\n      • Acknowledge support issues\n      • Request relationship review meeting\n      • Bring solutions, not sales pitch\n   \n   Priority 2 (This Week):\n   📋 Support case review with CS team\n      • Identify root cause of case spike\n      • Escalate to product\u002Fengineering if needed\n      • Prepare remediation plan\n   \n   Priority 3 (Within 2 Weeks):\n   📅 Renewal discussion meeting\n      • Don't wait - engage on renewal now\n      • Address concerns before they finalize decision\n      • Consider retention incentives if needed\n\n   ─────────────────────────────────────────────────\n\n2. 🟠 FABRIKAM INDUSTRIES\n   Risk Score: 62\u002F100 (At Risk)\n   Annual Revenue: $250,000\n   Renewal: 90 days\n   ─────────────────────────────────────────────────\n   \n   WARNING SIGNALS:\n   ⚠️  Champion Left: Primary contact left company 30 days ago\n   ⚠️  New Decision Maker: Replacement not yet engaged\n   ⚠️  Activity: 45 days since meaningful engagement\n   \n   RECOMMENDED INTERVENTIONS:\n   \n   Priority 1: Identify and engage new decision maker\n      • Research LinkedIn for replacement\n      • Get warm intro from remaining contacts\n      • Schedule introductory meeting\n\n[Continue for additional at-risk accounts...]\n```\n\n#### Step 6: Create Intervention Tasks\n\nFor each high-priority account, offer to create:\n\n```\nUse create_record with tablename: task\n{\n  \"subject\": \"⚠️ Risk Intervention: [Account Name]\",\n  \"description\": \"Risk Score: [X]\u002F100\\n\\nKey Warning Signals:\\n- [Signal 1]\\n- [Signal 2]\\n\\nRecommended Actions:\\n1. [Action 1]\\n2. [Action 2]\",\n  \"regardingobjectid\": \"[accountid]\",\n  \"scheduledend\": \"[today or tomorrow]\",\n  \"prioritycode\": 1 (High)\n}\n```\n\nAdd note to account record:\n```\nUse create_record with tablename: annotation\n{\n  \"subject\": \"Risk Assessment - [Date]\",\n  \"notetext\": \"Account flagged as [Risk Level].\\n\\nWarning Signals:\\n[Details]\\n\\nIntervention Plan:\\n[Actions]\",\n  \"objectid\": \"[accountid]\",\n  \"objecttypecode\": \"account\"\n}\n```\n\n### Dataverse Tables Used\n| Table | Purpose |\n|-------|---------|\n| `account` | Primary entity for risk analysis |\n| `activitypointer` | Activity trend analysis |\n| `phonecall` | Engagement tracking |\n| `appointment` | Meeting frequency |\n| `email` | Communication patterns |\n| `incident` | Support case patterns |\n| `opportunity` | Revenue velocity |\n| `contact` | Stakeholder engagement |\n| `annotation` | Notes for signal detection |\n| `task` | Create intervention tasks |\n\n### Key Fields Reference\n**account:**\n- `revenue` (MONEY) - Account value for prioritization\n- `ownerid` (OWNER) - Account owner for filtering\n- `createdon` (DATETIME) - Tenure calculation\n- `customertypecode` (CHOICE) - Relationship type\n- `openrevenue` (MONEY) - Total open pipeline value *(rollup field; availability depends on org configuration)*\n- `msdyn_accountkpiid` (LOOKUP → msdyn_accountkpiitem) - Relationship analytics KPI\n- `statecode` (STATE) - Active(0), Inactive(1)\n\n**msdyn_accountkpiitem (Sales Insights - Relationship Analytics):**\n- `msdyn_relationshiphealthscorevalue` (INT) - Health score (0-100)\n- `msdyn_relationshiphealthscorestate` (CHOICE) - Good(0), Fair(1), Poor(2)\n- `msdyn_relationshiphealthtrend` (CHOICE) - Improving(0), Steady(1), Declining(2), Not enough info(3)\n- `msdyn_emailssent` (INT) - Outgoing emails count\n- `msdyn_emailsreceived` (INT) - Incoming emails count\n- `msdyn_phonecallsmade` (INT) - Outbound calls count\n- `msdyn_phonecallsreceived` (INT) - Inbound calls count\n- `msdyn_meetingssent` (INT) - Meetings scheduled count\n- `msdyn_lastactivitybyteam` (DATETIME) - Last team outreach\n- `msdyn_nextactivitybyteam` (DATETIME) - Next scheduled activity\n- `msdyn_facetimewithcustomer` (DURATION) - Total meeting time\n- `msdyn_timespentbyteam` (DURATION) - Total time invested\n- `msdyn_averagefirstresponsetimebyusinhrs` (FLOAT) - Avg response time (hours)\n\n**incident:**\n- `prioritycode` (CHOICE) - High(1), Normal(2), Low(3)\n- `severitycode` (CHOICE) - Severity level\n- `casetypecode` (CHOICE) - Question(1), Problem(2), Request(3)\n- `caseorigincode` (CHOICE) - Source channel\n- `customersatisfactioncode` (CHOICE) - Very Dissatisfied(1), Dissatisfied(2), Neutral(3), Satisfied(4), Very Satisfied(5)\n- `msdyn_casesentiment` (CHOICE) - Sentiment scale (lower = more negative): Very negative(7), Negative(8), Slightly negative(9), Neutral(10), Slightly positive(11), Positive(12), Very positive(13)\n- `escalatedon` (DATETIME) - Escalation tracking\n- `statecode` (STATE) - Active(0), Resolved(1), Cancelled(2)\n- `statuscode` (STATUS) - In Progress(1), On Hold(2), Waiting(3), Researching(4) [Active]; Problem Solved(5), Info Provided(1000) [Resolved]; Cancelled(6), Merged(2000) [Cancelled]\n\n**activitypointer:**\n- `activitytypecode` (NVARCHAR) - Type: phonecall, email, appointment, task\n- `createdon` (DATETIME) - Activity date\n- `regardingobjectid` (LOOKUP) - Polymorphic link to account, contact, etc.\n- `statecode` (STATE) - Open(0), Completed(1), Canceled(2), Scheduled(3-appointments)\n\n### Risk Signal Weights (Configurable)\n\n| Signal Category | Default Weight | Adjustable Range |\n|-----------------|----------------|------------------|\n| Activity Decline | 20% | 10-30% |\n| Support Cases | 25% | 15-35% |\n| Opportunity Velocity | 20% | 10-30% |\n| Engagement Patterns | 20% | 10-30% |\n| Relationship Signals | 15% | 10-25% |\n\n### Best Practices\n\n1. **Early intervention wins:** Act on Monitor-level risks before they become Critical\n2. **Don't assume:** Verify signals with direct customer conversation\n3. **Cross-functional response:** Involve Success, Support, and Sales in intervention\n4. **Document everything:** Track intervention actions for pattern learning\n5. **Regular cadence:** Run risk analysis weekly for proactive management\n\n## Examples\n\n### Example 1: Weekly Account Health Check\n\n**User says:** \"Which of my accounts are at risk?\"\n\n**Actions:**\n1. Query all active accounts owned by user\n2. Analyze activity trends, support cases, opportunity velocity for each\n3. Calculate composite risk score\n4. Rank accounts by risk level\n\n**Result:**\n```\nACCOUNT RISK SUMMARY\nCritical (2): Immediate intervention required\nWarning (5): Schedule check-in this week\nMonitor (8): Watch for changes\nHealthy (35): No action needed\n\nCRITICAL ACCOUNTS:\n1. Contoso Ltd - Risk Score: 85\u002F100\n   - 60+ days since last activity\n   - 3 escalated support cases\n   - Renewal in 45 days\n   ACTION: Executive outreach immediately\n\n2. Fabrikam Inc - Risk Score: 78\u002F100\n   - Activity declined 70% vs prior quarter\n   - Champion contact left company\n   ACTION: Re-establish relationships\n```\n\n### Example 2: Specific Account Health Analysis\n\n**User says:** \"Check the health of the Northwind account\"\n\n**Actions:**\n1. Retrieve Northwind account details\n2. Analyze all risk signals in depth\n3. Provide detailed breakdown with recommendations\n\n**Result:**\n```\nNORTHWIND TRADERS - HEALTH ASSESSMENT\nOverall Risk: WARNING (62\u002F100)\n\nACTIVITY ANALYSIS:\n- Last interaction: 28 days ago (email)\n- Trend: Declining (45% fewer touchpoints vs. prior 90 days)\n\nSUPPORT ANALYSIS:\n- Open cases: 2 (1 high priority)\n- Recent escalation: Yes (3 days ago)\n- Sentiment: Slightly negative\n\nOPPORTUNITY ANALYSIS:\n- No new opportunities in 6 months\n- Last deal: Won 8 months ago\n\nRECOMMENDATION:\nSchedule customer success call to address open cases and explore expansion opportunities.\n```\n\n### Example 3: Renewal Risk Analysis\n\n**User says:** \"Show me accounts with renewals coming up that are at risk\"\n\n**Actions:**\n1. Filter accounts with renewals in next 90 days\n2. Cross-reference with risk signals\n3. Prioritize by revenue and risk score\n\n**Result:**\n```\nAT-RISK RENEWALS (Next 90 Days):\n1. Alpine Ski House - $150K ARR - Renews in 30 days\n   Risk: High engagement drop + unresolved escalation\n   \n2. Tailspin Toys - $80K ARR - Renews in 60 days\n   Risk: Budget freeze mentioned in recent call notes\n```\n\n## Troubleshooting\n\n### Error: No risk data available\n**Cause:** Sales Insights or Relationship Analytics not enabled\n**Solution:**\n- Fall back to activity count analysis\n- Use support case data as primary signal\n- Calculate manual engagement score from activitypointer\n\n### Error: Too many false positives\n**Cause:** Thresholds too sensitive for organization's engagement patterns\n**Solution:**\n- Adjust activity threshold based on account tier\n- Consider industry-specific baselines\n- Weight signals based on historical churn correlation\n\n### Error: Missing support case data\n**Cause:** Customer service not using Dynamics 365 for cases\n**Solution:**\n- Focus on activity and opportunity signals\n- Consider integrating external support data\n- Use activity notes for sentiment analysis\n",{"data":37,"body":41},{"name":4,"description":6,"metadata":38},{"author":21,"version":39,"category":40},"1.0.0","customer-success",{"type":42,"children":43},"root",[44,52,58,65,72,77,86,99,107,116,123,133,143,152,160,169,177,280,290,299,307,316,324,456,466,475,483,492,500,607,617,626,634,744,754,763,773,818,828,837,845,923,929,937,1050,1058,1108,1114,1122,1146,1154,1163,1169,1177,1186,1192,1197,1206,1211,1220,1226,1418,1424,1432,1518,1526,1672,1680,1801,1809,1854,1860,1966,1972,2025,2031,2037,2047,2055,2078,2086,2095,2101,2110,2117,2135,2142,2151,2157,2166,2173,2191,2198,2207,2213,2219,2234,2252,2258,2271,2289,2295,2308],{"type":45,"tag":46,"props":47,"children":48},"element","h1",{"id":4},[49],{"type":50,"value":51},"text","Account Risk Early Warning",{"type":45,"tag":53,"props":54,"children":55},"p",{},[56],{"type":50,"value":57},"Retaining existing customers is more cost-effective than acquiring new ones. This skill monitors key accounts for early warning signals that indicate potential churn or relationship issues, enabling proactive intervention before problems escalate.",{"type":45,"tag":59,"props":60,"children":62},"h2",{"id":61},"instructions",[63],{"type":50,"value":64},"Instructions",{"type":45,"tag":66,"props":67,"children":69},"h3",{"id":68},"step-1-determine-scope",[70],{"type":50,"value":71},"Step 1: Determine Scope",{"type":45,"tag":53,"props":73,"children":74},{},[75],{"type":50,"value":76},"When user asks \"Which of my top accounts are showing warning signs?\":",{"type":45,"tag":53,"props":78,"children":79},{},[80],{"type":45,"tag":81,"props":82,"children":83},"strong",{},[84],{"type":50,"value":85},"1.1 Define Account Set:",{"type":45,"tag":87,"props":88,"children":92},"pre",{"className":89,"code":91,"language":50},[90],"language-text","Options:\nA) All active accounts owned by user\nB) Specific account list (e.g., enterprise tier)\nC) Accounts with revenue above threshold\nD) Accounts up for renewal in next X months\n",[93],{"type":45,"tag":94,"props":95,"children":97},"code",{"__ignoreMap":96},"",[98],{"type":50,"value":91},{"type":45,"tag":53,"props":100,"children":101},{},[102],{"type":45,"tag":81,"props":103,"children":104},{},[105],{"type":50,"value":106},"1.2 Query Target Accounts:",{"type":45,"tag":87,"props":108,"children":111},{"className":109,"code":110,"language":50},[90],"SELECT accountid, name, revenue, numberofemployees, industrycode,\n       createdon, ownerid, customertypecode, territoryid,\n       openrevenue, openrevenue_date\nFROM account\n-- Note: openrevenue and openrevenue_date are rollup fields that may not exist in all orgs.\n-- If absent, calculate open pipeline value by querying the opportunity table directly.\nWHERE statecode = 0\nAND ownerid = '[current_user_id]'  -- or specific criteria\nORDER BY revenue DESC\n",[112],{"type":45,"tag":94,"props":113,"children":114},{"__ignoreMap":96},[115],{"type":50,"value":110},{"type":45,"tag":117,"props":118,"children":120},"h4",{"id":119},"step-2-analyze-risk-signals-for-each-account",[121],{"type":50,"value":122},"Step 2: Analyze Risk Signals for Each Account",{"type":45,"tag":53,"props":124,"children":125},{},[126,131],{"type":45,"tag":81,"props":127,"children":128},{},[129],{"type":50,"value":130},"Important: Dataverse SQL Limitations",{"type":50,"value":132},"\nDataverse SQL does NOT support: subqueries, DATEADD(), GETUTCDATE(), HAVING, DISTINCT, UNION, CASE statements.\nUse separate queries and calculate date filters programmatically (e.g., calculate '2025-09-01' for 6 months ago).",{"type":45,"tag":53,"props":134,"children":135},{},[136,141],{"type":45,"tag":81,"props":137,"children":138},{},[139],{"type":50,"value":140},"2.1 Activity Trend Analysis",{"type":50,"value":142},"\nQuery recent activities for each account (run separately per account):",{"type":45,"tag":87,"props":144,"children":147},{"className":145,"code":146,"language":50},[90],"SELECT activityid, activitytypecode, createdon, statecode\nFROM activitypointer\nWHERE regardingobjectid = '[accountid]'\nAND createdon > '2025-09-01'\nORDER BY createdon DESC\n",[148],{"type":45,"tag":94,"props":149,"children":150},{"__ignoreMap":96},[151],{"type":50,"value":146},{"type":45,"tag":53,"props":153,"children":154},{},[155],{"type":45,"tag":81,"props":156,"children":157},{},[158],{"type":50,"value":159},"Calculate Activity Metrics:",{"type":45,"tag":87,"props":161,"children":164},{"className":162,"code":163,"language":50},[90],"For each account:\n- Total activities (last 6 months)\n- Activities per month trend\n- Activity types breakdown\n- Days since last activity\n- Comparison to account's historical average\n",[165],{"type":45,"tag":94,"props":166,"children":167},{"__ignoreMap":96},[168],{"type":50,"value":163},{"type":45,"tag":53,"props":170,"children":171},{},[172],{"type":45,"tag":81,"props":173,"children":174},{},[175],{"type":50,"value":176},"Activity Risk Indicators:",{"type":45,"tag":178,"props":179,"children":180},"table",{},[181,205],{"type":45,"tag":182,"props":183,"children":184},"thead",{},[185],{"type":45,"tag":186,"props":187,"children":188},"tr",{},[189,195,200],{"type":45,"tag":190,"props":191,"children":192},"th",{},[193],{"type":50,"value":194},"Signal",{"type":45,"tag":190,"props":196,"children":197},{},[198],{"type":50,"value":199},"Warning",{"type":45,"tag":190,"props":201,"children":202},{},[203],{"type":50,"value":204},"Critical",{"type":45,"tag":206,"props":207,"children":208},"tbody",{},[209,228,246,264],{"type":45,"tag":186,"props":210,"children":211},{},[212,218,223],{"type":45,"tag":213,"props":214,"children":215},"td",{},[216],{"type":50,"value":217},"Days Since Last Activity",{"type":45,"tag":213,"props":219,"children":220},{},[221],{"type":50,"value":222},"30+ days",{"type":45,"tag":213,"props":224,"children":225},{},[226],{"type":50,"value":227},"60+ days",{"type":45,"tag":186,"props":229,"children":230},{},[231,236,241],{"type":45,"tag":213,"props":232,"children":233},{},[234],{"type":50,"value":235},"Month-over-Month Decline",{"type":45,"tag":213,"props":237,"children":238},{},[239],{"type":50,"value":240},"25%+ decline",{"type":45,"tag":213,"props":242,"children":243},{},[244],{"type":50,"value":245},"50%+ decline",{"type":45,"tag":186,"props":247,"children":248},{},[249,254,259],{"type":45,"tag":213,"props":250,"children":251},{},[252],{"type":50,"value":253},"No Meetings\u002FCalls",{"type":45,"tag":213,"props":255,"children":256},{},[257],{"type":50,"value":258},"45+ days",{"type":45,"tag":213,"props":260,"children":261},{},[262],{"type":50,"value":263},"90+ days",{"type":45,"tag":186,"props":265,"children":266},{},[267,272,276],{"type":45,"tag":213,"props":268,"children":269},{},[270],{"type":50,"value":271},"Only Automated Emails",{"type":45,"tag":213,"props":273,"children":274},{},[275],{"type":50,"value":222},{"type":45,"tag":213,"props":277,"children":278},{},[279],{"type":50,"value":227},{"type":45,"tag":53,"props":281,"children":282},{},[283,288],{"type":45,"tag":81,"props":284,"children":285},{},[286],{"type":50,"value":287},"2.2 Support Case Pattern Analysis",{"type":50,"value":289},"\nQuery recent cases (run per account, calculate date filter programmatically):",{"type":45,"tag":87,"props":291,"children":294},{"className":292,"code":293,"language":50},[90],"SELECT incidentid, title, createdon, prioritycode, severitycode, \n       statecode, statuscode, caseorigincode, customersatisfactioncode, \n       msdyn_casesentiment, escalatedon\nFROM incident\nWHERE customerid = '[accountid]'\nAND createdon > '2025-09-01'\nORDER BY createdon DESC\n",[295],{"type":45,"tag":94,"props":296,"children":297},{"__ignoreMap":96},[298],{"type":50,"value":293},{"type":45,"tag":53,"props":300,"children":301},{},[302],{"type":45,"tag":81,"props":303,"children":304},{},[305],{"type":50,"value":306},"Calculate Case Metrics:",{"type":45,"tag":87,"props":308,"children":311},{"className":309,"code":310,"language":50},[90],"For each account:\n- Total cases (last 6 months)\n- Cases per month trend\n- Case severity distribution\n- Average resolution time\n- Escalation count\n- Customer satisfaction scores (if available)\n- Sentiment analysis (msdyn_casesentiment)\n",[312],{"type":45,"tag":94,"props":313,"children":314},{"__ignoreMap":96},[315],{"type":50,"value":310},{"type":45,"tag":53,"props":317,"children":318},{},[319],{"type":45,"tag":81,"props":320,"children":321},{},[322],{"type":50,"value":323},"Case Risk Indicators:",{"type":45,"tag":178,"props":325,"children":326},{},[327,345],{"type":45,"tag":182,"props":328,"children":329},{},[330],{"type":45,"tag":186,"props":331,"children":332},{},[333,337,341],{"type":45,"tag":190,"props":334,"children":335},{},[336],{"type":50,"value":194},{"type":45,"tag":190,"props":338,"children":339},{},[340],{"type":50,"value":199},{"type":45,"tag":190,"props":342,"children":343},{},[344],{"type":50,"value":204},{"type":45,"tag":206,"props":346,"children":347},{},[348,366,384,402,420,438],{"type":45,"tag":186,"props":349,"children":350},{},[351,356,361],{"type":45,"tag":213,"props":352,"children":353},{},[354],{"type":50,"value":355},"Case Volume Increase",{"type":45,"tag":213,"props":357,"children":358},{},[359],{"type":50,"value":360},"50%+ increase",{"type":45,"tag":213,"props":362,"children":363},{},[364],{"type":50,"value":365},"100%+ increase",{"type":45,"tag":186,"props":367,"children":368},{},[369,374,379],{"type":45,"tag":213,"props":370,"children":371},{},[372],{"type":50,"value":373},"High Severity Cases",{"type":45,"tag":213,"props":375,"children":376},{},[377],{"type":50,"value":378},"2+ in 30 days",{"type":45,"tag":213,"props":380,"children":381},{},[382],{"type":50,"value":383},"5+ in 30 days",{"type":45,"tag":186,"props":385,"children":386},{},[387,392,397],{"type":45,"tag":213,"props":388,"children":389},{},[390],{"type":50,"value":391},"Escalated Cases",{"type":45,"tag":213,"props":393,"children":394},{},[395],{"type":50,"value":396},"1 in 60 days",{"type":45,"tag":213,"props":398,"children":399},{},[400],{"type":50,"value":401},"2+ in 60 days",{"type":45,"tag":186,"props":403,"children":404},{},[405,410,415],{"type":45,"tag":213,"props":406,"children":407},{},[408],{"type":50,"value":409},"Negative Sentiment",{"type":45,"tag":213,"props":411,"children":412},{},[413],{"type":50,"value":414},"Score 9 (Slightly negative)",{"type":45,"tag":213,"props":416,"children":417},{},[418],{"type":50,"value":419},"Score 7-8 (Very negative \u002F Negative)",{"type":45,"tag":186,"props":421,"children":422},{},[423,428,433],{"type":45,"tag":213,"props":424,"children":425},{},[426],{"type":50,"value":427},"Low Satisfaction",{"type":45,"tag":213,"props":429,"children":430},{},[431],{"type":50,"value":432},"Score 2-3",{"type":45,"tag":213,"props":434,"children":435},{},[436],{"type":50,"value":437},"Score 1 (Very Dissatisfied)",{"type":45,"tag":186,"props":439,"children":440},{},[441,446,451],{"type":45,"tag":213,"props":442,"children":443},{},[444],{"type":50,"value":445},"Unresolved Cases",{"type":45,"tag":213,"props":447,"children":448},{},[449],{"type":50,"value":450},"3+ open > 7 days",{"type":45,"tag":213,"props":452,"children":453},{},[454],{"type":50,"value":455},"5+ open > 14 days",{"type":45,"tag":53,"props":457,"children":458},{},[459,464],{"type":45,"tag":81,"props":460,"children":461},{},[462],{"type":50,"value":463},"2.3 Opportunity Velocity Analysis",{"type":50,"value":465},"\nQuery opportunity history (per account, calculate date filter programmatically):",{"type":45,"tag":87,"props":467,"children":470},{"className":468,"code":469,"language":50},[90],"SELECT opportunityid, name, estimatedvalue, actualvalue,\n       statecode, statuscode, createdon, actualclosedate,\n       salesstage, msdyn_forecastcategory\nFROM opportunity\nWHERE accountid = '[accountid]'\nAND createdon > '2024-03-01'\nORDER BY createdon DESC\n",[471],{"type":45,"tag":94,"props":472,"children":473},{"__ignoreMap":96},[474],{"type":50,"value":469},{"type":45,"tag":53,"props":476,"children":477},{},[478],{"type":45,"tag":81,"props":479,"children":480},{},[481],{"type":50,"value":482},"Calculate Opportunity Metrics:",{"type":45,"tag":87,"props":484,"children":487},{"className":485,"code":486,"language":50},[90],"For each account:\n- New opportunities (last 6 months vs prior 6 months)\n- Win rate trend\n- Average deal size trend\n- Pipeline coverage\n- Time since last won deal\n- Lost opportunities (recent)\n",[488],{"type":45,"tag":94,"props":489,"children":490},{"__ignoreMap":96},[491],{"type":50,"value":486},{"type":45,"tag":53,"props":493,"children":494},{},[495],{"type":45,"tag":81,"props":496,"children":497},{},[498],{"type":50,"value":499},"Opportunity Risk Indicators:",{"type":45,"tag":178,"props":501,"children":502},{},[503,521],{"type":45,"tag":182,"props":504,"children":505},{},[506],{"type":45,"tag":186,"props":507,"children":508},{},[509,513,517],{"type":45,"tag":190,"props":510,"children":511},{},[512],{"type":50,"value":194},{"type":45,"tag":190,"props":514,"children":515},{},[516],{"type":50,"value":199},{"type":45,"tag":190,"props":518,"children":519},{},[520],{"type":50,"value":204},{"type":45,"tag":206,"props":522,"children":523},{},[524,541,558,574,590],{"type":45,"tag":186,"props":525,"children":526},{},[527,532,536],{"type":45,"tag":213,"props":528,"children":529},{},[530],{"type":50,"value":531},"No New Opportunities",{"type":45,"tag":213,"props":533,"children":534},{},[535],{"type":50,"value":263},{"type":45,"tag":213,"props":537,"children":538},{},[539],{"type":50,"value":540},"180+ days",{"type":45,"tag":186,"props":542,"children":543},{},[544,549,554],{"type":45,"tag":213,"props":545,"children":546},{},[547],{"type":50,"value":548},"Declining Win Rate",{"type":45,"tag":213,"props":550,"children":551},{},[552],{"type":50,"value":553},"20%+ decline",{"type":45,"tag":213,"props":555,"children":556},{},[557],{"type":50,"value":245},{"type":45,"tag":186,"props":559,"children":560},{},[561,566,570],{"type":45,"tag":213,"props":562,"children":563},{},[564],{"type":50,"value":565},"Declining Deal Size",{"type":45,"tag":213,"props":567,"children":568},{},[569],{"type":50,"value":240},{"type":45,"tag":213,"props":571,"children":572},{},[573],{"type":50,"value":245},{"type":45,"tag":186,"props":575,"children":576},{},[577,582,586],{"type":45,"tag":213,"props":578,"children":579},{},[580],{"type":50,"value":581},"Recent Lost Deals",{"type":45,"tag":213,"props":583,"children":584},{},[585],{"type":50,"value":396},{"type":45,"tag":213,"props":587,"children":588},{},[589],{"type":50,"value":401},{"type":45,"tag":186,"props":591,"children":592},{},[593,598,603],{"type":45,"tag":213,"props":594,"children":595},{},[596],{"type":50,"value":597},"Stalled Pipeline",{"type":45,"tag":213,"props":599,"children":600},{},[601],{"type":50,"value":602},"60+ days no movement",{"type":45,"tag":213,"props":604,"children":605},{},[606],{"type":50,"value":263},{"type":45,"tag":53,"props":608,"children":609},{},[610,615],{"type":45,"tag":81,"props":611,"children":612},{},[613],{"type":50,"value":614},"2.4 Engagement Pattern Analysis",{"type":50,"value":616},"\nAnalyze contact engagement:",{"type":45,"tag":87,"props":618,"children":621},{"className":619,"code":620,"language":50},[90],"SELECT c.contactid, c.fullname, c.jobtitle, c.accountrolecode\nFROM contact c\nWHERE c.accountid IN ([target account ids])\nAND c.statecode = 0\n\nSELECT a.regardingobjectid, COUNT(*) as activity_count,\n       MAX(a.createdon) as last_activity\nFROM activitypointer a\nJOIN contact c ON a.regardingobjectid = c.contactid\nWHERE c.accountid IN ([target account ids])\nAND a.createdon >= '[6_months_ago]'\nGROUP BY a.regardingobjectid\n",[622],{"type":45,"tag":94,"props":623,"children":624},{"__ignoreMap":96},[625],{"type":50,"value":620},{"type":45,"tag":53,"props":627,"children":628},{},[629],{"type":45,"tag":81,"props":630,"children":631},{},[632],{"type":50,"value":633},"Engagement Risk Indicators:",{"type":45,"tag":178,"props":635,"children":636},{},[637,655],{"type":45,"tag":182,"props":638,"children":639},{},[640],{"type":45,"tag":186,"props":641,"children":642},{},[643,647,651],{"type":45,"tag":190,"props":644,"children":645},{},[646],{"type":50,"value":194},{"type":45,"tag":190,"props":648,"children":649},{},[650],{"type":50,"value":199},{"type":45,"tag":190,"props":652,"children":653},{},[654],{"type":50,"value":204},{"type":45,"tag":206,"props":656,"children":657},{},[658,675,691,708,726],{"type":45,"tag":186,"props":659,"children":660},{},[661,666,671],{"type":45,"tag":213,"props":662,"children":663},{},[664],{"type":50,"value":665},"Key Contact Disengaged",{"type":45,"tag":213,"props":667,"children":668},{},[669],{"type":50,"value":670},"45+ days no response",{"type":45,"tag":213,"props":672,"children":673},{},[674],{"type":50,"value":263},{"type":45,"tag":186,"props":676,"children":677},{},[678,683,687],{"type":45,"tag":213,"props":679,"children":680},{},[681],{"type":50,"value":682},"Champion Gone Dark",{"type":45,"tag":213,"props":684,"children":685},{},[686],{"type":50,"value":222},{"type":45,"tag":213,"props":688,"children":689},{},[690],{"type":50,"value":227},{"type":45,"tag":186,"props":692,"children":693},{},[694,699,703],{"type":45,"tag":213,"props":695,"children":696},{},[697],{"type":50,"value":698},"Executive Engagement Drop",{"type":45,"tag":213,"props":700,"children":701},{},[702],{"type":50,"value":245},{"type":45,"tag":213,"props":704,"children":705},{},[706],{"type":50,"value":707},"75%+ decline",{"type":45,"tag":186,"props":709,"children":710},{},[711,716,721],{"type":45,"tag":213,"props":712,"children":713},{},[714],{"type":50,"value":715},"New Decision Maker",{"type":45,"tag":213,"props":717,"children":718},{},[719],{"type":50,"value":720},"Not yet engaged",{"type":45,"tag":213,"props":722,"children":723},{},[724],{"type":50,"value":725},"60+ days not engaged",{"type":45,"tag":186,"props":727,"children":728},{},[729,734,739],{"type":45,"tag":213,"props":730,"children":731},{},[732],{"type":50,"value":733},"Contact Left Company",{"type":45,"tag":213,"props":735,"children":736},{},[737],{"type":50,"value":738},"Detected",{"type":45,"tag":213,"props":740,"children":741},{},[742],{"type":50,"value":743},"Champion left",{"type":45,"tag":53,"props":745,"children":746},{},[747,752],{"type":45,"tag":81,"props":748,"children":749},{},[750],{"type":50,"value":751},"2.5 Relationship Signals from Notes",{"type":50,"value":753},"\nAnalyze annotations and activity descriptions:",{"type":45,"tag":87,"props":755,"children":758},{"className":756,"code":757,"language":50},[90],"SELECT a.objectid, a.subject, a.notetext, a.createdon\nFROM annotation a\nWHERE a.objecttypecode = 'account'\nAND a.objectid IN ([target account ids])\nAND a.createdon >= '[6_months_ago]'\nORDER BY a.createdon DESC\n",[759],{"type":45,"tag":94,"props":760,"children":761},{"__ignoreMap":96},[762],{"type":50,"value":757},{"type":45,"tag":53,"props":764,"children":765},{},[766,771],{"type":45,"tag":81,"props":767,"children":768},{},[769],{"type":50,"value":770},"Keyword Detection:",{"type":50,"value":772},"\nLook for risk keywords in notes:",{"type":45,"tag":774,"props":775,"children":776},"ul",{},[777,788,798,808],{"type":45,"tag":778,"props":779,"children":780},"li",{},[781,786],{"type":45,"tag":81,"props":782,"children":783},{},[784],{"type":50,"value":785},"Negative:",{"type":50,"value":787}," \"unhappy\", \"frustrated\", \"dissatisfied\", \"complaint\", \"issue\", \"problem\", \"leaving\", \"cancel\", \"competitor\"",{"type":45,"tag":778,"props":789,"children":790},{},[791,796],{"type":45,"tag":81,"props":792,"children":793},{},[794],{"type":50,"value":795},"Competitive:",{"type":50,"value":797}," \"evaluating alternatives\", \"RFP\", \"comparing options\", \"other vendors\"",{"type":45,"tag":778,"props":799,"children":800},{},[801,806],{"type":45,"tag":81,"props":802,"children":803},{},[804],{"type":50,"value":805},"Organizational:",{"type":50,"value":807}," \"budget cut\", \"freeze\", \"layoffs\", \"restructuring\", \"merger\", \"acquisition\"",{"type":45,"tag":778,"props":809,"children":810},{},[811,816],{"type":45,"tag":81,"props":812,"children":813},{},[814],{"type":50,"value":815},"Turnover:",{"type":50,"value":817}," \"leaving company\", \"new role\", \"replacement\", \"transition\"",{"type":45,"tag":53,"props":819,"children":820},{},[821,826],{"type":45,"tag":81,"props":822,"children":823},{},[824],{"type":50,"value":825},"2.6 Renewal and Contract Signals",{"type":50,"value":827},"\nIf contract\u002Frenewal data available:",{"type":45,"tag":87,"props":829,"children":832},{"className":830,"code":831,"language":50},[90],"Query opportunities or custom entities for:\n- Upcoming renewal dates\n- Contract end dates\n- Renewal discussions (or lack thereof)\n",[833],{"type":45,"tag":94,"props":834,"children":835},{"__ignoreMap":96},[836],{"type":50,"value":831},{"type":45,"tag":53,"props":838,"children":839},{},[840],{"type":45,"tag":81,"props":841,"children":842},{},[843],{"type":50,"value":844},"Renewal Risk Indicators:",{"type":45,"tag":178,"props":846,"children":847},{},[848,866],{"type":45,"tag":182,"props":849,"children":850},{},[851],{"type":45,"tag":186,"props":852,"children":853},{},[854,858,862],{"type":45,"tag":190,"props":855,"children":856},{},[857],{"type":50,"value":194},{"type":45,"tag":190,"props":859,"children":860},{},[861],{"type":50,"value":199},{"type":45,"tag":190,"props":863,"children":864},{},[865],{"type":50,"value":204},{"type":45,"tag":206,"props":867,"children":868},{},[869,887,905],{"type":45,"tag":186,"props":870,"children":871},{},[872,877,882],{"type":45,"tag":213,"props":873,"children":874},{},[875],{"type":50,"value":876},"Renewal in 90 days",{"type":45,"tag":213,"props":878,"children":879},{},[880],{"type":50,"value":881},"No discussion started",{"type":45,"tag":213,"props":883,"children":884},{},[885],{"type":50,"value":886},"Negative feedback received",{"type":45,"tag":186,"props":888,"children":889},{},[890,895,900],{"type":45,"tag":213,"props":891,"children":892},{},[893],{"type":50,"value":894},"Renewal in 60 days",{"type":45,"tag":213,"props":896,"children":897},{},[898],{"type":50,"value":899},"No commitment",{"type":45,"tag":213,"props":901,"children":902},{},[903],{"type":50,"value":904},"Competitor being evaluated",{"type":45,"tag":186,"props":906,"children":907},{},[908,913,918],{"type":45,"tag":213,"props":909,"children":910},{},[911],{"type":50,"value":912},"Renewal in 30 days",{"type":45,"tag":213,"props":914,"children":915},{},[916],{"type":50,"value":917},"Not verbal confirmed",{"type":45,"tag":213,"props":919,"children":920},{},[921],{"type":50,"value":922},"At risk \u002F declining",{"type":45,"tag":117,"props":924,"children":926},{"id":925},"step-3-calculate-composite-risk-score",[927],{"type":50,"value":928},"Step 3: Calculate Composite Risk Score",{"type":45,"tag":53,"props":930,"children":931},{},[932],{"type":45,"tag":81,"props":933,"children":934},{},[935],{"type":50,"value":936},"Risk Score Model (0-100, higher = more risk):",{"type":45,"tag":178,"props":938,"children":939},{},[940,961],{"type":45,"tag":182,"props":941,"children":942},{},[943],{"type":45,"tag":186,"props":944,"children":945},{},[946,951,956],{"type":45,"tag":190,"props":947,"children":948},{},[949],{"type":50,"value":950},"Risk Category",{"type":45,"tag":190,"props":952,"children":953},{},[954],{"type":50,"value":955},"Weight",{"type":45,"tag":190,"props":957,"children":958},{},[959],{"type":50,"value":960},"Max Points",{"type":45,"tag":206,"props":962,"children":963},{},[964,982,1000,1016,1032],{"type":45,"tag":186,"props":965,"children":966},{},[967,972,977],{"type":45,"tag":213,"props":968,"children":969},{},[970],{"type":50,"value":971},"Activity Decline",{"type":45,"tag":213,"props":973,"children":974},{},[975],{"type":50,"value":976},"20%",{"type":45,"tag":213,"props":978,"children":979},{},[980],{"type":50,"value":981},"20",{"type":45,"tag":186,"props":983,"children":984},{},[985,990,995],{"type":45,"tag":213,"props":986,"children":987},{},[988],{"type":50,"value":989},"Support Case Patterns",{"type":45,"tag":213,"props":991,"children":992},{},[993],{"type":50,"value":994},"25%",{"type":45,"tag":213,"props":996,"children":997},{},[998],{"type":50,"value":999},"25",{"type":45,"tag":186,"props":1001,"children":1002},{},[1003,1008,1012],{"type":45,"tag":213,"props":1004,"children":1005},{},[1006],{"type":50,"value":1007},"Opportunity Velocity",{"type":45,"tag":213,"props":1009,"children":1010},{},[1011],{"type":50,"value":976},{"type":45,"tag":213,"props":1013,"children":1014},{},[1015],{"type":50,"value":981},{"type":45,"tag":186,"props":1017,"children":1018},{},[1019,1024,1028],{"type":45,"tag":213,"props":1020,"children":1021},{},[1022],{"type":50,"value":1023},"Engagement Patterns",{"type":45,"tag":213,"props":1025,"children":1026},{},[1027],{"type":50,"value":976},{"type":45,"tag":213,"props":1029,"children":1030},{},[1031],{"type":50,"value":981},{"type":45,"tag":186,"props":1033,"children":1034},{},[1035,1040,1045],{"type":45,"tag":213,"props":1036,"children":1037},{},[1038],{"type":50,"value":1039},"Relationship Signals",{"type":45,"tag":213,"props":1041,"children":1042},{},[1043],{"type":50,"value":1044},"15%",{"type":45,"tag":213,"props":1046,"children":1047},{},[1048],{"type":50,"value":1049},"15",{"type":45,"tag":53,"props":1051,"children":1052},{},[1053],{"type":45,"tag":81,"props":1054,"children":1055},{},[1056],{"type":50,"value":1057},"Score Interpretation:",{"type":45,"tag":774,"props":1059,"children":1060},{},[1061,1073,1085,1097],{"type":45,"tag":778,"props":1062,"children":1063},{},[1064,1066,1071],{"type":50,"value":1065},"0-25: ",{"type":45,"tag":81,"props":1067,"children":1068},{},[1069],{"type":50,"value":1070},"Healthy",{"type":50,"value":1072}," - No significant risk signals",{"type":45,"tag":778,"props":1074,"children":1075},{},[1076,1078,1083],{"type":50,"value":1077},"26-50: ",{"type":45,"tag":81,"props":1079,"children":1080},{},[1081],{"type":50,"value":1082},"Monitor",{"type":50,"value":1084}," - Early warning signs, watch closely",{"type":45,"tag":778,"props":1086,"children":1087},{},[1088,1090,1095],{"type":50,"value":1089},"51-75: ",{"type":45,"tag":81,"props":1091,"children":1092},{},[1093],{"type":50,"value":1094},"At Risk",{"type":50,"value":1096}," - Multiple warning signals, intervention needed",{"type":45,"tag":778,"props":1098,"children":1099},{},[1100,1102,1106],{"type":50,"value":1101},"76-100: ",{"type":45,"tag":81,"props":1103,"children":1104},{},[1105],{"type":50,"value":204},{"type":50,"value":1107}," - Immediate action required",{"type":45,"tag":117,"props":1109,"children":1111},{"id":1110},"step-4-prioritize-intervention-targets",[1112],{"type":50,"value":1113},"Step 4: Prioritize Intervention Targets",{"type":45,"tag":53,"props":1115,"children":1116},{},[1117],{"type":45,"tag":81,"props":1118,"children":1119},{},[1120],{"type":50,"value":1121},"Sort accounts by:",{"type":45,"tag":1123,"props":1124,"children":1125},"ol",{},[1126,1131,1136,1141],{"type":45,"tag":778,"props":1127,"children":1128},{},[1129],{"type":50,"value":1130},"Risk Score (highest first)",{"type":45,"tag":778,"props":1132,"children":1133},{},[1134],{"type":50,"value":1135},"Revenue Impact (larger accounts prioritized)",{"type":45,"tag":778,"props":1137,"children":1138},{},[1139],{"type":50,"value":1140},"Renewal Proximity (sooner renewals first)",{"type":45,"tag":778,"props":1142,"children":1143},{},[1144],{"type":50,"value":1145},"Relationship Investment (longer tenure\u002Fmore history)",{"type":45,"tag":53,"props":1147,"children":1148},{},[1149],{"type":45,"tag":81,"props":1150,"children":1151},{},[1152],{"type":50,"value":1153},"Calculate Priority Score:",{"type":45,"tag":87,"props":1155,"children":1158},{"className":1156,"code":1157,"language":50},[90],"priority = risk_score * 0.5 + revenue_weight * 0.3 + renewal_urgency * 0.2\n\nWhere:\n- risk_score: 0-100 from Step 3\n- revenue_weight: Normalized account revenue\n- renewal_urgency: Days until renewal (inverted scale)\n",[1159],{"type":45,"tag":94,"props":1160,"children":1161},{"__ignoreMap":96},[1162],{"type":50,"value":1157},{"type":45,"tag":117,"props":1164,"children":1166},{"id":1165},"step-5-generate-risk-report",[1167],{"type":50,"value":1168},"Step 5: Generate Risk Report",{"type":45,"tag":53,"props":1170,"children":1171},{},[1172],{"type":45,"tag":81,"props":1173,"children":1174},{},[1175],{"type":50,"value":1176},"Output Format:",{"type":45,"tag":87,"props":1178,"children":1181},{"className":1179,"code":1180,"language":50},[90],"ACCOUNT RISK EARLY WARNING REPORT\n════════════════════════════════════════════════════\nGenerated: [Date]\nScope: [User]'s Accounts\nAccounts Analyzed: [N]\n\n════════════════════════════════════════════════════\nRISK SUMMARY\n════════════════════════════════════════════════════\nCritical Risk (76-100):   [N] accounts  $[revenue at risk]\nAt Risk (51-75):          [N] accounts  $[revenue at risk]\nMonitor (26-50):          [N] accounts  $[revenue at risk]\nHealthy (0-25):           [N] accounts  $[revenue value]\n\nTOTAL REVENUE AT RISK: $[sum of Critical + At Risk]\n\n════════════════════════════════════════════════════\nPRIORITY INTERVENTION LIST\n════════════════════════════════════════════════════\n\n1. 🔴 CONTOSO CORPORATION\n   Risk Score: 85\u002F100 (Critical)\n   Annual Revenue: $500,000\n   Renewal: 45 days\n   ─────────────────────────────────────────────────\n   \n   WARNING SIGNALS:\n   ⚠️  Activity Decline: 67% fewer touchpoints vs prior quarter\n   ⚠️  Support Cases: 8 cases in 30 days (up 300% from average)\n   ⚠️  Escalation: 2 escalated cases in past month\n   ⚠️  Sentiment: Case sentiment trending negative (avg 7.5)\n   ⚠️  Competitor: \"Evaluating alternatives\" mentioned in notes\n   ⚠️  Contact: VP Champion hasn't responded in 45 days\n   \n   DETAILED ANALYSIS:\n   \n   Activity Trend:\n   • 6 months ago: 12 activities\u002Fmonth\n   • Current: 4 activities\u002Fmonth\n   • Trend: ↓ 67% decline\n   \n   Support Cases:\n   • Total (6 mo): 15 cases\n   • Last 30 days: 8 cases (spike)\n   • High Severity: 3 cases\n   • Avg Resolution: 5.2 days (above SLA)\n   \n   Opportunity Status:\n   • No new opportunities in 120 days\n   • Last won deal: 8 months ago\n   • Pipeline: $0 (no active deals)\n   \n   Key Contacts:\n   • Sarah Chen (VP Ops) - Last contact: 45 days ago ⚠️\n   • John Smith (IT Dir) - Last contact: 12 days ago ✓\n   \n   RECOMMENDED INTERVENTIONS:\n   \n   Priority 1 (Immediate):\n   📞 Executive outreach from sales leadership to Sarah Chen\n      • Acknowledge support issues\n      • Request relationship review meeting\n      • Bring solutions, not sales pitch\n   \n   Priority 2 (This Week):\n   📋 Support case review with CS team\n      • Identify root cause of case spike\n      • Escalate to product\u002Fengineering if needed\n      • Prepare remediation plan\n   \n   Priority 3 (Within 2 Weeks):\n   📅 Renewal discussion meeting\n      • Don't wait - engage on renewal now\n      • Address concerns before they finalize decision\n      • Consider retention incentives if needed\n\n   ─────────────────────────────────────────────────\n\n2. 🟠 FABRIKAM INDUSTRIES\n   Risk Score: 62\u002F100 (At Risk)\n   Annual Revenue: $250,000\n   Renewal: 90 days\n   ─────────────────────────────────────────────────\n   \n   WARNING SIGNALS:\n   ⚠️  Champion Left: Primary contact left company 30 days ago\n   ⚠️  New Decision Maker: Replacement not yet engaged\n   ⚠️  Activity: 45 days since meaningful engagement\n   \n   RECOMMENDED INTERVENTIONS:\n   \n   Priority 1: Identify and engage new decision maker\n      • Research LinkedIn for replacement\n      • Get warm intro from remaining contacts\n      • Schedule introductory meeting\n\n[Continue for additional at-risk accounts...]\n",[1182],{"type":45,"tag":94,"props":1183,"children":1184},{"__ignoreMap":96},[1185],{"type":50,"value":1180},{"type":45,"tag":117,"props":1187,"children":1189},{"id":1188},"step-6-create-intervention-tasks",[1190],{"type":50,"value":1191},"Step 6: Create Intervention Tasks",{"type":45,"tag":53,"props":1193,"children":1194},{},[1195],{"type":50,"value":1196},"For each high-priority account, offer to create:",{"type":45,"tag":87,"props":1198,"children":1201},{"className":1199,"code":1200,"language":50},[90],"Use create_record with tablename: task\n{\n  \"subject\": \"⚠️ Risk Intervention: [Account Name]\",\n  \"description\": \"Risk Score: [X]\u002F100\\n\\nKey Warning Signals:\\n- [Signal 1]\\n- [Signal 2]\\n\\nRecommended Actions:\\n1. [Action 1]\\n2. [Action 2]\",\n  \"regardingobjectid\": \"[accountid]\",\n  \"scheduledend\": \"[today or tomorrow]\",\n  \"prioritycode\": 1 (High)\n}\n",[1202],{"type":45,"tag":94,"props":1203,"children":1204},{"__ignoreMap":96},[1205],{"type":50,"value":1200},{"type":45,"tag":53,"props":1207,"children":1208},{},[1209],{"type":50,"value":1210},"Add note to account record:",{"type":45,"tag":87,"props":1212,"children":1215},{"className":1213,"code":1214,"language":50},[90],"Use create_record with tablename: annotation\n{\n  \"subject\": \"Risk Assessment - [Date]\",\n  \"notetext\": \"Account flagged as [Risk Level].\\n\\nWarning Signals:\\n[Details]\\n\\nIntervention Plan:\\n[Actions]\",\n  \"objectid\": \"[accountid]\",\n  \"objecttypecode\": \"account\"\n}\n",[1216],{"type":45,"tag":94,"props":1217,"children":1218},{"__ignoreMap":96},[1219],{"type":50,"value":1214},{"type":45,"tag":66,"props":1221,"children":1223},{"id":1222},"dataverse-tables-used",[1224],{"type":50,"value":1225},"Dataverse Tables Used",{"type":45,"tag":178,"props":1227,"children":1228},{},[1229,1245],{"type":45,"tag":182,"props":1230,"children":1231},{},[1232],{"type":45,"tag":186,"props":1233,"children":1234},{},[1235,1240],{"type":45,"tag":190,"props":1236,"children":1237},{},[1238],{"type":50,"value":1239},"Table",{"type":45,"tag":190,"props":1241,"children":1242},{},[1243],{"type":50,"value":1244},"Purpose",{"type":45,"tag":206,"props":1246,"children":1247},{},[1248,1265,1282,1299,1316,1333,1350,1367,1384,1401],{"type":45,"tag":186,"props":1249,"children":1250},{},[1251,1260],{"type":45,"tag":213,"props":1252,"children":1253},{},[1254],{"type":45,"tag":94,"props":1255,"children":1257},{"className":1256},[],[1258],{"type":50,"value":1259},"account",{"type":45,"tag":213,"props":1261,"children":1262},{},[1263],{"type":50,"value":1264},"Primary entity for risk analysis",{"type":45,"tag":186,"props":1266,"children":1267},{},[1268,1277],{"type":45,"tag":213,"props":1269,"children":1270},{},[1271],{"type":45,"tag":94,"props":1272,"children":1274},{"className":1273},[],[1275],{"type":50,"value":1276},"activitypointer",{"type":45,"tag":213,"props":1278,"children":1279},{},[1280],{"type":50,"value":1281},"Activity trend analysis",{"type":45,"tag":186,"props":1283,"children":1284},{},[1285,1294],{"type":45,"tag":213,"props":1286,"children":1287},{},[1288],{"type":45,"tag":94,"props":1289,"children":1291},{"className":1290},[],[1292],{"type":50,"value":1293},"phonecall",{"type":45,"tag":213,"props":1295,"children":1296},{},[1297],{"type":50,"value":1298},"Engagement tracking",{"type":45,"tag":186,"props":1300,"children":1301},{},[1302,1311],{"type":45,"tag":213,"props":1303,"children":1304},{},[1305],{"type":45,"tag":94,"props":1306,"children":1308},{"className":1307},[],[1309],{"type":50,"value":1310},"appointment",{"type":45,"tag":213,"props":1312,"children":1313},{},[1314],{"type":50,"value":1315},"Meeting frequency",{"type":45,"tag":186,"props":1317,"children":1318},{},[1319,1328],{"type":45,"tag":213,"props":1320,"children":1321},{},[1322],{"type":45,"tag":94,"props":1323,"children":1325},{"className":1324},[],[1326],{"type":50,"value":1327},"email",{"type":45,"tag":213,"props":1329,"children":1330},{},[1331],{"type":50,"value":1332},"Communication patterns",{"type":45,"tag":186,"props":1334,"children":1335},{},[1336,1345],{"type":45,"tag":213,"props":1337,"children":1338},{},[1339],{"type":45,"tag":94,"props":1340,"children":1342},{"className":1341},[],[1343],{"type":50,"value":1344},"incident",{"type":45,"tag":213,"props":1346,"children":1347},{},[1348],{"type":50,"value":1349},"Support case patterns",{"type":45,"tag":186,"props":1351,"children":1352},{},[1353,1362],{"type":45,"tag":213,"props":1354,"children":1355},{},[1356],{"type":45,"tag":94,"props":1357,"children":1359},{"className":1358},[],[1360],{"type":50,"value":1361},"opportunity",{"type":45,"tag":213,"props":1363,"children":1364},{},[1365],{"type":50,"value":1366},"Revenue velocity",{"type":45,"tag":186,"props":1368,"children":1369},{},[1370,1379],{"type":45,"tag":213,"props":1371,"children":1372},{},[1373],{"type":45,"tag":94,"props":1374,"children":1376},{"className":1375},[],[1377],{"type":50,"value":1378},"contact",{"type":45,"tag":213,"props":1380,"children":1381},{},[1382],{"type":50,"value":1383},"Stakeholder engagement",{"type":45,"tag":186,"props":1385,"children":1386},{},[1387,1396],{"type":45,"tag":213,"props":1388,"children":1389},{},[1390],{"type":45,"tag":94,"props":1391,"children":1393},{"className":1392},[],[1394],{"type":50,"value":1395},"annotation",{"type":45,"tag":213,"props":1397,"children":1398},{},[1399],{"type":50,"value":1400},"Notes for signal detection",{"type":45,"tag":186,"props":1402,"children":1403},{},[1404,1413],{"type":45,"tag":213,"props":1405,"children":1406},{},[1407],{"type":45,"tag":94,"props":1408,"children":1410},{"className":1409},[],[1411],{"type":50,"value":1412},"task",{"type":45,"tag":213,"props":1414,"children":1415},{},[1416],{"type":50,"value":1417},"Create intervention tasks",{"type":45,"tag":66,"props":1419,"children":1421},{"id":1420},"key-fields-reference",[1422],{"type":50,"value":1423},"Key Fields Reference",{"type":45,"tag":53,"props":1425,"children":1426},{},[1427],{"type":45,"tag":81,"props":1428,"children":1429},{},[1430],{"type":50,"value":1431},"account:",{"type":45,"tag":774,"props":1433,"children":1434},{},[1435,1446,1457,1468,1479,1496,1507],{"type":45,"tag":778,"props":1436,"children":1437},{},[1438,1444],{"type":45,"tag":94,"props":1439,"children":1441},{"className":1440},[],[1442],{"type":50,"value":1443},"revenue",{"type":50,"value":1445}," (MONEY) - Account value for prioritization",{"type":45,"tag":778,"props":1447,"children":1448},{},[1449,1455],{"type":45,"tag":94,"props":1450,"children":1452},{"className":1451},[],[1453],{"type":50,"value":1454},"ownerid",{"type":50,"value":1456}," (OWNER) - Account owner for filtering",{"type":45,"tag":778,"props":1458,"children":1459},{},[1460,1466],{"type":45,"tag":94,"props":1461,"children":1463},{"className":1462},[],[1464],{"type":50,"value":1465},"createdon",{"type":50,"value":1467}," (DATETIME) - Tenure calculation",{"type":45,"tag":778,"props":1469,"children":1470},{},[1471,1477],{"type":45,"tag":94,"props":1472,"children":1474},{"className":1473},[],[1475],{"type":50,"value":1476},"customertypecode",{"type":50,"value":1478}," (CHOICE) - Relationship type",{"type":45,"tag":778,"props":1480,"children":1481},{},[1482,1488,1490],{"type":45,"tag":94,"props":1483,"children":1485},{"className":1484},[],[1486],{"type":50,"value":1487},"openrevenue",{"type":50,"value":1489}," (MONEY) - Total open pipeline value ",{"type":45,"tag":1491,"props":1492,"children":1493},"em",{},[1494],{"type":50,"value":1495},"(rollup field; availability depends on org configuration)",{"type":45,"tag":778,"props":1497,"children":1498},{},[1499,1505],{"type":45,"tag":94,"props":1500,"children":1502},{"className":1501},[],[1503],{"type":50,"value":1504},"msdyn_accountkpiid",{"type":50,"value":1506}," (LOOKUP → msdyn_accountkpiitem) - Relationship analytics KPI",{"type":45,"tag":778,"props":1508,"children":1509},{},[1510,1516],{"type":45,"tag":94,"props":1511,"children":1513},{"className":1512},[],[1514],{"type":50,"value":1515},"statecode",{"type":50,"value":1517}," (STATE) - Active(0), Inactive(1)",{"type":45,"tag":53,"props":1519,"children":1520},{},[1521],{"type":45,"tag":81,"props":1522,"children":1523},{},[1524],{"type":50,"value":1525},"msdyn_accountkpiitem (Sales Insights - Relationship Analytics):",{"type":45,"tag":774,"props":1527,"children":1528},{},[1529,1540,1551,1562,1573,1584,1595,1606,1617,1628,1639,1650,1661],{"type":45,"tag":778,"props":1530,"children":1531},{},[1532,1538],{"type":45,"tag":94,"props":1533,"children":1535},{"className":1534},[],[1536],{"type":50,"value":1537},"msdyn_relationshiphealthscorevalue",{"type":50,"value":1539}," (INT) - Health score (0-100)",{"type":45,"tag":778,"props":1541,"children":1542},{},[1543,1549],{"type":45,"tag":94,"props":1544,"children":1546},{"className":1545},[],[1547],{"type":50,"value":1548},"msdyn_relationshiphealthscorestate",{"type":50,"value":1550}," (CHOICE) - Good(0), Fair(1), Poor(2)",{"type":45,"tag":778,"props":1552,"children":1553},{},[1554,1560],{"type":45,"tag":94,"props":1555,"children":1557},{"className":1556},[],[1558],{"type":50,"value":1559},"msdyn_relationshiphealthtrend",{"type":50,"value":1561}," (CHOICE) - Improving(0), Steady(1), Declining(2), Not enough info(3)",{"type":45,"tag":778,"props":1563,"children":1564},{},[1565,1571],{"type":45,"tag":94,"props":1566,"children":1568},{"className":1567},[],[1569],{"type":50,"value":1570},"msdyn_emailssent",{"type":50,"value":1572}," (INT) - Outgoing emails count",{"type":45,"tag":778,"props":1574,"children":1575},{},[1576,1582],{"type":45,"tag":94,"props":1577,"children":1579},{"className":1578},[],[1580],{"type":50,"value":1581},"msdyn_emailsreceived",{"type":50,"value":1583}," (INT) - Incoming emails count",{"type":45,"tag":778,"props":1585,"children":1586},{},[1587,1593],{"type":45,"tag":94,"props":1588,"children":1590},{"className":1589},[],[1591],{"type":50,"value":1592},"msdyn_phonecallsmade",{"type":50,"value":1594}," (INT) - Outbound calls count",{"type":45,"tag":778,"props":1596,"children":1597},{},[1598,1604],{"type":45,"tag":94,"props":1599,"children":1601},{"className":1600},[],[1602],{"type":50,"value":1603},"msdyn_phonecallsreceived",{"type":50,"value":1605}," (INT) - Inbound calls count",{"type":45,"tag":778,"props":1607,"children":1608},{},[1609,1615],{"type":45,"tag":94,"props":1610,"children":1612},{"className":1611},[],[1613],{"type":50,"value":1614},"msdyn_meetingssent",{"type":50,"value":1616}," (INT) - Meetings scheduled count",{"type":45,"tag":778,"props":1618,"children":1619},{},[1620,1626],{"type":45,"tag":94,"props":1621,"children":1623},{"className":1622},[],[1624],{"type":50,"value":1625},"msdyn_lastactivitybyteam",{"type":50,"value":1627}," (DATETIME) - Last team outreach",{"type":45,"tag":778,"props":1629,"children":1630},{},[1631,1637],{"type":45,"tag":94,"props":1632,"children":1634},{"className":1633},[],[1635],{"type":50,"value":1636},"msdyn_nextactivitybyteam",{"type":50,"value":1638}," (DATETIME) - Next scheduled activity",{"type":45,"tag":778,"props":1640,"children":1641},{},[1642,1648],{"type":45,"tag":94,"props":1643,"children":1645},{"className":1644},[],[1646],{"type":50,"value":1647},"msdyn_facetimewithcustomer",{"type":50,"value":1649}," (DURATION) - Total meeting time",{"type":45,"tag":778,"props":1651,"children":1652},{},[1653,1659],{"type":45,"tag":94,"props":1654,"children":1656},{"className":1655},[],[1657],{"type":50,"value":1658},"msdyn_timespentbyteam",{"type":50,"value":1660}," (DURATION) - Total time invested",{"type":45,"tag":778,"props":1662,"children":1663},{},[1664,1670],{"type":45,"tag":94,"props":1665,"children":1667},{"className":1666},[],[1668],{"type":50,"value":1669},"msdyn_averagefirstresponsetimebyusinhrs",{"type":50,"value":1671}," (FLOAT) - Avg response time (hours)",{"type":45,"tag":53,"props":1673,"children":1674},{},[1675],{"type":45,"tag":81,"props":1676,"children":1677},{},[1678],{"type":50,"value":1679},"incident:",{"type":45,"tag":774,"props":1681,"children":1682},{},[1683,1694,1705,1716,1727,1738,1749,1760,1770],{"type":45,"tag":778,"props":1684,"children":1685},{},[1686,1692],{"type":45,"tag":94,"props":1687,"children":1689},{"className":1688},[],[1690],{"type":50,"value":1691},"prioritycode",{"type":50,"value":1693}," (CHOICE) - High(1), Normal(2), Low(3)",{"type":45,"tag":778,"props":1695,"children":1696},{},[1697,1703],{"type":45,"tag":94,"props":1698,"children":1700},{"className":1699},[],[1701],{"type":50,"value":1702},"severitycode",{"type":50,"value":1704}," (CHOICE) - Severity level",{"type":45,"tag":778,"props":1706,"children":1707},{},[1708,1714],{"type":45,"tag":94,"props":1709,"children":1711},{"className":1710},[],[1712],{"type":50,"value":1713},"casetypecode",{"type":50,"value":1715}," (CHOICE) - Question(1), Problem(2), Request(3)",{"type":45,"tag":778,"props":1717,"children":1718},{},[1719,1725],{"type":45,"tag":94,"props":1720,"children":1722},{"className":1721},[],[1723],{"type":50,"value":1724},"caseorigincode",{"type":50,"value":1726}," (CHOICE) - Source channel",{"type":45,"tag":778,"props":1728,"children":1729},{},[1730,1736],{"type":45,"tag":94,"props":1731,"children":1733},{"className":1732},[],[1734],{"type":50,"value":1735},"customersatisfactioncode",{"type":50,"value":1737}," (CHOICE) - Very Dissatisfied(1), Dissatisfied(2), Neutral(3), Satisfied(4), Very Satisfied(5)",{"type":45,"tag":778,"props":1739,"children":1740},{},[1741,1747],{"type":45,"tag":94,"props":1742,"children":1744},{"className":1743},[],[1745],{"type":50,"value":1746},"msdyn_casesentiment",{"type":50,"value":1748}," (CHOICE) - Sentiment scale (lower = more negative): Very negative(7), Negative(8), Slightly negative(9), Neutral(10), Slightly positive(11), Positive(12), Very positive(13)",{"type":45,"tag":778,"props":1750,"children":1751},{},[1752,1758],{"type":45,"tag":94,"props":1753,"children":1755},{"className":1754},[],[1756],{"type":50,"value":1757},"escalatedon",{"type":50,"value":1759}," (DATETIME) - Escalation tracking",{"type":45,"tag":778,"props":1761,"children":1762},{},[1763,1768],{"type":45,"tag":94,"props":1764,"children":1766},{"className":1765},[],[1767],{"type":50,"value":1515},{"type":50,"value":1769}," (STATE) - Active(0), Resolved(1), Cancelled(2)",{"type":45,"tag":778,"props":1771,"children":1772},{},[1773,1779,1781,1787,1789,1794,1796],{"type":45,"tag":94,"props":1774,"children":1776},{"className":1775},[],[1777],{"type":50,"value":1778},"statuscode",{"type":50,"value":1780}," (STATUS) - In Progress(1), On Hold(2), Waiting(3), Researching(4) ",{"type":45,"tag":1782,"props":1783,"children":1784},"span",{},[1785],{"type":50,"value":1786},"Active",{"type":50,"value":1788},"; Problem Solved(5), Info Provided(1000) ",{"type":45,"tag":1782,"props":1790,"children":1791},{},[1792],{"type":50,"value":1793},"Resolved",{"type":50,"value":1795},"; Cancelled(6), Merged(2000) ",{"type":45,"tag":1782,"props":1797,"children":1798},{},[1799],{"type":50,"value":1800},"Cancelled",{"type":45,"tag":53,"props":1802,"children":1803},{},[1804],{"type":45,"tag":81,"props":1805,"children":1806},{},[1807],{"type":50,"value":1808},"activitypointer:",{"type":45,"tag":774,"props":1810,"children":1811},{},[1812,1823,1833,1844],{"type":45,"tag":778,"props":1813,"children":1814},{},[1815,1821],{"type":45,"tag":94,"props":1816,"children":1818},{"className":1817},[],[1819],{"type":50,"value":1820},"activitytypecode",{"type":50,"value":1822}," (NVARCHAR) - Type: phonecall, email, appointment, task",{"type":45,"tag":778,"props":1824,"children":1825},{},[1826,1831],{"type":45,"tag":94,"props":1827,"children":1829},{"className":1828},[],[1830],{"type":50,"value":1465},{"type":50,"value":1832}," (DATETIME) - Activity date",{"type":45,"tag":778,"props":1834,"children":1835},{},[1836,1842],{"type":45,"tag":94,"props":1837,"children":1839},{"className":1838},[],[1840],{"type":50,"value":1841},"regardingobjectid",{"type":50,"value":1843}," (LOOKUP) - Polymorphic link to account, contact, etc.",{"type":45,"tag":778,"props":1845,"children":1846},{},[1847,1852],{"type":45,"tag":94,"props":1848,"children":1850},{"className":1849},[],[1851],{"type":50,"value":1515},{"type":50,"value":1853}," (STATE) - Open(0), Completed(1), Canceled(2), Scheduled(3-appointments)",{"type":45,"tag":66,"props":1855,"children":1857},{"id":1856},"risk-signal-weights-configurable",[1858],{"type":50,"value":1859},"Risk Signal Weights (Configurable)",{"type":45,"tag":178,"props":1861,"children":1862},{},[1863,1884],{"type":45,"tag":182,"props":1864,"children":1865},{},[1866],{"type":45,"tag":186,"props":1867,"children":1868},{},[1869,1874,1879],{"type":45,"tag":190,"props":1870,"children":1871},{},[1872],{"type":50,"value":1873},"Signal Category",{"type":45,"tag":190,"props":1875,"children":1876},{},[1877],{"type":50,"value":1878},"Default Weight",{"type":45,"tag":190,"props":1880,"children":1881},{},[1882],{"type":50,"value":1883},"Adjustable Range",{"type":45,"tag":206,"props":1885,"children":1886},{},[1887,1903,1920,1935,1950],{"type":45,"tag":186,"props":1888,"children":1889},{},[1890,1894,1898],{"type":45,"tag":213,"props":1891,"children":1892},{},[1893],{"type":50,"value":971},{"type":45,"tag":213,"props":1895,"children":1896},{},[1897],{"type":50,"value":976},{"type":45,"tag":213,"props":1899,"children":1900},{},[1901],{"type":50,"value":1902},"10-30%",{"type":45,"tag":186,"props":1904,"children":1905},{},[1906,1911,1915],{"type":45,"tag":213,"props":1907,"children":1908},{},[1909],{"type":50,"value":1910},"Support Cases",{"type":45,"tag":213,"props":1912,"children":1913},{},[1914],{"type":50,"value":994},{"type":45,"tag":213,"props":1916,"children":1917},{},[1918],{"type":50,"value":1919},"15-35%",{"type":45,"tag":186,"props":1921,"children":1922},{},[1923,1927,1931],{"type":45,"tag":213,"props":1924,"children":1925},{},[1926],{"type":50,"value":1007},{"type":45,"tag":213,"props":1928,"children":1929},{},[1930],{"type":50,"value":976},{"type":45,"tag":213,"props":1932,"children":1933},{},[1934],{"type":50,"value":1902},{"type":45,"tag":186,"props":1936,"children":1937},{},[1938,1942,1946],{"type":45,"tag":213,"props":1939,"children":1940},{},[1941],{"type":50,"value":1023},{"type":45,"tag":213,"props":1943,"children":1944},{},[1945],{"type":50,"value":976},{"type":45,"tag":213,"props":1947,"children":1948},{},[1949],{"type":50,"value":1902},{"type":45,"tag":186,"props":1951,"children":1952},{},[1953,1957,1961],{"type":45,"tag":213,"props":1954,"children":1955},{},[1956],{"type":50,"value":1039},{"type":45,"tag":213,"props":1958,"children":1959},{},[1960],{"type":50,"value":1044},{"type":45,"tag":213,"props":1962,"children":1963},{},[1964],{"type":50,"value":1965},"10-25%",{"type":45,"tag":66,"props":1967,"children":1969},{"id":1968},"best-practices",[1970],{"type":50,"value":1971},"Best Practices",{"type":45,"tag":1123,"props":1973,"children":1974},{},[1975,1985,1995,2005,2015],{"type":45,"tag":778,"props":1976,"children":1977},{},[1978,1983],{"type":45,"tag":81,"props":1979,"children":1980},{},[1981],{"type":50,"value":1982},"Early intervention wins:",{"type":50,"value":1984}," Act on Monitor-level risks before they become Critical",{"type":45,"tag":778,"props":1986,"children":1987},{},[1988,1993],{"type":45,"tag":81,"props":1989,"children":1990},{},[1991],{"type":50,"value":1992},"Don't assume:",{"type":50,"value":1994}," Verify signals with direct customer conversation",{"type":45,"tag":778,"props":1996,"children":1997},{},[1998,2003],{"type":45,"tag":81,"props":1999,"children":2000},{},[2001],{"type":50,"value":2002},"Cross-functional response:",{"type":50,"value":2004}," Involve Success, Support, and Sales in intervention",{"type":45,"tag":778,"props":2006,"children":2007},{},[2008,2013],{"type":45,"tag":81,"props":2009,"children":2010},{},[2011],{"type":50,"value":2012},"Document everything:",{"type":50,"value":2014}," Track intervention actions for pattern learning",{"type":45,"tag":778,"props":2016,"children":2017},{},[2018,2023],{"type":45,"tag":81,"props":2019,"children":2020},{},[2021],{"type":50,"value":2022},"Regular cadence:",{"type":50,"value":2024}," Run risk analysis weekly for proactive management",{"type":45,"tag":59,"props":2026,"children":2028},{"id":2027},"examples",[2029],{"type":50,"value":2030},"Examples",{"type":45,"tag":66,"props":2032,"children":2034},{"id":2033},"example-1-weekly-account-health-check",[2035],{"type":50,"value":2036},"Example 1: Weekly Account Health Check",{"type":45,"tag":53,"props":2038,"children":2039},{},[2040,2045],{"type":45,"tag":81,"props":2041,"children":2042},{},[2043],{"type":50,"value":2044},"User says:",{"type":50,"value":2046}," \"Which of my accounts are at risk?\"",{"type":45,"tag":53,"props":2048,"children":2049},{},[2050],{"type":45,"tag":81,"props":2051,"children":2052},{},[2053],{"type":50,"value":2054},"Actions:",{"type":45,"tag":1123,"props":2056,"children":2057},{},[2058,2063,2068,2073],{"type":45,"tag":778,"props":2059,"children":2060},{},[2061],{"type":50,"value":2062},"Query all active accounts owned by user",{"type":45,"tag":778,"props":2064,"children":2065},{},[2066],{"type":50,"value":2067},"Analyze activity trends, support cases, opportunity velocity for each",{"type":45,"tag":778,"props":2069,"children":2070},{},[2071],{"type":50,"value":2072},"Calculate composite risk score",{"type":45,"tag":778,"props":2074,"children":2075},{},[2076],{"type":50,"value":2077},"Rank accounts by risk level",{"type":45,"tag":53,"props":2079,"children":2080},{},[2081],{"type":45,"tag":81,"props":2082,"children":2083},{},[2084],{"type":50,"value":2085},"Result:",{"type":45,"tag":87,"props":2087,"children":2090},{"className":2088,"code":2089,"language":50},[90],"ACCOUNT RISK SUMMARY\nCritical (2): Immediate intervention required\nWarning (5): Schedule check-in this week\nMonitor (8): Watch for changes\nHealthy (35): No action needed\n\nCRITICAL ACCOUNTS:\n1. Contoso Ltd - Risk Score: 85\u002F100\n   - 60+ days since last activity\n   - 3 escalated support cases\n   - Renewal in 45 days\n   ACTION: Executive outreach immediately\n\n2. Fabrikam Inc - Risk Score: 78\u002F100\n   - Activity declined 70% vs prior quarter\n   - Champion contact left company\n   ACTION: Re-establish relationships\n",[2091],{"type":45,"tag":94,"props":2092,"children":2093},{"__ignoreMap":96},[2094],{"type":50,"value":2089},{"type":45,"tag":66,"props":2096,"children":2098},{"id":2097},"example-2-specific-account-health-analysis",[2099],{"type":50,"value":2100},"Example 2: Specific Account Health Analysis",{"type":45,"tag":53,"props":2102,"children":2103},{},[2104,2108],{"type":45,"tag":81,"props":2105,"children":2106},{},[2107],{"type":50,"value":2044},{"type":50,"value":2109}," \"Check the health of the Northwind account\"",{"type":45,"tag":53,"props":2111,"children":2112},{},[2113],{"type":45,"tag":81,"props":2114,"children":2115},{},[2116],{"type":50,"value":2054},{"type":45,"tag":1123,"props":2118,"children":2119},{},[2120,2125,2130],{"type":45,"tag":778,"props":2121,"children":2122},{},[2123],{"type":50,"value":2124},"Retrieve Northwind account details",{"type":45,"tag":778,"props":2126,"children":2127},{},[2128],{"type":50,"value":2129},"Analyze all risk signals in depth",{"type":45,"tag":778,"props":2131,"children":2132},{},[2133],{"type":50,"value":2134},"Provide detailed breakdown with recommendations",{"type":45,"tag":53,"props":2136,"children":2137},{},[2138],{"type":45,"tag":81,"props":2139,"children":2140},{},[2141],{"type":50,"value":2085},{"type":45,"tag":87,"props":2143,"children":2146},{"className":2144,"code":2145,"language":50},[90],"NORTHWIND TRADERS - HEALTH ASSESSMENT\nOverall Risk: WARNING (62\u002F100)\n\nACTIVITY ANALYSIS:\n- Last interaction: 28 days ago (email)\n- Trend: Declining (45% fewer touchpoints vs. prior 90 days)\n\nSUPPORT ANALYSIS:\n- Open cases: 2 (1 high priority)\n- Recent escalation: Yes (3 days ago)\n- Sentiment: Slightly negative\n\nOPPORTUNITY ANALYSIS:\n- No new opportunities in 6 months\n- Last deal: Won 8 months ago\n\nRECOMMENDATION:\nSchedule customer success call to address open cases and explore expansion opportunities.\n",[2147],{"type":45,"tag":94,"props":2148,"children":2149},{"__ignoreMap":96},[2150],{"type":50,"value":2145},{"type":45,"tag":66,"props":2152,"children":2154},{"id":2153},"example-3-renewal-risk-analysis",[2155],{"type":50,"value":2156},"Example 3: Renewal Risk Analysis",{"type":45,"tag":53,"props":2158,"children":2159},{},[2160,2164],{"type":45,"tag":81,"props":2161,"children":2162},{},[2163],{"type":50,"value":2044},{"type":50,"value":2165}," \"Show me accounts with renewals coming up that are at risk\"",{"type":45,"tag":53,"props":2167,"children":2168},{},[2169],{"type":45,"tag":81,"props":2170,"children":2171},{},[2172],{"type":50,"value":2054},{"type":45,"tag":1123,"props":2174,"children":2175},{},[2176,2181,2186],{"type":45,"tag":778,"props":2177,"children":2178},{},[2179],{"type":50,"value":2180},"Filter accounts with renewals in next 90 days",{"type":45,"tag":778,"props":2182,"children":2183},{},[2184],{"type":50,"value":2185},"Cross-reference with risk signals",{"type":45,"tag":778,"props":2187,"children":2188},{},[2189],{"type":50,"value":2190},"Prioritize by revenue and risk score",{"type":45,"tag":53,"props":2192,"children":2193},{},[2194],{"type":45,"tag":81,"props":2195,"children":2196},{},[2197],{"type":50,"value":2085},{"type":45,"tag":87,"props":2199,"children":2202},{"className":2200,"code":2201,"language":50},[90],"AT-RISK RENEWALS (Next 90 Days):\n1. Alpine Ski House - $150K ARR - Renews in 30 days\n   Risk: High engagement drop + unresolved escalation\n   \n2. Tailspin Toys - $80K ARR - Renews in 60 days\n   Risk: Budget freeze mentioned in recent call notes\n",[2203],{"type":45,"tag":94,"props":2204,"children":2205},{"__ignoreMap":96},[2206],{"type":50,"value":2201},{"type":45,"tag":59,"props":2208,"children":2210},{"id":2209},"troubleshooting",[2211],{"type":50,"value":2212},"Troubleshooting",{"type":45,"tag":66,"props":2214,"children":2216},{"id":2215},"error-no-risk-data-available",[2217],{"type":50,"value":2218},"Error: No risk data available",{"type":45,"tag":53,"props":2220,"children":2221},{},[2222,2227,2229],{"type":45,"tag":81,"props":2223,"children":2224},{},[2225],{"type":50,"value":2226},"Cause:",{"type":50,"value":2228}," Sales Insights or Relationship Analytics not enabled\n",{"type":45,"tag":81,"props":2230,"children":2231},{},[2232],{"type":50,"value":2233},"Solution:",{"type":45,"tag":774,"props":2235,"children":2236},{},[2237,2242,2247],{"type":45,"tag":778,"props":2238,"children":2239},{},[2240],{"type":50,"value":2241},"Fall back to activity count analysis",{"type":45,"tag":778,"props":2243,"children":2244},{},[2245],{"type":50,"value":2246},"Use support case data as primary signal",{"type":45,"tag":778,"props":2248,"children":2249},{},[2250],{"type":50,"value":2251},"Calculate manual engagement score from activitypointer",{"type":45,"tag":66,"props":2253,"children":2255},{"id":2254},"error-too-many-false-positives",[2256],{"type":50,"value":2257},"Error: Too many false positives",{"type":45,"tag":53,"props":2259,"children":2260},{},[2261,2265,2267],{"type":45,"tag":81,"props":2262,"children":2263},{},[2264],{"type":50,"value":2226},{"type":50,"value":2266}," Thresholds too sensitive for organization's engagement patterns\n",{"type":45,"tag":81,"props":2268,"children":2269},{},[2270],{"type":50,"value":2233},{"type":45,"tag":774,"props":2272,"children":2273},{},[2274,2279,2284],{"type":45,"tag":778,"props":2275,"children":2276},{},[2277],{"type":50,"value":2278},"Adjust activity threshold based on account tier",{"type":45,"tag":778,"props":2280,"children":2281},{},[2282],{"type":50,"value":2283},"Consider industry-specific baselines",{"type":45,"tag":778,"props":2285,"children":2286},{},[2287],{"type":50,"value":2288},"Weight signals based on historical churn correlation",{"type":45,"tag":66,"props":2290,"children":2292},{"id":2291},"error-missing-support-case-data",[2293],{"type":50,"value":2294},"Error: Missing support case data",{"type":45,"tag":53,"props":2296,"children":2297},{},[2298,2302,2304],{"type":45,"tag":81,"props":2299,"children":2300},{},[2301],{"type":50,"value":2226},{"type":50,"value":2303}," Customer service not using Dynamics 365 for cases\n",{"type":45,"tag":81,"props":2305,"children":2306},{},[2307],{"type":50,"value":2233},{"type":45,"tag":774,"props":2309,"children":2310},{},[2311,2316,2321],{"type":45,"tag":778,"props":2312,"children":2313},{},[2314],{"type":50,"value":2315},"Focus on activity and opportunity signals",{"type":45,"tag":778,"props":2317,"children":2318},{},[2319],{"type":50,"value":2320},"Consider integrating external support data",{"type":45,"tag":778,"props":2322,"children":2323},{},[2324],{"type":50,"value":2325},"Use activity notes for sentiment analysis",{"items":2327,"total":2424},[2328,2345,2353,2366,2382,2396,2408],{"slug":2329,"name":2329,"fn":2330,"description":2331,"org":2332,"tags":2333,"stars":26,"repoUrl":27,"updatedAt":2344},"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},[2334,2335,2336,2339,2340,2341],{"name":15,"slug":16,"type":13},{"name":21,"slug":22,"type":13},{"name":2337,"slug":2338,"type":13},"Meetings","meetings",{"name":9,"slug":8,"type":13},{"name":18,"slug":19,"type":13},{"name":2342,"slug":2343,"type":13},"Summarization","summarization","2026-04-06T18:36:32.277939",{"slug":4,"name":4,"fn":5,"description":6,"org":2346,"tags":2347,"stars":26,"repoUrl":27,"updatedAt":28},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2348,2349,2350,2351,2352],{"name":15,"slug":16,"type":13},{"name":21,"slug":22,"type":13},{"name":9,"slug":8,"type":13},{"name":24,"slug":25,"type":13},{"name":18,"slug":19,"type":13},{"slug":2354,"name":2354,"fn":2355,"description":2356,"org":2357,"tags":2358,"stars":26,"repoUrl":27,"updatedAt":2365},"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},[2359,2361,2362,2363,2364],{"name":2360,"slug":2354,"type":13},"Competitive Intelligence",{"name":15,"slug":16,"type":13},{"name":21,"slug":22,"type":13},{"name":9,"slug":8,"type":13},{"name":18,"slug":19,"type":13},"2026-04-06T18:36:23.280253",{"slug":2367,"name":2367,"fn":2368,"description":2369,"org":2370,"tags":2371,"stars":26,"repoUrl":27,"updatedAt":2381},"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},[2372,2375,2376,2379,2380],{"name":2373,"slug":2374,"type":13},"Content Creation","content-creation",{"name":21,"slug":22,"type":13},{"name":2377,"slug":2378,"type":13},"Marketing","marketing",{"name":9,"slug":8,"type":13},{"name":18,"slug":19,"type":13},"2026-04-06T18:36:24.562421",{"slug":2383,"name":2383,"fn":2384,"description":2385,"org":2386,"tags":2387,"stars":26,"repoUrl":27,"updatedAt":2395},"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},[2388,2391,2392,2393,2394],{"name":2389,"slug":2390,"type":13},"Analytics","analytics",{"name":15,"slug":16,"type":13},{"name":21,"slug":22,"type":13},{"name":9,"slug":8,"type":13},{"name":18,"slug":19,"type":13},"2026-04-06T18:36:37.380929",{"slug":2397,"name":2397,"fn":2398,"description":2399,"org":2400,"tags":2401,"stars":26,"repoUrl":27,"updatedAt":2407},"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},[2402,2403,2404,2405,2406],{"name":15,"slug":16,"type":13},{"name":21,"slug":22,"type":13},{"name":9,"slug":8,"type":13},{"name":18,"slug":19,"type":13},{"name":2342,"slug":2343,"type":13},"2026-04-06T18:36:31.028078",{"slug":2409,"name":2409,"fn":2410,"description":2411,"org":2412,"tags":2413,"stars":26,"repoUrl":27,"updatedAt":2423},"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},[2414,2415,2416,2418,2419,2422],{"name":15,"slug":16,"type":13},{"name":21,"slug":22,"type":13},{"name":2417,"slug":1327,"type":13},"Email",{"name":9,"slug":8,"type":13},{"name":2420,"slug":2421,"type":13},"Outreach","outreach",{"name":18,"slug":19,"type":13},"2026-04-06T18:36:36.103544",16,{"items":2426,"total":2619},[2427,2449,2470,2489,2504,2521,2532,2545,2560,2575,2594,2607],{"slug":2428,"name":2428,"fn":2429,"description":2430,"org":2431,"tags":2432,"stars":2446,"repoUrl":2447,"updatedAt":2448},"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},[2433,2436,2439,2440,2443],{"name":2434,"slug":2435,"type":13},"Engineering","engineering",{"name":2437,"slug":2438,"type":13},"Local Development","local-development",{"name":9,"slug":8,"type":13},{"name":2441,"slug":2442,"type":13},"Project Management","project-management",{"name":2444,"slug":2445,"type":13},"Rush","rush",6484,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Frushstack","2026-04-06T18:34:44.965032",{"slug":2450,"name":2450,"fn":2451,"description":2452,"org":2453,"tags":2454,"stars":2467,"repoUrl":2468,"updatedAt":2469},"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},[2455,2458,2461,2464],{"name":2456,"slug":2457,"type":13},".NET","net",{"name":2459,"slug":2460,"type":13},"Agents","agents",{"name":2462,"slug":2463,"type":13},"Azure","azure",{"name":2465,"slug":2466,"type":13},"LLM","llm",2804,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills","2026-07-03T16:32:10.297433",{"slug":2471,"name":2471,"fn":2472,"description":2473,"org":2474,"tags":2475,"stars":2467,"repoUrl":2468,"updatedAt":2488},"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},[2476,2477,2478,2481,2484,2485],{"name":2389,"slug":2390,"type":13},{"name":2462,"slug":2463,"type":13},{"name":2479,"slug":2480,"type":13},"Data Analysis","data-analysis",{"name":2482,"slug":2483,"type":13},"Java","java",{"name":9,"slug":8,"type":13},{"name":2486,"slug":2487,"type":13},"Monitoring","monitoring","2026-05-13T06:14:16.261754",{"slug":2490,"name":2490,"fn":2491,"description":2492,"org":2493,"tags":2494,"stars":2467,"repoUrl":2468,"updatedAt":2503},"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},[2495,2498,2499,2500],{"name":2496,"slug":2497,"type":13},"AI Infrastructure","ai-infrastructure",{"name":2462,"slug":2463,"type":13},{"name":2482,"slug":2483,"type":13},{"name":2501,"slug":2502,"type":13},"Security","security","2026-07-07T06:53:31.293235",{"slug":2505,"name":2505,"fn":2506,"description":2507,"org":2508,"tags":2509,"stars":2467,"repoUrl":2468,"updatedAt":2520},"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},[2510,2511,2514,2515,2516,2519],{"name":2462,"slug":2463,"type":13},{"name":2512,"slug":2513,"type":13},"Compliance","compliance",{"name":2465,"slug":2466,"type":13},{"name":9,"slug":8,"type":13},{"name":2517,"slug":2518,"type":13},"Python","python",{"name":2501,"slug":2502,"type":13},"2026-07-18T05:14:23.017504",{"slug":2522,"name":2522,"fn":2523,"description":2524,"org":2525,"tags":2526,"stars":2467,"repoUrl":2468,"updatedAt":2531},"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},[2527,2528,2529,2530],{"name":2389,"slug":2390,"type":13},{"name":2462,"slug":2463,"type":13},{"name":2465,"slug":2466,"type":13},{"name":2517,"slug":2518,"type":13},"2026-07-31T05:54:29.068751",{"slug":2533,"name":2533,"fn":2534,"description":2535,"org":2536,"tags":2537,"stars":2467,"repoUrl":2468,"updatedAt":2544},"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},[2538,2541,2542,2543],{"name":2539,"slug":2540,"type":13},"API Development","api-development",{"name":2462,"slug":2463,"type":13},{"name":9,"slug":8,"type":13},{"name":2517,"slug":2518,"type":13},"2026-07-18T05:14:16.988376",{"slug":2546,"name":2546,"fn":2547,"description":2548,"org":2549,"tags":2550,"stars":2467,"repoUrl":2468,"updatedAt":2559},"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},[2551,2552,2555,2558],{"name":2462,"slug":2463,"type":13},{"name":2553,"slug":2554,"type":13},"Computer Vision","computer-vision",{"name":2556,"slug":2557,"type":13},"Images","images",{"name":2517,"slug":2518,"type":13},"2026-07-18T05:14:18.007737",{"slug":2561,"name":2561,"fn":2562,"description":2563,"org":2564,"tags":2565,"stars":2467,"repoUrl":2468,"updatedAt":2574},"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},[2566,2567,2570,2573],{"name":2462,"slug":2463,"type":13},{"name":2568,"slug":2569,"type":13},"Configuration","configuration",{"name":2571,"slug":2572,"type":13},"Feature Flags","feature-flags",{"name":2482,"slug":2483,"type":13},"2026-07-03T16:32:01.278468",{"slug":2576,"name":2576,"fn":2577,"description":2578,"org":2579,"tags":2580,"stars":2467,"repoUrl":2468,"updatedAt":2593},"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},[2581,2584,2587,2590],{"name":2582,"slug":2583,"type":13},"Cosmos DB","cosmos-db",{"name":2585,"slug":2586,"type":13},"Database","database",{"name":2588,"slug":2589,"type":13},"NoSQL","nosql",{"name":2591,"slug":2592,"type":13},"Rust","rust","2026-07-31T05:54:27.021432",{"slug":2595,"name":2595,"fn":2577,"description":2596,"org":2597,"tags":2598,"stars":2467,"repoUrl":2468,"updatedAt":2606},"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},[2599,2600,2601,2602,2603],{"name":2582,"slug":2583,"type":13},{"name":2585,"slug":2586,"type":13},{"name":9,"slug":8,"type":13},{"name":2588,"slug":2589,"type":13},{"name":2604,"slug":2605,"type":13},"TypeScript","typescript","2026-07-03T16:31:19.368382",{"slug":2608,"name":2608,"fn":2609,"description":2610,"org":2611,"tags":2612,"stars":2467,"repoUrl":2468,"updatedAt":2618},"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},[2613,2614,2615,2616,2617],{"name":2462,"slug":2463,"type":13},{"name":2582,"slug":2583,"type":13},{"name":2585,"slug":2586,"type":13},{"name":2482,"slug":2483,"type":13},{"name":2588,"slug":2589,"type":13},"2026-05-13T06:14:17.582229",267]