notifyme-csm-mcp 1.0.9 → 1.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +41 -0
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -168,6 +168,7 @@ const TOOLS = [
168
168
  status: { type: "string", enum: ["active", "inactive", "churned", "prospective", "archived"], description: "Lifecycle status (replaces the older `state` arg)." },
169
169
  state: { type: "string", description: "[Deprecated] alias for `status` — kept for back-compat. Prefer `status`." },
170
170
  tags: { type: "array", items: { type: "string" }, description: "Tags array (replaces existing)" },
171
+ type: { type: "string", enum: ["agency", "merchant", "app_partner", "technology_partner", "media", "investor", "other"], description: "Change the company's type. Canonical: detail view, list filters, and analytics follow it. Note: retyping a merchant away from 'merchant' removes it from agency-analytics revenue." },
171
172
  name: { type: "string", description: "Company name" },
172
173
  domain: { type: "string", description: "Primary domain, e.g. acme.com" },
173
174
  website: { type: "string", description: "Full website URL" },
@@ -456,6 +457,33 @@ const TOOLS = [
456
457
  required: ["agencyCompanyId", "merchantCompanyId"],
457
458
  },
458
459
  },
460
+ {
461
+ name: "log_outreach",
462
+ description: "Log an outbound touch to a company — the SOURCE OF TRUTH for outreach with no dedicated integration (phone calls, WhatsApp, in-person). The 'Approached' reporting stage counts these alongside CSM emails, LinkedIn outreach logs, and Gmail threads. Notes do NOT count as outreach — log real touches here instead. Use search_companies first to get the companyId.",
463
+ inputSchema: {
464
+ type: "object",
465
+ properties: {
466
+ companyId: { type: "number", description: "companies.id of the company that was contacted" },
467
+ channel: { type: "string", enum: ["call", "whatsapp", "linkedin", "email", "other"], description: "How the touch happened. Prefer the dedicated flows for linkedin/email when possible." },
468
+ recipient: { type: "string", description: "Who was contacted (name or handle/number)" },
469
+ actionDate: { type: "string", description: "When it happened — YYYY-MM-DD or ISO datetime (default: now)" },
470
+ note: { type: "string", description: "What was said / outcome" },
471
+ },
472
+ required: ["companyId", "channel"],
473
+ },
474
+ },
475
+ {
476
+ name: "list_outreach",
477
+ description: "List a company's logged outreach touches (calls, WhatsApp, etc.), most recent first.",
478
+ inputSchema: {
479
+ type: "object",
480
+ properties: {
481
+ companyId: { type: "number", description: "Company id" },
482
+ limit: { type: "number", description: "Max results (default 20, max 100)" },
483
+ },
484
+ required: ["companyId"],
485
+ },
486
+ },
459
487
  // ── Kanban ────────────────────────────────────────────────────────────────
460
488
  {
461
489
  name: "list_kanban_columns",
@@ -672,6 +700,19 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
672
700
  });
673
701
  break;
674
702
  }
703
+ case "log_outreach": {
704
+ const a = args;
705
+ data = await api("POST", "/outreach", a);
706
+ break;
707
+ }
708
+ case "list_outreach": {
709
+ const { companyId, limit } = args;
710
+ const qs = new URLSearchParams();
711
+ if (limit != null)
712
+ qs.set("limit", String(limit));
713
+ data = await api("GET", `/companies/${companyId}/outreach?${qs.toString()}`);
714
+ break;
715
+ }
675
716
  // ── Kanban ─────────────────────────────────────────────────────────────
676
717
  case "list_kanban_columns": {
677
718
  data = await api("GET", "/kanban/columns");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "notifyme-csm-mcp",
3
- "version": "1.0.9",
3
+ "version": "1.0.11",
4
4
  "description": "NotifyMe CSM — MCP server for LLM integrations (Claude Code, Cursor, etc.)",
5
5
  "_versionPolicy": "The version field above is a placeholder and is NEVER updated in git. The real published version lives only on npm — run `npm view notifyme-csm-mcp version` to check. To publish a new release, use the GitHub workflow `Publish MCP` (Actions tab → Publish notifyme-csm-mcp → Run workflow). This prevents recurring merge conflicts across feature/dev/main branches that used to plague every PR.",
6
6
  "type": "module",