- 07 Jan 2026
- 10 Minutes to read
- Print
- DarkLight
- PDF
Managing optimization schedules
- Updated on 07 Jan 2026
- 10 Minutes to read
- Print
- DarkLight
- PDF
Create a Schedule
- Go to Optimization section in a Cost group.
- Click Add / Create optimization schedule.
- Enter a name for the schedule.
- Set a timezone based on which scheduling is to be performed.
- Click Next.
Scheduling configuration
- The next step is to specify the up, down, or skip hours for the selected schedule type for the associated resources, and set the recurrence as required.

The optimization schedule includes 3 types for processing the associated resources, which are:
i) Weekly Schedule: Enables the user to configure the resource's uptime and downtime on a weekly basis based on usage patterns.

Additionally, it enables users to set up recurrence, allowing the schedule to process automatically at regular intervals within the specified time range. Users can also define a custom recurrence pattern to match specific needs, such as repeating every second Wednesday and Friday.

ii) Monthly Schedule: Enables the user to configure the resource's uptime and downtime on a monthly basis based on usage patterns.

Additionally, it enables the schedule to repeat automatically at regular monthly intervals and offers the option to define a time range for ending the recurrence.

iii) Daily Schedule: Allows the user to define the resource's start and end times for selected days to help optimize and reduce Azure costs.
During the start time, the resource is applied with the SKU specified in the up configuration or started, and during the end time, it is applied with the SKU specified in the down configuration or stopped.

Configure actions
The Configure Actions feature in Optimization Schedules enables users to trigger HTTP actions automatically before and after a schedule run. This allows seamless integration with external systems for notifications, validations, logging, or custom automation during schedule execution.

The Configure Actions section includes two tabs that define when HTTP actions are triggered during the schedule lifecycle:
1. Before Schedule Run
Executes HTTP actions before the schedule processing starts.
Allows pre-run validations, notifications, or preparatory tasks.
2. After Schedule Run
Executes HTTP actions after the schedule processing completes.
Enables post-run notifications, reporting, or follow-up automation.
Configuration Setup β Steps
Navigate to Optimization Schedules and add a schedule.
Open Configure Actions and choose Before Schedule Run, After Schedule Run, or both.
Add one or more HTTP actions by providing the URI, message, and headers.
Default headers are added automatically (schedule name, group name, action type).
Custom headers can be added, and default headers can be removed if needed.
Save the configuration.
During execution, Before Schedule Run actions trigger before the schedule processing starts and After Schedule Run actions trigger after the schedule processing completes.
After execution, schedule actions run details are displayed along with resource-level execution details in Run details section

Pause settings
In Cost Analyzer, the "Pause Optimization Schedule" feature allows users to temporarily halt or disable the processing of the automated schedules that are responsible for optimizing associated cloud resources. These schedules are typically configured to perform tasks such as stopping idle virtual machines, resizing underutilized resources, or applying cost saving actions based on recommendations.
By pausing these optimization schedules, users can maintain full control over resource behavior during critical periods, such as business hours, deployments, or testing phases. This functionality helps ensure that automated changes do not interfere with performance, access, or operational continuity.
When a Schedule Is Paused:
1. Pause Behavior
The schedule will not execute during the configured pause period.
All associated resources are skipped, regardless of their individual settings.
2. Alerts and Logs
No alerts or notifications are triggered while the schedule is paused.
All configurations and logs remain intact and accessible for reference.
3. Resuming the Schedule
The schedule automatically resumes after the specified pause end time.
Users can also resume the schedule manually by disabling the pause setting.
4. Manual Execution
- A paused schedule can still be manually executed using the Run option, independent of the pause configuration.

Steps to Enable Pause Settings
1. In the configuration table, click on the Time Settings dropdown.
2. Select the Pause Settings option from the dropdown menu.
3. Toggle the Pause switch to enable the configuration panel.
4. Configure Pause Options
Choose from the following recurrence types based on your scheduling needs:
- No Recurrence
Define a one-time window by specifying the start and end time during which the schedule should be paused. - Weekly Recurrence
Automatically pause the schedule on selected days and time ranges, repeating every week within the defined timeframe. - Monthly Recurrence
Configure the schedule to pause at regular monthly intervals using custom patterns, such as "every second Wednesday and Friday."
5. Add Multiple Rules
Use the Add Rule option to define multiple pause rules. This allows for flexible, recurring pause configurations to match complex scheduling needs β all without requiring manual intervention.
6. Click Save to apply the pause settings

The hours in green will be considered Up hours, those in red will be considered Down hours, and grey will be considered Skip hours.
The resources will be configured to the Up setting or started at the beginning of each Up hour, set to the Down setting or stopped at the beginning of each Down hour, or skipped at the beginning of each skip hour, based on the specified configuration.
- Click Next.
Resource selection
The column configuration grid in the Resource selection screen allows users to customize the resource view by adding or removing columns, including those related details. Additionally, users can rearrange the column order to ensure the displayed information aligns with their scheduling preferences and requirements.

- Select resources from the chosen subscriptions and assign a priority to define the execution order of the optimization schedule. Lower priority values trigger faster execution.

Additionally, the user can add a custom comment to the resource included in the schedule.

Configure actions (Resource-Level)
The Configure Actions feature at the resource level enables users to trigger HTTP actions for individual resources during an optimization schedule run. This feature is available for all resources across all supported resource types and allows integration with external systems at specific stages of resource processing.
The feature ensures that HTTP actions are executed before and after each associated resource is processed within a schedule.

For each resource associated with an optimization schedule, the Configure Actions option provides two tabs:
1. Before Resource Action Run
Executes HTTP actions before the processing of a specific resource begins.
Supports pre-processing validations, notifications, or custom automation.
2. After Resource Action Run
Executes HTTP actions after the processing of the specific resource is completed.
Supports post-processing notifications, logging, or follow-up automation.
Configure Actions (Resource-Level) β Set Up
Select the resources to be processed.
Open Configure Actions option of the selected resources from the resource selection section (available for all resource types).
Choose Before Resource Action Run or After Resource Action Run, or both.
Configure one or more HTTP actions by providing the URI and message.
Default headers are added automatically (Schedule Name, Group Name, Action Type, Resource ID); custom headers can be added and default headers can be removed if required.
Save the configuration.
Execution Behavior
When a schedule is executed and a resource is picked for processing:
HTTP actions configured under Before Resource Action Run are triggered before the resource processing starts.
The resource is then processed as per the schedule configuration.
HTTP actions configured under After Resource Action Run are triggered after the resource processing completes.
The Resource action runs details are included in the Schedule run details section.
This behavior is repeated for each associated resource in the schedule.

At present, the following resource types are available for optimization:
- App service plan
- Cosmos SQL container
- Cosmos SQL database
- Cosmos table
- Data Factory Pipeline
- Logic Apps
- SQL Database
- SQL Elastic pool
- SQL Managed Instances
- Synapse Pipeline
- Virtual machine
- Virtual machine scale set
Provide the Up and Down config values to the corresponding resources for the selected Up and Down hours.
Click Next.
The same resource can be added to multiple optimization schedules.
Notification Settings
- Configure notification channels to the schedule to receive notification when the optimization schedule run is complete.
- Click Next.
The user can also choose to receive alerts only when there is a failure for any of the scheduled resources while running the optimization schedule.
Summary
The schedule summary displays detailed information about the optimization schedule, including a Cost Savings chart that helps users gain insights on the cost that can be saved when resources are scheduled for optimization.
- Click Create optimization schedule to finish creating the schedule.
The Schedule runs once in every hour based on the provided timezone.
- The optimized SKU can only be applied when the Service Principal has Contributor access.
Currency selection
When creating a schedule, the Currency filter available in Resource selection allows users to select any available currency types to display cost values based on their preferences.
If the currency filter value is updated, any resource chosen prior to the update will be updated with the new currency type.

The currency type can be updated from the Schedule settings as well.

Export schedules
Optimization schedules can be downloaded as an excel workbook.
- Move to the Schedules section and click the Download icon.
The downloaded file includes available schedules along with associated cost details.

Scheduled resources

A resource can be added to an existing optimization schedule at any point by using the Schedule resources option available in the Scheduled Resources tab within Resources section.
All the scheduled resources will be listed in the Scheduled Resources tab within the Resources section.
The same resource can be added to multiple optimization schedules.
Cost Intelligence View integrated in Scheduled resources
The Cost Intelligence View provides a visual analysis of Azure resource spending within a subscription over the past 30 days. It uses interactive charts to highlight daily consumption patterns, helping users quickly identify anomalies, spending spikes, or consistent usage trends that may warrant further investigation.
By selecting a scheduled resource, users can access detailed cost trends, meter-level breakdowns, proactive optimization recommendations, and also save these details as a PDF reportβall within a single interface. This view enables users to monitor and manage their Azure costs more effectively, promoting transparency, operational efficiency, and informed financial decision-making in cloud environments.
The graphic below illustrates the Cost Intelligence view integrated for the Scheduled resource:

Export scheduled resources
Scheduled resources can be downloaded as an excel workbook.
- Move to the Scheduled resource section and click the Download icon.
The downloaded file includes detailed resource information along with its scheduled configuration.

Adding resources to the schedule
Any unscheduled resource can be added to a schedule by clicking the Schedule resources option and selecting the required resource.

Enable/Disable scheduled resources
The user can enable or disable resources mapped to a schedule to determine their inclusion or exclusion in the subsequent run.
- Enable/Disable the toggle next to the required resource
- Click Update

Scheduling for mapped resources will be reflected based on the recent changes made to the toggle status.
Update configuration values
The configuration values of App Service Plans and Cosmos resources can be updated even after creating the schedule.
- Navigate to the following path: Optimization schedule -> Resources -> Scheduled Resources.
- The Up and Down config values can be modified.
- Click Update.

Update a Schedule
- Go to Optimization schedule -> Settings.
- The schedule name, currency type, timezone, and scheduling configuration can be modified.
- Click Update.

On demand runs
Optimization schedules can be started manually right away, without having to wait for their scheduled time.
- Navigate to the following path: Cost group -> Optimization -> Schedules.
- Click the Run Schedule icon next to the relevant schedule. The resources mapped to the schedule will be listed here, allowing for selection according to user preferences.

- Choose Start (Scale Up) or Stop (Scale Down) to trigger the schedule according to the Up and Down settings configured for the mapped resources.
- Click Initiate to run the schedule.
Run history
The optimization schedule runs only once every hour, irrespective of the Up and Down hours specified, and performs the necessary action.
The History section of an optimization schedule will display the details of the schedule run only when the previous and the next state are different.
Delete a Schedule
- Navigate to Optimization section in a Cost Group.
- Click the Delete icon next to the schedule to be deleted.
- Click Delete.

User access policy
The Cost Analyzer module now offers improved user access management within the Schedule section. This enhancement enables account owners and owners to grant specific permissions to users for performing schedule-related actions, ensuring greater flexibility and control without altering their overall module-level permissions.

Manage Users option is now available in the context menu of each schedule.
This option lists all users in the Cost Analyzer module and allows the account owner or owners of specific accounts to grant additional schedule-level permissions to team members.

Using this feature, users including those with restricted permissions can now be granted rights to:
Run schedules on demand
Add or remove resources
Update schedule settings
Pause schedules
Benefits:
Provides fine-grained control and flexibility in managing schedule-level permissions.
Reduces dependency on higher-level roles such as Owner or Contributor.