One thing you can do is use a card with a button as a confirmation step in your conversation. This is probably the easiest way to accomplish what you want. This will by default open a new tab which you can set the URL. so when your user says "show me nachos" you can filter your inventory and display only nachos. Here is example code using the OpenUrl
ActionType
in C#
var reply = activity.CreateReply();
HeroCard h = new HeroCard();
h.Text = "Would you like to see nachos";
h.Buttons = new List<CardAction>
{
new CardAction(ActionTypes.OpenUrl, "Give Nachos", value: "https://www.google.com/search?q=nachos&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjxqpycnrLWAhVG82MKHUcTA60Q_AUICigB&biw=1280&bih=670"),
new CardAction(ActionTypes.OpenUrl, "No, I want tacos", value: "https://www.google.com/search?biw=1280&bih=670&tbm=isch&sa=1&q=tacos&oq=tacos&gs_l=psy-ab.3..0i67k1j0j0i67k1j0.69031.69942.0.71274.5.5.0.0.0.0.149.392.2j2.4.0....0...1.1.64.psy-ab..1.4.392....0.bPBCuHv9Edk")
};
var aList = new List<Attachment>();
aList.Add(h.ToAttachment());
reply.Attachments = aList;
await context.PostAsync(reply);