conduyt-mcp 4.44.0 → 4.45.0

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.
@@ -128,6 +128,27 @@ export function registerMessagingTools(server, client) {
128
128
  const result = await client.get(`/api/v1/reports/speed-to-lead?${params}`);
129
129
  return formatResult(result);
130
130
  });
131
+ server.tool("conduyt_call_performance_report", "Unified call report: every call in the window, whatever carried it (the in-app dialer over Twilio, click-to-call Twilio, Project Blue), with the dialer analytics' definitions: calls, inbound and outbound, answered (network completed with talk time), connected and conversations (from the saved disposition), talk time and average talk, voicemails, missed inbound, appointments set and sales closed; overall and by user, transport, direction, disposition, day and hour of the account's timezone. Spans clamp to 366 days; the definition comes back as `definition`.", {
132
+ from: z.string().optional().describe("ISO start (omit both for the last 366 days)"),
133
+ to: z.string().optional().describe("ISO end"),
134
+ userId: z.string().uuid().optional().describe("Only calls placed or taken by this user"),
135
+ transport: z.string().max(64).optional().describe("Exact call transport: twilio (the in-app dialer and click-to-call), project_blue, project_blue_twilio"),
136
+ direction: z.enum(["inbound", "outbound"]).optional(),
137
+ }, async ({ from, to, userId, transport, direction }) => {
138
+ const params = new URLSearchParams();
139
+ if (from)
140
+ params.set("from", from);
141
+ if (to)
142
+ params.set("to", to);
143
+ if (userId)
144
+ params.set("userId", userId);
145
+ if (transport)
146
+ params.set("transport", transport);
147
+ if (direction)
148
+ params.set("direction", direction);
149
+ const result = await client.get(`/api/v1/reports/call-performance?${params}`);
150
+ return formatResult(result);
151
+ });
131
152
  server.tool("conduyt_appointment_report", "Appointment report: every appointment whose time (basis=start, default) or booking (basis=booked) falls in the window: booked, by status (scheduled, confirmed, completed, cancelled, no-show), the outcome of the ones already in the past (held or no-show, show rate), cancellations, reschedules and upcoming; overall and by assigned user, by calendar or booking page, by lead source, by the channel it came in on (booking page, call disposition, created in Conduyt, calendar) and by day. Reschedules count moves by the attendee, by a person in Conduyt, or synced from a connected calendar. Spans clamp to 366 days; the definition comes back as `definition`.", {
132
153
  from: z.string().optional().describe("ISO start (omit both for the last 366 days)"),
133
154
  to: z.string().optional().describe("ISO end"),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "conduyt-mcp",
3
- "version": "4.44.0",
3
+ "version": "4.45.0",
4
4
  "description": "MCP server for Conduyt CRM — expose CRM operations as AI-accessible tools",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,9 +1,9 @@
1
1
  {
2
- "generatedAt": "2026-09-11T10:14:55.350Z",
3
- "toolCount": 245,
4
- "totalEndpoints": 950,
2
+ "generatedAt": "2026-09-11T10:42:14.525Z",
3
+ "toolCount": 246,
4
+ "totalEndpoints": 951,
5
5
  "counts": {
6
- "covered": 227,
6
+ "covered": 228,
7
7
  "excluded": 283,
8
8
  "planned": 440,
9
9
  "uncategorized": 0
@@ -3217,6 +3217,12 @@
3217
3217
  "conduyt_appointment_report"
3218
3218
  ]
3219
3219
  },
3220
+ "GET /api/v1/reports/call-performance": {
3221
+ "status": "covered",
3222
+ "tools": [
3223
+ "conduyt_call_performance_report"
3224
+ ]
3225
+ },
3220
3226
  "GET /api/v1/reports/calls": {
3221
3227
  "status": "planned",
3222
3228
  "reason": "additional report surfaces beyond ai/insights"