June 17th, 2025
We’ve made some big improvements to how groups work in Checkly. Until now, group-level settings like locations and alerting were always enforced. Every check in a group had to follow the same configuration. With this update, those overrides are now optional, allowing you to group checks more flexibly and keep individual settings where needed.
Groups in Checkly have always let you share configuration like API checks defaults and environment variables. But for the following four settings:
Scheduling strategy (parallel & round-robin)
Locations (private & public)
Retries (none, fixed, linear & exponential)
Alert settings (global & custom)
…these were always enforced. Every check in a group automatically inherited the group’s values for these settings, with no way to opt out.
With this release, that’s changing. Use overrides when you want to standardize configuration across checks, or turn them off and manage settings per check. Groups can now act more like folders, with zero config shared, giving you more flexibility.
We’re making group-level overrides for scheduling strategy, locations, retries and alert settings optional. Here’s what that means:
Groups that exist in your account today will keep their current configuration, but you can now go in and opt out of specific overrides.
Any groups you create from now on will start with overrides disabled by default. They’ll behave like simple folders unless you explicitly define configuration.
Let’s break it down:
You’ll now see toggle switches under “Scheduling & Locations” and “Retries & Alerting” in the group settings.
Check it out directly in the Groups UI: app.checklyhq.com/groups/new/edit/scheduling
With the latest releases of the CLI (v6.0.0), we’ve introduced a new construct called CheckGroupV2 that reflects the new behavior. The previous CheckGroup construct is now deprecated.
const group = new CheckGroupV2('check-group-1', {
name: 'Group',
frequency: Frequency.EVERY_15M,
locations: ['us-east-1', 'eu-west-1'],
concurrency: 10,
browserChecks: {
frequency: Frequency.EVERY_30M,
testMatch: '*.spec.js'
}
})
⚠️ Important note when migrating to CheckGroupV2:
In the deprecated CheckGroup, if you didn’t define values for runParallel
, locations
, alertEscalationPolicy
, or retryStrategy
, Checkly would apply default values behind the scenes. All checks in the group would run with the same settings, even if you hadn’t explicitly set them.
In CheckGroupV2, no value = no override. If these fields are left undefined, the group won’t apply any shared configuration. Each check will simply use its own individual settings.
Please double-check your group definitions when migrating to ensure check behavior stays consistent. Checks may behave differently than before if they now fall back to their own settings instead of group-level defaults.
🔧 Heads up: Terraform & Pulumi support coming soon
Support for the new group behavior in Terraform and Pulumi is still in development. We’ll let you know as soon as it’s available.
You can find more details about the updated group behavior in our documentation:
We’re excited to hear what you think about this update. As always, feel free to reach out via the Checkly Community Slack or support if you have any questions!