Las variables agente se aplican durante una sola sesión de usuario. Usted especifica qué variables deben tratarse como variables agente para distinguirlas de las variables de nivel de tema.
Creación de una variable global
Puede crear una variable global cambiando el alcance de una variable de tema.
Cree una variable o utilice el panel Variables para abrir una variable existente.
En el panel Propiedades de las variables, seleccione Global (cualquier tema puede acceder).
Se agregará al nombre de la variable una cadena de prefijo Global.
para diferenciarla de las variables de nivel de tema. Por ejemplo, ahora la variable UserName
se muestra como Global.UserName
.
Guarde el tema.
El nombre de una variable global debe ser único en todos los temas. En caso de conflicto, deberá cambiar el nombre de la variable antes de guardar el tema.
Uso de variables globales
Cuando esté redactando un mensaje agente en un nodo Mensaje o en un nodo Pregunta, Seleccionar haga clic en el ícono {x} para ver las variables que están disponibles para tema. Las variables globales aprecedn en la pestaña Personalizado junto con cualquier variable tema. Las variables se enumeran en orden alfabético.
Buscar todos los temas mediante una variable global
Puede encontrar dónde se definió por primera vez y qué otros temas la están utilizando. Esto puede ser útil si estás trabajando en un nuevo agente, o si tienes múltiples variables y ramificaciones complejas de tema.
Seleccione una variable global en el lienzo de creación o abra el panel Variables y seleccione una variable global.
En el panel Propiedades de variables, en la sección Referencia, seleccione cualquiera de los temas donde se usa la variable para ir directo a ese tema y nodo.
Ciclo de vida de las variables globales
De forma predeterminada, el valor de una variable global persiste hasta que finaliza la sesión. El nodo Borrar valores de variables restablece los valores de las variables globales y se utiliza en el tema del sistema Restablecer conversación tema. Ese tema puede activarse mediante la redirección o cuando el usuario escribe una frase desencadenante como "Comenzar de nuevo". En ese caso, todas las variables globales se restablecen.
Establecer el valor de una variable global desde orígenes externos
Si desea asegurarse de que agente inicie una conversación con algún contexto, puede inicializar una variable global con una fuente externa. Digamos que su sitio requiere que los usuarios inicien sesión. Dado que su agente ya conoce el nombre de un usuario, puede saludar a los clientes por su nombre antes de que comiencen a escribir su primera pregunta.
Seleccione un avariable global.
En el panel Propiedades de variable, seleccione Las fuentes externas pueden establecer valores.
Establecer variables globales en un agente incrustado
Si está incrustando su agente en una página web simple, puede agregar variables y sus definiciones a la URL de agente. O, si desea tener un poco más de control, puede usar un bloque de código <script>
para llamar y usar variables programáticamente.
El nombre de la variable en la cadena de consulta de la URL debe coincidir con el nombre de la variable global, sin el prefijo Global.
. Por ejemplo, una variable global Global.UserName
se denominaría UserName
en la consulta.
Los ejemplos siguientes hacen una declaración sencilla para las variables. En un escenario de producción, puede pasar como parámetro de consulta o definición de variable otra variable que ya ha almacenado el nombre del usuario (por ejemplo, si tiene el nombre de usuario de un script de inicio de sesión).
Agregue las variables y sus definiciones a la URL de agente como parámetros de cadena de consulta en el formato botURL?variableName1=variableDefinition1&variableName2=variableDefinition2
.
Por ejemplo:
En el nombre de parámetro no se distinguen mayúsculas de minúsculas. Esto significa que username=Renata
también funcionará en este ejemplo.
Agregar la variable a un lienzo personalizado
También puede agregar la variable a un lienzo personalizado.
En la sección <script>
de la página donde tienes tu agente, define las variables de la siguiente manera, sustituyendo variableName1
por el nombre de la variable sin el prefijo Global.
y variableDefinition1
por la definición. Separe múltiples variables con comas (,
).
const store = WebChat.createStore({}, ({ dispatch }) => next => action => {
if (action.type === 'DIRECT_LINE/CONNECT_FULFILLED') {
dispatch({
type: "WEB_CHAT/SEND_EVENT",
payload: {
name: "pvaSetContext",
value: {
"variableName1": "variableDefinition1",
"variableName2": "variableDefinition2"
}
},
});
}
return next(action);
});
En tu sección, llama a <script>
cuando incrustes tu agente, como en el siguiente ejemplo donde se llama a store
justo encima de dónde se llama a store
(necesitarás reemplazar styleOptions
con el ID de tu agente): BOT_ID
const BOT_ID = "12345-5678";
const theURL = "https://powerva.microsoft.com/api/botmanagement/v1/directline/directlinetoken?botId=" + BOT_ID;
fetch(theURL)
.then(response => response.json())
.then(conversationInfo => {
window.WebChat.renderWebChat(
{
directLine: window.WebChat.createDirectLine({
token: conversationInfo.token,
}),
store,
styleOptions
},
document.getElementById('webchat')
);
})
.catch(err => console.error("An error occurred: " + err));
Las variables agente se aplican durante una sola sesión de usuario. Debe especificar las variables que se tratan como variables agente para distinguirlas de las variables de nivel de tema.
Establecer variables de agente
Después de configurar una variable agente, estará disponible para todos los temas.
Cuando presionas el botón Seleccionar en un nodo de mensaje o de pregunta mientras estás redactando un mensaje agente, verás que la variable agente está disponible. {x}
Las variables están ordenadas en orden alfabético, por lo que encontrará que todas las variables agente están agrupadas en el menú de variables porque todas comienzan con agent.
.
Cuando utilice un nodo de condición, un nodo de acción de flujo o un nodo capacidad, también verá variables agente disponibles allí.
Reutilice una variable en todos los temas configurándola como una variable agente
Seleccione cualquier variable en el lienzo de creación.
En el panel Propiedades de la variable , en Uso, Seleccionar agente (cualquier tema puede acceder).
Al nombre de la variable se le asignará una cadena de prefijo agent.
, para diferenciarla de las variables de nivel de tema. Por ejemplo, la variable UserName
ahora se muestra como agent.UserName
.
Nota
El nombre de una variable agente debe ser único en todos los temas. En caso de conflicto, deberá cambiar el nombre de la variable antes de guardar el cambio.
Administrar variables de agente
Después de haber creado una variable agente, puedes ver dónde se define por primera vez y qué otros temas la están usando. Esto puede ser útil si estás trabajando en un nuevo agente, o si tienes múltiples variables y ramificaciones complejas de tema.
Ir a la fuente de la definición de una variable agente
Seleccione cualquier variable en el lienzo de creación.
En el panel Propiedades de las variables, seleccione Ir a origen.
Esto lo llevará al nodo en tema donde se creó la variable agente.
Encuentre todos los temas utilizando una variable agente
Seleccionar cualquier variable agente en el lienzo de creación.
En el panel Propiedades de variables, en la sección Usado por, seleccione cualquiera de los temas donde se usa la variable para ir directamente a ese tema y nodo.
Inicialización de la variable agente
Si se activa una variable agente antes de haber sido inicializada (o "rellenada"), agente activa automáticamente la parte de tema donde se define por primera vez la variable agente (incluso cuando está en un tema diferente) antes de regresar al tema original. Esto permite que agente tenga todas las variables completadas sin interrumpir la conversación.
Por ejemplo, el cliente inicia la conversación en la sección "Reserva de cita" tema, en la que se utiliza una variable agente agent.UserName
. Sin embargo, la variable se define primero en la "Bienvenida" tema. agent.UserName
Cuando la conversación llega al apuntar en la "Reserva de cita" tema donde se hace referencia a agent.UserName
, el agente gira sin problemas al nodo de pregunta donde se define primero agent.UserName
.
Después de que el cliente responde la pregunta, el agente reanuda la "Reserva de cita" tema.
Comportamiento de la variable agente al implementar acciones a través de Power Automate flujos o capacidades
A veces, puedes usar un flujo o capacidad para inicializar o completar una variable en un agente.
Sin embargo, cuando un usuario interactúa con agente, la variable puede completarse en un apuntar anterior en la conversación, o puede tener Ya configuré las variables externamente.
En esta situación, el flujo o la habilidad seguirá ejecutándose y completará la variable, sobrescribiendo lo que estuviera almacenado previamente en la variable.
Ciclo de vida de las variables agente y restablecimiento de su valor
Las variables agente son accesibles desde cualquier tema, y el valor asignado a la variable agente persiste durante toda la sesión .
El valor solo se borra cuando el usuario agente es redirigido a Comenzar de nuevo tema, o cuando el usuario activa este tema directamente (por ejemplo, escribiendo Comenzar de nuevo). En este caso, todas las variables agente se restablecerán y no tendrán ningún valor.
Establecer el valor de una variable de agente desde orígenes externos
Puede configurar una variable de agente para que se inicialice con un origen externo. Esto permite al agente iniciar la conversación con algo de contexto.
Por ejemplo, un cliente abre un chat agente desde su sitio web y el sitio ya conoce el nombre del cliente. Le permite al agente saber el nombre del usuario antes de iniciar la conversación, y el agente puede tener una conversación más inteligente con el cliente sin tener que preguntarle su nombre nuevamente.
Establecer la variable agente desde una fuente externa
Seleccione cualquier variable en el lienzo de creación.
En el panel Propiedades de variables, en la sección Uso, seleccione la casilla Los orígenes externos pueden establecer valores.
Puede agregar las variables y sus definiciones si simplemente está incrustando su agente en una página web simple, o puede usar un <script>
bloque de código para llamar y usar variables programáticamente.
Nota
El nombre de la variable en la cadena de consulta debe coincidir con el de la variable agente, sin el prefijo agent.
. Por ejemplo, una variable agente agent.UserName
debe representarse como UserName=
.
En los ejemplos que se describen aquí se realiza una declaración sencilla para las variables. En un escenario de producción, puede pasar como parámetro de consulta o definición de variable otra variable que ya ha almacenado el nombre del usuario (por ejemplo, si tiene el nombre de usuario de un script de inicio de sesión).
Para agregar la variable a un agente incrustado
Agregue las variables y sus definiciones a la URL de agente como parámetros de cadena de consulta (en el formato de botURL?variableName1=variableDefinition1&variableName2=variableDefinition2
), por ejemplo:
En el nombre de parámetro no se distinguen mayúsculas de minúsculas. Esto significa que username=Renata
también funcionará en este ejemplo.
En la sección <script>
de la página donde tienes tu agente, define las variables de la siguiente manera, sustituyendo variableName1
por el nombre de la variable sin el prefijo agent.
y variableDefinition1
por la definición. Separe múltiples variables con comas: ,
.
const store = WebChat.createStore({}, ({ dispatch }) => next => action => {
if (action.type === 'DIRECT_LINE/CONNECT_FULFILLED') {
dispatch({
type: "WEB_CHAT/SEND_EVENT",
payload: {
name: "pvaSetContext",
value: {
"variableName1": "variableDefinition1",
"variableName2": "variableDefinition2"
}
},
});
}
return next(action);
});
Dentro de su sección, llame a <script>
cuando incruste su agente, como en el siguiente ejemplo donde store
se llama justo encima de dónde store
se llama (necesitará reemplazar styleOptions
con su ID): BOT_ID
const BOT_ID = "12345-5678";
const theURL = "https://powerva.microsoft.com/api/botmanagement/v1/directline/directlinetoken?botId=" + BOT_ID;
fetch(theURL)
.then(response => response.json())
.then(conversationInfo => {
window.WebChat.renderWebChat(
{
directLine: window.WebChat.createDirectLine({
token: conversationInfo.token,
}),
store,
styleOptions
},
document.getElementById('webchat')
);
})
.catch(err => console.error("An error occurred: " + err));
Eliminar variables agente
Al eliminar una variable agente utilizada en otros temas, las referencias a esa variable en los temas se marcarán como Unknown
.
Recibirás una advertencia sobre la eliminación de la variable agente antes de que puedas confirmar la operación.
Los nodos que contienen referencias a la variable agente eliminada le indicarán que contienen una variable desconocida.
Los temas con nodos que contienen referencias a variables agente eliminadas podrían dejar de funcionar. Asegúrese de eliminar o corregir todos los temas que estaban usando la variable eliminada antes de publicar.
Dependiendo de la configuración de autenticación de agente, tendrá un conjunto de variables agente asociadas con el proveedor de autenticación disponible para usted. Para obtener detalles sobre qué conjunto de variables están disponibles y cómo usarlas, consulte el tema de la documentación Agregar autenticación de usuario final a temas.