Reference · Tools

Taiga

Manage epics, issues, tasks, and user stories in Taiga agile project management platform

Action Development v1

The Taiga node manages the agile work items — epics, issues, tasks and user stories — with full CRUD, on Taiga Cloud or a self-hosted instance. A typical build is creating a user story from an inbound feature request and keeping its status in step with an external tracker.

Node type
Action
Parameters
51
Outputs
Output, Error
Credentials
Taiga

Taiga

Manage epics, issues, tasks, and user stories in Taiga

Overview

Taiga is an open-source agile project management platform. This tool provides full CRUD operations on Taiga resources: epics, issues, tasks, and user stories. It supports both Taiga Cloud and self-hosted instances. Authentication uses username/password to obtain a bearer token. Updates use optimistic concurrency control via a version field.

Category: Development
Tool Name: taiga
Version: 1

Appearance: Icon: lucide-ClipboardList | Color: #4C566A

Node Type

Action — processes input items and produces output

Input / Output

DirectionPort(s)
InputInput
OutputOutput, Error

Credentials

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

Resources

ResourceValue
Epicepic
Issueissue
Tasktask
User StoryuserStory

Operations

Every resource supports the same five operations.

OperationValueDescription
CreatecreateCreate a new item of the selected resource
DeletedeleteDelete an item by ID
GetgetRetrieve a single item by ID
Get ManygetAllList items in a project, with filters
UpdateupdateChange fields on an existing item

Parameters

Collection sub-fields show their internal name in backticks when it differs from the label — use that exact name in JSON configurations.

Epic: Create

ParameterTypeRequiredDefaultDescription
Project IDstringYesID of the project to which the epic belongs. Find the project ID in Taiga project settings. Supports expressions like {{ $json.projectId }}.
SubjectstringYesSubject/title of the epic. Supports expressions.
Additional FieldscollectionNo{}Optional fields to set on the new epic.
— Assigned To (assigned_to)stringNoID of the user to assign the epic to.
— Blocked Note (blocked_note)stringNoReason why the epic is blocked. Requires “Is Blocked” to be enabled.
— ColorstringNo0000FFColor code in hexadecimal notation (e.g., “FF0000” for red).
— DescriptionstringNoDescription of the epic.
— Is Blocked (is_blocked)booleanNofalseWhether the epic is blocked.
— TagsstringNoComma-separated list of tag names. Tags must already exist in the project.

Epic: Delete

ParameterTypeRequiredDefaultDescription
Epic IDstringYesID of the epic to delete. Supports expressions like {{ $json.epicId }}.

Epic: Get

ParameterTypeRequiredDefaultDescription
Epic IDstringYesID of the epic to retrieve. Supports expressions like {{ $json.epicId }}.

Epic: Get Many

ParameterTypeRequiredDefaultDescription
Project IDstringYesID of the project to list epics from. Supports expressions.
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo50Max number of results to return. (shown when Return All is false)
FilterscollectionNo{}Optional filters applied to the listing.
— Assigned To (assigned_to)stringNoID of the user whom the epic is assigned to.
— Is Closed (statusIsClosed)booleanNofalseWhether the epic is closed.

Epic: Update

ParameterTypeRequiredDefaultDescription
Project IDstringNoID of the project (used for context when selecting dynamic fields). Supports expressions.
Epic IDstringYesID of the epic to update. Supports expressions like {{ $json.epicId }}.
Update FieldscollectionNo{}Fields to change on the epic. At least one is required.
— Assigned To (assigned_to)stringNoID of the user to assign the epic to.
— Blocked Note (blocked_note)stringNoReason why the epic is blocked. Requires “Is Blocked” to be enabled.
— ColorstringNo0000FFColor code in hexadecimal notation.
— DescriptionstringNoDescription of the epic.
— Is Blocked (is_blocked)booleanNofalseWhether the epic is blocked.
— SubjectstringNoNew subject/title for the epic.
— TagsstringNoComma-separated list of tag names.

Issue: Create

ParameterTypeRequiredDefaultDescription
Project IDstringYesID of the project to which the issue belongs. Supports expressions.
SubjectstringYesSubject/title of the issue. Supports expressions.
Additional FieldscollectionNo{}Optional fields to set on the new issue.
— Assigned To (assigned_to)stringNoID of the user to assign the issue to.
— Blocked Note (blocked_note)stringNoReason why the issue is blocked. Requires “Is Blocked” to be enabled.
— DescriptionstringNoDescription of the issue.
— Is Blocked (is_blocked)booleanNofalseWhether the issue is blocked.
— Milestone ID (milestone)stringNoID of the milestone (sprint) for the issue. Find in Taiga project milestones.
— Priority ID (priority)stringNoID of the priority level. Find in Taiga project settings under Priorities.
— Severity ID (severity)stringNoID of the severity level. Find in Taiga project settings under Severities.
— Status ID (status)stringNoID of the issue status. Find in Taiga project settings under Issue Statuses.
— TagsstringNoComma-separated list of tag names.
— Type ID (type)stringNoID of the issue type. Find in Taiga project settings under Issue Types.

Issue: Delete

ParameterTypeRequiredDefaultDescription
Issue IDstringYesID of the issue to delete. Supports expressions like {{ $json.issueId }}.

Issue: Get

ParameterTypeRequiredDefaultDescription
Issue IDstringYesID of the issue to retrieve. Supports expressions like {{ $json.issueId }}.

Issue: Get Many

ParameterTypeRequiredDefaultDescription
Project IDstringYesID of the project to list issues from. Supports expressions.
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo50Max number of results to return. (shown when Return All is false)
FilterscollectionNo{}Optional filters applied to the listing.
— Assigned To (assigned_to)stringNoID of the user the issue is assigned to.
— Order By (orderBy)optionsNoassigned_toField to order the issues by.
Options: assigned_to, created_date, modified_date, owner, priority, severity, status, subject, type
— OwnerstringNoID of the owner of the issue.
— Priority ID (priority)stringNoID of the priority to filter by.
— Role ID (role)stringNoID of the role to filter by.
— Severity ID (severity)stringNoID of the severity to filter by.
— Status ID (status)stringNoID of the status to filter by.
— TagsstringNoComma-separated list of tag names to filter by.
— Type ID (type)stringNoID of the issue type to filter by.

Issue: Update

ParameterTypeRequiredDefaultDescription
Project IDstringNoID of the project (used for context when selecting dynamic fields). Supports expressions.
Issue IDstringYesID of the issue to update. Supports expressions like {{ $json.issueId }}.
Update FieldscollectionNo{}Fields to change on the issue. At least one is required.
— Assigned To (assigned_to)stringNoID of the user to assign the issue to.
— Blocked Note (blocked_note)stringNoReason why the issue is blocked. Requires “Is Blocked” to be enabled.
— DescriptionstringNoDescription of the issue.
— Is Blocked (is_blocked)booleanNofalseWhether the issue is blocked.
— Milestone ID (milestone)stringNoID of the milestone (sprint) for the issue.
— Priority ID (priority)stringNoID of the priority level.
— Severity ID (severity)stringNoID of the severity level.
— Status ID (status)stringNoID of the issue status.
— SubjectstringNoNew subject/title for the issue.
— TagsstringNoComma-separated list of tag names.
— Type ID (type)stringNoID of the issue type.

Task: Create

ParameterTypeRequiredDefaultDescription
Project IDstringYesID of the project to which the task belongs. Supports expressions.
SubjectstringYesSubject/title of the task. Supports expressions.
Additional FieldscollectionNo{}Optional fields to set on the new task.
— Assigned To (assigned_to)stringNoID of the user to assign the task to.
— Blocked Note (blocked_note)stringNoReason why the task is blocked. Requires “Is Blocked” to be enabled.
— DescriptionstringNoDescription of the task.
— Is Blocked (is_blocked)booleanNofalseWhether the task is blocked.
— Milestone ID (milestone)stringNoID of the milestone (sprint) for the task.
— Status ID (status)stringNoID of the task status. Find in Taiga project settings under Task Statuses.
— TagsstringNoComma-separated list of tag names.
— Taskboard Order (taskboard_order)numberNo1Order of the task in the taskboard.
— User Story ID (user_story)stringNoID of the user story the task belongs to.
— User Story Order (us_order)numberNo1Order of the task within the user story.

Task: Delete

ParameterTypeRequiredDefaultDescription
Task IDstringYesID of the task to delete. Supports expressions like {{ $json.taskId }}.

Task: Get

ParameterTypeRequiredDefaultDescription
Task IDstringYesID of the task to retrieve. Supports expressions like {{ $json.taskId }}.

Task: Get Many

ParameterTypeRequiredDefaultDescription
Project IDstringYesID of the project to list tasks from. Supports expressions.
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo50Max number of results to return. (shown when Return All is false)
FilterscollectionNo{}Optional filters applied to the listing.
— Assigned To (assigned_to)stringNoID of the user the task is assigned to.
— Is Closed (statusIsClosed)booleanNofalseWhether the task is closed.
— Milestone ID (milestone)stringNoID of the milestone to filter by.
— OwnerstringNoID of the owner of the task.
— Role ID (role)stringNoID of the role to filter by.
— Status ID (status)stringNoID of the task status to filter by.
— TagsstringNoComma-separated list of tag names to filter by.
— User Story ID (userStory)stringNoID of the user story the task belongs to.

Task: Update

ParameterTypeRequiredDefaultDescription
Project IDstringNoID of the project (used for context when selecting dynamic fields). Supports expressions.
Task IDstringYesID of the task to update. Supports expressions like {{ $json.taskId }}.
Update FieldscollectionNo{}Fields to change on the task. At least one is required.
— Assigned To (assigned_to)stringNoID of the user to assign the task to.
— Blocked Note (blocked_note)stringNoReason why the task is blocked. Requires “Is Blocked” to be enabled.
— DescriptionstringNoDescription of the task.
— Is Blocked (is_blocked)booleanNofalseWhether the task is blocked.
— Milestone ID (milestone)stringNoID of the milestone (sprint) for the task.
— Status ID (status)stringNoID of the task status.
— SubjectstringNoNew subject/title for the task.
— TagsstringNoComma-separated list of tag names.
— Taskboard Order (taskboard_order)numberNo1Order of the task in the taskboard.
— User Story ID (user_story)stringNoID of the user story the task belongs to.
— User Story Order (us_order)numberNo1Order of the task within the user story.

User Story: Create

ParameterTypeRequiredDefaultDescription
Project IDstringYesID of the project to which the user story belongs. Supports expressions.
SubjectstringYesSubject/title of the user story. Supports expressions.
Additional FieldscollectionNo{}Optional fields to set on the new user story.
— Assigned To (assigned_to)stringNoID of the user to assign the user story to.
— Backlog Order (backlog_order)numberNo1Order of the user story in the backlog.
— Blocked Note (blocked_note)stringNoReason why the user story is blocked. Requires “Is Blocked” to be enabled.
— DescriptionstringNoDescription of the user story.
— Is Blocked (is_blocked)booleanNofalseWhether the user story is blocked.
— Kanban Order (kanban_order)numberNo1Order of the user story in the kanban board.
— Milestone ID (milestone)stringNoID of the milestone (sprint) for the user story.
— Sprint Order (sprint_order)numberNo1Order of the user story in the milestone/sprint.
— Status ID (status)stringNoID of the user story status. Find in Taiga project settings under User Story Statuses.
— TagsstringNoComma-separated list of tag names.
— Type ID (type)stringNoID of the user story type.

User Story: Delete

ParameterTypeRequiredDefaultDescription
User Story IDstringYesID of the user story to delete. Supports expressions like {{ $json.userStoryId }}.

User Story: Get

ParameterTypeRequiredDefaultDescription
User Story IDstringYesID of the user story to retrieve. Supports expressions like {{ $json.userStoryId }}.

User Story: Get Many

ParameterTypeRequiredDefaultDescription
Project IDstringYesID of the project to list user stories from. Supports expressions.
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo50Max number of results to return. (shown when Return All is false)
FilterscollectionNo{}Optional filters applied to the listing.
— Assigned To (assigned_to)stringNoID of the user the user story is assigned to.
— Epic ID (epic)stringNoID of the epic the user story belongs to.
— Is Archived (statusIsArchived)booleanNofalseWhether the user story has been archived.
— Is Closed (statusIsClosed)booleanNofalseWhether the user story is closed.
— Milestone ID (milestone)stringNoID of the milestone to filter by.
— Role ID (role)stringNoID of the role to filter by.
— Status ID (status)stringNoID of the user story status to filter by.
— TagsstringNoComma-separated list of tag names to filter by.

User Story: Update

ParameterTypeRequiredDefaultDescription
Project IDstringNoID of the project (used for context when selecting dynamic fields). Supports expressions.
User Story IDstringYesID of the user story to update. Supports expressions like {{ $json.userStoryId }}.
Update FieldscollectionNo{}Fields to change on the user story. At least one is required.
— Assigned To (assigned_to)stringNoID of the user to assign the user story to.
— Backlog Order (backlog_order)numberNo1Order of the user story in the backlog.
— Blocked Note (blocked_note)stringNoReason why the user story is blocked. Requires “Is Blocked” to be enabled.
— DescriptionstringNoDescription of the user story.
— Is Blocked (is_blocked)booleanNofalseWhether the user story is blocked.
— Kanban Order (kanban_order)numberNo1Order of the user story in the kanban board.
— Milestone ID (milestone)stringNoID of the milestone (sprint) for the user story.
— Sprint Order (sprint_order)numberNo1Order of the user story in the milestone/sprint.
— Status ID (status)stringNoID of the user story status.
— SubjectstringNoNew subject/title for the user story.
— TagsstringNoComma-separated list of tag names.
— Type ID (type)stringNoID of the user story type.

All Operations

ParameterTypeRequiredDefaultDescription
Max ConcurrencynumberNo10Maximum number of items to process concurrently.

Output Data

The Taiga response is merged onto the input item JSON — fields already on the item pass through and the resource object is written on top of them. Binary data is forwarded unchanged.

OperationOutput items per input item
create, get, updateOne item carrying the Taiga object for that epic, issue, task or user story
deleteOne item carrying success: true
getAllFans out — one item per result. If nothing matches, the input item still passes through as one item with nothing added.

Taiga objects carry the fields you would see in the web UI — id, ref, subject, description, status, assigned_to, tags, project, created_date, modified_date and, importantly, version.

Updates use optimistic concurrency: the node reads the item’s current version immediately before sending the change, so a normal update succeeds without you supplying one. An Update with no Update Fields set is rejected rather than sent as an empty change.

Empty values are stripped from Additional Fields, Update Fields and Filters before the request, so leaving an optional field blank means “don’t send it” rather than “set it to empty”.

Reference the result downstream by expression, e.g. {{ $json.id }} or {{ $json.ref }}.

Usage Examples

  • Create a new issue in Taiga project
  • List all tasks in a sprint
  • Update an epic with new tags
  • Get a user story by ID
  • Delete a completed task

Example Configuration

Create an issue with priority, severity and type:

{
  "type": "taiga",
  "parameters": {
    "resource": "issue",
    "operation": "create",
    "projectId": "{{ $json.projectId }}",
    "subject": "{{ $json.title }}",
    "additionalFields": {
      "description": "{{ $json.body }}",
      "priority": "12",
      "severity": "8",
      "type": "3",
      "tags": "bug, triage"
    }
  }
}

List every open task in a sprint:

{
  "type": "taiga",
  "parameters": {
    "resource": "task",
    "operation": "getAll",
    "projectId": "12345",
    "returnAll": true,
    "filters": {
      "milestone": "{{ $json.sprintId }}",
      "statusIsClosed": false
    }
  }
}

List the 50 most recently modified issues:

{
  "type": "taiga",
  "parameters": {
    "resource": "issue",
    "operation": "getAll",
    "projectId": "12345",
    "returnAll": false,
    "limit": 50,
    "filters": {
      "orderBy": "modified_date"
    }
  }
}

Retag an epic and mark it blocked:

{
  "type": "taiga",
  "parameters": {
    "resource": "epic",
    "operation": "update",
    "epicId": "{{ $json.epicId }}",
    "updateFields": {
      "tags": "q3, roadmap",
      "is_blocked": true,
      "blocked_note": "Waiting on design sign-off"
    }
  }
}

Get a single user story:

{
  "type": "taiga",
  "parameters": {
    "resource": "userStory",
    "operation": "get",
    "userStoryId": "{{ $json.userStoryId }}"
  }
}

Delete a completed task:

{
  "type": "taiga",
  "parameters": {
    "resource": "task",
    "operation": "delete",
    "taskId": "{{ $json.taskId }}"
  }
}

Error Handling

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

Tips

Taiga manages agile project items (epics, issues, tasks, user stories) with full CRUD operations on Taiga Cloud or self-hosted instances.

Important Notes

  1. Collection Structure: All collection-type parameters (additionalFields, updateFields, filters) use flat object structure - never use _default keys or array wrappers.

  2. Parameter Dependencies: Many parameters are only shown based on the selected resource and operation combination. Always ensure the correct context.

  3. ID Requirements: Create operations require projectId and subject. Update/Delete operations require the specific item ID (epicId, issueId, taskId, userStoryId).

  4. Pagination: Use returnAll: false with limit for paginated results, or returnAll: true to fetch everything.

  5. Filtering: Each resource type has different available filter fields - refer to the specific resource’s filter structure.

Frequently asked questions

How should collection parameters be structured?

Additional Fields, Update Fields and Filters all use a flat object structure — never `_default` keys or array wrappers.

Why do the parameters change as I configure it?

Many are shown based on the selected resource, so choose epic, issue, task or user story first and configure what appears.

Does it work with self-hosted Taiga?

Yes — both Taiga Cloud and self-hosted instances are supported through the same credential.

Which credential does it need?

A Taiga credential pointing at the instance you use.

Build with the Taiga node

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

Open BusyBot

Last updated . Spotted something wrong? Tell us.