``` { "vapiAssistantData": { "id": "f964e8d0-2923-41ab-875b-1d2a2abbbf5d", "orgId": "218761d7-4a06-4459-9fdc-d4c0a66490d2", "name": "2-Bot Pre Event", "voice": { "voiceId": "th-TH-NiwatNeural", "provider": "azure" }, "createdAt": "2025-05-19T05:23:38.989Z", "updatedAt": "2025-07-11T03:16:02.547Z", "model": { "model": "gpt-4o-mini", "tools": [ { "type": "transferCall", "async": false, "messages": [ { "type": "request-start", "content": "hello", "conditions": [] }, { "type": "request-complete", "content": "Bye", "conditions": [] }, { "type": "request-failed", "content": "sorry", "conditions": [] }, { "type": "request-response-delayed", "content": "wait", "conditions": [] } ], "destinations": [ { "type": "number", "number": "+61450073988", "message": "this is transfer tool", "callerId": "", "extension": "123", "description": "" } ] } ], "toolIds": [], "messages": [ { "role": "system", "content": "#Current Time in EST\n{{\"now\" | date: \"%A, %B %d, %Y, %I:%M %p\", \"America/Los_Angeles\"}}\n\n\n#Role\nYou are a helpful, polite appointment-setting agent.\n\n#Objectivehttps://spicychat.ai/chat/7f3f69f7-c3be-4e32-bdf7-ca6214930804/ce13581a-d819-4a2b-a36d-3973581309c6\nYour goal is to successfully book an appointment for the user.\n\n#Required Information\nName of the person booking the appointment.\n\n#Tools\nUse getOpenSlots to check availability.\n\nUse bookAppointment to confirm the booking.\n\n#Instructions\nConfirm the user’s name before proceeding with any booking.\n\nAlways verify availability before confirming a time using getOpenSlots.\n\nIf the requested time is unavailable, suggest the 2 nearest available time slots.\n\nWhen stating times:\n\nUse natural language (e.g., “3PM” or “Monday at 9 in the morning”).\n\nDo not mention the year.\n\n#Example Flow\nAsk for the user's name if not already provided.\n\nAsk for their preferred date/time.\n\nUse getOpenSlots to check availability.\n\nIf the slot is available, confirm and book using bookAppointment.\n\nIf not, offer the 2 closest available options." } ], "provider": "openai", "maxTokens": 250, "temperature": 0.6, "numFastTurns": 1, "knowledgeBaseId": "66fc5ee0-5f55-49f1-8bda-c30c6c2e961c", "emotionRecognitionEnabled": true }, "firstMessage": "Thank you for calling Wellness Partners. This is Riley, your scheduling assistant. How may I help you today?", "voicemailMessage": "Hey, can you please call back?", "endCallFunctionEnabled": true, "endCallMessage": "Thank you for calling. Goodbye!", "transcriber": { "model": "nova-2", "language": "en", "provider": "deepgram" }, "silenceTimeoutSeconds": 30, "serverMessages": [ "end-of-call-report" ], "endCallPhrases": [], "maxDurationSeconds": 1800, "metadata": { "type": "outbound", "teamId": 2 }, "backgroundSound": "office", "firstMessageMode": "assistant-speaks-first", "analysisPlan": { "summaryPlan": { "enabled": true, "messages": [ { "content": "Your primary purpose is to efficiently schedule, confirm, reschedule, or cancel appointments while providing clear information about services and ensuring a smooth booking experience.\n\nSummarise:\n1) For new patients: full name, date of birth, and a phone number \n2) For returning patients: \"full name and date of birth\n\nEnsure to also note next step / action item and any concern mentioned by caller so human agent can follow through.", "role": "system" } ], "timeoutSeconds": 5 }, "structuredDataPlan": { "enabled": true, "schema": { "type": "object", "properties": { "Full Name": { "type": "string" }, "New Patient": { "description": "Yes or No", "type": "string" }, "Phone Number": { "type": "number" }, "Date of Birth": { "type": "string" } } }, "messages": [ { "content": "- For new patients: \"I'll need to collect some basic information. Could I have your full name, date of birth, and a phone number where we can reach you?\" - For returning patients: \"To access your record, may I have your full name and date of birth?\"", "role": "system" } ], "timeoutSeconds": 5 }, "successEvaluationPlan": { "enabled": true, "rubric": "NumericScale", "messages": [ { "content": "This call is successful when bot is able to confirm whether the caller is a new or current patient.", "role": "system" } ], "timeoutSeconds": 5 } }, "voicemailDetection": { "provider": "twilio" }, "artifactPlan": { "transcriptPlan": { "enabled": true, "assistantName": "2-Bot Pre Event", "userName": "Ian" }, "recordingEnabled": true, "recordingFormat": "mp3", "recordingPath": "recordingPath", "videoRecordingEnabled": false }, "messagePlan": { "idleMessages": [], "idleMessageMaxSpokenCount": 3, "idleTimeoutSeconds": 7.5 }, "startSpeakingPlan": { "waitSeconds": 0.4, "transcriptionEndpointingPlan": { "onPunctuationSeconds": 0.1, "onNoPunctuationSeconds": 1.5, "onNumberSeconds": 0.5 }, "smartEndpointingEnabled": true, "customEndpointingRules": [ { "type": "assistant", "regex": "regex", "timeoutSeconds": 1.1 } ] }, "stopSpeakingPlan": { "numWords": 0, "voiceSeconds": 0.2, "backoffSeconds": 1, "acknowledgementPhrases": [ "i understand", ], "interruptionPhrases": [ "stop" ] }, "server": { "url": "https://staging-reporting.voxhero.com.au/api/vapi/webhook", "timeoutSeconds": 2 }, "keypadInputPlan": { "enabled": false, "timeoutSeconds": 2, "delimiters": [] }, "backgroundSpeechDenoisingPlan": { "smartDenoisingPlan": { "enabled": true } }, "isServerUrlSecretSet": false } } ```