Agent skill · operations · aiskillstore
email-agent
Processes incoming emails for Unite-Hub. Extracts sender data, identifies communication intents, links to CRM contacts, analyzes sentiment, and updates contact records with AI insights.
Why this skill is useful
Adds executable scripts for processing emails, extracting intents, and updating CRM contacts that aren't in public documentation.
What it needs
Requires convex installed locally. About 3k tokens when loaded. Last updated 2026-08-07. 405 stars on the source repository.
What this skill does
Email Agent Skill Overview The Email Agent is responsible for: 1. Processing unprocessed emails from a workspace 2. Extracting sender information and linking to existing contacts 3. Analyzing email content for intents and sentiment 4. Updating CRM contacts with interaction data 5. Creating audit logs for all actions How to Use This Agent Trigger User says: "Process emails for Duncan's workspace" or "Analyze unprocessed emails" What the Agent Does 1. Fetch Unprocessed Emails Returns array of emails not yet processed (isProcessed: false) 2. For Each Email Step A: Extract Sender Email Step B: Link to Contact If exists → contactId = foundcontact.id If NOT exists → Create new contact with: email: senderemail name: extracted from email or "Unknown" source: "email" status: "lead" Step C: Analyze Email Content Extract these intent keywords: "interested" / "partnership" / "collaboration" → intent: inquiry "proposal" / "quote" / "pricing" → intent: proposal "issue" / "problem" / "help" → intent: complaint "?" / "how" / "what" / "when" → intent: question "follow up" / "re:" → intent: followup "meeting" / "call" / "sync" / "schedule" → intent: meeting Multiple intents can apply to one email. Step D: Analyze Sentiment Read email tone: Positive indicators: "excited", "love", "great", "thank you", "appreciate" Negative indicators: "problem", "issue", "concerned", "unhappy", "urgent" Neutral: Standard business tone Classify as: positive, neutral, or negative Step E: Generate Summary Create 1-2 sentence summary of email intent: Step F: Mark as Processed Call: convex mutation emails.markProcessed({ orgId: "k57akqzf14r07d9q3pbf9kebvn7v7929", emailId: "emailidfromstep1", contactId: "contactidfromstepb", intents: ["inquiry", "partnership"], sentiment: "positive", summary: "John inquiring about Q4 partnership" }) Step G: Update Contact If this is a NEW interaction, update: Step H: Log Audit Event Call: convex mutation system.logAudit({ orgId: "k57akqzf14r07d9q3pbf9kebvn7v7929", action: " …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills aiskillstore/email-agent