# MemorDesk - Full Documentation > MemorDesk is an AI meeting assistant that auto-records, transcribes, and summarizes > Zoom, Google Meet, and Microsoft Teams meetings. Its built-in AI assistant, Kojo, > answers questions about meetings, action items, and decisions. This file contains the complete MemorDesk documentation in raw Markdown. MemorDesk has two front-ends sharing one account: - Desktop app at /dashboard (left sidebar navigation). - Mobile app at /m (bottom navigation bar: Home, Meetings, Kojo, Memory, Tasks). Navigation steps below give BOTH locations. Pick the one matching the user's device. Individual articles are also available at /docs/.md. ## Contents ### Getting Started - Getting Started with MemorDesk (/docs/getting-started.md): Create an account, connect a meeting, and let Kojo record and summarize it. - The Mobile App (/docs/mobile-app.md): How the /m mobile app is laid out: bottom nav, top bar, and bottom sheets. ### Meetings - Recording and Scheduling Meetings (/docs/recording-meetings.md): Send the AI note taker to a live call or schedule it for a future meeting. - Viewing, Exporting, and Sharing Meetings (/docs/viewing-meetings.md): Open a meeting, read the transcript, and export or share the summary. ### Intelligence - Using Kojo, the AI Assistant (/docs/kojo-assistant.md): Ask Kojo about your meetings, navigate the app, and tune how it responds. - Action Items and Decisions (/docs/action-items-decisions.md): Track tasks and decisions extracted automatically from your meetings. - Knowledge and Search (/docs/memory-and-search.md): The Knowledge page, what Kojo can draw on, and searching across everything. ### Account - Plans and Credits (/docs/plans-and-credits.md): How credits work and what each plan includes. - Settings Reference (/docs/settings.md): Where to find every setting on desktop and mobile. - Integrations (/docs/integrations.md): Connect Google Calendar and Slack, choose who can see a calendar's meetings, and disconnect a calendar. - Workspaces and Teams (/docs/workspaces-and-teams.md): Personal vs team workspaces, inviting members, stakeholder seats, groups (departments), and who can see which meetings. ### Support - Getting Help and Support (/docs/getting-help.md): Live chat (no account needed), support tickets, feature requests, and how to reach the security team. ### Architecture - GraphRAG Memory Engine (/docs/graphrag-memory-engine.md): How MemorDesk builds a temporal knowledge graph from your meetings using vector embeddings, entity extraction, and bi-temporal relationship tracking. - Security Architecture (/docs/security-architecture.md): How MemorDesk protects accounts, credits and administrative access, for security-conscious teams evaluating the product. # Getting Started with MemorDesk MemorDesk auto-records, transcribes, and summarizes your meetings, then lets you ask **Kojo** (the built-in AI assistant) anything about them. There are two ways to use MemorDesk: - **Desktop app** at `/dashboard` - a full workspace with a left sidebar. - **Mobile app** at `/m` - a streamlined app with a bottom navigation bar. You sign in once; the app detects your device and routes you to the right experience. ## 1. Create your account 1. Go to [memordesk.com](https://memordesk.com) and choose **Sign Up**. 2. Continue with Google, or use email and password. 3. You start on the **Free** plan with a personal workspace. ## 2. Record your first meeting You do not install anything in the meeting. MemorDesk sends an AI note taker that joins the call. **Desktop:** Sidebar > **Meetings** > **Send Note Taker** card > paste the Zoom, Google Meet, or Microsoft Teams link > **Send Note Taker**. **Mobile:** Bottom nav > **Home** > **Quick** button > paste the meeting link > **Send Assistant**. The note taker joins, records, and generates a summary, action items, and decisions when the meeting ends. ## 3. Review the results Open the meeting from **Meetings** (desktop sidebar) or the **Meetings** tab (mobile bottom nav). Each meeting page has the summary, full transcript, action items, and decisions. ## 4. Ask Kojo Open Kojo and ask in plain language, for example "What did we decide about the budget?" or "What are my action items this week?". - **Desktop:** Sidebar > **Chat Kojo**. - **Mobile:** Tap the orange **Kojo** button in the centre of the bottom navigation bar. Navigation and how-to questions are free, and so are greetings and thank-yous. Questions that analyze your meeting data use a small number of credits. There is no monthly query cap. ## Next steps - Connect your calendar so the note taker can auto-join: see [Integrations](/docs/integrations). - Learn the mobile app: see [The Mobile App](/docs/mobile-app). - Understand credits and plans: see [Plans and Credits](/docs/plans-and-credits). --- # The Mobile App The MemorDesk mobile app lives at `/m` and is built for quick actions on the go. It is a different layout from the desktop app, so the navigation steps below replace the desktop "left sidebar" instructions. ## Bottom navigation bar The bottom bar is always visible and has five items: | Item | Opens | Path | |------|-------|------| | **Home** | Your day: next meeting, upcoming, recent meetings | `/m` | | **Meetings** | All recorded meetings | `/m/meetings` | | **Kojo** (centre orange button) | The Kojo AI chat | `/m/assistant` | | **Knowledge** | What Kojo knows: promoted knowledge and documents | `/m/memory` | | **Tasks** | Action items and decisions | `/m/tasks` | ## Top bar - The **profile avatar** is on the **left**. Tap it to open **Profile** (credits, plan, integrations, sessions, sign out). - The **workspace chip** next to the avatar switches between Personal and Team workspaces. - The **top-right pill** holds, left to right: **Search**, **Theme toggle**, **Notifications**, and **Settings** (gear). ## Actions use bottom sheets Most actions slide up from the bottom as a sheet rather than opening a new page: - **Send the note taker:** Home > **Quick** button. - **Schedule a meeting:** Home > **Schedule** button. - **Change a task's status:** Tasks > tap the task > pick a status in the sheet. - **Switch workspace:** tap the workspace chip in the top bar. - **Manage a member or a group:** Team > tap the member or group. ## Team Member, role and group management is native to mobile at `/m/teams`. Three ways in: **Settings** (gear) > **Team**, the **workspace chip** > **Manage team**, or the team card on **Home**. If you do not have a workspace yet, that screen is also where you create one. ## What opens the desktop view A few advanced screens do not have a dedicated mobile layout yet. In **Settings** (gear icon) they are marked **Desktop**, and tapping one loads the desktop page in your mobile browser: - Meeting Settings, Knowledge Base, Live Meetings, Developer Settings, and Workspace (organization name, compliance and meeting privacy defaults). Returning to any mobile screen puts you straight back in the mobile app. Everything else is fully native to the mobile app. --- # Recording and Scheduling Meetings MemorDesk records meetings by sending an AI note taker (Kojo) into the call. It works with **Zoom**, **Google Meet**, and **Microsoft Teams**. ## Record a meeting happening now **Desktop:** Sidebar > **Meetings** > **Send Note Taker** card > paste the meeting URL > optional title > **Send Note Taker**. **Mobile:** Bottom nav > **Home** > **Quick** button > paste the meeting URL > **Send Assistant**. The note taker joins within a few seconds, records, and produces a summary, action items, and decisions after the meeting ends. In a team workspace, choose whether the meeting goes to **Everyone in workspace** or **Specific groups**. You can save a personal destination in **Settings > Meeting Settings**. The saved destination is only used automatically when you turn on **Use my saved destination automatically**. It is off by default, so MemorDesk asks you to confirm the destination before sending. ## Schedule for a future meeting **Desktop:** Sidebar > **Meetings** > **Schedule a Meeting** card > enter the URL, title, date, time, and timezone > optional recurrence and attendees > **Schedule Meeting**. **Mobile:** Bottom nav > **Home** > **Schedule** button > enter the URL, title, date, and time > **Schedule**. For team workspace meetings, the same saved destination setting applies to manually scheduled meetings. ## Auto-join from your calendar Connect Google Calendar (see [Integrations](/docs/integrations)) and MemorDesk lists your upcoming meetings. Toggle the assistant on or off per meeting: - **Desktop:** the **Upcoming Meetings** section on the Meetings page. - **Mobile:** the **Upcoming Meetings** list on the Home tab; use the switch on each card. ## Meeting length limits | Plan | Max length per meeting | |------|------------------------| | Free | 40 minutes | | Lite | 120 minutes | | Pro, Team, Business | Unlimited | See [Plans and Credits](/docs/plans-and-credits) for details. --- # Viewing, Exporting, and Sharing Meetings ## Open a meeting **Desktop:** Sidebar > **Meetings** > click a meeting card. Filter with the **Today / This Week / This Month** buttons or the search bar. **Mobile:** Bottom nav > **Meetings** > tap a meeting (or open one from **Recent Meetings** on the Home tab). Use the search icon in the top-right to find a specific meeting. Each meeting page shows the **summary**, full **transcript**, **action items**, and **decisions**. ## Export a meeting **Desktop:** Open the meeting > **Export** button in the top-right action bar > **Export meeting** > choose **PDF**, **DOCX**, **TXT**, **Markdown**, or **JSON** > choose whether to include the transcript. **Mobile:** Open the meeting > **Export** action > **Export meeting** > pick a format in the sheet. The file is saved or shared through your phone's share sheet. ## Download the meeting recording The same **Export** menu also has a **Download media** option, letting you save the raw meeting recording as **Audio (MP3)** or **Video (MP4)** to your device. Downloading the recording file is available on the **Lite plan and above**. Free-plan users can still watch and listen to the recording in the app, they just can't save the file locally, an **Upgrade** prompt appears if they try. ## Share a meeting **Desktop:** Open the meeting > **Share** button > copy the public link (toggle whether it includes the transcript). **Mobile:** Open the meeting > **Share** action > copy the link or send it through the native share sheet. Anyone with the share link can view the summary without a MemorDesk account. ## Control who in your workspace can see a meeting Sharing a public link and workspace visibility are two different things. Visibility decides which of your own teammates can open the meeting at all. **Desktop:** Open the meeting > the visibility button in the top-right > choose **Everyone in workspace**, **Specific groups**, or **Only me and people I invite**. When restricted, pick the groups or invite specific teammates from the same panel. **Mobile:** Open the meeting > **more menu** (top-right) > **Who can see this** > pick the same options. The **Specific groups** option appears once your workspace has groups. See [Workspaces and Teams](/docs/workspaces-and-teams) for how to create them. Restricted meetings are hidden outright from everyone outside their audience, not shown as locked: no entry in their meetings list or search, no action items or decisions on their pages, and Kojo will not draw on the meeting when answering them. People who attended the meeting keep access. Workspace owners can enable **Compliance mode** (Settings > Workspace > Meeting privacy) to let owners and admins open restricted meetings; the meeting page says so when it is on. ## Rename or delete **Desktop:** On the meeting page, hover the title and click the pencil to rename; use the three-dot menu to delete. Deletion is permanent. --- # Using Kojo, the AI Assistant **Kojo** is MemorDesk's meeting intelligence assistant. It answers questions about your meetings, finds action items, explains features, and navigates the app. ## Open Kojo - **Desktop:** Sidebar > **Chat Kojo** (`/dashboard/assistant`). - **Mobile:** the orange **Kojo** button in the centre of the bottom navigation bar (`/m/assistant`). ## What you can ask - "What did we decide about the launch date?" - "What are my open action items this week?" - "Summarize my meetings from this week." - "How do I export a meeting?" (navigation and how-to answers are free) ## Focus Kojo on one meeting or time range **Desktop:** in the chat input, use **Select Source** to pick a time range (Today / This Week / This Month) or a specific meeting. ## Ask Kojo during a live meeting While a meeting is recording, its live page shows a real-time transcript alongside an **Ask Kojo** chat panel where you can ask about what's being said as it happens. **Who can open a live page.** You, anyone in your workspace the meeting is visible to, and, if you created a public share link for that meeting, anyone holding that link. People outside those groups get a "not found" page even if they have the meeting's URL. Guest questions are billed to your credits, so you can switch them off per meeting (**Allow guest questions**) or account-wide in **Settings > Live Meetings**. Once the meeting ends, that panel becomes read-only for everyone, including the meeting owner, and the live transcript stops being served. A **"Open in Chat Assistant"** button lets you continue the exact same conversation on the full Kojo assistant page, with no restrictions. ## Conversations Your past chats are saved. - **Desktop:** the conversation list is in the left panel. Use the three-dot menu on a conversation to rename, pin, or delete it; **+ New Chat** starts a fresh one. - **Mobile:** open the **history drawer** (history icon top-left, or swipe in from the left edge). Use the three-dot menu to rename or delete; the **+** icon top-right starts a new chat. ## Tune how Kojo responds Open AI settings and adjust Response Style (Concise / Balanced / Thorough), Cite Sources, Follow-up Suggestions, Custom Vocabulary, Names and Aliases, and Custom Instructions. - **Desktop:** Settings > **AI** (`/dashboard/settings/ai`). - **Mobile:** Settings (gear icon) > **AI Customization** (`/m/profile/ai-settings`). ## Credits Each data question costs 1 to 3 credits depending on complexity and your Response Style. Navigation, how-to questions, and greetings are free, and there is no monthly query cap. See [Plans and Credits](/docs/plans-and-credits). --- # Action Items and Decisions MemorDesk extracts **action items** (tasks) and **decisions** from every meeting automatically. ## Action items **Desktop:** Sidebar > **Action Items** (`/dashboard/action-items`). The left rail has six views: **Tasks** (everything, grouped by due date), **Mine** (assigned to you), **Kanban** (drag cards between Open, In Progress, Blocked and Completed), **By assignee**, **By meeting**, and **Decisions**. Status tabs (All / Open / In progress / Blocked / Done) filter whichever view you are in, and the search box matches task text, meeting title and person. Click a task to open its details and change its status there. **Mobile:** Bottom nav > **Tasks** (`/m/tasks`). The top tabs are **Tasks**, **Mine**, **By Meeting**, and **Decisions**. Use the status pills to filter and the search icon to find items. Tap a task to open its detail sheet and pick a new status (Open / In progress / Blocked / Done). Select multiple tasks with their checkboxes to bulk-update. You can send tasks to Slack from the task list once Slack is connected. ## Reassigning tasks Tasks are assigned from what was said in the meeting, so sometimes they land on the wrong person. **In a team workspace, reassigning is limited to owners and admins.** Deciding who on the team owns a piece of work is a workspace administration action, so members and viewers do not see the control: the assignee is shown as plain text instead. They can still change the status of anything assigned to them. In a personal workspace there is no such limit. Owners and admins have two routes: - **One task:** open it and click the assignee to pick someone else. The same dropdown is on every Kanban card. - **Several at once:** tick the tasks you want, then use **Reassign** on the bulk bar (bottom of the screen on desktop, above the bottom navigation on mobile) and choose one person. The new assignee gets an email and an in-app notification, and the tasks move into their **Mine** view. ## One person, one card The **By assignee** and **By meeting** views group tasks by person rather than by the exact wording a transcript used, so "Anderson Gray" in one meeting and "Anderson" in the next share a single card. Reordered names, initials, honorifics and missing surnames all resolve to the same person, using explicit assignments, workspace members and their emails, the identities learned from past meetings, and each meeting's attendee list. When two real people share a first name and nothing else separates them, they are kept apart on purpose rather than guessed at. An owner or admin reassigning a task to the right person fixes it permanently, because an explicit assignment always outranks the transcript wording. ## Action item visibility in team workspaces In a team workspace, who can see which action items depends on role: **owners and admins** see every action item across the workspace (the "By assignee" view groups them by person), while **regular members and viewers** only see action items assigned to them. Anyone assigned an item, even one created by someone else, can mark it done themselves, owners and admins get an in-app notification naming who made the change. ## Weekly pending action item reminders Every Monday, MemorDesk sends an email and an in-app notification about action items that are still open. On a Team, Business, or Enterprise workspace plan, the assigned person is reminded about their own pending items, items with no assignee are routed to the workspace owner instead. On a Free, Lite, or Pro personal plan, the meeting organizer is reminded to follow up with whoever owns each item. This is controlled by the **Action item reminders** toggles in **Settings > Notifications**, there is no separate setting for it. ## Decisions Decisions are logged from your meeting summaries with a status: **Open**, **Implemented**, **Reversed**, or **Blocked**. **Desktop:** Sidebar > **Decisions** (`/dashboard/decisions`). Filter by status. **Mobile:** Bottom nav > **Tasks** > the **Decisions** tab. Tap a decision's status pill to cycle it. --- # Knowledge and Search Your **Knowledge** is what Kojo can draw on: the knowledge built from all your meetings, plus documents. Under the hood, every meeting is processed into a knowledge graph -- see [GraphRAG Memory Engine](/docs/graphrag-memory-engine) for the full technical architecture. ## The Knowledge page - **Desktop:** Sidebar > **Knowledge** (`/dashboard/memory`). - **Mobile:** Bottom nav > **Knowledge** (`/m/memory`). It has three tabs on desktop: - **Knowledge**, entries promoted from meetings for the whole workspace to keep. - **Documents**, coming soon. - **Sources and controls**, which meetings feed the workspace's memory (and moving one between your personal space and the workspace), storage usage, and a summary of what Kojo can use. Mobile shows **Knowledge** and **Docs**. Meetings, action items, decisions and past Kojo chats each have their own page in the sidebar, so this page no longer duplicates them. ## What Kojo can draw on Kojo only ever answers from meetings and documents **you** have access to. A meeting scoped to a group you are not in, or restricted to specific people, never appears in your answers, your lists, or your search results. See [Workspaces and Teams](/docs/workspaces-and-teams) for how that is set. ## Documents Document uploads are **coming soon**. The Documents tab shows a notice until they ship. ## Global search Search across meetings, action items, decisions, and notes. - **Desktop:** the search bar in the centre of the top bar. - **Mobile:** the search icon in the top-right pill of the top bar. ## What is indexed Control what is searchable in **Settings > Knowledge** (desktop) or **Settings (gear) > Knowledge Base** (mobile): meeting transcripts, action items, decisions, and cross-meeting insights. ## Memory window by plan How far back Kojo can draw from when answering questions: | Plan | Knowledge window | |------|-----------------| | Free | 14 days | | Lite | 21 days | | Pro | Unlimited | | Team | Unlimited | | Business / Enterprise | Unlimited | Meetings outside your window remain stored but are excluded from Kojo's context and search results until you upgrade. ## How search works MemorDesk uses vector similarity search: each paragraph of each meeting is converted to a 2048 dimensional embedding. Search returns results ranked by semantic meaning, not keyword overlap. You can search for concepts ("budget concerns from last sprint") and get matches even when the exact words do not appear in the transcript. Embeddings are contextualized, meaning each paragraph is encoded with awareness of the paragraphs around it rather than in isolation. A line like "we agreed to push it back" keeps the sense of what "it" referred to earlier in the meeting, so it can still be found later. If the vector index is ever unavailable, search falls back to keyword matching over the same text rather than returning nothing, and Kojo says when grounding is limited. Each user's search index is partition-isolated -- queries can never cross into another user's data even under simultaneous load. --- # Plans and Credits ## Credits Credits are the currency for AI operations. **What uses credits:** - Asking Kojo about your meetings (1 to 3 credits, depending on complexity and Response Style) - Generating a voice recap (3 credits, once per meeting, charged only on success) - "Improve with AI" on custom instructions (1 credit) **What is free:** - Navigation and how-to questions - Replaying a voice recap - Viewing meetings, transcripts, summaries, action items, and decisions Monthly plan credits reset each billing cycle and do not roll over. Purchased top-up credits never expire and are used after plan credits. ## Check your balance and buy credits **Desktop:** click your **profile avatar** in the top-right > the balance shows in the dropdown > **Top Up** or **Upgrade Plan**. **Mobile:** tap your **profile avatar** in the top-left > **Profile** > the **Credits** card > **Buy More Credits** (paid plans) or **Upgrade to buy credits** (Free plan). ## Plans | Plan | Monthly credits | Highlights | |------|-----------------|------------| | **Free** | 180 | 3 meetings/month, core summaries, 60-min meetings, community support | | **Lite** | 300 | Elastic top-ups, 120-min meetings, standard support | | **Pro** | 480 | Voice recaps, 2 stakeholder seats, custom vocabulary, unlimited length | | **Team** | 1,500 shared pool | Team workspaces, departmental analytics, 5+ stakeholder seats | | **Business** | Unmetered | SSO (coming soon), audit logs, unlimited seats, dedicated support | SAML SSO for identity providers like Okta and Azure AD is planned for the Business plan but not yet available. On the **Team** plan, the 1,500 monthly credits are a single shared pool, not split per seat. Every member draws from the same pool when working in the team workspace, so one member's usage reduces the balance for everyone. Your personal credits stay separate: if you are on a personal plan and also part of a team, personal-space work uses your own credits while team workspace work uses the shared pool. Owners and admins (or members granted billing access) can top up the pool. Toggle **Yearly** on the [Pricing page](/pricing) to save 15 percent. Business is custom-priced; use **Contact Sales**. ## Your profile ring The coloured ring around your profile avatar reflects your current plan, and looks the same in the top-right avatar on desktop and the top-left avatar on mobile: | Plan | Ring | |------|------| | **Free** | Light gray (Tier 1, Basic) | | **Lite** | Cosmic amethyst with a dashed orbit (Tier 8, Platinum VIP) | | **Pro** | Obsidian to violet (Tier 9, Radiant Obsidian) | | **Team, Business, Enterprise** | Fire and cyan glow (Tier 10, Mythic Immortal) | The ring updates automatically when your plan changes; there is nothing to switch on. --- # Settings Reference ## Open settings - **Desktop:** Sidebar > **Settings**, or the profile avatar (top-right) > **Settings**. Tabs run down the left. - **Mobile:** the **gear icon** in the top-right pill. ## Settings map | Area | Desktop path | Mobile location | |------|--------------|-----------------| | **Profile** (name, avatar) | `/dashboard/settings/profile` | Profile > Edit Profile | | **AI** (Kojo behavior) | `/dashboard/settings/ai` | Settings > AI Customization | | **Notifications** | `/dashboard/settings/notifications` | Settings > Notifications | | **Meetings** (recording defaults) | `/dashboard/settings/meetings` | Settings > Meeting Settings | | **Live** (in-meeting assistant) | `/dashboard/settings/live` | Settings > Live Meetings | | **Knowledge** (indexing, retention) | `/dashboard/settings/knowledge` | Settings > Knowledge Base | | **Developer** (API keys and webhooks, coming soon) | `/dashboard/settings/developer` | Settings > Developer Settings | | **Team** (members, roles, groups) | `/dashboard/teams` | Settings > Team (`/m/teams`) | | **Workspace** (org name, compliance, privacy defaults) | `/dashboard/settings/workspace` | Settings > Workspace | | **Security** (2FA, sign-in methods) | `/dashboard/settings/security` | Settings > Account | | **Voice** (recap voice) | `/dashboard/settings/voice` | opens the desktop view | On mobile, a few advanced areas (Meeting, Knowledge, Live, Developer, Workspace, Voice) open the desktop page in your browser and are labelled **Desktop** in the settings list; the rest, including **Team**, are native mobile screens. ## AI settings highlights - **Summary Style:** length (Brief / Medium / Detailed), tone (Casual / Professional / Formal), timestamps, speaker names. - **Response Behavior:** Response Style (Concise / Balanced / Thorough), Cite Sources, Follow-up Suggestions. - **Custom Vocabulary** (Pro): teach the transcriber your terms; append `:N` (1 to 10) to boost a term, for example `TensorFlow:3`. - **Names and Aliases:** so Kojo recognises you in transcripts. - **Custom Instructions:** permanent directions Kojo always follows. --- # Integrations ## Connect apps **Desktop:** Sidebar > **Integrations** (`/dashboard/integrations`), or Settings > Integrations. **Mobile:** profile avatar (top-left) > **Profile** > **Integrations** (`/m/profile/integrations`). Available connections include **Google Calendar** (auto-join upcoming meetings) and **Slack** (send action items and summaries to channels or people). ## Slack Connect from the Integrations page, then click **Configure** on the Slack card to pick which channels receive meeting content. Each channel can take summaries, decisions, and action items independently. **Which channels a meeting posts to.** A finished meeting goes to the channels **its recorder** configured, plus any channel bound to the folder the meeting sits in. Your channel choices only ever apply to your own meetings, so connecting Slack never routes a colleague's meetings anywhere. **Restricted meetings are never auto posted.** A meeting scoped to specific groups or to only you stays out of Slack entirely, because channel membership has nothing to do with the meeting's audience. You can still share one deliberately from the meeting page. **Direct messages.** When a task is assigned to you, MemorDesk DMs you in Slack with buttons to mark it Done, In Progress, or Blocked, and reminds you the day before it is due. Turn this off under **Settings > Notifications > Slack notifications**, or from Slack with `/memordesk dm off`. **Slash commands.** `/memordesk tasks` lists your open action items. `/memordesk dm on` and `/memordesk dm off` control the DMs above. **Disconnecting** revokes MemorDesk's access to the workspace, it does not merely forget the connection locally. ## Calendar routing (team workspaces) If you belong to a team workspace, each connected calendar can route its meetings to either your **Personal Space** or the team workspace, decided two ways: - **Per-connection default:** click the routing icon on a connected calendar (Integrations page) to set its default workspace. - **Attendee auto-detection:** if a meeting invite includes attendees from your team workspace, that meeting is automatically routed to the team workspace even if the calendar's default is Personal. When a meeting is auto-routed to the team workspace, you get an in-app notification explaining why, so it never looks like the meeting just disappeared from Personal. ## Who can see a calendar's meetings A calendar routed to the team workspace also carries an audience: **Workspace default**, **Everyone**, **Specific groups**, or **Only me**. Set it on the Integrations page, in the same dialog as routing. - MemorDesk asks this as soon as a calendar connects. Until you answer, meetings from that calendar are visible **only to you**, nothing is shared with the workspace yet. - Changing it later applies to meetings that calendar has **already** synced, not just future ones. Switching a calendar to Only me pulls its existing meetings back out of the team's view. - A meeting whose audience you set by hand on the meeting page always wins, the calendar's setting never overwrites it. ## How calendar sync stays in step Your calendar is the source of truth for what is scheduled. MemorDesk keeps a copy of each upcoming meeting so the assistant can join on time without you having the app open, and reconciles that copy against your calendar continuously. - **Delete or cancel an event in Google** and its upcoming meeting disappears from MemorDesk, so no assistant joins it. This happens on a schedule, not only when you open the app, so it clears whether or not you are using MemorDesk at the time. - **Remove the meeting link** from an event and the same thing happens, there is no longer a call to join. - **Move an event** and MemorDesk follows it, the assistant arrives at the new time. - Right before the assistant is due to join, MemorDesk checks the event one last time, so an event cancelled at the last minute does not get an assistant. - Meetings that already ran are never touched by this. Editing your calendar does not delete your history. - Disconnecting and reconnecting the same Google account does not duplicate anything, meetings are matched on the account and event, not on the connection. ## Disconnecting a calendar Integrations > **Google Calendar** > **Manage** > **Disconnect** on the account you want removed. You can also disconnect from the **Upcoming Meetings** section on the dashboard, which is also where **Add calendar** connects another Google account. - Syncing stops immediately for that account only, other connected calendars are unaffected. - Upcoming meetings from it that have **not started yet** are removed, so no assistant joins them. - Meetings that already ran are kept, with their recordings, transcripts, and action items. ## Developer API API keys and webhooks are **not available yet**. The Developer screen (Settings > **Developer** on desktop, Settings gear > **Developer Settings** on mobile) shows them marked Coming Soon. There is no public REST API to send the note taker, read meetings, or subscribe to events today. Everything MemorDesk does is driven from the app and its integrations. --- # Workspaces and Teams A **workspace** holds all your meetings, action items, decisions, and Kojo conversations. - **Personal Space:** every account has one; only you can see it. - **Team Workspace:** shared; everyone in it sees all meetings and Kojo can draw on the whole team's knowledge. Team workspaces with multiple members need the **Team** or **Business** plan. ## Switch workspace - **Desktop:** the workspace name in the top-left of the header > pick a workspace. - **Mobile:** the workspace chip next to your avatar in the top bar > pick from the sheet. ## Create a workspace **Desktop:** Settings > **Workspace** > name it and create. After creating a workspace, opening **Settings > Workspace** while in Personal Space shows a **Switch workspace** button. It keeps you on the same settings page and changes the context to your team workspace before showing organization controls. **Mobile:** **Team** screen > **Set up workspace**. Reach the Team screen from Settings (gear) > **Team**, the workspace chip next to your avatar > **Manage team**, or the team card on Home. ## Invite members **Desktop:** Sidebar > **Teams**, or Settings > **Workspace** > **Invite Member** > enter an email and role (Member or Admin). **Mobile:** **Team** screen > **Invite member**, or the team card on Home. Pick suggested colleagues from Calendar and Slack, or type addresses. Invites are sent per email address. The accept link only works for the address it was sent to, so there is no general purpose join link to share. ## Accepting an invite Open the emailed link, or tap the invite in **Notifications** inside the app. On mobile the invite is accepted in place and drops you on the Team screen. ## Request to join an existing workspace If you sign up with a work email and your company already has a workspace on MemorDesk that has turned on join requests, the Teams page offers **Request to join [workspace name]** in place of the usual "set up your own workspace" option. A workspace owner or admin reviews the request from their Teams page, picks your role, and approves or declines it, you're notified either way. This is off by default for every workspace. Owners and admins turn it on from **Settings > Workspace**, under **Join requests**, and it only becomes available once the workspace has a detected company domain (set automatically when the workspace was created with a matching work email). ## Managing members **Desktop:** Sidebar > **Teams** > the options menu beside a member. **Mobile:** **Team** screen > tap a member. The sheet holds role changes, group membership, and removal. Owners and admins see these actions; everyone else sees the roster read only. ## Roles - **Admin:** full access including workspace settings, billing, and member management. - **Member:** access to all meetings and features, but cannot change workspace settings or billing. - **Viewer / Stakeholder:** read-only access to shared meetings and can query the knowledge base via Kojo. Pro includes 2 stakeholder seats; Team includes 5 or more; Business is unlimited. ## New member notifications When someone accepts an invite and joins, every existing member, not just owners and admins, gets an in-app notification and an email about it. ## Action item visibility Within a team workspace, owners and admins see every action item across the workspace. Members and viewers only see action items assigned to them, though they can mark their own assigned items done even if someone else created them, owners and admins get notified in-app when that happens. See [Action Items and Decisions](/docs/action-items-decisions) for the full breakdown. ## Meeting visibility Every workspace meeting has an audience, set by whoever recorded it. On desktop, open the meeting and use the **"Visible to workspace" / "Restricted"** button in the top-right. On mobile, open the meeting, tap the more menu, then **Who can see this**. - **Everyone in workspace** is the default. All members can open the meeting, its transcript, action items and decisions. - **Specific groups** shares it with the members of the groups you pick, and nobody else. Appears once your workspace has groups (see below). - **Only me and people I invite** hides the meeting from everyone else. The recorder picks specific teammates to invite. A restricted meeting is hidden completely, not shown as locked. It does not appear in other people's meetings list or search, its action items and decisions stay off their pages, and Kojo will not use it when answering their questions. People who actually attended the meeting keep their access. ## Groups (departments and squads) Groups are the departments, squads, or committees inside a workspace: Leadership, Engineering, Sales, and so on. Their job is meeting visibility, scope a meeting to a group and only that group's members can see it. **Where:** Desktop, Sidebar > **Teams** > the **Groups** section. Mobile, the **Team** screen > **Groups**. Groups are available on the **Team plan and above**. - **Owners and admins** create, rename, and delete groups, and manage any group's membership. - A group can have a **lead**, who manages that one group's members without being a workspace admin. That is the lead's only extra power. - Everyone else sees the group list read only, so they can tell why a meeting is scoped away from them. Groups are **flat**. There is no nesting, and a person can belong to as many groups as needed, which covers real company structures without turning into an org chart to maintain. To use one, open a meeting you recorded, set its visibility to **Specific groups**, and tick the groups that should have access. Regular members can pick only groups they belong to; owners and admins can pick any. Deleting a group never widens access. A meeting that was visible only to that group becomes restricted to its owner instead. ## Filtering by group Once a workspace has groups, an audience dropdown appears beside the search box on the **Meetings** page and the **Action Items** page (and on the **Meetings** and **Tasks** tabs on mobile). Pick a group to narrow the list to that group's meetings, tasks and decisions; pick **Everyone in workspace** for the ones shared team wide, or **Restricted to individuals** for meetings shared with named people rather than a group. The filter only narrows what you can already see. It never reveals a meeting your audience does not include. ## Setting defaults instead of choosing every time Nobody wants to set an audience on every meeting, so two defaults do it for you. The most specific one wins. **Workspace default** (owners and admins, **Settings > Workspace > Meeting privacy**), applied to every workspace meeting as it is created: - **Everyone in workspace**, the standard behavior. - **The recorder's groups**, each meeting is automatically scoped to the groups its recorder belongs to. Someone who is in no group still records to the whole workspace, so nothing is hidden from everyone by accident. - **Only the recorder**, every meeting starts restricted. **Per calendar** (**Integrations > Google Calendar >** the routing setting on a connection), which overrides the workspace default for meetings synced from that one calendar. Choose Workspace default, Everyone, Specific groups, or Only me. That last one is the quickest way to handle a leadership or HR calendar: point that calendar at the right group once, and every event it syncs is scoped correctly from the moment it appears, while it is still an upcoming meeting. Whoever records a meeting can always change its audience afterwards on the meeting page. ## What restricted meetings do not do A restricted meeting stays out of the places content usually spreads to: - It is not auto posted to Slack. Someone in its audience can still share it deliberately from the meeting page. - Notifications that quote its content, such as an action item being marked done, only reach people who can see the meeting. - It never reaches Kojo for anyone outside the audience. People who attended the meeting still get the summary email, because they were in the room. ## Compliance mode Workspace owners can turn on **Compliance mode** under **Settings > Workspace > Meeting privacy**. When it is on, owners and admins can open meetings that members restricted, whether restricted to a group or to individuals, and the meeting page states this openly so nobody is surprised. When it is off, a restricted meeting is visible only to its creator, the people they invited or the groups they picked, and anyone who attended. --- # GraphRAG Memory Engine MemorDesk does not store meeting transcripts as flat text. Every meeting is processed into a **knowledge graph** that connects people, projects, decisions, and blockers across time. When you ask Kojo a question, the answer is assembled from this graph -- not from a keyword search. ## How it works end-to-end ### 1. Semantic chunking After each transcript is cleaned, a semantic chunking module splits it into coherent paragraphs. Each paragraph is then converted into a numerical representation (an embedding) so that meaning, rather than exact wording, can be searched. Embeddings are produced by a specialist provider, which receives the meeting text solely to return those vectors and is contractually prohibited from training on it. Every provider that handles meeting content is named in the Privacy Policy. **Desktop:** Settings > **Knowledge** (`/dashboard/settings/knowledge`) -- controls which meetings are indexed. **Mobile:** Settings (gear) > **Knowledge Base** -- same controls on the native screen. ### 2. Vector search with partition isolation Chunk and entity vectors are stored in a dedicated vector index. Every search is pinned to either your personal account or your organization's team space. There is no cross-user scanning: partition isolation is **structural**, enforced at query time by mandatory filter predicates. One user's embeddings are physically unreachable by another user's query, regardless of application-layer bugs. Search scopes: | Scope | What is searched | |-------|-----------------| | Personal | Only your own meetings and documents | | Team | Only your organization's shared meetings | | All | Both personal and team partitions (no cross-user leakage) | ### 3. Entity extraction MemorDesk extracts six entity types from each meeting: | Type | Examples | |------|---------| | PERSON | Meeting participants, mentioned stakeholders | | PROJECT | Product names, initiatives | | FEATURE | Specific capabilities or deliverables | | TOOL | Software and services discussed | | DECISION | Choices made during the meeting | | BLOCKER | Open risks, dependencies, or blockers | Each entity is committed to the knowledge graph with full provenance back to the source meetings. ### 4. Bi-temporal relationship tracking Every edge in the graph carries start and end timestamps. When a relationship changes (e.g. a decision is reversed, a person changes role), the old edge is closed and a new edge is opened. The graph is a full historical record, not a snapshot. This means Kojo can answer questions anchored to a point in time: "What did we decide about the API contract three weeks ago?" returns the state of the graph at that date, not the current state. ### 5. Graph walk and retrieval When you ask Kojo a question, retrieval runs in four steps: 1. **Embed the query** -- your question is converted into a vector by the same embedding model used for your meetings. 2. **Find the starting points** -- the entities most related to your question, scoped to your partition. 3. **Walk the graph** -- from those entities, MemorDesk follows relationships outward to find connected people, projects and decisions. This step does not use vectors at all: it traverses the graph directly, which is what lets Kojo connect facts that were never said in the same meeting. 4. **Pull the evidence** -- the transcript passages that support what the walk surfaced. The result is a structured context block given to the assistant, so answers are grounded in your meetings rather than generated from general knowledge. ### 6. User context summary Each user has a working memory layer maintained by the memory engine: - **Active projects** -- current initiatives you are involved in - **Key people** -- frequent collaborators - **Open blockers** -- unresolved risks from recent meetings - **Recent decisions** -- decisions made in the last knowledge window - **Context summary** -- a free-text summary injected into every Kojo prompt This is the layer that makes Kojo feel context-aware even at the start of a new conversation. ### 7. Memory window and plan gating | Plan | Knowledge window | |------|-----------------| | Free | 14 days | | Lite | 21 days | | Pro, Team, Business, Enterprise | Unlimited | **Desktop:** Settings > **Knowledge** (`/dashboard/settings/knowledge`) -- shows your current window and indexed meeting count. **Mobile:** Settings (gear) > **Knowledge Base**. ## Provision and scaling Your partition is created automatically when you sign up. Nothing needs configuring, and one workspace's volume does not slow another's searches. --- # Security Architecture MemorDesk implements several non-obvious security patterns that go beyond standard SaaS practices. This article documents them for security-conscious teams. ## Dead Refresh Token Circuit Breaker Most web apps retry on a 401 Unauthorized response. When an authentication session is invalidated (rotated, revoked, or expired), retrying produces a cascade of 401s that each trigger another refresh attempt -- creating a request storm and often causing rate-limit errors. MemorDesk's session management layer detects the specific error conditions that indicate a token is permanently invalid. On any of these, it immediately clears all session cookies and redirects to the sign-in page. There is no retry. The rate-limit storm never starts. ## Password Forensics Without Plaintext MemorDesk's intrusion log captures failed login attempts for analysis, but **plaintext passwords are never stored** -- not even temporarily. When a failed login is recorded, a salted, non-reversible fingerprint is derived from the attempted password and the plaintext is discarded immediately. Only a fragment of that fingerprint is kept, which is deliberately too little to reconstruct the password even in principle. It is enough to recognise that the same credential was tried against many accounts, which is what identifies a credential-stuffing campaign, and not enough to learn what the credential was. ## Credit Holds for Concurrent Execution Safety Credits are MemorDesk's billing unit for AI operations (meeting processing, Kojo queries, voice recaps). A naive deduction model has a race condition: two simultaneous jobs both read the user's balance as sufficient, both proceed, and the user ends up overdrawn. MemorDesk solves this with a **credit hold** pattern borrowed from payment processing: 1. Before starting a job, a temporary reservation is placed against the expected credit cost with an automatic expiration window. 2. Credit availability checks include active holds in the balance calculation. 3. On job completion, the hold is consumed and the actual deduction is recorded in the immutable transaction ledger. 4. On job failure, the hold is released. Credits are never deducted for failed jobs. 5. Expired holds collapse automatically, providing a safety valve if a job hangs indefinitely. **Desktop:** profile avatar (top-right) > the credit balance dropdown shows your available balance net of holds. **Mobile:** profile avatar (top-left) > **Profile** > **Credits** card. ## Shared Bot Session Deduplication (Team+ Plans) When two calendar events in the same organization share the same meeting URL, a naive system would send two bots -- one per event. This causes two identical bots to appear in the meeting simultaneously, wasting provider cost and confusing participants. MemorDesk's calendar ingestion engine checks for an existing active bot session matching a meeting URL before dispatching a new one. If a bot is already in the session, the second event is attached to the same session rather than triggering a new join. This deduplication is active for **Team, Business, and Enterprise** plans. ## Intrusion Detection and Observe Mode MemorDesk records rejected authentication attempts with the network and device telemetry needed to recognise an attack, alongside the non-reversible fingerprint described above. Automated rules evaluate those attempts and can block sources of repeated failures, and raise an alert when a single account is targeted from many directions at once. The specific rules, thresholds and enforcement posture are not published, for the obvious reason. ## Administrative Access Control Administrative functions are separated from the product surface and protected independently of it. - Access can be restricted to an approved set of network locations, and the restriction fails closed: once a restriction exists, anything outside it is refused. - Refused requests are given a response that does not confirm the administrative surface exists at all. - Holding a valid MemorDesk account is not sufficient. Administrative privilege is a separate grant, checked on every request, and can be revoked immediately. These controls are independent, so no single one of them failing grants access. ## Session and Device Tracking Every authenticated device is registered with its device fingerprint, platform, OS, IP address, user agent, and last-seen timestamp. Administrators can revoke any device session remotely. **Desktop:** Settings > **Security** (`/dashboard/settings/security`) > active sessions list. **Mobile:** profile avatar (top-left) > **Profile** > scroll to **Sessions**. --- # Getting Help and Support Every support channel lives behind one control: the **Help & Support** menu. **Desktop:** the question mark at the bottom of the left sidebar. On public pages (/pricing, /docs, /help, /about, /security and friends) there is no sidebar, so it is the floating button in the bottom-right corner instead. **Mobile:** Settings (gear) > **Help & Support**. The menu has four options: **Live Chat**, **Documentation**, **Contact Support**, and **Feature Request**. ## Live Chat Opens a chat panel in the corner of the page. An AI support agent answers first, drawing on the same product knowledge as Kojo. It hands you to a human when you ask for one, or when the issue needs account-level access we cannot give an AI: billing disputes, data deletion, account suspension. Once a human agent picks the conversation up, you see their name and photo, and a note that they joined. **You do not need an account.** On public pages the chat asks for your name and email before it starts. That email is how we reach you if you close the tab before we reply, so give one you read. Everything else behaves the same, including attaching a screenshot (JPEG or PNG, up to 5 MB). Useful behaviour to know: - **Minimise** the chat with the dash icon and keep browsing. It reopens on its own when support replies. - **Mute notifications** from the three-dot menu in the chat header if you do not want the reply sound. - **End chat** from the same menu when you are done. You are then asked to rate the conversation from 1 to 5. - If you leave a support reply unanswered for 10 minutes, we send a reminder, in-app if you have an account, by email if you do not. - Every finished conversation is saved as a support ticket with the full transcript, so nothing is lost if the chat has to continue over email. ## Contact Support Raises a ticket we answer by email. Use it for anything that needs a paper trail, or when no agent is online. Signed in, the ticket is attached to your account. Signed out, the form asks for your name and email and we reply there. Either way you get an acknowledgement email with a ticket reference. The full-page version of the same form is at /help under **Open a ticket**. ## Feature Request Suggests something new. This one **does** need an account, so we can follow up and count votes against a real person. If you are signed out, use Contact Support instead and we will pass it on. ## Security Questions Questions about encryption, data handling, retention, compliance, or a vendor security review go to the security team directly. Go to /security and click **Contact Security Team**. No account needed, and we reply by email, usually within one business day. **Reporting a vulnerability is a different process.** Use /bug-bounty, or email security@memordesk.com. Do not put exploit details or credentials into the general contact form. ## What we do not have There is no public status page and no public roadmap. If you think something is broken, ask in live chat or raise a ticket and we will confirm whether it is a known issue.