@cognigy/rest-api-client
Version:
Cognigy REST-Client
109 lines • 4.19 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.HANDOVER = void 0;
/* Custom modules */
const createNodeDescriptor_1 = require("../../createNodeDescriptor");
const constants_1 = require("../../../constants");
/**
* Node name: 'handover'
*
* Purpose:
* Sends a handover request service-handover if the channel is supported
*/
exports.HANDOVER = (0, createNodeDescriptor_1.createNodeDescriptor)({
type: "handover",
defaultLabel: "Handover",
summary: "UI__NODE_EDITOR__SERVICE__HANDOVER__SUMMARY_LABEL",
appearance: {
showIcon: false
},
constraints: {
placement: {},
creatable: false,
},
fields: [
{
key: "text",
type: "cognigyText",
label: "UI__NODE_EDITOR__SERVICE__HANDOVER__FIELDS__TEXT__LABEL",
description: "UI__NODE_EDITOR__SERVICE__HANDOVER__FIELDS__TEXT__DESCRIPTION"
},
{
key: "cancelIntent",
type: "cognigyText",
label: "UI__NODE_EDITOR__SERVICE__HANDOVER__FIELDS__CANCEL_INTENT__LABEL",
description: "UI__NODE_EDITOR__SERVICE__HANDOVER__FIELDS__CANCEL_INTENT__DESCRIPTION"
},
{
key: "unavailable",
type: "cognigyText",
label: "UI__NODE_EDITOR__SERVICE__HANDOVER__FIELDS__UNAVAILABLE__LABEL",
description: "UI__NODE_EDITOR__SERVICE__HANDOVER__FIELDS__UNAVAILABLE__DESCRIPTION"
},
{
key: "unsupportedChannel",
type: "cognigyText",
label: "UI__NODE_EDITOR__SERVICE__HANDOVER__FIELDS__UNSUPPORTED_CHANNEL__LABEL",
description: "UI__NODE_EDITOR__SERVICE__HANDOVER__FIELDS__UNSUPPORTED_CHANNEL__DESCRIPTION"
},
{
key: "quickReply",
type: "cognigyText",
label: "UI__NODE_EDITOR__SERVICE__HANDOVER__FIELDS__QUICK_REPLAY__LABEL",
description: "UI__NODE_EDITOR__SERVICE__HANDOVER__FIELDS__QUICK_REPLAY__DESCRIPTION"
},
{
key: "chatwootInboxId",
type: "cognigyText",
label: "UI__NODE_EDITOR__SERVICE__HANDOVER__FIELDS__CHATWOOT_INBOXID__LABEL",
description: "UI__NODE_EDITOR__SERVICE__HANDOVER__FIELDS__CHATWOOT_INBOXID__DESCRIPTION"
},
{
key: constants_1.COGNIGY_LIVE_AGENT_DESCRIPTOR_FIELDS.LIVE_AGENT_INBOX_ID,
type: "cognigyText",
label: "Live Agent Inbox Id",
description: "Inbox Id in Live Agent"
}
],
sections: [
{
key: "chatwootSettings",
label: "UI__NODE_EDITOR__SERVICE__HANDOVER__SECTIONS__CHATWOOT_SETTINGS__LABEL",
defaultCollapsed: true,
fields: [
"chatwootInboxId",
]
},
{
key: "liveAgentSettings",
label: "UI__NODE_EDITOR__SERVICE__HANDOVER__SECTIONS__LIVEAGENT_SETTINGS__LABEL",
defaultCollapsed: true,
fields: [
constants_1.COGNIGY_LIVE_AGENT_DESCRIPTOR_FIELDS.LIVE_AGENT_INBOX_ID
]
}
],
form: [
{ type: "field", key: "text" },
{ type: "field", key: "cancelIntent" },
{ type: "field", key: "unavailable" },
{ type: "field", key: "unsupportedChannel" },
{ type: "field", key: "quickReply" },
{ type: "section", key: "chatwootSettings" },
// only render this field if "live agent" is enabled
process.env.FEATURE_USE_COGNIGY_LIVE_AGENT === "true" && {
type: "section",
key: "liveAgentSettings"
},
]
.filter(element => !!element),
tags: ["service", "livechat", "chat", "hand over"],
function: async ({ cognigy, config, childConfigs, nodeId }) => {
const { api, input } = cognigy;
if (input.channel === "adminconsole") {
await api.output("You are using the deprecated Handover Node. Please find the new Handover to Agent Node in the Node Selection Menu.", null);
}
await api.handover({ cognigy, config, nodeId, childConfigs });
}
});
//# sourceMappingURL=handover.js.map