Share via


Set topic triggers

For agents that use generative orchestration, the default topic trigger is By agent. It activates when the agent determines that the topic's name and description specified on the Trigger node match with the incoming message from the user.

For agents that use classic orchestration, the default topic trigger is Phrases. It activates when one or more of the specified trigger phrases match closely with an incoming message from a user. There are other trigger types available that determine when a topic should be executed.

Prerequisites

Become familiar with creating and editing topics.

Trigger types

Triggers make it possible for your agent to intercept and handle different events or incoming activities of different types. The following trigger types determine when a topic should trigger.

Tip

When a user sends a message to an agent, the payload is a message of type activity. Agents can receive activities of other types depending on what happens in the chat or other events.

For example, Microsoft Teams sends hidden activities of type invoke, which signifies a user action, such as interacting with a Message Extension.

Type Description
By agent Available for agents that use generative orchestration. Fires when the agent determines that the topic's name and description specified on the Trigger node match with the incoming message from the user.
Phrases Available for agents that use classic orchestration. Fires when one or more of the trigger phrases match with the incoming message from a user.
Message received Fires when an activity of type message—the most common type of activity—is received. Received when a user types or says something to the agent.
Event received Fires when an activity of type event is received. By default, all event activities are responded to. Use the Event name property within the trigger properties to filter for a specific event.
Activity received Fires when an activity of any type is received. You can optionally set the Activity type property in the trigger properties to filter for a specific activity type.
Conversation update received Fires when an activity of type conversationUpdate is received. For example, Teams sends an activity of this type when a user joins a conversation.
Invoke received Fires when an activity of type invoke is received. Most commonly received from the Teams channel—for example, when the user interacts with a Message or Search extension in Teams.
On redirect Fires when when the topic is called explicitly by another topic. Set the desired inactivity time using the Inactivity duration property in the trigger properties.
Inactivity Fires when a user hasn't interacted with the agent after a configured period of time.
Plan complete Available for agents that use generative orchestration. Fires when the agent finished executing all planned steps to respond to a user query or autonomous trigger.
AI response generated Available for agents that use generative orchestration. Fires when the agent generates a response for a user after calling one or more topics, actions, or knowledge sources. Use the Response.FormattedText system variable to see the generated response. Set the ContinueResponse variable to false if you want to prevent the orchestration response being sent (for example, if you modify the message and send your own using a message node).

Change the trigger for a topic

  1. Go to the Topics page for your agent, and open the desired topic.

  2. Hover over the box of the Trigger node and select the Change trigger icon.

    Screenshot showing the ___location of the 'Change trigger' icon on a Trigger node.

  3. Select the appropriate type of trigger for your topic.

    • For the By agent trigger, describe when your agent should use this topic.
    • For the Phrases trigger, enter the desired trigger phrases.
  4. Select Edit on the trigger box. The properties panel for the specified trigger type appears.

  5. Set the applicable properties for your trigger:

Trigger condition

Specify conditions that must be met in order for the trigger to fire. For example, you might want the trigger to fire only if the channel used by an employee is Microsoft Teams.

Screenshot of a trigger condition.

If you need more complex conditions, you can switch to the Power Fx formula editor: select Builder then select Formula.

Screenshot showing the option to go to the formula editor.

Trigger priority

More than one trigger can fire for a single incoming activity, such as a message. The trigger type determines the order the triggers fire.

Order of execution:

  1. Activity Received
  2. Message / Event / Conversation update / Invoke received
  3. By agent / Phrases

If there are more than one qualifying triggers of the same type, the triggers get executed in the order of creation (oldest first).

You can set the Priority property to explicitly determine the order of execution.