PageSourceSearch

https://botkube.io/integration/teams

html botkube.io collected 2026-10-03 20:38:53 UTC 75,083 bytes, 1,381 lines download raw bytes

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&#x27;s Teams Kubernetes Integration</title><meta content="Streamline incident response and collaboration with BotKube&#x27;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 &amp; 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&#x27;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&#x27;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&#x27;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&#x27;ve diligently optimized Botkube to seamlessly function within Azure&#x27;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&#x27;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&#x27;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&#x27;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&#x27;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&#x27;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(/&gt;/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(/&nbsp;/g, ' ');
1300    txt = txt.replace(/&lt;/g, '<');
1301    txt = txt.replace(/&gt;/g, '>');
1302    txt = txt.replace(/&amp;lt;/g, '&lt;');
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.