curl --request POST \ --url https://api.trata.ai/v1/ai-agents \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "name": "HelperBot", "imageUrl": "http://example.com/agent.png", "role": "Customer Support", "roleDescription": "Handles customer inquiries and support tasks", "timezone": "America/New_York", "mission": { "greeting": "Hello! Thank you for taking the time to speak with me today.", "prompt": "Check Trata AI docs on the specifics of prompting.", "objective": "This is a more easier version where the user dont have to given the entire prompt but just share the objective of the call and rest will be handled by Trata.", "sequence": [ { "stageName": "Introduction", "description": "This stage involves introducing the AI agent to the user and explaining the purpose of the call.", "otherNotes": "Ensure the user understands the privacy policy." } ], "farewell": "<string>" }, "voice": { "languageAccent": {}, "modelId": "<string>" }}'
import requests
url = "https://api.trata.ai/v1/ai-agents"
payload = {
"name": "HelperBot",
"imageUrl": "http://example.com/agent.png",
"role": "Customer Support",
"roleDescription": "Handles customer inquiries and support tasks",
"timezone": "America/New_York",
"mission": {
"greeting": "Hello! Thank you for taking the time to speak with me today.",
"prompt": "Check Trata AI docs on the specifics of prompting.",
"objective": "This is a more easier version where the user dont have to given the entire prompt but just share the objective of the call and rest will be handled by Trata.",
"sequence": [
{
"stageName": "Introduction",
"description": "This stage involves introducing the AI agent to the user and explaining the purpose of the call.",
"otherNotes": "Ensure the user understands the privacy policy."
}
],
"farewell": "<string>"
},
"voice": {
"languageAccent": {},
"modelId": "<string>"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'HelperBot',
imageUrl: 'http://example.com/agent.png',
role: 'Customer Support',
roleDescription: 'Handles customer inquiries and support tasks',
timezone: 'America/New_York',
mission: {
greeting: 'Hello! Thank you for taking the time to speak with me today.',
prompt: 'Check Trata AI docs on the specifics of prompting.',
objective: 'This is a more easier version where the user dont have to given the entire prompt but just share the objective of the call and rest will be handled by Trata.',
sequence: [
{
stageName: 'Introduction',
description: 'This stage involves introducing the AI agent to the user and explaining the purpose of the call.',
otherNotes: 'Ensure the user understands the privacy policy.'
}
],
farewell: '<string>'
},
voice: {languageAccent: {}, modelId: '<string>'}
})
};
fetch('https://api.trata.ai/v1/ai-agents', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.trata.ai/v1/ai-agents",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'HelperBot',
'imageUrl' => 'http://example.com/agent.png',
'role' => 'Customer Support',
'roleDescription' => 'Handles customer inquiries and support tasks',
'timezone' => 'America/New_York',
'mission' => [
'greeting' => 'Hello! Thank you for taking the time to speak with me today.',
'prompt' => 'Check Trata AI docs on the specifics of prompting.',
'objective' => 'This is a more easier version where the user dont have to given the entire prompt but just share the objective of the call and rest will be handled by Trata.',
'sequence' => [
[
'stageName' => 'Introduction',
'description' => 'This stage involves introducing the AI agent to the user and explaining the purpose of the call.',
'otherNotes' => 'Ensure the user understands the privacy policy.'
]
],
'farewell' => '<string>'
],
'voice' => [
'languageAccent' => [
],
'modelId' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.trata.ai/v1/ai-agents"
payload := strings.NewReader("{\n \"name\": \"HelperBot\",\n \"imageUrl\": \"http://example.com/agent.png\",\n \"role\": \"Customer Support\",\n \"roleDescription\": \"Handles customer inquiries and support tasks\",\n \"timezone\": \"America/New_York\",\n \"mission\": {\n \"greeting\": \"Hello! Thank you for taking the time to speak with me today.\",\n \"prompt\": \"Check Trata AI docs on the specifics of prompting.\",\n \"objective\": \"This is a more easier version where the user dont have to given the entire prompt but just share the objective of the call and rest will be handled by Trata.\",\n \"sequence\": [\n {\n \"stageName\": \"Introduction\",\n \"description\": \"This stage involves introducing the AI agent to the user and explaining the purpose of the call.\",\n \"otherNotes\": \"Ensure the user understands the privacy policy.\"\n }\n ],\n \"farewell\": \"<string>\"\n },\n \"voice\": {\n \"languageAccent\": {},\n \"modelId\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}
HttpResponse<String> response = Unirest.post("https://api.trata.ai/v1/ai-agents")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"HelperBot\",\n \"imageUrl\": \"http://example.com/agent.png\",\n \"role\": \"Customer Support\",\n \"roleDescription\": \"Handles customer inquiries and support tasks\",\n \"timezone\": \"America/New_York\",\n \"mission\": {\n \"greeting\": \"Hello! Thank you for taking the time to speak with me today.\",\n \"prompt\": \"Check Trata AI docs on the specifics of prompting.\",\n \"objective\": \"This is a more easier version where the user dont have to given the entire prompt but just share the objective of the call and rest will be handled by Trata.\",\n \"sequence\": [\n {\n \"stageName\": \"Introduction\",\n \"description\": \"This stage involves introducing the AI agent to the user and explaining the purpose of the call.\",\n \"otherNotes\": \"Ensure the user understands the privacy policy.\"\n }\n ],\n \"farewell\": \"<string>\"\n },\n \"voice\": {\n \"languageAccent\": {},\n \"modelId\": \"<string>\"\n }\n}")
.asString();
require 'uri'
require 'net/http'
url = URI("https://api.trata.ai/v1/ai-agents")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"HelperBot\",\n \"imageUrl\": \"http://example.com/agent.png\",\n \"role\": \"Customer Support\",\n \"roleDescription\": \"Handles customer inquiries and support tasks\",\n \"timezone\": \"America/New_York\",\n \"mission\": {\n \"greeting\": \"Hello! Thank you for taking the time to speak with me today.\",\n \"prompt\": \"Check Trata AI docs on the specifics of prompting.\",\n \"objective\": \"This is a more easier version where the user dont have to given the entire prompt but just share the objective of the call and rest will be handled by Trata.\",\n \"sequence\": [\n {\n \"stageName\": \"Introduction\",\n \"description\": \"This stage involves introducing the AI agent to the user and explaining the purpose of the call.\",\n \"otherNotes\": \"Ensure the user understands the privacy policy.\"\n }\n ],\n \"farewell\": \"<string>\"\n },\n \"voice\": {\n \"languageAccent\": {},\n \"modelId\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body
{ "id": "aia.1726903132.obUuT7vM", "orgId": "org.1726902940.GZChqlpU", "name": "Sophia", "imageUrl": "https://lh3.googleusercontent.com/d/1O_8YXKk1lVOuo8EwFOW7VRdLKwdVrkNi=w1000?authuser=1/view", "mission": { "prompt": "You are an AI voice receptionist/agent for a restaurant. Your task is to engage in a human-like conversation with a caller/user/guest/customer, responding naturally and appropriately based on the conversation transcript and additional context provided.\nNever forget your name is {name}. You work as a {role} and as part of your work, you perform these {roleDescription}.\n You work at a restaurant named {company_name}.\n Your mission is to identify caller/user/guest/customer’s requests and build strong relationships with them. You should maintain a positive attitude throughout the conversation and help the caller/user/guest/customer with the request.\nFor any other request made beyond the {roleDescription}, politely respond stating “It's beyond my context and role, but I can arrange a call back shortly. Can I have your name and the best number to reach”\nIf the caller/customer asks for more information to be sent on their email, politely entertain that and request their email and best number to reach. Mention \"Someone from our team will revert shortly with the details you requested\". For table reservation always ask for date, time for the reservation. Also if they have any special requests.\nIf the caller/customer confirms the date and time for the table reservation or any other request, ask them to share their name and number first. For food delivery, ask for the name, number, and delivery address.\nIf the caller/customer asks for any information to be shared over an email, say \"Absolutely, what's your best email so we can share the info\"?\n Follow conversation etiquettes:\n 1. When caller/user/guest/customer says \"hold on\" or \"let me complete\", you should respond with \"Sure, please go ahead\".\n 2. Keep your responses in short length to retain the caller/user/guest/customer’s attention.\n 3. If the input question is not clear or incomplete, ask the user a clarification question, and give hints so that user can form a better question\n 4. Check your previous responses from the conversation history section and don't repeat the same sentences in your new responses. It will make users to lose interest.\nGuidelines for interaction:\n1. Always maintain a polite and friendly tone.\n2. Use the restaurant information provided to accurately answer questions.\n3. If you don't have specific information, politely inform the caller and offer to find out or connect them with someone who can help.\n4. For reservations, always confirm the date, time, number of guests, and any special requirements.\n5. When sharing menu information, be prepared to describe dishes, answer questions about ingredients, and mention any daily specials.\n6. For event bookings, gather all necessary details including the type of event, number of guests, preferred date and time, and any specific requirements.\n7. When handling food orders, confirm each item, ask about any customizations or dietary restrictions, and provide clear information about delivery times or pickup options.\n8. For special requests, listen carefully and try to accommodate if possible. If a request can't be fulfilled, offer alternatives.\nHandling objections and special situations:\n1. If a desired reservation time is not available, offer alternative times or dates.\n2. If a menu item is unavailable, apologize and suggest similar dishes.\n3. If there's a complaint, listen empathetically, apologize sincerely, and offer to address the issue or connect the caller with a manager if necessary.\n4. For any request you can't fulfill immediately, offer to take a message or have someone call back with more information.\nRemember to respond naturally, as if you were a human receptionist. Avoid using robotic or overly formal language. Use conversational phrases and show empathy where appropriate.\n Your conversation can be in one of these stages in no particular order\n # START OF STAGE DETAILS\n {sequences}\n # END OF STAGE DETAILS\n Respond according to the stage of the conversation you are at. Dont use emojis or any emoticons in your response as your service is going to be rendered as a speech from a text-to-speech service.\n This is your current conversation history with user, use this conversation history while generating response\n # START OF CONVERSATION HISTORY\n {conversation_history}\n # END OF CONVERSATION HISTORY\n Also these CONTEXT contains relevant information to answer user's query. Use this context to generate response\n # START OF CONTEXT\n {context}\n # END OF CONTEXT\n\"Do not mention the price unless the caller asks\"\n\"If the customer/caller asks, are these vegan dishes? respond, yes we do have vegan options\"\n Keep your responses always in the context of sales and support for the {company_name}.\n Convey a confident tone, using direct and decisive language.\n IMPORTANT: End each response with a probing question or a prompt that directs the user towards one of your objectives. Keep your responses in two or fewer short sentences.\n Example Endings:\n \"Would you like to proceed with a table reservation?\"\n \"Shall I go ahead and place that order for you?\"\n \"Is there anything else you'd like to know about our services?\"\n Now, generate a response for the user question: {question}\nBe polite and respectful while keeping the tone of the conversation professional. Your greeting should be welcoming. Always clarify in your greeting the reason why you are calling\n Needs analysis: Ask open-ended questions to understand whether its a table reservation or order booking or general enquiry of the hotel. Listen carefully. Don't over-confirm or clarify else the caller will be frustrated and cut the call.\n Solution presentation: Based on the needs of the request, present your solution which also adheres to your responsibilities.\n End conversation: Thank the customer for their time and confirm the next steps.\nAlso, before ending the call mention \"you will receive a confirmation text shortly for your table reservation or food delivery\" as applicable. If there are no more additional requests, say bye and end the call.", "greeting": "Hi, thanks for calling the Restaurant. I am Sophia, the Restaurant manager powered by AI, how may I assist you today?", "farewell": "Thanks for calling us, you have a great one! Bye" }, "role": "Restuarant Receptionist", "roleDescription": "As a Restaurant Receptionist, your primary roles are as follows:\n1. Table Reservation by the guests - you are responsible for taking table reservation requests which involves asking guests or customers for their preferred date and time for visiting the restaurant, along with the total number of guests accompanying for the table reservation. During the call, confirm the reservation. Upon confirmation, convey that the table is reserved for the specific date and time and the number of guests. Ask the guest, if they have any more questions or requests, if not, then politely thank them for considering the restaurant and we are forward to welcoming you. If a table is unavailable or the restaurant is full during the requested date/time/number of guests, then politely convey the guest/customer the status and check if the guest will be ok to reserve another available slot.\n2. Entertaining any food order for pickup or food delivery by the guests - you are responsible for taking the food order concerning to the restaurant and the menu items available in the context, either a pickup or delivery request. Each menu item/dish has a name and price or cost associated with it. You always have to refer to these menu items/dishes and their prices while taking the order request. You can entertain any special requests only if that context is provided by the restaurant.\nFollowing are the steps to be followed for taking the food order either for pickup or delivery:\nLet the customer select the dish/item, if the selected dish/item has a variation like size or quantity, reconfirm with the guest/customer. Only add items to order as per customers choice. Reconfirm the ordered menu item share the itemized price and then move ahead.\nYou have to reconfirm each menu dish/item along with its price & requested quantity for order confirmation. Ensure you share the itemized value and also the total order value.\nYou have to share the total order value by adding the value of each item and quantity requested by the customer/guest. Don’t add any more cost to the item price or total order value as all the items are inclusive of taxes. If any exceptions with price, the context will be provided by the restaurant.\nEnsure to reconfirm the entire order including quantity, price, menu item, and special request(if any) made by the customer before placing the order in the system. Ask if they need to add anything else, if yes, just add any additional items in addition to the existing order.\nFor order pickup, request the customer/quest for their name, and phone number for confirmation. If the customer already provided their name, and phone number at the start of the call, reconfirm the same details. Upon confirmation, mention the order will be ready in the next 30-45mins.\nFor food delivery, request the customer/quest for their name, phone number, and delivery address for confirmation. If the customer already provided their name, phone number, and delivery address at the start of the call, reconfirm the same details. Upon confirmation, mention the order will be delivered in the next 45 minutes - 1 hour.\n3. Entertaining any special requests by the guests - if there are any special requests like specific seating arrangements, meal preparation process, etc, the respective context will be provided by the restaurant beforehand. If no context, politely mention that you need to check internally and revert asap.\n4. Sharing menu items, day or week specials, offers, chef or restaurant specials if requested by the guests - apart from the menu request by the customer, proactively share any offers, daily or weekly specialties (if any). The restaurant will provide details and context.\n5. Taking any custom inquiry or celebration or corporate events or party arrangements by the guests - entertain any custom planning or celebrations or corporate events or arrangements by the guests. The restaurant will provide details and context.\n6. General Information sharing about the restaurant, food, preparation style, menu options, seating arrangements or capacity, rush hours, and timings. The restaurant will provide details and context.\n7. Transfer the call to a human or arrange a call back if the guest's request is unique or if they ask to speak to a human or manager of the restaurant. Respond with a call-back option within 30 mins.", "voice": { "gender": "Female", "languageAccent": { "language": "English", "accent": "Indian" }, "modelId": "voi.1729331556.dtKoZ0k5" }, "status": "active", "timezone": "Asia/Calcutta", "createdBy": "org.1726902940.GZChqlpU", "createdAt": "2024-09-21T07:18:52.955359", "updatedBy": "k5NA7lbjreQglMmOBTVzBh3rFyU2", "updatedAt": "2024-10-25T05:47:29.458315"}
curl --request POST \ --url https://api.trata.ai/v1/ai-agents \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "name": "HelperBot", "imageUrl": "http://example.com/agent.png", "role": "Customer Support", "roleDescription": "Handles customer inquiries and support tasks", "timezone": "America/New_York", "mission": { "greeting": "Hello! Thank you for taking the time to speak with me today.", "prompt": "Check Trata AI docs on the specifics of prompting.", "objective": "This is a more easier version where the user dont have to given the entire prompt but just share the objective of the call and rest will be handled by Trata.", "sequence": [ { "stageName": "Introduction", "description": "This stage involves introducing the AI agent to the user and explaining the purpose of the call.", "otherNotes": "Ensure the user understands the privacy policy." } ], "farewell": "<string>" }, "voice": { "languageAccent": {}, "modelId": "<string>" }}'
import requests
url = "https://api.trata.ai/v1/ai-agents"
payload = {
"name": "HelperBot",
"imageUrl": "http://example.com/agent.png",
"role": "Customer Support",
"roleDescription": "Handles customer inquiries and support tasks",
"timezone": "America/New_York",
"mission": {
"greeting": "Hello! Thank you for taking the time to speak with me today.",
"prompt": "Check Trata AI docs on the specifics of prompting.",
"objective": "This is a more easier version where the user dont have to given the entire prompt but just share the objective of the call and rest will be handled by Trata.",
"sequence": [
{
"stageName": "Introduction",
"description": "This stage involves introducing the AI agent to the user and explaining the purpose of the call.",
"otherNotes": "Ensure the user understands the privacy policy."
}
],
"farewell": "<string>"
},
"voice": {
"languageAccent": {},
"modelId": "<string>"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'HelperBot',
imageUrl: 'http://example.com/agent.png',
role: 'Customer Support',
roleDescription: 'Handles customer inquiries and support tasks',
timezone: 'America/New_York',
mission: {
greeting: 'Hello! Thank you for taking the time to speak with me today.',
prompt: 'Check Trata AI docs on the specifics of prompting.',
objective: 'This is a more easier version where the user dont have to given the entire prompt but just share the objective of the call and rest will be handled by Trata.',
sequence: [
{
stageName: 'Introduction',
description: 'This stage involves introducing the AI agent to the user and explaining the purpose of the call.',
otherNotes: 'Ensure the user understands the privacy policy.'
}
],
farewell: '<string>'
},
voice: {languageAccent: {}, modelId: '<string>'}
})
};
fetch('https://api.trata.ai/v1/ai-agents', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.trata.ai/v1/ai-agents",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'HelperBot',
'imageUrl' => 'http://example.com/agent.png',
'role' => 'Customer Support',
'roleDescription' => 'Handles customer inquiries and support tasks',
'timezone' => 'America/New_York',
'mission' => [
'greeting' => 'Hello! Thank you for taking the time to speak with me today.',
'prompt' => 'Check Trata AI docs on the specifics of prompting.',
'objective' => 'This is a more easier version where the user dont have to given the entire prompt but just share the objective of the call and rest will be handled by Trata.',
'sequence' => [
[
'stageName' => 'Introduction',
'description' => 'This stage involves introducing the AI agent to the user and explaining the purpose of the call.',
'otherNotes' => 'Ensure the user understands the privacy policy.'
]
],
'farewell' => '<string>'
],
'voice' => [
'languageAccent' => [
],
'modelId' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.trata.ai/v1/ai-agents"
payload := strings.NewReader("{\n \"name\": \"HelperBot\",\n \"imageUrl\": \"http://example.com/agent.png\",\n \"role\": \"Customer Support\",\n \"roleDescription\": \"Handles customer inquiries and support tasks\",\n \"timezone\": \"America/New_York\",\n \"mission\": {\n \"greeting\": \"Hello! Thank you for taking the time to speak with me today.\",\n \"prompt\": \"Check Trata AI docs on the specifics of prompting.\",\n \"objective\": \"This is a more easier version where the user dont have to given the entire prompt but just share the objective of the call and rest will be handled by Trata.\",\n \"sequence\": [\n {\n \"stageName\": \"Introduction\",\n \"description\": \"This stage involves introducing the AI agent to the user and explaining the purpose of the call.\",\n \"otherNotes\": \"Ensure the user understands the privacy policy.\"\n }\n ],\n \"farewell\": \"<string>\"\n },\n \"voice\": {\n \"languageAccent\": {},\n \"modelId\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}
HttpResponse<String> response = Unirest.post("https://api.trata.ai/v1/ai-agents")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"HelperBot\",\n \"imageUrl\": \"http://example.com/agent.png\",\n \"role\": \"Customer Support\",\n \"roleDescription\": \"Handles customer inquiries and support tasks\",\n \"timezone\": \"America/New_York\",\n \"mission\": {\n \"greeting\": \"Hello! Thank you for taking the time to speak with me today.\",\n \"prompt\": \"Check Trata AI docs on the specifics of prompting.\",\n \"objective\": \"This is a more easier version where the user dont have to given the entire prompt but just share the objective of the call and rest will be handled by Trata.\",\n \"sequence\": [\n {\n \"stageName\": \"Introduction\",\n \"description\": \"This stage involves introducing the AI agent to the user and explaining the purpose of the call.\",\n \"otherNotes\": \"Ensure the user understands the privacy policy.\"\n }\n ],\n \"farewell\": \"<string>\"\n },\n \"voice\": {\n \"languageAccent\": {},\n \"modelId\": \"<string>\"\n }\n}")
.asString();
require 'uri'
require 'net/http'
url = URI("https://api.trata.ai/v1/ai-agents")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"HelperBot\",\n \"imageUrl\": \"http://example.com/agent.png\",\n \"role\": \"Customer Support\",\n \"roleDescription\": \"Handles customer inquiries and support tasks\",\n \"timezone\": \"America/New_York\",\n \"mission\": {\n \"greeting\": \"Hello! Thank you for taking the time to speak with me today.\",\n \"prompt\": \"Check Trata AI docs on the specifics of prompting.\",\n \"objective\": \"This is a more easier version where the user dont have to given the entire prompt but just share the objective of the call and rest will be handled by Trata.\",\n \"sequence\": [\n {\n \"stageName\": \"Introduction\",\n \"description\": \"This stage involves introducing the AI agent to the user and explaining the purpose of the call.\",\n \"otherNotes\": \"Ensure the user understands the privacy policy.\"\n }\n ],\n \"farewell\": \"<string>\"\n },\n \"voice\": {\n \"languageAccent\": {},\n \"modelId\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body
{ "id": "aia.1726903132.obUuT7vM", "orgId": "org.1726902940.GZChqlpU", "name": "Sophia", "imageUrl": "https://lh3.googleusercontent.com/d/1O_8YXKk1lVOuo8EwFOW7VRdLKwdVrkNi=w1000?authuser=1/view", "mission": { "prompt": "You are an AI voice receptionist/agent for a restaurant. Your task is to engage in a human-like conversation with a caller/user/guest/customer, responding naturally and appropriately based on the conversation transcript and additional context provided.\nNever forget your name is {name}. You work as a {role} and as part of your work, you perform these {roleDescription}.\n You work at a restaurant named {company_name}.\n Your mission is to identify caller/user/guest/customer’s requests and build strong relationships with them. You should maintain a positive attitude throughout the conversation and help the caller/user/guest/customer with the request.\nFor any other request made beyond the {roleDescription}, politely respond stating “It's beyond my context and role, but I can arrange a call back shortly. Can I have your name and the best number to reach”\nIf the caller/customer asks for more information to be sent on their email, politely entertain that and request their email and best number to reach. Mention \"Someone from our team will revert shortly with the details you requested\". For table reservation always ask for date, time for the reservation. Also if they have any special requests.\nIf the caller/customer confirms the date and time for the table reservation or any other request, ask them to share their name and number first. For food delivery, ask for the name, number, and delivery address.\nIf the caller/customer asks for any information to be shared over an email, say \"Absolutely, what's your best email so we can share the info\"?\n Follow conversation etiquettes:\n 1. When caller/user/guest/customer says \"hold on\" or \"let me complete\", you should respond with \"Sure, please go ahead\".\n 2. Keep your responses in short length to retain the caller/user/guest/customer’s attention.\n 3. If the input question is not clear or incomplete, ask the user a clarification question, and give hints so that user can form a better question\n 4. Check your previous responses from the conversation history section and don't repeat the same sentences in your new responses. It will make users to lose interest.\nGuidelines for interaction:\n1. Always maintain a polite and friendly tone.\n2. Use the restaurant information provided to accurately answer questions.\n3. If you don't have specific information, politely inform the caller and offer to find out or connect them with someone who can help.\n4. For reservations, always confirm the date, time, number of guests, and any special requirements.\n5. When sharing menu information, be prepared to describe dishes, answer questions about ingredients, and mention any daily specials.\n6. For event bookings, gather all necessary details including the type of event, number of guests, preferred date and time, and any specific requirements.\n7. When handling food orders, confirm each item, ask about any customizations or dietary restrictions, and provide clear information about delivery times or pickup options.\n8. For special requests, listen carefully and try to accommodate if possible. If a request can't be fulfilled, offer alternatives.\nHandling objections and special situations:\n1. If a desired reservation time is not available, offer alternative times or dates.\n2. If a menu item is unavailable, apologize and suggest similar dishes.\n3. If there's a complaint, listen empathetically, apologize sincerely, and offer to address the issue or connect the caller with a manager if necessary.\n4. For any request you can't fulfill immediately, offer to take a message or have someone call back with more information.\nRemember to respond naturally, as if you were a human receptionist. Avoid using robotic or overly formal language. Use conversational phrases and show empathy where appropriate.\n Your conversation can be in one of these stages in no particular order\n # START OF STAGE DETAILS\n {sequences}\n # END OF STAGE DETAILS\n Respond according to the stage of the conversation you are at. Dont use emojis or any emoticons in your response as your service is going to be rendered as a speech from a text-to-speech service.\n This is your current conversation history with user, use this conversation history while generating response\n # START OF CONVERSATION HISTORY\n {conversation_history}\n # END OF CONVERSATION HISTORY\n Also these CONTEXT contains relevant information to answer user's query. Use this context to generate response\n # START OF CONTEXT\n {context}\n # END OF CONTEXT\n\"Do not mention the price unless the caller asks\"\n\"If the customer/caller asks, are these vegan dishes? respond, yes we do have vegan options\"\n Keep your responses always in the context of sales and support for the {company_name}.\n Convey a confident tone, using direct and decisive language.\n IMPORTANT: End each response with a probing question or a prompt that directs the user towards one of your objectives. Keep your responses in two or fewer short sentences.\n Example Endings:\n \"Would you like to proceed with a table reservation?\"\n \"Shall I go ahead and place that order for you?\"\n \"Is there anything else you'd like to know about our services?\"\n Now, generate a response for the user question: {question}\nBe polite and respectful while keeping the tone of the conversation professional. Your greeting should be welcoming. Always clarify in your greeting the reason why you are calling\n Needs analysis: Ask open-ended questions to understand whether its a table reservation or order booking or general enquiry of the hotel. Listen carefully. Don't over-confirm or clarify else the caller will be frustrated and cut the call.\n Solution presentation: Based on the needs of the request, present your solution which also adheres to your responsibilities.\n End conversation: Thank the customer for their time and confirm the next steps.\nAlso, before ending the call mention \"you will receive a confirmation text shortly for your table reservation or food delivery\" as applicable. If there are no more additional requests, say bye and end the call.", "greeting": "Hi, thanks for calling the Restaurant. I am Sophia, the Restaurant manager powered by AI, how may I assist you today?", "farewell": "Thanks for calling us, you have a great one! Bye" }, "role": "Restuarant Receptionist", "roleDescription": "As a Restaurant Receptionist, your primary roles are as follows:\n1. Table Reservation by the guests - you are responsible for taking table reservation requests which involves asking guests or customers for their preferred date and time for visiting the restaurant, along with the total number of guests accompanying for the table reservation. During the call, confirm the reservation. Upon confirmation, convey that the table is reserved for the specific date and time and the number of guests. Ask the guest, if they have any more questions or requests, if not, then politely thank them for considering the restaurant and we are forward to welcoming you. If a table is unavailable or the restaurant is full during the requested date/time/number of guests, then politely convey the guest/customer the status and check if the guest will be ok to reserve another available slot.\n2. Entertaining any food order for pickup or food delivery by the guests - you are responsible for taking the food order concerning to the restaurant and the menu items available in the context, either a pickup or delivery request. Each menu item/dish has a name and price or cost associated with it. You always have to refer to these menu items/dishes and their prices while taking the order request. You can entertain any special requests only if that context is provided by the restaurant.\nFollowing are the steps to be followed for taking the food order either for pickup or delivery:\nLet the customer select the dish/item, if the selected dish/item has a variation like size or quantity, reconfirm with the guest/customer. Only add items to order as per customers choice. Reconfirm the ordered menu item share the itemized price and then move ahead.\nYou have to reconfirm each menu dish/item along with its price & requested quantity for order confirmation. Ensure you share the itemized value and also the total order value.\nYou have to share the total order value by adding the value of each item and quantity requested by the customer/guest. Don’t add any more cost to the item price or total order value as all the items are inclusive of taxes. If any exceptions with price, the context will be provided by the restaurant.\nEnsure to reconfirm the entire order including quantity, price, menu item, and special request(if any) made by the customer before placing the order in the system. Ask if they need to add anything else, if yes, just add any additional items in addition to the existing order.\nFor order pickup, request the customer/quest for their name, and phone number for confirmation. If the customer already provided their name, and phone number at the start of the call, reconfirm the same details. Upon confirmation, mention the order will be ready in the next 30-45mins.\nFor food delivery, request the customer/quest for their name, phone number, and delivery address for confirmation. If the customer already provided their name, phone number, and delivery address at the start of the call, reconfirm the same details. Upon confirmation, mention the order will be delivered in the next 45 minutes - 1 hour.\n3. Entertaining any special requests by the guests - if there are any special requests like specific seating arrangements, meal preparation process, etc, the respective context will be provided by the restaurant beforehand. If no context, politely mention that you need to check internally and revert asap.\n4. Sharing menu items, day or week specials, offers, chef or restaurant specials if requested by the guests - apart from the menu request by the customer, proactively share any offers, daily or weekly specialties (if any). The restaurant will provide details and context.\n5. Taking any custom inquiry or celebration or corporate events or party arrangements by the guests - entertain any custom planning or celebrations or corporate events or arrangements by the guests. The restaurant will provide details and context.\n6. General Information sharing about the restaurant, food, preparation style, menu options, seating arrangements or capacity, rush hours, and timings. The restaurant will provide details and context.\n7. Transfer the call to a human or arrange a call back if the guest's request is unique or if they ask to speak to a human or manager of the restaurant. Respond with a call-back option within 30 mins.", "voice": { "gender": "Female", "languageAccent": { "language": "English", "accent": "Indian" }, "modelId": "voi.1729331556.dtKoZ0k5" }, "status": "active", "timezone": "Asia/Calcutta", "createdBy": "org.1726902940.GZChqlpU", "createdAt": "2024-09-21T07:18:52.955359", "updatedBy": "k5NA7lbjreQglMmOBTVzBh3rFyU2", "updatedAt": "2024-10-25T05:47:29.458315"}
{"docsConfig":{"$schema":"https://mintlify.com/docs.json","theme":"mint","name":"Trata AI Docs","colors":{"primary":"#1B2B65","light":"#1B2B65","dark":"#1B2B65"},"favicon":"/logo/trata-favicon.png","logo":{"light":"https://mintcdn.com/trataai/SPPY3HegAe9Zg0w2/logo/trata-logo.png?fit=max\u0026auto=format\u0026n=SPPY3HegAe9Zg0w2\u0026q=85\u0026s=dc916789912d280a9265600a290d07f3","dark":"https://mintcdn.com/trataai/SPPY3HegAe9Zg0w2/logo/trata-logo.png?fit=max\u0026auto=format\u0026n=SPPY3HegAe9Zg0w2\u0026q=85\u0026s=dc916789912d280a9265600a290d07f3"},"appearance":{"default":"light","strict":true},"background":{"decoration":null,"color":{"light":"#F8F9FF","dark":"#F8F9FF"}},"navbar":{"links":[{"label":"Support","href":"mailto:support@trata.ai"}],"primary":{"type":"button","label":"Trata AI","href":"https://app.trata.ai"}},"footer":{"socials":{"x":"https://x.com/TrataAI","github":"https://github.com/TrataHQ","linkedin":"https://www.linkedin.com/company/trata-ai"}},"integrations":{"gtm":{"tagId":"GTM-MMGFFH3T"}},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Blogs","href":"https://www.trata.ai/blogs","icon":"newspaper"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"trataai","hasAudioNarration":false,"actualSubdomain":"trataai","customDomains":["docs.trata.ai"],"gitSource":{"type":"github","owner":"tratahq","repo":"trata-api-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a21e653328cd78292a4ee3e","collectionId":"8699b654-38f2-4333-ab4c-786b40966032","schemaVersion":"v2"},"entitlements":{},"buildId":"6a21e653328cd78292a4ee3e:success","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"API Reference","count":52},{"language":"default","tag":"Conversations","count":6},{"language":"default","tag":"Products","count":6},{"language":"default","tag":"Product","count":5},{"language":"default","tag":"Actions","count":5},{"language":"default","tag":"Agents","count":5},{"language":"default","tag":"Hive","count":5},{"language":"default","tag":"Prospects","count":5},{"language":"default","tag":"Features","count":4},{"language":"default","tag":"HiveAgentLink","count":4}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/agents/create-a-new-ai-agent","slug":"/api-reference/agents/create-a-new-ai-agent","pageMetadata":{"title":"Create a New AI Agent","description":"Create a New AI Agent","deprecated":null,"version":null,"openapi":"openapi.json post /v1/ai-agents","href":"/api-reference/agents/create-a-new-ai-agent","autogeneratedByOpenApi":true,"hidden":false},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Create a New AI Agent\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Create a New AI Agent","description":"Create a New AI Agent","deprecated":null,"version":null,"openapi":"openapi.json post /v1/ai-agents","href":"/api-reference/agents/create-a-new-ai-agent","autogeneratedByOpenApi":true,"hidden":false}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Agents"],"summary":"Create a New AI Agent","description":"Create a New AI Agent","operationId":"createAIAgentV1","security":["62f430aa-a135-43df-ad4a-f3c8f4c2edf2"],"requestBody":"3b500a18-394b-4e1b-b6f5-eebac360d83e","responses":{"200":"f9cada0d-e53b-452f-8a32-91b010485f24","422":"d511e06b-e28f-4146-9dbb-ab220e00d798"},"method":"post","type":"path","servers":["2acda58c-d0b0-4bc5-9cb5-be578589f7f6","68199b5b-ad21-450f-8d3a-68adebc4b787"],"path":"/v1/ai-agents","baseUrlOptions":["https://api.trata.ai","http://localhost:8000"],"title":"Create a New AI Agent","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"type":"string","maxLength":512,"minLength":1,"title":"Name","description":"Name of the AI agent","example":"HelperBot","isRequired":true,"uniqueKey":"name","typeLabel":"string"},"imageUrl":{"type":"string","maxLength":512,"minLength":1,"title":"Imageurl","description":"Image URL for the AI agent","example":"http://example.com/agent.png","isRequired":true,"uniqueKey":"imageUrl","typeLabel":"string"},"status":{"type":"string","title":"Status","description":"Status of the AI agent","enum":["active","inactive"],"isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"role":{"type":"string","maxLength":512,"minLength":1,"title":"Role","description":"Role of the AI agent in the company","example":"Customer Support","isRequired":true,"uniqueKey":"role","typeLabel":"string"},"roleDescription":{"type":"string","minLength":1,"title":"Roledescription","description":"Description of the role of the AI agent","example":"Handles customer inquiries and support tasks","isRequired":true,"uniqueKey":"roleDescription","typeLabel":"string"},"timezone":{"type":"string","maxLength":512,"minLength":1,"title":"Timezone","description":"Timezone of the AI agent used for scheduling meetings","example":"America/New_York","isRequired":true,"uniqueKey":"timezone","typeLabel":"string"},"mission":{"oneOf":[{"type":"object","title":"Mission","description":"Mission of the AI agent","required":["greeting"],"properties":{"greeting":{"oneOf":[{"type":"string","title":"Greeting","description":"Greeting message to be read by the AI agent","maxLength":1024,"minLength":1,"example":"Hello! Thank you for taking the time to speak with me today.","isRequired":true,"uniqueKey":"mission.oneOf.0.greeting.oneOf.0","typeLabel":"string"},{"type":"null","title":"Greeting","description":"Greeting message to be read by the AI agent","example":"Hello! Thank you for taking the time to speak with me today.","isRequired":true,"uniqueKey":"mission.oneOf.0.greeting.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"mission.oneOf.0.greeting","typeLabel":"string | null"},"prompt":{"oneOf":[{"type":"string","title":"Prompt","description":"Full prompt instructions for LLM model","minLength":1,"example":"Check Trata AI docs on the specifics of prompting.","uniqueKey":"mission.oneOf.0.prompt.oneOf.0","typeLabel":"string"},{"type":"null","title":"Prompt","description":"Full prompt instructions for LLM model","example":"Check Trata AI docs on the specifics of prompting.","uniqueKey":"mission.oneOf.0.prompt.oneOf.1","typeLabel":"null"}],"uniqueKey":"mission.oneOf.0.prompt","typeLabel":"string | null"},"objective":{"oneOf":[{"type":"string","title":"Objective","description":"Objective of the mission","maxLength":1024,"minLength":1,"example":"This is a more easier version where the user dont have to given the entire prompt but just share the objective of the call and rest will be handled by Trata.","uniqueKey":"mission.oneOf.0.objective.oneOf.0","typeLabel":"string"},{"type":"null","title":"Objective","description":"Objective of the mission","example":"This is a more easier version where the user dont have to given the entire prompt but just share the objective of the call and rest will be handled by Trata.","uniqueKey":"mission.oneOf.0.objective.oneOf.1","typeLabel":"null"}],"uniqueKey":"mission.oneOf.0.objective","typeLabel":"string | null"},"sequence":{"oneOf":[{"type":"array","items":{"properties":{"stageName":{"type":"string","maxLength":1024,"minLength":1,"title":"Stagename","description":"Name of the stage","example":"Introduction","isRequired":true,"uniqueKey":"mission.oneOf.0.sequence.oneOf.0.items.[INDEX].stageName","typeLabel":"string"},"description":{"type":"string","maxLength":4096,"minLength":1,"title":"Description","description":"Description of the stage","example":"This stage involves introducing the AI agent to the user and explaining the purpose of the call.","isRequired":true,"uniqueKey":"mission.oneOf.0.sequence.oneOf.0.items.[INDEX].description","typeLabel":"string"},"otherNotes":{"oneOf":[{"type":"string","title":"Othernotes","description":"Other notes that AI agent should know in this stage of conversation","maxLength":4096,"minLength":1,"example":"Ensure the user understands the privacy policy.","uniqueKey":"mission.oneOf.0.sequence.oneOf.0.items.[INDEX].otherNotes.oneOf.0","typeLabel":"string"},{"type":"null","title":"Othernotes","description":"Other notes that AI agent should know in this stage of conversation","example":"Ensure the user understands the privacy policy.","uniqueKey":"mission.oneOf.0.sequence.oneOf.0.items.[INDEX].otherNotes.oneOf.1","typeLabel":"null"}],"uniqueKey":"mission.oneOf.0.sequence.oneOf.0.items.[INDEX].otherNotes","typeLabel":"string | null"}},"type":"object","required":["stageName","description"],"title":"Sequence","uniqueKey":"mission.oneOf.0.sequence.oneOf.0.items.[INDEX]","typeLabel":"Sequence · object"},"title":"Sequence","description":"Sequence of actions to be performed by the AI agent during the conversation.","uniqueKey":"mission.oneOf.0.sequence.oneOf.0","typeLabel":"Sequence · object[]"},{"type":"null","title":"Sequence","description":"Sequence of actions to be performed by the AI agent during the conversation.","uniqueKey":"mission.oneOf.0.sequence.oneOf.1","typeLabel":"null"}],"uniqueKey":"mission.oneOf.0.sequence","typeLabel":"Sequence · object[] | null"},"farewell":{"oneOf":[{"type":"string","title":"Farewell","description":"Conclusion message to be read by the AI agent","maxLength":1024,"minLength":1,"uniqueKey":"mission.oneOf.0.farewell.oneOf.0","typeLabel":"string"},{"type":"null","title":"Farewell","description":"Conclusion message to be read by the AI agent","uniqueKey":"mission.oneOf.0.farewell.oneOf.1","typeLabel":"null"}],"uniqueKey":"mission.oneOf.0.farewell","typeLabel":"string | null"}},"uniqueKey":"mission.oneOf.0","typeLabel":"Mission · object"},{"type":"null","description":"Mission of the AI agent","uniqueKey":"mission.oneOf.1","typeLabel":"null"}],"uniqueKey":"mission","typeLabel":"Mission · object | null"},"voice":{"oneOf":[{"type":"object","title":"Voice","description":"Voice of the AI agent","required":["gender","languageAccent","modelId"],"properties":{"gender":{"type":"string","enum":["Male","Female","Neutral"],"title":"Gender","isRequired":true,"uniqueKey":"voice.oneOf.0.gender","typeLabel":"enum\u003cstring>"},"languageAccent":{"properties":{"language":{"type":"string","enum":["English","Spanish","Hindi"],"title":"Language","isRequired":true,"uniqueKey":"voice.oneOf.0.languageAccent.language","typeLabel":"enum\u003cstring>"},"accent":{"type":"string","enum":["American","Indian","Australian","British","Hindi"],"title":"Accent","isRequired":true,"uniqueKey":"voice.oneOf.0.languageAccent.accent","typeLabel":"enum\u003cstring>"}},"type":"object","required":["language","accent"],"title":"LanguageAccentCombo","isRequired":true,"uniqueKey":"voice.oneOf.0.languageAccent","typeLabel":"LanguageAccentCombo · object"},"modelId":{"type":"string","title":"Modelid","isRequired":true,"uniqueKey":"voice.oneOf.0.modelId","typeLabel":"string"}},"uniqueKey":"voice.oneOf.0","typeLabel":"Voice · object"},{"type":"null","description":"Voice of the AI agent","uniqueKey":"voice.oneOf.1","typeLabel":"null"}],"uniqueKey":"voice","typeLabel":"Voice · object | null"}},"type":"object","required":["name","imageUrl","status","role","roleDescription","timezone"],"title":"AIAgent","uniqueKey":"","typeLabel":"AIAgent · object"},"examples":{"Example":{"title":"Example","value":{"name":"HelperBot","imageUrl":"http://example.com/agent.png","role":"Customer Support","roleDescription":"Handles customer inquiries and support tasks","timezone":"America/New_York","mission":{"greeting":"Hello! Thank you for taking the time to speak with me today.","prompt":"Check Trata AI docs on the specifics of prompting.","objective":"This is a more easier version where the user dont have to given the entire prompt but just share the objective of the call and rest will be handled by Trata.","sequence":[{"stageName":"Introduction","description":"This stage involves introducing the AI agent to the user and explaining the purpose of the call.","otherNotes":"Ensure the user understands the privacy policy."}],"farewell":"\u003cstring>"},"voice":{"languageAccent":{},"modelId":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"f9cada0d-e53b-452f-8a32-91b010485f24":{"description":"AI Agent created successfully","content":{"application/json":{"schema":{"properties":{"id":{"type":"string","title":"Id","uniqueKey":"id","typeLabel":"string"},"orgId":{"type":"string","title":"Orgid","uniqueKey":"orgId","typeLabel":"string"},"name":{"type":"string","title":"Name","uniqueKey":"name","typeLabel":"string"},"imageUrl":{"type":"string","title":"Imageurl","uniqueKey":"imageUrl","typeLabel":"string"},"mission":{"oneOf":[{"type":"object","title":"Mission","required":["greeting"],"properties":{"greeting":{"oneOf":[{"type":"string","title":"Greeting","description":"Greeting message to be read by the AI agent","maxLength":1024,"minLength":1,"example":"Hello! Thank you for taking the time to speak with me today.","isRequired":true,"uniqueKey":"mission.oneOf.0.greeting.oneOf.0","typeLabel":"string"},{"type":"null","title":"Greeting","description":"Greeting message to be read by the AI agent","example":"Hello! Thank you for taking the time to speak with me today.","isRequired":true,"uniqueKey":"mission.oneOf.0.greeting.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"mission.oneOf.0.greeting","typeLabel":"string | null"},"prompt":{"oneOf":[{"type":"string","title":"Prompt","description":"Full prompt instructions for LLM model","minLength":1,"example":"Check Trata AI docs on the specifics of prompting.","uniqueKey":"mission.oneOf.0.prompt.oneOf.0","typeLabel":"string"},{"type":"null","title":"Prompt","description":"Full prompt instructions for LLM model","example":"Check Trata AI docs on the specifics of prompting.","uniqueKey":"mission.oneOf.0.prompt.oneOf.1","typeLabel":"null"}],"uniqueKey":"mission.oneOf.0.prompt","typeLabel":"string | null"},"objective":{"oneOf":[{"type":"string","title":"Objective","description":"Objective of the mission","maxLength":1024,"minLength":1,"example":"This is a more easier version where the user dont have to given the entire prompt but just share the objective of the call and rest will be handled by Trata.","uniqueKey":"mission.oneOf.0.objective.oneOf.0","typeLabel":"string"},{"type":"null","title":"Objective","description":"Objective of the mission","example":"This is a more easier version where the user dont have to given the entire prompt but just share the objective of the call and rest will be handled by Trata.","uniqueKey":"mission.oneOf.0.objective.oneOf.1","typeLabel":"null"}],"uniqueKey":"mission.oneOf.0.objective","typeLabel":"string | null"},"sequence":{"oneOf":[{"type":"array","items":{"properties":{"stageName":{"type":"string","maxLength":1024,"minLength":1,"title":"Stagename","description":"Name of the stage","example":"Introduction","isRequired":true,"uniqueKey":"mission.oneOf.0.sequence.oneOf.0.items.[INDEX].stageName","typeLabel":"string"},"description":{"type":"string","maxLength":4096,"minLength":1,"title":"Description","description":"Description of the stage","example":"This stage involves introducing the AI agent to the user and explaining the purpose of the call.","isRequired":true,"uniqueKey":"mission.oneOf.0.sequence.oneOf.0.items.[INDEX].description","typeLabel":"string"},"otherNotes":{"oneOf":[{"type":"string","title":"Othernotes","description":"Other notes that AI agent should know in this stage of conversation","maxLength":4096,"minLength":1,"example":"Ensure the user understands the privacy policy.","uniqueKey":"mission.oneOf.0.sequence.oneOf.0.items.[INDEX].otherNotes.oneOf.0","typeLabel":"string"},{"type":"null","title":"Othernotes","description":"Other notes that AI agent should know in this stage of conversation","example":"Ensure the user understands the privacy policy.","uniqueKey":"mission.oneOf.0.sequence.oneOf.0.items.[INDEX].otherNotes.oneOf.1","typeLabel":"null"}],"uniqueKey":"mission.oneOf.0.sequence.oneOf.0.items.[INDEX].otherNotes","typeLabel":"string | null"}},"type":"object","required":["stageName","description"],"title":"Sequence","uniqueKey":"mission.oneOf.0.sequence.oneOf.0.items.[INDEX]","typeLabel":"Sequence · object"},"title":"Sequence","description":"Sequence of actions to be performed by the AI agent during the conversation.","uniqueKey":"mission.oneOf.0.sequence.oneOf.0","typeLabel":"Sequence · object[]"},{"type":"null","title":"Sequence","description":"Sequence of actions to be performed by the AI agent during the conversation.","uniqueKey":"mission.oneOf.0.sequence.oneOf.1","typeLabel":"null"}],"uniqueKey":"mission.oneOf.0.sequence","typeLabel":"Sequence · object[] | null"},"farewell":{"oneOf":[{"type":"string","title":"Farewell","description":"Conclusion message to be read by the AI agent","maxLength":1024,"minLength":1,"uniqueKey":"mission.oneOf.0.farewell.oneOf.0","typeLabel":"string"},{"type":"null","title":"Farewell","description":"Conclusion message to be read by the AI agent","uniqueKey":"mission.oneOf.0.farewell.oneOf.1","typeLabel":"null"}],"uniqueKey":"mission.oneOf.0.farewell","typeLabel":"string | null"}},"uniqueKey":"mission.oneOf.0","typeLabel":"Mission · object"},{"type":"null","uniqueKey":"mission.oneOf.1","typeLabel":"null"}],"uniqueKey":"mission","typeLabel":"Mission · object | null"},"role":{"type":"string","title":"Role","uniqueKey":"role","typeLabel":"string"},"roleDescription":{"type":"string","title":"Roledescription","uniqueKey":"roleDescription","typeLabel":"string"},"transcriber":{"oneOf":[{"type":"object","title":"Transcriber","properties":{"providerName":{"type":"string","title":"Providername","uniqueKey":"transcriber.oneOf.0.providerName","typeLabel":"string"},"transcriberModel":{"oneOf":[{"type":"string","title":"Transcribermodel","uniqueKey":"transcriber.oneOf.0.transcriberModel.oneOf.0","typeLabel":"string"},{"type":"null","title":"Transcribermodel","uniqueKey":"transcriber.oneOf.0.transcriberModel.oneOf.1","typeLabel":"null"}],"uniqueKey":"transcriber.oneOf.0.transcriberModel","typeLabel":"string | null"},"providerProps":{"oneOf":[{"type":"object","title":"Providerprops","uniqueKey":"transcriber.oneOf.0.providerProps.oneOf.0","typeLabel":"Providerprops · object"},{"type":"null","title":"Providerprops","uniqueKey":"transcriber.oneOf.0.providerProps.oneOf.1","typeLabel":"null"}],"uniqueKey":"transcriber.oneOf.0.providerProps","typeLabel":"Providerprops · object | null"}},"uniqueKey":"transcriber.oneOf.0","typeLabel":"Transcriber · object"},{"type":"null","uniqueKey":"transcriber.oneOf.1","typeLabel":"null"}],"uniqueKey":"transcriber","typeLabel":"Transcriber · object | null"},"intelligenceProvider":{"oneOf":[{"type":"object","title":"IntelligenceProvider","properties":{"providerName":{"oneOf":[{"type":"string","title":"Providername","uniqueKey":"intelligenceProvider.oneOf.0.providerName.oneOf.0","typeLabel":"string"},{"type":"null","title":"Providername","uniqueKey":"intelligenceProvider.oneOf.0.providerName.oneOf.1","typeLabel":"null"}],"uniqueKey":"intelligenceProvider.oneOf.0.providerName","typeLabel":"string | null"},"model":{"oneOf":[{"type":"string","title":"Model","uniqueKey":"intelligenceProvider.oneOf.0.model.oneOf.0","typeLabel":"string"},{"type":"null","title":"Model","uniqueKey":"intelligenceProvider.oneOf.0.model.oneOf.1","typeLabel":"null"}],"uniqueKey":"intelligenceProvider.oneOf.0.model","typeLabel":"string | null"},"providerProps":{"oneOf":[{"type":"object","title":"Providerprops","uniqueKey":"intelligenceProvider.oneOf.0.providerProps.oneOf.0","typeLabel":"Providerprops · object"},{"type":"null","title":"Providerprops","uniqueKey":"intelligenceProvider.oneOf.0.providerProps.oneOf.1","typeLabel":"null"}],"uniqueKey":"intelligenceProvider.oneOf.0.providerProps","typeLabel":"Providerprops · object | null"}},"uniqueKey":"intelligenceProvider.oneOf.0","typeLabel":"IntelligenceProvider · object"},{"type":"null","uniqueKey":"intelligenceProvider.oneOf.1","typeLabel":"null"}],"uniqueKey":"intelligenceProvider","typeLabel":"IntelligenceProvider · object | null"},"voice":{"oneOf":[{"type":"object","title":"Voice","required":["gender","languageAccent","modelId"],"properties":{"gender":{"type":"string","enum":["Male","Female","Neutral"],"title":"Gender","isRequired":true,"uniqueKey":"voice.oneOf.0.gender","typeLabel":"enum\u003cstring>"},"languageAccent":{"properties":{"language":{"type":"string","enum":["English","Spanish","Hindi"],"title":"Language","isRequired":true,"uniqueKey":"voice.oneOf.0.languageAccent.language","typeLabel":"enum\u003cstring>"},"accent":{"type":"string","enum":["American","Indian","Australian","British","Hindi"],"title":"Accent","isRequired":true,"uniqueKey":"voice.oneOf.0.languageAccent.accent","typeLabel":"enum\u003cstring>"}},"type":"object","required":["language","accent"],"title":"LanguageAccentCombo","isRequired":true,"uniqueKey":"voice.oneOf.0.languageAccent","typeLabel":"LanguageAccentCombo · object"},"modelId":{"type":"string","title":"Modelid","isRequired":true,"uniqueKey":"voice.oneOf.0.modelId","typeLabel":"string"}},"uniqueKey":"voice.oneOf.0","typeLabel":"Voice · object"},{"type":"null","uniqueKey":"voice.oneOf.1","typeLabel":"null"}],"uniqueKey":"voice","typeLabel":"Voice · object | null"},"status":{"type":"string","title":"Status","uniqueKey":"status","typeLabel":"string"},"timezone":{"type":"string","title":"Timezone","uniqueKey":"timezone","typeLabel":"string"},"createdBy":{"type":"string","title":"Createdby","uniqueKey":"createdBy","typeLabel":"string"},"createdAt":{"type":"string","format":"date-time","title":"Createdat","uniqueKey":"createdAt","typeLabel":"string\u003cdate-time>"},"updatedBy":{"type":"string","title":"Updatedby","uniqueKey":"updatedBy","typeLabel":"string"},"updatedAt":{"type":"string","format":"date-time","title":"Updatedat","uniqueKey":"updatedAt","typeLabel":"string\u003cdate-time>"}},"type":"object","title":"AIAgent","description":"AI agent configured by businesses","uniqueKey":"","typeLabel":"AIAgent · object"},"example":{"id":"aia.1726903132.obUuT7vM","orgId":"org.1726902940.GZChqlpU","name":"Sophia","imageUrl":"https://lh3.googleusercontent.com/d/1O_8YXKk1lVOuo8EwFOW7VRdLKwdVrkNi=w1000?authuser=1/view","mission":{"prompt":"You are an AI voice receptionist/agent for a restaurant. Your task is to engage in a human-like conversation with a caller/user/guest/customer, responding naturally and appropriately based on the conversation transcript and additional context provided.\nNever forget your name is {name}. You work as a {role} and as part of your work, you perform these {roleDescription}.\n You work at a restaurant named {company_name}.\n Your mission is to identify caller/user/guest/customer’s requests and build strong relationships with them. You should maintain a positive attitude throughout the conversation and help the caller/user/guest/customer with the request.\nFor any other request made beyond the {roleDescription}, politely respond stating “It's beyond my context and role, but I can arrange a call back shortly. Can I have your name and the best number to reach”\nIf the caller/customer asks for more information to be sent on their email, politely entertain that and request their email and best number to reach. Mention \"Someone from our team will revert shortly with the details you requested\". For table reservation always ask for date, time for the reservation. Also if they have any special requests.\nIf the caller/customer confirms the date and time for the table reservation or any other request, ask them to share their name and number first. For food delivery, ask for the name, number, and delivery address.\nIf the caller/customer asks for any information to be shared over an email, say \"Absolutely, what's your best email so we can share the info\"?\n Follow conversation etiquettes:\n 1. When caller/user/guest/customer says \"hold on\" or \"let me complete\", you should respond with \"Sure, please go ahead\".\n 2. Keep your responses in short length to retain the caller/user/guest/customer’s attention.\n 3. If the input question is not clear or incomplete, ask the user a clarification question, and give hints so that user can form a better question\n 4. Check your previous responses from the conversation history section and don't repeat the same sentences in your new responses. It will make users to lose interest.\nGuidelines for interaction:\n1. Always maintain a polite and friendly tone.\n2. Use the restaurant information provided to accurately answer questions.\n3. If you don't have specific information, politely inform the caller and offer to find out or connect them with someone who can help.\n4. For reservations, always confirm the date, time, number of guests, and any special requirements.\n5. When sharing menu information, be prepared to describe dishes, answer questions about ingredients, and mention any daily specials.\n6. For event bookings, gather all necessary details including the type of event, number of guests, preferred date and time, and any specific requirements.\n7. When handling food orders, confirm each item, ask about any customizations or dietary restrictions, and provide clear information about delivery times or pickup options.\n8. For special requests, listen carefully and try to accommodate if possible. If a request can't be fulfilled, offer alternatives.\nHandling objections and special situations:\n1. If a desired reservation time is not available, offer alternative times or dates.\n2. If a menu item is unavailable, apologize and suggest similar dishes.\n3. If there's a complaint, listen empathetically, apologize sincerely, and offer to address the issue or connect the caller with a manager if necessary.\n4. For any request you can't fulfill immediately, offer to take a message or have someone call back with more information.\nRemember to respond naturally, as if you were a human receptionist. Avoid using robotic or overly formal language. Use conversational phrases and show empathy where appropriate.\n Your conversation can be in one of these stages in no particular order\n # START OF STAGE DETAILS\n {sequences}\n # END OF STAGE DETAILS\n Respond according to the stage of the conversation you are at. Dont use emojis or any emoticons in your response as your service is going to be rendered as a speech from a text-to-speech service.\n This is your current conversation history with user, use this conversation history while generating response\n # START OF CONVERSATION HISTORY\n {conversation_history}\n # END OF CONVERSATION HISTORY\n Also these CONTEXT contains relevant information to answer user's query. Use this context to generate response\n # START OF CONTEXT\n {context}\n # END OF CONTEXT\n\"Do not mention the price unless the caller asks\"\n\"If the customer/caller asks, are these vegan dishes? respond, yes we do have vegan options\"\n Keep your responses always in the context of sales and support for the {company_name}.\n Convey a confident tone, using direct and decisive language.\n IMPORTANT: End each response with a probing question or a prompt that directs the user towards one of your objectives. Keep your responses in two or fewer short sentences.\n Example Endings:\n \"Would you like to proceed with a table reservation?\"\n \"Shall I go ahead and place that order for you?\"\n \"Is there anything else you'd like to know about our services?\"\n Now, generate a response for the user question: {question}\nBe polite and respectful while keeping the tone of the conversation professional. Your greeting should be welcoming. Always clarify in your greeting the reason why you are calling\n Needs analysis: Ask open-ended questions to understand whether its a table reservation or order booking or general enquiry of the hotel. Listen carefully. Don't over-confirm or clarify else the caller will be frustrated and cut the call.\n Solution presentation: Based on the needs of the request, present your solution which also adheres to your responsibilities.\n End conversation: Thank the customer for their time and confirm the next steps.\nAlso, before ending the call mention \"you will receive a confirmation text shortly for your table reservation or food delivery\" as applicable. If there are no more additional requests, say bye and end the call.","greeting":"Hi, thanks for calling the Restaurant. I am Sophia, the Restaurant manager powered by AI, how may I assist you today?","farewell":"Thanks for calling us, you have a great one! Bye"},"role":"Restuarant Receptionist","roleDescription":"As a Restaurant Receptionist, your primary roles are as follows:\n1. Table Reservation by the guests - you are responsible for taking table reservation requests which involves asking guests or customers for their preferred date and time for visiting the restaurant, along with the total number of guests accompanying for the table reservation. During the call, confirm the reservation. Upon confirmation, convey that the table is reserved for the specific date and time and the number of guests. Ask the guest, if they have any more questions or requests, if not, then politely thank them for considering the restaurant and we are forward to welcoming you. If a table is unavailable or the restaurant is full during the requested date/time/number of guests, then politely convey the guest/customer the status and check if the guest will be ok to reserve another available slot.\n2. Entertaining any food order for pickup or food delivery by the guests - you are responsible for taking the food order concerning to the restaurant and the menu items available in the context, either a pickup or delivery request. Each menu item/dish has a name and price or cost associated with it. You always have to refer to these menu items/dishes and their prices while taking the order request. You can entertain any special requests only if that context is provided by the restaurant.\nFollowing are the steps to be followed for taking the food order either for pickup or delivery:\nLet the customer select the dish/item, if the selected dish/item has a variation like size or quantity, reconfirm with the guest/customer. Only add items to order as per customers choice. Reconfirm the ordered menu item share the itemized price and then move ahead.\nYou have to reconfirm each menu dish/item along with its price \u0026 requested quantity for order confirmation. Ensure you share the itemized value and also the total order value.\nYou have to share the total order value by adding the value of each item and quantity requested by the customer/guest. Don’t add any more cost to the item price or total order value as all the items are inclusive of taxes. If any exceptions with price, the context will be provided by the restaurant.\nEnsure to reconfirm the entire order including quantity, price, menu item, and special request(if any) made by the customer before placing the order in the system. Ask if they need to add anything else, if yes, just add any additional items in addition to the existing order.\nFor order pickup, request the customer/quest for their name, and phone number for confirmation. If the customer already provided their name, and phone number at the start of the call, reconfirm the same details. Upon confirmation, mention the order will be ready in the next 30-45mins.\nFor food delivery, request the customer/quest for their name, phone number, and delivery address for confirmation. If the customer already provided their name, phone number, and delivery address at the start of the call, reconfirm the same details. Upon confirmation, mention the order will be delivered in the next 45 minutes - 1 hour.\n3. Entertaining any special requests by the guests - if there are any special requests like specific seating arrangements, meal preparation process, etc, the respective context will be provided by the restaurant beforehand. If no context, politely mention that you need to check internally and revert asap.\n4. Sharing menu items, day or week specials, offers, chef or restaurant specials if requested by the guests - apart from the menu request by the customer, proactively share any offers, daily or weekly specialties (if any). The restaurant will provide details and context.\n5. Taking any custom inquiry or celebration or corporate events or party arrangements by the guests - entertain any custom planning or celebrations or corporate events or arrangements by the guests. The restaurant will provide details and context.\n6. General Information sharing about the restaurant, food, preparation style, menu options, seating arrangements or capacity, rush hours, and timings. The restaurant will provide details and context.\n7. Transfer the call to a human or arrange a call back if the guest's request is unique or if they ask to speak to a human or manager of the restaurant. Respond with a call-back option within 30 mins.","voice":{"gender":"Female","languageAccent":{"language":"English","accent":"Indian"},"modelId":"voi.1729331556.dtKoZ0k5"},"status":"active","timezone":"Asia/Calcutta","createdBy":"org.1726902940.GZChqlpU","createdAt":"2024-09-21T07:18:52.955359","updatedBy":"k5NA7lbjreQglMmOBTVzBh3rFyU2","updatedAt":"2024-10-25T05:47:29.458315"},"examples":{"Example":{"title":"Example","value":{"id":"aia.1726903132.obUuT7vM","orgId":"org.1726902940.GZChqlpU","name":"Sophia","imageUrl":"https://lh3.googleusercontent.com/d/1O_8YXKk1lVOuo8EwFOW7VRdLKwdVrkNi=w1000?authuser=1/view","mission":{"prompt":"You are an AI voice receptionist/agent for a restaurant. Your task is to engage in a human-like conversation with a caller/user/guest/customer, responding naturally and appropriately based on the conversation transcript and additional context provided.\nNever forget your name is {name}. You work as a {role} and as part of your work, you perform these {roleDescription}.\n You work at a restaurant named {company_name}.\n Your mission is to identify caller/user/guest/customer’s requests and build strong relationships with them. You should maintain a positive attitude throughout the conversation and help the caller/user/guest/customer with the request.\nFor any other request made beyond the {roleDescription}, politely respond stating “It's beyond my context and role, but I can arrange a call back shortly. Can I have your name and the best number to reach”\nIf the caller/customer asks for more information to be sent on their email, politely entertain that and request their email and best number to reach. Mention \"Someone from our team will revert shortly with the details you requested\". For table reservation always ask for date, time for the reservation. Also if they have any special requests.\nIf the caller/customer confirms the date and time for the table reservation or any other request, ask them to share their name and number first. For food delivery, ask for the name, number, and delivery address.\nIf the caller/customer asks for any information to be shared over an email, say \"Absolutely, what's your best email so we can share the info\"?\n Follow conversation etiquettes:\n 1. When caller/user/guest/customer says \"hold on\" or \"let me complete\", you should respond with \"Sure, please go ahead\".\n 2. Keep your responses in short length to retain the caller/user/guest/customer’s attention.\n 3. If the input question is not clear or incomplete, ask the user a clarification question, and give hints so that user can form a better question\n 4. Check your previous responses from the conversation history section and don't repeat the same sentences in your new responses. It will make users to lose interest.\nGuidelines for interaction:\n1. Always maintain a polite and friendly tone.\n2. Use the restaurant information provided to accurately answer questions.\n3. If you don't have specific information, politely inform the caller and offer to find out or connect them with someone who can help.\n4. For reservations, always confirm the date, time, number of guests, and any special requirements.\n5. When sharing menu information, be prepared to describe dishes, answer questions about ingredients, and mention any daily specials.\n6. For event bookings, gather all necessary details including the type of event, number of guests, preferred date and time, and any specific requirements.\n7. When handling food orders, confirm each item, ask about any customizations or dietary restrictions, and provide clear information about delivery times or pickup options.\n8. For special requests, listen carefully and try to accommodate if possible. If a request can't be fulfilled, offer alternatives.\nHandling objections and special situations:\n1. If a desired reservation time is not available, offer alternative times or dates.\n2. If a menu item is unavailable, apologize and suggest similar dishes.\n3. If there's a complaint, listen empathetically, apologize sincerely, and offer to address the issue or connect the caller with a manager if necessary.\n4. For any request you can't fulfill immediately, offer to take a message or have someone call back with more information.\nRemember to respond naturally, as if you were a human receptionist. Avoid using robotic or overly formal language. Use conversational phrases and show empathy where appropriate.\n Your conversation can be in one of these stages in no particular order\n # START OF STAGE DETAILS\n {sequences}\n # END OF STAGE DETAILS\n Respond according to the stage of the conversation you are at. Dont use emojis or any emoticons in your response as your service is going to be rendered as a speech from a text-to-speech service.\n This is your current conversation history with user, use this conversation history while generating response\n # START OF CONVERSATION HISTORY\n {conversation_history}\n # END OF CONVERSATION HISTORY\n Also these CONTEXT contains relevant information to answer user's query. Use this context to generate response\n # START OF CONTEXT\n {context}\n # END OF CONTEXT\n\"Do not mention the price unless the caller asks\"\n\"If the customer/caller asks, are these vegan dishes? respond, yes we do have vegan options\"\n Keep your responses always in the context of sales and support for the {company_name}.\n Convey a confident tone, using direct and decisive language.\n IMPORTANT: End each response with a probing question or a prompt that directs the user towards one of your objectives. Keep your responses in two or fewer short sentences.\n Example Endings:\n \"Would you like to proceed with a table reservation?\"\n \"Shall I go ahead and place that order for you?\"\n \"Is there anything else you'd like to know about our services?\"\n Now, generate a response for the user question: {question}\nBe polite and respectful while keeping the tone of the conversation professional. Your greeting should be welcoming. Always clarify in your greeting the reason why you are calling\n Needs analysis: Ask open-ended questions to understand whether its a table reservation or order booking or general enquiry of the hotel. Listen carefully. Don't over-confirm or clarify else the caller will be frustrated and cut the call.\n Solution presentation: Based on the needs of the request, present your solution which also adheres to your responsibilities.\n End conversation: Thank the customer for their time and confirm the next steps.\nAlso, before ending the call mention \"you will receive a confirmation text shortly for your table reservation or food delivery\" as applicable. If there are no more additional requests, say bye and end the call.","greeting":"Hi, thanks for calling the Restaurant. I am Sophia, the Restaurant manager powered by AI, how may I assist you today?","farewell":"Thanks for calling us, you have a great one! Bye"},"role":"Restuarant Receptionist","roleDescription":"As a Restaurant Receptionist, your primary roles are as follows:\n1. Table Reservation by the guests - you are responsible for taking table reservation requests which involves asking guests or customers for their preferred date and time for visiting the restaurant, along with the total number of guests accompanying for the table reservation. During the call, confirm the reservation. Upon confirmation, convey that the table is reserved for the specific date and time and the number of guests. Ask the guest, if they have any more questions or requests, if not, then politely thank them for considering the restaurant and we are forward to welcoming you. If a table is unavailable or the restaurant is full during the requested date/time/number of guests, then politely convey the guest/customer the status and check if the guest will be ok to reserve another available slot.\n2. Entertaining any food order for pickup or food delivery by the guests - you are responsible for taking the food order concerning to the restaurant and the menu items available in the context, either a pickup or delivery request. Each menu item/dish has a name and price or cost associated with it. You always have to refer to these menu items/dishes and their prices while taking the order request. You can entertain any special requests only if that context is provided by the restaurant.\nFollowing are the steps to be followed for taking the food order either for pickup or delivery:\nLet the customer select the dish/item, if the selected dish/item has a variation like size or quantity, reconfirm with the guest/customer. Only add items to order as per customers choice. Reconfirm the ordered menu item share the itemized price and then move ahead.\nYou have to reconfirm each menu dish/item along with its price \u0026 requested quantity for order confirmation. Ensure you share the itemized value and also the total order value.\nYou have to share the total order value by adding the value of each item and quantity requested by the customer/guest. Don’t add any more cost to the item price or total order value as all the items are inclusive of taxes. If any exceptions with price, the context will be provided by the restaurant.\nEnsure to reconfirm the entire order including quantity, price, menu item, and special request(if any) made by the customer before placing the order in the system. Ask if they need to add anything else, if yes, just add any additional items in addition to the existing order.\nFor order pickup, request the customer/quest for their name, and phone number for confirmation. If the customer already provided their name, and phone number at the start of the call, reconfirm the same details. Upon confirmation, mention the order will be ready in the next 30-45mins.\nFor food delivery, request the customer/quest for their name, phone number, and delivery address for confirmation. If the customer already provided their name, phone number, and delivery address at the start of the call, reconfirm the same details. Upon confirmation, mention the order will be delivered in the next 45 minutes - 1 hour.\n3. Entertaining any special requests by the guests - if there are any special requests like specific seating arrangements, meal preparation process, etc, the respective context will be provided by the restaurant beforehand. If no context, politely mention that you need to check internally and revert asap.\n4. Sharing menu items, day or week specials, offers, chef or restaurant specials if requested by the guests - apart from the menu request by the customer, proactively share any offers, daily or weekly specialties (if any). The restaurant will provide details and context.\n5. Taking any custom inquiry or celebration or corporate events or party arrangements by the guests - entertain any custom planning or celebrations or corporate events or arrangements by the guests. The restaurant will provide details and context.\n6. General Information sharing about the restaurant, food, preparation style, menu options, seating arrangements or capacity, rush hours, and timings. The restaurant will provide details and context.\n7. Transfer the call to a human or arrange a call back if the guest's request is unique or if they ask to speak to a human or manager of the restaurant. Respond with a call-back option within 30 mins.","voice":{"gender":"Female","languageAccent":{"language":"English","accent":"Indian"},"modelId":"voi.1729331556.dtKoZ0k5"},"status":"active","timezone":"Asia/Calcutta","createdBy":"org.1726902940.GZChqlpU","createdAt":"2024-09-21T07:18:52.955359","updatedBy":"k5NA7lbjreQglMmOBTVzBh3rFyU2","updatedAt":"2024-10-25T05:47:29.458315"}}},"exampleType":"examples"}},"exampleType":"examples"},"d511e06b-e28f-4146-9dbb-ab220e00d798":{"description":"Validation Error","content":{"application/json":{"schema":{"properties":{"detail":{"items":{"properties":{"loc":{"items":{"oneOf":[{"type":"string","uniqueKey":"detail.items.[INDEX].loc.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"integer","uniqueKey":"detail.items.[INDEX].loc.items.[INDEX].oneOf.1","typeLabel":"integer"}],"uniqueKey":"detail.items.[INDEX].loc.items.[INDEX]","typeLabel":"string | integer"},"type":"array","title":"Location","isRequired":true,"uniqueKey":"detail.items.[INDEX].loc","typeLabel":"(string | integer)[]"},"msg":{"type":"string","title":"Message","isRequired":true,"uniqueKey":"detail.items.[INDEX].msg","typeLabel":"string"},"type":{"type":"string","title":"Error Type","isRequired":true,"uniqueKey":"detail.items.[INDEX].type","typeLabel":"string"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError","uniqueKey":"detail.items.[INDEX]","typeLabel":"ValidationError · object"},"type":"array","title":"Detail","uniqueKey":"detail","typeLabel":"ValidationError · object[]"}},"type":"object","title":"HTTPValidationError","uniqueKey":"","typeLabel":"HTTPValidationError · object"},"examples":{"Example":{"title":"Example","value":{"detail":[{"loc":["\u003cstring>"],"msg":"\u003cstring>","type":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"62f430aa-a135-43df-ad4a-f3c8f4c2edf2":{"HTTPBearer":{"type":"http","scheme":"bearer","scopes":[]}}},"servers":{"2acda58c-d0b0-4bc5-9cb5-be578589f7f6":{"url":"https://api.trata.ai","description":"Production"},"68199b5b-ad21-450f-8d3a-68adebc4b787":{"url":"http://localhost:8000","description":"Development"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","scopes":[]},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"HTTPBearer","name":"Authorization"}],"title":"HTTPBearer"}]},"originalFileLocation":"openapi.json"},"subdomain":"trataai","siteName":"Trata AI Docs","title":"Create a New AI Agent - Trata AI Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-01-07T03:54:42.659Z","originalFileLocation":"api-reference/agents/create-a-new-ai-agent.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=\"light\";if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Create a New AI Agent\">\u003cmeta data-mint-head name=\"application-name\" content=\"Trata AI Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/trataai/mDNWnVxajc-m_HYK/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/trataai/mDNWnVxajc-m_HYK/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/trataai/mDNWnVxajc-m_HYK/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/trataai/mDNWnVxajc-m_HYK/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/trataai/mDNWnVxajc-m_HYK/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/trataai/mDNWnVxajc-m_HYK/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/trataai/mDNWnVxajc-m_HYK/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/trataai/mDNWnVxajc-m_HYK/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/trataai/mDNWnVxajc-m_HYK/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create a New AI Agent - Trata AI Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Create a New AI Agent\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Trata AI Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.trata.ai/api-reference/agents/create-a-new-ai-agent\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://trataai.mintlify.app/_mintlify/api/og/v2?division=Agents\u0026amp;title=Create+a+New+AI+Agent\u0026amp;description=Create+a+New+AI+Agent\u0026amp;theme=3b98d4ceb3f796ea1ffc0506\u0026amp;signature=415f10be7aa64597872fb7bb11999f4903113281c40dd5426a24713202cd9528\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Create a New AI Agent - Trata AI Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Create a New AI Agent\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://trataai.mintlify.app/_mintlify/api/og/v2?division=Agents\u0026amp;title=Create+a+New+AI+Agent\u0026amp;description=Create+a+New+AI+Agent\u0026amp;theme=3b98d4ceb3f796ea1ffc0506\u0026amp;signature=415f10be7aa64597872fb7bb11999f4903113281c40dd5426a24713202cd9528\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/trataai/mDNWnVxajc-m_HYK/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Trata AI Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#1B2B65\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.trata.ai/api-reference/agents/create-a-new-ai-agent\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/agents/create-a-new-ai-agent.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.trata.ai/#organization\",\"name\":\"Trata AI Docs\",\"url\":\"https://docs.trata.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/trataai/SPPY3HegAe9Zg0w2/logo/trata-logo.png?fit=max\u0026auto=format\u0026n=SPPY3HegAe9Zg0w2\u0026q=85\u0026s=dc916789912d280a9265600a290d07f3\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.trata.ai#website\",\"name\":\"Trata AI Docs\",\"url\":\"https://docs.trata.ai\",\"publisher\":{\"@id\":\"https://docs.trata.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.trata.ai/api-reference/agents/create-a-new-ai-agent#webpage\",\"url\":\"https://docs.trata.ai/api-reference/agents/create-a-new-ai-agent\",\"name\":\"Create a New AI Agent\",\"description\":\"Create a New AI Agent\",\"dateModified\":\"2026-01-07T03:54:42.659Z\",\"isPartOf\":{\"@id\":\"https://docs.trata.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.trata.ai/api-reference/agents/create-a-new-ai-agent#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.trata.ai/api-reference/agents/create-a-new-ai-agent#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Agents\",\"item\":\"https://docs.trata.ai/api-reference/agents/list-all-ai-agents\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create a New AI Agent\",\"item\":\"https://docs.trata.ai/api-reference/agents/create-a-new-ai-agent\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.trata.ai/api-reference/agents/create-a-new-ai-agent#apireference\",\"headline\":\"Create a New AI Agent\",\"name\":\"Create a New AI Agent\",\"description\":\"Create a New AI Agent\",\"url\":\"https://docs.trata.ai/api-reference/agents/create-a-new-ai-agent\",\"mainEntityOfPage\":{\"@id\":\"https://docs.trata.ai/api-reference/agents/create-a-new-ai-agent#webpage\"},\"dateModified\":\"2026-01-07T03:54:42.659Z\",\"publisher\":{\"@id\":\"https://docs.trata.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.trata.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Trata AI Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Trata AI Docs","nav":{"global":{"anchors":[{"anchor":"Blogs","href":"https://www.trata.ai/blogs","icon":"newspaper"}]},"tabs":[{"tab":"Product","pages":[{"title":"Product","href":"/home-page/quickstart"}]},{"tab":"API Reference","groups":[{"group":"API Documentation","pages":[{"title":"Introduction","href":"/api-reference/Introduction"},{"title":null,"href":"/api-reference/API-Architecture"},{"title":null,"href":"/api-reference/API-Entities"}]},{"group":"Analytics","pages":[{"title":"Get Metrics","deprecated":null,"version":null,"openapi":"openapi.json post /v1/metrics","href":"/api-reference/analytics/get-metrics"},{"title":"Get Aggregated Stats","deprecated":null,"version":null,"openapi":"openapi.json get /v1/stats","href":"/api-reference/analytics/get-aggregated-stats"}]},{"group":"Prospects","pages":[{"title":"List All Prospects","deprecated":null,"version":null,"openapi":"openapi.json get /v1/prospects","href":"/api-reference/prospects/list-all-prospects"},{"title":"Create a New Prospect","deprecated":null,"version":null,"openapi":"openapi.json post /v1/prospects","href":"/api-reference/prospects/create-a-new-prospect"},{"title":"Get a Specific Prospect by ID","deprecated":null,"version":null,"openapi":"openapi.json get /v1/prospects/{prospect_id}","href":"/api-reference/prospects/get-a-specific-prospect-by-id"},{"title":"Update a Specific Prospect by ID","deprecated":null,"version":null,"openapi":"openapi.json put /v1/prospects/{prospect_id}","href":"/api-reference/prospects/update-a-specific-prospect-by-id"},{"title":"Delete a Specific Prospect by ID","deprecated":null,"version":null,"openapi":"openapi.json delete /v1/prospects/{prospect_id}","href":"/api-reference/prospects/delete-a-specific-prospect-by-id"}]},{"group":"Agents","pages":[{"title":"List All AI Agents","description":"List All AI Agents","deprecated":null,"version":null,"openapi":"openapi.json get /v1/ai-agents","href":"/api-reference/agents/list-all-ai-agents"},{"title":"Create a New AI Agent","deprecated":null,"version":null,"openapi":"openapi.json post /v1/ai-agents","href":"/api-reference/agents/create-a-new-ai-agent"},{"title":"Get a Specific AI Agent by ID","description":"Get a Specific AI Agent by ID","deprecated":null,"version":null,"openapi":"openapi.json get /v1/ai-agents/{agent_id}","href":"/api-reference/agents/get-a-specific-ai-agent-by-id"},{"title":"Update a Specific AI Agent by ID","deprecated":null,"version":null,"openapi":"openapi.json put /v1/ai-agents/{agent_id}","href":"/api-reference/agents/update-a-specific-ai-agent-by-id"},{"title":"Delete a Specific AI Agent by ID","deprecated":null,"version":null,"openapi":"openapi.json delete /v1/ai-agents/{agent_id}","href":"/api-reference/agents/delete-a-specific-ai-agent-by-id"}]},{"group":"VoiceModels","pages":[{"title":"Get list of voices available for calls","deprecated":null,"version":null,"openapi":"openapi.json get /v1/voice-models","href":"/api-reference/voicemodels/get-list-of-voices-available-for-calls"}]},{"group":"Hive","pages":[{"title":"List All Hives","deprecated":null,"version":null,"openapi":"openapi.json get /v1/hives","href":"/api-reference/hive/list-all-hives"},{"title":"Create a New Hive","deprecated":null,"version":null,"openapi":"openapi.json post /v1/hives","href":"/api-reference/hive/create-a-new-hive"},{"title":"Get a Specific Hive by ID","deprecated":null,"version":null,"openapi":"openapi.json get /v1/hives/{hive_id}","href":"/api-reference/hive/get-a-specific-hive-by-id"},{"title":"Update a Specific Hive by ID","deprecated":null,"version":null,"openapi":"openapi.json put /v1/hives/{hive_id}","href":"/api-reference/hive/update-a-specific-hive-by-id"},{"title":"Delete a Specific Hive by ID","deprecated":null,"version":null,"openapi":"openapi.json delete /v1/hives/{hive_id}","href":"/api-reference/hive/delete-a-specific-hive-by-id"}]},{"group":"HiveAgentLink","pages":[{"title":"Create a Link Between a Hive and an Agent","deprecated":null,"version":null,"openapi":"openapi.json post /v1/hives/{hive_id}/ai-agents/{agent_id}/link","href":"/api-reference/hiveagentlink/create-a-link-between-a-hive-and-an-agent"},{"title":"Delete a Link Between a Hive and an Agent","deprecated":null,"version":null,"openapi":"openapi.json delete /v1/hives/{hive_id}/ai-agents/{agent_id}/link","href":"/api-reference/hiveagentlink/delete-a-link-between-a-hive-and-an-agent"},{"title":"List All Hives Linked to a Specific Agent","deprecated":null,"version":null,"openapi":"openapi.json get /v1/ai-agents/{agent_id}/hives","href":"/api-reference/hiveagentlink/list-all-hives-linked-to-a-specific-agent"},{"title":"List All Agents Linked to a Specific Hive","deprecated":null,"version":null,"openapi":"openapi.json get /v1/hives/{hive_id}/ai-agents","href":"/api-reference/hiveagentlink/list-all-agents-linked-to-a-specific-hive"}]},{"group":"Actions","pages":[{"title":"List All Actions Under the User\u0026#39;s Organization","deprecated":null,"version":null,"openapi":"openapi.json get /v1/actions","href":"/api-reference/actions/list-all-actions-under-the-user\u0026#39;s-organization"},{"title":"Create a New Action","deprecated":null,"version":null,"openapi":"openapi.json post /v1/actions","href":"/api-reference/actions/create-a-new-action"},{"title":"Get a Specific Action by ID","deprecated":null,"version":null,"openapi":"openapi.json get /v1/actions/{action_id}","href":"/api-reference/actions/get-a-specific-action-by-id"},{"title":"Update a Specific Action by ID","deprecated":null,"version":null,"openapi":"openapi.json put /v1/actions/{action_id}","href":"/api-reference/actions/update-a-specific-action-by-id"},{"title":"Delete a Specific Action by ID","deprecated":null,"version":null,"openapi":"openapi.json delete /v1/actions/{action_id}","href":"/api-reference/actions/delete-a-specific-action-by-id"}]},{"group":"ActionAgentLink","pages":[{"title":"Create a Link Between an Action and an Agent","deprecated":null,"version":null,"openapi":"openapi.json post /v1/actions/{action_id}/ai-agents/{agent_id}/link","href":"/api-reference/actionagentlink/create-a-link-between-an-action-and-an-agent"},{"title":"Delete a Link Between an Action and an Agent","deprecated":null,"version":null,"openapi":"openapi.json delete /v1/actions/{action_id}/ai-agents/{agent_id}/link","href":"/api-reference/actionagentlink/delete-a-link-between-an-action-and-an-agent"},{"title":"List All Actions Linked to a Specific Agent","deprecated":null,"version":null,"openapi":"openapi.json get /v1/ai-agents/{agent_id}/actions","href":"/api-reference/actionagentlink/list-all-actions-linked-to-a-specific-agent"}]},{"group":"Products","pages":[{"title":"List All Products","deprecated":null,"version":null,"openapi":"openapi.json get /v1/products","href":"/api-reference/products/list-all-products"},{"title":"Create a New Product","deprecated":null,"version":null,"openapi":"openapi.json post /v1/products","href":"/api-reference/products/create-a-new-product"},{"title":"Get a Specific Product by ID","deprecated":null,"version":null,"openapi":"openapi.json get /v1/products/{product_id}","href":"/api-reference/products/get-a-specific-product-by-id"},{"title":"Update a Specific Product by ID","deprecated":null,"version":null,"openapi":"openapi.json put /v1/products/{product_id}","href":"/api-reference/products/update-a-specific-product-by-id"},{"title":"Delete a Specific Product by ID","deprecated":null,"version":null,"openapi":"openapi.json delete /v1/products/{product_id}","href":"/api-reference/products/delete-a-specific-product-by-id"},{"title":"List All Agents Linked to a Specific Product","deprecated":null,"version":null,"openapi":"openapi.json get /v1/products/{product_id}/agents","href":"/api-reference/products/list-all-agents-linked-to-a-specific-product"}]},{"group":"Conversations","pages":[{"title":"List All Conversations","deprecated":null,"version":null,"openapi":"openapi.json get /v1/conversations","href":"/api-reference/conversations/list-all-conversations"},{"title":"Create a New Conversation","deprecated":null,"version":null,"openapi":"openapi.json post /v1/conversations","href":"/api-reference/conversations/create-a-new-conversation"},{"title":"Get a Specific Conversation by ID","deprecated":null,"version":null,"openapi":"openapi.json get /v1/conversations/{conversation_id}","href":"/api-reference/conversations/get-a-specific-conversation-by-id"},{"title":"Update a Specific Conversation by ID","deprecated":null,"version":null,"openapi":"openapi.json put /v1/conversations/{conversation_id}","href":"/api-reference/conversations/update-a-specific-conversation-by-id"},{"title":"Delete a Specific Conversation by ID","deprecated":null,"version":null,"openapi":"openapi.json delete /v1/conversations/{conversation_id}","href":"/api-reference/conversations/delete-a-specific-conversation-by-id"},{"title":"Add Feedback to a Specific Conversation","deprecated":null,"version":null,"openapi":"openapi.json post /v1/conversations/{conversation_id}/feedback","href":"/api-reference/conversations/add-feedback-to-a-specific-conversation"}]},{"group":"ConversationProspectLink","pages":[{"title":"Create a link between a conversation and a prospect","deprecated":null,"version":null,"openapi":"openapi.json post /v1/conversations/{conversation_id}/prospects/{prospect_id}/links","href":"/api-reference/conversationprospectlink/create-a-link-between-a-conversation-and-a-prospect"},{"title":"Delete a link between a conversation and a prospect","deprecated":null,"version":null,"openapi":"openapi.json delete /v1/conversations/{conversation_id}/prospects/{prospect_id}/links","href":"/api-reference/conversationprospectlink/delete-a-link-between-a-conversation-and-a-prospect"},{"title":"List all conversations linked to a specific prospect","deprecated":null,"version":null,"openapi":"openapi.json get /v1/prospects/{prospect_id}/conversations","href":"/api-reference/conversationprospectlink/list-all-conversations-linked-to-a-specific-prospect"}]},{"group":"Files","pages":[{"title":"Upload Files","deprecated":null,"version":null,"openapi":"openapi.json post /v1/files","href":"/api-reference/files/upload-files"},{"title":"Delete Files","deprecated":null,"version":null,"openapi":"openapi.json delete /v1/files","href":"/api-reference/files/delete-files"}]},{"group":"Data Plane","pages":[{"title":"Create Connection","deprecated":null,"version":null,"openapi":"openapi.json post /v1/connections","href":"/api-reference/data-plane/create-connection"},{"title":"Get Audio Stream XML For Plivo","deprecated":null,"version":null,"openapi":"openapi.json get /v1/connections/{connection_id}/plivo-audio-stream-xml","href":"/api-reference/data-plane/get-audio-stream-xml-for-plivo"}]},{"group":"Health","pages":[{"title":"Heart Beat Check For Trata Backend","deprecated":null,"version":null,"openapi":"openapi.json get /status","href":"/api-reference/health/heart-beat-check-for-trata-backend"}]}]},{"tab":"Change Log","pages":[{"title":"Change Log","href":"/changelog/overview"}]}]},"basePath":"","title":"Create a New AI Agent - Trata AI Docs","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CS552b7R.js","utils-DDTCYAF2.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-De8ttokP.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DrwRDvAh.js","snippetPresets-DtAN0nWx.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-D5rWArI6.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-O2i12wsz.js","shallow-DV8xABTt.js","getApiPlaygroundDisplay-DBZ0B5Jx.js","CodeSnippet-BVi0tPUX.js","CodeSnippets-CqASbIwY.js","Page-m07pfKpT.js","getPastedJson-DG9vsMS8.js","icon-CXzRSCr8.js","MethodPill-BdKVtEuX.js","DuplicateIcon-CZlmBrJI.js","createIcon-biFEUKPL.js","DynamicMarkdown-B54_zNBF.js","SectionHeading-DwwHK3Pt.js","axios-vUo_bRtp.js","Markdown-DfhCTwyA.js","clsx-xpJZXxdP.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BTZUMDnx.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-DqdKa2R4.js"]}