# nodes

node_type: nodes-base.ftp
package_name: n8n-nodes-base
display_name: FTP
description: Transfer files via FTP or SFTP
category: input
development_style: programmatic
version: 1
outputs:
  [
  "main"
  ]

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

  # FTP

  The FTP node is useful to access and upload files to an FTP or SFTP server.

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

  To connect to an SFTP server, use an SFTP credential. Refer to [FTP credentials](/integrations/builtin/credentials/ftp.md) for more information.

  ## Operations

  - [**Delete**](#delete) a file or folder
  - [**Download**](#download) a file
  - [**List**](#list) folder content
  - [**Rename**](#rename) or move a file or folder
  - [**Upload**](#upload) a file

  /// note | Uploading files
  To attach a file for upload, you'll need to use an extra node such as the [Read/Write Files from Disk](/integrations/builtin/core-nodes/n8n-nodes-base.readwritefile.md) node or the [HTTP Request](/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/index.md) node to pass the file as a data property.
  ///

  ## Delete

  This operation includes one parameter: **Path**. Enter the remote path that you would like to connect to.

  ### Delete options

  The delete operation adds one new option: **Folder**. If you turn this option on, the node can delete both folders and files. This configuration also displays one more option:

  - **Recursive**: If you turn this option on and you delete a folder or directory, the node will delete all files and directories within the target directory.

  ## Download

  Configure this operation with these parameters:

  * **Path**: Enter the remote path that you would like to connect to.
  * **Put Output File in Field**: Enter the name of the output binary field to put the file in.

  ## List

  Configure this operation with these parameters:

  * **Path**: Enter the remote path that you would like to connect to.
  * **Recursive**: Select whether to return an object representing all directories / objects recursively found within the FTP/SFTP server (turned on) or not (turned off).

  ## Rename

  Configure this operation with these parameters:

  - **Old Path**: Enter the existing path of the file you'd like to rename in this field.
  - **New Path**: Enter the new path for the renamed file in this field.

  ### Rename options

  This operation adds one new option: **Create Directories**. If you turn this option on, the node will recursively create the destination directory when renaming an existing file or folder.

  ## Upload

  Configure this operation with these parameters:

  * **Path**: Enter the remote path that you would like to connect to.
  * **Binary File**: Select whether you'll upload a binary file (turned on) or enter text content to be uploaded (turned off). Other parameters depend on your selection in this field.
      * **Input Binary Field**: Displayed if you turn on **Binary File**. Enter the name of the input binary field that contains the file you'll upload in this field.
      * **File Content**: Displayed if you turn off **Binary File** Enter the text content of the file you'll upload in this field.

  /// note | Uploading files
  To attach a file for upload, you'll need to use an extra node such as the [Read/Write Files from Disk](/integrations/builtin/core-nodes/n8n-nodes-base.readwritefile.md) node or the [HTTP Request](/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/index.md) node to pass the file as a data property.
  ///

  ## Templates and examples

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

properties_schema:
  [
    {
      "displayName": "Protocol",
      "name": "protocol",
      "type": "options",
      "default": "ftp",
      "description": "File transfer protocol",
      "options": [
        {
          "name": "FTP",
          "value": "ftp"
        },
        {
          "name": "SFTP",
          "value": "sftp"
        }
      ]
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "download",
      "options": [
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a file/folder",
          "action": "Delete a file or folder"
        },
        {
          "name": "Download",
          "value": "download",
          "description": "Download a file",
          "action": "Download a file"
        },
        {
          "name": "List",
          "value": "list",
          "description": "List folder content",
          "action": "List folder content"
        },
        {
          "name": "Rename",
          "value": "rename",
          "description": "Rename/move oldPath to newPath",
          "action": "Rename / move a file or folder"
        },
        {
          "name": "Upload",
          "value": "upload",
          "description": "Upload a file",
          "action": "Upload a file"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Path",
      "name": "path",
      "type": "string",
      "default": "",
      "description": "The file path of the file to delete. Has to contain the full path.",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "delete"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Folder",
          "name": "folder",
          "type": "boolean",
          "default": false,
          "description": "Whether folders can be deleted"
        },
        {
          "displayName": "Recursive",
          "displayOptions": {
            "show": {
              "folder": [
                true
              ]
            }
          },
          "name": "recursive",
          "type": "boolean",
          "default": false,
          "description": "Whether to remove all files and directories in target directory"
        },
        {
          "displayName": "Timeout",
          "name": "timeout",
          "description": "Connection timeout in milliseconds",
          "type": "number",
          "typeOptions": {
            "minValue": 1
          },
          "default": 10000
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "delete"
          ]
        }
      }
    },
    {
      "displayName": "Path",
      "name": "path",
      "type": "string",
      "default": "",
      "description": "The file path of the file to download. Has to contain the full path.",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "download"
          ]
        }
      }
    },
    {
      "displayName": "Put Output File in Field",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "download"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Enable Concurrent Reads",
          "name": "enableConcurrentReads",
          "type": "boolean",
          "default": false,
          "description": "Whether to enable concurrent reads for downloading files"
        },
        {
          "displayName": "Max Concurrent Reads",
          "name": "maxConcurrentReads",
          "type": "number",
          "default": 5,
          "displayOptions": {
            "show": {
              "enableConcurrentReads": [
                true
              ]
            }
          }
        },
        {
          "displayName": "Chunk Size",
          "name": "chunkSize",
          "type": "number",
          "default": 64,
          "description": "Size of each chunk in KB to download, Not all servers support this",
          "displayOptions": {
            "show": {
              "enableConcurrentReads": [
                true
              ]
            }
          }
        },
        {
          "displayName": "Timeout",
          "name": "timeout",
          "description": "Connection timeout in milliseconds",
          "type": "number",
          "typeOptions": {
            "minValue": 1
          },
          "default": 10000
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "download"
          ]
        }
      }
    },
    {
      "displayName": "Old Path",
      "name": "oldPath",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "rename"
          ]
        }
      }
    },
    {
      "displayName": "New Path",
      "name": "newPath",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "rename"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Create Directories",
          "name": "createDirectories",
          "type": "boolean",
          "default": false,
          "description": "Whether to recursively create destination directory when renaming an existing file or folder"
        },
        {
          "displayName": "Timeout",
          "name": "timeout",
          "description": "Connection timeout in milliseconds",
          "type": "number",
          "typeOptions": {
            "minValue": 1
          },
          "default": 10000
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "rename"
          ]
        }
      }
    },
    {
      "displayName": "Path",
      "name": "path",
      "type": "string",
      "default": "",
      "description": "The file path of the file to upload. Has to contain the full path.",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "upload"
          ]
        }
      }
    },
    {
      "displayName": "Binary File",
      "name": "binaryData",
      "type": "boolean",
      "default": true,
      "description": "The text content of the file to upload",
      "displayOptions": {
        "show": {
          "operation": [
            "upload"
          ]
        }
      }
    },
    {
      "displayName": "Input Binary Field",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "upload"
          ],
          "binaryData": [
            true
          ]
        }
      }
    },
    {
      "displayName": "File Content",
      "name": "fileContent",
      "type": "string",
      "default": "",
      "description": "The text content of the file to upload",
      "displayOptions": {
        "show": {
          "operation": [
            "upload"
          ],
          "binaryData": [
            false
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Timeout",
          "name": "timeout",
          "description": "Connection timeout in milliseconds",
          "type": "number",
          "typeOptions": {
            "minValue": 1
          },
          "default": 10000
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "upload"
          ]
        }
      }
    },
    {
      "displayName": "Path",
      "name": "path",
      "type": "string",
      "default": "/",
      "description": "Path of directory to list contents of",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "list"
          ]
        }
      }
    },
    {
      "displayName": "Recursive",
      "name": "recursive",
      "type": "boolean",
      "default": false,
      "description": "Whether to return object representing all directories / objects recursively found within SFTP server",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "list"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Timeout",
          "name": "timeout",
          "description": "Connection timeout in milliseconds",
          "type": "number",
          "typeOptions": {
            "minValue": 1
          },
          "default": 10000
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "list"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "delete",
      "name": "Delete",
      "description": "Delete a file/folder"
    },
    {
      "operation": "download",
      "name": "Download",
      "description": "Download a file"
    },
    {
      "operation": "list",
      "name": "List",
      "description": "List folder content"
    },
    {
      "operation": "rename",
      "name": "Rename",
      "description": "Rename/move oldPath to newPath"
    },
    {
      "operation": "upload",
      "name": "Upload",
      "description": "Upload a file"
    }
  ]

credentials_required:
  [
    {
      "name": "ftp",
      "required": true,
      "displayOptions": {
        "show": {
          "protocol": [
            "ftp"
          ]
        }
      },
      "testedBy": "ftpConnectionTest"
    },
    {
      "name": "sftp",
      "required": true,
      "displayOptions": {
        "show": {
          "protocol": [
            "sftp"
          ]
        }
      },
      "testedBy": "sftpConnectionTest"
    }
  ]


node_type: nodes-base.function
package_name: n8n-nodes-base
display_name: Function
category: transform
development_style: programmatic
version: 1
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-04 11:46:57
description:
  Run custom function code which gets executed once and allows you to add, remove, change and replace items

properties_schema:
  [
    {
      "displayName": "A newer version of this node type is available, called the ‘Code’ node",
      "name": "notice",
      "type": "notice",
      "default": ""
    },
    {
      "displayName": "JavaScript Code",
      "name": "functionCode",
      "type": "string",
      "default": "// Code here will run only once, no matter how many input items there are.\n// More info and help:https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.function/\n// Tip: You can use luxon for dates and $jmespath for querying JSON structures\n\n// Loop over inputs and add a new field called 'myNewField' to the JSON of each one\nfor (item of items) {\n  item.json.myNewField = 1;\n}\n\n// You can write logs to the browser console\nconsole.log('Done!');\n\nreturn items;",
      "description": "The JavaScript code to execute",
      "typeOptions": {
        "alwaysOpenEditWindow": true,
        "codeAutocomplete": "function",
        "editor": "jsEditor",
        "rows": 10
      },
      "noDataExpression": true
    }
  ]


node_type: nodes-base.functionItem
package_name: n8n-nodes-base
display_name: Function Item
description: Run custom function code which gets executed once per item
category: transform
development_style: programmatic
version: 1
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-04 11:46:57
properties_schema:
  [
    {
      "displayName": "A newer version of this node type is available, called the ‘Code’ node",
      "name": "notice",
      "type": "notice",
      "default": ""
    },
    {
      "displayName": "JavaScript Code",
      "name": "functionCode",
      "type": "string",
      "default": "// Code here will run once per input item.\n// More info and help: https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.functionitem/\n// Tip: You can use luxon for dates and $jmespath for querying JSON structures\n\n// Add a new field called 'myNewField' to the JSON of the item\nitem.myNewField = 1;\n\n// You can write logs to the browser console\nconsole.log('Done!');\n\nreturn item;",
      "description": "The JavaScript code to execute for each item",
      "typeOptions": {
        "alwaysOpenEditWindow": true,
        "codeAutocomplete": "functionItem",
        "editor": "jsEditor",
        "rows": 10
      },
      "noDataExpression": true
    }
  ]


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

output_names:
  [
  "Tool"
  ]

updated_at: 2026-03-04 11:46:57
tool_variant_of: nodes-base.getResponse
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: GetResponse node documentation
  description: Learn how to use the GetResponse node in n8n. Follow technical documentation to integrate GetResponse node into your workflows.
  contentType: [integration, reference]
  ---

  # GetResponse node

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

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

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

  ## Operations

  * Contact
      * Create a new contact
      * Delete a contact
      * Get a contact
      * Get all contacts
      * Update contact properties

  ## Templates and examples

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

  --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 GetResponse"
    },
    {
      "displayName": "Authentication",
      "name": "authentication",
      "type": "options",
      "default": "apiKey",
      "options": [
        {
          "name": "API Key",
          "value": "apiKey"
        },
        {
          "name": "OAuth2",
          "value": "oAuth2"
        }
      ]
    },
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "contact",
      "options": [
        {
          "name": "Contact",
          "value": "contact"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a new contact",
          "action": "Create a contact"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a contact",
          "action": "Delete a contact"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get a contact",
          "action": "Get a contact"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many contacts",
          "action": "Get many contacts"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update contact properties",
          "action": "Update a contact"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Email",
      "name": "email",
      "type": "string",
      "default": "",
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Campaign Name or ID",
      "name": "campaignId",
      "type": "options",
      "default": "",
      "description": "Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ],
          "operation": [
            "create"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getCampaigns"
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Custom Fields",
          "name": "customFieldsUi",
          "type": "fixedCollection",
          "default": {},
          "placeholder": "Add Custom Field",
          "typeOptions": {
            "multipleValues": true
          },
          "options": [
            {
              "name": "customFieldValues",
              "displayName": "Custom Field",
              "values": [
                {
                  "displayName": "Field Name or ID",
                  "name": "customFieldId",
                  "type": "options",
                  "typeOptions": {
                    "loadOptionsMethod": "getCustomFields"
                  },
                  "description": "The end user specified key of the user defined data. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
                  "default": ""
                },
                {
                  "displayName": "Value",
                  "name": "value",
                  "type": "string",
                  "description": "The end user specified value of the user defined data",
                  "default": ""
                }
              ]
            }
          ]
        },
        {
          "displayName": "Day Of Cycle",
          "name": "dayOfCycle",
          "type": "string",
          "description": "The day on which the contact is in the Autoresponder cycle. null indicates the contacts is not in the cycle.",
          "default": ""
        },
        {
          "displayName": "IP Address",
          "name": "ipAddress",
          "type": "string",
          "description": "The contact's IP address. IPv4 and IPv6 formats are accepted.",
          "default": ""
        },
        {
          "displayName": "Name",
          "name": "name",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Note",
          "name": "note",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Scoring",
          "name": "scoring",
          "type": "number",
          "default": "",
          "description": "Contact scoring, pass null to remove the score from a contact",
          "typeOptions": {
            "minValue": 0
          }
        },
        {
          "displayName": "Tag Names or IDs",
          "name": "tags",
          "type": "multiOptions",
          "description": "Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
          "typeOptions": {
            "loadOptionsMethod": "getTags"
          },
          "default": []
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Contact ID",
      "name": "contactId",
      "type": "string",
      "default": "",
      "description": "ID of contact to delete",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ],
          "operation": [
            "delete"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "IP Address",
          "name": "ipAddress",
          "type": "string",
          "description": "This makes it possible to pass the IP from which the contact unsubscribed. Used only if the messageId was send.",
          "default": ""
        },
        {
          "displayName": "Message ID",
          "name": "messageId",
          "type": "string",
          "description": "The ID of a message (such as a newsletter, an autoresponder, or an RSS-newsletter). When passed, this method will simulate the unsubscribe process, as if the contact clicked the unsubscribe link in a given message.",
          "default": ""
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ],
          "operation": [
            "delete"
          ]
        }
      }
    },
    {
      "displayName": "Contact ID",
      "name": "contactId",
      "type": "string",
      "default": "",
      "description": "Unique identifier for a particular contact",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Fields",
          "name": "fields",
          "type": "string",
          "description": "List of fields that should be returned. ID is always returned. Fields should be separated by comma",
          "default": ""
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ],
          "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": [
            "contact"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 20,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ],
          "operation": [
            "getAll"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Campaign ID",
          "name": "campaignId",
          "type": "string",
          "description": "Search contacts by campaign ID",
          "default": ""
        },
        {
          "displayName": "Change On From",
          "name": "changeOnFrom",
          "type": "dateTime",
          "default": "",
          "description": "Search contacts edited from this date"
        },
        {
          "displayName": "Change On To",
          "name": "changeOnTo",
          "type": "dateTime",
          "default": "",
          "description": "Search contacts edited to this date"
        },
        {
          "displayName": "Created On From",
          "name": "createdOnFrom",
          "type": "dateTime",
          "default": "",
          "description": "Count data from this date"
        },
        {
          "displayName": "Created On To",
          "name": "createdOnTo",
          "type": "dateTime",
          "default": "",
          "description": "Count data from this date"
        },
        {
          "displayName": "Exact Match",
          "name": "exactMatch",
          "type": "boolean",
          "default": false,
          "description": "Whether to search for contacts with the exact value of the email and name provided in the query string. Without this flag, matching is done via a standard 'like' comparison, which may sometimes be slow."
        },
        {
          "displayName": "Fields",
          "name": "fields",
          "type": "string",
          "description": "List of fields that should be returned. ID is always returned. Fields should be separated by comma",
          "default": ""
        },
        {
          "displayName": "Name",
          "name": "name",
          "type": "string",
          "description": "Search contacts by name",
          "default": ""
        },
        {
          "displayName": "Origin",
          "name": "origin",
          "type": "options",
          "options": [
            {
              "name": "API",
              "value": "api"
            },
            {
              "name": "Copy",
              "value": "copy"
            },
            {
              "name": "Email",
              "value": "email"
            },
            {
              "name": "Forward",
              "value": "forward"
            },
            {
              "name": "Import",
              "value": "import"
            },
            {
              "name": "Iphone",
              "value": "iphone"
            },
            {
              "name": "Landing Page",
              "value": "landing_page"
            },
            {
              "name": "Leads",
              "value": "leads"
            },
            {
              "name": "Panel",
              "value": "panel"
            },
            {
              "name": "Sale",
              "value": "sale"
            },
            {
              "name": "Survey",
              "value": "survey"
            },
            {
              "name": "Webinar",
              "value": "webinar"
            },
            {
              "name": "WWW",
              "value": "www"
            }
          ],
          "description": "Search contacts by origin",
          "default": ""
        },
        {
          "displayName": "Sort By",
          "name": "sortBy",
          "type": "options",
          "options": [
            {
              "name": "Campaign ID",
              "value": "campaignId"
            },
            {
              "name": "Changed On",
              "value": "changedOn"
            },
            {
              "name": "Created On",
              "value": "createdOn"
            },
            {
              "name": "Email",
              "value": "email"
            }
          ],
          "default": ""
        },
        {
          "displayName": "Sort Order",
          "name": "sortOrder",
          "type": "options",
          "options": [
            {
              "name": "ASC",
              "value": "ASC"
            },
            {
              "name": "DESC",
              "value": "DESC"
            }
          ],
          "default": ""
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Contact ID",
      "name": "contactId",
      "type": "string",
      "default": "",
      "description": "Unique identifier for a particular contact",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Update Fields",
      "name": "updateFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Campaign Name or ID",
          "name": "campaignId",
          "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": "getCampaigns"
          },
          "default": ""
        },
        {
          "displayName": "Custom Fields",
          "name": "customFieldsUi",
          "type": "fixedCollection",
          "default": {},
          "placeholder": "Add Custom Field",
          "typeOptions": {
            "multipleValues": true
          },
          "options": [
            {
              "name": "customFieldValues",
              "displayName": "Custom Field",
              "values": [
                {
                  "displayName": "Field Name or ID",
                  "name": "customFieldId",
                  "type": "options",
                  "typeOptions": {
                    "loadOptionsMethod": "getCustomFields"
                  },
                  "description": "The end user specified key of the user defined data. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
                  "default": ""
                },
                {
                  "displayName": "Value",
                  "name": "value",
                  "type": "string",
                  "description": "The end user specified value of the user defined data",
                  "default": ""
                }
              ]
            }
          ]
        },
        {
          "displayName": "Day Of Cycle",
          "name": "dayOfCycle",
          "type": "string",
          "description": "The day on which the contact is in the Autoresponder cycle. null indicates the contacts is not in the cycle.",
          "default": ""
        },
        {
          "displayName": "Email",
          "name": "email",
          "type": "string",
          "placeholder": "name@email.com",
          "default": ""
        },
        {
          "displayName": "IP Address",
          "name": "ipAddress",
          "type": "string",
          "description": "The contact's IP address. IPv4 and IPv6 formats are accepted.",
          "default": ""
        },
        {
          "displayName": "Name",
          "name": "name",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Note",
          "name": "note",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Scoring",
          "name": "scoring",
          "type": "number",
          "default": "",
          "description": "Contact scoring, pass null to remove the score from a contact",
          "typeOptions": {
            "minValue": 0
          }
        },
        {
          "displayName": "Tag Names or IDs",
          "name": "tags",
          "type": "multiOptions",
          "description": "Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
          "typeOptions": {
            "loadOptionsMethod": "getTags"
          },
          "default": []
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ],
          "operation": [
            "update"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "create",
      "name": "Create",
      "description": "Create a new contact"
    },
    {
      "operation": "delete",
      "name": "Delete",
      "description": "Delete a contact"
    },
    {
      "operation": "get",
      "name": "Get",
      "description": "Get a contact"
    },
    {
      "operation": "getAll",
      "name": "Get Many",
      "description": "Get many contacts"
    },
    {
      "operation": "update",
      "name": "Update",
      "description": "Update contact properties"
    }
  ]

credentials_required:
  [
    {
      "name": "getResponseApi",
      "required": true,
      "displayOptions": {
        "show": {
          "authentication": [
            "apiKey"
          ]
        }
      }
    },
    {
      "name": "getResponseOAuth2Api",
      "required": true,
      "displayOptions": {
        "show": {
          "authentication": [
            "oAuth2"
          ]
        }
      }
    }
  ]


node_type: nodes-base.getResponse
package_name: n8n-nodes-base
display_name: GetResponse
description: Consume GetResponse API
category: input
development_style: programmatic
version: 1
outputs:
  [
  "main"
  ]

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

  # GetResponse node

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

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

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

  ## Operations

  * Contact
      * Create a new contact
      * Delete a contact
      * Get a contact
      * Get all contacts
      * Update contact properties

  ## Templates and examples

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

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

properties_schema:
  [
    {
      "displayName": "Authentication",
      "name": "authentication",
      "type": "options",
      "default": "apiKey",
      "options": [
        {
          "name": "API Key",
          "value": "apiKey"
        },
        {
          "name": "OAuth2",
          "value": "oAuth2"
        }
      ]
    },
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "contact",
      "options": [
        {
          "name": "Contact",
          "value": "contact"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a new contact",
          "action": "Create a contact"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a contact",
          "action": "Delete a contact"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get a contact",
          "action": "Get a contact"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many contacts",
          "action": "Get many contacts"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update contact properties",
          "action": "Update a contact"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Email",
      "name": "email",
      "type": "string",
      "default": "",
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Campaign Name or ID",
      "name": "campaignId",
      "type": "options",
      "default": "",
      "description": "Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ],
          "operation": [
            "create"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getCampaigns"
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Custom Fields",
          "name": "customFieldsUi",
          "type": "fixedCollection",
          "default": {},
          "placeholder": "Add Custom Field",
          "typeOptions": {
            "multipleValues": true
          },
          "options": [
            {
              "name": "customFieldValues",
              "displayName": "Custom Field",
              "values": [
                {
                  "displayName": "Field Name or ID",
                  "name": "customFieldId",
                  "type": "options",
                  "typeOptions": {
                    "loadOptionsMethod": "getCustomFields"
                  },
                  "description": "The end user specified key of the user defined data. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
                  "default": ""
                },
                {
                  "displayName": "Value",
                  "name": "value",
                  "type": "string",
                  "description": "The end user specified value of the user defined data",
                  "default": ""
                }
              ]
            }
          ]
        },
        {
          "displayName": "Day Of Cycle",
          "name": "dayOfCycle",
          "type": "string",
          "description": "The day on which the contact is in the Autoresponder cycle. null indicates the contacts is not in the cycle.",
          "default": ""
        },
        {
          "displayName": "IP Address",
          "name": "ipAddress",
          "type": "string",
          "description": "The contact's IP address. IPv4 and IPv6 formats are accepted.",
          "default": ""
        },
        {
          "displayName": "Name",
          "name": "name",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Note",
          "name": "note",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Scoring",
          "name": "scoring",
          "type": "number",
          "default": "",
          "description": "Contact scoring, pass null to remove the score from a contact",
          "typeOptions": {
            "minValue": 0
          }
        },
        {
          "displayName": "Tag Names or IDs",
          "name": "tags",
          "type": "multiOptions",
          "description": "Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
          "typeOptions": {
            "loadOptionsMethod": "getTags"
          },
          "default": []
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Contact ID",
      "name": "contactId",
      "type": "string",
      "default": "",
      "description": "ID of contact to delete",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ],
          "operation": [
            "delete"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "IP Address",
          "name": "ipAddress",
          "type": "string",
          "description": "This makes it possible to pass the IP from which the contact unsubscribed. Used only if the messageId was send.",
          "default": ""
        },
        {
          "displayName": "Message ID",
          "name": "messageId",
          "type": "string",
          "description": "The ID of a message (such as a newsletter, an autoresponder, or an RSS-newsletter). When passed, this method will simulate the unsubscribe process, as if the contact clicked the unsubscribe link in a given message.",
          "default": ""
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ],
          "operation": [
            "delete"
          ]
        }
      }
    },
    {
      "displayName": "Contact ID",
      "name": "contactId",
      "type": "string",
      "default": "",
      "description": "Unique identifier for a particular contact",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Fields",
          "name": "fields",
          "type": "string",
          "description": "List of fields that should be returned. ID is always returned. Fields should be separated by comma",
          "default": ""
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ],
          "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": [
            "contact"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 20,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ],
          "operation": [
            "getAll"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Campaign ID",
          "name": "campaignId",
          "type": "string",
          "description": "Search contacts by campaign ID",
          "default": ""
        },
        {
          "displayName": "Change On From",
          "name": "changeOnFrom",
          "type": "dateTime",
          "default": "",
          "description": "Search contacts edited from this date"
        },
        {
          "displayName": "Change On To",
          "name": "changeOnTo",
          "type": "dateTime",
          "default": "",
          "description": "Search contacts edited to this date"
        },
        {
          "displayName": "Created On From",
          "name": "createdOnFrom",
          "type": "dateTime",
          "default": "",
          "description": "Count data from this date"
        },
        {
          "displayName": "Created On To",
          "name": "createdOnTo",
          "type": "dateTime",
          "default": "",
          "description": "Count data from this date"
        },
        {
          "displayName": "Exact Match",
          "name": "exactMatch",
          "type": "boolean",
          "default": false,
          "description": "Whether to search for contacts with the exact value of the email and name provided in the query string. Without this flag, matching is done via a standard 'like' comparison, which may sometimes be slow."
        },
        {
          "displayName": "Fields",
          "name": "fields",
          "type": "string",
          "description": "List of fields that should be returned. ID is always returned. Fields should be separated by comma",
          "default": ""
        },
        {
          "displayName": "Name",
          "name": "name",
          "type": "string",
          "description": "Search contacts by name",
          "default": ""
        },
        {
          "displayName": "Origin",
          "name": "origin",
          "type": "options",
          "options": [
            {
              "name": "API",
              "value": "api"
            },
            {
              "name": "Copy",
              "value": "copy"
            },
            {
              "name": "Email",
              "value": "email"
            },
            {
              "name": "Forward",
              "value": "forward"
            },
            {
              "name": "Import",
              "value": "import"
            },
            {
              "name": "Iphone",
              "value": "iphone"
            },
            {
              "name": "Landing Page",
              "value": "landing_page"
            },
            {
              "name": "Leads",
              "value": "leads"
            },
            {
              "name": "Panel",
              "value": "panel"
            },
            {
              "name": "Sale",
              "value": "sale"
            },
            {
              "name": "Survey",
              "value": "survey"
            },
            {
              "name": "Webinar",
              "value": "webinar"
            },
            {
              "name": "WWW",
              "value": "www"
            }
          ],
          "description": "Search contacts by origin",
          "default": ""
        },
        {
          "displayName": "Sort By",
          "name": "sortBy",
          "type": "options",
          "options": [
            {
              "name": "Campaign ID",
              "value": "campaignId"
            },
            {
              "name": "Changed On",
              "value": "changedOn"
            },
            {
              "name": "Created On",
              "value": "createdOn"
            },
            {
              "name": "Email",
              "value": "email"
            }
          ],
          "default": ""
        },
        {
          "displayName": "Sort Order",
          "name": "sortOrder",
          "type": "options",
          "options": [
            {
              "name": "ASC",
              "value": "ASC"
            },
            {
              "name": "DESC",
              "value": "DESC"
            }
          ],
          "default": ""
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Contact ID",
      "name": "contactId",
      "type": "string",
      "default": "",
      "description": "Unique identifier for a particular contact",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Update Fields",
      "name": "updateFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Campaign Name or ID",
          "name": "campaignId",
          "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": "getCampaigns"
          },
          "default": ""
        },
        {
          "displayName": "Custom Fields",
          "name": "customFieldsUi",
          "type": "fixedCollection",
          "default": {},
          "placeholder": "Add Custom Field",
          "typeOptions": {
            "multipleValues": true
          },
          "options": [
            {
              "name": "customFieldValues",
              "displayName": "Custom Field",
              "values": [
                {
                  "displayName": "Field Name or ID",
                  "name": "customFieldId",
                  "type": "options",
                  "typeOptions": {
                    "loadOptionsMethod": "getCustomFields"
                  },
                  "description": "The end user specified key of the user defined data. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
                  "default": ""
                },
                {
                  "displayName": "Value",
                  "name": "value",
                  "type": "string",
                  "description": "The end user specified value of the user defined data",
                  "default": ""
                }
              ]
            }
          ]
        },
        {
          "displayName": "Day Of Cycle",
          "name": "dayOfCycle",
          "type": "string",
          "description": "The day on which the contact is in the Autoresponder cycle. null indicates the contacts is not in the cycle.",
          "default": ""
        },
        {
          "displayName": "Email",
          "name": "email",
          "type": "string",
          "placeholder": "name@email.com",
          "default": ""
        },
        {
          "displayName": "IP Address",
          "name": "ipAddress",
          "type": "string",
          "description": "The contact's IP address. IPv4 and IPv6 formats are accepted.",
          "default": ""
        },
        {
          "displayName": "Name",
          "name": "name",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Note",
          "name": "note",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Scoring",
          "name": "scoring",
          "type": "number",
          "default": "",
          "description": "Contact scoring, pass null to remove the score from a contact",
          "typeOptions": {
            "minValue": 0
          }
        },
        {
          "displayName": "Tag Names or IDs",
          "name": "tags",
          "type": "multiOptions",
          "description": "Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
          "typeOptions": {
            "loadOptionsMethod": "getTags"
          },
          "default": []
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ],
          "operation": [
            "update"
          ]
        }
      }
    }
  ]

operations:
[cell repeats an earlier one in this file: 489 characters]

credentials_required:
  [
    {
      "name": "getResponseApi",
      "required": true,
      "displayOptions": {
        "show": {
          "authentication": [
            "apiKey"
          ]
        }
      }
    },
    {
      "name": "getResponseOAuth2Api",
      "required": true,
      "displayOptions": {
        "show": {
          "authentication": [
            "oAuth2"
          ]
        }
      }
    }
  ]


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

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

  # GetResponse Trigger node

  [GetResponse](https://www.getresponse.com/){:target=_blank .external-link} is an online platform that offers email marketing software, landing page creator, webinar hosting, and much more.

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

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

  ## Events

  - Receive notifications when a customer is subscribed to a list
  - Receive notifications when a customer is unsubscribed from a list
  - Receive notifications when an email is opened
  - Receive notifications when an email is clicked
  - Receive notifications when a survey is submitted

properties_schema:
  [
    {
      "displayName": "Authentication",
      "name": "authentication",
      "type": "options",
      "default": "apiKey",
      "options": [
        {
          "name": "API Key",
          "value": "apiKey"
        },
        {
          "name": "OAuth2",
          "value": "oAuth2"
        }
      ]
    },
    {
      "displayName": "Events",
      "name": "events",
      "type": "multiOptions",
      "default": [],
      "options": [
        {
          "name": "Customer Subscribed",
          "value": "subscribe",
          "description": "Receive notifications when a customer is subscribed to a list"
        },
        {
          "name": "Customer Unsubscribed",
          "value": "unsubscribe",
          "description": "Receive notifications when a customer is unsubscribed from a list"
        },
        {
          "name": "Email Clicked",
          "value": "click",
          "description": "Receive notifications when a email is clicked"
        },
        {
          "name": "Email Opened",
          "value": "open",
          "description": "Receive notifications when a email is opened"
        },
        {
          "name": "Survey Submitted",
          "value": "survey",
          "description": "Receive notifications when a survey is submitted"
        }
      ],
      "required": true
    },
    {
      "displayName": "List Names or IDs",
      "name": "listIds",
      "type": "multiOptions",
      "default": [],
      "description": "Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
      "typeOptions": {
        "loadOptionsMethod": "getLists"
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Delete Current Subscription",
          "name": "delete",
          "type": "boolean",
          "default": false,
          "description": "Whether to delete the current subscription"
        }
      ]
    }
  ]

credentials_required:
  [
    {
      "name": "getResponseApi",
      "required": true,
      "displayOptions": {
        "show": {
          "authentication": [
            "apiKey"
          ]
        }
      }
    },
    {
      "name": "getResponseOAuth2Api",
      "required": true,
      "displayOptions": {
        "show": {
          "authentication": [
            "oAuth2"
          ]
        }
      }
    }
  ]


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

output_names:
  [
  "Tool"
  ]

updated_at: 2026-03-04 11:46:57
tool_variant_of: nodes-base.ghost
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Ghost node documentation
  description: Learn how to use the Ghost node in n8n. Follow technical documentation to integrate Ghost node into your workflows.
  contentType: [integration, reference]
  ---

  # Ghost node

  Use the Ghost node to automate work in Ghost, and integrate Ghost with other applications. n8n has built-in support for a wide range of Ghost features, including creating, updating, deleting, and getting posts for the Admin and content API. 

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

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

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

  ## Operations

  ### Admin API

  * **Post**
      * Create a post
      * Delete a post
      * Get a post
      * Get all posts
      * Update a post


  ### Content API

  * **Post**
      * Get a post
      * Get all posts

  ## Templates and examples

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

  --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 Ghost"
    },
    {
      "displayName": "Source",
      "name": "source",
      "type": "options",
      "default": "contentApi",
      "description": "Pick where your data comes from, Content or Admin API",
      "options": [
        {
          "name": "Admin API",
          "value": "adminApi"
        },
        {
          "name": "Content API",
          "value": "contentApi"
        }
      ]
    },
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "post",
      "options": [
        {
          "name": "Post",
          "value": "post"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "description": "Get a post",
          "action": "Get a post"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many posts",
          "action": "Get many posts"
        }
      ],
      "displayOptions": {
        "show": {
          "source": [
            "contentApi"
          ],
          "resource": [
            "post"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a post",
          "action": "Create a post"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a post",
          "action": "Delete a post"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get a post",
          "action": "Get a post"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many posts",
          "action": "Get many posts"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update a post",
          "action": "Update a post"
        }
      ],
      "displayOptions": {
        "show": {
          "source": [
            "adminApi"
          ],
          "resource": [
            "post"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Title",
      "name": "title",
      "type": "string",
      "default": "",
      "description": "Post's title",
      "required": true,
      "displayOptions": {
        "show": {
          "source": [
            "adminApi"
          ],
          "resource": [
            "post"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Content Format",
      "name": "contentFormat",
      "type": "options",
      "default": "html",
      "description": "The format of the post",
      "options": [
        {
          "name": "HTML",
          "value": "html"
        },
        {
          "name": "Mobile Doc",
          "value": "mobileDoc"
        },
        {
          "name": "Lexical",
          "value": "lexical"
        }
      ],
      "displayOptions": {
        "show": {
          "source": [
            "adminApi"
          ],
          "resource": [
            "post"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Content",
      "name": "content",
      "type": "string",
      "default": "",
      "description": "The content of the post to create",
      "displayOptions": {
        "show": {
          "source": [
            "adminApi"
          ],
          "resource": [
            "post"
          ],
          "operation": [
            "create"
          ],
          "contentFormat": [
            "html"
          ]
        }
      }
    },
    {
      "displayName": "Content (JSON)",
      "name": "content",
      "type": "json",
      "default": "",
      "description": "Mobiledoc is the raw JSON format that Ghost uses to store post contents. <a href=\"https://ghost.org/docs/concepts/posts/#document-storage\">Info</a>.",
      "displayOptions": {
        "show": {
          "source": [
            "adminApi"
          ],
          "resource": [
            "post"
          ],
          "operation": [
            "create"
          ],
          "contentFormat": [
            "mobileDoc"
          ]
        }
      }
    },
    {
      "displayName": "Content (JSON)",
      "name": "content",
      "type": "json",
      "default": "",
      "description": "Lexical is the JSON format returned by the Ghost Default editor",
      "displayOptions": {
        "show": {
          "source": [
            "adminApi"
          ],
          "resource": [
            "post"
          ],
          "operation": [
            "create"
          ],
          "contentFormat": [
            "lexical"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Author Names or IDs",
          "name": "authors",
          "type": "multiOptions",
          "description": "Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
          "typeOptions": {
            "loadOptionsMethod": "getAuthors"
          },
          "default": []
        },
        {
          "displayName": "Cannonical URL",
          "name": "canonical_url",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Code Injection Foot",
          "name": "codeinjection_foot",
          "type": "string",
          "default": "",
          "description": "The Code Injection allows you inject a small snippet into your Ghost site"
        },
        {
          "displayName": "Code Injection Head",
          "name": "codeinjection_head",
          "type": "string",
          "default": "",
          "description": "The Code Injection allows you inject a small snippet into your Ghost site"
        },
        {
          "displayName": "Featured",
          "name": "featured",
          "type": "boolean",
          "default": false
        },
        {
          "displayName": "Meta Description",
          "name": "meta_description",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Meta Title",
          "name": "meta_title",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Open Graph Description",
          "name": "og_description",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Open Graph Image",
          "name": "og_image",
          "type": "string",
          "default": "",
          "description": "URL of the image"
        },
        {
          "displayName": "Open Graph Title",
          "name": "og_title",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Published At",
          "name": "published_at",
          "type": "dateTime",
          "default": ""
        },
        {
          "displayName": "Slug",
          "name": "slug",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Status",
          "name": "status",
          "type": "options",
          "options": [
            {
              "name": "Draft",
              "value": "draft"
            },
            {
              "name": "Published",
              "value": "published"
            },
            {
              "name": "Scheduled",
              "value": "scheduled"
            }
          ],
          "default": "draft"
        },
        {
          "displayName": "Tag Names or IDs",
          "name": "tags",
          "type": "multiOptions",
          "description": "Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
          "typeOptions": {
            "loadOptionsMethod": "getTags"
          },
          "default": []
        },
        {
          "displayName": "Twitter Description",
          "name": "twitter_description",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Twitter Image",
          "name": "twitter_image",
          "type": "string",
          "default": "",
          "description": "URL of the image"
        },
        {
          "displayName": "Twitter Title",
          "name": "twitter_title",
          "type": "string",
          "default": ""
        }
      ],
      "displayOptions": {
        "show": {
          "source": [
            "adminApi"
          ],
          "resource": [
            "post"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Post ID",
      "name": "postId",
      "type": "string",
      "default": "",
      "description": "The ID of the post to delete",
      "required": true,
      "displayOptions": {
        "show": {
          "source": [
            "adminApi"
          ],
          "resource": [
            "post"
          ],
          "operation": [
            "delete"
          ]
        }
      }
    },
    {
      "displayName": "By",
      "name": "by",
      "type": "options",
      "default": "id",
      "description": "Get the post either by slug or ID",
      "options": [
        {
          "name": "ID",
          "value": "id"
        },
        {
          "name": "Slug",
          "value": "slug"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "source": [
            "contentApi",
            "adminApi"
          ],
          "resource": [
            "post"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Identifier",
      "name": "identifier",
      "type": "string",
      "default": "",
      "description": "The ID or slug of the post to get",
      "required": true,
      "displayOptions": {
        "show": {
          "source": [
            "contentApi",
            "adminApi"
          ],
          "resource": [
            "post"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Fields",
          "name": "fields",
          "type": "string",
          "default": "",
          "description": "Limit the fields returned in the response object. E.g. for posts fields=title,url."
        },
        {
          "displayName": "Formats",
          "name": "formats",
          "type": "multiOptions",
          "options": [
            {
              "name": "HTML",
              "value": "html"
            },
            {
              "name": "Mobile Doc",
              "value": "mobiledoc"
            },
            {
              "name": "Lexical",
              "value": "lexical"
            }
          ],
          "default": [
            "mobiledoc"
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "source": [
            "adminApi"
          ],
          "resource": [
            "post"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Fields",
          "name": "fields",
          "type": "string",
          "default": "",
          "description": "Limit the fields returned in the response object. E.g. for posts fields=title,url."
        },
        {
          "displayName": "Formats",
          "name": "formats",
          "type": "multiOptions",
          "options": [
            {
              "name": "HTML",
              "value": "html"
            },
            {
              "name": "Plaintext",
              "value": "plaintext"
            }
          ],
          "default": [
            "html"
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "source": [
            "contentApi"
          ],
          "resource": [
            "post"
          ],
          "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": {
          "source": [
            "contentApi",
            "adminApi"
          ],
          "resource": [
            "post"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "source": [
            "adminApi",
            "contentApi"
          ],
          "resource": [
            "post"
          ],
          "operation": [
            "getAll"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Include",
          "name": "include",
          "type": "multiOptions",
          "options": [
            {
              "name": "Authors",
              "value": "authors"
            },
            {
              "name": "Tags",
              "value": "tags"
            }
          ],
          "default": [],
          "description": "Tells the API to return additional data related to the resource you have requested"
        },
        {
          "displayName": "Fields",
          "name": "fields",
          "type": "string",
          "default": "",
          "description": "Limit the fields returned in the response object. E.g. for posts fields=title,url."
        },
        {
          "displayName": "Formats",
          "name": "formats",
          "type": "multiOptions",
          "options": [
            {
              "name": "HTML",
              "value": "html"
            },
            {
              "name": "Plaintext",
              "value": "plaintext"
            },
            {
              "name": "Lexical",
              "value": "lexical"
            }
          ],
          "default": [
            "html"
          ],
          "description": "By default, only html is returned, however each post and page in Ghost has 2 available formats: html and plaintext"
        }
      ],
      "displayOptions": {
        "show": {
          "source": [
            "contentApi"
          ],
          "resource": [
            "post"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Include",
          "name": "include",
          "type": "multiOptions",
          "options": [
            {
              "name": "Authors",
              "value": "authors"
            },
            {
              "name": "Tags",
              "value": "tags"
            }
          ],
          "default": [],
          "description": "Tells the API to return additional data related to the resource you have requested"
        },
        {
          "displayName": "Fields",
          "name": "fields",
          "type": "string",
          "default": "",
          "description": "Limit the fields returned in the response object. E.g. for posts fields=title,url."
        },
        {
          "displayName": "Formats",
          "name": "formats",
          "type": "multiOptions",
          "options": [
            {
              "name": "HTML",
              "value": "html"
            },
            {
              "name": "Mobile Doc",
              "value": "mobiledoc"
            },
            {
              "name": "Lexical",
              "value": "lexical"
            }
          ],
          "default": [
            "mobiledoc"
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "source": [
            "adminApi"
          ],
          "resource": [
            "post"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Post ID",
      "name": "postId",
      "type": "string",
      "default": "",
      "description": "The ID of the post to update",
      "displayOptions": {
        "show": {
          "source": [
            "adminApi"
          ],
          "resource": [
            "post"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Content Format",
      "name": "contentFormat",
      "type": "options",
      "default": "html",
      "description": "The format of the post",
      "options": [
        {
          "name": "HTML",
          "value": "html"
        },
        {
          "name": "Mobile Doc",
          "value": "mobileDoc"
        },
        {
          "name": "Lexical",
          "value": "lexical"
        }
      ],
      "displayOptions": {
        "show": {
          "source": [
            "adminApi"
          ],
          "resource": [
            "post"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Update Fields",
      "name": "updateFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Author Names or IDs",
          "name": "authors",
          "type": "multiOptions",
          "description": "Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
          "typeOptions": {
            "loadOptionsMethod": "getAuthors"
          },
          "default": []
        },
        {
          "displayName": "Cannonical URL",
          "name": "canonical_url",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Code Injection Foot",
          "name": "codeinjection_foot",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Code Injection Head",
          "name": "codeinjection_head",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Content",
          "name": "content",
          "type": "string",
          "displayOptions": {
            "show": {
              "/contentFormat": [
                "html"
              ]
            }
          },
          "default": ""
        },
        {
          "displayName": "Content (JSON)",
          "name": "contentJson",
          "type": "json",
          "displayOptions": {
            "show": {
              "/contentFormat": [
                "mobileDoc"
              ]
            }
          },
          "default": "",
          "description": "Mobiledoc is the raw JSON format that Ghost uses to store post contents. <a href=\"https://ghost.org/docs/concepts/posts/#document-storage\">Info.</a>."
        },
        {
          "displayName": "Content (JSON)",
          "name": "contentJson",
          "type": "json",
          "displayOptions": {
            "show": {
              "/contentFormat": [
                "lexical"
              ]
            }
          },
          "default": "",
          "description": "Lexical is the JSON format returned by the Ghost Default editor"
        },
        {
          "displayName": "Featured",
          "name": "featured",
          "type": "boolean",
          "default": false
        },
        {
          "displayName": "Meta Description",
          "name": "meta_description",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Meta Title",
          "name": "meta_title",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Open Graph Description",
          "name": "og_description",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Open Graph Image",
          "name": "og_image",
          "type": "string",
          "default": "",
          "description": "URL of the image"
        },
        {
          "displayName": "Open Graph Title",
          "name": "og_title",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Published At",
          "name": "published_at",
          "type": "dateTime",
          "default": ""
        },
        {
          "displayName": "Slug",
          "name": "slug",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Status",
          "name": "status",
          "type": "options",
          "options": [
            {
              "name": "Draft",
              "value": "draft"
            },
            {
              "name": "Published",
              "value": "published"
            },
            {
              "name": "Scheduled",
              "value": "scheduled"
            }
          ],
          "default": "draft"
        },
        {
          "displayName": "Tag Names or IDs",
          "name": "tags",
          "type": "multiOptions",
          "description": "Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
          "typeOptions": {
            "loadOptionsMethod": "getTags"
          },
          "default": []
        },
        {
          "displayName": "Title",
          "name": "title",
          "type": "string",
          "default": "",
          "description": "Post's title"
        },
        {
          "displayName": "Twitter Description",
          "name": "twitter_description",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Twitter Image",
          "name": "twitter_image",
          "type": "string",
          "default": "",
          "description": "URL of the image"
        },
        {
          "displayName": "Twitter Title",
          "name": "twitter_title",
          "type": "string",
          "default": ""
        }
      ],
      "displayOptions": {
        "show": {
          "source": [
            "adminApi"
          ],
          "resource": [
            "post"
          ],
          "operation": [
            "update"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "get",
      "name": "Get",
      "description": "Get a post"
    },
    {
      "operation": "getAll",
      "name": "Get Many",
      "description": "Get many posts"
    }
  ]

credentials_required:
  [
    {
      "name": "ghostAdminApi",
      "required": true,
      "displayOptions": {
        "show": {
          "source": [
            "adminApi"
          ]
        }
      }
    },
    {
      "name": "ghostContentApi",
      "required": true,
      "displayOptions": {
        "show": {
          "source": [
            "contentApi"
          ]
        }
      }
    }
  ]


node_type: nodes-base.ghost
package_name: n8n-nodes-base
display_name: Ghost
description: Consume Ghost API
category: input
development_style: programmatic
version: 1
outputs:
  [
  "main"
  ]

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

  # Ghost node

  Use the Ghost node to automate work in Ghost, and integrate Ghost with other applications. n8n has built-in support for a wide range of Ghost features, including creating, updating, deleting, and getting posts for the Admin and content API. 

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

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

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

  ## Operations

  ### Admin API

  * **Post**
      * Create a post
      * Delete a post
      * Get a post
      * Get all posts
      * Update a post


  ### Content API

  * **Post**
      * Get a post
      * Get all posts

  ## Templates and examples

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

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

properties_schema:
  [
    {
      "displayName": "Source",
      "name": "source",
      "type": "options",
      "default": "contentApi",
      "description": "Pick where your data comes from, Content or Admin API",
      "options": [
        {
          "name": "Admin API",
          "value": "adminApi"
        },
        {
          "name": "Content API",
          "value": "contentApi"
        }
      ]
    },
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "post",
      "options": [
        {
          "name": "Post",
          "value": "post"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "description": "Get a post",
          "action": "Get a post"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many posts",
          "action": "Get many posts"
        }
      ],
      "displayOptions": {
        "show": {
          "source": [
            "contentApi"
          ],
          "resource": [
            "post"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a post",
          "action": "Create a post"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a post",
          "action": "Delete a post"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get a post",
          "action": "Get a post"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many posts",
          "action": "Get many posts"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update a post",
          "action": "Update a post"
        }
      ],
      "displayOptions": {
        "show": {
          "source": [
            "adminApi"
          ],
          "resource": [
            "post"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Title",
      "name": "title",
      "type": "string",
      "default": "",
      "description": "Post's title",
      "required": true,
      "displayOptions": {
        "show": {
          "source": [
            "adminApi"
          ],
          "resource": [
            "post"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Content Format",
      "name": "contentFormat",
      "type": "options",
      "default": "html",
      "description": "The format of the post",
      "options": [
        {
          "name": "HTML",
          "value": "html"
        },
        {
          "name": "Mobile Doc",
          "value": "mobileDoc"
        },
        {
          "name": "Lexical",
          "value": "lexical"
        }
      ],
      "displayOptions": {
        "show": {
          "source": [
            "adminApi"
          ],
          "resource": [
            "post"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Content",
      "name": "content",
      "type": "string",
      "default": "",
      "description": "The content of the post to create",
      "displayOptions": {
        "show": {
          "source": [
            "adminApi"
          ],
          "resource": [
            "post"
          ],
          "operation": [
            "create"
          ],
          "contentFormat": [
            "html"
          ]
        }
      }
    },
    {
      "displayName": "Content (JSON)",
      "name": "content",
      "type": "json",
      "default": "",
      "description": "Mobiledoc is the raw JSON format that Ghost uses to store post contents. <a href=\"https://ghost.org/docs/concepts/posts/#document-storage\">Info</a>.",
      "displayOptions": {
        "show": {
          "source": [
            "adminApi"
          ],
          "resource": [
            "post"
          ],
          "operation": [
            "create"
          ],
          "contentFormat": [
            "mobileDoc"
          ]
        }
      }
    },
    {
      "displayName": "Content (JSON)",
      "name": "content",
      "type": "json",
      "default": "",
      "description": "Lexical is the JSON format returned by the Ghost Default editor",
      "displayOptions": {
        "show": {
          "source": [
            "adminApi"
          ],
          "resource": [
            "post"
          ],
          "operation": [
            "create"
          ],
          "contentFormat": [
            "lexical"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Author Names or IDs",
          "name": "authors",
          "type": "multiOptions",
          "description": "Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
          "typeOptions": {
            "loadOptionsMethod": "getAuthors"
          },
          "default": []
        },
        {
          "displayName": "Cannonical URL",
          "name": "canonical_url",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Code Injection Foot",
          "name": "codeinjection_foot",
          "type": "string",
          "default": "",
          "description": "The Code Injection allows you inject a small snippet into your Ghost site"
        },
        {
          "displayName": "Code Injection Head",
          "name": "codeinjection_head",
          "type": "string",
          "default": "",
          "description": "The Code Injection allows you inject a small snippet into your Ghost site"
        },
        {
          "displayName": "Featured",
          "name": "featured",
          "type": "boolean",
          "default": false
        },
        {
          "displayName": "Meta Description",
          "name": "meta_description",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Meta Title",
          "name": "meta_title",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Open Graph Description",
          "name": "og_description",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Open Graph Image",
          "name": "og_image",
          "type": "string",
          "default": "",
          "description": "URL of the image"
        },
        {
          "displayName": "Open Graph Title",
          "name": "og_title",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Published At",
          "name": "published_at",
          "type": "dateTime",
          "default": ""
        },
        {
          "displayName": "Slug",
          "name": "slug",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Status",
          "name": "status",
          "type": "options",
          "options": [
            {
              "name": "Draft",
              "value": "draft"
            },
            {
              "name": "Published",
              "value": "published"
            },
            {
              "name": "Scheduled",
              "value": "scheduled"
            }
          ],
          "default": "draft"
        },
        {
          "displayName": "Tag Names or IDs",
          "name": "tags",
          "type": "multiOptions",
          "description": "Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
          "typeOptions": {
            "loadOptionsMethod": "getTags"
          },
          "default": []
        },
        {
          "displayName": "Twitter Description",
          "name": "twitter_description",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Twitter Image",
          "name": "twitter_image",
          "type": "string",
          "default": "",
          "description": "URL of the image"
        },
        {
          "displayName": "Twitter Title",
          "name": "twitter_title",
          "type": "string",
          "default": ""
        }
      ],
      "displayOptions": {
        "show": {
          "source": [
            "adminApi"
          ],
          "resource": [
            "post"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Post ID",
      "name": "postId",
      "type": "string",
      "default": "",
      "description": "The ID of the post to delete",
      "required": true,
      "displayOptions": {
        "show": {
          "source": [
            "adminApi"
          ],
          "resource": [
            "post"
          ],
          "operation": [
            "delete"
          ]
        }
      }
    },
    {
      "displayName": "By",
      "name": "by",
      "type": "options",
      "default": "id",
      "description": "Get the post either by slug or ID",
      "options": [
        {
          "name": "ID",
          "value": "id"
        },
        {
          "name": "Slug",
          "value": "slug"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "source": [
            "contentApi",
            "adminApi"
          ],
          "resource": [
            "post"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Identifier",
      "name": "identifier",
      "type": "string",
      "default": "",
      "description": "The ID or slug of the post to get",
      "required": true,
      "displayOptions": {
        "show": {
          "source": [
            "contentApi",
            "adminApi"
          ],
          "resource": [
            "post"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Fields",
          "name": "fields",
          "type": "string",
          "default": "",
          "description": "Limit the fields returned in the response object. E.g. for posts fields=title,url."
        },
        {
          "displayName": "Formats",
          "name": "formats",
          "type": "multiOptions",
          "options": [
            {
              "name": "HTML",
              "value": "html"
            },
            {
              "name": "Mobile Doc",
              "value": "mobiledoc"
            },
            {
              "name": "Lexical",
              "value": "lexical"
            }
          ],
          "default": [
            "mobiledoc"
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "source": [
            "adminApi"
          ],
          "resource": [
            "post"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Fields",
          "name": "fields",
          "type": "string",
          "default": "",
          "description": "Limit the fields returned in the response object. E.g. for posts fields=title,url."
        },
        {
          "displayName": "Formats",
          "name": "formats",
          "type": "multiOptions",
          "options": [
            {
              "name": "HTML",
              "value": "html"
            },
            {
              "name": "Plaintext",
              "value": "plaintext"
            }
          ],
          "default": [
            "html"
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "source": [
            "contentApi"
          ],
          "resource": [
            "post"
          ],
          "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": {
          "source": [
            "contentApi",
            "adminApi"
          ],
          "resource": [
            "post"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "source": [
            "adminApi",
            "contentApi"
          ],
          "resource": [
            "post"
          ],
          "operation": [
            "getAll"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Include",
          "name": "include",
          "type": "multiOptions",
          "options": [
            {
              "name": "Authors",
              "value": "authors"
            },
            {
              "name": "Tags",
              "value": "tags"
            }
          ],
          "default": [],
          "description": "Tells the API to return additional data related to the resource you have requested"
        },
        {
          "displayName": "Fields",
          "name": "fields",
          "type": "string",
          "default": "",
          "description": "Limit the fields returned in the response object. E.g. for posts fields=title,url."
        },
        {
          "displayName": "Formats",
          "name": "formats",
          "type": "multiOptions",
          "options": [
            {
              "name": "HTML",
              "value": "html"
            },
            {
              "name": "Plaintext",
              "value": "plaintext"
            },
            {
              "name": "Lexical",
              "value": "lexical"
            }
          ],
          "default": [
            "html"
          ],
          "description": "By default, only html is returned, however each post and page in Ghost has 2 available formats: html and plaintext"
        }
      ],
      "displayOptions": {
        "show": {
          "source": [
            "contentApi"
          ],
          "resource": [
            "post"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Include",
          "name": "include",
          "type": "multiOptions",
          "options": [
            {
              "name": "Authors",
              "value": "authors"
            },
            {
              "name": "Tags",
              "value": "tags"
            }
          ],
          "default": [],
          "description": "Tells the API to return additional data related to the resource you have requested"
        },
        {
          "displayName": "Fields",
          "name": "fields",
          "type": "string",
          "default": "",
          "description": "Limit the fields returned in the response object. E.g. for posts fields=title,url."
        },
        {
          "displayName": "Formats",
          "name": "formats",
          "type": "multiOptions",
          "options": [
            {
              "name": "HTML",
              "value": "html"
            },
            {
              "name": "Mobile Doc",
              "value": "mobiledoc"
            },
            {
              "name": "Lexical",
              "value": "lexical"
            }
          ],
          "default": [
            "mobiledoc"
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "source": [
            "adminApi"
          ],
          "resource": [
            "post"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Post ID",
      "name": "postId",
      "type": "string",
      "default": "",
      "description": "The ID of the post to update",
      "displayOptions": {
        "show": {
          "source": [
            "adminApi"
          ],
          "resource": [
            "post"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Content Format",
      "name": "contentFormat",
      "type": "options",
      "default": "html",
      "description": "The format of the post",
      "options": [
        {
          "name": "HTML",
          "value": "html"
        },
        {
          "name": "Mobile Doc",
          "value": "mobileDoc"
        },
        {
          "name": "Lexical",
          "value": "lexical"
        }
      ],
      "displayOptions": {
        "show": {
          "source": [
            "adminApi"
          ],
          "resource": [
            "post"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Update Fields",
      "name": "updateFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Author Names or IDs",
          "name": "authors",
          "type": "multiOptions",
          "description": "Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
          "typeOptions": {
            "loadOptionsMethod": "getAuthors"
          },
          "default": []
        },
        {
          "displayName": "Cannonical URL",
          "name": "canonical_url",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Code Injection Foot",
          "name": "codeinjection_foot",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Code Injection Head",
          "name": "codeinjection_head",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Content",
          "name": "content",
          "type": "string",
          "displayOptions": {
            "show": {
              "/contentFormat": [
                "html"
              ]
            }
          },
          "default": ""
        },
        {
          "displayName": "Content (JSON)",
          "name": "contentJson",
          "type": "json",
          "displayOptions": {
            "show": {
              "/contentFormat": [
                "mobileDoc"
              ]
            }
          },
          "default": "",
          "description": "Mobiledoc is the raw JSON format that Ghost uses to store post contents. <a href=\"https://ghost.org/docs/concepts/posts/#document-storage\">Info.</a>."
        },
        {
          "displayName": "Content (JSON)",
          "name": "contentJson",
          "type": "json",
          "displayOptions": {
            "show": {
              "/contentFormat": [
                "lexical"
              ]
            }
          },
          "default": "",
          "description": "Lexical is the JSON format returned by the Ghost Default editor"
        },
        {
          "displayName": "Featured",
          "name": "featured",
          "type": "boolean",
          "default": false
        },
        {
          "displayName": "Meta Description",
          "name": "meta_description",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Meta Title",
          "name": "meta_title",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Open Graph Description",
          "name": "og_description",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Open Graph Image",
          "name": "og_image",
          "type": "string",
          "default": "",
          "description": "URL of the image"
        },
        {
          "displayName": "Open Graph Title",
          "name": "og_title",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Published At",
          "name": "published_at",
          "type": "dateTime",
          "default": ""
        },
        {
          "displayName": "Slug",
          "name": "slug",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Status",
          "name": "status",
          "type": "options",
          "options": [
            {
              "name": "Draft",
              "value": "draft"
            },
            {
              "name": "Published",
              "value": "published"
            },
            {
              "name": "Scheduled",
              "value": "scheduled"
            }
          ],
          "default": "draft"
        },
        {
          "displayName": "Tag Names or IDs",
          "name": "tags",
          "type": "multiOptions",
          "description": "Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
          "typeOptions": {
            "loadOptionsMethod": "getTags"
          },
          "default": []
        },
        {
          "displayName": "Title",
          "name": "title",
          "type": "string",
          "default": "",
          "description": "Post's title"
        },
        {
          "displayName": "Twitter Description",
          "name": "twitter_description",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Twitter Image",
          "name": "twitter_image",
          "type": "string",
          "default": "",
          "description": "URL of the image"
        },
        {
          "displayName": "Twitter Title",
          "name": "twitter_title",
          "type": "string",
          "default": ""
        }
      ],
      "displayOptions": {
        "show": {
          "source": [
            "adminApi"
          ],
          "resource": [
            "post"
          ],
          "operation": [
            "update"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "get",
      "name": "Get",
      "description": "Get a post"
    },
    {
      "operation": "getAll",
      "name": "Get Many",
      "description": "Get many posts"
    }
  ]

credentials_required:
  [
    {
      "name": "ghostAdminApi",
      "required": true,
      "displayOptions": {
        "show": {
          "source": [
            "adminApi"
          ]
        }
      }
    },
    {
      "name": "ghostContentApi",
      "required": true,
      "displayOptions": {
        "show": {
          "source": [
            "contentApi"
          ]
        }
      }
    }
  ]


node_type: nodes-base.gitTool
package_name: n8n-nodes-base
display_name: Git Tool
description: Control git. (AI Tool variant for use with AI Agents)
category: transform
development_style: programmatic
version: 1.1
outputs:
  [
  {
  "type": "ai_tool",
  "displayName": "Tool"
  }
  ]

output_names:
  [
  "Tool"
  ]

updated_at: 2026-03-04 11:46:57
tool_variant_of: nodes-base.git
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Git
  description: Documentation for the Git node in n8n, a workflow automation platform. Includes guidance on usage, and links to examples.
  contentType: [integration, reference]
  ---

  # Git

  [Git](https://git-scm.com/) is a free and open-source distributed version control system designed to handle everything from small to large projects with speed and efficiency.

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

  ## Operations

  * [**Add**](#add) a file or folder to commit. Performs a [git add](https://git-scm.com/docs/git-add){:target=_blank .external-link}.
  * [**Add Config**](#add-config): Add configuration property. Performs a [git config](https://git-scm.com/docs/git-config){:target=_blank .external-link} set or add.
  * [**Clone**](#clone) a repository: Performs a [git clone](https://git-scm.com/docs/git-clone){:target=_blank .external-link}.
  * [**Commit**](#commit) files or folders to git. Performs a [git commit](https://git-scm.com/docs/git-commit){:target=_blank .external-link}.
  * [**Fetch**](#fetch) from remote repository. Performs a [git fetch](https://git-scm.com/docs/git-fetch){:target=_blank .external-link}.
  * [**List Config**](#list-config): Return current configuration. Performs a [git config](https://git-scm.com/docs/git-config){:target=_blank .external-link} query.
  * [**Log**](#log): Return git commit history. Performs a [git log](https://git-scm.com/docs/git-log){:target=_blank .external-link}.
  * [**Pull**](#pull) from remote repository: Performs a [git pull](https://git-scm.com/docs/git-pull){:target=_blank .external-link}.
  * [**Push**](#push) to remote repository: Performs a [git push](https://git-scm.com/docs/git-push){:target=_blank .external-link}.
  * [**Push Tags**](#push-tags) to remote repository: Performs a [git push --tags](https://git-scm.com/docs/git-push#Documentation/git-push.txt---tags){:target=_blank .external-link}.
  * Return [**Status**](#status) of current repository: Performs a [git status](https://git-scm.com/docs/git-status){:target=_blank .external-link}.
  * Create a new [**Tag**](#tag): Performs a [git tag](https://git-scm.com/docs/git-tag){:target=_blank .external-link}.
  * [**User Setup**](#user-setup): Set the user.

  Refer to the sections below for more details on the parameters and options for each operation.

  ## Add

  Configure this operation with these parameters:

  * **Repository Path**: Enter the local path of the git repository.
  * **Paths to Add**: Enter a comma-separated list of paths of files or folders to add in this field. You can use absolute paths or relative paths from the **Repository Path**.

  <!--Vale doesn't like "Config"-->
  <!-- vale off -->
  ## Add Config

  Configure this operation with these parameters:

  * **Repository Path**: Enter the local path of the git repository.
  * **Key**: Enter the name of the key to set.
  * **Value**: Enter the value of the key to set.

  ### Add Config options

  The add config operation adds the **Mode** option. Choose whether to **Set** or **Append** the setting in the local config.
  <!-- vale on -->

  ## Clone

  Configure this operation with these parameters:

  * **Repository Path**: Enter the local path of the git repository.
  * **Authentication**: Select **Authenticate** to pass credentials in. Select **None** to not use authentication.
      * **Credential for Git**: If you select **Authenticate**, you must select or create credentials for the node to use. Refer to [Git credential](/integrations/builtin/credentials/git.md) for more information.
  * **New Repository Path**: Enter the local path where you'd like to locate the cloned repository.
  * **Source Repository**: Enter the URL or path of the repository you want to clone.

  ## Commit

  Configure this operation with these parameters:

  * **Repository Path**: Enter the local path of the git repository.
  * **Message**: Enter the commit message to use in this field.

  ### Commit options

  The commit operation adds the **Paths to Add** option. To commit all "added" files and folders, leave this field blank. To commit specific "added" files and folders, enter a comma-separated list of paths of files or folders in this field.

  You can use absolute paths or relative paths from the **Repository Path**.

  ## Fetch

  This operation only prompts you to enter the local path of the git repository in the **Repository Path** parameter.

  <!--Vale doesn't like "Config"-->
  <!-- vale off -->
  ## List Config

  This operation only prompts you to enter the local path of the git repository in the **Repository Path** parameter.
  <!-- vale on -->

  ## Log

  Configure this operation with these parameters:

  * **Repository Path**: Enter the local path of the git repository.
  * **Return All**: When turned on, the node will return all results. When turned off, the node will return results up to the set **Limit**.
  * **Limit**: Only available when you turn off **Return All**. Enter the maximum number of results to return.

  ### Log options

  The log operation adds the **File** option. Enter the path of a file or folder to get the history of in this field.

  You can use absolute paths or relative paths from the **Repository Path**.

  ## Pull

  This operation only prompts you to enter the local path of the git repository in the **Repository Path** parameter.

  ## Push

  Configure this operation with these parameters:

  * **Repository Path**: Enter the local path of the git repository.
  * **Authentication**: Select **Authenticate** to pass credentials in or **None** to not use authentication.
      * If you select **Authenticate**, you must select or create **Credential for Git** for the node to use. Refer to [Git credential](/integrations/builtin/credentials/git.md) for more information.

  ### Push options

  The push operation adds the **Target Repository** option. Enter the URL or path of the repository to push to in this field.

  ## Push Tags

  This operation only prompts you to enter the local path of the git repository in the **Repository Path** parameter.

  ## Status

  This operation only prompts you to enter the local path of the git repository in the **Repository Path** parameter.

  ## Tag

  Configure this operation with these parameters:

  * **Repository Path**: Enter the local path of the git repository.
  * **Name**: Enter the name of the tag to create in this field.

  ## User Setup

  This operation only prompts you to enter the local path of the git repository in the **Repository Path** parameter.

  ## Templates and examples

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

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 Git"
    },
    {
      "displayName": "Authentication",
      "name": "authentication",
      "type": "options",
      "default": "none",
      "description": "The way to authenticate",
      "options": [
        {
          "name": "Authenticate",
          "value": "gitPassword"
        },
        {
          "name": "None",
          "value": "none"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "clone",
            "push"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "log",
      "options": [
        {
          "name": "Add",
          "value": "add",
          "description": "Add a file or folder to commit",
          "action": "Add a file or folder to commit"
        },
        {
          "name": "Add Config",
          "value": "addConfig",
          "description": "Add configuration property",
          "action": "Add configuration property"
        },
        {
          "name": "Clone",
          "value": "clone",
          "description": "Clone a repository",
          "action": "Clone a repository"
        },
        {
          "name": "Commit",
          "value": "commit",
          "description": "Commit files or folders to git",
          "action": "Commit files or folders to git"
        },
        {
          "name": "Fetch",
          "value": "fetch",
          "description": "Fetch from remote repository",
          "action": "Fetch from remote repository"
        },
        {
          "name": "List Config",
          "value": "listConfig",
          "description": "Return current configuration",
          "action": "Return current configuration"
        },
        {
          "name": "Log",
          "value": "log",
          "description": "Return git commit history",
          "action": "Return git commit history"
        },
        {
          "name": "Pull",
          "value": "pull",
          "description": "Pull from remote repository",
          "action": "Pull from remote repository"
        },
        {
          "name": "Push",
          "value": "push",
          "description": "Push to remote repository",
          "action": "Push to remote repository"
        },
        {
          "name": "Push Tags",
          "value": "pushTags",
          "description": "Push Tags to remote repository",
          "action": "Push tags to remote repository"
        },
        {
          "name": "Reflog",
          "value": "reflog",
          "description": "Return reference log",
          "action": "Return reference log"
        },
        {
          "name": "Status",
          "value": "status",
          "description": "Return status of current repository",
          "action": "Return status of current repository"
        },
        {
          "name": "Switch Branch",
          "value": "switchBranch",
          "description": "Switch to a different branch",
          "action": "Switch to a different branch"
        },
        {
          "name": "Tag",
          "value": "tag",
          "description": "Create a new tag",
          "action": "Create a new tag"
        },
        {
          "name": "User Setup",
          "value": "userSetup",
          "description": "Set the user",
          "action": "Set up a user"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Repository Path",
      "name": "repositoryPath",
      "type": "string",
      "default": "",
      "description": "Local path of the git repository to operate on",
      "required": true,
      "displayOptions": {
        "hide": {
          "operation": [
            "clone"
          ]
        }
      }
    },
    {
      "displayName": "New Repository Path",
      "name": "repositoryPath",
      "type": "string",
      "default": "",
      "description": "Local path to which the git repository should be cloned into",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "clone"
          ]
        }
      }
    },
    {
      "displayName": "Paths to Add",
      "name": "pathsToAdd",
      "type": "string",
      "default": "",
      "description": "Comma-separated list of paths (absolute or relative to Repository Path) of files or folders to add",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "add"
          ]
        }
      }
    },
    {
      "displayName": "Key",
      "name": "key",
      "type": "options",
      "default": "",
      "description": "Name of the key to set",
      "options": [
        {
          "name": "user.email",
          "value": "user.email"
        },
        {
          "name": "user.name",
          "value": "user.name"
        },
        {
          "name": "remote.origin.url",
          "value": "remote.origin.url"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "addConfig"
          ],
          "@version": [
            {
              "_cnd": {
                "gte": 1.1
              }
            }
          ]
        }
      }
    },
    {
      "displayName": "Key",
      "name": "key",
      "type": "string",
      "default": "",
      "description": "Name of the key to set",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "addConfig"
          ],
          "@version": [
            {
              "_cnd": {
                "lt": 1.1
              }
            }
          ]
        }
      }
    },
    {
      "displayName": "Value",
      "name": "value",
      "type": "string",
      "default": "",
      "description": "Value of the key to set",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "addConfig"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Mode",
          "name": "mode",
          "type": "options",
          "options": [
            {
              "name": "Append",
              "value": "append"
            },
            {
              "name": "Set",
              "value": "set"
            }
          ],
          "default": "set",
          "description": "Append setting rather than set it in the local config"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "addConfig"
          ]
        }
      }
    },
    {
      "displayName": "Source Repository",
      "name": "sourceRepository",
      "type": "string",
      "default": "",
      "description": "The URL or path of the repository to clone",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "clone"
          ]
        }
      }
    },
    {
      "displayName": "Message",
      "name": "message",
      "type": "string",
      "default": "",
      "description": "The commit message to use",
      "displayOptions": {
        "show": {
          "operation": [
            "commit"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Branch",
          "name": "branch",
          "type": "string",
          "default": "",
          "placeholder": "main",
          "description": "The branch to switch to before committing. If empty or not set, will commit to current branch."
        },
        {
          "displayName": "Paths to Add",
          "name": "pathsToAdd",
          "type": "string",
          "default": "",
          "placeholder": "/data/file1.json",
          "description": "Comma-separated list of paths (absolute or relative to Repository Path) of files or folders to commit. If not set will all \"added\" files and folders be committed."
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "commit"
          ]
        }
      }
    },
    {
      "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": [
            "log"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "operation": [
            "log"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "File",
          "name": "file",
          "type": "string",
          "default": "README.md",
          "description": "The path (absolute or relative to Repository Path) of file or folder to get the history of"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "log"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Branch",
          "name": "branch",
          "type": "string",
          "default": "",
          "placeholder": "main",
          "description": "The branch to switch to before pushing. If empty or not set, will push current branch."
        },
        {
          "displayName": "Target Repository",
          "name": "targetRepository",
          "type": "string",
          "default": "",
          "placeholder": "https://github.com/n8n-io/n8n",
          "description": "The URL or path of the repository to push to"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "push"
          ]
        }
      }
    },
    {
      "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": [
            "reflog"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "operation": [
            "reflog"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Reference",
          "name": "reference",
          "type": "string",
          "default": "",
          "placeholder": "HEAD",
          "description": "The reference to show the reflog for (e.g., HEAD, branch name). Leave empty for HEAD."
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "reflog"
          ]
        }
      }
    },
    {
      "displayName": "Branch Name",
      "name": "branchName",
      "type": "string",
      "default": "",
      "description": "The name of the branch to switch to",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "switchBranch"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Create Branch If Not Exists",
          "name": "createBranch",
          "type": "boolean",
          "default": true,
          "description": "Whether to create the branch if it does not exist"
        },
        {
          "displayName": "Start Point",
          "name": "startPoint",
          "type": "string",
          "default": "",
          "placeholder": "main",
          "description": "The commit/branch/tag to create the new branch from. If not set, creates from current HEAD.",
          "displayOptions": {
            "show": {
              "createBranch": [
                true
              ]
            }
          }
        },
        {
          "displayName": "Force Switch",
          "name": "force",
          "type": "boolean",
          "default": false,
          "description": "Whether to force the branch switch, discarding any local changes"
        },
        {
          "displayName": "Set Upstream",
          "name": "setUpstream",
          "type": "boolean",
          "default": false,
          "description": "Whether to set up tracking to a remote branch when creating a new branch",
          "displayOptions": {
            "show": {
              "createBranch": [
                true
              ]
            }
          }
        },
        {
          "displayName": "Remote Name",
          "name": "remoteName",
          "type": "string",
          "default": "origin",
          "placeholder": "origin",
          "description": "The name of the remote to track",
          "displayOptions": {
            "show": {
              "createBranch": [
                true
              ],
              "setUpstream": [
                true
              ]
            }
          }
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "switchBranch"
          ]
        }
      }
    },
    {
      "displayName": "Name",
      "name": "name",
      "type": "string",
      "default": "",
      "description": "The name of the tag to create",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "tag"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "add",
      "name": "Add",
      "description": "Add a file or folder to commit"
    },
    {
      "operation": "addConfig",
      "name": "Add Config",
      "description": "Add configuration property"
    },
    {
      "operation": "clone",
      "name": "Clone",
      "description": "Clone a repository"
    },
    {
      "operation": "commit",
      "name": "Commit",
      "description": "Commit files or folders to git"
    },
    {
      "operation": "fetch",
      "name": "Fetch",
      "description": "Fetch from remote repository"
    },
    {
      "operation": "listConfig",
      "name": "List Config",
      "description": "Return current configuration"
    },
    {
      "operation": "log",
      "name": "Log",
      "description": "Return git commit history"
    },
    {
      "operation": "pull",
      "name": "Pull",
      "description": "Pull from remote repository"
    },
    {
      "operation": "push",
      "name": "Push",
      "description": "Push to remote repository"
    },
    {
      "operation": "pushTags",
      "name": "Push Tags",
      "description": "Push Tags to remote repository"
    },
    {
      "operation": "reflog",
      "name": "Reflog",
      "description": "Return reference log"
    },
    {
      "operation": "status",
      "name": "Status",
      "description": "Return status of current repository"
    },
    {
      "operation": "switchBranch",
      "name": "Switch Branch",
      "description": "Switch to a different branch"
    },
    {
      "operation": "tag",
      "name": "Tag",
      "description": "Create a new tag"
    },
    {
      "operation": "userSetup",
      "name": "User Setup",
      "description": "Set the user"
    }
  ]

credentials_required:
  [
    {
      "name": "gitPassword",
      "required": true,
      "displayOptions": {
        "show": {
          "authentication": [
            "gitPassword"
          ]
        }
      }
    }
  ]


node_type: nodes-base.git
package_name: n8n-nodes-base
display_name: Git
description: Control git.
category: transform
development_style: programmatic
version: 1.1
outputs:
  [
  "main"
  ]

updated_at: 2026-03-04 11:46:57
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Git
  description: Documentation for the Git node in n8n, a workflow automation platform. Includes guidance on usage, and links to examples.
  contentType: [integration, reference]
  ---

  # Git

  [Git](https://git-scm.com/) is a free and open-source distributed version control system designed to handle everything from small to large projects with speed and efficiency.

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

  ## Operations

  * [**Add**](#add) a file or folder to commit. Performs a [git add](https://git-scm.com/docs/git-add){:target=_blank .external-link}.
  * [**Add Config**](#add-config): Add configuration property. Performs a [git config](https://git-scm.com/docs/git-config){:target=_blank .external-link} set or add.
  * [**Clone**](#clone) a repository: Performs a [git clone](https://git-scm.com/docs/git-clone){:target=_blank .external-link}.
  * [**Commit**](#commit) files or folders to git. Performs a [git commit](https://git-scm.com/docs/git-commit){:target=_blank .external-link}.
  * [**Fetch**](#fetch) from remote repository. Performs a [git fetch](https://git-scm.com/docs/git-fetch){:target=_blank .external-link}.
  * [**List Config**](#list-config): Return current configuration. Performs a [git config](https://git-scm.com/docs/git-config){:target=_blank .external-link} query.
  * [**Log**](#log): Return git commit history. Performs a [git log](https://git-scm.com/docs/git-log){:target=_blank .external-link}.
  * [**Pull**](#pull) from remote repository: Performs a [git pull](https://git-scm.com/docs/git-pull){:target=_blank .external-link}.
  * [**Push**](#push) to remote repository: Performs a [git push](https://git-scm.com/docs/git-push){:target=_blank .external-link}.
  * [**Push Tags**](#push-tags) to remote repository: Performs a [git push --tags](https://git-scm.com/docs/git-push#Documentation/git-push.txt---tags){:target=_blank .external-link}.
  * Return [**Status**](#status) of current repository: Performs a [git status](https://git-scm.com/docs/git-status){:target=_blank .external-link}.
  * Create a new [**Tag**](#tag): Performs a [git tag](https://git-scm.com/docs/git-tag){:target=_blank .external-link}.
  * [**User Setup**](#user-setup): Set the user.

  Refer to the sections below for more details on the parameters and options for each operation.

  ## Add

  Configure this operation with these parameters:

  * **Repository Path**: Enter the local path of the git repository.
  * **Paths to Add**: Enter a comma-separated list of paths of files or folders to add in this field. You can use absolute paths or relative paths from the **Repository Path**.

  <!--Vale doesn't like "Config"-->
  <!-- vale off -->
  ## Add Config

  Configure this operation with these parameters:

  * **Repository Path**: Enter the local path of the git repository.
  * **Key**: Enter the name of the key to set.
  * **Value**: Enter the value of the key to set.

  ### Add Config options

  The add config operation adds the **Mode** option. Choose whether to **Set** or **Append** the setting in the local config.
  <!-- vale on -->

  ## Clone

  Configure this operation with these parameters:

  * **Repository Path**: Enter the local path of the git repository.
  * **Authentication**: Select **Authenticate** to pass credentials in. Select **None** to not use authentication.
      * **Credential for Git**: If you select **Authenticate**, you must select or create credentials for the node to use. Refer to [Git credential](/integrations/builtin/credentials/git.md) for more information.
  * **New Repository Path**: Enter the local path where you'd like to locate the cloned repository.
  * **Source Repository**: Enter the URL or path of the repository you want to clone.

  ## Commit

  Configure this operation with these parameters:

  * **Repository Path**: Enter the local path of the git repository.
  * **Message**: Enter the commit message to use in this field.

  ### Commit options

  The commit operation adds the **Paths to Add** option. To commit all "added" files and folders, leave this field blank. To commit specific "added" files and folders, enter a comma-separated list of paths of files or folders in this field.

  You can use absolute paths or relative paths from the **Repository Path**.

  ## Fetch

  This operation only prompts you to enter the local path of the git repository in the **Repository Path** parameter.

  <!--Vale doesn't like "Config"-->
  <!-- vale off -->
  ## List Config

  This operation only prompts you to enter the local path of the git repository in the **Repository Path** parameter.
  <!-- vale on -->

  ## Log

  Configure this operation with these parameters:

  * **Repository Path**: Enter the local path of the git repository.
  * **Return All**: When turned on, the node will return all results. When turned off, the node will return results up to the set **Limit**.
  * **Limit**: Only available when you turn off **Return All**. Enter the maximum number of results to return.

  ### Log options

  The log operation adds the **File** option. Enter the path of a file or folder to get the history of in this field.

  You can use absolute paths or relative paths from the **Repository Path**.

  ## Pull

  This operation only prompts you to enter the local path of the git repository in the **Repository Path** parameter.

  ## Push

  Configure this operation with these parameters:

  * **Repository Path**: Enter the local path of the git repository.
  * **Authentication**: Select **Authenticate** to pass credentials in or **None** to not use authentication.
      * If you select **Authenticate**, you must select or create **Credential for Git** for the node to use. Refer to [Git credential](/integrations/builtin/credentials/git.md) for more information.

  ### Push options

  The push operation adds the **Target Repository** option. Enter the URL or path of the repository to push to in this field.

  ## Push Tags

  This operation only prompts you to enter the local path of the git repository in the **Repository Path** parameter.

  ## Status

  This operation only prompts you to enter the local path of the git repository in the **Repository Path** parameter.

  ## Tag

  Configure this operation with these parameters:

  * **Repository Path**: Enter the local path of the git repository.
  * **Name**: Enter the name of the tag to create in this field.

  ## User Setup

  This operation only prompts you to enter the local path of the git repository in the **Repository Path** parameter.

  ## Templates and examples

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

properties_schema:
  [
    {
      "displayName": "Authentication",
      "name": "authentication",
      "type": "options",
      "default": "none",
      "description": "The way to authenticate",
      "options": [
        {
          "name": "Authenticate",
          "value": "gitPassword"
        },
        {
          "name": "None",
          "value": "none"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "clone",
            "push"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "log",
      "options": [
        {
          "name": "Add",
          "value": "add",
          "description": "Add a file or folder to commit",
          "action": "Add a file or folder to commit"
        },
        {
          "name": "Add Config",
          "value": "addConfig",
          "description": "Add configuration property",
          "action": "Add configuration property"
        },
        {
          "name": "Clone",
          "value": "clone",
          "description": "Clone a repository",
          "action": "Clone a repository"
        },
        {
          "name": "Commit",
          "value": "commit",
          "description": "Commit files or folders to git",
          "action": "Commit files or folders to git"
        },
        {
          "name": "Fetch",
          "value": "fetch",
          "description": "Fetch from remote repository",
          "action": "Fetch from remote repository"
        },
        {
          "name": "List Config",
          "value": "listConfig",
          "description": "Return current configuration",
          "action": "Return current configuration"
        },
        {
          "name": "Log",
          "value": "log",
          "description": "Return git commit history",
          "action": "Return git commit history"
        },
        {
          "name": "Pull",
          "value": "pull",
          "description": "Pull from remote repository",
          "action": "Pull from remote repository"
        },
        {
          "name": "Push",
          "value": "push",
          "description": "Push to remote repository",
          "action": "Push to remote repository"
        },
        {
          "name": "Push Tags",
          "value": "pushTags",
          "description": "Push Tags to remote repository",
          "action": "Push tags to remote repository"
        },
        {
          "name": "Reflog",
          "value": "reflog",
          "description": "Return reference log",
          "action": "Return reference log"
        },
        {
          "name": "Status",
          "value": "status",
          "description": "Return status of current repository",
          "action": "Return status of current repository"
        },
        {
          "name": "Switch Branch",
          "value": "switchBranch",
          "description": "Switch to a different branch",
          "action": "Switch to a different branch"
        },
        {
          "name": "Tag",
          "value": "tag",
          "description": "Create a new tag",
          "action": "Create a new tag"
        },
        {
          "name": "User Setup",
          "value": "userSetup",
          "description": "Set the user",
          "action": "Set up a user"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Repository Path",
      "name": "repositoryPath",
      "type": "string",
      "default": "",
      "description": "Local path of the git repository to operate on",
      "required": true,
      "displayOptions": {
        "hide": {
          "operation": [
            "clone"
          ]
        }
      }
    },
    {
      "displayName": "New Repository Path",
      "name": "repositoryPath",
      "type": "string",
      "default": "",
      "description": "Local path to which the git repository should be cloned into",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "clone"
          ]
        }
      }
    },
    {
      "displayName": "Paths to Add",
      "name": "pathsToAdd",
      "type": "string",
      "default": "",
      "description": "Comma-separated list of paths (absolute or relative to Repository Path) of files or folders to add",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "add"
          ]
        }
      }
    },
    {
      "displayName": "Key",
      "name": "key",
      "type": "options",
      "default": "",
      "description": "Name of the key to set",
      "options": [
        {
          "name": "user.email",
          "value": "user.email"
        },
        {
          "name": "user.name",
          "value": "user.name"
        },
        {
          "name": "remote.origin.url",
          "value": "remote.origin.url"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "addConfig"
          ],
          "@version": [
            {
              "_cnd": {
                "gte": 1.1
              }
            }
          ]
        }
      }
    },
    {
      "displayName": "Key",
      "name": "key",
      "type": "string",
      "default": "",
      "description": "Name of the key to set",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "addConfig"
          ],
          "@version": [
            {
              "_cnd": {
                "lt": 1.1
              }
            }
          ]
        }
      }
    },
    {
      "displayName": "Value",
      "name": "value",
      "type": "string",
      "default": "",
      "description": "Value of the key to set",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "addConfig"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Mode",
          "name": "mode",
          "type": "options",
          "options": [
            {
              "name": "Append",
              "value": "append"
            },
            {
              "name": "Set",
              "value": "set"
            }
          ],
          "default": "set",
          "description": "Append setting rather than set it in the local config"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "addConfig"
          ]
        }
      }
    },
    {
      "displayName": "Source Repository",
      "name": "sourceRepository",
      "type": "string",
      "default": "",
      "description": "The URL or path of the repository to clone",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "clone"
          ]
        }
      }
    },
    {
      "displayName": "Message",
      "name": "message",
      "type": "string",
      "default": "",
      "description": "The commit message to use",
      "displayOptions": {
        "show": {
          "operation": [
            "commit"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Branch",
          "name": "branch",
          "type": "string",
          "default": "",
          "placeholder": "main",
          "description": "The branch to switch to before committing. If empty or not set, will commit to current branch."
        },
        {
          "displayName": "Paths to Add",
          "name": "pathsToAdd",
          "type": "string",
          "default": "",
          "placeholder": "/data/file1.json",
          "description": "Comma-separated list of paths (absolute or relative to Repository Path) of files or folders to commit. If not set will all \"added\" files and folders be committed."
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "commit"
          ]
        }
      }
    },
    {
      "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": [
            "log"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "operation": [
            "log"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "File",
          "name": "file",
          "type": "string",
          "default": "README.md",
          "description": "The path (absolute or relative to Repository Path) of file or folder to get the history of"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "log"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Branch",
          "name": "branch",
          "type": "string",
          "default": "",
          "placeholder": "main",
          "description": "The branch to switch to before pushing. If empty or not set, will push current branch."
        },
        {
          "displayName": "Target Repository",
          "name": "targetRepository",
          "type": "string",
          "default": "",
          "placeholder": "https://github.com/n8n-io/n8n",
          "description": "The URL or path of the repository to push to"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "push"
          ]
        }
      }
    },
    {
      "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": [
            "reflog"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "operation": [
            "reflog"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Reference",
          "name": "reference",
          "type": "string",
          "default": "",
          "placeholder": "HEAD",
          "description": "The reference to show the reflog for (e.g., HEAD, branch name). Leave empty for HEAD."
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "reflog"
          ]
        }
      }
    },
    {
      "displayName": "Branch Name",
      "name": "branchName",
      "type": "string",
      "default": "",
      "description": "The name of the branch to switch to",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "switchBranch"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Create Branch If Not Exists",
          "name": "createBranch",
          "type": "boolean",
          "default": true,
          "description": "Whether to create the branch if it does not exist"
        },
        {
          "displayName": "Start Point",
          "name": "startPoint",
          "type": "string",
          "default": "",
          "placeholder": "main",
          "description": "The commit/branch/tag to create the new branch from. If not set, creates from current HEAD.",
          "displayOptions": {
            "show": {
              "createBranch": [
                true
              ]
            }
          }
        },
        {
          "displayName": "Force Switch",
          "name": "force",
          "type": "boolean",
          "default": false,
          "description": "Whether to force the branch switch, discarding any local changes"
        },
        {
          "displayName": "Set Upstream",
          "name": "setUpstream",
          "type": "boolean",
          "default": false,
          "description": "Whether to set up tracking to a remote branch when creating a new branch",
          "displayOptions": {
            "show": {
              "createBranch": [
                true
              ]
            }
          }
        },
        {
          "displayName": "Remote Name",
          "name": "remoteName",
          "type": "string",
          "default": "origin",
          "placeholder": "origin",
          "description": "The name of the remote to track",
          "displayOptions": {
            "show": {
              "createBranch": [
                true
              ],
              "setUpstream": [
                true
              ]
            }
          }
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "switchBranch"
          ]
        }
      }
    },
    {
      "displayName": "Name",
      "name": "name",
      "type": "string",
      "default": "",
      "description": "The name of the tag to create",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "tag"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "add",
      "name": "Add",
      "description": "Add a file or folder to commit"
    },
    {
      "operation": "addConfig",
      "name": "Add Config",
      "description": "Add configuration property"
    },
    {
      "operation": "clone",
      "name": "Clone",
      "description": "Clone a repository"
    },
    {
      "operation": "commit",
      "name": "Commit",
      "description": "Commit files or folders to git"
    },
    {
      "operation": "fetch",
      "name": "Fetch",
      "description": "Fetch from remote repository"
    },
    {
      "operation": "listConfig",
      "name": "List Config",
      "description": "Return current configuration"
    },
    {
      "operation": "log",
      "name": "Log",
      "description": "Return git commit history"
    },
    {
      "operation": "pull",
      "name": "Pull",
      "description": "Pull from remote repository"
    },
    {
      "operation": "push",
      "name": "Push",
      "description": "Push to remote repository"
    },
    {
      "operation": "pushTags",
      "name": "Push Tags",
      "description": "Push Tags to remote repository"
    },
    {
      "operation": "reflog",
      "name": "Reflog",
      "description": "Return reference log"
    },
    {
      "operation": "status",
      "name": "Status",
      "description": "Return status of current repository"
    },
    {
      "operation": "switchBranch",
      "name": "Switch Branch",
      "description": "Switch to a different branch"
    },
    {
      "operation": "tag",
      "name": "Tag",
      "description": "Create a new tag"
    },
    {
      "operation": "userSetup",
      "name": "User Setup",
      "description": "Set the user"
    }
  ]

credentials_required:
  [
    {
      "name": "gitPassword",
      "required": true,
      "displayOptions": {
        "show": {
          "authentication": [
            "gitPassword"
          ]
        }
      }
    }
  ]


node_type: nodes-base.githubTool
package_name: n8n-nodes-base
display_name: GitHub Tool
description: Consume GitHub API (AI Tool variant for use with AI Agents)
category: input
development_style: programmatic
version: 1.1
outputs:
  [
  {
  "type": "ai_tool",
  "displayName": "Tool"
  }
  ]

output_names:
  [
  "Tool"
  ]

updated_at: 2026-03-04 11:46:57
tool_variant_of: nodes-base.github
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: GitHub node documentation
  description: Learn how to use the GitHub node in n8n. Follow technical documentation to integrate GitHub node into your workflows.
  contentType: [integration, reference]
  priority: medium
  ---

  # GitHub node

  Use the GitHub node to automate work in GitHub, and integrate GitHub with other applications. n8n has built-in support for a wide range of GitHub features, including creating, updating, deleting, and editing files, repositories, issues, releases, and users. 

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

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

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

  ## Operations

  * File
  	* Create
  	* Delete
  	* Edit
  	* Get
  	* List
  * Issue
  	* Create
  	* Create Comment
  	* Edit
  	* Get
  	* Lock
  * Organization
  	* Get Repositories
  * Release
  	* Create
  	* Delete
  	* Get
  	* Get Many
  	* Update
  * Repository
      * Get
  	* Get Issues
  	* Get License
  	* Get Profile
  	* Get Pull Requests
  	* List Popular Paths
  	* List Referrers
  * Review
  	* Create
  	* Get
  	* Get Many
  	* Update
  * User
      * Get Repositories
      * Invite
  * Workflow
  	* Disable
  	* Dispatch
  	* Enable
  	* Get
  	* Get Usage
  	* List

  ## Templates and examples

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

  --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 GitHub"
    },
    {
      "displayName": "Authentication",
      "name": "authentication",
      "type": "options",
      "default": "accessToken",
      "options": [
        {
          "name": "Access Token",
          "value": "accessToken"
        },
        {
          "name": "OAuth2",
          "value": "oAuth2"
        }
      ]
    },
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "issue",
      "options": [
        {
          "name": "File",
          "value": "file"
        },
        {
          "name": "Issue",
          "value": "issue"
        },
        {
          "name": "Organization",
          "value": "organization"
        },
        {
          "name": "Release",
          "value": "release"
        },
        {
          "name": "Repository",
          "value": "repository"
        },
        {
          "name": "Review",
          "value": "review"
        },
        {
          "name": "User",
          "value": "user"
        },
        {
          "name": "Workflow",
          "value": "workflow"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "getRepositories",
      "options": [
        {
          "name": "Get Repositories",
          "value": "getRepositories",
          "description": "Returns all repositories of an organization",
          "action": "Get repositories for an organization"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "organization"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a new issue",
          "action": "Create an issue"
        },
        {
          "name": "Create Comment",
          "value": "createComment",
          "description": "Create a new comment on an issue",
          "action": "Create a comment on an issue"
        },
        {
          "name": "Edit",
          "value": "edit",
          "description": "Edit an issue",
          "action": "Edit an issue"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get the data of a single issue",
          "action": "Get an issue"
        },
        {
          "name": "Lock",
          "value": "lock",
          "description": "Lock an issue",
          "action": "Lock an issue"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a new file in repository",
          "action": "Create a file"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a file in repository",
          "action": "Delete a file"
        },
        {
          "name": "Edit",
          "value": "edit",
          "description": "Edit a file in repository",
          "action": "Edit a file"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get the data of a single file",
          "action": "Get a file"
        },
        {
          "name": "List",
          "value": "list",
          "description": "List contents of a folder",
          "action": "List files"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "getIssues",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "description": "Get the data of a single repository",
          "action": "Get a repository"
        },
        {
          "name": "Get Issues",
          "value": "getIssues",
          "description": "Returns issues of a repository",
          "action": "Get issues of a repository"
        },
        {
          "name": "Get License",
          "value": "getLicense",
          "description": "Returns the contents of the repository's license file, if one is detected",
          "action": "Get the license of a repository"
        },
        {
          "name": "Get Profile",
          "value": "getProfile",
          "description": "Get the community profile of a repository with metrics, health score, description, license, etc",
          "action": "Get the profile of a repository"
        },
        {
          "name": "Get Pull Requests",
          "value": "getPullRequests",
          "description": "Returns pull requests of a repository",
          "action": "Get pull requests of a repository"
        },
        {
          "name": "List Popular Paths",
          "value": "listPopularPaths",
          "description": "Get the top 10 popular content paths over the last 14 days",
          "action": "List popular paths in a repository"
        },
        {
          "name": "List Referrers",
          "value": "listReferrers",
          "description": "Get the top 10 referrering domains over the last 14 days",
          "action": "List the top referrers of a repository"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "repository"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "getRepositories",
      "options": [
        {
          "name": "Get Repositories",
          "value": "getRepositories",
          "description": "Returns the repositories of a user",
          "action": "Get a user's repositories"
        },
        {
          "name": "Get Issues",
          "value": "getUserIssues",
          "description": "Returns the issues assigned to the user",
          "action": "Get a user's issues"
        },
        {
          "name": "Invite",
          "value": "invite",
          "description": "Invites a user to an organization",
          "action": "Invite a user"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Creates a new release",
          "action": "Create a release"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a release",
          "action": "Delete a release"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get a release",
          "action": "Get a release"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many repository releases",
          "action": "Get many releases"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update a release",
          "action": "Update a release"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "release"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Creates a new review",
          "action": "Create a review"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get a review for a pull request",
          "action": "Get a review"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many reviews for a pull request",
          "action": "Get many reviews"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update a review",
          "action": "Update a review"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "review"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "dispatch",
      "options": [
        {
          "name": "Disable",
          "value": "disable",
          "description": "Disable a workflow",
          "action": "Disable a workflow"
        },
        {
          "name": "Dispatch",
          "value": "dispatch",
          "description": "Dispatch a workflow event",
          "action": "Dispatch a workflow event"
        },
        {
          "name": "Dispatch and Wait for Completion",
          "value": "dispatchAndWait",
          "description": "Dispatch a workflow event and wait for a webhook to be called before proceeding",
          "action": "Dispatch a workflow event and wait for completion"
        },
        {
          "name": "Enable",
          "value": "enable",
          "description": "Enable a workflow",
          "action": "Enable a workflow"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get a workflow",
          "action": "Get a workflow"
        },
        {
          "name": "Get Usage",
          "value": "getUsage",
          "description": "Get the usage of a workflow",
          "action": "Get the usage of a workflow"
        },
        {
          "name": "List",
          "value": "list",
          "description": "List workflows",
          "action": "List workflows"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "workflow"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Your execution will pause until a webhook is called. This URL will be generated at runtime and passed to your Github workflow as a resumeUrl input.",
      "name": "webhookNotice",
      "type": "notice",
      "default": "",
      "displayOptions": {
        "show": {
          "resource": [
            "workflow"
          ],
          "operation": [
            "dispatchAndWait"
          ]
        }
      }
    },
    {
      "displayName": "Repository Owner",
      "name": "owner",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "hide": {
          "operation": [
            "invite",
            "getUserIssues"
          ]
        }
      },
      "modes": [
        {
          "displayName": "Repository Owner",
          "name": "list",
          "type": "list",
          "placeholder": "Select an owner...",
          "typeOptions": {
            "searchListMethod": "getUsers",
            "searchable": true,
            "searchFilterRequired": false
          }
        },
        {
          "displayName": "Link",
          "name": "url",
          "type": "string",
          "placeholder": "e.g. https://github.com/n8n-io",
          "extractValue": {
            "type": "regex",
            "regex": "https:\\/\\/(?:[^/]+)\\/([-_0-9a-zA-Z]+)"
          },
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "https:\\/\\/([^/]+)\\/([-_0-9a-zA-Z]+)(?:.*)",
                "errorMessage": "Not a valid Github URL"
              }
            }
          ]
        },
        {
          "displayName": "By Name",
          "name": "name",
          "type": "string",
          "placeholder": "e.g. n8n-io",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[-_a-zA-Z0-9]+",
                "errorMessage": "Not a valid Github Owner Name"
              }
            }
          ],
          "url": "=https://github.com/{{$value}}"
        }
      ]
    },
    {
      "displayName": "Repository Name",
      "name": "repository",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "hide": {
          "resource": [
            "user",
            "organization"
          ],
          "operation": [
            "getRepositories"
          ]
        }
      },
      "modes": [
        {
          "displayName": "Repository Name",
          "name": "list",
          "type": "list",
          "placeholder": "Select an Repository...",
          "typeOptions": {
            "searchListMethod": "getRepositories",
            "searchable": true
          }
        },
        {
          "displayName": "Link",
          "name": "url",
          "type": "string",
          "placeholder": "e.g. https://github.com/n8n-io/n8n",
          "extractValue": {
            "type": "regex",
            "regex": "https:\\/\\/(?:[^/]+)\\/(?:[-_0-9a-zA-Z]+)\\/([-_.0-9a-zA-Z]+)"
          },
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "https:\\/\\/([^/]+)\\/(?:[-_0-9a-zA-Z]+)\\/([-_.0-9a-zA-Z]+)(?:.*)",
                "errorMessage": "Not a valid Github Repository URL"
              }
            }
          ]
        },
        {
          "displayName": "By Name",
          "name": "name",
          "type": "string",
          "placeholder": "e.g. n8n",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[-_.0-9a-zA-Z]+",
                "errorMessage": "Not a valid Github Repository Name"
              }
            }
          ],
          "url": "=https://github.com/{{$parameter[\"owner\"]}}/{{$value}}"
        }
      ]
    },
    {
      "displayName": "Workflow",
      "name": "workflowId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "The workflow to dispatch",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "workflow"
          ],
          "operation": [
            "disable",
            "dispatch",
            "dispatchAndWait",
            "get",
            "getUsage",
            "enable"
          ]
        }
      },
      "modes": [
        {
          "displayName": "Workflow",
          "name": "list",
          "type": "list",
          "placeholder": "Select a workflow...",
          "typeOptions": {
            "searchListMethod": "getWorkflows",
            "searchable": true
          }
        },
        {
          "displayName": "By File Name",
          "name": "filename",
          "type": "string",
          "placeholder": "e.g. main.yaml or main.yml",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[a-zA-Z0-9_-]+.(yaml|yml)",
                "errorMessage": "Not a valid Github Workflow File Name"
              }
            }
          ]
        },
        {
          "displayName": "By ID",
          "name": "name",
          "type": "string",
          "placeholder": "e.g. 12345678",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "\\d+",
                "errorMessage": "Not a valid Github Workflow ID"
              }
            }
          ]
        }
      ]
    },
    {
      "displayName": "Ref",
      "name": "ref",
      "type": "string",
      "default": "main",
      "description": "The git reference for the workflow dispatch (branch or tag name)",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "workflow"
          ],
          "operation": [
            "dispatch",
            "dispatchAndWait"
          ],
          "@version": [
            {
              "_cnd": {
                "lte": 1
              }
            }
          ]
        }
      }
    },
    {
      "displayName": "Ref",
      "name": "ref",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "The git reference for the workflow dispatch (branch, tag, or commit SHA)",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "workflow"
          ],
          "operation": [
            "dispatch",
            "dispatchAndWait"
          ],
          "@version": [
            {
              "_cnd": {
                "gte": 1.1
              }
            }
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "placeholder": "Select a branch, tag, or commit...",
          "typeOptions": {
            "searchListMethod": "getRefs",
            "searchable": true
          }
        },
        {
          "displayName": "By Name",
          "name": "name",
          "type": "string",
          "placeholder": "e.g. main",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "^[a-zA-Z0-9/._-]+$",
                "errorMessage": "Not a valid branch, tag"
              }
            }
          ]
        }
      ]
    },
    {
      "displayName": "Inputs",
      "name": "inputs",
      "type": "json",
      "default": "{}",
      "description": "JSON object with input parameters for the workflow",
      "displayOptions": {
        "show": {
          "resource": [
            "workflow"
          ],
          "operation": [
            "dispatch",
            "dispatchAndWait"
          ]
        }
      }
    },
    {
      "displayName": "File Path",
      "name": "filePath",
      "type": "string",
      "default": "",
      "description": "The file path of the file. Has to contain the full path.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ]
        },
        "hide": {
          "operation": [
            "list"
          ]
        }
      }
    },
    {
      "displayName": "Path",
      "name": "filePath",
      "type": "string",
      "default": "",
      "description": "The path of the folder to list",
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "list"
          ]
        }
      }
    },
    {
      "displayName": "Binary File",
      "name": "binaryData",
      "type": "boolean",
      "default": false,
      "description": "Whether the data to upload should be taken from binary field",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create",
            "edit"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "File Content",
      "name": "fileContent",
      "type": "string",
      "default": "",
      "description": "The text content of the file",
      "required": true,
      "displayOptions": {
        "show": {
          "binaryData": [
            false
          ],
          "operation": [
            "create",
            "edit"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Input Binary Field",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "required": true,
      "displayOptions": {
        "show": {
          "binaryData": [
            true
          ],
          "operation": [
            "create",
            "edit"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Commit Message",
      "name": "commitMessage",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create",
            "delete",
            "edit"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Additional Parameters",
      "name": "additionalParameters",
      "type": "fixedCollection",
      "default": {},
      "description": "Additional fields to add",
      "options": [
        {
          "name": "author",
          "displayName": "Author",
          "values": [
            {
              "displayName": "Name",
              "name": "name",
              "type": "string",
              "default": "",
              "description": "The name of the author of the commit"
            },
            {
              "displayName": "Email",
              "name": "email",
              "type": "string",
              "placeholder": "name@email.com",
              "default": "",
              "description": "The email of the author of the commit"
            }
          ]
        },
        {
          "name": "branch",
          "displayName": "Branch",
          "values": [
            {
              "displayName": "Branch",
              "name": "branch",
              "type": "string",
              "default": "",
              "description": "The branch to commit to. If not set the repository’s default branch (usually master) is used."
            }
          ]
        },
        {
          "name": "committer",
          "displayName": "Committer",
          "values": [
            {
              "displayName": "Name",
              "name": "name",
              "type": "string",
              "default": "",
              "description": "The name of the committer of the commit"
            },
            {
              "displayName": "Email",
              "name": "email",
              "type": "string",
              "placeholder": "name@email.com",
              "default": "",
              "description": "The email of the committer of the commit"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "create",
            "delete",
            "edit"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "As Binary Property",
      "name": "asBinaryProperty",
      "type": "boolean",
      "default": true,
      "description": "Whether to set the data of the file as binary property instead of returning the raw API response",
      "displayOptions": {
        "show": {
          "operation": [
            "get"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Put Output File in Field",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "required": true,
      "displayOptions": {
        "show": {
          "asBinaryProperty": [
            true
          ],
          "operation": [
            "get"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Additional Parameters",
      "name": "additionalParameters",
      "type": "collection",
      "default": {},
      "description": "Additional fields to add",
      "options": [
        {
          "displayName": "Reference",
          "name": "reference",
          "type": "string",
          "default": "",
          "placeholder": "master",
          "description": "The name of the commit/branch/tag. Default: the repository’s default branch (usually master)."
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "get"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Title",
      "name": "title",
      "type": "string",
      "default": "",
      "description": "The title of the issue",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "issue"
          ]
        }
      }
    },
    {
      "displayName": "Body",
      "name": "body",
      "type": "string",
      "default": "",
      "description": "The body of the issue",
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "issue"
          ]
        }
      },
      "typeOptions": {
        "rows": 5
      }
    },
    {
      "displayName": "Labels",
      "name": "labels",
      "type": "collection",
      "default": {
        "label": ""
      },
      "options": [
        {
          "displayName": "Label",
          "name": "label",
          "type": "string",
          "default": "",
          "description": "Label to add to issue"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "issue"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true,
        "multipleValueButtonText": "Add Label"
      }
    },
    {
      "displayName": "Assignees",
      "name": "assignees",
      "type": "collection",
      "default": {
        "assignee": ""
      },
      "options": [
        {
          "displayName": "Assignee",
          "name": "assignee",
          "type": "string",
          "default": "",
          "description": "User to assign issue too"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "issue"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true,
        "multipleValueButtonText": "Add Assignee"
      }
    },
    {
      "displayName": "Issue Number",
      "name": "issueNumber",
      "type": "number",
      "default": 0,
      "description": "The number of the issue on which to create the comment on",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "createComment"
          ],
          "resource": [
            "issue"
          ]
        }
      }
    },
    {
      "displayName": "Body",
      "name": "body",
      "type": "string",
      "default": "",
      "description": "The body of the comment",
      "displayOptions": {
        "show": {
          "operation": [
            "createComment"
          ],
          "resource": [
            "issue"
          ]
        }
      },
      "typeOptions": {
        "rows": 5
      }
    },
    {
      "displayName": "Issue Number",
      "name": "issueNumber",
      "type": "number",
      "default": 0,
      "description": "The number of the issue edit",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "edit"
          ],
          "resource": [
            "issue"
          ]
        }
      }
    },
    {
      "displayName": "Edit Fields",
      "name": "editFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Assignees",
          "name": "assignees",
          "type": "collection",
          "typeOptions": {
            "multipleValues": true,
            "multipleValueButtonText": "Add Assignee"
          },
          "default": {
            "assignee": ""
          },
          "options": [
            {
              "displayName": "Assignees",
              "name": "assignee",
              "type": "string",
              "default": "",
              "description": "User to assign issue to"
            }
          ]
        },
        {
          "displayName": "Body",
          "name": "body",
          "type": "string",
          "typeOptions": {
            "rows": 5
          },
          "default": "",
          "description": "The body of the issue"
        },
        {
          "displayName": "Labels",
          "name": "labels",
          "type": "collection",
          "typeOptions": {
            "multipleValues": true,
            "multipleValueButtonText": "Add Label"
          },
          "default": {
            "label": ""
          },
          "options": [
            {
              "displayName": "Label",
              "name": "label",
              "type": "string",
              "default": "",
              "description": "Label to add to issue"
            }
          ]
        },
        {
          "displayName": "State",
          "name": "state",
          "type": "options",
          "options": [
            {
              "name": "Closed",
              "value": "closed",
              "description": "Set the state to \"closed\""
            },
            {
              "name": "Open",
              "value": "open",
              "description": "Set the state to \"open\""
            }
          ],
          "default": "open",
          "description": "The state to set"
        },
        {
          "displayName": "State Reason",
          "name": "state_reason",
          "type": "options",
          "options": [
            {
              "name": "Completed",
              "value": "completed",
              "description": "Issue is completed"
            },
            {
              "name": "Not Planned",
              "value": "not_planned",
              "description": "Issue is not planned"
            },
            {
              "name": "Reopened",
              "value": "reopened",
              "description": "Issue is reopened"
            }
          ],
          "default": "completed",
          "description": "The reason for the state change"
        },
        {
          "displayName": "Title",
          "name": "title",
          "type": "string",
          "default": "",
          "description": "The title of the issue"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "edit"
          ],
          "resource": [
            "issue"
          ]
        }
      },
      "typeOptions": {
        "multipleValueButtonText": "Add Field"
      }
    },
    {
      "displayName": "Issue Number",
      "name": "issueNumber",
      "type": "number",
      "default": 0,
      "description": "The issue number to get data for",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "get"
          ],
          "resource": [
            "issue"
          ]
        }
      }
    },
    {
      "displayName": "Issue Number",
      "name": "issueNumber",
      "type": "number",
      "default": 0,
      "description": "The issue number to lock",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "lock"
          ],
          "resource": [
            "issue"
          ]
        }
      }
    },
    {
      "displayName": "Lock Reason",
      "name": "lockReason",
      "type": "options",
      "default": "resolved",
      "description": "The reason for locking the issue",
      "options": [
        {
          "name": "Off-Topic",
          "value": "off-topic",
          "description": "The issue is Off-Topic"
        },
        {
          "name": "Too Heated",
          "value": "too heated",
          "description": "The discussion is too heated"
        },
        {
          "name": "Resolved",
          "value": "resolved",
          "description": "The issue got resolved"
        },
        {
          "name": "Spam",
          "value": "spam",
          "description": "The issue is spam"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "lock"
          ],
          "resource": [
            "issue"
          ]
        }
      }
    },
    {
      "displayName": "Tag",
      "name": "releaseTag",
      "type": "string",
      "default": "",
      "description": "The tag of the release",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "release"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Name",
          "name": "name",
          "type": "string",
          "default": "",
          "description": "The name of the issue"
        },
        {
          "displayName": "Body",
          "name": "body",
          "type": "string",
          "typeOptions": {
            "rows": 5
          },
          "default": "",
          "description": "The body of the release"
        },
        {
          "displayName": "Draft",
          "name": "draft",
          "type": "boolean",
          "default": false,
          "description": "Whether to create a draft (unpublished) release, \"false\" to create a published one"
        },
        {
          "displayName": "Prerelease",
          "name": "prerelease",
          "type": "boolean",
          "default": false,
          "description": "Whether to point out that the release is non-production ready"
        },
        {
          "displayName": "Target Commitish",
          "name": "target_commitish",
          "type": "string",
          "default": "",
          "description": "Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch(usually master)."
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "release"
          ]
        }
      },
      "typeOptions": {
        "multipleValueButtonText": "Add Field"
      }
    },
    {
      "displayName": "Release ID",
      "name": "release_id",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "release"
          ],
          "operation": [
            "get",
            "delete",
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Body",
          "name": "body",
          "type": "string",
          "typeOptions": {
            "rows": 5
          },
          "default": "",
          "description": "The body of the release"
        },
        {
          "displayName": "Draft",
          "name": "draft",
          "type": "boolean",
          "default": false,
          "description": "Whether to create a draft (unpublished) release, \"false\" to create a published one"
        },
        {
          "displayName": "Name",
          "name": "name",
          "type": "string",
          "default": "",
          "description": "The name of the release"
        },
        {
          "displayName": "Prerelease",
          "name": "prerelease",
          "type": "boolean",
          "default": false,
          "description": "Whether to point out that the release is non-production ready"
        },
        {
          "displayName": "Tag Name",
          "name": "tag_name",
          "type": "string",
          "default": "",
          "description": "The name of the tag"
        },
        {
          "displayName": "Target Commitish",
          "name": "target_commitish",
          "type": "string",
          "default": "",
          "description": "Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch(usually master)."
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "update"
          ],
          "resource": [
            "release"
          ]
        }
      },
      "typeOptions": {
        "multipleValueButtonText": "Add Field"
      }
    },
    {
      "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": [
            "release"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "release"
          ],
          "operation": [
            "getAll"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "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": [
            "repository"
          ],
          "operation": [
            "getIssues"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "repository"
          ],
          "operation": [
            "getIssues"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Filters",
      "name": "getRepositoryIssuesFilters",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Assignee",
          "name": "assignee",
          "type": "string",
          "default": "",
          "description": "Return only issues which are assigned to a specific user"
        },
        {
          "displayName": "Creator",
          "name": "creator",
          "type": "string",
          "default": "",
          "description": "Return only issues which were created by a specific user"
        },
        {
          "displayName": "Mentioned",
          "name": "mentioned",
          "type": "string",
          "default": "",
          "description": "Return only issues in which a specific user was mentioned"
        },
        {
          "displayName": "Labels",
          "name": "labels",
          "type": "string",
          "default": "",
          "description": "Return only issues with the given labels. Multiple labels can be separated by comma."
        },
        {
          "displayName": "Updated Since",
          "name": "since",
          "type": "dateTime",
          "default": "",
          "description": "Return only issues updated at or after this time"
        },
        {
          "displayName": "State",
          "name": "state",
          "type": "options",
          "options": [
            {
              "name": "All",
              "value": "all",
              "description": "Returns issues with any state"
            },
            {
              "name": "Closed",
              "value": "closed",
              "description": "Return issues with \"closed\" state"
            },
            {
              "name": "Open",
              "value": "open",
              "description": "Return issues with \"open\" state"
            }
          ],
          "default": "open",
          "description": "The state to set"
        },
        {
          "displayName": "Sort",
          "name": "sort",
          "type": "options",
          "options": [
            {
              "name": "Created",
              "value": "created",
              "description": "Sort by created date"
            },
            {
              "name": "Updated",
              "value": "updated",
              "description": "Sort by updated date"
            },
            {
              "name": "Comments",
              "value": "comments",
              "description": "Sort by comments"
            }
          ],
          "default": "created",
          "description": "The order the issues should be returned in"
        },
        {
          "displayName": "Direction",
          "name": "direction",
          "type": "options",
          "options": [
            {
              "name": "Ascending",
              "value": "asc",
              "description": "Sort in ascending order"
            },
            {
              "name": "Descending",
              "value": "desc",
              "description": "Sort in descending order"
            }
          ],
          "default": "desc",
          "description": "The sort order"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "getIssues"
          ],
          "resource": [
            "repository"
          ]
        }
      },
      "typeOptions": {
        "multipleValueButtonText": "Add Filter"
      }
    },
    {
      "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": [
            "repository"
          ],
          "operation": [
            "getPullRequests"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return. Maximum value is <a href=\"https://docs.github.com/en/rest/pulls/pulls?apiVersion=2022-11-28#list-pull-requests\">100</a>.",
      "displayOptions": {
        "show": {
          "resource": [
            "repository"
          ],
          "operation": [
            "getPullRequests"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Filters",
      "name": "getRepositoryPullRequestsFilters",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "State",
          "name": "state",
          "type": "options",
          "options": [
            {
              "name": "All",
              "value": "all",
              "description": "Returns pull requests with any state"
            },
            {
              "name": "Closed",
              "value": "closed",
              "description": "Return pull requests with \"closed\" state"
            },
            {
              "name": "Open",
              "value": "open",
              "description": "Return pull requests with \"open\" state"
            }
          ],
          "default": "open",
          "description": "The state to set"
        },
        {
          "displayName": "Sort",
          "name": "sort",
          "type": "options",
          "options": [
            {
              "name": "Created",
              "value": "created",
              "description": "Sort by created date"
            },
            {
              "name": "Updated",
              "value": "updated",
              "description": "Sort by updated date"
            },
            {
              "name": "Popularity",
              "value": "popularity",
              "description": "Sort by number of comments"
            },
            {
              "name": "Long-Running",
              "value": "long-running",
              "description": "Sort by date created and will limit the results to pull requests that have been open for more than a month and have had activity within the past month"
            }
          ],
          "default": "created",
          "description": "The order the pull requests should be returned in"
        },
        {
          "displayName": "Direction",
          "name": "direction",
          "type": "options",
          "options": [
            {
              "name": "Ascending",
              "value": "asc",
              "description": "Sort in ascending order"
            },
            {
              "name": "Descending",
              "value": "desc",
              "description": "Sort in descending order"
            }
          ],
          "default": "desc",
          "description": "The sort order"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "getPullRequests"
          ],
          "resource": [
            "repository"
          ]
        }
      },
      "typeOptions": {
        "multipleValueButtonText": "Add Filter"
      }
    },
    {
      "displayName": "PR Number",
      "name": "pullRequestNumber",
      "type": "number",
      "default": 0,
      "description": "The number of the pull request",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "get",
            "update"
          ],
          "resource": [
            "review"
          ]
        }
      }
    },
    {
      "displayName": "Review ID",
      "name": "reviewId",
      "type": "string",
      "default": "",
      "description": "ID of the review",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "get",
            "update"
          ],
          "resource": [
            "review"
          ]
        }
      }
    },
    {
      "displayName": "PR Number",
      "name": "pullRequestNumber",
      "type": "number",
      "default": 0,
      "description": "The number of the pull request",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "review"
          ]
        }
      }
    },
    {
      "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": [
            "review"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "review"
          ],
          "operation": [
            "getAll"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "PR Number",
      "name": "pullRequestNumber",
      "type": "number",
      "default": 0,
      "description": "The number of the pull request to review",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "review"
          ]
        }
      }
    },
    {
      "displayName": "Event",
      "name": "event",
      "type": "options",
      "default": "approve",
      "description": "The review action you want to perform",
      "options": [
        {
          "name": "Approve",
          "value": "approve",
          "description": "Approve the pull request"
        },
        {
          "name": "Request Change",
          "value": "requestChanges",
          "description": "Request code changes"
        },
        {
          "name": "Comment",
          "value": "comment",
          "description": "Add a comment without approval or change requests"
        },
        {
          "name": "Pending",
          "value": "pending",
          "description": "You will need to submit the pull request review when you are ready"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "review"
          ]
        }
      }
    },
    {
      "displayName": "Body",
      "name": "body",
      "type": "string",
      "default": "",
      "description": "The body of the review (required for events Request Changes or Comment)",
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "review"
          ],
          "event": [
            "requestChanges",
            "comment"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Commit ID",
          "name": "commitId",
          "type": "string",
          "default": "",
          "description": "The SHA of the commit that needs a review, if different from the latest"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "review"
          ]
        }
      }
    },
    {
      "displayName": "Body",
      "name": "body",
      "type": "string",
      "default": "",
      "description": "The body of the review",
      "displayOptions": {
        "show": {
          "operation": [
            "update"
          ],
          "resource": [
            "review"
          ]
        }
      }
    },
    {
      "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": [
            "user"
          ],
          "operation": [
            "getRepositories"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "getRepositories"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Organization",
      "name": "organization",
      "type": "string",
      "default": "",
      "description": "The GitHub organization that the user is being invited to",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "invite"
          ],
          "resource": [
            "user"
          ]
        }
      }
    },
    {
      "displayName": "Email",
      "name": "email",
      "type": "string",
      "default": "",
      "description": "The email address of the invited user",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "invite"
          ],
          "resource": [
            "user"
          ]
        }
      }
    },
    {
      "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": [
            "organization"
          ],
          "operation": [
            "getRepositories"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "organization"
          ],
          "operation": [
            "getRepositories"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "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": [
            "getUserIssues"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "operation": [
            "getUserIssues"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Filters",
      "name": "getUserIssuesFilters",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Mentioned",
          "name": "mentioned",
          "type": "string",
          "default": "",
          "description": "Return only issues in which a specific user was mentioned"
        },
        {
          "displayName": "Labels",
          "name": "labels",
          "type": "string",
          "default": "",
          "description": "Return only issues with the given labels. Multiple labels can be separated by comma."
        },
        {
          "displayName": "Updated Since",
          "name": "since",
          "type": "dateTime",
          "default": "",
          "description": "Return only issues updated at or after this time"
        },
        {
          "displayName": "State",
          "name": "state",
          "type": "options",
          "options": [
            {
              "name": "All",
              "value": "all",
              "description": "Returns issues with any state"
            },
            {
              "name": "Closed",
              "value": "closed",
              "description": "Return issues with \"closed\" state"
            },
            {
              "name": "Open",
              "value": "open",
              "description": "Return issues with \"open\" state"
            }
          ],
          "default": "open",
          "description": "The state to set"
        },
        {
          "displayName": "Sort",
          "name": "sort",
          "type": "options",
          "options": [
            {
              "name": "Created",
              "value": "created",
              "description": "Sort by created date"
            },
            {
              "name": "Updated",
              "value": "updated",
              "description": "Sort by updated date"
            },
            {
              "name": "Comments",
              "value": "comments",
              "description": "Sort by comments"
            }
          ],
          "default": "created",
          "description": "The order the issues should be returned in"
        },
        {
          "displayName": "Direction",
          "name": "direction",
          "type": "options",
          "options": [
            {
              "name": "Ascending",
              "value": "asc",
              "description": "Sort in ascending order"
            },
            {
              "name": "Descending",
              "value": "desc",
              "description": "Sort in descending order"
            }
          ],
          "default": "desc",
          "description": "The sort order"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "getUserIssues"
          ]
        }
      },
      "typeOptions": {
        "multipleValueButtonText": "Add Filter"
      }
    }
  ]

operations:
  [
    {
      "operation": "getRepositories",
      "name": "Get Repositories",
      "description": "Returns all repositories of an organization"
    }
  ]

credentials_required:
  [
    {
      "name": "githubApi",
      "required": true,
      "displayOptions": {
        "show": {
          "authentication": [
            "accessToken"
          ]
        }
      }
    },
    {
      "name": "githubOAuth2Api",
      "required": true,
      "displayOptions": {
        "show": {
          "authentication": [
            "oAuth2"
          ]
        }
      }
    }
  ]


node_type: nodes-base.github
package_name: n8n-nodes-base
display_name: GitHub
description: Consume GitHub API
category: input
development_style: programmatic
version: 1.1
outputs:
  [
  "main"
  ]

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

  # GitHub node

  Use the GitHub node to automate work in GitHub, and integrate GitHub with other applications. n8n has built-in support for a wide range of GitHub features, including creating, updating, deleting, and editing files, repositories, issues, releases, and users. 

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

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

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

  ## Operations

  * File
  	* Create
  	* Delete
  	* Edit
  	* Get
  	* List
  * Issue
  	* Create
  	* Create Comment
  	* Edit
  	* Get
  	* Lock
  * Organization
  	* Get Repositories
  * Release
  	* Create
  	* Delete
  	* Get
  	* Get Many
  	* Update
  * Repository
      * Get
  	* Get Issues
  	* Get License
  	* Get Profile
  	* Get Pull Requests
  	* List Popular Paths
  	* List Referrers
  * Review
  	* Create
  	* Get
  	* Get Many
  	* Update
  * User
      * Get Repositories
      * Invite
  * Workflow
  	* Disable
  	* Dispatch
  	* Enable
  	* Get
  	* Get Usage
  	* List

  ## Templates and examples

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

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

properties_schema:
  [
    {
      "displayName": "Authentication",
      "name": "authentication",
      "type": "options",
      "default": "accessToken",
      "options": [
        {
          "name": "Access Token",
          "value": "accessToken"
        },
        {
          "name": "OAuth2",
          "value": "oAuth2"
        }
      ]
    },
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "issue",
      "options": [
        {
          "name": "File",
          "value": "file"
        },
        {
          "name": "Issue",
          "value": "issue"
        },
        {
          "name": "Organization",
          "value": "organization"
        },
        {
          "name": "Release",
          "value": "release"
        },
        {
          "name": "Repository",
          "value": "repository"
        },
        {
          "name": "Review",
          "value": "review"
        },
        {
          "name": "User",
          "value": "user"
        },
        {
          "name": "Workflow",
          "value": "workflow"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "getRepositories",
      "options": [
        {
          "name": "Get Repositories",
          "value": "getRepositories",
          "description": "Returns all repositories of an organization",
          "action": "Get repositories for an organization"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "organization"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a new issue",
          "action": "Create an issue"
        },
        {
          "name": "Create Comment",
          "value": "createComment",
          "description": "Create a new comment on an issue",
          "action": "Create a comment on an issue"
        },
        {
          "name": "Edit",
          "value": "edit",
          "description": "Edit an issue",
          "action": "Edit an issue"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get the data of a single issue",
          "action": "Get an issue"
        },
        {
          "name": "Lock",
          "value": "lock",
          "description": "Lock an issue",
          "action": "Lock an issue"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a new file in repository",
          "action": "Create a file"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a file in repository",
          "action": "Delete a file"
        },
        {
          "name": "Edit",
          "value": "edit",
          "description": "Edit a file in repository",
          "action": "Edit a file"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get the data of a single file",
          "action": "Get a file"
        },
        {
          "name": "List",
          "value": "list",
          "description": "List contents of a folder",
          "action": "List files"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "getIssues",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "description": "Get the data of a single repository",
          "action": "Get a repository"
        },
        {
          "name": "Get Issues",
          "value": "getIssues",
          "description": "Returns issues of a repository",
          "action": "Get issues of a repository"
        },
        {
          "name": "Get License",
          "value": "getLicense",
          "description": "Returns the contents of the repository's license file, if one is detected",
          "action": "Get the license of a repository"
        },
        {
          "name": "Get Profile",
          "value": "getProfile",
          "description": "Get the community profile of a repository with metrics, health score, description, license, etc",
          "action": "Get the profile of a repository"
        },
        {
          "name": "Get Pull Requests",
          "value": "getPullRequests",
          "description": "Returns pull requests of a repository",
          "action": "Get pull requests of a repository"
        },
        {
          "name": "List Popular Paths",
          "value": "listPopularPaths",
          "description": "Get the top 10 popular content paths over the last 14 days",
          "action": "List popular paths in a repository"
        },
        {
          "name": "List Referrers",
          "value": "listReferrers",
          "description": "Get the top 10 referrering domains over the last 14 days",
          "action": "List the top referrers of a repository"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "repository"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "getRepositories",
      "options": [
        {
          "name": "Get Repositories",
          "value": "getRepositories",
          "description": "Returns the repositories of a user",
          "action": "Get a user's repositories"
        },
        {
          "name": "Get Issues",
          "value": "getUserIssues",
          "description": "Returns the issues assigned to the user",
          "action": "Get a user's issues"
        },
        {
          "name": "Invite",
          "value": "invite",
          "description": "Invites a user to an organization",
          "action": "Invite a user"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Creates a new release",
          "action": "Create a release"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a release",
          "action": "Delete a release"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get a release",
          "action": "Get a release"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many repository releases",
          "action": "Get many releases"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update a release",
          "action": "Update a release"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "release"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Creates a new review",
          "action": "Create a review"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get a review for a pull request",
          "action": "Get a review"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many reviews for a pull request",
          "action": "Get many reviews"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update a review",
          "action": "Update a review"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "review"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "dispatch",
      "options": [
        {
          "name": "Disable",
          "value": "disable",
          "description": "Disable a workflow",
          "action": "Disable a workflow"
        },
        {
          "name": "Dispatch",
          "value": "dispatch",
          "description": "Dispatch a workflow event",
          "action": "Dispatch a workflow event"
        },
        {
          "name": "Dispatch and Wait for Completion",
          "value": "dispatchAndWait",
          "description": "Dispatch a workflow event and wait for a webhook to be called before proceeding",
          "action": "Dispatch a workflow event and wait for completion"
        },
        {
          "name": "Enable",
          "value": "enable",
          "description": "Enable a workflow",
          "action": "Enable a workflow"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get a workflow",
          "action": "Get a workflow"
        },
        {
          "name": "Get Usage",
          "value": "getUsage",
          "description": "Get the usage of a workflow",
          "action": "Get the usage of a workflow"
        },
        {
          "name": "List",
          "value": "list",
          "description": "List workflows",
          "action": "List workflows"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "workflow"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Your execution will pause until a webhook is called. This URL will be generated at runtime and passed to your Github workflow as a resumeUrl input.",
      "name": "webhookNotice",
      "type": "notice",
      "default": "",
      "displayOptions": {
        "show": {
          "resource": [
            "workflow"
          ],
          "operation": [
            "dispatchAndWait"
          ]
        }
      }
    },
    {
      "displayName": "Repository Owner",
      "name": "owner",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "hide": {
          "operation": [
            "invite",
            "getUserIssues"
          ]
        }
      },
      "modes": [
        {
          "displayName": "Repository Owner",
          "name": "list",
          "type": "list",
          "placeholder": "Select an owner...",
          "typeOptions": {
            "searchListMethod": "getUsers",
            "searchable": true,
            "searchFilterRequired": false
          }
        },
        {
          "displayName": "Link",
          "name": "url",
          "type": "string",
          "placeholder": "e.g. https://github.com/n8n-io",
          "extractValue": {
            "type": "regex",
            "regex": "https:\\/\\/(?:[^/]+)\\/([-_0-9a-zA-Z]+)"
          },
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "https:\\/\\/([^/]+)\\/([-_0-9a-zA-Z]+)(?:.*)",
                "errorMessage": "Not a valid Github URL"
              }
            }
          ]
        },
        {
          "displayName": "By Name",
          "name": "name",
          "type": "string",
          "placeholder": "e.g. n8n-io",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[-_a-zA-Z0-9]+",
                "errorMessage": "Not a valid Github Owner Name"
              }
            }
          ],
          "url": "=https://github.com/{{$value}}"
        }
      ]
    },
    {
      "displayName": "Repository Name",
      "name": "repository",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "hide": {
          "resource": [
            "user",
            "organization"
          ],
          "operation": [
            "getRepositories"
          ]
        }
      },
      "modes": [
        {
          "displayName": "Repository Name",
          "name": "list",
          "type": "list",
          "placeholder": "Select an Repository...",
          "typeOptions": {
            "searchListMethod": "getRepositories",
            "searchable": true
          }
        },
        {
          "displayName": "Link",
          "name": "url",
          "type": "string",
          "placeholder": "e.g. https://github.com/n8n-io/n8n",
          "extractValue": {
            "type": "regex",
            "regex": "https:\\/\\/(?:[^/]+)\\/(?:[-_0-9a-zA-Z]+)\\/([-_.0-9a-zA-Z]+)"
          },
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "https:\\/\\/([^/]+)\\/(?:[-_0-9a-zA-Z]+)\\/([-_.0-9a-zA-Z]+)(?:.*)",
                "errorMessage": "Not a valid Github Repository URL"
              }
            }
          ]
        },
        {
          "displayName": "By Name",
          "name": "name",
          "type": "string",
          "placeholder": "e.g. n8n",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[-_.0-9a-zA-Z]+",
                "errorMessage": "Not a valid Github Repository Name"
              }
            }
          ],
          "url": "=https://github.com/{{$parameter[\"owner\"]}}/{{$value}}"
        }
      ]
    },
    {
      "displayName": "Workflow",
      "name": "workflowId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "The workflow to dispatch",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "workflow"
          ],
          "operation": [
            "disable",
            "dispatch",
            "dispatchAndWait",
            "get",
            "getUsage",
            "enable"
          ]
        }
      },
      "modes": [
        {
          "displayName": "Workflow",
          "name": "list",
          "type": "list",
          "placeholder": "Select a workflow...",
          "typeOptions": {
            "searchListMethod": "getWorkflows",
            "searchable": true
          }
        },
        {
          "displayName": "By File Name",
          "name": "filename",
          "type": "string",
          "placeholder": "e.g. main.yaml or main.yml",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[a-zA-Z0-9_-]+.(yaml|yml)",
                "errorMessage": "Not a valid Github Workflow File Name"
              }
            }
          ]
        },
        {
          "displayName": "By ID",
          "name": "name",
          "type": "string",
          "placeholder": "e.g. 12345678",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "\\d+",
                "errorMessage": "Not a valid Github Workflow ID"
              }
            }
          ]
        }
      ]
    },
    {
      "displayName": "Ref",
      "name": "ref",
      "type": "string",
      "default": "main",
      "description": "The git reference for the workflow dispatch (branch or tag name)",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "workflow"
          ],
          "operation": [
            "dispatch",
            "dispatchAndWait"
          ],
          "@version": [
            {
              "_cnd": {
                "lte": 1
              }
            }
          ]
        }
      }
    },
    {
      "displayName": "Ref",
      "name": "ref",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "The git reference for the workflow dispatch (branch, tag, or commit SHA)",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "workflow"
          ],
          "operation": [
            "dispatch",
            "dispatchAndWait"
          ],
          "@version": [
            {
              "_cnd": {
                "gte": 1.1
              }
            }
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "placeholder": "Select a branch, tag, or commit...",
          "typeOptions": {
            "searchListMethod": "getRefs",
            "searchable": true
          }
        },
        {
          "displayName": "By Name",
          "name": "name",
          "type": "string",
          "placeholder": "e.g. main",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "^[a-zA-Z0-9/._-]+$",
                "errorMessage": "Not a valid branch, tag"
              }
            }
          ]
        }
      ]
    },
    {
      "displayName": "Inputs",
      "name": "inputs",
      "type": "json",
      "default": "{}",
      "description": "JSON object with input parameters for the workflow",
      "displayOptions": {
        "show": {
          "resource": [
            "workflow"
          ],
          "operation": [
            "dispatch",
            "dispatchAndWait"
          ]
        }
      }
    },
    {
      "displayName": "File Path",
      "name": "filePath",
      "type": "string",
      "default": "",
      "description": "The file path of the file. Has to contain the full path.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ]
        },
        "hide": {
          "operation": [
            "list"
          ]
        }
      }
    },
    {
      "displayName": "Path",
      "name": "filePath",
      "type": "string",
      "default": "",
      "description": "The path of the folder to list",
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "list"
          ]
        }
      }
    },
    {
      "displayName": "Binary File",
      "name": "binaryData",
      "type": "boolean",
      "default": false,
      "description": "Whether the data to upload should be taken from binary field",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create",
            "edit"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "File Content",
      "name": "fileContent",
      "type": "string",
      "default": "",
      "description": "The text content of the file",
      "required": true,
      "displayOptions": {
        "show": {
          "binaryData": [
            false
          ],
          "operation": [
            "create",
            "edit"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Input Binary Field",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "required": true,
      "displayOptions": {
        "show": {
          "binaryData": [
            true
          ],
          "operation": [
            "create",
            "edit"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Commit Message",
      "name": "commitMessage",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create",
            "delete",
            "edit"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Additional Parameters",
      "name": "additionalParameters",
      "type": "fixedCollection",
      "default": {},
      "description": "Additional fields to add",
      "options": [
        {
          "name": "author",
          "displayName": "Author",
          "values": [
            {
              "displayName": "Name",
              "name": "name",
              "type": "string",
              "default": "",
              "description": "The name of the author of the commit"
            },
            {
              "displayName": "Email",
              "name": "email",
              "type": "string",
              "placeholder": "name@email.com",
              "default": "",
              "description": "The email of the author of the commit"
            }
          ]
        },
        {
          "name": "branch",
          "displayName": "Branch",
          "values": [
            {
              "displayName": "Branch",
              "name": "branch",
              "type": "string",
              "default": "",
              "description": "The branch to commit to. If not set the repository’s default branch (usually master) is used."
            }
          ]
        },
        {
          "name": "committer",
          "displayName": "Committer",
          "values": [
            {
              "displayName": "Name",
              "name": "name",
              "type": "string",
              "default": "",
              "description": "The name of the committer of the commit"
            },
            {
              "displayName": "Email",
              "name": "email",
              "type": "string",
              "placeholder": "name@email.com",
              "default": "",
              "description": "The email of the committer of the commit"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "create",
            "delete",
            "edit"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "As Binary Property",
      "name": "asBinaryProperty",
      "type": "boolean",
      "default": true,
      "description": "Whether to set the data of the file as binary property instead of returning the raw API response",
      "displayOptions": {
        "show": {
          "operation": [
            "get"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Put Output File in Field",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "required": true,
      "displayOptions": {
        "show": {
          "asBinaryProperty": [
            true
          ],
          "operation": [
            "get"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Additional Parameters",
      "name": "additionalParameters",
      "type": "collection",
      "default": {},
      "description": "Additional fields to add",
      "options": [
        {
          "displayName": "Reference",
          "name": "reference",
          "type": "string",
          "default": "",
          "placeholder": "master",
          "description": "The name of the commit/branch/tag. Default: the repository’s default branch (usually master)."
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "get"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Title",
      "name": "title",
      "type": "string",
      "default": "",
      "description": "The title of the issue",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "issue"
          ]
        }
      }
    },
    {
      "displayName": "Body",
      "name": "body",
      "type": "string",
      "default": "",
      "description": "The body of the issue",
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "issue"
          ]
        }
      },
      "typeOptions": {
        "rows": 5
      }
    },
    {
      "displayName": "Labels",
      "name": "labels",
      "type": "collection",
      "default": {
        "label": ""
      },
      "options": [
        {
          "displayName": "Label",
          "name": "label",
          "type": "string",
          "default": "",
          "description": "Label to add to issue"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "issue"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true,
        "multipleValueButtonText": "Add Label"
      }
    },
    {
      "displayName": "Assignees",
      "name": "assignees",
      "type": "collection",
      "default": {
        "assignee": ""
      },
      "options": [
        {
          "displayName": "Assignee",
          "name": "assignee",
          "type": "string",
          "default": "",
          "description": "User to assign issue too"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "issue"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true,
        "multipleValueButtonText": "Add Assignee"
      }
    },
    {
      "displayName": "Issue Number",
      "name": "issueNumber",
      "type": "number",
      "default": 0,
      "description": "The number of the issue on which to create the comment on",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "createComment"
          ],
          "resource": [
            "issue"
          ]
        }
      }
    },
    {
      "displayName": "Body",
      "name": "body",
      "type": "string",
      "default": "",
      "description": "The body of the comment",
      "displayOptions": {
        "show": {
          "operation": [
            "createComment"
          ],
          "resource": [
            "issue"
          ]
        }
      },
      "typeOptions": {
        "rows": 5
      }
    },
    {
      "displayName": "Issue Number",
      "name": "issueNumber",
      "type": "number",
      "default": 0,
      "description": "The number of the issue edit",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "edit"
          ],
          "resource": [
            "issue"
          ]
        }
      }
    },
    {
      "displayName": "Edit Fields",
      "name": "editFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Assignees",
          "name": "assignees",
          "type": "collection",
          "typeOptions": {
            "multipleValues": true,
            "multipleValueButtonText": "Add Assignee"
          },
          "default": {
            "assignee": ""
          },
          "options": [
            {
              "displayName": "Assignees",
              "name": "assignee",
              "type": "string",
              "default": "",
              "description": "User to assign issue to"
            }
          ]
        },
        {
          "displayName": "Body",
          "name": "body",
          "type": "string",
          "typeOptions": {
            "rows": 5
          },
          "default": "",
          "description": "The body of the issue"
        },
        {
          "displayName": "Labels",
          "name": "labels",
          "type": "collection",
          "typeOptions": {
            "multipleValues": true,
            "multipleValueButtonText": "Add Label"
          },
          "default": {
            "label": ""
          },
          "options": [
            {
              "displayName": "Label",
              "name": "label",
              "type": "string",
              "default": "",
              "description": "Label to add to issue"
            }
          ]
        },
        {
          "displayName": "State",
          "name": "state",
          "type": "options",
          "options": [
            {
              "name": "Closed",
              "value": "closed",
              "description": "Set the state to \"closed\""
            },
            {
              "name": "Open",
              "value": "open",
              "description": "Set the state to \"open\""
            }
          ],
          "default": "open",
          "description": "The state to set"
        },
        {
          "displayName": "State Reason",
          "name": "state_reason",
          "type": "options",
          "options": [
            {
              "name": "Completed",
              "value": "completed",
              "description": "Issue is completed"
            },
            {
              "name": "Not Planned",
              "value": "not_planned",
              "description": "Issue is not planned"
            },
            {
              "name": "Reopened",
              "value": "reopened",
              "description": "Issue is reopened"
            }
          ],
          "default": "completed",
          "description": "The reason for the state change"
        },
        {
          "displayName": "Title",
          "name": "title",
          "type": "string",
          "default": "",
          "description": "The title of the issue"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "edit"
          ],
          "resource": [
            "issue"
          ]
        }
      },
      "typeOptions": {
        "multipleValueButtonText": "Add Field"
      }
    },
    {
      "displayName": "Issue Number",
      "name": "issueNumber",
      "type": "number",
      "default": 0,
      "description": "The issue number to get data for",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "get"
          ],
          "resource": [
            "issue"
          ]
        }
      }
    },
    {
      "displayName": "Issue Number",
      "name": "issueNumber",
      "type": "number",
      "default": 0,
      "description": "The issue number to lock",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "lock"
          ],
          "resource": [
            "issue"
          ]
        }
      }
    },
    {
      "displayName": "Lock Reason",
      "name": "lockReason",
      "type": "options",
      "default": "resolved",
      "description": "The reason for locking the issue",
      "options": [
        {
          "name": "Off-Topic",
          "value": "off-topic",
          "description": "The issue is Off-Topic"
        },
        {
          "name": "Too Heated",
          "value": "too heated",
          "description": "The discussion is too heated"
        },
        {
          "name": "Resolved",
          "value": "resolved",
          "description": "The issue got resolved"
        },
        {
          "name": "Spam",
          "value": "spam",
          "description": "The issue is spam"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "lock"
          ],
          "resource": [
            "issue"
          ]
        }
      }
    },
    {
      "displayName": "Tag",
      "name": "releaseTag",
      "type": "string",
      "default": "",
      "description": "The tag of the release",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "release"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Name",
          "name": "name",
          "type": "string",
          "default": "",
          "description": "The name of the issue"
        },
        {
          "displayName": "Body",
          "name": "body",
          "type": "string",
          "typeOptions": {
            "rows": 5
          },
          "default": "",
          "description": "The body of the release"
        },
        {
          "displayName": "Draft",
          "name": "draft",
          "type": "boolean",
          "default": false,
          "description": "Whether to create a draft (unpublished) release, \"false\" to create a published one"
        },
        {
          "displayName": "Prerelease",
          "name": "prerelease",
          "type": "boolean",
          "default": false,
          "description": "Whether to point out that the release is non-production ready"
        },
        {
          "displayName": "Target Commitish",
          "name": "target_commitish",
          "type": "string",
          "default": "",
          "description": "Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch(usually master)."
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "release"
          ]
        }
      },
      "typeOptions": {
        "multipleValueButtonText": "Add Field"
      }
    },
    {
      "displayName": "Release ID",
      "name": "release_id",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "release"
          ],
          "operation": [
            "get",
            "delete",
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Body",
          "name": "body",
          "type": "string",
          "typeOptions": {
            "rows": 5
          },
          "default": "",
          "description": "The body of the release"
        },
        {
          "displayName": "Draft",
          "name": "draft",
          "type": "boolean",
          "default": false,
          "description": "Whether to create a draft (unpublished) release, \"false\" to create a published one"
        },
        {
          "displayName": "Name",
          "name": "name",
          "type": "string",
          "default": "",
          "description": "The name of the release"
        },
        {
          "displayName": "Prerelease",
          "name": "prerelease",
          "type": "boolean",
          "default": false,
          "description": "Whether to point out that the release is non-production ready"
        },
        {
          "displayName": "Tag Name",
          "name": "tag_name",
          "type": "string",
          "default": "",
          "description": "The name of the tag"
        },
        {
          "displayName": "Target Commitish",
          "name": "target_commitish",
          "type": "string",
          "default": "",
          "description": "Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch(usually master)."
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "update"
          ],
          "resource": [
            "release"
          ]
        }
      },
      "typeOptions": {
        "multipleValueButtonText": "Add Field"
      }
    },
    {
      "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": [
            "release"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "release"
          ],
          "operation": [
            "getAll"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "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": [
            "repository"
          ],
          "operation": [
            "getIssues"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "repository"
          ],
          "operation": [
            "getIssues"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Filters",
      "name": "getRepositoryIssuesFilters",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Assignee",
          "name": "assignee",
          "type": "string",
          "default": "",
          "description": "Return only issues which are assigned to a specific user"
        },
        {
          "displayName": "Creator",
          "name": "creator",
          "type": "string",
          "default": "",
          "description": "Return only issues which were created by a specific user"
        },
        {
          "displayName": "Mentioned",
          "name": "mentioned",
          "type": "string",
          "default": "",
          "description": "Return only issues in which a specific user was mentioned"
        },
        {
          "displayName": "Labels",
          "name": "labels",
          "type": "string",
          "default": "",
          "description": "Return only issues with the given labels. Multiple labels can be separated by comma."
        },
        {
          "displayName": "Updated Since",
          "name": "since",
          "type": "dateTime",
          "default": "",
          "description": "Return only issues updated at or after this time"
        },
        {
          "displayName": "State",
          "name": "state",
          "type": "options",
          "options": [
            {
              "name": "All",
              "value": "all",
              "description": "Returns issues with any state"
            },
            {
              "name": "Closed",
              "value": "closed",
              "description": "Return issues with \"closed\" state"
            },
            {
              "name": "Open",
              "value": "open",
              "description": "Return issues with \"open\" state"
            }
          ],
          "default": "open",
          "description": "The state to set"
        },
        {
          "displayName": "Sort",
          "name": "sort",
          "type": "options",
          "options": [
            {
              "name": "Created",
              "value": "created",
              "description": "Sort by created date"
            },
            {
              "name": "Updated",
              "value": "updated",
              "description": "Sort by updated date"
            },
            {
              "name": "Comments",
              "value": "comments",
              "description": "Sort by comments"
            }
          ],
          "default": "created",
          "description": "The order the issues should be returned in"
        },
        {
          "displayName": "Direction",
          "name": "direction",
          "type": "options",
          "options": [
            {
              "name": "Ascending",
              "value": "asc",
              "description": "Sort in ascending order"
            },
            {
              "name": "Descending",
              "value": "desc",
              "description": "Sort in descending order"
            }
          ],
          "default": "desc",
          "description": "The sort order"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "getIssues"
          ],
          "resource": [
            "repository"
          ]
        }
      },
      "typeOptions": {
        "multipleValueButtonText": "Add Filter"
      }
    },
    {
      "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": [
            "repository"
          ],
          "operation": [
            "getPullRequests"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return. Maximum value is <a href=\"https://docs.github.com/en/rest/pulls/pulls?apiVersion=2022-11-28#list-pull-requests\">100</a>.",
      "displayOptions": {
        "show": {
          "resource": [
            "repository"
          ],
          "operation": [
            "getPullRequests"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Filters",
      "name": "getRepositoryPullRequestsFilters",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "State",
          "name": "state",
          "type": "options",
          "options": [
            {
              "name": "All",
              "value": "all",
              "description": "Returns pull requests with any state"
            },
            {
              "name": "Closed",
              "value": "closed",
              "description": "Return pull requests with \"closed\" state"
            },
            {
              "name": "Open",
              "value": "open",
              "description": "Return pull requests with \"open\" state"
            }
          ],
          "default": "open",
          "description": "The state to set"
        },
        {
          "displayName": "Sort",
          "name": "sort",
          "type": "options",
          "options": [
            {
              "name": "Created",
              "value": "created",
              "description": "Sort by created date"
            },
            {
              "name": "Updated",
              "value": "updated",
              "description": "Sort by updated date"
            },
            {
              "name": "Popularity",
              "value": "popularity",
              "description": "Sort by number of comments"
            },
            {
              "name": "Long-Running",
              "value": "long-running",
              "description": "Sort by date created and will limit the results to pull requests that have been open for more than a month and have had activity within the past month"
            }
          ],
          "default": "created",
          "description": "The order the pull requests should be returned in"
        },
        {
          "displayName": "Direction",
          "name": "direction",
          "type": "options",
          "options": [
            {
              "name": "Ascending",
              "value": "asc",
              "description": "Sort in ascending order"
            },
            {
              "name": "Descending",
              "value": "desc",
              "description": "Sort in descending order"
            }
          ],
          "default": "desc",
          "description": "The sort order"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "getPullRequests"
          ],
          "resource": [
            "repository"
          ]
        }
      },
      "typeOptions": {
        "multipleValueButtonText": "Add Filter"
      }
    },
    {
      "displayName": "PR Number",
      "name": "pullRequestNumber",
      "type": "number",
      "default": 0,
      "description": "The number of the pull request",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "get",
            "update"
          ],
          "resource": [
            "review"
          ]
        }
      }
    },
    {
      "displayName": "Review ID",
      "name": "reviewId",
      "type": "string",
      "default": "",
      "description": "ID of the review",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "get",
            "update"
          ],
          "resource": [
            "review"
          ]
        }
      }
    },
    {
      "displayName": "PR Number",
      "name": "pullRequestNumber",
      "type": "number",
      "default": 0,
      "description": "The number of the pull request",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "review"
          ]
        }
      }
    },
    {
      "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": [
            "review"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "review"
          ],
          "operation": [
            "getAll"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "PR Number",
      "name": "pullRequestNumber",
      "type": "number",
      "default": 0,
      "description": "The number of the pull request to review",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "review"
          ]
        }
      }
    },
    {
      "displayName": "Event",
      "name": "event",
      "type": "options",
      "default": "approve",
      "description": "The review action you want to perform",
      "options": [
        {
          "name": "Approve",
          "value": "approve",
          "description": "Approve the pull request"
        },
        {
          "name": "Request Change",
          "value": "requestChanges",
          "description": "Request code changes"
        },
        {
          "name": "Comment",
          "value": "comment",
          "description": "Add a comment without approval or change requests"
        },
        {
          "name": "Pending",
          "value": "pending",
          "description": "You will need to submit the pull request review when you are ready"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "review"
          ]
        }
      }
    },
    {
      "displayName": "Body",
      "name": "body",
      "type": "string",
      "default": "",
      "description": "The body of the review (required for events Request Changes or Comment)",
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "review"
          ],
          "event": [
            "requestChanges",
            "comment"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Commit ID",
          "name": "commitId",
          "type": "string",
          "default": "",
          "description": "The SHA of the commit that needs a review, if different from the latest"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "review"
          ]
        }
      }
    },
    {
      "displayName": "Body",
      "name": "body",
      "type": "string",
      "default": "",
      "description": "The body of the review",
      "displayOptions": {
        "show": {
          "operation": [
            "update"
          ],
          "resource": [
            "review"
          ]
        }
      }
    },
    {
      "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": [
            "user"
          ],
          "operation": [
            "getRepositories"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "getRepositories"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Organization",
      "name": "organization",
      "type": "string",
      "default": "",
      "description": "The GitHub organization that the user is being invited to",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "invite"
          ],
          "resource": [
            "user"
          ]
        }
      }
    },
    {
      "displayName": "Email",
      "name": "email",
      "type": "string",
      "default": "",
      "description": "The email address of the invited user",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "invite"
          ],
          "resource": [
            "user"
          ]
        }
      }
    },
    {
      "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": [
            "organization"
          ],
          "operation": [
            "getRepositories"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "organization"
          ],
          "operation": [
            "getRepositories"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "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": [
            "getUserIssues"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "operation": [
            "getUserIssues"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Filters",
      "name": "getUserIssuesFilters",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Mentioned",
          "name": "mentioned",
          "type": "string",
          "default": "",
          "description": "Return only issues in which a specific user was mentioned"
        },
        {
          "displayName": "Labels",
          "name": "labels",
          "type": "string",
          "default": "",
          "description": "Return only issues with the given labels. Multiple labels can be separated by comma."
        },
        {
          "displayName": "Updated Since",
          "name": "since",
          "type": "dateTime",
          "default": "",
          "description": "Return only issues updated at or after this time"
        },
        {
          "displayName": "State",
          "name": "state",
          "type": "options",
          "options": [
            {
              "name": "All",
              "value": "all",
              "description": "Returns issues with any state"
            },
            {
              "name": "Closed",
              "value": "closed",
              "description": "Return issues with \"closed\" state"
            },
            {
              "name": "Open",
              "value": "open",
              "description": "Return issues with \"open\" state"
            }
          ],
          "default": "open",
          "description": "The state to set"
        },
        {
          "displayName": "Sort",
          "name": "sort",
          "type": "options",
          "options": [
            {
              "name": "Created",
              "value": "created",
              "description": "Sort by created date"
            },
            {
              "name": "Updated",
              "value": "updated",
              "description": "Sort by updated date"
            },
            {
              "name": "Comments",
              "value": "comments",
              "description": "Sort by comments"
            }
          ],
          "default": "created",
          "description": "The order the issues should be returned in"
        },
        {
          "displayName": "Direction",
          "name": "direction",
          "type": "options",
          "options": [
            {
              "name": "Ascending",
              "value": "asc",
              "description": "Sort in ascending order"
            },
            {
              "name": "Descending",
              "value": "desc",
              "description": "Sort in descending order"
            }
          ],
          "default": "desc",
          "description": "The sort order"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "getUserIssues"
          ]
        }
      },
      "typeOptions": {
        "multipleValueButtonText": "Add Filter"
      }
    }
  ]

operations:
  [
    {
      "operation": "getRepositories",
      "name": "Get Repositories",
      "description": "Returns all repositories of an organization"
    }
  ]

credentials_required:
  [
    {
      "name": "githubApi",
      "required": true,
      "displayOptions": {
        "show": {
          "authentication": [
            "accessToken"
          ]
        }
      }
    },
    {
      "name": "githubOAuth2Api",
      "required": true,
      "displayOptions": {
        "show": {
          "authentication": [
            "oAuth2"
          ]
        }
      }
    }
  ]


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

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

  # GitHub Trigger node

  [GitHub](https://github.com/){:target=_blank .external-link} provides hosting for software development and version control using Git. It offers the distributed version control and source code management (SCM) functionality of Git, access control and several collaboration features such as bug tracking, feature requests, task management, and wikis for every project.

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

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

properties_schema:
  [
    {
      "displayName": "Only members with owner privileges for an organization or admin privileges for a repository can set up the webhooks this node requires.",
      "name": "notice",
      "type": "notice",
      "default": ""
    },
    {
      "displayName": "Authentication",
      "name": "authentication",
      "type": "options",
      "default": "accessToken",
      "options": [
        {
          "name": "Access Token",
          "value": "accessToken"
        },
        {
          "name": "OAuth2",
          "value": "oAuth2"
        }
      ]
    },
    {
      "displayName": "Repository Owner",
      "name": "owner",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "modes": [
        {
          "displayName": "Repository Owner",
          "name": "list",
          "type": "list",
          "placeholder": "Select an owner...",
          "typeOptions": {
            "searchListMethod": "getUsers",
            "searchable": true,
            "searchFilterRequired": true
          }
        },
        {
          "displayName": "Link",
          "name": "url",
          "type": "string",
          "placeholder": "e.g. https://github.com/n8n-io",
          "extractValue": {
            "type": "regex",
            "regex": "https:\\/\\/(?:[^/]+)\\/([-_0-9a-zA-Z]+)"
          },
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "https:\\/\\/([^/]+)\\/([-_0-9a-zA-Z]+)(?:.*)",
                "errorMessage": "Not a valid Github URL"
              }
            }
          ]
        },
        {
          "displayName": "By Name",
          "name": "name",
          "type": "string",
          "placeholder": "e.g. n8n-io",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[-_a-zA-Z0-9]+",
                "errorMessage": "Not a valid Github Owner Name"
              }
            }
          ],
          "url": "=https://github.com/{{$value}}"
        }
      ]
    },
    {
      "displayName": "Repository Name",
      "name": "repository",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "modes": [
        {
          "displayName": "Repository Name",
          "name": "list",
          "type": "list",
          "placeholder": "Select an Repository...",
          "typeOptions": {
            "searchListMethod": "getRepositories",
            "searchable": true
          }
        },
        {
          "displayName": "Link",
          "name": "url",
          "type": "string",
          "placeholder": "e.g. https://github.com/n8n-io/n8n",
          "extractValue": {
            "type": "regex",
            "regex": "https:\\/\\/(?:[^/]+)\\/(?:[-_0-9a-zA-Z]+)\\/([-_.0-9a-zA-Z]+)"
          },
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "https:\\/\\/([^/]+)\\/(?:[-_0-9a-zA-Z]+)\\/([-_.0-9a-zA-Z]+)(?:.*)",
                "errorMessage": "Not a valid Github Repository URL"
              }
            }
          ]
        },
        {
          "displayName": "By Name",
          "name": "name",
          "type": "string",
          "placeholder": "e.g. n8n",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[-_.0-9a-zA-Z]+",
                "errorMessage": "Not a valid Github Repository Name"
              }
            }
          ],
          "url": "=https://github.com/{{$parameter[\"owner\"]}}/{{$value}}"
        }
      ]
    },
    {
      "displayName": "Events",
      "name": "events",
      "type": "multiOptions",
      "default": [],
      "description": "The events to listen to",
      "options": [
        {
          "name": "*",
          "value": "*",
          "description": "Any time any event is triggered (Wildcard Event)"
        },
        {
          "name": "Check Run",
          "value": "check_run",
          "description": "Triggered when a check run is created, rerequested, completed, or has a requested_action"
        },
        {
          "name": "Check Suite",
          "value": "check_suite",
          "description": "Triggered when a check suite is completed, requested, or rerequested"
        },
        {
          "name": "Commit Comment",
          "value": "commit_comment",
          "description": "Triggered when a commit comment is created"
        },
        {
          "name": "Create",
          "value": "create",
          "description": "Represents a created repository, branch, or tag"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Represents a deleted branch or tag"
        },
        {
          "name": "Deploy Key",
          "value": "deploy_key",
          "description": "Triggered when a deploy key is added or removed from a repository"
        },
        {
          "name": "Deployment",
          "value": "deployment",
          "description": "Represents a deployment"
        },
        {
          "name": "Deployment Status",
          "value": "deployment_status",
          "description": "Represents a deployment status"
        },
        {
          "name": "Fork",
          "value": "fork",
          "description": "Triggered when a user forks a repository"
        },
        {
          "name": "Github App Authorization",
          "value": "github_app_authorization",
          "description": "Triggered when someone revokes their authorization of a GitHub App"
        },
        {
          "name": "Gollum",
          "value": "gollum",
          "description": "Triggered when a Wiki page is created or updated"
        },
        {
          "name": "Installation",
          "value": "installation",
          "description": "Triggered when someone installs (created), uninstalls (deleted), or accepts new permissions (new_permissions_accepted) for a GitHub App. When a GitHub App owner requests new permissions, the person who installed the GitHub App must accept the new permissions request."
        },
        {
          "name": "Installation Repositories",
          "value": "installation_repositories",
          "description": "Triggered when a repository is added or removed from an installation"
        },
        {
          "name": "Issue Comment",
          "value": "issue_comment",
          "description": "Triggered when an issue comment is created, edited, or deleted"
        },
        {
          "name": "Issues",
          "value": "issues",
          "description": "Triggered when an issue is opened, edited, deleted, transferred, pinned, unpinned, closed, reopened, assigned, unassigned, labeled, unlabeled, locked, unlocked, milestoned, or demilestoned"
        },
        {
          "name": "Label",
          "value": "label",
          "description": "Triggered when a repository's label is created, edited, or deleted"
        },
        {
          "name": "Marketplace Purchase",
          "value": "marketplace_purchase",
          "description": "Triggered when someone purchases a GitHub Marketplace plan, cancels their plan, upgrades their plan (effective immediately), downgrades a plan that remains pending until the end of the billing cycle, or cancels a pending plan change"
        },
        {
          "name": "Member",
          "value": "member",
          "description": "Triggered when a user accepts an invitation or is removed as a collaborator to a repository, or has their permissions changed"
        },
        {
          "name": "Membership",
          "value": "membership",
          "description": "Triggered when a user is added or removed from a team. Organization hooks only."
        },
        {
          "name": "Meta",
          "value": "meta",
          "description": "Triggered when the webhook that this event is configured on is deleted"
        },
        {
          "name": "Milestone",
          "value": "milestone",
          "description": "Triggered when a milestone is created, closed, opened, edited, or deleted"
        },
        {
          "name": "Org Block",
          "value": "org_block",
          "description": "Triggered when an organization blocks or unblocks a user. Organization hooks only."
        },
        {
          "name": "Organization",
          "value": "organization",
          "description": "Triggered when an organization is deleted and renamed, and when a user is added, removed, or invited to an organization. Organization hooks only."
        },
        {
          "name": "Page Build",
          "value": "page_build",
          "description": "Triggered on push to a GitHub Pages enabled branch (gh-pages for project pages, master for user and organization pages)"
        },
        {
          "name": "Project",
          "value": "project",
          "description": "Triggered when a project is created, updated, closed, reopened, or deleted"
        },
        {
          "name": "Project Card",
          "value": "project_card",
          "description": "Triggered when a project card is created, edited, moved, converted to an issue, or deleted"
        },
        {
          "name": "Project Column",
          "value": "project_column",
          "description": "Triggered when a project column is created, updated, moved, or deleted"
        },
        {
          "name": "Public",
          "value": "public",
          "description": "Triggered when a private repository is open sourced"
        },
        {
          "name": "Pull Request",
          "value": "pull_request",
          "description": "Triggered when a pull request is assigned, unassigned, labeled, unlabeled, opened, edited, closed, reopened, synchronize, ready_for_review, locked, unlocked, a pull request review is requested, or a review request is removed"
        },
        {
          "name": "Pull Request Review",
          "value": "pull_request_review",
          "description": "Triggered when a pull request review is submitted into a non-pending state, the body is edited, or the review is dismissed"
        },
        {
          "name": "Pull Request Review Comment",
          "value": "pull_request_review_comment",
          "description": "Triggered when a comment on a pull request's unified diff is created, edited, or deleted (in the Files Changed tab)"
        },
        {
          "name": "Push",
          "value": "push",
          "description": "Triggered on a push to a repository branch. Branch pushes and repository tag pushes also trigger webhook push events. This is the default event."
        },
        {
          "name": "Release",
          "value": "release",
          "description": "Triggered when a release is published, unpublished, created, edited, deleted, or prereleased"
        },
        {
          "name": "Repository",
          "value": "repository",
          "description": "Triggered when a repository is created, archived, unarchived, renamed, edited, transferred, made public, or made private. Organization hooks are also triggered when a repository is deleted."
        },
        {
          "name": "Repository Import",
          "value": "repository_import",
          "description": "Triggered when a successful, cancelled, or failed repository import finishes for a GitHub organization or a personal repository"
        },
        {
          "name": "Repository Vulnerability Alert",
          "value": "repository_vulnerability_alert",
          "description": "Triggered when a security alert is created, dismissed, or resolved"
        },
        {
          "name": "Security Advisory",
          "value": "security_advisory",
          "description": "Triggered when a new security advisory is published, updated, or withdrawn"
        },
        {
          "name": "Star",
          "value": "star",
          "description": "Triggered when a star is added or removed from a repository"
        },
        {
          "name": "Status",
          "value": "status",
          "description": "Triggered when the status of a Git commit changes"
        },
        {
          "name": "Team",
          "value": "team",
          "description": "Triggered when an organization's team is created, deleted, edited, added_to_repository, or removed_from_repository. Organization hooks only."
        },
        {
          "name": "Team Add",
          "value": "team_add",
          "description": "Triggered when a repository is added to a team"
        },
        {
          "name": "Watch",
          "value": "watch",
          "description": "Triggered when someone stars a repository"
        }
      ],
      "required": true
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Insecure SSL",
          "name": "insecureSSL",
          "type": "boolean",
          "default": false,
          "description": "Whether the SSL certificate of the n8n host be verified by GitHub when delivering payloads"
        }
      ]
    }
  ]

credentials_required:
  [
    {
      "name": "githubApi",
      "required": true,
      "displayOptions": {
        "show": {
          "authentication": [
            "accessToken"
          ]
        }
      }
    },
    {
      "name": "githubOAuth2Api",
      "required": true,
      "displayOptions": {
        "show": {
          "authentication": [
            "oAuth2"
          ]
        }
      }
    }
  ]


node_type: nodes-base.gitlabTool
package_name: n8n-nodes-base
display_name: GitLab Tool
description: Retrieve data from GitLab API (AI Tool variant for use with AI Agents)
category: input
development_style: programmatic
version: 1
outputs:
  [
  {
  "type": "ai_tool",
  "displayName": "Tool"
  }
  ]

output_names:
  [
  "Tool"
  ]

updated_at: 2026-03-04 11:46:57
tool_variant_of: nodes-base.gitlab
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: GitLab node documentation
  description: Learn how to use the GitLab node in n8n. Follow technical documentation to integrate GitLab node into your workflows.
  contentType: [integration, reference]
  priority: medium
  ---

  # GitLab node

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

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

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

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

  ## Operations

  * File
  	* Create
  	* Delete
  	* Edit
  	* Get
  	* List
  * Issue
      * Create a new issue
      * Create a new comment on an issue
      * Edit an issue
      * Get the data of a single issue
      * Lock an issue
  * Release
      * Create a new release
      * Delete a new release
      * Get a new release
      * Get all releases
      * Update a new release
  * Repository
      * Get the data of a single repository
      * Returns issues of a repository
  * User
      * Returns the repositories of a user

  ## Templates and examples

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

  ## Related resources

  Refer to [GitLab's documentation](https://docs.gitlab.com/ee/api/rest/){:target=_blank .external-link} for more information about the service.

  n8n provides a trigger node for GitLab. You can find the trigger node docs [here](/integrations/builtin/trigger-nodes/n8n-nodes-base.gitlabtrigger.md).

  --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 GitLab"
    },
    {
      "displayName": "Authentication",
      "name": "authentication",
      "type": "options",
      "default": "accessToken",
      "options": [
        {
          "name": "Access Token",
          "value": "accessToken"
        },
        {
          "name": "OAuth2",
          "value": "oAuth2"
        }
      ]
    },
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "issue",
      "options": [
        {
          "name": "File",
          "value": "file"
        },
        {
          "name": "Issue",
          "value": "issue"
        },
        {
          "name": "Release",
          "value": "release"
        },
        {
          "name": "Repository",
          "value": "repository"
        },
        {
          "name": "User",
          "value": "user"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a new issue",
          "action": "Create an issue"
        },
        {
          "name": "Create Comment",
          "value": "createComment",
          "description": "Create a new comment on an issue",
          "action": "Create a comment on an issue"
        },
        {
          "name": "Edit",
          "value": "edit",
          "description": "Edit an issue",
          "action": "Edit an issue"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get the data of a single issue",
          "action": "Get an issue"
        },
        {
          "name": "Lock",
          "value": "lock",
          "description": "Lock an issue",
          "action": "Lock an issue"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "getIssues",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "description": "Get the data of a single repository",
          "action": "Get a repository"
        },
        {
          "name": "Get Issues",
          "value": "getIssues",
          "description": "Returns issues of a repository",
          "action": "Get issues of a repository"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "repository"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "getRepositories",
      "options": [
        {
          "name": "Get Repositories",
          "value": "getRepositories",
          "description": "Returns the repositories of a user",
          "action": "Get a user's repositories"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a new release",
          "action": "Create a release"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a release",
          "action": "Delete a release"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get a release",
          "action": "Get a release"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many releases",
          "action": "Get many releases"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update a release",
          "action": "Update a release"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "release"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a new file in repository",
          "action": "Create a file"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a file in repository",
          "action": "Delete a file"
        },
        {
          "name": "Edit",
          "value": "edit",
          "description": "Edit a file in repository",
          "action": "Edit a file"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get the data of a single file",
          "action": "Get a file"
        },
        {
          "name": "List",
          "value": "list",
          "description": "List contents of a folder",
          "action": "List files"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Project Owner",
      "name": "owner",
      "type": "string",
      "default": "",
      "description": "User, group or namespace of the project",
      "required": true
    },
    {
      "displayName": "Project Name",
      "name": "repository",
      "type": "string",
      "default": "",
      "description": "The name of the project",
      "required": true,
      "displayOptions": {
        "hide": {
          "resource": [
            "user"
          ],
          "operation": [
            "getRepositories"
          ]
        }
      }
    },
    {
      "displayName": "Title",
      "name": "title",
      "type": "string",
      "default": "",
      "description": "The title of the issue",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "issue"
          ]
        }
      }
    },
    {
      "displayName": "Body",
      "name": "body",
      "type": "string",
      "default": "",
      "description": "The body of the issue",
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "issue"
          ]
        }
      },
      "typeOptions": {
        "rows": 5
      }
    },
    {
      "displayName": "Due Date",
      "name": "due_date",
      "type": "dateTime",
      "default": "",
      "description": "Due Date for issue",
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "issue"
          ]
        }
      }
    },
    {
      "displayName": "Labels",
      "name": "labels",
      "type": "collection",
      "default": {
        "label": ""
      },
      "options": [
        {
          "displayName": "Label",
          "name": "label",
          "type": "string",
          "default": "",
          "description": "Label to add to issue"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "issue"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true,
        "multipleValueButtonText": "Add Label"
      }
    },
    {
      "displayName": "Assignees",
      "name": "assignee_ids",
      "type": "collection",
      "default": {
        "assignee": ""
      },
      "options": [
        {
          "displayName": "Assignee",
          "name": "assignee",
          "type": "number",
          "default": 0,
          "description": "User ID to assign issue to"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "issue"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true,
        "multipleValueButtonText": "Add Assignee"
      }
    },
    {
      "displayName": "Issue Number",
      "name": "issueNumber",
      "type": "number",
      "default": 0,
      "description": "The number of the issue on which to create the comment on",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "createComment"
          ],
          "resource": [
            "issue"
          ]
        }
      }
    },
    {
      "displayName": "Body",
      "name": "body",
      "type": "string",
      "default": "",
      "description": "The body of the comment",
      "displayOptions": {
        "show": {
          "operation": [
            "createComment"
          ],
          "resource": [
            "issue"
          ]
        }
      },
      "typeOptions": {
        "rows": 5
      }
    },
    {
      "displayName": "Issue Number",
      "name": "issueNumber",
      "type": "number",
      "default": 0,
      "description": "The number of the issue edit",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "edit"
          ],
          "resource": [
            "issue"
          ]
        }
      }
    },
    {
      "displayName": "Edit Fields",
      "name": "editFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Title",
          "name": "title",
          "type": "string",
          "default": "",
          "description": "The title of the issue"
        },
        {
          "displayName": "Body",
          "name": "description",
          "type": "string",
          "typeOptions": {
            "rows": 5
          },
          "default": "",
          "description": "The body of the issue"
        },
        {
          "displayName": "State",
          "name": "state",
          "type": "options",
          "options": [
            {
              "name": "Closed",
              "value": "closed",
              "description": "Set the state to \"closed\""
            },
            {
              "name": "Open",
              "value": "open",
              "description": "Set the state to \"open\""
            }
          ],
          "default": "open",
          "description": "The state to set"
        },
        {
          "displayName": "Labels",
          "name": "labels",
          "type": "collection",
          "typeOptions": {
            "multipleValues": true,
            "multipleValueButtonText": "Add Label"
          },
          "default": {
            "label": ""
          },
          "options": [
            {
              "displayName": "Label",
              "name": "label",
              "type": "string",
              "default": "",
              "description": "Label to add to issue"
            }
          ]
        },
        {
          "displayName": "Assignees",
          "name": "assignee_ids",
          "type": "collection",
          "typeOptions": {
            "multipleValues": true,
            "multipleValueButtonText": "Add Assignee"
          },
          "default": {
            "assignee": ""
          },
          "options": [
            {
              "displayName": "Assignees",
              "name": "assignee",
              "type": "string",
              "default": "",
              "description": "User to assign issue too"
            }
          ]
        },
        {
          "displayName": "Due Date",
          "name": "due_date",
          "type": "dateTime",
          "default": "",
          "description": "Due Date for issue"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "edit"
          ],
          "resource": [
            "issue"
          ]
        }
      },
      "typeOptions": {
        "multipleValueButtonText": "Add Field"
      }
    },
    {
      "displayName": "Issue Number",
      "name": "issueNumber",
      "type": "number",
      "default": 0,
      "description": "The number of the issue get data of",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "get"
          ],
          "resource": [
            "issue"
          ]
        }
      }
    },
    {
      "displayName": "Issue Number",
      "name": "issueNumber",
      "type": "number",
      "default": 0,
      "description": "The number of the issue to lock",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "lock"
          ],
          "resource": [
            "issue"
          ]
        }
      }
    },
    {
      "displayName": "Lock Reason",
      "name": "lockReason",
      "type": "options",
      "default": "resolved",
      "description": "The reason to lock the issue",
      "options": [
        {
          "name": "Off-Topic",
          "value": "off-topic",
          "description": "The issue is Off-Topic"
        },
        {
          "name": "Too Heated",
          "value": "too heated",
          "description": "The discussion is too heated"
        },
        {
          "name": "Resolved",
          "value": "resolved",
          "description": "The issue got resolved"
        },
        {
          "name": "Spam",
          "value": "spam",
          "description": "The issue is spam"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "lock"
          ],
          "resource": [
            "issue"
          ]
        }
      }
    },
    {
      "displayName": "Tag",
      "name": "releaseTag",
      "type": "string",
      "default": "",
      "description": "The tag of the release",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "release"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Name",
          "name": "name",
          "type": "string",
          "default": "",
          "description": "The name of the release"
        },
        {
          "displayName": "Description",
          "name": "description",
          "type": "string",
          "typeOptions": {
            "rows": 5
          },
          "default": "",
          "description": "The description of the release"
        },
        {
          "displayName": "Ref",
          "name": "ref",
          "type": "string",
          "default": "",
          "description": "If Tag doesn’t exist, the release will be created from Ref. It can be a commit SHA, another tag name, or a branch name."
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "release"
          ]
        }
      },
      "typeOptions": {
        "multipleValueButtonText": "Add Field"
      }
    },
    {
      "displayName": "Project ID",
      "name": "projectId",
      "type": "string",
      "default": "",
      "description": "The ID or URL-encoded path of the project",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "delete",
            "get"
          ],
          "resource": [
            "release"
          ]
        }
      }
    },
    {
      "displayName": "Tag Name",
      "name": "tag_name",
      "type": "string",
      "default": "",
      "description": "The Git tag the release is associated with",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "delete",
            "get"
          ],
          "resource": [
            "release"
          ]
        }
      }
    },
    {
      "displayName": "Project ID",
      "name": "projectId",
      "type": "string",
      "default": "",
      "description": "The ID or URL-encoded path of the project",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "release"
          ]
        }
      }
    },
    {
      "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": [
            "release",
            "file",
            "repository"
          ],
          "operation": [
            "getAll",
            "list",
            "getIssues"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 20,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "release",
            "file",
            "repository"
          ],
          "operation": [
            "getAll",
            "list",
            "getIssues"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Order By",
          "name": "order_by",
          "type": "options",
          "options": [
            {
              "name": "Created At",
              "value": "created_at"
            },
            {
              "name": "Released At",
              "value": "released_at"
            }
          ],
          "default": "released_at",
          "description": "The field to use as order"
        },
        {
          "displayName": "Sort",
          "name": "sort",
          "type": "options",
          "options": [
            {
              "name": "ASC",
              "value": "asc"
            },
            {
              "name": "DESC",
              "value": "desc"
            }
          ],
          "default": "desc",
          "description": "The direction of the order. ."
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "release"
          ]
        }
      },
      "typeOptions": {
        "multipleValueButtonText": "Add Field"
      }
    },
    {
      "displayName": "Project ID",
      "name": "projectId",
      "type": "string",
      "default": "",
      "description": "The ID or URL-encoded path of the project",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "update"
          ],
          "resource": [
            "release"
          ]
        }
      }
    },
    {
      "displayName": "Tag Name",
      "name": "tag_name",
      "type": "string",
      "default": "",
      "description": "The Git tag the release is associated with",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "update"
          ],
          "resource": [
            "release"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Name",
          "name": "name",
          "type": "string",
          "default": "",
          "description": "The release name"
        },
        {
          "displayName": "Description",
          "name": "description",
          "type": "string",
          "default": "",
          "description": "The description of the release. You can use Markdown."
        },
        {
          "displayName": "Milestones",
          "name": "milestones",
          "type": "string",
          "default": "",
          "description": "The title of each milestone to associate with the release (provide a titles list spearated with comma)"
        },
        {
          "displayName": "Released At",
          "name": "released_at",
          "type": "dateTime",
          "default": "",
          "description": "The date when the release is/was ready"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "update"
          ],
          "resource": [
            "release"
          ]
        }
      },
      "typeOptions": {
        "multipleValueButtonText": "Add Field"
      }
    },
    {
      "displayName": "Filters",
      "name": "getRepositoryIssuesFilters",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Assignee",
          "name": "assignee_username",
          "type": "string",
          "default": "",
          "description": "Return only issues which are assigned to a specific user"
        },
        {
          "displayName": "Creator",
          "name": "author_username",
          "type": "string",
          "default": "",
          "description": "Return only issues which were created by a specific user"
        },
        {
          "displayName": "Search",
          "name": "search",
          "type": "string",
          "default": "",
          "description": "Search issues against their title and description"
        },
        {
          "displayName": "Labels",
          "name": "labels",
          "type": "string",
          "default": "",
          "description": "Return only issues with the given labels. Multiple lables can be separated by comma."
        },
        {
          "displayName": "Updated After",
          "name": "updated_after",
          "type": "dateTime",
          "default": "",
          "description": "Return only issues updated at or after this time"
        },
        {
          "displayName": "State",
          "name": "state",
          "type": "options",
          "options": [
            {
              "name": "All",
              "value": "",
              "description": "Returns issues with any state"
            },
            {
              "name": "Closed",
              "value": "closed",
              "description": "Return issues with \"closed\" state"
            },
            {
              "name": "Open",
              "value": "opened",
              "description": "Return issues with \"open\" state"
            }
          ],
          "default": "opened",
          "description": "The state to filter by"
        },
        {
          "displayName": "Sort",
          "name": "order_by",
          "type": "options",
          "options": [
            {
              "name": "Created At",
              "value": "created_at",
              "description": "Sort by created date"
            },
            {
              "name": "Updated At",
              "value": "updated_at",
              "description": "Sort by updated date"
            },
            {
              "name": "Priority",
              "value": "priority",
              "description": "Sort by priority"
            }
          ],
          "default": "created_at",
          "description": "The order the issues should be returned in"
        },
        {
          "displayName": "Direction",
          "name": "sort",
          "type": "options",
          "options": [
            {
              "name": "Ascending",
              "value": "asc",
              "description": "Sort in ascending order"
            },
            {
              "name": "Descending",
              "value": "desc",
              "description": "Sort in descending order"
            }
          ],
          "default": "desc",
          "description": "The sort order"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "getIssues"
          ],
          "resource": [
            "repository"
          ]
        }
      },
      "typeOptions": {
        "multipleValueButtonText": "Add Filter"
      }
    },
    {
      "displayName": "File Path",
      "name": "filePath",
      "type": "string",
      "default": "",
      "description": "The file path of the file. Has to contain the full path or leave it empty for root folder.",
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ]
        },
        "hide": {
          "operation": [
            "list"
          ]
        }
      }
    },
    {
      "displayName": "Path",
      "name": "filePath",
      "type": "string",
      "default": "",
      "description": "The path of the folder to list",
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "list"
          ]
        }
      }
    },
    {
      "displayName": "Page",
      "name": "page",
      "type": "number",
      "default": 1,
      "description": "Page of results to display",
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "list"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 1000
      }
    },
    {
      "displayName": "Additional Parameters",
      "name": "additionalParameters",
      "type": "collection",
      "default": {},
      "description": "Additional fields to add",
      "options": [
        {
          "displayName": "Reference",
          "name": "ref",
          "type": "string",
          "default": "",
          "placeholder": "main",
          "description": "The name of the commit/branch/tag. Default: the repository’s default branch (usually main)."
        },
        {
          "displayName": "Recursive",
          "name": "recursive",
          "type": "boolean",
          "default": false,
          "description": "Whether or not to get a recursive file tree. Default is false."
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "list"
          ]
        }
      }
    },
    {
      "displayName": "As Binary Property",
      "name": "asBinaryProperty",
      "type": "boolean",
      "default": true,
      "description": "Whether to set the data of the file as binary property instead of returning the raw API response",
      "displayOptions": {
        "show": {
          "operation": [
            "get"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Put Output File in Field",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "required": true,
      "displayOptions": {
        "show": {
          "asBinaryProperty": [
            true
          ],
          "operation": [
            "get"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Additional Parameters",
      "name": "additionalParameters",
      "type": "collection",
      "default": {},
      "description": "Additional fields to add",
      "options": [
        {
          "displayName": "Reference",
          "name": "reference",
          "type": "string",
          "default": "",
          "placeholder": "main",
          "description": "The name of the commit/branch/tag. Default: the repository’s default branch (usually main)."
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "get"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Binary File",
      "name": "binaryData",
      "type": "boolean",
      "default": false,
      "description": "Whether the data to upload should be taken from binary field",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create",
            "edit"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "File Content",
      "name": "fileContent",
      "type": "string",
      "default": "",
      "description": "The text content of the file",
      "required": true,
      "displayOptions": {
        "show": {
          "binaryData": [
            false
          ],
          "operation": [
            "create",
            "edit"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Input Binary Field",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "required": true,
      "displayOptions": {
        "show": {
          "binaryData": [
            true
          ],
          "operation": [
            "create",
            "edit"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Commit Message",
      "name": "commitMessage",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create",
            "delete",
            "edit"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Branch",
      "name": "branch",
      "type": "string",
      "default": "",
      "description": "Name of the new branch to create. The commit is added to this branch.",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create",
            "delete",
            "edit"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Additional Parameters",
      "name": "additionalParameters",
      "type": "fixedCollection",
      "default": {},
      "description": "Additional fields to add",
      "options": [
        {
          "displayName": "Start Branch",
          "name": "branchStart",
          "values": [
            {
              "displayName": "Start Branch",
              "name": "branchStart",
              "type": "string",
              "default": "",
              "description": "Name of the base branch to create the new branch from"
            }
          ]
        },
        {
          "name": "author",
          "displayName": "Author",
          "values": [
            {
              "displayName": "Name",
              "name": "name",
              "type": "string",
              "default": "",
              "description": "The name of the author of the commit"
            },
            {
              "displayName": "Email",
              "name": "email",
              "type": "string",
              "placeholder": "name@email.com",
              "default": "",
              "description": "The email of the author of the commit"
            }
          ]
        },
        {
          "name": "encoding",
          "displayName": "Encoding",
          "values": [
            {
              "displayName": "Encoding",
              "name": "encoding",
              "type": "string",
              "default": "text",
              "description": "Change encoding to base64. Default is text."
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "create",
            "delete",
            "edit"
          ],
          "resource": [
            "file"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "create",
      "name": "Create",
      "description": "Create a new issue"
    },
    {
      "operation": "createComment",
      "name": "Create Comment",
      "description": "Create a new comment on an issue"
    },
    {
      "operation": "edit",
      "name": "Edit",
      "description": "Edit an issue"
    },
    {
      "operation": "get",
      "name": "Get",
      "description": "Get the data of a single issue"
    },
    {
      "operation": "lock",
      "name": "Lock",
      "description": "Lock an issue"
    }
  ]

credentials_required:
  [
    {
      "name": "gitlabApi",
      "required": true,
      "displayOptions": {
        "show": {
          "authentication": [
            "accessToken"
          ]
        }
      }
    },
    {
      "name": "gitlabOAuth2Api",
      "required": true,
      "displayOptions": {
        "show": {
          "authentication": [
            "oAuth2"
          ]
        }
      }
    }
  ]


node_type: nodes-base.gitlab
package_name: n8n-nodes-base
display_name: GitLab
description: Retrieve data from GitLab API
category: input
development_style: programmatic
version: 1
outputs:
  [
  "main"
  ]

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

  # GitLab node

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

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

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

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

  ## Operations

  * File
  	* Create
  	* Delete
  	* Edit
  	* Get
  	* List
  * Issue
      * Create a new issue
      * Create a new comment on an issue
      * Edit an issue
      * Get the data of a single issue
      * Lock an issue
  * Release
      * Create a new release
      * Delete a new release
      * Get a new release
      * Get all releases
      * Update a new release
  * Repository
      * Get the data of a single repository
      * Returns issues of a repository
  * User
      * Returns the repositories of a user

  ## Templates and examples

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

  ## Related resources

  Refer to [GitLab's documentation](https://docs.gitlab.com/ee/api/rest/){:target=_blank .external-link} for more information about the service.

  n8n provides a trigger node for GitLab. You can find the trigger node docs [here](/integrations/builtin/trigger-nodes/n8n-nodes-base.gitlabtrigger.md).

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

properties_schema:
  [
    {
      "displayName": "Authentication",
      "name": "authentication",
      "type": "options",
      "default": "accessToken",
      "options": [
        {
          "name": "Access Token",
          "value": "accessToken"
        },
        {
          "name": "OAuth2",
          "value": "oAuth2"
        }
      ]
    },
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "issue",
      "options": [
        {
          "name": "File",
          "value": "file"
        },
        {
          "name": "Issue",
          "value": "issue"
        },
        {
          "name": "Release",
          "value": "release"
        },
        {
          "name": "Repository",
          "value": "repository"
        },
        {
          "name": "User",
          "value": "user"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a new issue",
          "action": "Create an issue"
        },
        {
          "name": "Create Comment",
          "value": "createComment",
          "description": "Create a new comment on an issue",
          "action": "Create a comment on an issue"
        },
        {
          "name": "Edit",
          "value": "edit",
          "description": "Edit an issue",
          "action": "Edit an issue"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get the data of a single issue",
          "action": "Get an issue"
        },
        {
          "name": "Lock",
          "value": "lock",
          "description": "Lock an issue",
          "action": "Lock an issue"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "issue"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "getIssues",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "description": "Get the data of a single repository",
          "action": "Get a repository"
        },
        {
          "name": "Get Issues",
          "value": "getIssues",
          "description": "Returns issues of a repository",
          "action": "Get issues of a repository"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "repository"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "getRepositories",
      "options": [
        {
          "name": "Get Repositories",
          "value": "getRepositories",
          "description": "Returns the repositories of a user",
          "action": "Get a user's repositories"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a new release",
          "action": "Create a release"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a release",
          "action": "Delete a release"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get a release",
          "action": "Get a release"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many releases",
          "action": "Get many releases"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update a release",
          "action": "Update a release"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "release"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a new file in repository",
          "action": "Create a file"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a file in repository",
          "action": "Delete a file"
        },
        {
          "name": "Edit",
          "value": "edit",
          "description": "Edit a file in repository",
          "action": "Edit a file"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get the data of a single file",
          "action": "Get a file"
        },
        {
          "name": "List",
          "value": "list",
          "description": "List contents of a folder",
          "action": "List files"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Project Owner",
      "name": "owner",
      "type": "string",
      "default": "",
      "description": "User, group or namespace of the project",
      "required": true
    },
    {
      "displayName": "Project Name",
      "name": "repository",
      "type": "string",
      "default": "",
      "description": "The name of the project",
      "required": true,
      "displayOptions": {
        "hide": {
          "resource": [
            "user"
          ],
          "operation": [
            "getRepositories"
          ]
        }
      }
    },
    {
      "displayName": "Title",
      "name": "title",
      "type": "string",
      "default": "",
      "description": "The title of the issue",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "issue"
          ]
        }
      }
    },
    {
      "displayName": "Body",
      "name": "body",
      "type": "string",
      "default": "",
      "description": "The body of the issue",
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "issue"
          ]
        }
      },
      "typeOptions": {
        "rows": 5
      }
    },
    {
      "displayName": "Due Date",
      "name": "due_date",
      "type": "dateTime",
      "default": "",
      "description": "Due Date for issue",
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "issue"
          ]
        }
      }
    },
    {
      "displayName": "Labels",
      "name": "labels",
      "type": "collection",
      "default": {
        "label": ""
      },
      "options": [
        {
          "displayName": "Label",
          "name": "label",
          "type": "string",
          "default": "",
          "description": "Label to add to issue"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "issue"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true,
        "multipleValueButtonText": "Add Label"
      }
    },
    {
      "displayName": "Assignees",
      "name": "assignee_ids",
      "type": "collection",
      "default": {
        "assignee": ""
      },
      "options": [
        {
          "displayName": "Assignee",
          "name": "assignee",
          "type": "number",
          "default": 0,
          "description": "User ID to assign issue to"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "issue"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true,
        "multipleValueButtonText": "Add Assignee"
      }
    },
    {
      "displayName": "Issue Number",
      "name": "issueNumber",
      "type": "number",
      "default": 0,
      "description": "The number of the issue on which to create the comment on",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "createComment"
          ],
          "resource": [
            "issue"
          ]
        }
      }
    },
    {
      "displayName": "Body",
      "name": "body",
      "type": "string",
      "default": "",
      "description": "The body of the comment",
      "displayOptions": {
        "show": {
          "operation": [
            "createComment"
          ],
          "resource": [
            "issue"
          ]
        }
      },
      "typeOptions": {
        "rows": 5
      }
    },
    {
      "displayName": "Issue Number",
      "name": "issueNumber",
      "type": "number",
      "default": 0,
      "description": "The number of the issue edit",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "edit"
          ],
          "resource": [
            "issue"
          ]
        }
      }
    },
    {
      "displayName": "Edit Fields",
      "name": "editFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Title",
          "name": "title",
          "type": "string",
          "default": "",
          "description": "The title of the issue"
        },
        {
          "displayName": "Body",
          "name": "description",
          "type": "string",
          "typeOptions": {
            "rows": 5
          },
          "default": "",
          "description": "The body of the issue"
        },
        {
          "displayName": "State",
          "name": "state",
          "type": "options",
          "options": [
            {
              "name": "Closed",
              "value": "closed",
              "description": "Set the state to \"closed\""
            },
            {
              "name": "Open",
              "value": "open",
              "description": "Set the state to \"open\""
            }
          ],
          "default": "open",
          "description": "The state to set"
        },
        {
          "displayName": "Labels",
          "name": "labels",
          "type": "collection",
          "typeOptions": {
            "multipleValues": true,
            "multipleValueButtonText": "Add Label"
          },
          "default": {
            "label": ""
          },
          "options": [
            {
              "displayName": "Label",
              "name": "label",
              "type": "string",
              "default": "",
              "description": "Label to add to issue"
            }
          ]
        },
        {
          "displayName": "Assignees",
          "name": "assignee_ids",
          "type": "collection",
          "typeOptions": {
            "multipleValues": true,
            "multipleValueButtonText": "Add Assignee"
          },
          "default": {
            "assignee": ""
          },
          "options": [
            {
              "displayName": "Assignees",
              "name": "assignee",
              "type": "string",
              "default": "",
              "description": "User to assign issue too"
            }
          ]
        },
        {
          "displayName": "Due Date",
          "name": "due_date",
          "type": "dateTime",
          "default": "",
          "description": "Due Date for issue"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "edit"
          ],
          "resource": [
            "issue"
          ]
        }
      },
      "typeOptions": {
        "multipleValueButtonText": "Add Field"
      }
    },
    {
      "displayName": "Issue Number",
      "name": "issueNumber",
      "type": "number",
      "default": 0,
      "description": "The number of the issue get data of",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "get"
          ],
          "resource": [
            "issue"
          ]
        }
      }
    },
    {
      "displayName": "Issue Number",
      "name": "issueNumber",
      "type": "number",
      "default": 0,
      "description": "The number of the issue to lock",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "lock"
          ],
          "resource": [
            "issue"
          ]
        }
      }
    },
    {
      "displayName": "Lock Reason",
      "name": "lockReason",
      "type": "options",
      "default": "resolved",
      "description": "The reason to lock the issue",
      "options": [
        {
          "name": "Off-Topic",
          "value": "off-topic",
          "description": "The issue is Off-Topic"
        },
        {
          "name": "Too Heated",
          "value": "too heated",
          "description": "The discussion is too heated"
        },
        {
          "name": "Resolved",
          "value": "resolved",
          "description": "The issue got resolved"
        },
        {
          "name": "Spam",
          "value": "spam",
          "description": "The issue is spam"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "lock"
          ],
          "resource": [
            "issue"
          ]
        }
      }
    },
    {
      "displayName": "Tag",
      "name": "releaseTag",
      "type": "string",
      "default": "",
      "description": "The tag of the release",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "release"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Name",
          "name": "name",
          "type": "string",
          "default": "",
          "description": "The name of the release"
        },
        {
          "displayName": "Description",
          "name": "description",
          "type": "string",
          "typeOptions": {
            "rows": 5
          },
          "default": "",
          "description": "The description of the release"
        },
        {
          "displayName": "Ref",
          "name": "ref",
          "type": "string",
          "default": "",
          "description": "If Tag doesn’t exist, the release will be created from Ref. It can be a commit SHA, another tag name, or a branch name."
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "release"
          ]
        }
      },
      "typeOptions": {
        "multipleValueButtonText": "Add Field"
      }
    },
    {
      "displayName": "Project ID",
      "name": "projectId",
      "type": "string",
      "default": "",
      "description": "The ID or URL-encoded path of the project",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "delete",
            "get"
          ],
          "resource": [
            "release"
          ]
        }
      }
    },
    {
      "displayName": "Tag Name",
      "name": "tag_name",
      "type": "string",
      "default": "",
      "description": "The Git tag the release is associated with",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "delete",
            "get"
          ],
          "resource": [
            "release"
          ]
        }
      }
    },
    {
      "displayName": "Project ID",
      "name": "projectId",
      "type": "string",
      "default": "",
      "description": "The ID or URL-encoded path of the project",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "release"
          ]
        }
      }
    },
    {
      "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": [
            "release",
            "file",
            "repository"
          ],
          "operation": [
            "getAll",
            "list",
            "getIssues"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 20,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "release",
            "file",
            "repository"
          ],
          "operation": [
            "getAll",
            "list",
            "getIssues"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Order By",
          "name": "order_by",
          "type": "options",
          "options": [
            {
              "name": "Created At",
              "value": "created_at"
            },
            {
              "name": "Released At",
              "value": "released_at"
            }
          ],
          "default": "released_at",
          "description": "The field to use as order"
        },
        {
          "displayName": "Sort",
          "name": "sort",
          "type": "options",
          "options": [
            {
              "name": "ASC",
              "value": "asc"
            },
            {
              "name": "DESC",
              "value": "desc"
            }
          ],
          "default": "desc",
          "description": "The direction of the order. ."
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "release"
          ]
        }
      },
      "typeOptions": {
        "multipleValueButtonText": "Add Field"
      }
    },
    {
      "displayName": "Project ID",
      "name": "projectId",
      "type": "string",
      "default": "",
      "description": "The ID or URL-encoded path of the project",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "update"
          ],
          "resource": [
            "release"
          ]
        }
      }
    },
    {
      "displayName": "Tag Name",
      "name": "tag_name",
      "type": "string",
      "default": "",
      "description": "The Git tag the release is associated with",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "update"
          ],
          "resource": [
            "release"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Name",
          "name": "name",
          "type": "string",
          "default": "",
          "description": "The release name"
        },
        {
          "displayName": "Description",
          "name": "description",
          "type": "string",
          "default": "",
          "description": "The description of the release. You can use Markdown."
        },
        {
          "displayName": "Milestones",
          "name": "milestones",
          "type": "string",
          "default": "",
          "description": "The title of each milestone to associate with the release (provide a titles list spearated with comma)"
        },
        {
          "displayName": "Released At",
          "name": "released_at",
          "type": "dateTime",
          "default": "",
          "description": "The date when the release is/was ready"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "update"
          ],
          "resource": [
            "release"
          ]
        }
      },
      "typeOptions": {
        "multipleValueButtonText": "Add Field"
      }
    },
    {
      "displayName": "Filters",
      "name": "getRepositoryIssuesFilters",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Assignee",
          "name": "assignee_username",
          "type": "string",
          "default": "",
          "description": "Return only issues which are assigned to a specific user"
        },
        {
          "displayName": "Creator",
          "name": "author_username",
          "type": "string",
          "default": "",
          "description": "Return only issues which were created by a specific user"
        },
        {
          "displayName": "Search",
          "name": "search",
          "type": "string",
          "default": "",
          "description": "Search issues against their title and description"
        },
        {
          "displayName": "Labels",
          "name": "labels",
          "type": "string",
          "default": "",
          "description": "Return only issues with the given labels. Multiple lables can be separated by comma."
        },
        {
          "displayName": "Updated After",
          "name": "updated_after",
          "type": "dateTime",
          "default": "",
          "description": "Return only issues updated at or after this time"
        },
        {
          "displayName": "State",
          "name": "state",
          "type": "options",
          "options": [
            {
              "name": "All",
              "value": "",
              "description": "Returns issues with any state"
            },
            {
              "name": "Closed",
              "value": "closed",
              "description": "Return issues with \"closed\" state"
            },
            {
              "name": "Open",
              "value": "opened",
              "description": "Return issues with \"open\" state"
            }
          ],
          "default": "opened",
          "description": "The state to filter by"
        },
        {
          "displayName": "Sort",
          "name": "order_by",
          "type": "options",
          "options": [
            {
              "name": "Created At",
              "value": "created_at",
              "description": "Sort by created date"
            },
            {
              "name": "Updated At",
              "value": "updated_at",
              "description": "Sort by updated date"
            },
            {
              "name": "Priority",
              "value": "priority",
              "description": "Sort by priority"
            }
          ],
          "default": "created_at",
          "description": "The order the issues should be returned in"
        },
        {
          "displayName": "Direction",
          "name": "sort",
          "type": "options",
          "options": [
            {
              "name": "Ascending",
              "value": "asc",
              "description": "Sort in ascending order"
            },
            {
              "name": "Descending",
              "value": "desc",
              "description": "Sort in descending order"
            }
          ],
          "default": "desc",
          "description": "The sort order"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "getIssues"
          ],
          "resource": [
            "repository"
          ]
        }
      },
      "typeOptions": {
        "multipleValueButtonText": "Add Filter"
      }
    },
    {
      "displayName": "File Path",
      "name": "filePath",
      "type": "string",
      "default": "",
      "description": "The file path of the file. Has to contain the full path or leave it empty for root folder.",
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ]
        },
        "hide": {
          "operation": [
            "list"
          ]
        }
      }
    },
    {
      "displayName": "Path",
      "name": "filePath",
      "type": "string",
      "default": "",
      "description": "The path of the folder to list",
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "list"
          ]
        }
      }
    },
    {
      "displayName": "Page",
      "name": "page",
      "type": "number",
      "default": 1,
      "description": "Page of results to display",
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "list"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 1000
      }
    },
    {
      "displayName": "Additional Parameters",
      "name": "additionalParameters",
      "type": "collection",
      "default": {},
      "description": "Additional fields to add",
      "options": [
        {
          "displayName": "Reference",
          "name": "ref",
          "type": "string",
          "default": "",
          "placeholder": "main",
          "description": "The name of the commit/branch/tag. Default: the repository’s default branch (usually main)."
        },
        {
          "displayName": "Recursive",
          "name": "recursive",
          "type": "boolean",
          "default": false,
          "description": "Whether or not to get a recursive file tree. Default is false."
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "list"
          ]
        }
      }
    },
    {
      "displayName": "As Binary Property",
      "name": "asBinaryProperty",
      "type": "boolean",
      "default": true,
      "description": "Whether to set the data of the file as binary property instead of returning the raw API response",
      "displayOptions": {
        "show": {
          "operation": [
            "get"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Put Output File in Field",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "required": true,
      "displayOptions": {
        "show": {
          "asBinaryProperty": [
            true
          ],
          "operation": [
            "get"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Additional Parameters",
      "name": "additionalParameters",
      "type": "collection",
      "default": {},
      "description": "Additional fields to add",
      "options": [
        {
          "displayName": "Reference",
          "name": "reference",
          "type": "string",
          "default": "",
          "placeholder": "main",
          "description": "The name of the commit/branch/tag. Default: the repository’s default branch (usually main)."
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "get"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Binary File",
      "name": "binaryData",
      "type": "boolean",
      "default": false,
      "description": "Whether the data to upload should be taken from binary field",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create",
            "edit"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "File Content",
      "name": "fileContent",
      "type": "string",
      "default": "",
      "description": "The text content of the file",
      "required": true,
      "displayOptions": {
        "show": {
          "binaryData": [
            false
          ],
          "operation": [
            "create",
            "edit"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Input Binary Field",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "required": true,
      "displayOptions": {
        "show": {
          "binaryData": [
            true
          ],
          "operation": [
            "create",
            "edit"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Commit Message",
      "name": "commitMessage",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create",
            "delete",
            "edit"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Branch",
      "name": "branch",
      "type": "string",
      "default": "",
      "description": "Name of the new branch to create. The commit is added to this branch.",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create",
            "delete",
            "edit"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Additional Parameters",
      "name": "additionalParameters",
      "type": "fixedCollection",
      "default": {},
      "description": "Additional fields to add",
      "options": [
        {
          "displayName": "Start Branch",
          "name": "branchStart",
          "values": [
            {
              "displayName": "Start Branch",
              "name": "branchStart",
              "type": "string",
              "default": "",
              "description": "Name of the base branch to create the new branch from"
            }
          ]
        },
        {
          "name": "author",
          "displayName": "Author",
          "values": [
            {
              "displayName": "Name",
              "name": "name",
              "type": "string",
              "default": "",
              "description": "The name of the author of the commit"
            },
            {
              "displayName": "Email",
              "name": "email",
              "type": "string",
              "placeholder": "name@email.com",
              "default": "",
              "description": "The email of the author of the commit"
            }
          ]
        },
        {
          "name": "encoding",
          "displayName": "Encoding",
          "values": [
            {
              "displayName": "Encoding",
              "name": "encoding",
              "type": "string",
              "default": "text",
              "description": "Change encoding to base64. Default is text."
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "create",
            "delete",
            "edit"
          ],
          "resource": [
            "file"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "create",
      "name": "Create",
      "description": "Create a new issue"
    },
    {
      "operation": "createComment",
      "name": "Create Comment",
      "description": "Create a new comment on an issue"
    },
    {
      "operation": "edit",
      "name": "Edit",
      "description": "Edit an issue"
    },
    {
      "operation": "get",
      "name": "Get",
      "description": "Get the data of a single issue"
    },
    {
      "operation": "lock",
      "name": "Lock",
      "description": "Lock an issue"
    }
  ]

credentials_required:
  [
    {
      "name": "gitlabApi",
      "required": true,
      "displayOptions": {
        "show": {
          "authentication": [
            "accessToken"
          ]
        }
      }
    },
    {
      "name": "gitlabOAuth2Api",
      "required": true,
      "displayOptions": {
        "show": {
          "authentication": [
            "oAuth2"
          ]
        }
      }
    }
  ]


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

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

  # GitLab Trigger node

  [GitLab](https://gitlab.com/){:target=_blank .external-link} is a web-based DevOps lifecycle tool that provides a Git-repository manager providing wiki, issue-tracking, and continuous integration/continuous installation pipeline features.

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

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

properties_schema:
  [
    {
      "displayName": "Authentication",
      "name": "authentication",
      "type": "options",
      "default": "accessToken",
      "options": [
        {
          "name": "Access Token",
          "value": "accessToken"
        },
        {
          "name": "OAuth2",
          "value": "oAuth2"
        }
      ]
    },
    {
      "displayName": "Repository Owner",
      "name": "owner",
      "type": "string",
      "default": "",
      "description": "Owner of the repository",
      "required": true
    },
    {
      "displayName": "Repository Name",
      "name": "repository",
      "type": "string",
      "default": "",
      "description": "The name of the repository",
      "required": true
    },
    {
      "displayName": "Events",
      "name": "events",
      "type": "multiOptions",
      "default": [],
      "description": "The events to listen to",
      "options": [
        {
          "name": "Comment",
          "value": "note",
          "description": "Triggered when a new comment is made on commits, merge requests, issues, and code snippets"
        },
        {
          "name": "Confidential Issues",
          "value": "confidential_issues",
          "description": "Triggered on confidential issues' events"
        },
        {
          "name": "Confidential Comments",
          "value": "confidential_note",
          "description": "Triggered when a confidential comment is made"
        },
        {
          "name": "Deployments",
          "value": "deployment",
          "description": "Triggered when a deployment starts/succeeds/fails/is cancelled"
        },
        {
          "name": "Issue",
          "value": "issues",
          "description": "Triggered when a new issue is created or an existing issue was updated/closed/reopened"
        },
        {
          "name": "Job",
          "value": "job",
          "description": "Triggered on status change of a job"
        },
        {
          "name": "Merge Request",
          "value": "merge_requests",
          "description": "Triggered when a new merge request is created, an existing merge request was updated/merged/closed or a commit is added in the source branch"
        },
        {
          "name": "Pipeline",
          "value": "pipeline",
          "description": "Triggered on status change of Pipeline"
        },
        {
          "name": "Push",
          "value": "push",
          "description": "Triggered when you push to the repository except when pushing tags"
        },
        {
          "name": "Release",
          "value": "releases",
          "description": "Release events are triggered when a release is created or updated"
        },
        {
          "name": "Tag",
          "value": "tag_push",
          "description": "Triggered when you create (or delete) tags to the repository"
        },
        {
          "name": "Wiki Page",
          "value": "wiki_page",
          "description": "Triggered when a wiki page is created, updated or deleted"
        },
        {
          "name": "*",
          "value": "*",
          "description": "Any time any event is triggered (Wildcard Event)"
        }
      ],
      "required": true
    }
  ]

credentials_required:
  [
    {
      "name": "gitlabApi",
      "required": true,
      "displayOptions": {
        "show": {
          "authentication": [
            "accessToken"
          ]
        }
      }
    },
    {
      "name": "gitlabOAuth2Api",
      "required": true,
      "displayOptions": {
        "show": {
          "authentication": [
            "oAuth2"
          ]
        }
      }
    }
  ]


node_type: nodes-base.gongTool
package_name: n8n-nodes-base
display_name: Gong Tool
description: Interact with Gong API (AI Tool variant for use with AI Agents)
category: transform
development_style: programmatic
version: 1
outputs:
  [
  {
  "type": "ai_tool",
  "displayName": "Tool"
  }
  ]

output_names:
  [
  "Tool"
  ]

updated_at: 2026-03-04 11:46:57
tool_variant_of: nodes-base.gong
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Gong node documentation
  description: Learn how to use the Gong node in n8n. Follow technical documentation to integrate Gong node into your workflows.
  contentType: [integration, reference]
  ---

  # Gong node

  Use the Gong node to automate work in Gong and integrate Gong with other applications. n8n has built-in support for a wide range of Gong features, which includes getting one or more calls and users.

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

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


  ## Operations

  <!-- vale off -->
  * Call
  	* Get
  	* Get Many
  * User
  	* Get
  	* Get Many
  <!-- vale on -->

  ## Templates and examples

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

  ## Related resources

  Refer to [Gong's documentation](https://gong.app.gong.io/settings/api/documentation){:target=_blank .external-link} for more information about the service.

  --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 Gong"
    },
    {
      "displayName": "Authentication",
      "name": "authentication",
      "type": "options",
      "default": "accessToken",
      "options": [
        {
          "name": "Access Token",
          "value": "accessToken"
        },
        {
          "name": "OAuth2",
          "value": "oAuth2"
        }
      ]
    },
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "call",
      "options": [
        {
          "name": "Call",
          "value": "call"
        },
        {
          "name": "User",
          "value": "user"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "description": "Retrieve data for a specific call",
          "routing": {
            "request": {
              "method": "POST",
              "url": "/v2/calls/extensive",
              "ignoreHttpStatusErrors": true
            },
            "output": {
              "postReceive": [
                null
              ]
            }
          },
          "action": "Get call"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Retrieve a list of calls",
          "routing": {
            "request": {
              "method": "POST",
              "url": "/v2/calls/extensive",
              "body": {
                "filter": {}
              },
              "ignoreHttpStatusErrors": true
            },
            "output": {
              "postReceive": [
                null
              ]
            }
          },
          "action": "Get many calls"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "call"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Call to Get",
      "name": "call",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "call"
          ],
          "operation": [
            "get"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "getCalls",
            "searchable": true
          }
        },
        {
          "displayName": "By ID",
          "name": "id",
          "placeholder": "e.g. 7782342274025937895",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[0-9]{1,20}",
                "errorMessage": "Not a valid Gong Call ID"
              }
            }
          ]
        },
        {
          "displayName": "By URL",
          "name": "url",
          "extractValue": {
            "type": "regex",
            "regex": "https:\\/\\/[a-zA-Z0-9-]+\\.app\\.gong\\.io\\/call\\?id=([0-9]{1,20})"
          },
          "placeholder": "e.g. https://subdomain.app.gong.io/call?id=7782342274025937895",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "https:\\/\\/[a-zA-Z0-9-]+\\.app\\.gong\\.io\\/call\\?id=([0-9]{1,20})",
                "errorMessage": "Not a valid Gong URL"
              }
            }
          ]
        }
      ]
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Call Data to Include",
          "name": "properties",
          "type": "multiOptions",
          "default": [],
          "description": "The Call properties to include in the returned results. Choose from a list, or specify IDs using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>.",
          "options": [
            {
              "name": "Action Items",
              "value": "pointsOfInterest",
              "description": "Call points of interest"
            },
            {
              "name": "Audio and Video URLs",
              "value": "media",
              "description": "Audio and video URL of the call. The URLs will be available for 8 hours."
            },
            {
              "name": "Brief",
              "value": "brief",
              "description": "Spotlight call brief",
              "routing": {
                "send": {
                  "type": "body",
                  "property": "contentSelector.exposedFields.content.brief",
                  "propertyInDotNotation": true,
                  "value": "={{ $value }}"
                }
              }
            },
            {
              "name": "Comments",
              "value": "publicComments",
              "description": "Public comments made for this call"
            },
            {
              "name": "Highlights",
              "value": "highlights",
              "description": "Call highlights"
            },
            {
              "name": "Keypoints",
              "value": "keyPoints",
              "description": "Key points of the call"
            },
            {
              "name": "Outcome",
              "value": "callOutcome",
              "description": "Outcome of the call"
            },
            {
              "name": "Outline",
              "value": "outline",
              "description": "Call outline"
            },
            {
              "name": "Participants",
              "value": "parties",
              "description": "Information about the participants of the call"
            },
            {
              "name": "Structure",
              "value": "structure",
              "description": "Call agenda"
            },
            {
              "name": "Topics",
              "value": "topics",
              "description": "Duration of call topics"
            },
            {
              "name": "Trackers",
              "value": "trackers",
              "description": "Smart tracker and keyword tracker information for the call"
            },
            {
              "name": "Transcript",
              "value": "transcript",
              "description": "Information about the participants"
            }
          ],
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "output": {
              "postReceive": [
                null
              ]
            }
          }
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "call"
          ],
          "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": [
            "call"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "call"
          ],
          "operation": [
            "getAll"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1
      }
    },
    {
      "displayName": "Filters",
      "name": "filters",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "After",
          "name": "fromDateTime",
          "default": "",
          "description": "Returns calls that started on or after the specified date and time. If not provided, list starts with earliest call. For web-conference calls recorded by Gong, the date denotes its scheduled time, otherwise, it denotes its actual start time.",
          "placeholder": "e.g. 2018-02-18T02:30:00-07:00 or 2018-02-18T08:00:00Z",
          "routing": {
            "send": {
              "type": "body",
              "property": "filter.fromDateTime",
              "propertyInDotNotation": true,
              "value": "={{ new Date($value).toISOString() }}"
            }
          },
          "type": "dateTime",
          "validateType": "dateTime"
        },
        {
          "displayName": "Before",
          "name": "toDateTime",
          "default": "",
          "description": "Returns calls that started up to but excluding specified date and time. If not provided, list ends with most recent call. For web-conference calls recorded by Gong, the date denotes its scheduled time, otherwise, it denotes its actual start time.",
          "placeholder": "e.g. 2018-02-18T02:30:00-07:00 or 2018-02-18T08:00:00Z",
          "routing": {
            "send": {
              "type": "body",
              "property": "filter.toDateTime",
              "propertyInDotNotation": true,
              "value": "={{ new Date($value).toISOString() }}"
            }
          },
          "type": "dateTime",
          "validateType": "dateTime"
        },
        {
          "displayName": "Workspace ID",
          "name": "workspaceId",
          "default": "",
          "description": "Return only the calls belonging to this workspace",
          "placeholder": "e.g. 623457276584334",
          "routing": {
            "send": {
              "type": "body",
              "property": "filter.workspaceId",
              "propertyInDotNotation": true,
              "value": "={{ $value }}"
            }
          },
          "type": "string",
          "validateType": "number"
        },
        {
          "displayName": "Call IDs",
          "name": "callIds",
          "default": "",
          "description": "List of calls IDs to be filtered",
          "hint": "Comma separated list of IDs, array of strings can be set in expression",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            }
          },
          "placeholder": "e.g. 7782342274025937895",
          "type": "string"
        },
        {
          "displayName": "Organizer",
          "name": "primaryUserIds",
          "default": {
            "mode": "list",
            "value": ""
          },
          "description": "Return only the calls hosted by the specified user",
          "modes": [
            {
              "displayName": "From List",
              "name": "list",
              "type": "list",
              "typeOptions": {
                "searchListMethod": "getUsers",
                "searchable": true
              }
            },
            {
              "displayName": "By ID",
              "name": "id",
              "placeholder": "e.g. 7782342274025937895",
              "type": "string",
              "validation": [
                {
                  "type": "regex",
                  "properties": {
                    "regex": "[0-9]{1,20}",
                    "errorMessage": "Not a valid Gong User ID"
                  }
                }
              ]
            }
          ],
          "routing": {
            "send": {
              "type": "body",
              "property": "filter.primaryUserIds",
              "propertyInDotNotation": true,
              "value": "={{ [$value] }}"
            }
          },
          "type": "resourceLocator"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "call"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Call Data to Include",
          "name": "properties",
          "type": "multiOptions",
          "default": [],
          "description": "The Call properties to include in the returned results. Choose from a list, or specify IDs using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>.",
          "options": [
            {
              "name": "Participants",
              "value": "parties",
              "description": "Information about the participants of the call"
            },
            {
              "name": "Topics",
              "value": "topics",
              "description": "Information about the topics of the call"
            }
          ],
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            }
          }
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "call"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "description": "Retrieve data for a specific user",
          "action": "Get user",
          "routing": {
            "request": {
              "method": "POST",
              "url": "/v2/users/extensive",
              "ignoreHttpStatusErrors": true
            },
            "output": {
              "postReceive": [
                null
              ]
            }
          }
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Retrieve a list of users",
          "action": "Get many users",
          "routing": {
            "request": {
              "method": "POST",
              "url": "/v2/users/extensive",
              "body": {
                "filter": {}
              },
              "ignoreHttpStatusErrors": true
            },
            "output": {
              "postReceive": [
                null
              ]
            }
          }
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "User to Get",
      "name": "user",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "get"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "getUsers",
            "searchable": true
          }
        },
        {
          "displayName": "By ID",
          "name": "id",
          "placeholder": "e.g. 7782342274025937895",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[0-9]{1,20}",
                "errorMessage": "Not a valid Gong User ID"
              }
            }
          ]
        }
      ]
    },
    {
      "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": [
            "user"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "getAll"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1
      }
    },
    {
      "displayName": "Filters",
      "name": "filters",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Created After",
          "name": "createdFromDateTime",
          "default": "",
          "description": "An optional user creation time lower limit, if supplied the API will return only the users created at or after this time",
          "placeholder": "e.g. 2018-02-18T02:30:00-07:00 or 2018-02-18T08:00:00Z",
          "routing": {
            "send": {
              "type": "body",
              "property": "filter.createdFromDateTime",
              "propertyInDotNotation": true,
              "value": "={{ new Date($value).toISOString() }}"
            }
          },
          "type": "dateTime",
          "validateType": "dateTime"
        },
        {
          "displayName": "Created Before",
          "name": "createdToDateTime",
          "default": "",
          "description": "An optional user creation time upper limit, if supplied the API will return only the users created before this time",
          "placeholder": "e.g. 2018-02-18T02:30:00-07:00 or 2018-02-18T08:00:00Z",
          "routing": {
            "send": {
              "type": "body",
              "property": "filter.createdToDateTime",
              "propertyInDotNotation": true,
              "value": "={{ new Date($value).toISOString() }}"
            }
          },
          "type": "dateTime",
          "validateType": "dateTime"
        },
        {
          "displayName": "User IDs",
          "name": "userIds",
          "default": "",
          "description": "Set of Gong's unique numeric identifiers for the users (up to 20 digits)",
          "hint": "Comma separated list of IDs, array of strings can be set in expression",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            }
          },
          "placeholder": "e.g. 7782342274025937895",
          "type": "string"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "get",
      "name": "Get",
      "description": "Retrieve data for a specific call"
    },
    {
      "operation": "getAll",
      "name": "Get Many",
      "description": "Retrieve a list of calls"
    }
  ]

credentials_required:
  [
    {
      "name": "gongApi",
      "required": true,
      "displayOptions": {
        "show": {
          "authentication": [
            "accessToken"
          ]
        }
      }
    },
    {
      "name": "gongOAuth2Api",
      "required": true,
      "displayOptions": {
        "show": {
          "authentication": [
            "oAuth2"
          ]
        }
      }
    }
  ]


node_type: nodes-base.gong
package_name: n8n-nodes-base
display_name: Gong
description: Interact with Gong API
category: transform
development_style: programmatic
version: 1
outputs:
  [
  "main"
  ]

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

  # Gong node

  Use the Gong node to automate work in Gong and integrate Gong with other applications. n8n has built-in support for a wide range of Gong features, which includes getting one or more calls and users.

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

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


  ## Operations

  <!-- vale off -->
  * Call
  	* Get
  	* Get Many
  * User
  	* Get
  	* Get Many
  <!-- vale on -->

  ## Templates and examples

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

  ## Related resources

  Refer to [Gong's documentation](https://gong.app.gong.io/settings/api/documentation){:target=_blank .external-link} for more information about the service.

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

properties_schema:
  [
    {
      "displayName": "Authentication",
      "name": "authentication",
      "type": "options",
      "default": "accessToken",
      "options": [
        {
          "name": "Access Token",
          "value": "accessToken"
        },
        {
          "name": "OAuth2",
          "value": "oAuth2"
        }
      ]
    },
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "call",
      "options": [
        {
          "name": "Call",
          "value": "call"
        },
        {
          "name": "User",
          "value": "user"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "description": "Retrieve data for a specific call",
          "routing": {
            "request": {
              "method": "POST",
              "url": "/v2/calls/extensive",
              "ignoreHttpStatusErrors": true
            },
            "output": {
              "postReceive": [
                null
              ]
            }
          },
          "action": "Get call"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Retrieve a list of calls",
          "routing": {
            "request": {
              "method": "POST",
              "url": "/v2/calls/extensive",
              "body": {
                "filter": {}
              },
              "ignoreHttpStatusErrors": true
            },
            "output": {
              "postReceive": [
                null
              ]
            }
          },
          "action": "Get many calls"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "call"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Call to Get",
      "name": "call",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "call"
          ],
          "operation": [
            "get"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "getCalls",
            "searchable": true
          }
        },
        {
          "displayName": "By ID",
          "name": "id",
          "placeholder": "e.g. 7782342274025937895",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[0-9]{1,20}",
                "errorMessage": "Not a valid Gong Call ID"
              }
            }
          ]
        },
        {
          "displayName": "By URL",
          "name": "url",
          "extractValue": {
            "type": "regex",
            "regex": "https:\\/\\/[a-zA-Z0-9-]+\\.app\\.gong\\.io\\/call\\?id=([0-9]{1,20})"
          },
          "placeholder": "e.g. https://subdomain.app.gong.io/call?id=7782342274025937895",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "https:\\/\\/[a-zA-Z0-9-]+\\.app\\.gong\\.io\\/call\\?id=([0-9]{1,20})",
                "errorMessage": "Not a valid Gong URL"
              }
            }
          ]
        }
      ]
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Call Data to Include",
          "name": "properties",
          "type": "multiOptions",
          "default": [],
          "description": "The Call properties to include in the returned results. Choose from a list, or specify IDs using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>.",
          "options": [
            {
              "name": "Action Items",
              "value": "pointsOfInterest",
              "description": "Call points of interest"
            },
            {
              "name": "Audio and Video URLs",
              "value": "media",
              "description": "Audio and video URL of the call. The URLs will be available for 8 hours."
            },
            {
              "name": "Brief",
              "value": "brief",
              "description": "Spotlight call brief",
              "routing": {
                "send": {
                  "type": "body",
                  "property": "contentSelector.exposedFields.content.brief",
                  "propertyInDotNotation": true,
                  "value": "={{ $value }}"
                }
              }
            },
            {
              "name": "Comments",
              "value": "publicComments",
              "description": "Public comments made for this call"
            },
            {
              "name": "Highlights",
              "value": "highlights",
              "description": "Call highlights"
            },
            {
              "name": "Keypoints",
              "value": "keyPoints",
              "description": "Key points of the call"
            },
            {
              "name": "Outcome",
              "value": "callOutcome",
              "description": "Outcome of the call"
            },
            {
              "name": "Outline",
              "value": "outline",
              "description": "Call outline"
            },
            {
              "name": "Participants",
              "value": "parties",
              "description": "Information about the participants of the call"
            },
            {
              "name": "Structure",
              "value": "structure",
              "description": "Call agenda"
            },
            {
              "name": "Topics",
              "value": "topics",
              "description": "Duration of call topics"
            },
            {
              "name": "Trackers",
              "value": "trackers",
              "description": "Smart tracker and keyword tracker information for the call"
            },
            {
              "name": "Transcript",
              "value": "transcript",
              "description": "Information about the participants"
            }
          ],
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "output": {
              "postReceive": [
                null
              ]
            }
          }
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "call"
          ],
          "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": [
            "call"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "call"
          ],
          "operation": [
            "getAll"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1
      }
    },
    {
      "displayName": "Filters",
      "name": "filters",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "After",
          "name": "fromDateTime",
          "default": "",
          "description": "Returns calls that started on or after the specified date and time. If not provided, list starts with earliest call. For web-conference calls recorded by Gong, the date denotes its scheduled time, otherwise, it denotes its actual start time.",
          "placeholder": "e.g. 2018-02-18T02:30:00-07:00 or 2018-02-18T08:00:00Z",
          "routing": {
            "send": {
              "type": "body",
              "property": "filter.fromDateTime",
              "propertyInDotNotation": true,
              "value": "={{ new Date($value).toISOString() }}"
            }
          },
          "type": "dateTime",
          "validateType": "dateTime"
        },
        {
          "displayName": "Before",
          "name": "toDateTime",
          "default": "",
          "description": "Returns calls that started up to but excluding specified date and time. If not provided, list ends with most recent call. For web-conference calls recorded by Gong, the date denotes its scheduled time, otherwise, it denotes its actual start time.",
          "placeholder": "e.g. 2018-02-18T02:30:00-07:00 or 2018-02-18T08:00:00Z",
          "routing": {
            "send": {
              "type": "body",
              "property": "filter.toDateTime",
              "propertyInDotNotation": true,
              "value": "={{ new Date($value).toISOString() }}"
            }
          },
          "type": "dateTime",
          "validateType": "dateTime"
        },
        {
          "displayName": "Workspace ID",
          "name": "workspaceId",
          "default": "",
          "description": "Return only the calls belonging to this workspace",
          "placeholder": "e.g. 623457276584334",
          "routing": {
            "send": {
              "type": "body",
              "property": "filter.workspaceId",
              "propertyInDotNotation": true,
              "value": "={{ $value }}"
            }
          },
          "type": "string",
          "validateType": "number"
        },
        {
          "displayName": "Call IDs",
          "name": "callIds",
          "default": "",
          "description": "List of calls IDs to be filtered",
          "hint": "Comma separated list of IDs, array of strings can be set in expression",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            }
          },
          "placeholder": "e.g. 7782342274025937895",
          "type": "string"
        },
        {
          "displayName": "Organizer",
          "name": "primaryUserIds",
          "default": {
            "mode": "list",
            "value": ""
          },
          "description": "Return only the calls hosted by the specified user",
          "modes": [
            {
              "displayName": "From List",
              "name": "list",
              "type": "list",
              "typeOptions": {
                "searchListMethod": "getUsers",
                "searchable": true
              }
            },
            {
              "displayName": "By ID",
              "name": "id",
              "placeholder": "e.g. 7782342274025937895",
              "type": "string",
              "validation": [
                {
                  "type": "regex",
                  "properties": {
                    "regex": "[0-9]{1,20}",
                    "errorMessage": "Not a valid Gong User ID"
                  }
                }
              ]
            }
          ],
          "routing": {
            "send": {
              "type": "body",
              "property": "filter.primaryUserIds",
              "propertyInDotNotation": true,
              "value": "={{ [$value] }}"
            }
          },
          "type": "resourceLocator"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "call"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Call Data to Include",
          "name": "properties",
          "type": "multiOptions",
          "default": [],
          "description": "The Call properties to include in the returned results. Choose from a list, or specify IDs using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>.",
          "options": [
            {
              "name": "Participants",
              "value": "parties",
              "description": "Information about the participants of the call"
            },
            {
              "name": "Topics",
              "value": "topics",
              "description": "Information about the topics of the call"
            }
          ],
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            }
          }
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "call"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "description": "Retrieve data for a specific user",
          "action": "Get user",
          "routing": {
            "request": {
              "method": "POST",
              "url": "/v2/users/extensive",
              "ignoreHttpStatusErrors": true
            },
            "output": {
              "postReceive": [
                null
              ]
            }
          }
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Retrieve a list of users",
          "action": "Get many users",
          "routing": {
            "request": {
              "method": "POST",
              "url": "/v2/users/extensive",
              "body": {
                "filter": {}
              },
              "ignoreHttpStatusErrors": true
            },
            "output": {
              "postReceive": [
                null
              ]
            }
          }
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "User to Get",
      "name": "user",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "get"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "getUsers",
            "searchable": true
          }
        },
        {
          "displayName": "By ID",
          "name": "id",
          "placeholder": "e.g. 7782342274025937895",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[0-9]{1,20}",
                "errorMessage": "Not a valid Gong User ID"
              }
            }
          ]
        }
      ]
    },
    {
      "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": [
            "user"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "getAll"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1
      }
    },
    {
      "displayName": "Filters",
      "name": "filters",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Created After",
          "name": "createdFromDateTime",
          "default": "",
          "description": "An optional user creation time lower limit, if supplied the API will return only the users created at or after this time",
          "placeholder": "e.g. 2018-02-18T02:30:00-07:00 or 2018-02-18T08:00:00Z",
          "routing": {
            "send": {
              "type": "body",
              "property": "filter.createdFromDateTime",
              "propertyInDotNotation": true,
              "value": "={{ new Date($value).toISOString() }}"
            }
          },
          "type": "dateTime",
          "validateType": "dateTime"
        },
        {
          "displayName": "Created Before",
          "name": "createdToDateTime",
          "default": "",
          "description": "An optional user creation time upper limit, if supplied the API will return only the users created before this time",
          "placeholder": "e.g. 2018-02-18T02:30:00-07:00 or 2018-02-18T08:00:00Z",
          "routing": {
            "send": {
              "type": "body",
              "property": "filter.createdToDateTime",
              "propertyInDotNotation": true,
              "value": "={{ new Date($value).toISOString() }}"
            }
          },
          "type": "dateTime",
          "validateType": "dateTime"
        },
        {
          "displayName": "User IDs",
          "name": "userIds",
          "default": "",
          "description": "Set of Gong's unique numeric identifiers for the users (up to 20 digits)",
          "hint": "Comma separated list of IDs, array of strings can be set in expression",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            }
          },
          "placeholder": "e.g. 7782342274025937895",
          "type": "string"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "get",
      "name": "Get",
      "description": "Retrieve data for a specific call"
    },
    {
      "operation": "getAll",
      "name": "Get Many",
      "description": "Retrieve a list of calls"
    }
  ]

credentials_required:
  [
    {
      "name": "gongApi",
      "required": true,
      "displayOptions": {
        "show": {
          "authentication": [
            "accessToken"
          ]
        }
      }
    },
    {
      "name": "gongOAuth2Api",
      "required": true,
      "displayOptions": {
        "show": {
          "authentication": [
            "oAuth2"
          ]
        }
      }
    }
  ]


