Alert settings determine when and how many times alerts should be sent out. To get alerts about expiring SSL certificates, use an SSL monitor. You can set the alert settings at check level:
resource "checkly_check" "get-books" { name = "GET /books" type = "API" // ... alert_settings { escalation_type = "RUN_BASED" // Whether to alert after a certain number of runs or time run_based_escalation { failed_run_threshold = 1 // (RUN_BASED escalation only) after how many failed runs to send an alert } time_based_escalation { minutes_failing_threshold = 5 // (TIME_BASED escalation only) after how many minutes spent in failing state to send an alert } reminders { amount = 2 // How many reminders to send after the first alert interval = 5 // How many minutes to wait between reminders } parallel_run_failure_threshold { enabled = true // Applicable only for checks scheduled in parallel in multiple locations percentage = 50 // What percentage of regions needs to fail to trigger a failure alert, supported values: 10, 20, 30, 40, 50, 60, 70, 80, 90 & 100 } } // ...}
Alert channels determine how (as in “to which alert systems”) alerts are sent out. They can be created as standalone resources:
resource "checkly_alert_channel" "email_ac" { email { address = "john@example.com" // The email address to notify } send_recovery = true // Whether email will be sent when a check recovers send_failure = false // Whether email will be sent when a check fails send_degraded = true // Whether email will be sent when a check's performance degrades}
Checkly supports a variety of alert channels, from email and SMS to PagerDuty and custom webhooks. For all available alert channels, see the corresponding resource page.
Checks or groups are subscribed to one or more alert channels:
resource "checkly_check" "get-books" { name = "GET /books" type = "API" // ... alert_channel_subscription { // This subscribes the check to the alert channel channel_id = checkly_alert_channel.email_ac.id activated = true } // ...}resource "checkly_check_group" "key-shop-flows" { name = "Key Shop Flows" activated = true // ... alert_channel_subscription { // This subscribes the group to the alert channel channel_id = checkly_alert_channel.email_ac.id activated = true }}
Checks and groups need to be explicitly subscribed to an alert channel as shown above - they will not be autosubscribed.Checks which are part of a group inherit the group’s alert subscriptions. If you know a check will be part of a group, you can avoid needlessly subscribing it to alert channels and just handle everything at the group level.
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Checkly Docs","colors":{"primary":"#0075FF","light":"#2B8AFF","dark":"#031834"},"logo":{"light":"https://mintcdn.com/checkly-422f444a/KiRymP194lYB6fu_/logo/light.svg?fit=max\u0026auto=format\u0026n=KiRymP194lYB6fu_\u0026q=85\u0026s=c4c50c3b55e375fe5d06b52fad5c8032","dark":"https://mintcdn.com/checkly-422f444a/KiRymP194lYB6fu_/logo/dark.svg?fit=max\u0026auto=format\u0026n=KiRymP194lYB6fu_\u0026q=85\u0026s=4bb854d62eeba1ed323838710a533a2f"},"favicon":"https://mintcdn.com/checkly-422f444a/9iwkS8Mlm4KfOHnA/racoon_favicon.png?fit=max\u0026auto=format\u0026n=9iwkS8Mlm4KfOHnA\u0026q=85\u0026s=005761353168b62a923dddddc298da2c","navbar":{"links":[{"href":"https://www.checklyhq.com","label":"Home"},{"href":"https://www.checklyhq.com/docs/changelog/changelog/","label":"Changelog"}],"primary":{"type":"button","label":"Dashboard","href":"https://app.checklyhq.com"}},"footer":{"socials":{"x":"https://x.com/checklyhq","github":"https://github.com/checkly","linkedin":"https://linkedin.com/company/checkly"}},"seo":{"metatags":{"canonical":"https://www.checklyhq.com/docs"}},"icons":{"library":"tabler"},"integrations":{"segment":{"key":"Bjlk6vx065LS2B25zVBzcfsjTaGrrpAM"},"telemetry":{"enabled":true}},"errors":{"404":{"redirect":false,"title":"Looks like this page has moved!","description":"Please try searching for the new page you're looking for in the search bar or sidebar."}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"checkly-422f444a","hasAudioNarration":false,"actualSubdomain":"checkly-422f444a","customDomains":["www.checklyhq.com"],"gitSource":{"type":"github","owner":"checkly","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aeaa0174e7ab0e193060863","collectionId":"985a9620-a794-43e1-a90a-64e80aa77c2a","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aeaa0174e7ab0e193060863"},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aee3f9128e8c4ec9b15350a","clientVersion":"0.0.4076","searchFilterCounts":[{"language":"default","tag":"API Reference","count":467},{"language":"default","tag":"Docs","count":218},{"language":"default","tag":"Learn","count":101},{"language":"default","tag":"Detect","count":68},{"language":"default","tag":"Getting Started","count":66},{"language":"default","tag":"Integrations","count":56},{"language":"default","tag":"Playwright","count":49},{"language":"default","tag":"Constructs","count":41},{"language":"default","tag":"Synthetic Monitoring","count":36},{"language":"default","tag":"Checks and Monitors","count":34}]},"assistantConfig":{"enableAskAiButton":false,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"email":"support@checklyhq.com","showHelpButton":true}},"basePath":"/docs","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sidebar-group-header{text-transform:uppercase;letter-spacing:0.04em}.eyebrow{text-transform:uppercase}li .group{margin-bottom:0rem!important;padding-bottom:.25rem!important}th{text-align:left}tr{border-bottom:1px solid var(--border-color, rgba(128, 128, 128, 0.15))}.field .font-semibold.text-primary[data-component-part=\"field-name\"]{line-height:normal;font-weight:700;font-size:1.15rem}.dark kbd{background-color:rgba(255, 255, 255, 0.08);border-color:rgba(255, 255, 255, 0.2);color:#e6e6e6}.sign-up-cta{position:relative;border-radius:0.5rem;padding:1.5rem;margin:1rem 0;background:linear-gradient(to bottom, #0c449a, #062047);color:#fff}.sign-up-cta-title{font-size:1.25rem;line-height:1.75rem;font-weight:700;text-wrap:balance;margin-bottom:0.25rem}.sign-up-cta-title img{display:inline-block;width:2rem;height:2rem;vertical-align:middle;margin-top:-0.25rem}.sign-up-cta-body{color:#e2e8f0}.sign-up-cta a{color:inherit}.sign-up-cta a::before{content:\"\";position:absolute;inset:0}header button[aria-label=\"Open search\"],header button[aria-label=\"Toggle assistant panel\"],header button[aria-label=\"Toggle dark mode\"],header button[aria-label=\"More actions\"]{position:relative}header button[aria-label=\"Open search\"]::after,header button[aria-label=\"Toggle assistant panel\"]::after,header button[aria-label=\"Toggle dark mode\"]::after,header button[aria-label=\"More actions\"]::after{content:\"\";position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%, -50%)}.home{--home-blue: #0075ff;--home-line: rgba(128, 128, 128, 0.2);--home-muted: #52525b;--home-text: #18181b;--home-surface: #fff;--home-surface-muted: #fafafa;width:100%;max-width:64rem;margin:0 auto;padding:2.5rem 1.5rem 5rem;color:var(--home-text);font-size:1rem;line-height:1.75rem}.dark .home{--home-blue: #2b8aff;--home-line: rgba(255, 255, 255, 0.12);--home-muted: #a1a1aa;--home-text: #f4f4f5;--home-surface: #0b0f17;--home-surface-muted: #10151f}.home a{text-decoration:none}.home code{font-size:0.85em}.home-hero{padding:1.5rem 0 2.5rem}.home-title{font-size:2.25rem;line-height:2.5rem;font-weight:600;letter-spacing:-0.025em;margin:0 0 0.75rem;color:var(--home-text)}.home-subtitle{max-width:36rem;font-size:1.125rem;line-height:1.75rem;color:var(--home-muted);margin:0}.home-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:0.75rem;margin-top:1.5rem}.home-hero-hint{flex-basis:100%;font-size:0.875rem;color:var(--home-muted);line-height:1.25rem}.home-button,.home-tab-cta{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;padding:0.5rem 1.25rem;border:1px solid #041734;border-radius:0.5rem;font-size:1rem;font-weight:500;line-height:1.5rem;background:#041734;color:#fff!important;cursor:pointer;transition:background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, transform 160ms cubic-bezier(0.23, 1, 0.32, 1)}.home-button-secondary,.home-tab-cta{background:transparent;color:#041734!important}.dark .home-button,.dark .home-tab-cta{border-color:#fff;background:#fff;color:#041734!important}.dark .home-button-secondary,.dark .home-tab-cta{background:transparent;color:#fff!important}.home-button:hover,.home-tab-links .home-tab-cta:hover{background:#002652;color:#fff!important}.home-button:active,.home-tab-links .home-tab-cta:active{background:#001b3d;transform:scale(0.97);transition-duration:0.1s}.home-button:focus-visible,.home-tab-cta:focus-visible{outline:2px solid var(--home-blue);outline-offset:3px}.home-section{padding:2.5rem 0}.home-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:1.5rem}.home-heading{font-size:1.5rem;line-height:2rem;font-weight:600;letter-spacing:-0.025em;margin:0 0 0.375rem;color:var(--home-text)}.home-lead{max-width:44rem;font-size:1rem;line-height:1.75rem;color:var(--home-muted);margin:0}.home-section-link{flex-shrink:0;display:inline-flex;align-items:center;gap:0.375rem;font-size:0.875rem;font-weight:500;color:var(--home-blue)!important;white-space:nowrap;line-height:1.25rem}.home-eyebrow{margin:1.75rem 0 0.75rem;font-size:0.75rem;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;color:var(--home-muted);line-height:1rem}.home-eyebrow:first-of-type{margin-top:0}.home-tab{padding:1.25rem 1.25rem 1.5rem;border:1px solid var(--home-line);border-radius:0.5rem;background:var(--home-surface-muted)}.home-tab-title{display:flex;align-items:center;gap:0.5rem;font-size:1rem;font-weight:600;color:var(--home-text);line-height:1.5rem}.home-tab-title svg{color:var(--home-blue)}.home-tab-text{max-width:44rem;margin:0.5rem 0 1rem;font-size:1rem;line-height:1.75rem;color:var(--home-muted)}.home-tab-links{display:flex;flex-wrap:wrap;align-items:center;gap:0.5rem 1rem;margin-top:1rem;font-size:0.875rem;line-height:1.25rem}.home-tab-links a{color:var(--home-muted)}.home-tab-links a:hover{color:var(--home-text)}.home-grid,.home-news{display:grid;gap:1px;padding:1px;border-radius:0.5rem;background:var(--home-line);overflow:hidden}.home-grid{grid-template-columns:1fr}.home-news{grid-template-columns:1fr}.home-feature,.home-news-card,.home-connect-card{display:flex;flex-direction:column;gap:0.5rem;padding:1.25rem;background:var(--home-surface);color:var(--home-text)!important;transition:background-color 0.15s ease}.home-feature:hover,.home-news-card:hover{background:var(--home-surface-muted)}.home-news-featured{position:relative;isolation:isolate;overflow:hidden;grid-row:span 2}.home-news-featured .home-news-text{padding-bottom:10rem}.home-news-waves{position:absolute;z-index:-1;bottom:2.5rem;left:50%;width:auto;max-width:none;height:10rem;margin:0;transform:translateX(-50%);opacity:0.85;pointer-events:none}.home-tag{font-size:0.75rem;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;color:var(--home-blue);line-height:1rem}.home-news-title,.home-feature-title{font-size:1rem;line-height:1.5rem;font-weight:600;color:var(--home-text)}.home-news-text,.home-feature-text{flex:1;font-size:1rem;line-height:1.5rem;color:var(--home-muted)}.home-card-link{display:inline-flex;align-items:center;gap:0.375rem;margin-top:0.5rem;font-size:0.875rem;font-weight:500;color:var(--home-text);line-height:1.25rem}.home-card-link svg{color:var(--home-blue)}.home-monitoring-group{padding:1.25rem;background:var(--home-surface)}.home-monitoring-group h3{margin:0 0 0.75rem}.home-monitoring-group ul{display:flex;flex-direction:column;gap:0.75rem;list-style:none;margin:0;padding:0;font-size:0.875rem;line-height:1.25rem}.home-monitoring-group a{color:var(--home-text)}.home-monitoring-group a:hover{color:var(--home-blue)}.home-connect-links{display:flex;flex-wrap:wrap;gap:1rem;margin-top:0.5rem;font-size:0.875rem;font-weight:500;line-height:1.25rem}.home-connect-links a{color:var(--home-text)}.home-connect-links a:hover{color:var(--home-blue)}@media (min-width: 640px){.home-grid{grid-template-columns:repeat(3, minmax(0, 1fr))}.home-news{grid-template-columns:repeat(3, minmax(0, 1fr))}}@media (max-width: 639px){.home-title{font-size:1.875rem;line-height:2.25rem}.home-section-head{flex-direction:column;align-items:flex-start;gap:0.5rem}.home-news-featured{grid-row:auto;padding-bottom:7.5rem}.home-news-featured .home-news-text{padding-bottom:0}.home-news-waves{bottom:-1rem;height:8rem}}.role-matrix table td{min-width:0}"}],"page":{"pagePath":"integrations/iac/terraform/alerting","slug":"/integrations/iac/terraform/alerting","pageMetadata":{"title":"Alert channels and settings for Terraform","sidebarTitle":"Alert channels","description":"Configure alert settings and alert channels for your Terraform-managed monitoring setup","canonical":"https://www.checklyhq.com/docs/integrations/iac/terraform/alerting/","href":"/integrations/iac/terraform/alerting"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Configure alert settings and alert channels for your Terraform-managed monitoring setup\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,em:`em`,p:`p`,pre:`pre`,span:`span`,..._provideComponents(),...props.components},{CodeBlock,Heading,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Alerting is organised around alert settings and alert channels.`}),`\n`,_jsx(Heading,{level:`2`,id:`alert-settings`,children:`Alert settings`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`/communicate/alerts/overview`,children:`Alert settings`}),` determine `,_jsx(_components.em,{children:`when`}),` and how many times alerts should be sent out. To get alerts about expiring SSL certificates, use an `,_jsx(_components.a,{href:`/detect/uptime-monitoring/ssl-monitors/overview`,children:`SSL monitor`}),`. You can set the alert settings at check level:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`30`,language:`terraform`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`terraform`,children:_jsxs(_components.code,{language:`terraform`,numberOfLines:`30`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`resource`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` \"checkly_check\"`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` \"get-books\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"GET /books\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` type`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"API\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // ...`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` alert_settings`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` escalation_type`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"RUN_BASED\"`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // Whether to alert after a certain number of runs or time`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` run_based_escalation`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` failed_run_threshold`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 1`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // (RUN_BASED escalation only) after how many failed runs to send an alert`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` time_based_escalation`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` minutes_failing_threshold`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 5`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // (TIME_BASED escalation only) after how many minutes spent in failing state to send an alert`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` reminders`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` amount`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 2`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // How many reminders to send after the first alert`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` interval`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 5`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // How many minutes to wait between reminders`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` parallel_run_failure_threshold`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` enabled`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` true`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // Applicable only for checks scheduled in parallel in multiple locations`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` percentage`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 50`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // What percentage of regions needs to fail to trigger a failure alert, supported values: 10, 20, 30, 40, 50, 60, 70, 80, 90 \u0026 100`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // ...`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Or at group level:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`28`,language:`terraform`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`terraform`,children:_jsxs(_components.code,{language:`terraform`,numberOfLines:`28`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`resource`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` \"checkly_check_group\"`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` \"key-shop-flows\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Key Shop Flows\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` activated`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` true`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // ...`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` `})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` alert_settings`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` escalation_type`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"RUN_BASED\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` run_based_escalation`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` failed_run_threshold`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 1`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` time_based_escalation`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` minutes_failing_threshold`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 5`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` reminders`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` amount`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 2`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` interval`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 5`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` parallel_run_failure_threshold`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` enabled`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` true`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` percentage`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 50`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`alert-channels`,children:`Alert channels`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`/communicate/alerts/overview`,children:`Alert channels`}),` determine `,_jsx(_components.em,{children:`how`}),` (as in “to which alert systems”) alerts are sent out. They can be created as standalone resources:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`8`,language:`terraform`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`terraform`,children:_jsxs(_components.code,{language:`terraform`,numberOfLines:`8`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`resource`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` \"checkly_alert_channel\"`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` \"email_ac\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` email`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` address`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"john@example.com\"`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // The email address to notify`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` send_recovery`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` true`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // Whether email will be sent when a check recovers`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` send_failure`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` false`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // Whether email will be sent when a check fails`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` send_degraded`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` true`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // Whether email will be sent when a check's performance degrades`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Checkly supports a variety of alert channels, from email and SMS to PagerDuty and custom webhooks. For all available alert channels, see the corresponding `,_jsx(_components.a,{href:`https://registry.terraform.io/providers/checkly/checkly/latest/docs/resources/alert_channel`,children:`resource page`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`alert-channel-subscriptions`,children:`Alert channel subscriptions`}),`\n`,_jsx(_components.p,{children:`Checks or groups are subscribed to one or more alert channels:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`26`,language:`terraform`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`terraform`,children:_jsxs(_components.code,{language:`terraform`,numberOfLines:`26`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`resource`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` \"checkly_check\"`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` \"get-books\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"GET /books\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` type`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"API\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // ...`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` alert_channel_subscription`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// This subscribes the check to the alert channel`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` channel_id`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` checkly_alert_channel`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`email_ac`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`id`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` activated`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` true`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // ...`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`resource`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` \"checkly_check_group\"`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` \"key-shop-flows\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Key Shop Flows\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` activated`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` true`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // ...`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` alert_channel_subscription`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// This subscribes the group to the alert channel`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` channel_id`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` checkly_alert_channel`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`email_ac`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`id`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` activated`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` true`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(Warning,{children:[_jsxs(_components.p,{children:[`Checks and groups need to be `,_jsx(_components.em,{children:`explicitly`}),` subscribed to an alert channel as shown above - they will `,_jsx(_components.em,{children:`not`}),` be autosubscribed.`]}),_jsx(_components.p,{children:`Checks which are part of a group inherit the group’s alert subscriptions. If you know a check will be part of a group, you can avoid needlessly subscribing it to alert channels and just handle everything at the group level.`})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Alert channels and settings for Terraform","sidebarTitle":"Alert channels","description":"Configure alert settings and alert channels for your Terraform-managed monitoring setup","canonical":"https://www.checklyhq.com/docs/integrations/iac/terraform/alerting/","href":"/integrations/iac/terraform/alerting"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Alert settings","slug":"alert-settings","depth":2,"children":[]},{"title":"Alert channels","slug":"alert-channels","depth":2,"children":[{"title":"Alert channel subscriptions","slug":"alert-channel-subscriptions","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":["/docs/_mintlify/custom/checkly-422f444a/aad71fb35d0772c0/block-headless.js","/docs/_mintlify/custom/checkly-422f444a/3f79a661eed0dd6f/unify-tracking.js","/docs/_mintlify/custom/checkly-422f444a/b003b8f3946ae09a/vercel-analytics.js"],"subdomain":"checkly-422f444a","siteName":"Checkly Docs","title":"Alert channels and settings for Terraform - Checkly Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-30T18:57:18.290Z","originalFileLocation":"integrations/iac/terraform/alerting.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Configure alert settings and alert channels for your Terraform-managed monitoring setup\">\u003cmeta data-mint-head name=\"application-name\" content=\"Checkly Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/checkly-422f444a/2kkgPuwuI9OgTLg8/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/checkly-422f444a/2kkgPuwuI9OgTLg8/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/checkly-422f444a/2kkgPuwuI9OgTLg8/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/checkly-422f444a/2kkgPuwuI9OgTLg8/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/checkly-422f444a/2kkgPuwuI9OgTLg8/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/checkly-422f444a/2kkgPuwuI9OgTLg8/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/checkly-422f444a/2kkgPuwuI9OgTLg8/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/checkly-422f444a/2kkgPuwuI9OgTLg8/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/checkly-422f444a/2kkgPuwuI9OgTLg8/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Alert channels and settings for Terraform - Checkly Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Configure alert settings and alert channels for your Terraform-managed monitoring setup\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Checkly Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://www.checklyhq.com/docs/integrations/iac/terraform/alerting/\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://checkly-422f444a.mintlify.site/docs/_mintlify/api/og/v2?division=Terraform\u0026amp;title=Alert+channels+and+settings+for+Terraform\u0026amp;description=Configure+alert+settings+and+alert+channels+for+your+Terraform-managed+monitoring+setup\u0026amp;theme=177ebac03dbdb024a546ac51\u0026amp;signature=910f6cadd8bb2257848ce65659b4f08e1e1a7ca55f3ea27ab5e9eee2655d99ca\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Alert channels and settings for Terraform - Checkly Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Configure alert settings and alert channels for your Terraform-managed monitoring setup\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://checkly-422f444a.mintlify.site/docs/_mintlify/api/og/v2?division=Terraform\u0026amp;title=Alert+channels+and+settings+for+Terraform\u0026amp;description=Configure+alert+settings+and+alert+channels+for+your+Terraform-managed+monitoring+setup\u0026amp;theme=177ebac03dbdb024a546ac51\u0026amp;signature=910f6cadd8bb2257848ce65659b4f08e1e1a7ca55f3ea27ab5e9eee2655d99ca\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/checkly-422f444a/2kkgPuwuI9OgTLg8/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Checkly Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0075FF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://www.checklyhq.com/docs/integrations/iac/terraform/alerting/\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/integrations/iac/terraform/alerting.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://www.checklyhq.com/#organization\",\"name\":\"Checkly Docs\",\"url\":\"https://www.checklyhq.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/checkly-422f444a/KiRymP194lYB6fu_/logo/light.svg?fit=max\u0026auto=format\u0026n=KiRymP194lYB6fu_\u0026q=85\u0026s=c4c50c3b55e375fe5d06b52fad5c8032\"}},{\"@type\":\"WebSite\",\"@id\":\"https://www.checklyhq.com/docs#website\",\"name\":\"Checkly Docs\",\"url\":\"https://www.checklyhq.com/docs\",\"publisher\":{\"@id\":\"https://www.checklyhq.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://www.checklyhq.com/docs/integrations/iac/terraform/alerting/#webpage\",\"url\":\"https://www.checklyhq.com/docs/integrations/iac/terraform/alerting/\",\"name\":\"Alert channels and settings for Terraform\",\"description\":\"Configure alert settings and alert channels for your Terraform-managed monitoring setup\",\"dateModified\":\"2026-10-30T18:57:18.290Z\",\"isPartOf\":{\"@id\":\"https://www.checklyhq.com/docs#website\"},\"breadcrumb\":{\"@id\":\"https://www.checklyhq.com/docs/integrations/iac/terraform/alerting/#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://www.checklyhq.com/docs/integrations/iac/terraform/alerting/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Integrations\",\"item\":\"https://www.checklyhq.com/docs/integrations/alerts/discord\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Infrastructure as Code\",\"item\":\"https://www.checklyhq.com/docs/integrations/iac/terraform/overview\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Terraform\",\"item\":\"https://www.checklyhq.com/docs/integrations/iac/terraform/overview\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Alert channels and settings for Terraform\",\"item\":\"https://www.checklyhq.com/docs/integrations/iac/terraform/alerting/\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://www.checklyhq.com/docs/integrations/iac/terraform/alerting/#article\",\"headline\":\"Alert channels and settings for Terraform\",\"name\":\"Alert channels and settings for Terraform\",\"description\":\"Configure alert settings and alert channels for your Terraform-managed monitoring setup\",\"url\":\"https://www.checklyhq.com/docs/integrations/iac/terraform/alerting/\",\"mainEntityOfPage\":{\"@id\":\"https://www.checklyhq.com/docs/integrations/iac/terraform/alerting/#webpage\"},\"dateModified\":\"2026-10-30T18:57:18.290Z\",\"publisher\":{\"@id\":\"https://www.checklyhq.com/#organization\"},\"isPartOf\":{\"@id\":\"https://www.checklyhq.com/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Checkly Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Checkly Docs","nav":{"global":null,"tabs":[{"tab":"Docs","groups":[{"group":"Getting Started","pages":[{"title":"What is Checkly?","sidebarTitle":"What is Checkly?","mode":"wide","href":"/what-is-checkly"},{"title":"Checkly Quickstart","sidebarTitle":"Quickstart","href":"/quickstart"},{"group":"Concepts","pages":[{"title":"What are Checks?","sidebarTitle":"Checks","href":"/concepts/checks"},{"title":"Monitoring as Code","href":"/concepts/monitoring-as-code"},{"title":"Monitor multiple environments","sidebarTitle":"Environments","href":"/concepts/environments"},{"title":"Locations","sidebarTitle":"Locations","href":"/concepts/locations"},{"title":"Scheduling","sidebarTitle":"Scheduling","href":"/concepts/scheduling"},{"title":"Results","sidebarTitle":"Results","href":"/concepts/results"},{"title":"Cancellation","sidebarTitle":"Cancellation","href":"/concepts/cancellation"},{"title":"Metrics","sidebarTitle":"Metrics","href":"/concepts/metrics"}]},{"group":"Platform","pages":[{"title":"Groups","sidebarTitle":"Groups","href":"/platform/groups"},{"title":"Filters","sidebarTitle":"Filters","href":"/platform/filters"},{"title":"Views","sidebarTitle":"Views","href":"/platform/views"},{"group":"Private Locations","pages":[{"title":"Getting started with private locations","sidebarTitle":"Overview","href":"/platform/private-locations/overview"},{"title":"Agent Configuration","href":"/platform/private-locations/agent-configuration"},{"title":"Agent Metrics","sidebarTitle":"Agent Metrics","href":"/platform/private-locations/agent-metrics"},{"title":"Agent Images","sidebarTitle":"Agent Images","href":"/platform/private-locations/agent-images"},{"title":"Kubernetes Deployment","href":"/platform/private-locations/kubernetes-deployment"},{"title":"Proxy Setup","href":"/platform/private-locations/proxy-setup"},{"title":"Scaling and Redundancy","href":"/platform/private-locations/scaling-redundancy"},{"title":"Autoscaling","href":"/platform/private-locations/autoscaling"},{"title":"Checkly Agent Changelog","sidebarTitle":"Agent Changelog","href":"/platform/private-locations/change-log"}]},{"group":"Reporting","pages":[{"title":"Reporting Results with Checkly","sidebarTitle":"Overview","href":"/platform/reporting/overview"},{"title":"Analytics API","sidebarTitle":"Analytics API","href":"/platform/reporting/analytics-api"}]},{"group":"Runtimes","pages":[{"title":"Checkly Runtimes","sidebarTitle":"Overview","href":"/platform/runtimes/overview"},{"title":"Runtime Specification","sidebarTitle":"Runtime Specification","href":"/platform/runtimes/runtime-specification"}]},{"title":"Storing Secrets","sidebarTitle":"Storing Secrets","href":"/platform/secrets"},{"title":"Manage secrets at scale","sidebarTitle":"Secrets at scale","href":"/platform/manage-secrets-at-scale"},{"title":"Dynamic Secret Scrubbing","sidebarTitle":"Secret Scrubbing","href":"/platform/dynamic-secret-scrubbing"},{"title":"How we store data","sidebarTitle":"Data Storage","mode":"wide","href":"/platform/data-storage"},{"title":"Environment variables and secrets","sidebarTitle":"Environment variables","href":"/platform/variables"},{"title":"Allowlisting Traffic","sidebarTitle":"Allowlisting Traffic","href":"/platform/allowlisting-traffic"},{"title":"IP Information \u0026 Versions","sidebarTitle":"IP Information","href":"/platform/ip-information"},{"title":"Network Diagnostic Tools","sidebarTitle":"Network Diagnostic Tools","href":"/platform/network-diagnostic-tools"},{"title":"Managing False Positives","sidebarTitle":"Managing False Positives","href":"/platform/managing-false-positives"}]},{"group":"Admin","pages":[{"title":"Creating an API key in Checkly","sidebarTitle":"Creating an API Key","href":"/admin/creating-api-key"},{"group":"Team Management","pages":[{"title":"Admin Overview","sidebarTitle":"Overview","href":"/admin/team-management/overview"},{"title":"Permissions reference","sidebarTitle":"Permissions","href":"/admin/team-management/permissions"},{"title":"Adding team members to your Checkly account","sidebarTitle":"Adding Team Members","href":"/admin/team-management/adding-team-members"},{"title":"Managing team members","sidebarTitle":"Managing Team Members","href":"/admin/team-management/managing-team-members"},{"title":"Custom roles","sidebarTitle":"Custom Roles","tag":"Beta","href":"/admin/team-management/custom-roles"},{"title":"Multi-Factor Authentication in Checkly","sidebarTitle":"Multi-Factor Auth","href":"/admin/team-management/multi-factor-authentication"},{"title":"Single Sign-on in Checkly","sidebarTitle":"Single Sign-On","href":"/admin/team-management/single-sign-on"}]},{"title":"Changing your email or password in Checkly","sidebarTitle":"Changing Email or Password","href":"/admin/changing-your-email-password"},{"title":"Deleting your Checkly account","sidebarTitle":"Deleting Your Account","href":"/admin/deleting-your-account"}]}]},{"group":"Detect","pages":[{"title":"Checkly Detect","sidebarTitle":"Overview","href":"/detect/overview"},{"group":"Uptime Monitoring","pages":[{"title":"Uptime Monitoring","sidebarTitle":"Overview","href":"/detect/uptime-monitoring/overview"},{"group":"URL Monitors","pages":[{"title":"URL monitors overview","sidebarTitle":"Overview","href":"/detect/uptime-monitoring/url-monitors/overview"},{"title":"Creating a URL monitor","sidebarTitle":"Quickstart","href":"/detect/uptime-monitoring/url-monitors/quickstart"},{"title":"URL monitor configuration","sidebarTitle":"Configuration","href":"/detect/uptime-monitoring/url-monitors/configuration"}]},{"group":"TCP Monitors","pages":[{"title":"TCP monitors overview","sidebarTitle":"Overview","href":"/detect/uptime-monitoring/tcp-monitors/overview"},{"title":"Creating a TCP monitor","sidebarTitle":"Quickstart","href":"/detect/uptime-monitoring/tcp-monitors/quickstart"},{"title":"TCP monitor configuration","sidebarTitle":"Configuration","href":"/detect/uptime-monitoring/tcp-monitors/configuration"}]},{"group":"DNS Monitors","pages":[{"title":"DNS monitors overview","sidebarTitle":"Overview","href":"/detect/uptime-monitoring/dns-monitors/overview"},{"title":"DNS monitor configuration","sidebarTitle":"Configuration","href":"/detect/uptime-monitoring/dns-monitors/configuration"}]},{"group":"ICMP Monitors","pages":[{"title":"ICMP monitors overview","sidebarTitle":"Overview","href":"/detect/uptime-monitoring/icmp-monitors/overview"},{"title":"ICMP monitor configuration","sidebarTitle":"Configuration","href":"/detect/uptime-monitoring/icmp-monitors/configuration"}]},{"group":"Traceroute Monitors","pages":[{"title":"Traceroute monitors overview","sidebarTitle":"Overview","href":"/detect/uptime-monitoring/traceroute-monitors/overview"},{"title":"Traceroute monitor configuration","sidebarTitle":"Configuration","href":"/detect/uptime-monitoring/traceroute-monitors/configuration"}]},{"group":"gRPC Monitors","pages":[{"title":"gRPC monitors overview","sidebarTitle":"Overview","href":"/detect/uptime-monitoring/grpc-monitors/overview"},{"title":"gRPC monitor configuration","sidebarTitle":"Configuration","href":"/detect/uptime-monitoring/grpc-monitors/configuration"}]},{"group":"SSL Monitors","pages":[{"title":"SSL monitor overview","sidebarTitle":"Overview","href":"/detect/uptime-monitoring/ssl-monitors/overview"},{"title":"SSL monitor configuration","sidebarTitle":"Configuration","href":"/detect/uptime-monitoring/ssl-monitors/configuration"}]},{"group":"Heartbeat Monitors","pages":[{"title":"Heartbeat monitors","sidebarTitle":"Overview","href":"/detect/uptime-monitoring/heartbeat-monitors/overview"},{"title":"Creating a Heartbeat monitor","sidebarTitle":"Quickstart","href":"/detect/uptime-monitoring/heartbeat-monitors/quickstart"},{"title":"Heartbeat Examples","sidebarTitle":"Examples","href":"/detect/uptime-monitoring/heartbeat-monitors/examples"}]}]},{"group":"Synthetic Monitoring","pages":[{"title":"Synthetic Monitoring Overview","sidebarTitle":"Overview","href":"/detect/synthetic-monitoring/overview"},{"group":"API Checks","pages":[{"title":"API checks overview","sidebarTitle":"Overview","href":"/detect/synthetic-monitoring/api-checks/overview"},{"title":"Creating an API check","sidebarTitle":"Quickstart","href":"/detect/synthetic-monitoring/api-checks/quickstart"},{"title":"Configuration","sidebarTitle":"Configuration","href":"/detect/synthetic-monitoring/api-checks/configuration"},{"title":"Setup and Teardown Scripts","sidebarTitle":"Setup and Teardown","href":"/detect/synthetic-monitoring/api-checks/setup-and-teardown"},{"title":"API check structure","sidebarTitle":"MaC Structure","href":"/detect/synthetic-monitoring/api-checks/api-structure"},{"title":"Client certificates","sidebarTitle":"Client Certificates","href":"/detect/synthetic-monitoring/api-checks/client-certificates"},{"title":"Creating Checks from an OpenAPI Spec","sidebarTitle":"Importing OpenAPI Spec","href":"/detect/synthetic-monitoring/api-checks/openapi-spec"},{"title":"API check troubleshooting","sidebarTitle":"Troubleshooting","href":"/detect/synthetic-monitoring/api-checks/troubleshooting"}]},{"title":"Playwright Monitoring Options","sidebarTitle":"Playwright Monitoring Options","href":"/detect/synthetic-monitoring/playwright-monitoring-comparison"},{"group":"Multistep Checks","pages":[{"title":"Multistep checks overview","sidebarTitle":"Overview","href":"/detect/synthetic-monitoring/multistep-checks/overview"},{"title":"Creating a Multistep check","sidebarTitle":"Quickstart","href":"/detect/synthetic-monitoring/multistep-checks/quickstart"},{"title":"Multistep check structure","sidebarTitle":"MaC Structure","href":"/detect/synthetic-monitoring/multistep-checks/multistep-structure"},{"title":"Degraded states in Multistep checks","sidebarTitle":"Degraded States","href":"/detect/synthetic-monitoring/multistep-checks/degraded-states"},{"title":"Uploading \u0026 Downloading Files To The File System","sidebarTitle":"File System","href":"/detect/synthetic-monitoring/multistep-checks/file-system"},{"title":"WebSockets on Multistep checks","sidebarTitle":"WebSockets","href":"/detect/synthetic-monitoring/multistep-checks/websockets"},{"title":"Multistep check examples","sidebarTitle":"Examples","href":"/detect/synthetic-monitoring/multistep-checks/examples"}]},{"group":"Browser Checks","pages":[{"title":"Browser checks overview","sidebarTitle":"Overview","href":"/detect/synthetic-monitoring/browser-checks/overview"},{"title":"Creating a Browser check","sidebarTitle":"Quickstart","href":"/detect/synthetic-monitoring/browser-checks/quickstart"},{"title":"Browser check structure","sidebarTitle":"MaC Structure","href":"/detect/synthetic-monitoring/browser-checks/mac-structure"},{"title":"Performance \u0026 Web Vitals","sidebarTitle":"Performance Metrics","href":"/detect/synthetic-monitoring/browser-checks/performance-metrics"},{"title":"Visual Monitoring with Checkly","sidebarTitle":"Visual Monitoring","href":"/detect/synthetic-monitoring/browser-checks/visual-regressions"},{"title":"Playwright Support in Checkly","sidebarTitle":"Playwright Support","href":"/detect/synthetic-monitoring/browser-checks/playwright-support"},{"title":"Browser check timeouts","sidebarTitle":"Timeouts","href":"/detect/synthetic-monitoring/browser-checks/timeouts"},{"title":"Degraded state","sidebarTitle":"Degraded State","href":"/detect/synthetic-monitoring/browser-checks/degraded"},{"title":"Trouble Shotting and Debugging","sidebarTitle":"Troubleshooting","href":"/detect/synthetic-monitoring/browser-checks/troubleshooting"}]},{"group":"Playwright Check Suites","pages":[{"title":"Playwright Check Suites","sidebarTitle":"Overview","href":"/detect/synthetic-monitoring/playwright-checks/overview"},{"title":"Creating a Playwright Check Suite","sidebarTitle":"Quickstart","href":"/detect/synthetic-monitoring/playwright-checks/quickstart"},{"title":"Playwright Check Suites Configuration","sidebarTitle":"Configuration","href":"/detect/synthetic-monitoring/playwright-checks/configuration"},{"title":"Organize your tests and monitors","sidebarTitle":"Test organization","href":"/detect/synthetic-monitoring/playwright-checks/test-organization"},{"title":"Performance \u0026 Web Vitals","sidebarTitle":"Web Vitals","href":"/detect/synthetic-monitoring/playwright-checks/performance-metrics"},{"title":"Adding Playwright Check Suites to Groups","sidebarTitle":"Add to Group","href":"/detect/synthetic-monitoring/playwright-checks/add-to-group"},{"title":"Dependencies in Playwright Check Suites","sidebarTitle":"Dependencies","href":"/detect/synthetic-monitoring/playwright-checks/dependencies"},{"title":"Packages from Internal Registries in Playwright Check Suites","sidebarTitle":"Internal Registries","href":"/detect/synthetic-monitoring/playwright-checks/internal-registries"},{"title":"Playwright Check Suite environment variables","sidebarTitle":"Environment variables","href":"/detect/synthetic-monitoring/playwright-checks/environment-variables"},{"title":"Playwright Check Suite Timeouts","sidebarTitle":"Timeouts","href":"/detect/synthetic-monitoring/playwright-checks/timeouts"}]}]},{"group":"Testing","pages":[{"title":"Testing","sidebarTitle":"Overview","href":"/detect/testing/overview"},{"title":"Creating Your First Test","sidebarTitle":"Creating Your First Test","href":"/detect/testing/creating-your-first-test"},{"title":"Using environment variables","sidebarTitle":"Environment variables","href":"/detect/testing/using-env-variables"},{"title":"Playwright Reporter","sidebarTitle":"Using the Playwright Reporter","href":"/detect/testing/playwright-reporter"},{"title":"Playwright Reporter Changelog","sidebarTitle":"Reporter Changelog","href":"/detect/testing/playwright-reporter-changelog"}]},{"title":"Defining Assertions","sidebarTitle":"Assertions","href":"/detect/assertions"}]},{"group":"Communicate","pages":[{"title":"Checkly Communicate","sidebarTitle":"Overview","href":"/communicate/overview"},{"group":"Alerts","pages":[{"title":"Alerting With Checkly","sidebarTitle":"Overview","mode":"wide","href":"/communicate/alerts/overview"},{"title":"Alert Configuration","sidebarTitle":"Configuration","href":"/communicate/alerts/configuration"},{"title":"Alert channels","sidebarTitle":"Channels","href":"/communicate/alerts/channels"},{"title":"Alert Retries","sidebarTitle":"Retries","href":"/communicate/alerts/retries"},{"title":"SSL Certificate Expiration Alerts","sidebarTitle":"SSL Alerts","href":"/communicate/alerts/ssl-expiration"},{"title":"Alert Notification Log","sidebarTitle":"Notification Log","href":"/communicate/alerts/notification-log"}]},{"group":"Status Pages","pages":[{"title":"Status pages overview","sidebarTitle":"Overview","href":"/communicate/status-pages/overview"},{"title":"Creating a status page","sidebarTitle":"Creating a status page","href":"/communicate/status-pages/creating-a-status-page"},{"title":"Custom domain","sidebarTitle":"Custom Domain","href":"/communicate/status-pages/custom-domain"},{"title":"Status page customization","sidebarTitle":"Customization","href":"/communicate/status-pages/customization"},{"title":"Password Protection","sidebarTitle":"Password Protection","href":"/communicate/status-pages/password-protection"},{"title":"Incident Management","sidebarTitle":"Incidents","href":"/communicate/status-pages/incidents"},{"title":"Status page maintenance","sidebarTitle":"Maintenance","href":"/communicate/status-pages/maintenance-windows"},{"title":"Subscriber Notifications","sidebarTitle":"Subscriber Notifications","href":"/communicate/status-pages/subscriber-notifications"},{"title":"Status pages v2 (deprecated)","sidebarTitle":"v2 (deprecated)","href":"/communicate/status-pages/v2-deprecated"}]},{"group":"Dashboards","pages":[{"title":"Dashboards overview","sidebarTitle":"Overview","href":"/communicate/dashboards/overview"},{"title":"Dashboard configuration","sidebarTitle":"Configuration","href":"/communicate/dashboards/configuration"},{"title":"Customizing your dashboard with CSS","sidebarTitle":"Custom CSS","href":"/communicate/dashboards/custom-css"},{"title":"Incident \u0026 Maintenance messages","sidebarTitle":"Incidents","href":"/communicate/dashboards/incidents"}]},{"title":"Maintenance windows","sidebarTitle":"Maintenance windows","href":"/communicate/maintenance-windows/overview"}]},{"group":"Resolve","pages":[{"title":"Checkly Resolve","sidebarTitle":"Overview","href":"/resolve/overview"},{"title":"Rocky AI Root Cause Analysis","sidebarTitle":"AI Root Cause Analysis","href":"/resolve/ai-root-cause-analysis/overview"},{"title":"Automatic check repair","sidebarTitle":"Automatic Repair","href":"/resolve/automatic-check-repair"},{"group":"Traces","pages":[{"title":"Traces","sidebarTitle":"Overview","href":"/resolve/traces/overview"},{"title":"How It Works","href":"/resolve/traces/how-it-works"},{"group":"Importing","pages":[{"title":"Importing Traces To Checkly","sidebarTitle":"Importing Traces","href":"/resolve/traces/import/overview"},{"title":"Setting Up The OpenTelemetry Collector","sidebarTitle":"From OpenTelemetry","href":"/resolve/traces/import/open-telemetry"},{"title":"Missing Spans","sidebarTitle":"Missing Spans","href":"/resolve/traces/import/missing-spans"},{"title":"HTTPS vs GRPC Traces","sidebarTitle":"HTTPS vs GRPC","href":"/resolve/traces/import/https-grpc"}]},{"group":"Exporting","pages":[{"title":"Export traces to your observability backend","sidebarTitle":"Exporting","href":"/resolve/traces/export/overview"}]},{"group":"Instrumentation","pages":[{"title":"Next.js","sidebarTitle":"Next.js","href":"/resolve/traces/instrumentation/nextjs"},{"title":"Node.js","sidebarTitle":"Node.js","href":"/resolve/traces/instrumentation/nodejs"},{"title":"Express","sidebarTitle":"Express","href":"/resolve/traces/instrumentation/express"},{"title":"Django","sidebarTitle":"Django","href":"/resolve/traces/instrumentation/django"},{"title":"Flask","sidebarTitle":"Flask","href":"/resolve/traces/instrumentation/flask"},{"title":"Laravel","sidebarTitle":"Laravel","href":"/resolve/traces/instrumentation/laravel"},{"title":"Ruby on Rails","sidebarTitle":"Ruby on Rails","href":"/resolve/traces/instrumentation/ruby-on-rails"},{"title":"Go / Golang","sidebarTitle":"Go / Golang","href":"/resolve/traces/instrumentation/golang"},{"title":"Java","sidebarTitle":"Java","href":"/resolve/traces/instrumentation/java"},{"title":".NET","sidebarTitle":".NET","href":"/resolve/traces/instrumentation/dotnet"}]}]}]},{"group":"AI","pages":[{"title":"Rocky AI","sidebarTitle":"Rocky AI","href":"/ai/rocky-ai"},{"title":"Create checks with the AI Assistant","sidebarTitle":"AI Assistant","href":"/ai/ai-assistant"},{"group":"Agent Resources","pages":[{"title":"AI Agents \u0026 Coding Assistants","sidebarTitle":"Overview","href":"/ai/overview"},{"group":"MCP Server","pages":[{"title":"Checkly MCP Server","sidebarTitle":"Overview","href":"/ai/mcp-server"},{"title":"Set up the Checkly MCP Server","sidebarTitle":"Setup","href":"/ai/mcp-server/setup"},{"title":"Interactive MCP views","sidebarTitle":"Interactive views","href":"/ai/mcp-server/interactive-views"},{"title":"Checkly MCP tools","sidebarTitle":"Tools","href":"/ai/mcp-server/tools"},{"title":"MCP security and permissions","sidebarTitle":"Security \u0026 permissions","href":"/ai/mcp-server/security-and-permissions"},{"title":"Troubleshoot the Checkly MCP Server","sidebarTitle":"Troubleshooting","href":"/ai/mcp-server/troubleshooting"}]},{"title":"Checkly Plugin for AI Coding Agents","sidebarTitle":"Plugin","href":"/ai/plugin"},{"title":"Checkly Skills","sidebarTitle":"Skills","href":"/ai/skills"},{"title":"Markdown Access","sidebarTitle":"Markdown Access","href":"/ai/markdown-access"},{"title":"llms.txt","sidebarTitle":"llms.txt","href":"/ai/llms-txt"}]}]},{"group":"Integrations","pages":[{"group":"Alerts \u0026 Notifications","pages":[{"title":"Send Alerts to Discord","sidebarTitle":"Discord","href":"/integrations/alerts/discord"},{"title":"Email Notifications","sidebarTitle":"Email","href":"/integrations/alerts/email"},{"title":"Integrating GitLab Alerts","sidebarTitle":"GitLab Alerts","href":"/integrations/alerts/gitlab_alerts"},{"title":"Send Alerts to Microsoft Teams","sidebarTitle":"Microsoft Teams","href":"/integrations/alerts/msteams"},{"title":"Phone Calls","sidebarTitle":"Phone Calls","href":"/integrations/alerts/phone-calls"},{"title":"Slack","sidebarTitle":"Slack","href":"/integrations/alerts/slack"},{"title":"SMS Alerts","sidebarTitle":"SMS","href":"/integrations/alerts/sms"},{"title":"Send Alerts via Telegram","sidebarTitle":"Telegram","href":"/integrations/alerts/telegram"},{"title":"Webhook Integrations","sidebarTitle":"Webhooks","href":"/integrations/alerts/webhooks"}]},{"group":"Incident Management","pages":[{"title":"Send Alerts to FireHydrant","sidebarTitle":"FireHydrant","href":"/integrations/incident-management/firehydrant"},{"title":"Send Alerts to PagerDuty","sidebarTitle":"PagerDuty","href":"/integrations/incident-management/pagerduty"},{"title":"Send Alerts to Opsgenie","sidebarTitle":"Opsgenie","href":"/integrations/incident-management/opsgenie"},{"title":"Send Alerts via Rootly","sidebarTitle":"Rootly","href":"/integrations/incident-management/rootly"},{"title":"Send Alerts to ilert","sidebarTitle":"ilert","href":"/integrations/incident-management/ilert"},{"title":"Send Alerts to Incident.io","sidebarTitle":"Incident.io","href":"/integrations/incident-management/incidentio"},{"title":"Integrating StatusPage","sidebarTitle":"StatusPage","href":"/integrations/incident-management/statuspage"},{"title":"Send Alerts via Spike","sidebarTitle":"Spike","href":"/integrations/incident-management/spike"},{"title":"Send Alerts via Splunk On-Call","sidebarTitle":"Splunk On-Call","href":"/integrations/incident-management/splunk-on-call"}]},{"group":"CI/CD","pages":[{"title":"CI/CD","sidebarTitle":"Overview","href":"/integrations/ci-cd/overview"},{"group":"GitHub","pages":[{"title":"Run Checkly from GitHub Actions","sidebarTitle":"GitHub Actions","href":"/integrations/ci-cd/github/actions"},{"title":"GitHub deployment hooks","sidebarTitle":"Deployment hooks","href":"/integrations/ci-cd/github/deployments"},{"group":"External secrets","pages":[{"title":"Deploy Checkly secrets from AWS Secrets Manager","sidebarTitle":"AWS Secrets Manager","href":"/integrations/ci-cd/github/secrets/aws-secrets-manager"},{"title":"Deploy Checkly secrets from Google Secret Manager","sidebarTitle":"Google Secret Manager","href":"/integrations/ci-cd/github/secrets/google-secret-manager"},{"title":"Deploy Checkly secrets from Azure Key Vault","sidebarTitle":"Azure Key Vault","href":"/integrations/ci-cd/github/secrets/azure-key-vault"},{"title":"Deploy Checkly secrets from HashiCorp Vault","sidebarTitle":"HashiCorp Vault","href":"/integrations/ci-cd/github/secrets/hashicorp-vault"}]}]},{"title":"Integrating Checkly in GitLab CI/CD","sidebarTitle":"GitLab","href":"/integrations/ci-cd/gitlab/overview"},{"group":"Vercel","pages":[{"title":"Integrating Checkly in Vercel","sidebarTitle":"Overview","href":"/integrations/ci-cd/vercel/overview"},{"title":"Vercel Deployment Protection","sidebarTitle":"Deployment Protection","href":"/integrations/ci-cd/vercel/deployment-protection"},{"title":"Managing Users and Plans with Vercel","sidebarTitle":"Managing Users and Plans","href":"/integrations/ci-cd/vercel/managing-plan"}]},{"title":"Integrating Checkly in Jenkins","sidebarTitle":"Jenkins","href":"/integrations/ci-cd/jenkins/overview"}]},{"group":"Observability","pages":[{"title":"Observability integrations","sidebarTitle":"Overview","href":"/integrations/observability/overview"},{"group":"Metrics","pages":[{"title":"Export metrics to Prometheus","sidebarTitle":"Prometheus","href":"/integrations/observability/prometheus"}]},{"group":"Traces","pages":[{"title":"Export traces to any OpenTelemetry backend","sidebarTitle":"OTLP (any backend)","href":"/integrations/observability/traces/otlp"},{"title":"Send traces, RUM and alerts to Coralogix","sidebarTitle":"Coralogix","href":"/integrations/observability/coralogix"},{"title":"Export traces to Chronosphere","sidebarTitle":"Chronosphere","href":"/integrations/observability/traces/chronosphere"},{"title":"Export traces to ClickStack","sidebarTitle":"ClickStack","href":"/integrations/observability/traces/clickstack"},{"title":"Export traces to Cribl Stream","sidebarTitle":"Cribl Stream","href":"/integrations/observability/traces/cribl"},{"title":"Export traces to Dash0","sidebarTitle":"Dash0","href":"/integrations/observability/traces/dash0"},{"title":"Export traces to Datadog","sidebarTitle":"Datadog","href":"/integrations/observability/traces/datadog"},{"title":"Export traces to Grafana Tempo","sidebarTitle":"Grafana Tempo","href":"/integrations/observability/traces/grafana-tempo"},{"title":"Export traces to Honeycomb","sidebarTitle":"Honeycomb","href":"/integrations/observability/traces/honeycomb"},{"title":"Export traces to New Relic","sidebarTitle":"New Relic","href":"/integrations/observability/traces/new-relic"}]}]},{"group":"Infrastructure as Code","pages":[{"group":"Terraform","pages":[{"title":"Getting started with the Terraform provider for Checkly","sidebarTitle":"Overview","description":"Learn how to use the Checkly Terraform provider to declare your monitoring setup as code using HashiCorp Terraform","href":"/integrations/iac/terraform/overview"},{"title":"Alert channels and settings for Terraform","sidebarTitle":"Alert channels","href":"/integrations/iac/terraform/alerting"},{"title":"Service maintenance windows in Terraform","sidebarTitle":"Service maintenance windows","description":"Schedule planned maintenance windows to prevent checks from running during specific times","href":"/integrations/iac/terraform/maintenance-windows"},{"title":"Dashboards in Terraform","sidebarTitle":"Dashboards","href":"/integrations/iac/terraform/dashboards"},{"title":"CI/CD pipelines for Terraform","sidebarTitle":"CI/CD Pipelines","href":"/integrations/iac/terraform/ci-cd"},{"title":"Command line triggers for Terraform","sidebarTitle":"Command line Triggers","href":"/integrations/iac/terraform/command-line-triggers"},{"title":"Testing Terraform scripts locally","sidebarTitle":"Testing Scripts Locally","href":"/integrations/iac/terraform/testing-scripts-locally"},{"title":"Environment variables in Terraform","sidebarTitle":"Environment variables","href":"/integrations/iac/terraform/environment-variables"},{"title":"Common issues with the Terraform provider","sidebarTitle":"Troubleshooting","href":"/integrations/iac/terraform/troubleshooting"}]},{"group":"Pulumi","pages":[{"title":"The Checkly Pulumi Provider","sidebarTitle":"Pulumi Provider","href":"/integrations/iac/pulumi/overview"},{"title":"Pulumi Best Practices","sidebarTitle":"Best Practices","href":"/integrations/iac/pulumi/best-practices"},{"title":"Pulumi Setup Guide","sidebarTitle":"Setup Guide","href":"/integrations/iac/pulumi/setup"},{"title":"Pulumi Examples","sidebarTitle":"Examples","href":"/integrations/iac/pulumi/examples"},{"title":"CI/CD Integration","sidebarTitle":"CI/CD Integration","href":"/integrations/iac/pulumi/ci-cd"}]}]}]}]},{"tab":"Constructs","pages":[{"title":"Constructs","href":"/constructs/overview"}]},{"tab":"CLI Reference","pages":[{"title":"CLI Reference","href":"/cli/overview"}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/overview"}]},{"tab":"Guides","pages":[{"title":"Guides","href":"/guides/overview"}]},{"tab":"Learn","dropdowns":[{"dropdown":"Playwright","icon":"masks-theater","pages":[{"title":"Learn How to Test, Monitor, and Automate with Playwright","sidebarTitle":"Overview","href":"/learn/playwright/overview"},{"group":"Getting Started","pages":[{"title":"Beginner’s Guide to Playwright Automation","sidebarTitle":"What is Playwright?","href":"/learn/playwright/what-is-playwright"},{"title":"How to Set Up Playwright Locally","sidebarTitle":"Setting up Playwright","href":"/learn/playwright/how-to-set-up-locally"},{"title":"The Layers of the Testing Pyramid","href":"/learn/playwright/testing-pyramid"}]},{"group":"Interaction","pages":[{"title":"Playwright Assertions - Types \u0026 Best Practices","sidebarTitle":"Assertions","href":"/learn/playwright/assertions"},{"title":"How to Click, Type, and Hover with Playwright","sidebarTitle":"Clicking and typing","href":"/learn/playwright/clicking-typing-hovering"},{"title":"How to Handle iFrames in Playwright","sidebarTitle":"Interacting with iframes","href":"/learn/playwright/iframe-interaction"},{"title":"How to Use Playwright to Navigate and Interact with Web Pages","sidebarTitle":"Navigation","href":"/learn/playwright/navigation"},{"title":"How to Work with Selectors in Playwright","sidebarTitle":"UI selectors","href":"/learn/playwright/selectors"},{"title":"Dealing with waits and timeouts in Playwright","sidebarTitle":"Waits and timeouts","href":"/learn/playwright/waits-and-timeouts"}]},{"group":"Basics","pages":[{"title":"How to Manage Authentication in Playwright","sidebarTitle":"Authentication","href":"/learn/playwright/authentication"},{"title":"Record Automation Scripts Using Playwright Codegen","sidebarTitle":"Codegen","href":"/learn/playwright/codegen"},{"title":"How to emulate mobile devices with Playwright","sidebarTitle":"Emulating mobile devices","href":"/learn/playwright/emulating-mobile-devices"},{"title":"How to Generate PDFs with Playwright","sidebarTitle":"Generating PDFs","href":"/learn/playwright/generating-pdfs"},{"title":"How to detect broken links using Playwright","sidebarTitle":"Detecting broken links","href":"/learn/playwright/how-to-detect-broken-links"},{"title":"How to Intercept Requests in Playwright","sidebarTitle":"Intercepting requests","href":"/learn/playwright/intercept-requests"},{"title":"Test Dynamic Content by Mocking API Responses","sidebarTitle":"Mocking API Responses","href":"/learn/playwright/mock-api"},{"title":"Handling Multiple Tabs with Playwright","sidebarTitle":"Multiple tabs","href":"/learn/playwright/multitab-flows"},{"title":"Playwright Screenshots - How to Take and Automate Screenshots","sidebarTitle":"Taking screenshots","href":"/learn/playwright/taking-screenshots"},{"title":"How to run Playwright tests in parallel","sidebarTitle":"Parallel testing","href":"/learn/playwright/testing-in-parallel"}]},{"group":"Best Practices","pages":[{"title":"How to Handle Challenging Automation Flows in Playwright","sidebarTitle":"Complex workflows","href":"/learn/playwright/challenging-flows"},{"title":"How to Handle Test Data with Playwright","sidebarTitle":"Test data","href":"/learn/playwright/handling-test-data"},{"title":"Parameterizing your Playwright projects","sidebarTitle":"Parameterizing Projects","href":"/learn/playwright/how-to-parameterize-playwright-projects"},{"title":"Measuring Page Performance Using Playwright - Best Practices","sidebarTitle":"Performance","href":"/learn/playwright/performance"},{"title":"How to Scrape Data Behind a Login with Playwright","sidebarTitle":"Scraping behind a login","href":"/learn/playwright/scraping-behind-login"},{"title":"Using Script Recorders with Playwright","sidebarTitle":"Script recorders","href":"/learn/playwright/script-recorders"},{"title":"Self-documenting tests - add automatic Playwright steps with TypeScript Decorators","sidebarTitle":"Automatic Steps","href":"/learn/playwright/steps-decorators"},{"title":"Reuse code with custom test fixtures in Playwright","sidebarTitle":"Test Fixtures","href":"/learn/playwright/test-fixtures"},{"title":"Testing APIs with Playwright","sidebarTitle":"Testing APIs","href":"/learn/playwright/testing-apis"},{"title":"Playwright Web Scraping - How to Extract Data from Websites","sidebarTitle":"Scraping","href":"/learn/playwright/web-scraping"},{"title":"Best Practices for Writing Tests in Playwright","sidebarTitle":"Testing","href":"/learn/playwright/writing-tests"}]},{"group":"E2E Examples","pages":[{"title":"How to Bypass Time-Based 2FA Login Flows With Playwright","sidebarTitle":"TOTP Authentication","href":"/learn/playwright/bypass-totp"},{"title":"Mastering E2E Checkout Testing Using Playwright","sidebarTitle":"Checkout","href":"/learn/playwright/checkout-testing-guide"},{"title":"How to Download Files with Playwright","sidebarTitle":"Downloading files","href":"/learn/playwright/file-download"},{"title":"How to Automate Google Login with Playwright","sidebarTitle":"Google Auth","href":"/learn/playwright/google-login-automation"},{"title":"How to search with Playwright","sidebarTitle":"Search","href":"/learn/playwright/how-to-search"},{"title":"How to Automate Login with Playwright","sidebarTitle":"Standard authentication","href":"/learn/playwright/login-automation"},{"title":"How to Automate Microsoft Live Login with Playwright","sidebarTitle":"Microsoft Live Auth","href":"/learn/playwright/microsoft-login-automation"},{"title":"How to Test Coupons and Discounts with Playwright","sidebarTitle":"Discounts \u0026 coupons","href":"/learn/playwright/testing-coupons"},{"title":"How to Test File Uploads with Playwright","sidebarTitle":"File uploads","href":"/learn/playwright/testing-file-uploads"},{"title":"Automating User Signup with Playwright","sidebarTitle":"User signup","href":"/learn/playwright/user-signup-automation"}]},{"group":"Debugging","pages":[{"title":"Playwright Debugging Errors - Common Issues and Solutions","sidebarTitle":"Common issues","href":"/learn/playwright/debugging-errors"},{"title":"Playwright Debugging - Techniques for Script Troubleshooting","sidebarTitle":"Debugging scripts","href":"/learn/playwright/debugging"},{"title":"How to Fix the \"Click Not Executed\" Error in Playwright","sidebarTitle":"Click not executed","href":"/learn/playwright/error-click-not-executed"},{"title":"How to Fix 'Element Not Found' Errors in Playwright","sidebarTitle":"Element not found","href":"/learn/playwright/error-element-not-found"},{"title":"How to Fix \"Element Not Visible\" Error in Playwright","sidebarTitle":"Element not visible","href":"/learn/playwright/error-element-not-visible"},{"title":"How to Fix \"Target Closed\" Error in Playwright","sidebarTitle":"Target closed","href":"/learn/playwright/error-target-closed"},{"title":"How to Fix \"Wait Not Respected\" Error in Playwright","sidebarTitle":"Wait not respected","href":"/learn/playwright/error-wait-not-respected"}]},{"group":"AI \u0026 Coding Agents","pages":[{"title":"Debugging Playwright Tests with AI Agents","sidebarTitle":"Debugging with AI agents","href":"/learn/playwright/debugging-with-ai-agents"}]}]},{"dropdown":"Incidents","icon":"alert-triangle","pages":[{"title":"Incident Response - Improve Recovery \u0026 Avoid Downtime","sidebarTitle":"Overview","href":"/learn/incidents/overview"},{"group":"Detection","pages":[{"title":"Best Practices for Detecting Downtime | Incident Response","sidebarTitle":"Detecting Downtime","href":"/learn/incidents/detection-best-practices"},{"title":"Incident Management Challenges | Checkly Guide","sidebarTitle":"Incident Management Challenges","href":"/learn/incidents/incident-management-challenges"},{"title":"Reduce Mean Time to Detection MTTD - Best Practices Guide","sidebarTitle":"MTTD Best Practices","href":"/learn/incidents/reduce-mttd"},{"title":"SLA vs SLO vs SLI - What’s the Difference? Comparison with examples","sidebarTitle":"SLA vs SLO vs SLI","href":"/learn/incidents/slo-sla-sli"},{"title":"What is Incident Response? Fundamentals and best practices","sidebarTitle":"What is Incident Response?","href":"/learn/incidents/what-is-incident-response"}]},{"group":"Classification","pages":[{"title":"Incident Response Automation - From Alerts to Action","sidebarTitle":"Playbooks \u0026 Automation","href":"/learn/incidents/automation-incident-response"},{"title":"Incident Assessment \u0026 Severity | Checkly Guide","sidebarTitle":"Incident Assessment \u0026 Severity Guide","href":"/learn/incidents/incident-assessment-severity"},{"title":"How to Set an On‑Call Schedule | Checkly Incident Response","sidebarTitle":"On-Call Schedules - How to","href":"/learn/incidents/on-call-schedule"},{"title":"Incident Response Playbooks - Culture \u0026 Compliance | Checkly","sidebarTitle":"Incident Response Playbooks","href":"/learn/incidents/playbooks"}]},{"group":"Investigation","pages":[{"title":"Modern Root Cause Analysis | Checkly Guide","sidebarTitle":"Modern Root Cause Analysis","href":"/learn/incidents/modern-root-cause-analysis"},{"title":"Root Cause with Traces - Faster RCA | Checkly","sidebarTitle":"Tracing for Root Cause Analysis","href":"/learn/incidents/root-cause-with-traces"}]},{"group":"Repair","pages":[{"title":"Defining MTTR - what mean time to repair means for your team","sidebarTitle":"What is MTTR?","href":"/learn/incidents/defining-mttr"},{"title":"How to Use DORA Metrics the Right Way | Checkly","sidebarTitle":"DORA Metrics for Performance Evaluation","href":"/learn/incidents/dora-metrics"},{"title":"MTTR Challenges \u0026 Solutions | Checkly","sidebarTitle":"Reducing Time to Repair","href":"/learn/incidents/mttr-challenges"}]},{"group":"Communication","pages":[{"title":"Anatomy of a status page | Checkly Guide","sidebarTitle":"Anatomy of a status page","href":"/learn/incidents/anatomy-of-a-status-page"},{"title":"Best Practices for Communicating During Outages and Incidents","sidebarTitle":"Incident Communication","href":"/learn/incidents/incident-communication"},{"title":"Postmortems That Drive Real Improvements (+ Template) | Checkly Guide","sidebarTitle":"Postmortems That Drive Real Improvement (+ Template)","href":"/learn/incidents/postmortems"}]}]},{"dropdown":"Kubernetes","icon":"steering-wheel","pages":[{"title":"Learn How to Observe and Monitor your Kubernetes","sidebarTitle":"Overview","href":"/learn/kubernetes/overview"},{"title":"Centralized logging in Kubernetes with OpenTelemetry - guide with examples","sidebarTitle":"Centralized Logging","href":"/learn/kubernetes/centralized-logging"},{"title":"Kubernetes Events - A Native Resource for State Insight","sidebarTitle":"Events","href":"/learn/kubernetes/events"},{"title":"Introducing klog - The Kubernetes Logging Library","sidebarTitle":"klog","href":"/learn/kubernetes/klog"},{"title":"Logging in Kubernetes - Best Practices","sidebarTitle":"Best Practices","href":"/learn/kubernetes/logging-best-practices"},{"title":"Learn How to Observe and Monitor your Kubernetes Environment with Open Source Tools","sidebarTitle":"Monitoring Kubernetes","href":"/learn/kubernetes/monitoring-challenges"},{"title":"Introduction to Node Problem Detector for Kubernetes","sidebarTitle":"Node Problem Detector","href":"/learn/kubernetes/node-problem-detector"},{"title":"Introduction to Kubernetes Operators - scraping metrics with Prometheus","sidebarTitle":"Operators","href":"/learn/kubernetes/operators-metrics"},{"title":"Structured Logging in Kubernetes - Why it matters and how to get started","sidebarTitle":"Structured Logging","href":"/learn/kubernetes/structured-logging"}]},{"dropdown":"Monitoring","icon":"chart-line","pages":[{"title":"Monitoring Resources - Tools, Metrics \u0026 Best Practices","sidebarTitle":"Monitoring","href":"/learn/monitoring/overview"},{"group":"SDLC Basics","pages":[{"title":"Understanding the Software Development Life Cycle (SDLC) for Engineers","sidebarTitle":"Understanding the SDLC","href":"/learn/monitoring/intro-to-sdlc"},{"title":"Observability Basics - Metrics that every team needs","sidebarTitle":"Metrics Every Team Needs","href":"/learn/monitoring/metrics-every-team-needs"}]},{"group":"Monitoring Concepts","pages":[{"title":"What is API Monitoring? - Tools, techniques, and examples","sidebarTitle":"API Monitoring","href":"/learn/monitoring/api-monitoring"},{"title":"What is End to End Monitoring? An Overview with Examples","sidebarTitle":"What is End-to-End Monitoring?","href":"/learn/monitoring/end-to-end-monitoring"},{"title":"Frontend Monitoring - Benefits, Challenges, and Top Tools","sidebarTitle":"Frontend Monitoring","href":"/learn/monitoring/frontend-monitoring"},{"title":"Monitoring as Code - A Practical Guide from Checkly","sidebarTitle":"Monitoring as Code","href":"/learn/monitoring/monitoring-as-code"},{"title":"Real User Monitoring (RUM) - Benefits, Challenges, and Alternatives","sidebarTitle":"Real User Monitoring","href":"/learn/monitoring/real-user-monitoring"},{"title":"Synthetic Monitoring - Concepts, Benefits \u0026 Challenges","sidebarTitle":"Synthetic Monitoring","href":"/learn/monitoring/synthetic-monitoring"},{"title":"Transaction Monitoring - Components, Benefits \u0026 Challenges","sidebarTitle":"Transaction Monitoring","href":"/learn/monitoring/transaction-monitoring"},{"title":"Web Application Monitoring - Types, Benefits \u0026 Top 10 Tools","sidebarTitle":"Web Application Monitoring","href":"/learn/monitoring/web-application-monitoring"}]},{"group":"Protocols","pages":[{"title":"HTTPS Fundamentals - Beginner's Guide for App Developers","sidebarTitle":"Intro to HTTPS","href":"/learn/monitoring/https-for-app-developers"},{"title":"TCP and SSL - What an application developer needs to know","sidebarTitle":"TCP and SSL","href":"/learn/monitoring/tcp-and-ssl"},{"title":"What is TCP? - how it works and why it matters to application developers","sidebarTitle":"What is TCP?","href":"/learn/monitoring/what-is-tcp"}]}]},{"dropdown":"OpenTelemetry","icon":"satellite","pages":[{"title":"Learn How to Observe and Monitor your Software with OpenTelemetry","sidebarTitle":"Overview","href":"/learn/opentelemetry/overview"},{"group":"OpenTelemetry Basics","pages":[{"title":"Getting Started with Observability","sidebarTitle":"What is Observability?","href":"/learn/opentelemetry/getting-started-with-observability"},{"title":"How to instrument your application with OpenTelemetry","sidebarTitle":"Instrumentation","href":"/learn/opentelemetry/how-to-instrument"},{"title":"Introduction to the OpenTelemetry Collector","sidebarTitle":"The OTel Collector","href":"/learn/opentelemetry/what-is-the-otel-collector"}]},{"group":"Key Signals","pages":[{"title":"Logging in OpenTelemetry, an Engineer’s Guide","sidebarTitle":"Logging","href":"/learn/opentelemetry/logs"},{"title":"What are OpenTelemetry Metrics?","sidebarTitle":"Metrics","href":"/learn/opentelemetry/metrics"},{"title":"What are OpenTelemetry Traces? - key concepts and examples","sidebarTitle":"Traces","href":"/learn/opentelemetry/traces"}]},{"group":"Best Practices","pages":[{"title":"Fundamentals of Context Propagation in OpenTelemetry","sidebarTitle":"Context Propagation","href":"/learn/opentelemetry/context-propagation"},{"title":"OpenTelemetry Agent Management Protocol","sidebarTitle":"OpAMP","href":"/learn/opentelemetry/otel-agent-management-protocol"},{"title":"Advanced Data Filtering with the OpenTelemetry Collector","sidebarTitle":"Filtering","href":"/learn/opentelemetry/otel-filtering"},{"title":"A guide to the OpenTelemetry Trace API","sidebarTitle":"Trace API","href":"/learn/opentelemetry/trace-api"}]}]}]},{"tab":"Comparisons","pages":[{"title":"Comparisons","href":"/comparisons/frameworks/playwright-vs-cypress"}]}]},"basePath":"","title":"Alert channels and settings for Terraform - Checkly Docs","buildId":"dpl_ATnXPMW25DMPUr9VBw6kL6MfBt6T","deploymentId":"dpl_ATnXPMW25DMPUr9VBw6kL6MfBt6T","dynamics":[],"chunks":[]}