Definir acciones (Dialogflow)

Para definir acciones en Dialogflow, debes crear intents en tu agente de Dialogflow y asignarlos como puntos de entrada a tu acción. Puedes crear los siguientes tipos de acciones:

  • Acción predeterminada: Cada agente de Dialogflow debe tener una sola acción que se invoque cuando los usuarios soliciten tu acción por su nombre (por ejemplo, "Ok Google. Habla con datos sobre Google" o también "Ok Google. Permíteme hablar con Datos sobre Google").
  • Intents adicionales para establecer un vínculo directo con la conversación: Estas Acciones se activan cuando los usuarios invocan la Acción por su nombre y especifican una frase de invocación (por ejemplo, "hablar con Datos sobre Google para ver datos históricos").

Consulta Intents e invocación para obtener más información sobre cómo funcionan estos modelos de invocación.

Cómo definir una acción predeterminada

Cada agente de Dialogflow debe tener solo un intent que controle el evento GOOGLE_ASSISTANT_WELCOME. Este intent se activa cuando los usuarios invocan tu acción por su nombre (por ejemplo, "Hey Google, habla con Datos sobre Google").

Puedes definir el evento GOOGLE_ASSISTANT_WELCOME de las siguientes maneras:

Desde el editor de intents en la consola de Dialogflow:

  1. Haz clic en Intents, en el menú de navegación.
  2. Selecciona el intent que deseas establecer como evento de bienvenida.
  3. En la sección Eventos del intent, ingresa GOOGLE_ASSISTANT_WELCOME.
  4. Haz clic en Guardar.

    Figura 1: Captura de pantalla de la sección Eventos de un intent de Dialogflow.

Desde la ventana modal de integración del Asistente de Google:

  1. Haz clic en Integraciones en el menú de navegación y, luego, en Asistente de Google.
  2. Haz clic en la X para quitar el elemento actual del campo Invocación explícita.
  3. En el cuadro Intent de bienvenida, selecciona el intent que deseas establecer como evento de bienvenida.

    Figura 2. Captura de pantalla de la ventana modal de integración del Asistente de Google en la consola de Dialogflow.

Cuando veas la sección Events (Eventos) del intent, deberías ver que ahora tiene configurado el evento GOOGLE_ASSISTANT_WELCOME (consulta la Figura 1).

Habilita la entrega

Según la configuración predeterminada, un intent de Dialogflow muestra una respuesta estática, que se especifica en la sección Respuesta del intent. Esta configuración puede ser suficiente para acciones simples que solo necesitan responder con el mismo mensaje cuando se invocan. Sin embargo, si deseas que el intent muestre una respuesta dinámica, debes proporcionar una entrega que pueda procesar lógica compleja y redactar una respuesta en tiempo real para el intent.

Para habilitar la entrega de un intent, haz lo siguiente:

  1. Desplázate hasta la parte inferior del editor de intents de un intent.
  2. Haz clic en Entregas y selecciona Habilitar llamada de webhook para este intent.

    Figura 3. Captura de pantalla de la sección Entrega de un intent de Dialogflow.

Consulta Entrega de compilación para obtener información sobre cómo controlar este intent cuando se activa.

Cómo definir acciones adicionales

Puedes proporcionar acciones adicionales que actúen como puntos de entrada en tu conversación. Esta configuración permite a los usuarios especificar más detalles sobre lo que quieren hacer (por ejemplo, "Hablar con datos sobre Google para encontrarme datos históricos").

Para definir acciones adicionales en Dialogflow, sigue estos pasos:

  1. Crea un intent para una acción específica que quieras compilar.
  2. En la sección Frases de entrenamiento del intent, especifica los patrones que activan esta acción. Por ejemplo, si quieres que la acción se invoque con la frase "Hablar con datos sobre Google para encontrar datos históricos", proporciona las siguientes frases de entrenamiento:

    • "Búscame datos históricos"
    • "Buscar hechos históricos"
    • "Muéstrame datos históricos de la empresa"
    • "Lee algunos datos sobre la sede central"
    • "Cuéntame algunos datos sobre su oficina central

    Recomendamos al menos 10 frases de entrenamiento por intent.

  3. Si quieres habilitar la entrega para el intent, desplázate hasta la parte inferior de la pantalla, haz clic en Entrega y selecciona Habilitar llamada de webhook para este intent. (Consulta Entrega de compilación para obtener más detalles sobre la entrega).

  4. Haz clic en Guardar.

  5. Haz clic en Integraciones en el menú de navegación y, luego, en Asistente de Google. (aparecerá la ventana modal del Asistente de Google).

  6. En la sección Invocación implícita, agrega el intent.

    Figura 4. Captura de pantalla de la sección Invocación implícita en la ventana modal de integración de Asistente de Google

Cuando defines Acciones, se aplican las siguientes restricciones y lineamientos:

  • No incluyas las palabras reservadas en las frases de invocación.
    • Por ejemplo, no comiences tus frases de invocación con "hablar con" o "déjame hablar con él".
  • No especifiques frases de entrenamiento que contengan solo una entidad @sys.any.
    • Sé mucho más específico, por ejemplo, find recipes for @sys.any.

Controla una acción no reconocida

Cuando los usuarios intentan invocar una acción que tus acciones no reconocen, Dialogflow puede activar un intent para manejar estos casos.

Para habilitar este comportamiento, crea un intent nuevo con un contexto de entrada de google_assistant_welcome y especifica las respuestas adecuadas para los usuarios:

  1. En el menú de navegación, haz clic en Intents.
  2. Haz clic en Crear intent y asígnale un nombre.
  3. En la sección Contextos, especifica google_assistant_welcome como el contexto de entrada y presiona la tecla Intro. (Después de ingresar el contexto de entrada, google_assistant_welcome aparece como un contexto de salida).
  4. Haz clic en x para quitar ese contexto de salida.

  5. En las Frases de entrenamiento, agrega banana (o cualquier otro sustantivo) como una expresión del usuario.

  6. Haz doble clic en banana y selecciona @sys.any. (Usamos la entidad @sys.any para indicarle a Dialogflow que generalice la expresión a cualquier gramática, no solo a banana).

  7. En la sección Respuesta, especifica una respuesta con $any. Por ejemplo, usa la siguiente respuesta:

    • I'm sorry, I don't know how to help with $any.

  8. Haz clic en Guardar.