[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-microsoft-log-call-transcripts":3,"mdc--apazq9-key":36,"related-org-microsoft-log-call-transcripts":1602,"related-repo-microsoft-log-call-transcripts":1799},{"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},"log-call-transcripts","analyze and log sales call transcripts","Analyzes sales call transcripts to extract key information and automatically logs the call as a Phone Call activity in Dataverse. Use when user says \"log this call\", \"process this transcript\", \"save this call to CRM\", \"create a phone call record from this transcript\", uploads a call recording transcript, or pastes meeting\u002Fcall notes to be logged.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"microsoft","Microsoft","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fmicrosoft.png",[12,16,17,20,23],{"name":13,"slug":14,"type":15},"Transcription","transcription","tag",{"name":9,"slug":8,"type":15},{"name":18,"slug":19,"type":15},"CRM","crm",{"name":21,"slug":22,"type":15},"Sales","sales",{"name":24,"slug":25,"type":15},"Dataverse","dataverse",41,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fdataverse-business-skills","2026-04-06T18:36:25.9046",null,9,[],{"repoUrl":27,"stars":26,"forks":30,"topics":33,"description":29},[],"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fdataverse-business-skills\u002Ftree\u002FHEAD\u002Fskills\u002Flog-call-transcripts","---\nname: log-call-transcripts\ndescription: Analyzes sales call transcripts to extract key information and automatically logs the call as a Phone Call activity in Dataverse. Use when user says \"log this call\", \"process this transcript\", \"save this call to CRM\", \"create a phone call record from this transcript\", uploads a call recording transcript, or pastes meeting\u002Fcall notes to be logged.\nmetadata:\n  author: Dataverse\n  version: 1.0.0\n  category: sales-productivity\n---\n\n# Log Call Transcripts\n\nWhen a sales representative uploads or provides a call transcript, this skill extracts actionable information from the conversation and creates a properly structured Phone Call activity record in Dataverse. This eliminates manual data entry and ensures consistent activity logging across the sales team.\n\n## Instructions\n\n### Step 1: Receive and Parse Transcript\nWhen the user provides a call transcript:\n1. Accept the transcript content (text or file upload)\n2. Identify the transcript format and parse it appropriately\n3. Extract speaker labels if available (e.g., \"Sales Rep:\", \"Customer:\")\n\n#### Step 2: Extract Key Information from Transcript\nAnalyze the transcript to identify and extract:\n\n**Participant Information:**\n- Customer name(s) mentioned\n- Company\u002FAccount name mentioned\n- Customer's role or title if mentioned\n- Phone numbers discussed\n\n**Call Metadata:**\n- Call duration (if mentioned or calculable)\n- Date\u002Ftime of call (if mentioned, otherwise use current datetime)\n- Call direction (inbound\u002Foutbound based on context)\n\n**Content Analysis:**\n- **Subject\u002FTopic:** Main purpose of the call (e.g., \"Product demo follow-up\", \"Pricing discussion\", \"Support inquiry\")\n- **Key Discussion Points:** Summarize 3-5 main topics discussed\n- **Action Items:** Any commitments or next steps mentioned\n- **Customer Pain Points:** Problems or challenges the customer mentioned\n- **Competitor Mentions:** Any competitor products or companies referenced\n- **Budget Signals:** Any pricing or budget discussions\n- **Decision Maker Signals:** References to decision-making process or stakeholders\n- **Timeline Signals:** Any urgency or timing requirements mentioned\n\n#### Step 3: Match to Existing Records\nQuery Dataverse to find matching records:\n\n**Find Account:**\n```\nUse read_query to search the account table:\n- Search by company name mentioned in transcript\n- Match on account.name field\n- If multiple matches, list them for user confirmation\n```\n\n**Find Contact:**\n```\nUse read_query to search the contact table:\n- Search by participant name(s) from transcript\n- Match on contact.fullname or contact.firstname + contact.lastname\n- Filter by accountid if account was identified\n- If multiple matches, list them for user confirmation\n```\n\n**Find Related Opportunity (if applicable):**\n```\nUse read_query to search the opportunity table:\n- Filter by customerid matching the identified Account or Contact\n- Filter by statecode = 0 (Open)\n- Present open opportunities for user selection if multiple exist\n```\n\n**Find Related Lead (if no Account\u002FContact found):**\n```\nUse read_query to search the lead table:\n- Search by companyname or fullname\n- Filter by statecode = 0 (Open)\n```\n\n#### Step 4: Prepare Phone Call Activity Record\nConstruct the Phone Call record with extracted information:\n\n**Required Fields:**\n- `subject`: Generated from call topic (max 200 characters)\n- `description`: Detailed call summary including:\n  - Key discussion points\n  - Customer pain points identified\n  - Action items and next steps\n  - Any competitor or budget mentions\n- `phonenumber`: Customer phone if extracted\n- `directioncode`: true for outgoing, false for incoming\n- `actualdurationminutes`: Call duration in minutes\n\n**Regarding Object (Link to primary record):**\n- Set `regardingobjectid` to the most relevant record:\n  - If opportunity was discussed → link to Opportunity\n  - If no opportunity but account identified → link to Account\n  - If only contact identified → link to Contact\n  - If only lead identified → link to Lead\n\n**Activity Party Fields:**\n- `from`: The sales rep (current user\u002Fsystemuser)\n- `to`: The customer contact(s) identified\n\n**Additional Fields:**\n- `statecode`: 1 (Completed)\n- `statuscode`: 2 (Made) for outgoing or 4 (Received) for incoming\n- `category`: \"Sales Call\" or appropriate category\n- `actualstart`: Call start time\n- `actualend`: Call end time\n\n#### Step 5: Create the Phone Call Record\n```\nUse create_record tool with tablename: phonecall\nInclude all prepared fields in the item parameter as JSON\n```\n\n#### Step 6: Create Follow-up Task (if action items identified)\nIf action items were extracted from the transcript:\n```\nUse create_record tool with tablename: task\n- subject: First action item or \"Follow-up from call with [Customer Name]\"\n- description: List of all action items from the call\n- regardingobjectid: Same as the phone call record\n- scheduledend: Based on timeline mentioned or 3 business days from now\n- prioritycode: Based on urgency signals (1=High, 2=Normal, 3=Low)\n```\n\n#### Step 7: Add Detailed Notes (if needed)\nIf transcript contains detailed technical or strategic information:\n```\nUse create_record tool with tablename: annotation\n- subject: \"Call Transcript - [Date]\"\n- notetext: Full transcript or detailed notes\n- objectid: Link to the created Phone Call activity\n- objecttypecode: \"phonecall\"\n```\n\n### Step 8: Update Related Records (if applicable)\nBased on transcript content, suggest updates to related records:\n\n**Update Opportunity (if linked):**\n- If competitor mentioned → suggest updating opportunity competitive information\n- If budget discussed → suggest updating budgetamount\n- If timeline clarified → suggest updating estimatedclosedate\n\n**Update Lead (if linked):**\n- If qualification signals found → suggest updating leadqualitycode\n- If budget discussed → suggest updating budgetstatus\n- If decision maker confirmed → suggest updating decisionmaker field\n\n## Examples\n\n### Example 1: Standard Sales Call Logging\n\n**User says:** \"Log this call transcript:\n\nSales Rep: Hi John, thanks for taking my call today.\nJohn: No problem Sarah. We're really interested in learning more about your Enterprise solution.\nSales Rep: Great! I know Contoso has been evaluating options. What's driving the timeline?\nJohn: We need to make a decision by end of Q1. Our current vendor Acme Corp has been having reliability issues.\nSales Rep: I understand. What's your budget range for this project?\nJohn: We're looking at around $50,000 for the initial implementation.\nSales Rep: Perfect. Let me send you a proposal by Friday and we can schedule a demo for your team next week.\nJohn: Sounds good. Make sure to include our CTO, Mike Chen, on that invite.\"\n\n**Actions:**\n1. Parse transcript and extract participant names (John, Sarah), company (Contoso)\n2. Query Dataverse for matching Account \"Contoso\" and Contact \"John\"\n3. Extract key signals: budget ($50K), timeline (Q1), competitor (Acme Corp), stakeholder (Mike Chen, CTO)\n4. Create Phone Call record linked to Contoso account\n5. Create follow-up Task \"Send proposal to Contoso\" due Friday\n\n**Result:**\n- Phone Call created: \"Enterprise Solution Discussion with Contoso\"\n- Follow-up Task created with Friday deadline\n- Suggested updates: Add $50K budget to opportunity, add Acme Corp as competitor\n\n### Example 2: Support Call with No Existing Records\n\n**User says:** \"Process this support call - customer called about integration issues\"\n\n**Actions:**\n1. Parse transcript for customer details\n2. Search Dataverse - no matching account\u002Fcontact found\n3. Create Phone Call with extracted details\n4. Prompt user: \"No matching account found. Would you like to create a new Lead?\"\n\n**Result:** Phone Call logged with suggestion to create new Lead record\n\n## Troubleshooting\n\n### Error: No matching Account or Contact found\n**Cause:** Company or person name in transcript doesn't match any Dataverse records\n**Solution:** \n- Check for spelling variations or abbreviations\n- Ask user to confirm the correct account\u002Fcontact\n- Offer to create a new Lead record if appropriate\n\n### Error: Multiple matching records found\n**Cause:** Common names or company names match multiple Dataverse records\n**Solution:**\n- Present the list of potential matches to the user\n- Ask user to select the correct record before proceeding\n- Use additional context (phone number, email) to narrow matches\n\n### Error: Phone Call creation failed\n**Cause:** Missing required fields or invalid field values\n**Solution:**\n- Ensure `subject` is under 200 characters\n- Verify `regardingobjectid` points to a valid record\n- Check that `directioncode` is a valid boolean value\n\n## Output Format\nAfter processing, provide the user with:\n1. **Summary:** Brief confirmation of what was logged\n2. **Phone Call Record:** Link\u002FID of created phone call activity\n3. **Key Extracted Information:** Bullet points of main findings\n4. **Follow-up Task:** Link\u002FID if created\n5. **Suggested Updates:** Any recommended updates to related records\n\n### Example Interaction\n\n**User Input:**\n\"Log this call transcript:\n\nSales Rep: Hi John, thanks for taking my call today.\nJohn: No problem Sarah. We're really interested in learning more about your Enterprise solution.\nSales Rep: Great! I know Contoso has been evaluating options. What's driving the timeline?\nJohn: We need to make a decision by end of Q1. Our current vendor Acme Corp has been having reliability issues.\nSales Rep: I understand. What's your budget range for this project?\nJohn: We're looking at around $50,000 for the initial implementation.\nSales Rep: Perfect. Let me send you a proposal by Friday and we can schedule a demo for your team next week.\nJohn: Sounds good. Make sure to include our CTO, Mike Chen, on that invite.\"\n\n**Skill Output:**\n✅ **Phone Call Logged Successfully**\n\n**Record Created:** Phone Call - \"Enterprise Solution Discussion with Contoso\"\n\n**Key Information Extracted:**\n- **Account:** Contoso (matched in Dataverse)\n- **Contact:** John (linked to Contoso)\n- **Topic:** Enterprise solution evaluation\n- **Competitor Mentioned:** Acme Corp (reliability issues)\n- **Budget Signal:** $50,000 for implementation\n- **Timeline:** Decision by end of Q1\n- **Decision Maker:** Mike Chen (CTO) to be included\n\n**Follow-up Task Created:** \"Send proposal to Contoso\" - Due: Friday\n\n**Suggested Updates:**\n- Update Opportunity \"Contoso Enterprise Deal\" with budget amount $50,000\n- Add competitor \"Acme Corp\" to opportunity\n- Update estimated close date to Q1 end\n\n### Dataverse Tables Used\n| Table | Purpose |\n|-------|---------|\n| `phonecall` | Primary record created for the call activity |\n| `account` | Query to match company mentioned in transcript |\n| `contact` | Query to match participant names |\n| `opportunity` | Query for related open deals, link as regarding object |\n| `lead` | Fallback if no account\u002Fcontact found |\n| `task` | Create follow-up tasks for action items |\n| `annotation` | Store full transcript as attachment |\n\n### Key Fields Reference\n**phonecall:**\n- `subject` (NVARCHAR 200) - Call title\n- `description` (MULTILINE TEXT) - Call summary and notes\n- `phonenumber` (PHONE) - Customer phone number\n- `directioncode` (BIT) - true=Outgoing, false=Incoming\n- `actualdurationminutes` (DURATION) - Call length in minutes\n- `actualstart` (DATETIME) - When call started\n- `actualend` (DATETIME) - When call ended\n- `regardingobjectid` (LOOKUP) - Polymorphic link to account, contact, lead, or opportunity\n- `from` (ACTIVITY PARTY) - Caller (systemuser, contact, account, lead)\n- `to` (ACTIVITY PARTY) - Call recipient (contact, account, lead)\n- `leftvoicemail` (BIT) - Whether voicemail was left\n- `statecode` (STATE) - Open(0), Completed(1), Canceled(2)\n- `statuscode` (STATUS) - Open(1), Made(2), Canceled(3), Received(4)\n\n**activityparty (for from\u002Fto fields):**\n- `partyid` (LOOKUP) - Polymorphic reference to participant (contact, account, lead, systemuser)\n- `participationtypemask` (CHOICE) - Sender(1), To Recipient(2), etc.\n\n**annotation (for transcript storage):**\n- `subject` (NVARCHAR 500) - Note title\n- `notetext` (MULTILINE TEXT) - Full transcript content\n- `objectid` (LOOKUP) - Link to phonecall record\n- `objecttypecode` (NVARCHAR) - \"phonecall\"\n",{"data":37,"body":41},{"name":4,"description":6,"metadata":38},{"author":24,"version":39,"category":40},"1.0.0","sales-productivity",{"type":42,"children":43},"root",[44,52,58,65,72,77,97,104,109,118,142,150,168,176,259,265,270,278,291,299,308,316,325,333,342,348,353,361,442,450,489,497,522,530,588,594,603,609,614,623,629,634,643,649,654,662,680,688,706,712,718,728,733,741,769,777,795,801,810,817,840,849,855,861,876,894,900,913,931,937,950,989,995,1000,1053,1059,1069,1073,1088,1098,1106,1179,1189,1196,1214,1220,1367,1373,1381,1515,1523,1548,1556],{"type":45,"tag":46,"props":47,"children":48},"element","h1",{"id":4},[49],{"type":50,"value":51},"text","Log Call Transcripts",{"type":45,"tag":53,"props":54,"children":55},"p",{},[56],{"type":50,"value":57},"When a sales representative uploads or provides a call transcript, this skill extracts actionable information from the conversation and creates a properly structured Phone Call activity record in Dataverse. This eliminates manual data entry and ensures consistent activity logging across the sales team.",{"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-receive-and-parse-transcript",[70],{"type":50,"value":71},"Step 1: Receive and Parse Transcript",{"type":45,"tag":53,"props":73,"children":74},{},[75],{"type":50,"value":76},"When the user provides a call transcript:",{"type":45,"tag":78,"props":79,"children":80},"ol",{},[81,87,92],{"type":45,"tag":82,"props":83,"children":84},"li",{},[85],{"type":50,"value":86},"Accept the transcript content (text or file upload)",{"type":45,"tag":82,"props":88,"children":89},{},[90],{"type":50,"value":91},"Identify the transcript format and parse it appropriately",{"type":45,"tag":82,"props":93,"children":94},{},[95],{"type":50,"value":96},"Extract speaker labels if available (e.g., \"Sales Rep:\", \"Customer:\")",{"type":45,"tag":98,"props":99,"children":101},"h4",{"id":100},"step-2-extract-key-information-from-transcript",[102],{"type":50,"value":103},"Step 2: Extract Key Information from Transcript",{"type":45,"tag":53,"props":105,"children":106},{},[107],{"type":50,"value":108},"Analyze the transcript to identify and extract:",{"type":45,"tag":53,"props":110,"children":111},{},[112],{"type":45,"tag":113,"props":114,"children":115},"strong",{},[116],{"type":50,"value":117},"Participant Information:",{"type":45,"tag":119,"props":120,"children":121},"ul",{},[122,127,132,137],{"type":45,"tag":82,"props":123,"children":124},{},[125],{"type":50,"value":126},"Customer name(s) mentioned",{"type":45,"tag":82,"props":128,"children":129},{},[130],{"type":50,"value":131},"Company\u002FAccount name mentioned",{"type":45,"tag":82,"props":133,"children":134},{},[135],{"type":50,"value":136},"Customer's role or title if mentioned",{"type":45,"tag":82,"props":138,"children":139},{},[140],{"type":50,"value":141},"Phone numbers discussed",{"type":45,"tag":53,"props":143,"children":144},{},[145],{"type":45,"tag":113,"props":146,"children":147},{},[148],{"type":50,"value":149},"Call Metadata:",{"type":45,"tag":119,"props":151,"children":152},{},[153,158,163],{"type":45,"tag":82,"props":154,"children":155},{},[156],{"type":50,"value":157},"Call duration (if mentioned or calculable)",{"type":45,"tag":82,"props":159,"children":160},{},[161],{"type":50,"value":162},"Date\u002Ftime of call (if mentioned, otherwise use current datetime)",{"type":45,"tag":82,"props":164,"children":165},{},[166],{"type":50,"value":167},"Call direction (inbound\u002Foutbound based on context)",{"type":45,"tag":53,"props":169,"children":170},{},[171],{"type":45,"tag":113,"props":172,"children":173},{},[174],{"type":50,"value":175},"Content Analysis:",{"type":45,"tag":119,"props":177,"children":178},{},[179,189,199,209,219,229,239,249],{"type":45,"tag":82,"props":180,"children":181},{},[182,187],{"type":45,"tag":113,"props":183,"children":184},{},[185],{"type":50,"value":186},"Subject\u002FTopic:",{"type":50,"value":188}," Main purpose of the call (e.g., \"Product demo follow-up\", \"Pricing discussion\", \"Support inquiry\")",{"type":45,"tag":82,"props":190,"children":191},{},[192,197],{"type":45,"tag":113,"props":193,"children":194},{},[195],{"type":50,"value":196},"Key Discussion Points:",{"type":50,"value":198}," Summarize 3-5 main topics discussed",{"type":45,"tag":82,"props":200,"children":201},{},[202,207],{"type":45,"tag":113,"props":203,"children":204},{},[205],{"type":50,"value":206},"Action Items:",{"type":50,"value":208}," Any commitments or next steps mentioned",{"type":45,"tag":82,"props":210,"children":211},{},[212,217],{"type":45,"tag":113,"props":213,"children":214},{},[215],{"type":50,"value":216},"Customer Pain Points:",{"type":50,"value":218}," Problems or challenges the customer mentioned",{"type":45,"tag":82,"props":220,"children":221},{},[222,227],{"type":45,"tag":113,"props":223,"children":224},{},[225],{"type":50,"value":226},"Competitor Mentions:",{"type":50,"value":228}," Any competitor products or companies referenced",{"type":45,"tag":82,"props":230,"children":231},{},[232,237],{"type":45,"tag":113,"props":233,"children":234},{},[235],{"type":50,"value":236},"Budget Signals:",{"type":50,"value":238}," Any pricing or budget discussions",{"type":45,"tag":82,"props":240,"children":241},{},[242,247],{"type":45,"tag":113,"props":243,"children":244},{},[245],{"type":50,"value":246},"Decision Maker Signals:",{"type":50,"value":248}," References to decision-making process or stakeholders",{"type":45,"tag":82,"props":250,"children":251},{},[252,257],{"type":45,"tag":113,"props":253,"children":254},{},[255],{"type":50,"value":256},"Timeline Signals:",{"type":50,"value":258}," Any urgency or timing requirements mentioned",{"type":45,"tag":98,"props":260,"children":262},{"id":261},"step-3-match-to-existing-records",[263],{"type":50,"value":264},"Step 3: Match to Existing Records",{"type":45,"tag":53,"props":266,"children":267},{},[268],{"type":50,"value":269},"Query Dataverse to find matching records:",{"type":45,"tag":53,"props":271,"children":272},{},[273],{"type":45,"tag":113,"props":274,"children":275},{},[276],{"type":50,"value":277},"Find Account:",{"type":45,"tag":279,"props":280,"children":284},"pre",{"className":281,"code":283,"language":50},[282],"language-text","Use read_query to search the account table:\n- Search by company name mentioned in transcript\n- Match on account.name field\n- If multiple matches, list them for user confirmation\n",[285],{"type":45,"tag":286,"props":287,"children":289},"code",{"__ignoreMap":288},"",[290],{"type":50,"value":283},{"type":45,"tag":53,"props":292,"children":293},{},[294],{"type":45,"tag":113,"props":295,"children":296},{},[297],{"type":50,"value":298},"Find Contact:",{"type":45,"tag":279,"props":300,"children":303},{"className":301,"code":302,"language":50},[282],"Use read_query to search the contact table:\n- Search by participant name(s) from transcript\n- Match on contact.fullname or contact.firstname + contact.lastname\n- Filter by accountid if account was identified\n- If multiple matches, list them for user confirmation\n",[304],{"type":45,"tag":286,"props":305,"children":306},{"__ignoreMap":288},[307],{"type":50,"value":302},{"type":45,"tag":53,"props":309,"children":310},{},[311],{"type":45,"tag":113,"props":312,"children":313},{},[314],{"type":50,"value":315},"Find Related Opportunity (if applicable):",{"type":45,"tag":279,"props":317,"children":320},{"className":318,"code":319,"language":50},[282],"Use read_query to search the opportunity table:\n- Filter by customerid matching the identified Account or Contact\n- Filter by statecode = 0 (Open)\n- Present open opportunities for user selection if multiple exist\n",[321],{"type":45,"tag":286,"props":322,"children":323},{"__ignoreMap":288},[324],{"type":50,"value":319},{"type":45,"tag":53,"props":326,"children":327},{},[328],{"type":45,"tag":113,"props":329,"children":330},{},[331],{"type":50,"value":332},"Find Related Lead (if no Account\u002FContact found):",{"type":45,"tag":279,"props":334,"children":337},{"className":335,"code":336,"language":50},[282],"Use read_query to search the lead table:\n- Search by companyname or fullname\n- Filter by statecode = 0 (Open)\n",[338],{"type":45,"tag":286,"props":339,"children":340},{"__ignoreMap":288},[341],{"type":50,"value":336},{"type":45,"tag":98,"props":343,"children":345},{"id":344},"step-4-prepare-phone-call-activity-record",[346],{"type":50,"value":347},"Step 4: Prepare Phone Call Activity Record",{"type":45,"tag":53,"props":349,"children":350},{},[351],{"type":50,"value":352},"Construct the Phone Call record with extracted information:",{"type":45,"tag":53,"props":354,"children":355},{},[356],{"type":45,"tag":113,"props":357,"children":358},{},[359],{"type":50,"value":360},"Required Fields:",{"type":45,"tag":119,"props":362,"children":363},{},[364,375,409,420,431],{"type":45,"tag":82,"props":365,"children":366},{},[367,373],{"type":45,"tag":286,"props":368,"children":370},{"className":369},[],[371],{"type":50,"value":372},"subject",{"type":50,"value":374},": Generated from call topic (max 200 characters)",{"type":45,"tag":82,"props":376,"children":377},{},[378,384,386],{"type":45,"tag":286,"props":379,"children":381},{"className":380},[],[382],{"type":50,"value":383},"description",{"type":50,"value":385},": Detailed call summary including:\n",{"type":45,"tag":119,"props":387,"children":388},{},[389,394,399,404],{"type":45,"tag":82,"props":390,"children":391},{},[392],{"type":50,"value":393},"Key discussion points",{"type":45,"tag":82,"props":395,"children":396},{},[397],{"type":50,"value":398},"Customer pain points identified",{"type":45,"tag":82,"props":400,"children":401},{},[402],{"type":50,"value":403},"Action items and next steps",{"type":45,"tag":82,"props":405,"children":406},{},[407],{"type":50,"value":408},"Any competitor or budget mentions",{"type":45,"tag":82,"props":410,"children":411},{},[412,418],{"type":45,"tag":286,"props":413,"children":415},{"className":414},[],[416],{"type":50,"value":417},"phonenumber",{"type":50,"value":419},": Customer phone if extracted",{"type":45,"tag":82,"props":421,"children":422},{},[423,429],{"type":45,"tag":286,"props":424,"children":426},{"className":425},[],[427],{"type":50,"value":428},"directioncode",{"type":50,"value":430},": true for outgoing, false for incoming",{"type":45,"tag":82,"props":432,"children":433},{},[434,440],{"type":45,"tag":286,"props":435,"children":437},{"className":436},[],[438],{"type":50,"value":439},"actualdurationminutes",{"type":50,"value":441},": Call duration in minutes",{"type":45,"tag":53,"props":443,"children":444},{},[445],{"type":45,"tag":113,"props":446,"children":447},{},[448],{"type":50,"value":449},"Regarding Object (Link to primary record):",{"type":45,"tag":119,"props":451,"children":452},{},[453],{"type":45,"tag":82,"props":454,"children":455},{},[456,458,464,466],{"type":50,"value":457},"Set ",{"type":45,"tag":286,"props":459,"children":461},{"className":460},[],[462],{"type":50,"value":463},"regardingobjectid",{"type":50,"value":465}," to the most relevant record:\n",{"type":45,"tag":119,"props":467,"children":468},{},[469,474,479,484],{"type":45,"tag":82,"props":470,"children":471},{},[472],{"type":50,"value":473},"If opportunity was discussed → link to Opportunity",{"type":45,"tag":82,"props":475,"children":476},{},[477],{"type":50,"value":478},"If no opportunity but account identified → link to Account",{"type":45,"tag":82,"props":480,"children":481},{},[482],{"type":50,"value":483},"If only contact identified → link to Contact",{"type":45,"tag":82,"props":485,"children":486},{},[487],{"type":50,"value":488},"If only lead identified → link to Lead",{"type":45,"tag":53,"props":490,"children":491},{},[492],{"type":45,"tag":113,"props":493,"children":494},{},[495],{"type":50,"value":496},"Activity Party Fields:",{"type":45,"tag":119,"props":498,"children":499},{},[500,511],{"type":45,"tag":82,"props":501,"children":502},{},[503,509],{"type":45,"tag":286,"props":504,"children":506},{"className":505},[],[507],{"type":50,"value":508},"from",{"type":50,"value":510},": The sales rep (current user\u002Fsystemuser)",{"type":45,"tag":82,"props":512,"children":513},{},[514,520],{"type":45,"tag":286,"props":515,"children":517},{"className":516},[],[518],{"type":50,"value":519},"to",{"type":50,"value":521},": The customer contact(s) identified",{"type":45,"tag":53,"props":523,"children":524},{},[525],{"type":45,"tag":113,"props":526,"children":527},{},[528],{"type":50,"value":529},"Additional Fields:",{"type":45,"tag":119,"props":531,"children":532},{},[533,544,555,566,577],{"type":45,"tag":82,"props":534,"children":535},{},[536,542],{"type":45,"tag":286,"props":537,"children":539},{"className":538},[],[540],{"type":50,"value":541},"statecode",{"type":50,"value":543},": 1 (Completed)",{"type":45,"tag":82,"props":545,"children":546},{},[547,553],{"type":45,"tag":286,"props":548,"children":550},{"className":549},[],[551],{"type":50,"value":552},"statuscode",{"type":50,"value":554},": 2 (Made) for outgoing or 4 (Received) for incoming",{"type":45,"tag":82,"props":556,"children":557},{},[558,564],{"type":45,"tag":286,"props":559,"children":561},{"className":560},[],[562],{"type":50,"value":563},"category",{"type":50,"value":565},": \"Sales Call\" or appropriate category",{"type":45,"tag":82,"props":567,"children":568},{},[569,575],{"type":45,"tag":286,"props":570,"children":572},{"className":571},[],[573],{"type":50,"value":574},"actualstart",{"type":50,"value":576},": Call start time",{"type":45,"tag":82,"props":578,"children":579},{},[580,586],{"type":45,"tag":286,"props":581,"children":583},{"className":582},[],[584],{"type":50,"value":585},"actualend",{"type":50,"value":587},": Call end time",{"type":45,"tag":98,"props":589,"children":591},{"id":590},"step-5-create-the-phone-call-record",[592],{"type":50,"value":593},"Step 5: Create the Phone Call Record",{"type":45,"tag":279,"props":595,"children":598},{"className":596,"code":597,"language":50},[282],"Use create_record tool with tablename: phonecall\nInclude all prepared fields in the item parameter as JSON\n",[599],{"type":45,"tag":286,"props":600,"children":601},{"__ignoreMap":288},[602],{"type":50,"value":597},{"type":45,"tag":98,"props":604,"children":606},{"id":605},"step-6-create-follow-up-task-if-action-items-identified",[607],{"type":50,"value":608},"Step 6: Create Follow-up Task (if action items identified)",{"type":45,"tag":53,"props":610,"children":611},{},[612],{"type":50,"value":613},"If action items were extracted from the transcript:",{"type":45,"tag":279,"props":615,"children":618},{"className":616,"code":617,"language":50},[282],"Use create_record tool with tablename: task\n- subject: First action item or \"Follow-up from call with [Customer Name]\"\n- description: List of all action items from the call\n- regardingobjectid: Same as the phone call record\n- scheduledend: Based on timeline mentioned or 3 business days from now\n- prioritycode: Based on urgency signals (1=High, 2=Normal, 3=Low)\n",[619],{"type":45,"tag":286,"props":620,"children":621},{"__ignoreMap":288},[622],{"type":50,"value":617},{"type":45,"tag":98,"props":624,"children":626},{"id":625},"step-7-add-detailed-notes-if-needed",[627],{"type":50,"value":628},"Step 7: Add Detailed Notes (if needed)",{"type":45,"tag":53,"props":630,"children":631},{},[632],{"type":50,"value":633},"If transcript contains detailed technical or strategic information:",{"type":45,"tag":279,"props":635,"children":638},{"className":636,"code":637,"language":50},[282],"Use create_record tool with tablename: annotation\n- subject: \"Call Transcript - [Date]\"\n- notetext: Full transcript or detailed notes\n- objectid: Link to the created Phone Call activity\n- objecttypecode: \"phonecall\"\n",[639],{"type":45,"tag":286,"props":640,"children":641},{"__ignoreMap":288},[642],{"type":50,"value":637},{"type":45,"tag":66,"props":644,"children":646},{"id":645},"step-8-update-related-records-if-applicable",[647],{"type":50,"value":648},"Step 8: Update Related Records (if applicable)",{"type":45,"tag":53,"props":650,"children":651},{},[652],{"type":50,"value":653},"Based on transcript content, suggest updates to related records:",{"type":45,"tag":53,"props":655,"children":656},{},[657],{"type":45,"tag":113,"props":658,"children":659},{},[660],{"type":50,"value":661},"Update Opportunity (if linked):",{"type":45,"tag":119,"props":663,"children":664},{},[665,670,675],{"type":45,"tag":82,"props":666,"children":667},{},[668],{"type":50,"value":669},"If competitor mentioned → suggest updating opportunity competitive information",{"type":45,"tag":82,"props":671,"children":672},{},[673],{"type":50,"value":674},"If budget discussed → suggest updating budgetamount",{"type":45,"tag":82,"props":676,"children":677},{},[678],{"type":50,"value":679},"If timeline clarified → suggest updating estimatedclosedate",{"type":45,"tag":53,"props":681,"children":682},{},[683],{"type":45,"tag":113,"props":684,"children":685},{},[686],{"type":50,"value":687},"Update Lead (if linked):",{"type":45,"tag":119,"props":689,"children":690},{},[691,696,701],{"type":45,"tag":82,"props":692,"children":693},{},[694],{"type":50,"value":695},"If qualification signals found → suggest updating leadqualitycode",{"type":45,"tag":82,"props":697,"children":698},{},[699],{"type":50,"value":700},"If budget discussed → suggest updating budgetstatus",{"type":45,"tag":82,"props":702,"children":703},{},[704],{"type":50,"value":705},"If decision maker confirmed → suggest updating decisionmaker field",{"type":45,"tag":59,"props":707,"children":709},{"id":708},"examples",[710],{"type":50,"value":711},"Examples",{"type":45,"tag":66,"props":713,"children":715},{"id":714},"example-1-standard-sales-call-logging",[716],{"type":50,"value":717},"Example 1: Standard Sales Call Logging",{"type":45,"tag":53,"props":719,"children":720},{},[721,726],{"type":45,"tag":113,"props":722,"children":723},{},[724],{"type":50,"value":725},"User says:",{"type":50,"value":727}," \"Log this call transcript:",{"type":45,"tag":53,"props":729,"children":730},{},[731],{"type":50,"value":732},"Sales Rep: Hi John, thanks for taking my call today.\nJohn: No problem Sarah. We're really interested in learning more about your Enterprise solution.\nSales Rep: Great! I know Contoso has been evaluating options. What's driving the timeline?\nJohn: We need to make a decision by end of Q1. Our current vendor Acme Corp has been having reliability issues.\nSales Rep: I understand. What's your budget range for this project?\nJohn: We're looking at around $50,000 for the initial implementation.\nSales Rep: Perfect. Let me send you a proposal by Friday and we can schedule a demo for your team next week.\nJohn: Sounds good. Make sure to include our CTO, Mike Chen, on that invite.\"",{"type":45,"tag":53,"props":734,"children":735},{},[736],{"type":45,"tag":113,"props":737,"children":738},{},[739],{"type":50,"value":740},"Actions:",{"type":45,"tag":78,"props":742,"children":743},{},[744,749,754,759,764],{"type":45,"tag":82,"props":745,"children":746},{},[747],{"type":50,"value":748},"Parse transcript and extract participant names (John, Sarah), company (Contoso)",{"type":45,"tag":82,"props":750,"children":751},{},[752],{"type":50,"value":753},"Query Dataverse for matching Account \"Contoso\" and Contact \"John\"",{"type":45,"tag":82,"props":755,"children":756},{},[757],{"type":50,"value":758},"Extract key signals: budget ($50K), timeline (Q1), competitor (Acme Corp), stakeholder (Mike Chen, CTO)",{"type":45,"tag":82,"props":760,"children":761},{},[762],{"type":50,"value":763},"Create Phone Call record linked to Contoso account",{"type":45,"tag":82,"props":765,"children":766},{},[767],{"type":50,"value":768},"Create follow-up Task \"Send proposal to Contoso\" due Friday",{"type":45,"tag":53,"props":770,"children":771},{},[772],{"type":45,"tag":113,"props":773,"children":774},{},[775],{"type":50,"value":776},"Result:",{"type":45,"tag":119,"props":778,"children":779},{},[780,785,790],{"type":45,"tag":82,"props":781,"children":782},{},[783],{"type":50,"value":784},"Phone Call created: \"Enterprise Solution Discussion with Contoso\"",{"type":45,"tag":82,"props":786,"children":787},{},[788],{"type":50,"value":789},"Follow-up Task created with Friday deadline",{"type":45,"tag":82,"props":791,"children":792},{},[793],{"type":50,"value":794},"Suggested updates: Add $50K budget to opportunity, add Acme Corp as competitor",{"type":45,"tag":66,"props":796,"children":798},{"id":797},"example-2-support-call-with-no-existing-records",[799],{"type":50,"value":800},"Example 2: Support Call with No Existing Records",{"type":45,"tag":53,"props":802,"children":803},{},[804,808],{"type":45,"tag":113,"props":805,"children":806},{},[807],{"type":50,"value":725},{"type":50,"value":809}," \"Process this support call - customer called about integration issues\"",{"type":45,"tag":53,"props":811,"children":812},{},[813],{"type":45,"tag":113,"props":814,"children":815},{},[816],{"type":50,"value":740},{"type":45,"tag":78,"props":818,"children":819},{},[820,825,830,835],{"type":45,"tag":82,"props":821,"children":822},{},[823],{"type":50,"value":824},"Parse transcript for customer details",{"type":45,"tag":82,"props":826,"children":827},{},[828],{"type":50,"value":829},"Search Dataverse - no matching account\u002Fcontact found",{"type":45,"tag":82,"props":831,"children":832},{},[833],{"type":50,"value":834},"Create Phone Call with extracted details",{"type":45,"tag":82,"props":836,"children":837},{},[838],{"type":50,"value":839},"Prompt user: \"No matching account found. Would you like to create a new Lead?\"",{"type":45,"tag":53,"props":841,"children":842},{},[843,847],{"type":45,"tag":113,"props":844,"children":845},{},[846],{"type":50,"value":776},{"type":50,"value":848}," Phone Call logged with suggestion to create new Lead record",{"type":45,"tag":59,"props":850,"children":852},{"id":851},"troubleshooting",[853],{"type":50,"value":854},"Troubleshooting",{"type":45,"tag":66,"props":856,"children":858},{"id":857},"error-no-matching-account-or-contact-found",[859],{"type":50,"value":860},"Error: No matching Account or Contact found",{"type":45,"tag":53,"props":862,"children":863},{},[864,869,871],{"type":45,"tag":113,"props":865,"children":866},{},[867],{"type":50,"value":868},"Cause:",{"type":50,"value":870}," Company or person name in transcript doesn't match any Dataverse records\n",{"type":45,"tag":113,"props":872,"children":873},{},[874],{"type":50,"value":875},"Solution:",{"type":45,"tag":119,"props":877,"children":878},{},[879,884,889],{"type":45,"tag":82,"props":880,"children":881},{},[882],{"type":50,"value":883},"Check for spelling variations or abbreviations",{"type":45,"tag":82,"props":885,"children":886},{},[887],{"type":50,"value":888},"Ask user to confirm the correct account\u002Fcontact",{"type":45,"tag":82,"props":890,"children":891},{},[892],{"type":50,"value":893},"Offer to create a new Lead record if appropriate",{"type":45,"tag":66,"props":895,"children":897},{"id":896},"error-multiple-matching-records-found",[898],{"type":50,"value":899},"Error: Multiple matching records found",{"type":45,"tag":53,"props":901,"children":902},{},[903,907,909],{"type":45,"tag":113,"props":904,"children":905},{},[906],{"type":50,"value":868},{"type":50,"value":908}," Common names or company names match multiple Dataverse records\n",{"type":45,"tag":113,"props":910,"children":911},{},[912],{"type":50,"value":875},{"type":45,"tag":119,"props":914,"children":915},{},[916,921,926],{"type":45,"tag":82,"props":917,"children":918},{},[919],{"type":50,"value":920},"Present the list of potential matches to the user",{"type":45,"tag":82,"props":922,"children":923},{},[924],{"type":50,"value":925},"Ask user to select the correct record before proceeding",{"type":45,"tag":82,"props":927,"children":928},{},[929],{"type":50,"value":930},"Use additional context (phone number, email) to narrow matches",{"type":45,"tag":66,"props":932,"children":934},{"id":933},"error-phone-call-creation-failed",[935],{"type":50,"value":936},"Error: Phone Call creation failed",{"type":45,"tag":53,"props":938,"children":939},{},[940,944,946],{"type":45,"tag":113,"props":941,"children":942},{},[943],{"type":50,"value":868},{"type":50,"value":945}," Missing required fields or invalid field values\n",{"type":45,"tag":113,"props":947,"children":948},{},[949],{"type":50,"value":875},{"type":45,"tag":119,"props":951,"children":952},{},[953,965,977],{"type":45,"tag":82,"props":954,"children":955},{},[956,958,963],{"type":50,"value":957},"Ensure ",{"type":45,"tag":286,"props":959,"children":961},{"className":960},[],[962],{"type":50,"value":372},{"type":50,"value":964}," is under 200 characters",{"type":45,"tag":82,"props":966,"children":967},{},[968,970,975],{"type":50,"value":969},"Verify ",{"type":45,"tag":286,"props":971,"children":973},{"className":972},[],[974],{"type":50,"value":463},{"type":50,"value":976}," points to a valid record",{"type":45,"tag":82,"props":978,"children":979},{},[980,982,987],{"type":50,"value":981},"Check that ",{"type":45,"tag":286,"props":983,"children":985},{"className":984},[],[986],{"type":50,"value":428},{"type":50,"value":988}," is a valid boolean value",{"type":45,"tag":59,"props":990,"children":992},{"id":991},"output-format",[993],{"type":50,"value":994},"Output Format",{"type":45,"tag":53,"props":996,"children":997},{},[998],{"type":50,"value":999},"After processing, provide the user with:",{"type":45,"tag":78,"props":1001,"children":1002},{},[1003,1013,1023,1033,1043],{"type":45,"tag":82,"props":1004,"children":1005},{},[1006,1011],{"type":45,"tag":113,"props":1007,"children":1008},{},[1009],{"type":50,"value":1010},"Summary:",{"type":50,"value":1012}," Brief confirmation of what was logged",{"type":45,"tag":82,"props":1014,"children":1015},{},[1016,1021],{"type":45,"tag":113,"props":1017,"children":1018},{},[1019],{"type":50,"value":1020},"Phone Call Record:",{"type":50,"value":1022}," Link\u002FID of created phone call activity",{"type":45,"tag":82,"props":1024,"children":1025},{},[1026,1031],{"type":45,"tag":113,"props":1027,"children":1028},{},[1029],{"type":50,"value":1030},"Key Extracted Information:",{"type":50,"value":1032}," Bullet points of main findings",{"type":45,"tag":82,"props":1034,"children":1035},{},[1036,1041],{"type":45,"tag":113,"props":1037,"children":1038},{},[1039],{"type":50,"value":1040},"Follow-up Task:",{"type":50,"value":1042}," Link\u002FID if created",{"type":45,"tag":82,"props":1044,"children":1045},{},[1046,1051],{"type":45,"tag":113,"props":1047,"children":1048},{},[1049],{"type":50,"value":1050},"Suggested Updates:",{"type":50,"value":1052}," Any recommended updates to related records",{"type":45,"tag":66,"props":1054,"children":1056},{"id":1055},"example-interaction",[1057],{"type":50,"value":1058},"Example Interaction",{"type":45,"tag":53,"props":1060,"children":1061},{},[1062,1067],{"type":45,"tag":113,"props":1063,"children":1064},{},[1065],{"type":50,"value":1066},"User Input:",{"type":50,"value":1068},"\n\"Log this call transcript:",{"type":45,"tag":53,"props":1070,"children":1071},{},[1072],{"type":50,"value":732},{"type":45,"tag":53,"props":1074,"children":1075},{},[1076,1081,1083],{"type":45,"tag":113,"props":1077,"children":1078},{},[1079],{"type":50,"value":1080},"Skill Output:",{"type":50,"value":1082},"\n✅ ",{"type":45,"tag":113,"props":1084,"children":1085},{},[1086],{"type":50,"value":1087},"Phone Call Logged Successfully",{"type":45,"tag":53,"props":1089,"children":1090},{},[1091,1096],{"type":45,"tag":113,"props":1092,"children":1093},{},[1094],{"type":50,"value":1095},"Record Created:",{"type":50,"value":1097}," Phone Call - \"Enterprise Solution Discussion with Contoso\"",{"type":45,"tag":53,"props":1099,"children":1100},{},[1101],{"type":45,"tag":113,"props":1102,"children":1103},{},[1104],{"type":50,"value":1105},"Key Information Extracted:",{"type":45,"tag":119,"props":1107,"children":1108},{},[1109,1119,1129,1139,1149,1159,1169],{"type":45,"tag":82,"props":1110,"children":1111},{},[1112,1117],{"type":45,"tag":113,"props":1113,"children":1114},{},[1115],{"type":50,"value":1116},"Account:",{"type":50,"value":1118}," Contoso (matched in Dataverse)",{"type":45,"tag":82,"props":1120,"children":1121},{},[1122,1127],{"type":45,"tag":113,"props":1123,"children":1124},{},[1125],{"type":50,"value":1126},"Contact:",{"type":50,"value":1128}," John (linked to Contoso)",{"type":45,"tag":82,"props":1130,"children":1131},{},[1132,1137],{"type":45,"tag":113,"props":1133,"children":1134},{},[1135],{"type":50,"value":1136},"Topic:",{"type":50,"value":1138}," Enterprise solution evaluation",{"type":45,"tag":82,"props":1140,"children":1141},{},[1142,1147],{"type":45,"tag":113,"props":1143,"children":1144},{},[1145],{"type":50,"value":1146},"Competitor Mentioned:",{"type":50,"value":1148}," Acme Corp (reliability issues)",{"type":45,"tag":82,"props":1150,"children":1151},{},[1152,1157],{"type":45,"tag":113,"props":1153,"children":1154},{},[1155],{"type":50,"value":1156},"Budget Signal:",{"type":50,"value":1158}," $50,000 for implementation",{"type":45,"tag":82,"props":1160,"children":1161},{},[1162,1167],{"type":45,"tag":113,"props":1163,"children":1164},{},[1165],{"type":50,"value":1166},"Timeline:",{"type":50,"value":1168}," Decision by end of Q1",{"type":45,"tag":82,"props":1170,"children":1171},{},[1172,1177],{"type":45,"tag":113,"props":1173,"children":1174},{},[1175],{"type":50,"value":1176},"Decision Maker:",{"type":50,"value":1178}," Mike Chen (CTO) to be included",{"type":45,"tag":53,"props":1180,"children":1181},{},[1182,1187],{"type":45,"tag":113,"props":1183,"children":1184},{},[1185],{"type":50,"value":1186},"Follow-up Task Created:",{"type":50,"value":1188}," \"Send proposal to Contoso\" - Due: Friday",{"type":45,"tag":53,"props":1190,"children":1191},{},[1192],{"type":45,"tag":113,"props":1193,"children":1194},{},[1195],{"type":50,"value":1050},{"type":45,"tag":119,"props":1197,"children":1198},{},[1199,1204,1209],{"type":45,"tag":82,"props":1200,"children":1201},{},[1202],{"type":50,"value":1203},"Update Opportunity \"Contoso Enterprise Deal\" with budget amount $50,000",{"type":45,"tag":82,"props":1205,"children":1206},{},[1207],{"type":50,"value":1208},"Add competitor \"Acme Corp\" to opportunity",{"type":45,"tag":82,"props":1210,"children":1211},{},[1212],{"type":50,"value":1213},"Update estimated close date to Q1 end",{"type":45,"tag":66,"props":1215,"children":1217},{"id":1216},"dataverse-tables-used",[1218],{"type":50,"value":1219},"Dataverse Tables Used",{"type":45,"tag":1221,"props":1222,"children":1223},"table",{},[1224,1243],{"type":45,"tag":1225,"props":1226,"children":1227},"thead",{},[1228],{"type":45,"tag":1229,"props":1230,"children":1231},"tr",{},[1232,1238],{"type":45,"tag":1233,"props":1234,"children":1235},"th",{},[1236],{"type":50,"value":1237},"Table",{"type":45,"tag":1233,"props":1239,"children":1240},{},[1241],{"type":50,"value":1242},"Purpose",{"type":45,"tag":1244,"props":1245,"children":1246},"tbody",{},[1247,1265,1282,1299,1316,1333,1350],{"type":45,"tag":1229,"props":1248,"children":1249},{},[1250,1260],{"type":45,"tag":1251,"props":1252,"children":1253},"td",{},[1254],{"type":45,"tag":286,"props":1255,"children":1257},{"className":1256},[],[1258],{"type":50,"value":1259},"phonecall",{"type":45,"tag":1251,"props":1261,"children":1262},{},[1263],{"type":50,"value":1264},"Primary record created for the call activity",{"type":45,"tag":1229,"props":1266,"children":1267},{},[1268,1277],{"type":45,"tag":1251,"props":1269,"children":1270},{},[1271],{"type":45,"tag":286,"props":1272,"children":1274},{"className":1273},[],[1275],{"type":50,"value":1276},"account",{"type":45,"tag":1251,"props":1278,"children":1279},{},[1280],{"type":50,"value":1281},"Query to match company mentioned in transcript",{"type":45,"tag":1229,"props":1283,"children":1284},{},[1285,1294],{"type":45,"tag":1251,"props":1286,"children":1287},{},[1288],{"type":45,"tag":286,"props":1289,"children":1291},{"className":1290},[],[1292],{"type":50,"value":1293},"contact",{"type":45,"tag":1251,"props":1295,"children":1296},{},[1297],{"type":50,"value":1298},"Query to match participant names",{"type":45,"tag":1229,"props":1300,"children":1301},{},[1302,1311],{"type":45,"tag":1251,"props":1303,"children":1304},{},[1305],{"type":45,"tag":286,"props":1306,"children":1308},{"className":1307},[],[1309],{"type":50,"value":1310},"opportunity",{"type":45,"tag":1251,"props":1312,"children":1313},{},[1314],{"type":50,"value":1315},"Query for related open deals, link as regarding object",{"type":45,"tag":1229,"props":1317,"children":1318},{},[1319,1328],{"type":45,"tag":1251,"props":1320,"children":1321},{},[1322],{"type":45,"tag":286,"props":1323,"children":1325},{"className":1324},[],[1326],{"type":50,"value":1327},"lead",{"type":45,"tag":1251,"props":1329,"children":1330},{},[1331],{"type":50,"value":1332},"Fallback if no account\u002Fcontact found",{"type":45,"tag":1229,"props":1334,"children":1335},{},[1336,1345],{"type":45,"tag":1251,"props":1337,"children":1338},{},[1339],{"type":45,"tag":286,"props":1340,"children":1342},{"className":1341},[],[1343],{"type":50,"value":1344},"task",{"type":45,"tag":1251,"props":1346,"children":1347},{},[1348],{"type":50,"value":1349},"Create follow-up tasks for action items",{"type":45,"tag":1229,"props":1351,"children":1352},{},[1353,1362],{"type":45,"tag":1251,"props":1354,"children":1355},{},[1356],{"type":45,"tag":286,"props":1357,"children":1359},{"className":1358},[],[1360],{"type":50,"value":1361},"annotation",{"type":45,"tag":1251,"props":1363,"children":1364},{},[1365],{"type":50,"value":1366},"Store full transcript as attachment",{"type":45,"tag":66,"props":1368,"children":1370},{"id":1369},"key-fields-reference",[1371],{"type":50,"value":1372},"Key Fields Reference",{"type":45,"tag":53,"props":1374,"children":1375},{},[1376],{"type":45,"tag":113,"props":1377,"children":1378},{},[1379],{"type":50,"value":1380},"phonecall:",{"type":45,"tag":119,"props":1382,"children":1383},{},[1384,1394,1404,1414,1424,1434,1444,1454,1464,1474,1484,1495,1505],{"type":45,"tag":82,"props":1385,"children":1386},{},[1387,1392],{"type":45,"tag":286,"props":1388,"children":1390},{"className":1389},[],[1391],{"type":50,"value":372},{"type":50,"value":1393}," (NVARCHAR 200) - Call title",{"type":45,"tag":82,"props":1395,"children":1396},{},[1397,1402],{"type":45,"tag":286,"props":1398,"children":1400},{"className":1399},[],[1401],{"type":50,"value":383},{"type":50,"value":1403}," (MULTILINE TEXT) - Call summary and notes",{"type":45,"tag":82,"props":1405,"children":1406},{},[1407,1412],{"type":45,"tag":286,"props":1408,"children":1410},{"className":1409},[],[1411],{"type":50,"value":417},{"type":50,"value":1413}," (PHONE) - Customer phone number",{"type":45,"tag":82,"props":1415,"children":1416},{},[1417,1422],{"type":45,"tag":286,"props":1418,"children":1420},{"className":1419},[],[1421],{"type":50,"value":428},{"type":50,"value":1423}," (BIT) - true=Outgoing, false=Incoming",{"type":45,"tag":82,"props":1425,"children":1426},{},[1427,1432],{"type":45,"tag":286,"props":1428,"children":1430},{"className":1429},[],[1431],{"type":50,"value":439},{"type":50,"value":1433}," (DURATION) - Call length in minutes",{"type":45,"tag":82,"props":1435,"children":1436},{},[1437,1442],{"type":45,"tag":286,"props":1438,"children":1440},{"className":1439},[],[1441],{"type":50,"value":574},{"type":50,"value":1443}," (DATETIME) - When call started",{"type":45,"tag":82,"props":1445,"children":1446},{},[1447,1452],{"type":45,"tag":286,"props":1448,"children":1450},{"className":1449},[],[1451],{"type":50,"value":585},{"type":50,"value":1453}," (DATETIME) - When call ended",{"type":45,"tag":82,"props":1455,"children":1456},{},[1457,1462],{"type":45,"tag":286,"props":1458,"children":1460},{"className":1459},[],[1461],{"type":50,"value":463},{"type":50,"value":1463}," (LOOKUP) - Polymorphic link to account, contact, lead, or opportunity",{"type":45,"tag":82,"props":1465,"children":1466},{},[1467,1472],{"type":45,"tag":286,"props":1468,"children":1470},{"className":1469},[],[1471],{"type":50,"value":508},{"type":50,"value":1473}," (ACTIVITY PARTY) - Caller (systemuser, contact, account, lead)",{"type":45,"tag":82,"props":1475,"children":1476},{},[1477,1482],{"type":45,"tag":286,"props":1478,"children":1480},{"className":1479},[],[1481],{"type":50,"value":519},{"type":50,"value":1483}," (ACTIVITY PARTY) - Call recipient (contact, account, lead)",{"type":45,"tag":82,"props":1485,"children":1486},{},[1487,1493],{"type":45,"tag":286,"props":1488,"children":1490},{"className":1489},[],[1491],{"type":50,"value":1492},"leftvoicemail",{"type":50,"value":1494}," (BIT) - Whether voicemail was left",{"type":45,"tag":82,"props":1496,"children":1497},{},[1498,1503],{"type":45,"tag":286,"props":1499,"children":1501},{"className":1500},[],[1502],{"type":50,"value":541},{"type":50,"value":1504}," (STATE) - Open(0), Completed(1), Canceled(2)",{"type":45,"tag":82,"props":1506,"children":1507},{},[1508,1513],{"type":45,"tag":286,"props":1509,"children":1511},{"className":1510},[],[1512],{"type":50,"value":552},{"type":50,"value":1514}," (STATUS) - Open(1), Made(2), Canceled(3), Received(4)",{"type":45,"tag":53,"props":1516,"children":1517},{},[1518],{"type":45,"tag":113,"props":1519,"children":1520},{},[1521],{"type":50,"value":1522},"activityparty (for from\u002Fto fields):",{"type":45,"tag":119,"props":1524,"children":1525},{},[1526,1537],{"type":45,"tag":82,"props":1527,"children":1528},{},[1529,1535],{"type":45,"tag":286,"props":1530,"children":1532},{"className":1531},[],[1533],{"type":50,"value":1534},"partyid",{"type":50,"value":1536}," (LOOKUP) - Polymorphic reference to participant (contact, account, lead, systemuser)",{"type":45,"tag":82,"props":1538,"children":1539},{},[1540,1546],{"type":45,"tag":286,"props":1541,"children":1543},{"className":1542},[],[1544],{"type":50,"value":1545},"participationtypemask",{"type":50,"value":1547}," (CHOICE) - Sender(1), To Recipient(2), etc.",{"type":45,"tag":53,"props":1549,"children":1550},{},[1551],{"type":45,"tag":113,"props":1552,"children":1553},{},[1554],{"type":50,"value":1555},"annotation (for transcript storage):",{"type":45,"tag":119,"props":1557,"children":1558},{},[1559,1569,1580,1591],{"type":45,"tag":82,"props":1560,"children":1561},{},[1562,1567],{"type":45,"tag":286,"props":1563,"children":1565},{"className":1564},[],[1566],{"type":50,"value":372},{"type":50,"value":1568}," (NVARCHAR 500) - Note title",{"type":45,"tag":82,"props":1570,"children":1571},{},[1572,1578],{"type":45,"tag":286,"props":1573,"children":1575},{"className":1574},[],[1576],{"type":50,"value":1577},"notetext",{"type":50,"value":1579}," (MULTILINE TEXT) - Full transcript content",{"type":45,"tag":82,"props":1581,"children":1582},{},[1583,1589],{"type":45,"tag":286,"props":1584,"children":1586},{"className":1585},[],[1587],{"type":50,"value":1588},"objectid",{"type":50,"value":1590}," (LOOKUP) - Link to phonecall record",{"type":45,"tag":82,"props":1592,"children":1593},{},[1594,1600],{"type":45,"tag":286,"props":1595,"children":1597},{"className":1596},[],[1598],{"type":50,"value":1599},"objecttypecode",{"type":50,"value":1601}," (NVARCHAR) - \"phonecall\"",{"items":1603,"total":1798},[1604,1626,1647,1668,1683,1700,1711,1724,1739,1754,1773,1786],{"slug":1605,"name":1605,"fn":1606,"description":1607,"org":1608,"tags":1609,"stars":1623,"repoUrl":1624,"updatedAt":1625},"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},[1610,1613,1616,1617,1620],{"name":1611,"slug":1612,"type":15},"Engineering","engineering",{"name":1614,"slug":1615,"type":15},"Local Development","local-development",{"name":9,"slug":8,"type":15},{"name":1618,"slug":1619,"type":15},"Project Management","project-management",{"name":1621,"slug":1622,"type":15},"Rush","rush",6484,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Frushstack","2026-04-06T18:34:44.965032",{"slug":1627,"name":1627,"fn":1628,"description":1629,"org":1630,"tags":1631,"stars":1644,"repoUrl":1645,"updatedAt":1646},"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},[1632,1635,1638,1641],{"name":1633,"slug":1634,"type":15},".NET","net",{"name":1636,"slug":1637,"type":15},"Agents","agents",{"name":1639,"slug":1640,"type":15},"Azure","azure",{"name":1642,"slug":1643,"type":15},"LLM","llm",2804,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills","2026-07-03T16:32:10.297433",{"slug":1648,"name":1648,"fn":1649,"description":1650,"org":1651,"tags":1652,"stars":1644,"repoUrl":1645,"updatedAt":1667},"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},[1653,1656,1657,1660,1663,1664],{"name":1654,"slug":1655,"type":15},"Analytics","analytics",{"name":1639,"slug":1640,"type":15},{"name":1658,"slug":1659,"type":15},"Data Analysis","data-analysis",{"name":1661,"slug":1662,"type":15},"Java","java",{"name":9,"slug":8,"type":15},{"name":1665,"slug":1666,"type":15},"Monitoring","monitoring","2026-05-13T06:14:16.261754",{"slug":1669,"name":1669,"fn":1670,"description":1671,"org":1672,"tags":1673,"stars":1644,"repoUrl":1645,"updatedAt":1682},"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},[1674,1677,1678,1679],{"name":1675,"slug":1676,"type":15},"AI Infrastructure","ai-infrastructure",{"name":1639,"slug":1640,"type":15},{"name":1661,"slug":1662,"type":15},{"name":1680,"slug":1681,"type":15},"Security","security","2026-07-07T06:53:31.293235",{"slug":1684,"name":1684,"fn":1685,"description":1686,"org":1687,"tags":1688,"stars":1644,"repoUrl":1645,"updatedAt":1699},"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},[1689,1690,1693,1694,1695,1698],{"name":1639,"slug":1640,"type":15},{"name":1691,"slug":1692,"type":15},"Compliance","compliance",{"name":1642,"slug":1643,"type":15},{"name":9,"slug":8,"type":15},{"name":1696,"slug":1697,"type":15},"Python","python",{"name":1680,"slug":1681,"type":15},"2026-07-18T05:14:23.017504",{"slug":1701,"name":1701,"fn":1702,"description":1703,"org":1704,"tags":1705,"stars":1644,"repoUrl":1645,"updatedAt":1710},"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},[1706,1707,1708,1709],{"name":1654,"slug":1655,"type":15},{"name":1639,"slug":1640,"type":15},{"name":1642,"slug":1643,"type":15},{"name":1696,"slug":1697,"type":15},"2026-07-31T05:54:29.068751",{"slug":1712,"name":1712,"fn":1713,"description":1714,"org":1715,"tags":1716,"stars":1644,"repoUrl":1645,"updatedAt":1723},"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},[1717,1720,1721,1722],{"name":1718,"slug":1719,"type":15},"API Development","api-development",{"name":1639,"slug":1640,"type":15},{"name":9,"slug":8,"type":15},{"name":1696,"slug":1697,"type":15},"2026-07-18T05:14:16.988376",{"slug":1725,"name":1725,"fn":1726,"description":1727,"org":1728,"tags":1729,"stars":1644,"repoUrl":1645,"updatedAt":1738},"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},[1730,1731,1734,1737],{"name":1639,"slug":1640,"type":15},{"name":1732,"slug":1733,"type":15},"Computer Vision","computer-vision",{"name":1735,"slug":1736,"type":15},"Images","images",{"name":1696,"slug":1697,"type":15},"2026-07-18T05:14:18.007737",{"slug":1740,"name":1740,"fn":1741,"description":1742,"org":1743,"tags":1744,"stars":1644,"repoUrl":1645,"updatedAt":1753},"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},[1745,1746,1749,1752],{"name":1639,"slug":1640,"type":15},{"name":1747,"slug":1748,"type":15},"Configuration","configuration",{"name":1750,"slug":1751,"type":15},"Feature Flags","feature-flags",{"name":1661,"slug":1662,"type":15},"2026-07-03T16:32:01.278468",{"slug":1755,"name":1755,"fn":1756,"description":1757,"org":1758,"tags":1759,"stars":1644,"repoUrl":1645,"updatedAt":1772},"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},[1760,1763,1766,1769],{"name":1761,"slug":1762,"type":15},"Cosmos DB","cosmos-db",{"name":1764,"slug":1765,"type":15},"Database","database",{"name":1767,"slug":1768,"type":15},"NoSQL","nosql",{"name":1770,"slug":1771,"type":15},"Rust","rust","2026-07-31T05:54:27.021432",{"slug":1774,"name":1774,"fn":1756,"description":1775,"org":1776,"tags":1777,"stars":1644,"repoUrl":1645,"updatedAt":1785},"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},[1778,1779,1780,1781,1782],{"name":1761,"slug":1762,"type":15},{"name":1764,"slug":1765,"type":15},{"name":9,"slug":8,"type":15},{"name":1767,"slug":1768,"type":15},{"name":1783,"slug":1784,"type":15},"TypeScript","typescript","2026-07-03T16:31:19.368382",{"slug":1787,"name":1787,"fn":1788,"description":1789,"org":1790,"tags":1791,"stars":1644,"repoUrl":1645,"updatedAt":1797},"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},[1792,1793,1794,1795,1796],{"name":1639,"slug":1640,"type":15},{"name":1761,"slug":1762,"type":15},{"name":1764,"slug":1765,"type":15},{"name":1661,"slug":1662,"type":15},{"name":1767,"slug":1768,"type":15},"2026-05-13T06:14:17.582229",267,{"items":1800,"total":1902},[1801,1818,1832,1845,1861,1873,1885],{"slug":1802,"name":1802,"fn":1803,"description":1804,"org":1805,"tags":1806,"stars":26,"repoUrl":27,"updatedAt":1817},"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},[1807,1808,1809,1812,1813,1814],{"name":18,"slug":19,"type":15},{"name":24,"slug":25,"type":15},{"name":1810,"slug":1811,"type":15},"Meetings","meetings",{"name":9,"slug":8,"type":15},{"name":21,"slug":22,"type":15},{"name":1815,"slug":1816,"type":15},"Summarization","summarization","2026-04-06T18:36:32.277939",{"slug":1819,"name":1819,"fn":1820,"description":1821,"org":1822,"tags":1823,"stars":26,"repoUrl":27,"updatedAt":1831},"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},[1824,1825,1826,1827,1830],{"name":18,"slug":19,"type":15},{"name":24,"slug":25,"type":15},{"name":9,"slug":8,"type":15},{"name":1828,"slug":1829,"type":15},"Risk Assessment","risk-assessment",{"name":21,"slug":22,"type":15},"2026-04-06T18:36:28.462732",{"slug":1833,"name":1833,"fn":1834,"description":1835,"org":1836,"tags":1837,"stars":26,"repoUrl":27,"updatedAt":1844},"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},[1838,1840,1841,1842,1843],{"name":1839,"slug":1833,"type":15},"Competitive Intelligence",{"name":18,"slug":19,"type":15},{"name":24,"slug":25,"type":15},{"name":9,"slug":8,"type":15},{"name":21,"slug":22,"type":15},"2026-04-06T18:36:23.280253",{"slug":1846,"name":1846,"fn":1847,"description":1848,"org":1849,"tags":1850,"stars":26,"repoUrl":27,"updatedAt":1860},"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},[1851,1854,1855,1858,1859],{"name":1852,"slug":1853,"type":15},"Content Creation","content-creation",{"name":24,"slug":25,"type":15},{"name":1856,"slug":1857,"type":15},"Marketing","marketing",{"name":9,"slug":8,"type":15},{"name":21,"slug":22,"type":15},"2026-04-06T18:36:24.562421",{"slug":1862,"name":1862,"fn":1863,"description":1864,"org":1865,"tags":1866,"stars":26,"repoUrl":27,"updatedAt":1872},"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},[1867,1868,1869,1870,1871],{"name":1654,"slug":1655,"type":15},{"name":18,"slug":19,"type":15},{"name":24,"slug":25,"type":15},{"name":9,"slug":8,"type":15},{"name":21,"slug":22,"type":15},"2026-04-06T18:36:37.380929",{"slug":1874,"name":1874,"fn":1875,"description":1876,"org":1877,"tags":1878,"stars":26,"repoUrl":27,"updatedAt":1884},"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},[1879,1880,1881,1882,1883],{"name":18,"slug":19,"type":15},{"name":24,"slug":25,"type":15},{"name":9,"slug":8,"type":15},{"name":21,"slug":22,"type":15},{"name":1815,"slug":1816,"type":15},"2026-04-06T18:36:31.028078",{"slug":1886,"name":1886,"fn":1887,"description":1888,"org":1889,"tags":1890,"stars":26,"repoUrl":27,"updatedAt":1901},"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},[1891,1892,1893,1896,1897,1900],{"name":18,"slug":19,"type":15},{"name":24,"slug":25,"type":15},{"name":1894,"slug":1895,"type":15},"Email","email",{"name":9,"slug":8,"type":15},{"name":1898,"slug":1899,"type":15},"Outreach","outreach",{"name":21,"slug":22,"type":15},"2026-04-06T18:36:36.103544",16]