@tixae-labs/web-sdk
Version:
Javascript Web SDK for doing WebRTC AI Voice Calls with Convocore.
1,033 lines (1,032 loc) • 240 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.HealthCareSecretaryTemplate = exports.RealEstateAgentTemplate = exports.CustomerSupportTemplate = exports.BlankTemplate = exports.GameNPCTemplate = exports.makeApointmentTemplate = exports.confirmEmailTemplate = exports.defaultModelForAllTemplates = void 0;
// import type { ChatRuntime } from "./firebase";
const gettingStartedIframeVideo = '<iframe width="100%" height="100%" src="https://www.youtube.com/embed/Qkyum1g_qVQ" title="Get Started with Convocore – Basics to Advanced" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>';
exports.defaultModelForAllTemplates = "gemini-2.5-flash";
exports.confirmEmailTemplate = {
vapiConfig: {
promptOnWeb: false,
},
name: "Confirm Email",
nodes: [
{
name: "Start",
description: "This is the start node of the LLM chain.",
instructions: "Greet the user warmly and ask him to provide his email, you'll use the {{tool:g93CqwfpPCS9sWM2eMug}} tool first to send a code to his email, then once used ask the user about the code that was sent, once the user has told you the code use the {{tool:2txRykNpxuTGqUd5WmYO}} tool to see if the code he mentioned was valid or not.",
id: "__start__",
isGlobal: false,
llmConfig: { temperature: 0.7, maxTokens: 2024, modelId: exports.defaultModelForAllTemplates },
toolUseBias: 0.5,
autoRerouter: { enabled: false, level: 1 },
toolsIds: ["g93CqwfpPCS9sWM2eMug", "2txRykNpxuTGqUd5WmYO"],
childrenNodes: [
{
id: "__start__-25DENYLdTx7DDtaiZHUd",
source: "__start__",
target: "25DENYLdTx7DDtaiZHUd",
label: "Route here ONLY if you have used the VerifyEmail tool AND isValid in the response is true.",
type: "editable",
className: "",
animated: true,
style: { stroke: "#666", strokeWidth: 2, strokeDasharray: "5 5" },
nodeId: "25DENYLdTx7DDtaiZHUd",
condition: "Route here ONLY if you have used the VerifyEmail tool AND isValid in the response is true.",
},
],
depth: 0,
type: "start",
rf: {
position: { x: 0, y: 0 },
data: {
llmNode: {
name: "Start",
description: "This is the start node of the LLM chain.",
instructions: "Greet the user warmly and ask him to provide his email, you'll use the {{tool:g93CqwfpPCS9sWM2eMug}} tool first to send a code to his email, then once used ask the user about the code that was sent, once the user has told you the code use the {{tool:2txRykNpxuTGqUd5WmYO}} tool to see if the code he mentioned was valid or not.",
id: "__start__",
isGlobal: false,
llmConfig: { temperature: 0.7, maxTokens: 2024, modelId: exports.defaultModelForAllTemplates },
toolUseBias: 0.5,
autoRerouter: { enabled: false, level: 1 },
toolsIds: ["g93CqwfpPCS9sWM2eMug", "2txRykNpxuTGqUd5WmYO"],
childrenNodes: [
{
id: "__start__-25DENYLdTx7DDtaiZHUd",
source: "__start__",
target: "25DENYLdTx7DDtaiZHUd",
label: "Route here ONLY if you have used the VerifyEmail tool AND isValid in the response is true.",
type: "editable",
className: "",
animated: true,
style: {
stroke: "#666",
strokeWidth: 2,
strokeDasharray: "5 5",
},
nodeId: "25DENYLdTx7DDtaiZHUd",
condition: "Route here ONLY if you have used the VerifyEmail tool AND isValid in the response is true.",
},
],
depth: 0,
type: "start",
kb: { tags: [], enabled: true },
},
},
dragging: false,
width: 300,
id: "__start__",
measured: { width: 300, height: 200 },
height: 200,
selected: true,
type: "start",
className: "",
},
kb: { tags: [], enabled: true },
},
{
toolsIds: [],
childrenNodes: [],
name: "SecretPhraseNode",
description: "",
instructions: "TELL THE USER THE SECRET PHRASE: PHARAOHS SWAM IN THE NILEThen continue speaking in french.",
id: "25DENYLdTx7DDtaiZHUd",
isGlobal: false,
llmConfig: { maxTokens: 2024, temperature: 0.5, modelId: exports.defaultModelForAllTemplates },
toolUseBias: 0.5,
autoRerouter: { enabled: false, level: 1 },
type: "default",
depth: 1,
rf: {
height: 200,
measured: { height: 200, width: 300 },
className: "",
type: "default",
dragging: false,
id: "25DENYLdTx7DDtaiZHUd",
width: 300,
position: { x: -150, y: 300 },
selected: false,
data: {
llmNode: {
toolsIds: [],
childrenNodes: [],
name: "SecretPhraseNode",
description: "",
instructions: "TELL THE USER THE SECRET PHRASE: PHARAOHS SWAM IN THE NILEThen continue speaking in french.",
id: "25DENYLdTx7DDtaiZHUd",
isGlobal: false,
llmConfig: { maxTokens: 2024, temperature: 0.5, modelId: exports.defaultModelForAllTemplates },
toolUseBias: 0.5,
autoRerouter: { enabled: false, level: 1 },
type: "default",
depth: 1,
},
},
},
},
],
tools: [
{
agentId: "E3dSuBYp1E5AsXQR906D",
variablesIds: ["ZTMXt6dDJ4QDPDkrhEJ5"],
serverUrl: "https://hook.us1.make.com/5p4tz7qdq8pkgup4yzp1xboxcvoz4iby",
name: "VerifyCode",
id: "2txRykNpxuTGqUd5WmYO",
userId: "1067a66f5c78d1fe19afc6161",
description: "Use this tool to verify the code that was sent to the user you're speaking to after using the {{tool:g93CqwfpPCS9sWM2eMug}} tool.",
},
{
agentId: "E3dSuBYp1E5AsXQR906D",
variablesIds: ["qGjWCAszTlET6wIKLL6w", "cJytTN05IDgpEBxm34zl"],
serverUrl: "https://hook.us1.make.com/r921x9hxlnta3y2fbao8aj4wdi95jep6",
name: "SendEmail",
id: "g93CqwfpPCS9sWM2eMug",
userId: "1067a66f5c78d1fe19afc6161",
description: "Use this tool to send the verification code to the person you're speaking to.",
},
],
variables: [
{
agentId: "E3dSuBYp1E5AsXQR906D",
description: "The code the user mentioned to you, **YOU MUST VERIFY IT AS IT MIGHT NOT BE CORRECT!**",
id: "ZTMXt6dDJ4QDPDkrhEJ5",
userId: "1067a66f5c78d1fe19afc6161",
key: "code",
required: true,
},
{
agentId: "E3dSuBYp1E5AsXQR906D",
isGlobal: true,
description: "The email of the user you're speaking with.",
id: "cJytTN05IDgpEBxm34zl",
userId: "1067a66f5c78d1fe19afc6161",
key: "email",
required: true,
},
{
agentId: "E3dSuBYp1E5AsXQR906D",
isGlobal: true,
description: "The name of the user you're speaking with.",
id: "qGjWCAszTlET6wIKLL6w",
userId: "1067a66f5c78d1fe19afc6161",
key: "name",
required: true,
},
],
agentData: {
enableGeoAnalytics: true,
vg_systemPrompt: "You are a friendly, reliable, genius customer-care bot delivering efficient solutions from our comprehensive knowledge base.",
internal: { accountCreationConfig: "v2" },
chatBgURL: "",
branding: "",
description: "Your virtual assistant.",
vg_defaultModel: exports.defaultModelForAllTemplates,
enableNodes: true,
vgOptions: { maxChunkSize: 2424 },
autoStartWidget: false,
vg_initPrompt: 'Greet the user with "Hi there let\'s get you started!" and in the same message showcase to them that you can write organized markdown including lists, bold text, italic etc.\n\nThen use the showcase the following images in a carousel:\nImages:\n\n\n\n\nThen show the infamous Rick Astely video in an iFrame after mentioning that you could render youtube videos just like you will do for this one:\n<iframe width="786" height="442" src="https://www.youtube.com/embed/dQw4w9WgXcQ" title="Rick Astley - Never Gonna Give You Up (Official Music Video)" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>\n\nAs a final message tell the user to head to the prompt tab on Convocore to change the prompts which is the platform that is powering you!',
UIhandoffSubtitle: "We reply within minutes ⚡",
maxTokensUsage: 0,
recordChatHistory: true,
SECRET_API_KEY: "",
agentPlatform: "vg",
theme: "blue-light",
ID: "E3dSuBYp1E5AsXQR906D",
id: "E3dSuBYp1E5AsXQR906D",
proactiveMessage: "👋 Hi, how can I help you today?",
vg_initMessages: [
"Hi, I am your virtual assistant, how can I help you today?",
],
lang: "en",
messageDelayMS: 1000,
roundedImageURL: "https://vg-bunny-cdn.b-cdn.net/branding/final512x512-convocore.png",
vg_kbDefaultDimension: 1536,
syncBrowser: false,
ownerID: "1067a66f5c78d1fe19afc6161",
userId: "1067a66f5c78d1fe19afc6161",
vg_temperature: 0.5,
vg_enableUIEngine: true,
voiceConfig: {
config: {
enableWebCalling: true,
recordAudio: true,
backgroundNoise: "restaurant",
},
transcriber: {
provider: "deepgram",
modelId: "nova-2-phonecall",
utteranceThreshold: 150,
language: "en",
},
speechGen: {
provider: "google-live"
}
},
UIhandoffTitle: "Support Team",
listenForUrlChanges: false,
vg_maxTokens: 1024,
scrollAnimation: true,
title: "NEW SIGN IN AGENT",
nodes: [
{
name: "Start",
description: "This is the start node of the LLM chain.",
instructions: "Greet the user warmly and ask him to provide his email, you'll use the {{tool:g93CqwfpPCS9sWM2eMug}} tool first to send a code to his email, then once used ask the user about the code that was sent, once the user has told you the code use the {{tool:2txRykNpxuTGqUd5WmYO}} tool to see if the code he mentioned was valid or not.",
id: "__start__",
isGlobal: false,
llmConfig: { temperature: 0.7, maxTokens: 2024, modelId: exports.defaultModelForAllTemplates },
toolUseBias: 0.5,
autoRerouter: { enabled: false, level: 1 },
toolsIds: ["g93CqwfpPCS9sWM2eMug", "2txRykNpxuTGqUd5WmYO"],
childrenNodes: [
{
id: "__start__-25DENYLdTx7DDtaiZHUd",
source: "__start__",
target: "25DENYLdTx7DDtaiZHUd",
label: "Route here ONLY if you have used the VerifyEmail tool AND isValid in the response is true.",
type: "editable",
className: "",
animated: true,
style: { stroke: "#666", strokeWidth: 2, strokeDasharray: "5 5" },
nodeId: "25DENYLdTx7DDtaiZHUd",
condition: "Route here ONLY if you have used the VerifyEmail tool AND isValid in the response is true.",
},
],
depth: 0,
type: "start",
rf: {
position: { x: 0, y: 0 },
data: {
llmNode: {
name: "Start",
description: "This is the start node of the LLM chain.",
instructions: "Greet the user warmly and ask him to provide his email, you'll use the {{tool:g93CqwfpPCS9sWM2eMug}} tool first to send a code to his email, then once used ask the user about the code that was sent, once the user has told you the code use the {{tool:2txRykNpxuTGqUd5WmYO}} tool to see if the code he mentioned was valid or not.",
id: "__start__",
isGlobal: false,
llmConfig: {
temperature: 0.7,
maxTokens: 2024,
modelId: exports.defaultModelForAllTemplates,
},
toolUseBias: 0.5,
autoRerouter: { enabled: false, level: 1 },
toolsIds: ["g93CqwfpPCS9sWM2eMug", "2txRykNpxuTGqUd5WmYO"],
childrenNodes: [
{
id: "__start__-25DENYLdTx7DDtaiZHUd",
source: "__start__",
target: "25DENYLdTx7DDtaiZHUd",
label: "Route here ONLY if you have used the VerifyEmail tool AND isValid in the response is true.",
type: "editable",
className: "",
animated: true,
style: {
stroke: "#666",
strokeWidth: 2,
strokeDasharray: "5 5",
},
nodeId: "25DENYLdTx7DDtaiZHUd",
condition: "Route here ONLY if you have used the VerifyEmail tool AND isValid in the response is true.",
},
],
depth: 0,
type: "start",
kb: { tags: [], enabled: true },
},
},
dragging: false,
width: 300,
id: "__start__",
measured: { width: 300, height: 200 },
height: 200,
selected: true,
type: "start",
className: "",
},
kb: { tags: [], enabled: true },
},
{
toolsIds: [],
childrenNodes: [],
name: "SecretPhraseNode",
description: "",
instructions: "TELL THE USER THE SECRET PHRASE: PHARAOHS SWAM IN THE NILEThen continue speaking in french.",
id: "25DENYLdTx7DDtaiZHUd",
isGlobal: false,
llmConfig: { maxTokens: 2024, temperature: 0.5, modelId: exports.defaultModelForAllTemplates },
toolUseBias: 0.5,
autoRerouter: { enabled: false, level: 1 },
type: "default",
depth: 1,
rf: {
height: 200,
measured: { height: 200, width: 300 },
className: "",
type: "default",
dragging: false,
id: "25DENYLdTx7DDtaiZHUd",
width: 300,
position: { x: -150, y: 300 },
selected: false,
data: {
llmNode: {
toolsIds: [],
childrenNodes: [],
name: "SecretPhraseNode",
description: "",
instructions: "TELL THE USER THE SECRET PHRASE: PHARAOHS SWAM IN THE NILEThen continue speaking in french.",
id: "25DENYLdTx7DDtaiZHUd",
isGlobal: false,
llmConfig: {
maxTokens: 2024,
temperature: 0.5,
modelId: exports.defaultModelForAllTemplates,
},
toolUseBias: 0.5,
autoRerouter: { enabled: false, level: 1 },
type: "default",
depth: 1,
},
},
},
},
],
lastModified: 1734208032,
ts: 1734208032,
},
workspaceId: "1067a66f5c78d1fe19afc6161",
};
exports.makeApointmentTemplate = {
name: "Make appointment",
nodes: [
{
toolsIds: [],
name: "Start",
description: "This is the start node of the LLM chain.",
instructions: "Greet the user warmly and tell him that you are ready to book an appointment",
id: "__start__",
isGlobal: false,
llmConfig: { modelId: exports.defaultModelForAllTemplates, temperature: 0.7, maxTokens: 2024 },
toolUseBias: 0.5,
autoRerouter: { enabled: false, level: 1 },
depth: 0,
childrenNodes: [
{
id: "__start__-uBuRMo2OCO6TlGrJ4bRN",
source: "__start__",
target: "uBuRMo2OCO6TlGrJ4bRN",
label: "if user want to book an appointment",
type: "editable",
className: "",
animated: true,
style: { stroke: "#666", strokeWidth: 2, strokeDasharray: "5 5" },
nodeId: "uBuRMo2OCO6TlGrJ4bRN",
condition: "if user want to book an appointment",
},
{
id: "__start__-0GX5HYp7e0H1zTXha38j",
source: "__start__",
target: "0GX5HYp7e0H1zTXha38j",
label: "if user want to book an appointment edfsfd",
type: "editable",
className: "",
animated: true,
style: { stroke: "#666", strokeWidth: 2, strokeDasharray: "5 5" },
nodeId: "0GX5HYp7e0H1zTXha38j",
condition: "if user want to book an appointment edfsfd",
},
],
kb: { tags: [] },
type: "start",
rf: {
height: 200,
data: {
llmNode: {
toolsIds: [],
name: "Start",
description: "This is the start node of the LLM chain.",
instructions: "Greet the user warmly and tell him that you are ready to book an appointment",
id: "__start__",
isGlobal: false,
llmConfig: { modelId: exports.defaultModelForAllTemplates, temperature: 0.7, maxTokens: 2024 },
toolUseBias: 0.5,
autoRerouter: { enabled: false, level: 1 },
depth: 0,
childrenNodes: [
{
id: "__start__-uBuRMo2OCO6TlGrJ4bRN",
source: "__start__",
target: "uBuRMo2OCO6TlGrJ4bRN",
label: "if user want to book an appointment",
type: "editable",
className: "",
animated: true,
style: {
stroke: "#666",
strokeWidth: 2,
strokeDasharray: "5 5",
},
nodeId: "uBuRMo2OCO6TlGrJ4bRN",
condition: "if user want to book an appointment",
},
{
id: "__start__-0GX5HYp7e0H1zTXha38j",
source: "__start__",
target: "0GX5HYp7e0H1zTXha38j",
label: "if user want to book an appointment edfsfd",
type: "editable",
className: "",
animated: true,
style: {
stroke: "#666",
strokeWidth: 2,
strokeDasharray: "5 5",
},
nodeId: "0GX5HYp7e0H1zTXha38j",
condition: "if user want to book an appointment edfsfd",
},
],
kb: { tags: [] },
type: "start",
},
},
id: "__start__",
width: 300,
selected: true,
type: "start",
position: { x: 0, y: 0 },
className: "",
measured: { width: 300, height: 200 },
},
},
{
name: "Node uBuRM",
description: "",
instructions: "**get** the not available dates {{tool:yd57oWSDf2Q39g9pHsuE}} , t_ell_ the user the available dates, from 9am to 5pm other than the not available datesand test ",
id: "uBuRMo2OCO6TlGrJ4bRN",
isGlobal: false,
llmConfig: { temperature: 0.5, modelId: exports.defaultModelForAllTemplates, maxTokens: 2024 },
toolUseBias: 0.5,
autoRerouter: { level: 1, enabled: false },
toolsIds: ["yd57oWSDf2Q39g9pHsuE"],
childrenNodes: [
{
id: "uBuRMo2OCO6TlGrJ4bRN-YWhIWcvah1C4cc4Q3OTY",
source: "uBuRMo2OCO6TlGrJ4bRN",
target: "YWhIWcvah1C4cc4Q3OTY",
label: "if user picked a date ",
type: "editable",
className: "",
animated: true,
style: { stroke: "#666", strokeWidth: 2, strokeDasharray: "5 5" },
nodeId: "YWhIWcvah1C4cc4Q3OTY",
condition: "if user picked a date ",
},
],
kb: { tags: [] },
type: "default",
depth: 1,
rf: {
data: {
llmNode: {
name: "Node uBuRM",
description: "",
instructions: "**get** the not available dates {{tool:yd57oWSDf2Q39g9pHsuE}} , t_ell_ the user the available dates, from 9am to 5pm other than the not available datesand test ",
id: "uBuRMo2OCO6TlGrJ4bRN",
isGlobal: false,
llmConfig: { temperature: 0.5, modelId: exports.defaultModelForAllTemplates, maxTokens: 2024 },
toolUseBias: 0.5,
autoRerouter: { level: 1, enabled: false },
toolsIds: ["yd57oWSDf2Q39g9pHsuE"],
childrenNodes: [
{
id: "uBuRMo2OCO6TlGrJ4bRN-YWhIWcvah1C4cc4Q3OTY",
source: "uBuRMo2OCO6TlGrJ4bRN",
target: "YWhIWcvah1C4cc4Q3OTY",
label: "if user picked a date ",
type: "editable",
className: "",
animated: true,
style: {
stroke: "#666",
strokeWidth: 2,
strokeDasharray: "5 5",
},
nodeId: "YWhIWcvah1C4cc4Q3OTY",
condition: "if user picked a date ",
},
],
kb: { tags: [] },
type: "default",
depth: 1,
},
},
width: 300,
type: "default",
id: "uBuRMo2OCO6TlGrJ4bRN",
height: 200,
position: { y: 340, x: -300 },
dragging: false,
selected: false,
measured: { height: 200, width: 300 },
className: "",
},
},
{
toolsIds: [],
name: "Node 0GX5H",
description: "",
instructions: "Thank the user ",
id: "0GX5HYp7e0H1zTXha38j",
isGlobal: false,
llmConfig: { temperature: 0.5, modelId: exports.defaultModelForAllTemplates, maxTokens: 2024 },
toolUseBias: 0.5,
autoRerouter: { enabled: false, level: 1 },
depth: 1,
kb: { tags: [] },
type: "default",
childrenNodes: [
{
id: "0GX5HYp7e0H1zTXha38j-DOvFGoDOYATSAzb41y9o",
source: "0GX5HYp7e0H1zTXha38j",
target: "DOvFGoDOYATSAzb41y9o",
label: "",
type: "editable",
className: "",
animated: true,
style: { stroke: "#666", strokeWidth: 2, strokeDasharray: "5 5" },
nodeId: "DOvFGoDOYATSAzb41y9o",
condition: "",
},
],
rf: {
id: "0GX5HYp7e0H1zTXha38j",
data: {
llmNode: {
toolsIds: [],
name: "Node 0GX5H",
description: "",
instructions: "Thank the user ",
id: "0GX5HYp7e0H1zTXha38j",
isGlobal: false,
llmConfig: { temperature: 0.5, modelId: exports.defaultModelForAllTemplates, maxTokens: 2024 },
toolUseBias: 0.5,
autoRerouter: { enabled: false, level: 1 },
depth: 1,
kb: { tags: [] },
type: "default",
childrenNodes: [
{
id: "0GX5HYp7e0H1zTXha38j-DOvFGoDOYATSAzb41y9o",
source: "0GX5HYp7e0H1zTXha38j",
target: "DOvFGoDOYATSAzb41y9o",
label: "",
type: "editable",
className: "",
animated: true,
style: {
stroke: "#666",
strokeWidth: 2,
strokeDasharray: "5 5",
},
nodeId: "DOvFGoDOYATSAzb41y9o",
condition: "",
},
],
},
},
width: 300,
dragging: false,
className: "",
selected: false,
position: { y: 340, x: 210 },
height: 200,
measured: { width: 300, height: 200 },
type: "default",
},
},
{
toolsIds: [],
childrenNodes: [],
name: "Node DOvFG",
description: "",
instructions: "",
id: "DOvFGoDOYATSAzb41y9o",
isGlobal: false,
llmConfig: { temperature: 0.5, modelId: exports.defaultModelForAllTemplates, maxTokens: 2024 },
toolUseBias: 0.5,
autoRerouter: { level: 1, enabled: false },
rf: {
selected: false,
dragging: false,
height: 200,
width: 300,
id: "DOvFGoDOYATSAzb41y9o",
type: "end",
measured: { height: 60, width: 300 },
className: "",
position: { x: 190, y: 1580 },
data: {
llmNode: {
toolsIds: [],
childrenNodes: [],
name: "Node DOvFG",
description: "",
instructions: "",
id: "DOvFGoDOYATSAzb41y9o",
isGlobal: false,
llmConfig: { temperature: 0.5, modelId: exports.defaultModelForAllTemplates, maxTokens: 2024 },
toolUseBias: 0.5,
autoRerouter: { level: 1, enabled: false },
depth: 2,
type: "end",
},
},
},
depth: 2,
type: "end",
},
{
toolsIds: [],
name: "Node YWhIW",
description: "",
instructions: "set the date to variable {{var:ZharG7x4Do7JXP3TxbJl}} and ask the user for his email to set it to variable {{var:420fsgGZwUCBYz15a2QF}}adsad ",
id: "YWhIWcvah1C4cc4Q3OTY",
isGlobal: false,
llmConfig: { temperature: 0.5, modelId: exports.defaultModelForAllTemplates, maxTokens: 2024 },
toolUseBias: 0.5,
autoRerouter: { level: 1, enabled: false },
childrenNodes: [
{
id: "YWhIWcvah1C4cc4Q3OTY-2eEAuvabOtrIoA91O6ws",
source: "YWhIWcvah1C4cc4Q3OTY",
target: "2eEAuvabOtrIoA91O6ws",
label: "if {{var:420fsgGZwUCBYz15a2QF}} an {{var:ZharG7x4Do7JXP3TxbJl}} exist ",
type: "editable",
className: "",
animated: true,
style: { stroke: "#666", strokeWidth: 2, strokeDasharray: "5 5" },
nodeId: "2eEAuvabOtrIoA91O6ws",
condition: "if {{var:420fsgGZwUCBYz15a2QF}} an {{var:ZharG7x4Do7JXP3TxbJl}} exist ",
},
],
depth: 2,
rf: {
measured: { height: 200, width: 300 },
className: "",
height: 200,
id: "YWhIWcvah1C4cc4Q3OTY",
selected: false,
dragging: false,
type: "default",
data: {
llmNode: {
toolsIds: [],
name: "Node YWhIW",
description: "",
instructions: "set the date to variable {{var:ZharG7x4Do7JXP3TxbJl}} and ask the user for his email to set it to variable {{var:420fsgGZwUCBYz15a2QF}}adsad ",
id: "YWhIWcvah1C4cc4Q3OTY",
isGlobal: false,
llmConfig: { temperature: 0.5, modelId: exports.defaultModelForAllTemplates, maxTokens: 2024 },
toolUseBias: 0.5,
autoRerouter: { level: 1, enabled: false },
childrenNodes: [
{
id: "YWhIWcvah1C4cc4Q3OTY-2eEAuvabOtrIoA91O6ws",
source: "YWhIWcvah1C4cc4Q3OTY",
target: "2eEAuvabOtrIoA91O6ws",
label: "if {{var:420fsgGZwUCBYz15a2QF}} an {{var:ZharG7x4Do7JXP3TxbJl}} exist ",
type: "editable",
className: "",
animated: true,
style: {
stroke: "#666",
strokeWidth: 2,
strokeDasharray: "5 5",
},
nodeId: "2eEAuvabOtrIoA91O6ws",
condition: "if {{var:420fsgGZwUCBYz15a2QF}} an {{var:ZharG7x4Do7JXP3TxbJl}} exist ",
},
],
depth: 2,
type: "default",
kb: { tags: [] },
},
},
width: 300,
position: { y: 650, x: -300 },
},
type: "default",
kb: { tags: [] },
},
{
name: "Node 2eEAu",
description: "",
instructions: "book date using tool {{tool:quntK1I3HtklDbNNeoOH}} and confirm with the user",
id: "2eEAuvabOtrIoA91O6ws",
isGlobal: false,
llmConfig: { maxTokens: 2024, modelId: exports.defaultModelForAllTemplates, temperature: 0.5 },
toolUseBias: 0.5,
autoRerouter: { enabled: false, level: 1 },
toolsIds: ["quntK1I3HtklDbNNeoOH"],
type: "default",
rf: {
height: 200,
data: {
llmNode: {
name: "Node 2eEAu",
description: "",
instructions: "book date using tool {{tool:quntK1I3HtklDbNNeoOH}} and confirm with the user",
id: "2eEAuvabOtrIoA91O6ws",
isGlobal: false,
llmConfig: { maxTokens: 2024, modelId: exports.defaultModelForAllTemplates, temperature: 0.5 },
toolUseBias: 0.5,
autoRerouter: { enabled: false, level: 1 },
toolsIds: ["quntK1I3HtklDbNNeoOH"],
type: "default",
childrenNodes: [
{
id: "2eEAuvabOtrIoA91O6ws-DOvFGoDOYATSAzb41y9o",
source: "2eEAuvabOtrIoA91O6ws",
target: "DOvFGoDOYATSAzb41y9o",
label: "if date booked",
type: "editable",
className: "",
animated: true,
style: {
stroke: "#666",
strokeWidth: 2,
strokeDasharray: "5 5",
},
nodeId: "DOvFGoDOYATSAzb41y9o",
condition: "if date booked",
},
],
depth: 3,
},
},
selected: false,
id: "2eEAuvabOtrIoA91O6ws",
measured: { width: 300, height: 200 },
type: "default",
width: 300,
position: { x: -280, y: 1010 },
dragging: false,
className: "",
},
childrenNodes: [
{
id: "2eEAuvabOtrIoA91O6ws-DOvFGoDOYATSAzb41y9o",
source: "2eEAuvabOtrIoA91O6ws",
target: "DOvFGoDOYATSAzb41y9o",
label: "if date booked",
type: "editable",
className: "",
animated: true,
style: { stroke: "#666", strokeWidth: 2, strokeDasharray: "5 5" },
nodeId: "DOvFGoDOYATSAzb41y9o",
condition: "if date booked",
},
],
depth: 3,
},
],
tools: [
{
agentId: "a6zdbhfkso2vwz0d",
serverUrl: "https://hook.us1.make.com/g382qmvsyijgkgjs8mccrj37en63moza",
name: "book_date",
description: "using {{var:420fsgGZwUCBYz15a2QF}} and {{var:ZharG7x4Do7JXP3TxbJl}} book the date",
id: "quntK1I3HtklDbNNeoOH",
userId: "v0yyZQYXmNb2Ni9N9j10PYvvT2U2",
variablesIds: [
"420fsgGZwUCBYz15a2QF",
"ZharG7x4Do7JXP3TxbJl",
"R1qt4lqoeWEL3pKCNqzl",
],
},
{
agentId: "a6zdbhfkso2vwz0d",
variablesIds: ["R1qt4lqoeWEL3pKCNqzl"],
serverUrl: "https://hook.us1.make.com/g382qmvsyijgkgjs8mccrj37en63moza",
name: "get_busy_dates",
id: "yd57oWSDf2Q39g9pHsuE",
userId: "v0yyZQYXmNb2Ni9N9j10PYvvT2U2",
description: "get the not available dates hook",
},
],
variables: [
{
agentId: "a6zdbhfkso2vwz0d",
id: "420fsgGZwUCBYz15a2QF",
userId: "v0yyZQYXmNb2Ni9N9j10PYvvT2U2",
key: "email",
required: true,
},
{
agentId: "a6zdbhfkso2vwz0d",
defaultValue: "10",
id: "R1qt4lqoeWEL3pKCNqzl",
type: "number",
userId: "v0yyZQYXmNb2Ni9N9j10PYvvT2U2",
key: "span",
required: true,
isEnv: true,
},
{
agentId: "a6zdbhfkso2vwz0d",
description: 'date format like "2024-12-17T08:00:00.000Z" ',
id: "ZharG7x4Do7JXP3TxbJl",
userId: "v0yyZQYXmNb2Ni9N9j10PYvvT2U2",
type: "",
required: true,
key: "date",
},
],
agentData: {
enableGeoAnalytics: true,
vg_systemPrompt: "You are a friendly, reliable, genius customer-care bot delivering efficient solutions from our comprehensive knowledge base.",
internal: { accountCreationConfig: "v2" },
chatBgURL: "",
branding: "",
description: "Your virtual assistant.",
vg_defaultModel: exports.defaultModelForAllTemplates,
title: "Make appointment",
enableNodes: true,
vgOptions: { maxChunkSize: 2424 },
autoStartWidget: false,
vg_initPrompt: 'Greet the user with "Hi there let\'s get you started!" and in the same message showcase to them that you can write organized markdown including lists, bold text, italic etc.\n\nThen use the showcase the following images in a carousel:\nImages:\n\n\n\n\nThen show the infamous Rick Astely video in an iFrame after mentioning that you could render youtube videos just like you will do for this one:\n<iframe width="786" height="442" src="https://www.youtube.com/embed/dQw4w9WgXcQ" title="Rick Astley - Never Gonna Give You Up (Official Music Video)" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>\n\nAs a final message tell the user to head to the prompt tab on Convocore to change the prompts which is the platform that is powering you!',
UIhandoffSubtitle: "We reply within minutes ⚡",
maxTokensUsage: 0,
recordChatHistory: true,
agentPlatform: "vg",
theme: "blue-light",
SECRET_API_KEY: "",
ID: "a6zdbhfkso2vwz0d",
proactiveMessage: "👋 Hi, how can I help you today?",
vg_initMessages: [
"Hi, I am your virtual assistant, how can I help you today?",
],
messageDelayMS: 1000,
lang: "en",
roundedImageURL: "https://vg-bunny-cdn.b-cdn.net/branding/final512x512-convocore.png",
vg_kbDefaultDimension: 1536,
syncBrowser: false,
ownerID: "v0yyZQYXmNb2Ni9N9j10PYvvT2U2",
vg_temperature: 0.5,
userId: "v0yyZQYXmNb2Ni9N9j10PYvvT2U2",
vg_enableUIEngine: true,
voiceConfig: {
config: {
recordAudio: true,
enableWebCalling: true,
backgroundNoise: "restaurant",
},
},
UIhandoffTitle: "Support Team",
listenForUrlChanges: false,
vg_maxTokens: 1024,
scrollAnimation: true,
id: "a6zdbhfkso2vwz0d",
nodes: [
{
toolsIds: [],
name: "Start",
description: "This is the start node of the LLM chain.",
instructions: "Greet the user warmly and tell him that you are ready to book an appointment",
id: "__start__",
isGlobal: false,
llmConfig: { modelId: exports.defaultModelForAllTemplates, temperature: 0.7, maxTokens: 2024 },
toolUseBias: 0.5,
autoRerouter: { enabled: false, level: 1 },
depth: 0,
childrenNodes: [
{
id: "__start__-uBuRMo2OCO6TlGrJ4bRN",
source: "__start__",
target: "uBuRMo2OCO6TlGrJ4bRN",
label: "if user want to book an appointment",
type: "editable",
className: "",
animated: true,
style: { stroke: "#666", strokeWidth: 2, strokeDasharray: "5 5" },
nodeId: "uBuRMo2OCO6TlGrJ4bRN",
condition: "if user want to book an appointment",
},
{
id: "__start__-0GX5HYp7e0H1zTXha38j",
source: "__start__",
target: "0GX5HYp7e0H1zTXha38j",
label: "if user want to book an appointment edfsfd",
type: "editable",
className: "",
animated: true,
style: { stroke: "#666", strokeWidth: 2, strokeDasharray: "5 5" },
nodeId: "0GX5HYp7e0H1zTXha38j",
condition: "if user want to book an appointment edfsfd",
},
],
kb: { tags: [] },
type: "start",
rf: {
height: 200,
data: {
llmNode: {
toolsIds: [],
name: "Start",
description: "This is the start node of the LLM chain.",
instructions: "Greet the user warmly and tell him that you are ready to book an appointment",
id: "__start__",
isGlobal: false,
llmConfig: {
modelId: exports.defaultModelForAllTemplates,
temperature: 0.7,
maxTokens: 2024,
},
toolUseBias: 0.5,
autoRerouter: { enabled: false, level: 1 },
depth: 0,
childrenNodes: [
{
id: "__start__-uBuRMo2OCO6TlGrJ4bRN",
source: "__start__",
target: "uBuRMo2OCO6TlGrJ4bRN",
label: "if user want to book an appointment",
type: "editable",
className: "",
animated: true,
style: {
stroke: "#666",
strokeWidth: 2,
strokeDasharray: "5 5",
},
nodeId: "uBuRMo2OCO6TlGrJ4bRN",
condition: "if user want to book an appointment",
},
{
id: "__start__-0GX5HYp7e0H1zTXha38j",
source: "__start__",
target: "0GX5HYp7e0H1zTXha38j",
label: "if user want to book an appointment edfsfd",
type: "editable",
className: "",
animated: true,
style: {
stroke: "#666",
strokeWidth: 2,
strokeDasharray: "5 5",
},
nodeId: "0GX5HYp7e0H1zTXha38j",
condition: "if user want to book an appointment edfsfd",
},
],
kb: { tags: [] },
type: "start",
},
},
id: "__start__",
width: 300,
selected: true,
type: "start",
position: { x: 0, y: 0 },
className: "",
measured: { width: 300, height: 200 },
},
},
{
name: "Node uBuRM",
description: "",
instructions: "**get** the not available dates {{tool:yd57oWSDf2Q39g9pHsuE}} , t_ell_ the user the available dates, from 9am to 5pm other than the not available datesand test ",
id: "uBuRMo2OCO6TlGrJ4bRN",
isGlobal: false,
llmConfig: { temperature: 0.5, modelId: exports.defaultModelForAllTemplates, maxTokens: 2024 },
toolUseBias: 0.5,
autoRerouter: { level: 1, enabled: false },
toolsIds: ["yd57oWSDf2Q39g9pHsuE"],
childrenNodes: [
{
id: "uBuRMo2OCO6TlGrJ4bRN-YWhIWcvah1C4cc4Q3OTY",
source: "uBuRMo2OCO6TlGrJ4bRN",
target: "YWhIWcvah1C4cc4Q3OTY",
label: "if user picked a date ",
type: "editable",
className: "",
animated: true,
style: { stroke: "#666", strokeWidth: 2, strokeDasharray: "5 5" },
nodeId: "YWhIWcvah1C4cc4Q3OTY",
condition: "if user picked a date ",
},
],
kb: { tags: [] },
type: "default",
depth: 1,
rf: {
data: {
llmNode: {
name: "Node uBuRM",
description: "",
instructions: "**get** the not available dates {{tool:yd57oWSDf2Q39g9pHsuE}} , t_ell_ the user the available dates, from 9am to 5pm other than the not available datesand test ",
id: "uBuRMo2OCO6TlGrJ4bRN",
isGlobal: false,
llmConfig: {
temperature: 0.5,