# Stilla Full Documentation > Complete documentation for AI/LLM consumption --- # Coding Agents > Fix bugs, implement features, and write PRs with AI. # Coding agents Stilla includes a built-in coding agent that can clone repositories, make code changes, and submit them for review. It runs in an isolated cloud sandbox, so your local environment stays untouched. ## What coding agents do From a natural language description, the coding agent can: - Fix bugs reported in issues or meetings - Implement features from specs or discussions - Update documentation to match code changes - Refactor code for clarity or performance - Write or update tests - Create landing pages or small applications ## How it works Tell Stilla what you need — reference a Linear issue, paste a bug report, describe a feature, or point to a meeting discussion. Provide enough context for the agent to understand the requirements. The coding agent clones the relevant repository into an isolated cloud sandbox. It has access to any repo connected through your [GitHub integration](/docs/integrations/github). The agent explores the codebase, understands the structure, and makes the necessary changes. It can read files, run commands, install dependencies, and test its work. The agent pushes its changes to a new branch and presents a change proposal — including a PR title, description, and number of lines changed. Review the proposal before accepting. Once you accept the change proposal, a pull request is created on GitHub with the proposed title and description. ## Context passing Coding agents receive context from wherever the task originated: - Meeting notes and transcripts - Linear issue descriptions and comments - Canvas content and specifications - Chat conversation history The more context you provide, the better the result. If you're referencing a specific issue, include the issue link so the agent can pull in all relevant details. ## Repository access Coding agents can access any repository connected through your [GitHub integration](/docs/integrations/github). Access requires both a personal GitHub connection and a GitHub organization channel — the personal connection authenticates the agent, and the organization channel determines which repos are available. They clone the repo fresh for each run, so they always work with the latest code. ## IDE integration Prefer working in your own editor? Stilla can also launch tasks through Cursor, passing meeting context and specifications directly to the IDE agent. This gives you the best of both worlds — Stilla's context gathering with your preferred coding environment. You can also access Stilla data in Claude Code through the [Stilla MCP](/docs/integrations/mcp) — pull in meeting notes, Linear issues, and other context without leaving your terminal. Coding agents run in isolated cloud environments with a 60-minute maximum lifetime. They have access to common development tools and can install additional dependencies as needed. --- # Creating Agents > Build your first agent with natural language instructions. # Creating agents Creating an agent takes minutes. Write what you want in plain English, configure when it should run, and you're done. ## Step-by-step setup Give your agent a clear, descriptive name. This appears in the agent list and in run history, so make it recognizable — e.g., "Weekly Engineering Digest" or "PR Review Bot". Choose when the agent runs. Set a recurring schedule, listen for @Stilla mentions in specific channels, or run manually. You can have multiple triggers, and combine them freely. See [Triggers](/docs/agents/triggers). Describe what the agent should do in its prompt. Be specific about what data to gather, what output to produce, what format to use, what actions to take, and any constraints. The prompt is plain markdown — write it like you're giving instructions to a capable teammate. Tag using `@`-tag in the instructions to target channels in Slack, teams in Linear, or repositories in Github that Stilla should read, or post to when running. Control what the agent can access and modify. See [Agent Restrictions](/docs/agents/restrictions). Run the agent manually to verify it works as expected. Review the agent run canvas to see what it did. Once you're satisfied, enable it. ## Prompt best practices - **Be specific about output**: "Write a summary with bullet points grouped by team" beats "summarize what happened" - **Name your integrations**: "Search Linear for issues updated this week" tells the agent exactly where to look - **Define success criteria**: "Only include PRs that were merged, not opened or closed" - **Handle edge cases**: "If no updates are found, post a short message saying so" ## Example: weekly summary agent ``` Collect all updates from the past week: - Linear issues completed, started, or created - GitHub PRs merged - Significant Slack discussions in #engineering Write a summary grouped by project. For each project, list: - Completed work - In-progress work - Notable discussions or decisions Post the summary to #engineering-updates on Slack. ``` ## Example: meeting follow-up agent ``` After each meeting: 1. Read the transcript and identify action items 2. Create a Linear issue for each action item, assigned to the person mentioned 3. Post a summary of created issues to me in a DM 4. If no action items were found, reply confirming the meeting had no follow-ups ``` ## Turn on, and off Toggle agents on and off without deleting them. Disabled agents retain their configuration and run history, so you can re-enable them anytime. --- # Agent Memory > Persist information across agent runs with memory canvases. # Agent memory Agents can persist information across runs using a memory canvas. This lets agents remember context from previous executions rather than starting from scratch each time. ## How it works Memory is stored as a dedicated canvas that the agent reads at the start of each run and can update before finishing. This creates a persistent scratchpad that carries forward between executions. ## Use cases - **Track trends over time**: e.g., "alert me if deployments increase week over week" - **Remember decisions from past runs**: avoid repeating analysis or re-asking questions - **Build up context incrementally**: aggregate information across multiple runs into a single summary - **Maintain state**: keep running counts, lists, or logs that evolve over time Memory is different from [agent runs](/docs/agents/overview#agent-runs). Runs are a history of what the agent did. Memory is what the agent carries forward — notes and context it can refer back to next time. --- # Agents Overview > Reusable AI automations configured with natural language. # Agents overview Agents are reusable AI automations that you configure with natural language instructions. No code, no workflow builders, no drag-and-drop — just plain English describing what you want done. ## How agents work Each agent has three components: 1. **Triggers**: When and where the agent should run - **Scheduled**: Run on a recurring schedule (daily, weekly, custom cron) - **Channels**: Where the agent listens for mentions (Slack channels, GitHub repos, Linear teams) 2. **Prompt**: Regular text instructions describing what the agent should do 3. **[App restrictions](/docs/agents/restrictions)**: Control what each agent can access and modify — set default access levels, per-system overrides, and per-resource permissions to follow the principle of least privilege When triggered, the agent runs in its own [canvas](/docs/basics/canvases), executing the instructions with full access to Stilla's tools and [integrations](/docs/integrations/overview). ## Agent runs Every execution creates a separate canvas — an "agent run" — where you can see exactly what the agent did, what tools it used, and what changes it proposed. This gives you full transparency into automated actions. Agent runs are stored and searchable, so you can review past executions, debug issues, or audit what happened. ## Agent memory Agents can persist information across runs using a [memory canvas](/docs/agents/memory). This lets agents track trends, remember decisions, and build up context incrementally rather than starting from scratch each time. ## Channel triggers By assigning an agent to specific channels, you can customize how Stilla responds when mentioned in different contexts. Each channel can have its own agent, so Stilla behaves differently depending on where it's mentioned. For example: - An agent for your #support Slack channel that follows specific triage steps - An agent for GitHub PRs that runs your team's review checklist - An agent for Linear that categorizes and routes new issues ## Use cases - **Weekly standup summaries**: Aggregate updates from Linear, GitHub, and Slack into a weekly digest - **Changelog generation**: Generate release notes from merged PRs - **Customer feedback triage**: Route and categorize incoming feedback - **Incident response**: Pull context from PagerDuty, Slack, and logs when incidents fire - **Dependency scanning**: Check for outdated or vulnerable dependencies on a schedule - **Meeting prep**: Before a recurring meeting, gather relevant updates from all connected tools --- # Agent Restrictions > Control exactly what each agent can access and modify. # Agent restrictions Agents are powerful — they can read data, create issues, send messages, and modify code. Restrictions let you control exactly what each agent can do, following the principle of least privilege. ## Why restrictions matter Without restrictions, an agent has access to everything you've connected to Stilla. That's fine for personal agents you run manually, but for automated agents running on a schedule or responding to channel mentions, you often want tighter controls. Restrictions let you: - Prevent agents from accidentally sending messages to the wrong channel - Limit code changes to specific repositories - Keep agents read-only for monitoring and reporting tasks - Allow specific actions while blocking others ## Access levels Configure per agent at three levels: | Level | Can Read | Can Write | | --------------- | -------- | --------- | | **Full access** | Yes | Yes | | **Read-only** | Yes | No | | **No access** | No | No | ## Granularity Set restrictions at three levels of specificity. The most specific level wins: 1. **Default**: A baseline for all connected apps (e.g., read-only by default) 2. **Per app**: Override for a specific app (e.g., `GitHub = read-only`, `Linear = full access`) 3. **Per resource**: Override for a specific resource within an app — a Slack channel, an email address, a Linear team, etc. (e.g., allow writing to #deployments but read-only everywhere else in Slack) ## Action-level control Beyond read/write access, you can allow or block specific action types. For example: - Allow commenting on GitHub issues but not creating new ones - Allow creating Linear issues but not changing status on existing ones - Allow sending Slack messages to specific channels only ## Asking before executing Configure agents to always create [change proposals](/docs/basics/canvases) that require human approval, rather than executing actions directly. This is useful for: - High-stakes agents that modify production systems - New agents you're still testing - Compliance requirements that mandate human review Only the agent owner can view and edit restriction policies. Restrictions are enforced at runtime — if an agent attempts a restricted operation, it receives an error explaining what was blocked and why. --- # Triggers > Schedule agents or trigger them from Slack, GitHub, and Linear. # Triggers Triggers control when your [agents](/docs/agents/overview) run. You can schedule them, trigger them from channel mentions, or run them manually. ## Scheduled triggers Set agents to run on a recurring schedule. Stilla supports flexible scheduling: - **Simple**: "Every Monday at 9am", "Every weekday at 5pm" - **Complex**: "Every other Friday", "First Monday of each month" - **Frequent**: "Every 4 hours", "Every 30 minutes" Schedules use your timezone by default. You can override the timezone if needed for distributed teams. Each agent can have one scheduled trigger. The trigger evaluates based on a start date you specify — the agent won't run before that date. Each agent supports at most one scheduled trigger, but can listen to multiple channels simultaneously. ## Channel-based triggers (playbooks) Configure agents to respond when `@Stilla` is mentioned in specific channels: ### Slack channels Add Slack channels to your agent. When @Stilla is mentioned, the agent processes the message using its instructions. There are two modes: - **Mention mode** _(default)_ — the agent only responds when someone explicitly mentions **`@Stilla`** in the channel - **Intake mode** — the agent processes **every** message automatically, without requiring a mention. Useful for dedicated intake channels like #support-requests ### GitHub repos Add GitHub repositories. When **`@Stilla`** is mentioned in issues or PRs in those repos, the agent handles the request. ### Linear teams Add Linear teams. When **`@Stilla`** is mentioned in issues belonging to those teams, the agent responds according to its instructions. ## Manual triggers Run any agent on-demand from the Stilla app, using the **Run** button. This is useful for: - Testing agents before enabling automated triggers - Running one-off tasks that don't need a schedule - Triggering agents in response to ad-hoc events ## Combining triggers An agent can have both scheduled triggers and channel listeners simultaneously. For example: - A triage agent that runs every morning at 8am to review overnight issues, AND responds to @Stilla mentions in #support for real-time triage - A digest agent that posts weekly summaries on schedule, AND can be triggered manually for on-demand reports --- # Canvases > Rich, collaborative documents where your team and AI work together. # Canvases Canvases are Stilla's core document format — rich, collaborative documents where your team and AI work together in real time. ## What are canvases? A canvas is an editable document stored as markdown and rendered with full WYSIWYG formatting in the Stilla app. Think of canvases as living documents that combine notes, decisions, change proposals, and AI-generated content in one place. Every conversation with Stilla happens alongside a canvas. The AI writes to the canvas, you edit it, your teammates contribute — all simultaneously. ## Rich editing The canvas editor supports the full range of markdown formatting: - Headers, bold, italic, and strikethrough - Ordered and unordered lists - Code blocks with syntax highlighting - Tables, images, and embedded links - Blockquotes and horizontal rules Content is stored as markdown under the hood, so it's portable and version-friendly. But in the editor, everything renders beautifully with a clean, distraction-free interface. ## Real-time collaboration Multiple users **and** AI agents can edit the same canvas simultaneously. Changes appear in real time for everyone. This is what makes Stilla different from traditional AI assistants — AI is a first-class collaborator, not a chatbot in a separate window. When Stilla processes a meeting transcript, drafts a document, or extracts change proposals, the results appear directly in the canvas where your team can immediately review and refine them. ## Change proposals When Stilla suggests changes to other apps — creating a Linear issue, sending a Slack message, updating a GitHub PR — these appear as **change proposals** at the bottom of the canvas. Each item shows exactly what will happen. You review, accept, or reject each one individually. Nothing changes in your other apps until you approve it. Change proposals are pending until accepted. Stilla never modifies your other apps without your approval. ## Sharing, and permissions Control who sees your canvases: - **Individual sharing**: Invite specific team members as viewers or editors - **Organization sharing**: Make a canvas visible to everyone in your Stilla workspace - **Public sharing**: Generate a public link for anyone to access (like external stakeholders) Canvas owners control access levels. Editors can modify access and content; viewers can only read. ## Canvas types - **Regular**: Standard documents for notes, specs, reports, or any content - **Meeting**: Automatically linked to calendar events. Created when Stilla transcribes a meeting, containing summaries, decisions, and change proposals - **Agent run**: Created by [agent](/docs/agents/overview) executions. Each agent run gets its own canvas showing what the agent did and what it proposed ... and more (example [memory](/docs/agents/memory)) ## Attachments Canvases support file attachments including documents, images, recordings, and other media. Upload files directly or let Stilla attach relevant content from meeting recordings and integrations. --- # Chat > Talk to Stilla in real time — as a team. # Chat Chat is how you interact with Stilla. Ask questions, give instructions, upload files, and collaborate with your team — all in one conversation. ## AI chat Stilla processes text, images, audio, video, and PDF files natively. You can: - Ask questions about your projects, issues, or codebase - Upload screenshots or documents for analysis - Request actions like creating issues, sending messages, or writing code - Get summaries of meetings, PRs, or Slack threads Stilla doesn't just use what's in the conversation — it actively searches across all your [connected tools](/docs/integrations/overview) to find relevant context and give accurate, current answers. ## Shared chat Everyone in a shared chat sees the same context, the same responses, and the same [change proposals](/docs/basics/canvases). This eliminates the "I asked AI about this separately" problem. Multiple team members can: - Provide additional context the AI needs - Ask follow-up questions - Review and act on change proposals together - Collaborate with AI in real time Shared chat turns Stilla from a personal tool into a team coordination layer. ## Private chat For anything you'd rather keep to yourself, create a private canvas or a private chat. There's also an "Ask" mode for asking questions without modifying the canvas or creating change proposals (useful for looking things up during meetings without others seeing, or just finding answers on your own). ## Chat surfaces Use Stilla chat from multiple surfaces: - **Stilla desktop app** (macOS): Full-featured with canvas editing, change proposals, and meeting transcription. [Download here](https://stilla.ai/download). - **Stilla web app**: Access from any browser at [app.stilla.ai](https://app.stilla.ai). Full chat and canvas support. - **Slack**: Mention **`@Stilla`** in any connected channel to ask questions or request actions. See [Slack integration](/docs/integrations/slack). - **GitHub**: Mention **`@Stilla`** in issues and PRs. See [GitHub integration](/docs/integrations/github). - **Linear**: Mention **`@Stilla`** in issues. See [Linear integration](/docs/integrations/linear). - **Discord**: Mention **`@Stilla`** in any connected channel to ask questions, or request actions ## Canvas integration Chat lives alongside [canvases](/docs/basics/canvases). From the chat sidebar, Stilla can: - Write content directly to the canvas - Create change proposals for external systems - Reference previous conversations and decisions - Process uploaded files and surface relevant information The chat and canvas work together — chat is for conversation and instructions, the canvas is for persistent, editable output. --- # Folders > Organize canvases into structured groups with granular permissions. # Folders Folders let you organize your [canvases](/docs/basics/canvases) into logical groups — by project, team, topic, or whatever structure fits your workflow. ## Organizing canvases Group related canvases together. Common patterns include: - **By project**: All specs, meeting notes, and decisions for a specific project - **By team**: Engineering docs, design reviews, marketing plans - **By topic**: Onboarding materials, runbooks, client documentation - **By time**: Weekly standups, quarterly reviews, sprint retrospectives Drag and drop canvases between folders, or ask Stilla to move them for you. ## Folder hierarchy Folders can be nested inside other folders for deeper organization. For example: - Engineering - Backend - Frontend - Infrastructure - Marketing - Campaigns - Analytics Folders can be nested up to 3 levels deep. ## Permissions Control visibility at the folder level: - **Private**: Only you can see the folder and its contents - **Shared with individuals**: Invite specific team members with view or edit access - **Organization-wide**: Make the folder visible to everyone in your workspace Folder permissions cascade to all canvases within, and nested folders inherit permissions from their parent. This is useful for team-specific documentation, sensitive projects, or client-facing content. ## Sharing Share entire folders with team members or your organization, giving everyone access to all canvases within. When new canvases are added to a shared folder, they automatically inherit the folder's permissions. ## Resources Attach external links and files to folders for easy reference. This keeps related URLs, documents, files, and tools alongside your canvases without cluttering individual documents. --- # Meetings & transcription > Transcribe meetings, extract change proposals, and keep your team aligned. # Meetings & transcription Stilla's desktop app transcribes your meetings, identifies speakers, extracts change proposals, and creates structured notes — so you can focus on the conversation instead of taking notes. Meeting transcription requires the Stilla desktop app for macOS. [Download it here](https://stilla.ai/download). ## How it works Connect your Google Calendar. Stilla sees your upcoming meetings and can automatically join them. Stilla also gets notified when microphone becomes active, so you can join any meeting and get a prompt from Stilla to record. Never miss transcribing an important conversation. During the meeting, Stilla captures audio from your microphone and system audio (other participants). The desktop app handles all recording. After the meeting, Stilla creates a meeting canvas with key decisions, discussion points, and change proposals. It cross-references your connected tools to link discussions to existing work. Stilla extracts change proposals and proposes follow-up tasks — like creating Linear issues, sending follow-up Slack messages, or updating documentation. ## Supported languages Stilla transcribes meetings in 13 languages: English, Spanish, French, German, Hindi, Russian, Portuguese, Japanese, Italian, Dutch, Swedish, Danish, and Hebrew. ## Speaker identification Stilla identifies who said what, attributing content to the correct participants. It uses audio channels and speaker diarization to distinguish participants. Getting the right name attached to the right voice involves several signals that Stilla combines automatically. Your setup may affect the quality. **Calendar access** If the recording is linked to a calendar event (shown by a 📅 icon next to the canvas name), Stilla uses the invitee list to figure out who's likely in the room. For this to work, you need a Calendar connection set up and the transcript needs to be associated with a calendar event. This happens automatically if the meeting notes are started from a Stilla calendar notification or from the calendar view in the app. Note: If a meeting invite includes a Google Group (like `team@yourcompany.com`), Stilla expands the group when the connected Google account has access to see its members. External groups or groups Google doesn't expose remain listed as the group address. You can click the calendar event name at the top of the canvas to see exactly what Stilla knows about the attendees. **Speaker diarization** Stilla separates audio into distinct voices (voice 1, voice 2, etc.) and tries to match each voice to a person. Diarization quality depends on microphone quality and voice differences between speakers. When Stilla isn't certain, it infers identity from context: calendar invitees, past meetings, and topics each person is associated with in your connected tools. **Profile context** Any context Stilla has about people improves attribution. If team members fill in the Title and Description fields in their [Profile](https://app.stilla.ai/settings/account/profile), Stilla can make better guesses about who said what — based on roles and topics they're typically involved with. AI models can make mistakes. Review their work. ## Meeting settings You can customize how Stilla handles a specific meeting from the meeting settings dialog (gear icon in the meetings list or meeting notification). ### What each setting controls - **Mute notifications**: Suppresses reminders for this meeting **for you**. - **Auto-record**: Automatically starts recording when microphone activity is detected **for you**. - **Recording language**: Sets the default transcription language for this meeting **for everyone in your organization**. - **Default folder**: Sets where meeting canvases are created by default **for everyone in your organization**. ### Shared vs personal settings Two settings are personal per user (`Mute notifications`, `Auto-record`), and two settings are shared org-wide (`Recording language`, `Default folder`). If someone in your workspace updates the shared settings, other members will see those new defaults for that meeting. ### Recurring meetings For recurring meetings, settings apply to the recurring series (not just a single occurrence). That means changing settings once updates future instances of the same recurring meeting. ## Meeting canvases Each transcribed meeting gets its own [canvas](/docs/basics/canvases) linked to the calendar event. The canvas contains: - Summary of key discussion points - Decisions made during the meeting - Change proposals with proposed assignments - Links to related issues, PRs, and documents ## Change proposal extraction Stilla listens for commitments and tasks mentioned during the meeting. It then: - Searches your [Linear](/docs/integrations/linear) and [GitHub](/docs/integrations/github) for existing related work - Creates change proposals to update existing issues or create new ones - Proposes follow-up messages in [Slack](/docs/integrations/slack) - Suggests documentation updates ... and much much more! You review and accept each proposal individually — Stilla never creates issues or sends messages without your approval. ## Private AI sidebar During meetings, you can privately chat with Stilla to: - Catch up on context you missed - Look up related issues or PRs - Check the status of work being discussed - Prepare talking points This happens silently — other meeting participants don't see your private interaction with Stilla. --- # FAQ > Frequently asked questions about Stilla. # Frequently asked questions ## General ### What is Stilla? Stilla is the first **multiplayer AI agent** for product teams. Unlike a personal chatbot, Stilla lives where your team works — in Slack, Linear, and GitHub. It acts as a shared brain that captures context, orchestrates workflows, and keeps everyone aligned without manual updates. ### How is Stilla different from ChatGPT or Claude? Three things set Stilla apart: - **Context**: Stilla indexes your tools (Slack, Linear, GitHub, Notion, Google Drive, Gmail) so it knows your team's history, decisions, and active projects. - **Action**: Stilla doesn't just chat — it [creates issues](/docs/integrations/linear), [drafts PRs](/docs/integrations/github), [sends messages](/docs/integrations/slack), and [updates docs](/docs/integrations/notion). - **Multiplayer**: Stilla is designed for teams. Everyone sees the same context via [shared chat](/docs/basics/chat), preventing silos. ### Can Stilla write code? Yes. Stilla includes a built-in [coding agent](/docs/agents/coding-agents) that can clone repositories, make changes, and submit them for review. It handles bug fixes, feature work, documentation updates, refactoring, and test writing — all from a natural language description. ### What languages does meeting transcription support? Stilla transcribes meetings in English, Spanish, French, German, Hindi, Russian, Portuguese, Japanese, Italian, Swedish, Danish, Hebrew, and Dutch. See [Meetings & Transcription](/docs/basics/meetings) for details. ## Privacy & security ### What data does Stilla access? Stilla only accesses the platforms and channels you explicitly connect. You control what Stilla can see through [connections](/docs/integrations/overview), and you can further limit what agents can do with [agent restrictions](/docs/agents/restrictions). ### Is my data secure? Yes. All data is encrypted in transit and sensitive information such as API keys are also encrypted at rest. Stilla has passed its SOC 2 Type II audit with zero findings. See [Security & Privacy](/security) for more. ### Can I delete my data? Yes. Remove your account to delete all indexed information from our systems within at most 40 days. ## Agents & automation ### What are agents? [Agents](/docs/agents/overview) are reusable AI automations you configure with natural language instructions. No code required. They can run on a schedule, respond to Slack mentions, or be triggered manually. ### What are skills? [Skills](/docs/agents/skills) are reusable instruction bundles with file attachments that teach Stilla how to handle specific tasks — like code review checklists, deployment procedures, or writing style guides. ## Pricing ### Is there a free trial? Yes. 14-day free trial of the Pro plan with full access. No credit card required. ### Is there a free tier? Yes. After your trial, the Free tier gives you read-only access to canvases and documents in Stilla — you can view your team's work but can't interact with the AI agent or edit documents. ### What's included in Pro? The Pro plan removes all limits: - Unlimited agent actions - Unlimited integrations - Unlimited history - Priority support ### Do you offer Enterprise plans? Yes. For organizations needing SAML SSO, custom contracts, or dedicated support, contact [support@stilla.ai](mailto:support@stilla.ai). ## Technical ### Is there a mobile app? A mobile app is on our roadmap. The web app at [stilla.ai](https://stilla.ai) is fully responsive and works well on mobile devices. ### Does Stilla support SSO and SCIM? Yes, SAML-based SSO and SCIM provisioning are available for Enterprise customers. Contact [sales@stilla.ai](mailto:sales@stilla.ai) to get set up. ### Can I extend Stilla with custom integrations? Yes. Stilla supports [Model Context Protocol (MCP)](/docs/integrations/mcp), an open standard for connecting any external tool. If a service provides an MCP server, Stilla can use it. Visit [stilla.ai/integrations](https://stilla.ai/integrations) to browse available integrations. --- Still have questions? [Join our Slack community](/join-slack) or email us at support@stilla.ai. --- # Getting Started > Set up Stilla and start tracking your work in minutes. # Getting started with Stilla Get up and running with Stilla in just a few minutes. This guide will walk you through the initial setup process. ## Prerequisites Before you begin, make sure you have: - A Stilla account ([sign up here](https://app.stilla.ai)) - Access to the platforms you want to connect (Slack, email, etc.) ## Quick setup Visit [app.stilla.ai](https://app.stilla.ai) and sign up with your work email. Using your work email ensures you can easily connect to your organization's tools. Download the desktop app from [stilla.ai/download](https://stilla.ai/download). The desktop app is required for meeting transcription and provides the best full-screen editing experience. Open the app and follow the onboarding flow to connect your primary tools. * **Slack:** For reading conversations and sending messages. * **Linear:** For managing tasks and issues. * **GitHub:** For tracking PRs and code changes. * **Notion:** For reading and updating documentation. * **Google Calendar:** For joining and recording meetings. You can always add more later in **Settings → Account → Connections**. You're ready to go! Try these first actions: * **Ask a question:** "What did we decide about the login flow?" * **Transcribe a meeting:** Stilla will automatically detect meetings on your calendar. * **Create a task:** Ask Stilla to "Create a Linear issue for..." ## Next steps Now that you're set up, explore these topics: ## Troubleshooting If you're having trouble adding a connection, make sure you have the necessary permissions in that platform. Admin access may be required for some connections. For additional help, join our [Slack community](/join-slack) or contact support. --- # Docs introduction > Learn how to use Stilla, the AI agent that keeps track of everything. # Welcome to Stilla documentation Stilla is the first multiplayer AI agent for product teams. It lives where you work, turning loose conversations into clear actions and keeping your entire team aligned without the overhead. ## What can Stilla do? - **Orchestrate your workflow** — Create Linear issues, draft GitHub PRs, update Notion pages, and send Slack messages directly from conversations. - **Capture context instantly** — Transcribe meetings, extract change proposals, and turn discussions into trackable work. - **Answer with full context** — Search across your entire stack (Slack, Linear, GitHub, Notion, Google Drive, Gmail) to answer questions with accurate, current information. - **Code and document** — Spin up coding agents to fix bugs, write features, or keep documentation in sync. - **Automate with agents** — Build reusable automations using plain English. Schedule them, trigger them from Slack, or run them manually. - **Stay aligned** — Stilla is multiplayer. The whole team sees the same context, preventing silos and reducing status meetings. New to Stilla? Start with our [Getting Started guide](/docs/getting-started) to be up and running in minutes. --- # GitHub > Manage issues, review PRs, search code, and automate development workflows. # GitHub Connect GitHub to manage issues and PRs, search code, review changes, and automate development workflows with [coding agents](/docs/agents/coding-agents). ## Setup GitHub supports both: - **User connection**: Personal connection for reading and writing (required for change proposals and PR creation) - **Organization channel**: Enables @Stilla mentions in repo issues and PRs ## Issue & PR management - **Create issues**: Specify title, description, assignees, labels, and issue types - **Update issues**: Change status, labels, assignees, or description - **Comment**: Add review feedback, context from meetings, or status updates - **Close/reopen**: Manage issue and PR lifecycle ## Code search Search across your connected repositories: - **Code**: Find specific functions, patterns, or configurations - **Commits**: Search commit messages and history - **Issues & PRs**: Find by keyword, author, label, status, or date - **Discussions**: Search repository discussions ## Repository exploration Stilla can browse and read repository contents: - Navigate directory structures - Read individual files - View commit history and diffs - Understand codebase architecture ## Code review Stilla performs structured code reviews on pull requests: - Reads the full diff - Analyzes for bugs, security issues, performance problems, and style concerns - Posts detailed review comments organized by severity - References relevant context from Linear issues, meeting notes, and documentation ## PR creation [Coding agents](/docs/agents/coding-agents) push changes to branches and create pull requests with: - Clear, descriptive titles - Detailed descriptions of what changed and why - Proper base branch targeting - Draft or ready-for-review status ## Channel-based triggers (playbooks) Configure custom [agent](/docs/agents/overview) behaviors for specific repositories: - Auto-review all new PRs with your team's checklist - Triage new issues by labeling and assigning based on content - Notify relevant team members when specific files are changed --- # Google Workspace > Calendar, Drive, and Gmail — all connected through one account. # Google Workspace Connect your Google account to give Stilla access to Calendar, Drive, and Gmail. ## Setup Connect your Google account in **Settings → Account → Connections** ## Google Calendar - **View events**: See your schedule, check availability, and understand meeting context - **Meeting transcription**: Stilla uses your calendar to identify meetings and [join them for transcription](/docs/basics/meetings) - **Draft events**: Create calendar event drafts with title, time, attendees, and description - **Schedule awareness**: When you ask Stilla about timing, it considers your calendar - **Google Group attendees**: If a meeting invite contains a Google Group, Stilla expands it when Google exposes the members to your connected account ## Google Drive - **Search files**: Find documents, spreadsheets, and presentations across your Drive - **Read content**: Access the full content of Google Docs, Sheets, and Slides - **Create documents**: Generate new Google Docs with content from conversations, meetings, or analysis - **File analysis**: Upload files from Drive for Stilla to analyze, summarize, or extract information ## Gmail - **Search email**: Find messages by sender, subject, date, or content - **Read threads**: Access full email conversations with all replies - **Send emails**: Compose and send emails with formatted content - **Reply to threads**: Continue existing email conversations - **Attachments**: Access and process email attachments --- # Linear > Create issues, track projects, and manage work from Stilla. # Linear Linear is Stilla's default task management integration. Create and update issues, track projects, manage customer requests, and stay on top of your team's work. ## Setup Linear supports both: - **User connection**: Personal connection for reading and writing issues (required for change proposals) - **Organization channel**: Enables @Stilla mentions in Linear issues ## Issue management Stilla can create, update, and comment on Linear issues: - **Create issues**: Specify title, description, team, assignee, priority, labels, project, and cycle - **Update issues**: Change status, priority, assignee, or any other field - **Comment**: Add context, meeting notes, or status updates to existing issues - **Search**: Find issues by keyword, assignee, status, team, project, label, or date range When Stilla proposes issue changes, they appear as [change proposals](/docs/basics/canvases) in your canvas. Review and accept to apply changes to Linear. ## Project tracking - Search and browse projects across teams - Post project updates with health status (on track, at risk, off track) - Track progress across project milestones - View project members and recent activity ## Initiatives & documents - Access and update Linear initiatives - Read and modify Linear documents - Link work across initiatives, projects, and issues ## Customer tracking - Manage customer records with domains and external IDs - Create and update customer requests (needs) - Link customer requests to issues or projects - Filter by customer tier, status, and owner ## Teams & workflows Stilla works with all your Linear teams (not private teams yet) and respects their specific configurations: - Team-specific workflow states - Team-specific labels - Cycle management (current, upcoming, previous) - Priority levels and custom fields ## Bi-directional Stilla works in both directions: - **From Stilla**: Create change proposals to modify Linear from canvases, meetings, or chat - **From Linear**: Mention @Stilla in any Linear issue to ask questions, get context, or request actions --- # MCP (Model Context Protocol) > Connect any external tool to Stilla through the open MCP standard. # MCP (Model Context Protocol) MCP is an open protocol that lets you connect virtually any external tool or API to Stilla. If a service provides an MCP server, Stilla can use it — no custom integration required. ## What MCP is The [Model Context Protocol](https://modelcontextprotocol.io/) is a standard for connecting AI systems to external tools. Instead of building bespoke integrations for every service, MCP provides a universal interface that any tool can implement. For Stilla, this means the list of tools you can connect is effectively unlimited. ## How it works MCP servers are encapsulated as subagents within Stilla. Each MCP connection gets its own isolated agent with access to that server's tools. When Stilla needs to interact with an MCP-connected service, it delegates to the appropriate subagent. ### Transport Stilla supports remote MCP servers using the **Streamable HTTP** transport. MCP servers must be accessible via HTTPS. ### Authorization MCP connections support multiple authorization methods: - **Custom headers**: Add API keys or tokens as HTTP headers - **OAuth**: Full OAuth 2.0 authorization flow for services that require it Stilla handles the complete OAuth flow, including token refresh. ## Curated registry Stilla maintains a curated list of verified MCP servers you can connect with one click: - **PagerDuty**: Incident management, on-call schedules, service health - **PostHog**: Product analytics, feature flags, experiments - **Polar**: Open-source funding and subscription management - And more being added regularly Browse the full registry at [stilla.ai/integrations](https://stilla.ai/integrations). ## Custom MCP servers Connect any MCP-compatible server by providing its URL: 1. Go to **Settings → Account → Connections** 2. Select "Add MCP Server" 3. Enter the server URL 4. Configure authorization (headers or OAuth) 5. Stilla discovers available tools automatically ## Building MCP servers If you maintain an internal tool or API, you can build an MCP server for it and connect it to Stilla. The MCP specification is open and documented at [modelcontextprotocol.io](https://modelcontextprotocol.io). All changes to external systems through MCP use [change proposals](/docs/basics/canvases). Stilla never modifies MCP-connected systems without your approval. --- # Notion > Search, read, and update your Notion workspace from Stilla. # Notion Connect Notion to search pages, read documentation, and keep your workspace up to date based on meeting discussions and decisions. ## Setup Notion requires a **MCP connection**. Connect your personal Notion account in **Settings → Account → Connections** to give Stilla access to your workspace. ## What Stilla can do ### Search & read - Search across all pages in your connected Notion workspace - Read page content including text, databases, and embedded media - Follow links between pages to understand context ### Update pages - Edit existing page content based on new information - Keep documentation in sync with decisions made in meetings or chat - Update project specs when requirements change Changes to Notion are made through change proposals using Stilla's MCP integration. You review the proposed changes before they're applied. ## Common use cases - **Meeting follow-up**: After a meeting where a spec was discussed, Stilla updates the Notion page to reflect decisions - **Documentation sync**: When code changes affect documented behavior, Stilla proposes updates to the relevant Notion pages - **Knowledge retrieval**: Ask Stilla questions and it searches Notion alongside other connected tools for comprehensive answers Stilla can only access pages that your connected Notion account has permission to view. Ensure the pages you want Stilla to work with are accessible to your account. --- # Integrations Overview > Connect your tools so Stilla can search, act, and stay in sync. # Integrations overview Stilla connects to your tools so it can search across them, take actions, and keep everything in sync. The more you connect, the more context Stilla has to work with. ## How integrations work Stilla connects through two mechanisms: ### User connections Personal connections tied to your individual account. These give Stilla access to your data in each platform: - Your Linear issues and projects - Your GitHub repos and PRs - Your Google Calendar, Drive, and Gmail - Your Notion workspace - MCPs (with OAuth, or custom headers) - Connect to tools with API keys Set up user connections in **Settings → Account → Connections** in the Stilla app. ### Organization channels Organization-wide connections that enable Stilla in shared spaces: - **Slack**: Let anyone mention **`@Stilla`** in Slack channels - **GitHub**: Let anyone mention **`@Stilla`** in repo issues and PRs - **Linear**: Let anyone mention **`@Stilla`** in Linear issues - **Discord**: Let anyone mention **`@Stilla`** in Discord channels Organization channels are set up by workspace admins. ## Available integrations Stilla supports 35+ integrations across these categories: | Category | Integrations | | ---------------------- | ---------------------------------------------------------------- | | **Project Management** | Linear, Asana, Todoist | | **Communication** | Slack, Discord, Gmail | | **Code** | GitHub | | **Knowledge** | Notion, Google Drive, Mintlify | | **Calendar** | Google Calendar, Clockwise | | **Analytics** | PostHog, Amplitude, Mixpanel | | **CRM** | Attio, HubSpot | | **Infrastructure** | Cloudflare, Vercel, Sentry, PagerDuty, Honeycomb, Supabase, Neon | | **Payments** | Stripe, Polar | | **Customer Comms** | Intercom, Customer.io | | **Extensibility** | Any tool via [MCP](/docs/integrations/mcp) | Browse the full list at [stilla.ai/integrations](https://stilla.ai/integrations). ## Setting up connections Navigate to **Settings → Account → Connections** in the Stilla app. Select the platform you want to connect. Follow the OAuth flow to grant Stilla access. You'll be redirected to the platform to approve permissions. Once connected, Stilla can immediately search, read, and (where applicable) write to that platform. Some connections require admin access to your organization's account (e.g., Slack organization channel). Check with your workspace admin if you can't complete a connection. --- # Slack > Chat with Stilla in Slack, send messages, and automate channel workflows. # Slack Connect Slack to chat with Stilla directly in your channels, read conversations for context, and send messages as part of automated workflows. ## Setup Slack requires an **organization channel** connection. A workspace admin installs the Stilla app in your Slack workspace, which enables @Stilla mentions across all channels. ## What Stilla can do in Slack ### Read & search - Search message history across channels Stilla has access to - Read full conversation threads for context - List channel members and metadata - Browse channel topics and purposes ### Write - Send messages to channels or direct messages - Reply to specific threads - Add emoji reactions to messages - Tag users, channels, and user groups using natural formats ### Agent channels Configure custom [agent](/docs/agents/overview) behaviors for specific Slack channels. Stilla responds differently depending on which channel it's mentioned in: - **#support**: Follow triage steps, search knowledge base, escalate if needed - **#engineering**: Pull relevant PRs and issues, check CI status - **#general**: Answer general questions with full context See [Triggers](/docs/agents/triggers) for setup details. ## Auto-trigger mode By default, Stilla requires an @Stilla mention to respond in Slack. For intake channels like #support-requests or #feedback, you can disable the mention requirement so Stilla processes **every** message automatically. This is configured per-channel in your agent's trigger settings. ## Message formatting Stilla automatically converts markdown to Slack's mrkdwn format. Write naturally with markdown — bold, italic, links, lists, and code blocks all render correctly in Slack. ## Tagging Tag people, channels, and groups using natural formats: - `@user@example.com` or `@display-name` — tag a user - `#channel-name` — tag a channel - `@team-handle` — tag a user group Stilla resolves names and emails to Slack IDs automatically. --- # Stilla MCP > Access your Stilla workspace from Claude Code, Cursor, and other MCP-compatible tools. # Stilla MCP Connect your AI tools to Stilla via the [Model Context Protocol](https://modelcontextprotocol.io) — giving them direct access to your team's meeting notes, decisions, canvases, and transcripts. ## Capabilities - **Search your workspace** — Find canvases, meeting notes, and agent outputs by topic or keyword - **Read meeting notes and transcripts** — Access full notes, summaries, and recordings from any meeting - **Pull context while coding** — Retrieve decisions, specs, and action items while writing code - **Inspect workflow outputs** — Access workflow runs, agent memory, and synthesis canvases ## Setup Add Stilla as a remote MCP server using this URL: ``` https://api.stilla.ai/mcp ``` Stilla uses OAuth for authentication. You'll be prompted to sign in the first time you connect. --- # How Stilla Handles the "Lethal Trifecta" > How Stilla mitigates prompt injection risks from combining private data access, untrusted content, and external communication. # How Stilla handles the "Lethal Trifecta" AI agents that combine access to private data, exposure to untrusted content, and the ability to communicate externally are vulnerable to prompt injection attacks — where malicious instructions hidden in content trick the agent into leaking data or taking unauthorized actions. Simon Willison calls this combination the ["lethal trifecta"](https://simonwillison.net/2025/Jun/16/the-lethal-trifecta/). Stilla has all three capabilities. That's what makes it useful — reading your emails, summarizing documents, and acting on your behalf. But it also means we need strong safeguards. **No AI system can fully prevent prompt injection or its effects today.** Anyone who claims otherwise is overstating the state of the art. What we can do is constrain the blast radius so that even if an LLM follows a malicious instruction, the damage it can do is limited. Here's how: ## Mitigations ### Organization-wide restrictions Organization admins can configure restrictions at the org level that apply across every interaction with Stilla — user chats, Slack conversations, and agents alike. These policies set the maximum scope of what Stilla can access for anyone in the organization; individual chats and agents can be more restrictive, but cannot relax constraints beyond what the org allows. Admins can also configure **default agent restrictions** so new agents inherit the organization's security posture automatically, rather than starting from full access. ### Connection management Organization admins can disable specific integrations entirely, preventing users from connecting tools that access data too sensitive for AI processing. ### Credential isolation Stilla never exposes long-lived API keys or OAuth tokens to the LLM. All third-party integrations are authenticated server-side using credentials connected by each user — the LLM sees only the data those credentials return, never the credentials themselves. Credentials are also scoped per user. When Stilla acts on your behalf, it can only reach what _you_ can reach; access to one account never bleeds into another so even if one account is compromised, the blast radius stops there. A few tools running inside Stilla's sandboxed compute environment (the "computer") need direct credentials — for example, `git` to push commits for a pull request, or `gws` to read from Google Drive. These tokens are never stored in the sandbox. Instead, Stilla mints **short-lived, downscoped tokens** only when a command explicitly requests them, and ephemerally injects them at execution time (as environment variables or secrets scoped to that single command). Commands that don't need credentials run with none. - **GitHub**: a GitHub installation access token scoped to just the repositories the command names, with the minimum permission set the operation needs (e.g. `contents:write`, `metadata:read`). - **Google Workspace**: the user's OAuth token refreshed and narrowed to Drive read-only scope, even when the underlying integration holds broader access. The LLM decides _which_ command to run, but the token value never enters its context. ### Network policies Organizations can control web access at the org level: - **No access**: Block all external web requests - **Trusted sources only**: Allow requests to a curated allowlist (customizable per org) - **Full access**: Allow all web requests ### Agent restrictions Agents (automations triggered by events or schedules) inherit your organization's restrictions and can only narrow them further. When you create one, you control exactly what it can access and do: - **Data access**: Limit which integrations and resources the agent can read - **Write actions**: Restrict which actions the agent can execute, down to specific channels, recipients, or repositories - **Network access**: Control whether the agent can make web requests, and to which domains Restrictions are enforced at runtime — the agent cannot bypass them regardless of what instructions it receives. ### Change proposals and human-in-the-loop In interactive chats, Stilla proposes changes as **change proposals** that you review and accept before they take effect. Agents can auto-accept change proposals within their configured restrictions. Certain high-risk actions always require manual acceptance, even for agents: - Emails to recipients outside your organization - Messages to externally shared Slack channels (Slack Connect) ### MCP server safeguards Third-party MCP servers can span all three legs of the trifecta — reading private data, introducing untrusted content, and communicating externally. Stilla inspects each tool's `readOnlyHint` annotation: tools that declare themselves as mutating are blocked from direct execution and must be routed through a change proposal. MCP connections are also subject to the same restriction and network policies as native integrations. ## Our approach We follow the principle articulated in the [Design Patterns for Securing LLM Agents against Prompt Injections](https://arxiv.org/abs/2506.08837) paper: "once an LLM agent has ingested untrusted input, it must be constrained so that it is impossible for that input to trigger any consequential actions." We can't prevent the LLM from reading a malicious instruction. But we can — and do — ensure that consequential actions require explicit human approval, operate within declared restrictions, and respect organizational policies. We're continuously improving Stilla's security posture and have several additional guardrails on our roadmap to further reduce risk. For questions about Stilla's security practices, see our [Trust Center](https://trust.stilla.ai/), visit our [Security](/security) page, or contact security@stilla.ai. --- # Support > Get help, join the community, or contact our team. # Support We're here to help you get the most out of Stilla. Whether you have a technical question, feedback on the product, or just want to say hi, there are several ways to reach us. ## Other ways to connect ### Enterprise support For enterprise inquiries, custom contracts, or dedicated success managers, please contact our sales team directly. [Contact Sales](mailto:sales@stilla.ai) ## Self service Before reaching out, you might find your answer in our documentation: - [Getting Started](/docs/getting-started) — Set up your account and first connections. - [FAQ](/docs/faq) — Answers to common questions about privacy, pricing, and features. --- Generated: 2026-07-14T15:22:00.421Z