1<!DOCTYPE html><html lang="en"><head><meta charSet="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover, interactive-widget=resizes-content"/>
1<script>(function () { 2 try { 3 var d = document.documentElement, c = d.classList, s = d.style, ls = localStorage; 4 c.remove('light', 'dark', 'aurora'); 5 var m = ls.getItem('theme'), dk; 6 if (m === 'dark' || m === 'aurora') dk = true; 7 else if (m === 'light') dk = false; 8 else { 9 var q = '(prefers-color-scheme: dark)', mq = window.matchMedia(q); 10 dk = mq.media !== q || mq.matches; 11 } 12 var p = null; 13 try { 14 var a = JSON.parse(ls.getItem('laconote:appearance:active')); 15 if (a && a.v === 2) p = dk ? a.night : a.day; 16 } catch (e) {} 17 if (p) { 18 for (var i = 0; i < p.cls.length; i++) c.add(p.cls[i]); 19 for (var k in p.vars) s.setProperty(k, p.vars[k]); 20 if (p.fs) s.fontSize = p.fs; 21 s.colorScheme = p.base; 22 if (p.glow) d.dataset.glow = 'on'; 23 if (p.motion && p.motion !== 'full') d.dataset.motion = p.motion; 24 if (p.bg) { 25 var mt = document.querySelector('meta[name="theme-color"]'); 26 if (mt) mt.setAttribute('content', p.bg); 27 } 28 var fonts = [p.font, p.monoFont]; 29 for (var i = 0, pc = 0; i < fonts.length; i++) { 30 if (!fonts[i]) continue; 31 if (!pc) { 32 pc = 1; 33 for (var j = 0; j < 2; j++) { 34 var pl = document.createElement('link'); 35 pl.rel = 'preconnect'; 36 pl.href = j ? 'https://fonts.gstatic.com' : 'https://fonts.googleapis.com'; 37 if (j) pl.crossOrigin = ''; 38 document.head.appendChild(pl); 39 } 40 } 41 var l = document.createElement('link'); 42 l.rel = 'stylesheet'; l.setAttribute('data-theme-font', ''); l.href = fonts[i]; 43 document.head.appendChild(l); 44 } 45 } else { 46 if (dk) c.add('dark'); 47 s.colorScheme = dk ? 'dark' : 'light'; 48 49 // Nothing cached, so this is a cold start: the page is about to paint in 50 // the stylesheet's own colours. On a deployment that brought its own 51 // palette that is a flash of the product's brand on the customer's login 52 // screen â the one screen where being wrong is most visible. 53 // 54 // A stylesheet fetched here blocks the first paint, which is the point. 55 // It is requested ONLY in this branch: a warm client already has the 56 // exact palette inline from the cache, at a higher priority than any 57 // sheet, so asking for one would be a blocking request for something it 58 // would then ignore. 59 // 60 // SAME ORIGIN ONLY, and that is not caution â it is the only shape that 61 // works at all. This app ships style-src 'self' 'unsafe-inline' plus the 62 // two Google hosts, so a sheet from any other origin is blocked outright 63 // and the cross-origin case was never going to paint. 64 // 65 // Widening the policy is not the fix either. The backend host comes from 66 // workspace_url, which arrives from a ?workspace= link â so style-src 67 // https: would turn any link anyone can send into a render-blocking 68 // stylesheet on this login screen, able to hide elements and lay overlays 69 // over it. 70 // 71 // So this path covers only a deployment serving its UI and its API from 72 // ONE origin â and today that is none of them: on-prem ships the backend 73 // alone and the web UI stays hosted here, reached through a workspace 74 // domain. The guard is therefore usually false, and the cached plan above 75 // is what actually removes the flash: none from the second visit on, one 76 // on the very first visit ever. 77 // 78 // The branch is kept because it is correct and free the day a deployment 79 // does host its own UI, or the day this origin proxies the stylesheet. 80 // Removing the flash on a first visit needs one of those; it cannot be 81 // done by loosening the policy. 82 try { 83 var w = ls.getItem('workspace_url'); 84 if (w) { try { w = JSON.parse(w); } catch (e) {} } 85 var base = "https://meet.laconote.com"; 86 if (typeof w === 'string' && w.trim()) { 87 // Written without regular expressions on purpose: this whole script 88 // lives inside a template literal, where every backslash needs 89 // doubling and a slash inside a pattern needs escaping on top of it.
90 // Two string checks are unambiguous where that would be a puzzle. 91 base = w.trim(); 92 if (base.indexOf('://') < 1) base = 'https://' + base; 93 } 94 while (base.charAt(base.length - 1) === '/') base = base.slice(0, -1); 95 if (base === location.origin) { 96 var bl = document.createElement('link'); 97 bl.rel = 'stylesheet'; 98 bl.setAttribute('data-brand-theme', ''); 99 bl.href = base + '/api/v1/branding/theme.css'; 100 document.head.appendChild(bl); 101 } 102 } catch (e) {} 103 } 104 } catch (e) {} 105})();</script>
105<link rel="icon" type="image/png" sizes="32x32" href="/icon-32.png"/><link rel="icon" type="image/png" sizes="16x16" href="/icon-16.png"/><link rel="shortcut icon" href="/favicon.ico"/><meta name="theme-color" content="#F9F9F8"/><link rel="manifest" href="/manifest.json"/><meta name="application-name" content="Laconote"/><meta name="msapplication-TileColor" content="#ef4444"/><meta name="msapplication-TileImage" content="/icon-144.png"/><meta name="msapplication-config" content="/browserconfig.xml"/><link rel="apple-touch-icon" href="/icon-180.png"/><link rel="apple-touch-icon" sizes="152x152" href="/icon-152.png"/><link rel="apple-touch-icon" sizes="180x180" href="/icon-180.png"/><link rel="apple-touch-icon" sizes="167x167" href="/icon-167.png"/><link rel="privacy-policy" href="/privacy"/><link rel="preconnect" href="https://meet.laconote.com"/><link rel="dns-prefetch" href="https://meet.laconote.com"/><title>Knowledge Base â Laconote Guides & Tutorials</title><meta name="description" content="Browse guides, tutorials, and best practices for using Laconote effectively."/><meta property="og:type" content="website"/><meta property="og:title" content="Knowledge Base â Laconote Guides & Tutorials"/><meta property="og:description" content="Browse guides, tutorials, and best practices for using Laconote effectively."/><meta property="og:image" content="https://laconote.com/og/knowledge-articles.png"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Knowledge Base â Laconote Guides & Tutorials"/><meta name="twitter:description" content="Browse guides, tutorials, and best practices for using Laconote effectively."/><meta name="twitter:image" content="https://laconote.com/og/knowledge-articles.png"/><link rel="canonical" href="https://laconote.com/en/knowledge/articles"/><meta property="og:url" content="https://laconote.com/en/knowledge/articles"/><link rel="alternate" hreflang="en" href="https://laconote.com/en/knowledge/articles"/><link rel="alternate" hreflang="uk" href="https://laconote.com/uk/knowledge/articles"/><link rel="alternate" hreflang="pl" href="https://laconote.com/pl/knowledge/articles"/><link rel="alternate" hreflang="de" href="https://laconote.com/de/knowledge/articles"/><link rel="alternate" hreflang="fr" href="https://laconote.com/fr/knowledge/articles"/><link rel="alternate" hreflang="es" href="https://laconote.com/es/knowledge/articles"/><link rel="alternate" hreflang="it" href="https://laconote.com/it/knowledge/articles"/><link rel="alternate" hreflang="tr" href="https://laconote.com/tr/knowledge/articles"/><link rel="alternate" hreflang="kk" href="https://laconote.com/kk/knowledge/articles"/><link rel="alternate" hreflang="ka" href="https://laconote.com/ka/knowledge/articles"/><link rel="alternate" hreflang="uz" href="https://laconote.com/uz/knowledge/articles"/><link rel="alternate" hreflang="x-default" href="https://laconote.com/en/knowledge/articles"/>
105<script type="application/ld+json">[{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://laconote.com/en"},{"@type":"ListItem","position":2,"name":"Knowledge Base","item":"https://laconote.com/en/knowledge/articles"}]}]</script>
105<link rel="stylesheet" href="/assets/root-C3FIOnOP.css"/>
105<script>(function(){window.dataLayer=window.dataLayer||[];window.gtag=function(){dataLayer.push(arguments);};window.__laconoteEnableGA=function(){if(window.__laconoteGALoaded)return;window.__laconoteGALoaded=true;window.dataLayer.length=0;var s=document.createElement('script');s.async=true;s.src='https://www.googletagmanager.com/gtag/js?id=G-K4RKZK185B';document.head.appendChild(s);gtag('js',new Date());gtag('config','G-K4RKZK185B',{send_page_view:false});};try{var c=JSON.parse(localStorage.getItem('laconote-consent')||'null');if(c&&c.state&&c.state.hasConsented&&c.state.preferences&&c.state.preferences.analytics){window.__laconoteEnableGA();}}catch(e){}})();</script>
105</head><body><noscript><div style="text-align:center;padding:20px"><a href="/privacy">Privacy Policy</a> | <a href="/terms">Terms of Service</a></div></noscript>
105<script>!function(){try{var d=document.documentElement,n='data-mode',s='setAttribute';var e=localStorage.getItem('theme');if('system'===e||(!e&&true)){var t='(prefers-color-scheme: dark)',m=window.matchMedia(t);if(m.media!==t||m.matches){d[s](n,'dark')}else{d[s](n,'light')}}else if(e){d[s](n,e|| '')}}catch(e){}}()</script>
105<div class="min-h-screen bg-background"><div aria-hidden="true" class="pointer-events-none absolute left-0 top-0 h-5 w-px"></div><header class="fixed top-0 left-0 right-0 z-50 border-b transition-[background-color,border-color,backdrop-filter] duration-slow ease-out border-transparent bg-transparent backdrop-blur-none"><div class="max-w-6xl mx-auto px-4 sm:px-6 lg:px-8"><div class="flex items-center justify-between h-14 md:h-16"><a class="flex items-center gap-2.5" href="/en" data-discover="true"><img src="/icon-48.png" alt="Laconote" width="28" height="28" class="w-6 h-6 md:w-7 md:h-7 rounded-lg"/><span class="text-base md:text-[17px] font-semibold tracking-tight text-foreground">Laconote</span></a><nav class="hidden md:flex items-center gap-7"><button class="text-sm text-copy hover:text-foreground transition-colors">Pricing</button><a class="text-sm text-copy hover:text-foreground transition-colors" href="/en/security" data-discover="true">Security</a><a class="text-sm text-copy hover:text-foreground transition-colors" href="/en/self-hosted" data-discover="true">Self-hosted</a><a class="text-sm text-copy hover:text-foreground transition-colors" href="/en/support" data-discover="true">Support</a><a class="text-sm text-copy hover:text-foreground transition-colors" href="/login" data-discover="true">Log in</a><button class="inline-flex items-center justify-center whitespace-nowrap rounded-full font-medium transition-[color,background-color,border-color,box-shadow,transform,opacity] duration-base focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 active:scale-[0.98] hover:bg-accent hover:text-accent-foreground h-9 px-3 text-xs gap-2" data-onboarding="language-switcher" aria-label="English â Change interface language" type="button" id="radix-:Raid55:" aria-haspopup="menu" aria-expanded="false" data-state="closed"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-globe h-4 w-4"><circle cx="12" cy="12" r="10"></circle><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"></path><path d="M2 12h20"></path></svg><span class="hidden sm:inline">English</span></button><button class="inline-flex items-center justify-center whitespace-nowrap rounded-full text-sm transition-[color,background-color,border-color,box-shadow,transform,opacity] duration-base focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 active:scale-[0.98] hover-aurora bg-primary font-semibold text-primary-foreground h-10 px-5">Start for Free</button></nav><div class="md:hidden flex items-center gap-3"><button class="inline-flex items-center justify-center whitespace-nowrap transition-[color,background-color,border-color,box-shadow,transform,opacity] duration-base focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 active:scale-[0.98] hover-aurora bg-primary font-semibold text-primary-foreground text-xs h-10 rounded-full px-4">Start free</button><button type="button" aria-haspopup="dialog" aria-expanded="false" aria-controls="radix-:Rbid55:" data-state="closed" aria-label="Menu" class="flex h-11 w-11 -mr-2.5 items-center justify-center rounded-lg text-foreground transition-colors hover:bg-muted"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-menu h-5 w-5"><line x1="4" x2="20" y1="12" y2="12"></line><line x1="4" x2="20" y1="6" y2="6"></line><line x1="4" x2="20" y1="18" y2="18"></line></svg></button></div></div></div></header><main class="pt-14 md:pt-16"><section class="bg-muted py-12"><div class="container mx-auto px-4"><a class="inline-flex items-center gap-1 text-sm text-muted-foreground hover:text-foreground mb-4" href="/en/support" data-discover="true"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-left h-4 w-4"><path d="m12 19-7-7 7-7"></path><path d="M19 12H5"></path></svg>Back</a><div class="flex items-center gap-3 mb-4"><div class="p-3 bg-primary/10 rounded-lg"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-text h-8 w-8 text-primary"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path><path d="M14 2v4a2 2 0 0 0 2 2h4"></path><path d="M10 9H8"></path><path d="M16 13H8"></path><path d="M16 17H8"></path></svg></div><div><h1 class="text-3xl font-bold">Knowledge Base</h1><p class="text-muted-foreground">Guides, tutorials, and best practices</p></div></div></div></section><section class="py-8"><div class="container mx-auto px-4"><div class="space-y-6"><div class="relative max-w-md mx-auto"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"><circle cx="11" cy="11" r="8"></circle><path d="m21 21-4.3-4.3"></path></svg><input type="text" class="flex h-10 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 pl-9 pr-9" placeholder="Search articles..." value=""/></div><div dir="ltr" data-orientation="horizontal"><div role="tablist" aria-orientation="horizontal" class="items-center rounded-lg p-1 text-muted-foreground flex flex-wrap justify-center gap-1 h-auto bg-transparent" tabindex="-1" data-orientation="horizontal" style="outline:none"><button type="button" role="tab" aria-selected="true" aria-controls="radix-:R2jd55:-content-all" data-state="active" id="radix-:R2jd55:-trigger-all" class="inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-[color,background-color,box-shadow] duration-fast focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow data-[state=active]:bg-primary data-[state=active]:text-primary-foreground" tabindex="-1" data-orientation="horizontal" data-radix-collection-item="">All<!-- --> (<!-- -->
10521<!-- -->)</button><button type="button" role="tab" aria-selected="false" aria-controls="radix-:R2jd55:-content-getting-started" data-state="inactive" id="radix-:R2jd55:-trigger-getting-started" class="inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-[color,background-color,box-shadow] duration-fast focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow data-[state=active]:bg-primary data-[state=active]:text-primary-foreground" tabindex="-1" data-orientation="horizontal" data-radix-collection-item="">Getting Started<!-- --> (<!-- -->1<!-- -->)</button><button type="button" role="tab" aria-selected="false" aria-controls="radix-:R2jd55:-content-best-practices" data-state="inactive" id="radix-:R2jd55:-trigger-best-practices" class="inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-[color,background-color,box-shadow] duration-fast focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow data-[state=active]:bg-primary data-[state=active]:text-primary-foreground" tabindex="-1" data-orientation="horizontal" data-radix-collection-item="">Best Practices<!-- --> (<!-- -->2<!-- -->)</button><button type="button" role="tab" aria-selected="false" aria-controls="radix-:R2jd55:-content-troubleshooting" data-state="inactive" id="radix-:R2jd55:-trigger-troubleshooting" class="inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-[color,background-color,box-shadow] duration-fast focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow data-[state=active]:bg-primary data-[state=active]:text-primary-foreground" tabindex="-1" data-orientation="horizontal" data-radix-collection-item="">Troubleshooting<!-- --> (<!-- -->2<!-- -->)</button><button type="button" role="tab" aria-selected="false" aria-controls="radix-:R2jd55:-content-features" data-state="inactive" id="radix-:R2jd55:-trigger-features" class="inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-[color,background-color,box-shadow] duration-fast focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow data-[state=active]:bg-primary data-[state=active]:text-primary-foreground" tabindex="-1" data-orientation="horizontal" data-radix-collection-item="">Features<!-- --> (<!-- -->15<!-- -->)</button><button type="button" role="tab" aria-selected="false" aria-controls="radix-:R2jd55:-content-integrations" data-state="inactive" id="radix-:R2jd55:-trigger-integrations" class="inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-[color,background-color,box-shadow] duration-fast focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow data-[state=active]:bg-primary data-[state=active]:text-primary-foreground" tabindex="-1" data-orientation="horizontal" data-radix-collection-item="">Integrations<!-- --> (<!-- -->1<!-- -->)</button><button type="button" role="tab" aria-selected="false" aria-controls="radix-:R2jd55:-content-tips-tricks" data-state="inactive" id="radix-:R2jd55:-trigger-tips-tricks" class="inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-[color,background-color,box-shadow] duration-fast focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow data-[state=active]:bg-primary data-[state=active]:text-primary-foreground" tabindex="-1" data-orientation="horizontal" data-radix-collection-item="">Tips & Tricks<!-- --> (<!-- -->0<!-- -->)</button></div><div data-state="active" data-orientation="horizontal" role="tabpanel" aria-labelledby="radix-:R2jd55:-trigger-all" id="radix-:R2jd55:-content-all" tabindex="0" class="ring-offset-background duration-fast ease-
105out data-[state=active]:animate-in data-[state=active]:fade-in-0 data-[state=active]:slide-in-from-bottom-1 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 mt-6" style="animation-duration:0s"><div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4"><a href="/en/knowledge/articles/windows-desktop-recording" data-discover="true"><div class="rounded-xl border bg-card text-card-foreground shadow duration-base h-full hover:shadow-md transition-shadow cursor-pointer"><div class="[--card-p:1rem] sm:[--card-p:1.5rem] p-[var(--card-p)] flex flex-col space-y-1.5 pb-2"><div class="flex items-start justify-between gap-2"><h3 class="tracking-tight text-lg font-semibold line-clamp-2">How To Record Calls With The Windows Desktop App</h3><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent hover:bg-secondary/80 shrink-0 bg-status-purple-bg text-status-purple-text">Features</div></div></div><div class="[--card-p:1rem] sm:[--card-p:1.5rem] p-[var(--card-p)] pt-0 space-y-3"><p class="text-sm text-muted-foreground line-clamp-3">When to use the Windows Desktop App, how to prepare permissions, and what to check before recording desktop calls.</p><div class="flex items-center gap-1 flex-wrap"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag h-3 w-3 text-muted-foreground"><path d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z"></path><circle cx="7.5" cy="7.5" r=".5" fill="currentColor"></circle></svg><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">windows</div><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">recording</div><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">system-audio</div><span class="text-xs text-muted-foreground">+<!-- -->1</span></div><div class="flex items-center gap-4 text-xs text-muted-foreground pt-2 border-t"><div class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock h-3 w-3"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg><span>3 min read</span></div><div class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-eye h-3 w-3"><path d="M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"></path><circle cx="12" cy="12" r="3"></circle></svg><span>20</span></div></div></div></div></a><a href="/en/knowledge/articles/team-pulse" data-discover="true"><div class="rounded-xl border bg-card text-card-foreground shadow duration-base h-full hover:shadow-md transition-shadow cursor-pointer"><div class="[--card-p:1rem] sm:[--card-p:1.5rem] p-[var(--card-p)] flex flex-col space-y-1.5 pb-2"><div class="flex items-start justify-between gap-2"><h3 class="tracking-tight text-lg font-semibold line-clamp-2">How Team Pulse Works in Laconote</h3><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent hover:bg-secondary/80 shrink-0 bg-status-purple-bg text-status-purple-text">Features</div></div></div><div class="[--card-p:1rem] sm:[--card-p:1.5rem] p-[var(--card-p)] pt-0 space-y-3"><p class="text-sm text-muted-foreground line-clamp-3">How to use Team Pulse to review mood, engagement, and talk balance trends across project meetings.</p><div class="flex items-center gap-1 flex-wrap"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag h-3 w-3 text-muted-foreground">
105<path d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z"></path><circle cx="7.5" cy="7.5" r=".5" fill="currentColor"></circle></svg><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">team-pulse</div><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">analytics</div><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">projects</div><span class="text-xs text-muted-foreground">+<!-- -->1</span></div><div class="flex items-center gap-4 text-xs text-muted-foreground pt-2 border-t"><div class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock h-3 w-3"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg><span>3 min read</span></div><div class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-eye h-3 w-3"><path d="M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"></path><circle cx="12" cy="12" r="3"></circle></svg><span>17</span></div></div></div></div></a><a href="/en/knowledge/articles/self-hosted-workspace" data-discover="true"><div class="rounded-xl border bg-card text-card-foreground shadow duration-base h-full hover:shadow-md transition-shadow cursor-pointer"><div class="[--card-p:1rem] sm:[--card-p:1.5rem] p-[var(--card-p)] flex flex-col space-y-1.5 pb-2"><div class="flex items-start justify-between gap-2"><h3 class="tracking-tight text-lg font-semibold line-clamp-2">Using Laconote With A Self-hosted Workspace</h3><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent hover:bg-secondary/80 shrink-0 bg-status-purple-bg text-status-purple-text">Features</div></div></div><div class="[--card-p:1rem] sm:[--card-p:1.5rem] p-[var(--card-p)] pt-0 space-y-3"><p class="text-sm text-muted-foreground line-clamp-3">How Workspace URL connects Laconote apps to a private self-hosted backend instead of the cloud workspace.</p><div class="flex items-center gap-1 flex-wrap"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag h-3 w-3 text-muted-foreground"><path d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z"></path><circle cx="7.5" cy="7.5" r=".5" fill="currentColor"></circle></svg><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">self-hosted</div><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">workspace</div><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">workspace-url</div><span class="text-xs text-muted-foreground">+<!-- -->1</span></div><div class="flex items-center gap-4 text-xs text-muted-foreground pt-2 border-t"><div class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock h-3 w-3"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg><span>3 min read</span></div><div class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-eye h-3 w-3"><path d="M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"></path><circle cx="12" cy="12" r="3"></circle></svg><span>12</span></div></div></div></div></a><a href="/en/knowledge/articles/meeting-type-templates" data-discover="true"><div class="rounded-xl border bg-card text-card-foreground shadow duration-base h-full hover:shadow-md transition-shadow cursor-pointer"><div class="[--card-p:1rem] sm:[--card-p:1.5rem] p-[var(--card-p)] flex flex-col space-y-1.5 pb-2"><div class="flex items-start justify-between gap-2"><h3 class="tracking-tight text-lg font-semibold line-clamp-2">How Meeting Type Templates Improve AI Results</h3><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent hover:bg-secondary/80 shrink-0 bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-200">Best Practices</div></div></div><div class="[--card-p:1rem] sm:[--card-p:1.5rem] p-[var(--card-p)] pt-0 space-y-3"><p class="text-sm text-muted-foreground line-clamp-3">How choosing the right meeting type helps Laconote generate better summaries, tasks, and decisions.</p><div class="flex items-center gap-1 flex-wrap"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag h-3 w-3 text-muted-foreground">
105<path d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z"></path><circle cx="7.5" cy="7.5" r=".5" fill="currentColor"></circle></svg><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">meeting-types</div><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">templates</div><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">summary</div><span class="text-xs text-muted-foreground">+<!-- -->1</span></div><div class="flex items-center gap-4 text-xs text-muted-foreground pt-2 border-t"><div class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock h-3 w-3"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg><span>2 min read</span></div><div class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-eye h-3 w-3"><path d="M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"></path><circle cx="12" cy="12" r="3"></circle></svg><span>17</span></div></div></div></div></a><a href="/en/knowledge/articles/browser-extension-recording" data-discover="true"><div class="rounded-xl border bg-card text-card-foreground shadow duration-base h-full hover:shadow-md transition-shadow cursor-pointer"><div class="[--card-p:1rem] sm:[--card-p:1.5rem] p-[var(--card-p)] flex flex-col space-y-1.5 pb-2"><div class="flex items-start justify-between gap-2"><h3 class="tracking-tight text-lg font-semibold line-clamp-2">How To Record Meetings With The Browser Extension</h3><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent hover:bg-secondary/80 shrink-0 bg-status-purple-bg text-status-purple-text">Features</div></div></div><div class="[--card-p:1rem] sm:[--card-p:1.5rem] p-[var(--card-p)] pt-0 space-y-3"><p class="text-sm text-muted-foreground line-clamp-3">When to use the Browser Extension, how to record browser meetings, and how live summaries and screenshots work.</p><div class="flex items-center gap-1 flex-wrap"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag h-3 w-3 text-muted-foreground"><path d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z"></path><circle cx="7.5" cy="7.5" r=".5" fill="currentColor"></circle></svg><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">extension</div><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">recording</div><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">screenshots</div><span class="text-xs text-muted-foreground">+<!-- -->1</span></div><div class="flex items-center gap-4 text-xs text-muted-foreground pt-2 border-t"><div class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock h-3 w-3"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg><span>3 min read</span></div><div class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-eye h-3 w-3"><path d="M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"></path><circle cx="12" cy="12" r="3"></circle></svg><span>23</span></div></div></div></div></a><a href="/en/knowledge/articles/macos-desktop-app-recording" data-discover="true"><div class="rounded-xl border bg-card text-card-foreground shadow duration-base h-full hover:shadow-md transition-shadow cursor-pointer"><div class="[--card-p:1rem] sm:[--card-p:1.5rem] p-[var(--card-p)] flex flex-col space-y-1.5 pb-2"><div class="flex items-start justify-between gap-2"><h3 class="tracking-tight text-lg font-semibold line-clamp-2">How To Record Calls With The macOS Desktop App</h3><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent hover:bg-secondary/80 shrink-0 bg-status-purple-bg text-status-purple-text">Features</div></div></div><div class="[--card-p:1rem] sm:[--card-p:1.5rem] p-[var(--card-p)] pt-0 space-y-3"><p class="text-sm text-muted-foreground line-clamp-3">When to use the macOS Desktop App, how to prepare macOS permissions, and what to check before recording Zoom, Slack, or Teams calls.</p><div class="flex items-center gap-1 flex-wrap"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag h-3 w-3 text-muted-foreground">
105<path d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z"></path><circle cx="7.5" cy="7.5" r=".5" fill="currentColor"></circle></svg><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">macos</div><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">recording</div><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">system-audio</div><span class="text-xs text-muted-foreground">+<!-- -->1</span></div><div class="flex items-center gap-4 text-xs text-muted-foreground pt-2 border-t"><div class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock h-3 w-3"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg><span>5 min read</span></div><div class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-eye h-3 w-3"><path d="M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"></path><circle cx="12" cy="12" r="3"></circle></svg><span>22</span></div></div></div></div></a><a href="/en/knowledge/articles/decisions-guide" data-discover="true"><div class="rounded-xl border bg-card text-card-foreground shadow duration-base h-full hover:shadow-md transition-shadow cursor-pointer"><div class="[--card-p:1rem] sm:[--card-p:1.5rem] p-[var(--card-p)] flex flex-col space-y-1.5 pb-2"><div class="flex items-start justify-between gap-2"><h3 class="tracking-tight text-lg font-semibold line-clamp-2">How Decisions Work in Laconote</h3><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent hover:bg-secondary/80 shrink-0 bg-status-purple-bg text-status-purple-text">Features</div></div></div><div class="[--card-p:1rem] sm:[--card-p:1.5rem] p-[var(--card-p)] pt-0 space-y-3"><p class="text-sm text-muted-foreground line-clamp-3">Decisions help you quickly find what was agreed after meetings and separate decisions from follow-up tasks.</p><div class="flex items-center gap-1 flex-wrap"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag h-3 w-3 text-muted-foreground"><path d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z"></path><circle cx="7.5" cy="7.5" r=".5" fill="currentColor"></circle></svg><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">decisions</div><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">summary</div><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">tasks</div><span class="text-xs text-muted-foreground">+<!-- -->1</span></div><div class="flex items-center gap-4 text-xs text-muted-foreground pt-2 border-t"><div class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock h-3 w-3"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg><span>4 min read</span></div><div class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-eye h-3 w-3"><path d="M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"></path><circle cx="12" cy="12" r="3"></circle></svg><span>15</span></div></div></div></div></a><a href="/en/knowledge/articles/team-project-share" data-discover="true"><div class="rounded-xl border bg-card text-card-foreground shadow duration-base h-full hover:shadow-md transition-shadow cursor-pointer"><div class="[--card-p:1rem] sm:[--card-p:1.5rem] p-[var(--card-p)] flex flex-col space-y-1.5 pb-2"><div class="flex items-start justify-between gap-2"><h3 class="tracking-tight text-lg font-semibold line-clamp-2">Why Laconote Uses Team, Project, and Share</h3><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent hover:bg-secondary/80 shrink-0 bg-status-purple-bg text-status-purple-text">Features</div></div></div><div class="[--card-p:1rem] sm:[--card-p:1.5rem] p-[var(--card-p)] pt-0 space-y-3"><p class="text-sm text-muted-foreground line-clamp-3">Why adding someone to Team does not open every project, and when to use Team, Project, or Share.</p><div class="flex items-center gap-1 flex-wrap"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag h-3 w-3 text-muted-foreground">
105<path d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z"></path><circle cx="7.5" cy="7.5" r=".5" fill="currentColor"></circle></svg><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">team</div><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">projects</div><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">sharing</div><span class="text-xs text-muted-foreground">+<!-- -->1</span></div><div class="flex items-center gap-4 text-xs text-muted-foreground pt-2 border-t"><div class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock h-3 w-3"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg><span>4 min read</span></div><div class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-eye h-3 w-3"><path d="M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"></path><circle cx="12" cy="12" r="3"></circle></svg><span>21</span></div></div></div></div></a><a href="/en/knowledge/articles/roles-permissions" data-discover="true"><div class="rounded-xl border bg-card text-card-foreground shadow duration-base h-full hover:shadow-md transition-shadow cursor-pointer"><div class="[--card-p:1rem] sm:[--card-p:1.5rem] p-[var(--card-p)] flex flex-col space-y-1.5 pb-2"><div class="flex items-start justify-between gap-2"><h3 class="tracking-tight text-lg font-semibold line-clamp-2">Roles and Access Permissions in Laconote</h3><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent hover:bg-secondary/80 shrink-0 bg-status-purple-bg text-status-purple-text">Features</div></div></div><div class="[--card-p:1rem] sm:[--card-p:1.5rem] p-[var(--card-p)] pt-0 space-y-3"><p class="text-sm text-muted-foreground line-clamp-3">A short explanation of how team roles, project roles, invite states, and shared links work in Laconote.</p><div class="flex items-center gap-1 flex-wrap"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag h-3 w-3 text-muted-foreground"><path d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z"></path><circle cx="7.5" cy="7.5" r=".5" fill="currentColor"></circle></svg><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">roles</div><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">access</div><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">team</div><span class="text-xs text-muted-foreground">+<!-- -->1</span></div><div class="flex items-center gap-4 text-xs text-muted-foreground pt-2 border-t"><div class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock h-3 w-3"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg><span>4 min read</span></div><div class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-eye h-3 w-3"><path d="M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"></path><circle cx="12" cy="12" r="3"></circle></svg><span>15</span></div></div></div></div></a><a href="/en/knowledge/articles/team-onboarding" data-discover="true"><div class="rounded-xl border bg-card text-card-foreground shadow duration-base h-full hover:shadow-md transition-shadow cursor-pointer"><div class="[--card-p:1rem] sm:[--card-p:1.5rem] p-[var(--card-p)] flex flex-col space-y-1.5 pb-2"><div class="flex items-start justify-between gap-2"><h3 class="tracking-tight text-lg font-semibold line-clamp-2">How To Onboard A New Teammate In Laconote</h3><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent hover:bg-secondary/80 shrink-0 bg-status-purple-bg text-status-purple-text">Features</div></div></div><div class="[--card-p:1rem] sm:[--card-p:1.5rem] p-[var(--card-p)] pt-0 space-y-3"><p class="text-sm text-muted-foreground line-clamp-3">A step-by-step onboarding flow for a new teammate: when to add them to Team, when to open a Project, what to show on day one, and how to avoid giving too much access.</p><div class="flex items-center gap-1 flex-wrap"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag h-3 w-3 text-muted-foreground">
105<path d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z"></path><circle cx="7.5" cy="7.5" r=".5" fill="currentColor"></circle></svg><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">onboarding</div><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">team</div><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">project</div><span class="text-xs text-muted-foreground">+<!-- -->1</span></div><div class="flex items-center gap-4 text-xs text-muted-foreground pt-2 border-t"><div class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock h-3 w-3"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg><span>5 min read</span></div><div class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-eye h-3 w-3"><path d="M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"></path><circle cx="12" cy="12" r="3"></circle></svg><span>12</span></div></div></div></div></a><a href="/en/knowledge/articles/post-meeting-workflow" data-discover="true"><div class="rounded-xl border bg-card text-card-foreground shadow duration-base h-full hover:shadow-md transition-shadow cursor-pointer"><div class="[--card-p:1rem] sm:[--card-p:1.5rem] p-[var(--card-p)] flex flex-col space-y-1.5 pb-2"><div class="flex items-start justify-between gap-2"><h3 class="tracking-tight text-lg font-semibold line-clamp-2">What To Do After A Meeting in Laconote</h3><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent hover:bg-secondary/80 shrink-0 bg-status-purple-bg text-status-purple-text">Features</div></div></div><div class="[--card-p:1rem] sm:[--card-p:1.5rem] p-[var(--card-p)] pt-0 space-y-3"><p class="text-sm text-muted-foreground line-clamp-3">A short practical workflow for checking Summary, tasks, notes, and other meeting materials after a meeting, sharing the result, and keeping agreements from getting lost.</p><div class="flex items-center gap-1 flex-wrap"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag h-3 w-3 text-muted-foreground"><path d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z"></path><circle cx="7.5" cy="7.5" r=".5" fill="currentColor"></circle></svg><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">workflow</div><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">summary</div><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">tasks</div><span class="text-xs text-muted-foreground">+<!-- -->1</span></div><div class="flex items-center gap-4 text-xs text-muted-foreground pt-2 border-t"><div class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock h-3 w-3"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg><span>4 min read</span></div><div class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-eye h-3 w-3"><path d="M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"></path><circle cx="12" cy="12" r="3"></circle></svg><span>13</span></div></div></div></div></a><a href="/en/knowledge/articles/privacy-security" data-discover="true"><div class="rounded-xl border bg-card text-card-foreground shadow duration-base h-full hover:shadow-md transition-shadow cursor-pointer"><div class="[--card-p:1rem] sm:[--card-p:1.5rem] p-[var(--card-p)] flex flex-col space-y-1.5 pb-2"><div class="flex items-start justify-between gap-2"><h3 class="tracking-tight text-lg font-semibold line-clamp-2">Privacy and Security in Laconote</h3><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent hover:bg-secondary/80 shrink-0 bg-red-100 text-red-800 dark:bg-red-900 dark:text-red-200">Troubleshooting</div></div></div><div class="[--card-p:1rem] sm:[--card-p:1.5rem] p-[var(--card-p)] pt-0 space-y-3"><p class="text-sm text-muted-foreground line-clamp-3">How Laconote handles meeting materials, access, shared links, and AI features from a privacy and security perspective.</p><div class="flex items-center gap-1 flex-wrap"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag h-3 w-3 text-muted-foreground">
105<path d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z"></path><circle cx="7.5" cy="7.5" r=".5" fill="currentColor"></circle></svg><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">privacy</div><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">security</div><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">access</div><span class="text-xs text-muted-foreground">+<!-- -->5</span></div><div class="flex items-center gap-4 text-xs text-muted-foreground pt-2 border-t"><div class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock h-3 w-3"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg><span>6 min read</span></div><div class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-eye h-3 w-3"><path d="M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"></path><circle cx="12" cy="12" r="3"></circle></svg><span>14</span></div></div></div></div></a><a href="/en/knowledge/articles/connect-mcp" data-discover="true"><div class="rounded-xl border bg-card text-card-foreground shadow duration-base h-full hover:shadow-md transition-shadow cursor-pointer"><div class="[--card-p:1rem] sm:[--card-p:1.5rem] p-[var(--card-p)] flex flex-col space-y-1.5 pb-2"><div class="flex items-start justify-between gap-2"><h3 class="tracking-tight text-lg font-semibold line-clamp-2">How to connect AI assistants to Laconote with MCP</h3><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent hover:bg-secondary/80 shrink-0 bg-cyan-100 text-cyan-800 dark:bg-cyan-900 dark:text-cyan-200">Integrations</div></div></div><div class="[--card-p:1rem] sm:[--card-p:1.5rem] p-[var(--card-p)] pt-0 space-y-3"><p class="text-sm text-muted-foreground line-clamp-3">How to give Claude, Cursor, Zed, VS Code, and other MCP clients access to your Laconote meetings.</p><div class="flex items-center gap-1 flex-wrap"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag h-3 w-3 text-muted-foreground"><path d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z"></path><circle cx="7.5" cy="7.5" r=".5" fill="currentColor"></circle></svg><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">mcp</div><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">ai</div><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">integrations</div><span class="text-xs text-muted-foreground">+<!-- -->2</span></div><div class="flex items-center gap-4 text-xs text-muted-foreground pt-2 border-t"><div class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock h-3 w-3"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg><span>7 min read</span></div><div class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-eye h-3 w-3"><path d="M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"></path><circle cx="12" cy="12" r="3"></circle></svg><span>28</span></div></div></div></div></a><a href="/en/knowledge/articles/getting-started" data-discover="true"><div class="rounded-xl border bg-card text-card-foreground shadow duration-base h-full hover:shadow-md transition-shadow cursor-pointer"><div class="[--card-p:1rem] sm:[--card-p:1.5rem] p-[var(--card-p)] flex flex-col space-y-1.5 pb-2"><div class="flex items-start justify-between gap-2"><h3 class="tracking-tight text-lg font-semibold line-clamp-2">Getting Started with Laconote</h3><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent hover:bg-secondary/80 shrink-0 bg-status-info-bg text-status-info-text">Getting Started</div></div></div><div class="[--card-p:1rem] sm:[--card-p:1.5rem] p-[var(--card-p)] pt-0 space-y-3"><p class="text-sm text-muted-foreground line-clamp-3">Welcome to Laconote! This guide covers the current ways to record, upload, and analyze meetings in Laconote.</p><div class="flex items-center gap-1 flex-wrap"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag h-3 w-3 text-muted-foreground">
105<path d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z"></path><circle cx="7.5" cy="7.5" r=".5" fill="currentColor"></circle></svg><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">beginner</div><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">tutorial</div><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">recording</div><span class="text-xs text-muted-foreground">+<!-- -->4</span></div><div class="flex items-center gap-4 text-xs text-muted-foreground pt-2 border-t"><div class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock h-3 w-3"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg><span>6 min read</span></div><div class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-eye h-3 w-3"><path d="M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"></path><circle cx="12" cy="12" r="3"></circle></svg><span>37</span></div></div></div></div></a><a href="/en/knowledge/articles/team-collaboration" data-discover="true"><div class="rounded-xl border bg-card text-card-foreground shadow duration-base h-full hover:shadow-md transition-shadow cursor-pointer"><div class="[--card-p:1rem] sm:[--card-p:1.5rem] p-[var(--card-p)] flex flex-col space-y-1.5 pb-2"><div class="flex items-start justify-between gap-2"><h3 class="tracking-tight text-lg font-semibold line-clamp-2">Team Collaboration Features</h3><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent hover:bg-secondary/80 shrink-0 bg-status-purple-bg text-status-purple-text">Features</div></div></div><div class="[--card-p:1rem] sm:[--card-p:1.5rem] p-[var(--card-p)] pt-0 space-y-3"><p class="text-sm text-muted-foreground line-clamp-3">Manage members, share meetings, invite people to projects, and collaborate on meeting results in Laconote.</p><div class="flex items-center gap-1 flex-wrap"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag h-3 w-3 text-muted-foreground"><path d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z"></path><circle cx="7.5" cy="7.5" r=".5" fill="currentColor"></circle></svg><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">team</div><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">collaboration</div><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">sharing</div><span class="text-xs text-muted-foreground">+<!-- -->1</span></div><div class="flex items-center gap-4 text-xs text-muted-foreground pt-2 border-t"><div class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock h-3 w-3"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg><span>5 min read</span></div><div class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-eye h-3 w-3"><path d="M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"></path><circle cx="12" cy="12" r="3"></circle></svg><span>49</span></div></div></div></div></a><a href="/en/knowledge/articles/troubleshooting-recording" data-discover="true"><div class="rounded-xl border bg-card text-card-foreground shadow duration-base h-full hover:shadow-md transition-shadow cursor-pointer"><div class="[--card-p:1rem] sm:[--card-p:1.5rem] p-[var(--card-p)] flex flex-col space-y-1.5 pb-2"><div class="flex items-start justify-between gap-2"><h3 class="tracking-tight text-lg font-semibold line-clamp-2">Troubleshooting Recording Issues</h3><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent hover:bg-secondary/80 shrink-0 bg-red-100 text-red-800 dark:bg-red-900 dark:text-red-200">Troubleshooting</div></div></div><div class="[--card-p:1rem] sm:[--card-p:1.5rem] p-[var(--card-p)] pt-0 space-y-3"><p class="text-sm text-muted-foreground line-clamp-3">Troubleshoot microphone, upload, transcription, and processing issues in Laconote.</p><div class="flex items-center gap-1 flex-wrap"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag h-3 w-3 text-muted-foreground">
105<path d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z"></path><circle cx="7.5" cy="7.5" r=".5" fill="currentColor"></circle></svg><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">recording</div><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">microphone</div><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">errors</div><span class="text-xs text-muted-foreground">+<!-- -->5</span></div><div class="flex items-center gap-4 text-xs text-muted-foreground pt-2 border-t"><div class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock h-3 w-3"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg><span>6 min read</span></div><div class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-eye h-3 w-3"><path d="M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"></path><circle cx="12" cy="12" r="3"></circle></svg><span>49</span></div></div></div></div></a><a href="/en/knowledge/articles/rag-chat-guide" data-discover="true"><div class="rounded-xl border bg-card text-card-foreground shadow duration-base h-full hover:shadow-md transition-shadow cursor-pointer"><div class="[--card-p:1rem] sm:[--card-p:1.5rem] p-[var(--card-p)] flex flex-col space-y-1.5 pb-2"><div class="flex items-start justify-between gap-2"><h3 class="tracking-tight text-lg font-semibold line-clamp-2">How to Use AI Chat to Search Through Meetings</h3><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent hover:bg-secondary/80 shrink-0 bg-status-purple-bg text-status-purple-text">Features</div></div></div><div class="[--card-p:1rem] sm:[--card-p:1.5rem] p-[var(--card-p)] pt-0 space-y-3"><p class="text-sm text-muted-foreground line-clamp-3">AI Chat helps you search across meeting history and get AI-generated answers with source links.</p><div class="flex items-center gap-1 flex-wrap"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag h-3 w-3 text-muted-foreground"><path d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z"></path><circle cx="7.5" cy="7.5" r=".5" fill="currentColor"></circle></svg><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">chat</div><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">search</div><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">rag</div><span class="text-xs text-muted-foreground">+<!-- -->5</span></div><div class="flex items-center gap-4 text-xs text-muted-foreground pt-2 border-t"><div class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock h-3 w-3"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg><span>4 min read</span></div><div class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-eye h-3 w-3"><path d="M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"></path><circle cx="12" cy="12" r="3"></circle></svg><span>41</span></div></div></div></div></a><a href="/en/knowledge/articles/recording-best-practices" data-discover="true"><div class="rounded-xl border bg-card text-card-foreground shadow duration-base h-full hover:shadow-md transition-shadow cursor-pointer"><div class="[--card-p:1rem] sm:[--card-p:1.5rem] p-[var(--card-p)] flex flex-col space-y-1.5 pb-2"><div class="flex items-start justify-between gap-2"><h3 class="tracking-tight text-lg font-semibold line-clamp-2">Best Practices for Meeting Recordings</h3><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent hover:bg-secondary/80 shrink-0 bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-200">Best Practices</div></div></div><div class="[--card-p:1rem] sm:[--card-p:1.5rem] p-[var(--card-p)] pt-0 space-y-3"><p class="text-sm text-muted-foreground line-clamp-3">Improve transcription quality and AI insights by following a few practical recording habits.</p><div class="flex items-center gap-1 flex-wrap"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag h-3 w-3 text-muted-foreground">
105<path d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z"></path><circle cx="7.5" cy="7.5" r=".5" fill="currentColor"></circle></svg><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">recording</div><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">audio</div><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">quality</div><span class="text-xs text-muted-foreground">+<!-- -->4</span></div><div class="flex items-center gap-4 text-xs text-muted-foreground pt-2 border-t"><div class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock h-3 w-3"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg><span>5 min read</span></div><div class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-eye h-3 w-3"><path d="M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"></path><circle cx="12" cy="12" r="3"></circle></svg><span>23</span></div></div></div></div></a><a href="/en/knowledge/articles/projects-guide" data-discover="true"><div class="rounded-xl border bg-card text-card-foreground shadow duration-base h-full hover:shadow-md transition-shadow cursor-pointer"><div class="[--card-p:1rem] sm:[--card-p:1.5rem] p-[var(--card-p)] flex flex-col space-y-1.5 pb-2"><div class="flex items-start justify-between gap-2"><h3 class="tracking-tight text-lg font-semibold line-clamp-2">Organizing Meetings with Projects</h3><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent hover:bg-secondary/80 shrink-0 bg-status-purple-bg text-status-purple-text">Features</div></div></div><div class="[--card-p:1rem] sm:[--card-p:1.5rem] p-[var(--card-p)] pt-0 space-y-3"><p class="text-sm text-muted-foreground line-clamp-3">Projects help you keep meetings, participants, and tasks organized around a shared context.</p><div class="flex items-center gap-1 flex-wrap"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag h-3 w-3 text-muted-foreground"><path d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z"></path><circle cx="7.5" cy="7.5" r=".5" fill="currentColor"></circle></svg><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">projects</div><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">organization</div><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">teams</div><span class="text-xs text-muted-foreground">+<!-- -->4</span></div><div class="flex items-center gap-4 text-xs text-muted-foreground pt-2 border-t"><div class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock h-3 w-3"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg><span>4 min read</span></div><div class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-eye h-3 w-3"><path d="M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"></path><circle cx="12" cy="12" r="3"></circle></svg><span>25</span></div></div></div></div></a><a href="/en/knowledge/articles/ai-summaries" data-discover="true"><div class="rounded-xl border bg-card text-card-foreground shadow duration-base h-full hover:shadow-md transition-shadow cursor-pointer"><div class="[--card-p:1rem] sm:[--card-p:1.5rem] p-[var(--card-p)] flex flex-col space-y-1.5 pb-2"><div class="flex items-start justify-between gap-2"><h3 class="tracking-tight text-lg font-semibold line-clamp-2">Understanding AI Summaries</h3><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent hover:bg-secondary/80 shrink-0 bg-status-purple-bg text-status-purple-text">Features</div></div></div><div class="[--card-p:1rem] sm:[--card-p:1.5rem] p-[var(--card-p)] pt-0 space-y-3"><p class="text-sm text-muted-foreground line-clamp-3">Laconote uses advanced AI to generate summaries of your meetings. Here's how to get the most out of them.</p><div class="flex items-center gap-1 flex-wrap"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag h-3 w-3 text-muted-foreground">
105<path d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z"></path><circle cx="7.5" cy="7.5" r=".5" fill="currentColor"></circle></svg><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">ai</div><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">summary</div><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">analysis</div><span class="text-xs text-muted-foreground">+<!-- -->4</span></div><div class="flex items-center gap-4 text-xs text-muted-foreground pt-2 border-t"><div class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock h-3 w-3"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg><span>5 min read</span></div><div class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-eye h-3 w-3"><path d="M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"></path><circle cx="12" cy="12" r="3"></circle></svg><span>27</span></div></div></div></div></a><a href="/en/knowledge/articles/using-action-items" data-discover="true"><div class="rounded-xl border bg-card text-card-foreground shadow duration-base h-full hover:shadow-md transition-shadow cursor-pointer"><div class="[--card-p:1rem] sm:[--card-p:1.5rem] p-[var(--card-p)] flex flex-col space-y-1.5 pb-2"><div class="flex items-start justify-between gap-2"><h3 class="tracking-tight text-lg font-semibold line-clamp-2">How to Use Tasks Effectively</h3><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent hover:bg-secondary/80 shrink-0 bg-status-purple-bg text-status-purple-text">Features</div></div></div><div class="[--card-p:1rem] sm:[--card-p:1.5rem] p-[var(--card-p)] pt-0 space-y-3"><p class="text-sm text-muted-foreground line-clamp-3">Tasks help you track follow-ups from your meetings. Here's how to make the most of them.</p><div class="flex items-center gap-1 flex-wrap"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag h-3 w-3 text-muted-foreground"><path d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z"></path><circle cx="7.5" cy="7.5" r=".5" fill="currentColor"></circle></svg><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">action-items</div><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">productivity</div><div class="inline-flex items-center rounded-md border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground text-xs">tasks</div><span class="text-xs text-muted-foreground">+<!-- -->1</span></div><div class="flex items-center gap-4 text-xs text-muted-foreground pt-2 border-t"><div class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock h-3 w-3"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg><span>3 min read</span></div><div class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-eye h-3 w-3"><path d="M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"></path><circle cx="12" cy="12" r="3"></circle></svg><span>34</span></div></div></div></div></a></div></div></div></div></div></section></main><footer class="py-10 sm:py-14 border-t border-border bg-background"><div class="max-w-6xl mx-auto px-4"><div class="grid grid-cols-2 md:grid-cols-4 gap-x-5 gap-y-8 sm:gap-8 mb-8 sm:mb-10"><div><h3 class="font-mono text-[10px] sm:text-[11px] uppercase tracking-[0.12em] text-muted-foreground mb-3 sm:mb-4">Laconote</h3><ul class="space-y-3 sm:space-y-2.5 text-[13.5px] sm:text-sm"><li><a class="text-copy hover:text-foreground transition-colors" href="/en/about" data-discover="true">About</a></li><li><a class="text-copy hover:text-foreground transition-colors" href="/en/pricing" data-discover="true">Pricing</a></li><li><a class="text-copy hover:text-foreground transition-colors" href="/en/features" data-discover="true">Features</a></li><li><a class="text-copy hover:text-foreground transition-colors" href="/en/blog" data-discover="true">Blog</a></li><li><a class="text-copy hover:text-foreground transition-colors" href="/en/knowledge" data-discover="true">Knowledge Base</a></li><li><a class="text-copy hover:text-foreground transition-colors" href="/en/extension" data-discover="true">Laconote Chrome Extension</a></li><li><a class="text-copy hover:text-foreground transition-colors" href="/en/features/team-pulse" data-discover="true">Team Pulse</a></li><li><a class="text-copy hover:text-foreground transition-colors" href="/en/self-hosted" data-discover="true">Self-hosted</a></li><li><a class="text-copy hover:text-foreground transition-colors" href="/en/security" data-discover="true">Security & Privacy</a></li><li><a class="text-copy hover:text-foreground transition-colors" href="/en/integrations/claude" data-discover="true">Connect Claude</a></li><li><a class="text-copy hover:text-foreground transition-colors" href="/en/integrations/chatgpt" data-discover="true">
105Connect ChatGPT</a></li><li><a class="text-copy hover:text-foreground transition-colors" href="/en/integrations/gemini" data-discover="true">Connect Gemini</a></li><li><a href="/pitch" target="_blank" rel="noopener noreferrer" class="text-copy hover:text-foreground transition-colors">Product Presentation</a></li></ul></div><div class="md:col-span-1"><h3 class="font-mono text-[10px] sm:text-[11px] uppercase tracking-[0.12em] text-muted-foreground mb-3 sm:mb-4">Platforms</h3><ul class="space-y-3 sm:space-y-2.5 text-[13.5px] sm:text-sm"><li><a class="text-copy hover:text-foreground transition-colors" href="/en/platforms/macos" data-discover="true">macOS App Recorder</a></li><li><a class="text-copy hover:text-foreground transition-colors" href="/en/platforms/windows" data-discover="true">Windows App Recorder</a></li><li><a class="text-copy hover:text-foreground transition-colors" href="/en/platforms/google-meet" data-discover="true">Google Meet Extension</a></li><li><a class="text-copy hover:text-foreground transition-colors" href="/en/platforms/microsoft-teams" data-discover="true">MS Teams Transcription</a></li></ul></div><div class="md:col-span-1"><h3 class="font-mono text-[10px] sm:text-[11px] uppercase tracking-[0.12em] text-muted-foreground mb-3 sm:mb-4">Alternatives</h3><ul class="space-y-3 sm:space-y-2.5 text-[13.5px] sm:text-sm"><li><a class="text-copy hover:text-foreground transition-colors" href="/en/alternatives/granola" data-discover="true">Laconote vs Granola</a></li><li><a class="text-copy hover:text-foreground transition-colors" href="/en/alternatives/otter-ai" data-discover="true">Laconote vs Otter.ai</a></li><li><a class="text-copy hover:text-foreground transition-colors" href="/en/alternatives/fireflies" data-discover="true">Laconote vs Fireflies</a></li><li><a class="text-copy hover:text-foreground transition-colors" href="/en/best-ai-note-taker" data-discover="true">Best AI Note Taker 2026</a></li><li><a class="text-copy hover:text-foreground transition-colors" href="/en/alternatives" data-discover="true">All Alternatives</a></li><li><a class="text-copy hover:text-foreground transition-colors" href="/en/compare" data-discover="true">Tool Comparisons</a></li></ul></div><div class="md:col-span-1"><h3 class="font-mono text-[10px] sm:text-[11px] uppercase tracking-[0.12em] text-muted-foreground mb-3 sm:mb-4">Support</h3><ul class="space-y-3 sm:space-y-2.5 text-[13.5px] sm:text-sm"><li><a class="text-copy hover:text-foreground transition-colors" href="/en/support" data-discover="true">Help Center</a></li><li><a class="text-copy hover:text-foreground transition-colors" href="/en/languages" data-discover="true">Supported Languages</a></li><li><a class="text-copy hover:text-foreground transition-colors" href="/en/alternatives/tactiq" data-discover="true">Laconote vs Tactiq</a></li><li><a class="text-copy hover:text-foreground transition-colors" href="/en/alternatives/fathom" data-discover="true">Laconote vs Fathom</a></li></ul><h3 class="font-mono text-[10px] sm:text-[11px] uppercase tracking-[0.12em] text-muted-foreground mb-3 sm:mb-4 mt-6">Find us on</h3><ul class="space-y-3 sm:space-y-2.5 text-[13.5px] sm:text-sm"><li><a href="https://www.producthunt.com/products/laconote" target="_blank" rel="noopener noreferrer" class="text-copy hover:text-foreground transition-colors">Product Hunt</a></li><li><a href="https://www.g2.com/products/laconote" target="_blank" rel="noopener noreferrer" class="text-copy hover:text-foreground transition-colors">G2</a></li><li><a href="https://www.linkedin.com/company/laconote" target="_blank" rel="noopener noreferrer" class="text-copy hover:text-foreground transition-colors">LinkedIn</a></li></ul></div></div><div class="pt-6 sm:pt-8 border-t border-border flex flex-col sm:flex-row items-center justify-between gap-3 text-[13px] sm:text-sm text-muted-foreground"><p class="font-mono text-xs">© 2026 Laconote. All rights reserved.</p><p class="flex flex-wrap items-center justify-center gap-x-5 gap-y-2 sm:justify-start"><a class="text-copy hover:text-foreground transition-colors" href="/privacy" data-discover="true">Privacy Policy</a><a class="text-copy hover:text-foreground transition-colors" href="/terms" data-discover="true">Terms of Service</a><a class="text-copy hover:text-foreground transition-colors" href="/en/languages" data-discover="true">Supported Languages</a></p></div></div></footer></div>
105<script>((storageKey2, restoreKey) => { 106 if (!window.history.state || !window.history.state.key) { 107 let key = Math.random().toString(32).slice(2); 108 window.history.replaceState({ key }, ""); 109 } 110 try { 111 let positions = JSON.parse(sessionStorage.getItem(storageKey2) || "{}"); 112 let storedY = positions[restoreKey || window.history.state.key]; 113 if (typeof storedY === "number") { 114 window.scrollTo(0, storedY); 115 } 116 } catch (error) { 117 console.error(error); 118 sessionStorage.removeItem(storageKey2); 119 } 120 })("react-router-scroll-positions", null)</script>
120<link rel="modulepreload" href="/assets/manifest-3cdeaad3.js"/><link rel="modulepreload" href="/assets/entry.client-58SsFN-u.js"/><link rel="modulepreload" href="/assets/workspace-D4nuKkeG.js"/><link rel="modulepreload" href="/assets/publicSeoRoutes-CNlmsRYU.js"/><link rel="modulepreload" href="/assets/consentStore-C-lM98MQ.js"/><link rel="modulepreload" href="/assets/chunkErrors-wZlRLLOm.js"/><link rel="modulepreload" href="/assets/errorReporter-COJLX4wI.js"/><link rel="modulepreload" href="/assets/root-4jN-Hi-i.js"/><link rel="modulepreload" href="/assets/index.esm-C1mBfUdB.js"/><link rel="modulepreload" href="/assets/useAppearanceSync-DRPhnCIN.js"/><link rel="modulepreload" href="/assets/index-DUmJ1pAV.js"/><link rel="modulepreload" href="/assets/NavigationProgressBar-Ch59N5pg.js"/><link rel="modulepreload" href="/assets/lazyWithRetry-5Z7QPsHP.js"/><link rel="modulepreload" href="/assets/motion-C3c2hstr.js"/><link rel="modulepreload" href="/assets/tooltip-J8DHFWs1.js"/><link rel="modulepreload" href="/assets/button-C1V_BC5W.js"/><link rel="modulepreload" href="/assets/api-BmBCNzRp.js"/><link rel="modulepreload" href="/assets/useTranslation-BBDi5XbU.js"/><link rel="modulepreload" href="/assets/shield-alert-BPT-6V1M.js"/><link rel="modulepreload" href="/assets/color-DIoT0Ahd.js"/><link rel="modulepreload" href="/assets/index-Bv0n6Sfb.js"/><link rel="modulepreload" href="/assets/knowledge-articles-WGMaIQub.js"/><link rel="modulepreload" href="/assets/publicRouteMeta-DVUTuPCJ.js"/><link rel="modulepreload" href="/assets/publicRouteJsonLd-D_86fYZ-.js"/><link rel="modulepreload" href="/assets/sheet-CqYBYRNj.js"/><link rel="modulepreload" href="/assets/LanguageSwitcher-Cm8reZum.js"/><link rel="modulepreload" href="/assets/tabs-CJ9i30Wo.js"/><link rel="modulepreload" href="/assets/card-CQP8tmze.js"/><link rel="modulepreload" href="/assets/input-CKfXwQ5n.js"/><link rel="modulepreload" href="/assets/queries-DD9Tk8xP.js"/><link rel="modulepreload" href="/assets/db-CDx1iPzF.js"/><link rel="modulepreload" href="/assets/filterStore-B3b4Ei0O.js"/><link rel="modulepreload" href="/assets/Articles-2aHt4yjY.js"/><link rel="modulepreload" href="/assets/siteUrl-TQRaABmm.js"/><link rel="modulepreload" href="/assets/support-DS3NiaBE.js"/><link rel="modulepreload" href="/assets/pricing-DOV_lHW3.js"/><link rel="modulepreload" href="/assets/extensionDetection-womy5bTm.js"/><link rel="modulepreload" href="/assets/useMutation-DfOE0_9d.js"/><link rel="modulepreload" href="/assets/loader-circle-CaKVRv_y.js"/><link rel="modulepreload" href="/assets/LandingHeader-BanvKDbv.js"/><link rel="modulepreload" href="/assets/usePublicSeoPathBuilder-0HjJJLcE.js"/><link rel="modulepreload" href="/assets/menu-BHmR0A-S.js"/><link rel="modulepreload" href="/assets/SEOHead-CeHZOAHG.js"/><link rel="modulepreload" href="/assets/branding-Bykr0BmU.js"/><link rel="modulepreload" href="/assets/badge-DSGC5Kho.js"/><link rel="modulepreload" href="/assets/knowledge-base-BNaP_i-G.js"/><link rel="modulepreload" href="/assets/tag-DmvB7_f1.js"/><link rel="modulepreload" href="/assets/clock-0VJYnW2m.js"/><link rel="modulepreload" href="/assets/eye-BdsBx9zD.js"/><link rel="modulepreload" href="/assets/thumbs-up-CobrAAG4.js"/><link rel="modulepreload" href="/assets/GlossarySearch-BGU8VqSC.js"/><link rel="modulepreload" href="/assets/search-Dt8_mrj-.js"/><link rel="modulepreload" href="/assets/file-text-DUoBzXle.js"/><link rel="modulepreload" href="/assets/Footer-BA5DAZbt.js"/><link rel="modulepreload" href="/assets/LegacyPublicSeoRedirect-C8oDjsnZ.js"/><link rel="modulepreload" href="/assets/usePublicRouteLocale-B6biAN2X.js"/><link rel="modulepreload" href="/assets/arrow-left-9BxRLDI-.js"/>
120<script>window.__reactRouterContext = {"basename":"/","future":{"unstable_optimizeDeps":false,"v8_passThroughRequests":false,"v8_trailingSlashAwareDataRequests":false,"unstable_previewServerPrerendering":false,"v8_middleware":false,"v8_splitRouteModules":false,"v8_viteEnvironmentApi":false},"routeDiscovery":{"mode":"initial"},"ssr":false,"isSpaMode":false};window.__reactRouterContext.stream = new ReadableStream({start(controller){window.__reactRouterContext.streamController = controller;}}).pipeThrough(new TextEncoderStream());</script>
120<script type="module" async="">import "/assets/manifest-3cdeaad3.js"; 121import * as route0 from "/assets/root-4jN-Hi-i.js"; 122import * as route1 from "/assets/knowledge-articles-WGMaIQub.js"; 123 124 window.__reactRouterRouteModules = {"root":route0,"routes/knowledge-articles":route1}; 125 126import("/assets/entry.client-58SsFN-u.js");</script>
126<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"9d9d69fe8ed6441fae2189f17d365989","r":1,"spa":2}' crossorigin="anonymous"></script>
126 127</body></html><!--$-->
127<script>window.__reactRouterContext.streamController.enqueue("[{\"_1\":2,\"_3\":-5,\"_4\":-5},\"loaderData\",{\"_5\":6},\"actionData\",\"errors\",\"routes/knowledge-articles\",{\"_7\":8},\"items\",[9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29],{\"_30\":306,\"_32\":307,\"_34\":308,\"_36\":309,\"_38\":310,\"_40\":41,\"_42\":311,\"_44\":45,\"_46\":47,\"_48\":49,\"_50\":312,\"_52\":53,\"_54\":53,\"_55\":56,\"_57\":313,\"_59\":314,\"_61\":313,\"_63\":313,\"_64\":314,\"_65\":313},{\"_30\":297,\"_32\":298,\"_34\":299,\"_36\":300,\"_38\":301,\"_40\":41,\"_42\":302,\"_44\":45,\"_46\":47,\"_48\":49,\"_50\":281,\"_52\":53,\"_54\":53,\"_55\":56,\"_57\":303,\"_59\":304,\"_61\":303,\"_63\":303,\"_64\":304,\"_65\":303},{\"_30\":286,\"_32\":287,\"_34\":288,\"_36\":289,\"_38\":290,\"_40\":41,\"_42\":291,\"_44\":45,\"_46\":47,\"_48\":49,\"_50\":216,\"_52\":53,\"_54\":53,\"_55\":56,\"_57\":292,\"_59\":293,\"_61\":292,\"_63\":292,\"_64\":293,\"_65\":292},{\"_30\":275,\"_32\":276,\"_34\":277,\"_36\":278,\"_38\":279,\"_40\":107,\"_42\":280,\"_44\":45,\"_46\":47,\"_48\":49,\"_50\":281,\"_52\":53,\"_54\":53,\"_55\":56,\"_57\":282,\"_59\":283,\"_61\":282,\"_63\":282,\"_64\":283,\"_65\":282},{\"_30\":264,\"_32\":265,\"_34\":266,\"_36\":267,\"_38\":268,\"_40\":41,\"_42\":269,\"_44\":45,\"_46\":47,\"_48\":49,\"_50\":109,\"_52\":53,\"_54\":53,\"_55\":56,\"_57\":270,\"_59\":271,\"_61\":270,\"_63\":270,\"_64\":271,\"_65\":270},{\"_30\":252,\"_32\":253,\"_34\":254,\"_36\":255,\"_38\":256,\"_40\":41,\"_42\":257,\"_44\":45,\"_46\":47,\"_48\":49,\"_50\":258,\"_52\":53,\"_54\":53,\"_55\":56,\"_57\":259,\"_59\":260,\"_61\":261,\"_63\":259,\"_64\":260,\"_65\":261},{\"_30\":243,\"_32\":244,\"_34\":245,\"_36\":246,\"_38\":247,\"_40\":41,\"_42\":248,\"_44\":45,\"_46\":47,\"_48\":49,\"_50\":228,\"_52\":53,\"_54\":53,\"_55\":56,\"_57\":249,\"_59\":250,\"_61\":251,\"_63\":249,\"_64\":250,\"_65\":251},{\"_30\":233,\"_32\":234,\"_34\":235,\"_36\":236,\"_38\":237,\"_40\":41,\"_42\":238,\"_44\":45,\"_46\":47,\"_48\":49,\"_50\":239,\"_52\":53,\"_54\":53,\"_55\":56,\"_57\":240,\"_59\":241,\"_61\":242,\"_63\":240,\"_64\":241,\"_65\":242},{\"_30\":222,\"_32\":223,\"_34\":224,\"_36\":225,\"_38\":226,\"_40\":41,\"_42\":227,\"_44\":45,\"_46\":47,\"_48\":49,\"_50\":228,\"_52\":53,\"_54\":53,\"_55\":56,\"_57\":229,\"_59\":230,\"_61\":231,\"_63\":229,\"_64\":230,\"_65\":231},{\"_30\":210,\"_32\":211,\"_34\":212,\"_36\":213,\"_38\":214,\"_40\":41,\"_42\":215,\"_44\":45,\"_46\":47,\"_48\":49,\"_50\":216,\"_52\":53,\"_54\":53,\"_55\":56,\"_57\":217,\"_59\":218,\"_61\":219,\"_63\":217,\"_64\":218,\"_65\":219},{\"_30\":198,\"_32\":199,\"_34\":200,\"_36\":201,\"_38\":202,\"_40\":41,\"_42\":203,\"_44\":45,\"_46\":47,\"_48\":49,\"_50\":204,\"_52\":53,\"_54\":53,\"_55\":56,\"_57\":205,\"_59\":206,\"_61\":207,\"_63\":205,\"_64\":206,\"_65\":207},{\"_30\":182,\"_32\":183,\"_34\":184,\"_36\":185,\"_38\":186,\"_40\":139,\"_42\":187,\"_44\":45,\"_46\":47,\"_48\":49,\"_50\":188,\"_52\":53,\"_54\":53,\"_55\":56,\"_57\":189,\"_59\":190,\"_61\":191,\"_63\":189,\"_64\":190,\"_65\":191},{\"_30\":168,\"_32\":169,\"_34\":170,\"_36\":171,\"_38\":172,\"_40\":173,\"_42\":174,\"_44\":45,\"_46\":47,\"_48\":49,\"_50\":175,\"_52\":53,\"_54\":53,\"_55\":56,\"_57\":176,\"_59\":177,\"_61\":178,\"_63\":176,\"_64\":177,\"_65\":178},{\"_30\":157,\"_32\":158,\"_34\":159,\"_36\":160,\"_38\":161,\"_40\":159,\"_42\":162,\"_44\":45,\"_46\":47,\"_48\":49,\"_50\":163,\"_52\":53,\"_54\":53,\"_55\":56,\"_57\":58,\"_59\":164,\"_61\":165,\"_63\":58,\"_64\":164,\"_65\":165},{\"_30\":147,\"_32\":148,\"_34\":149,\"_36\":150,\"_38\":151,\"_40\":41,\"_42\":152,\"_44\":45,\"_46\":47,\"_48\":49,\"_50\":141,\"_52\":53,\"_54\":53,\"_55\":56,\"_57\":58,\"_59\":153,\"_61\":154,\"_63\":58,\"_64\":153,\"_65\":154},{\"_30\":134,\"_32\":135,\"_34\":136,\"_36\":137,\"_38\":138,\"_40\":139,\"_42\":140,\"_44\":45,\"_46\":47,\"_48\":49,\"_50\":141,\"_52\":53,\"_54\":53,\"_55\":56,\"_57\":58,\"_59\":142,\"_61\":143,\"_63\":58,\"_64\":142,\"_65\":143},{\"_30\":119,\"_32\":120,\"_34\":121,\"_36\":122,\"_38\":123,\"_40\":41,\"_42\":124,\"_44\":45,\"_46\":47,\"_48\":49,\"_50\":125,\"_52\":53,\"_54\":53,\"_55\":56,\"_57\":58,\"_59\":126,\"_61\":127,\"_63\":58,\"_64\":126,\"_65\":127},{\"_30\":102,\"_32\":103,\"_34\":104,\"_36\":105,\"_38\":106,\"_40\":107,\"_42\":108,\"_44\":45,\"_46\":47,\"_48\":49,\"_50\":109,\"_52\":53,\"_54\":53,\"_55\":56,\"_57\":58,\"_59\":110,\"_61\":111,\"_63\":58,\"_64\":110,\"_65\":111},{\"_30\":86,\"_32\":87,\"_34\":88,\"_36\":89,\"_38\":90,\"_40\":41,\"_42\":91,\"_44\":45,\"_46\":47,\"_48\":49,\"_50\":92,\"_52\":53,\"_54\":53,\"_55\":56,\"_57\":58,\"_59\":93,\"_61\":94,\"_63\":58,\"_64\":93,\"_65\":94},{\"_30\":70,\"_32\":71,\"_34\":72,\"_36\":73,\"_38\":74,\"_40\":41,\"_42\":75,\"_44\":45,\"_46\":47,\"_48\":49,\"_50\":76,\"_52\":53,\"_54\":53,\"_55\":56,\"_57\":58,\"_59\":77,\"_61\":78,\"_63\":58,\"_64\":77,\"_65\":78},{\"_30\":31,\"_32\":33,\"_34\":35,\"_36\":37,\"_38\":39,\"_40\":41,\"_42\":43,\"_44\":45,\"_46\":47,\"_48\":49,\"_50\":51,\"_52\":53,\"_54\":53,\"_55\":56,\"_57\":58,\"_59\":60,\"_61\":62,\"_63\":58,\"_64\":60,\"_65\":62}
127,\"id\",\"69adbb6eccf8d6f942f7ffcc\",\"title\",\"How to Use Tasks Effectively\",\"slug\",\"using-action-items\",\"content\",\"# How to Use Tasks Effectively\\n\\nTasks in Laconote help you track follow-ups and decisions after meetings. In the current interface, they are closely connected to the AI summary of each conversation and have their own **Tasks** tab on the Dashboard.\\n\\n---\\n\\n## What are tasks?\\n\\nTasks are specific follow-up actions that AI automatically extracts from the context of your discussion. They appear in the meeting summary and are also added to the general task list.\\n\\nIn the current interface, you can:\\n* see tasks inside the generated **Summary** for a specific meeting\\n* open the **Tasks** tab on the Dashboard to view all active assignments\\n* track statuses such as active, completed, and overdue\\n* quickly jump from a task to the related meeting or project\\n\\n---\\n\\n## How AI finds tasks\\n\\nAI analyzes the transcript and looks for action and commitment markers. Tasks are usually formed from phrases such as:\\n* \\\"I will do this by Friday.\\\"\\n* \\\"Can you take care of the API integration?\\\"\\n* \\\"We need to update the documentation.\\\"\\n* \\\"Let's schedule the next call.\\\"\\n\\n---\\n\\n## Navigation: Where to view tasks\\n\\nLaconote offers two levels for working with tasks: local, for a single meeting, and global, for the entire workspace.\\n\\n### Locally: In the meeting card\\n1. Open any saved meeting.\\n2. Go to the **Summary** tab.\\n3. Find the tasks block. In most cases, tasks are grouped inside the main discussion topics.\\n\\n### Globally: In the Tasks tab on the Dashboard\\nTo see the bigger picture of your workload, open the **Dashboard** and switch to the **Tasks** tab. There you will find:\\n* a summary of all tasks across your meetings\\n* separate counters and filters for `Active`, `Completed`, and `Overdue`\\n* quick links back to the context of a specific meeting\\n* a connection to meeting outcomes through the neighboring **Decisions** tab\\n\\n---\\n\\n## How to get more accurate results\\n\\n\u003e [!TIP] During the meeting\\n\u003e * Say tasks out loud and make them as specific as possible.\\n\u003e * Always name the responsible person.\\n\u003e * State the deadline in a clear format.\\n\u003e * Repeat the final agreements and the task list at the end of the call.\\n\\n\u003e [!NOTE] After the meeting\\n\u003e * Open the Summary and check whether AI missed any important next steps.\\n\u003e * Review the global **Tasks** tab to see new tasks in the broader context of your workload.\\n\u003e * Use **AI Chat** if you need to quickly find the exact moment in the conversation when a specific task was discussed.\\n\\n---\\n\\n## Recommendations for task management\\n\\n* **Validation:** Review generated tasks right after each meeting is processed to confirm they are correct.\\n* **Ownership:** Try to make sure each task has one clear owner.\\n* **Realistic deadlines:** Use specific due dates, not \\\"soon\\\" but \\\"by Friday, 5:00 PM\\\".\\n* **Audit:** Open the global **Tasks** tab regularly to monitor overdue items.\\n* **Broader context:** Use the **Tasks** and **Decisions** tabs together when you want to see not only assignments, but also the context behind project-level decisions.\\n\\n---\\n\\n## Related materials\\n\\n* [Understanding AI Summaries](./ai-summaries)\\n* [How to Use AI Chat to Search Through Meetings](./rag-chat-guide)\\n* [Organizing Meetings with Projects](./projects-guide)\",\"excerpt\",\"Tasks help you track follow-ups from your meetings. Here's how to make the most of them.\",\"category\",\"features\",\"tags\",[66,67,68,69],\"language\",\"en\",\"visibility\",\"public\",\"status\",\"published\",\"view_count\",34,\"helpful_count\",0,\"not_helpful_count\",\"author_name\",\"Laconote Team\",\"created_at\",\"2026-03-24T16:32:44.922Z\",\"updated_at\",\"2026-09-24T22:48:50.017Z\",\"published_at\",\"2026-07-20T15:58:16.226Z\",\"createdAt\",\"updatedAt\",\"publishedAt\",\"action-items\",\"productivity\",\"tasks\",\"follow-up\",\"69adbb6eccf8d6f942f7ffcd\",\"Understanding AI Summaries\",\"ai-summaries\",\"# Understanding AI Summaries\\n\\
127nLaconote uses advanced AI models to automatically generate summaries of your meetings. In the current interface, **Summary** is shown as a separate tab in the meeting details and becomes available as soon as recording processing is complete.\\n\\n---\\n\\n## How an AI summary is created\\n\\nAfter a meeting has been recorded, uploaded, or created from text, the system goes through several technical stages:\\n\\n1. **Content preparation:** Audio or text is optimized for processing by the model.\\n2. **Transcription:** A full transcript of the conversation is created or loaded.\\n3. **Status analysis:** The meeting passes through technical states such as `pending`, `waiting_for_summarize`, and `summarizing`.\\n4. **Summary generation:** AI analyzes the transcript, identifies key topics, finds decisions, and highlights tasks.\\n5. **Finalization:** The finished result is published in the **Summary** tab.\\n\\n---\\n\\n## Summary structure\\n\\nIn the current interface, the summary is organized around key discussion topics. Each topic can include the following elements:\\n\\n| Element | Description |\\n| :--- | :--- |\\n| **Topic description** | A concise summary of what was discussed in a specific part of the meeting. |\\n| **Decisions** | Recorded agreements and final conclusions reached by the participants. |\\n| **Tasks** | Specific follow-up actions with assigned owners and deadlines. |\\n| **Structured blocks** | Additional information that AI identified as important to the topicâs context. |\\n\\n---\\n\\n## How the summary is used in the interface\\n\\nAI summary data is integrated into several parts of the platform:\\n\\n* **Summary tab:** The full version of the analysis inside each meeting\\n* **Dashboard:** Short excerpts in cards and lists for quick review\\n* **Tasks and Decisions:** Summary data is used to populate those tabs automatically\\n* **AI Chat:** The summary text is used as a core source of context for answers in chat\\n\\n---\\n\\n## Live summaries and meeting type templates\\n\\nSome recording flows can show **Live Summary** updates while the meeting is still running. Treat these as working notes: they help you follow the conversation in real time, but the final **Summary** can still change after the full transcript, materials, screenshots, and clarifications are processed.\\n\\nFor recordings made with the macOS Desktop App, the final Summary can use text recognized from screenshots taken during the meeting. The image itself is not stored on the server: it remains on the Mac, while the recognized text is added to the meeting context.\\n\\nWhen creating a recording, upload, or text meeting, choose the meeting type that best matches the conversation. Laconote uses meeting type templates to shape the final summary for different workflows, such as stand-ups, sales calls, interviews, technical discussions, and planning sessions.\\n\\n\u003e [!TIP] Choose the template early\\n\u003e Pick the meeting type before processing starts whenever possible. The better the template matches the call, the more useful the topics, decisions, and tasks usually are.\\n\\n---\\n\\n## Clarifications, decisions, and regeneration\\n\\nAfter the first summary is generated, you can still improve the meeting record without changing the original transcript.\\n\\n* **Clarification:** use the clarification action in meeting details when the summary misses important context, nuance, or a correction. The clarification is added to the summary context so the final meeting record is easier to understand.\\n* **Decisions:** review captured decisions before sharing the meeting. They should reflect actual agreements, not every idea that was mentioned during discussion.\\n* **Tasks:** check owners, deadlines, and wording. AI extracts tasks from the conversation, but a human review helps prevent ambiguous follow-ups.\\n* **Regenerate Summary:** use regeneration after editing the transcript, adding clarifications, or when the current summary is incomplete. The regenerated version is based on the current meeting content and may update topic structure, decisions, and tasks.\\n\\n\u003e [!IMPORTANT] Regeneration behavior\\n\u003e Regenerating a summary can change previously generated
127wording. Review the result before using it as the source of truth for a client update, task list, or project handoff.\\n\\n---\\n\\n## How to get better summaries\\n\\nThe quality of the final summary depends directly on the quality of the input data.\\n\\n\u003e [!TIP] During the meeting\\n\u003e * Speak clearly and avoid talking too quickly.\\n\u003e * Refer to participants by name, because this helps with speaker identification.\\n\u003e * State decisions explicitly, for example: âWe decided to do the following...â\\n\u003e * Phrase tasks clearly in the format âWho â What â By whenâ.\\n\\n\u003e [!NOTE] Working with the final result\\n\u003e If you think AI missed an important detail or if you want a different structure, use **Regenerate Summary**. The system will update the analysis based on the existing transcript.\\n\\n---\\n\\n## Troubleshooting: When the summary is missing or incomplete\\n\\nIf the meeting already exists but the summary has not appeared yet, try these steps:\\n\\n1. **Check the processing status:** Make sure the status has changed to `finished`.\\n2. **Check the transcript:** If the transcript is not ready yet, AI features will also be unavailable.\\n3. **Refresh the page:** If the process appears to be stuck in `summarizing`, reopen the meeting after a few minutes.\\n4. **Use regeneration:** If the summary looks incomplete or outdated, for example after editing the transcript, click **Regenerate Summary**.\\n\\n---\\n\\n## Related materials\\n\\n* [How to Use Tasks Effectively](./using-action-items)\\n* [How to Use AI Chat to Search Through Meetings](./rag-chat-guide)\\n* [Troubleshooting Recording Issues](./troubleshooting-recording)\",\"Laconote uses advanced AI to generate summaries of your meetings. Here's how to get the most out of them.\",[79,80,81,82,83,84,85],27,\"2026-09-10T18:49:57.751Z\",\"2026-07-26T11:20:50.435Z\",\"ai\",\"summary\",\"analysis\",\"key-points\",\"clarification\",\"decisions\",\"regenerate\",\"69adbb6eccf8d6f942f7ffce\",\"Organizing Meetings with Projects\",\"projects-guide\",\"# Organizing Meetings with Projects\\n\\nProjects help you keep your meetings organized and make it easier to work with related calls, participants, and tasks in one logical space.\\n\\n---\\n\\n## What are projects?\\n\\nProjects in Laconote are containers for grouping meetings around a shared context. This is especially useful when you want to structure work across areas such as:\\n\\n* **Work sprints:** grouping daily stand-ups and retrospectives\\n* **Client projects:** keeping call history separate for each client\\n* **Product initiatives:** combining discussions about a specific feature or release\\n* **Research:** collecting interviews and analytical sessions in one place\\n\\n---\\n\\n## How to create a project\\n\\n1. Open the **Projects** section in the main navigation.\\n2. Click **New Project**.\\n3. Enter a project name and add a short description of its purpose.\\n4. If needed, choose a color label and icon for easier visual identification on the Dashboard.\\n5. Click **Create** to confirm.\\n\\n---\\n\\n## How to add meetings to a project\\n\\n### During recording or upload\\nThe easiest way is to choose a project before processing begins. Select the right option from the dropdown before you start a new recording in **Record** or upload a file in **Upload**.\\n\\n### For existing meetings\\nIf a meeting is already saved in the system, you can move it to a project later:\\n\\n1. Open the meeting card.\\n2. Click **Add to project**.\\n3. Choose an existing project from the list.\\n4. Save the changes.\\n\\n\u003e [!NOTE] Data organization\\n\u003e You can change the project for a specific meeting or remove that meeting from a project at any time without deleting the recording itself or its analytics.\\n\\n---\\n\\n## Benefits of using projects\\n\\n| Feature | Description and benefits |\\n| :--- | :--- |\\n| **Dashboard filtering** | Quickly filter the meeting list and focus only on one project's content. |\\n| **Group search** | Ask **AI Chat** questions across all meetings inside a project to identify patterns and recurring topics. |\\n| **Teamwork** | Manage access at the project level by inviting colleagues and assigning project roles. |\\n| **Analytics*
127* | Review insights and trends in the context of a specific initiative rather than across your whole workspace. |\\n\\n---\\n\\n## Team Pulse analytics\\n\\nTeam Pulse helps you understand team dynamics from meetings inside a project. It turns repeated meeting signals into trends such as mood, engagement, and talk balance, so you can notice problems earlier without running a separate survey.\\n\\nUse Team Pulse at the project level when you want to understand how a long-running initiative is going, compare recent trends with earlier meetings, or decide whether a team needs a process change.\\n\\n\u003e [!NOTE] Read trends, not single moments\\n\u003e Treat Team Pulse as a directional signal. One tense meeting does not always mean a team problem, but repeated changes across several meetings are worth reviewing.\\n\\n---\\n\\n## Additional interface features\\n\\n* **Sorting:** the projects list can be sorted by name or by date of last activity\\n* **Project cards:** each card shows the current description, the number of saved meetings, and the current participant list\\n* **Direct access:** after accepting a project invitation, a user is taken directly to the relevant project page\\n\\n\u003e [!TIP] Process optimization\\n\u003e If you work on the same topic for a long time, you can set a specific project as your default project in profile settings.\\n\\n---\\n\\n## Exporting and importing project archives\\n\\nProjects can also be moved or backed up as archives.\\n\\n* **Export project:** create an archive when you need to keep a backup, hand off a client workspace, or move a project between environments.\\n* **Import as new project:** importing an archive creates a separate new project instead of overwriting the existing one.\\n* **Review after import:** check the project name, meetings, materials, members, and sharing settings before using the imported project with a team.\\n\\n\u003e [!NOTE] Safe import\\n\u003e Importing an archive as a new project helps avoid accidental changes to the original project. Use a clear name so teammates can tell which project is the current version.\\n\\n---\\n\\n## Recommendations for organization\\n\\n* **Clear structure:** create a separate project for each independent initiative and avoid mixing meetings from unrelated contexts.\\n* **Naming consistency:** use clear, consistent project names so teammates can navigate the shared space easily.\\n* **Archiving:** move completed projects to the archive to keep the active list clean while preserving search history and past context.\\n\\n---\\n\\n## Related materials\\n\\n* [Team Collaboration Features](./team-collaboration)\\n* [Getting Started with Laconote](./getting-started)\\n* [How to Use Tasks Effectively](./using-action-items)\",\"Projects help you keep meetings, participants, and tasks organized around a shared context.\",[95,96,97,98,99,100,101],25,\"2026-09-08T12:40:37.412Z\",\"2026-07-20T15:58:13.506Z\",\"projects\",\"organization\",\"teams\",\"collaboration\",\"export\",\"import\",\"archive\",\"69adbb6eccf8d6f942f7ffcf\",\"Best Practices for Meeting Recordings\",\"recording-best-practices\",\"# Best Practices for Meeting Recordings\\n\\nGet better transcription quality and more accurate AI insights by following these tips. They are equally useful whether you record in the browser, use the desktop app, or upload ready-made files.\\n\\n---\\n\\n## Before you start\\n\\n* Check that your workspace has recording or transcription time available. If the limit is exhausted, Laconote may show an upgrade modal before you can start a new recording.\\n* Choose the transcription language before recording. Use **Automatic** for mixed or uncertain calls, and a specific language when the meeting language is known.\\n* Open the **Record** screen before the call begins. Backgroun
127d listening on the recording screen can help keep the beginning of the conversation from being missed while you finish the setup.\\n* For Zoom, Slack, native Teams, Discord, or other desktop calls on macOS or Windows, use the Laconote Desktop App so both system audio and microphone input are captured.\\n\\n---\\n\\n## Audio quality matters\\n\\n### 1. Use a good microphone\\n* Built-in laptop microphones work, but a dedicated microphone usually gives a much better result.\\n* USB microphones offer a strong balance between quality and price.\\n* A headset helps reduce echo and background noise.\\n\\n### 2. Minimize background noise\\n* Close windows and doors before starting a call.\\n* Turn off fans or noisy appliances nearby.\\n* Mute your microphone when you are not speaking.\\n* Choose the quietest location available for important meetings.\\n\\n### 3. Position the microphone correctly\\n* Keep the microphone at a stable distance from your mouth.\\n* Avoid rustling papers near it.\\n* Do not tap on the desk or keyboard during the conversation.\\n\\n\u003e [!TIP] Space optimization\\n\u003e Even a quiet room can produce echo. Soft furniture, carpets, and curtains help absorb sound and make your voice clearer for transcription.\\n\\n---\\n\\n## Speak clearly for better results\\n\\n### For more accurate transcription\\n* Speak at a natural, relaxed pace.\\n* Pronounce words clearly and avoid swallowing endings.\\n* Try not to interrupt other participants.\\n* Refer to people by name when speaking to them, as this helps the system separate speakers more accurately.\\n\\n### For better AI analysis in Summary and Tasks\\n* State decisions explicitly: \\\"So, we decided that...\\\"\\n* Phrase tasks clearly: \\\"Alex, your task is to...\\\"\\n* Name deadlines and responsible people: \\\"This needs to be finished by Friday.\\\"\\n* Recap the main takeaways at the end of the meeting.\\n\\n\u003e [!IMPORTANT] How Laconote AI works\\n\u003e Laconote looks for tasks and decisions in the transcript. The more clearly and structurally you phrase them during the conversation, the more useful the generated summary will be.\\n\\n---\\n\\n## Tips for online meetings\\n\\n### Platform settings\\n* Use original audio quality if the platform allows it.\\n* Turn off aggressive noise cancellation if you notice it cutting off parts of words.\\n* Check your internet connection to avoid robotic sound and packet loss.\\n\\n### Choosing the right recording tool\\nDepending on the situation, choose the option that fits best:\\n\\n* **In-browser recording:** use Laconote's built-in recorder for a quick start\\n* **Browser Extension:** useful for compatible web-call scenarios such as Google Meet in a tab\\n* **Laconote Desktop:** a macOS or Windows app that records system audio and microphone input, with calendar sync and call auto-detection when supported\\n* **Zoom / Teams recording:** record the meeting with the platform's own tools first, then import the file through **Upload**\\n\\n---\\n\\n## Live summaries and in-meeting screenshots\\n\\nFor supported meetings recorded with the Browser Extension, keep the meeting tab and extension active to receive **Live Summary** updates during the call. Treat them as real-time working notes, not the final record.\\n\\nWhen an important slide, shared screen, diagram, or metric appears, capture a screenshot so the final AI analysis can use more context than audio alone.\\n\\n* **Browser Extension:** use its built-in screenshot flow during a supported meeting.\\n* **macOS Desktop App:** enable **Attach screenshots to meetings** in **Settings**, start recording, and use `ââ§4`, `ââ§3`, or `ââ§4` followed by `Space`.\\n\\nIn the desktop flow, macOS must save the file in the folder monitored by Laconote. Clipboard-only screenshots are not attached. The local image remains on the Mac; only recognized text is stored on the server.\\n\\n\u003e [!NOTE] Screenshot context\\n\u003e Capture only the visual being discussed. Unrelated screenshots can add noise to the Summary. This macOS Desktop feature is unavailable when on-device local transcription is enabled.\\n---\\n\\n## Capturing system audio on desktop\\n\\
127nUse the desktop app when the sound comes from another native app rather than the browser tab. Before important calls:\\n\\n* grant microphone and system audio permissions in the operating system\\n* keep the desktop app open during the whole call\\n* do a short test recording if you changed your audio device\\n* avoid switching the call output device after recording starts\\n\\n---\\n\\n## Common problems and solutions\\n\\n| Problem | Solution |\\n| :--- | :--- |\\n| **Speakers are not separated** | Say the person's name before replying or addressing them, and try not to speak at the same time. |\\n| **Words are recognized incorrectly** | Edit the transcript manually, and for future meetings check your microphone and sound quality. |\\n| **Tasks were not identified** | Add them manually after the meeting and state tasks and owners more clearly next time. |\\n| **Poor audio quality** | Use a better external microphone or headset and move to a quieter environment. |\\n| **Limit reached or upgrade modal appears** | Check the current plan limits or upgrade before starting another recording. |\\n| **Only your voice is recorded in a desktop call** | Use the macOS or Windows Desktop App and confirm that system audio capture is allowed. |\\n\\n---\\n\\n## Related materials\\n\\n* [Troubleshooting Recording Issues](./troubleshooting-recording)\\n* [Understanding AI Summaries](./ai-summaries)\\n* [Getting Started with Laconote](./getting-started)\",\"Improve transcription quality and AI insights by following a few practical recording habits.\",\"best-practices\",[112,113,114,115,116,117,118],23,\"2026-09-12T05:50:52.399Z\",\"2026-07-26T10:20:57.446Z\",\"recording\",\"audio\",\"quality\",\"tips\",\"desktop\",\"limits\",\"system-audio\",\"69adbb6eccf8d6f942f7ffd0\",\"How to Use AI Chat to Search Through Meetings\",\"rag-chat-guide\",\"# How to Use AI Chat to Search Through Meetings\\n\\n**AI Chat** is your personal assistant for asking questions about your meeting history and getting meaningful answers with direct links to the original sources.\\n\\n---\\n\\n## What is AI Chat?\\n\\nBehind the scenes, this feature combines intelligent retrieval and AI text generation. The process works like this:\\n\\n1. **Search:** The system scans your transcripts and notes to find relevant fragments.\\n2. **AI generation:** The model analyzes the retrieved data and forms one clear answer.\\n3. **Sources:** Each answer includes clickable references so you can see exactly where the information came from.\\n\\n---\\n\\n## What AI Chat can search\\n\\nAI Chat can use more than the raw transcript. Depending on what exists in your workspace and what you can access, answers may draw from:\\n\\n* meeting transcripts and summaries\\n* decisions, tasks, notes, and clarifications\\n* files attached as meeting materials, including documents, images, screenshots, and structured text files\\n* text meetings created from pasted notes or imported transcripts\\n* project-level context when you ask inside a specific project\\n\\n\u003e [!NOTE] Permissions still apply\\n\u003e AI Chat respects meeting, project, and workspace permissions. If you cannot open a meeting, project, or attached material directly, AI Chat should not use it as a source in your answer.\\n\\n---\\n\\n## How to get started with AI Chat\\n\\n1. Open the **AI Chat** section in the main navigation.\\n2. Type your question in natural language.\\n3. Review the generated answer and the list of sources below it.\\n4. Click any source to jump directly to the original meeting and view the surrounding context.\\n\\n\u003e [!NOTE] Chat management\\n\u003e AI Chat automatically saves your conversation history. You can return to an earlier thread at any time or start a separate **New Chat** for a different topic.\\n\\n---\\n\\n## Examples of effective questions\\n\\nAI Chat works best when your query is specific. Here are a few useful patterns:\\n\\n### Searching for specific information\\n* \\\"What did we decide about the pricing model for Q3?\\\"\\n* \\\"When was the last time we discussed the marketing campaign?\\\"\\n* \\\"What risks related to the app launch deadline did Nazar mention?\\\"\\n\\n### Summarizing across multiple meetings\\n* \\\"Summarize all our discussions about the mobile app for this month.\\\"\\n* \\\"What recurring themes came up in our recent retrospectives?\\\"\\n* \\\"Show all the key decisions made this week.\\\"\\n\\n### Searching for tasks and follow-ups\\n* \\\"What new tasks were assigned to me yesterday?\\\"\\n* \\\"Show all tasks from yesterday's Sprint Planning.\\\"\\n* \\\"What did we promise to deliver to the client by Friday?\\\"\\n\\n---\\n\\n## How to get more accurate answers\\n\\
127nTo get the most relevant results, follow three simple rules.\\n\\n### 1. Be specific\\nAvoid overly broad questions that force the system to scan your whole workspace without enough context.\\n* **Instead of:** \\\"What happened overall?\\\"\\n* **Better:** \\\"What key decisions were made on the last call with client X?\\\"\\n\\n### 2. Use names and dates\\nGive the model anchors it can use.\\n* **Instead of:** \\\"What did they say about the money?\\\"\\n* **Better:** \\\"What did Olena say about the marketing budget in December?\\\"\\n\\n### 3. Narrow the search scope\\nThe narrower the context, the more precise the answer. When you write a query:\\n* mention a specific project\\n* limit the timeframe\\n* focus on a particular type of meeting\\n* mention a source type, such as decisions, tasks, transcript, notes, or attached materials\\n\\n\u003e [!TIP] Working in context\\n\u003e AI Chat can search across your full account history, inside a **specific meeting**, or within a project context. If you only need information from one call, open that meeting and use the local AI Chat there.\\n\\n---\\n\\n## Privacy and security\\n\\nYour conversations may contain sensitive business information, so AI Chat is designed with strict privacy principles in mind:\\n\\n* **Data isolation:** answers are generated only from meetings and workspace materials that are available to you.\\n* **Permissions:** in team projects, AI Chat respects access rights and will not expose meetings, projects, or attached materials you cannot open directly.\\n* **Query privacy:** your personal AI Chat history stays in your profile and is not visible to other team members.\\n\\n---\\n\\n## Related materials\\n\\n* [Understanding AI Summaries](./ai-summaries)\\n* [How to Use Tasks Effectively](./using-action-items)\\n* [Organizing Meetings with Projects](./projects-guide)\",\"AI Chat helps you search across meeting history and get AI-generated answers with source links.\",[128,129,130,79,131,132,95,133],41,\"2026-09-08T10:45:24.034Z\",\"2026-07-20T15:58:13.815Z\",\"chat\",\"search\",\"rag\",\"questions\",\"materials\",\"permissions\",\"69adbb6eccf8d6f942f7ffd1\",\"Troubleshooting Recording Issues\",\"troubleshooting-recording\",\"# Troubleshooting Recording Issues\\n\\nHaving trouble with recording, transcription, or meeting processing? Here are practical solutions for the most common situations in the current Laconote interface.\\n\\n---\\n\\n## Microphone is not detected\\n\\n### 1. Check browser permissions\\nThe most common reason is that the browser has blocked microphone access for the site.\\n\\n1. Click the lock icon in the browser address bar.\\n2. Find the **Microphone** setting.\\n3. Change it to **Allow**.\\n4. Refresh the page.\\n\\n### 2. Check system permissions\\nIf the browser already has permission but there is still no sound, the issue may be at the operating-system level:\\n\\n* **macOS:** go to *System Settings \u003e Privacy \u0026 Security \u003e Microphone* and enable access for your browser\\n* **Windows:** go to *Settings \u003e Privacy \u003e Microphone* and allow access for desktop apps\\n\\n### 3. Check desktop app permissions\\nFor recordings made with the Laconote Desktop App, also check that your operating system allows microphone and system audio capture for the app. If you changed permissions while the app was open, restart both Laconote Desktop and the calling app before trying again.\\n\\n\u003e [!TIP] What else to try\\n\u003e Open the page in another browser, ideally **Google Chrome**, fully restart your current browser, or check whether the microphone works in another system app such as Voice Memos.\\n\\n---\\n\\n## Recording limit or upgrade modal appears\\n\\nIf the **Record** screen shows an upgrade modal before recording starts, your current plan or workspace limit is likely exhausted.\\n\\n* check the active plan and available recording/transcription time\\n* upgrade the plan if you need to record immediately\\n* remove unnecessary test recordings only if they are no longer needed\\n* if you are in a team workspace, confirm that you are using the correct workspace\\n\\n---\\n\\n## Recording stops unexpectedly\\n\\
127n### Browser tab issues\\nModern browsers may put inactive tabs to sleep to save memory, which can interrupt the recording. To reduce the risk:\\n\\n* do not minimize the browser window during recording\\n* avoid switching away from the Laconote tab for long periods\\n* keep the Laconote tab active or move it into a separate window\\n\\n### Battery and performance\\n\\n* if you are on battery power, plug your laptop in because power-saving modes often restrict background activity\\n* close heavy or unnecessary apps\\n* make sure you have enough free disk space\\n\\n---\\n\\n## Poor audio quality\\n\\n| Cause | What to do |\\n| :--- | :--- |\\n| **Hardware** | Check which microphone is selected in system settings. Inspect cables and connections. If you use an external microphone, try another USB port. |\\n| **Environment** | Move away from noise sources such as fans or open windows. Use headphones to reduce echo. If possible, use a dedicated microphone instead of the built-in one. |\\n\\n---\\n\\n## Desktop capture records the wrong audio\\n\\nIf a desktop recording contains only your microphone or only the other participants:\\n\\n* confirm that you are recording with the Laconote Desktop App, not only the browser recorder\\n* check microphone and system audio capture permissions in macOS or Windows\\n* keep the same output device selected during the whole call\\n* restart the calling app after changing permissions\\n\\n---\\n\\n## Problems with file uploads and links\\n\\n### File upload does not complete\\n\\n* check whether your internet connection is stable\\n* try uploading a smaller audio, video, text, or image file as a test\\n* clear your browser cache and try again\\n\\n### Text meeting materials do not attach\\n\\n* make sure the file is a supported document, image, screenshot, or structured text file\\n* for structured files, use common formats such as `MD`, `CSV`, `JSON`, `YAML`, `XML`, or `HTML`\\n* wait until all materials finish uploading before creating the text meeting\\n* if a document is password-protected or very large, export a lighter copy and upload it again\\n\\n### Problems with URL import\\n\\n* make sure you pasted a direct link to a supported platform\\n* try importing a different link, ideally a short test example, to see whether the issue is general\\n* if the URL is recognized but the process does not start, fully clear the input and paste the link again\\n\\n---\\n\\n## Live summaries or screenshots do not appear\\n\\n### Browser Extension\\n\\nIf **Live Summary** updates or screenshots are missing from a Browser Extension recording:\\n\\n* confirm that the extension is installed, updated, and signed in to the correct workspace\\n* confirm that the meeting is running on a supported platform in a browser tab\\n* keep the meeting tab open during recording\\n* capture screenshots only after recording has started\\n\\n### macOS Desktop App\\n\\nIf a system screenshot is not added to the meeting:\\n\\n1. Open **Settings \u003e Meeting Screenshots** in Laconote Desktop.\\n2. Confirm that **Attach screenshots to meetings** is enabled.\\n3. Confirm that recording was active when the screenshot was taken.\\n4. Use `ââ§4`, `ââ§3`, or `ââ§4` followed by `Space`.\\n5. Confirm that macOS saved the file in the folder monitored by Laconote.\\n6. Do not use clipboard-only capture: Laconote needs a saved file.\\n7. Turn off on-device local transcription. When it is enabled, no meeting is created on the server and screenshot attachment is unavailable.\\n\\nLaconote never moves or deletes the local file. The server stores recognized text from the screenshot, not the image itself.\\n---\\n\\n## Transcript language looks wrong\\n\\nIf the transcript is in the wrong language or mixed-language content is recognized poorly, choose a specific transcription language before recording or uploading. Use **Automatic** when participants switch languages during the call or when you are not sure which language will dominate.\\n\\n---\\n\\n## Summary or transcript is not ready yet\\n\\nIf the meeting has already been created but AI results are not available yet, open the meeting card and check the current status:\\n\\n* wait for te
127chnical stages to finish, with status moving from `pending` to `waiting_for_summarize` or `summarizing`\\n* if the **Transcript** is missing or poorly recognized because of sound quality, features such as **Summary** and **Tasks** may also be unavailable\\n* if processing appears to be visually stuck, close the card and reopen the meeting a little later\\n\\n\u003e [!INFO] Processing time\\n\u003e Processing speed depends on meeting length. A one-hour recording will naturally take longer than a five-minute stand-up.\\n\\n---\\n\\n## When to ask for help\\n\\nIf none of the tips above help, contact support with enough context for quick troubleshooting:\\n\\n1. capture the exact error text or take a screenshot\\n2. prepare the meeting ID or copy the meeting link\\n3. open **Support** or use the direct link and send a message describing the issue: `laconote.com/support`\",\"Troubleshoot microphone, upload, transcription, and processing issues in Laconote.\",\"troubleshooting\",[112,144,4,145,113,133,146,117],49,\"2026-09-08T10:21:10.958Z\",\"2026-07-26T10:20:57.735Z\",\"microphone\",\"help\",\"upload\",\"69adbb6eccf8d6f942f7ffd2\",\"Team Collaboration Features\",\"team-collaboration\",\"# Team Collaboration Features\\n\\nLearn how to use Laconote's team features effectively: managing members, inviting people to projects, setting up sharing, and collaborating on meeting results.\\n\\n---\\n\\n## Team settings\\n\\n### Where to find team management\\nAll tools for administering your shared workspace are located in:\\n**Settings** \u003e **Team**\\n\\nIn this section, you can:\\n* view the list of current members and their roles\\n* check the status of sent invitations\\n* manage general workspace settings if you have the required admin access\\n\\n\u003e [!NOTE] Team plan features\\n\u003e On the **Team** plan, members share the team's AI hours balance. The number of seats and advanced administration features depends on your current tier.\\n\\n---\\n\\n## Current access model: Team, Project, Share\\n\\nLaconote separates collaboration into three levels:\\n\\n| Level | Best for | What it controls |\\n| :--- | :--- | :--- |\\n| **Team** | Company or workspace membership | Seats, shared plan balance, and workspace-level administration. |\\n| **Project** | Ongoing collaboration around a client, sprint, department, or initiative | Access to a group of related meetings and their materials. |\\n| **Share** | One-time or external access to a specific meeting | Link-based access with optional expiration, password, and editing permission. |\\n\\nUse **Project** when people need continuing access to related meetings. Use **Share** when someone only needs one meeting or a short review window.\\n\\n---\\n\\n## How to share meetings\\n\\nThe fastest way to share the results of a specific conversation is to use the **Share** button and generate a public link.\\n\\n1. Open the meeting from your Dashboard.\\n2. Click **Share** in the top toolbar.\\n3. In the **Share Meeting** window, configure access:\\n * **Expiration Date:** set an expiration date or leave it as *Never expires*\\n * **Password Protection:** add a password if you want extra security\\n * **Allow editing:** enable this if recipients should be able to edit materials\\n4. Click **Create Share Link**.\\n\\n\u003e [!INFO] Access to content\\n\u003e A shared public link gives access to the selected meeting materials, including summary, transcript, decisions, tasks, notes, and attached files, according to the link settings.\\n\\n---\\n\\n## Projects and collaboration\\n\\nProjects are the best way to organize meetings by topic, client, or department.\\n\\n### Inviting people to a project\\n* each project has its own **Invitation Links**\\n* you can grant access to a specific project without exposing the whole team workspace\\n* the selected role determines the permission level inside that project\\n\\n### What project members can access\\n\\n| Feature | Description |\\n| :--- | :--- |\\n| **Shared viewing** | All meetings added to the project are available to every project member. |\\n| **Working with notes** | Team members can edit notes together and add comments. |\\n| **Member management** | Members can view the list of participants and manage access within the project context, depending on role. |\\n| **Quick search** | Project content is indexed so related materials are easier to find. |\\n\\n\u003e [!TIP] Contextual access\\n\u003e Use **Share** together with **Project Invites** when you need to give an external
127consultant access only to one project without exposing the rest of your team's activity.\\n\\n---\\n\\n## Collaborating on artifacts\\n\\nOnce a meeting is added to a project or shared via a public link, participants can work with the full set of AI-powered materials:\\n\\n* **Summary, Decisions \u0026 Tasks:** review agreements, discuss tasks together, and align on next steps\\n* **Shared Transcript:** verify quotes and refine recognized text\\n* **Materials:** review uploaded documents, screenshots, images, and other supporting files\\n* **AI Chat:** ask individual questions about the meeting details\\n* **Participants:** review the shared attendee list and clarify roles when needed\\n\\n---\\n\\n## Team Pulse for team health\\n\\nTeam Pulse gives teams a shared way to review mood, engagement, and talk balance trends from project meetings. It is most useful during retrospectives, project reviews, and manager check-ins where the team wants to understand patterns over time.\\n\\nUse Team Pulse together with project permissions. People who can review team analytics should also have a clear reason to see the underlying project context.\\n\\n\u003e [!IMPORTANT] Use it as a team signal\\n\u003e Team Pulse is not a replacement for direct feedback or one-on-one conversations. Use it to spot patterns and start better discussions, not to judge a person from a single meeting.\\n\\n---\\n\\n## Recommendations for teams\\n\\n* **Assign an owner:** choose one person, such as a meeting lead, to review the AI summary and validate tasks after processing.\\n* **Follow the 24-hour rule:** share and review materials within a day while the discussion context is still fresh.\\n* **Use consistent naming:** agree on naming patterns for projects, for example `[Client] Project Name`, so navigation stays clear.\\n* **Audit access regularly:** review shared links and project settings to remove outdated access.\\n\\n---\\n\\n## Related materials\\n\\n* [Organizing Meetings with Projects](./projects-guide)\\n* [Getting Started with Laconote](./getting-started)\\n* [How to Use Tasks Effectively](./using-action-items)\",\"Manage members, share meetings, invite people to projects, and collaborate on meeting results in Laconote.\",[155,98,156,133],\"2026-09-21T10:04:17.307Z\",\"2026-07-20T15:58:14.885Z\",\"team\",\"sharing\",\"69adbb6eccf8d6f942f7ffcb\",\"Getting Started with Laconote\",\"getting-started\",\"# Getting Started with Laconote\\n\\n**Laconote** is a platform for recording and analyzing meetings. It is designed to save you from routine tasks: the platform automatically recognizes speakers, generates summaries, captures tasks, and lets you search for information across your entire call history using AI.\\n\\nLaconote is available in several formats: a web application, a Chromium-based browser extension, desktop apps for macOS and Windows, an Android app, and a PWA (an installable web app version).\\n\\nIf your organization uses a self-hosted Laconote backend, enter the **Workspace URL** during sign-in or app connection so supported Laconote apps use the right private workspace instead of the cloud workspace.\\n\\n---\\n\\n## Quick Start: Which method should you choose?\\n\\nTo choose the best tool for your task, use this table:\\n\\n| Your current task | Recommended method | Benefits |\\n| :--- | :--- | :--- |\\n| **Meeting in a browser tab** | `Browser Extension` or `Record` | Quick launch for Google Meet / MS Teams in the web, with microphone recording. |\\n| **Call in a native app** | `Desktop App` | Captures system audio and microphone input for Zoom, Slack, native Teams, Discord, and other desktop calls on macOS or Windows. |\\n| **You have a ready audio/video file** | `Upload` | Drag-and-drop upload and direct link import from supported platforms. |\\n| **You have notes or a transcript** | `Text meeting` | Creates a meeting from text and lets AI summarize, extract tasks, and answer questions. |\\n| **You want to add context files** | `Text meeting materials` | Attach documents, images, screenshots, and structured files to help AI understand the meeting. |\\n| **You use a private backend** | `Worksp
127ace URL` | Connect supported Laconote apps to your organization's self-hosted workspace. |\\n| **Daily use** | `Web App (PWA)` | Quick access, standalone launch, `Start Recording` shortcut. |\\n\\n---\\n\\n## Recording and import options\\n\\n### 1. Recording a meeting in the browser\\n\\nThis basic option is suitable if you only need a microphone and an open browser tab.\\n\\n1. Go to the **Record** section from the main menu on the Dashboard.\\n2. Grant the browser permission to use your microphone.\\n3. Select the transcription language. Use **Automatic** if you are not sure, or choose a specific language for more predictable results.\\n4. Fill in the metadata: specify the meeting name, type, and link it to a project if needed.\\n5. Click **Start Recording**.\\n6. After the conversation ends, click **Stop and Finish**.\\n\\n\u003e [!TIP] Tip for better results\\n\u003e Use a headset or an external microphone. This will significantly reduce background noise and improve transcription quality and speaker recognition.\\n\\n### 2. Using the Browser Extension\\n\\nThis is the best choice for calls that happen directly in Chromium-based browsers such as Google Chrome or Microsoft Edge.\\n\\n1. Go to the **Extension** page and install the extension from the Chrome Web Store.\\n2. Sign in to your Laconote account.\\n3. Open the meeting, for example in Google Meet.\\n4. Click the Laconote icon in the extensions bar and start recording.\\n5. When the call ends, the materials will appear automatically on your **Dashboard**.\\n\\nWhen supported by the meeting flow, the extension can also show live summary updates during the call and let you capture in-meeting screenshots, such as slides, shared screens, or charts, as meeting materials.\\n\\n### 3. Recording with the Desktop App\\n\\nIf you use desktop clients for Zoom, Slack, Teams, Discord, or other native calling apps, use the macOS or Windows Desktop App to capture both system audio and your microphone.\\n\\n1. Download the latest release for your operating system from the banner on the **Dashboard**.\\n2. Install the app and grant system permissions for microphone access and audio capture.\\n3. Start the call in your desktop app.\\n4. Turn on recording in the Laconote app.\\n5. Keep the desktop app running until the meeting is finished and processing starts.\\n\\nIn the macOS Desktop App, you can enable **Attach screenshots to meetings**. During an active recording, Laconote detects system screenshots in the monitored folder and adds the recognized text to the meeting context. The image itself remains on the Mac. See [How To Record Calls With The macOS Desktop App](./macos-desktop-app-recording) for details.\\n\\n\u003e [!NOTE] System requirements\\n\u003e Desktop recording is available for macOS and Windows. The desktop app can also automatically detect active calls and sync with your calendar when supported.\\n\\n### 4. Importing from different sources with Upload\\n\\nThe **Upload** section offers several ways to create a meeting from existing materials:\\n\\n* **Audio or video file:** drag and drop the file onto the *Audio recording* tab.\\n* **Via link:** open the *From URL* tab and paste the link. Supported platforms include YouTube, TikTok, X (Twitter), Instagram, and SoundCloud.\\n* **Text meeting:** open *Text meeting* and paste ready-made notes or a transcript for further AI analysis.\\n* **Materials for a text meeting:** attach supporting documents, images, screenshots, and structured files such as `MD`, `CSV`, `JSON`, `YAML`, `XML`, and `HTML`.\\n\\n\u003e [!INFO] Supported audio formats\\n\u003e The system reliably processes `MP3`, `WAV`, `M4A`, `WEBM`, and `OGG` formats.\\n\\n### 5. Choosing transcription language\\n\\nBefore recording or uploading, choose the transcription language in the language picker. **Automatic** works well for most calls, while a fixed language is better when you know the meeting language in advance or want more consistent terminology.\\n\\n### 6. Choosing the meeting type\\n\\nChoose the meeting type before recording, uploading, or creating a text meeting. Laconote uses meeting type templates to shape the final **Summary**, **Tasks**, and **Decisions** for different workflows, such as stand-ups, sales calls, interviews, technical discussions, and planning sessions.\\n\\n### 7. Installing as a Web App (PWA)\\n\\nLaconote supports Progressive Web App mode. This lets you use the service as a full application on your device.\\n\\n1. Open Laconote in y
127our browser.\\n2. Click **Install App** in the address bar or choose **Add to Home Screen** in the browser menu.\\n3. Use the benefits: quick standalone launch, system shortcuts, and the ability to share content on supported mobile devices.\\n\\n---\\n\\n## Results: What you get after processing\\n\\nOnce Laconote finishes the analysis, which usually takes a few minutes, the following artifacts appear in the meeting card:\\n\\n* **Summary:** A concise overview of key topics, decisions, and tasks.\\n* **Live Summary:** Periodic real-time summary updates while a supported meeting is still running.\\n* **Audio Summary:** A generated audio version of your summary, so you can quickly listen to the main meeting outcomes on the go.\\n* **Transcript:** A full text record of the conversation with timecodes and speaker separation.\\n* **AI Chat:** An interactive chat in the context of a specific meeting, where you can ask questions about the details that were discussed.\\n* **Audio / Notes:** The original media player and your own notes.\\n* **Materials:** Uploaded documents, images, screenshots, and text files attached to the meeting for extra context.\\n\\n---\\n\\n## Related materials\\n\\n* [How to Use Tasks Effectively](./using-action-items)\\n* [Understanding AI Summaries](./ai-summaries)\\n* [How to Use AI Chat to Search Through Meetings](./rag-chat-guide)\\n* [Organizing Meetings with Projects](./projects-guide)\",\"Welcome to Laconote! This guide covers the current ways to record, upload, and analyze meetings in Laconote.\",[166,167,112,146,116,132,44],37,\"2026-09-23T17:43:53.719Z\",\"2026-07-26T11:20:50.724Z\",\"beginner\",\"tutorial\",\"6a2d5908e60b56d42298aace\",\"How to connect AI assistants to Laconote with MCP\",\"connect-mcp\",\"# How to connect AI assistants to Laconote with MCP\\n\\nLaconote supports connecting AI assistants through **Model Context Protocol (MCP)**. Once connected, Claude, Cursor, Zed, VS Code, or another MCP client can work with the meeting materials you have access to: find the right conversations, read Summary and Transcript, answer context-aware questions, and help with tasks, projects, and sharing.\\n\\nAccess is always limited by your Laconote account permissions. The AI assistant can only see the meetings, projects, and materials that you can access.\\n\\nThe MCP connector is available on paid plans. You can connect Laconote in two ways:\\n\\n| Where you use your AI assistant | Method | Authorization |\\n| :--- | :--- | :--- |\\n| `claude.ai` and other web clients | Remote connector | Browser sign-in to Laconote |\\n| Claude Code, Cursor, Zed, VS Code, Claude Desktop | Local MCP server | Laconote API key |\\n\\n---\\n\\n## Option 1. Remote connector\\n\\nUse this option for `claude.ai` and other web clients that support a custom MCP connector. You do not need to create an API key.\\n\\n1. In `claude.ai`, go to **Settings -\u003e Connectors**. In another web client, open its MCP or connectors section.\\n2. Click **Add custom connector**.\\n3. Paste the connector URL:\\n\\n```text\\nhttps://mcp.laconote.com/mcp\\n```\\n\\n4. Click **Connect**.\\n5. Sign in to Laconote, review the permissions, and confirm access.\\n\\nAfter that, Laconote tools should appear in your AI client. You can ask the assistant to find a meeting, summarize a discussion, or answer questions about the materials you can access.\\n\\n**To revoke access:** open Laconote, go to **Settings -\u003e Integrations**, and disconnect the relevant app in the list of connected clients.\\n\\n---\\n\\n## Option 2. Local MCP clients\\n\\nUse this option for Claude Code, Cursor, Zed, VS Code, Claude Desktop, and other clients that run an MCP server locally on your computer.\\n\\nYou need:\\n\\n* Node.js 18 or newer\\n* a Laconote API key\\n* the `@laconote/mcp` package\\n\\n### Step 1. Create an API key\\n\\n1. Open Laconote.\\n2. Go to **Settings -\u003e Integrations -\u003e API Keys**.\\n3. Click **Create key**.\\n4. Give the key a clear name, such as `Claude Code`, `Cursor`, or `VS Code`.\\n5. Choose the access level: full (read and write) or read-only.\\n6. Copy the key right after it is created.\\n\\n\u003e [!IMPORTANT] The API key is shown once\\n\u003e Treat the key like a password. Do not commit it to a repository, paste it into shared documents, or send it in chats. If the key may have been exposed, revoke it and create a new one.\\n\\n### Step 2. Add the Laconote MCP server\\n\\nLocal clients use the same command:\\n\\n```bash\\nnpx -y @laconote/mcp\\n```\\n\\nThe key is passed through an environment variable:\\n\\n```text\\nLACONOTE_TOKEN=lac_YOUR_KEY\\n```\\n\\nBelow are ready-to-use examples for common clients.\\n\\n---\\n\\n## Claude Code\\n\\nIn your terminal, run this command with your API key:\\n\\n```bash\\nclaude mcp add laconote --env LACONOTE_TOKEN=lac_YOUR_KEY -- npx -y @laconote/mcp\\n```\\n\\nThen open Claude Code and run:\\n\\n```text\\n/mcp\\n```\\n\\n`laconote` should appear in the MCP server list with a connected status.\\n\\n---\\n\\n## Claude Desktop\\n\\
127nAdd Laconote to `claude_desktop_config.json`:\\n\\n```json\\n{\\n \\\"mcpServers\\\": {\\n \\\"laconote\\\": {\\n \\\"command\\\": \\\"npx\\\",\\n \\\"args\\\": [\\\"-y\\\", \\\"@laconote/mcp\\\"],\\n \\\"env\\\": {\\n \\\"LACONOTE_TOKEN\\\": \\\"lac_YOUR_KEY\\\"\\n }\\n }\\n }\\n}\\n```\\n\\nSave the file and fully restart Claude Desktop.\\n\\n---\\n\\n## Cursor\\n\\nAdd Laconote to your Cursor MCP configuration:\\n\\n```json\\n{\\n \\\"mcpServers\\\": {\\n \\\"laconote\\\": {\\n \\\"command\\\": \\\"npx\\\",\\n \\\"args\\\": [\\\"-y\\\", \\\"@laconote/mcp\\\"],\\n \\\"env\\\": {\\n \\\"LACONOTE_TOKEN\\\": \\\"lac_YOUR_KEY\\\"\\n }\\n }\\n }\\n}\\n```\\n\\nAfter saving the config, restart the MCP server in Cursor or restart the app. If the connection does not work, open MCP logs and check the key.\\n\\n---\\n\\n## Zed\\n\\nIn Zed, add Laconote as a custom server in Agent Panel settings or in the settings file:\\n\\n```json\\n{\\n \\\"context_servers\\\": {\\n \\\"laconote\\\": {\\n \\\"command\\\": \\\"npx\\\",\\n \\\"args\\\": [\\\"-y\\\", \\\"@laconote/mcp\\\"],\\n \\\"env\\\": {\\n \\\"LACONOTE_TOKEN\\\": \\\"lac_YOUR_KEY\\\"\\n }\\n }\\n }\\n}\\n```\\n\\nAfter saving, open Agent Panel and check the indicator next to `laconote`.\\n\\n---\\n\\n## VS Code\\n\\nIn VS Code, you can add MCP servers through the Command Palette or manually in `mcp.json`.\\n\\nFor workspace configuration, create this file:\\n\\n```text\\n.vscode/mcp.json\\n```\\n\\nAdd Laconote:\\n\\n```json\\n{\\n \\\"servers\\\": {\\n \\\"laconote\\\": {\\n \\\"type\\\": \\\"stdio\\\",\\n \\\"command\\\": \\\"npx\\\",\\n \\\"args\\\": [\\\"-y\\\", \\\"@laconote/mcp\\\"],\\n \\\"env\\\": {\\n \\\"LACONOTE_TOKEN\\\": \\\"lac_YOUR_KEY\\\"\\n }\\n }\\n }\\n}\\n```\\n\\nIf the server should be available in all projects, open **MCP: Open User Configuration** in the Command Palette and add the same config at the user level.\\n\\n---\\n\\n## Other MCP clients\\n\\nIf your client supports local MCP servers over `stdio`, use these settings:\\n\\n| Field | Value |\\n| :--- | :--- |\\n| Server name | `laconote` |\\n| Transport | `stdio` |\\n| Command | `npx` |\\n| Args | `-y`, `@laconote/mcp` |\\n| Environment | `LACONOTE_TOKEN=lac_YOUR_KEY` |\\n\\nIf the client supports remote MCP connectors with browser-based authorization, use this URL:\\n\\n```text\\nhttps://mcp.laconote.com/mcp\\n```\\n\\n---\\n\\n## What you can ask the AI assistant\\n\\nAfter connecting Laconote, you can use natural language requests:\\n\\n* \\\"Find all meetings where we discussed the new product launch.\\\"\\n* \\\"Summarize the latest customer call in three points.\\\"\\n* \\\"What tasks came out of this week's standups?\\\"\\n* \\\"Show the decisions we made about pricing.\\\"\\n* \\\"Find the meeting where Nazar talked about the MCP integration.\\\"\\n* \\\"Create a short recap for the team based on the latest meetings in the project.\\\"\\n\\nThe more specific you are about the project, date, participant, or topic, the more useful the answer will be.\\n\\n---\\n\\n## Security\\n\\n* **An API key is a password.** Do not publish it or store it in shared files.\\n* **Use a separate key for each client.** This makes it easier to revoke access only for Claude Code, Cursor, or another tool.\\n* **Use minimum access.** If the client only needs to read materials, create a read-only key if that option is available on your plan. In Claude Code, you can also set `LACONOTE_READONLY=1`.\\n* **Review tool calls.** An MCP client may ask for confirmation before an action. Check what the assistant is about to do.\\n* **Revocation is immediate.** A deleted key or disconnected remote connector loses access on the next request.\\n\\n---\\n\\n## Troubleshooting\\n\\n| Symptom | What to check |\\n| :--- | :--- |\\n| I do not see MCP or API Keys in Laconote | Check your plan, account permissions, and refresh the app page. |\\n| `401` or `Authentication failed` | The API key is wrong, revoked, or pasted with extra spaces. |\\n| `npx` does not start | Check Node.js: `node --version`. Version 18 or newer is required. |\\n| The client does not show `laconote` | Check JSON syntax, the config location, and restart the client. |\\n| The server starts, but tools do not work | Open MCP logs in the client and check for authorization or network errors. |\\n| The remote connector asks you to sign in again | Authorize again, or revoke the old access and connect the connector again. |\\n| I see a plan-related message | The MCP connector is available on paid plans. |\\n\\n---\\n\\n## Related materials\\n\\
127n* [How to use AI Chat to search through meetings](./rag-chat-guide)\\n* [Privacy and security in Laconote](./privacy-security)\\n* [Roles and access permissions in Laconote](./roles-permissions)\\n* [Why Laconote uses Team, Project, and Share](./team-project-share)\",\"How to give Claude, Cursor, Zed, VS Code, and other MCP clients access to your Laconote meetings.\",\"integrations\",[179,79,173,180,181],28,\"2026-06-13T13:20:08.014Z\",\"2026-09-30T00:47:37.93Z\",\"2026-07-19T12:07:39.911Z\",\"mcp\",\"claude\",\"api-keys\",\"6a2d6cdce60b56d42298aadf\",\"Privacy and Security in Laconote\",\"privacy-security\",\"# Privacy and Security in Laconote\\n\\nMeetings often contain internal decisions, client details, financial discussions, or personal feedback. In Laconote, it is important not only to record and analyze the conversation, but also to manage who can see the materials after processing.\\n\\nThis article explains the basic privacy principles in the current interface: how access works, what AI Chat takes into account, when to use Share, and what to check before sharing a meeting.\\n\\n---\\n\\n## What Data Is Stored In A Meeting\\n\\nAfter recording or importing, Laconote can create several types of materials:\\n\\n* **Audio / Video:** the original recording or imported media file.\\n* **Transcript:** the text version of the conversation.\\n* **Summary:** an AI summary with key topics, decisions, and tasks.\\n* **Tasks and Decisions:** structured next steps and captured agreements.\\n* **Notes:** manual notes or additional context.\\n* **Materials:** uploaded documents, images, screenshots, and structured files attached to a meeting.\\n* **AI Chat:** answers based on the meeting materials the user can access.\\n\\n### Screenshots From The macOS Desktop App\\n\\nScreenshots automatically associated with a meeting by the macOS Desktop App are handled differently from images that a user manually uploads to Materials.\\n\\nDuring an active recording, Laconote can read a new screenshot file in the monitored folder and recognize text in the image. The file remains on the Mac: the app does not move or delete it. Only the recognized textânot the imageâis sent to and stored on the server.\\n\\nThis feature is unavailable when on-device local transcription is enabled because that mode does not create a meeting on the server. Before recording, verify which folder is monitored, and avoid capturing passwords, tokens, personal data, or other information that is not needed for the meeting context.\\n\\nBefore sharing a meeting, check not only the recording itself, but also Transcript, Summary, Tasks, Decisions, and Notes. These are often the materials other participants read first.\\n\\n---\\n\\n## Application Security Safeguards\\n\\nLaconote applies product-level safeguards to reduce common security risks in the web interface:\\n\\n* **Content sanitization:** rendered user-generated and AI-generated content is sanitized to reduce the risk of XSS when viewing transcripts, summaries, notes, and shared materials.\\n* **Token handling:** account and session tokens are treated as sensitive credentials. Do not paste tokens into support messages, shared documents, screenshots, or browser console snippets.\\n* **Dependency hardening:** frontend depen
127dencies and security-sensitive handling are reviewed as part of ongoing security maintenance.\\n\\nIf you believe a token was exposed, sign out of active sessions where possible and contact support with the account and workspace context, but do not include the raw token.\\n\\n---\\n\\n## Self-hosted workspaces and Workspace URL\\n\\nIf your organization runs Laconote on its own infrastructure, use the **Workspace URL** provided by your admin before signing in or connecting supported apps. This points the app to the private backend that should handle your meetings.\\n\\nFor self-hosted environments:\\n\\n* verify the workspace domain before signing in\\n* use only the URL shared through your organization's trusted admin channel\\n* remember that Share links, project permissions, exports, API keys, MCP connectors, and Team Pulse analytics still need the same access review as in cloud workspaces\\n* contact your workspace admin if the app opens the wrong cloud or private workspace\\n\\n---\\n\\n## How Access To Materials Works\\n\\nIn Laconote, access is split across several levels:\\n\\n| Level | What it is for |\\n| :--- | :--- |\\n| **Team** | Adds a person to the shared team space. |\\n| **Project** | Gives access to a group of related meetings. |\\n| **Share** | Gives access to a specific meeting through a link. |\\n\\n\u003e [!NOTE] Important rule\\n\u003e Adding someone to **Team** does not mean they automatically see all projects. Access to projects and individual meetings is managed separately.\\n\\nIf someone needs to work with several related meetings, it is usually better to add them to the right **Project**. If they only need to see one conversation, **Share** is enough.\\n\\n---\\n\\n## Shared Links And External Access\\n\\nThe **Share** button creates a link to a specific meeting. In the current interface, you can configure:\\n\\n* **Expiration Date:** how long the link stays active.\\n* **Password Protection:** an extra password for protection.\\n* **Allow editing:** whether the recipient can edit materials.\\n\\nUse a password and expiration date for meetings with client, financial, or internal information. If the recipient only needs to read the summary, do not enable editing unless it is necessary.\\n\\n---\\n\\n## API Keys, OAuth, And MCP Connectors\\n\\nIntegrations can extend what external tools can do with your workspace, so treat connector credentials carefully.\\n\\n* Use OAuth or API-key based connector access only for tools you trust.\\n* Revoke or rotate API keys when a teammate leaves, a key is exposed, or an integration is no longer used.\\n* MCP access is available on paid plans and should be connected only where an assistant genuinely needs access to Laconote context.\\n* When using MCP with external AI assistants, keep project and workspace permissions narrow so the assistant can only work with the intended materials.\\n\\n---\\n\\n## AI Chat And Privacy\\n\\nAI Chat works with materials that the user can access within their permissions. This matters in team scenarios: a person should not be able to get information through AI Chat from a meeting or project they cannot access.\\n\\nTo reduce the risk of accidental disclosure:\\n\\n* do not add people to Team \\\"just in case\\\"\\n* open only the Projects they need\\n* use Share for one-time access\\n* regularly review old shared links\\n* check Summary and Notes before sharing a meeting\\n\\n---\\n\\n## What To Check Before Sharing A Meeting\\n\\nBefore sharing materials with a teammate, client, or external consultant, go through a short checklist:\\n\\n1. Open **Transcript** and make sure there are no critically incorrect fragments.\\n2. Check **Summary**, especially decisions, tasks, and people's names.\\n3. Review **Notes** if they contain internal comments.\\n4. Decide which access is needed: **Project** or **Share**.\\n5. For a Share link, set expiration, password, and editing permissions.\\n\\n\u003e [!TIP] Minimum access\\n\u003e The safest approach is to give a person exactly the access they need for their task, and no more.\\n\\n---\\n\\n## Common Mistakes\\n\\n* Adding someone to **Team** when they only need one meeting.\\n* Opening an entire **Project** instead of a single Share link.\\n* Leaving a shared link
127without an expiration date for a sensitive meeting.\\n* Enabling **Allow editing** when the recipient only needs to view materials.\\n* Sharing Summary without a quick human review.\\n\\n---\\n\\n## Related Articles\\n\\n* [Laconote Security](https://laconote.com/security)\\n* [Team Collaboration Features](./team-collaboration)\\n* [Organizing Meetings with Projects](./projects-guide)\\n* [How to Use AI Chat to Search Through Meetings](./rag-chat-guide)\\n* [How to connect AI assistants to Laconote with MCP](./connect-mcp)\",\"How Laconote handles meeting materials, access, shared links, and AI features from a privacy and security perspective.\",[192,193,194,195,196,197,181,179],14,\"2026-06-13T14:44:44.792Z\",\"2026-09-08T13:00:18.642Z\",\"2026-07-26T10:32:03.534Z\",\"privacy\",\"security\",\"access\",\"data\",\"xss\",\"tokens\",\"6a2e528516f3528baa52497b\",\"What To Do After A Meeting in Laconote\",\"post-meeting-workflow\",\"# What To Do After A Meeting in Laconote\\n\\nAfter a call ends, the most valuable thing in Laconote is not just saving the recording. It is turning the conversation into a clear result. A simple post-meeting workflow works best: check material quality, confirm agreements, share access, and capture next steps.\\n\\n---\\n\\n## A 10-Minute Workflow\\n\\nIf you want to keep the process lightweight, use this basic sequence:\\n\\n1. Wait until meeting processing is complete.\\n2. Read **Summary** and check the key decisions.\\n3. Review tasks and other meeting materials.\\n4. Add the meeting to the right **Project** or share it with **Share**.\\n5. Ask follow-up questions in **AI Chat** if needed.\\n\\nEven this short ritual greatly reduces the chance that important agreements stay buried somewhere in the recording.\\n\\n---\\n\\n## Step 1. Check That Processing Is Complete\\n\\nBefore sending the result to your team, make sure the technical steps are finished:\\n\\n* the meeting is no longer in `pending` status\\n* the main AI materials have been generated\\n* the **Summary** tab appears and contains a meaningful result\\n\\nIf processing is still running, it is better to wait a few minutes than to share a raw or incomplete artifact.\\n\\n\u003e [!NOTE] If the result looks incomplete\\n\u003e If after reviewing or editing the transcript the conclusions still seem inaccurate, use **Regenerate Summary**.\\n\\n---\\n\\n## Step 2. Quickly Review Meeting Materials\\n\\nYou do not need to reread or replay the entire meeting from start to finish. Usually, a quick check is enough:\\n\\n* whether names and key terms were recognized correctly\\n* whether the main meeting content is represented accurately\\n* whether important fragments are obviously missing\\n* whether decisions and tasks were captured correctly\\n\\nIf the meeting materials contain critical inaccuracies, they will often lead to mistakes in Summary, tasks, and later AI Chat search.\\n\\n---\\n\\n## Step 3. Confirm Summary\\n\\nNext, open **Summary** and check three things:\\n\\n* whether the key meeting topics are represented\\n* whether important decisions are missing\\n* whether the tone of the summary matches the actual outcome of the conversation\\n\\nTreat Summary not as perfect truth, but as a strong first draft that should be quickly validated by a person.\\n\\n\u003e [!TIP] Who should do this\\n\u003e In a team, assign one person to check Summary first after important calls. This can be the meeting lead, PM, account owner, or team lead.\\n\\n---\\n\\n## Step 4. Review Tasks\\n\\nThis is where teams most often lose the value of a meeting. Open **Tasks** and check:\\n\\n* whether each task has one clear owner\\n* whether it is clear what needs to be done\\n* whether there is a deadline or at least a time reference\\n\\nIf AI made a task too vague, fix it right away while the context is fresh.\\n\\nWeak version:\\n\\n* \\\"update the documentation\\\"\\n\\nBetter version:\\n\\n* \\\"Olena updates the onboarding doc by Wednesday, 15:00\\\"\\n\\n---\\n\\n## Step 5. Put The Result In The Right Context\\n\\nAfter validating the artifacts, do not leave the meeting in a vacuum.\\n\\nDepending on the situation:\\n\\n* add the meeting to the correct **Project**\\n* give the right people access with **Project Invites**\\n* or share the specific meeting with **Share**\\n\\nThis is simple, but important: if the result does not land in the right context, the team may not find it later.\\n\\n---\\n\\n## Step 6. Use AI Chat To Clarify Details\\n\\nAfter the basic review, **AI Chat** works well as a clarification tool.\\n\\nFor example, you can quickly ask:\\n\\n* \\\"What risks did we discuss?\\\"\\n* \\\"What did we promise the client by Friday?\\\"\\n* \\\"Which tasks are related to the release?\\\"\\n* \\\"What exactly did Nazar say about the deadline?\\\"\\n\\nThis is faster than manually searching for the right moment across all meeting materials.\\n\\n---\\n\\n## A Practical Minimum For Team Meetings\\n\\nIf you need a very practical standard, use this minimum:\\n\\n* **Summary** is reviewed within 24 hours\\n* **Tasks** are validated within 24 hours\\n* the meeting is added to the right **Project**\\n* the result is shared through **Share** or project access\\n\\nThat is enough for Laconote to work not as a recording archive, but as a real follow-up tool.\\n\\n---\\n\\n## Common Post-Meeting Mistakes\\n\\nTeams most often lose value in three places:\\n\\n* **they do not review Summary** and assume AI understood everything perfectly\\n* **they do not val
127idate Tasks**, so tasks stay vague\\n* **they do not share the result** in the right context, so the meeting gets lost among others\\n\\nAvoiding these three mistakes makes the value of KB and AI features much more visible.\\n\\n---\\n\\n## Related Articles\\n\\n* [Understanding AI Summaries](./ai-summaries)\\n* [How to Use Tasks Effectively](./using-action-items)\\n* [How to Use AI Chat to Search Through Meetings](./rag-chat-guide)\\n* [Team Collaboration Features](./team-collaboration)\",\"A short practical workflow for checking Summary, tasks, notes, and other meeting materials after a meeting, sharing the result, and keeping agreements from getting lost.\",[208,80,68,209],13,\"2026-06-14T07:04:37.848Z\",\"2026-09-07T02:15:31.841Z\",\"2026-07-20T15:58:12.9Z\",\"workflow\",\"transcript\",\"6a2e560216f3528baa524983\",\"How To Onboard A New Teammate In Laconote\",\"team-onboarding\",\"# How To Onboard A New Teammate In Laconote\\n\\nWhen a new person joins the team, it is important not only to add them to the workspace, but to give them exactly the access they need. In Laconote, this matters because **Team**, **Project**, and **Share** are different access levels and solve different problems.\\n\\nThe best onboarding in Laconote is not \\\"give access to everything.\\\" It is guiding the person through the right minimum:\\n\\n* add them to **Team** if they will work with you regularly\\n* open only the **Projects** they need\\n* show how to read **Summary**, **Notes**, **Tasks**, and other meeting materials\\n* explain where to find materials and how not to get lost\\n\\n---\\n\\n## A Short Onboarding Workflow\\n\\nHere is a practical scenario that works best:\\n\\n1. Add the person to **Team** if they need ongoing access to the workspace.\\n2. Separately open only the **Projects** they will work with.\\n3. Explain the difference between **Team**, **Project**, and **Share**.\\n4. Show where to find **Dashboard**, **Projects**, **Tasks**, **Summary**, **Notes**, and **AI Chat**.\\n5. Use one real meeting as an example and walk through it together.\\n\\nThis is much more effective than saying \\\"here is access, figure it out.\\\"\\n\\n---\\n\\n## Step 1. Decide Whether They Need Team Access\\n\\nNot every new participant needs the same access level.\\n\\n**Add them to Team** if:\\n\\n* they will work in the workspace regularly\\n* they need ongoing access to the team environment\\n* they will participate in several projects\\n\\n**You do not have to add them to Team** if:\\n\\n* they are an external consultant\\n* they are a client or partner\\n* they only need to see one project or one meeting\\n\\nIn those cases, **Project Invite** or **Share** is often enough.\\n\\n\u003e [!NOTE] The most common mistake\\n\u003e Adding someone to **Team** does not mean they automatically see all projects. Project access is managed separately.\\n\\n---\\n\\n## Step 2. Give Access Only To The Projects They Need\\n\\nAfter adding someone to the team, open only the projects they actually need to work with.\\n\\nAt the **Project** level, you define:\\n\\n* what the person can see\\n* whether they can edit materials\\n* whether they can leave comments\\n* whether they can manage other members\\n\\nFor a new teammate, this means a simple rule:\\n\\n* do not open everything \\\"just in case\\\"\\n* start with minimum access\\n* expand it only when there is a real need\\n\\n---\\n\\n## Step 3. Explain The Team, Project, And Share Model\\n\\nDuring onboarding, explain this in the first few minutes because this is where most confusion starts.\\n\\nThe simple model is:\\n\\n* **Team** - who belongs to your shared workspace\\n* **Project** - what this person can access\\n* **Share** - how to share a specific meeting\\n\\nIf you explain this upfront, the new person will navigate the structure much faster.\\n\\n---\\n\\n## Step 4. Show Where To Find Daily Work\\n\\nDo not stop at the invite. Give the new teammate a short map of the interface:\\n\\n* **Dashboard** - the meeting list and entry point\\n* **Projects** - work in specific contexts\\n* **Summary**
127- a quick meeting summary\\n* **Notes** - working notes and context\\n* **Tasks** - extracted next steps\\n* **AI Chat** - a way to quickly ask questions about materials\\n\\nOne live example works better than an abstract explanation.\\n\\n---\\n\\n## Step 5. Walk Through One Real Meeting Together\\n\\nFor the first day, this is enough:\\n\\n1. open one meeting in the relevant project\\n2. show **Summary**\\n3. show where to find **Tasks**\\n4. open **Notes** or other available meeting materials\\n5. ask one or two questions in **AI Chat**\\n\\nAfter this walkthrough, the person usually understands how to continue on their own.\\n\\n---\\n\\n## The Minimum A New Teammate Needs To Know\\n\\nIf time is short, cover only this:\\n\\n* where to find their projects\\n* how to open the right meeting\\n* where to check Summary and Tasks\\n* how to share a meeting with Share\\n* who to ask if access is missing\\n\\nThis minimum is enough to keep the person from getting lost during the first days.\\n\\n---\\n\\n## When To Use Share Instead Of Full Onboarding\\n\\nSometimes a new participant does not need to be built into the full team process. For example:\\n\\n* a consultant joins only one audit\\n* a client needs to review the summary of a specific meeting\\n* a colleague from another team needs one-time access\\n\\nIn these cases, it is better to use **Share** instead of adding the person to Team.\\n\\nIt is simpler, safer, and creates less access confusion.\\n\\n---\\n\\n## Common Onboarding Mistakes\\n\\nThe most common problems are:\\n\\n* the person is added to **Team**, but not added to **Project**\\n* the new teammate gets access to too many projects at once\\n* nobody explains the difference between **Summary**, **Notes**, **Tasks**, and search through **AI Chat**\\n* everyone expects the new person to figure out where everything is\\n\\nAs a result, onboarding technically happened, but the user cannot start working comfortably.\\n\\n---\\n\\n## A Practical Template For Team Leads\\n\\nHere is a simple checklist for onboarding a new person:\\n\\n* add them to **Team** if needed\\n* open only the required **Projects**\\n* show one real meeting example\\n* explain the **Team / Project / Share** model\\n* clarify who owns access and structure in the team\\n\\nIf you repeat this template each time, the team gets into a working rhythm much faster.\\n\\n---\\n\\n## Related Articles\\n\\n* [Team Collaboration Features](./team-collaboration)\\n* [Organizing Meetings with Projects](./projects-guide)\\n* [Privacy and Security in Laconote](./privacy-security)\\n* [What To Do After A Meeting in Laconote](./post-meeting-workflow)\",\"A step-by-step onboarding flow for a new teammate: when to add them to Team, when to open a Project, what to show on day one, and how to avoid giving too much access.\",[220,155,221,194],12,\"2026-06-14T07:19:30.986Z\",\"2026-09-27T03:16:49.34Z\",\"2026-07-20T15:58:15.154Z\",\"onboarding\",\"project\",\"6a2e636a16f3528baa524996\",\"Roles and Access Permissions in Laconote\",\"roles-permissions\",\"# Roles and Access Permissions in Laconote\\n\\nIn the current Laconote interface, access permissions are split across several separate levels. This matters because a user's role in a team is not the same as their role in a specific project.\\n\\nThe simple rule is:\\n\\n* **Team** defines who belongs to your shared space.\\n* **Project** defines what that person can do in a specific project.\\n* **Share** gives separate access to a specific meeting through a link.\\n\\n---\\n\\n## Two Role Levels\\n\\nLaconote has two main role levels:\\n\\n* roles at the **Team** level\\n* roles at the **Project** level\\n\\nDo not mix these roles. For example, a user can be a **Member** in your team while also being a **Viewer** in one project and an **Editor** in another.\\n\\n\u003e [!NOTE] Important clarification\\n\u003e Adding someone to **Team** does not automatically open all your projects to them. Access to each project is managed separately.\\n\\n---\\n\\n## Team-Level Roles\\n\\nAt the team level, the current interface uses a simple access model.\\n\\n| Role | What it means |\\n| :--- | :--- |\\n| **Owner** | The team owner. Manages the team, inv
127ites, and team billing. |\\n| **Member** | A team member. Belongs to the shared team space, but does not automatically get access to every project. |\\n\\nTeam is mainly used to manage team membership, team settings, and shared resources.\\n\\n---\\n\\n## Project-Level Roles\\n\\nProject roles define what a user can do with meetings, members, and settings in a specific context.\\n\\n| Role | What it means |\\n| :--- | :--- |\\n| **Owner** | Full control over the project. |\\n| **Maintainer** | Can manage project members and settings. |\\n| **Editor** | Can add and edit meetings. |\\n| **Commenter** | Can view meetings and leave comments. |\\n| **Viewer** | Can only view meetings. |\\n\\nIn short:\\n\\n* **Owner** and **Maintainer** manage structure and access.\\n* **Editor** works with content.\\n* **Commenter** leaves feedback without editing the main content.\\n* **Viewer** has read-only access.\\n\\n---\\n\\n## Roles And States Are Not The Same\\n\\nIn Laconote, a role answers \\\"what can this person do?\\\" A state answers \\\"what is currently happening with their access?\\\"\\n\\nThe most common states are:\\n\\n| State | What it means |\\n| :--- | :--- |\\n| **pending** | The invite was created but has not been accepted yet. |\\n| **active** | Access is already active. |\\n| **expired** | The invite or link is no longer valid. |\\n| **declined** | The user declined the invite. |\\n| **removed** | The user was removed from the team or project. |\\n| **left** | The user left by themselves. |\\n\\nFor example, a user can be an **Editor** but still have the state **pending** until they accept the project invite.\\n\\n---\\n\\n## Shared Links Are A Separate Access Type\\n\\nThe **Share** button creates separate access to a specific meeting through a link. It is not a role.\\n\\nFor shared links, the current interface lets you manage:\\n\\n* **Expiration Date**\\n* **Password Protection**\\n* **Allow editing**\\n\\nA link can also have its own state:\\n\\n* **active**\\n* **revoked**\\n* **expired**\\n\\n\u003e [!TIP] When to use Share\\n\u003e If someone only needs to view one meeting, **Share** is usually enough. If they need ongoing access to a group of meetings, add them to the **Project** with the right role.\\n\\n---\\n\\n## How To Avoid Confusion\\n\\nTo quickly understand the Laconote access model, use this rule:\\n\\n* **Team** - who belongs to the shared space\\n* **Project** - what exactly a person can do in a specific project\\n* **Share** - how to share one specific meeting\\n\\nThat is why the same person can:\\n\\n* be a **Member** of your team\\n* see no projects until you invite them separately\\n* have different roles in different projects\\n\\n---\\n\\n## Related Articles\\n\\n* [Team Collaboration Features](./team-collaboration)\\n* [Organizing Meetings with Projects](./projects-guide)\\n* [How To Onboard A New Teammate In Laconote](./team-onboarding)\\n* [Privacy and Security in Laconote](./privacy-security)\",\"A short explanation of how team roles, project roles, invite states, and shared links work in Laconote.\",[232,194,155,133],15,\"2026-06-14T08:16:42.3Z\",\"2026-09-10T21:23:53.884Z\",\"2026-07-20T15:58:14.354Z\",\"roles\",\"6a2ebab3c3d4f10096785aa8\",\"Why Laconote Uses Team, Project, and Share\",\"team-project-share\",\"# Why Laconote Uses Team, Project, and Share\\n\\nIf you added someone to **Team** but they cannot see your projects, it is usually not a bug. In the current Laconote interface, **Team**, **Project**, and **Share** solve different problems.\\n\\nThink of this model as three separate access levels:\\n\\n* **Team** - the team's shared space\\n* **Project** - a work context for a group of meetings\\n* **Share** - a link to a specific meeting\\n\\n---\\n\\n## What Team Does\\n\\n**Team** brings people into a shared workspace. This is the level where you manage team membership, invites, and team resources.\\n\\nTeam is useful for:\\n\\n* adding a person to your shared space\\n* managing members in **Settings \u003e Team**\\n* using shared team billing\\n* working in one team environment\\n\\nBut Team does not mean automatic access to all team materials.\\n\\n\u003e [!NOTE] Important rule\\n\u003e A user can be a member of your team and still have no access to a specific project unless you invite them to that project separately.\\n\\n---\\n\\n## What Project Does\\n\\
127n**Project** is a separate work context that contains related meetings, members, and access permissions.\\n\\nAt the project level, you decide:\\n\\n* who can see these meetings\\n* who can edit them\\n* who can comment\\n* who can manage members and settings\\n\\nThat is why project access must be granted separately, even if the person is already in your **Team**.\\n\\n---\\n\\n## What Share Does\\n\\n**Share** is for cases where you do not want to add someone to a team or project, but you want to share one specific meeting.\\n\\nIn the current interface, shared links can be configured with:\\n\\n* expiration date\\n* password\\n* editing permission\\n\\nThis is convenient for external consultants, clients, or one-time review of meeting materials.\\n\\n---\\n\\n## When To Use Each Option\\n\\n### Use Team if:\\n\\n* the person works with you in the same workspace regularly\\n* they need access to the team environment\\n* you want to add them to your team as an ongoing member\\n\\n### Use Project if:\\n\\n* the person needs access to a specific group of meetings\\n* you want to manage their permissions within one project\\n* the same person has different access levels in different contexts\\n\\n### Use Share if:\\n\\n* you only need to share one meeting\\n* the person does not need ongoing project access\\n* you do not want to add them to the team\\n\\n---\\n\\n## Common Scenarios\\n\\n### New employee\\n\\nAdd the person to **Team** if they will work with you regularly. Then separately add them only to the **Projects** they actually need.\\n\\n### Client or partner\\n\\nIf the person needs access to a series of related meetings, add them to the **Project** with the right role. If they only need to see one call summary, use **Share**.\\n\\n### Internal colleague from another area\\n\\nIf a colleague only occasionally needs to review materials and does not work in your space permanently, **Project** or **Share** is often enough instead of full Team access.\\n\\n---\\n\\n## Why The Model Works This Way\\n\\nThis model prevents all team projects from being opened to every team member automatically.\\n\\nIt is especially useful when you have:\\n\\n* client projects with different confidentiality levels\\n* internal projects available only to part of the team\\n* external participants who need very limited access\\n\\nAs a result, **Team** controls membership in the shared space, while **Project** controls specific work access.\\n\\n---\\n\\n## Short Rule\\n\\nTo avoid confusion, remember this simple model:\\n\\n* **Team** - who is in the same space with you\\n* **Project** - what exactly this person can access\\n* **Share** - how to share one specific meeting\\n\\n---\\n\\n## Related Articles\\n\\n* [Roles and Access Permissions in Laconote](./roles-permissions)\\n* [Team Collaboration Features](./team-collaboration)\\n* [Organizing Meetings with Projects](./projects-guide)\\n* [How To Onboard A New Teammate In Laconote](./team-onboarding)\",\"Why adding someone to Team does not open every project, and when to use Team, Project, or Share.\",[155,95,156,194],21,\"2026-06-14T14:29:07.162Z\",\"2026-09-12T14:36:12.938Z\",\"2026-07-20T15:58:15.419Z\",\"6a2ebc16c3d4f10096785ab0\",\"How Decisions Work in Laconote\",\"decisions-guide\",\"# How Decisions Work in Laconote\\n\\n**Decisions** are the agreements and choices that Laconote identifies in your meeting materials. They help you quickly understand what the team agreed on without replaying the full recording or reading a long Transcript.\\n\\nDecisions are closely connected to Summary and Tasks, but they serve a different purpose: a decision explains what was agreed, while a task describes what needs to happen next.\\n\\n---\\n\\n## What Decisions Are\\n\\nIn the current Laconote interface, decisions can appear:\\n\\n* inside the **Summary** for a specific meeting\\n* in the **Decisions** tab on the Dashboard\\n* in **AI Chat** answers when you ask about agreements or final decisions\\n\\nExamples of decisions:\\n\\n* \\\"We are launching the beta test next week.\\\"\\n* \\\"We are keeping the current pricing model until the end of the quarter.\\\"\\n* \\\"We are moving the integration launch until after the mobile release.\\\"\\n\\nThese phrases do not always include a specific assignee, but they are important for understanding the direction of the work.\\n\\n---\\n\\n## Decisions vs Tasks\\n\\n| Type | What it means | Example |\\n| :--- | :--- | :--- |\\n| **Decision** | The team agreed on something or chose a direction | \\\"We are moving to the new onboarding flow.\\\" |\\n| **Task** | Someone needs to complete a specific action | \\\"Olena will prepare the new onboarding checklist by Friday.\\\" |\\n\\nOne decision can create several tasks. For example, if the team decides to change the pricing page, follow-up tasks may appear for design, copy, development, and analytics.\\n\\n---\\n\\n## How Laconote Finds Decisions\\n\\nAI analyzes the Transcript and Summary and looks for wording that sounds like an explicit agreement:\\n\\n* \\\"We decided...\\\"\\n* \\\"We agree...\\\"\\n* \\\"We are keeping this option...\\\"\\n* \\\"Final agreement...\\\"\\n* \\\"We choose the second scenario...\\\"\\n\\nThe more clearly people state a decision during the conversation, the easier it is for Laconote to identify it correctly.\\n\\n\u003e [!TIP] During the meeting\\n\u003e If a decision matters, say it out loud as a separate sentence: \\\"Decision: we launch the test on Wednesday.\\\" This helps both the team and the AI analysis.\\n\\n---\\n\\n## Where To Review Decisions\\n\\n### In a specific meeting\\n\\n1. Open the meeting.\\n2. Go to **Summary**.\\n3. Review the decision blocks inside the key topics.\\n\\n### On the Dashboard\\n\\n1. Open **Dashboard**.\\n2. Go to the **Decisions** tab.\\n3. Review decisions across a broader set of meetings.\\n\\nThis view is useful when you need to reconstruct the history of agreements for a project or check why the team chose a certain direction.\\n\\n---\\n\\n## How To Review Decisions After A Meeting\\n\\nAfter an important conversation, do not rely blindly on automatic detection. Quickly check:\\n\\n* whether the decision was actually made, not only discussed as an option\\n* whether an important condition or clarification is missing\\n* whether names, dates, client names, or project names are correct\\n* whether the decision should create separate Tasks\\n\\nIf Summary or Decisions are inaccurate, check the Transcript first. If the issue comes from recognized text, it is better to fix it there and then update the Summary with **Regenerate Summary**.\\n\\n---\\n\\n## Using Decisions With AI Chat\\n\\nAI Chat is useful when you need to find decisions by topic, date, or project.\\n\\nExample questions:\\n\\n* \\\"What decisions did we make about the mobile launch?\\\"\\n* \\\"What did we decide in the last client meeting?\\\"\\n* \\\"Show all pricing decisions from the last month.\\\"\\n* \\\"Which decisions led to onboarding tasks?\\\"\\n\\nWhen asking across multiple meetings, add context: the project name, date, client, or topic.\\n\\n---\\n\\n## Related Articles\\n\\n* [Understanding AI Summaries](./ai-summaries)\\n* [How to Use Tasks Effectively](./using-action-items)\\n* [How to Use AI Chat to Search Through Meetings](./rag-chat-guide)\\n* [What To Do After A Meeting in Laconote](./post-meeting-workflow)\",\"Decisions help you quickly find what was agreed after meetings and separate decisions from follow-up tasks.\",[84,80,68,69],\"2026-06-14T14:35:02.416Z\",\"2026-09-07T09:17:07.537Z\",\"2026-07-20T15:58:11.755Z\",\"6a2ebdaac3d4f10096785ab7\",\"How To Record Calls With The macOS Desktop App\",\"macos-desktop-app-recording\",\"# How To Record Calls With The macOS Desktop App\\n\\nThe `macOS Desktop App` is useful when your call happens outside a browser tab, for example in native Zoom, Slack, Microsoft Teams, or another desktop client. In these scenarios, browser-based Record or the Browser Extension may not capture all audio, so recording your microphone together with system audio becomes important.\\n\\nThis article helps you prepare the app, check macOS permissions, and reduce the risk of an incomplete recording.\\n\\n---\\n\\n## When To Choose The macOS Desktop App\\n\\nUse the macOS Desktop App if:\\n\\n* the call is happening in native Zoom, Slack, or Teams\\n* you need to record both your microphone and other participants\\n* the meeting is not open in a browser tab\\n* you want more stable system audio capture than the browser can provide\\n\\nIf the meeting is in Google Meet or Teams in a browser, **Browser Extension** or **Record** is often enough. If you already have a recording file, use **Upload**.\\n\\n---\\n\\n## Before Your First Recording\\n\\nBefore an important meeting, it is best to run a short 1-2 minute test.\\n\\n1. Download and install the macOS Desktop App from Laconote.\\n2. Sign in to your Laconote account.\\n3. Grant system permissions for the microphone.\\n4. Grant permission for system audio capture if macOS asks for it.\\n5. Start a short test call or audio playback.\\n6. Make a test recording and check whether both your voice and system audio are captured.\\n\\n\u003e [!NOTE] macOS permissions\\n\u003e If the app cannot see your microphone or does not record other participants after installation, check **System Settings \u003e Privacy \u0026 Security**. After changing permissions, you may
127need to restart the app or the call.\\n\\n---\\n\\n## How To Record A Call\\n\\n1. Open the macOS Desktop App and make sure you are signed in.\\n2. Start the call in Zoom, Slack, Teams, or another app.\\n3. Check that the correct microphone is selected in the system.\\n4. Start recording in Laconote.\\n5. Do not close the desktop app before the call ends.\\n6. Stop the recording after the call and wait for processing.\\n\\nAfter processing, the meeting should appear in Laconote with Transcript, Summary, Tasks, Decisions, and other available materials.\\n\\n---\\n\\n## How To Add Screenshots To A Meeting\\n\\nThe macOS Desktop App can detect system screenshots taken during an active recording and add the recognized text to the meeting context. This is useful when participants discuss a slide, table, diagram, design, or another visual that cannot be reconstructed from audio alone.\\n\\nBefore recording:\\n\\n1. Open **Settings** in the macOS Desktop App.\\n2. Find **Meeting Screenshots**.\\n3. Enable **Attach screenshots to meetings**.\\n4. Check which folder the app monitors for new screenshots.\\n\\nDuring an active recording, use the standard macOS shortcuts:\\n\\n| Shortcut | Captures |\\n| :--- | :--- |\\n| `ââ§4` | A selected area |\\n| `ââ§3` | The entire screen |\\n| `ââ§4`, then `Space` | A selected window |\\n\\nOnly screenshots created during the recording and saved in the monitored folder are detected. A screenshot copied only to the clipboard is not detected because no file is created.\\n\\n\u003e [!NOTE] What happens to the file\\n\u003e The screenshot remains on your Mac. Laconote only reads it and never moves or deletes the local file. Only text recognized from the image is stored on the server, not the image itself.\\n\\n\u003e [!IMPORTANT] Local transcription\\n\u003e Meeting screenshots are unavailable when on-device local transcription is enabled. That mode does not create a meeting on the server, so screenshot context cannot be attached.\\n\\n---\\n\\n## What To Check During Recording\\n\\nDuring an important call, keep an eye on three things:\\n\\n| What to check | Why it matters |\\n| :--- | :--- |\\n| **Microphone** | If the wrong device is selected, your voice may not be recorded. |\\n| **System audio** | Without it, the Transcript may include only your side of the conversation. |\\n| **Power and stability** | macOS may limit background processes in power-saving mode. |\\n\\nIf possible, connect your laptop to power and do not force-quit Laconote or the call app.\\n\\n---\\n\\n## Common Issues\\n\\n### The recording only includes my voice\\n\\nSystem audio capture is most likely not working. Check macOS permissions, restart Laconote Desktop, and run a short test.\\n\\n### The recording includes others but not me\\n\\nCheck which microphone is selected in the system, in the call app, and in Laconote. If you use a headset, disconnect and reconnect it.\\n\\n### The Transcript is inaccurate\\n\\nThe cause may be poor audio quality, background noise, or people talking over each other. For important meetings, use a headset, speak clearly, and keep the microphone close enough.\\n\\n### The meeting is processing longer than expected\\n\\nLong recordings need more time for transcription and AI analysis. Open the meeting card later and check the processing status.\\n\\n---\\n\\n## When To Choose Another Method\\n\\nThe macOS Desktop App is not always the shortest path.\\n\\n* For Google Meet in a browser, **Browser Extension** is often more convenient.\\n* For a quick microphone-only recording, **Record** may be enough.\\n* For an existing audio or video file, use **Upload**.\\n* For a link from a supported platform, open **Upload \u003e From URL**.\\n\\nThe right recording method depends on where the call happens and which audio sources you need to capture.\\n\\n---\\n\\n## Related Articles\\n\\n* [Getting Started with Laconote](./getting-started)\\n* [Best Practices for Meeting Recordings](./recording-best-practices)\\n* [Troubleshooting Recording Issues](./troubleshooting-recording)\\n* [Understanding AI Summaries](./ai-summaries)\",\"When to use the macOS Desktop App, how to prepare macOS permissions, and what to check before recording Zoom, Slack, or Teams calls.\",[262,112,118,263],22,\"2026-06-14T14:41:46.846Z\",\"2026-09-30T04:52:51.43Z\",\"2026-07-26T10:20:57.187Z\",\"macos\",\"desktop-app\",\"6a5e459302182d51f0c821ef\",\"How To Record Meetings With The Browser Extension\",\"browser-extension-recording\",\"# How To Record Meetings With The Browser Extension\\n\\nThe **Browser Extension** is designed for meetings that happen inside a Chromium-based browser, such as Google Chrome or Microsoft Edge. It is especially useful for Google Meet and Microsoft Teams calls that run in a browser tab.\\n\\nUse the extension when you want a fast recording flow, live summary updates during supported meetings, or in-meeting screenshots attached as materials.\\n\\n---\\n\\n## When To Use The Extension\\n\\nChoose the Browser Extension if:\\n\\n* the meeting is open in a supported browser tab\\n* you want Laconote close to the meeting UI\\n* you need to capture screenshots of slides, shared screens, charts, or product demos\\n* you want live summary updates while the call is still running\\n\\nIf the call happens in a native desktop app such as Zoom, Slack, or native Teams, use the macOS or Windows Desktop App instead. If you already have a recording file, use **Upload**.\\n\\n---\\n\\n## Before Recording\\n\\n1. Install the extension from the Chrome Web Store.\\n2. Sign in to the correct Laconote workspace.\\n3. Open the meeting in a supported browser tab.\\n4. Grant microphone permission when the browser asks.\\n5. Choose the transcription language and meeting type if the flow asks for them.\\n\\n\u003e [!TIP] Check the workspace\\n\u003e If your company uses a self-hosted workspace, confirm that the extension is connected to the correct **Workspace URL** before starting a call.\\n\\n---\\n\\n## How To Record\\n\\n1. Open the meeting in the browser.\\n2. Click the Laconote extension icon.\\n3. Start recording.\\n4. Keep the meeting tab open while recording is active.\\n5. Use live summary updates as working notes if they appear.\\n6. Capture in-meeting screenshots when important visuals are discussed.\\n7. Stop recording when the meeting ends and wait for processing.\\n\\nAfter processing, the meeting should appear in Laconote with Transcript, Summary, Tasks, Decisions, and any screenshot materials that were captured.\\n\\n---\\n\\n## In-meeting Screenshots\\n\\nScreenshots are helpful when the conversation depends on a visual reference:\\n\\n* a slide with project status\\n* a chart or metric\\n* a product screen\\n* a de
127sign or technical diagram\\n* a shared screen that explains the decision\\n\\nCapture only relevant visuals. Too many unrelated screenshots can make the final AI context noisier.\\n\\n---\\n\\n## Troubleshooting\\n\\n### The extension does not detect the meeting\\n\\nRefresh the meeting tab, confirm the extension is installed and enabled, and make sure the call is running in a supported browser.\\n\\n### Live summary does not appear\\n\\nLive summary updates are available only in supported flows. Keep the meeting tab open and wait for the final Summary after processing.\\n\\n### Screenshots are missing\\n\\nMake sure recording was already running when you captured the screenshot, then wait for the material upload to finish.\\n\\n---\\n\\n## Related Articles\\n\\n* [Best Practices for Meeting Recordings](./recording-best-practices)\\n* [Troubleshooting Recording Issues](./troubleshooting-recording)\\n* [Using Laconote With A Self-hosted Workspace](./self-hosted-workspace)\",\"When to use the Browser Extension, how to record browser meetings, and how live summaries and screenshots work.\",[272,112,273,274],\"2026-07-20T15:58:11.485Z\",\"2026-09-23T14:39:12.267Z\",\"extension\",\"screenshots\",\"live-summary\",\"6a5e459402182d51f0c821f0\",\"How Meeting Type Templates Improve AI Results\",\"meeting-type-templates\",\"# How Meeting Type Templates Improve AI Results\\n\\nLaconote uses the meeting type to understand what kind of conversation it is analyzing. A stand-up, interview, sales call, planning session, and technical discussion all need different summary structure and different task extraction.\\n\\nChoosing the right meeting type helps AI produce more useful **Summary**, **Tasks**, **Decisions**, and topic breakdowns.\\n\\n---\\n\\n## When To Choose The Meeting Type\\n\\nChoose the meeting type before:\\n\\n* starting a recording\\n* uploading an audio or video file\\n* creating a text meeting\\n* importing notes or a transcript\\n\\nIf you choose it early, Laconote can use the right template while processing the meeting instead of trying to infer the format afterwards.\\n\\n---\\n\\n## Common Meeting Types\\n\\n| Meeting type | What it helps with |\\n| :--- | :--- |\\n| **Stand-up** | Status, blockers, owners, and next steps. |\\n| **Sales call** | Customer needs, objections, next follow-up, and buying signals. |\\n| **Interview** | Candidate or research insights, questions, and evaluation points. |\\n| **Planning** | Scope, decisions, owners, deadlines, and risks. |\\n| **Technical discussion** | Architecture choices, trade-offs, bugs, and implementation tasks. |\\n\\nUse the closest available type. The goal is not perfect labeling; the goal is to give AI the right shape for the output.\\n\\n---\\n\\n## What Changes In The Output\\n\\nThe meeting type can affect:\\n\\n* how topics are grouped\\n* which decisions are highlighted\\n* how tasks are phrased\\n* which details are treated as important context\\n* how useful the final summary is for sharing\\n\\nFor example, in a sales call, a customer objection may be important. In a stand-up, the same sentence may be less important than blockers and ownership.\\n\\n---\\n\\n## If The Meeting Type Was Wrong\\n\\nIf the wrong type was selected:\\n\\n1. Open the meeting details.\\n2. Update the meeting metadata if the interface allows it.\\n3. Add a clarification if important context is missing.\\n4. Use **Regenerate Summary** when the summary should be rebuilt from the updated context.\\n\\n\u003e [!IMPORTANT] Review regenerated output\\n\u003e Regeneration can change Summary, Tasks, and Decisions. Check the result before sharing the meeting or using it as the source of truth.\\n\\n---\\n\\n## Related Articles\\n\\n* [Understanding AI Summaries](./ai-summaries)\\n* [Best Practices for Meeting Recordings](./recording-best-practices)\\n* [Getting Started with Laconote](./getting-started)\",\"How choosing the right meeting type helps Laconote generate better summaries, tasks, and decisions.\",[284,285,80,107],17,\"2026-07-20T15:58:12.585Z\",\"2026-09-08T15:13:58.613Z\",\"meeting-types\",\"templates\",\"6a5e459602182d51f0c821f1\",\"Using Laconote With A Self-hosted Workspace\",\"self-hosted-workspace\",\"# Using Laconote With A Self-hosted Workspace\\n\\nSome organizations run Laconote on their own infrastru
127cture instead of using the default cloud workspace. In that setup, supported Laconote apps need a **Workspace URL** so they know which private backend to use for sign-in, recording, upload, projects, and AI features.\\n\\nUse this article when your admin gave you a company-specific Laconote URL or when the app asks you to choose between the cloud workspace and a private workspace.\\n\\n---\\n\\n## What Workspace URL Means\\n\\nThe **Workspace URL** is the address of your organization's Laconote backend. It tells the app where to send requests and where your meeting data should be processed.\\n\\nIn a self-hosted setup, the Workspace URL can affect:\\n\\n* web sign-in\\n* desktop app connection\\n* browser extension connection\\n* mobile app connection\\n* uploads, projects, AI summaries, AI Chat, and integrations\\n\\nAlways use the Workspace URL provided by your workspace admin.\\n\\n---\\n\\n## How To Connect\\n\\n1. Open the Laconote app or sign-in screen.\\n2. Look for the **Workspace URL** or workspace field.\\n3. Enter the URL provided by your admin.\\n4. Continue sign-in with the account for that workspace.\\n5. Confirm that the Dashboard, projects, and settings match the expected organization.\\n\\nIf you use several Laconote apps, repeat the same check in each app. The web app, desktop app, extension, and mobile app may each need to know the correct workspace.\\n\\n---\\n\\n## Cloud Workspace Vs Self-hosted Workspace\\n\\n| Workspace type | When to use it |\\n| :--- | :--- |\\n| **Cloud workspace** | Your team uses the standard Laconote cloud service. |\\n| **Self-hosted workspace** | Your organization operates a private Laconote backend and gave you a Workspace URL. |\\n\\nIf you sign in to the wrong workspace, you may not see your meetings, projects, plan limits, integrations, or team members.\\n\\n---\\n\\n## Security Checklist\\n\\nBefore entering a Workspace URL:\\n\\n* verify the domain with your admin\\n* do not paste URLs from untrusted messages\\n* avoid sharing screenshots that expose private workspace domains or tokens\\n* sign out if you accidentally connected to the wrong workspace\\n* report suspicious URLs to your workspace admin\\n\\n---\\n\\n## Troubleshooting\\n\\n### I signed in but my meetings are missing\\n\\nYou are probably in the wrong workspace. Sign out, enter the correct Workspace URL, and sign in again.\\n\\n### The desktop app or extension records to the wrong account\\n\\nOpen the app settings, check the connected workspace, and reconnect with the Workspace URL from your admin.\\n\\n### Google Sign-In is unavailable\\n\\nSome self-hosted workspaces may use workspace-specific login methods. Use the sign-in method your admin configured for that workspace.\\n\\n---\\n\\n## Related Articles\\n\\n* [Getting Started with Laconote](./getting-started)\\n* [Privacy and Security in Laconote](./privacy-security)\\n* [How To Record Calls With The macOS Desktop App](./macos-desktop-app-recording)\",\"How Workspace URL connects Laconote apps to a private self-hosted backend instead of the cloud workspace.\",[294,295,296,193],\"2026-07-20T15:58:14.621Z\",\"2026-09-06T15:12:03.12Z\",\"self-hosted\",\"workspace\",\"workspace-url\",\"6a5e459702182d51f0c821f2\",\"How Team Pulse Works in Laconote\",\"team-pulse\",\"# How Team Pulse Works in Laconote\\n\\n**Team Pulse** helps teams understand patterns across project meetings. Instead of reading every transcript manually, you can review signals such as mood, engagement, and talk balance to see how a team or project is changing over time.\\n\\nUse Team Pulse as a conversation starter for retrospectives, project reviews, and manager check-ins. It is most useful when you compare trends across several meetings, not when you judge one isolated call.\\n\\n---\\n\\n## What Team Pulse Can Show\\n\\nDepending on the available meeting data, Team Pulse can help you review:\\n\\n* **Mood:** whether the tone of recent meetings looks positive, neutral, tense, or uncertain.\\n* **Engagement:** whether participants appear actively involved in the discussion.\\n* **Talk balance:** whether conversation time is spread across participants or dominated by a few voices.\\n* **Trend changes:** how signals shift across meetings in the same project.\\n\\nThese signals are generated from meeting content that Laconote can process, such as transcript, summary, decisions, tasks, notes, and attached materials.\\n\\n---\\n\\n## When To Use Team Pulse\\n\\nTeam Pulse is useful when you want to:\\n\\n* prepare for a team retrospective\\n* understand whether a project is becoming blocked or tense\\n* review how meeting dynamics changed after a process change\\n* notice whether a few people are carrying most of the discussion\\n* compare recent project meetings with earlier ones\\n\\nIt works best for projects with repeated meetings, such as weekly syncs, sprint rituals, client check-ins, or long-running product initiatives.\\n\\n---\\n\\n## How To Read The Results\\n\\
127nRead Team Pulse as a directional signal:\\n\\n* look for repeated patterns across several meetings\\n* compare changes with known project events\\n* open the relevant meetings when you need context\\n* combine the signal with direct team feedback\\n\\n\u003e [!IMPORTANT] Do not overread one meeting\\n\u003e A single tense meeting may reflect a deadline, incident, or difficult client conversation. Treat Team Pulse as a prompt for better discussion, not as a performance score for a person.\\n\\n---\\n\\n## Permissions And Privacy\\n\\nTeam Pulse follows project and workspace permissions. A person should only see analytics for meetings and projects they are allowed to access.\\n\\nBefore sharing Team Pulse findings:\\n\\n* check who has access to the project\\n* avoid exposing sensitive client or people-related context unnecessarily\\n* use Share for one-off meeting access, not broad analytics access\\n* review old project members when a project is completed\\n\\n---\\n\\n## Related Articles\\n\\n* [Team Collaboration Features](./team-collaboration)\\n* [Organizing Meetings with Projects](./projects-guide)\\n* [Privacy and Security in Laconote](./privacy-security)\",\"How to use Team Pulse to review mood, engagement, and talk balance trends across project meetings.\",[299,305,95,98],\"2026-07-20T15:58:15.683Z\",\"2026-09-28T17:24:10.67Z\",\"analytics\",\"6a5e459802182d51f0c821f3\",\"How To Record Calls With The Windows Desktop App\",\"windows-desktop-recording\",\"# How To Record Calls With The Windows Desktop App\\n\\nUse the **Windows Desktop App** when your meeting happens outside a browser tab, for example in native Zoom, Slack, Microsoft Teams, Discord, or another desktop calling app. In these cases, the browser recorder or Browser Extension may not capture all audio sources.\\n\\nThe desktop app is designed to capture your microphone together with system audio so Laconote can create a complete transcript and AI summary.\\n\\n---\\n\\n## When To Choose The Windows Desktop App\\n\\nUse the Windows Desktop App if:\\n\\n* the call happens in a native Windows app\\n* you need both your microphone and other participants' audio\\n* the meeting is not open in a browser tab\\n* you want a more stable desktop capture flow than browser recording\\n\\nIf the meeting is in Google Meet or Teams in a browser, **Browser Extension** or **Record** may be enough. If you already have a recording file, use **Upload**.\\n\\n---\\n\\n## Before Your First Recording\\n\\nBefore an important call, run a short 1-2 minute test.\\n\\n1. Download and install the Windows Desktop App from Laconote.\\n2. Sign in to the correct Laconote workspace.\\n3. Allow microphone access in Windows if prompted.\\n4. Check that the correct microphone and output device are selected.\\n5. Start a short test call or audio playback.\\n6. Make a test recording and confirm that both your voice and system audio are captured.\\n\\n\u003e [!NOTE] Windows permissions\\n\u003e If the app cannot access the microphone, check **Settings \u003e Privacy \u0026 security \u003e Microphone** and allow microphone access for desktop apps. After changing permissions, restart Laconote Desktop and the calling app.\\n\\n---\\n\\n## How To Record A Call\\n\\n1. Open the Windows Desktop App and make sure you are signed in.\\n2. Start the call in Zoom, Slack, Teams, Discord, or another desktop app.\\n3. Check the selected microphone and speaker/headphone output.\\n4. Start recording in Laconote.\\n5. Keep the desktop app running until the call ends.\\n6. Stop the recording and wait for processing.\\n\\nAfter processing, the meeting should appear in Laconote with Transcript, Summary, Tasks, Decisions, and other available materials.\\n\\n---\\n\\n## What To Check During Recording\\n\\n| What to check | Why it matters |\\n| :--- | :--- |\\n| **Microphone** | If the wrong microphone is selected, your voice may be missing. |\\n| **System audio** | If output capture is unavailable, the transcript may include only your side of the call. |\\n| **Output device** | Switching headphones or speakers during recording can interrupt capture. |\\n| **Power and stability** | Sleep mode or heavy apps can interrupt long recordings. |\\n\\nKeep the computer awake, avoid changing audio devices mid-call, and do not force-quit Laconote before processing starts.\\n\\n---\\n\\n## Common Issues\\n\\n### The recording only includes my voice\\n\\nSystem audio is probably not being captured. Check the selected output device, restart the Windows Desktop App, and make a short test recording.\\n\\n### The recording includes others but not me\\n\\nCheck the microphone selected in Windows, in the calling app, and in Laconote. If you use a headset, reconnect it before starting the next recording.\\n\\n### The meeting does not appear after recording\\n\\nKeep Laconote open until upload and processing begin. If the network drops, reopen the app and check whether the meeting is still processing.\\n\\n---\\n\\n## Related Articles\\n\\n* [Getting Started with Laconote](./getting-started)\\n* [Best Practices for Meeting Recordings](./recording-best-practices)\\n* [Troubleshooting Recording Issues](./troubleshooting-recording)\",\"When to use the Windows Desktop App, how to prepare permissions, and what to check before recording desktop calls.\",[315,112,118,263],20,\"2026-07-20T15:58:16.496Z\",\"2026-09-21T15:34:46.762Z\",\"windows\"]\n");</script>
127<!--$-->
127<script>window.__reactRouterContext.streamController.close();</script>
127<!--/$--><!--/$-->
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.