# Janet Agent Source: https://docs.janet.ai/agent Manage your work with natural language
Chat Docs
find all unassigned bugs related to login issues from the past 12 hours, assign them all to me, and create a prioritization plan doc
search\_tickets
search\_tickets
update\_tickets
update\_tickets
create\_document
create\_document

Found 3 unassigned login bugs from the past 12 hours and assigned them all to you:

SW-84 SSO token refresh fails silently
SW-71 OAuth callback timeout on mobile
SW-63 Session cookie not persisting after redirect

I also created Login Bugs Triage Plan with a prioritized breakdown of each issue and suggested next steps.

Would you like me to add these to the current sprint, or create child tasks for each bug?

Sonnet 4.6
find all unassigned bugs related to login issues from the past 12 hours, assign them all to me, and create a prioritization plan doc @ for context, ask, update tickets
All actions, from ticket creation and updates, to task reorganization and cleanup, to sprint planning and document drafting, can be done via the Janet Agent. Accessible in the platform, Slack, and iMessage. ## Ask Janet You can reach Janet Agent from anywhere in the dashboard without leaving the page you're on. Click **Ask Janet** in the sidebar, or press **⌘⏎** (Ctrl+Enter) from any page, to open the agent overlay. Press **Esc** or click outside to close it. Open **Janet Agent** for the full-page experience. This is your default landing page. Open the **Chat** module in the right panel to talk to Janet alongside your current view. Every conversation, code run, and brainstorm is saved as a **session** you can return to. The overlay, the full page, and the side panel all share the same conversations — start something in one and pick it back up in another. ### Sessions Your work is organized into sessions, grouped into **Chats**, **Code runs** (builds), and **Brainstorm**. Search by title or key, rename or delete chats, and pin code runs you want to keep handy. Code runs that are waiting on you are flagged with a **Needs input** indicator. ### The composer When you message Janet you can: * **Add context** with `@` to mention tickets, projects, documents, and people. * **Attach files** — images, PDFs, text, audio, or video. * **Pick a model** per message: Opus 4.8, Sonnet 4.6 (default), or Haiku 4.5. * Use **prompt templates** for common requests like triaging open tickets. * Send a message straight to your org's JanetClaw with the **`/janetclaw`** command. Janet asks for confirmation before running actions that change your workspace, and pauses to ask clarifying questions when it needs a decision from you. ### Beyond chat Record a conversation and let Janet capture notes, action items, and ticket proposals. Ask Janet to build something, or send a ticket to Claude Code to open a draft PR. ### What you can do Filter by status, assignee, priority, type, tags, or dates. Search by meaning with semantic search. Get full ticket details with comments and child tasks. Create, update, and delete tickets. Bulk update many at once. Move and reorder within columns. Schedule tickets to activate at a future time. Create and manage sprints. Add, remove, and reorder tickets within sprints. Create and manage child tasks on any ticket. Add, edit, and delete comments on any ticket. Create, read, and update org-wide or private documents. Search the web for current information when you need context outside your workspace. Chain any of the above in a single request. The agent handles the sequencing automatically. # Brainstorm Source: https://docs.janet.ai/features/brainstorm Record a conversation out loud and let Janet capture notes, action items, and ticket proposals
**Brainstorm** records a conversation: a meeting, a planning session, or thinking out loud. Janet listens live. As you talk, Janet builds a running capture of the insights, decisions, and actions that matter. When you stop, it saves a notes document and proposes tickets for you to review. Brainstorm is part of [Janet Agent](/agent): each brainstorm is a chat session you can keep talking to. ## Start a brainstorm On the Janet Agent home page, click **Record a meeting** in the composer toolbar to start a new brainstorm session. Open the [Ask Janet overlay](/agent) (⌘⏎), switch to the **Brainstorm** tab, and click **Start Recording**. In a full page chat session, click **Record a meeting** (the mic) in the composer to begin recording in that session. Find past brainstorms under the **Brainstorm** tab in the sessions list, or start a fresh one with **New**. New sessions are titled `Brainstorm {date}` by default, which you can edit. ## While you record As you speak, Janet transcribes the conversation and shows **What Janet's capturing**: a live timeline of moments grouped into **Insights**, **Decisions**, and **Actions**. The raw transcript stays hidden; the timeline is the live view. You can: * **Ask Janet while you record**: type in the composer to ask questions or give direction without interrupting the recording. * **Pause** and **Resume**: pause to review what was captured or to ask Janet to fix something, then resume. * **Discard**: throw away the session. * **Stop & save**: finish and generate your notes and proposals. Ticket proposals are prepared in the background while you record but are only presented for review after you stop and save. ### Microphone and consent Brainstorm needs microphone access. If your browser blocks the mic, allow it for the site and reload. When a session records raw audio (used for speaker attribution), Janet shows a reminder that everyone present should agree to be recorded. For the best transcription with speaker labels, Brainstorm uses live streaming transcription. If that isn't available, it falls back to your browser's built-in speech recognition (Chrome or Edge). ## What you get when you save When you stop and save, Janet produces: | Output | Description | | -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Notes document** | A document with the transcript, summary, and action items. It appears in [Documents](/features/documents) with a **Brainstorm** badge. Open it from **Open document** in the review card. | | **Summary** | A short recap of the conversation. | | **Action items** | The action items Janet captured. | | **Ticket proposals** | Proposed ticket changes (**New** tickets, **Status** changes, or description **Append**s) that you **Accept** or **Dismiss**. | After saving, Janet starts a review in the chat (**Let's confirm what I captured**) so you can walk through the notes and proposals together and ask follow-up questions. # Documents Source: https://docs.janet.ai/features/documents Create and manage collaborative documents with Janet Agent, MCP, or the editor Documents give you and your agents a shared place for specs, notes, and decisions. [Janet Agent](/agent) can work with them in chat, while connected MCP clients can use the [Janet MCP server](/mcpserver). Changes appear live when the document is open.
Push Notification Redesign editor
Push Notification Redesign
Overview
Redesign the push notification system to support per-channel preferences and batched delivery. Related tickets: MOB-38 MOB-12
Requirements
Users can toggle notifications per channel (Slack, email, in-app) Will
Batch low-priority alerts into a single daily digest
Critical alerts (P0/P1) always deliver immediately
Open Questions
Adhit Sankaran — should we migrate existing prefs or reset to defaults? Adhit
Rate limit strategy for webhook delivery — see MOB-27
Will Barthell to confirm API contract with mobile team
## Work with documents using agents Ask Janet Agent to find a document or change one in natural language. MCP clients can use the same document capabilities directly. | Task | MCP tool | | ----------------------------------------- | ---------------------------------------- | | List accessible documents | `list_documents` | | Read a document | `get_document` | | Create a private or organization document | `create_document` | | Change the title or content | `update_document` | | Soft-delete or recover a document | `delete_document` and `restore_document` | Document tools follow your Janet permissions. An agent can only read documents you can access. Only the owner can delete or restore a document. When you call `update_document` through MCP, send the complete Markdown body. The new content replaces the whole document rather than patching one section. ### Use documents as agent context The `search_tickets_semantic` tool includes document content when you search without a project filter. This lets an agent find relevant specs or meeting notes alongside tickets. You can also attach a Janet document to a ticket with `add_context_to_tickets` by setting `type` to `document`. To show the same document under another page without moving it, use `add_document_shortcut`. ## Find and organize documents Open **Documents** from the sidebar. Use **All**, **Private**, **Shared with Me**, or **Organization** to filter the list. Press **⌘K** to search by title or content. Press **c** to create a document. Use folders to group related documents. Folders can be private or available to the organization, and their access rules apply to the documents inside them. You can nest folders or drag a document into one. Synced [meeting notes](/integrations/note-takers) are grouped into read-only folders by provider. Documents created from a [brainstorm](/features/brainstorm) show a **Brainstorm** source badge. ## Edit and collaborate Create a document from the **Create** menu, then choose **Private** or **Organization** visibility. The editor supports rich text and images. It also supports syntax-highlighted code blocks. Type `/` to open formatting and embed commands. Type `@` to link tickets or other documents. You can also mention people and projects. Other editors appear with live cursors. You can leave comments and filter them by open or resolved. Local edits sync after you reconnect if your connection drops. ## Share documents Owners have full control. Editors can change content and invite other people, while viewers have read-only access. Organization documents are visible to everyone in the organization, and organization admins can edit them. # Welcome to Janet AI Source: https://docs.janet.ai/index Janet AI is the **intelligent product management system** built for modern teams. Janet tracks and manages your work automatically so you can focus on building.
PROJ-142
Users getting 500 errors on checkout when applying discount codes over \$50
PROJ-136
Add WebSocket presence indicators showing who's viewing each ticket in real time
PROJ-131
Migrate payment webhooks from Stripe v2 to v3 event schema
PROJ-128
Document rate limiting behavior and retry headers for public API v2 endpoints
PROJ-125
Race condition in JWT refresh causes 401 cascade across microservices
PROJ-122
Redesign settings page responsive layout for iPad and tablet viewports
PROJ-119
Configure GitHub Actions CI with parallel test runners for staging deploys
PROJ-142
Users getting 500 errors on checkout when applying discount codes over \$50
PROJ-136
Add WebSocket presence indicators showing who's viewing each ticket in real time
PROJ-131
Migrate payment webhooks from Stripe v2 to v3 event schema
PROJ-128
Document rate limiting behavior and retry headers for public API v2 endpoints
PROJ-125
Race condition in JWT refresh causes 401 cascade across microservices
PROJ-122
Redesign settings page responsive layout for iPad and tablet viewports
PROJ-119
Configure GitHub Actions CI with parallel test runners for staging deploys
PROJ-117
Slack bot drops messages when channel has more than 500 members
PROJ-114
Database connection pool exhausted under load causing cascading timeouts
PROJ-111
Build dark mode color token system with CSS custom properties for theming
PROJ-108
Add CSV export option for filtered ticket views with custom column selection
PROJ-105
Email notifications sending duplicate digests when user belongs to multiple orgs
PROJ-102
WebSocket reconnection loop after deploying new API gateway version
PROJ-99
Implement granular RBAC permissions for project-level admin actions
PROJ-96
Optimize N+1 query in ticket list endpoint causing 3s response times
PROJ-117
Slack bot drops messages when channel has more than 500 members
PROJ-114
Database connection pool exhausted under load causing cascading timeouts
PROJ-111
Build dark mode color token system with CSS custom properties for theming
PROJ-108
Add CSV export option for filtered ticket views with custom column selection
PROJ-105
Email notifications sending duplicate digests when user belongs to multiple orgs
PROJ-102
WebSocket reconnection loop after deploying new API gateway version
PROJ-99
Implement granular RBAC permissions for project-level admin actions
PROJ-96
Optimize N+1 query in ticket list endpoint causing 3s response times
## What Makes Janet Different Janet doesn't wait for manual updates. It works in the background, tracking conversations, updating tickets, and keeping your projects organized. **Janet auto-tracks** issues from Slack, Discord, SMS, and email so nothing falls through the cracks. **Janet enriches tickets** with auto-generated descriptions, smart tagging, related issue clustering, suggested assignees and priorities, duplicate detection, and continuous quality improvements. **Janet auto-moves** tickets as GitHub PRs are opened and merged. **The Janet Agent** can create tickets, update statuses, reorganize boards, plan sprints, and draft documents — accessible from Slack, SMS, and directly in the platform. **The Janet MCP Server** brings this same power to Claude and Cursor, so your coding agents can create, update, and resolve issues. ## Get Started Set up your first project # GitHub Source: https://docs.janet.ai/integrations/github Automatically move tickets as Pull Requests are opened and merged Connect your GitHub repos to Janet AI so tickets move automatically when PRs are opened and merged.
INTEGRATION SETTINGS
GitHub
Repositories
Accounts
PR Events
Danger Zone
Slack
Discord
GitHub
Connected as [will@acme.com](mailto:will@acme.com)
Your Repos Team Repos Add Repository
acme/frontend
Mobile App · main
Active
acme/api
Backend API · main
Active
## Setup Go to **Integrations -> GitHub**, click **Connect**, and install the Janet AI GitHub App. Then click **Add Repository** to link a repo to a project. | Setting | What to Choose | | ----------------- | ------------------------------------------------------------ | | Repository | The repo to monitor | | Production Branch | Usually `main` -- only PRs to this branch trigger automation | | Project | Which Janet project to update | | When PR Opens | Column to move tickets to (default: "In Review") | | When PR Merges | Column to move tickets to (default: "Done") | Use **Link Another Project** to map the same repo to multiple projects. ## How It Works When a PR is opened, Janet AI matches it to a ticket -- either by explicit mention (`fixes PROJ-123`) or by semantic search across active tickets. The matched ticket moves to your configured column automatically.
INTEGRATION SETTINGS
GitHub
Repositories
Accounts
PR Events
Danger Zone
Slack
Discord
GitHub
Connected as [will@acme.com](mailto:will@acme.com)
Mergedcleanup expired org invites from database11d ago
Mergedfix cost tracking entry points + env vars21d ago
Openedadd rate limiter to public API endpoints2d ago
Mergedbug fix: agent failing to read user created docs12d ago
Mergedauto-nav to repos tab after github install13d ago
## Auto-Create Tickets Enable **"Create ticket if no match found"** in your repo config. Janet AI will create a new ticket from the PR title and place it in your configured column -- all the same automation still applies. ## Multiple Accounts Connect additional GitHub accounts via **Settings -> Add Account** for personal + work GitHub or multiple organizations.
INTEGRATION SETTINGS
GitHub
Repositories
Accounts
PR Events
Danger Zone
Slack
Discord
GitHub
2 accounts connected
Add Account
willcraft
[will@acme.com](mailto:will@acme.com) · Connected Mar 12
Disconnect
will-personal
[will@gmail.com](mailto:will@gmail.com) · Connected Mar 28
Disconnect
## FAQ Yes, to different projects. The same repo-project combination can only exist once. Yes. Any developer's PR triggers it, not just yours. Yes. Click "Link Another Project" when configuring. Include `#janet-ignore` in the PR title or description. Janet AI will skip it entirely. Janet AI identifies PR contributors by commit email. If your commit email is anonymized (e.g. `123456+username@users.noreply.github.com`), Janet can't match it to your account. **GitHub.com:** 1. Click your profile picture -> **Settings** 2. In the **Access** section, click **Emails** 3. Add and verify your email address 4. Set it as your **Primary email address** 5. Make sure **"Keep my email addresses private"** is **Off** For the full guide see: [Mac](https://docs.github.com/en/account-and-profile/how-tos/email-preferences/setting-your-commit-email-address?platform=mac#setting-your-commit-email-address-on-github) / [Windows](https://docs.github.com/en/account-and-profile/how-tos/email-preferences/setting-your-commit-email-address?platform=windows#setting-your-commit-email-address-on-github) **GitHub Desktop:** On Mac: **GitHub Desktop** (menu bar) -> **Settings** -> **Git** On Windows: **File** -> **Options** -> **Git** Select the email you use with Janet AI in the **Email** dropdown. For the full guide see: [Mac](https://docs.github.com/en/desktop/configuring-and-customizing-github-desktop/configuring-git-for-github-desktop?platform=mac#configuring-your-global-author-information) / [Windows](https://docs.github.com/en/desktop/configuring-and-customizing-github-desktop/configuring-git-for-github-desktop?platform=windows#configuring-your-global-author-information) **Command line:** ```bash theme={null} git config --global user.email "YOUR_EMAIL" ``` For the full guide see: [Mac](https://docs.github.com/en/account-and-profile/how-tos/email-preferences/setting-your-commit-email-address?platform=mac#setting-your-commit-email-address-in-git) / [Windows](https://docs.github.com/en/account-and-profile/how-tos/email-preferences/setting-your-commit-email-address?platform=windows#setting-your-commit-email-address-in-git) # Meeting Notes Source: https://docs.janet.ai/integrations/note-takers Sync meeting transcripts and summaries from your note taker, and turn action items into tickets
GitHub
Create and update tickets from Pull Requests
Slack
Create and update tickets from Slack messages
Meeting Notes
Save transcript & notes in documents and turn them into tickets
Connected
Messages (SMS)
Create and update tickets via text
Connect a meeting note taker so every meeting transcript and summary is saved to your private **Meeting Notes** documents automatically. Action items become tickets you review before they're created. Meeting Notes replaces the Google Calendar integration. If you don't already use a note taker, [Granola](https://granola.ai)'s free Basic plan supports everything you need. ## How it works After you connect a provider, Janet: 1. Ingests each meeting's transcript and summary into a **Meeting Notes** document, grouped by provider. 2. Extracts action items and surfaces them as **proposed ticket changes**. 3. Lets you review each proposal and **Accept** or **Dismiss** it before any ticket is created or updated. Meeting Notes integrations are connected **per user**. Each person connects their own note taker. ## Supported providers | Provider | How it connects | Self serve | | ---------------- | ------------------------------------------- | ---------- | | **Granola** | Janet pulls your notes on demand | Yes | | **Fireflies.ai** | Provider pushes notes to Janet via webhook | Yes | | **Fellow\.ai** | Request an integration and Janet sets it up | No | | **Otter.ai** | Request an integration and Janet sets it up | No | Don't see your note taker? In the setup wizard, choose **Don't see your preferred note taker?** and tell Janet which one you'd like. For example tl;dv, Avoma, or Notion AI. The team will prioritize it. ## Connect a note taker Open **Integrations → Meeting Notes** to launch the setup wizard.
1
Choose your provider

Select Granola, Fireflies.ai, Fellow\.ai, or Otter.ai.

Meeting Notes
Granola AI notepad for back to back meetings.
Fireflies.ai Records, transcribes, and summarizes meetings.
2
Add your API key (Granola and Fireflies)

Paste your provider API key and click Connect. For Fireflies you can also add an optional signing secret to verify webhook signatures.

Fellow\.ai and Otter.ai aren't self serve yet. Instead, click Request integration and the team will set it up for you. A workspace admin must enable the provider's API key and webhook feature first.

Granola API key
Required. Janet uses it to pull your notes from Granola on demand.
Connect
3
Set up the webhook (Fireflies)

After connecting a webhook based provider, copy your ingest URL (it includes your secret key) and paste it into the provider's webhook settings.

You can rotate the secret later from the integration's Settings tab if needed.

Ingest URL
[https://api.janet.ai/ingest/ff…](https://api.janet.ai/ingest/ff…) Copy Copied
### Provider setup notes * **Granola** doesn't push notes automatically. After a meeting, ask Janet to "pull my latest Granola notes", or use **Pull latest notes** on the integration's **Settings** tab. They'll be saved to Meeting Notes. * **Fireflies** sends the transcript and summary to Janet automatically when transcription completes. Set its **Webhook URL** to your Janet ingest URL. ## Where your meeting notes appear Each meeting becomes a private document under a provider folder (Granola, Fireflies, and so on) in [Documents](/features/documents). Provider folders are read only groupings. Add the **Meeting notes** widget to a [Views dashboard](/views/dashboard) to see your most recently synced notes, optionally scoped to a project. The integration's **Meetings** tab lists every meeting with its date, attendees, and ticket extraction status. Open any meeting to see its transcript, attendees, the notes document, and the tickets created from it. ## Action items into tickets When a transcript is ingested, Janet runs ticket extraction and proposes changes for you to review: * **New**: create a ticket with a title, description, project, priority, and status. * **Edited**: update an existing ticket's status or append details to its description. Open ** change(s) to review** on a meeting to see the **Proposed ticket changes**. Choose **Accept** or **Dismiss** per proposal, or **Accept all** / **Dismiss all**. Approved proposals appear under **Tickets from this meeting** with links to each ticket. Nothing is created automatically. Action items always surface as proposals that you approve first. ## Manage your integration Each connected provider has its own entry with three tabs: * **Settings**: view connection status, configured API key, and sync activity. Rotate the webhook secret, replace the API key, or (for Granola) pull the latest notes. * **Meetings**: browse synced meetings and review ticket proposals. * **Danger Zone**: disconnect the provider. Janet stops receiving new notes and the webhook secret stops working, but meeting documents already created are kept. ### Add participants From a meeting's details panel, use **Add participant** to grant a teammate access to that meeting, its notes document, and its ticket proposals. # Slack Source: https://docs.janet.ai/integrations/slack Capture reports via emoji reactions and slash commands, and chat with Janet AI directly in Slack threads. Navigate to **Integrations → Slack** to install. ## Slash Commands Workspace members use `/bug-report` and `/feature-request` to submit reports that Janet AI processes into tickets.
INTEGRATION SETTINGS
GitHub
Slack
Slash Commands
Emoji Reactions
Danger Zone
Discord
Email
Slack
Acme Inc Workspace Connected
Slash Commands
When workspace members use these commands, a modal appears to submit a report.
/bug-report Mobile App
/feature-request Mobile App
## Emoji Reactions React to any Slack message with a configured emoji to instantly create a ticket — no commands needed. Navigate to **Integrations → Slack → Emoji Reactions** to set up rules mapping emojis to projects and columns. Configure **reactor scope** per rule: org members only or anyone including external connections.
INTEGRATION SETTINGS
GitHub
Slack
Slash Commands
Emoji Reactions
Danger Zone
Discord
Email
Slack
Acme Inc Workspace Connected
Emoji Reactions
React to Slack messages to auto-create tickets.
Add Rule
🎫 Mobile App MOB Backlog
🔴 Mobile App MOB Urgent
## Janet AI in Slack `@mention` the bot in any Slack thread to use all of [Janet Agent's](/agent) capabilities — create tickets, search, update, comment — without leaving Slack. Each thread syncs with your Janet AI chat history.
Thread
Adhit Sankaran 10:24 AM
@Janet AI look through the backlog and find quick wins we can knock out this week, then create a sprint for them
👍 2
1 reply
Janet AI APP 10:24 AM
Found 5 quick wins in the backlog:
- MAIN-434 \[Backlog] "Enrich sparse tickets" (Medium, @adhit.sankaran) - MAIN-612 \[Backlog] "Send notifications to SMS" (Medium) - MAIN-991 \[Backlog] "Test project name resolution" (Low) - MAIN-101 \[Backlog] "Teams integration" (Low, @will.barthell) - MAIN-1136 \[Backlog] "Improve AI insights page" (Medium)
Created sprint 'Quick Wins — Apr 2' (2026-04-02 to 2026-04-09) and added all 5 tickets.
Want me to assign these out across the team or adjust priorities?
# JanetClaw Source: https://docs.janet.ai/janetclaw Set up and use your cloud-hosted AI project manager
JanetClaw
Your always-on AI project manager
JanetClaw is a cloud-hosted AI teammate that works in the background and responds when you message it. It turns conversations into tickets and keeps existing work updated. It can also prepare briefings or carry out repeatable workflows. Each assistant runs in an isolated cloud pod with its own memory and permissions. Open **JanetClaw** from the Janet sidebar to set it up or manage it. ## How JanetClaw works Your organization starts with a team assistant. You can add a separate customer support assistant after the team assistant is live. | Where you use it | What happens | | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Slack DM** | You have a private conversation with JanetClaw. | | **Internal Slack channel** | Mention `@JanetClaw` to use the shared team assistant. It acts with your Janet permissions, so its actions are attributed to you. | | **Enrolled Slack Connect channel** | External customers can talk to the customer support assistant. It can work with tickets, but it cannot use member credentials or other connected tools. | JanetClaw only responds to external customers in Slack Connect channels that an admin has enrolled. ## What you can do | Use case | Example | | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ | | **Manage tickets** | Create a ticket from a Slack message or email. JanetClaw attaches the source as context and updates a matching ticket instead of creating a duplicate. | | **Get project context** | Ask JanetClaw to summarize work using the tickets and connected sources you can access. | | **Stay ahead of work** | Receive a morning briefing and create reminders. JanetClaw can also flag messages that still need a response. | | **Run coding tasks** | Ask JanetClaw to take a ticket from planning to a draft pull request with Claude Code. | | **Build team workflows** | Add a command for an on-demand report. You can schedule a recurring check or create a trigger for a specific event. | JanetClaw records its work in the **Activity** section. Ticket actions also appear in the conversation where the work started. ## Set up JanetClaw ### Before you start You need: * Organization admin access * A Slack workspace you can connect * Available JanetClaw credits or shared trial credits New organizations can start with their shared signup credits without adding a card. If your organization is out of credits, an admin can buy credits from **Organization Settings → Billing**. Select **JanetClaw** in the sidebar. Only an organization admin can create the assistants. Select **Sign in with Slack** and authorize the JanetClaw app for your workspace. Select **Team assistant**. Janet creates the cloud pod and shows its progress. Setup usually takes a couple of minutes, and you can close the modal while it runs. In **General**, choose the point of contact and timezone. Set the work hours and morning briefing next. You can also choose monitored inboxes and the background activity level. To add customer support, open **Organization → Customer support** after the team assistant is live. Set up the assistant, then enroll each Slack Connect channel where it should respond. ## Customize how JanetClaw works Use the **Configure** sections to shape its behavior: * **Commands** run when someone invokes a custom slash command. * **Schedules** run at a time or cadence you choose. * **Triggers** run when a defined event happens. * **Instructions** control tone and organization-specific guidance. You can also add knowledge base URLs. You can add a ready-made workflow or write your own. JanetClaw stores these behaviors in its playbook, where you can disable or update them later. ## Connect other tools Open **Integrations** to connect an available provider. Choose **Just me** for a personal connection. Admins can choose **Whole team** when a provider supports organization-wide access. Personal connections stay private to the member who connected them. Team connections are available to the shared team assistant. The customer support assistant cannot use either type. Email and calendar workflows require each member to connect their own Google account with **Just me** access. ## Manage usage JanetClaw uses organization credits for direct requests and background work. Running cloud assistants also uses platform credits. In **General**, change **Activity level** to control how often JanetClaw wakes up for background checks. Admins can review credit use in **Organization Settings → Usage**. Manage plans and add credits from **Organization Settings → Billing**. # MCP Server Source: https://docs.janet.ai/mcpserver Connect AI agents to your organization
claude — \~/projects/frontend
look at my tickets in "To Do" and make a plan for how I should prioritize and finish them
janet-ai - list\_tickets (MCP)(project\_key: "SW", status: "To Do", assignees: \["me"])
janet-ai - list\_tickets (MCP)(project\_key: "SW", status: "To Do", assignees: \["me"])
You have 4 tickets in To Do. Here's how I'd tackle them:
1. SW-84 SSO token refresh — blocking other auth work, fix first
2. SW-71 OAuth callback timeout — related to SSO, do right after
3. SW-63 Session cookie fix — standalone, quick win
4. SW-58 Safari redirect — lowest impact, last
Want me to spawn agents to start working through these?
Give AI agents like Claude Code, Cursor, and Codex full access to your Janet AI workspace. Create & resolve tickets, manage sprints, and [more](#available-tools). ## Setup Run this command in your terminal: ```bash theme={null} claude mcp add janet-ai --transport http https://mcp.janet.ai/mcp ``` Then run `/mcp` in Claude Code and complete the OAuth flow to connect your Janet AI Organization. Open **Settings → Connectors → Add custom connector** and enter the URL: ``` https://mcp.janet.ai/mcp ``` Complete the OAuth flow to connect your Janet AI organization. Remote MCP servers in Claude Desktop are configured through Settings → Connectors, not the `claude_desktop_config.json` file. Go to **Cursor Settings → Tools & MCP** and click **New MCP Server**. This opens `mcp.json` — add the following: ```json theme={null} { "mcpServers": { "janet-ai": { "url": "https://mcp.janet.ai/mcp" } } } ``` Save, then back in Cursor Settings click **Connect** next to janet-ai to authenticate and choose your organization. Create or edit `.vscode/mcp.json` in your workspace: ```json theme={null} { "servers": { "janet-ai": { "type": "http", "url": "https://mcp.janet.ai/mcp" } } } ``` Open the Command Palette and run **MCP: List Servers**, then start the Janet AI server and complete the OAuth flow. Open Windsurf Settings and search for **MCP**. Click **View raw config** to open `mcp_config.json`, then add: ```json theme={null} { "mcpServers": { "janet-ai": { "serverUrl": "https://mcp.janet.ai/mcp" } } } ``` Save, restart Windsurf, and complete the OAuth flow on first use. Run this command in your terminal: ```bash theme={null} codex mcp add janet-ai --url https://mcp.janet.ai/mcp ``` Then run `codex mcp login janet-ai` and complete the OAuth flow to connect your workspace. ## What You Can Do Once connected, just talk to your AI agent naturally: | Use case | Example prompt | | --------------------- | ----------------------------------------------------------------- | | **Find tickets** | "Show me my assigned tickets in MAIN" | | **Search** | "Search for tickets about authentication" | | **Create tickets** | "Create a high-priority bug for the login redirect issue" | | **Schedule tickets** | "Schedule a ticket for tomorrow at 9am to review the deployment" | | **Update tickets** | "Move MAIN-452 to In Progress" | | **Manage sprints** | "Add MAIN-100 and MAIN-101 to Sprint 3" | | **Create objectives** | "Create an objective called Q2 Launch with high priority" | | **Manage objectives** | "Add MAIN-100 and MAIN-101 to the Q2 Launch objective" | | **Add comments** | "Add a comment to MAIN-100 saying the fix is deployed" | | **Attach context** | "Add this Slack thread / PR / email / doc to MAIN-123 as context" | | **Break down work** | "Create child tasks on MAIN-200 for each component" | | **Sort & organize** | "Sort the To Do column by priority" | | **Web search** | "What are the best libraries for rate limiting in Node.js?" | | **Write docs** | "Create a document called API Design with the proposed structure" | ### Available Tools The MCP server exposes 40 tools that your AI agent discovers and uses automatically. Get user info, organization, projects, statuses, and members. Get platform documentation and usage guidance. List tickets with optional filters (status, priority, assignee, keyword, dates). Get full ticket details including description, comments, and child tasks for one or more tickets. Create one or more tickets in a single call (title, description, status, priority, assignees, labels, sprint, due date, scheduled activation). Batch update ticket fields (status, priority, assignees, labels, due date). Soft-delete one or more tickets in a single call. Restorable. Restore one or more previously deleted tickets together with their child tasks. Reposition a ticket: top, bottom, at:N, before/after, within kanban, sprint, or objective. Also supports column-wide `sort` and `reorder`. Semantic search across tickets by meaning. Attach context to one or more tickets in a single call. The `type` arg picks the source: `slack` (permalink or manual reporter+message), `discord` (permalink or manual username+message), `email` (sender, subject, body), `pull_request` (URL), `web_link` (URL), or `document` (Janet AI doc by UUID or exact title — idempotent). List every context item on a ticket (Slack/Discord/email messages, PRs, web links, linked Janet docs, meetings, Google Docs) with its id + short description. Call this before `remove_context_from_ticket`. Remove a context item from a ticket by id (id comes from `list_ticket_context`). Works on any context type. List child tasks for a ticket. Create one or more child tasks on a ticket in a single call. Batch update child task title, status, priority, or assignee. Delete one or more child tasks in a single call. List comments on a ticket. Add one or more comments to one or more tickets in a single call. Batch edit existing comments. Edit history is preserved (the original row is deactivated, a new row inserted with the original `created_at`). Delete one or more comments in a single call. List sprints with status, dates, and ticket counts. Create a new sprint. Update a sprint's name, dates, status, or description. Add tickets to a sprint. Remove tickets from a sprint. List tickets in a sprint grouped by status. List objectives with status, priority, and ticket counts. Create a new objective. Update an objective's name, status, priority, or assignees. Delete an objective. Add tickets to an objective. Remove tickets from an objective. List tickets in an objective grouped by status. List documents in the workspace. Get a document's full content. Create a document with title and markdown content. Update a document's title or content. Search the web for current information. Post an activity message to the user's JanetClaw feed for distinct JanetClaw actions (creating a ticket from email, adding context, moving tickets when a PR merges, etc.). Pass `ticket_key` — click-through URLs resolve automatically. ## Activity Log Every MCP tool call is logged and visible in the **MCP page** → **Usage tab** in your dashboard. Organization admins see all members' calls; members see only their own. ## Troubleshooting ### Cannot connect / authentication errors If your client fails to connect, try: 1. **Clear existing auth** — In your client, remove and re-add the MCP server to trigger a fresh OAuth flow. 2. **Check your organization** — During sign-in, make sure you select the correct organization. 3. **Restart your client** — Some clients need a full restart after the OAuth flow completes. ## FAQ The MCP server enforces per-user rate limits. If you hit a `429 Too Many Requests` error, wait a minute before retrying. Typical limits are 200 requests/minute and 5,000 requests/hour per user. If you consistently hit rate limits, contact [support@janet.ai](mailto:support@janet.ai). [`mcporter`](https://github.com/steipete/mcporter) lets you call MCP tools directly as CLI commands — no agent required. First, install it globally: ```bash theme={null} npm install mcporter ``` Authenticate once locally: ```bash theme={null} mcporter auth https://mcp.janet.ai/mcp ``` Then call any tool directly from the command line: ```bash theme={null} mcporter call janet-ai.list_tickets --project_key MAIN --status "To Do" ``` First, install it globally and authenticate on your local machine: ```bash theme={null} npm install mcporter mcporter auth https://mcp.janet.ai/mcp ``` Credentials are stored in `~/.mcporter/credentials.json` — copy that file's contents as a secret or environment variable in your cloud environment so scripts can run without an interactive OAuth flow. For example, a Python script that creates a ticket: ```python theme={null} import json import subprocess subprocess.run([ "mcporter", "call", "janet-ai.create_tickets", "--tickets", json.dumps([{ "title": "Nightly health check failed", "project_key": "MAIN", "priority": "High", }]), ]) ``` Some agent runtimes support HTTP-based MCP servers but don't implement the OAuth PKCE flow required by Janet AI (e.g. [OpenClaw](https://openclaw.ai)). You can proxy through [`mcp-remote`](https://www.npmjs.com/package/mcp-remote) to handle auth transparently. First, install it: ```bash theme={null} npm install -g mcp-remote ``` Then trigger the OAuth flow in your terminal: ```bash theme={null} mcp-remote https://mcp.janet.ai/mcp ``` Then configure your agent to use it: ```json theme={null} { "mcpServers": { "janet-ai": { "command": "mcp-remote", "args": ["https://mcp.janet.ai/mcp"] } } } ``` `mcp-remote` runs locally, performs the PKCE handshake with `https://mcp.janet.ai/mcp` on your behalf, and exposes the server over stdio to your agent. This works with any client that supports stdio-based MCP servers. # Quickstart Source: https://docs.janet.ai/quickstart ## Create an Organization Your organization is the top-level container for all projects and team members. Open the **organization selector** in the sidebar and click **Create Organization**.
A Acme Inc
A Acme Inc
S Side Project
Create Organization
Dashboard
Projects
Documents
Reports
MCP
Integrations
Settings
Acme Inc
Organization Dashboard
## Create a Project Projects organize tickets by product, team, or initiative. Navigate to **Projects** and click **Create**.
A Acme Inc
Dashboard
Projects
Documents
Reports
MCP
Integrations
Settings
Search ⌘K Create
Projects
Manage your Acme Inc projects
Mobile App MOB
Web App WEB
GTM GTM
## Create Tickets Click **+** from the project header to open the create ticket modal. Fill in the details and Janet takes it from there — auto-tagging, suggesting assignees, and evaluating quality.
Create Ticket
Will Barthell × payments× checkout×
Users getting 500 errors on checkout with discount codes

Multiple reports of 500 errors when applying discount codes over \$50 at checkout. Appears to affect coupon codes with percentage-based discounts. Reproduced on both web and mobile clients.

Autofill Create
## Next Steps Create, update, and search your tickets directly from Slack Sync pull requests and issues with your Janet AI tickets Connect Claude Code, Cursor, and other AI agents to your workspace # Auto-Fill Source: https://docs.janet.ai/ticket-features/auto-fill Enrich ticket details from project context
Create Ticket
Will Barthell × mobile× auth× Sprint 12 × Mobile Bugs ×
Users can't reset their password from the mobile app
Add a description...
Steps to reproduce

1. Open the mobile app and tap "Forgot password"
2. Enter email and submit
3. The reset email is never received

Expected behavior

User receives a password reset link within 30 seconds.

Autofilling...
Create
## How it works Type a title in the create ticket modal and click **Autofill** in the footer. The agent analyzes your title against existing tickets in the project and fills in the description, priority, issue type, labels, and assignee. Adjust anything that looks off, then create the ticket. # Auto-Tagging Source: https://docs.janet.ai/ticket-features/auto-tagging Tag tickets when they're created or updated
Auto-Tagging

Configure tags that will be automatically added by Janet AI every time a ticket is created or updated. This will not overwrite tags you manually add.

Add
Frontend
Apply to tickets about UI components, styling, or browser issues
Performance
Apply when the ticket mentions slow loading, latency, or optimization
Acme Corp
Apply to tickets reported by or affecting the Acme Corp account
## How it works You define tag names with a short description of when each should apply. Every time a ticket is created or updated, the content is analyzed and matching tags are added automatically. Tags you add manually are never overwritten. ## Set-up Click the **Gear** icon in the header of your **Project Board** to access **Project Settings**, select the **Configure** tab, then add tags.
PROJECT SETTINGS
Members
Configure
Kanban Columns
Resolved Filter
Ticket Style
Auto-Tagging
Ticket Rubric
Recurring Actions
Danger Zone
A
Acme Project ACME
Created Jan 15, 2025
Auto-Tagging
Configure tags that will be automatically added every time a ticket is created or updated.
Frontend
Apply to tickets about UI components, styling, or browser issues
Performance
Apply when the ticket mentions slow loading, latency, or optimization
# Code Runs Source: https://docs.janet.ai/ticket-features/code-runs Run Claude Code on tickets in Anthropic-hosted containers
ACME-42
acme-backend main

Add retry logic to the webhook handler and cover the 429 path in tests.

Edits Sonnet 4.6
**Code Runs** send tickets to **Claude Code** inside [Anthropic Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview) cloud containers. Each ticket gets a **conversation** at `/code-runs/{ticketKey}` where you stream turns, review plans, accept edits, and open **draft pull requests** on connected GitHub repos. One ticket maps to one org-wide chat thread. Repos you select are cloned into a **shared workspace** (up to six per run) so Claude can work across them; when you use **Edits** with **Auto open draft PR** enabled, Janet opens draft PRs via the **GitHub App** for repos that have changes. ## Prerequisite * **GitHub:** Connect the GitHub App, enable repositories for your organization, and link repos to projects when you want them pre-selected. See [GitHub integration](/integrations/github). ## Start a code run Submit from any of these entry points; Janet stashes your repo, model, mode, and instructions, then opens the ticket conversation. | Entry point | What happens | | ----------------------- | ------------------------------------------------------------------------------------------------------------------- | | **Code Runs** (sidebar) | Home composer — pick or create a ticket, configure repos and mode, submit. Subtitle: *Send tickets to Claude Code*. | | **Ticket details** | **Create PR** in the Code Runs section opens **Quick Input** in code-run mode (same composer). | | **Edit ticket modal** | Footer **Send to Claude Code** opens Quick Input in code-run mode (Kanban: right-click a card → edit). | Use **New Code Run** in the Code Runs sidebar (**⇧N**) to return to the home composer. ## Composer options The composer appears on the Code Runs home page, in Quick Input code-run mode, and when starting from a ticket. On the home page it uses the same large rounded **chat-style** input as Janet Chat: **Add ticket** and **Add repos** pills on top, instructions in the middle, and **Edits** / model controls plus a send arrow in the footer. * **Ticket:** On the home page, use the dashed **Add ticket** pill (or create a ticket from the picker). When you start from a ticket surface, the ticket is already set. * **Repositories:** **Add repos** to choose one or more targets and set each **branch** (draft PR base). Repos linked to the ticket’s project are pre-selected when possible. At most **six** repositories per run. * **Model:** **Sonnet 4.6** (default) or **Opus 4.8**. Your default can be set under **Account → AI settings** (coding model). * **Mode:** * **Ask** — Read-only Q\&A about the code; no edits and no plan artifact. * **Edits** — Claude may change files in the container. Open the mode menu to toggle **Auto open draft PR** (off by default). When enabled, Janet opens draft PR(s) after a successful implement turn when there are changes. * **Plan** — Exploration and a written implementation plan only; plan turns do not edit repos or open PRs. * **Instructions:** Optional text up to **8000** characters. Before you pick a ticket, the field shows *Add additional instructions...*; after a ticket is selected, *Add instructions for Claude Code (optional)*. ## Run statuses | Status | Meaning | | --------------- | --------------------------------------------------------------------------------------------------------------------------- | | **Queued** | Turn accepted, waiting to start (legacy rows). | | **Running** | Claude is actively working. | | **Needs input** | Waiting for your answer in the chat. | | **Failed** | Turn or setup failed; error details appear in the thread. Retry from **Create PR** / **Send to Claude Code** on the ticket. | | **PR opened** | A draft PR link is available. | | **Idle** | Last turn finished with no PR; the session stays open for more messages. | # Recurring Actions Source: https://docs.janet.ai/ticket-features/recurring-actions Schedule recurring ticket creation or Janet Agent prompts
Automations Logs
Add
Weekly DB Audit Create Ticket
Fri at 9:00 AM PT
Created by [alice@acme.com](mailto:alice@acme.com)
Blocked Ticket Followup Agent Prompt
Mon, Wed, Fri at 10:00 AM PT
Created by [bob@acme.com](mailto:bob@acme.com)
Create tickets or run agent prompts daily, weekly, or on a custom cadence. ## Action types Each recurring action is one of two types: Deterministic ticket creation with pre-configured fields. Every time the schedule fires, a new ticket is added to the project with the title, description, status, priority, type, assignees, and tags you specify. Useful for repeatable tasks your team does on a cadence: weekly audits, recurring standups, monthly reviews. A freeform prompt that the agent executes at the scheduled time. It has full access to your project context: it can search tickets, create or update them, leave comments, and [more](/agent). Useful for tasks that require reasoning: following up on blocked tickets, generating summary reports, or triaging unassigned work. ## Set-up Click the **Gear** icon in the header of your **Project Board** to access **Project Settings**, select the **Configure** tab, then select **Recurring Actions**.
PROJECT SETTINGS
Members
Configure
Kanban Columns
Resolved Filter
Ticket Style
Auto-Tagging
Ticket Rubric
Recurring Actions
Danger Zone
A
Acme Project ACME
Created Jan 15, 2025
Recurring Actions
Schedule recurring tickets or agent tasks to run automatically on a cadence.
Weekly DB Audit Create Ticket
Every Friday at 9:00 AM (PT)
Triage unassigned tickets Agent Prompt
Every Mon, Wed, Fri at 8:00 AM (PT)
Sprint retro ticket Create Ticket
Every Friday at 4:00 PM (PT)
## Creating a recurring action
New Automation
Name
Weekly DB Audit
Action
Create Ticket Agent Prompt
Schedule
Su Mo Tu We Th Fr Sa
Time
09:00 AM
Timezone
Pacific (PT)
Ticket Title \*
Audit database logs
Description
Review slow queries and check for anomalies in the past week's logs.
Status
To Do
Priority
Medium
Type
Task
Due Date
None
Create Automation Cancel
Select the action type, pick which days and time it should run, and fill in the details. ## Managing automations Each rule has a toggle to enable or disable it, a play button to trigger it immediately, and edit/delete controls. The **Logs** tab shows a full history of every run (status, timing, and for agent prompts, the full tool call chain and response). Only project admins can create or modify automations. All members can view them. ## Examples **Weekly database audit** — every Friday at 9 AM **Sprint retro ticket** — every Friday at 4 PM **Daily standup prep** — weekdays at 8:30 AM **Follow up on blocked tickets** — Mon/Wed/Fri at 10 AM **Triage unassigned bugs** — daily at 8 AM **Generate weekly summary** — every Friday at 5 PM # Scheduled Tickets Source: https://docs.janet.ai/ticket-features/scheduled-tickets Create tickets that activate in your project at a future date
April 2026
SuMoTuWeThFrSa
1234 567891011 12131415161718 19202122232425 2627282930
Tomorrow 9am Monday 9am
Schedule Autofill with Janet
Cancel Create
## How it works When creating a ticket, click **Schedule** in the modal footer and pick a date and time. The ticket stays invisible to everyone until the activation time arrives. You can toggle notifications via inbox, email, or SMS when it activates via **Account -> Notifications**. ## Viewing scheduled tickets Click **Scheduled** in the **Project Page** header to see all pending tickets.
Scheduled Tickets 4
Backlog 2
PRJ-42
Audit Q1 security dependencies
Apr 3, 9:00 AM
PRJ-51
Write onboarding guide for new engineers
Apr 7, 9:00 AM
In Progress 1
PRJ-38
Deploy payment service hotfix to staging
Mar 31, 2:00 PM
Review 1
PRJ-45
Follow up on design review feedback
Apr 4, 10:00 AM
Hover any row to **activate now** (skips the timer and places it on the board immediately) or **delete** (cancels it permanently). Click a row to edit the ticket or reschedule it to a different time. # Ticket Evaluation Source: https://docs.janet.ai/ticket-features/ticket-evaluation Set custom ticket quality requirements
Properties
Issue Type
Bug
Status
In Progress
Priority
High
AI Insights
Ticket Evaluation
Fail
Ticket Rubric Failed
Missing steps to reproduce. The rubric requires bug tickets to include explicit reproduction steps in the description.
## How it works Define quality standards for tickets with natural language. Each ticket is evaluated against your requirements and results are displayed on the ticket page. ## Set-up Click the **Gear** icon in the header of your **Project Board** to access **Project Settings**, select the **Configure** tab, then add a **Ticket Rubric**.
PROJECT SETTINGS
Members
Configure
Kanban Columns
Resolved Filter
Ticket Style
Auto-Tagging
Ticket Rubric
Recurring Actions
Danger Zone
A
Acme Project ACME
Created Jan 15, 2025
Ticket Rubric
Define quality standards. Janet AI will evaluate each ticket against this rubric and show results on the ticket page.
96/1000 characters
Tickets must always have a description. If the ticket describes a bug, the description must explicitly include steps to reproduce.
# Views Source: https://docs.janet.ai/views/dashboard Customizable dashboards built from widgets A **view** is a board of draggable, resizable widgets showing live workspace data. Create as many as you need, switch between them with tabs, and share them with your team.
Tickets
MOB-42Auth token refresh loop
MOB-38Push notification settings
MOB-51Onboarding empty states
MOB-29CSV export timeout
Workload by owner
Will9 open
Adhit6 open
Maya3 open
Metrics
24
Open
9
In prog
17
Done
3
Overdue
Sprints
Sprint 14
Jun 16 – Jun 30 · 12 tickets
Sprint 15
Jun 30 – Jul 14 · 8 tickets
Ticket activity
LessMore
## Start from a template An empty view offers preset layouts. Pick a template below to preview it, then **Use template** builds the board instantly.
Assigned to me
My open tickets
Blocking me
My calendar
Scratchpad
My ViewEverything assigned to you and what needs your attention today.
Use template
Team
Tickets
Ticket activity
Objectives
Tickets by assignee
Workload by status
Team ViewSee how work is spread across your team and who's loaded up.
Use template
Board
Project health
Team
Sprint time range
Objectives
Meeting notes
Project ViewKeep tabs on a single project, from its board to its sprints.
Choose project
Metrics
Tickets by status
Projects
Objectives
People
Signals & risks
Hottest tickets
Organization ViewA high-level read on how the whole organization is doing.
Use template
Sprints
Sprint board
Metrics
Sprint load
Blockers
Timeline
Sprint ViewFollow a sprint's progress and see what's left to ship.
Choose sprint
Overdue
Blocked
Recently updated
Load by assignee
Tickets by status
Triage ViewCatch what's overdue or slipping before it falls through the cracks.
Use template
**Project View** and **Sprint View** ask which project or sprint to build around. A templated view behaves like any other afterward. ## Add and arrange widgets Click **Add widget** and pick from the menu. Drag a widget by the grip in its header. Drag any edge or corner. Right click the widget and choose **Remove**. Right click a widget to configure it -- title, filters, project, time range, and more. Options vary by widget type. ## Widget catalog | Category | Widgets | | -------- | -------------------------------------------------------- | | Work | Tickets, High-context tickets, Signals, Activity heatmap | | Planning | Objectives, Sprints, Calendar | | Team | Owners, Projects | | Content | Summary card, Meeting notes, Documents | | Advanced | Custom (AI) | The **Tickets** widget has four presentations -- list, board, status chart, and metrics -- switchable from its menu. **Custom (AI)** opens a chat where you describe the widget you want and Janet builds it. # Kanban Source: https://docs.janet.ai/views/kanban Board view with columns for each status
Mobile App MOB
Kanban List SignalsNew
Create
To Do3
MOB-34
Design onboarding flow for new users
MOB-38
Add push notification settings
MOB-41
Localize date formats
In Progress2
MOB-29
Fix crash on deep-link redirect
MOB-31
Implement biometric auth gate
In Review2
MOB-26
Refactor settings screen layout
MOB-33
Update empty state illustrations
Done2
MOB-22
Set up CI pipeline for staging
MOB-24
Patch token refresh race condition
Visualize your project as a board with columns for each status. Reorder tickets, drag and drop between columns to update their status, reorder and see titles, assignees, priorities at a glance. Filter and sort tickets by assignee, status, priority, issue type, tags, due date, and more. # List Source: https://docs.janet.ai/views/list List view with tickets grouped by status
Mobile App MOB
Kanban List Signals New
Create
To Do 2
SW-131 Write API documentation for webhook endpoints Apr 12
SW-128 Research SSO providers for enterprise plan
In Progress 3
SW-142 Fix authentication token refresh on mobile Apr 3
SW-139 Migrate billing service to Stripe v3 API Apr 7
SW-136 Add real-time presence indicators to editor
Done 1
SW-124 Set up CI pipeline for staging deployments Mar 28
View all tickets in a flat, scannable list. Drag to reorder tickets and see titles, assignees, priorities, and due dates at a glance. Filter and sort tickets by assignee, status, priority, issue type, tags, due date, and more. # Signals Source: https://docs.janet.ai/views/signals AI-powered project analysis Signals view buckets related tickets into objectives, flags tickets that need attention, finds duplicate issues to merge, and suggests action items. ## Objectives
Objectives4 Needs Attention5 Duplicates6 Actions3
High 2
To Do In Progress Done
API Rate Limiting Issues
MOB-42MOB-57MOB-61+10 more
Multiple tickets reporting 429 errors and throttling behavior across API endpoints
To Do In Progress Done
Dashboard Loading Performance
MOB-19MOB-33MOB-48+6 more
Slow initial load times and rendering lag on the analytics dashboard
Medium 2
To Do In Progress Done
Push Notification Reliability
MOB-15MOB-28MOB-39+6 more
Intermittent push notification delivery failures on Android devices
To Do In Progress Done
Biometric Auth Edge Cases
MOB-31MOB-44MOB-52+4 more
Face ID and fingerprint auth failing on certain device models after OS update
Janet AI automatically groups related tickets into named objectives. Objectives are sorted by urgency, and each card shows a status breakdown of its tickets, the ticket IDs it contains, and a short summary. Click any card to open it and see the individual tickets. ## Needs Attention
Objectives4 Needs Attention5 Duplicates6 Actions3
High-Context Tickets 2
MOB-42 2d overdue
Auth token refresh loop
Linked context 7 items
Slack
MOB-19 Due · Jul 18
Dashboard loading performance
Linked context 4 items
Slack
Stagnant Tickets 3
Last updated Status idle
MOB-23 Migrate settings page to new design system 12d ago 18d
MOB-45 Add keyboard shortcuts for ticket triage 9d ago 11d
MOB-36 Investigate flaky session timeout on Safari 7d ago 7d
The **Needs Attention** tab surfaces tickets that are at risk of slipping: * **High-context tickets**: tickets with lots of activity attached, like comments, code runs, and workspace documents, that may need a closer look. * **Stagnant tickets**: tickets that have sat idle past your configured thresholds. ## Duplicates
Objectives4 Needs Attention5 Duplicates6 Actions3
Critical 1
Login Page Redirect Loop
MOB-8 MOB-17 MOB-31 +1 \~96%
Users stuck in infinite redirect between login and dashboard when SSO session expires
High 1
Email Notification Failures
MOB-22 MOB-35 MOB-41 \~93%
Multiple tickets describing email delivery failures for password reset and verification emails
Medium 1
CSV Export Timeout
MOB-14 MOB-29 MOB-52 \~89%
Data export fails or hangs on datasets over 10k rows across multiple export formats
The **Duplicates** tab surfaces duplicate tickets within your project. Each group shows a similarity score, an explanation of the overlap, and lets you **merge** them into a single ticket with one click. Janet AI combines the descriptions, keeps the highest priority, and carries over all assignees. ## Actions
Objectives4 Needs Attention5 Duplicates6 Actions3
Assign Tickets 3
MOB-38 Add push notification settings
Will Barthell
Assigned to 2 related tickets
Assign
Related Tickets
MOB-12 Push notifications not delivered on Android 14
MOB-27 Silent push notifications ignored when app is backgrounded
MOB-41 Localize date formats
Adhit Sankaran
Assigned to 3 related tickets
Assign
MOB-34 Design onboarding flow for new users
Will Barthell
Assigned to 1 related ticket
Assign
The **Actions** tab recommends assignees for unassigned tickets based on who's already working on related issues. Click **Assign** to apply it instantly, or expand to review first. # Sprints Source: https://docs.janet.ai/views/sprints Organize your team's work into sprints
Active Mar 24 Apr 4
Sprint 14
3 of 7 complete 43%
Tickets 7
In Progress
PRJ-128 Fix auth token refresh on expired sessions
PRJ-131 Add rate limiting to public API endpoints
In Review
PRJ-125 Migrate user preferences to Postgres JSONB
PRJ-134 Update changelog for v2.4 release
Done
PRJ-119 Implement webhook retry with exponential backoff
PRJ-122 Add org member count to billing dashboard
PRJ-116 Fix SSO callback race condition
Add tickets
Sprints let you scope a fixed window of work within a project. Each sprint has a name, start date, end date, and a set of assigned tickets. A progress bar tracks how many tickets have reached a resolved column. ## Creating a sprint Open the **Sprints** dropdown from the project header (or press **S**) and click **Create**. Give the sprint a name and pick a start and end date. A sprint's status badge updates automatically to **Active**, **Completed**, or **Overdue** based on the date range and whether unresolved tickets remain. ## Managing tickets Click **Manage** on the sprint bar or the edit icon in the dropdown to open the sprint detail panel. From there you can add tickets via the side panel, which lists every ticket in the project not already assigned to a sprint, grouped by status. Search by title or ticket ID to find specific tickets. Remove a ticket by hovering its row and clicking the remove button. When a sprint is selected and you click the **+** button in the project header, you get two options: **Create ticket** (opens the standard create modal) or **Add to \[Sprint]** (opens the manage panel directly). ## Viewing sprint tickets Sprints integrate with both project views: * **Kanban** -- Select a sprint from the dropdown to filter the board to only that sprint's tickets. A bar below the header shows the sprint name, date range, and a **Manage** link. The board automatically includes resolved tickets regardless of age so you can see the full sprint scope. * **List** -- Toggle one or more sprints from the dropdown. Sprint tickets appear in their own collapsible section above the regular status groups, sorted by status then priority. Drag and drop tickets between sprints and status groups. Your sprint selection persists per project across sessions. ## Using Janet to manage sprints Ask the [Janet Agent](/agent) to handle sprint operations in natural language. "Create a sprint called 'Sprint 8' starting next Monday" "Add SW-42 and SW-43 to Sprint 7" "Show all tickets in the current sprint" "Create 3 tickets for the auth feature and add to current sprint"