Documentation

Everything you need to run Bundlle.

From your first project to wiring up GitHub and the AI that moves your tasks — this is the complete guide to working in Bundlle.

Getting started

Introduction

Bundlle is an AI-native project-management workspace. Connect a GitHub repository to a project and your Kanban tasks move themselves as you push commits and merge pull requests — no more dragging cards to mirror work you've already done.

Everything is organized in a simple hierarchy: workspaces contain projects, projects contain tasks on a board, and your team collaborates through workspace and project membership.

What makes Bundlle different

  • Your board updates itself from real git activity — a push or a merge moves the matching task automatically.
  • Every AI decision is explained, with a confidence score you can see.
  • Your source code never leaves GitHub. Bundlle only reads lightweight signals like branch names and commit messages.
  • Changes are realtime — when a task moves, everyone on the board sees it instantly, no refresh.

No GitHub? Still useful.

You can run Bundlle as a clean, fast Kanban board on its own. The AI and automation features simply switch on once you link a repository.
Getting started

Quickstart

Go from zero to an automated board in about five minutes.

  1. 1

    Create your account

    Sign up and you'll land in workspace setup. Authentication is handled by Clerk — email, or your favourite provider.
  2. 2

    Name your workspace

    Your workspace is your team's home base. You can invite people later — start solo for now.
  3. 3

    Create your first project

    Give it a name and you'll get a board with four columns: To Do, In Progress, In Review, and Done.
  4. 4

    Add a few tasks

    Create cards on the board, then open one to set a priority, assign teammates, or add dependencies.
  5. 5

    Connect GitHub

    Go to Settings → Integrations, connect your GitHub account, then link a repository to the project.
  6. 6

    Push some code

    Push to a branch or open a pull request. Bundlle matches the work to a task and moves it for you.
  7. 7

    Invite your team

    Open the Memberspage and invite teammates by email. They'll get a link to join.
Getting started

Core concepts

Five ideas cover almost everything in Bundlle.

ConceptWhat it is
WorkspaceYour team's container. Holds projects, members, and settings. You own one and can join others.
ProjectA body of work inside a workspace, with its own board, team, and (optionally) a linked GitHub repo.
TaskA single card on the board, with a status, priority, assignees, dependencies, and comments.
BoardThe Kanban view of a project's tasks across four status columns.
MemberA person in a workspace, with a role that sets what they can do.
Workspaces & projects

Workspaces

A workspace is the top-level container for your team's work. Every account owns exactly one workspace and can also be a member of any number of others through invitations.

  • The active workspace lives in the URL — every view sits under a workspace slug, like /acme/projects or /acme/members.
  • Switch between workspaces you belong to from the switcher in the top-left of the app.
  • Each workspace keeps its own projects, members, and settings completely separate from every other.

Note

When you sign in, Bundlle takes you to your last-used workspace. Brand-new accounts are sent to workspace setup first.
Workspaces & projects

Projects

Projects organize work inside a workspace. Open one and you'll find a few tabs:

  • Board — the Kanban view where tasks live and move.
  • Issues — work synced from the linked GitHub repository.
  • Insights — a summary of progress you can export to PDF.
  • Team — who has access to this project, as a lead or a member.
  • Settings — rename, link a repository, or duplicate the project.

You can duplicate a project to reuse its setup, and link exactly one GitHub repository per project to power automation.

Workspaces & projects

Tasks & the board

The board is a four-column Kanban: To Do, In Progress, In Review, and Done. Drag a card between columns to change its status — or let GitHub do it for you.

Inside a task

Open any card to manage:

  • Priority — low, medium, or high.
  • Assignees — one or more teammates. Cards show stacked avatars for everyone assigned.
  • Dependencies — mark a task as blocked by another. When the blocker reaches Done, the people on the unblocked task get an email.
  • Comments & activity — a live feed of discussion plus the system events (created, AI moves) for that task.

My Tasks

The My Tasks page gathers every task assigned to you across all projects in the workspace, so you never lose track of what you own.

It's all realtime.

When a task moves — whether from a teammate, the AI, or an external webhook — the change appears on everyone's board instantly. No refresh required.
Workspaces & projects

Members & roles

Invite people from the Memberspage. Enter an email, choose a role, and they'll receive a link to join. Invites stay pending until accepted, then flip to active. People sign in (or sign up) with the invited email to accept.

Workspace roles

RoleWhat it means
OwnerThe person who created the workspace. Full control over members, projects, and settings.
AdminHelps run the workspace — manage projects and people.
MemberCollaborates on the projects they belong to.
ViewerRead-only access to follow along.

Project roles

Within a project, members are either a lead or a member. Owners and admins can manage who has access. To remove someone, revoke their membership from the Members page.

GitHub & AI

Connect a repository

Linking a repo is what turns on Bundlle's automation.

  1. 1

    Connect your GitHub account

    Go to Settings → Integrations and authorize Bundlle. This is a standard GitHub OAuth flow.
  2. 2

    Link a repository to a project

    Open the project's settings and choose the repo whose activity should drive this board.
  3. 3

    That's it

    Bundlle registers a webhook for push and pull-request events. From now on, real git activity moves your tasks.

What Bundlle reads

Bundlle reads only the lightweight signal GitHub already produces for every push and pull request:

  • Branch names
  • Commit messages
  • Pull request titles
  • Open / merge / close events
  • Author username

Your code stays in GitHub.

File contents, diffs, and full commit payloads are never read, stored, or sent anywhere — including to the AI provider. See Security for the details.
GitHub & AI

How AI matching works

When you push code or open and merge a pull request, Bundlle reads the event, asks the AI which open task the work belongs to, and moves that task to the right column. The target status comes from where the work happened:

GitHub eventTask moves to
Push to a feature branchIn Progress
Pull request openedIn Review
Pull request merged into the default branchDone
Direct push to the default branchDone

What it won't do

  • Move a task backward — status only ever advances.
  • Spend AI effort on events that can't move anything — merge-only pushes, PRs closed without merging, and bot authors are skipped before any AI call.
  • Touch a task it isn't confident about (see Confidence tiers below).
GitHub & AI

Confidence tiers

Every match gets a confidence score from 0 to 100. The score decides what happens next:

ConfidenceWhat happens
80–100Auto-moved. The task moves to its new column immediately.
50–79Needs confirmation. Bundlle emails you a one-click yes/no link before moving anything.
0–49Skipped. Logged in AI Activity, but nothing moves.

Every outcome — auto-moved, pending, or skipped — is recorded so you always have a trail.

GitHub & AI

Email confirmations

When the AI is moderately confident (50–79%), it asks instead of guessing. You get an email with a single-use link:

  • Click Yes and the task moves to its suggested column.
  • Click No and nothing changes.
  • Either way, the decision — and who made it — is recorded in AI Activity.

Note

Confirmation links are single-use and expire after 48 hours. A used or expired link lands on a clear page rather than doing anything unexpected.
GitHub & AI

AI Activity panel

The AI Activity panel is your window into every decision Bundlle makes. It updates live and shows, for each event, the trigger, the confidence score, and a clear reason.

You'll see each entry tagged with its outcome:

  • Auto-moved — high confidence, task moved.
  • Pending confirmation — waiting on your yes/no email.
  • Confirmed / Declined — how someone answered a confirmation.
  • Skipped — low confidence, nothing moved.
  • Flagged for review — a linked issue was closed while its task wasn't done.

Nothing is hidden.

Every automated action is visible to the whole workspace — so the board never moves for a reason no one can see.
Integrations

MCP server

Every workspace ships its own MCP (Model Context Protocol) server, so AI tools like Claude Code, Cursor and claude.ai can read the board and act on it — list tasks, create and move them, comment, and see why the AI moved things. One URL per workspace, found in Settings → Integrations → MCP server:

Your workspace MCP URL
https://app.bundlle.com/api/workspaces/YOUR_WORKSPACE/mcp

Connect a client

  1. 1

    Claude Code

    Run the add command in your project's terminal, then use /mcp to sign in when the browser opens.
  2. 2

    Cursor

    Paste the ready-made snippet from the settings page into .cursor/mcp.json and approve the sign-in prompt.
  3. 3

    claude.ai / Claude desktop

    Open Settings → Connectors → Add custom connector and paste the workspace MCP URL.
Claude Code
claude mcp add --transport http bundlle \
  https://app.bundlle.com/api/workspaces/YOUR_WORKSPACE/mcp

Note

There are no API keys. The first connection opens a normal browser sign-in with your Bundlle account (OAuth), and the settings page shows a green tick once your client is connected.

What connected tools can do

ToolWhat it does
get_workspaceWorkspace overview: projects, members, your role.
list_projectsProjects with open/done task counts.
list_tasksA project's board, filterable by status, priority or assignee.
get_taskFull task detail: description, comments, blockers, files.
my_tasksEverything assigned to you, grouped by status.
search_tasksSearch tasks across the workspace.
get_ai_activityWhy the AI moved tasks: matches, confidence, evidence.
create_taskAdd a task with assignees, priority and deadline.
update_taskEdit title, description, priority or deadline.
move_taskMove a task across board columns.
assign_taskChange who a task is assigned to.
comment_on_taskComment on a task; @mentions notify members.
add_dependencyMark a task as blocked by another.

Access & scope

  • The connection acts as you — never as a super-user.
  • Owners and admins see the whole workspace; members see the projects they belong to; viewers connect read-only.
  • Each URL is scoped to exactly one workspace. Other workspaces have their own URL on their own settings page.

It closes the loop.

An agent can pick up a task, write the code and push — and the same commit-to-task matching moves the card forward on the live board, with a confidence score and a reason in the activity feed.
Integrations

Incoming status webhook

Beyond GitHub, any tool — a CI job, a GitHub Action, a deploy script — can move a task by calling your project's webhook. Each project has a unique URL with its own token, shown on the board header.

The request

Send a POST with the token in the query string (or an x-webhook-token header) and a JSON body naming the task and its new status:

curl
curl -X POST \
  "https://app.bundlle.com/api/projects/PROJECT_ID/webhook?token=YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "status": "done", "taskTitle": "Fix login redirect" }'

Body fields

FieldRequiredNotes
statusYesOne of todo, inProgress, inReview, done — friendly aliases accepted (see below).
taskIdOne of theseThe exact id of the task to move.
taskTitleOne of theseA case-insensitive task title, matched within the project.

Status aliases

You don't have to know Bundlle's exact enum — common words map automatically:

Send any of theseResolves to
todo, backlog, to-dotodo
inProgress, in progress, doing, startedinProgress
inReview, in review, reviewinReview
done, complete, completed, closed, mergeddone

Inside a GitHub Action, that looks like:

github-actions.yml
- name: Move task to In Review
  run: |
    curl -X POST "${{ secrets.BUNDLLE_WEBHOOK_URL }}" \
      -H "Content-Type: application/json" \
      -d "{\"status\":\"inReview\",\"taskTitle\":\"${{ github.event.pull_request.title }}\"}"

Keep your token secret.

Anyone with the URL and token can move tasks in that project. Store it as a secret in your CI provider, and rotate it if it leaks.
Integrations

Notifications & inbox

The Inbox collects everything that needs your attention in one place:

  • Workspace and project invitations
  • Tasks assigned to you
  • Comments and mentions on tasks you follow
  • A dependency you were waiting on reaching Done
  • AI matches waiting for your confirmation

Important events are also sent by email. Manage which emails you receive in Settings → Account.

Account & security

Account settings

Find your personal settings under Settings → Account:

  • Update your display name.
  • Choose which notifications reach your email.
  • Leave a workspace you no longer need to be part of.

The Integrations tab is where you connect or disconnect your GitHub account.

Account & security

Security & privacy

Bundlle is built on a simple rule: read only what it needs, store only what matters, and explain every decision. In short:

  • Your source code never leaves GitHub.
  • Every workspace's data is isolated at the database level, enforced independently of the app.
  • Incoming GitHub webhooks are verified by signature before anything is read.
  • Authentication and sessions are handled by Clerk.
  • AI confirmation links are single-use and time-limited.

For the full breakdown — data minimisation, access control, and responsible disclosure — read the Security page.

Reference

Statuses & priorities

Task statuses

ColumnValueWhen work lands here
To DotodoPlanned but not started. New tasks begin here.
In ProgressinProgressSomeone pushed to a feature branch for this task.
In ReviewinReviewA pull request for the work was opened.
DonedoneThe PR merged, or work was pushed to the default branch.

Priorities

PriorityValue
Lowlow
Mediummedium
Highhigh
Reference

Troubleshooting & FAQ

My task didn't move after I pushed

Walk through this checklist:

  • Is the repository linked to the project in its settings?
  • Is there an open task the commit could reasonably match? The AI only moves open tasks.
  • Was confidence below 50%? Check the AI Activity panel — a skipped match is logged there with its reason.
  • Was it a merge-only push, a PR closed without merging, or a bot author? Those are intentionally skipped.

I didn't get a confirmation email

Confirmation emails only go out for matches scoring 50–79%. Check your spam folder, and remember the link expires after 48 hours.

An invite isn't working

The invitee must sign in or sign up with the exact email you invited. You can re-send a pending invite from the Members page.

Can I use Bundlle without GitHub?

Absolutely. It works as a standalone Kanban board — the GitHub and AI features are optional extras.

Still stuck?

Can't find what you need? Our team is one message away.