conduyt-mcp 4.37.0 → 4.38.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.
- package/dist/tools/messaging.js +21 -0
- package/package.json +1 -1
- package/scripts/coverage-matrix.json +10 -4
package/dist/tools/messaging.js
CHANGED
|
@@ -107,4 +107,25 @@ export function registerMessagingTools(server, client) {
|
|
|
107
107
|
const result = await client.get(`/api/v1/reports/sms-drip-conversion?${params}`);
|
|
108
108
|
return formatResult(result);
|
|
109
109
|
});
|
|
110
|
+
server.tool("conduyt_speed_to_lead_report", "Speed to lead: for every contact created in the window, the time to the FIRST HUMAN touch (a call placed by a person, a text or email a person sent through a connected provider, a note, or a completed task, inside the CRM): median and p90 seconds, leads reached within 5/15 min and 1/4/24 h, never reached, first-touch channel; overall, by assigned rep, by lead source and by who made the touch. Automation messages, campaign blasts and anything done outside the CRM are not touches (the response `definition` says so). Spans clamp to 90 days.", {
|
|
111
|
+
from: z.string().optional().describe("ISO start (omit both for the last 90 days; spans clamp to 90d)"),
|
|
112
|
+
to: z.string().optional().describe("ISO end"),
|
|
113
|
+
assignedTo: z.string().uuid().optional().describe("Only leads assigned to this user"),
|
|
114
|
+
sources: z.array(z.string()).max(50).optional().describe("Exact contact source values; '__none__' adds contacts with no source"),
|
|
115
|
+
smartListId: z.string().uuid().optional().describe("Only contacts in this smart list"),
|
|
116
|
+
}, async ({ from, to, assignedTo, sources, smartListId }) => {
|
|
117
|
+
const params = new URLSearchParams();
|
|
118
|
+
if (from)
|
|
119
|
+
params.set("from", from);
|
|
120
|
+
if (to)
|
|
121
|
+
params.set("to", to);
|
|
122
|
+
if (assignedTo)
|
|
123
|
+
params.set("assignedTo", assignedTo);
|
|
124
|
+
if (sources && sources.length > 0)
|
|
125
|
+
params.set("sources", sources.join(","));
|
|
126
|
+
if (smartListId)
|
|
127
|
+
params.set("smartListId", smartListId);
|
|
128
|
+
const result = await client.get(`/api/v1/reports/speed-to-lead?${params}`);
|
|
129
|
+
return formatResult(result);
|
|
130
|
+
});
|
|
110
131
|
}
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
|
-
"generatedAt": "2026-09-
|
|
3
|
-
"toolCount":
|
|
4
|
-
"totalEndpoints":
|
|
2
|
+
"generatedAt": "2026-09-10T23:09:09.291Z",
|
|
3
|
+
"toolCount": 233,
|
|
4
|
+
"totalEndpoints": 941,
|
|
5
5
|
"counts": {
|
|
6
|
-
"covered":
|
|
6
|
+
"covered": 215,
|
|
7
7
|
"excluded": 283,
|
|
8
8
|
"planned": 443,
|
|
9
9
|
"uncategorized": 0
|
|
@@ -3279,6 +3279,12 @@
|
|
|
3279
3279
|
"status": "planned",
|
|
3280
3280
|
"reason": "additional report surfaces beyond ai/insights"
|
|
3281
3281
|
},
|
|
3282
|
+
"GET /api/v1/reports/speed-to-lead": {
|
|
3283
|
+
"status": "covered",
|
|
3284
|
+
"tools": [
|
|
3285
|
+
"conduyt_speed_to_lead_report"
|
|
3286
|
+
]
|
|
3287
|
+
},
|
|
3282
3288
|
"GET /api/v1/reports/subscriptions/:sid": {
|
|
3283
3289
|
"status": "planned",
|
|
3284
3290
|
"reason": "additional report surfaces beyond ai/insights"
|