1<!DOCTYPE html><!-- Last Published: Thu Sep 11 2025 12:54:53 GMT+0000 (Coordinated Universal Time) --><html data-wf-domain="botkube.io" data-wf-page="63ca6e0682c5eab3389ae779" data-wf-site="633705de6adaa38599d8e258" data-wf-collection="63ca6e0682c5ea3a8d9ae777" data-wf-item-slug="teams"><head><meta charset="utf-8"/><link href="https://cdn.prod.website-files.com" rel="preconnect" crossorigin="anonymous"/><title>Botkube's Teams Kubernetes Integration</title><meta content="Streamline incident response and collaboration with BotKube's seamless integration with Microsoft Teams. Get real-time notifications, actionable alerts, and res" name="description"/><meta content="width=device-width, initial-scale=1" name="viewport"/><link href="https://cdn.prod.website-files.com/633705de6adaa38599d8e258/css/botkube.shared.52071ed63.css" rel="stylesheet" type="text/css"/><link href="https://fonts.googleapis.com" rel="preconnect"/><link href="https://fonts.gstatic.com" rel="preconnect" crossorigin="anonymous"/>
1<script src="https://ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js" type="text/javascript"></script>
1<script type="text/javascript">WebFont.load({ google: { families: ["PT Sans:400,400italic,700,700italic","Inconsolata:400,700","Nunito:regular,500,600,700","Nunito Sans:600,700,800"] }});</script>
1<script type="text/javascript">!function(o,c){var n=c.documentElement,t=" w-mod-";n.className+=t+"js",("ontouchstart"in o||o.DocumentTouch&&c instanceof DocumentTouch)&&(n.className+=t+"touch")}(window,document);</script>
1<link href="https://cdn.prod.website-files.com/633705de6adaa38599d8e258/63386c244ca196abdf7d0c97_botkube-favicon.png" rel="shortcut icon" type="image/x-icon"/><link href="https://cdn.prod.website-files.com/633705de6adaa38599d8e258/63386c26509ebc627dfc7a9d_botkube-favicon-big.png" rel="apple-touch-icon"/><link href="https://botkube.io/integration/teams" rel="canonical"/>
vendor: 66 bytes, line 1
1<script async="" src="https://www.googletagmanager.com/gtag/js?id=
1G-NPJCZRSL7L
vendor: 11 bytes, line 1
1"></script>
1<script type="text/javascript">window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag('set', 'developer_id.dZGVlNj', true);gtag('js', new Date());gtag('config', 'G-NPJCZRSL7L');</script>
1<!-- Google Tag Manager -->
2<script>
vendor: 327 bytes, lines 2-6
2(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 3new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 4j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 5'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 6})(window,document,'script','dataLayer','
6GTM-NNC8HPN
vendor: 3 bytes, line 6
6');
6</script>
6 7<!-- End Google Tag Manager --> 8 9<!-- jetboost filter -->
10<script id="jetboost-script" type="text/javascript"> window.JETBOOST_SITE_ID = "cld8ymuwo01qm0nye5rpk5ga5"; (function(d) { var s = d.createElement("script"); s.src = "https://cdn.jetboost.io/jetboost.js"; s.async = 1; d.getElementsByTagName("head")[0].appendChild(s); })(document); </script>
vendor: 1 bytes, line 10
10
11<script id="usercentrics-cmp" src="https://app.usercentrics.eu/browser-ui/latest/loader.js" data-settings-id="WQ2gSqnsK" async></script>
11<meta property="og:url" content="https://botkube.io/integrations/teams" /> 12<style> 13 14.medium-zoom--opened .medium-zoom-overlay, .medium-zoom-image--opened { 15 z-index: 2000; 16 } 17.toc > ul { 18 padding-left:20px; 19} 20 21.toc > ul > li a:hover { 22 color:#2821b5; 23} 24 25.anti-flicker-hide { 26 opacity: 7 !important; 27} 28 29.-h2 { 30 font-size: 1.125rem; 31 font-family: Nunito,sans-serif; 32 font-weight: 400; 33 line-height: 1.2; 34 margin-bottom: 0.9563rem; 35} 36 37.-h2 > a { 38 color: #2821B5; 39} 40 41.-h2 > a:hover { 42 color: #2821B5; 43 text-decoration: underline; 44} 45 46.u-rich-text > ul > li > p { 47 line-height: 1.45 !important; 48} 49 50.u-rich-text > ol > li > p { 51 line-height: 1.45 !important; 52} 53 54.u-rich-text > figure > figcaption { 55 font-size: 1rem; 56 line-height: 1.2; 57 font-weight: 400; 58 font-style: italic; 59} 60 61.u-rich-text > blockquote { 62 line-height: 1.7; 63} 64 65code { 66 font-size: 1rem; 67 font-family: 'Inconsolata'; 68 background-color: #f6f8fa !important; 69} 70 71.tooltip { 72 position: relative; 73 margin-right: 20px; 74} 75 76.tooltip .tooltiptext { 77 visibility: visible; 78 padding: 10px; 79 position: absolute; 80 z-index: 1; 81 bottom: 34px; 82 left: 50%; 83 opacity: 0; 84 transition: opacity 375ms; 85} 86 87.tooltip:hover .tooltiptext { 88 visibility: visible; 89 opacity: 1; 90} 91 92@media all and (max-width:767px) { 93.blog-share-options > .w-embed a:nth-child(1) { 94 margin-left: 0 !important; 95 margin-right: 10px; 96} 97} 98 99.gist { 100 width:100% !important; 101 max-width:100% !important; 102} 103</style> 104 105 <!-- for markdown --> 106
106<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
106 107
107<script src="https://cdnjs.cloudflare.com/ajax/libs/postscribe/2.0.8/postscribe.min.js"></script>
107 108 <link href="https://s3-us-west-2.amazonaws.com/daily-web/prism.css" rel="stylesheet" type="text/css" /> 109
109<script src="https://s3-us-west-2.amazonaws.com/daily-web/prism.js"></script>
109 110
110<script src="https://cdnjs.cloudflare.com/ajax/libs/showdown/1.9.0/showdown.min.js"></script>
110 111 112 <style> 113 pre[class*="language-"] { 114 font-size: 1rem; 115 line-height: 1.2; 116 font-family: 'Inconsolata'; 117 background-color: #f6f8fa !important; 118 margin-bottom: 1rem; 119 margin-top: 0; 120 } 121 code[class*="language-"] { 122 line-height: 1.2; 123 font-size: 1rem; 124 font-family: 'Inconsolata'; 125 } 126 </style> 127<!-- Start seamless-pagination custom code --></head><body data-theme="dark" class="body_new"><div class="page_wrap"><div class="custom-code"><div class="w-embed"><style> 128.w-slider-dot { 129 height: 13px; 130 width: 13px; 131 border-width: 2px; 132 border-color: #FF7F5C; 133 border-style: solid; 134 background-color: rgba(255,255,255,0); 135} 136 137.w-slider-dot.w-active { 138 border: none; 139 background-color: #FF7F5C; 140} 141 142.white-glove__text-field:focus { 143color: white; 144} 145 146.ent-support__text-field:focus { 147color: white; 148} 149.noselect { 150 -webkit-touch-callout: none; /* iOS Safari */ 151 -webkit-user-select: none; /* Safari */ 152 -khtml-user-select: none; /* Konqueror HTML */ 153 -moz-user-select: none; /* Old versions of Firefox */ 154 -ms-user-select: none; /* Internet Explorer/Edge */ 155 user-select: none; /* Non-prefixed version, currently 156 supported by Chrome, Edge, Opera and Firefox */ 157} 158 159.ent-support__text-field { 160 resize: none; 161} 162.white-glove__text-field { 163 resize: none; 164} 165.grad-1 { 166background: linear-gradient(46.63deg, #B2D7D8 27.12%, #90C7C5 43.44%, #39A093 79.36%, #259788 87.34%); 167} 168.bg {backdrop-filter: blur(45px);} 169 170 .nav-link-2:hover .nav-link-img path { 171 fill: #FF7F5C; 172} 173 .button-gradient.submit-form::before { 174 -webkit-transition: all 500ms ease; 175 transition: all 500ms ease; 176 text-decoration: none; 177 background:linear-gradient(90deg, #AACAF9, #2D78D3 50%, #AACAF9); 178 -webkit-mask: 179 linear-gradient(90deg, #AACAF9, #2D78D3 50%, #AACAF9) content-box, 180 linear-gradient(90deg, #AACAF9, #2D78D3 50%, #AACAF9); 181 -webkit-mask-composite: xor; 182 mask-composite: exclude; 183} 184.button-gradient::before { 185 content:""; 186 position:absolute; 187 top:0; 188 left:0; 189 right:0; 190 bottom:0; 191 border-radius:2em; 192 padding:2px; 193 194 -webkit-transition: all 500ms ease; 195 transition: all 500ms ease; 196 text-decoration: none; 197 background:linear-gradient(90deg, #AACAF9, #2D78D3 50%, #AACAF9); 198 -webkit-mask: 199 linear-gradient(90deg, #AACAF9, #2D78D3 50%, #AACAF9) content-box, 200 linear-gradient(90deg, #AACAF9, #2D78D3 50%, #AACAF9); 201 -webkit-mask-composite: xor; 202 mask-composite: exclude; 203} 204 205.button-gradient:hover:before { 206 /*padding:0px; */ 207 208 background:linear-gradient(90deg, #AACAF9, #2D78D3 50%, #AACAF9); 209 -webkit-mask: 210 linear-gradient(90deg, #AACAF9, #2D78D3 50%, #AACAF9) content-box, 211 linear-gradient(90deg, #AACAF9, #2D78D3 50%, #AACAF9); 212 -webkit-mask-composite: xor; 213 mask-composite: exclude; 214 215 } 216 217 .video-2.w-video { 218 padding-top: 57% !important; 219 } 220 .video-2.w-video iframe { 221 border-radius: 10px; 222 } 223 224</style></div></div><div class="page_code_wrap"><div class="page_code_base w-embed"><style> 225/* variables */ 226:root { 227 --font-weight--inherit: inherit; 228 --font-weight--100: 100; 229 --font-weight--200: 200; 230 --font-weight--300: 300; 231 --font-weight--400: 400; 232 --font-weight--500: 500; 233 --font-weight--600: 600; 234 --font-weight--700: 700; 235 --font-weight--800: 800; 236 --font-weight--900: 900; 237 --text-transform--none: none; 238 --text-transform--uppercase: uppercase; 239 --text-transform--capitalize: capitalize; 240 --text-transform--lowercase: lowercase; 241 --text-transform--inherit: inherit; 242} 243
244/* default styles */ 245body { 246 font-smoothing: antialiased; 247 -webkit-font-smoothing: antialiased; 248} 249h1, h2, h3, h4, h5, h6, p, label, blockquote { 250 margin-top: 0; 251 margin-bottom: 0; 252} 253button { 254 background-color: unset; 255 padding: unset; 256 text-align: inherit; 257} 258img::selection { 259 background: transparent; 260} 261:is(h1, h2, h3, h4, h5, h6, p) a { 262 text-decoration: underline; 263} 264.w-richtext > *:first-child { 265 margin-top: 0; 266} 267.w-richtext > *:last-child { 268 margin-bottom: 0; 269} 270video { 271 width: 100%; 272 object-fit: cover; 273} 274video.wf-empty { 275 padding: 0; 276} 277svg { 278 display: block; 279} 280section, header, footer { 281 position: relative; 282} 283 284/* line clamp */ 285.u-line-clamp-1, .u-line-clamp-2, .u-line-clamp-3, .u-line-clamp-4 { 286 display: -webkit-box; 287 overflow: hidden; 288 -webkit-line-clamp: 1; 289 -webkit-box-orient: vertical; 290} 291.u-line-clamp-2 { -webkit-line-clamp: 2; } 292.u-line-clamp-3 { -webkit-line-clamp: 3; } 293.u-line-clamp-4 { -webkit-line-clamp: 4; } 294 295/* component attributes */ 296 297/* section padding */ 298[data-padding-top="none"] { padding-top: var(--padding-vertical--none); } 299[data-padding-bottom="none"] { padding-bottom: var(--padding-vertical--none); } 300 301[data-padding-top="small"] { padding-top: var(--padding-vertical--small); } 302[data-padding-bottom="small"] { padding-bottom: var(--padding-vertical--small); } 303 304[data-padding-top="main"] { padding-top: var(--padding-vertical--main); } 305[data-padding-bottom="main"] { padding-bottom: var(--padding-vertical--main); } 306 307[data-padding-top="large"] { padding-top: var(--padding-vertical--large); } 308[data-padding-bottom="large"] { padding-bottom: var(--padding-vertical--large); } 309 310/* hide section if it has no cms items */ 311[data-cms-check="true"]:not(:has(.w-dyn-item)) { 312 display: none; 313} 314 315/* grid layout reverse */ 316@media screen and (min-width: 992px) { 317 [data-order-desktop-first="true"] { order: -1; } 318 [data-order-desktop-last="true"] { order: 2; } 319} 320@media screen and (min-width: 768px) { 321 [data-order-tablet-first="true"] { order: -1; } 322 [data-order-tablet-last="true"] { order: 2; } 323} 324/* align items */ 325[data-align-items-start="true"] { align-items: start !important; } 326[data-align-items-center="true"] { align-items: center !important; } 327[data-align-items-end="true"] { align-items: end !important; } 328/* justify content */ 329[data-justify-content-start="true"] { justify-content: start !important; } 330[data-justify-content-center="true"] { justify-content: center !important; } 331[data-justify-content-end="true"] { justify-content: end !important; } 332[data-justify-content="top"] { justify-content: start !important; } 333[data-justify-content="center"] { justify-content: center !important; } 334[data-justify-content="bottom"] { justify-content: end !important; } 335/* text align */ 336[data-text-align-left="true"] { text-align: left !important; } 337[data-text-align-center="true"] { text-align: center !important; } 338[data-text-align-right="true"] { text-align: right !important; } 339/* max width */ 340[data-max-width-none="true"] { max-width: none !important; } 341 342</style></div><div class="page_code_color w-embed"><style> 343/* theme light */ 344[data-theme="light"], 345[data-theme="dark"] [data-theme="invert"] { 346 --theme--background: var(--swatch--light-blue); 347 --theme--text: var(--swatch--greyscale--black-84); /* Color for light theme text */ 348 --swatch--color-text: var(--swatch--greyscale--black-84); /* New parameter for text on light theme */ 349 --theme--border: var(--swatch--dark-fade); 350 351 /* Link color on light theme */ 352 --link-color-light: var(--swatch--primary--azure-500); 353 354 355 --swatch--brand-1: var(--swatch--greyscale--black-84); 356 --swatch--brand-2: var(--swatch--greyscale--black-84); 357 358 359/* icon */ 360 --icon--background: var(--swatch--primary--azure-500); 361 --icon--text: var(--swatch--light); 362 --icon--border: var(--swatch--greyscale--black-84); 363 364 /* button primary */ 365 --button--background: var(--swatch--primary--orange-400); 366 --button--text: var(--swatch--greyscale--black-84); 367 --button--border: var(--swatch--primary--orange-400); 368 --button--background-hover: var(--swatch--transparency--orange-50); 369 --button--text-hover: var(--swatch--greyscale--black-84); 370 --button--border-hover: var(--swatch--primary--orange-400); 371 --button--background-pressed: var(--swatch--primary--orange-400); 372 --button--text-pressed: var(--swatch--greyscale--black-84); 373 --button--border-pressed: var (--swatch--primary--orange-400); 374 375 /* button secondary */ 376 --button-secondary--background: var(--swatch--primary--azure-500); 377 --button-secondary--text: var(--swatch--light); 378 --button-secondary--border: var(--swatch--primary--azure-500); 379 --button-secondary--background-hover: var(--swatch--transparency--azure-75); 380 --button-secondary--text-hover: var(--swatch--light); 381 --button-secondary--border-hover: var(--swatch--primary--azure-500); 382 --button-secondary--background-pressed: var(--swatch--primary--azure-500); 383 --button-secondary--text-pressed: var(--swatch--light); 384 --button-secondary--border-pressed: var(--swatch--primary--azure-500); 385 386 /* button outlined */ 387 --button-outlined--background: var(--swatch--transparent); 388 --button-outlined--text: var(--swatch--greyscale--black-84); 389 --button-outlined--border: var(--swatch--primary--azure-500); 390 --button-outlined--background-hover: var(--swatch--transparency--blue-50); 391 --button-outlined--text-hover: var(--swatch--greyscale--black-84); 392 --button-outlined--border-hover: var(--swatch--primary--azure-500); 393 --button-outlined--background-pressed: var(--swatch--transparent); 394 --button-outlined--text-pressed: var(--swatch--greyscale--black-84); 395 --button-outlined--border-pressed: var(--swatch--primary--azure-500); 396} 397 398/* theme dark */ 399:root, 400[data-theme="dark"], 401[data-theme="invert"], 402[data-theme="light"] [data-theme="invert"] { 403 --theme--background: var(--swatch--dark); 404 --theme--text: var(--swatch--light); /* Color for dark theme text */ 405 --swatch--color-text: var(--swatch--primary--blue-200); /* New parameter for text on dark theme */ 406 --theme--border: var(--swatch--dark-secondary); 407 408 /* Link color on dark theme */ 409 --link-color-dark: var(--swatch--primary--blue-200); 410 411 --swatch--brand-1: var(--swatch--primary--blue-200); 412 --swatch--brand-2: var(--swatch--primary--orange-400); 413 414 415 416/* icon */ 417 --icon--background: var(--swatch--transparency--orange-20); 418 --icon--text: var(--swatch--light); 419 --icon--border: var(--swatch--primary--orange-400); 420 421 /* button primary */ 422 --button--background: var(--swatch--primary--orange-400); 423 --button--text: var(--swatch--greyscale--black-84); 424 --button--border: var(--swatch--primary--orange-400); 425 --button--background-hover: var(--swatch--transparency--orange-75); 426 --button--text-hover: var(--swatch--greyscale--black-84); 427 --button--border-hover: var(--swatch--primary--orange-400); 428 --button--background-pressed: var(--swatch--primary--orange-400); 429 --button--text-pressed: var(--swatch--greyscale--black-84); 430 --button--border-pressed: var(--swatch--primary--orange-400); 431 432 /* button secondary */ 433 --button-secondary--background: var(--swatch--primary--blue-200); 434 --button-secondary--text: var(--swatch--greyscale--black-84); 435 --button-secondary--border: var(--swatch--primary--blue-200); 436 --button-secondary--background-hover: var(--swatch--transparency--blue-75); 437 --button-secondary--text-hover: var(--swatch--greyscale--black-84); 438 --button-secondary--border-hover: var(--swatch--primary--blue-200); 439 --button-secondary--background-pressed: var(--swatch--primary--blue-200); 440 --button-secondary--text-pressed: var(--swatch--greyscale--black-84); 441 --button-secondary--border-pressed: var(--swatch--primary--blue-200); 442 443 /* button outlined */ 444 --button-outlined--background: var(--swatch--transparent); 445 --button-outlined--text: var(--swatch--greyscale--white-100); 446 --button-outlined--border: var(--swatch--primary--blue-200); 447 --button-outlined--background-hover: var(--swatch--transparency--blue-20); 448 --button-outlined--text-hover: var(--swatch--greyscale--white-100); 449 --button-outlined--border-hover: var(--swatch--primary--blue-200); 450 --button-outlined--background-pressed: var(--swatch--primary--blue-200); 451 --button-outlined--text-pressed: var(--swatch--greyscale--black-84); 452 --button-outlined--border-pressed: var(--swatch--primary--blue-200); 453} 454 455/* button secondary */ 456[data-button-style="secondary"] { 457 --button--background: var(--button-secondary--background); 458 --button--text: var(--button-secondary--text); 459 --button--border: var(--button-secondary--border); 460 --button--background-hover: var(--button-secondary--background-hover); 461 --button--text-hover: var(--button-secondary--text-hover); 462 --button--border-hover: var(--button-secondary--border-hover); 463 --button--background-pressed: var(--button-secondary--background-pressed); 464 --button--text-pressed: var(--button-secondary--text-pressed); 465 --button--border-pressed: var(--button-secondary--border-pressed); 466} 467 468/* button outlined */ 469[data-button-style="outlined"] { 470 --button--background: var(--button-outlined--background); 471 --button--text: var(--button-outlined--text); 472 --button--border: var(--button-outlined--border); 473 --button--background-hover: var(--button-outlined--background-hover); 474 --button--text-hover: var(--button-outlined--text-hover); 475 --button--border-hover: var(--button-outlined--border-hover); 476 --button--background-pressed: var(--button-outlined--background-pressed); 477 --button--text-pressed: var(--button-outlined--text-pressed); 478 --button--border-pressed: var(--button-outlined--border-pressed); 479} 480 481 482/* Applying color of links depending on the theme */ 483.u-link { 484 color: var(--link-color-light); 485} 486 487.star_wrap { 488 color: var(--link-color-light); 489} 490 491[data-theme="dark"] .u-link { 492 color: var(--link-color-dark); 493} 494 495 496 497brand-1 { 498 color: var(--swatch--brand-1); 499} 500 501.brand-2 { 502 color: var(--swatch--brand-2); 503} 504 505/* apply colors */ 506:is(c, :where([data-theme]:not([data-theme="inherit"]))) { 507 background-color: var(--theme--background); 508 color: var(--theme--text); 509} 510</style></div><div class="page_code_color-1 w-embed"><style> 511/* theme light */ 512 513[data-theme="light"], 514[data-theme="dark"] [data-theme="invert"] { 515 --theme--background: var(--swatch--light-blue); 516 --theme--text: var(--swatch--dark); 517 --theme--border: var(--swatch--dark-fade); 518 519 /* checkbox */ 520 --checkbox--background: var(--swatch--transparent); 521 --checkbox--text: var(--swatch--transparent); 522 --checkbox--border: var(--swatch--primary--orange-400); 523 --checkbox--background-hover: var(--swatch--transparent); 524 --checkbox--background-checked: var(--swatch--primary--orange-400); 525 --checkbox--text-hover: var(--swatch--transparent); 526 --checkbox--text-checked: var(--swatch--greyscale--black-100); 527 --checkbox--border-hover: var(--swatch--transparency--orange-50); 528 --checkbox--border-checked: var(--swatch--primary--orange-400); 529 530 /* input search */ 531 --input-search--background: var(--swatch--transparent); 532 --input-search--text: var(--swatch--primary--blue-200); 533 --input-search--text-placeholder: var(--swatch--primary--blue-200); 534 --input-search--border: var(--swatch--greyscale--black-25); 535 --input-search--background-hover: var(--swatch--primary--blue-200); 536 --input-search--background-focused: var(--swatch--primary--blue-200); 537 --input-search--text-hover: var(--swatch--primary--blue-200); 538 --input-search--text-focused: var(--swatch--primary--blue-200); 539 --input-search--border-hover: var(--swatch--greyscale--black-50); 540 --input-search--border-focused: var(--swatch--primary--blue-200); 541 542 /* input */ 543 --input--background: var(--swatch--greyscale--white-100); 544 --input--text: var(--swatch--greyscale--white-100); 545 --input--text-placeholder: var(--swatch--greyscale--black-100); 546 --input--border: var(--swatch--greyscale--black-10); 547 --input--background-hover: var(--swatch--greyscale--white-100); 548 --input--background-focused: var(--swatch--greyscale--white-100); 549 --input--text-hover: var(--swatch--greyscale--white-100); 550 --input--text-focused: var(--swatch--greyscale--black-100); 551 --input--border-hover: var(--swatch--greyscale--black-50); 552 --input--border-focused: var(--swatch--primary--azure-500); 553 554 /* avatar */ 555 --avatar--border: var(--swatch--primary--azure-500); 556 /* accordion faq*/ 557 --accordion-faq--background: var(--swatch--transparent); 558 --accordion-faq--text: var(--swatch--greyscale--white-100); 559 --accordion-faq--border: var(--swatch--primary--azure-500); 560 --accordion-faq--icon-background: var(--swatch--primary--azure-500); 561 --accordion-faq--icon-text: var(--swatch--greyscale--white-100); 562 --accordion-faq--icon-border: var(--swatch--primary--azure-500); 563 /* accordion event*/ 564 --accordion-event--background: var(--swatch--secondary--indigo-600); 565 --accordion-event--text: var(--swatch--greyscale--white-100); 566 --accordion-event--border: var(--swatch--secondary--indigo-600); 567 --accordion-event--icon-background: var(--swatch--transparent); 568 --accordion-event--icon-text: var(--swatch--primary--blue-200); 569 --accordion-event--icon-border: var(--swatch--primary--blue-200); 570 571} 572/* theme dark */ 573:root, 574[data-theme="dark"], 575[data-theme="invert"], 576[data-theme="light"] [data-theme="invert"] { 577 --theme--background: var(--swatch--dark); 578 --theme--text: var(--swatch--light); 579 --theme--border: var(--swatch--light-fade); 580 581 /* checkbox */ 582 --checkbox--background: var(--swatch--transparent); 583 --checkbox--text: var(--swatch--transparent); 584 --checkbox--border: var(--swatch--primary--orange-400); 585 --checkbox--background-hover: var(--swatch--transparent); 586 --checkbox--background-checked: var(--swatch--primary--orange-400); 587 --checkbox--text-hover: var(--swatch--transparent); 588 --checkbox--text-checked: var(--swatch--greyscale--white-100); 589 --checkbox--border-hover: var(--swatch--transparency--orange-50); 590 --checkbox--border-checked: var(--swatch--primary--orange-400); 591 592 /* input search */ 593 --input-search--background: var(--swatch--transparent); 594 --input-search--text: var(--swatch--primary--blue-200); 595 --input-search--text-placeholder: var(--swatch--greyscale--white-100); 596 --input-search--border: var(--swatch--primary--blue-200); 597 --input-search--background-hover: var(--swatch--transparent); 598 --input-search--background-focused: var(--swatch--transparent); 599 --input-search--text-hover: var(--swatch--primary--blue-200); 600 --input-search--text-focused: var(--swatch--primary--blue-200)); 601 --input-search--border-hover: var(--swatch--primary--blue-200); 602 --input-search--border-focused: var(--swatch--primary--blue-200); 603 604 /* input */ 605 --input--background: var(--swatch--greyscale--white-100); 606 --input--text: var(--swatch--primary--black-100); 607 --input--text-placeholder: var(--swatch--greyscale--white-75); 608 --input--border: var(--swatch--greyscale--black-10); 609 --input--background-hover: var(--swatch--greyscale--white-100); 610 --input--background-focused: var(--swatch--greyscale--white-100); 611 --input--text-hover: var(--swatch--primary--blue-200); 612 --input--text-focused: var(--swatch--greyscale--black-100); 613 --input--border-hover: var(--swatch--greyscale--black-25); 614 --input--border-focused: var(--swatch--primary--azure-500); 615 616/* avatar */ 617 --avatar--border: var(--swatch--primary--orange-400); 618 619 /* accordion faq */ 620 --accordion-faq--background: var(--swatch--transparent); 621 --accordion-faq--text: var(--swatch--greyscale--white-100); 622 --accordion-faq--border: var(--swatch--primary--orange-400); 623 --accordion-faq--icon-background: var(--swatch--primary--orange-400); 624 --accordion-faq--icon-text: var(--swatch--greyscale--black-84); 625 --accordion-faq--icon-border: var(--swatch--primary--orange-400); 626 627 /* accordion event */ 628 --accordion-event--background: var(--swatch--secondary--indigo-600); 629 --accordion-event--text: var(--swatch--greyscale--white-100); 630 --accordion-event--border: var(--swatch--secondary--indigo-600); 631 --accordion-event--icon-background: var(--swatch--transparent); 632 --accordion-event--icon-text: var(--swatch--primary--orange-400); 633 --accordion-event--icon-border: var(--swatch--primary--orange-400); 634 635 } 636 /* checkbox */ 637[data-checkbox-style="checkbox"] { 638 --checkbox--background: var(--checkbox--background); 639 --checkbox--text: var(--checkbox--text); 640 --checkbox--border: var(--checkbox--border); 641 --checkbox--background-hover: var(--checkbox--background-hover); 642 --checkbox--background-checked: var(--checkbox--background-checked); 643 --checkbox--text-hover: var(--checkbox--text-hover); 644 --checkbox--text-checked: var(--checkbox--text-checked); 645
645--checkbox--border-hover: var(--checkbox--border-hover); 646 --checkbox--border-checked: var(--checkbox--border-checked); 647 648 } 649 /* input */ 650[data-input-style="input"] { 651 --input--background: var(--input--background); 652 --input--text: var(--input--text); 653 --input--text-placeholder: var(--input--text); 654 --input--border: var(--input--border); 655 --input--background-hover: var(--input--background-hover); 656 --input--background-focused: var(--input--background-focused); 657 --input--text-hover: var(--input--text-hover); 658 --input--text-focused: var(--input--text-focused); 659 --input--border-hover: var(--input--border-hover); 660 --input--border-focused: var(--input--border-focused); 661 } 662 /* input search */ 663[data-input-style="search"] { 664 --input--background: var(--input-search--background); 665 --input--text: var(--input-search--text); 666 --input--text-placeholder: var(--input-search--text); 667 --input--border: var(--input-search--border); 668 --input--background-hover: var(--input-search--background-hover); 669 --input--background-focused: var(--input-search--background-focused); 670 --input--text-hover: var(--input-search--text-hover); 671 --input--text-focused: var(--input-search--text-focused); 672 --input--border-hover: var(--input-search--border-hover); 673 --input--border-focused: var(--input-search--border-focused); 674 } 675 /* avatar */ 676[data-avatar-style="avatar"] { 677 --avatar--border: var(--avatar--border); 678 } 679 /* accordion */ 680[data-accordion-style="faq"] { 681 --accordion--background: var(--accordion-faq--background); 682 --accordion--text: var(--accordion-faq--text); 683 --accordion--border: var(--accordion-faq--border); 684 --accordion-icon--background: var(--accordion-faq--icon-background); 685 --accordion-icon--text: var(--accordion-faq--icon-text); 686 --accordion-icon--border: var(--accordion-faq--icon-border); 687 } 688 /* accordion */ 689[data-accordion-style="event"] { 690 --accordion--background: var(--accordion-event--background); 691 --accordion--text: var(--accordion-event--text); 692 --accordion--border: var(--accordion-event--border); 693 --accordion-icon--background: var(--accordion-event--icon-background); 694 --accordion-icon--text: var(--accordion-event--icon-text); 695 --accordion-icon--border: var(--accordion-event--icon-border); 696 } 697 698 699 700/* apply colors */ 701:is(c, :where([data-theme]:not([data-theme="inherit"]))) { 702 background-color: var(--theme--background); 703 color: var(--theme--text); 704} 705</style></div><div class="page_code_color-2 w-embed"><style> 706/* theme light */ 707 708[data-theme="light"], 709[data-theme="dark"] [data-theme="invert"] { 710 --theme--background: var(--swatch--light-blue); 711 --theme--text: var(--swatch--dark); 712 --theme--border: var(--swatch--dark-fade); 713 714 /* container indigo */ 715 --container-indigo--background: var(--swatch--secondary--indigo-600); 716 --container-indigo--text: var(--swatch--greyscale--white-100); 717 --container-indigo--border: var(--swatch--secondary--indigo-600); 718 719 /* container outline */ 720 --container-outline--background: var(--swatch--transparent); 721 --container-outline--text: var(--swatch--greyscale--white-100); 722 --container-outline--border: var(--swatch--secondary--indigo-900); 723 724/* container outline-indigo */ 725 --container-outline-indigo--background: var(--swatch--transparent); 726 --container-outline-indigo--text: var(--swatch--greyscale--white-100); 727 --container-outline-indigoâborder: var(--swatch--primary--azure-500); 728 729 /* container dark */ 730 --container-dark--background: var(--swatch--transparency--blue-75); 731 --container-dark--text: var(--swatch--greyscale--black-84); 732 --container-dark--border: var(--swatch--transparency--blue-75); 733 734 /* container white */ 735 --container-white--background: var(--swatch--secondary--indigo-900); 736 --container-white--text: var(--swatch--greyscale--white-100); 737 --container-white--border: var(--swatch--secondary--indigo-900); 738 739 /* container gray */ 740 --container-gray--background: var(--swatch--secondary--gray-100); 741 --container-gray--text: var(--swatch--greyscale--black-84); 742 --container-gray--border: var(--swatch--secondary--gray-100); 743 744 /* container blackoutline */ 745 --container-blackoutline--background: var(--swatch--transparent); 746 --container-blackoutline--text: var(--swatch--greyscale--black-84); 747 --container-blackoutline--border:var(--swatch--greyscale--black-75); 748 749 /* container outline-azure */ 750 --container-outline-azure--background: var(--swatch--transparent); 751 --container-outline-azure--text: var(--swatch--greyscale--black84); 752 --container-outline-azure--border: var(--swatch--primary--azure-500); 753 754 755} 756/* theme dark */ 757:root, 758[data-theme="dark"], 759[data-theme="invert"], 760[data-theme="light"] [data-theme="invert"] { 761 --theme--background: var(--swatch--dark); 762 --theme--text: var(--swatch--light); 763 --theme--border: var(--swatch--light-fade); 764 765 /* container indigo */ 766 --container-indigo--background: var(--swatch--secondary--indigo-600); 767 --container-indigo--text: var(--swatch--greyscale--white-100); 768 --container-indigo--border: var(--swatch--secondary--indigo-600); 769 770 /* container outline */ 771 --container-outline--background: var(--swatch--transparent); 772 --container-outline--text: var(--swatch--greyscale--white-100); 773 --container-outline--border:var(--swatch--greyscale--white-100); 774 775 /* container outline-azure */ 776 --container-outline-azure--background: var(--swatch--transparent); 777 --container-outline-azure--text: var(--swatch--greyscale--black84); 778 --container-outline-azure--border: var(--swatch--primary--azure-500); 779 780 781 /* container dark */ 782 --container-dark--background: var(--swatch--greyscale--black-75); 783 --container-dark--text: var(--swatch--greyscale--white-100); 784 --container-dark--border: var(--swatch--greyscale--black-75); 785 786 /* container white */ 787 --container-white--background: var(--swatch--greyscale--white-100); 788 --container-white--text: var(--swatch--greyscale--black-84); 789 --container-white--border: var(--swatch--greyscale--white-100); 790 791 /* card blue */ 792 --card-blue--background: var(--swatch--primary--blue-200); 793 --card-blue--text: var(--swatch--greyscale--black-84); 794 --card-blue--border: var(--swatch--primary--blue-200); 795 796 /* card azure */ 797 --card-azure--background: var(--swatch--primary--azure-500); 798 --card-azure--text: var(--swatch--greyscale--white-100); 799 --card-azure--border:var(--swatch--primary--azure-500); 800 801 /* card transparent */ 802 --card-transparent--background: var(--swatch--transparent); 803 --card-transparent--text: var(--swatch--greyscale--white-100); 804 --card-transparent--border: var(--swatch--primary--blue-200); 805 806} 807 808/* container indigo */ 809[data-container-style="indigo"] { 810 --container--background: var(--container-indigo--background); 811 --container--text: var(--container-indigo--text); 812 --container--border: var(--container-indigo--border); 813 } 814 815 /* container dark */ 816[data-container-style="dark"] { 817 --container--background: var(--container-dark--background); 818 --container--text: var(--container-dark--text); 819 --container--border: var(--container-dark--border); 820 } 821 /* container outline */ 822[data-container-style="outline"] { 823 --container--background: var(--container-outline--background); 824 --container--text: var(--container-outline--text); 825 --container--border: var(--container-outline--border); 826 827 828 } 829 /* container gray */ 830[data-container-style="gray"] { 831 --container--background: var(--container-gray--background); 832 --container--text: var(--container-gray--text); 833 --container--border: var(--container-gray--border); 834 } 835 /* container outline-azure */ 836[data-container-style="outline-azure"] { 837 --container--background: var(--container-outline-azure--background); 838 --container--text: var(--container-outline-azure--text); 839 --container--border: var(--container-outline-azure--border); 840 } 841 /* container blackoutline */ 842[data-container-style="blackoutline"] { 843 --container--background: var(--container-blackoutline--background); 844 --container--text: var(--container-blackoutline--text); 845 --container--border: var(--container-blackoutline--border); 846 847 } 848 /* container white */ 849[data-container-style="white"] { 850 --container--background: var(--container-white--background); 851 --container--text: var(--container-white--text); 852 --container--border: var(--container-white--border); 853 854 } 855 /* card blue */ 856[data-card-style="blue"] { 857 --card--background: var(--card-blue--background); 858 --card--text: var(--card-blue--text); 859 --card--border: var(--card-blue--border); 860 861 } 862 /* card azure */ 863[data-card-style="azure"] { 864 --card--background: var(--card-azure--background); 865 --card--text: var(--card-azure--text); 866 --card--border: var(--card-azure--border); 867 868 } 869 /* card transparent */ 870[data-card-style="transparent"] { 871 --card--background: var(--card-transparent--background); 872 --card--text: var(--card-transparent--text); 873 --card--border: var(--card-transparent--border); 874 875 876 } 877 878/* apply colors */ 879:is(c, :where([data-theme]:not([data-theme="inherit"]))) { 880 background-color: var(--theme--background); 881 color: var(--theme--text); 882} 883</style></div><div class="page_code_typography w-embed"><style> 884/* typography */ 885 886body { 887 font-weight: var(--body--font-weight); 888 text-transform: var(--body--text-transform); 889} 890 891:is(c, :where([class*="u-display"])) { 892 font-size: var(--display--font-size); 893 font-family: var(--display--font-family); 894 font-weight: var(--display--font-weight); 895 line-height: var(--display--line-height); 896 letter-spacing: var(--display--letter-spacing); 897 text-transform: var(--display--text-transform); 898} 899:is(c, :where([class*="u-h1"])) { 900 font-size: var(--h1--font-size); 901 font-family: var(--h1--font-family); 902 font-weight: var(--h1--font-weight); 903 line-height: var(--h1--line-height); 904 letter-spacing: var(--h1--letter-spacing); 905 text-transform: var(--h1--text-transform); 906} 907:is(c, :where([class*="u-h2"])) { 908 font-size: var(--h2--font-size); 909 font-family: var(--h2--font-family); 910 font-weight: var(--h2--font-weight); 911 line-height: var(--h2--line-height); 912 letter-spacing: var(--h2--letter-spacing); 913 text-transform: var(--h2--text-transform); 914} 915:is(c, :where([class*="u-h3"])) { 916 font-size: var(--h3--font-size); 917 font-family: var(--h3--font-family); 918 font-weight: var(--h3--font-weight); 919 line-height: var(--h3--line-height); 920 letter-spacing: var(--h3--letter-spacing); 921 text-transform: var(--h3--text-transform); 922} 923:is(c, :where([class*="u-h4"])) { 924 font-size: var(--h4--font-size); 925 font-family: var(--h4--font-family); 926 font-weight: var(--h4--font-weight); 927 line-height: var(--h4--line-height); 928 letter-spacing: var(--h4--letter-spacing); 929 text-transform: var(--h4--text-transform); 930} 931:is(c, :where([class*="u-h5"])) { 932 font-size: var(--body--font-size); 933 font-family: var(--body--font-family); 934 font-weight: var(--body--font-weight); 935 line-height: var(--body--line-height); 936 letter-spacing: var(--body--letter-spacing); 937 text-transform: var(--body--text-transform); 938} 939:is(c, :where([class*="u-text-l"])) { 940 font-size: var(--text-l--font-size); 941 font-family: var(--text-l--font-family); 942 font-weight: var(--text-l--font-weight); 943 line-height: var(--text-l--line-height); 944 letter-spacing: var(--text-l--letter-spacing); 945 text-transform: var(--text-l--text-transform); 946} 947:is(c, :where([class*="u-text-m"])) { 948 font-size: var(--text-m--font-size); 949 font-family: var(--text-m--font-family); 950 font-weight: var(--text-m--font-weight); 951 line-height: var(--text-m--line-height); 952 letter-spacing: var(--text-m--letter-spacing); 953 text-transform: var(--text-m--text-transform); 954 } 955:is(c, :where([class*="u-text-s"])) { 956 font-size: var(--text-s--font-size); 957 font-family: var(--text-s--font-family); 958 font-weight: var(--text-s--font-weight); 959 line-height: var(--text-s--line-height); 960 letter-spacing: var(--text-s--letter-spacing); 961 text-transform: var(--text-s--text-transform); 962 } 963:is(c, :where([class*="u-text-xs"])) { 964 font-size: var(--text-xs--font-size); 965 font-family: var(--text-xs--font-family); 966 font-weight: var(--text-xs--font-weight); 967 line-height: var(--text-xs--line-height); 968 letter-spacing: var(--text-xs--letter-spacing); 969 text-transform: var(--text-xs--text-transform); 970 } 971:is(c, :where([class*="u-text-xxs"])) { 972 font-size: var(--text-xxs--font-size); 973 font-family: var(--text-xxs--font-family); 974 font-weight: var(--text-xxs--font-weight); 975 line-height: var(--text-xxs--line-height); 976 letter-spacing: var(--text-xxs--letter-spacing); 977 text-transform: var(--text-xxs--text-transform); 978 } 979:is(c, :where([class*="u-text-xxxs"])) { 980 font-size: var(--text-xxxs--font-size); 981 font-family: var(--text-xxxs--font-family); 982 font-weight: var(--text-xxxs--font-weight); 983 line-height: var(--text-xxxs--line-height); 984 letter-spacing: var(--text-xxxs--letter-spacing); 985 text-transform: var(--text-xxxs--text-transform); 986} 987 988/* font weight */ 989:is(c, :where([class*="u-primary-regular"])) { font-weight: var(--font--primary-regular); } 990:is(c, :where([class*="u-primary-medium"])) { font-weight: var(--font--primary-medium); } 991:is(c, :where([class*="u-primary-semibold"])) { font-weight: var(--font--primary-semibold); } 992:is(c, :where([class*="u-primary-bold"])) { font-weight: var(--font--primary-bold); } 993:is(c, :where([class*="u-secondary-bold"])) { font-weight: var(--font--secondary-bold); } 994:is(c, :where([class*="u-secondary-extrabold"])) { font-weight: var(--font--secondary-extrabold); } 995 996</style></div><div class="page_code_responsive w-embed">Responsive 997 998 999<style> 1000/* tablet */ 1001@media screen and (max-width: 991px) { 1002 :root { 1003 /* typography */ 1004 --display--font-size: 5rem; 1005 --h1--font-size: 4rem; 1006 --h2--font-size: 2.375rem; 1007 --h3--font-size: 1.5rem; 1008 --h4--font-size: 1.3125rem; 1009 --text-l--font-size: 1.625rem; 1010 --text-m--font-size: 1.3125rem; 1011 --text-s--font-size: 1.1875rem; 1012 --text-xs--font-size: 1rem; 1013 --text-xxs--font-size: 0.875rem; 1014 --text-xxs--font-size: 0.75rem; 1015 1016 /* others */
1017 --padding-horizontal--main: 1.5rem; 1018 /* adaptive sizes */ 1019 --size--2rem: 1.75rem; 1020 --size--3rem: 2.5rem; 1021 --size--4rem: 3rem; 1022 --size--5rem: 4rem; 1023 --size--6rem: 5rem; 1024 --size--7rem: 5.5rem; 1025 --size--8rem: 6.5rem; 1026 --size--9rem: 7rem; 1027 --size--10rem: 8rem; 1028 --size--12rem: 10rem; 1029 --size--14rem: 12rem; 1030 --size--16rem: 14rem; 1031 } 1032} 1033/* landscape */ 1034@media screen and (max-width: 767px) { 1035 :root { 1036 /* typography */ 1037 --display--font-size: 3.5rem; 1038 --h1--font-size: 2.375rem; 1039 --h2--font-size: 2rem; 1040 --h3--font-size: 1.5rem; 1041 --h4--font-size: 1.25rem; 1042 --text-l--font-size: 1.3125rem; 1043 --text-m--font-size: 1.1875rem; 1044 --text-s--font-size: 1rem; 1045 --text-xs--font-size: 0.875rem; 1046 --text-xxs--font-size: 0.875rem; 1047 --text-xxs--font-size: 0.75rem; 1048 /* others */ 1049 --padding-horizontal--main: 1rem; 1050 /* adaptive sizes */ 1051 --size--3rem: 2rem; 1052 --size--4rem: 2.5rem; 1053 --size--5rem: 3rem; 1054 --size--6rem: 3.5rem; 1055 --size--7rem: 4rem; 1056 --size--8rem: 4.5rem; 1057 --size--9rem: 5rem; 1058 --size--10rem: 5.5rem; 1059 --size--12rem: 6rem; 1060 --size--14rem: 7rem; 1061 --size--16rem: 8rem; 1062 } 1063} 1064/* portrait */ 1065@media screen and (max-width: 479px) { 1066 :root { 1067 /* typography */ 1068 --display--font-size: 3.5rem; 1069 --h1--font-size: 2.375rem; 1070 --h2--font-size: 2rem; 1071 --h3--font-size: 1.5rem; 1072 --h4--font-size: 1.25rem; 1073 --text-l--font-size: 1.3125rem; 1074 --text-m--font-size: 1.1875rem; 1075 --text-s--font-size: 1rem; 1076 --text-xs--font-size: 0.875rem; 1077 --text-xxs--font-size: 0.875rem; 1078 --text-xxs--font-size: 0.75rem; 1079 1080 } 1081} 1082</style></div><div class="page_code_custom w-embed"><style> 1083/* grid layout reverse */ 1084@media screen and (min-width: 992px) { 1085 [data-order-desktop-first="true"] { order: -1; } 1086 [data-order-desktop-last="true"] { order: 2; } 1087} 1088@media screen and (min-width: 768px) { 1089 [data-order-tablet-first="true"] { order: 1; } 1090 [data-order-tablet-last="true"] { order: -2; } 1091} 1092@media screen and (min-width: 479px) { 1093 [data-order-mobile-first="true"] { order: 1; } 1094 [data-order-mobile-last="true"] { order: -2; } 1095} 1096@media screen and (min-width: 320px) { 1097 [data-order-portret-first="true"] { order: 1; } 1098 [data-order-portret-last="true"] { order: -2; } 1099} 1100 1101/* align items */ 1102[data-align-items-start="true"] { align-items: start !important; } 1103[data-align-items-center="true"] { align-items: center !important; } 1104[data-align-items-end="true"] { align-items: end !important; } 1105/* justify content */ 1106[data-justify-content-start="true"] { justify-content: start !important; } 1107[data-justify-content-center="true"] { justify-content: center !important; } 1108[data-justify-content-end="true"] { justify-content: end !important; } 1109[data-justify-content="top"] { justify-content: start !important; } 1110[data-justify-content="center"] { justify-content: center !important; } 1111[data-justify-content="bottom"] { justify-content: end !important; } 1112/* text align */ 1113[data-text-align-left="true"] { text-align: left !important; } 1114[data-text-align-center="true"] { text-align: center !important; } 1115[data-text-align-right="true"] { text-align: right !important; } 1116/* max width */ 1117[data-max-width-none="true"] { max-width: none !important; } 1118</style> 1119 1120<style> 1121 [for=theme] svg { 1122 width: 75%; 1123 } 1124 1125 .theme-switch + .theme-svg svg path:first-of-type, 1126 .theme-switch:checked + .theme-svg svg path:last-of-type { 1127 opacity: 0; 1128 } 1129 .theme-switch:checked + .theme-svg svg path:first-of-type { 1130 opacity: 1; 1131 } 1132</style></div></div><div data-animation="default" class="navbar_component w-nav" data-easing2="ease" data-theme="dark" fs-scrolldisable-element="smart-nav" data-easing="ease" data-collapse="medium" data-ix="nav-load" data-w-id="e0daa46a-5f94-7566-1199-50b9f10b60cc" role="banner" data-duration="100" data-doc-height="1"><div class="notification__float"><div class="notification__gradient-wrap"><div class="circle-2 _1"></div><div class="circle-2 _2"></div><div class="circle-2 _3"></div></div><div class="content-centered"><div data-w-id="60cf1406-c8b3-c302-3ed6-f091fc2ce5dc" class="form-banner__close sm"><img src="https://cdn.prod.website-files.com/633705de6adaa38599d8e258/63ff9d464cd8d63171586062_close-white.svg" loading="lazy" alt=""/></div><div class="w-dyn-list"><div class="w-dyn-empty"><div>No items found.</div></div></div></div><div class="noti-html w-embed w-script">
1132<script> 1133function slidePageUp() { 1134 const pageWrapEl = document.querySelector('.page_main'); 1135 if (pageWrapEl) { 1136 pageWrapEl.classList.remove('margin-top--m'); 1137 } 1138} 1139function slidePageDown() { 1140 const pageWrapEl = document.querySelector('.page_main'); 1141 if (pageWrapEl) { 1142 pageWrapEl.classList.add('margin-top--m'); 1143 } 1144} 1145const currentNoticeTimeout = localStorage.getItem('hide-notice') ? localStorage.getItem('hide-notice') * 1 : 0; 1146const notiEl = document.querySelector('.notification__float'); 1147if (currentNoticeTimeout > Date.now()) { 1148 notiEl.style.display = 'none'; 1149 slidePageUp(); 1150} 1151// hide notice bar 1152document.querySelector('.form-banner__close').addEventListener('click', () => { 1153 const timeTillAppear = new Date(Date.now() + 60*60*1000*24).getTime(); 1154 localStorage.setItem('hide-notice', timeTillAppear); 1155 notiEl.style.display = 'none'; 1156 slidePageUp(); 1157}) 1158// hide noti if null 1159if (notiEl.querySelector('.w-dyn-empty')) { 1160 notiEl.style.display = 'none'; 1161 slidePageUp(); 1162} 1163// auto id 1164document.querySelector('.notification').querySelectorAll('a').forEach((el) => { 1165 el.id = 'notice'; 1166}); 1167</script>
1167</div></div><div class="u-navbar-contain"><div class="nav_wrapper"><a href="/" class="logo_link w-nav-brand"><img src="https://cdn.prod.website-files.com/633705de6adaa38599d8e258/667961c259ac5b072d1c38ee_bk-logo.svg" loading="lazy" alt="" class="logo_img"/></a><nav role="navigation" class="navbar_menu is-page-height-tablet w-nav-menu"><div class="menu_wrap"><div class="nav_start"><a href="https://docs.botkube.io/" id="docs_nav" target="_blank" class="nav_link w-nav-link">Docs</a><a href="https://botkube.io/case-studies/civo" id="casestudies_nav" class="nav_link w-nav-link">Case study</a><a href="/blog" id="blog_nav" class="nav_link w-nav-link">Blog</a></div></div><div class="navbar_menu-buttons"><div class="nav_btn_wrapper"><a href="https://docs.botkube.io/" id="docs_nav_startcta" target="_blank" class="u-button primary w-button">Get Started</a></div></div></nav><div class="navbar_menu-button w-nav-button"><div class="menu-icon"><div class="menu-icon_line-top"></div><div class="menu-icon_line-middle"><div class="menu-icon_line-middle-inner"></div></div><div class="menu-icon_line-bottom"></div></div></div></div></div></div><main class="page_main margin-top--m"><section class="u-section-hero"><div class="u-contain-wrap max-w-64"><div class="breadcrumbs_wrap u-padding-bottom-l"><a href="/integrations" class="bread-crumb first">Integrations</a><div class="bread-crumb current-page">Microsoft Teams</div></div><div class="w-layout-grid u-grid-column-3"><div class="u-hflex-left-top u-column"><h1 class="u-h1">Microsoft Teams & Botkube K8s Integration</h1></div><div class="u-hflex-center-top u-column"><img loading="eager" alt="" src="https://cdn.prod.website-files.com/634fabb21508d6c9db9bc46f/6566556e0b8319198abb4cb1_ms-teams_logo_white.svg" class="integration__logo"/></div></div></div></section><div data-theme="dark" class="u-section"><div class="u-contain-wrap max-w-64"><div class="u-padding-bottom-m"><div data-container-style="outline" class="u-container-s"><div class="u-rich-text w-richtext"><h2><strong>Official Teams Kubernetes Notification Integration Provided by Botkube </strong></h2><p>Botkube is a powerful integration tool that seamlessly connects Kubernetes with Microsoft Teams, providing teams with real-time notifications, alerts, and management capabilities. With Azure Kubernetes Service (AKS) integrated into Microsoft Teams, launching K8s clusters is easy, and with Botkube, teams can easily manage Kubernetes resources and get notified of any changes or issues. Botkube's configuration file and webhook configs provide users with a flexible and customizable way to manage notifications, alerts, and actions, ensuring that the right stakeholders are always informed of critical events.</p><p>Additionally, Botkube allows for Microsoft Teams ChatOps, enabling users to run command line commands directly from the Teams channel, making Kubernetes management more efficient and streamlined. With Botkube and Microsoft Teams, users can manage Kubernetes resources and collaborate with their team in one centralized location, improving communication, and enhancing productivity.</p></div></div></div><div class="u-rich-text w-richtext"><h2><strong>Building a Kubernetes Microsoft Teams Bot for Notifications?</strong></h2><p>When developers seek timely notifications regarding their cluster's status, they often find themselves building an alert bot from the ground up, integrating webhooks into Microsoft Teams. This typically requires extensive Azure cloud experience as well. Save valuable time by leveraging Botkube's effortless Microsoft Teams cluster connection. Seamlessly integrate with Alertmanager for Teams, enabling the tracking of historical events. Kickstart your Kubernetes troubleshooting journey directly from Microsoft Teams!</p><p>Addressing concerns from developer teams using Microsoft, we've diligently optimized Botkube to seamlessly function within Azure's Kubernetes environment. Our dedicated efforts ensure a smooth experience for teams compelled to operate in Azure, Microsoft Teams, and other Microsoft products, guaranteeing a hassle-free setup for Kubernetes ChatOps in the Microsoft ecosystem.</p><figure class="w-richtext-align-center w-richtext-figure-type-image"><div><img loading="lazy" alt="Pulling Kubernetes Logs from Teams" src="https://cdn.prod.website-files.com/634fabb21508d6c9db9bc46f/674fad7f374d122c44eb573d_66fdc69a70c236853c7ac42b_664ca624ed57bd2274c840a6_Teams%252520AI%252520helper.jpeg"/></div><figcaption>Running a Kubectl command in Microsoft Teams with Botkube</figcaption></figure><h3><strong>Now with a Kubernetes AIÂ Assistant Built In!</strong></h3><p>Turn Microsoft Teams into your Kubernetes control room with Botkube's Teams plugin. This intelligent Kubernetes copilot delivers timely alerts and empowers you to troubleshoot complex Kubernetes errors collaboratively within Teams. Botkube simplifies Kubernetes management, ensuring your team can quickly address and resolve issues.</p><h2><strong>Kubernetes Notifications in Microsoft Teams</strong></h2><p>Previously, Kubernetes users had to rely on manually built webhooks to receive notifications in Microsoft Teams. This process was complex and labor-intensive, even with the help of monitoring tools like Prometheus. Moreover, developers had to resort to the Command Line to implement the suggested fixes after setting up the webhook.</p><p>Botkube's integration with Teams simplifies this procedure. Botkube offers error alerts and ChatOps features that can be seamlessly integrated into Teams, streamlining the notification process and allowing developers to focus on more pressing tasks. Sort of like a developer's personal Microsoft Teams Kubernetes debugger.</p><figure style="padding-bottom:33.723653395784545%" class="w-richtext-align-center w-richtext-figure-type-video"><div><iframe src="https://www.youtube.com/embed/VfzsHkfFpUI" title="Installation Tutorial: Troubleshoot Kubernetes in Microsoft Teams with Botkube" scrolling="no" frameborder="0" allowfullscreen="true"></iframe></div></figure><h2>What Does Microsoft Teams Do?</h2><p>Microsoft Teams is a comprehensive productivity tool that facilitates team collaboration through chat, video calls, and file sharing on the cloud. It allows users to communicate and work together in real-time, even when they are physically distant. Teams is designed to work seamlessly with other Microsoft applications such as Office 365, OneNote, and Yammer.</p><p>Additionally, Microsoft Teams natively integrates with a wide range of other popular apps, including Trello, Asana, and GitHub, and can also connect to custom-built integrations. The entire platform is built on Microsoft's Azure Cloud, which ensures secure, scalable, and reliable performance. Underlying all these functionalities is SharePoint, which provides the backbone for content management and collaboration within Teams.</p><ul role="list"><li>Enables real-time communication and collaboration between team members via chat, video, and file sharing.</li><li>Provides a centralized platform for team members to access and manage all their files and documents on the cloud.</li><li>Allows for organized collaboration through channels, where specific topics or projects can be discussed and managed.</li><li>Offers group membership, allowing team members to easily access and collaborate with other members of their team.</li><li>Integrates with a variety of other applications to streamline workflows and enhance productivity.</li><li>Provides enterprise-level security and compliance features to ensure data privacy and regulatory compliance.</li><li>Built on Microsoft's Azure cloud platform, Teams offers scalable performance and seamless integration with other Microsoft tools.</li><li>With Botkube, it can provide Microsoft Teams Kubernetes alerts when errors occur in a K8s cluster.</li></ul></div><div class="buttons-wrapper u-padding-top-m u-hflex-center-center"><a href="https://botkube.io/blog/maximize-your-devops-teams-efficiency-with-botkube-and-microsoft-teams" target="_blank" class="u-button secondary w-button">Get Started with Teams</a><a href="https://docs.botkube.io/" class="u-button outlined w-button">Documentation</a></div></div></div></main><footer data-theme="dark" class="u-footer"><div class="u-contain-wrap"><div class="footer_wrap u-grid-custom"><div class="u-vflex-left-top"><div class="u-vflex-left-top u-gap-main"><div class="u-vflex-left-top u-gap-medium u-padding-bottom-m"><a href="#" class="footer_top_logo-link w-inline-block"><img src="https://cdn.prod.website-files.com/633705de6adaa38599d8e258/669e2f796edfd7019250df66_Botkube_logo.svg" loading="lazy" alt="" class="footer_top_logo-img"/></a><div class="u-text-m u-primary-bold"><span class="u-color-orange-400">Botkube is made by Kubeshop</span> â a first of its kind open-source accelerator focused on the cloud native ecosystem</div></div><div class="u-vflex-left-bottom u-gap-small"><div class="footer_social_icon_wrap"><a id="youtuube_ftr_socail" href="https://www.youtube.com/playlist?list=PL2Vye-us8_x_5eqYQTBq7ZywupscaW5yA" target="_blank" class="footer_social-link w-inline-block"><div id="youtube_ftr_socail" class="icon-embed-xsmall w-embed">
1167<svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1168<path fill-rule="evenodd" clip-rule="evenodd" d="M20.5686 4.77345C21.5163 5.02692 22.2555 5.76903 22.5118 6.71673C23.1821 9.42042 23.1385 14.5321 22.5259 17.278C22.2724 18.2257 21.5303 18.965 20.5826 19.2213C17.9071 19.8831 5.92356 19.8015 3.40294 19.2213C2.45524 18.9678 1.71595 18.2257 1.45966 17.278C0.827391 14.7011 0.871044 9.25144 1.44558 6.73081C1.69905 5.78311 2.44116 5.04382 3.38886 4.78753C6.96561 4.0412 19.2956 4.282 20.5686 4.77345ZM9.86682 8.70227L15.6122 11.9974L9.86682 15.2925V8.70227Z" fill="CurrentColor"/> 1169</svg></div></a><a id="github_ftr_socail" href="https://github.com/kubeshop/botkube" target="_blank" class="footer_social-link w-inline-block"><div class="icon-embed-xsmall w-embed"><svg width="100%" height="100%" viewBox="0 0 29 29" fill="none" xmlns="http://www.w3.org/2000/svg"> 1170<path d="M14.4978 0.94043C10.7528 0.988132 7.18003 2.52148 4.56544 5.2032C1.95086 7.88492 0.508569 11.4954 0.555813 15.2404C0.535193 18.2124 1.44302 21.1166 3.15257 23.5477C4.86212 25.9789 7.28807 27.8155 10.0918 28.8014C10.7918 28.9334 11.0438 28.4914 11.0438 28.1124C11.0438 27.7734 11.0318 26.8744 11.0248 25.6814C7.14681 26.5454 6.32481 23.7644 6.32481 23.7644C6.07383 22.9055 5.52501 22.1642 4.77681 21.6734C3.51081 20.7874 4.87681 20.8044 4.87681 20.8044C5.32197 20.8701 5.7461 21.0371 6.11645 21.2927C6.4868 21.5483 6.79348 21.8855 7.01281 22.2784C7.19505 22.6289 7.44632 22.9388 7.75149 23.1896C8.05666 23.4404 8.40942 23.6269 8.78854 23.7378C9.16766 23.8487 9.5653 23.8817 9.95752 23.8349C10.3497 23.7881 10.7284 23.6624 11.0708 23.4654C11.1325 22.7443 11.4458 22.0679 11.9558 21.5544C8.85581 21.1934 5.60481 19.9664 5.60481 14.4884C5.58134 13.0751 6.09324 11.7051 7.03781 10.6534C6.61213 9.41917 6.66097 8.07067 7.17481 6.87043C7.17481 6.87043 8.34481 6.48643 11.0088 8.33643C13.2915 7.69404 15.7071 7.69404 17.9898 8.33643C20.6518 6.48643 21.8198 6.87043 21.8198 6.87043C22.3344 8.07033 22.3844 9.41877 21.9598 10.6534C22.9051 11.705 23.4171 13.0756 23.3928 14.4894C23.3928 19.9814 20.1328 21.1894 17.0268 21.5434C17.361 21.8941 17.6178 22.3109 17.7808 22.7671C17.9437 23.2232 18.0091 23.7084 17.9728 24.1914C17.9728 26.1024 17.9558 27.6444 17.9558 28.1124C17.9558 28.4954 18.2078 28.9404 18.9148 28.8004C21.7166 27.8127 24.1403 25.9755 25.8483 23.5448C27.5562 21.1141 28.4632 18.2111 28.4428 15.2404C28.4898 11.4949 27.047 7.88418 24.4318 5.20244C21.8167 2.52069 18.2433 0.987607 14.4978 0.94043" fill="CurrentColor"/> 1171</svg></div></a><a id="x_ftr_socail" href="https://twitter.com/botkube_io" target="_blank" class="footer_social-link w-inline-block"><div class="icon-embed-xsmall w-embed"><svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1172<path d="M17.1761 4H19.9362L13.9061 10.7774L21 20H15.4456L11.0951 14.4066L6.11723 20H3.35544L9.80517 12.7508L3 4H8.69545L12.6279 9.11262L17.1761 4ZM16.2073 18.3754H17.7368L7.86441 5.53928H6.2232L16.2073 18.3754Z" fill="CurrentColor"/> 1173</svg></div></a><a id="linkedin_ftr_socail" href="https://www.linkedin.com/showcase/botkube/" target="_blank" class="footer_social-link w-inline-block"><div id="li_ftr_socail" class="icon-embed-xsmall w-embed"><svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1174<path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 3C3.67157 3 3 3.67157 3 4.5V19.5C3 20.3284 3.67157 21 4.5 21H19.5C20.3284 21 21 20.3284 21 19.5V4.5C21 3.67157 20.3284 3 19.5 3H4.5ZM8.52076 7.00272C8.52639 7.95897 7.81061 8.54819 6.96123 8.54397C6.16107 8.53975 5.46357 7.90272 5.46779 7.00413C5.47201 6.15897 6.13998 5.47975 7.00764 5.49944C7.88795 5.51913 8.52639 6.1646 8.52076 7.00272ZM12.2797 9.76176H9.75971H9.7583V18.3216H12.4217V18.1219C12.4217 17.742 12.4214 17.362 12.4211 16.9819V16.9818V16.9816V16.9815V16.9812C12.4203 15.9674 12.4194 14.9532 12.4246 13.9397C12.426 13.6936 12.4372 13.4377 12.5005 13.2028C12.7381 12.3253 13.5271 11.7586 14.4074 11.8979C14.9727 11.9864 15.3467 12.3141 15.5042 12.8471C15.6013 13.1803 15.6449 13.5389 15.6491 13.8863C15.6605 14.9339 15.6589 15.9815 15.6573 17.0292V17.0294C15.6567 17.3992 15.6561 17.769 15.6561 18.1388V18.3202H18.328V18.1149C18.328 17.6629 18.3278 17.211 18.3275 16.7591V16.759V16.7588C18.327 15.6293 18.3264 14.5001 18.3294 13.3702C18.3308 12.8597 18.276 12.3563 18.1508 11.8627C17.9638 11.1286 17.5771 10.5211 16.9485 10.0824C16.5027 9.77019 16.0133 9.5691 15.4663 9.5466C15.404 9.54401 15.3412 9.54062 15.2781 9.53721L15.2781 9.53721L15.2781 9.53721C14.9984 9.52209 14.7141 9.50673 14.4467 9.56066C13.6817 9.71394 13.0096 10.0641 12.5019 10.6814C12.4429 10.7522 12.3852 10.8241 12.2991 10.9314L12.2991 10.9315L12.2797 10.9557V9.76176ZM5.68164 18.3244H8.33242V9.76733H5.68164V18.3244Z" fill="CurrentColor"/> 1175</svg></div></a><a id="slack_ftr_socail" href="https://botkube.slack.com/join/shared_invite/zt-23iwxume8-gVbHInBtANXmt
1175wYoKznlDQ#/shared-invite/email" target="_blank" class="footer_social-link w-inline-block"><div class="icon-embed-xsmall w-embed"><svg width="100%" height="100%" viewBox="0 0 29 29" fill="none" xmlns="http://www.w3.org/2000/svg"> 1176<path d="M5.49636 16.1017C5.49636 17.4967 4.36536 18.6277 2.97036 18.6277C1.57436 18.6277 0.443359 17.4967 0.443359 16.1017C0.443359 14.7067 1.57436 13.5757 2.96936 13.5757H5.49536V16.1017H5.49636Z" fill="CurrentColor"/> 1177<path d="M6.75977 16.1017C6.75977 14.7067 7.89077 13.5757 9.28577 13.5757C10.6808 13.5757 11.8118 14.7067 11.8118 16.1017V22.4177C11.8118 23.8127 10.6808 24.9437 9.28577 24.9437C7.89077 24.9437 6.75977 23.8127 6.75977 22.4177V16.1017Z" fill="CurrentColor"/> 1178<path d="M9.28577 5.9966C7.89077 5.9966 6.75977 4.8656 6.75977 3.4706C6.75977 2.0746 7.89077 0.943604 9.28577 0.943604C10.6808 0.943604 11.8118 2.0746 11.8118 3.4696V5.9956H9.28577V5.9966Z" fill="CurrentColor"/> 1179<path d="M9.28536 7.25952C10.6804 7.25952 11.8114 8.39052 11.8114 9.78552C11.8114 11.1805 10.6804 12.3115 9.28536 12.3115H2.96936C1.57436 12.3115 0.443359 11.1805 0.443359 9.78552C0.443359 8.39052 1.57436 7.25952 2.96936 7.25952H9.28536Z" fill="CurrentColor"/> 1180<path d="M19.3906 9.78552C19.3906 8.39052 20.5216 7.25952 21.9166 7.25952C23.3126 7.25952 24.4436 8.39052 24.4436 9.78552C24.4436 11.1805 23.3126 12.3115 21.9176 12.3115H19.3916V9.78552H19.3906Z" fill="CurrentColor"/> 1181<path d="M18.1282 9.7856C18.1282 11.1806 16.9972 12.3116 15.6022 12.3116C14.2072 12.3116 13.0762 11.1806 13.0762 9.7856V3.4696C13.0762 2.0746 14.2072 0.943604 15.6022 0.943604C16.9972 0.943604 18.1282 2.0746 18.1282 3.4696V9.7856Z" fill="CurrentColor"/> 1182<path d="M15.6022 19.8906C16.9972 19.8906 18.1282 21.0216 18.1282 22.4166C18.1282 23.8116 16.9972 24.9426 15.6022 24.9426C14.2072 24.9426 13.0762 23.8116 13.0762 22.4166V19.8906H15.6022Z" fill="CurrentColor"/> 1183<path d="M15.6022 18.6277C14.2072 18.6277 13.0762 17.4967 13.0762 16.1017C13.0762 14.7067 14.2072 13.5757 15.6022 13.5757H21.9182C23.3132 13.5757 24.4442 14.7067 24.4442 16.1017C24.4442 17.4967 23.3132 18.6277 21.9182 18.6277H15.6022Z" fill="CurrentColor"/> 1184</svg></div></a></div><div class="footer_legal_wrap hide-tablet"><div class="u-text-xxxs">Copyright © 2025 Kubeshop, LLC. All rights reserved.</div><div class="footer_legal_politic"><div class="u-text-xxxs u-color-blue-200"><a href="/privacy-policy" class="footer_politic_link">Privacy Policy</a> | <a href="/terms-and-conditions" class="footer_politic_link">Terms of Service </a>| <a href="https://kubeshop.io/end-user-license-agreement" class="footer_politic_link">End user license</a></div></div></div></div></div></div><div class="footer_link-list u-grid-custom"><h4 class="u-h4 u-column">Botkube</h4><div class="u-vflex-left-top u-gap-xs"><div class="u-vflex-left-top u-gap-xs"><a id="docs_ftr" href="https://docs.botkube.io/" class="u-footer-link">Docs</a><a id="casestudies_ftr" href="https://botkube.io/case-studies/civo" class="u-footer-link">Case Study</a><a id="blog_ftr" href="/blog" class="u-footer-link">Blog</a></div></div><div class="u-vflex-left-top u-gap-xs"><a id="docs_ftr_start" href="https://docs.botkube.io/" target="_blank" class="u-footer-link">Get Started</a></div></div><div class="footer_right_content_wrap"><div class="footer_right_content"><div id="w-node-de70133f-9134-2df2-f3cd-4b0516d83c9d-12298392" class="footer_link-list-2 u-grid-column-2 border-none"><h4 class="u-h4 u-column">Get to Know Kubeshop</h4><div class="u-vflex-left-top u-gap-xs"><a id="careers_ftr_ks" href="https://kubeshop.io/careers" target="_blank" class="u-footer-link">Careers</a><a id="team_ftr_ks" href="https://kubeshop.io/team" target="_blank" class="u-footer-link w-node-de70133f-9134-2df2-f3cd-4b0516d83ca3-12298392">The Team</a><a id="investors_ftr_ks" href="https://kubeshop.io/investors" target="_blank" class="u-footer-link w-node-de70133f-9134-2df2-f3cd-4b0516d83ca5-12298392">Investors</a></div><div class="u-vflex-left-top u-gap-xs"><a id="news_ftr_ks" href="https://kubeshop.io/news" target="_blank" class="u-footer-link w-node-de70133f-9134-2df2-f3cd-4b0516d83ca8-12298392">News</a><a id="github_ftr_ks" href="https://github.com/kubeshop" target="_blank" class="u-footer-link w-node-de70133f-9134-2df2-f3cd-4b0516d83caa-12298392">Kubeshop Github</a><a id="blogs_ftr_ks" href="https://kubeshop.io/blog" target="_blank" class="u-footer-link w-node-de70133f-9134-2df2-f3cd-4b0516d83cac-12298392">Kubeshop Blogs</a></div></div><div class="u-vflex-left-bottom u-gap-small"><div class="u-vflex-left-between u-gap-small"><h4 class="u-h4">Explore Kubeshop Projects</h4><div class="footer_icon_wrap"><a href="https://testkube.io/" id="tk_ftr_bk" target="_blank" class="footer_social-link w-inline-block"><img src="https://cdn.prod.website-files.com/633705de6adaa38599d8e258/63ee6
1184ae9b9e5301c296d1a2f_testkube-small-logo.svg" loading="lazy" id="tk_ftr_bk" alt="" class="footer_link-img"/></a><a id="tt_ftr_bk" href="https://tracetest.io/" target="_blank" class="footer_social-link w-inline-block"><img src="https://cdn.prod.website-files.com/633705de6adaa38599d8e258/63ee6aea21447463cb5bf2ca_tracetest-small-logo.svg" loading="lazy" id="tt_ftr_bk" alt="" class="footer_link-img"/></a><a id="bk_ftr_bk" href="/" class="footer_social-link w-inline-block"><img src="https://cdn.prod.website-files.com/633705de6adaa38599d8e258/63ee6ae8ebd7250c738cd959_botkube-small-logo.svg" loading="lazy" id="bk_ftr_bk" alt="" class="footer_link-img"/></a><a id="mk_ftr_bk" href="https://monokle.io/" target="_blank" class="footer_social-link w-inline-block"><img src="https://cdn.prod.website-files.com/633705de6adaa38599d8e258/63ee6ae9ebd7258d418cd95a_monokle-small-logo.svg" loading="lazy" id="mk_ftr_bk" alt="" class="footer_link-img"/></a><a id="ku_ftr_bk" href="https://kusk.io/" target="_blank" class="footer_social-link w-inline-block"><img src="https://cdn.prod.website-files.com/633705de6adaa38599d8e258/63ee6aea279c4a35717825ec_kusk-small-logo.svg" loading="lazy" id="ku_ftr_bk" alt="" class="footer_link-img"/></a><a id="k1_ftr_bk" href="https://kubefirst.konstruct.io/docs/" target="_blank" class="footer_social-link w-inline-block"><img src="https://cdn.prod.website-files.com/633705de6adaa38599d8e258/63ee6ae94f457e2d96b7d5db_kubefirst-small-logo.svg" loading="lazy" id="k1_ftr_bk" alt="" class="footer_link-img"/></a></div></div><a id="kubeshop_ftr" href="https://kubeshop.io/" target="_blank" class="footer_right_top_logo w-inline-block"><img src="https://cdn.prod.website-files.com/633705de6adaa38599d8e258/633814eec32051e6331c51c1_Logo-Kubeshop.svg" loading="lazy" id="ks_ftr_logo" alt="" class="footer_bottom_logo"/></a></div></div></div><div class="footer_legal_wrap hide-desktop"><div class="u-text-xxxs u-color-blue-200">Copyright © 2025 Kubeshop, LLC. All rights reserved.</div><div class="footer_legal_politic"><div class="u-text-xxxs u-color-blue-200"><a href="/privacy-policy" class="footer_politic_link">Privacy Policy</a> | <a href="/terms-and-conditions" class="footer_politic_link">Terms of Service </a>| <a href="#" target="_blank" class="footer_politic_link">End user license</a></div></div></div></div></div></footer></div>
1184<script src="https://d3e54v103j8qbb.cloudfront.net/js/jquery-3.5.1.min.dc5e7f18c8.js?site=633705de6adaa38599d8e258" type="text/javascript" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
1184<script src="https://cdn.prod.website-files.com/633705de6adaa38599d8e258/js/botkube.schunk.57d5559d2f0cd9f8.js" type="text/javascript"></script>
1184<script src="https://cdn.prod.website-files.com/633705de6adaa38599d8e258/js/botkube.schunk.8bde4f4f15cc617c.js" type="text/javascript"></script>
1184<script src="https://cdn.prod.website-files.com/633705de6adaa38599d8e258/js/botkube.dd485816.94ab7cb732ff2048.js" type="text/javascript"></script>
1184<!-- Google Tag Manager (noscript) -->
vendor: 68 bytes, lines 1184-1185
1184 1185<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
1185GTM-NNC8HPN
vendor: 83 bytes, lines 1185-1186
1185" 1186height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
1187<!-- End Google Tag Manager (noscript) -->
1188<script> 1189if (currentNoticeTimeout > Date.now()) { 1190 slidePageUp(); 1191} 1192document.querySelector('html').lang = 'en'; 1193</script>
1193 1194<!-- github star count -->
1195<script type="text/javascript"> 1196 getUserData(); 1197 1198 async function getUserData() { 1199 // config 1200 const id = "kubeshop/botkube"; 1201 const url = `https://api.github.com/repos/${id}`; 1202 // get data 1203 let data = null; 1204 try { 1205 const resp = await fetch(url); 1206 data = await resp.json(); 1207 } catch (e) { 1208 console.log("fetch data err", e); 1209 } 1210 // data parse 1211 if (data) { 1212 const starCount = data.stargazers_count || 999; 1213 const normalizedNo = (starCount / 1000).toString()[0] + '.' + (starCount % 1000).toString()[0] + 'K'; 1214 document.querySelectorAll("#star-count").forEach(el => el.innerHTML = normalizedNo); 1215 } 1216 } 1217 1218 1219if (typeof enableHobspot !== 'undefined' && !enableHobspot) { 1220 const textBlockEl = document.querySelector('#text_blocked'); 1221 if (textBlockEl) { 1222 textBlockEl.style.display = 'block'; 1223 } 1224} 1225</script>
1225<script>!function(a){a.fn.smoothScroller=function(b){b=a.extend({},a.fn.smoothScroller.defaults,b);var c=a(this);return a(b.scrollEl).animate({scrollTop:c.offset().top-a(b.scrollEl).offset().top-b.offset},b.speed,b.ease,function(){var a=c.attr("id");a.length&&(history.pushState?history.pushState(null,null,"#"+a):document.location.hash=a),c.trigger("smoothScrollerComplete")}),this},a.fn.smoothScroller.defaults={speed:400,ease:"swing",scrollEl:"body,html",offset:0},a("body").on("click","[data-smoothscroller]",function(b){b.preventDefault();var c=a(this).attr("href");0===c.indexOf("#")&&a(c).smoothScroller()})}(jQuery),function(a){var b={};a.fn.toc=function(b){var c,d=this,e=a.extend({},jQuery.fn.toc.defaults,b),f=a(e.container),g=a(e.selectors,f),h=[],i=e.activeClass,j=function(b,c){if(e.smoothScrolling&&"function"==typeof e.smoothScrolling){b.preventDefault();var f=a(b.target).attr("href");e.smoothScrolling(f,e,c)}a("li",d).removeClass(i),a(b.target).parent().addClass(i)},k=function(){c&&clearTimeout(c),c=setTimeout(function(){for(var b,c=a(window).scrollTop(),f=Number.MAX_VALUE,g=0,j=0,k=h.length;k>j;j+=1){var l=Math.abs(h[j]-c);f>l&&(g=j,f=l)}a("li",d).removeClass(i),b=a("li:eq("+g+")",d).addClass(i),e.onHighlight(b)},50)};return e.highlightOnScroll&&(a(window).bind("scroll",k),k()),this.each(function(){var b=a(this),c=a(e.listType);g.each(function(d,f){var g=a(f);h.push(g.offset().top-e.highlightOffset);var i=e.anchorName(d,f,e.prefix);if(f.id!==i){a("<span/>").attr("id",i).insertBefore(g)}var l=a("<a/>").text(e.headerText(d,f,g)).attr("href","#"+i).bind("click",function(c){a(window).unbind("scroll",k),j(c,function(){a(window).bind("scroll",k)}),b.trigger("selected",a(this).attr("href"))}),m=a("<li/>").addClass(e.itemClass(d,f,g,e.prefix)).append(l);c.append(m)}),b.html(c)})},jQuery.fn.toc.defaults={container:"body",listType:"<ul/>",selectors:"h1,h2,h3",smoothScrolling:function(b,c,d){a(b).smoothScroller({offset:c.scrollToOffset}).on("smoothScrollerComplete",function(){d()})},scrollToOffset:0,prefix:"toc",activeClass:"toc-active",onHighlight:function(){},highlightOnScroll:!0,highlightOffset:100,anchorName:function(c,d,e){if(d.id.length){return d.id}var f=a(d).text().replace(/[^a-z0-9]/gi," ").replace(/\s+/g,"-").toLowerCase();if(b[f]){for(var g=2;b[f+g];){g+=1}f=f+"-"+g}return b[f]=!0,f},headerText:function(a,b,c){return c.text()},itemClass:function(a,b,c,d){return d+"-"+c[0].tagName.toLowerCase()}}}(jQuery);</script>
vendor: 1 bytes, line 1225
1225
1226<script src="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.js"></script>
1226 1227 1228<!-- for markdown -->
1229<script type="application/javascript"> 1230 function loadGist(el) { 1231 let match = el.innerHTML.match(/^(https:\/\/gist.*)(\.js)?$/); 1232 if (!match) { 1233 return; 1234 } 1235 if (el.tagName === 'A') { 1236 // showdown mode. need to go up one level above the <a> tag 1237 el = el.parentElement; 1238 } 1239 el.innerHTML = ''; 1240 postscribe(el, '
1240<script src=' + match[1] + '.js><\/script>'); 1241 }; 1242 1243 function formatCode(el) { 1244 // in "basic html" environments, (for example, testing 1245 // in a repl) we should use the innerHTML function 1246 // to get at the raw text we want to modify and highlight. 1247 // but in webflow, the rtf field inserts <br> tags 1248 // and escapes entities, and showdown escapes html entities, 1249 // so in those cases the easiest way to get "clean" 1250 // text is the innerText function. 1251 let showdownMode = (el.tagName === 'CODE'), 1252 accessor = 'innerHTML'; 1253 if (!showdownMode || 1254 el.innerText.split('\n').length > 1) { 1255 // change this to innerText if not using markdown class 1256 accessor = 'innerHTML'; 1257 } 1258 // find our magic declaration string. if we don't find it, 1259 // do nothing 1260 let match = el[accessor].match(/--\s*CODE\s+(.*)\s?--/), 1261 classNames, codeEl; 1262 if (match && match[1]) { 1263 classNames = match[1]; 1264 } else { 1265 return; 1266 } 1267 // strip off the magic string, everything preceding it, and 1268 // all leading and trailing whitespace 1269 let txt = el[accessor].substring(match.index+match[0].length).trim(); 1270 el.innerHTML = ''; 1271 if (classNames.match(/language-/)) { 1272 codeEl = document.createElement('script'); 1273 codeEl.type = 'text/plain'; 1274 } else { 1275 codeEl = document.createElement('pre'). 1276 appendChild(document.createElement('code')); 1277 } 1278 codeEl.className = classNames.trim(); 1279 if (showdownMode) { 1280 // go up two levels to replace the <pre><code> generated by showdown 1281 el.parentElement.parentElement. 1282 replaceChild(codeEl.parentElement || codeEl, 1283 el.parentElement); 1284 } else { 1285 // go up one level to replace the <p> generated by webflow 1286 el.parentElement.replaceChild(codeEl,el); 1287 } 1288 // code clean up 1289 txt = txt.replace(/>/g, '>'); 1290 // output 1291 codeEl.innerHTML = txt; 1292 } 1293 1294 function rtfToMarkdown(el) { 1295 let txt = el.innerHTML; 1296 txt = txt.replace(/<p>/g, ''); 1297 txt = txt.replace(/<\/p>/g, '\n\n'); 1298 txt = txt.replace(/<br>/g, '\n'); 1299 txt = txt.replace(/ /g, ' '); 1300 txt = txt.replace(/</g, '<'); 1301 txt = txt.replace(/>/g, '>'); 1302 txt = txt.replace(/&lt;/g, '<'); 1303 return txt; 1304 } 1305 1306 function markdownToHtml(txt) { 1307 let converter = new showdown.Converter({ 1308 noHeaderId: true, 1309 headerLevelStart: 1, 1310 literalMidWordUnderscores: true 1311 }); 1312 let html = converter.makeHtml(txt); 1313 return html; 1314 } 1315 1316 // if there are elements with a class named 'markdown' 1317 // attached, first convert their content to html 1318 let markdowns = $('.markdown'); 1319 markdowns.toArray().forEach((el) => { 1320 let txt = rtfToMarkdown(el), 1321 html = markdownToHtml(txt); 1322 el.innerHTML = html; 1323 }); 1324 1325 // syntax-highlight elements that contain a string like 1326 // -- CODE language-foo optional additional classes -- 1327 // if we're working with a raw webflow rtf field, we want 1328 // to grab matching <p> elements. if we're working with 1329 // html that we've run through showdown, we want to grab 1330 // matching <code> elements 1331 let snips = $('p:contains("CODE"),code:contains("CODE")'); 1332 snips.toArray().forEach(formatCode); 1333 Prism.highlightAll(); 1334 1335 // load a github gist two ways: 1336 // 1. from <p> elements that contain a string like 1337 // -- GIST https://gist/...full-gist-url -- 1338 // 2. from <a> elements that contain only gist urls as content 1339 let gists = $('p:contains("GIST"),a:contains("https://gist.github.com")'); 1340 gists.toArray().forEach(loadGist); 1341 1342 </script>
vendor: 1 bytes, line 1342
1342
1343<script> 1344/* initialize toc plugin */ 1345$('.toc').toc({ 1346 'selectors': 'h2', //elements to use as headings 1347 'container': '.u-rich-text', //element to find all selectors in 1348 'prefix': '', //prefix for anchor tags and class names 1349 'highlightOnScroll': false, //add class to heading that is currently in focus 1350 'highlightOffset': 0, //offset to trigger the next headline 1351 'scrollToOffset': 150, 1352 }); 1353 1354 1355 jQuery(document).ready(function($){ 1356 1357 $('#posts').slick({ 1358 slidesToShow: 3, 1359 slidesToScroll: 1, 1360 infinite: true, 1361 arrows: true, 1362 nextArrow: $('#next'), 1363 prevArrow: $('#prev'), 1364 responsive: [ 1365 { 1366 breakpoint: 768, 1367 settings: { 1368 slidesToShow: 2 1369 } 1370 }, 1371 { 1372 breakpoint: 640, 1373 settings: { 1374 slidesToShow: 1 1375 } 1376 } 1377 ] 1378 }); 1379 }); 1380 </script>
1380 1381 </body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.