@opencx/mcp 1.15.58 → 1.15.60
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 +173 -49
- package/dist/schema.d.ts.map +1 -1
- package/dist/tools/macros.d.ts.map +1 -1
- package/dist/tools/macros.js +24 -3
- package/dist/tools/macros.js.map +1 -1
- package/dist/tools/macros.spec.d.ts +2 -0
- package/dist/tools/macros.spec.d.ts.map +1 -0
- package/dist/tools/macros.spec.js +104 -0
- package/dist/tools/macros.spec.js.map +1 -0
- package/dist/tools/phone.js +2 -2
- package/dist/tools/phone.js.map +1 -1
- package/package.json +2 -2
package/dist/schema.d.ts
CHANGED
|
@@ -382,7 +382,7 @@ export interface paths {
|
|
|
382
382
|
head?: never;
|
|
383
383
|
/**
|
|
384
384
|
* Update a chat session
|
|
385
|
-
* @description Updates a chat session. Can change status, generate summary/sentiment on resolve, and reflect status changes to integrations.
|
|
385
|
+
* @description Updates a chat session. Can change status, set or clear the summary, generate summary/sentiment on resolve, and reflect status changes to integrations.
|
|
386
386
|
*/
|
|
387
387
|
patch: operations["updateChatSession"];
|
|
388
388
|
trace?: never;
|
|
@@ -2118,7 +2118,7 @@ export interface paths {
|
|
|
2118
2118
|
head?: never;
|
|
2119
2119
|
/**
|
|
2120
2120
|
* Update a macro
|
|
2121
|
-
* @description Partially update a saved-reply macro. Attachments are dashboard-authored and cannot be changed via the public API; text-only updates leave
|
|
2121
|
+
* @description Partially update a saved-reply macro. Attachments are dashboard-authored and cannot be changed via the public API; text-only updates leave attachments and options untouched.
|
|
2122
2122
|
*/
|
|
2123
2123
|
patch: operations["updateMacro"];
|
|
2124
2124
|
trace?: never;
|
|
@@ -3222,6 +3222,26 @@ export interface paths {
|
|
|
3222
3222
|
patch: operations["updatePhoneAgent"];
|
|
3223
3223
|
trace?: never;
|
|
3224
3224
|
};
|
|
3225
|
+
"/phone/calls/hand-back": {
|
|
3226
|
+
parameters: {
|
|
3227
|
+
query?: never;
|
|
3228
|
+
header?: never;
|
|
3229
|
+
path?: never;
|
|
3230
|
+
cookie?: never;
|
|
3231
|
+
};
|
|
3232
|
+
get?: never;
|
|
3233
|
+
put?: never;
|
|
3234
|
+
/**
|
|
3235
|
+
* Hand back a transferred call
|
|
3236
|
+
* @description Returns a caller that a Classical IVR transferred to your SIP endpoint. Your SIP leg is hung up, and the IVR continues with the steps after the transfer (usually routing the caller to a team) on the same call, recording and session. Call it instead of hanging up when the caller should continue with the organization. Repeating a successful hand-back returns the same response and ignores its summary. Returns 409 when the session has no transferred call waiting: before your leg answered, or after your leg or the caller hung up.
|
|
3237
|
+
*/
|
|
3238
|
+
post: operations["handBackPhoneCall"];
|
|
3239
|
+
delete?: never;
|
|
3240
|
+
options?: never;
|
|
3241
|
+
head?: never;
|
|
3242
|
+
patch?: never;
|
|
3243
|
+
trace?: never;
|
|
3244
|
+
};
|
|
3225
3245
|
"/phone/outbound-call": {
|
|
3226
3246
|
parameters: {
|
|
3227
3247
|
query?: never;
|
|
@@ -6739,6 +6759,8 @@ export interface components {
|
|
|
6739
6759
|
schemas: {
|
|
6740
6760
|
/** @enum {string} */
|
|
6741
6761
|
SessionChannel: "web" | "email" | "phone_voice" | "slack" | "sms" | "whatsapp" | "instagram" | "messenger" | "api" | "web_voice" | "twitter" | "twitter_mentions" | "app_review" | "internal";
|
|
6762
|
+
/** @enum {string} */
|
|
6763
|
+
MessageOptionType: "text" | "workflow";
|
|
6742
6764
|
SalesforceReplyTemplateRules: {
|
|
6743
6765
|
conditions: ({
|
|
6744
6766
|
/** @constant */
|
|
@@ -7243,6 +7265,11 @@ export interface components {
|
|
|
7243
7265
|
/** @description Optional reason for redaction */
|
|
7244
7266
|
reason?: string;
|
|
7245
7267
|
};
|
|
7268
|
+
MacroOptionInputDto: {
|
|
7269
|
+
id?: string;
|
|
7270
|
+
label: string;
|
|
7271
|
+
type: components["schemas"]["MessageOptionType"];
|
|
7272
|
+
};
|
|
7246
7273
|
SkipSequenceStepBody: {
|
|
7247
7274
|
/** @enum {string} */
|
|
7248
7275
|
mode: "next_pending" | "next_channel" | "specific_step";
|
|
@@ -8399,6 +8426,8 @@ export interface components {
|
|
|
8399
8426
|
session_closed_payload?: {
|
|
8400
8427
|
[key: string]: unknown;
|
|
8401
8428
|
} | string;
|
|
8429
|
+
/** @description Replace the session summary, or null to clear it. Takes precedence over a summary generated on resolve. */
|
|
8430
|
+
summary?: string | null;
|
|
8402
8431
|
};
|
|
8403
8432
|
SessionAssigneeUpdateInput: {
|
|
8404
8433
|
/** @description Agent user ID to assign, or null to unassign the session */
|
|
@@ -8444,6 +8473,16 @@ export interface components {
|
|
|
8444
8473
|
type: "text";
|
|
8445
8474
|
text: string;
|
|
8446
8475
|
attachments?: components["schemas"]["ChatAttachmentInput"][];
|
|
8476
|
+
/** @description Contact messages only: the message is a tap on one of an agent message's options (see the `options` on the conversation.agent_response webhook). The message is recorded with the option's label as its text; an option that is not on a message of this session is rejected with a 400. */
|
|
8477
|
+
option_reply?: {
|
|
8478
|
+
/**
|
|
8479
|
+
* Format: uuid
|
|
8480
|
+
* @description The agent message whose option was tapped.
|
|
8481
|
+
*/
|
|
8482
|
+
message_id: string;
|
|
8483
|
+
/** @description The id of the tapped option. */
|
|
8484
|
+
option_id: string;
|
|
8485
|
+
};
|
|
8447
8486
|
};
|
|
8448
8487
|
/** @default false */
|
|
8449
8488
|
should_take_over_session_from_ai: boolean;
|
|
@@ -8880,7 +8919,7 @@ export interface components {
|
|
|
8880
8919
|
* @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.
|
|
8881
8920
|
* @enum {string}
|
|
8882
8921
|
*/
|
|
8883
|
-
trigger_type: "ivr-incoming-call" | "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" | "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" | "agent-mentioned" | "agent-message-posted" | "ticket-team-changed" | "session-updated" | "sequence-contact-replied" | "sequence-contact-completed" | "sequence-contact-parked" | "sequence-step-failed" | "sequence-contact-suppressed";
|
|
8922
|
+
trigger_type: "ivr-incoming-call" | "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" | "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" | "macro-option-clicked" | "ai-response-completed" | "agent-availability-changed" | "agent-avail-in-team-changed" | "ai-response-requested" | "ticket-reopened" | "agent-mentioned" | "agent-message-posted" | "ticket-team-changed" | "session-updated" | "sequence-contact-replied" | "sequence-contact-completed" | "sequence-contact-parked" | "sequence-step-failed" | "sequence-contact-suppressed";
|
|
8884
8923
|
/** @description Trigger-specific configuration (e.g. cron expression for cron-trigger) */
|
|
8885
8924
|
trigger_configuration?: unknown | null;
|
|
8886
8925
|
/** @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). */
|
|
@@ -8897,7 +8936,7 @@ export interface components {
|
|
|
8897
8936
|
* @description New trigger type
|
|
8898
8937
|
* @enum {string}
|
|
8899
8938
|
*/
|
|
8900
|
-
trigger_type?: "ivr-incoming-call" | "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" | "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" | "agent-mentioned" | "agent-message-posted" | "ticket-team-changed" | "session-updated" | "sequence-contact-replied" | "sequence-contact-completed" | "sequence-contact-parked" | "sequence-step-failed" | "sequence-contact-suppressed";
|
|
8939
|
+
trigger_type?: "ivr-incoming-call" | "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" | "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" | "macro-option-clicked" | "ai-response-completed" | "agent-availability-changed" | "agent-avail-in-team-changed" | "ai-response-requested" | "ticket-reopened" | "agent-mentioned" | "agent-message-posted" | "ticket-team-changed" | "session-updated" | "sequence-contact-replied" | "sequence-contact-completed" | "sequence-contact-parked" | "sequence-step-failed" | "sequence-contact-suppressed";
|
|
8901
8940
|
/** @description New trigger configuration */
|
|
8902
8941
|
trigger_configuration?: unknown | null;
|
|
8903
8942
|
/** @description New workflow step/block definitions (replaces existing blocks) */
|
|
@@ -8910,7 +8949,7 @@ export interface components {
|
|
|
8910
8949
|
* @description Trigger type to validate against
|
|
8911
8950
|
* @enum {string}
|
|
8912
8951
|
*/
|
|
8913
|
-
trigger_type: "ivr-incoming-call" | "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" | "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" | "agent-mentioned" | "agent-message-posted" | "ticket-team-changed" | "session-updated" | "sequence-contact-replied" | "sequence-contact-completed" | "sequence-contact-parked" | "sequence-step-failed" | "sequence-contact-suppressed";
|
|
8952
|
+
trigger_type: "ivr-incoming-call" | "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" | "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" | "macro-option-clicked" | "ai-response-completed" | "agent-availability-changed" | "agent-avail-in-team-changed" | "ai-response-requested" | "ticket-reopened" | "agent-mentioned" | "agent-message-posted" | "ticket-team-changed" | "session-updated" | "sequence-contact-replied" | "sequence-contact-completed" | "sequence-contact-parked" | "sequence-step-failed" | "sequence-contact-suppressed";
|
|
8914
8953
|
/** @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. */
|
|
8915
8954
|
trigger_configuration?: unknown | null;
|
|
8916
8955
|
/** @description Workflow blocks to validate */
|
|
@@ -8923,7 +8962,7 @@ export interface components {
|
|
|
8923
8962
|
* @description Trigger type whose payload shape this synthetic payload should match
|
|
8924
8963
|
* @enum {string}
|
|
8925
8964
|
*/
|
|
8926
|
-
type: "ivr-incoming-call" | "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" | "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" | "agent-mentioned" | "agent-message-posted" | "ticket-team-changed" | "session-updated" | "sequence-contact-replied" | "sequence-contact-completed" | "sequence-contact-parked" | "sequence-step-failed" | "sequence-contact-suppressed";
|
|
8965
|
+
type: "ivr-incoming-call" | "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" | "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" | "macro-option-clicked" | "ai-response-completed" | "agent-availability-changed" | "agent-avail-in-team-changed" | "ai-response-requested" | "ticket-reopened" | "agent-mentioned" | "agent-message-posted" | "ticket-team-changed" | "session-updated" | "sequence-contact-replied" | "sequence-contact-completed" | "sequence-contact-parked" | "sequence-step-failed" | "sequence-contact-suppressed";
|
|
8927
8966
|
payload: unknown;
|
|
8928
8967
|
};
|
|
8929
8968
|
};
|
|
@@ -8931,6 +8970,15 @@ export interface components {
|
|
|
8931
8970
|
/** @description The name of the organization. */
|
|
8932
8971
|
name?: string;
|
|
8933
8972
|
};
|
|
8973
|
+
HandBackCallInput: {
|
|
8974
|
+
/**
|
|
8975
|
+
* Format: uuid
|
|
8976
|
+
* @description The session of the call to hand back, as received in the X-OPENCX-SESSION-ID SIP header
|
|
8977
|
+
*/
|
|
8978
|
+
session_id: string;
|
|
8979
|
+
/** @description Your summary of the conversation so far. Saved as the session's summary before a teammate is connected. */
|
|
8980
|
+
summary?: string;
|
|
8981
|
+
};
|
|
8934
8982
|
CreatePhoneAgentPublicDto: {
|
|
8935
8983
|
/** @description Agent display name */
|
|
8936
8984
|
name: string;
|
|
@@ -8960,7 +9008,7 @@ export interface components {
|
|
|
8960
9008
|
failover_transfer_destination_id?: string | null;
|
|
8961
9009
|
/** @description Speaking speed on a 1-100 scale (null = the voice default). Lower is slower; natural-sounding voices in some languages (e.g. Dutch) run best around 80-85. */
|
|
8962
9010
|
tts_speed_pct?: number | null;
|
|
8963
|
-
/** @description Custom vocabulary to boost in speech recognition: brand and product names, jargon, spellings the transcriber typically mishears. The agent name
|
|
9011
|
+
/** @description Custom vocabulary to boost in speech recognition: brand and product names, jargon, spellings the transcriber typically mishears. The agent name is merged in automatically. */
|
|
8964
9012
|
stt_keyterms?: string[] | null;
|
|
8965
9013
|
/** @description Record calls handled by this agent (default: false). */
|
|
8966
9014
|
recording_enabled?: boolean;
|
|
@@ -8994,7 +9042,7 @@ export interface components {
|
|
|
8994
9042
|
failover_transfer_destination_id?: string | null;
|
|
8995
9043
|
/** @description Speaking speed on a 1-100 scale (null = the voice default). Lower is slower; natural-sounding voices in some languages (e.g. Dutch) run best around 80-85. */
|
|
8996
9044
|
tts_speed_pct?: number | null;
|
|
8997
|
-
/** @description Custom vocabulary to boost in speech recognition: brand and product names, jargon, spellings the transcriber typically mishears. The agent name
|
|
9045
|
+
/** @description Custom vocabulary to boost in speech recognition: brand and product names, jargon, spellings the transcriber typically mishears. The agent name is merged in automatically. */
|
|
8998
9046
|
stt_keyterms?: string[] | null;
|
|
8999
9047
|
/** @description Record calls handled by this agent (default: false). */
|
|
9000
9048
|
recording_enabled?: boolean;
|
|
@@ -9269,12 +9317,16 @@ export interface components {
|
|
|
9269
9317
|
title: string;
|
|
9270
9318
|
/** @description Macro body as HTML, limited to what every channel can carry: <p>, <br>, <strong>, <em>, <s>, <a href>, <ul>/<ol start>/<li> and inline images as `<img src="…">` pointing at a file uploaded for this organization. Other markup is dropped (its text is kept); escape literal < and & as HTML entities, and use <br> or <p> for line breaks. Reference variables with {{variable}} syntax. */
|
|
9271
9319
|
content: string;
|
|
9320
|
+
/** @description Up to 3 options the customer can tap instead of typing, sent with the macro on channels that show them. Each `label` is up to 20 characters. `type` is `text` (the tap reaches the session as the customer's reply) or `workflow` (the tap runs the macro's Macro Option Clicked workflows and the AI doesn't reply). This is the full list: on update, pass an existing option's `id` to keep it (workflows branching on that id keep working); options left out are removed, `[]` removes all, and omitting the field leaves them untouched. A macro with options needs body text. */
|
|
9321
|
+
options?: components["schemas"]["MacroOptionInputDto"][];
|
|
9272
9322
|
};
|
|
9273
9323
|
UpdateMacroInput: {
|
|
9274
9324
|
category?: string;
|
|
9275
9325
|
title?: string;
|
|
9276
9326
|
/** @description Macro body as HTML, limited to what every channel can carry: <p>, <br>, <strong>, <em>, <s>, <a href>, <ul>/<ol start>/<li> and inline images as `<img src="…">` pointing at a file uploaded for this organization. Other markup is dropped (its text is kept); escape literal < and & as HTML entities, and use <br> or <p> for line breaks. Reference variables with {{variable}} syntax. */
|
|
9277
9327
|
content?: string;
|
|
9328
|
+
/** @description Up to 3 options the customer can tap instead of typing, sent with the macro on channels that show them. Each `label` is up to 20 characters. `type` is `text` (the tap reaches the session as the customer's reply) or `workflow` (the tap runs the macro's Macro Option Clicked workflows and the AI doesn't reply). This is the full list: on update, pass an existing option's `id` to keep it (workflows branching on that id keep working); options left out are removed, `[]` removes all, and omitting the field leaves them untouched. A macro with options needs body text. */
|
|
9329
|
+
options?: components["schemas"]["MacroOptionInputDto"][];
|
|
9278
9330
|
};
|
|
9279
9331
|
UpsertTagInputDto: {
|
|
9280
9332
|
/** @description Tag name (e.g. "billing", "refund", "feature-request") */
|
|
@@ -9589,6 +9641,24 @@ export interface components {
|
|
|
9589
9641
|
created_at: string;
|
|
9590
9642
|
events: components["schemas"]["PhoneCallEventDto"][];
|
|
9591
9643
|
};
|
|
9644
|
+
MessageOptionDto: {
|
|
9645
|
+
id: string;
|
|
9646
|
+
label: string;
|
|
9647
|
+
type: components["schemas"]["MessageOptionType"];
|
|
9648
|
+
};
|
|
9649
|
+
MessageOptionsSourceDto: {
|
|
9650
|
+
/** @constant */
|
|
9651
|
+
kind: "macro";
|
|
9652
|
+
macro_id: string;
|
|
9653
|
+
macro_title: string;
|
|
9654
|
+
};
|
|
9655
|
+
MessageOptionsDto: {
|
|
9656
|
+
source: components["schemas"]["MessageOptionsSourceDto"];
|
|
9657
|
+
options: components["schemas"]["MessageOptionDto"][];
|
|
9658
|
+
picked_option_id: string | null;
|
|
9659
|
+
picked_at: string | null;
|
|
9660
|
+
picked_message_uuid: string | null;
|
|
9661
|
+
};
|
|
9592
9662
|
AgentChangedPayload: {
|
|
9593
9663
|
/** @constant */
|
|
9594
9664
|
from: "ai";
|
|
@@ -9915,6 +9985,7 @@ export interface components {
|
|
|
9915
9985
|
whatsapp_template_request?: unknown | null;
|
|
9916
9986
|
assist_mode?: boolean;
|
|
9917
9987
|
whatsapp_template_snapshot?: unknown | null;
|
|
9988
|
+
message_options?: unknown | null;
|
|
9918
9989
|
rule_violation_reflections?: {
|
|
9919
9990
|
rule_name: string;
|
|
9920
9991
|
/** @description How the rule was violated */
|
|
@@ -10034,6 +10105,7 @@ export interface components {
|
|
|
10034
10105
|
extra_params?: {
|
|
10035
10106
|
[key: string]: unknown;
|
|
10036
10107
|
} | null;
|
|
10108
|
+
message_options?: components["schemas"]["MessageOptionsDto"] | null;
|
|
10037
10109
|
agent_id?: number | null;
|
|
10038
10110
|
agent_name?: string | null;
|
|
10039
10111
|
agent_avatar?: string | null;
|
|
@@ -10249,6 +10321,29 @@ export interface components {
|
|
|
10249
10321
|
system_options: components["schemas"]["StructuredFieldSystemOptionDto"][];
|
|
10250
10322
|
};
|
|
10251
10323
|
StructuredFieldListDto: components["schemas"]["StructuredFieldTreeDto"][];
|
|
10324
|
+
MacroAttachmentDto: {
|
|
10325
|
+
id: string;
|
|
10326
|
+
name: string;
|
|
10327
|
+
size: number;
|
|
10328
|
+
type: string;
|
|
10329
|
+
url: string;
|
|
10330
|
+
};
|
|
10331
|
+
SavedReplyDto: {
|
|
10332
|
+
id: string;
|
|
10333
|
+
org_id: string;
|
|
10334
|
+
category: string;
|
|
10335
|
+
title: string;
|
|
10336
|
+
/** @description Macro body as channel-safe HTML, with {{variable}} references. */
|
|
10337
|
+
content: string;
|
|
10338
|
+
attachments: components["schemas"]["MacroAttachmentDto"][];
|
|
10339
|
+
options: components["schemas"]["MessageOptionDto"][];
|
|
10340
|
+
user_id: number | null;
|
|
10341
|
+
overrides_saved_reply_id: string | null;
|
|
10342
|
+
/** Format: date-time */
|
|
10343
|
+
created_at: string;
|
|
10344
|
+
/** Format: date-time */
|
|
10345
|
+
updated_at: string;
|
|
10346
|
+
};
|
|
10252
10347
|
CustomSessionStatusDto: {
|
|
10253
10348
|
id: string;
|
|
10254
10349
|
org_id: string;
|
|
@@ -10667,24 +10762,6 @@ export interface components {
|
|
|
10667
10762
|
end_time: string;
|
|
10668
10763
|
}[];
|
|
10669
10764
|
};
|
|
10670
|
-
AgentWorkflowItemDto: {
|
|
10671
|
-
/** @description The logical workflow UUID */
|
|
10672
|
-
workflowId: string;
|
|
10673
|
-
/** @description Display name of the workflow */
|
|
10674
|
-
name: string;
|
|
10675
|
-
/** @description Description of the workflow */
|
|
10676
|
-
description: string | null;
|
|
10677
|
-
/** @description The goal of the workflow from AI trigger config */
|
|
10678
|
-
goal: string | null;
|
|
10679
|
-
/** @description Whether this workflow is selected for the agent */
|
|
10680
|
-
selected: boolean;
|
|
10681
|
-
};
|
|
10682
|
-
AgentWorkflowListDto: {
|
|
10683
|
-
workflows: components["schemas"]["AgentWorkflowItemDto"][];
|
|
10684
|
-
};
|
|
10685
|
-
UpdateAgentWorkflowsResponseDto: {
|
|
10686
|
-
success: boolean;
|
|
10687
|
-
};
|
|
10688
10765
|
PhoneAgentVoiceDto: {
|
|
10689
10766
|
/** @enum {string} */
|
|
10690
10767
|
provider: "elevenlabs" | "cartesia" | "vapi" | "live";
|
|
@@ -10707,6 +10784,24 @@ export interface components {
|
|
|
10707
10784
|
};
|
|
10708
10785
|
default_speed_pct: number | null;
|
|
10709
10786
|
};
|
|
10787
|
+
AgentWorkflowItemDto: {
|
|
10788
|
+
/** @description The logical workflow UUID */
|
|
10789
|
+
workflowId: string;
|
|
10790
|
+
/** @description Display name of the workflow */
|
|
10791
|
+
name: string;
|
|
10792
|
+
/** @description Description of the workflow */
|
|
10793
|
+
description: string | null;
|
|
10794
|
+
/** @description The goal of the workflow from AI trigger config */
|
|
10795
|
+
goal: string | null;
|
|
10796
|
+
/** @description Whether this workflow is selected for the agent */
|
|
10797
|
+
selected: boolean;
|
|
10798
|
+
};
|
|
10799
|
+
AgentWorkflowListDto: {
|
|
10800
|
+
workflows: components["schemas"]["AgentWorkflowItemDto"][];
|
|
10801
|
+
};
|
|
10802
|
+
UpdateAgentWorkflowsResponseDto: {
|
|
10803
|
+
success: boolean;
|
|
10804
|
+
};
|
|
10710
10805
|
KnowledgeSourceRoutingGuideDto: {
|
|
10711
10806
|
/** @enum {string} */
|
|
10712
10807
|
status: "fresh" | "stale" | "invalid";
|
|
@@ -10853,11 +10948,16 @@ export interface components {
|
|
|
10853
10948
|
value: string | null;
|
|
10854
10949
|
sipUsername: string | null;
|
|
10855
10950
|
hasSipPassword: boolean;
|
|
10951
|
+
/** @description Names of the custom SIP headers sent on every transfer to this destination. Values are never returned. */
|
|
10952
|
+
sipHeaderNames: string[];
|
|
10856
10953
|
sipHost: string | null;
|
|
10857
10954
|
sipPort: number | null;
|
|
10858
10955
|
sipExtension: string | null;
|
|
10859
10956
|
sipTransport: ("udp" | "tcp" | "tls") | null;
|
|
10860
10957
|
sipCallerId: string | null;
|
|
10958
|
+
sipHeaderAllowlist: string[] | null;
|
|
10959
|
+
sipPreserveCallerId: boolean;
|
|
10960
|
+
sipMediaEncryption: ("allow" | "require") | null;
|
|
10861
10961
|
routingGroupId: string | null;
|
|
10862
10962
|
createdAt: string;
|
|
10863
10963
|
updatedAt: string;
|
|
@@ -11036,28 +11136,6 @@ export interface components {
|
|
|
11036
11136
|
breaches: number;
|
|
11037
11137
|
}[];
|
|
11038
11138
|
};
|
|
11039
|
-
MacroAttachmentDto: {
|
|
11040
|
-
id: string;
|
|
11041
|
-
name: string;
|
|
11042
|
-
size: number;
|
|
11043
|
-
type: string;
|
|
11044
|
-
url: string;
|
|
11045
|
-
};
|
|
11046
|
-
SavedReplyDto: {
|
|
11047
|
-
id: string;
|
|
11048
|
-
org_id: string;
|
|
11049
|
-
category: string;
|
|
11050
|
-
title: string;
|
|
11051
|
-
/** @description Macro body as channel-safe HTML, with {{variable}} references. */
|
|
11052
|
-
content: string;
|
|
11053
|
-
attachments: components["schemas"]["MacroAttachmentDto"][];
|
|
11054
|
-
user_id: number | null;
|
|
11055
|
-
overrides_saved_reply_id: string | null;
|
|
11056
|
-
/** Format: date-time */
|
|
11057
|
-
created_at: string;
|
|
11058
|
-
/** Format: date-time */
|
|
11059
|
-
updated_at: string;
|
|
11060
|
-
};
|
|
11061
11139
|
SavedReplyVariableDto: {
|
|
11062
11140
|
id: string;
|
|
11063
11141
|
org_id: string;
|
|
@@ -13015,6 +13093,7 @@ export interface components {
|
|
|
13015
13093
|
call_available: boolean;
|
|
13016
13094
|
call_locked: boolean;
|
|
13017
13095
|
call_wrap_up_until: string | null;
|
|
13096
|
+
call_wrap_up_started_at?: string | null;
|
|
13018
13097
|
call_wrap_up_phone_call_id: string | null;
|
|
13019
13098
|
availability_status_id: string | null;
|
|
13020
13099
|
};
|
|
@@ -13138,6 +13217,7 @@ export interface components {
|
|
|
13138
13217
|
call_available: boolean;
|
|
13139
13218
|
call_locked: boolean;
|
|
13140
13219
|
call_wrap_up_until: string | null;
|
|
13220
|
+
call_wrap_up_started_at?: string | null;
|
|
13141
13221
|
call_wrap_up_phone_call_id: string | null;
|
|
13142
13222
|
availability_status_id: string | null;
|
|
13143
13223
|
};
|
|
@@ -13215,6 +13295,8 @@ export interface components {
|
|
|
13215
13295
|
[key: string]: unknown;
|
|
13216
13296
|
};
|
|
13217
13297
|
attachments: components["schemas"]["PublicChatAttachment"][];
|
|
13298
|
+
/** @description Agent messages sent from a macro with options: the options the contact can tap. Report a tap with `message.option_reply` on Send a message. */
|
|
13299
|
+
options?: components["schemas"]["MessageOptionDto"][];
|
|
13218
13300
|
} | {
|
|
13219
13301
|
/**
|
|
13220
13302
|
* @description An AI draft reply produced in assist mode — suggested to the human support team, never delivered to the contact.
|
|
@@ -13504,6 +13586,8 @@ export interface components {
|
|
|
13504
13586
|
[key: string]: unknown;
|
|
13505
13587
|
};
|
|
13506
13588
|
attachments: components["schemas"]["PublicChatAttachment"][];
|
|
13589
|
+
/** @description Agent messages sent from a macro with options: the options the contact can tap. Report a tap with `message.option_reply` on Send a message. */
|
|
13590
|
+
options?: components["schemas"]["MessageOptionDto"][];
|
|
13507
13591
|
} | {
|
|
13508
13592
|
/**
|
|
13509
13593
|
* @description An AI draft reply produced in assist mode — suggested to the human support team, never delivered to the contact.
|
|
@@ -14081,7 +14165,7 @@ export interface components {
|
|
|
14081
14165
|
} | ({
|
|
14082
14166
|
/** @constant */
|
|
14083
14167
|
success: true;
|
|
14084
|
-
code?: string | "session_assigned_to_human_agent" | "response_cancelled" | "skipping_unuseful_response" | "duplicate_message_ignored" | "ai_response_skipped_by_workflow" | "ai_skipped_spam" | "steered_into_live_turn" | "session_busy";
|
|
14168
|
+
code?: string | "session_assigned_to_human_agent" | "response_cancelled" | "skipping_unuseful_response" | "duplicate_message_ignored" | "ai_response_skipped_by_workflow" | "message_option_workflow_triggered" | "ai_skipped_spam" | "steered_into_live_turn" | "session_busy";
|
|
14085
14169
|
autopilotResponse?: {
|
|
14086
14170
|
/** @constant */
|
|
14087
14171
|
type: "text";
|
|
@@ -14138,6 +14222,7 @@ export interface components {
|
|
|
14138
14222
|
whatsapp_template_request?: unknown | null;
|
|
14139
14223
|
assist_mode?: boolean;
|
|
14140
14224
|
whatsapp_template_snapshot?: unknown | null;
|
|
14225
|
+
message_options?: unknown | null;
|
|
14141
14226
|
rule_violation_reflections?: {
|
|
14142
14227
|
rule_name: string;
|
|
14143
14228
|
/** @description How the rule was violated */
|
|
@@ -15043,6 +15128,12 @@ export interface components {
|
|
|
15043
15128
|
/** @description When the organization was last updated. */
|
|
15044
15129
|
updated_at: string | null;
|
|
15045
15130
|
};
|
|
15131
|
+
HandBackCallOutput: {
|
|
15132
|
+
/** Format: uuid */
|
|
15133
|
+
session_id: string;
|
|
15134
|
+
/** @constant */
|
|
15135
|
+
status: "handed_back";
|
|
15136
|
+
};
|
|
15046
15137
|
SetPhoneAgentCallerNumberOutput: {
|
|
15047
15138
|
phone_agent_id: string;
|
|
15048
15139
|
caller_number: string | null;
|
|
@@ -23270,6 +23361,39 @@ export interface operations {
|
|
|
23270
23361
|
};
|
|
23271
23362
|
};
|
|
23272
23363
|
};
|
|
23364
|
+
handBackPhoneCall: {
|
|
23365
|
+
parameters: {
|
|
23366
|
+
query?: never;
|
|
23367
|
+
header?: never;
|
|
23368
|
+
path?: never;
|
|
23369
|
+
cookie?: never;
|
|
23370
|
+
};
|
|
23371
|
+
requestBody: {
|
|
23372
|
+
content: {
|
|
23373
|
+
"application/json": components["schemas"]["HandBackCallInput"];
|
|
23374
|
+
};
|
|
23375
|
+
};
|
|
23376
|
+
responses: {
|
|
23377
|
+
/** @description Default Response */
|
|
23378
|
+
201: {
|
|
23379
|
+
headers: {
|
|
23380
|
+
[name: string]: unknown;
|
|
23381
|
+
};
|
|
23382
|
+
content: {
|
|
23383
|
+
"application/json": components["schemas"]["HandBackCallOutput"];
|
|
23384
|
+
};
|
|
23385
|
+
};
|
|
23386
|
+
/** @description Internal Server Error */
|
|
23387
|
+
500: {
|
|
23388
|
+
headers: {
|
|
23389
|
+
[name: string]: unknown;
|
|
23390
|
+
};
|
|
23391
|
+
content: {
|
|
23392
|
+
"application/json": components["schemas"]["ErrorDto"];
|
|
23393
|
+
};
|
|
23394
|
+
};
|
|
23395
|
+
};
|
|
23396
|
+
};
|
|
23273
23397
|
makeOutboundCall: {
|
|
23274
23398
|
parameters: {
|
|
23275
23399
|
query?: never;
|