ContinueConversationLater Class


Action which schedules a conversation to be continued later by writing an EventActivity(Name=ContinueConversation) to a queue.

public class ContinueConversationLater : Microsoft.Bot.Builder.Dialogs.Dialog
type ContinueConversationLater = class
    inherit Dialog
Public Class ContinueConversationLater
Inherits Dialog


This class works by writing an EventActivity(Name=ConversationUpdate) to an azure storage queue with visibility policy to

make it visible at a future point in time.

The queue needs a process (such as a webjob/azure function) monitoring incoming activities and processing them by either:

  • posting the activity back to the bot itself via BotFrameworkHttpClient.PostActivityAsync(botId, botEndpoint, activity).


  • processing the activity directly via adapter.ProcessActivity(activity, ...);

    NOTE: adapter.ProcessActivity() understands that EventActivity(Name=ConversationUpdate) should be processed as ContinueConversation() pipeline.

This dialog returns the receipt information for the queued activity as the result of the dialog.


ContinueConversationLater(String, Int32)

Initializes a new instance of the ContinueConversationLater class.



The Kind name for this dialog.



Gets or sets the expression which resolves to the date/time to continue the conversation.


Gets or sets an optional expression which if is true will disable this action.


Gets or sets id for the dialog.

(Inherited from Dialog)

Gets the information of the cref="SourceRange"/>.

(Inherited from Dialog)

Gets or sets the IBotTelemetryClient to use for logging.

(Inherited from Dialog)

Gets or sets the value to pass in the EventActivity.Value payload.


BeginDialogAsync(DialogContext, Object, CancellationToken)
ContinueDialogAsync(DialogContext, CancellationToken)

Called when the dialog is continued, where it is the active dialog and the user replies with a new activity.

(Inherited from Dialog)
EndDialogAsync(ITurnContext, DialogInstance, DialogReason, CancellationToken)

Called when the dialog is ending.

(Inherited from Dialog)

Gets a unique string which represents the version of this dialog. If the version changes between turns the dialog system will emit a DialogChanged event.

(Inherited from Dialog)
OnDialogEventAsync(DialogContext, DialogEvent, CancellationToken)

Called when an event has been raised, using DialogContext.emitEvent(), by either the current dialog or a dialog that the current dialog started.

(Inherited from Dialog)
OnPostBubbleEventAsync(DialogContext, DialogEvent, CancellationToken)

Called after an event was bubbled to all parents and wasn't handled.

(Inherited from Dialog)
OnPreBubbleEventAsync(DialogContext, DialogEvent, CancellationToken)

Called before an event is bubbled to its parent.

(Inherited from Dialog)
RegisterSourceLocation(String, Int32)

Registers a cref="SourceRange"/> in the provided location.

(Inherited from Dialog)
RepromptDialogAsync(ITurnContext, DialogInstance, CancellationToken)

Called when the dialog should re-prompt the user for input.

(Inherited from Dialog)
ResumeDialogAsync(DialogContext, DialogReason, Object, CancellationToken)

Called when a child dialog completed this turn, returning control to this dialog.

(Inherited from Dialog)

Extension Methods

RunAsync(Dialog, ITurnContext, IStatePropertyAccessor<DialogState>, CancellationToken)

Creates a dialog stack and starts a dialog, pushing it onto the stack.

Applies to