Reference · Tools

Wekan

Manage boards, lists, cards, comments, checklists, and checklist items in a self-hosted Wekan kanban board

Action Productivity v1

The Wekan node manages boards, lists, cards, comments, checklists and checklist items on a self-hosted Wekan instance. A typical build is creating a card from an inbound request with its checklist already populated from a template.

Node type
Action
Parameters
72
Outputs
Output, Error
Credentials
Wekan API

Wekan

Manage Wekan kanban boards, lists, cards, checklists, and comments

Overview

Wekan is an open-source, self-hosted kanban board application. This tool provides full CRUD operations for boards, lists, cards, card comments, checklists, and checklist items via the Wekan REST API. Authentication uses username/password login to obtain a Bearer token for subsequent API calls. All API endpoints follow the pattern {url}/api/{endpoint}.

Category: Productivity
Tool Name: wekan
Version: 1

Appearance: Icon: lucide-LayoutList | Color: #006B75

Node Type

Action — processes input items and produces output

Input / Output

DirectionPort(s)
InputInput
OutputOutput, Error

Credentials

This tool requires Wekan API credentials. See the Credentials Guide for setup instructions.

Resources

ResourceValue
Boardboard
Cardcard
Card CommentcardComment
Checklistchecklist
Checklist ItemchecklistItem
Listlist

Operations

Board (board)

OperationValueDescription
CreatecreateCreate a new board.
DeletedeleteDelete a board.
GetgetGet a single board.
Get ManygetAllList the boards belonging to a user.

Card (card)

OperationValueDescription
CreatecreateCreate a new card in a list.
DeletedeleteDelete a card.
GetgetGet a single card.
Get ManygetAllList the cards in a list or a swimlane.
UpdateupdateUpdate an existing card.

Card Comment (cardComment)

OperationValueDescription
CreatecreateAdd a comment to a card.
DeletedeleteDelete a comment.
GetgetGet a single comment.
Get ManygetAllList the comments on a card.

Checklist (checklist)

OperationValueDescription
CreatecreateAdd a checklist to a card.
DeletedeleteDelete a checklist.
GetgetGet a single checklist.
Get ManygetAllList the checklists on a card.

Checklist Item (checklistItem)

OperationValueDescription
DeletedeleteDelete a checklist item.
GetgetGet a single checklist item.
UpdateupdateUpdate a checklist item.

List (list)

OperationValueDescription
CreatecreateCreate a new list on a board.
DeletedeleteDelete a list.
GetgetGet a single list.
Get ManygetAllList the lists on a board.

Parameters

Every string parameter accepts {{ $json.field }} expressions, which are evaluated once per input item.

Board: Create

ParameterTypeRequiredDefaultDescription
Title (title)stringYesThe title of the board.
OwnerstringYesThe user ID of the board owner. Find this via the Wekan admin panel or API (GET /api/users).
Additional Fields (additionalFields)collectionNo{}Optional board settings sent with the create request.
— ActivebooleanNofalseWhether to set the board active.
— AdminbooleanNofalseWhether to set the owner as admin of the board.
— ColoroptionsNoThe color of the board.
Options: belize, midnight, nephritis, pomegranate, pumpkin, wisteria
— Comment OnlybooleanNofalseWhether to enable comment-only mode.
— No CommentsbooleanNofalseWhether to disable comments.
— PermissionoptionsNoprivateSet the board permission.
Options: private, public
— WorkerbooleanNofalseWhether to only move cards, assign himself to card and comment.

Board: Delete

ParameterTypeRequiredDefaultDescription
Board ID (boardId)stringYesThe ID of the board to delete.

Board: Get

ParameterTypeRequiredDefaultDescription
Board ID (boardId)stringYesThe ID of the board to get.

Board: Get Many

ParameterTypeRequiredDefaultDescription
User IDstringYesThe ID of the user to list boards for. Find this via the Wekan admin panel or API (GET /api/users).
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo100Max number of results to return. Accepts 1–200. (shown when Return All is false)

Card: Create

ParameterTypeRequiredDefaultDescription
Board ID (boardId)stringYesThe ID of the board that the list belongs to.
List ID (listId)stringYesThe ID of the list to create the card in.
Title (title)stringYesThe title of the card.
Swimlane ID (swimlaneId)stringYesThe swimlane ID for the new card. Find via GET /api/boards/{boardId}/swimlanes.
Author ID (authorId)stringYesThe user ID of the card author. Find via GET /api/users.
Additional Fields (additionalFields)collectionNo{}Optional card fields sent with the create request.
— AssigneesstringNoComma-separated list of assignee user IDs.
— DescriptionstringNoThe description of the card.
— MembersstringNoComma-separated list of member user IDs.

Card: Delete

ParameterTypeRequiredDefaultDescription
Board ID (boardId)stringYesThe ID of the board that the list belongs to.
List ID (listId)stringYesThe ID of the list that the card belongs to.
Card ID (cardId)stringYesThe ID of the card to delete.

Card: Get

ParameterTypeRequiredDefaultDescription
Board ID (boardId)stringYesThe ID of the board that the list belongs to.
List ID (listId)stringYesThe ID of the list that the card belongs to.
Card ID (cardId)stringYesThe ID of the card to get.

Card: Get Many

ParameterTypeRequiredDefaultDescription
Board ID (boardId)stringYesThe ID of the board that the list belongs to.
From ObjectoptionsYeslistWhether to get cards from a list or a swimlane.
Options: list, swimlane
List ID (listId)stringYesThe ID of the list to get cards from. (shown when From Object is list)
Swimlane ID (swimlaneId)stringNoThe ID of the swimlane to get cards from. Find via GET /api/boards/{boardId}/swimlanes. (shown when From Object is swimlane)
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo100Max number of results to return. Accepts 1–200. (shown when Return All is false)

Card: Update

ParameterTypeRequiredDefaultDescription
Board ID (boardId)stringYesThe ID of the board that the list belongs to.
List ID (listId)stringYesThe ID of the list that the card belongs to.
Card ID (cardId)stringYesThe ID of the card to update.
Update Fields (updateFields)collectionNo{}The card fields to change. Only the fields you add are sent.
— Author IDstringNoUpdate the owner of the card (user ID).
— AssigneesstringNoComma-separated list of assignee user IDs.
— ColoroptionsNoThe new color of the card.
Options: black, blue, crimson, darkgreen, gold, gray, green, indigo, lime, magenta, mistyrose, navy, orange, paleturquoise, peachpuff, pink, plum, purple, red, saddlebrown, silver, sky, slateblue, white, yellow
— DescriptionstringNoThe new description of the card.
— Due AtstringNoThe due date of the card (ISO 8601 datetime).
— End AtstringNoThe end date of the card (ISO 8601 datetime).
— Label IDsstringNoThe label IDs attached to the card (comma-separated).
— Move to List IDstringNoThe new list ID of the card (move operation).
— MembersstringNoComma-separated list of member user IDs.
— Over TimebooleanNofalseWhether the card is over time.
— Parent IDstringNoThe parent card ID.
— Received AtstringNoThe received date of the card (ISO 8601 datetime).
— SortnumberNo0The internally used sort value of a card.
— Spent TimenumberNo0The spent time on the card (in minutes).
— Start AtstringNoThe start date of the card (ISO 8601 datetime).
— Swimlane IDstringNoThe new swimlane ID of the card.
— TitlestringNoThe new title of the card.

Card Comment: Create

ParameterTypeRequiredDefaultDescription
Board ID (boardId)stringYesThe ID of the board that the card belongs to.
Card ID (cardId)stringYesThe ID of the card to comment on.
Author ID (authorId)stringYesThe user ID of the comment author.
CommentstringYesThe comment text.

Card Comment: Delete

ParameterTypeRequiredDefaultDescription
Board ID (boardId)stringYesThe ID of the board that the card belongs to.
Card ID (cardId)stringYesThe ID of the card.
Comment ID (commentId)stringYesThe ID of the comment to delete.

Card Comment: Get

ParameterTypeRequiredDefaultDescription
Board ID (boardId)stringYesThe ID of the board that the card belongs to.
Card ID (cardId)stringYesThe ID of the card.
Comment ID (commentId)stringYesThe ID of the comment to get.

Card Comment: Get Many

ParameterTypeRequiredDefaultDescription
Board ID (boardId)stringYesThe ID of the board that the card belongs to.
Card ID (cardId)stringYesThe ID of the card to get comments for.
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo100Max number of results to return. Accepts 1–200. (shown when Return All is false)

Checklist: Create

ParameterTypeRequiredDefaultDescription
Board ID (boardId)stringYesThe ID of the board where the card is in.
Card ID (cardId)stringYesThe ID of the card to add checklist to.
Title (title)stringYesThe title of the checklist.
ItemsstringNoComma-separated list of item titles to add to the checklist.

Checklist: Delete

ParameterTypeRequiredDefaultDescription
Board ID (boardId)stringYesThe ID of the board that the card belongs to.
Card ID (cardId)stringYesThe ID of the card that the checklist belongs to.
Checklist ID (checklistId)stringYesThe ID of the checklist to delete.

Checklist: Get

ParameterTypeRequiredDefaultDescription
Board ID (boardId)stringYesThe ID of the board that the card belongs to.
Card ID (cardId)stringYesThe ID of the card that the checklist belongs to.
Checklist ID (checklistId)stringYesThe ID of the checklist to get.

Checklist: Get Many

ParameterTypeRequiredDefaultDescription
Board ID (boardId)stringYesThe ID of the board that the card belongs to.
Card ID (cardId)stringYesThe ID of the card to get checklists for.
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo100Max number of results to return. Accepts 1–200. (shown when Return All is false)

Checklist Item: Delete

ParameterTypeRequiredDefaultDescription
Board ID (boardId)stringYesThe ID of the board that the card belongs to.
Card ID (cardId)stringYesThe ID of the card that the checklist belongs to.
Checklist ID (checklistId)stringYesThe ID of the checklist that the item belongs to.
Checklist Item IDstringYesThe ID of the checklist item.

Checklist Item: Get

ParameterTypeRequiredDefaultDescription
Board ID (boardId)stringYesThe ID of the board that the card belongs to.
Card ID (cardId)stringYesThe ID of the card that the checklist belongs to.
Checklist ID (checklistId)stringYesThe ID of the checklist that the item belongs to.
Checklist Item IDstringYesThe ID of the checklist item.

Checklist Item: Update

ParameterTypeRequiredDefaultDescription
Board ID (boardId)stringYesThe ID of the board that the card belongs to.
Card ID (cardId)stringYesThe ID of the card that the checklist belongs to.
Checklist ID (checklistId)stringYesThe ID of the checklist that the item belongs to.
Checklist Item IDstringYesThe ID of the checklist item.
Update Fields (updateFields)collectionNo{}The checklist item fields to change. Only the fields you add are sent.
— TitlestringNoThe new title for the checklist item.
— FinishedbooleanNofalseWhether the item is checked/finished.

List: Create

ParameterTypeRequiredDefaultDescription
Board ID (boardId)stringYesThe ID of the board to create the list in.
Title (title)stringYesThe title of the list.

List: Delete

ParameterTypeRequiredDefaultDescription
Board ID (boardId)stringYesThe ID of the board that the list belongs to.
List ID (listId)stringYesThe ID of the list to delete.

List: Get

ParameterTypeRequiredDefaultDescription
Board ID (boardId)stringYesThe ID of the board that the list belongs to.
List ID (listId)stringYesThe ID of the list to get.

List: Get Many

ParameterTypeRequiredDefaultDescription
Board ID (boardId)stringYesThe ID of the board to get lists from.
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo100Max number of results to return. Accepts 1–200. (shown when Return All is false)

All Operations

ParameterTypeRequiredDefaultDescription
Max ConcurrencynumberNo10Maximum number of items to process concurrently. Accepts 1–100.

Output Data

The Wekan API response is merged into the item JSON at the top level, so the response fields sit alongside the fields the item already carried. The rest of the input item passes through unchanged and binary data is forwarded untouched.

Create, Delete, Get and Update return a single record, so one input item produces one output item.

The Get Many operations — Board: Get Many, Card: Get Many, Card Comment: Get Many, Checklist: Get Many and List: Get Many — return an array and fan out: one output item per record, each carrying the input item’s JSON plus that record’s fields. With Return All off, the array is trimmed to Limit before the items are emitted. When a Get Many matches nothing, that input item produces no output items at all, so guard downstream nodes that assume at least one item per input.

Field names come from Wekan itself and are not rewritten, so reference them downstream exactly as the API returns them, e.g. {{ $json.fieldName }}.

Usage Examples

  • Create a new card on a Wekan board
  • List all boards for a user
  • Update a card with new description and labels
  • Add a checklist with items to a card
  • Get all comments on a card

Example Configuration

Create a board and set its permission, color and member flags in one call:

{
  "type": "wekan",
  "parameters": {
    "resource": "board",
    "operation": "create",
    "title": "Project Management Board",
    "owner": "user123",
    "additionalFields": {
      "isActive": true,
      "isAdmin": false,
      "color": "nephritis",
      "isCommentOnly": false,
      "isNoComments": false,
      "permission": "private",
      "isWorker": false
    }
  }
}

Create a card in a list, with a description and assignees:

{
  "type": "wekan",
  "parameters": {
    "resource": "card",
    "operation": "create",
    "boardId": "board123",
    "listId": "list456",
    "title": "New Task",
    "swimlaneId": "swimlane789",
    "authorId": "user123",
    "additionalFields": {
      "description": "Task description here",
      "assignees": "user456,user789",
      "members": "member1,member2"
    }
  }
}

Get every card in a list:

{
  "type": "wekan",
  "parameters": {
    "resource": "card",
    "operation": "getAll",
    "boardId": "board123",
    "fromObject": "list",
    "listId": "list456",
    "returnAll": true
  }
}

Update a card — retitle it, recolor it, set a due date and log spent time:

{
  "type": "wekan",
  "parameters": {
    "resource": "card",
    "operation": "update",
    "boardId": "board123",
    "listId": "list456",
    "cardId": "card789",
    "updateFields": {
      "title": "Updated Task Title",
      "description": "Updated task description",
      "color": "orange",
      "dueAt": "2024-12-31T23:59:59Z",
      "assignees": "user456,user789",
      "members": "member1,member2",
      "isOverTime": false,
      "sort": 1,
      "spentTime": 120
    }
  }
}

Add a comment to a card:

{
  "type": "wekan",
  "parameters": {
    "resource": "cardComment",
    "operation": "create",
    "boardId": "board123",
    "cardId": "card789",
    "authorId": "user123",
    "comment": "This is a comment on the card"
  }
}

Add a checklist and its items in one call — the items are comma-separated:

{
  "type": "wekan",
  "parameters": {
    "resource": "checklist",
    "operation": "create",
    "boardId": "board123",
    "cardId": "card789",
    "title": "Task Checklist",
    "items": "Review requirements,Write code,Test implementation,Deploy"
  }
}

Tick off a checklist item and rename it:

{
  "type": "wekan",
  "parameters": {
    "resource": "checklistItem",
    "operation": "update",
    "boardId": "board123",
    "cardId": "card789",
    "checklistId": "checklist456",
    "checklistItemId": "item123",
    "updateFields": {
      "title": "Updated checklist item title",
      "isFinished": true
    }
  }
}

Return only the first five cards in a list:

{
  "type": "wekan",
  "parameters": {
    "resource": "card",
    "operation": "getAll",
    "boardId": "board123",
    "fromObject": "list",
    "listId": "list456",
    "returnAll": false,
    "limit": 5
  }
}

Error Handling

ModeBehavior
stopHalts workflow on first error
continueSkips failed items, passes successful ones through
errorPortRoutes failed items to Error output port

Tips

Manage boards, lists, cards, comments, checklists, and checklist items in a self-hosted Wekan kanban board via its REST API.

Frequently asked questions

Does it work with hosted Wekan?

It targets a self-hosted Wekan instance through its REST API, so point the credential at wherever your Wekan runs.

What can it manage?

Boards, lists, cards, comments, checklists and checklist items — the full board structure rather than only cards.

Is it a good open-source Trello alternative?

For automation purposes yes: the objects map closely, so a workflow written against one translates conceptually to the other.

Which credential does it need?

A Wekan API credential for your instance.

Build with the Wekan node

Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need Wekan API credentials first.

Open BusyBot

Last updated . Spotted something wrong? Tell us.