Ideas

Ideas are boards for capturing, discussing and tracking work before (or instead of) it becomes a repository issue: a place for plans, to-dos and loose thoughts, like Trello and Todoist. Open them from Ideas in the top navigation, or at /ideas.

Boards and workspaces

Every board lives in a workspace: your personal one, or an organization's. Your personal workspace always has an Inbox board for quick capture; it can't be archived or deleted. Create more boards from the sidebar, nest a board under another of the same workspace, star the ones you use most, and archive boards you're done with. Board admins can copy a board (its columns and labels, and optionally its open ideas) from the board's settings.

A board's visibility decides who can see it:

Visibility Who can see it
Private Its members, its owner, and an organization's owners and maintainers
Workspace Also every member of the organization: developers can edit, reporters and guests can view
Public Also anyone, signed in or not, read-only

Add members in the board's settings as viewer (read and comment), editor (add and change ideas, columns and labels) or admin (also settings, members and deleting the board).

Views

  • Board — columns of cards you drag between and within columns. Columns can be renamed, reordered, archived, given a WIP limit, or marked as done: moving an idea into a done column completes it, moving it out reopens it.
  • List — every idea grouped by column.
  • Table — a sortable table with column, priority, due date, assignees, labels and project.
  • Calendar — a month (or week) of ideas on their due dates, completed ones struck through and later occurrences of repeating ideas faded. Drag an idea onto another day to move its due date (its start date moves with it, its time stays), or onto an hour of the week to set the time too; the week's All day row clears the time. The Unscheduled panel lists open ideas without a due date: drag them onto a day, or drag an idea there to clear its date. Hover a day and press + to add an idea due then. On a phone, tap a day to list its ideas.
  • Timeline — a Gantt chart of open ideas, a bar from start to due date per idea, grouped by column, over two weeks or six. Drag a bar to move both dates, or an end to change one; with a bar focused, the arrow keys move it a day and Shift with an arrow key changes its due date. Ideas without dates are listed last, each with Schedule to start and finish today.

Filter any view by text, label, assignee (including "assigned to me"), priority and due date, and hide completed ideas. Filters live in the URL, so a filtered view can be bookmarked or shared.

Ideas

Click a card to open the idea. Besides a title and a Markdown description, an idea has:

  • Sub-ideas — ideas nested under it, up to four levels deep.
  • Checklists — any number, with items you can assign, date, reorder or turn into sub-ideas.
  • Labels — the board's own labels or ones shared by the whole workspace.
  • Priority — P1 (most urgent) to P3, or none.
  • Dates — a start date, a due date (with an optional time and duration, such as 45m or 1h30m) and a hard deadline.
  • Repeat — a phrase such as every weekday at 9am that makes the idea recurring (see Repeating ideas).
  • Assignees, attachments (files or links, with an optional cover image) and a cover color.
  • Project — a linked repository (and issue), or just a project name.
  • Custom fields — the board's own fields (see Custom fields).

Completing an idea completes its open sub-ideas and files it in the board's done column; an Undo toast puts everything back. Ideas can be archived, restored, deleted, or moved, copied or mirrored to another board.

Custom fields

Board admins add custom fields in the board's settings: Text, Number, Date, Checkbox or Dropdown (with named, colored options). Rename and reorder them there, choose which show on cards (a checkbox as a check, a dropdown as a colored chip), or delete one with its values. Editors fill them in from the idea's Custom fields section, and the table view gets a sortable column per field. Copying a board copies its fields; an idea moved or copied to another board keeps the values of fields with the same name and kind there.

Templates

Make template in an idea's actions turns it into a template: it stays on its board with a Template badge, and every column's menu offers Create from template, which adds a new idea with the template's title, description, labels, custom fields and checklists (unchecked), but not its dates or assignees. Templates can't be completed, and they are left out of Today, Upcoming, Assigned, filters, reminders, calendars, timelines and the repository Ideas tab (and of the API's lists unless you pass templates=true).

A board admin can tick Use as template in the board's settings. Anyone who can see a template board can start a new board from it (with or without its ideas) with Start from a template in the new board dialog, or Create board from this template on the board itself.

Voting

Turn on Voting in a board's settings for its editors and admins only, or for everyone who can see the board. Each person has one vote per idea: Vote in the idea shows the count and who voted, cards show a thumbs-up count, and the list and table views sort by votes.

Card aging

With Card aging on, cards without activity (an edit, comment, checklist or label change) fade after one, two and four weeks, or in Pirate mode yellow, tilt and crack like old parchment. Completed ideas and templates don't age.

Mirror cards

Mirror (under Move, copy or mirror to board in an idea's actions) shows the same idea on another board you can edit, marked with the board it comes from. Drag a mirror card around its board like any other; the idea itself stays where it is. Opening one opens the original idea, with your access on its board, and changes to it show on every board mirroring it. Only people who can see the original's board see the mirror. The idea lists the boards it is Mirrored on, where editors of either board can remove a mirror; archiving the idea hides its mirrors and deleting it removes them.

Importing and exporting

Import on the Ideas page brings boards in from elsewhere, into your personal workspace or an organization where you're a developer or above:

  • Trello — upload a board's JSON export (in Trello: board menu, Print, export and share, Export as JSON; at most 20 MB). Lists become columns and cards become ideas with their labels, checklists, link attachments, comments, due dates and members (GitBlixt users who can be assigned on the board, matched by username or full name). Comments are posted by you, each starting with its Trello author and date. It runs in the background and notifies you, with a link to the new board, when it's done.
  • Todoist — paste an API token (Todoist Settings, Integrations, Developer). Every project becomes a board (sub-projects nested), sections become columns and open tasks become ideas with their sub-tasks, labels, priorities, dates, repeats and comments (completed tasks aren't imported). It runs in the background and notifies you when it's done; the token is only used for the import.

You can run one import at a time.

Anyone who can see a board can export it from its settings (Export and calendar): JSON has the board, its columns, labels, custom fields and every idea (archived ones too) with its checklists, values and comments; CSV has one row per idea, for spreadsheets.

Calendar feeds

Subscribe to your dated ideas from any calendar app (Google Calendar, Apple Calendar, Outlook): Settings, Ideas calendar feed has the URL of a feed of your ideas (as Upcoming shows them), and each board's settings have one of that board's dated ideas. Ideas with a time are events of their duration (an hour by default), the rest all-day events; repeating ideas repeat in the calendar. The URL (/ideas/feed.ics?token=…, or /ideas/feed/b/<board>/calendar.ics?token=… for a board) is private to you: New URL replaces it, and the old one stops working.

Email to a board

When your administrator has set up inbound mail, a board admin can turn on Email to board in its settings to get a private address like ideas+k3j…@ideas.example.com. Mail sent there from the account email of one of the board's editors becomes an idea in its first open column that isn't a done column: the subject is the title, the body the description and attachments come along. Put [#12] in the subject (a reply to an editor's reminder email keeps it) to comment on idea 12 instead. Mail from anyone else, or whose sender your mail server couldn't authenticate, is ignored. New address replaces a leaked address.

Text in UTF-8, ISO-8859-1 (Latin-1), Windows-1252, ISO-8859-15, Windows-1250, Windows-1251, KOI8-R and UTF-16 is converted; in any other character set only the characters that are valid UTF-8 come through.

Automation

Board admins build automations under Automation in the board's settings, Butler-style. Each acts as whoever made or last changed it. There are four kinds:

  • Rules — when a trigger happens and the conditions hold, run the actions. For example: when an idea is moved to Done, if it has the label bug, add the label needs release note and comment "Ship it in the next release".
  • Card buttons — a button on every idea that runs the actions on it, such as "Triage: set priority 1, move to Next, assign me"; on an idea that doesn't meet its conditions it refuses to run.
  • Board buttons — a button on the board that runs the actions on a scope of ideas: all open ones, the open ones in a column, completed ones, overdue ones, or none (for actions that make new ideas). The run happens in the background: the button shows Running… until it's done, then its summary.
  • Schedules — a scope and actions run on a cron schedule in the board owner's time zone (for an organization's board, that of whoever made or last changed the schedule): every day at 9:00 (0 9 * * *), weekdays at 9:00 (0 9 * * 1-5), Mondays at 9:00 (0 9 * * 1), the first of the month at 9:00 (0 9 1 * *) or any 5-field cron expression whose runs are at least 5 minutes apart, from one hour into the next too. For example: every Monday, archive the completed ideas.

A board can have up to 50 automations. Each automation's history lists its last runs and what they did; a rule's or card button's run is also noted on its idea, while a board button's or schedule's run is recorded once, in its history. A skipped run is listed once until something changes, except a board button's, listed each time it's pressed. A run over many ideas (a board button, a schedule, a date trigger) takes only the ideas there when it starts, scans at most 5,000 of them and stops after 2,000 actions (a board button's run also after 4 minutes); the next run goes on where it stopped, and from the start once it got through or its definition changes; a run cut short (by a restart, say) goes on after the last batch of 200 ideas it finished. Automations triggered by other automations stop after a few rounds, and a chain of changes (everything one change or card button press sets off) queues at most 100 rule checks across all its branches, and in a run over many ideas each idea's changes queue at most 20; rules fired by the same change don't fire each other, and none runs twice in one chain of changes. Template ideas trigger no rules. Completing an occurrence of a repeating idea isn't a completion for rules, as the idea stays open.

Triggers Conditions Actions
Idea createdIdea movedIdea completedIdea reopenedIdea archivedLabel addedLabel removedAssignee addedDue date setChecklist completedComment addedCustom field changedPriority changedDue date arrivesIdea becomes overdueVotes reach a countIdle for some days In columnNot in columnHas labelLacks labelPriority isPriority at leastAssigned toTitle containsTitle matchesHas a due dateHas no due dateDue within daysIs overdueIs completedIs not completedCustom field isHas sub-ideasIs a sub-ideaChecklists complete Move to columnMove to boardAdd labelRemove labelSet priorityAssignUnassignSet due dateSet start dateCompleteReopenArchiveAdd commentAdd checklistSet custom fieldCreate ideaAdd sub-ideaNotify watchersCopy to board

Date triggers (due date arrives, becomes overdue, idle for some days, votes reach a count) are checked hourly and fire once per idea and date, also when a run failed. A schedule acts on each idea once per run. When clocks spring forward, a schedule due in the skipped hour runs once at the first minute after it (unless it's due then anyway).

Slack and webhooks for a board

A board admin can post the board's activity to Slack channels (Slack in its settings, once the instance's Slack app is set up; for a private channel, invite the bot first) and send it to webhooks (Webhooks); an archived board's stay as they are. Pick the events for each:

idea_createdidea_updatedidea_movedidea_completedidea_reopenedidea_archivedidea_restoredidea_deletedcomment_added

A Slack channel gets every event but edits by default; in a channel with threading on, an idea's activity is threaded under one message. A webhook receives a JSON POST with X-Gitlab-Event: Idea Hook, the object_kind "idea", the event_type, the acting user, the board and the idea, plus changes for edits and moves (an idea moved to another board is an idea_moved with to_board on the board it left, and with from_board on the one it joined); with a secret token it also carries X-Gitlab-Token and an X-Hub-Signature-256 HMAC of the body. Test sends a ping.

Today, Upcoming, Assigned and Completed

Above your boards, the sidebar has views across all of them, built from your ideas: those assigned to you, and unassigned ones on boards you own.

  • Today (/ideas/today) — open ideas due today, by time, priority and board, under an Overdue section whose Reschedule to today moves them all (on boards you can edit) to today, keeping their times. The sidebar shows how many there are.
  • Upcoming (/ideas/upcoming) — a week, a day at a time, with overdue ideas first. Page between weeks, drag an idea onto another day to reschedule it, or add one to a day. Switch to Calendar for the same ideas on a month (or week) calendar, as on a board.
  • Assigned to me (/ideas/assigned) — open ideas assigned to you on any board you can see, grouped by board.
  • Completed (/ideas/completed) — what you completed, and what was completed on your boards, newest first and grouped by day, including each occurrence of a repeating idea.

Tick an idea off right there (with Undo), or click it to open it without leaving the view.

Time zone

"Today", "overdue" and dates you type are worked out in your time zone. GitBlixt takes it from your browser the first time you open Ideas; change it any time in Settings.

Quick add

Press q on any Ideas page, or Add idea in the sidebar, and type the idea in one line: Call mom tomorrow 5pm p1 @phone. A preview shows what was recognized; the rest is the title. Without a board it goes to your Inbox (on a board, to that board), in the first open column. The add field at the bottom of a board's columns, and of the Today and Upcoming days, understands the same syntax.

Type For
#Board name A board you can edit
/Column A column of that board
@label A label available on the board (any number)
+username An assignee who can see the board (any number)
p1 – p4 Priority
today, tomorrow, fri, next week, next month, weekend, in 3 days, jan 5, 5 jan 2027, 2027-01-05 Due date. A weekday is the next one (never today); a month and day already past this year is next year's.
5pm, at 17:30, noon, midnight Due time; alone it means today, or tomorrow once that time has passed
for 45m, for 1h30m, for 1.5 hours How long it takes (up to a day)
{fri} Deadline
every monday Repeat (see below)
!30m, !1h, !2d, !tomorrow 9am, !5pm A reminder for you: that long before the due time, or at a date and/or time (see Reminders). Any number.
\tomorrow A backslash keeps the next word as text

Names match case-insensitively and may have spaces (#Side projects); a name that matches nothing stays in the title.

Repeating ideas

Give an idea a Repeat in its dates (or type one in quick add or the API):

  • every day, every 3 days, every other day
  • every weekday (Monday to Friday), every weekend, every mon, wed, fri, every monday and thursday
  • every week, every 2 weeks, every other week
  • every month, every 15th, every month on the 1st, every last day, every 3 months on the 15th
  • every year, every jan 5

Add at 9am for a due time and until dec 31 to stop. Without a due date, the idea is due on the first occurrence from today. Completing a repeating idea doesn't close it: it moves to the next occurrence after its due date that isn't in the past (with every!, e.g. every! 3 days, the next occurrence counted from the day you complete it), its start date and deadline shift by as much, its checklists are unticked, it leaves a done column, and its timeline notes the completed occurrence. Undo puts it all back. Past the until date, completing it closes it as usual. Sub-ideas aren't affected.

Reminders

Under Reminders in an open idea, anyone who can see the board can remind themselves: a set time before the due date and time (from at the due time to 1 day before; an idea without a due time counts as due at 9:00), or at a date and time of your choosing. Each reminder goes out in the app (the bell in the top bar), by email, and as a Slack DM if you've linked Slack, as you pick. Ideas you have a reminder on show a bell. A reminder before the due date follows the idea when its due date or time changes, and on a repeating idea it fires again for every occurrence. Reminders aren't sent for completed or archived ideas, and ones that would have gone out more than a day late (say, after downtime) are skipped.

For an automatic reminder, pick how long before the due time in Settings, and its channels: every idea of yours with a due time (assigned to you, or unassigned on your own boards) then reminds you, unless you set reminders on it yourself.

Filters

A filter is a saved query, as in Todoist, over the open ideas on the boards in your sidebar. Create them under Filters in the sidebar (/ideas/filters), where a preview shows what a query finds as you type; star one to list it in the sidebar. A filter's page (/ideas/f/:id) lists its ideas by due date, time, priority and board, and you can complete and open them there as in Today.

Combine terms with & (and), | (or), ! (not) and parentheses; ! binds tightest, then &, then |. A comma separates queries, shown as sections of their own. Terms are case-insensitive.

Term Matches ideas
today, tomorrow, yesterday, fri, jan 5, date: jan 5 Due that day
overdue or od Due before today
date before: fri, date after: jan 5 Due before or after a date (also due before:/due after:)
next 7 days or 7 days Due from today through 7 days from now
no date, no time, recurring Without a due date; with a date but no time; repeating
deadline before: fri, no deadline By deadline
created: today, created before: jan 5, created after: jan 5 By the day they were created
p1 – p4, no priority By priority (no priority is p4)
#Board, ##Board On a board by name; ## includes its sub-boards
/Column In a column of that name, on any board
@label, @bug*, no labels With a label, a label starting with bug, or none
assigned to: me, assigned to: others, assigned to: alice By assignee
assigned, no assignee With or without anyone assigned
shared On org boards, or boards with members besides their owner
search: text With the text in the title
view all Every open idea

Examples:

  • today & p1 | overdue — urgent ideas due today, and everything overdue
  • @bug & #Roadmap — ideas labeled bug on the Roadmap board
  • assigned to: me, no date — two sections: ideas assigned to you, then ideas without a due date
  • (today | overdue) & !#Work — due today or earlier, except on Work

Collaboration

Anyone who can see a board can comment on its ideas and react to comments. Mention people with @username to notify them (only people who can see the board are notified). The activity timeline also records changes such as moves, assignments and completions. Watch an idea, or a whole board, to be notified of new ideas, comments and completions; you start watching ideas you create, comment on or are assigned to.

Keyboard shortcuts

Key Action
qQuick add an idea (on any Ideas page)
nAdd an idea to the first column
/Search
1 / 2 / 3 / 4 / 5 Board, list, table, calendar or timeline view
cComplete or reopen the open idea
EscClose the idea
?Show the shortcuts

Converting an idea to an issue

When an idea is ready to become real work, open it and choose Convert to issue. The issue goes to the idea's linked repository; without one, you pick a repository you can read. The issue takes the idea's title, and its description followed by each checklist as a task list; it doesn't link back to the board, which may be private. The idea is then linked to the issue and completed, and its timeline links to the new issue. You need editor access to the board.

Running an AI agent on an idea

If the idea is linked to a repository where you have developer access, and you have an AI provider key, Run AI agent opens the same dialog as the repository page's AI agent, with the prompt prefilled from the idea's title, description, checklists and sub-ideas. Edit it and start the agent. The idea's timeline notes the start (linking to the job's log) and the outcome: the merge request it opened, or that it finished or failed.

Breaking an idea down

Break down in an idea asks an AI model (with your own AI provider key: Anthropic or any OpenAI-compatible provider) to split it into up to ten concrete sub-ideas, from its title, description, checklists and existing sub-ideas. It runs in the background; the sub-ideas appear on the idea, and a note on it explains any failure. You need editor access, and you can have up to five breakdowns queued at a time.

The repository Ideas tab

Each repository has an Ideas tab (/namespace/repo/-/ideas) listing the ideas linked to it, grouped by board, from boards you can see: anonymous visitors see only ideas on public boards. If you can edit at least one board, a quick-add form there creates an idea already linked to the repository.

REST API

Ideas have their own GitBlixt endpoints under /api/v4 (they aren't part of GitLab's API). Authenticate as for the rest of the REST API: read_api for reads, api for writes. List endpoints take page and per_page and return the usual x-total pagination headers. Tokens an AI job holds can only reach their own project's ideas.

Endpoint Purpose
GET/POST /idea_boards Your boards (archived=true for archived ones); create a board
POST /idea_boards/import Import in the background (202; one at a time): source=trello with the export (object or JSON text, at most 8 MB) as export, or source=todoist with an API token; optional organization_id
GET /idea_templates Template boards you can see and template ideas on your boards
GET/PUT/DELETE /idea_boards/:id Read, change (admins, including is_template, voting and aging) or delete (admins) a board
POST /idea_boards/:id/archive, /restore, /star, /unstar, /copy Archive or restore (admins), star or unstar, copy (name, keep_ideas, organization_id: by default the source's org if you may create boards there, null for your personal workspace)
GET /idea_boards/:id/export?format=json|csv Export the board
POST /idea_boards/:id/feed_url Your private calendar feed URLs (all your ideas, and this board's), created on first use: needs the api scope
POST /idea_boards/:id/email Email to board (admins): action enable, disable or regenerate; returns the address
GET/POST /idea_boards/:id/columns, PUT/DELETE …/columns/:column_id Columns (name, done, wip_limit); POST …/:column_id/archive, /restore and /move (before_id, or last)
GET/POST /idea_boards/:id/labels, PUT/DELETE …/labels/:label_id Labels (name, color; scope=workspace for a workspace label)
GET/POST /idea_boards/:id/members, PUT/DELETE …/members/:user_id Members (user_id or username, role)
GET/POST /idea_boards/:id/custom_fields, PUT/DELETE …/custom_fields/:field_id Custom fields (admins: name, kind, options, show_on_card)
GET/POST /idea_boards/:id/webhooks, DELETE …/webhooks/:webhook_id, POST …/:webhook_id/test Board webhooks (admins: url, token, events)
GET/POST /idea_boards/:id/slack_subscriptions, DELETE …/:subscription_id Slack channels (admins: channel, features)
GET/POST/PUT/DELETE /idea_boards/:id/automations[/:automation_id], POST …/run, GET …/runs Automations (admins change them, editors read them and run buttons, with number for a card button, which runs at once (201 with the run), while a board button's run is queued (202 {"status": "queued"}, or "already_queued" while your run of it is pending or running, or 429 while you have 5 other button runs queued, then listed under …/runs), and their runs; anyone else who can see the board lists only its enabled buttons' id, name and kind); GET /idea_automation_vocabulary describes triggers, conditions and actions
GET/POST /idea_boards/:id/ideas List ideas (filters: search, label_ids, assignee_ids or me, priority, due, completed=exclude, repository_id, templates=true); create one, also with assignee_ids, label_ids, custom_fields and a checklist (name, items)
GET/PUT/DELETE /idea_boards/:id/ideas/:number Read (with custom_fields, votes, mirrors, attachments, your reminders and the card_buttons), change or delete an idea. PUT takes title, description, priority, the dates, duration_minutes, recurrence (a repeat phrase, or null to stop; ideas return it normalized), assignee_ids, label_ids, custom_fields (field id or name to value, null to clear), column_id, repository_id or project_name, and state_event (close/reopen)
POST …/ideas/:number/move, /complete, /reopen, /archive, /restore, /vote, /unvote, /watch, /unwatch One-step actions; a move takes column_id and before_id, or target_board_id for another board
POST …/ideas/:number/copy, POST …/mirrors, DELETE …/mirrors/:board_id Copy (target_board_id, column_id, title; a template's copy is a new idea from it), mirror onto a board, remove a mirror
POST …/ideas/:number/checklists, PUT/DELETE …/checklists/:checklist_id Checklists (name, items)
POST …/checklists/:checklist_id/items, PUT/DELETE …/items/:item_id, POST …/items/:item_id/toggle, /move, /convert Checklist items (text, due_date, assignee_id); move takes to_checklist_id and before_id; convert makes a sub-idea
GET/POST /idea_boards/:id/ideas/:number/notes, PUT/DELETE …/notes/:note_id The idea's activity; add, edit or delete a comment (body)
POST …/notes/:note_id/reactions, DELETE …/reactions/:emoji React to a note (emoji, one of 👍 ❤️ 🎉 😄 👀 🚀) or take it back
POST …/ideas/:number/attachments, DELETE …/attachments/:attachment_id Attach a link (url, name) or remove an attachment
GET/POST …/ideas/:number/reminders, DELETE …/reminders/:reminder_id Your reminders: minutes_before the due date, or date and time (your zone) or remind_at, on channels
PUT …/ideas/:number/custom_fields/:field_id Set a custom field (value, null clears it)
POST …/ideas/:number/ai action=run_agent (optional prompt) or break_down, with optional provider, model and effort
POST /idea_boards/:id/ideas/:number/convert_to_issue Convert to an issue, optionally in project_id (id or path)
GET /projects/:id/ideas Ideas linked to a project that you can see
GET/POST /idea_filters, PUT/DELETE /idea_filters/:id Your saved filters (name, query, color, favorite)
GET /idea_filters/:id/ideas The ideas a saved filter finds (each once, in section order)
GET /ideas?filter=today & p1 The ideas a filter query finds; 400 with the reason when it doesn't parse

Paths under … continue /idea_boards/:id/ideas/:number. Changes need the same roles as in the web UI and answer 403 without them; boards you can't see are 404.

MCP tools

The MCP server offers everything above as tools, so you can tell an AI assistant such as Claude about an idea and have it track it on your boards: list_idea_boardsget_idea_boardget_idea_board_integrationsmanage_idea_boardmanage_idea_columnmanage_idea_labelmanage_idea_membermanage_idea_custom_fieldlist_ideassearch_ideasget_ideacreate_ideaupdate_ideamove_ideatransition_ideamanage_idea_checklistadd_idea_commentmanage_idea_commentlist_idea_timelineadd_idea_attachmentlist_idea_remindersmanage_idea_reminderlist_idea_filtersmanage_idea_filterlist_idea_templatesrun_idea_ailist_idea_automationsmanage_idea_automationmanage_idea_board_integrationsexport_idea_boardimport_ideas. They need a token that isn't bound to one project.