{
"status": "Why must this be a string?", //This is the status related with the current training status, so this could only take 4 values ["Ready", "Out of Date", "Training", "Error"]. By default every agent imported will have the "Out of Date" status given that never had been trained
"postFormat": {
"postFormatPayload": "string"
}, //Post format shouldn't be imported, you can get rid of this whole object. This is use for formatting the output of the response, there isn't something parallel to this element in other services
"usePostFormat": true, //given that we removed the postFormat attribute then this should be set to false
"description": "string", //Mayyyybeee this could be an argument like the agent name
"language": "en", //I don't know if you took this from the json, if not, en is a good default
"settings": {}, //You need to use the default settings for an agent. Check the next comment of this issue
"enableModelsPerDomain": true, //Good default
"webhook": {
"webhookPayloadType": "None",
"webhookUrl": "string",
"webhookPayload": "string",
"webhookVerb": "GET"
}, //This is the same than postFormat. Maybe! you could play some time around to extract the webhook defined in other services like Dialogflow, but I would ask Caleb what he thinks about it
"domainClassifierThreshold": 0, //A good default would be 0.5
"extraTrainingData": true, //This should be set to false as default
"entities": [
{
"uiColor": "string",
"regex": "string",
"entityName": "string",
"type": "learned",
"examples": [
{
"synonyms": [
"string"
],
"value": "string"
},
{
"synonyms": [
"string2"
],
"value": "string2"
}
]
}
], //You need to import this values form the training data
"useWebhook": true, //This should be set to false given that we're not going to import the webhook yet, use true if Caleb says that you should try it
"agentName": "agent_smith",
"domains": [ //I haven't see other systems with the concept of domains so this is new
{
"status": "string", //Same that agent status, "Out of Date" by default
"intents": [ //I was expecting the intents of the file I sent to the conversion tool here
{
"scenario": { //Scenario is how the agent will respond if this scenario happens
"slots": [ //Systems like Dialogflow have this element, we should import that, I will explain the attributes of an slot
{
"isRequired": true, //If the slots must be filled
"textPrompts": [
"string" //What the agent should ask if the slot is not filled. In example, if your order a pizza without toppings, then a value here will be "What toppings would you like"
],
"slotName": "string", //The slot name given by the user in other system
"isList": true, //If the slot could take the form of a list, like toppings: chicken, mushrooms, and ham
"entity": "string" //The entity that is going to fill this slot
}
],
"intentResponses": [
"string" //These are the responses from the agent, like "Cool, I will prepare your pizza", or, "Hi, how are you?"
],
"scenarioName": "string string" // By default use the same name that was given to the intent
},
"useWebhook": true, //Same behavior than the agent webhook
"webhook": {
"webhookPayloadType": "None",
"webhookUrl": "string",
"webhookPayload": "string",
"webhookVerb": "GET"
}, // Same than agent webhook ask Caleb
"intentName": "string", //The intent given by the user in the input file
"examples": [ //These are the examples, basically the training data
{
"entities": [
{
"start": 0,
"extractor": "string",
"end": 0,
"value": "string",
"entity": "string"
}
],
"userSays": "string"
},
{
"entities": [
{
"start": 0,
"extractor": "string",
"end": 0,
"value": "string",
"entity": "string"
}
],
"userSays": "string"
}
],
"postFormat": {
"postFormatPayload": "string"
}, //This shouldn't exists
"usePostFormat": true //This should be set to false
}
],
"intentThreshold": 0, //0.5 could be a good default
"lastTraining": "2018-07-10", //This shouldn't be import, is the date given by the API once it's trained
"domainName": "string", //You could use a default value given by yourself
"model": "string", //This shouldn't be import, is the name of the model given by rasa once it's trained
"enabled": true, // This is good
"extraTrainingData": true //By default this should be set to false
}
],
"timezone": "string", //Check if there is any timezone setting in other agent. If not, the default should be "UTC"
"model": "Why must this be a string?", //This shouldn't be import, is the name of the model given by rasa once it's trained
"fallbackResponses": [
"string"
], //These are global fallbacks, so, we don't have a way to know how to extract those, unless there exists and specific intent called fallback and you use the responses of that intent, but, I don't know if that's possible, maybe you could check this with Caleb too.
"lastTraining": "2018-07-10" //This shouldn't be import, is the date given by the API once it's trained
}