@opencx/mcp 1.15.1 → 1.15.2
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/schema.d.ts +112 -12
- package/dist/schema.d.ts.map +1 -1
- package/dist/tools/insights.d.ts.map +1 -1
- package/dist/tools/insights.js +25 -0
- package/dist/tools/insights.js.map +1 -1
- package/package.json +1 -1
package/dist/schema.d.ts
CHANGED
|
@@ -3059,6 +3059,30 @@ export interface paths {
|
|
|
3059
3059
|
patch?: never;
|
|
3060
3060
|
trace?: never;
|
|
3061
3061
|
};
|
|
3062
|
+
"/insights/settings": {
|
|
3063
|
+
parameters: {
|
|
3064
|
+
query?: never;
|
|
3065
|
+
header?: never;
|
|
3066
|
+
path?: never;
|
|
3067
|
+
cookie?: never;
|
|
3068
|
+
};
|
|
3069
|
+
/**
|
|
3070
|
+
* Get VOC settings
|
|
3071
|
+
* @description Public subset of Voice-of-Customer settings (mirrors dashboard field names). Currently returns only `custom_analysis_instructions` (Customer Insights → Settings → AI Instructions). Does not return webhooks, notify lists, alert/merge toggles, category-suggestion settings, or other internal fields.
|
|
3072
|
+
*/
|
|
3073
|
+
get: operations["getVocSettings"];
|
|
3074
|
+
/**
|
|
3075
|
+
* Update VOC settings
|
|
3076
|
+
* @description Partial update of the public VOC settings subset. Accepts only `custom_analysis_instructions` (max 1000 chars; null clears). Unknown keys are rejected. Prompt changes apply to future analyses only. Non-public settings remain dashboard-only.
|
|
3077
|
+
*/
|
|
3078
|
+
put: operations["updateVocSettings"];
|
|
3079
|
+
post?: never;
|
|
3080
|
+
delete?: never;
|
|
3081
|
+
options?: never;
|
|
3082
|
+
head?: never;
|
|
3083
|
+
patch?: never;
|
|
3084
|
+
trace?: never;
|
|
3085
|
+
};
|
|
3062
3086
|
"/insights/categories/{categoryId}": {
|
|
3063
3087
|
parameters: {
|
|
3064
3088
|
query?: never;
|
|
@@ -5318,6 +5342,10 @@ export interface components {
|
|
|
5318
5342
|
*/
|
|
5319
5343
|
fallbackCategoryId: string;
|
|
5320
5344
|
};
|
|
5345
|
+
UpdatePublicVocSettingsDto: {
|
|
5346
|
+
/** @description Full replacement for AI Instructions (≤1000 chars), or null to clear. Applies to future analyses only — existing insights are not re-run. */
|
|
5347
|
+
custom_analysis_instructions?: string | null;
|
|
5348
|
+
};
|
|
5321
5349
|
AssignInsightDto: {
|
|
5322
5350
|
/** Format: uuid */
|
|
5323
5351
|
groupId: string;
|
|
@@ -5346,7 +5374,7 @@ export interface components {
|
|
|
5346
5374
|
* @description What starts the workflow. Use "manual-trigger" for on-demand execution, "ai-trigger" for AI-initiated, "webhook" for external HTTP triggers, "cron-trigger" for scheduled runs, or event-based triggers like "ticket-created", "contact-created", etc.
|
|
5347
5375
|
* @enum {string}
|
|
5348
5376
|
*/
|
|
5349
|
-
trigger_type: "manual-trigger" | "ai-trigger" | "cron-trigger" | "form-trigger" | "webhook" | "contact-created" | "phone-call-started" | "phone-call-finished" | "ticket-created" | "ticket-reassigned" | "ticket-resolved" | "ticket-handoff" | "pre-ticket-handoff" | "ticket-tag-added" | "ticket-inactive" | "agent-inactive" | "sequence-completed" | "csat-score-submit" | "prohibited-topic-detected" | "sla-first-reply-breached" | "sla-next-reply-breached" | "sla-resolution-breached" | "voice-call-transferred" | "pre-voice-call-transfer" | "pre-phone-call-finished" | "manual-ticket-trigger" | "contact-message-received" | "first-contact-message-received" | "macro-called" | "ai-response-completed" | "agent-availability-changed" | "agent-avail-in-team-changed" | "ai-response-requested" | "ticket-reopened";
|
|
5377
|
+
trigger_type: "manual-trigger" | "ai-trigger" | "cron-trigger" | "form-trigger" | "webhook" | "contact-created" | "contact-updated" | "phone-call-started" | "phone-call-finished" | "ticket-created" | "ticket-reassigned" | "ticket-resolved" | "ticket-handoff" | "pre-ticket-handoff" | "ticket-tag-added" | "ticket-inactive" | "agent-inactive" | "sequence-completed" | "csat-score-submit" | "prohibited-topic-detected" | "sla-first-reply-breached" | "sla-next-reply-breached" | "sla-resolution-breached" | "voice-call-transferred" | "pre-voice-call-transfer" | "pre-phone-call-finished" | "manual-ticket-trigger" | "contact-message-received" | "first-contact-message-received" | "macro-called" | "ai-response-completed" | "agent-availability-changed" | "agent-avail-in-team-changed" | "ai-response-requested" | "ticket-reopened";
|
|
5350
5378
|
/** @description Trigger-specific configuration (e.g. cron expression for cron-trigger) */
|
|
5351
5379
|
trigger_configuration?: unknown | null;
|
|
5352
5380
|
/** @description Array of workflow steps and control-flow blocks. Each step is an object with { "$kind": "Action", "id": "<unique-step-id>", "type": "<action-type>", "name": "<display-name>", "input": { ... } }. Control-flow blocks use { "$kind": "Block", "type": "if-else", "id": "<unique-id>", "inputs": { "condition": { "operatorName": "equals", "left": "{{step_id.field}}", "right": "value" } }, "branches": { "then": [...steps], "else": [...steps] } }. Use {{step_id.field}} to reference outputs from previous steps (no `.output.` segment — the field sits directly under the step id). */
|
|
@@ -5363,7 +5391,7 @@ export interface components {
|
|
|
5363
5391
|
* @description New trigger type
|
|
5364
5392
|
* @enum {string}
|
|
5365
5393
|
*/
|
|
5366
|
-
trigger_type?: "manual-trigger" | "ai-trigger" | "cron-trigger" | "form-trigger" | "webhook" | "contact-created" | "phone-call-started" | "phone-call-finished" | "ticket-created" | "ticket-reassigned" | "ticket-resolved" | "ticket-handoff" | "pre-ticket-handoff" | "ticket-tag-added" | "ticket-inactive" | "agent-inactive" | "sequence-completed" | "csat-score-submit" | "prohibited-topic-detected" | "sla-first-reply-breached" | "sla-next-reply-breached" | "sla-resolution-breached" | "voice-call-transferred" | "pre-voice-call-transfer" | "pre-phone-call-finished" | "manual-ticket-trigger" | "contact-message-received" | "first-contact-message-received" | "macro-called" | "ai-response-completed" | "agent-availability-changed" | "agent-avail-in-team-changed" | "ai-response-requested" | "ticket-reopened";
|
|
5394
|
+
trigger_type?: "manual-trigger" | "ai-trigger" | "cron-trigger" | "form-trigger" | "webhook" | "contact-created" | "contact-updated" | "phone-call-started" | "phone-call-finished" | "ticket-created" | "ticket-reassigned" | "ticket-resolved" | "ticket-handoff" | "pre-ticket-handoff" | "ticket-tag-added" | "ticket-inactive" | "agent-inactive" | "sequence-completed" | "csat-score-submit" | "prohibited-topic-detected" | "sla-first-reply-breached" | "sla-next-reply-breached" | "sla-resolution-breached" | "voice-call-transferred" | "pre-voice-call-transfer" | "pre-phone-call-finished" | "manual-ticket-trigger" | "contact-message-received" | "first-contact-message-received" | "macro-called" | "ai-response-completed" | "agent-availability-changed" | "agent-avail-in-team-changed" | "ai-response-requested" | "ticket-reopened";
|
|
5367
5395
|
/** @description New trigger configuration */
|
|
5368
5396
|
trigger_configuration?: unknown | null;
|
|
5369
5397
|
/** @description New workflow step/block definitions (replaces existing blocks) */
|
|
@@ -5376,7 +5404,7 @@ export interface components {
|
|
|
5376
5404
|
* @description Trigger type to validate against
|
|
5377
5405
|
* @enum {string}
|
|
5378
5406
|
*/
|
|
5379
|
-
trigger_type: "manual-trigger" | "ai-trigger" | "cron-trigger" | "form-trigger" | "webhook" | "contact-created" | "phone-call-started" | "phone-call-finished" | "ticket-created" | "ticket-reassigned" | "ticket-resolved" | "ticket-handoff" | "pre-ticket-handoff" | "ticket-tag-added" | "ticket-inactive" | "agent-inactive" | "sequence-completed" | "csat-score-submit" | "prohibited-topic-detected" | "sla-first-reply-breached" | "sla-next-reply-breached" | "sla-resolution-breached" | "voice-call-transferred" | "pre-voice-call-transfer" | "pre-phone-call-finished" | "manual-ticket-trigger" | "contact-message-received" | "first-contact-message-received" | "macro-called" | "ai-response-completed" | "agent-availability-changed" | "agent-avail-in-team-changed" | "ai-response-requested" | "ticket-reopened";
|
|
5407
|
+
trigger_type: "manual-trigger" | "ai-trigger" | "cron-trigger" | "form-trigger" | "webhook" | "contact-created" | "contact-updated" | "phone-call-started" | "phone-call-finished" | "ticket-created" | "ticket-reassigned" | "ticket-resolved" | "ticket-handoff" | "pre-ticket-handoff" | "ticket-tag-added" | "ticket-inactive" | "agent-inactive" | "sequence-completed" | "csat-score-submit" | "prohibited-topic-detected" | "sla-first-reply-breached" | "sla-next-reply-breached" | "sla-resolution-breached" | "voice-call-transferred" | "pre-voice-call-transfer" | "pre-phone-call-finished" | "manual-ticket-trigger" | "contact-message-received" | "first-contact-message-received" | "macro-called" | "ai-response-completed" | "agent-availability-changed" | "agent-avail-in-team-changed" | "ai-response-requested" | "ticket-reopened";
|
|
5380
5408
|
/** @description Trigger configuration to validate against the trigger's configuration_def. When omitted, the trigger is validated as if unconfigured — triggers with required configuration (e.g. cron-trigger, ai-trigger) will report errors. */
|
|
5381
5409
|
trigger_configuration?: unknown | null;
|
|
5382
5410
|
/** @description Workflow blocks to validate */
|
|
@@ -5389,7 +5417,7 @@ export interface components {
|
|
|
5389
5417
|
* @description Trigger type whose payload shape this synthetic payload should match
|
|
5390
5418
|
* @enum {string}
|
|
5391
5419
|
*/
|
|
5392
|
-
type: "manual-trigger" | "ai-trigger" | "cron-trigger" | "form-trigger" | "webhook" | "contact-created" | "phone-call-started" | "phone-call-finished" | "ticket-created" | "ticket-reassigned" | "ticket-resolved" | "ticket-handoff" | "pre-ticket-handoff" | "ticket-tag-added" | "ticket-inactive" | "agent-inactive" | "sequence-completed" | "csat-score-submit" | "prohibited-topic-detected" | "sla-first-reply-breached" | "sla-next-reply-breached" | "sla-resolution-breached" | "voice-call-transferred" | "pre-voice-call-transfer" | "pre-phone-call-finished" | "manual-ticket-trigger" | "contact-message-received" | "first-contact-message-received" | "macro-called" | "ai-response-completed" | "agent-availability-changed" | "agent-avail-in-team-changed" | "ai-response-requested" | "ticket-reopened";
|
|
5420
|
+
type: "manual-trigger" | "ai-trigger" | "cron-trigger" | "form-trigger" | "webhook" | "contact-created" | "contact-updated" | "phone-call-started" | "phone-call-finished" | "ticket-created" | "ticket-reassigned" | "ticket-resolved" | "ticket-handoff" | "pre-ticket-handoff" | "ticket-tag-added" | "ticket-inactive" | "agent-inactive" | "sequence-completed" | "csat-score-submit" | "prohibited-topic-detected" | "sla-first-reply-breached" | "sla-next-reply-breached" | "sla-resolution-breached" | "voice-call-transferred" | "pre-voice-call-transfer" | "pre-phone-call-finished" | "manual-ticket-trigger" | "contact-message-received" | "first-contact-message-received" | "macro-called" | "ai-response-completed" | "agent-availability-changed" | "agent-avail-in-team-changed" | "ai-response-requested" | "ticket-reopened";
|
|
5393
5421
|
payload: unknown;
|
|
5394
5422
|
};
|
|
5395
5423
|
};
|
|
@@ -5588,8 +5616,8 @@ export interface components {
|
|
|
5588
5616
|
/** @default 10 */
|
|
5589
5617
|
limit: number;
|
|
5590
5618
|
visibility?: ("internal" | "public")[];
|
|
5591
|
-
sourceTypes?: ("custom_training" | "help_center" | "integration" | "website")[];
|
|
5592
|
-
dataSources?: ("confluence" | "notion" | "zendesk_support" | "shopify" | "gitbook" | "intercom" | "front" | "freshdesk" | "hubspot_kb" | "ai_instructions" | "custom_training" | "website")[];
|
|
5619
|
+
sourceTypes?: ("custom_training" | "help_center" | "integration" | "website" | "workflow")[];
|
|
5620
|
+
dataSources?: ("confluence" | "notion" | "zendesk_support" | "shopify" | "gitbook" | "intercom" | "front" | "freshdesk" | "hubspot_kb" | "ai_instructions" | "custom_training" | "website" | "workflow")[];
|
|
5593
5621
|
/**
|
|
5594
5622
|
* @default relevance
|
|
5595
5623
|
* @enum {string}
|
|
@@ -7749,9 +7777,9 @@ export interface components {
|
|
|
7749
7777
|
/** @enum {string} */
|
|
7750
7778
|
visibility: "internal" | "public";
|
|
7751
7779
|
/** @enum {string} */
|
|
7752
|
-
source_type: "custom_training" | "help_center" | "integration" | "website";
|
|
7780
|
+
source_type: "custom_training" | "help_center" | "integration" | "website" | "workflow";
|
|
7753
7781
|
/** @description External source the item was synced from (present when listing). */
|
|
7754
|
-
data_source?: ("confluence" | "notion" | "zendesk_support" | "shopify" | "gitbook" | "intercom" | "front" | "freshdesk" | "hubspot_kb" | "ai_instructions" | "custom_training" | "website") | null;
|
|
7782
|
+
data_source?: ("confluence" | "notion" | "zendesk_support" | "shopify" | "gitbook" | "intercom" | "front" | "freshdesk" | "hubspot_kb" | "ai_instructions" | "custom_training" | "website" | "workflow") | null;
|
|
7755
7783
|
stream?: string | null;
|
|
7756
7784
|
source_url: string | null;
|
|
7757
7785
|
/** @description Contact segment ids this item is restricted to. Empty = available to all contacts. */
|
|
@@ -8171,6 +8199,10 @@ export interface components {
|
|
|
8171
8199
|
error: string;
|
|
8172
8200
|
}[];
|
|
8173
8201
|
};
|
|
8202
|
+
PublicVocSettingsDto: {
|
|
8203
|
+
/** @description Dashboard: Customer Insights → Settings → AI Instructions. Org-specific analysis constraints injected into the VOC insights analyzer for future runs. Max 1000 chars. Null means unset. */
|
|
8204
|
+
custom_analysis_instructions: string | null;
|
|
8205
|
+
};
|
|
8174
8206
|
SendTemplateOutputDto: {
|
|
8175
8207
|
whatsapp_message_id: string;
|
|
8176
8208
|
opencx_message_id: string;
|
|
@@ -8528,12 +8560,18 @@ export interface components {
|
|
|
8528
8560
|
/** Format: date-time */
|
|
8529
8561
|
created_at: string;
|
|
8530
8562
|
}[];
|
|
8531
|
-
/** @description Domains that
|
|
8563
|
+
/** @description Domains that needed no action — already blocked, or not a valid domain */
|
|
8532
8564
|
skipped: string[];
|
|
8565
|
+
/** @description Domains that could NOT be blocked — these are still unblocked */
|
|
8566
|
+
failed: {
|
|
8567
|
+
domain: string;
|
|
8568
|
+
error: string;
|
|
8569
|
+
}[];
|
|
8533
8570
|
summary: {
|
|
8534
8571
|
total: number;
|
|
8535
8572
|
blocked: number;
|
|
8536
8573
|
skipped: number;
|
|
8574
|
+
failed: number;
|
|
8537
8575
|
};
|
|
8538
8576
|
};
|
|
8539
8577
|
DomainBlockStatusOutput: {
|
|
@@ -8633,13 +8671,13 @@ export interface components {
|
|
|
8633
8671
|
/** @enum {string} */
|
|
8634
8672
|
visibility: "internal" | "public";
|
|
8635
8673
|
/** @enum {string} */
|
|
8636
|
-
source_type: "custom_training" | "help_center" | "integration" | "website";
|
|
8674
|
+
source_type: "custom_training" | "help_center" | "integration" | "website" | "workflow";
|
|
8637
8675
|
source_url: string | null;
|
|
8638
8676
|
/** Format: date-time */
|
|
8639
8677
|
updated_at: string;
|
|
8640
8678
|
content?: string;
|
|
8641
8679
|
/** @enum {string} */
|
|
8642
|
-
data_source: "confluence" | "notion" | "zendesk_support" | "shopify" | "gitbook" | "intercom" | "front" | "freshdesk" | "hubspot_kb" | "ai_instructions" | "custom_training" | "website";
|
|
8680
|
+
data_source: "confluence" | "notion" | "zendesk_support" | "shopify" | "gitbook" | "intercom" | "front" | "freshdesk" | "hubspot_kb" | "ai_instructions" | "custom_training" | "website" | "workflow";
|
|
8643
8681
|
stream: string | null;
|
|
8644
8682
|
relevance_score: number;
|
|
8645
8683
|
directory_id: string | null;
|
|
@@ -10534,7 +10572,7 @@ export interface operations {
|
|
|
10534
10572
|
/** @description Full-text search over item titles/content */
|
|
10535
10573
|
search?: string;
|
|
10536
10574
|
/** @description Filter to a specific external data source (e.g. website, confluence, notion) */
|
|
10537
|
-
data_source?: "confluence" | "notion" | "zendesk_support" | "shopify" | "gitbook" | "intercom" | "front" | "freshdesk" | "hubspot_kb" | "ai_instructions" | "custom_training" | "website";
|
|
10575
|
+
data_source?: "confluence" | "notion" | "zendesk_support" | "shopify" | "gitbook" | "intercom" | "front" | "freshdesk" | "hubspot_kb" | "ai_instructions" | "custom_training" | "website" | "workflow";
|
|
10538
10576
|
visibility?: "internal" | "public";
|
|
10539
10577
|
page?: number;
|
|
10540
10578
|
limit?: number;
|
|
@@ -15212,6 +15250,68 @@ export interface operations {
|
|
|
15212
15250
|
};
|
|
15213
15251
|
};
|
|
15214
15252
|
};
|
|
15253
|
+
getVocSettings: {
|
|
15254
|
+
parameters: {
|
|
15255
|
+
query?: never;
|
|
15256
|
+
header?: never;
|
|
15257
|
+
path?: never;
|
|
15258
|
+
cookie?: never;
|
|
15259
|
+
};
|
|
15260
|
+
requestBody?: never;
|
|
15261
|
+
responses: {
|
|
15262
|
+
/** @description Default Response */
|
|
15263
|
+
200: {
|
|
15264
|
+
headers: {
|
|
15265
|
+
[name: string]: unknown;
|
|
15266
|
+
};
|
|
15267
|
+
content: {
|
|
15268
|
+
"application/json": components["schemas"]["PublicVocSettingsDto"];
|
|
15269
|
+
};
|
|
15270
|
+
};
|
|
15271
|
+
/** @description Internal Server Error */
|
|
15272
|
+
500: {
|
|
15273
|
+
headers: {
|
|
15274
|
+
[name: string]: unknown;
|
|
15275
|
+
};
|
|
15276
|
+
content: {
|
|
15277
|
+
"application/json": components["schemas"]["ErrorDto"];
|
|
15278
|
+
};
|
|
15279
|
+
};
|
|
15280
|
+
};
|
|
15281
|
+
};
|
|
15282
|
+
updateVocSettings: {
|
|
15283
|
+
parameters: {
|
|
15284
|
+
query?: never;
|
|
15285
|
+
header?: never;
|
|
15286
|
+
path?: never;
|
|
15287
|
+
cookie?: never;
|
|
15288
|
+
};
|
|
15289
|
+
requestBody: {
|
|
15290
|
+
content: {
|
|
15291
|
+
"application/json": components["schemas"]["UpdatePublicVocSettingsDto"];
|
|
15292
|
+
};
|
|
15293
|
+
};
|
|
15294
|
+
responses: {
|
|
15295
|
+
/** @description Default Response */
|
|
15296
|
+
200: {
|
|
15297
|
+
headers: {
|
|
15298
|
+
[name: string]: unknown;
|
|
15299
|
+
};
|
|
15300
|
+
content: {
|
|
15301
|
+
"application/json": components["schemas"]["PublicVocSettingsDto"];
|
|
15302
|
+
};
|
|
15303
|
+
};
|
|
15304
|
+
/** @description Internal Server Error */
|
|
15305
|
+
500: {
|
|
15306
|
+
headers: {
|
|
15307
|
+
[name: string]: unknown;
|
|
15308
|
+
};
|
|
15309
|
+
content: {
|
|
15310
|
+
"application/json": components["schemas"]["ErrorDto"];
|
|
15311
|
+
};
|
|
15312
|
+
};
|
|
15313
|
+
};
|
|
15314
|
+
};
|
|
15215
15315
|
updateCategory: {
|
|
15216
15316
|
parameters: {
|
|
15217
15317
|
query?: never;
|