Language

TeamsMessagePreviewSendRouteAttribute Constructor

Definition

Attribute to define a route that handles Teams message extension agent message preview send events for a specific command.

public TeamsMessagePreviewSendRouteAttribute(string commandId = default, string commandIdPattern = default, bool isAgenticOnly = false, ushort rank = 32767, string signInHandlers = default);
new Microsoft.Agents.Extensions.MSTeams.MessageExtensions.TeamsMessagePreviewSendRouteAttribute : string * string * bool * uint16 * string -> Microsoft.Agents.Extensions.MSTeams.MessageExtensions.TeamsMessagePreviewSendRouteAttribute
Public Sub New (Optional commandId As String = Nothing, Optional commandIdPattern As String = Nothing, Optional isAgenticOnly As Boolean = false, Optional rank As UShort = 32767, Optional signInHandlers As String = Nothing)

Parameters

commandId
String

The message extension command ID to match. Mutually exclusive with commandIdPattern.

commandIdPattern
String

The message extension command ID pattern to match using regular expressions. Mutually exclusive with commandId.

isAgenticOnly
Boolean

When true, the route only fires for agentic turns. Defaults to false.

rank
UInt16

Route evaluation order. Lower values run first. Defaults to Unspecified.

signInHandlers
String

A comma/space/semicolon-delimited list of OAuth sign-in handler names, or the name of an instance method on the agent class matching Func<ITurnContext, string[]>.

Remarks

Decorate a method with this attribute to register it as a handler for message extension agent message preview send events in Teams. The method must match the MessagePreviewSendHandler delegate signature.

[TeamsMessagePreviewSendRoute("composeCmd")]
public async Task OnMessagePreviewSendAsync(ITeamsTurnContext turnContext, ITurnState turnState, IActivity activityPreview, CancellationToken cancellationToken)
{
    // Post the confirmed message to a channel or external system
    var content = activityPreview.Attachments?.FirstOrDefault()?.Content;
    await _channel.PostAsync(content, cancellationToken);
}

Alternatively, OnMessagePreviewSend(String, MessagePreviewSendHandler, String[], UInt16) can be used to register the handler via the fluent API.

Applies to