Schedules
  • 09 Aug 2026
  • 10 Minutes to read
  • Dark
    Light
  • Download PDF

Schedules

  • Dark
    Light
  • Download PDF

Article summary

Introduction

The primary objective of Cost Analyzer is to deliver an effective cost management solution that helps users reduce Azure subscription costs based on resource utilization.

As an initial step toward cost optimization, Cost Analyzer enables users to lower resource expenses by scheduling resources to deallocate or scale down according to business operating hours.

The Schedules feature in Cost Analyzer allows users to create optimization schedules and associate resources by defining tiers, throughput values, and resource states based on weekly or monthly up and down hours.

In addition, users can configure recurrence settings so that optimization schedules run automatically at defined intervals.

Savings from scheduled resources.PNG

Watch the video below for a brief overview of this feature.

Supported resource types

The following resource types can be scheduled for automation:

1. App Service Plan

  • An App Service Plan's pricing tier can be scheduled to run at a higher tier during Up hours and a lower tier during Down hours.

  • The Up and Down config values determine the tiers that should be set to the resources in the Up and Down hours, respectively.

App service plan.png

1.1. App service plan (Workflow Standard SKU)

  • The Workflow Standard's pricing tier can be scheduled to run at a higher tier during Up hours and lower tier during Down hours.

  • The Up and Down config values determine the tiers that should be set to the resources in the Up and Down hours respectively.

App service plan workflow.png

2. Azure Database for MySQL flexible server

The Up and Down config of an MYSQL flexible server can be scheduled to run at a higher tier during Up hours and a lower tier during Down hours (or) initiate server startup/shutdown.

Selecting resize option from the configuration dropdown value will allow to configure the compute tier, compute size and IOPS.

MYSQL flexiserver.png

image2.png

Please note that the storage size cannot be scaled down once the server is created.

3. Bastion

  • A Bastion host's scale units can be scheduled to run at a higher count during Up hours and a lower count during Down hours.

  • The Up and Down config values determine the number of scale units set during Up and Down hours, respectively. Only the Standard and Premium tiers support scaling; the Basic tier does not.

  • Bastion Standard supports between 2 and 50 scale unit instances.

Bastion.png

4. Cosmos SQL Container

  • The throughput value of a Cosmos SQL Container can be scheduled to run at a higher value during Up hours and a lower value during Down hours.

  • The Up and Down config values determine the throughput values that should be set to the resources in the Up and Down hours, respectively.

Cosmos sql container.png

5. Cosmos SQL Database

  • The throughput value of a Cosmos SQL Database can be scheduled to run at a higher value during Up hours and a lower value during Down hours.

  • The Up and Down config values determine the throughput values that should be set to the resources in the Up and Down hours, respectively.

Cosmos sql db.png

6. Cosmos Table

  • The throughput value of a Cosmos Table can be scheduled to run at a higher value during Up hours and a lower value during Down hours.

  • The Up and Down config values determine the throughput values that should be set to the resources in the Up and Down hours, respectively.

Cosmos table.png

7. Data Factory Pipelines

  • Pipeline triggers can be scheduled to start in Up hours and stop in Down hours.

Data factory pipeline.png

8. Fabric Capacity

  • The Up and Down hours can be scheduled to adjust the pricing tier of fabric capacity (or) to trigger resume and pause actions.

Capacity state.png

9. Logic Apps

  • Logic Apps can be scheduled to run in the Up hours and stopped in the Down hours.

Logic app.png

10. SQL Database

  • The pricing tier of an SQL DB can be scheduled to run at a higher tier during Up hours and a lower tier during Down hours.

  • The Up and Down config determines the pricing tier that should be set to the resources in the Up and Down hours, respectively.

Sql database.png

  • The DTU count and Data max size can be customized for the DTU-based purchasing model. In contrast, the hardware configuration for Vcore-based purchasing models can be customized.

image2.png

11. SQL Elastic Pool

  • The pricing tier of an SQL Elastic pool can be scheduled to run at higher tier during Up hours and a lower tier during Down hours.

  • The Up and Down config determines the pricing tier that should be set to the resources in the Up and Down hours, respectively.

Sql elastic pool.png

  • The DTU count and Data max size can be customized for the DTU-based purchasing model. In contrast, the hardware configuration for Vcore-based purchasing models can be customized.

12. SQL Managed Instances

  • The Up and Down config of an SQL Managed Instance can be scheduled to run at a higher tier during Up hours and a lower tier during Down hours (or) initiate a startup/shutdown.

Sql managed instance.png

  • The Vcore, Data max size, and Hardware configuration can be customized based on the Service tier.

image2.png

13. Synapse Pipelines

  • Pipeline triggers can be scheduled to start in Up hours and stop in Down hours.

Synapse pipeline.png

14. Virtual Machine

  • The Up and Down hours can be scheduled to upgrade/downgrade the virtual machine service tier (or) initiate startup/shutdown.

VM.png

15. Virtual Machine Scale Set

  • The Up and Down hours can be scheduled to upgrade/downgrade the service tier of virtual machine scalesets (or) initiate startup/shutdown.

VM scaleset.png

Note:
  • The Optimization schedule runs only once every hour, irrespective of the Up, Down, and Skip hours specified, and performs the necessary action.
  • The Optimization schedule run history data will be available only when the previous state and the next state are different.

Explain with AI

The Explain with AI icon (✦) is available at multiple points in the Schedules workflow and surfaces the same analysis as the Analyze resource scheduling AI Agent — evaluating whether a resource is a candidate for start/stop or scale-down scheduling based on its 14-day usage pattern, and returning a projected savings estimate with a confidence rating.

The icon appears in the following locations:

1. Schedules list — next to each schedule name in the Schedules list view. Click it to run the AI analysis for that schedule.

Explain with AI - Schedules grid.png

2. Resource rows — next to each resource row in the following contexts:

  • The Resource selection step when creating a new optimization schedule (Add optimization schedule wizard)
  • The Schedule resources panel when adding a resource to an existing schedule

Explain with AI - Resource selection.png

  1. The Resources tab of an open schedule (Scheduled Resources list)

Explain with AI - Resources tab.png

Click the ✦ icon next to a resource to open the AI analysis for that resource directly in context, without navigating to the AI Agents tab. Although the analysis is the same as the AI Agents tab, this option lets you instantly evaluate a resource while working on schedules — without leaving the Schedules view.

Schedule status monitoring

Schedule status monitoring alerts you when a schedule in a cost group has been disabled for longer than a configured number of days, helping you catch schedules that were turned off and never switched back on. You configure it once per cost group; all schedules in that group are monitored unless you add specific ones to the exclude list.

Navigate to Cost group > Optimization > Schedules > Actions > Schedule status monitoring to open the configuration modal.

Schedule status monitoring option.png

How it works

The days turned off counter starts the moment a schedule is disabled. It increments by one for each calendar day the schedule remains continuously in the disabled state. An alert fires when the counter exceeds the configured threshold — for example, a threshold of 7 triggers the alert on day 8. Once the alert fires, the repeat interval begins counting from that alert date and the alert re-fires at each interval for as long as the schedule stays disabled.

When a disabled schedule is re-enabled, the counter resets to zero. If it is disabled again later, counting starts fresh from the new disabled date — the previous count is not carried over.

Schedules in the exclude list are never evaluated, regardless of how long they have been disabled. If a schedule is added to the exclude list after already being disabled for several days, it is immediately removed from monitoring and will not trigger an alert even if the threshold has been exceeded. Removing a schedule from the exclude list resets its counter based on its current disabled state at the time of removal.

Enabling or disabling the monitoring does not affect the counter — the counter tracks only the schedule's own disabled state.

Configuration

The Schedule status monitoring modal has two tabs: Configuration and Incidents.

Configuration.png

The Configuration tab contains the following fields:

FieldDescriptionDefault
Enable schedule status monitoringMaster toggle. When off, no alerts fire regardless of other settings.Off
Alert if a schedule has been turned off for (days)Number of days a schedule must remain disabled before the first alert fires. Must be a positive integer.7
Repeat the alert every (days)How often the alert re-fires while the schedule stays disabled after the first alert. Must be a positive integer.7
Exclude schedulesSchedules to exclude from monitoring. Excluded schedules are never evaluated. When no schedules are excluded, the help text "No schedules excluded – every schedule in this group will be monitored." is shown.None
Escalation policyEscalation policy used when the alert fires.Default Escalation Policy
Recipient email addressOptional direct email recipient for the alert notification.
Email templateEmail template used for the alert.system template
Notification channelsOne or more configured channels (Teams, ServiceNow, Slack, PagerDuty, webhook, and others) to send the alert to. At least one channel must be selected before saving.

The Incidents tab lists all alert incidents generated by schedule status monitoring for the cost group. You can filter incidents by date and acknowledge, close, or reopen individual incidents from this tab. Acknowledging an incident stops the escalation policy for that incident.

Alert details.png

Schedule impact monitoring

Schedule impact monitoring alerts you when a schedule's actual spend has overshot its pre-schedule baseline — meaning the schedule is no longer maintaining its savings. Each schedule is alerted at most once per calendar month. You don't have to check Impact tracker manually to catch schedules that are costing more than their baseline.

It's accessible from Optimization > Schedules > Actions > Schedule impact monitoring.

Scheduleimpactmonitoring.png

Configuration

The Schedule impact monitoring modal contains the following fields:

FieldDescription
Enable schedule impact monitoringMaster toggle. When enabled, the monitor runs daily and sends an alert for any schedule whose actual spend has overshot its pre-schedule baseline (negative impact).
Escalation policyEscalation policy used when an alert fires. Defaults to Default Escalation Policy.
Notify the following notification channelsOne or more configured channels to send the alert to. Configure a Recipient email address and select additional channels as needed.

To configure schedule impact monitoring:

  1. Enable the Enable schedule impact monitoring toggle.
  2. Optionally, use Exclude schedules from this alert to search and select specific schedules to leave out of monitoring. By default, no schedules are excluded, and every schedule in the group is monitored.
  3. Under Alert configuration, select an Escalation policy.
  4. Configure the notification channel that receives alerts — set a Recipient email address and Email template, or select from configured channels.
  5. Click Save.

Schedule impact configuration.png

Incidents

Once enabled, an alert is triggered when a monitored schedule moves into negative impact — that is, its actual cost exceeds its baseline projection. Each alert is logged as an incident under the Incidents tab.

  • The Incidents list shows the incident Status (for example, Open), the Alert type (Schedule impact alert), the number of Issues, and when it was Created at.
  • Selecting an incident's status opens Alert details, listing the affected Schedule name along with its Cost, Baseline, and Baseline increase — the amount by which the schedule's cost exceeded its baseline.

ImpactScheduledetails.png

Task planner integration

Cost Analyzer integrates with Task planner to create tasks every time a resource is associated with an optimization schedule, ensuring that all rightsizing actions are systematically tracked and providing teams with clear visibility into upcoming and completed optimizations.

Task insights

  • A task is generated in Task planner each time a resource is linked to an optimization schedule - whether through scheduling recommendations, during schedule creation, or when adding new resources to an existing schedule.
  • Each task includes a detailed description of the savings achieved, the name of the schedule, and the optimization technique applied.

Accessing the task

The generated task will be available in the respective cost management group by clicking Tasks option from the three-dotted menu available within the Analysis section.

Tasks.png

Task details.png

  • Alternatively, the task can also be accessed through the Task planner, available under the My profile dropdown, for broader visibility across groups.

Task planner.png


Was this article helpful?