@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 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 were already blocked */
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;