# nodes

node_type: nodes-base.jinaAi
package_name: n8n-nodes-base
display_name: Jina AI
description: Interact with Jina AI API
category: transform
development_style: programmatic
version: 1
credentials_required:
  [
  {
  "name": "jinaAiApi",
  "required": true
  }
  ]

outputs:
  [
  "main"
  ]

updated_at: 2026-03-18 15:15:48
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Jina AI node documentation
  description: Learn how to use the Jina AI node in n8n. Follow technical documentation to integrate Jina AI node into your workflows.
  contentType: [integration, reference]
  ---

  # Jina AI node

  Use the Jina AI node to automate work in Jina AI and integrate Jina AI with other applications. n8n has built-in support for a wide range of Jina AI features.

  On this page, you'll find a list of operations the Jina AI node supports, and links to more resources.

  ///  note  | Credentials
  You can find authentication information for this node [here](/integrations/builtin/credentials/jinaai.md).
  ///


  ## Operations

  * **Reader**:
  	* **Read**: Fetches content from a URL and converts it to clean, LLM-friendly formats.
  	* **Search**: Performs a web search using Jina AI and returns the top results as clean, LLM-friendly formats.
  * **Research**:
  	* **Deep Research**: Research a topic and generate a structured research report.

  ## Templates and examples

  <!-- see https://www.notion.so/n8n/Pull-in-templates-for-the-integrations-pages-37c716837b804d30a33b47475f6e3780 -->
  [[ templatesWidget(page.title, 'jina-ai') ]]

  ## Related resources

  Refer to [Jina AI's reader API documentation](https://r.jina.ai/docs) and [Jina AI's search API documentation](https://s.jina.ai/docs) for more information about the service.

  --8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"

properties_schema:
  [
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "reader",
      "options": [
        {
          "name": "Reader",
          "value": "reader"
        },
        {
          "name": "Research",
          "value": "research"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "read",
      "options": [
        {
          "name": "Read",
          "value": "read",
          "action": "Read URL content",
          "description": "Fetches content from a URL and converts it to clean, LLM-friendly formats",
          "routing": {
            "request": {
              "method": "GET",
              "url": "=https://r.jina.ai/{{ $parameter[\"url\"] }}",
              "headers": {
                "X-Return-Format": "={{ $parameter[\"options\"][\"outputFormat\"] }}",
                "X-Target-Selector": "={{ $parameter[\"options\"][\"targetSelector\"] }}",
                "X-Remove-Selector": "={{ $parameter[\"options\"][\"excludeSelector\"] }}",
                "X-With-Generated-Alt": "={{ $parameter[\"options\"][\"enableImageCaptioning\"] }}",
                "X-Wait-For-Selector": "={{ $parameter[\"options\"][\"waitForSelector\"] }}"
              }
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{ $parameter[\"simplify\"] }}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            }
          }
        },
        {
          "name": "Search",
          "value": "search",
          "action": "Search web",
          "description": "Performs a web search via Jina AI and returns top results as clean, LLM-friendly formats",
          "routing": {
            "request": {
              "method": "GET",
              "url": "https://s.jina.ai/",
              "headers": {
                "X-Return-Format": "={{ $parameter[\"options\"][\"outputFormat\"] }}",
                "X-Site": "={{ $parameter[\"options\"][\"siteFilter\"] }}"
              },
              "qs": {
                "q": "={{ $parameter[\"searchQuery\"] }}",
                "page": "={{ $parameter[\"options\"][\"pageNumber\"] }}"
              }
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{ $parameter[\"simplify\"] }}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            }
          }
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "reader"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "deepResearch",
      "options": [
        {
          "name": "Deep Research",
          "value": "deepResearch",
          "action": "Perform deep research",
          "description": "Research a topic and generate a structured research report",
          "routing": {
            "request": {
              "method": "POST",
              "url": "https://deepsearch.jina.ai/v1/chat/completions",
              "body": {
                "messages": [
                  {
                    "role": "user",
                    "content": "={{ $parameter[\"researchQuery\"] }}"
                  }
                ],
                "max_returned_urls": "={{ $parameter[\"options\"][\"maxReturnedSources\"] }}",
                "boost_hostnames": "={{ $parameter[\"options\"][\"prioritizeSources\"].split(/,\\s*/) }}",
                "bad_hostnames": "={{ $parameter[\"options\"][\"excludeSources\"].split(/,\\s*/) }}",
                "only_hostnames": "={{ $parameter[\"options\"][\"siteFilter\"].split(/,\\s*/) }}"
              }
            },
            "output": {
              "postReceive": [
                {
                  "type": "setKeyValue",
                  "enabled": "={{ $parameter[\"simplify\"] }}",
                  "properties": {
                    "content": "={{ $responseItem[\"choices\"][0][\"message\"][\"content\"] }}",
                    "annotations": "={{ $responseItem[\"choices\"][0][\"message\"][\"annotations\"] }}",
                    "usage": "={{ $responseItem[\"usage\"] }}"
                  }
                }
              ]
            }
          }
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "research"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "URL",
      "name": "url",
      "type": "string",
      "default": "",
      "description": "The URL to fetch content from",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "reader"
          ],
          "operation": [
            "read"
          ]
        }
      }
    },
    {
      "displayName": "Simplify",
      "name": "simplify",
      "type": "boolean",
      "default": true,
      "description": "Whether to return a simplified version of the response instead of the raw data",
      "displayOptions": {
        "show": {
          "resource": [
            "reader"
          ],
          "operation": [
            "read"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Output Format",
          "name": "outputFormat",
          "description": "Specify desired output format",
          "type": "options",
          "options": [
            {
              "name": "HTML",
              "value": "html"
            },
            {
              "name": "JSON",
              "value": ""
            },
            {
              "name": "Markdown",
              "value": "markdown"
            },
            {
              "name": "Screenshot",
              "value": "screenshot"
            },
            {
              "name": "Text",
              "value": "text"
            }
          ],
          "default": ""
        },
        {
          "displayName": "Target CSS Selector",
          "name": "targetSelector",
          "type": "string",
          "description": "CSS selector to focus on specific page elements",
          "default": "",
          "placeholder": "e.g. #main-content .article"
        },
        {
          "displayName": "Exclude CSS Selector",
          "name": "excludeSelector",
          "type": "string",
          "description": "CSS selector for elements to exclude",
          "default": "",
          "placeholder": "e.g. header, footer, .ads"
        },
        {
          "displayName": "Enable Image Captioning",
          "name": "enableImageCaptioning",
          "type": "boolean",
          "default": false,
          "description": "Whether to generate captions for images within the content"
        },
        {
          "displayName": "Wait for CSS Selector",
          "name": "waitForSelector",
          "type": "string",
          "description": "Wait for a specific element to appear before extracting content (for dynamic pages)",
          "default": "",
          "placeholder": "e.g. #results-loaded"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "reader"
          ],
          "operation": [
            "read"
          ]
        }
      }
    },
    {
      "displayName": "Search Query",
      "name": "searchQuery",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "reader"
          ],
          "operation": [
            "search"
          ]
        }
      }
    },
    {
      "displayName": "Simplify",
      "name": "simplify",
      "type": "boolean",
      "default": true,
      "description": "Whether to return a simplified version of the response instead of the raw data",
      "displayOptions": {
        "show": {
          "resource": [
            "reader"
          ],
          "operation": [
            "search"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Output Format",
          "name": "outputFormat",
          "description": "Specify desired output format",
          "type": "options",
          "options": [
            {
              "name": "HTML",
              "value": "html"
            },
            {
              "name": "JSON",
              "value": ""
            },
            {
              "name": "Markdown",
              "value": "markdown"
            },
            {
              "name": "Screenshot",
              "value": "screenshot"
            },
            {
              "name": "Text",
              "value": "text"
            }
          ],
          "default": ""
        },
        {
          "displayName": "Site Filter",
          "name": "siteFilter",
          "type": "string",
          "description": "Restrict search to specific websites",
          "default": "",
          "placeholder": "e.g. jina.ai, github.com"
        },
        {
          "displayName": "Page Number",
          "name": "pageNumber",
          "type": "number",
          "typeOptions": {
            "minValue": 1,
            "numberPrecision": 0
          },
          "description": "The page number of the search results to retrieve",
          "default": "",
          "placeholder": "1"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "reader"
          ],
          "operation": [
            "search"
          ]
        }
      }
    },
    {
      "displayName": "Research Query",
      "name": "researchQuery",
      "type": "string",
      "default": "",
      "description": "The topic or question for the AI to research",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "research"
          ],
          "operation": [
            "deepResearch"
          ]
        }
      },
      "typeOptions": {
        "rows": 2
      }
    },
    {
      "displayName": "Simplify",
      "name": "simplify",
      "type": "boolean",
      "default": true,
      "description": "Whether to return a simplified version of the response instead of the raw data",
      "displayOptions": {
        "show": {
          "resource": [
            "research"
          ],
          "operation": [
            "deepResearch"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Max Returned Sources",
          "name": "maxReturnedSources",
          "description": "The maximum number of URLs to include in the final answer",
          "type": "number",
          "typeOptions": {
            "minValue": 1,
            "numberPrecision": 0
          },
          "default": "",
          "placeholder": "e.g. 5"
        },
        {
          "displayName": "Prioritize Sources",
          "name": "prioritizeSources",
          "type": "string",
          "description": "A list of domains that are given a higher priority for content retrieval",
          "default": "",
          "placeholder": "e.g. jina.ai, github.com"
        },
        {
          "displayName": "Exclude Sources",
          "name": "excludeSources",
          "type": "string",
          "description": "A list of domains to be strictly excluded from content retrieval",
          "default": "",
          "placeholder": "e.g. jina.ai, github.com"
        },
        {
          "displayName": "Site Filter",
          "name": "siteFilter",
          "type": "string",
          "description": "Restrict search to specific websites",
          "default": "",
          "placeholder": "e.g. jina.ai, github.com"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "research"
          ],
          "operation": [
            "deepResearch"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "read",
      "name": "Read",
      "description": "Fetches content from a URL and converts it to clean, LLM-friendly formats"
    },
    {
      "operation": "search",
      "name": "Search",
      "description": "Performs a web search via Jina AI and returns top results as clean, LLM-friendly formats"
    }
  ]


node_type: nodes-base.jiraTool
package_name: n8n-nodes-base
display_name: Jira Software Tool
description: Consume Jira Software API (AI Tool variant for use with AI Agents)
category: output
development_style: programmatic
version: 1
outputs:
  [
  {
  "type": "ai_tool",
  "displayName": "Tool"
  }
  ]

output_names:
  [
  "Tool"
  ]

updated_at: 2026-03-18 15:15:48
tool_variant_of: nodes-base.jira
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Jira Software node documentation
  description: Learn how to use the Jira Software node in n8n. Follow technical documentation to integrate Jira Software node into your workflows.
  contentType: [integration, reference]
  priority: medium
  ---

  # Jira Software node

  Use the Jira Software node to automate work in Jira, and integrate Jira with other applications. n8n has built-in support for a wide range of Jira features, including creating, updating, deleting, and getting issues, and users. 

  On this page, you'll find a list of operations the Jira Software node supports and links to more resources.

  /// note | Credentials
  Refer to [Jira credentials](/integrations/builtin/credentials/jira.md) for guidance on setting up authentication. 
  ///

  --8<-- "_snippets/integrations/builtin/app-nodes/ai-tools.md"

  ## Operations

  * Issue
      * Get issue changelog
      * Create a new issue
      * Delete an issue
      * Get an issue
      * Get all issues
      * Create an email notification for an issue and add it to the mail queue
      * Return either all transitions or a transition that can be performed by the user on an issue, based on the issue's status
      * Update an issue
  * Issue Attachment
      * Add attachment to issue
      * Get an attachment
      * Get all attachments
      * Remove an attachment
  * Issue Comment
      * Add comment to issue
      * Get a comment
      * Get all comments
      * Remove a comment
      * Update a comment
  * User
      * Create a new user.
      * Delete a user.
      * Retrieve a user.

  ## Templates and examples

  <!-- see https://www.notion.so/n8n/Pull-in-templates-for-the-integrations-pages-37c716837b804d30a33b47475f6e3780 -->
  [[ templatesWidget(page.title, 'jira-software') ]]

  --8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"

  ## Related resources

  Refer to the [official JQL documentation](https://www.atlassian.com/software/jira/guides/expand-jira/jql) about Jira Query Language (JQL) to learn more about it.

  ## Fetch issues for a specific project

  The **Get All** operation returns all the issues from Jira. To fetch issues for a particular project, you need to use Jira Query Language (JQL).

  For example, if you want to receive all the issues of a project named `n8n`, you'd do something like this:

  - Select **Get All** from the **Operation** dropdown list.
  - Toggle **Return All** to true.
  - Select **Add Option** and select **JQL**.
  - Enter `project=n8n` in the **JQL** field.

  This query will fetch all the issues in the project named `n8n`. Enter the name of your project instead of `n8n` to fetch all the issues for your project.

properties_schema:
  [
    {
      "displayName": "Tool Description",
      "name": "toolDescription",
      "type": "string",
      "default": "",
      "required": false,
      "description": "Description for the AI to understand what this tool does and when to use it",
      "typeOptions": {
        "rows": 3
      },
      "placeholder": "e.g., Use this tool to interact with Jira Software"
    },
    {
      "displayName": "Jira Version",
      "name": "jiraVersion",
      "type": "options",
      "default": "cloud",
      "options": [
        {
          "name": "Cloud",
          "value": "cloud"
        },
        {
          "name": "Server (Self Hosted)",
          "value": "server"
        },
        {
          "name": "Server Pat (Self Hosted)",
          "value": "serverPat"
        }
      ]
    },
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "issue",
      "options": [
        {
          "name": "Issue",
          "value": "issue",
          "description": "Creates an issue or, where the option to create subtasks is enabled in Jira, a subtask"
        },
        {
          "name": "Issue Attachment",
          "value": "issueAttachment",
          "description": "Add, remove, and get an attachment from an issue"
        },
        {
          "name": "Issue Comment",
          "value": "issueComment",
          "description": "Get, create, update, and delete a comment from an issue"
        },
        {
          "name": "User",
          "value": "user",
          "description": "Get, create and delete a user"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Changelog",
          "value": "changelog",
          "description": "Get issue changelog",
          "action": "Get an issue changelog"
        },
        {
          "name": "Create",
          "value": "create",
          "description": "Create a new issue",
          "action": "Create an issue"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete an issue",
          "action": "Delete an issue"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get an issue",
          "action": "Get an issue"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many issues",
          "action": "Get many issues"
        },
        {
          "name": "Notify",
          "value": "notify",
          "description": "Create an email notification for an issue and add it to the mail queue",
          "action": "Create an email notification for an issue"
        },
        {
          "name": "Status",
          "value": "transitions",
          "description": "Return either all transitions or a transition that can be performed by the user on an issue, based on the issue's status",
          "action": "Get the status of an issue"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update an issue",
          "action": "Update an issue"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Project",
      "name": "project",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ],
          "operation": [
            "create"
          ]
        }
      },
      "modes": [
        {
          "displayName": "Project",
          "name": "list",
          "type": "list",
          "placeholder": "Select a Project...",
          "typeOptions": {
            "searchListMethod": "getProjects",
            "searchable": true
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "placeholder": "10000",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "([0-9]{2,})[ \t]*",
                "errorMessage": "Not a valid Jira Project ID"
              }
            }
          ],
          "extractValue": {
            "type": "regex",
            "regex": "^([0-9]{2,})"
          }
        }
      ]
    },
    {
      "displayName": "Issue Type",
      "name": "issueType",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ],
          "operation": [
            "create"
          ]
        }
      },
      "modes": [
        {
          "displayName": "Issue Type",
          "name": "list",
          "type": "list",
          "placeholder": "Select an Issue Type...",
          "typeOptions": {
            "searchListMethod": "getIssueTypes"
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "placeholder": "10000",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "([0-9]{1,})[ \t]*",
                "errorMessage": "Not a valid Jira Issue Type ID"
              }
            }
          ],
          "extractValue": {
            "type": "regex",
            "regex": "^([0-9]{1,})"
          }
        }
      ]
    },
    {
      "displayName": "Summary",
      "name": "summary",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Assignee",
          "name": "assignee",
          "type": "resourceLocator",
          "default": {
            "mode": "list",
            "value": ""
          },
          "modes": [
            {
              "displayName": "Assignee",
              "name": "list",
              "type": "list",
              "placeholder": "Select an Assignee...",
              "typeOptions": {
                "searchListMethod": "getUsers",
                "searchable": true
              }
            },
            {
              "displayName": "ID",
              "name": "id",
              "type": "string",
              "placeholder": "62971ebae540870069668714",
              "validation": [
                {
                  "type": "regex",
                  "properties": {
                    "regex": "([-:a-z0-9]{2,})[ \t]*",
                    "errorMessage": "Not a valid Jira Assignee ID"
                  }
                }
              ],
              "extractValue": {
                "type": "regex",
                "regex": "^([-:a-z0-9]{2,})"
              }
            }
          ]
        },
        {
          "displayName": "Description",
          "name": "description",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Component Names or IDs",
          "name": "componentIds",
          "type": "multiOptions",
          "description": "Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
          "typeOptions": {
            "loadOptionsMethod": "getProjectComponents",
            "loadOptionsDependsOn": [
              "project"
            ]
          },
          "default": []
        },
        {
          "displayName": "Custom Fields",
          "name": "customFieldsUi",
          "type": "fixedCollection",
          "default": {},
          "placeholder": "Add Custom Field",
          "typeOptions": {
            "multipleValues": true
          },
          "options": [
            {
              "name": "customFieldsValues",
              "displayName": "Custom Field",
              "values": [
                {
                  "displayName": "Field",
                  "name": "fieldId",
                  "type": "resourceLocator",
                  "default": {
                    "mode": "list",
                    "value": ""
                  },
                  "modes": [
                    {
                      "displayName": "Field",
                      "name": "list",
                      "type": "list",
                      "placeholder": "Select a Field...",
                      "typeOptions": {
                        "searchListMethod": "getCustomFields"
                      }
                    },
                    {
                      "displayName": "ID",
                      "name": "id",
                      "type": "string",
                      "placeholder": "customfield_10035",
                      "validation": [
                        {
                          "type": "regex",
                          "properties": {
                            "regex": "(customfield_[0-9]{2,})[ \t]*",
                            "errorMessage": "Not a valid Jira Field ID"
                          }
                        }
                      ],
                      "extractValue": {
                        "type": "regex",
                        "regex": "^(customfield_[0-9]{2,})"
                      }
                    }
                  ]
                },
                {
                  "displayName": "Field Value",
                  "name": "fieldValue",
                  "type": "string",
                  "description": "Value of the field to set",
                  "default": ""
                }
              ]
            }
          ]
        },
        {
          "displayName": "Label Names or IDs",
          "name": "labels",
          "type": "multiOptions",
          "description": "Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
          "typeOptions": {
            "loadOptionsMethod": "getLabels"
          },
          "default": [],
          "displayOptions": {
            "show": {
              "/jiraVersion": [
                "cloud"
              ]
            }
          }
        },
        {
          "displayName": "Labels",
          "name": "serverLabels",
          "type": "string",
          "default": [],
          "displayOptions": {
            "show": {
              "/jiraVersion": [
                "server"
              ]
            }
          },
          "typeOptions": {
            "multipleValues": true
          }
        },
        {
          "displayName": "Parent Issue Key",
          "name": "parentIssueKey",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Priority",
          "name": "priority",
          "type": "resourceLocator",
          "default": {
            "mode": "list",
            "value": ""
          },
          "modes": [
            {
              "displayName": "Priority",
              "name": "list",
              "type": "list",
              "placeholder": "Select a Priority...",
              "typeOptions": {
                "searchListMethod": "getPriorities"
              }
            },
            {
              "displayName": "ID",
              "name": "id",
              "type": "string",
              "placeholder": "1",
              "validation": [
                {
                  "type": "regex",
                  "properties": {
                    "regex": "([0-9]{1,})[ \t]*",
                    "errorMessage": "Not a valid Jira Priority ID"
                  }
                }
              ],
              "extractValue": {
                "type": "regex",
                "regex": "^([0-9]{1,})"
              }
            }
          ]
        },
        {
          "displayName": "Reporter",
          "name": "reporter",
          "type": "resourceLocator",
          "default": {
            "mode": "list",
            "value": ""
          },
          "modes": [
            {
              "displayName": "Reporter",
              "name": "list",
              "type": "list",
              "placeholder": "Select a Reporter...",
              "typeOptions": {
                "searchListMethod": "getUsers",
                "searchable": true
              }
            },
            {
              "displayName": "ID",
              "name": "id",
              "type": "string",
              "placeholder": "62971ebae540870069668714",
              "validation": [
                {
                  "type": "regex",
                  "properties": {
                    "regex": "([-:a-z0-9]{2,})[ \t]*",
                    "errorMessage": "Not a valid Jira Reporter ID"
                  }
                }
              ],
              "extractValue": {
                "type": "regex",
                "regex": "^([-:a-z0-9]{2,})"
              }
            }
          ]
        },
        {
          "displayName": "Update History",
          "name": "updateHistory",
          "type": "boolean",
          "default": false,
          "description": "Whether the project in which the issue is created is added to the user's Recently viewed project list, as shown under Projects in Jira"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Issue Key",
      "name": "issueKey",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Update Fields",
      "name": "updateFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Assignee",
          "name": "assignee",
          "type": "resourceLocator",
          "default": {
            "mode": "list",
            "value": ""
          },
          "modes": [
            {
              "displayName": "Assignee",
              "name": "list",
              "type": "list",
              "placeholder": "Select an Assignee...",
              "typeOptions": {
                "searchListMethod": "getUsers",
                "searchable": true
              }
            },
            {
              "displayName": "ID",
              "name": "id",
              "type": "string",
              "placeholder": "62971ebae540870069668714",
              "validation": [
                {
                  "type": "regex",
                  "properties": {
                    "regex": "([-:a-z0-9]{2,})[ \t]*",
                    "errorMessage": "Not a valid Jira Assignee ID"
                  }
                }
              ],
              "extractValue": {
                "type": "regex",
                "regex": "^([-:a-z0-9]{2,})"
              }
            }
          ]
        },
        {
          "displayName": "Description",
          "name": "description",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Custom Fields",
          "name": "customFieldsUi",
          "type": "fixedCollection",
          "default": {},
          "placeholder": "Add Custom Field",
          "typeOptions": {
            "multipleValues": true
          },
          "options": [
            {
              "name": "customFieldsValues",
              "displayName": "Custom Field",
              "values": [
                {
                  "displayName": "Field",
                  "name": "fieldId",
                  "type": "resourceLocator",
                  "default": {
                    "mode": "list",
                    "value": ""
                  },
                  "modes": [
                    {
                      "displayName": "Field",
                      "name": "list",
                      "type": "list",
                      "placeholder": "Select a Field...",
                      "typeOptions": {
                        "searchListMethod": "getCustomFields"
                      }
                    },
                    {
                      "displayName": "ID",
                      "name": "id",
                      "type": "string",
                      "placeholder": "customfield_10035",
                      "validation": [
                        {
                          "type": "regex",
                          "properties": {
                            "regex": "(customfield_[0-9]{2,})[ \t]*",
                            "errorMessage": "Not a valid Jira Field ID"
                          }
                        }
                      ],
                      "extractValue": {
                        "type": "regex",
                        "regex": "^(customfield_[0-9]{2,})"
                      }
                    }
                  ]
                },
                {
                  "displayName": "Field Value",
                  "name": "fieldValue",
                  "type": "string",
                  "description": "Value of the field to set",
                  "default": ""
                }
              ]
            }
          ]
        },
        {
          "displayName": "Issue Type",
          "name": "issueType",
          "type": "string",
          "default": "",
          "description": "Issue Types"
        },
        {
          "displayName": "Label Names or IDs",
          "name": "labels",
          "type": "multiOptions",
          "description": "Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
          "typeOptions": {
            "loadOptionsMethod": "getLabels"
          },
          "default": [],
          "displayOptions": {
            "show": {
              "/jiraVersion": [
                "cloud"
              ]
            }
          }
        },
        {
          "displayName": "Labels",
          "name": "serverLabels",
          "type": "string",
          "default": [],
          "displayOptions": {
            "show": {
              "/jiraVersion": [
                "server"
              ]
            }
          },
          "typeOptions": {
            "multipleValues": true
          }
        },
        {
          "displayName": "Parent Issue Key",
          "name": "parentIssueKey",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Priority",
          "name": "priority",
          "type": "resourceLocator",
          "default": {
            "mode": "list",
            "value": ""
          },
          "modes": [
            {
              "displayName": "Priority",
              "name": "list",
              "type": "list",
              "placeholder": "Select a Priority...",
              "typeOptions": {
                "searchListMethod": "getPriorities"
              }
            },
            {
              "displayName": "ID",
              "name": "id",
              "type": "string",
              "placeholder": "1",
              "validation": [
                {
                  "type": "regex",
                  "properties": {
                    "regex": "([0-9]{1,})[ \t]*",
                    "errorMessage": "Not a valid Jira Priority ID"
                  }
                }
              ],
              "extractValue": {
                "type": "regex",
                "regex": "^([0-9]{1,})"
              }
            }
          ]
        },
        {
          "displayName": "Reporter",
          "name": "reporter",
          "type": "resourceLocator",
          "default": {
            "mode": "list",
            "value": ""
          },
          "modes": [
            {
              "displayName": "Reporter",
              "name": "list",
              "type": "list",
              "placeholder": "Select a Reporter...",
              "typeOptions": {
                "searchListMethod": "getUsers",
                "searchable": true
              }
            },
            {
              "displayName": "ID",
              "name": "id",
              "type": "string",
              "placeholder": "62971ebae540870069668714",
              "validation": [
                {
                  "type": "regex",
                  "properties": {
                    "regex": "([-:a-z0-9]{2,})[ \t]*",
                    "errorMessage": "Not a valid Jira Reporter ID"
                  }
                }
              ],
              "extractValue": {
                "type": "regex",
                "regex": "^([-:a-z0-9]{2,})"
              }
            }
          ]
        },
        {
          "displayName": "Summary",
          "name": "summary",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Status",
          "name": "statusId",
          "type": "resourceLocator",
          "default": {
            "mode": "list",
            "value": ""
          },
          "modes": [
            {
              "displayName": "Status",
              "name": "list",
              "type": "list",
              "placeholder": "Select a Status...",
              "typeOptions": {
                "searchListMethod": "getTransitions"
              }
            },
            {
              "displayName": "ID",
              "name": "id",
              "type": "string",
              "placeholder": "11",
              "validation": [
                {
                  "type": "regex",
                  "properties": {
                    "regex": "([0-9]{1,})[ \t]*",
                    "errorMessage": "Not a valid Jira Status ID"
                  }
                }
              ],
              "extractValue": {
                "type": "regex",
                "regex": "^([0-9]{1,})"
              }
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Issue Key",
      "name": "issueKey",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ],
          "operation": [
            "delete"
          ]
        }
      }
    },
    {
      "displayName": "Delete Subtasks",
      "name": "deleteSubtasks",
      "type": "boolean",
      "default": false,
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ],
          "operation": [
            "delete"
          ]
        }
      }
    },
    {
      "displayName": "Issue Key",
      "name": "issueKey",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Simplify",
      "name": "simplifyOutput",
      "type": "boolean",
      "default": false,
      "description": "Whether to return a simplified version of the response instead of the raw data",
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Expand",
          "name": "expand",
          "type": "string",
          "default": "",
          "description": "<p>Use expand to include additional information about the issues in the response. This parameter accepts a comma-separated list. Expand options include:\n\t\t\t\t<ul>\n\t\t\t\t\t<li><code>renderedFields</code> Returns field values rendered in HTML format.</li>\n\t\t\t\t\t<li><code>names</code> Returns the display name of each field.</li>\n\t\t\t\t\t<li><code>schema</code> Returns the schema describing a field type.</li>\n\t\t\t\t\t<li><code>transitions</code> Returns all possible transitions for the issue.</li>\n\t\t\t\t\t<li><code>editmeta</code> Returns information about how each field can be edited.</li>\n\t\t\t\t\t<li><code>changelog</code> Returns a list of recent updates to an issue, sorted by date, starting from the most recent.</li>\n\t\t\t\t\t<li><code>versionedRepresentations</code> Returns a JSON array for each version of a field's value, with the highest number representing the most recent version. Note: When included in the request, the fields parameter is ignored.</li>\n\t\t\t\t</ul>"
        },
        {
          "displayName": "Fields",
          "name": "fields",
          "type": "string",
          "default": "",
          "description": "A list of fields to return for the issue. This parameter accepts a comma-separated list. Use it to retrieve a subset of fields. Allowed values: <code>*all</code> Returns all fields. <code>*navigable</code> Returns navigable fields. Any issue field, prefixed with a minus to exclude."
        },
        {
          "displayName": "Fields By Key",
          "name": "fieldsByKey",
          "type": "boolean",
          "default": false,
          "description": "Whether fields in fields are referenced by keys rather than IDs. This parameter is useful where fields have been added by a connect app and a field's key may differ from its ID."
        },
        {
          "displayName": "Properties",
          "name": "properties",
          "type": "string",
          "default": "",
          "description": "A list of issue properties to return for the issue. This parameter accepts a comma-separated list. Allowed values: <code>*all</code> Returns all issue properties. Any issue property key, prefixed with a minus to exclude. Examples: <code>*all</code> Returns all properties. <code>*all</code>,-prop1 Returns all properties except prop1. <code>prop1,prop2</code> Returns prop1 and prop2 properties. This parameter may be specified multiple times. For example, properties=prop1,prop2& properties=prop3."
        },
        {
          "displayName": "Update History",
          "name": "updateHistory",
          "type": "boolean",
          "default": false,
          "description": "Whether the project in which the issue is created is added to the user's Recently viewed project list, as shown under Projects in Jira. This also populates the JQL issues search lastViewed field."
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ],
          "operation": [
            "getAll"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Expand",
          "name": "expand",
          "type": "multiOptions",
          "default": [],
          "options": [
            {
              "name": "Changelog",
              "value": "changelog",
              "description": "Returns a list of recent updates to an issue, sorted by date, starting from the most recent"
            },
            {
              "name": "Editmeta",
              "value": "editmeta",
              "description": "Returns information about how each field can be edited"
            },
            {
              "name": "Names",
              "value": "names",
              "description": "Returns the display name of each field"
            },
            {
              "name": "Operations",
              "value": "operations",
              "description": "Returns all possible operations for the issue"
            },
            {
              "name": "Rendered Fields",
              "value": "renderedFields",
              "description": "Returns field values rendered in HTML format"
            },
            {
              "name": "Schema",
              "value": "schema",
              "description": "Returns the schema describing a field type"
            },
            {
              "name": "Transitions",
              "value": "transitions",
              "description": "Returns all possible transitions for the issue"
            },
            {
              "name": "Versioned Representations",
              "value": "versionedRepresentations",
              "description": "JSON array containing each version of a field's value"
            }
          ],
          "description": "Use expand to include additional information about issues in the response"
        },
        {
          "displayName": "Fields",
          "name": "fields",
          "type": "string",
          "default": "*navigable",
          "description": "A list of fields to return for each issue, use it to retrieve a subset of fields. This parameter accepts a comma-separated list. Expand options include: <code>*all</code> Returns all fields. <code>*navigable</code> Returns navigable fields. Any issue field, prefixed with a minus to exclude."
        },
        {
          "displayName": "Fields By Key",
          "name": "fieldsByKey",
          "type": "boolean",
          "default": false,
          "description": "Whether fields in fields are referenced by keys rather than IDs. This parameter is useful where fields have been added by a connect app and a field's key may differ from its ID."
        },
        {
          "displayName": "JQL",
          "name": "jql",
          "type": "string",
          "default": "",
          "description": "A JQL expression"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "issue"
          ]
        }
      }
    },
    {
      "displayName": "Issue Key",
      "name": "issueKey",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ],
          "operation": [
            "changelog"
          ]
        }
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ],
          "operation": [
            "changelog"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ],
          "operation": [
            "changelog"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Issue Key",
      "name": "issueKey",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ],
          "operation": [
            "notify"
          ]
        }
      }
    },
    {
      "displayName": "JSON Parameters",
      "name": "jsonParameters",
      "type": "boolean",
      "default": false,
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ],
          "operation": [
            "notify"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "HTML Body",
          "name": "htmlBody",
          "type": "string",
          "default": "",
          "description": "The HTML body of the email notification for the issue"
        },
        {
          "displayName": "Subject",
          "name": "subject",
          "type": "string",
          "default": "",
          "description": "The subject of the email notification for the issue. If this is not specified, then the subject is set to the issue key and summary."
        },
        {
          "displayName": "Text Body",
          "name": "textBody",
          "type": "string",
          "default": "",
          "description": "The subject of the email notification for the issue. If this is not specified, then the subject is set to the issue key and summary."
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ],
          "operation": [
            "notify"
          ]
        }
      }
    },
    {
      "displayName": "Notification Recipients",
      "name": "notificationRecipientsUi",
      "type": "fixedCollection",
      "default": {},
      "description": "The recipients of the email notification for the issue",
      "options": [
        {
          "name": "notificationRecipientsValues",
          "displayName": "Recipients",
          "values": [
            {
              "displayName": "Reporter",
              "name": "reporter",
              "type": "boolean",
              "description": "Whether the notification should be sent to the issue's reporter",
              "default": false
            },
            {
              "displayName": "Assignee",
              "name": "assignee",
              "type": "boolean",
              "default": false,
              "description": "Whether the notification should be sent to the issue's assignees"
            },
            {
              "displayName": "Watchers",
              "name": "watchers",
              "type": "boolean",
              "default": false,
              "description": "Whether the notification should be sent to the issue's assignees"
            },
            {
              "displayName": "Voters",
              "name": "voters",
              "type": "boolean",
              "default": false,
              "description": "Whether the notification should be sent to the issue's voters"
            },
            {
              "displayName": "User Names or IDs",
              "name": "users",
              "type": "multiOptions",
              "typeOptions": {
                "loadOptionsMethod": "getUsers"
              },
              "default": [],
              "description": "List of users to receive the notification. Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
            },
            {
              "displayName": "Group Names or IDs",
              "name": "groups",
              "type": "multiOptions",
              "typeOptions": {
                "loadOptionsMethod": "getGroups"
              },
              "default": [],
              "description": "List of groups to receive the notification. Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ],
          "operation": [
            "notify"
          ],
          "jsonParameters": [
            false
          ]
        }
      },
      "typeOptions": {
        "multipleValues": false
      }
    },
    {
      "displayName": "Notification Recipients",
      "name": "notificationRecipientsJson",
      "type": "json",
      "default": "",
      "description": "The recipients of the email notification for the issue",
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ],
          "operation": [
            "notify"
          ],
          "jsonParameters": [
            true
          ]
        }
      },
      "typeOptions": {
        "alwaysOpenEditWindow": true
      }
    },
    {
      "displayName": "Notification Recipients Restrictions",
      "name": "notificationRecipientsRestrictionsUi",
      "type": "fixedCollection",
      "default": {},
      "description": "Restricts the notifications to users with the specified permissions",
      "options": [
        {
          "name": "notificationRecipientsRestrictionsValues",
          "displayName": "Recipients Restrictions",
          "values": [
            {
              "displayName": "User Names or IDs",
              "name": "users",
              "type": "multiOptions",
              "typeOptions": {
                "loadOptionsMethod": "getUsers"
              },
              "default": [],
              "description": "List of users to receive the notification. Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
            },
            {
              "displayName": "Group Names or IDs",
              "name": "groups",
              "type": "multiOptions",
              "typeOptions": {
                "loadOptionsMethod": "getGroups"
              },
              "default": [],
              "description": "List of groups to receive the notification. Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ],
          "operation": [
            "notify"
          ],
          "jsonParameters": [
            false
          ]
        }
      },
      "typeOptions": {
        "multipleValues": false
      }
    },
    {
      "displayName": "Notification Recipients Restrictions",
      "name": "notificationRecipientsRestrictionsJson",
      "type": "json",
      "default": "",
      "description": "Restricts the notifications to users with the specified permissions",
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ],
          "operation": [
            "notify"
          ],
          "jsonParameters": [
            true
          ]
        }
      },
      "typeOptions": {
        "alwaysOpenEditWindow": true
      }
    },
    {
      "displayName": "Issue Key",
      "name": "issueKey",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ],
          "operation": [
            "transitions"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Expand",
          "name": "expand",
          "type": "string",
          "default": "",
          "description": "Use expand to include additional information about transitions in the response. This parameter accepts transitions.fields, which returns information about the fields in the transition screen for each transition. Fields hidden from the screen are not returned. Use this information to populate the fields and update fields in Transition issue."
        },
        {
          "displayName": "Transition ID",
          "name": "transitionId",
          "type": "string",
          "default": "",
          "description": "The ID of the transition"
        },
        {
          "displayName": "Skip Remote Only Condition",
          "name": "skipRemoteOnlyCondition",
          "type": "boolean",
          "default": false,
          "description": "Whether transitions with the condition Hide From User Condition are included in the response"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ],
          "operation": [
            "transitions"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "add",
      "options": [
        {
          "name": "Add",
          "value": "add",
          "description": "Add attachment to issue",
          "action": "Add an attachment to an issue"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get an attachment",
          "action": "Get an attachment from an issue"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many attachments",
          "action": "Get many issue attachments"
        },
        {
          "name": "Remove",
          "value": "remove",
          "description": "Remove an attachment",
          "action": "Remove an attachment from an issue"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "issueAttachment"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Issue Key",
      "name": "issueKey",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issueAttachment"
          ],
          "operation": [
            "add"
          ]
        }
      }
    },
    {
      "displayName": "Input Binary Field",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issueAttachment"
          ],
          "operation": [
            "add"
          ]
        }
      }
    },
    {
      "displayName": "Attachment ID",
      "name": "attachmentId",
      "type": "string",
      "default": "",
      "description": "The ID of the attachment",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issueAttachment"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Download",
      "name": "download",
      "type": "boolean",
      "default": false,
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issueAttachment"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Put Output File in Field",
      "name": "binaryProperty",
      "type": "string",
      "default": "data",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issueAttachment"
          ],
          "operation": [
            "get"
          ],
          "download": [
            true
          ]
        }
      }
    },
    {
      "displayName": "Issue Key",
      "name": "issueKey",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issueAttachment"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "resource": [
            "issueAttachment"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "issueAttachment"
          ],
          "operation": [
            "getAll"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Download",
      "name": "download",
      "type": "boolean",
      "default": false,
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issueAttachment"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Put Output File in Field",
      "name": "binaryProperty",
      "type": "string",
      "default": "data",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issueAttachment"
          ],
          "operation": [
            "getAll"
          ],
          "download": [
            true
          ]
        }
      }
    },
    {
      "displayName": "Attachment ID",
      "name": "attachmentId",
      "type": "string",
      "default": "",
      "description": "The ID of the attachment",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issueAttachment"
          ],
          "operation": [
            "remove"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "add",
      "options": [
        {
          "name": "Add",
          "value": "add",
          "description": "Add comment to issue",
          "action": "Add a comment"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get a comment",
          "action": "Get a comment"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many comments",
          "action": "Get many comments"
        },
        {
          "name": "Remove",
          "value": "remove",
          "description": "Remove a comment",
          "action": "Remove a comment"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update a comment",
          "action": "Update a comment"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "issueComment"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Issue Key",
      "name": "issueKey",
      "type": "string",
      "default": "",
      "description": "issueComment Key",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issueComment"
          ],
          "operation": [
            "add"
          ]
        }
      }
    },
    {
      "displayName": "JSON Parameters",
      "name": "jsonParameters",
      "type": "boolean",
      "default": false,
      "displayOptions": {
        "show": {
          "resource": [
            "issueComment"
          ],
          "operation": [
            "add"
          ]
        }
      }
    },
    {
      "displayName": "Comment",
      "name": "comment",
      "type": "string",
      "default": "",
      "description": "Comment's text",
      "displayOptions": {
        "show": {
          "resource": [
            "issueComment"
          ],
          "operation": [
            "add"
          ],
          "jsonParameters": [
            false
          ]
        }
      }
    },
    {
      "displayName": "Document Format (JSON)",
      "name": "commentJson",
      "type": "json",
      "default": "",
      "description": "The Atlassian Document Format (ADF). Online builder can be found <a href=\"https://developer.atlassian.com/cloud/jira/platform/apis/document/playground/\">here</a>.",
      "displayOptions": {
        "show": {
          "resource": [
            "issueComment"
          ],
          "operation": [
            "add"
          ],
          "jsonParameters": [
            true
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Expand",
          "name": "expand",
          "type": "options",
          "options": [
            {
              "name": "Rendered Body",
              "value": "renderedBody"
            }
          ],
          "default": [],
          "description": "Use expand to include additional information about comments in the response. This parameter accepts Rendered Body, which returns the comment body rendered in HTML."
        },
        {
          "displayName": "Use Wiki Markup",
          "name": "wikiMarkup",
          "type": "boolean",
          "default": false,
          "displayOptions": {
            "show": {
              "/jiraVersion": [
                "cloud"
              ]
            }
          },
          "description": "Whether to enable parsing of wikiformatting for this comment. Default is false."
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "issueComment"
          ],
          "operation": [
            "add"
          ]
        }
      }
    },
    {
      "displayName": "Issue Key",
      "name": "issueKey",
      "type": "string",
      "default": "",
      "description": "The ID or key of the issue",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issueComment"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Comment ID",
      "name": "commentId",
      "type": "string",
      "default": "",
      "description": "The ID of the comment",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issueComment"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Expand",
          "name": "expand",
          "type": "options",
          "options": [
            {
              "name": "Rendered Body",
              "value": "renderedBody"
            }
          ],
          "default": "",
          "description": "Use expand to include additional information about comments in the response. This parameter accepts Rendered Body, which returns the comment body rendered in HTML."
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "issueComment"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Issue Key",
      "name": "issueKey",
      "type": "string",
      "default": "",
      "description": "The ID or key of the issue",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issueComment"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "resource": [
            "issueComment"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "issueComment"
          ],
          "operation": [
            "getAll"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Expand",
          "name": "expand",
          "type": "options",
          "options": [
            {
              "name": "Rendered Body",
              "value": "renderedBody"
            }
          ],
          "default": "renderedBody",
          "description": "Use expand to include additional information about comments in the response. This parameter accepts Rendered Body, which returns the comment body rendered in HTML."
        },
        {
          "displayName": "Order By",
          "name": "orderBy",
          "type": "options",
          "options": [
            {
              "name": "Created Ascending",
              "value": "+created"
            },
            {
              "name": "Created Descending",
              "value": "-created"
            }
          ],
          "default": "+created",
          "description": "Order comments by the created date"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "issueComment"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Issue Key",
      "name": "issueKey",
      "type": "string",
      "default": "",
      "description": "The ID or key of the issue",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issueComment"
          ],
          "operation": [
            "remove"
          ]
        }
      }
    },
    {
      "displayName": "Comment ID",
      "name": "commentId",
      "type": "string",
      "default": "",
      "description": "The ID of the comment",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issueComment"
          ],
          "operation": [
            "remove"
          ]
        }
      }
    },
    {
      "displayName": "Issue Key",
      "name": "issueKey",
      "type": "string",
      "default": "",
      "description": "The Issue Comment key",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issueComment"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Comment ID",
      "name": "commentId",
      "type": "string",
      "default": "",
      "description": "The ID of the comment",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issueComment"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "JSON Parameters",
      "name": "jsonParameters",
      "type": "boolean",
      "default": false,
      "displayOptions": {
        "show": {
          "resource": [
            "issueComment"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Comment",
      "name": "comment",
      "type": "string",
      "default": "",
      "description": "Comment's text",
      "displayOptions": {
        "show": {
          "resource": [
            "issueComment"
          ],
          "operation": [
            "update"
          ],
          "jsonParameters": [
            false
          ]
        }
      }
    },
    {
      "displayName": "Document Format (JSON)",
      "name": "commentJson",
      "type": "json",
      "default": "",
      "description": "The Atlassian Document Format (ADF). Online builder can be found <a href=\"https://developer.atlassian.com/cloud/jira/platform/apis/document/playground/\">here</a>.",
      "displayOptions": {
        "show": {
          "resource": [
            "issueComment"
          ],
          "operation": [
            "update"
          ],
          "jsonParameters": [
            true
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Expand",
          "name": "expand",
          "type": "options",
          "options": [
            {
              "name": "Rendered Body",
              "value": "renderedBody"
            }
          ],
          "default": "renderedBody",
          "description": "Use expand to include additional information about comments in the response. This parameter accepts Rendered Body, which returns the comment body rendered in HTML."
        },
        {
          "displayName": "Use Wiki Markup",
          "name": "wikiMarkup",
          "type": "boolean",
          "default": false,
          "displayOptions": {
            "show": {
              "/jiraVersion": [
                "cloud"
              ]
            }
          },
          "description": "Whether to enable parsing of wikiformatting for this comment. Default is false."
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "issueComment"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a new user",
          "action": "Create a user"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a user",
          "action": "Delete a user"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Retrieve a user",
          "action": "Get a user"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Username",
      "name": "username",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Email Address",
      "name": "emailAddress",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Display Name",
      "name": "displayName",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Password",
          "name": "password",
          "type": "string",
          "default": "",
          "description": "Password for the user. If a password is not set, a random password is generated.",
          "typeOptions": {
            "password": true
          }
        },
        {
          "displayName": "Notification",
          "name": "notification",
          "type": "boolean",
          "default": false,
          "description": "Whether to send the user an email confirmation that they have been added to Jira"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Account ID",
      "name": "accountId",
      "type": "string",
      "default": "",
      "description": "Account ID of the user to delete",
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "delete"
          ]
        }
      }
    },
    {
      "displayName": "Account ID",
      "name": "accountId",
      "type": "string",
      "default": "",
      "description": "Account ID of the user to retrieve",
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Expand",
          "name": "expand",
          "type": "multiOptions",
          "default": [],
          "description": "Include more information about the user",
          "options": [
            {
              "name": "Groups",
              "value": "groups",
              "description": "Include all groups to which the user belongs"
            },
            {
              "name": "Application Roles",
              "value": "applicationRoles",
              "description": "Include details of all the applications the user can access"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "get"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "changelog",
      "name": "Changelog",
      "description": "Get issue changelog"
    },
    {
      "operation": "create",
      "name": "Create",
      "description": "Create a new issue"
    },
    {
      "operation": "delete",
      "name": "Delete",
      "description": "Delete an issue"
    },
    {
      "operation": "get",
      "name": "Get",
      "description": "Get an issue"
    },
    {
      "operation": "getAll",
      "name": "Get Many",
      "description": "Get many issues"
    },
    {
      "operation": "notify",
      "name": "Notify",
      "description": "Create an email notification for an issue and add it to the mail queue"
    },
    {
      "operation": "transitions",
      "name": "Status",
      "description": "Return either all transitions or a transition that can be performed by the user on an issue, based on the issue's status"
    },
    {
      "operation": "update",
      "name": "Update",
      "description": "Update an issue"
    }
  ]

credentials_required:
  [
    {
      "name": "jiraSoftwareCloudApi",
      "required": true,
      "displayOptions": {
        "show": {
          "jiraVersion": [
            "cloud"
          ]
        }
      }
    },
    {
      "name": "jiraSoftwareServerApi",
      "required": true,
      "displayOptions": {
        "show": {
          "jiraVersion": [
            "server"
          ]
        }
      }
    },
    {
      "name": "jiraSoftwareServerPatApi",
      "required": true,
      "displayOptions": {
        "show": {
          "jiraVersion": [
            "serverPat"
          ]
        }
      }
    }
  ]


node_type: nodes-base.jira
package_name: n8n-nodes-base
display_name: Jira Software
description: Consume Jira Software API
category: output
development_style: programmatic
version: 1
outputs:
  [
  "main"
  ]

updated_at: 2026-03-18 15:15:48
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Jira Software node documentation
  description: Learn how to use the Jira Software node in n8n. Follow technical documentation to integrate Jira Software node into your workflows.
  contentType: [integration, reference]
  priority: medium
  ---

  # Jira Software node

  Use the Jira Software node to automate work in Jira, and integrate Jira with other applications. n8n has built-in support for a wide range of Jira features, including creating, updating, deleting, and getting issues, and users. 

  On this page, you'll find a list of operations the Jira Software node supports and links to more resources.

  /// note | Credentials
  Refer to [Jira credentials](/integrations/builtin/credentials/jira.md) for guidance on setting up authentication. 
  ///

  --8<-- "_snippets/integrations/builtin/app-nodes/ai-tools.md"

  ## Operations

  * Issue
      * Get issue changelog
      * Create a new issue
      * Delete an issue
      * Get an issue
      * Get all issues
      * Create an email notification for an issue and add it to the mail queue
      * Return either all transitions or a transition that can be performed by the user on an issue, based on the issue's status
      * Update an issue
  * Issue Attachment
      * Add attachment to issue
      * Get an attachment
      * Get all attachments
      * Remove an attachment
  * Issue Comment
      * Add comment to issue
      * Get a comment
      * Get all comments
      * Remove a comment
      * Update a comment
  * User
      * Create a new user.
      * Delete a user.
      * Retrieve a user.

  ## Templates and examples

  <!-- see https://www.notion.so/n8n/Pull-in-templates-for-the-integrations-pages-37c716837b804d30a33b47475f6e3780 -->
  [[ templatesWidget(page.title, 'jira-software') ]]

  --8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"

  ## Related resources

  Refer to the [official JQL documentation](https://www.atlassian.com/software/jira/guides/expand-jira/jql) about Jira Query Language (JQL) to learn more about it.

  ## Fetch issues for a specific project

  The **Get All** operation returns all the issues from Jira. To fetch issues for a particular project, you need to use Jira Query Language (JQL).

  For example, if you want to receive all the issues of a project named `n8n`, you'd do something like this:

  - Select **Get All** from the **Operation** dropdown list.
  - Toggle **Return All** to true.
  - Select **Add Option** and select **JQL**.
  - Enter `project=n8n` in the **JQL** field.

  This query will fetch all the issues in the project named `n8n`. Enter the name of your project instead of `n8n` to fetch all the issues for your project.

properties_schema:
  [
    {
      "displayName": "Jira Version",
      "name": "jiraVersion",
      "type": "options",
      "default": "cloud",
      "options": [
        {
          "name": "Cloud",
          "value": "cloud"
        },
        {
          "name": "Server (Self Hosted)",
          "value": "server"
        },
        {
          "name": "Server Pat (Self Hosted)",
          "value": "serverPat"
        }
      ]
    },
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "issue",
      "options": [
        {
          "name": "Issue",
          "value": "issue",
          "description": "Creates an issue or, where the option to create subtasks is enabled in Jira, a subtask"
        },
        {
          "name": "Issue Attachment",
          "value": "issueAttachment",
          "description": "Add, remove, and get an attachment from an issue"
        },
        {
          "name": "Issue Comment",
          "value": "issueComment",
          "description": "Get, create, update, and delete a comment from an issue"
        },
        {
          "name": "User",
          "value": "user",
          "description": "Get, create and delete a user"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Changelog",
          "value": "changelog",
          "description": "Get issue changelog",
          "action": "Get an issue changelog"
        },
        {
          "name": "Create",
          "value": "create",
          "description": "Create a new issue",
          "action": "Create an issue"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete an issue",
          "action": "Delete an issue"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get an issue",
          "action": "Get an issue"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many issues",
          "action": "Get many issues"
        },
        {
          "name": "Notify",
          "value": "notify",
          "description": "Create an email notification for an issue and add it to the mail queue",
          "action": "Create an email notification for an issue"
        },
        {
          "name": "Status",
          "value": "transitions",
          "description": "Return either all transitions or a transition that can be performed by the user on an issue, based on the issue's status",
          "action": "Get the status of an issue"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update an issue",
          "action": "Update an issue"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Project",
      "name": "project",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ],
          "operation": [
            "create"
          ]
        }
      },
      "modes": [
        {
          "displayName": "Project",
          "name": "list",
          "type": "list",
          "placeholder": "Select a Project...",
          "typeOptions": {
            "searchListMethod": "getProjects",
            "searchable": true
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "placeholder": "10000",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "([0-9]{2,})[ \t]*",
                "errorMessage": "Not a valid Jira Project ID"
              }
            }
          ],
          "extractValue": {
            "type": "regex",
            "regex": "^([0-9]{2,})"
          }
        }
      ]
    },
    {
      "displayName": "Issue Type",
      "name": "issueType",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ],
          "operation": [
            "create"
          ]
        }
      },
      "modes": [
        {
          "displayName": "Issue Type",
          "name": "list",
          "type": "list",
          "placeholder": "Select an Issue Type...",
          "typeOptions": {
            "searchListMethod": "getIssueTypes"
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "placeholder": "10000",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "([0-9]{1,})[ \t]*",
                "errorMessage": "Not a valid Jira Issue Type ID"
              }
            }
          ],
          "extractValue": {
            "type": "regex",
            "regex": "^([0-9]{1,})"
          }
        }
      ]
    },
    {
      "displayName": "Summary",
      "name": "summary",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Assignee",
          "name": "assignee",
          "type": "resourceLocator",
          "default": {
            "mode": "list",
            "value": ""
          },
          "modes": [
            {
              "displayName": "Assignee",
              "name": "list",
              "type": "list",
              "placeholder": "Select an Assignee...",
              "typeOptions": {
                "searchListMethod": "getUsers",
                "searchable": true
              }
            },
            {
              "displayName": "ID",
              "name": "id",
              "type": "string",
              "placeholder": "62971ebae540870069668714",
              "validation": [
                {
                  "type": "regex",
                  "properties": {
                    "regex": "([-:a-z0-9]{2,})[ \t]*",
                    "errorMessage": "Not a valid Jira Assignee ID"
                  }
                }
              ],
              "extractValue": {
                "type": "regex",
                "regex": "^([-:a-z0-9]{2,})"
              }
            }
          ]
        },
        {
          "displayName": "Description",
          "name": "description",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Component Names or IDs",
          "name": "componentIds",
          "type": "multiOptions",
          "description": "Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
          "typeOptions": {
            "loadOptionsMethod": "getProjectComponents",
            "loadOptionsDependsOn": [
              "project"
            ]
          },
          "default": []
        },
        {
          "displayName": "Custom Fields",
          "name": "customFieldsUi",
          "type": "fixedCollection",
          "default": {},
          "placeholder": "Add Custom Field",
          "typeOptions": {
            "multipleValues": true
          },
          "options": [
            {
              "name": "customFieldsValues",
              "displayName": "Custom Field",
              "values": [
                {
                  "displayName": "Field",
                  "name": "fieldId",
                  "type": "resourceLocator",
                  "default": {
                    "mode": "list",
                    "value": ""
                  },
                  "modes": [
                    {
                      "displayName": "Field",
                      "name": "list",
                      "type": "list",
                      "placeholder": "Select a Field...",
                      "typeOptions": {
                        "searchListMethod": "getCustomFields"
                      }
                    },
                    {
                      "displayName": "ID",
                      "name": "id",
                      "type": "string",
                      "placeholder": "customfield_10035",
                      "validation": [
                        {
                          "type": "regex",
                          "properties": {
                            "regex": "(customfield_[0-9]{2,})[ \t]*",
                            "errorMessage": "Not a valid Jira Field ID"
                          }
                        }
                      ],
                      "extractValue": {
                        "type": "regex",
                        "regex": "^(customfield_[0-9]{2,})"
                      }
                    }
                  ]
                },
                {
                  "displayName": "Field Value",
                  "name": "fieldValue",
                  "type": "string",
                  "description": "Value of the field to set",
                  "default": ""
                }
              ]
            }
          ]
        },
        {
          "displayName": "Label Names or IDs",
          "name": "labels",
          "type": "multiOptions",
          "description": "Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
          "typeOptions": {
            "loadOptionsMethod": "getLabels"
          },
          "default": [],
          "displayOptions": {
            "show": {
              "/jiraVersion": [
                "cloud"
              ]
            }
          }
        },
        {
          "displayName": "Labels",
          "name": "serverLabels",
          "type": "string",
          "default": [],
          "displayOptions": {
            "show": {
              "/jiraVersion": [
                "server"
              ]
            }
          },
          "typeOptions": {
            "multipleValues": true
          }
        },
        {
          "displayName": "Parent Issue Key",
          "name": "parentIssueKey",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Priority",
          "name": "priority",
          "type": "resourceLocator",
          "default": {
            "mode": "list",
            "value": ""
          },
          "modes": [
            {
              "displayName": "Priority",
              "name": "list",
              "type": "list",
              "placeholder": "Select a Priority...",
              "typeOptions": {
                "searchListMethod": "getPriorities"
              }
            },
            {
              "displayName": "ID",
              "name": "id",
              "type": "string",
              "placeholder": "1",
              "validation": [
                {
                  "type": "regex",
                  "properties": {
                    "regex": "([0-9]{1,})[ \t]*",
                    "errorMessage": "Not a valid Jira Priority ID"
                  }
                }
              ],
              "extractValue": {
                "type": "regex",
                "regex": "^([0-9]{1,})"
              }
            }
          ]
        },
        {
          "displayName": "Reporter",
          "name": "reporter",
          "type": "resourceLocator",
          "default": {
            "mode": "list",
            "value": ""
          },
          "modes": [
            {
              "displayName": "Reporter",
              "name": "list",
              "type": "list",
              "placeholder": "Select a Reporter...",
              "typeOptions": {
                "searchListMethod": "getUsers",
                "searchable": true
              }
            },
            {
              "displayName": "ID",
              "name": "id",
              "type": "string",
              "placeholder": "62971ebae540870069668714",
              "validation": [
                {
                  "type": "regex",
                  "properties": {
                    "regex": "([-:a-z0-9]{2,})[ \t]*",
                    "errorMessage": "Not a valid Jira Reporter ID"
                  }
                }
              ],
              "extractValue": {
                "type": "regex",
                "regex": "^([-:a-z0-9]{2,})"
              }
            }
          ]
        },
        {
          "displayName": "Update History",
          "name": "updateHistory",
          "type": "boolean",
          "default": false,
          "description": "Whether the project in which the issue is created is added to the user's Recently viewed project list, as shown under Projects in Jira"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Issue Key",
      "name": "issueKey",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Update Fields",
      "name": "updateFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Assignee",
          "name": "assignee",
          "type": "resourceLocator",
          "default": {
            "mode": "list",
            "value": ""
          },
          "modes": [
            {
              "displayName": "Assignee",
              "name": "list",
              "type": "list",
              "placeholder": "Select an Assignee...",
              "typeOptions": {
                "searchListMethod": "getUsers",
                "searchable": true
              }
            },
            {
              "displayName": "ID",
              "name": "id",
              "type": "string",
              "placeholder": "62971ebae540870069668714",
              "validation": [
                {
                  "type": "regex",
                  "properties": {
                    "regex": "([-:a-z0-9]{2,})[ \t]*",
                    "errorMessage": "Not a valid Jira Assignee ID"
                  }
                }
              ],
              "extractValue": {
                "type": "regex",
                "regex": "^([-:a-z0-9]{2,})"
              }
            }
          ]
        },
        {
          "displayName": "Description",
          "name": "description",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Custom Fields",
          "name": "customFieldsUi",
          "type": "fixedCollection",
          "default": {},
          "placeholder": "Add Custom Field",
          "typeOptions": {
            "multipleValues": true
          },
          "options": [
            {
              "name": "customFieldsValues",
              "displayName": "Custom Field",
              "values": [
                {
                  "displayName": "Field",
                  "name": "fieldId",
                  "type": "resourceLocator",
                  "default": {
                    "mode": "list",
                    "value": ""
                  },
                  "modes": [
                    {
                      "displayName": "Field",
                      "name": "list",
                      "type": "list",
                      "placeholder": "Select a Field...",
                      "typeOptions": {
                        "searchListMethod": "getCustomFields"
                      }
                    },
                    {
                      "displayName": "ID",
                      "name": "id",
                      "type": "string",
                      "placeholder": "customfield_10035",
                      "validation": [
                        {
                          "type": "regex",
                          "properties": {
                            "regex": "(customfield_[0-9]{2,})[ \t]*",
                            "errorMessage": "Not a valid Jira Field ID"
                          }
                        }
                      ],
                      "extractValue": {
                        "type": "regex",
                        "regex": "^(customfield_[0-9]{2,})"
                      }
                    }
                  ]
                },
                {
                  "displayName": "Field Value",
                  "name": "fieldValue",
                  "type": "string",
                  "description": "Value of the field to set",
                  "default": ""
                }
              ]
            }
          ]
        },
        {
          "displayName": "Issue Type",
          "name": "issueType",
          "type": "string",
          "default": "",
          "description": "Issue Types"
        },
        {
          "displayName": "Label Names or IDs",
          "name": "labels",
          "type": "multiOptions",
          "description": "Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
          "typeOptions": {
            "loadOptionsMethod": "getLabels"
          },
          "default": [],
          "displayOptions": {
            "show": {
              "/jiraVersion": [
                "cloud"
              ]
            }
          }
        },
        {
          "displayName": "Labels",
          "name": "serverLabels",
          "type": "string",
          "default": [],
          "displayOptions": {
            "show": {
              "/jiraVersion": [
                "server"
              ]
            }
          },
          "typeOptions": {
            "multipleValues": true
          }
        },
        {
          "displayName": "Parent Issue Key",
          "name": "parentIssueKey",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Priority",
          "name": "priority",
          "type": "resourceLocator",
          "default": {
            "mode": "list",
            "value": ""
          },
          "modes": [
            {
              "displayName": "Priority",
              "name": "list",
              "type": "list",
              "placeholder": "Select a Priority...",
              "typeOptions": {
                "searchListMethod": "getPriorities"
              }
            },
            {
              "displayName": "ID",
              "name": "id",
              "type": "string",
              "placeholder": "1",
              "validation": [
                {
                  "type": "regex",
                  "properties": {
                    "regex": "([0-9]{1,})[ \t]*",
                    "errorMessage": "Not a valid Jira Priority ID"
                  }
                }
              ],
              "extractValue": {
                "type": "regex",
                "regex": "^([0-9]{1,})"
              }
            }
          ]
        },
        {
          "displayName": "Reporter",
          "name": "reporter",
          "type": "resourceLocator",
          "default": {
            "mode": "list",
            "value": ""
          },
          "modes": [
            {
              "displayName": "Reporter",
              "name": "list",
              "type": "list",
              "placeholder": "Select a Reporter...",
              "typeOptions": {
                "searchListMethod": "getUsers",
                "searchable": true
              }
            },
            {
              "displayName": "ID",
              "name": "id",
              "type": "string",
              "placeholder": "62971ebae540870069668714",
              "validation": [
                {
                  "type": "regex",
                  "properties": {
                    "regex": "([-:a-z0-9]{2,})[ \t]*",
                    "errorMessage": "Not a valid Jira Reporter ID"
                  }
                }
              ],
              "extractValue": {
                "type": "regex",
                "regex": "^([-:a-z0-9]{2,})"
              }
            }
          ]
        },
        {
          "displayName": "Summary",
          "name": "summary",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Status",
          "name": "statusId",
          "type": "resourceLocator",
          "default": {
            "mode": "list",
            "value": ""
          },
          "modes": [
            {
              "displayName": "Status",
              "name": "list",
              "type": "list",
              "placeholder": "Select a Status...",
              "typeOptions": {
                "searchListMethod": "getTransitions"
              }
            },
            {
              "displayName": "ID",
              "name": "id",
              "type": "string",
              "placeholder": "11",
              "validation": [
                {
                  "type": "regex",
                  "properties": {
                    "regex": "([0-9]{1,})[ \t]*",
                    "errorMessage": "Not a valid Jira Status ID"
                  }
                }
              ],
              "extractValue": {
                "type": "regex",
                "regex": "^([0-9]{1,})"
              }
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Issue Key",
      "name": "issueKey",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ],
          "operation": [
            "delete"
          ]
        }
      }
    },
    {
      "displayName": "Delete Subtasks",
      "name": "deleteSubtasks",
      "type": "boolean",
      "default": false,
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ],
          "operation": [
            "delete"
          ]
        }
      }
    },
    {
      "displayName": "Issue Key",
      "name": "issueKey",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Simplify",
      "name": "simplifyOutput",
      "type": "boolean",
      "default": false,
      "description": "Whether to return a simplified version of the response instead of the raw data",
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Expand",
          "name": "expand",
          "type": "string",
          "default": "",
          "description": "<p>Use expand to include additional information about the issues in the response. This parameter accepts a comma-separated list. Expand options include:\n\t\t\t\t<ul>\n\t\t\t\t\t<li><code>renderedFields</code> Returns field values rendered in HTML format.</li>\n\t\t\t\t\t<li><code>names</code> Returns the display name of each field.</li>\n\t\t\t\t\t<li><code>schema</code> Returns the schema describing a field type.</li>\n\t\t\t\t\t<li><code>transitions</code> Returns all possible transitions for the issue.</li>\n\t\t\t\t\t<li><code>editmeta</code> Returns information about how each field can be edited.</li>\n\t\t\t\t\t<li><code>changelog</code> Returns a list of recent updates to an issue, sorted by date, starting from the most recent.</li>\n\t\t\t\t\t<li><code>versionedRepresentations</code> Returns a JSON array for each version of a field's value, with the highest number representing the most recent version. Note: When included in the request, the fields parameter is ignored.</li>\n\t\t\t\t</ul>"
        },
        {
          "displayName": "Fields",
          "name": "fields",
          "type": "string",
          "default": "",
          "description": "A list of fields to return for the issue. This parameter accepts a comma-separated list. Use it to retrieve a subset of fields. Allowed values: <code>*all</code> Returns all fields. <code>*navigable</code> Returns navigable fields. Any issue field, prefixed with a minus to exclude."
        },
        {
          "displayName": "Fields By Key",
          "name": "fieldsByKey",
          "type": "boolean",
          "default": false,
          "description": "Whether fields in fields are referenced by keys rather than IDs. This parameter is useful where fields have been added by a connect app and a field's key may differ from its ID."
        },
        {
          "displayName": "Properties",
          "name": "properties",
          "type": "string",
          "default": "",
          "description": "A list of issue properties to return for the issue. This parameter accepts a comma-separated list. Allowed values: <code>*all</code> Returns all issue properties. Any issue property key, prefixed with a minus to exclude. Examples: <code>*all</code> Returns all properties. <code>*all</code>,-prop1 Returns all properties except prop1. <code>prop1,prop2</code> Returns prop1 and prop2 properties. This parameter may be specified multiple times. For example, properties=prop1,prop2& properties=prop3."
        },
        {
          "displayName": "Update History",
          "name": "updateHistory",
          "type": "boolean",
          "default": false,
          "description": "Whether the project in which the issue is created is added to the user's Recently viewed project list, as shown under Projects in Jira. This also populates the JQL issues search lastViewed field."
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ],
          "operation": [
            "getAll"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Expand",
          "name": "expand",
          "type": "multiOptions",
          "default": [],
          "options": [
            {
              "name": "Changelog",
              "value": "changelog",
              "description": "Returns a list of recent updates to an issue, sorted by date, starting from the most recent"
            },
            {
              "name": "Editmeta",
              "value": "editmeta",
              "description": "Returns information about how each field can be edited"
            },
            {
              "name": "Names",
              "value": "names",
              "description": "Returns the display name of each field"
            },
            {
              "name": "Operations",
              "value": "operations",
              "description": "Returns all possible operations for the issue"
            },
            {
              "name": "Rendered Fields",
              "value": "renderedFields",
              "description": "Returns field values rendered in HTML format"
            },
            {
              "name": "Schema",
              "value": "schema",
              "description": "Returns the schema describing a field type"
            },
            {
              "name": "Transitions",
              "value": "transitions",
              "description": "Returns all possible transitions for the issue"
            },
            {
              "name": "Versioned Representations",
              "value": "versionedRepresentations",
              "description": "JSON array containing each version of a field's value"
            }
          ],
          "description": "Use expand to include additional information about issues in the response"
        },
        {
          "displayName": "Fields",
          "name": "fields",
          "type": "string",
          "default": "*navigable",
          "description": "A list of fields to return for each issue, use it to retrieve a subset of fields. This parameter accepts a comma-separated list. Expand options include: <code>*all</code> Returns all fields. <code>*navigable</code> Returns navigable fields. Any issue field, prefixed with a minus to exclude."
        },
        {
          "displayName": "Fields By Key",
          "name": "fieldsByKey",
          "type": "boolean",
          "default": false,
          "description": "Whether fields in fields are referenced by keys rather than IDs. This parameter is useful where fields have been added by a connect app and a field's key may differ from its ID."
        },
        {
          "displayName": "JQL",
          "name": "jql",
          "type": "string",
          "default": "",
          "description": "A JQL expression"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "issue"
          ]
        }
      }
    },
    {
      "displayName": "Issue Key",
      "name": "issueKey",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ],
          "operation": [
            "changelog"
          ]
        }
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ],
          "operation": [
            "changelog"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ],
          "operation": [
            "changelog"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Issue Key",
      "name": "issueKey",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ],
          "operation": [
            "notify"
          ]
        }
      }
    },
    {
      "displayName": "JSON Parameters",
      "name": "jsonParameters",
      "type": "boolean",
      "default": false,
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ],
          "operation": [
            "notify"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "HTML Body",
          "name": "htmlBody",
          "type": "string",
          "default": "",
          "description": "The HTML body of the email notification for the issue"
        },
        {
          "displayName": "Subject",
          "name": "subject",
          "type": "string",
          "default": "",
          "description": "The subject of the email notification for the issue. If this is not specified, then the subject is set to the issue key and summary."
        },
        {
          "displayName": "Text Body",
          "name": "textBody",
          "type": "string",
          "default": "",
          "description": "The subject of the email notification for the issue. If this is not specified, then the subject is set to the issue key and summary."
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ],
          "operation": [
            "notify"
          ]
        }
      }
    },
    {
      "displayName": "Notification Recipients",
      "name": "notificationRecipientsUi",
      "type": "fixedCollection",
      "default": {},
      "description": "The recipients of the email notification for the issue",
      "options": [
        {
          "name": "notificationRecipientsValues",
          "displayName": "Recipients",
          "values": [
            {
              "displayName": "Reporter",
              "name": "reporter",
              "type": "boolean",
              "description": "Whether the notification should be sent to the issue's reporter",
              "default": false
            },
            {
              "displayName": "Assignee",
              "name": "assignee",
              "type": "boolean",
              "default": false,
              "description": "Whether the notification should be sent to the issue's assignees"
            },
            {
              "displayName": "Watchers",
              "name": "watchers",
              "type": "boolean",
              "default": false,
              "description": "Whether the notification should be sent to the issue's assignees"
            },
            {
              "displayName": "Voters",
              "name": "voters",
              "type": "boolean",
              "default": false,
              "description": "Whether the notification should be sent to the issue's voters"
            },
            {
              "displayName": "User Names or IDs",
              "name": "users",
              "type": "multiOptions",
              "typeOptions": {
                "loadOptionsMethod": "getUsers"
              },
              "default": [],
              "description": "List of users to receive the notification. Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
            },
            {
              "displayName": "Group Names or IDs",
              "name": "groups",
              "type": "multiOptions",
              "typeOptions": {
                "loadOptionsMethod": "getGroups"
              },
              "default": [],
              "description": "List of groups to receive the notification. Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ],
          "operation": [
            "notify"
          ],
          "jsonParameters": [
            false
          ]
        }
      },
      "typeOptions": {
        "multipleValues": false
      }
    },
    {
      "displayName": "Notification Recipients",
      "name": "notificationRecipientsJson",
      "type": "json",
      "default": "",
      "description": "The recipients of the email notification for the issue",
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ],
          "operation": [
            "notify"
          ],
          "jsonParameters": [
            true
          ]
        }
      },
      "typeOptions": {
        "alwaysOpenEditWindow": true
      }
    },
    {
      "displayName": "Notification Recipients Restrictions",
      "name": "notificationRecipientsRestrictionsUi",
      "type": "fixedCollection",
      "default": {},
      "description": "Restricts the notifications to users with the specified permissions",
      "options": [
        {
          "name": "notificationRecipientsRestrictionsValues",
          "displayName": "Recipients Restrictions",
          "values": [
            {
              "displayName": "User Names or IDs",
              "name": "users",
              "type": "multiOptions",
              "typeOptions": {
                "loadOptionsMethod": "getUsers"
              },
              "default": [],
              "description": "List of users to receive the notification. Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
            },
            {
              "displayName": "Group Names or IDs",
              "name": "groups",
              "type": "multiOptions",
              "typeOptions": {
                "loadOptionsMethod": "getGroups"
              },
              "default": [],
              "description": "List of groups to receive the notification. Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ],
          "operation": [
            "notify"
          ],
          "jsonParameters": [
            false
          ]
        }
      },
      "typeOptions": {
        "multipleValues": false
      }
    },
    {
      "displayName": "Notification Recipients Restrictions",
      "name": "notificationRecipientsRestrictionsJson",
      "type": "json",
      "default": "",
      "description": "Restricts the notifications to users with the specified permissions",
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ],
          "operation": [
            "notify"
          ],
          "jsonParameters": [
            true
          ]
        }
      },
      "typeOptions": {
        "alwaysOpenEditWindow": true
      }
    },
    {
      "displayName": "Issue Key",
      "name": "issueKey",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ],
          "operation": [
            "transitions"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Expand",
          "name": "expand",
          "type": "string",
          "default": "",
          "description": "Use expand to include additional information about transitions in the response. This parameter accepts transitions.fields, which returns information about the fields in the transition screen for each transition. Fields hidden from the screen are not returned. Use this information to populate the fields and update fields in Transition issue."
        },
        {
          "displayName": "Transition ID",
          "name": "transitionId",
          "type": "string",
          "default": "",
          "description": "The ID of the transition"
        },
        {
          "displayName": "Skip Remote Only Condition",
          "name": "skipRemoteOnlyCondition",
          "type": "boolean",
          "default": false,
          "description": "Whether transitions with the condition Hide From User Condition are included in the response"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ],
          "operation": [
            "transitions"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "add",
      "options": [
        {
          "name": "Add",
          "value": "add",
          "description": "Add attachment to issue",
          "action": "Add an attachment to an issue"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get an attachment",
          "action": "Get an attachment from an issue"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many attachments",
          "action": "Get many issue attachments"
        },
        {
          "name": "Remove",
          "value": "remove",
          "description": "Remove an attachment",
          "action": "Remove an attachment from an issue"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "issueAttachment"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Issue Key",
      "name": "issueKey",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issueAttachment"
          ],
          "operation": [
            "add"
          ]
        }
      }
    },
    {
      "displayName": "Input Binary Field",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issueAttachment"
          ],
          "operation": [
            "add"
          ]
        }
      }
    },
    {
      "displayName": "Attachment ID",
      "name": "attachmentId",
      "type": "string",
      "default": "",
      "description": "The ID of the attachment",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issueAttachment"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Download",
      "name": "download",
      "type": "boolean",
      "default": false,
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issueAttachment"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Put Output File in Field",
      "name": "binaryProperty",
      "type": "string",
      "default": "data",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issueAttachment"
          ],
          "operation": [
            "get"
          ],
          "download": [
            true
          ]
        }
      }
    },
    {
      "displayName": "Issue Key",
      "name": "issueKey",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issueAttachment"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "resource": [
            "issueAttachment"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "issueAttachment"
          ],
          "operation": [
            "getAll"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Download",
      "name": "download",
      "type": "boolean",
      "default": false,
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issueAttachment"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Put Output File in Field",
      "name": "binaryProperty",
      "type": "string",
      "default": "data",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issueAttachment"
          ],
          "operation": [
            "getAll"
          ],
          "download": [
            true
          ]
        }
      }
    },
    {
      "displayName": "Attachment ID",
      "name": "attachmentId",
      "type": "string",
      "default": "",
      "description": "The ID of the attachment",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issueAttachment"
          ],
          "operation": [
            "remove"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "add",
      "options": [
        {
          "name": "Add",
          "value": "add",
          "description": "Add comment to issue",
          "action": "Add a comment"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get a comment",
          "action": "Get a comment"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many comments",
          "action": "Get many comments"
        },
        {
          "name": "Remove",
          "value": "remove",
          "description": "Remove a comment",
          "action": "Remove a comment"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update a comment",
          "action": "Update a comment"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "issueComment"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Issue Key",
      "name": "issueKey",
      "type": "string",
      "default": "",
      "description": "issueComment Key",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issueComment"
          ],
          "operation": [
            "add"
          ]
        }
      }
    },
    {
      "displayName": "JSON Parameters",
      "name": "jsonParameters",
      "type": "boolean",
      "default": false,
      "displayOptions": {
        "show": {
          "resource": [
            "issueComment"
          ],
          "operation": [
            "add"
          ]
        }
      }
    },
    {
      "displayName": "Comment",
      "name": "comment",
      "type": "string",
      "default": "",
      "description": "Comment's text",
      "displayOptions": {
        "show": {
          "resource": [
            "issueComment"
          ],
          "operation": [
            "add"
          ],
          "jsonParameters": [
            false
          ]
        }
      }
    },
    {
      "displayName": "Document Format (JSON)",
      "name": "commentJson",
      "type": "json",
      "default": "",
      "description": "The Atlassian Document Format (ADF). Online builder can be found <a href=\"https://developer.atlassian.com/cloud/jira/platform/apis/document/playground/\">here</a>.",
      "displayOptions": {
        "show": {
          "resource": [
            "issueComment"
          ],
          "operation": [
            "add"
          ],
          "jsonParameters": [
            true
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Expand",
          "name": "expand",
          "type": "options",
          "options": [
            {
              "name": "Rendered Body",
              "value": "renderedBody"
            }
          ],
          "default": [],
          "description": "Use expand to include additional information about comments in the response. This parameter accepts Rendered Body, which returns the comment body rendered in HTML."
        },
        {
          "displayName": "Use Wiki Markup",
          "name": "wikiMarkup",
          "type": "boolean",
          "default": false,
          "displayOptions": {
            "show": {
              "/jiraVersion": [
                "cloud"
              ]
            }
          },
          "description": "Whether to enable parsing of wikiformatting for this comment. Default is false."
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "issueComment"
          ],
          "operation": [
            "add"
          ]
        }
      }
    },
    {
      "displayName": "Issue Key",
      "name": "issueKey",
      "type": "string",
      "default": "",
      "description": "The ID or key of the issue",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issueComment"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Comment ID",
      "name": "commentId",
      "type": "string",
      "default": "",
      "description": "The ID of the comment",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issueComment"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Expand",
          "name": "expand",
          "type": "options",
          "options": [
            {
              "name": "Rendered Body",
              "value": "renderedBody"
            }
          ],
          "default": "",
          "description": "Use expand to include additional information about comments in the response. This parameter accepts Rendered Body, which returns the comment body rendered in HTML."
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "issueComment"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Issue Key",
      "name": "issueKey",
      "type": "string",
      "default": "",
      "description": "The ID or key of the issue",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issueComment"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "resource": [
            "issueComment"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "issueComment"
          ],
          "operation": [
            "getAll"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Expand",
          "name": "expand",
          "type": "options",
          "options": [
            {
              "name": "Rendered Body",
              "value": "renderedBody"
            }
          ],
          "default": "renderedBody",
          "description": "Use expand to include additional information about comments in the response. This parameter accepts Rendered Body, which returns the comment body rendered in HTML."
        },
        {
          "displayName": "Order By",
          "name": "orderBy",
          "type": "options",
          "options": [
            {
              "name": "Created Ascending",
              "value": "+created"
            },
            {
              "name": "Created Descending",
              "value": "-created"
            }
          ],
          "default": "+created",
          "description": "Order comments by the created date"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "issueComment"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Issue Key",
      "name": "issueKey",
      "type": "string",
      "default": "",
      "description": "The ID or key of the issue",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issueComment"
          ],
          "operation": [
            "remove"
          ]
        }
      }
    },
    {
      "displayName": "Comment ID",
      "name": "commentId",
      "type": "string",
      "default": "",
      "description": "The ID of the comment",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issueComment"
          ],
          "operation": [
            "remove"
          ]
        }
      }
    },
    {
      "displayName": "Issue Key",
      "name": "issueKey",
      "type": "string",
      "default": "",
      "description": "The Issue Comment key",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issueComment"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Comment ID",
      "name": "commentId",
      "type": "string",
      "default": "",
      "description": "The ID of the comment",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "issueComment"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "JSON Parameters",
      "name": "jsonParameters",
      "type": "boolean",
      "default": false,
      "displayOptions": {
        "show": {
          "resource": [
            "issueComment"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Comment",
      "name": "comment",
      "type": "string",
      "default": "",
      "description": "Comment's text",
      "displayOptions": {
        "show": {
          "resource": [
            "issueComment"
          ],
          "operation": [
            "update"
          ],
          "jsonParameters": [
            false
          ]
        }
      }
    },
    {
      "displayName": "Document Format (JSON)",
      "name": "commentJson",
      "type": "json",
      "default": "",
      "description": "The Atlassian Document Format (ADF). Online builder can be found <a href=\"https://developer.atlassian.com/cloud/jira/platform/apis/document/playground/\">here</a>.",
      "displayOptions": {
        "show": {
          "resource": [
            "issueComment"
          ],
          "operation": [
            "update"
          ],
          "jsonParameters": [
            true
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Expand",
          "name": "expand",
          "type": "options",
          "options": [
            {
              "name": "Rendered Body",
              "value": "renderedBody"
            }
          ],
          "default": "renderedBody",
          "description": "Use expand to include additional information about comments in the response. This parameter accepts Rendered Body, which returns the comment body rendered in HTML."
        },
        {
          "displayName": "Use Wiki Markup",
          "name": "wikiMarkup",
          "type": "boolean",
          "default": false,
          "displayOptions": {
            "show": {
              "/jiraVersion": [
                "cloud"
              ]
            }
          },
          "description": "Whether to enable parsing of wikiformatting for this comment. Default is false."
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "issueComment"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a new user",
          "action": "Create a user"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a user",
          "action": "Delete a user"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Retrieve a user",
          "action": "Get a user"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Username",
      "name": "username",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Email Address",
      "name": "emailAddress",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Display Name",
      "name": "displayName",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Password",
          "name": "password",
          "type": "string",
          "default": "",
          "description": "Password for the user. If a password is not set, a random password is generated.",
          "typeOptions": {
            "password": true
          }
        },
        {
          "displayName": "Notification",
          "name": "notification",
          "type": "boolean",
          "default": false,
          "description": "Whether to send the user an email confirmation that they have been added to Jira"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Account ID",
      "name": "accountId",
      "type": "string",
      "default": "",
      "description": "Account ID of the user to delete",
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "delete"
          ]
        }
      }
    },
    {
      "displayName": "Account ID",
      "name": "accountId",
      "type": "string",
      "default": "",
      "description": "Account ID of the user to retrieve",
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Expand",
          "name": "expand",
          "type": "multiOptions",
          "default": [],
          "description": "Include more information about the user",
          "options": [
            {
              "name": "Groups",
              "value": "groups",
              "description": "Include all groups to which the user belongs"
            },
            {
              "name": "Application Roles",
              "value": "applicationRoles",
              "description": "Include details of all the applications the user can access"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "get"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "changelog",
      "name": "Changelog",
      "description": "Get issue changelog"
    },
    {
      "operation": "create",
      "name": "Create",
      "description": "Create a new issue"
    },
    {
      "operation": "delete",
      "name": "Delete",
      "description": "Delete an issue"
    },
    {
      "operation": "get",
      "name": "Get",
      "description": "Get an issue"
    },
    {
      "operation": "getAll",
      "name": "Get Many",
      "description": "Get many issues"
    },
    {
      "operation": "notify",
      "name": "Notify",
      "description": "Create an email notification for an issue and add it to the mail queue"
    },
    {
      "operation": "transitions",
      "name": "Status",
      "description": "Return either all transitions or a transition that can be performed by the user on an issue, based on the issue's status"
    },
    {
      "operation": "update",
      "name": "Update",
      "description": "Update an issue"
    }
  ]

credentials_required:
  [
    {
      "name": "jiraSoftwareCloudApi",
      "required": true,
      "displayOptions": {
        "show": {
          "jiraVersion": [
            "cloud"
          ]
        }
      }
    },
    {
      "name": "jiraSoftwareServerApi",
      "required": true,
      "displayOptions": {
        "show": {
          "jiraVersion": [
            "server"
          ]
        }
      }
    },
    {
      "name": "jiraSoftwareServerPatApi",
      "required": true,
      "displayOptions": {
        "show": {
          "jiraVersion": [
            "serverPat"
          ]
        }
      }
    }
  ]


node_type: nodes-base.jiraTrigger
package_name: n8n-nodes-base
display_name: Jira Trigger
description: Starts the workflow when Jira events occur
category: trigger
development_style: programmatic
version: 1.1
operations: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-18 15:15:48
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Jira Trigger node documentation
  description: Learn how to use the Jira Trigger node in n8n. Follow technical documentation to integrate Jira Trigger node into your workflows.
  contentType: [integration, reference]
  priority: medium
  ---

  # Jira Trigger node

  [Jira](https://www.atlassian.com/software/jira){:target=_blank .external-link} is a proprietary issue tracking product developed by Atlassian that allows bug tracking and agile project management.

  /// note | Credentials
  You can find authentication information for this node [here](/integrations/builtin/credentials/jira.md).
  ///

  ///  note  | Examples and templates
  For usage examples and templates to help you get started, refer to n8n's [Jira trigger integrations](https://n8n.io/integrations/jira-trigger/){:target=_blank .external-link} page.
  ///

properties_schema:
  [
    {
      "displayName": "Jira Version",
      "name": "jiraVersion",
      "type": "options",
      "default": "cloud",
      "options": [
        {
          "name": "Cloud",
          "value": "cloud"
        },
        {
          "name": "Server (Self Hosted)",
          "value": "server"
        },
        {
          "name": "Server (Pat) (Self Hosted)",
          "value": "serverPat"
        }
      ]
    },
    {
      "displayName": "Authenticate Incoming Webhook",
      "name": "authenticateWebhook",
      "type": "boolean",
      "default": false,
      "description": "Whether authentication should be activated for the incoming webhooks (makes it more secure)",
      "displayOptions": {
        "show": {
          "@version": [
            {
              "_cnd": {
                "gte": 1.1
              }
            }
          ]
        }
      }
    },
    {
      "displayName": "Authenticate Webhook With",
      "name": "incomingAuthentication",
      "type": "options",
      "default": "none",
      "description": "If authentication should be activated for the webhook (makes it more secure)",
      "options": [
        {
          "name": "Query Auth",
          "value": "queryAuth"
        },
        {
          "name": "None",
          "value": "none"
        }
      ],
      "displayOptions": {
        "show": {
          "@version": [
            1
          ]
        }
      }
    },
    {
      "displayName": "Events",
      "name": "events",
      "type": "multiOptions",
      "default": [],
      "description": "The events to listen to",
      "options": [
        {
          "name": "*",
          "value": "*"
        },
        {
          "name": "Board Configuration Changed",
          "value": "board_configuration_changed"
        },
        {
          "name": "Board Created",
          "value": "board_created"
        },
        {
          "name": "Board Deleted",
          "value": "board_deleted"
        },
        {
          "name": "Board Updated",
          "value": "board_updated"
        },
        {
          "name": "Comment Created",
          "value": "comment_created"
        },
        {
          "name": "Comment Deleted",
          "value": "comment_deleted"
        },
        {
          "name": "Comment Updated",
          "value": "comment_updated"
        },
        {
          "name": "Issue Created",
          "value": "jira:issue_created"
        },
        {
          "name": "Issue Deleted",
          "value": "jira:issue_deleted"
        },
        {
          "name": "Issue Link Created",
          "value": "issuelink_created"
        },
        {
          "name": "Issue Link Deleted",
          "value": "issuelink_deleted"
        },
        {
          "name": "Issue Updated",
          "value": "jira:issue_updated"
        },
        {
          "name": "Option Attachments Changed",
          "value": "option_attachments_changed"
        },
        {
          "name": "Option Issue Links Changed",
          "value": "option_issuelinks_changed"
        },
        {
          "name": "Option Subtasks Changed",
          "value": "option_subtasks_changed"
        },
        {
          "name": "Option Timetracking Changed",
          "value": "option_timetracking_changed"
        },
        {
          "name": "Option Unassigned Issues Changed",
          "value": "option_unassigned_issues_changed"
        },
        {
          "name": "Option Voting Changed",
          "value": "option_voting_changed"
        },
        {
          "name": "Option Watching Changed",
          "value": "option_watching_changed"
        },
        {
          "name": "Project Created",
          "value": "project_created"
        },
        {
          "name": "Project Deleted",
          "value": "project_deleted"
        },
        {
          "name": "Project Updated",
          "value": "project_updated"
        },
        {
          "name": "Sprint Closed",
          "value": "sprint_closed"
        },
        {
          "name": "Sprint Created",
          "value": "sprint_created"
        },
        {
          "name": "Sprint Deleted",
          "value": "sprint_deleted"
        },
        {
          "name": "Sprint Started",
          "value": "sprint_started"
        },
        {
          "name": "Sprint Updated",
          "value": "sprint_updated"
        },
        {
          "name": "User Created",
          "value": "user_created"
        },
        {
          "name": "User Deleted",
          "value": "user_deleted"
        },
        {
          "name": "User Updated",
          "value": "user_updated"
        },
        {
          "name": "Version Created",
          "value": "jira:version_created"
        },
        {
          "name": "Version Deleted",
          "value": "jira:version_deleted"
        },
        {
          "name": "Version Moved",
          "value": "jira:version_moved"
        },
        {
          "name": "Version Released",
          "value": "jira:version_released"
        },
        {
          "name": "Version Unreleased",
          "value": "jira:version_unreleased"
        },
        {
          "name": "Version Updated",
          "value": "jira:version_updated"
        },
        {
          "name": "Worklog Created",
          "value": "worklog_created"
        },
        {
          "name": "Worklog Deleted",
          "value": "worklog_deleted"
        },
        {
          "name": "Worklog Updated",
          "value": "worklog_updated"
        }
      ],
      "required": true
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Exclude Body",
          "name": "excludeBody",
          "type": "boolean",
          "default": false,
          "description": "Whether a request with empty body will be sent to the URL. Leave unchecked if you want to receive JSON."
        },
        {
          "displayName": "Filter",
          "name": "filter",
          "type": "string",
          "default": "",
          "placeholder": "Project = JRA AND resolution = Fixed",
          "description": "You can specify a JQL query to send only events triggered by matching issues. The JQL filter only applies to events under the Issue and Comment columns."
        },
        {
          "displayName": "Include Fields",
          "name": "includeFields",
          "type": "multiOptions",
          "options": [
            {
              "name": "Attachment ID",
              "value": "attachment.id"
            },
            {
              "name": "Board ID",
              "value": "board.id"
            },
            {
              "name": "Comment ID",
              "value": "comment.id"
            },
            {
              "name": "Issue ID",
              "value": "issue.id"
            },
            {
              "name": "Merge Version ID",
              "value": "mergeVersion.id"
            },
            {
              "name": "Modified User Account ID",
              "value": "modifiedUser.accountId"
            },
            {
              "name": "Modified User Key",
              "value": "modifiedUser.key"
            },
            {
              "name": "Modified User Name",
              "value": "modifiedUser.name"
            },
            {
              "name": "Project ID",
              "value": "project.id"
            },
            {
              "name": "Project Key",
              "value": "project.key"
            },
            {
              "name": "Propery Key",
              "value": "property.key"
            },
            {
              "name": "Sprint ID",
              "value": "sprint.id"
            },
            {
              "name": "Version ID",
              "value": "version.id"
            },
            {
              "name": "Worklog ID",
              "value": "worklog.id"
            }
          ],
          "default": []
        }
      ]
    }
  ]

credentials_required:
  [
    {
      "displayName": "Credentials to Connect to Jira",
      "name": "jiraSoftwareCloudApi",
      "required": true,
      "displayOptions": {
        "show": {
          "jiraVersion": [
            "cloud"
          ]
        }
      }
    },
    {
      "displayName": "Credentials to Connect to Jira",
      "name": "jiraSoftwareServerApi",
      "required": true,
      "displayOptions": {
        "show": {
          "jiraVersion": [
            "server"
          ]
        }
      }
    },
    {
      "displayName": "Credentials to Connect to Jira",
      "name": "jiraSoftwareServerPatApi",
      "required": true,
      "displayOptions": {
        "show": {
          "jiraVersion": [
            "serverPat"
          ]
        }
      }
    },
    {
      "name": "httpQueryAuth",
      "displayName": "Credentials to Authenticate Webhook",
      "displayOptions": {
        "show": {
          "authenticateWebhook": [
            true
          ]
        }
      }
    },
    {
      "name": "httpQueryAuth",
      "displayName": "Credentials to Authenticate Webhook",
      "displayOptions": {
        "show": {
          "incomingAuthentication": [
            "queryAuth"
          ]
        }
      }
    }
  ]


node_type: nodes-base.jotFormTrigger
package_name: n8n-nodes-base
display_name: Jotform Trigger
description: Handle Jotform events via webhooks
category: trigger
development_style: programmatic
version: 1
operations: []
credentials_required:
  [
  {
  "name": "jotFormApi",
  "required": true
  }
  ]

outputs:
  [
  "main"
  ]

updated_at: 2026-03-18 15:15:48
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: JotForm Trigger node documentation
  description: Learn how to use the JotForm Trigger node in n8n. Follow technical documentation to integrate JotForm Trigger node into your workflows.
  contentType: [integration, reference]
  priority: medium
  ---

  # JotForm Trigger node

  [JotForm](https://www.jotform.com/){:target=_blank .external-link} is an online form building service. JotForm's software creates forms with a drag and drop creation tool and an option to encrypt user data.

  /// note | Credentials
  You can find authentication information for this node [here](/integrations/builtin/credentials/jotform.md).
  ///

  ///  note  | Examples and templates
  For usage examples and templates to help you get started, refer to n8n's [JotForm Trigger integrations](https://n8n.io/integrations/jotform-trigger/){:target=_blank .external-link} page.
  ///

properties_schema:
  [
    {
      "displayName": "Form Name or ID",
      "name": "form",
      "type": "options",
      "default": "",
      "description": "Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
      "required": true,
      "typeOptions": {
        "loadOptionsMethod": "getForms"
      }
    },
    {
      "displayName": "Resolve Data",
      "name": "resolveData",
      "type": "boolean",
      "default": true,
      "description": "By default does the webhook-data use internal keys instead of the names. If this option gets activated, it will resolve the keys automatically to the actual names."
    },
    {
      "displayName": "Only Answers",
      "name": "onlyAnswers",
      "type": "boolean",
      "default": true,
      "description": "Whether to return only the answers of the form and not any of the other data"
    }
  ]


node_type: nodes-base.jwtTool
package_name: n8n-nodes-base
display_name: JWT Tool
description: JWT (AI Tool variant for use with AI Agents)
category: transform
development_style: programmatic
version: 1
credentials_required:
  [
  {
  "name": "jwtAuth",
  "required": true
  }
  ]

outputs:
  [
  {
  "type": "ai_tool",
  "displayName": "Tool"
  }
  ]

output_names:
  [
  "Tool"
  ]

updated_at: 2026-03-18 15:15:48
tool_variant_of: nodes-base.jwt
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: JWT
  description: Documentation for the JWT node in n8n, a workflow automation platform. Includes guidance on usage, and links to examples.
  contentType: [integration, reference]
  priority: medium
  ---

  # JWT

  Work with JSON web tokens in your n8n workflows.

  /// note | Credentials
  You can find authentication information for this node [here](/integrations/builtin/credentials/jwt.md).
  ///

  ## Operations

  * Decode
  * Sign
  * Verify

  ## Node parameters

  --8<-- "_snippets/integrations/builtin/app-nodes/ai-tools.md"

  * **Credential to connect with**: Select or create a [JWT credential](/integrations/builtin/credentials/jwt.md) to connect with.
  * **Token**: Enter the token to **Verify** or **Decode**.
  * If you select the **Sign** operation, you'll also have this parameter:
      * **Use JSON to Build Payload**: When turned on, the node uses JSON to build the claims. The selection here influences what appears in the Payload Claims section.

  ## Payload Claims

  The node only displays payload claims if you select the **Sign** operation. What you see depends on what you select for **Use JSON to Build Payload**:

  * If you select **Use JSON to Build Payload**, this section displays a JSON editor where you can construct the claims.
  * If you don't select **Use JSON to Build Payload**, this section prompts you to **Add Claim**.

  You can add the following claims.

  ### Audience

  The **Audience** or `aud` claim identifies the intended recipients of the JWT.

  Refer to ["aud" (Audience) Claim](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.3){:target=_blank .external-link} for more information.

  ### Expires In

  The **Expires In** or `exp` claim identifies the time after which the JWT expires and must not be accepted for processing.

  Refer to ["exp" (Expiration Time) Claim](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.4){:target=_blank .external-link} for more information.

  ### Issuer

  The **Issuer** or `iss` claim identifies the principal that issued the JWT.

  Refer to ["iss" (Issuer) Claim](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.1){:target=_blank .external-link} for more information.

  ### JWT ID

  The **JWT ID** or `jti` claim provides a unique identifier for the JWT.

  Refer to ["jti" (JWT ID) Claim](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.7){:target=_blank .external-link} for more information.

  ### Not Before

  The **Not Before** or `nbf` claim identifies the time before which the JWT must not be accepted for processing.

  Refer to ["nbf" (Not Before) Claim](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.5){:target=_blank .external-link} for more information.

  ### Subject

  The **Subject** or `sub` claim identifies the principal that's the subject of the JWT.

  Refer to ["sub" (Subject) Claim](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.2){:target=_blank .external-link} for more information.

  ## Node options

  ### Decode node options

  The **Return Additional Info** toggle controls how much information the node returns.

  When turned on, the node returns the complete decoded token with information about the header and signature. When turned off, the node only returns the payload.

  ### Sign node options

  Use the **Override Algorithm** control to select the algorithm to use for verifying the token. This algorithm will override the algorithm selected in the credentials.

  ### Verify node options

  This operation includes several node options:

  * **Return Additional Info**: This toggle controls how much information the node returns. When turned on, the node returns the complete decoded token with information about the header and signature. When turned off, the node only returns the payload.
  * **Ignore Expiration**: This toggle controls whether the node should ignore the token's expiration time claim (`exp`). Refer to ["exp" (Expiration Time) Claim](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.4){:target=_blank .external-link} for more information.
  * **Ignore Not Before Claim**: This toggle controls whether to ignore the token's not before claim (`nbf`). Refer to ["nbf" (Not Before) Claim](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.5){:target=_blank .external-link} for more information.
  * **Clock Tolerance**: Enter the number of seconds to tolerate when checking the `nbf` and `exp` claims. This allows you to deal with small clock differences among different servers. Refer to ["exp" (Expiration Time) Claim](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.4){:target=_blank .external-link} for more information.
  * **Override Algorithm**: The algorithm to use for verifying the token. This algorithm will override the algorithm selected in the credentials.

  ## Templates and examples

  <!-- see https://www.notion.so/n8n/Pull-in-templates-for-the-integrations-pages-37c716837b804d30a33b47475f6e3780 -->
  [[ templatesWidget(page.title, 'jwt') ]]

properties_schema:
  [
    {
      "displayName": "Tool Description",
      "name": "toolDescription",
      "type": "string",
      "default": "",
      "required": false,
      "description": "Description for the AI to understand what this tool does and when to use it",
      "typeOptions": {
        "rows": 3
      },
      "placeholder": "e.g., Use this tool to interact with JWT"
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "sign",
      "options": [
        {
          "name": "Decode",
          "value": "decode",
          "action": "Decode a JWT"
        },
        {
          "name": "Sign",
          "value": "sign",
          "action": "Sign a JWT"
        },
        {
          "name": "Verify",
          "value": "verify",
          "action": "Verify a JWT"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Use JSON to Build Payload",
      "name": "useJson",
      "type": "boolean",
      "default": false,
      "description": "Whether to use JSON to build the claims",
      "displayOptions": {
        "show": {
          "operation": [
            "sign"
          ]
        }
      }
    },
    {
      "displayName": "Payload Claims",
      "name": "claims",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Audience",
          "name": "audience",
          "type": "string",
          "placeholder": "e.g. https://example.com",
          "default": "",
          "description": "Identifies the recipients that the JWT is intended for"
        },
        {
          "displayName": "Expires In",
          "name": "expiresIn",
          "type": "number",
          "placeholder": "e.g. 3600",
          "default": 3600,
          "description": "The lifetime of the token in seconds",
          "typeOptions": {
            "minValue": 0
          }
        },
        {
          "displayName": "Issuer",
          "name": "issuer",
          "type": "string",
          "placeholder": "e.g. https://example.com",
          "default": "",
          "description": "Identifies the principal that issued the JWT"
        },
        {
          "displayName": "JWT ID",
          "name": "jwtid",
          "type": "string",
          "placeholder": "e.g. 123456",
          "default": "",
          "description": "Unique identifier for the JWT"
        },
        {
          "displayName": "Not Before",
          "name": "notBefore",
          "type": "number",
          "default": 0,
          "description": "The time before which the JWT must not be accepted for processing",
          "typeOptions": {
            "minValue": 0
          }
        },
        {
          "displayName": "Subject",
          "name": "subject",
          "type": "string",
          "default": "",
          "description": "Identifies the principal that is the subject of the JWT"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "sign"
          ],
          "useJson": [
            false
          ]
        }
      }
    },
    {
      "displayName": "Payload Claims (JSON)",
      "name": "claimsJson",
      "type": "json",
      "default": "{\n  \"my_field_1\": \"value 1\",\n  \"my_field_2\": \"value 2\"\n}\n",
      "description": "Claims to add to the token in JSON format",
      "displayOptions": {
        "show": {
          "operation": [
            "sign"
          ],
          "useJson": [
            true
          ]
        }
      },
      "typeOptions": {
        "rows": 5
      }
    },
    {
      "displayName": "Token",
      "name": "token",
      "type": "string",
      "default": "",
      "description": "The token to verify or decode",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "verify",
            "decode"
          ]
        }
      },
      "typeOptions": {
        "password": true
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Return Additional Info",
          "name": "complete",
          "type": "boolean",
          "default": false,
          "description": "Whether to return the complete decoded token with information about the header and signature or just the payload",
          "displayOptions": {
            "show": {
              "/operation": [
                "verify",
                "decode"
              ]
            }
          }
        },
        {
          "displayName": "Ignore Expiration",
          "name": "ignoreExpiration",
          "type": "boolean",
          "default": false,
          "description": "Whether to ignore the expiration of the token",
          "displayOptions": {
            "show": {
              "/operation": [
                "verify"
              ]
            }
          }
        },
        {
          "displayName": "Ignore Not Before Claim",
          "name": "ignoreNotBefore",
          "type": "boolean",
          "default": false,
          "description": "Whether to ignore the not before claim of the token",
          "displayOptions": {
            "show": {
              "/operation": [
                "verify"
              ]
            }
          }
        },
        {
          "displayName": "Clock Tolerance",
          "name": "clockTolerance",
          "type": "number",
          "default": 0,
          "description": "Number of seconds to tolerate when checking the nbf and exp claims, to deal with small clock differences among different servers",
          "typeOptions": {
            "minValue": 0
          },
          "displayOptions": {
            "show": {
              "/operation": [
                "verify"
              ]
            }
          }
        },
        {
          "displayName": "Key ID",
          "name": "kid",
          "type": "string",
          "placeholder": "e.g. 123456",
          "default": "",
          "description": "The kid (key ID) claim is an optional header claim, used to specify the key for validating the signature",
          "displayOptions": {
            "show": {
              "/operation": [
                "sign"
              ]
            }
          }
        },
        {
          "displayName": "Override Algorithm",
          "name": "algorithm",
          "type": "options",
          "options": [
            {
              "name": "ES256",
              "value": "ES256"
            },
            {
              "name": "ES384",
              "value": "ES384"
            },
            {
              "name": "ES512",
              "value": "ES512"
            },
            {
              "name": "HS256",
              "value": "HS256"
            },
            {
              "name": "HS384",
              "value": "HS384"
            },
            {
              "name": "HS512",
              "value": "HS512"
            },
            {
              "name": "PS256",
              "value": "PS256"
            },
            {
              "name": "PS384",
              "value": "PS384"
            },
            {
              "name": "PS512",
              "value": "PS512"
            },
            {
              "name": "RS256",
              "value": "RS256"
            },
            {
              "name": "RS384",
              "value": "RS384"
            },
            {
              "name": "RS512",
              "value": "RS512"
            }
          ],
          "default": "HS256",
          "description": "The algorithm to use for signing or verifying the token, overrides algorithm in credentials",
          "displayOptions": {
            "show": {
              "/operation": [
                "sign",
                "verify"
              ]
            }
          }
        }
      ]
    }
  ]

operations:
  [
    {
      "operation": "decode",
      "name": "Decode"
    },
    {
      "operation": "sign",
      "name": "Sign"
    },
    {
      "operation": "verify",
      "name": "Verify"
    }
  ]


node_type: nodes-base.jwt
package_name: n8n-nodes-base
display_name: JWT
description: JWT
category: transform
development_style: programmatic
version: 1
credentials_required:
  [
  {
  "name": "jwtAuth",
  "required": true
  }
  ]

outputs:
  [
  "main"
  ]

updated_at: 2026-03-18 15:15:48
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: JWT
  description: Documentation for the JWT node in n8n, a workflow automation platform. Includes guidance on usage, and links to examples.
  contentType: [integration, reference]
  priority: medium
  ---

  # JWT

  Work with JSON web tokens in your n8n workflows.

  /// note | Credentials
  You can find authentication information for this node [here](/integrations/builtin/credentials/jwt.md).
  ///

  ## Operations

  * Decode
  * Sign
  * Verify

  ## Node parameters

  --8<-- "_snippets/integrations/builtin/app-nodes/ai-tools.md"

  * **Credential to connect with**: Select or create a [JWT credential](/integrations/builtin/credentials/jwt.md) to connect with.
  * **Token**: Enter the token to **Verify** or **Decode**.
  * If you select the **Sign** operation, you'll also have this parameter:
      * **Use JSON to Build Payload**: When turned on, the node uses JSON to build the claims. The selection here influences what appears in the Payload Claims section.

  ## Payload Claims

  The node only displays payload claims if you select the **Sign** operation. What you see depends on what you select for **Use JSON to Build Payload**:

  * If you select **Use JSON to Build Payload**, this section displays a JSON editor where you can construct the claims.
  * If you don't select **Use JSON to Build Payload**, this section prompts you to **Add Claim**.

  You can add the following claims.

  ### Audience

  The **Audience** or `aud` claim identifies the intended recipients of the JWT.

  Refer to ["aud" (Audience) Claim](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.3){:target=_blank .external-link} for more information.

  ### Expires In

  The **Expires In** or `exp` claim identifies the time after which the JWT expires and must not be accepted for processing.

  Refer to ["exp" (Expiration Time) Claim](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.4){:target=_blank .external-link} for more information.

  ### Issuer

  The **Issuer** or `iss` claim identifies the principal that issued the JWT.

  Refer to ["iss" (Issuer) Claim](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.1){:target=_blank .external-link} for more information.

  ### JWT ID

  The **JWT ID** or `jti` claim provides a unique identifier for the JWT.

  Refer to ["jti" (JWT ID) Claim](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.7){:target=_blank .external-link} for more information.

  ### Not Before

  The **Not Before** or `nbf` claim identifies the time before which the JWT must not be accepted for processing.

  Refer to ["nbf" (Not Before) Claim](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.5){:target=_blank .external-link} for more information.

  ### Subject

  The **Subject** or `sub` claim identifies the principal that's the subject of the JWT.

  Refer to ["sub" (Subject) Claim](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.2){:target=_blank .external-link} for more information.

  ## Node options

  ### Decode node options

  The **Return Additional Info** toggle controls how much information the node returns.

  When turned on, the node returns the complete decoded token with information about the header and signature. When turned off, the node only returns the payload.

  ### Sign node options

  Use the **Override Algorithm** control to select the algorithm to use for verifying the token. This algorithm will override the algorithm selected in the credentials.

  ### Verify node options

  This operation includes several node options:

  * **Return Additional Info**: This toggle controls how much information the node returns. When turned on, the node returns the complete decoded token with information about the header and signature. When turned off, the node only returns the payload.
  * **Ignore Expiration**: This toggle controls whether the node should ignore the token's expiration time claim (`exp`). Refer to ["exp" (Expiration Time) Claim](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.4){:target=_blank .external-link} for more information.
  * **Ignore Not Before Claim**: This toggle controls whether to ignore the token's not before claim (`nbf`). Refer to ["nbf" (Not Before) Claim](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.5){:target=_blank .external-link} for more information.
  * **Clock Tolerance**: Enter the number of seconds to tolerate when checking the `nbf` and `exp` claims. This allows you to deal with small clock differences among different servers. Refer to ["exp" (Expiration Time) Claim](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.4){:target=_blank .external-link} for more information.
  * **Override Algorithm**: The algorithm to use for verifying the token. This algorithm will override the algorithm selected in the credentials.

  ## Templates and examples

  <!-- see https://www.notion.so/n8n/Pull-in-templates-for-the-integrations-pages-37c716837b804d30a33b47475f6e3780 -->
  [[ templatesWidget(page.title, 'jwt') ]]

properties_schema:
  [
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "sign",
      "options": [
        {
          "name": "Decode",
          "value": "decode",
          "action": "Decode a JWT"
        },
        {
          "name": "Sign",
          "value": "sign",
          "action": "Sign a JWT"
        },
        {
          "name": "Verify",
          "value": "verify",
          "action": "Verify a JWT"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Use JSON to Build Payload",
      "name": "useJson",
      "type": "boolean",
      "default": false,
      "description": "Whether to use JSON to build the claims",
      "displayOptions": {
        "show": {
          "operation": [
            "sign"
          ]
        }
      }
    },
    {
      "displayName": "Payload Claims",
      "name": "claims",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Audience",
          "name": "audience",
          "type": "string",
          "placeholder": "e.g. https://example.com",
          "default": "",
          "description": "Identifies the recipients that the JWT is intended for"
        },
        {
          "displayName": "Expires In",
          "name": "expiresIn",
          "type": "number",
          "placeholder": "e.g. 3600",
          "default": 3600,
          "description": "The lifetime of the token in seconds",
          "typeOptions": {
            "minValue": 0
          }
        },
        {
          "displayName": "Issuer",
          "name": "issuer",
          "type": "string",
          "placeholder": "e.g. https://example.com",
          "default": "",
          "description": "Identifies the principal that issued the JWT"
        },
        {
          "displayName": "JWT ID",
          "name": "jwtid",
          "type": "string",
          "placeholder": "e.g. 123456",
          "default": "",
          "description": "Unique identifier for the JWT"
        },
        {
          "displayName": "Not Before",
          "name": "notBefore",
          "type": "number",
          "default": 0,
          "description": "The time before which the JWT must not be accepted for processing",
          "typeOptions": {
            "minValue": 0
          }
        },
        {
          "displayName": "Subject",
          "name": "subject",
          "type": "string",
          "default": "",
          "description": "Identifies the principal that is the subject of the JWT"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "sign"
          ],
          "useJson": [
            false
          ]
        }
      }
    },
    {
      "displayName": "Payload Claims (JSON)",
      "name": "claimsJson",
      "type": "json",
      "default": "{\n  \"my_field_1\": \"value 1\",\n  \"my_field_2\": \"value 2\"\n}\n",
      "description": "Claims to add to the token in JSON format",
      "displayOptions": {
        "show": {
          "operation": [
            "sign"
          ],
          "useJson": [
            true
          ]
        }
      },
      "typeOptions": {
        "rows": 5
      }
    },
    {
      "displayName": "Token",
      "name": "token",
      "type": "string",
      "default": "",
      "description": "The token to verify or decode",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "verify",
            "decode"
          ]
        }
      },
      "typeOptions": {
        "password": true
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Return Additional Info",
          "name": "complete",
          "type": "boolean",
          "default": false,
          "description": "Whether to return the complete decoded token with information about the header and signature or just the payload",
          "displayOptions": {
            "show": {
              "/operation": [
                "verify",
                "decode"
              ]
            }
          }
        },
        {
          "displayName": "Ignore Expiration",
          "name": "ignoreExpiration",
          "type": "boolean",
          "default": false,
          "description": "Whether to ignore the expiration of the token",
          "displayOptions": {
            "show": {
              "/operation": [
                "verify"
              ]
            }
          }
        },
        {
          "displayName": "Ignore Not Before Claim",
          "name": "ignoreNotBefore",
          "type": "boolean",
          "default": false,
          "description": "Whether to ignore the not before claim of the token",
          "displayOptions": {
            "show": {
              "/operation": [
                "verify"
              ]
            }
          }
        },
        {
          "displayName": "Clock Tolerance",
          "name": "clockTolerance",
          "type": "number",
          "default": 0,
          "description": "Number of seconds to tolerate when checking the nbf and exp claims, to deal with small clock differences among different servers",
          "typeOptions": {
            "minValue": 0
          },
          "displayOptions": {
            "show": {
              "/operation": [
                "verify"
              ]
            }
          }
        },
        {
          "displayName": "Key ID",
          "name": "kid",
          "type": "string",
          "placeholder": "e.g. 123456",
          "default": "",
          "description": "The kid (key ID) claim is an optional header claim, used to specify the key for validating the signature",
          "displayOptions": {
            "show": {
              "/operation": [
                "sign"
              ]
            }
          }
        },
        {
          "displayName": "Override Algorithm",
          "name": "algorithm",
          "type": "options",
          "options": [
            {
              "name": "ES256",
              "value": "ES256"
            },
            {
              "name": "ES384",
              "value": "ES384"
            },
            {
              "name": "ES512",
              "value": "ES512"
            },
            {
              "name": "HS256",
              "value": "HS256"
            },
            {
              "name": "HS384",
              "value": "HS384"
            },
            {
              "name": "HS512",
              "value": "HS512"
            },
            {
              "name": "PS256",
              "value": "PS256"
            },
            {
              "name": "PS384",
              "value": "PS384"
            },
            {
              "name": "PS512",
              "value": "PS512"
            },
            {
              "name": "RS256",
              "value": "RS256"
            },
            {
              "name": "RS384",
              "value": "RS384"
            },
            {
              "name": "RS512",
              "value": "RS512"
            }
          ],
          "default": "HS256",
          "description": "The algorithm to use for signing or verifying the token, overrides algorithm in credentials",
          "displayOptions": {
            "show": {
              "/operation": [
                "sign",
                "verify"
              ]
            }
          }
        }
      ]
    }
  ]

operations:
  [
    {
      "operation": "decode",
      "name": "Decode"
    },
    {
      "operation": "sign",
      "name": "Sign"
    },
    {
      "operation": "verify",
      "name": "Verify"
    }
  ]


node_type: nodes-base.kafkaTool
package_name: n8n-nodes-base
display_name: Kafka Tool
description: Sends messages to a Kafka topic (AI Tool variant for use with AI Agents)
category: transform
development_style: programmatic
version: 1
operations: []
credentials_required:
  [
  {
  "name": "kafka",
  "required": true,
  "testedBy": "kafkaConnectionTest"
  }
  ]

outputs:
  [
  {
  "type": "ai_tool",
  "displayName": "Tool"
  }
  ]

output_names:
  [
  "Tool"
  ]

updated_at: 2026-03-18 15:15:48
tool_variant_of: nodes-base.kafka
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Kafka node documentation
  description: Learn how to use the Kafka node in n8n. Follow technical documentation to integrate Kafka node into your workflows.
  contentType: [integration, reference]
  priority: medium
  ---

  # Kafka node

  Use the Kafka node to automate work in Kafka, and integrate Kafka with other applications. n8n has built-in support for a wide range of Kafka features, including sending messages. 

  On this page, you'll find a list of operations the Kafka node supports and links to more resources.

  /// note | Credentials
  Refer to [Kafka credentials](/integrations/builtin/credentials/kafka.md) for guidance on setting up authentication. 
  ///

  --8<-- "_snippets/integrations/builtin/app-nodes/ai-tools.md"

  ## Operations

  - Send message

  ## Templates and examples

  <!-- see https://www.notion.so/n8n/Pull-in-templates-for-the-integrations-pages-37c716837b804d30a33b47475f6e3780 -->
  [[ templatesWidget(page.title, 'kafka') ]]

properties_schema:
  [
    {
      "displayName": "Tool Description",
      "name": "toolDescription",
      "type": "string",
      "default": "",
      "required": false,
      "description": "Description for the AI to understand what this tool does and when to use it",
      "typeOptions": {
        "rows": 3
      },
      "placeholder": "e.g., Use this tool to interact with Kafka"
    },
    {
      "displayName": "Topic",
      "name": "topic",
      "type": "string",
      "default": "",
      "description": "Name of the queue of topic to publish to"
    },
    {
      "displayName": "Send Input Data",
      "name": "sendInputData",
      "type": "boolean",
      "default": true,
      "description": "Whether to send the data the node receives as JSON to Kafka"
    },
    {
      "displayName": "Message",
      "name": "message",
      "type": "string",
      "default": "",
      "description": "The message to be sent",
      "displayOptions": {
        "show": {
          "sendInputData": [
            false
          ]
        }
      }
    },
    {
      "displayName": "JSON Parameters",
      "name": "jsonParameters",
      "type": "boolean",
      "default": false
    },
    {
      "displayName": "Use Schema Registry",
      "name": "useSchemaRegistry",
      "type": "boolean",
      "default": false,
      "description": "Whether to use Confluent Schema Registry"
    },
    {
      "displayName": "Schema Registry URL",
      "name": "schemaRegistryUrl",
      "type": "string",
      "default": "",
      "description": "URL of the schema registry",
      "required": true,
      "displayOptions": {
        "show": {
          "useSchemaRegistry": [
            true
          ]
        }
      }
    },
    {
      "displayName": "Use Key",
      "name": "useKey",
      "type": "boolean",
      "default": false,
      "description": "Whether to use a message key"
    },
    {
      "displayName": "Key",
      "name": "key",
      "type": "string",
      "default": "",
      "description": "The message key",
      "required": true,
      "displayOptions": {
        "show": {
          "useKey": [
            true
          ]
        }
      }
    },
    {
      "displayName": "Event Name",
      "name": "eventName",
      "type": "string",
      "default": "",
      "description": "Namespace and Name of Schema in Schema Registry (namespace.name)",
      "required": true,
      "displayOptions": {
        "show": {
          "useSchemaRegistry": [
            true
          ]
        }
      }
    },
    {
      "displayName": "Headers",
      "name": "headersUi",
      "type": "fixedCollection",
      "default": {},
      "options": [
        {
          "name": "headerValues",
          "displayName": "Header",
          "values": [
            {
              "displayName": "Key",
              "name": "key",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Value",
              "name": "value",
              "type": "string",
              "default": ""
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "jsonParameters": [
            false
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true
      }
    },
    {
      "displayName": "Headers (JSON)",
      "name": "headerParametersJson",
      "type": "json",
      "default": "",
      "description": "Header parameters as JSON (flat object)",
      "displayOptions": {
        "show": {
          "jsonParameters": [
            true
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Acks",
          "name": "acks",
          "type": "boolean",
          "default": false,
          "description": "Whether or not producer must wait for acknowledgement from all replicas"
        },
        {
          "displayName": "Compression",
          "name": "compression",
          "type": "boolean",
          "default": false,
          "description": "Whether to send the data in a compressed format using the GZIP codec"
        },
        {
          "displayName": "Timeout",
          "name": "timeout",
          "type": "number",
          "default": 30000,
          "description": "The time to await a response in ms"
        }
      ]
    }
  ]


node_type: nodes-base.kafka
package_name: n8n-nodes-base
display_name: Kafka
description: Sends messages to a Kafka topic
category: transform
development_style: programmatic
version: 1
operations: []
credentials_required:
  [
  {
  "name": "kafka",
  "required": true,
  "testedBy": "kafkaConnectionTest"
  }
  ]

outputs:
  [
  "main"
  ]

updated_at: 2026-03-18 15:15:48
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Kafka node documentation
  description: Learn how to use the Kafka node in n8n. Follow technical documentation to integrate Kafka node into your workflows.
  contentType: [integration, reference]
  priority: medium
  ---

  # Kafka node

  Use the Kafka node to automate work in Kafka, and integrate Kafka with other applications. n8n has built-in support for a wide range of Kafka features, including sending messages. 

  On this page, you'll find a list of operations the Kafka node supports and links to more resources.

  /// note | Credentials
  Refer to [Kafka credentials](/integrations/builtin/credentials/kafka.md) for guidance on setting up authentication. 
  ///

  --8<-- "_snippets/integrations/builtin/app-nodes/ai-tools.md"

  ## Operations

  - Send message

  ## Templates and examples

  <!-- see https://www.notion.so/n8n/Pull-in-templates-for-the-integrations-pages-37c716837b804d30a33b47475f6e3780 -->
  [[ templatesWidget(page.title, 'kafka') ]]

properties_schema:
  [
    {
      "displayName": "Topic",
      "name": "topic",
      "type": "string",
      "default": "",
      "description": "Name of the queue of topic to publish to"
    },
    {
      "displayName": "Send Input Data",
      "name": "sendInputData",
      "type": "boolean",
      "default": true,
      "description": "Whether to send the data the node receives as JSON to Kafka"
    },
    {
      "displayName": "Message",
      "name": "message",
      "type": "string",
      "default": "",
      "description": "The message to be sent",
      "displayOptions": {
        "show": {
          "sendInputData": [
            false
          ]
        }
      }
    },
    {
      "displayName": "JSON Parameters",
      "name": "jsonParameters",
      "type": "boolean",
      "default": false
    },
    {
      "displayName": "Use Schema Registry",
      "name": "useSchemaRegistry",
      "type": "boolean",
      "default": false,
      "description": "Whether to use Confluent Schema Registry"
    },
    {
      "displayName": "Schema Registry URL",
      "name": "schemaRegistryUrl",
      "type": "string",
      "default": "",
      "description": "URL of the schema registry",
      "required": true,
      "displayOptions": {
        "show": {
          "useSchemaRegistry": [
            true
          ]
        }
      }
    },
    {
      "displayName": "Use Key",
      "name": "useKey",
      "type": "boolean",
      "default": false,
      "description": "Whether to use a message key"
    },
    {
      "displayName": "Key",
      "name": "key",
      "type": "string",
      "default": "",
      "description": "The message key",
      "required": true,
      "displayOptions": {
        "show": {
          "useKey": [
            true
          ]
        }
      }
    },
    {
      "displayName": "Event Name",
      "name": "eventName",
      "type": "string",
      "default": "",
      "description": "Namespace and Name of Schema in Schema Registry (namespace.name)",
      "required": true,
      "displayOptions": {
        "show": {
          "useSchemaRegistry": [
            true
          ]
        }
      }
    },
    {
      "displayName": "Headers",
      "name": "headersUi",
      "type": "fixedCollection",
      "default": {},
      "options": [
        {
          "name": "headerValues",
          "displayName": "Header",
          "values": [
            {
              "displayName": "Key",
              "name": "key",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Value",
              "name": "value",
              "type": "string",
              "default": ""
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "jsonParameters": [
            false
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true
      }
    },
    {
      "displayName": "Headers (JSON)",
      "name": "headerParametersJson",
      "type": "json",
      "default": "",
      "description": "Header parameters as JSON (flat object)",
      "displayOptions": {
        "show": {
          "jsonParameters": [
            true
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Acks",
          "name": "acks",
          "type": "boolean",
          "default": false,
          "description": "Whether or not producer must wait for acknowledgement from all replicas"
        },
        {
          "displayName": "Compression",
          "name": "compression",
          "type": "boolean",
          "default": false,
          "description": "Whether to send the data in a compressed format using the GZIP codec"
        },
        {
          "displayName": "Timeout",
          "name": "timeout",
          "type": "number",
          "default": 30000,
          "description": "The time to await a response in ms"
        }
      ]
    }
  ]


node_type: nodes-base.kafkaTrigger
package_name: n8n-nodes-base
display_name: Kafka Trigger
description: Consume messages from a Kafka topic
category: trigger
development_style: programmatic
version: 1.3
operations: []
credentials_required:
  [
  {
  "name": "kafka",
  "required": true
  }
  ]

outputs:
  [
  "main"
  ]

updated_at: 2026-03-18 15:15:48
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Kafka Trigger node documentation
  description: Learn how to use the Kafka Trigger node in n8n. Follow technical documentation to integrate Kafka Trigger node into your workflows.
  contentType: [integration, reference]
  priority: medium
  ---

  # Kafka Trigger node

  [Kafka](https://kafka.apache.org/){:target=_blank .external-link} is an open-source distributed event streaming platform that one can use for high-performance data pipelines, streaming analytics, data integration, and mission-critical applications.

  /// note | Credentials
  You can find authentication information for this node [here](/integrations/builtin/credentials/kafka.md).
  ///

  /// note | Examples and templates
  For usage examples and templates to help you get started, refer to n8n's [Kafka Trigger integrations](https://n8n.io/integrations/kafka-trigger/){:target=_blank .external-link} page.
  ///

properties_schema:
  [
    {
      "displayName": "Topic",
      "name": "topic",
      "type": "string",
      "default": "",
      "description": "Name of the queue of topic to consume from",
      "required": true
    },
    {
      "displayName": "Group ID",
      "name": "groupId",
      "type": "string",
      "default": "",
      "description": "ID of the consumer group",
      "required": true
    },
    {
      "displayName": "Resolve Offset",
      "name": "resolveOffset",
      "type": "options",
      "default": "onCompletion",
      "description": "Select on which condition the offsets should be resolved. In the manual mode, when execution started by clicking on Execute Workflow or Execute Step button, offsets are always resolved immediately after message received.",
      "options": [
        {
          "name": "On Execution Completion",
          "value": "onCompletion",
          "description": "Resolve offset after execution completion regardless of the status"
        },
        {
          "name": "On Execution Success",
          "value": "onSuccess",
          "description": "Resolve offset only if execution status equals success"
        },
        {
          "name": "On Allowed Execution Statuses",
          "value": "onStatus",
          "description": "Resolve offset only if execution status in the list of selected statuses"
        },
        {
          "name": "Immediately",
          "value": "immediately",
          "description": "Resolve offset immediately after message received. This option is not recommended as it can cause messages loss."
        }
      ],
      "displayOptions": {
        "show": {
          "@version": [
            {
              "_cnd": {
                "gte": 1.3
              }
            }
          ]
        }
      }
    },
    {
      "displayName": "Allowed Statuses",
      "name": "allowedStatuses",
      "type": "multiOptions",
      "default": [
        "success"
      ],
      "options": [
        {
          "name": "Canceled",
          "value": "canceled"
        },
        {
          "name": "Crashed",
          "value": "crashed"
        },
        {
          "name": "Error",
          "value": "error"
        },
        {
          "name": "New",
          "value": "new"
        },
        {
          "name": "Running",
          "value": "running"
        },
        {
          "name": "Success",
          "value": "success"
        },
        {
          "name": "Unknown",
          "value": "unknown"
        },
        {
          "name": "Waiting",
          "value": "waiting"
        }
      ],
      "displayOptions": {
        "show": {
          "@version": [
            {
              "_cnd": {
                "gte": 1.3
              }
            }
          ],
          "resolveOffset": [
            "onStatus"
          ]
        }
      }
    },
    {
      "displayName": "Use Schema Registry",
      "name": "useSchemaRegistry",
      "type": "boolean",
      "default": false,
      "description": "Whether to use Confluent Schema Registry"
    },
    {
      "displayName": "Schema Registry URL",
      "name": "schemaRegistryUrl",
      "type": "string",
      "default": "",
      "description": "URL of the schema registry",
      "required": true,
      "displayOptions": {
        "show": {
          "useSchemaRegistry": [
            true
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Allow Topic Creation",
          "name": "allowAutoTopicCreation",
          "type": "boolean",
          "default": false,
          "description": "Whether to allow sending message to a previously non-existing topic"
        },
        {
          "displayName": "Auto Commit Threshold",
          "name": "autoCommitThreshold",
          "type": "number",
          "default": 0,
          "description": "The consumer will commit offsets after resolving a given number of messages"
        },
        {
          "displayName": "Auto Commit Interval",
          "name": "autoCommitInterval",
          "type": "number",
          "default": 0,
          "description": "The consumer will commit offsets after a given period, for example, five seconds",
          "hint": "Value in milliseconds"
        },
        {
          "displayName": "Batch Size",
          "name": "batchSize",
          "type": "number",
          "default": 1,
          "description": "Number of messages to process in each batch, when set to 1, message-by-message processing is enabled"
        },
        {
          "displayName": "Each Batch Auto Resolve",
          "name": "eachBatchAutoResolve",
          "type": "boolean",
          "default": false,
          "description": "Whether to auto resolve offsets for each batch",
          "displayOptions": {
            "show": {
              "@version": [
                {
                  "_cnd": {
                    "gte": 1.3
                  }
                }
              ]
            }
          }
        },
        {
          "displayName": "Fetch Max Bytes",
          "name": "fetchMaxBytes",
          "type": "number",
          "default": 1048576,
          "description": "Maximum amount of data the server should return for a fetch request. In bytes. Default is 1MB. Higher values allow fetching more messages at once."
        },
        {
          "displayName": "Fetch Min Bytes",
          "name": "fetchMinBytes",
          "type": "number",
          "default": 1,
          "description": "Minimum amount of data the server should return for a fetch request. In bytes. Server will wait up to fetchMaxWaitTime for this amount to accumulate."
        },
        {
          "displayName": "Heartbeat Interval",
          "name": "heartbeatInterval",
          "type": "number",
          "default": 10000,
          "description": "Controls how often the consumer sends heartbeats to the broker to indicate it is still alive. Must be lower than Session Timeout. Recommended value is approximately one third of the Session Timeout (for example: 10s heartbeat with 30s session timeout).",
          "hint": "Value in milliseconds",
          "displayOptions": {
            "show": {
              "@version": [
                {
                  "_cnd": {
                    "gte": 1.3
                  }
                }
              ]
            }
          }
        },
        {
          "displayName": "Heartbeat Interval",
          "name": "heartbeatInterval",
          "type": "number",
          "default": 3000,
          "description": "Heartbeats are used to ensure that the consumer's session stays active",
          "hint": "The value must be set lower than Session Timeout",
          "displayOptions": {
            "hide": {
              "@version": [
                {
                  "_cnd": {
                    "gte": 1.3
                  }
                }
              ]
            }
          }
        },
        {
          "displayName": "Max Number of Requests",
          "name": "maxInFlightRequests",
          "type": "number",
          "default": 1,
          "description": "The maximum number of unacknowledged requests the client will send on a single connection"
        },
        {
          "displayName": "Read Messages From Beginning",
          "name": "fromBeginning",
          "type": "boolean",
          "default": true,
          "description": "Whether to read message from beginning"
        },
        {
          "displayName": "JSON Parse Message",
          "name": "jsonParseMessage",
          "type": "boolean",
          "default": false,
          "description": "Whether to try to parse the message to an object"
        },
        {
          "displayName": "Keep Message as Binary Data",
          "name": "keepBinaryData",
          "type": "boolean",
          "default": false,
          "displayOptions": {
            "show": {
              "@version": [
                {
                  "_cnd": {
                    "gte": 1.2
                  }
                }
              ]
            }
          },
          "description": "Whether to keep message value as binary data for downstream processing (e.g., Avro deserialization)"
        },
        {
          "displayName": "Parallel Processing",
          "name": "parallelProcessing",
          "type": "boolean",
          "default": true,
          "description": "Whether to process messages in parallel resolving offsets independently or in order resolving offsets after execution completion. In the manual mode, when execution started by clicking on Execute Workflow or Execute Step button, messages are processed in parallel resolving offsets immediately.",
          "displayOptions": {
            "show": {
              "@version": [
                1.1,
                1.2
              ]
            }
          }
        },
        {
          "displayName": "Partitions Consumed Concurrently",
          "name": "partitionsConsumedConcurrently",
          "type": "number",
          "default": 0,
          "description": "Number of Kafka partitions to process in parallel. Controls how many partitions are processed concurrently by the consumer.",
          "hint": "Set to 0 to process all partitions sequentially"
        },
        {
          "displayName": "Only Message",
          "name": "onlyMessage",
          "type": "boolean",
          "displayOptions": {
            "show": {
              "jsonParseMessage": [
                true
              ]
            }
          },
          "default": false,
          "description": "Whether to return only the message property"
        },
        {
          "displayName": "Return Headers",
          "name": "returnHeaders",
          "type": "boolean",
          "default": false,
          "description": "Whether to return the headers received from Kafka"
        },
        {
          "displayName": "Rebalance Timeout",
          "name": "rebalanceTimeout",
          "type": "number",
          "default": 600000,
          "description": "The maximum time allowed for a consumer to join the group"
        },
        {
          "displayName": "Retry Delay on Error",
          "name": "errorRetryDelay",
          "type": "number",
          "default": 5000,
          "description": "Delay in milliseconds before retrying after a failed offset resolution. This prevents rapid retry loops that could overwhelm the Kafka broker.",
          "hint": "Value in milliseconds",
          "typeOptions": {
            "minValue": 1000
          },
          "displayOptions": {
            "show": {
              "@version": [
                {
                  "_cnd": {
                    "gte": 1.3
                  }
                }
              ]
            },
            "hide": {
              "/resolveOffset": [
                "immediately"
              ]
            }
          }
        },
        {
          "displayName": "Session Timeout",
          "name": "sessionTimeout",
          "type": "number",
          "default": 30000,
          "description": "Timeout in milliseconds used to detect failures. Has to be higher than Heartbeat Interval. During the workflow execution heartbeat will be sent periodically to keep the session alive with configured Heartbeat Interval.",
          "hint": "Value in milliseconds"
        }
      ]
    }
  ]


node_type: nodes-base.keapTool
package_name: n8n-nodes-base
display_name: Keap Tool
description: Consume Keap API (AI Tool variant for use with AI Agents)
category: input
development_style: programmatic
version: 1
credentials_required:
  [
  {
  "name": "keapOAuth2Api",
  "required": true
  }
  ]

outputs:
  [
  {
  "type": "ai_tool",
  "displayName": "Tool"
  }
  ]

output_names:
  [
  "Tool"
  ]

updated_at: 2026-03-18 15:15:48
tool_variant_of: nodes-base.keap
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Keap node documentation
  description: Learn how to use the Keap node in n8n. Follow technical documentation to integrate Keap node into your workflows.
  contentType: [integration, reference]
  ---

  # Keap node

  Use the Keap node to automate work in Keap, and integrate Keap with other applications. n8n has built-in support for a wide range of Keap features, including creating, updating, deleting, and getting companies, products, ecommerce orders, emails, and files. 

  On this page, you'll find a list of operations the Keap node supports and links to more resources.

  /// note | Credentials
  Refer to [Keap credentials](/integrations/builtin/credentials/keap.md) for guidance on setting up authentication. 
  ///

  ## Operations

  * Company
      * Create a company
      * Retrieve all companies
  * Contact
      * Create/update a contact
      * Delete an contact
      * Retrieve an contact
      * Retrieve all contacts
  * Contact Note
      * Create a note
      * Delete a note
      * Get a notes
      * Retrieve all notes
      * Update a note
  * Contact Tag
      * Add a list of tags to a contact
      * Delete a contact's tag
      * Retrieve all contact's tags
  * Ecommerce Order
      * Create an ecommerce order
      * Get an ecommerce order
      * Delete an ecommerce order
      * Retrieve all ecommerce orders
  * Ecommerce Product
      * Create an ecommerce product
      * Delete an ecommerce product
      * Get an ecommerce product
      * Retrieve all ecommerce product
  * Email
      * Create a record of an email sent to a contact
      * Retrieve all sent emails
      * Send Email
  * File
      * Delete a file
      * Retrieve all files
      * Upload a file

  ## Templates and examples

  <!-- see https://www.notion.so/n8n/Pull-in-templates-for-the-integrations-pages-37c716837b804d30a33b47475f6e3780 -->
  [[ templatesWidget(page.title, 'keap') ]]

  --8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"

properties_schema:
  [
    {
      "displayName": "Tool Description",
      "name": "toolDescription",
      "type": "string",
      "default": "",
      "required": false,
      "description": "Description for the AI to understand what this tool does and when to use it",
      "typeOptions": {
        "rows": 3
      },
      "placeholder": "e.g., Use this tool to interact with Keap"
    },
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "company",
      "options": [
        {
          "name": "Company",
          "value": "company"
        },
        {
          "name": "Contact",
          "value": "contact"
        },
        {
          "name": "Contact Note",
          "value": "contactNote"
        },
        {
          "name": "Contact Tag",
          "value": "contactTag"
        },
        {
          "name": "Ecommerce Order",
          "value": "ecommerceOrder"
        },
        {
          "name": "Ecommerce Product",
          "value": "ecommerceProduct"
        },
        {
          "name": "Email",
          "value": "email"
        },
        {
          "name": "File",
          "value": "file"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a company",
          "action": "Create a company"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Retrieve many companies",
          "action": "Get many companies"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "company"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Company Name",
      "name": "companyName",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "company"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Email",
          "name": "emailAddress",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Notes",
          "name": "notes",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Opt In Reason",
          "name": "optInReason",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Website",
          "name": "website",
          "type": "string",
          "default": ""
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "company"
          ]
        }
      }
    },
    {
      "displayName": "Addresses",
      "name": "addressesUi",
      "type": "fixedCollection",
      "default": {},
      "options": [
        {
          "name": "addressesValues",
          "displayName": "Address",
          "values": [
            {
              "displayName": "Country Code",
              "name": "countryCode",
              "type": "string",
              "default": "",
              "description": "ISO Alpha-3 Code"
            },
            {
              "displayName": "Line 1",
              "name": "line1",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Line 2",
              "name": "line2",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Locality",
              "name": "locality",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Postal Code",
              "name": "postalCode",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Region",
              "name": "region",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Zip Code",
              "name": "zipCode",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Zip Four",
              "name": "zipFour",
              "type": "string",
              "default": ""
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "company"
          ],
          "operation": [
            "create"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": false
      }
    },
    {
      "displayName": "Faxes",
      "name": "faxesUi",
      "type": "fixedCollection",
      "default": {},
      "options": [
        {
          "name": "faxesValues",
          "displayName": "Fax",
          "values": [
            {
              "displayName": "Type",
              "name": "type",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Number",
              "name": "number",
              "type": "string",
              "default": ""
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "company"
          ],
          "operation": [
            "create"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": false
      }
    },
    {
      "displayName": "Phones",
      "name": "phonesUi",
      "type": "fixedCollection",
      "default": {},
      "options": [
        {
          "name": "phonesValues",
          "displayName": "Phones",
          "values": [
            {
              "displayName": "Type",
              "name": "type",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Number",
              "name": "number",
              "type": "string",
              "default": ""
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "company"
          ],
          "operation": [
            "create"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "company"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "company"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 200
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Company Name",
          "name": "companyName",
          "type": "string",
          "default": "",
          "description": "Company name to query on"
        },
        {
          "displayName": "Order",
          "name": "order",
          "type": "options",
          "options": [
            {
              "name": "Date Created",
              "value": "datecreated"
            },
            {
              "name": "ID",
              "value": "id"
            },
            {
              "name": "Name",
              "value": "name"
            }
          ],
          "default": "",
          "description": "Attribute to order items by"
        },
        {
          "displayName": "Order Direction",
          "name": "orderDirection",
          "type": "options",
          "options": [
            {
              "name": "ASC",
              "value": "ascending"
            },
            {
              "name": "DES",
              "value": "descending"
            }
          ],
          "default": ""
        },
        {
          "displayName": "Fields",
          "name": "fields",
          "type": "string",
          "default": "",
          "description": "Comma-delimited list of Company properties to include in the response. (Fields such as notes, fax_number and custom_fields aren't included, by default.)."
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "company"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "upsert",
      "options": [
        {
          "name": "Create or Update",
          "value": "upsert",
          "description": "Create a new contact, or update the current one if it already exists (upsert)",
          "action": "Create or update a contact"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete an contact",
          "action": "Delete a contact"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Retrieve an contact",
          "action": "Get a contact"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Retrieve many contacts",
          "action": "Get many contacts"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Duplicate Option",
      "name": "duplicateOption",
      "type": "options",
      "default": "email",
      "description": "Performs duplicate checking by one of the following options: Email, EmailAndName. If a match is found using the option provided, the existing contact will be updated.",
      "options": [
        {
          "name": "Email",
          "value": "email"
        },
        {
          "name": "Email And Name",
          "value": "emailAndName"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "upsert"
          ],
          "resource": [
            "contact"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Anniversary",
          "name": "anniversary",
          "type": "dateTime",
          "default": ""
        },
        {
          "displayName": "Company ID",
          "name": "companyId",
          "type": "number",
          "typeOptions": {
            "minValue": 0
          },
          "default": 0
        },
        {
          "displayName": "Contact Type Name or ID",
          "name": "contactType",
          "type": "options",
          "description": "Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
          "typeOptions": {
            "loadOptionsMethod": "getContactTypes"
          },
          "default": ""
        },
        {
          "displayName": "Family Name",
          "name": "familyName",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Given Name",
          "name": "givenName",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "IP Address",
          "name": "ipAddress",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Job Title",
          "name": "jobTitle",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Lead Source ID",
          "name": "leadSourceId",
          "type": "number",
          "default": 0
        },
        {
          "displayName": "Middle Name",
          "name": "middleName",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Opt In Reason",
          "name": "optInReason",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Owner Name or ID",
          "name": "ownerId",
          "type": "options",
          "description": "Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
          "typeOptions": {
            "loadOptionsMethod": "getUsers"
          },
          "default": ""
        },
        {
          "displayName": "Preferred Locale",
          "name": "preferredLocale",
          "type": "string",
          "placeholder": "en",
          "default": ""
        },
        {
          "displayName": "Preferred Name",
          "name": "preferredName",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Source Type",
          "name": "sourceType",
          "type": "options",
          "options": [
            {
              "name": "API",
              "value": "API"
            },
            {
              "name": "Import",
              "value": "IMPORT"
            },
            {
              "name": "Landing Page",
              "value": "LANDINGPAGE"
            },
            {
              "name": "Manual",
              "value": "MANUAL"
            },
            {
              "name": "Other",
              "value": "OTHER"
            },
            {
              "name": "Unknown",
              "value": "UNKNOWN"
            }
          ],
          "default": ""
        },
        {
          "displayName": "Spouse Name",
          "name": "spouseName",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Timezone Name or ID",
          "name": "timezone",
          "type": "options",
          "description": "Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
          "typeOptions": {
            "loadOptionsMethod": "getTimezones"
          },
          "default": ""
        },
        {
          "displayName": "Website",
          "name": "website",
          "type": "string",
          "default": ""
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "upsert"
          ],
          "resource": [
            "contact"
          ]
        }
      }
    },
    {
      "displayName": "Addresses",
      "name": "addressesUi",
      "type": "fixedCollection",
      "default": {},
      "options": [
        {
          "name": "addressesValues",
          "displayName": "Address",
          "values": [
            {
              "displayName": "Field",
              "name": "field",
              "type": "options",
              "options": [
                {
                  "name": "Billing",
                  "value": "BILLING"
                },
                {
                  "name": "Shipping",
                  "value": "SHIPPING"
                },
                {
                  "name": "Other",
                  "value": "OTHER"
                }
              ],
              "default": ""
            },
            {
              "displayName": "Country Code Name or ID",
              "name": "countryCode",
              "type": "options",
              "description": "Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
              "typeOptions": {
                "loadOptionsMethod": "getCountries"
              },
              "default": ""
            },
            {
              "displayName": "Line 1",
              "name": "line1",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Line 2",
              "name": "line2",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Locality",
              "name": "locality",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Postal Code",
              "name": "postalCode",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Region",
              "name": "region",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Zip Code",
              "name": "zipCode",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Zip Four",
              "name": "zipFour",
              "type": "string",
              "default": ""
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ],
          "operation": [
            "upsert"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true
      }
    },
    {
      "displayName": "Emails",
      "name": "emailsUi",
      "type": "fixedCollection",
      "default": {},
      "options": [
        {
          "name": "emailsValues",
          "displayName": "Email",
          "values": [
            {
              "displayName": "Field",
              "name": "field",
              "type": "options",
              "options": [
                {
                  "name": "Email 1",
                  "value": "EMAIL1"
                },
                {
                  "name": "Email 2",
                  "value": "EMAIL2"
                },
                {
                  "name": "Email 3",
                  "value": "EMAIL3"
                }
              ],
              "default": ""
            },
            {
              "displayName": "Email",
              "name": "email",
              "type": "string",
              "placeholder": "name@email.com",
              "default": ""
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ],
          "operation": [
            "upsert"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true
      }
    },
    {
      "displayName": "Faxes",
      "name": "faxesUi",
      "type": "fixedCollection",
      "default": {},
      "options": [
        {
          "name": "faxesValues",
          "displayName": "Fax",
          "values": [
            {
              "displayName": "Field",
              "name": "field",
              "type": "options",
              "options": [
                {
                  "name": "Fax 1",
                  "value": "FAX1"
                },
                {
                  "name": "Fax 2",
                  "value": "FAX2"
                }
              ],
              "default": ""
            },
            {
              "displayName": "Number",
              "name": "number",
              "type": "string",
              "default": ""
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ],
          "operation": [
            "upsert"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true
      }
    },
    {
      "displayName": "Phones",
      "name": "phonesUi",
      "type": "fixedCollection",
      "default": {},
      "options": [
        {
          "name": "phonesValues",
          "displayName": "Phones",
          "values": [
            {
              "displayName": "Field",
              "name": "field",
              "type": "options",
              "options": [
                {
                  "name": "Phone 1",
                  "value": "PHONE1"
                },
                {
                  "name": "Phone 2",
                  "value": "PHONE2"
                },
                {
                  "name": "Phone 3",
                  "value": "PHONE3"
                },
                {
                  "name": "Phone 4",
                  "value": "PHONE4"
                },
                {
                  "name": "Phone 5",
                  "value": "PHONE5"
                }
              ],
              "default": ""
            },
            {
              "displayName": "Number",
              "name": "number",
              "type": "string",
              "default": ""
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ],
          "operation": [
            "upsert"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true
      }
    },
    {
      "displayName": "Social Accounts",
      "name": "socialAccountsUi",
      "type": "fixedCollection",
      "default": {},
      "options": [
        {
          "name": "socialAccountsValues",
          "displayName": "Social Account",
          "values": [
            {
              "displayName": "Type",
              "name": "type",
              "type": "options",
              "options": [
                {
                  "name": "Facebook",
                  "value": "Facebook"
                },
                {
                  "name": "Twitter",
                  "value": "Twitter"
                },
                {
                  "name": "LinkedIn",
                  "value": "LinkedIn"
                }
              ],
              "default": ""
            },
            {
              "displayName": "Name",
              "name": "name",
              "type": "string",
              "default": ""
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ],
          "operation": [
            "upsert"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true
      }
    },
    {
      "displayName": "Contact ID",
      "name": "contactId",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "delete"
          ],
          "resource": [
            "contact"
          ]
        }
      }
    },
    {
      "displayName": "Contact ID",
      "name": "contactId",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "get"
          ],
          "resource": [
            "contact"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Fields",
          "name": "fields",
          "type": "string",
          "default": "",
          "description": "Comma-delimited list of Contact properties to include in the response. (Some fields such as lead_source_id, custom_fields, and job_title aren't included, by default.)."
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "get"
          ],
          "resource": [
            "contact"
          ]
        }
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "contact"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "contact"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 200
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Email",
          "name": "email",
          "type": "string",
          "placeholder": "name@email.com",
          "default": ""
        },
        {
          "displayName": "Given Name",
          "name": "givenName",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Family Name",
          "name": "familyName",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Order",
          "name": "order",
          "type": "options",
          "options": [
            {
              "name": "Date",
              "value": "date"
            },
            {
              "name": "Email",
              "value": "email"
            },
            {
              "name": "ID",
              "value": "id"
            },
            {
              "name": "Name",
              "value": "name"
            }
          ],
          "default": "",
          "description": "Attribute to order items by"
        },
        {
          "displayName": "Order Direction",
          "name": "orderDirection",
          "type": "options",
          "options": [
            {
              "name": "ASC",
              "value": "ascending"
            },
            {
              "name": "DES",
              "value": "descending"
            }
          ],
          "default": ""
        },
        {
          "displayName": "Since",
          "name": "since",
          "type": "dateTime",
          "default": "",
          "description": "Date to start searching from on LastUpdated"
        },
        {
          "displayName": "Until",
          "name": "until",
          "type": "dateTime",
          "default": "",
          "description": "Date to search to on LastUpdated"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "contact"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a note",
          "action": "Create a contact note"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a note",
          "action": "Delete a contact note"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get a notes",
          "action": "Get a contact note"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Retrieve many notes",
          "action": "Get many contact notes"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update a note",
          "action": "Update a contact note"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "contactNote"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "User Name or ID",
      "name": "userId",
      "type": "options",
      "default": "",
      "description": "The infusionsoft user to create the note on behalf of. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "contactNote"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getUsers"
      }
    },
    {
      "displayName": "Contact ID",
      "name": "contactId",
      "type": "string",
      "default": "",
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "contactNote"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Body",
          "name": "body",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Title",
          "name": "title",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Type",
          "name": "type",
          "type": "options",
          "options": [
            {
              "name": "Appointment",
              "value": "appointment"
            },
            {
              "name": "Call",
              "value": "call"
            },
            {
              "name": "Email",
              "value": "email"
            },
            {
              "name": "Fax",
              "value": "fax"
            },
            {
              "name": "Letter",
              "value": "letter"
            },
            {
              "name": "Other",
              "value": "other"
            }
          ],
          "default": ""
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "contactNote"
          ]
        }
      }
    },
    {
      "displayName": "Note ID",
      "name": "noteId",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "delete"
          ],
          "resource": [
            "contactNote"
          ]
        }
      }
    },
    {
      "displayName": "Note ID",
      "name": "noteId",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "get"
          ],
          "resource": [
            "contactNote"
          ]
        }
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "contactNote"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "contactNote"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 200
      }
    },
    {
      "displayName": "Filters",
      "name": "filters",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Contact ID",
          "name": "contactId",
          "type": "number",
          "typeOptions": {
            "minValue": 0
          },
          "default": 0
        },
        {
          "displayName": "User Name or ID",
          "name": "userId",
          "type": "options",
          "description": "Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
          "typeOptions": {
            "loadOptionsMethod": "getUsers"
          },
          "default": ""
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "contactNote"
          ]
        }
      }
    },
    {
      "displayName": "Note ID",
      "name": "noteId",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "update"
          ],
          "resource": [
            "contactNote"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Body",
          "name": "body",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Contact ID",
          "name": "contactId",
          "type": "number",
          "typeOptions": {
            "minValue": 0
          },
          "default": 0
        },
        {
          "displayName": "Title",
          "name": "title",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Type",
          "name": "type",
          "type": "options",
          "options": [
            {
              "name": "Appointment",
              "value": "appointment"
            },
            {
              "name": "Call",
              "value": "call"
            },
            {
              "name": "Email",
              "value": "email"
            },
            {
              "name": "Fax",
              "value": "fax"
            },
            {
              "name": "Letter",
              "value": "letter"
            },
            {
              "name": "Other",
              "value": "other"
            }
          ],
          "default": ""
        },
        {
          "displayName": "User Name or ID",
          "name": "userId",
          "type": "options",
          "typeOptions": {
            "loadOptionsMethod": "getUsers"
          },
          "default": "",
          "description": "The infusionsoft user to create the note on behalf of. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "update"
          ],
          "resource": [
            "contactNote"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Add a list of tags to a contact",
          "action": "Create a contact tag"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a contact's tag",
          "action": "Delete a contact tag"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Retrieve many contact's tags",
          "action": "Get many contact tags"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "contactTag"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Contact ID",
      "name": "contactId",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "contactTag"
          ]
        }
      }
    },
    {
      "displayName": "Tag Names or IDs",
      "name": "tagIds",
      "type": "multiOptions",
      "default": [],
      "description": "Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "contactTag"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getTags"
      }
    },
    {
      "displayName": "Contact ID",
      "name": "contactId",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "delete"
          ],
          "resource": [
            "contactTag"
          ]
        }
      }
    },
    {
      "displayName": "Tag IDs",
      "name": "tagIds",
      "type": "string",
      "default": "Tag IDs, multiple IDs can be set separated by comma.",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "delete"
          ],
          "resource": [
            "contactTag"
          ]
        }
      }
    },
    {
      "displayName": "Contact ID",
      "name": "contactId",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "contactTag"
          ]
        }
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "contactTag"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "contactTag"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 200
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create an ecommerce order",
          "action": "Create an e-commerce order"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get an ecommerce order",
          "action": "Get an e-commerce order"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete an ecommerce order",
          "action": "Delete an e-commerce order"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Retrieve many ecommerce orders",
          "action": "Get many e-commerce orders"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "ecommerceOrder"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Contact ID",
      "name": "contactId",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "ecommerceOrder"
          ]
        }
      }
    },
    {
      "displayName": "Order Date",
      "name": "orderDate",
      "type": "dateTime",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "ecommerceOrder"
          ]
        }
      }
    },
    {
      "displayName": "Order Title",
      "name": "orderTitle",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "ecommerceOrder"
          ]
        }
      }
    },
    {
      "displayName": "Order Type",
      "name": "orderType",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "Offline",
          "value": "offline"
        },
        {
          "name": "Online",
          "value": "online"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "ecommerceOrder"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Lead Affiliate ID",
          "name": "leadAffiliateId",
          "type": "number",
          "typeOptions": {
            "minValue": 0
          },
          "default": 0
        },
        {
          "displayName": "Promo Codes",
          "name": "promoCodes",
          "type": "string",
          "default": "",
          "description": "Uses multiple strings separated by comma as promo codes. The corresponding discount will be applied to the order."
        },
        {
          "displayName": "Sales Affiliate ID",
          "name": "salesAffiliateId",
          "type": "number",
          "typeOptions": {
            "minValue": 0
          },
          "default": 0
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "ecommerceOrder"
          ]
        }
      }
    },
    {
      "displayName": "Shipping Address",
      "name": "addressUi",
      "type": "fixedCollection",
      "default": {},
      "options": [
        {
          "name": "addressValues",
          "displayName": "Address",
          "values": [
            {
              "displayName": "Company",
              "name": "company",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Country Code Name or ID",
              "name": "countryCode",
              "type": "options",
              "description": "Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
              "typeOptions": {
                "loadOptionsMethod": "getCountries"
              },
              "default": ""
            },
            {
              "displayName": "First Name",
              "name": "firstName",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Middle Name",
              "name": "middleName",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Last Name",
              "name": "lastName",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Line 1",
              "name": "line1",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Line 2",
              "name": "line2",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Locality",
              "name": "locality",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Region",
              "name": "region",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Zip Code",
              "name": "zipCode",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Zip Four",
              "name": "zipFour",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Phone",
              "name": "phone",
              "type": "string",
              "default": ""
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "ecommerceOrder"
          ],
          "operation": [
            "create"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": false
      }
    },
    {
      "displayName": "Order Items",
      "name": "orderItemsUi",
      "type": "fixedCollection",
      "default": {},
      "options": [
        {
          "name": "orderItemsValues",
          "displayName": "Order Item",
          "values": [
            {
              "displayName": "Description",
              "name": "description",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Price",
              "name": "price",
              "type": "number",
              "typeOptions": {
                "minValue": 0
              },
              "default": 0,
              "description": "Overridable price of the product, if not specified, the default will be used"
            },
            {
              "displayName": "Product ID",
              "name": "product ID",
              "type": "number",
              "typeOptions": {
                "minValue": 0
              },
              "default": 0
            },
            {
              "displayName": "Quantity",
              "name": "quantity",
              "type": "number",
              "typeOptions": {
                "minValue": 1
              },
              "default": 1
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "ecommerceOrder"
          ],
          "operation": [
            "create"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true
      }
    },
    {
      "displayName": "Order ID",
      "name": "orderId",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "delete"
          ],
          "resource": [
            "ecommerceOrder"
          ]
        }
      }
    },
    {
      "displayName": "Order ID",
      "name": "orderId",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "get"
          ],
          "resource": [
            "ecommerceOrder"
          ]
        }
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "ecommerceOrder"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "ecommerceOrder"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 200
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Since",
          "name": "since",
          "type": "dateTime",
          "default": "",
          "description": "Date to start searching from"
        },
        {
          "displayName": "Until",
          "name": "until",
          "type": "dateTime",
          "default": "",
          "description": "Date to search to"
        },
        {
          "displayName": "Paid",
          "name": "paid",
          "type": "boolean",
          "default": false
        },
        {
          "displayName": "Order",
          "name": "order",
          "type": "string",
          "default": "",
          "description": "Attribute to order items by"
        },
        {
          "displayName": "Contact ID",
          "name": "contactId",
          "type": "number",
          "typeOptions": {
            "minValue": 0
          },
          "default": 0
        },
        {
          "displayName": "Product ID",
          "name": "productId",
          "type": "number",
          "typeOptions": {
            "minValue": 0
          },
          "default": 0
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "ecommerceOrder"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create an ecommerce product",
          "action": "Create an e-commerce product"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete an ecommerce product",
          "action": "Delete an e-commerce product"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get an ecommerce product",
          "action": "Get an e-commerce product"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Retrieve many ecommerce products",
          "action": "Get many e-commerce products"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "ecommerceProduct"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Product Name",
      "name": "productName",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "ecommerceProduct"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Active",
          "name": "active",
          "type": "boolean",
          "default": false
        },
        {
          "displayName": "Product Description",
          "name": "productDesc",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Product Price",
          "name": "productPrice",
          "type": "number",
          "typeOptions": {
            "minValue": 0
          },
          "default": 0
        },
        {
          "displayName": "Product Short Desc",
          "name": "productShortDesc",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "SKU",
          "name": "sku",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Subscription Only",
          "name": "subscriptionOnly",
          "type": "boolean",
          "default": false
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "ecommerceProduct"
          ]
        }
      }
    },
    {
      "displayName": "Product ID",
      "name": "productId",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "delete"
          ],
          "resource": [
            "ecommerceProduct"
          ]
        }
      }
    },
    {
      "displayName": "Product ID",
      "name": "productId",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "get"
          ],
          "resource": [
            "ecommerceProduct"
          ]
        }
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "ecommerceProduct"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "ecommerceProduct"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 200
      }
    },
    {
      "displayName": "Filters",
      "name": "filters",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Active",
          "name": "active",
          "type": "boolean",
          "default": false
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "ecommerceProduct"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "createRecord",
      "options": [
        {
          "name": "Create Record",
          "value": "createRecord",
          "description": "Create a record of an email sent to a contact",
          "action": "Create a record of an email sent"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Retrieve many sent emails",
          "action": "Get many emails"
        },
        {
          "name": "Send",
          "value": "send",
          "description": "Send Email",
          "action": "Send an email"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "email"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Sent To Address",
      "name": "sentToAddress",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "createRecord"
          ],
          "resource": [
            "email"
          ]
        }
      }
    },
    {
      "displayName": "Sent From Address",
      "name": "sentFromAddress",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "createRecord"
          ],
          "resource": [
            "email"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Clicked Date",
          "name": "clickedDate",
          "type": "dateTime",
          "default": ""
        },
        {
          "displayName": "Contact ID",
          "name": "contactId",
          "type": "number",
          "typeOptions": {
            "minValue": 0
          },
          "default": 0
        },
        {
          "displayName": "Headers",
          "name": "headers",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "HTML Content",
          "name": "htmlContent",
          "type": "string",
          "default": "",
          "description": "Base64 encoded HTML"
        },
        {
          "displayName": "Opened Date",
          "name": "openedDate",
          "type": "dateTime",
          "default": ""
        },
        {
          "displayName": "Original Provider",
          "name": "originalProvider",
          "type": "options",
          "options": [
            {
              "name": "Unknown",
              "value": "UNKNOWN"
            },
            {
              "name": "Infusionsoft",
              "value": "INFUSIONSOFT"
            },
            {
              "name": "Microsoft",
              "value": "MICROSOFT"
            },
            {
              "name": "Google",
              "value": "GOOGLE"
            }
          ],
          "default": "UNKNOWN",
          "description": "Provider that sent the email case insensitive, must be in list"
        },
        {
          "displayName": "Original Provider ID",
          "name": "originalProviderId",
          "type": "string",
          "default": "",
          "description": "Provider ID that sent the email, must be unique when combined with provider. If omitted a UUID without dashes is autogenerated for the record."
        },
        {
          "displayName": "Plain Content",
          "name": "plainContent",
          "type": "string",
          "default": "",
          "description": "Base64 encoded text"
        },
        {
          "displayName": "Provider Source ID",
          "name": "providerSourceId",
          "type": "string",
          "default": "The email address of the synced email account that generated this message."
        },
        {
          "displayName": "Received Date",
          "name": "receivedDate",
          "type": "dateTime",
          "default": ""
        },
        {
          "displayName": "Sent Date",
          "name": "sentDate",
          "type": "dateTime",
          "default": ""
        },
        {
          "displayName": "Sent From Reply Address",
          "name": "sentFromReplyAddress",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Sent To Bcc Addresses",
          "name": "sentToBccAddresses",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Sent To CC Addresses",
          "name": "sentToCCAddresses",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Subject",
          "name": "subject",
          "type": "string",
          "default": ""
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "createRecord"
          ],
          "resource": [
            "email"
          ]
        }
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "email"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "email"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 200
      }
    },
    {
      "displayName": "Filters",
      "name": "filters",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Contact ID",
          "name": "contactId",
          "type": "number",
          "typeOptions": {
            "minValue": 0
          },
          "default": 0
        },
        {
          "displayName": "Email",
          "name": "email",
          "type": "string",
          "placeholder": "name@email.com",
          "default": ""
        },
        {
          "displayName": "Since Sent Date",
          "name": "sinceSentDate",
          "type": "dateTime",
          "default": "",
          "description": "Emails sent since the provided date, must be present if untilDate is provided"
        },
        {
          "displayName": "Until Sent Date",
          "name": "untilSentDate",
          "type": "dateTime",
          "default": "",
          "description": "Email sent until the provided date"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "email"
          ]
        }
      }
    },
    {
      "displayName": "User Name or ID",
      "name": "userId",
      "type": "options",
      "default": "",
      "description": "The infusionsoft user to send the email on behalf of. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "send"
          ],
          "resource": [
            "email"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getUsers"
      }
    },
    {
      "displayName": "Contact IDs",
      "name": "contactIds",
      "type": "string",
      "default": "",
      "description": "Contact IDs to receive the email. Multiple can be added seperated by comma.",
      "displayOptions": {
        "show": {
          "operation": [
            "send"
          ],
          "resource": [
            "email"
          ]
        }
      }
    },
    {
      "displayName": "Subject",
      "name": "subject",
      "type": "string",
      "default": "",
      "description": "The subject line of the email",
      "displayOptions": {
        "show": {
          "operation": [
            "send"
          ],
          "resource": [
            "email"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Address Field",
          "name": "addressField",
          "type": "string",
          "default": "",
          "description": "Email field of each Contact record to address the email to, such as 'EmailAddress1', 'EmailAddress2', 'EmailAddress3', defaulting to the contact's primary email"
        },
        {
          "displayName": "HTML Content",
          "name": "htmlContent",
          "type": "string",
          "default": "",
          "description": "The HTML-formatted content of the email, encoded in Base64"
        },
        {
          "displayName": "Plain Content",
          "name": "plainContent",
          "type": "string",
          "default": "",
          "description": "The plain-text content of the email, encoded in Base64"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "send"
          ],
          "resource": [
            "email"
          ]
        }
      }
    },
    {
      "displayName": "Attachments",
      "name": "attachmentsUi",
      "type": "fixedCollection",
      "default": {},
      "description": "Attachments to be sent with each copy of the email, maximum of 10 with size of 1MB each",
      "options": [
        {
          "name": "attachmentsValues",
          "displayName": "Attachments Values",
          "values": [
            {
              "displayName": "File Data",
              "name": "fileData",
              "type": "string",
              "default": "",
              "description": "The content of the attachment, encoded in Base64"
            },
            {
              "displayName": "File Name",
              "name": "fileName",
              "type": "string",
              "default": "",
              "description": "The filename of the attached file, including extension"
            }
          ]
        },
        {
          "name": "attachmentsBinary",
          "displayName": "Attachments Binary",
          "values": [
            {
              "displayName": "Property",
              "name": "property",
              "type": "string",
              "default": "",
              "description": "Name of the binary properties which contain data which should be added to email as attachment"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "send"
          ],
          "resource": [
            "email"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "delete",
      "options": [
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a file",
          "action": "Delete a file"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Retrieve many files",
          "action": "Get many files"
        },
        {
          "name": "Upload",
          "value": "upload",
          "description": "Upload a file",
          "action": "Upload a file"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Binary File",
      "name": "binaryData",
      "type": "boolean",
      "default": false,
      "description": "Whether the data to upload should be taken from binary field",
      "displayOptions": {
        "show": {
          "operation": [
            "upload"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Input Binary Field",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "upload"
          ],
          "resource": [
            "file"
          ],
          "binaryData": [
            true
          ]
        }
      }
    },
    {
      "displayName": "File Association",
      "name": "fileAssociation",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "Company",
          "value": "company"
        },
        {
          "name": "Contact",
          "value": "contact"
        },
        {
          "name": "User",
          "value": "user"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "upload"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Contact ID",
      "name": "contactId",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "upload"
          ],
          "resource": [
            "file"
          ],
          "fileAssociation": [
            "contact"
          ]
        }
      }
    },
    {
      "displayName": "File Name",
      "name": "fileName",
      "type": "string",
      "default": "",
      "description": "The filename of the attached file, including extension",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "upload"
          ],
          "resource": [
            "file"
          ],
          "binaryData": [
            false
          ]
        }
      }
    },
    {
      "displayName": "File Data",
      "name": "fileData",
      "type": "string",
      "default": "",
      "description": "The content of the attachment, encoded in Base64",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "upload"
          ],
          "resource": [
            "file"
          ],
          "binaryData": [
            false
          ]
        }
      }
    },
    {
      "displayName": "Is Public",
      "name": "isPublic",
      "type": "boolean",
      "default": false,
      "displayOptions": {
        "show": {
          "operation": [
            "upload"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "File ID",
      "name": "fileId",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "delete"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "file"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 200
      }
    },
    {
      "displayName": "Filters",
      "name": "filters",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Contact ID",
          "name": "contactId",
          "type": "number",
          "typeOptions": {
            "minValue": 0
          },
          "default": 0,
          "description": "Filter based on Contact ID, if user has permission to see Contact files"
        },
        {
          "displayName": "Name",
          "name": "name",
          "type": "string",
          "default": "",
          "description": "Filter files based on name, with '*' preceding or following to indicate LIKE queries"
        },
        {
          "displayName": "Permission",
          "name": "permission",
          "type": "options",
          "options": [
            {
              "name": "User",
              "value": "user"
            },
            {
              "name": "Company",
              "value": "company"
            },
            {
              "name": "Both",
              "value": "both"
            }
          ],
          "default": "both",
          "description": "Filter based on the permission of files"
        },
        {
          "displayName": "Type",
          "name": "type",
          "type": "options",
          "options": [
            {
              "name": "Application",
              "value": "application"
            },
            {
              "name": "Attachment",
              "value": "attachment"
            },
            {
              "name": "Contact",
              "value": "contact"
            },
            {
              "name": "Digital Product",
              "value": "digitalProduct"
            },
            {
              "name": "Fax",
              "value": "fax"
            },
            {
              "name": "Funnel",
              "value": "funnel"
            },
            {
              "name": "Hidden",
              "value": "hidden"
            },
            {
              "name": "Image",
              "value": "image"
            },
            {
              "name": "Import",
              "value": "import"
            },
            {
              "name": "Logo Thumnail",
              "value": "logoThumnail"
            },
            {
              "name": "Re Sampled Image",
              "value": "reSampledImage"
            },
            {
              "name": "Style Cart",
              "value": "styleCart"
            },
            {
              "name": "Template Thumnail",
              "value": "templateThumnail"
            },
            {
              "name": "Ticket",
              "value": "ticket"
            },
            {
              "name": "Webform",
              "value": "webform"
            }
          ],
          "default": "",
          "description": "Filter based on the type of file"
        },
        {
          "displayName": "Viewable",
          "name": "viewable",
          "type": "options",
          "options": [
            {
              "name": "Public",
              "value": "public"
            },
            {
              "name": "Private",
              "value": "private"
            },
            {
              "name": "Both",
              "value": "both"
            }
          ],
          "default": "both",
          "description": "Include public or private files in response"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "file"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "create",
      "name": "Create",
      "description": "Create a company"
    },
    {
      "operation": "getAll",
      "name": "Get Many",
      "description": "Retrieve many companies"
    }
  ]


node_type: nodes-base.keap
package_name: n8n-nodes-base
display_name: Keap
description: Consume Keap API
category: input
development_style: programmatic
version: 1
credentials_required:
  [
  {
  "name": "keapOAuth2Api",
  "required": true
  }
  ]

outputs:
  [
  "main"
  ]

updated_at: 2026-03-18 15:15:48
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Keap node documentation
  description: Learn how to use the Keap node in n8n. Follow technical documentation to integrate Keap node into your workflows.
  contentType: [integration, reference]
  ---

  # Keap node

  Use the Keap node to automate work in Keap, and integrate Keap with other applications. n8n has built-in support for a wide range of Keap features, including creating, updating, deleting, and getting companies, products, ecommerce orders, emails, and files. 

  On this page, you'll find a list of operations the Keap node supports and links to more resources.

  /// note | Credentials
  Refer to [Keap credentials](/integrations/builtin/credentials/keap.md) for guidance on setting up authentication. 
  ///

  ## Operations

  * Company
      * Create a company
      * Retrieve all companies
  * Contact
      * Create/update a contact
      * Delete an contact
      * Retrieve an contact
      * Retrieve all contacts
  * Contact Note
      * Create a note
      * Delete a note
      * Get a notes
      * Retrieve all notes
      * Update a note
  * Contact Tag
      * Add a list of tags to a contact
      * Delete a contact's tag
      * Retrieve all contact's tags
  * Ecommerce Order
      * Create an ecommerce order
      * Get an ecommerce order
      * Delete an ecommerce order
      * Retrieve all ecommerce orders
  * Ecommerce Product
      * Create an ecommerce product
      * Delete an ecommerce product
      * Get an ecommerce product
      * Retrieve all ecommerce product
  * Email
      * Create a record of an email sent to a contact
      * Retrieve all sent emails
      * Send Email
  * File
      * Delete a file
      * Retrieve all files
      * Upload a file

  ## Templates and examples

  <!-- see https://www.notion.so/n8n/Pull-in-templates-for-the-integrations-pages-37c716837b804d30a33b47475f6e3780 -->
  [[ templatesWidget(page.title, 'keap') ]]

  --8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"

properties_schema:
  [
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "company",
      "options": [
        {
          "name": "Company",
          "value": "company"
        },
        {
          "name": "Contact",
          "value": "contact"
        },
        {
          "name": "Contact Note",
          "value": "contactNote"
        },
        {
          "name": "Contact Tag",
          "value": "contactTag"
        },
        {
          "name": "Ecommerce Order",
          "value": "ecommerceOrder"
        },
        {
          "name": "Ecommerce Product",
          "value": "ecommerceProduct"
        },
        {
          "name": "Email",
          "value": "email"
        },
        {
          "name": "File",
          "value": "file"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a company",
          "action": "Create a company"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Retrieve many companies",
          "action": "Get many companies"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "company"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Company Name",
      "name": "companyName",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "company"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Email",
          "name": "emailAddress",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Notes",
          "name": "notes",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Opt In Reason",
          "name": "optInReason",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Website",
          "name": "website",
          "type": "string",
          "default": ""
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "company"
          ]
        }
      }
    },
    {
      "displayName": "Addresses",
      "name": "addressesUi",
      "type": "fixedCollection",
      "default": {},
      "options": [
        {
          "name": "addressesValues",
          "displayName": "Address",
          "values": [
            {
              "displayName": "Country Code",
              "name": "countryCode",
              "type": "string",
              "default": "",
              "description": "ISO Alpha-3 Code"
            },
            {
              "displayName": "Line 1",
              "name": "line1",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Line 2",
              "name": "line2",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Locality",
              "name": "locality",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Postal Code",
              "name": "postalCode",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Region",
              "name": "region",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Zip Code",
              "name": "zipCode",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Zip Four",
              "name": "zipFour",
              "type": "string",
              "default": ""
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "company"
          ],
          "operation": [
            "create"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": false
      }
    },
    {
      "displayName": "Faxes",
      "name": "faxesUi",
      "type": "fixedCollection",
      "default": {},
      "options": [
        {
          "name": "faxesValues",
          "displayName": "Fax",
          "values": [
            {
              "displayName": "Type",
              "name": "type",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Number",
              "name": "number",
              "type": "string",
              "default": ""
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "company"
          ],
          "operation": [
            "create"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": false
      }
    },
    {
      "displayName": "Phones",
      "name": "phonesUi",
      "type": "fixedCollection",
      "default": {},
      "options": [
        {
          "name": "phonesValues",
          "displayName": "Phones",
          "values": [
            {
              "displayName": "Type",
              "name": "type",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Number",
              "name": "number",
              "type": "string",
              "default": ""
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "company"
          ],
          "operation": [
            "create"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "company"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "company"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 200
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Company Name",
          "name": "companyName",
          "type": "string",
          "default": "",
          "description": "Company name to query on"
        },
        {
          "displayName": "Order",
          "name": "order",
          "type": "options",
          "options": [
            {
              "name": "Date Created",
              "value": "datecreated"
            },
            {
              "name": "ID",
              "value": "id"
            },
            {
              "name": "Name",
              "value": "name"
            }
          ],
          "default": "",
          "description": "Attribute to order items by"
        },
        {
          "displayName": "Order Direction",
          "name": "orderDirection",
          "type": "options",
          "options": [
            {
              "name": "ASC",
              "value": "ascending"
            },
            {
              "name": "DES",
              "value": "descending"
            }
          ],
          "default": ""
        },
        {
          "displayName": "Fields",
          "name": "fields",
          "type": "string",
          "default": "",
          "description": "Comma-delimited list of Company properties to include in the response. (Fields such as notes, fax_number and custom_fields aren't included, by default.)."
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "company"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "upsert",
      "options": [
        {
          "name": "Create or Update",
          "value": "upsert",
          "description": "Create a new contact, or update the current one if it already exists (upsert)",
          "action": "Create or update a contact"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete an contact",
          "action": "Delete a contact"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Retrieve an contact",
          "action": "Get a contact"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Retrieve many contacts",
          "action": "Get many contacts"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Duplicate Option",
      "name": "duplicateOption",
      "type": "options",
      "default": "email",
      "description": "Performs duplicate checking by one of the following options: Email, EmailAndName. If a match is found using the option provided, the existing contact will be updated.",
      "options": [
        {
          "name": "Email",
          "value": "email"
        },
        {
          "name": "Email And Name",
          "value": "emailAndName"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "upsert"
          ],
          "resource": [
            "contact"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Anniversary",
          "name": "anniversary",
          "type": "dateTime",
          "default": ""
        },
        {
          "displayName": "Company ID",
          "name": "companyId",
          "type": "number",
          "typeOptions": {
            "minValue": 0
          },
          "default": 0
        },
        {
          "displayName": "Contact Type Name or ID",
          "name": "contactType",
          "type": "options",
          "description": "Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
          "typeOptions": {
            "loadOptionsMethod": "getContactTypes"
          },
          "default": ""
        },
        {
          "displayName": "Family Name",
          "name": "familyName",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Given Name",
          "name": "givenName",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "IP Address",
          "name": "ipAddress",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Job Title",
          "name": "jobTitle",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Lead Source ID",
          "name": "leadSourceId",
          "type": "number",
          "default": 0
        },
        {
          "displayName": "Middle Name",
          "name": "middleName",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Opt In Reason",
          "name": "optInReason",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Owner Name or ID",
          "name": "ownerId",
          "type": "options",
          "description": "Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
          "typeOptions": {
            "loadOptionsMethod": "getUsers"
          },
          "default": ""
        },
        {
          "displayName": "Preferred Locale",
          "name": "preferredLocale",
          "type": "string",
          "placeholder": "en",
          "default": ""
        },
        {
          "displayName": "Preferred Name",
          "name": "preferredName",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Source Type",
          "name": "sourceType",
          "type": "options",
          "options": [
            {
              "name": "API",
              "value": "API"
            },
            {
              "name": "Import",
              "value": "IMPORT"
            },
            {
              "name": "Landing Page",
              "value": "LANDINGPAGE"
            },
            {
              "name": "Manual",
              "value": "MANUAL"
            },
            {
              "name": "Other",
              "value": "OTHER"
            },
            {
              "name": "Unknown",
              "value": "UNKNOWN"
            }
          ],
          "default": ""
        },
        {
          "displayName": "Spouse Name",
          "name": "spouseName",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Timezone Name or ID",
          "name": "timezone",
          "type": "options",
          "description": "Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
          "typeOptions": {
            "loadOptionsMethod": "getTimezones"
          },
          "default": ""
        },
        {
          "displayName": "Website",
          "name": "website",
          "type": "string",
          "default": ""
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "upsert"
          ],
          "resource": [
            "contact"
          ]
        }
      }
    },
    {
      "displayName": "Addresses",
      "name": "addressesUi",
      "type": "fixedCollection",
      "default": {},
      "options": [
        {
          "name": "addressesValues",
          "displayName": "Address",
          "values": [
            {
              "displayName": "Field",
              "name": "field",
              "type": "options",
              "options": [
                {
                  "name": "Billing",
                  "value": "BILLING"
                },
                {
                  "name": "Shipping",
                  "value": "SHIPPING"
                },
                {
                  "name": "Other",
                  "value": "OTHER"
                }
              ],
              "default": ""
            },
            {
              "displayName": "Country Code Name or ID",
              "name": "countryCode",
              "type": "options",
              "description": "Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
              "typeOptions": {
                "loadOptionsMethod": "getCountries"
              },
              "default": ""
            },
            {
              "displayName": "Line 1",
              "name": "line1",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Line 2",
              "name": "line2",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Locality",
              "name": "locality",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Postal Code",
              "name": "postalCode",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Region",
              "name": "region",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Zip Code",
              "name": "zipCode",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Zip Four",
              "name": "zipFour",
              "type": "string",
              "default": ""
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ],
          "operation": [
            "upsert"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true
      }
    },
    {
      "displayName": "Emails",
      "name": "emailsUi",
      "type": "fixedCollection",
      "default": {},
      "options": [
        {
          "name": "emailsValues",
          "displayName": "Email",
          "values": [
            {
              "displayName": "Field",
              "name": "field",
              "type": "options",
              "options": [
                {
                  "name": "Email 1",
                  "value": "EMAIL1"
                },
                {
                  "name": "Email 2",
                  "value": "EMAIL2"
                },
                {
                  "name": "Email 3",
                  "value": "EMAIL3"
                }
              ],
              "default": ""
            },
            {
              "displayName": "Email",
              "name": "email",
              "type": "string",
              "placeholder": "name@email.com",
              "default": ""
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ],
          "operation": [
            "upsert"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true
      }
    },
    {
      "displayName": "Faxes",
      "name": "faxesUi",
      "type": "fixedCollection",
      "default": {},
      "options": [
        {
          "name": "faxesValues",
          "displayName": "Fax",
          "values": [
            {
              "displayName": "Field",
              "name": "field",
              "type": "options",
              "options": [
                {
                  "name": "Fax 1",
                  "value": "FAX1"
                },
                {
                  "name": "Fax 2",
                  "value": "FAX2"
                }
              ],
              "default": ""
            },
            {
              "displayName": "Number",
              "name": "number",
              "type": "string",
              "default": ""
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ],
          "operation": [
            "upsert"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true
      }
    },
    {
      "displayName": "Phones",
      "name": "phonesUi",
      "type": "fixedCollection",
      "default": {},
      "options": [
        {
          "name": "phonesValues",
          "displayName": "Phones",
          "values": [
            {
              "displayName": "Field",
              "name": "field",
              "type": "options",
              "options": [
                {
                  "name": "Phone 1",
                  "value": "PHONE1"
                },
                {
                  "name": "Phone 2",
                  "value": "PHONE2"
                },
                {
                  "name": "Phone 3",
                  "value": "PHONE3"
                },
                {
                  "name": "Phone 4",
                  "value": "PHONE4"
                },
                {
                  "name": "Phone 5",
                  "value": "PHONE5"
                }
              ],
              "default": ""
            },
            {
              "displayName": "Number",
              "name": "number",
              "type": "string",
              "default": ""
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ],
          "operation": [
            "upsert"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true
      }
    },
    {
      "displayName": "Social Accounts",
      "name": "socialAccountsUi",
      "type": "fixedCollection",
      "default": {},
      "options": [
        {
          "name": "socialAccountsValues",
          "displayName": "Social Account",
          "values": [
            {
              "displayName": "Type",
              "name": "type",
              "type": "options",
              "options": [
                {
                  "name": "Facebook",
                  "value": "Facebook"
                },
                {
                  "name": "Twitter",
                  "value": "Twitter"
                },
                {
                  "name": "LinkedIn",
                  "value": "LinkedIn"
                }
              ],
              "default": ""
            },
            {
              "displayName": "Name",
              "name": "name",
              "type": "string",
              "default": ""
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ],
          "operation": [
            "upsert"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true
      }
    },
    {
      "displayName": "Contact ID",
      "name": "contactId",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "delete"
          ],
          "resource": [
            "contact"
          ]
        }
      }
    },
    {
      "displayName": "Contact ID",
      "name": "contactId",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "get"
          ],
          "resource": [
            "contact"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Fields",
          "name": "fields",
          "type": "string",
          "default": "",
          "description": "Comma-delimited list of Contact properties to include in the response. (Some fields such as lead_source_id, custom_fields, and job_title aren't included, by default.)."
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "get"
          ],
          "resource": [
            "contact"
          ]
        }
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "contact"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "contact"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 200
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Email",
          "name": "email",
          "type": "string",
          "placeholder": "name@email.com",
          "default": ""
        },
        {
          "displayName": "Given Name",
          "name": "givenName",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Family Name",
          "name": "familyName",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Order",
          "name": "order",
          "type": "options",
          "options": [
            {
              "name": "Date",
              "value": "date"
            },
            {
              "name": "Email",
              "value": "email"
            },
            {
              "name": "ID",
              "value": "id"
            },
            {
              "name": "Name",
              "value": "name"
            }
          ],
          "default": "",
          "description": "Attribute to order items by"
        },
        {
          "displayName": "Order Direction",
          "name": "orderDirection",
          "type": "options",
          "options": [
            {
              "name": "ASC",
              "value": "ascending"
            },
            {
              "name": "DES",
              "value": "descending"
            }
          ],
          "default": ""
        },
        {
          "displayName": "Since",
          "name": "since",
          "type": "dateTime",
          "default": "",
          "description": "Date to start searching from on LastUpdated"
        },
        {
          "displayName": "Until",
          "name": "until",
          "type": "dateTime",
          "default": "",
          "description": "Date to search to on LastUpdated"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "contact"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a note",
          "action": "Create a contact note"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a note",
          "action": "Delete a contact note"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get a notes",
          "action": "Get a contact note"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Retrieve many notes",
          "action": "Get many contact notes"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update a note",
          "action": "Update a contact note"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "contactNote"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "User Name or ID",
      "name": "userId",
      "type": "options",
      "default": "",
      "description": "The infusionsoft user to create the note on behalf of. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "contactNote"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getUsers"
      }
    },
    {
      "displayName": "Contact ID",
      "name": "contactId",
      "type": "string",
      "default": "",
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "contactNote"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Body",
          "name": "body",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Title",
          "name": "title",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Type",
          "name": "type",
          "type": "options",
          "options": [
            {
              "name": "Appointment",
              "value": "appointment"
            },
            {
              "name": "Call",
              "value": "call"
            },
            {
              "name": "Email",
              "value": "email"
            },
            {
              "name": "Fax",
              "value": "fax"
            },
            {
              "name": "Letter",
              "value": "letter"
            },
            {
              "name": "Other",
              "value": "other"
            }
          ],
          "default": ""
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "contactNote"
          ]
        }
      }
    },
    {
      "displayName": "Note ID",
      "name": "noteId",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "delete"
          ],
          "resource": [
            "contactNote"
          ]
        }
      }
    },
    {
      "displayName": "Note ID",
      "name": "noteId",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "get"
          ],
          "resource": [
            "contactNote"
          ]
        }
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "contactNote"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "contactNote"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 200
      }
    },
    {
      "displayName": "Filters",
      "name": "filters",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Contact ID",
          "name": "contactId",
          "type": "number",
          "typeOptions": {
            "minValue": 0
          },
          "default": 0
        },
        {
          "displayName": "User Name or ID",
          "name": "userId",
          "type": "options",
          "description": "Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
          "typeOptions": {
            "loadOptionsMethod": "getUsers"
          },
          "default": ""
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "contactNote"
          ]
        }
      }
    },
    {
      "displayName": "Note ID",
      "name": "noteId",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "update"
          ],
          "resource": [
            "contactNote"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Body",
          "name": "body",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Contact ID",
          "name": "contactId",
          "type": "number",
          "typeOptions": {
            "minValue": 0
          },
          "default": 0
        },
        {
          "displayName": "Title",
          "name": "title",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Type",
          "name": "type",
          "type": "options",
          "options": [
            {
              "name": "Appointment",
              "value": "appointment"
            },
            {
              "name": "Call",
              "value": "call"
            },
            {
              "name": "Email",
              "value": "email"
            },
            {
              "name": "Fax",
              "value": "fax"
            },
            {
              "name": "Letter",
              "value": "letter"
            },
            {
              "name": "Other",
              "value": "other"
            }
          ],
          "default": ""
        },
        {
          "displayName": "User Name or ID",
          "name": "userId",
          "type": "options",
          "typeOptions": {
            "loadOptionsMethod": "getUsers"
          },
          "default": "",
          "description": "The infusionsoft user to create the note on behalf of. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "update"
          ],
          "resource": [
            "contactNote"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Add a list of tags to a contact",
          "action": "Create a contact tag"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a contact's tag",
          "action": "Delete a contact tag"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Retrieve many contact's tags",
          "action": "Get many contact tags"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "contactTag"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Contact ID",
      "name": "contactId",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "contactTag"
          ]
        }
      }
    },
    {
      "displayName": "Tag Names or IDs",
      "name": "tagIds",
      "type": "multiOptions",
      "default": [],
      "description": "Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "contactTag"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getTags"
      }
    },
    {
      "displayName": "Contact ID",
      "name": "contactId",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "delete"
          ],
          "resource": [
            "contactTag"
          ]
        }
      }
    },
    {
      "displayName": "Tag IDs",
      "name": "tagIds",
      "type": "string",
      "default": "Tag IDs, multiple IDs can be set separated by comma.",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "delete"
          ],
          "resource": [
            "contactTag"
          ]
        }
      }
    },
    {
      "displayName": "Contact ID",
      "name": "contactId",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "contactTag"
          ]
        }
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "contactTag"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "contactTag"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 200
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create an ecommerce order",
          "action": "Create an e-commerce order"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get an ecommerce order",
          "action": "Get an e-commerce order"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete an ecommerce order",
          "action": "Delete an e-commerce order"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Retrieve many ecommerce orders",
          "action": "Get many e-commerce orders"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "ecommerceOrder"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Contact ID",
      "name": "contactId",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "ecommerceOrder"
          ]
        }
      }
    },
    {
      "displayName": "Order Date",
      "name": "orderDate",
      "type": "dateTime",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "ecommerceOrder"
          ]
        }
      }
    },
    {
      "displayName": "Order Title",
      "name": "orderTitle",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "ecommerceOrder"
          ]
        }
      }
    },
    {
      "displayName": "Order Type",
      "name": "orderType",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "Offline",
          "value": "offline"
        },
        {
          "name": "Online",
          "value": "online"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "ecommerceOrder"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Lead Affiliate ID",
          "name": "leadAffiliateId",
          "type": "number",
          "typeOptions": {
            "minValue": 0
          },
          "default": 0
        },
        {
          "displayName": "Promo Codes",
          "name": "promoCodes",
          "type": "string",
          "default": "",
          "description": "Uses multiple strings separated by comma as promo codes. The corresponding discount will be applied to the order."
        },
        {
          "displayName": "Sales Affiliate ID",
          "name": "salesAffiliateId",
          "type": "number",
          "typeOptions": {
            "minValue": 0
          },
          "default": 0
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "ecommerceOrder"
          ]
        }
      }
    },
    {
      "displayName": "Shipping Address",
      "name": "addressUi",
      "type": "fixedCollection",
      "default": {},
      "options": [
        {
          "name": "addressValues",
          "displayName": "Address",
          "values": [
            {
              "displayName": "Company",
              "name": "company",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Country Code Name or ID",
              "name": "countryCode",
              "type": "options",
              "description": "Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
              "typeOptions": {
                "loadOptionsMethod": "getCountries"
              },
              "default": ""
            },
            {
              "displayName": "First Name",
              "name": "firstName",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Middle Name",
              "name": "middleName",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Last Name",
              "name": "lastName",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Line 1",
              "name": "line1",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Line 2",
              "name": "line2",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Locality",
              "name": "locality",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Region",
              "name": "region",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Zip Code",
              "name": "zipCode",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Zip Four",
              "name": "zipFour",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Phone",
              "name": "phone",
              "type": "string",
              "default": ""
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "ecommerceOrder"
          ],
          "operation": [
            "create"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": false
      }
    },
    {
      "displayName": "Order Items",
      "name": "orderItemsUi",
      "type": "fixedCollection",
      "default": {},
      "options": [
        {
          "name": "orderItemsValues",
          "displayName": "Order Item",
          "values": [
            {
              "displayName": "Description",
              "name": "description",
              "type": "string",
              "default": ""
            },
            {
              "displayName": "Price",
              "name": "price",
              "type": "number",
              "typeOptions": {
                "minValue": 0
              },
              "default": 0,
              "description": "Overridable price of the product, if not specified, the default will be used"
            },
            {
              "displayName": "Product ID",
              "name": "product ID",
              "type": "number",
              "typeOptions": {
                "minValue": 0
              },
              "default": 0
            },
            {
              "displayName": "Quantity",
              "name": "quantity",
              "type": "number",
              "typeOptions": {
                "minValue": 1
              },
              "default": 1
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "ecommerceOrder"
          ],
          "operation": [
            "create"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true
      }
    },
    {
      "displayName": "Order ID",
      "name": "orderId",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "delete"
          ],
          "resource": [
            "ecommerceOrder"
          ]
        }
      }
    },
    {
      "displayName": "Order ID",
      "name": "orderId",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "get"
          ],
          "resource": [
            "ecommerceOrder"
          ]
        }
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "ecommerceOrder"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "ecommerceOrder"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 200
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Since",
          "name": "since",
          "type": "dateTime",
          "default": "",
          "description": "Date to start searching from"
        },
        {
          "displayName": "Until",
          "name": "until",
          "type": "dateTime",
          "default": "",
          "description": "Date to search to"
        },
        {
          "displayName": "Paid",
          "name": "paid",
          "type": "boolean",
          "default": false
        },
        {
          "displayName": "Order",
          "name": "order",
          "type": "string",
          "default": "",
          "description": "Attribute to order items by"
        },
        {
          "displayName": "Contact ID",
          "name": "contactId",
          "type": "number",
          "typeOptions": {
            "minValue": 0
          },
          "default": 0
        },
        {
          "displayName": "Product ID",
          "name": "productId",
          "type": "number",
          "typeOptions": {
            "minValue": 0
          },
          "default": 0
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "ecommerceOrder"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create an ecommerce product",
          "action": "Create an e-commerce product"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete an ecommerce product",
          "action": "Delete an e-commerce product"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get an ecommerce product",
          "action": "Get an e-commerce product"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Retrieve many ecommerce products",
          "action": "Get many e-commerce products"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "ecommerceProduct"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Product Name",
      "name": "productName",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "ecommerceProduct"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Active",
          "name": "active",
          "type": "boolean",
          "default": false
        },
        {
          "displayName": "Product Description",
          "name": "productDesc",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Product Price",
          "name": "productPrice",
          "type": "number",
          "typeOptions": {
            "minValue": 0
          },
          "default": 0
        },
        {
          "displayName": "Product Short Desc",
          "name": "productShortDesc",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "SKU",
          "name": "sku",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Subscription Only",
          "name": "subscriptionOnly",
          "type": "boolean",
          "default": false
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "ecommerceProduct"
          ]
        }
      }
    },
    {
      "displayName": "Product ID",
      "name": "productId",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "delete"
          ],
          "resource": [
            "ecommerceProduct"
          ]
        }
      }
    },
    {
      "displayName": "Product ID",
      "name": "productId",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "get"
          ],
          "resource": [
            "ecommerceProduct"
          ]
        }
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "ecommerceProduct"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "ecommerceProduct"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 200
      }
    },
    {
      "displayName": "Filters",
      "name": "filters",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Active",
          "name": "active",
          "type": "boolean",
          "default": false
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "ecommerceProduct"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "createRecord",
      "options": [
        {
          "name": "Create Record",
          "value": "createRecord",
          "description": "Create a record of an email sent to a contact",
          "action": "Create a record of an email sent"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Retrieve many sent emails",
          "action": "Get many emails"
        },
        {
          "name": "Send",
          "value": "send",
          "description": "Send Email",
          "action": "Send an email"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "email"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Sent To Address",
      "name": "sentToAddress",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "createRecord"
          ],
          "resource": [
            "email"
          ]
        }
      }
    },
    {
      "displayName": "Sent From Address",
      "name": "sentFromAddress",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "createRecord"
          ],
          "resource": [
            "email"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Clicked Date",
          "name": "clickedDate",
          "type": "dateTime",
          "default": ""
        },
        {
          "displayName": "Contact ID",
          "name": "contactId",
          "type": "number",
          "typeOptions": {
            "minValue": 0
          },
          "default": 0
        },
        {
          "displayName": "Headers",
          "name": "headers",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "HTML Content",
          "name": "htmlContent",
          "type": "string",
          "default": "",
          "description": "Base64 encoded HTML"
        },
        {
          "displayName": "Opened Date",
          "name": "openedDate",
          "type": "dateTime",
          "default": ""
        },
        {
          "displayName": "Original Provider",
          "name": "originalProvider",
          "type": "options",
          "options": [
            {
              "name": "Unknown",
              "value": "UNKNOWN"
            },
            {
              "name": "Infusionsoft",
              "value": "INFUSIONSOFT"
            },
            {
              "name": "Microsoft",
              "value": "MICROSOFT"
            },
            {
              "name": "Google",
              "value": "GOOGLE"
            }
          ],
          "default": "UNKNOWN",
          "description": "Provider that sent the email case insensitive, must be in list"
        },
        {
          "displayName": "Original Provider ID",
          "name": "originalProviderId",
          "type": "string",
          "default": "",
          "description": "Provider ID that sent the email, must be unique when combined with provider. If omitted a UUID without dashes is autogenerated for the record."
        },
        {
          "displayName": "Plain Content",
          "name": "plainContent",
          "type": "string",
          "default": "",
          "description": "Base64 encoded text"
        },
        {
          "displayName": "Provider Source ID",
          "name": "providerSourceId",
          "type": "string",
          "default": "The email address of the synced email account that generated this message."
        },
        {
          "displayName": "Received Date",
          "name": "receivedDate",
          "type": "dateTime",
          "default": ""
        },
        {
          "displayName": "Sent Date",
          "name": "sentDate",
          "type": "dateTime",
          "default": ""
        },
        {
          "displayName": "Sent From Reply Address",
          "name": "sentFromReplyAddress",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Sent To Bcc Addresses",
          "name": "sentToBccAddresses",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Sent To CC Addresses",
          "name": "sentToCCAddresses",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Subject",
          "name": "subject",
          "type": "string",
          "default": ""
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "createRecord"
          ],
          "resource": [
            "email"
          ]
        }
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "email"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "email"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 200
      }
    },
    {
      "displayName": "Filters",
      "name": "filters",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Contact ID",
          "name": "contactId",
          "type": "number",
          "typeOptions": {
            "minValue": 0
          },
          "default": 0
        },
        {
          "displayName": "Email",
          "name": "email",
          "type": "string",
          "placeholder": "name@email.com",
          "default": ""
        },
        {
          "displayName": "Since Sent Date",
          "name": "sinceSentDate",
          "type": "dateTime",
          "default": "",
          "description": "Emails sent since the provided date, must be present if untilDate is provided"
        },
        {
          "displayName": "Until Sent Date",
          "name": "untilSentDate",
          "type": "dateTime",
          "default": "",
          "description": "Email sent until the provided date"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "email"
          ]
        }
      }
    },
    {
      "displayName": "User Name or ID",
      "name": "userId",
      "type": "options",
      "default": "",
      "description": "The infusionsoft user to send the email on behalf of. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "send"
          ],
          "resource": [
            "email"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getUsers"
      }
    },
    {
      "displayName": "Contact IDs",
      "name": "contactIds",
      "type": "string",
      "default": "",
      "description": "Contact IDs to receive the email. Multiple can be added seperated by comma.",
      "displayOptions": {
        "show": {
          "operation": [
            "send"
          ],
          "resource": [
            "email"
          ]
        }
      }
    },
    {
      "displayName": "Subject",
      "name": "subject",
      "type": "string",
      "default": "",
      "description": "The subject line of the email",
      "displayOptions": {
        "show": {
          "operation": [
            "send"
          ],
          "resource": [
            "email"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Address Field",
          "name": "addressField",
          "type": "string",
          "default": "",
          "description": "Email field of each Contact record to address the email to, such as 'EmailAddress1', 'EmailAddress2', 'EmailAddress3', defaulting to the contact's primary email"
        },
        {
          "displayName": "HTML Content",
          "name": "htmlContent",
          "type": "string",
          "default": "",
          "description": "The HTML-formatted content of the email, encoded in Base64"
        },
        {
          "displayName": "Plain Content",
          "name": "plainContent",
          "type": "string",
          "default": "",
          "description": "The plain-text content of the email, encoded in Base64"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "send"
          ],
          "resource": [
            "email"
          ]
        }
      }
    },
    {
      "displayName": "Attachments",
      "name": "attachmentsUi",
      "type": "fixedCollection",
      "default": {},
      "description": "Attachments to be sent with each copy of the email, maximum of 10 with size of 1MB each",
      "options": [
        {
          "name": "attachmentsValues",
          "displayName": "Attachments Values",
          "values": [
            {
              "displayName": "File Data",
              "name": "fileData",
              "type": "string",
              "default": "",
              "description": "The content of the attachment, encoded in Base64"
            },
            {
              "displayName": "File Name",
              "name": "fileName",
              "type": "string",
              "default": "",
              "description": "The filename of the attached file, including extension"
            }
          ]
        },
        {
          "name": "attachmentsBinary",
          "displayName": "Attachments Binary",
          "values": [
            {
              "displayName": "Property",
              "name": "property",
              "type": "string",
              "default": "",
              "description": "Name of the binary properties which contain data which should be added to email as attachment"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "send"
          ],
          "resource": [
            "email"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "delete",
      "options": [
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a file",
          "action": "Delete a file"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Retrieve many files",
          "action": "Get many files"
        },
        {
          "name": "Upload",
          "value": "upload",
          "description": "Upload a file",
          "action": "Upload a file"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Binary File",
      "name": "binaryData",
      "type": "boolean",
      "default": false,
      "description": "Whether the data to upload should be taken from binary field",
      "displayOptions": {
        "show": {
          "operation": [
            "upload"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Input Binary Field",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "upload"
          ],
          "resource": [
            "file"
          ],
          "binaryData": [
            true
          ]
        }
      }
    },
    {
      "displayName": "File Association",
      "name": "fileAssociation",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "Company",
          "value": "company"
        },
        {
          "name": "Contact",
          "value": "contact"
        },
        {
          "name": "User",
          "value": "user"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "upload"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Contact ID",
      "name": "contactId",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "upload"
          ],
          "resource": [
            "file"
          ],
          "fileAssociation": [
            "contact"
          ]
        }
      }
    },
    {
      "displayName": "File Name",
      "name": "fileName",
      "type": "string",
      "default": "",
      "description": "The filename of the attached file, including extension",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "upload"
          ],
          "resource": [
            "file"
          ],
          "binaryData": [
            false
          ]
        }
      }
    },
    {
      "displayName": "File Data",
      "name": "fileData",
      "type": "string",
      "default": "",
      "description": "The content of the attachment, encoded in Base64",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "upload"
          ],
          "resource": [
            "file"
          ],
          "binaryData": [
            false
          ]
        }
      }
    },
    {
      "displayName": "Is Public",
      "name": "isPublic",
      "type": "boolean",
      "default": false,
      "displayOptions": {
        "show": {
          "operation": [
            "upload"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "File ID",
      "name": "fileId",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "delete"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "file"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 200
      }
    },
    {
      "displayName": "Filters",
      "name": "filters",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Contact ID",
          "name": "contactId",
          "type": "number",
          "typeOptions": {
            "minValue": 0
          },
          "default": 0,
          "description": "Filter based on Contact ID, if user has permission to see Contact files"
        },
        {
          "displayName": "Name",
          "name": "name",
          "type": "string",
          "default": "",
          "description": "Filter files based on name, with '*' preceding or following to indicate LIKE queries"
        },
        {
          "displayName": "Permission",
          "name": "permission",
          "type": "options",
          "options": [
            {
              "name": "User",
              "value": "user"
            },
            {
              "name": "Company",
              "value": "company"
            },
            {
              "name": "Both",
              "value": "both"
            }
          ],
          "default": "both",
          "description": "Filter based on the permission of files"
        },
        {
          "displayName": "Type",
          "name": "type",
          "type": "options",
          "options": [
            {
              "name": "Application",
              "value": "application"
            },
            {
              "name": "Attachment",
              "value": "attachment"
            },
            {
              "name": "Contact",
              "value": "contact"
            },
            {
              "name": "Digital Product",
              "value": "digitalProduct"
            },
            {
              "name": "Fax",
              "value": "fax"
            },
            {
              "name": "Funnel",
              "value": "funnel"
            },
            {
              "name": "Hidden",
              "value": "hidden"
            },
            {
              "name": "Image",
              "value": "image"
            },
            {
              "name": "Import",
              "value": "import"
            },
            {
              "name": "Logo Thumnail",
              "value": "logoThumnail"
            },
            {
              "name": "Re Sampled Image",
              "value": "reSampledImage"
            },
            {
              "name": "Style Cart",
              "value": "styleCart"
            },
            {
              "name": "Template Thumnail",
              "value": "templateThumnail"
            },
            {
              "name": "Ticket",
              "value": "ticket"
            },
            {
              "name": "Webform",
              "value": "webform"
            }
          ],
          "default": "",
          "description": "Filter based on the type of file"
        },
        {
          "displayName": "Viewable",
          "name": "viewable",
          "type": "options",
          "options": [
            {
              "name": "Public",
              "value": "public"
            },
            {
              "name": "Private",
              "value": "private"
            },
            {
              "name": "Both",
              "value": "both"
            }
          ],
          "default": "both",
          "description": "Include public or private files in response"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "file"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "create",
      "name": "Create",
      "description": "Create a company"
    },
    {
      "operation": "getAll",
      "name": "Get Many",
      "description": "Retrieve many companies"
    }
  ]


node_type: nodes-base.keapTrigger
package_name: n8n-nodes-base
display_name: Keap Trigger
description: Starts the workflow when Infusionsoft events occur
category: trigger
development_style: programmatic
version: 1
operations: []
credentials_required:
  [
  {
  "name": "keapOAuth2Api",
  "required": true
  }
  ]

outputs:
  [
  "main"
  ]

updated_at: 2026-03-18 15:15:48
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Keap Trigger node documentation
  description: Learn how to use the Keap Trigger node in n8n. Follow technical documentation to integrate Keap Trigger node into your workflows.
  contentType: [integration, reference]
  ---

  # Keap Trigger node

  [Keap](https://keap.com/){:target=_blank .external-link} is an e-mail marketing and sales platform for small businesses, including products to manage and optimize the customer lifecycle, customer relationship management, marketing automation, lead capture, and e-commerce.

  /// note | Credentials
  You can find authentication information for this node [here](/integrations/builtin/credentials/keap.md).
  ///

  ///  note  | Examples and templates
  For usage examples and templates to help you get started, refer to n8n's [Keap Trigger integrations](https://n8n.io/integrations/keap-trigger/){:target=_blank .external-link} page.
  ///

properties_schema:
  [
    {
      "displayName": "Event Name or ID",
      "name": "eventId",
      "type": "options",
      "default": "",
      "description": "Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
      "required": true,
      "typeOptions": {
        "loadOptionsMethod": "getEvents"
      }
    },
    {
      "displayName": "RAW Data",
      "name": "rawData",
      "type": "boolean",
      "default": false,
      "description": "Whether to return the data exactly in the way it got received from the API"
    }
  ]


node_type: nodes-base.koBoToolboxTool
package_name: n8n-nodes-base
display_name: KoBoToolbox Tool
description: Work with KoBoToolbox forms and submissions (AI Tool variant for use with AI Agents)
category: transform
development_style: programmatic
version: 1
credentials_required:
  [
  {
  "name": "koBoToolboxApi",
  "required": true
  }
  ]

outputs:
  [
  {
  "type": "ai_tool",
  "displayName": "Tool"
  }
  ]

output_names:
  [
  "Tool"
  ]

updated_at: 2026-03-18 15:15:48
tool_variant_of: nodes-base.koBoToolbox
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: KoboToolbox node documentation
  description: Learn how to use the KoboToolbox node in n8n. Follow technical documentation to integrate KoboToolbox node into your workflows.
  contentType: [integration, reference]
  ---

  # KoboToolbox node

  Use the KoboToolbox node to automate work in KoboToolbox, and integrate KoboToolbox with other applications. n8n has built-in support for a wide range of KoboToolbox features, including creating, updating, deleting, and getting files, forms, hooks, and submissions. 

  On this page, you'll find a list of operations the KoboToolbox node supports and links to more resources.

  /// note | Credentials
  Refer to [KoboToolbox credentials](/integrations/builtin/credentials/kobotoolbox.md) for guidance on setting up authentication. 
  ///

  ## Operations

  * File
  	* Create
  	* Delete
  	* Get
  	* Get Many
  * Form
      * Get
      * Get Many
  		* Redeploy
  * Hook
      * Get
      * Get Many
      * Logs
      * Retry All
      * Retry One
  * Submission
      * Delete
      * Get
      * Get Many
      * Get Validation Status
      * Update Validation Status

  ## Templates and examples

  <!-- see https://www.notion.so/n8n/Pull-in-templates-for-the-integrations-pages-37c716837b804d30a33b47475f6e3780 -->
  [[ templatesWidget(page.title, 'kobotoolbox') ]]

  ## Options

  ### Query Options

  The Query Submission operation supports query options:

  * In the main section of the **Parameters** panel:
      * **Start** controls the index offset to start the query from (to use the API pagination logic).
      * **Limit** sets the maximum number of records to return. Note that the API always has a limit of 30,000 returned records, whatever value you provide.
  * In the **Query Options** section, you can activate the following parameters:
      * **Query** lets you specify filter predicates in MongoDB's JSON query format. For example: `{"status": "success", "_submission_time": {"$lt": "2021-11-01T01:02:03"}}` queries for all submissions with the value `success` for the field `status`, and submitted before November 1st, 2021, 01:02:03.
      * **Fields** lets you specify the list of fields you want to fetch, to make the response lighter.
      * **Sort** lets you provide a list of sorting criteria in MongoDB JSON format. For example, `{"status": 1, "_submission_time": -1}` specifies a sort order by ascending status, and then descending submission time.

  More details about these options can be found in the [Formhub API docs](https://github.com/SEL-Columbia/formhub/wiki/Formhub-Access-Points-(API)#api-parameters)

  ### Submission options

  All operations that return form submission data offer options to tweak the response. These include:

  - Download options lets you download any attachment linked to each particular form submissions, such as pictures and videos. It also lets you select the naming pattern, and the file size to download (if available - typically for images). 
  - Formatting options perform some reformatting as described in [About reformatting](#about-reformatting).

  #### About reformatting

  The default JSON format for KoboToolbox submission data is sometimes hard to deal with, because it's not schema-aware, and all fields are therefore returned as strings.

  This node provides a lightweight opinionated reformatting logic, enabled with the **Reformat?** parameter, available on all operations that return form submissions: the submission query, get, and the attachment download operations.

  When enabled, the reformatting:

  - Reorganizes the JSON into a multi-level hierarchy following the form's groups. By default, question grouping hierarchy is materialized by a `/` character in the field names, for example `Group1/Question1`. With reformatting enabled, n8n reorganizes these into `Group1.Question1`, as nested JSON objects.
  - Renames fields to trim `_` (not supported by many downstream systems).
  - Parses all geospatial fields (Point, Line, and Area question types) into their standard GeoJSON equivalent.
  - Splits all fields matching any of the **Multiselect Mask** wildcard masks into an array. Since the multi-select fields appear as space-separated strings, they can't be guessed algorithmically, so you must provide a field naming mask. Format the masks as a comma-separated list. Lists support the `*` wildcard.
  - Converts all fields matching any of the **Number Mask** wildcard masks into a JSON float.

  Here's a detailed example in JSON:

  ```json
  {
    "_id": 471987,
    "formhub/uuid": "189436bb09a54957bfcc798e338b54d6",
    "start": "2021-12-05T16:13:38.527+02:00",
    "end": "2021-12-05T16:15:33.407+02:00",
    "Field_Details/Field_Name": "Test Fields",
    "Field_Details/Field_Location": "-1.932914 30.078211 1421 165",
    "Field_Details/Field_Shape": "-1.932914 30.078211 1421 165;-1.933011 30.078085 0 0;-1.933257 30.078004 0 0;-1.933338 30.078197 0 0;-1.933107 30.078299 0 0;-1.932914 30.078211 1421 165",
    "Field_Details/Crops_Grown": "maize beans avocado",
    "Field_Details/Field_Size_sqm": "2300",
    "__version__": "veGcULpqP6JNFKRJbbMvMs",
    "meta/instanceID": "uuid:2356cbbe-c1fd-414d-85c8-84f33e92618a",
    "_xform_id_string": "ajXVJpBkTD5tB4Nu9QXpgm",
    "_uuid": "2356cbbe-c1fd-414d-85c8-84f33e92618a",
    "_attachments": [],
    "_status": "submitted_via_web",
    "_geolocation": [
      -1.932914,
      30.078211
    ],
    "_submission_time": "2021-12-05T14:15:44",
    "_tags": [],
    "_notes": [],
    "_validation_status": {},
    "_submitted_by": null
  }
  ```

  With reformatting enabled, and the appropriate masks for multi-select and number formatting (for example, `Crops_*` and `*_sqm` respectively), n8n parses it into:

  ```json
  {
    "id": 471987,
    "formhub": {
      "uuid": "189436bb09a54957bfcc798e338b54d6"
    },
    "start": "2021-12-05T16:13:38.527+02:00",
    "end": "2021-12-05T16:15:33.407+02:00",
    "Field_Details": {
      "Field_Name": "Test Fields",
      "Field_Location": {
        "lat": -1.932914,
        "lon": 30.078211
      },
      "Field_Shape": {
        "type": "polygon",
        "coordinates": [
          {
            "lat": -1.932914,
            "lon": 30.078211
          },
          {
            "lat": -1.933011,
            "lon": 30.078085
          },
          {
            "lat": -1.933257,
            "lon": 30.078004
          },
          {
            "lat": -1.933338,
            "lon": 30.078197
          },
          {
            "lat": -1.933107,
            "lon": 30.078299
          },
          {
            "lat": -1.932914,
            "lon": 30.078211
          }
        ]
      },
      "Crops_Grown": [
        "maize",
        "beans",
        "avocado"
      ],
      "Field_Size_sqm": 2300
    },
    "version": "veGcULpqP6JNFKRJbbMvMs",
    "meta": {
      "instanceID": "uuid:2356cbbe-c1fd-414d-85c8-84f33e92618a"
    },
    "xform_id_string": "ajXVJpBkTD5tB4Nu9QXpgm",
    "uuid": "2356cbbe-c1fd-414d-85c8-84f33e92618a",
    "attachments": [],
    "status": "submitted_via_web",
    "geolocation": {
      "lat": -1.932914,
      "lon": 30.078211
    },
    "submission_time": "2021-12-05T14:15:44",
    "tags": [],
    "notes": [],
    "validation_status": {},
    "submitted_by": null
  }
  ```


  --8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"

properties_schema:
  [
    {
      "displayName": "Tool Description",
      "name": "toolDescription",
      "type": "string",
      "default": "",
      "required": false,
      "description": "Description for the AI to understand what this tool does and when to use it",
      "typeOptions": {
        "rows": 3
      },
      "placeholder": "e.g., Use this tool to interact with KoBoToolbox"
    },
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "submission",
      "options": [
        {
          "name": "File",
          "value": "file"
        },
        {
          "name": "Form",
          "value": "form"
        },
        {
          "name": "Hook",
          "value": "hook"
        },
        {
          "name": "Submission",
          "value": "submission"
        }
      ],
      "required": true,
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "description": "Get a form",
          "action": "Get a form"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many forms",
          "action": "Get many forms"
        },
        {
          "name": "Redeploy",
          "value": "redeploy",
          "description": "Redeploy Current Form Version",
          "action": "Redeploy Current Form Version"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "form"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Form Name or ID",
      "name": "formId",
      "type": "options",
      "default": "",
      "description": "Form ID (e.g. aSAvYreNzVEkrWg5Gdcvg). Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "form"
          ],
          "operation": [
            "get",
            "redeploy"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "loadForms"
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "form"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 1000,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "form"
          ],
          "operation": [
            "getAll"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "maxValue": 3000
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Sort",
          "name": "sort",
          "type": "fixedCollection",
          "typeOptions": {
            "multipleValues": false
          },
          "default": {},
          "placeholder": "Add Sort",
          "options": [
            {
              "displayName": "Sort",
              "name": "value",
              "values": [
                {
                  "displayName": "Descending",
                  "name": "descending",
                  "type": "boolean",
                  "default": true,
                  "description": "Whether to sort by descending order"
                },
                {
                  "displayName": "Order By",
                  "name": "ordering",
                  "type": "options",
                  "default": "date_modified",
                  "options": [
                    {
                      "name": "Asset Type",
                      "value": "asset_type"
                    },
                    {
                      "name": "Date Modified",
                      "value": "date_modified"
                    },
                    {
                      "name": "Name",
                      "value": "name"
                    },
                    {
                      "name": "Owner Username",
                      "value": "owner__username"
                    },
                    {
                      "name": "Subscribers Count",
                      "value": "subscribers_count"
                    }
                  ],
                  "description": "Field to order by"
                }
              ]
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "form"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Filters",
      "name": "filters",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Filter",
          "name": "filter",
          "type": "string",
          "default": "asset_type:survey",
          "description": "A text search query based on form data - e.g. \"owner__username:meg AND name__icontains:quixotic\" - see <a href=\"https://github.com/kobotoolbox/kpi#searching\" target=\"_blank\">docs</a> for more details"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "form"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "description": "Get a single hook definition",
          "action": "Get a hook"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "List many hooks on a form",
          "action": "Get Many hooks"
        },
        {
          "name": "Logs",
          "value": "getLogs",
          "description": "Get hook logs",
          "action": "Get Logs for a hook"
        },
        {
          "name": "Retry All",
          "value": "retryAll",
          "description": "Retry all failed attempts for a given hook",
          "action": "Retry All hooks"
        },
        {
          "name": "Retry One",
          "value": "retryOne",
          "description": "Retry a specific hook",
          "action": "Retry One hook"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "hook"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Form Name or ID",
      "name": "formId",
      "type": "options",
      "default": "",
      "description": "Form ID (e.g. aSAvYreNzVEkrWg5Gdcvg). Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "hook"
          ],
          "operation": [
            "get",
            "retryOne",
            "retryAll",
            "getLogs",
            "getAll"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "loadForms"
      }
    },
    {
      "displayName": "Hook ID",
      "name": "hookId",
      "type": "string",
      "default": "",
      "description": "Hook ID (starts with h, e.g. hVehywQ2oXPYGHJHKtqth4)",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "hook"
          ],
          "operation": [
            "get",
            "retryOne",
            "retryAll",
            "getLogs"
          ]
        }
      }
    },
    {
      "displayName": "Hook Log ID",
      "name": "logId",
      "type": "string",
      "default": "",
      "description": "Hook log ID (starts with hl, e.g. hlSbGKaUKzTVNoWEVMYbLHe)",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "hook"
          ],
          "operation": [
            "retryOne"
          ]
        }
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "hook"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 1000,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "hook"
          ],
          "operation": [
            "getAll"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "maxValue": 3000
      }
    },
    {
      "displayName": "Log Status",
      "name": "status",
      "type": "options",
      "default": "",
      "description": "Only retrieve logs with a specific status",
      "options": [
        {
          "name": "All",
          "value": ""
        },
        {
          "name": "Failed",
          "value": "0"
        },
        {
          "name": "Pending",
          "value": "1"
        },
        {
          "name": "Success",
          "value": "2"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "hook"
          ],
          "operation": [
            "getLogs"
          ]
        }
      }
    },
    {
      "displayName": "Start Date",
      "name": "startDate",
      "type": "dateTime",
      "default": "",
      "description": "Minimum date for the hook log to retrieve",
      "displayOptions": {
        "show": {
          "resource": [
            "hook"
          ],
          "operation": [
            "getLogs"
          ]
        }
      }
    },
    {
      "displayName": "End Date",
      "name": "endDate",
      "type": "dateTime",
      "default": "",
      "description": "Maximum date for the hook log to retrieve",
      "displayOptions": {
        "show": {
          "resource": [
            "hook"
          ],
          "operation": [
            "getLogs"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a single submission",
          "action": "Delete a submission"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get a single submission",
          "action": "Get a submission"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many submissions",
          "action": "Get many submissions"
        },
        {
          "name": "Get Validation Status",
          "value": "getValidation",
          "description": "Get the validation status for the submission",
          "action": "Get the validation status for a submission"
        },
        {
          "name": "Update Validation Status",
          "value": "setValidation",
          "description": "Set the validation status of the submission",
          "action": "Update the validation status for a submission"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "submission"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Form Name or ID",
      "name": "formId",
      "type": "options",
      "default": "",
      "description": "Form ID (e.g. aSAvYreNzVEkrWg5Gdcvg). Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "submission"
          ],
          "operation": [
            "get",
            "delete",
            "getValidation",
            "setValidation",
            "getAll"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "loadForms"
      }
    },
    {
      "displayName": "Submission ID",
      "name": "submissionId",
      "type": "string",
      "default": "",
      "description": "Submission ID (number, e.g. 245128)",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "submission"
          ],
          "operation": [
            "get",
            "delete",
            "getValidation",
            "setValidation"
          ]
        }
      }
    },
    {
      "displayName": "Validation Status",
      "name": "validationStatus",
      "type": "options",
      "default": "",
      "description": "Desired Validation Status",
      "options": [
        {
          "name": "Approved",
          "value": "validation_status_approved"
        },
        {
          "name": "Not Approved",
          "value": "validation_status_not_approved"
        },
        {
          "name": "On Hold",
          "value": "validation_status_on_hold"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "submission"
          ],
          "operation": [
            "setValidation"
          ]
        }
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "submission"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "submission"
          ],
          "operation": [
            "getAll"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "maxValue": 3000
      }
    },
    {
      "displayName": "Filter",
      "name": "filterType",
      "type": "options",
      "default": "none",
      "options": [
        {
          "name": "None",
          "value": "none"
        },
        {
          "name": "JSON",
          "value": "json"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "submission"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "See <a href=\"https://github.com/SEL-Columbia/formhub/wiki/Formhub-Access-Points-(API)#api-parameters\" target=\"_blank\">Formhub API docs</a> to creating filters, using the MongoDB JSON format - e.g. {\"_submission_time\":{\"$lt\":\"2021-10-01T01:02:03\"}}",
      "name": "jsonNotice",
      "type": "notice",
      "default": "",
      "displayOptions": {
        "show": {
          "resource": [
            "submission"
          ],
          "operation": [
            "getAll"
          ],
          "filterType": [
            "json"
          ]
        }
      }
    },
    {
      "displayName": "Filters (JSON)",
      "name": "filterJson",
      "type": "string",
      "default": "",
      "displayOptions": {
        "show": {
          "resource": [
            "submission"
          ],
          "operation": [
            "getAll"
          ],
          "filterType": [
            "json"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Download Attachments",
          "name": "download",
          "type": "boolean",
          "default": false,
          "description": "Whether to download submitted attachments"
        },
        {
          "displayName": "Attachments Naming Scheme",
          "name": "binaryNamingScheme",
          "type": "options",
          "default": "sequence",
          "displayOptions": {
            "show": {
              "download": [
                true
              ]
            }
          },
          "options": [
            {
              "name": "Sequence (e.g. attachment_N)",
              "value": "sequence"
            },
            {
              "name": "Use Original Form Question ID",
              "value": "question"
            }
          ]
        },
        {
          "displayName": "Attachments Prefix",
          "name": "dataPropertyAttachmentsPrefixName",
          "type": "string",
          "displayOptions": {
            "show": {
              "download": [
                true
              ],
              "binaryNamingScheme": [
                "sequence"
              ]
            }
          },
          "default": "attachment_",
          "description": "Prefix for name of the binary property to which to write the attachments. An index starting with 0 will be added. So if name is \"attachment_\" the first attachment is saved to \"attachment_0\""
        },
        {
          "displayName": "Fields to Retrieve",
          "name": "fields",
          "type": "string",
          "default": "",
          "description": "Comma-separated list of fields to retrieve (e.g. _submission_time,_submitted_by). If left blank, all fields are retrieved."
        },
        {
          "displayName": "File Size",
          "name": "version",
          "type": "options",
          "displayOptions": {
            "show": {
              "download": [
                true
              ]
            }
          },
          "default": "download_url",
          "description": "Attachment size to retrieve, if multiple versions are available",
          "options": [
            {
              "name": "Original",
              "value": "download_url"
            },
            {
              "name": "Small",
              "value": "download_small_url"
            },
            {
              "name": "Medium",
              "value": "download_medium_url"
            },
            {
              "name": "Large",
              "value": "download_large_url"
            }
          ]
        },
        {
          "displayName": "Multiselect Mask",
          "name": "selectMask",
          "type": "string",
          "default": "select_*",
          "description": "Comma-separated list of wildcard-style selectors for fields that should be treated as multiselect fields, i.e. parsed as arrays."
        },
        {
          "displayName": "Number Mask",
          "name": "numberMask",
          "type": "string",
          "default": "n_*, f_*",
          "description": "Comma-separated list of wildcard-style selectors for fields that should be treated as numbers"
        },
        {
          "displayName": "Reformat",
          "name": "reformat",
          "type": "boolean",
          "default": false,
          "description": "Whether to apply some reformatting to the submission data, such as parsing GeoJSON coordinates"
        },
        {
          "displayName": "Sort",
          "name": "sort",
          "type": "json",
          "default": "",
          "description": "Sort predicates, in MongoDB JSON format (e.g. {\"_submission_time\":1})"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "submission"
          ],
          "operation": [
            "get",
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a file",
          "action": "Create a file"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete file",
          "action": "Delete a file"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get a file content",
          "action": "Get a file content"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many files",
          "action": "Get many files"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Form Name or ID",
      "name": "formId",
      "type": "options",
      "default": "",
      "description": "Form ID (e.g. aSAvYreNzVEkrWg5Gdcvg). Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "loadForms"
      }
    },
    {
      "displayName": "File ID",
      "name": "fileId",
      "type": "string",
      "default": "",
      "description": "Uid of the file (should start with \"af\" e.g. \"afQoJxA4kmKEXVpkH6SYbhb\"",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "delete",
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Property Name",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "description": "Name of the binary property to write the file into",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Download File Content",
      "name": "download",
      "type": "boolean",
      "default": false,
      "description": "Whether to download the file content into a binary property",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "File Upload Mode",
      "name": "fileMode",
      "type": "options",
      "default": "binary",
      "options": [
        {
          "name": "Binary File",
          "value": "binary"
        },
        {
          "name": "URL",
          "value": "url"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Property Name",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "description": "Name of the binary property containing the file to upload. Supported types: image, audio, video, csv, xml, zip.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "create"
          ],
          "fileMode": [
            "binary"
          ]
        }
      }
    },
    {
      "displayName": "File URL",
      "name": "fileUrl",
      "type": "string",
      "default": "",
      "description": "HTTP(s) link to the file to upload",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "create"
          ],
          "fileMode": [
            "url"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "get",
      "name": "Get",
      "description": "Get a form"
    },
    {
      "operation": "getAll",
      "name": "Get Many",
      "description": "Get many forms"
    },
    {
      "operation": "redeploy",
      "name": "Redeploy",
      "description": "Redeploy Current Form Version"
    }
  ]


