Build a board by pasting JSON
Create a Kanban board, its columns, and every card in them in one step by pasting a JSON document.
A Kanban board, its columns and its cards can be built from a JSON document instead of being added one at a time. There are two ways in:
- On Kanban Boards, choose More, then Import a board from JSON, paste the document and choose Create board. A new board is built from the document in Personal or the selected team, and it opens next.
- On a board you already have, choose More, then Import JSON, paste the document and choose Add to this board. The document's columns and cards are added to the board. Cards in a column whose name matches a column already on the board, ignoring capitals, go into that column; any other column is added at the end of the board.
Use Copy the prompt in either import box to copy this format with the instructions an AI assistant needs. Paste it into the assistant you use, describe the board you want, and paste back the JSON it gives you.
An import never renames, moves or removes anything already on a board, and there is no option to replace a board's contents. To try a different version of a whole board, import it as a second board.
When adding to a board, name, description and externalAccess are ignored.
The board keeps its own, and they are changed from its Edit details.
The whole document is checked before anything is saved. If any part of it does not fit the format below, nothing is imported, and the message names the field that caused the problem.
The document
{
"name": "Q3 launch",
"description": "Everything that has to happen before the launch.",
"externalAccess": "team",
"columns": []
}
| Field | Type | Notes |
|---|---|---|
name |
string, required | The board's name, 2 to 100 characters, unique within its team. |
description |
string, optional | Up to 500 characters. |
externalAccess |
string, optional | team (default), view, or suggest. See below. |
columns |
array, required | At least one column, up to 19. |
externalAccess controls who outside the team can reach the board:
team: only the team.view: people outside the team can open the board's address and see its columns and cards.suggest: asview, and anyone signed in to Magpie can also suggest cards, which arrive in the board's Inbox column, and comment on and heart cards.
All three can be changed afterwards from Edit details in the board's More menu.
Columns
{ "name": "In progress", "cards": [] }
name(string, required): 1 to 100 characters.cards(array, optional): the cards in this column, top to bottom. Leave it out, or use[], for an empty column.
Every board has a fixed Inbox column, which is where suggestions from
outside the team land; do not include it in columns. A board built from a
document has Inbox followed by the document's columns, left to right in the
order they are listed, and not the To Do, In Progress and Done columns a new
board otherwise starts with.
A board has at most 20 columns, Inbox included. When adding to a board, the columns it already has count towards that.
A board holds up to 500 cards in total, across all its columns. When adding to a board, the cards already on it count towards that.
Cards
{
"title": "Write the launch note",
"description": "Two paragraphs, plus the pricing table.",
"dueDate": "2026-10-14",
"color": "#d04838"
}
| Field | Type | Notes |
|---|---|---|
title |
string, required | 1 to 300 characters. |
description |
string, optional | Markdown, up to 20,000 characters. Newlines are kept. |
dueDate |
string, optional | A date written as YYYY-MM-DD. |
color |
string, optional | The card's color, as a hex color such as #d04838 or #d48. |
Cards are created unassigned. Assign them on the board afterwards, because a card can be assigned only to a member of the board's team.
A complete example
{
"name": "Website relaunch",
"description": "Cut-off for copy is the end of September.",
"externalAccess": "team",
"columns": [
{
"name": "Backlog",
"cards": [
{ "title": "Audit the old pages", "description": "List every page and mark keep, merge or drop." },
{ "title": "Pick the launch date", "dueDate": "2026-09-30" }
]
},
{
"name": "In progress",
"cards": [
{ "title": "Rewrite the home page", "description": "Lead with what the product does.", "color": "#d04838" }
]
},
{ "name": "Review", "cards": [] },
{ "name": "Done", "cards": [] }
]
}
If an import is rejected for a reason you cannot work out, Contact support.
Preguntar al soporte de Magpie
Envía al equipo de Magpie una pregunta sobre cualquier cosa que este artículo no responda.