I was also facing issues in a similar vein. I resolved it using HTTP API.
I created a slot to store the sender’s name and fired the above-mentioned API to set the slot as the first thing while starting the bot.
var http_set_event = "http://localhost:5005/conversations/tonysingh/tracker/events"
var event_xhttp = xhrCreator(http_set_event);
var event_json = {"event": "slot", "name": "sender_name", "value": "tonysingh"};
try{
event_xhttp.send(JSON.stringify(event_json));
}catch (error) {
console.log("Sender's name could not be set in slots.")
}
I’m not sure about the conversation_id since i never touch it. But the sender_id stores the ‘sender’ value in the HTTP request which OP mentioned above. Also the bot seems to keep track of a conversation using the sender_id, which means if you using multiple browser, but with the same sender_id, the bot will handle their messages as one conversation. Different sender_id = different conversation. Does that answer your question ?
I don’t think you can, but i’m not 100% sure. The tracker object seems to have a list of predefined attributes, sender_id is 1 of them so you can access that through tracker. It does not seems like it can create new attribute depends on what you pass in the request. But since this is not really a hard thing to test, i suggest you try it and see how it goes, it shouldn’t take more than 5 minutes