As the comment above, you need to use your fulfillment to determine the name and reply it to the user. Simply, you can use like the code below to return the name from fixed name's array:
"use strict";
process.env.DEBUG = "actions-on-google:*";
const App = require("actions-on-google").DialogflowApp;
const request = require("request");
const nameListFromConst = [
"name1", "name2", "name3", "name4", "name5",
"name6", "name7", "name8", "name9", "name10"
];
exports.foobar = (req, res) => {
const app = new App({request: req, response: res});
const inputWelcome = app => {
const index = Math.floor(Math.random() * 10);
const name = nameListFromConst[index];
app.ask(name);
};
const actionMap = new Map();
actionMap.set("input.welcome", inputWelcome);
app.handleRequest(actionMap);
};
But, it seems that you want to determine the name from entities you registered into your agent of Dialogflow. If true, you can retrieve your entities with Dialogflow API dynamically in the fulfillment code like the following:
exports.foobar = (req, res) => {
const app = new App({request: req, response: res});
const inputWelcome = app => {
const options = {
url: "https://api.dialogflow.com/v1/entities/{YOUR_ENTITY_ID}",
method: "GET",
headers: {
"Authorization": "Bearer {YOUR_DEVELOPER_ACCESS_TOKEN}",
"Content-type": "application/json; charset=UTF-8"
},
json: true
};
request(options, (error, response, body) => {
if (error) {
console.log(error);
app.ask("Error occurred.");
} else {
const nameListFromEntity = body.entries.map(x => {
return x.value;
});
const index = Math.floor(Math.random() * 10);
const name = nameListFromEntity[index];
app.ask(name);
}
});
};
const actionMap = new Map();
actionMap.set("input.welcome", inputWelcome);
app.handleRequest(actionMap);
};