How to schedule and manage Azure Service Bus messages

Updated July 21, 2026

Azure Service Bus scheduled delivery stores a message now but does not make it available to normal receivers until its scheduled enqueue time. In QueueExplorer, create a new message with a future time or select existing active messages and choose Schedule Messages. You can use an exact date and time or a relative delay such as five minutes from now.

QueueExplorer's Scheduled view lets you inspect pending scheduled messages and their times, then cancel, delete, reschedule, copy, or release them for immediate processing.

Scheduling is a one-time enqueue, not a recurring job. Before the scheduled time, the message has a scheduled-state Sequence Number that can be used to cancel it. When it becomes active, Azure Service Bus appends it to the entity and assigns a new Sequence Number.

When scheduled delivery fits

Schedule a message when it should enter normal delivery at a known future time. Common cases include:

  • an application retry after a controlled backoff period;
  • a workflow timeout or reminder;
  • release of work after a contractual or business deadline;
  • a deferred-message reminder carrying the original Sequence Number; or
  • a one-time test message for a future deployment window.

Use an application scheduler or workflow engine when you need recurring execution, calendars, dependencies, cancellation policies, or an auditable job history. Azure Service Bus schedules individual messages once.

1. Schedule one or more messages

You can schedule a new message directly, or resubmit selected active messages for future delivery. For an existing-message workflow:

  1. Open the queue or topic subscription and find the messages by body, IDs, Session ID, or application properties.
  2. Inspect and back up the selection. Pause competing consumers when the selection must stay stable.
  3. Right-click and choose Schedule Messages.
  4. Choose a relative interval or an exact time and confirm the time zone shown by the dialog.
  5. Complete the operation, then verify each message in the Scheduled view.
Schedule Messages command for selected Azure Service Bus messages in QueueExplorer
Schedule a reviewed selection for one-time future delivery
Choosing a relative interval or exact time for Azure Service Bus scheduled messages
Choose a relative delay or confirm an exact enqueue time

Scheduling selected active messages creates scheduled copies and settles the originals as required by the operation. Broker-owned properties change. If you need the original delivery retained as well, use Copy and schedule the copy rather than moving the original.

Session-enabled destinations require a Session ID. If the destination uses duplicate detection, preserving a Message ID that is still inside its detection window may suppress the scheduled copy, so verify the Scheduled view instead of relying only on a successful command.

Download QueueExplorer

Free trial for Windows, macOS, and Linux

2. Browse scheduled Azure Service Bus messages

  1. Expand the queue in QueueExplorer to show its message-state views.
  2. Select Scheduled.
  3. Add Scheduled At, Sequence Number, Message ID, Session ID, body, and application properties as columns.
  4. Sort by Scheduled At and filter the loaded messages to audit the upcoming work.
Scheduled Azure Service Bus messages view under a queue in QueueExplorer
Open the Scheduled view to inspect messages before their enqueue time
Scheduled At column for Azure Service Bus messages in QueueExplorer
Use the Scheduled At column to review the release order and timing

Azure Service Bus Peek can discover scheduled queue messages. Scheduled topic messages remain on the topic before their enqueue time and do not appear when peeking a subscription. Topic-level browsing is required to discover them before Azure Service Bus evaluates subscription rules at activation.

3. Cancel, reschedule, copy, or release scheduled messages

  • Cancel or delete: remove the scheduled message before its enqueue time using its scheduled-state Sequence Number.
  • Reschedule: cancel the existing scheduled message and create another with the corrected time; verify both effects.
  • Release now: move it back to the original queue for immediate processing. This creates a new active message and removes the pending scheduled copy.
  • Move or copy elsewhere: send a new message to another queue or topic, accounting for destination sessions, duplicate detection, TTL, and topic rules.
  • Back up: save the message before cancellation when an operator may need to reconstruct it.

Always refresh after a state-changing action. If the scheduled time passed during the operation, cancellation by the old Sequence Number can no longer find the message because activation assigned a new Sequence Number.

Important scheduled-message behavior

  • The time is an availability time. It does not guarantee a consumer will start or finish work at that instant; backlog, locks, quotas, and consumer capacity still apply.
  • The scheduled Sequence Number is temporary. It is valid for cancellation only while the message remains scheduled.
  • Activation appends a new active record. Azure Service Bus assigns a new Sequence Number when the message becomes available.
  • There is no recurring schedule. Create each occurrence explicitly or use a workflow scheduler.
  • Topic routing happens at activation. The rules present then determine which subscriptions receive copies.
  • Large-message API behavior differs. Microsoft documents that messages larger than 1 MB must be scheduled through a regular send with ScheduledEnqueueTimeUtc, not the schedule-message API.

See Microsoft's message sequencing and scheduled delivery documentation for the current protocol behavior.

Scheduled delivery versus deferral

Question Scheduled message Deferred message
Why is it unavailable?Its future enqueue time has not arrivedA receiver explicitly set it aside
How does it return?Automatically becomes active at the scheduled timeA client retrieves it by Sequence Number or replays it
Primary key while pendingScheduled-state Sequence NumberDeferred message Sequence Number
Typical useDelay, timeout, reminder, timed releaseA specific message awaits a workflow prerequisite

Production scheduling checklist

  • Store and display times in UTC internally; show the intended business time zone explicitly to operators.
  • Record the returned scheduled Sequence Number, Message ID, entity, and scheduled UTC time.
  • Make consumers idempotent in case a cancel-or-reschedule workflow produces an extra delivery.
  • Check Session ID, duplicate detection, TTL, topic filters, and destination quotas.
  • Use a canary message before scheduling a large batch.
  • Monitor scheduled inventory and alert on messages overdue beyond an acceptable tolerance.
  • Back up important messages before bulk cancellation or rescheduling.

Frequently asked questions

Can I browse scheduled Azure Service Bus messages?

Yes. QueueExplorer provides a Scheduled view with scheduled times. Azure Service Bus Peek includes scheduled queue messages; scheduled topic messages must be browsed at the topic before activation, not through a subscription.

Can I cancel a scheduled message?

Yes, before it activates, using the Sequence Number assigned while it is scheduled. After activation that number is no longer valid and the active message has a new Sequence Number.

Does Azure Service Bus support recurring scheduled messages?

No. Each scheduled message represents one future enqueue. Use an application scheduler or workflow engine for recurrence.

Will a message be processed exactly at its scheduled time?

No. The scheduled time controls when the message becomes available. Actual processing depends on consumer availability, backlog, locks, throttling, and downstream capacity.

If processing depends on another event rather than a clock, read how Azure Service Bus deferral works.

QueueExplorer: a better way to inspect and manage Azure Service Bus

QueueExplorer showing Azure Service Bus messages

See what is happening in Azure Service Bus and resolve message problems without writing one-off tools. Browse queues and topic subscriptions, inspect message contents, and manage your Azure Service Bus environment from one desktop application. Try it free on Windows, macOS, or Linux.

Download QueueExplorer     Learn more