# nodes

node_type: nodes-base.gmailTrigger
package_name: n8n-nodes-base
display_name: Gmail Trigger
description: Fetches emails from Gmail and starts the workflow on specified polling intervals.
category: trigger
development_style: programmatic
version: 1.3
operations: []
outputs:
  [
  "main"
  ]

updated_at: 2025-10-24 07:28:02
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Gmail Trigger node documentation
  description: Learn how to use the Gmail Trigger node in n8n. Follow technical documentation to integrate Gmail Trigger node into your workflows.
  contentType: [integration, reference]
  priority: high
  ---

  # Gmail Trigger node

  [Gmail](https://www.gmail.com){:target=_blank .external-link} is an email service developed by Google. The Gmail Trigger node can start a workflow based on events in Gmail.

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

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

  ## Events

  * **Message Received**: The node triggers for new messages at the selected **Poll Time**.

  ## Node parameters

  Configure the node with these parameters:

  * **Credential to connect with**: Select or create a new Google credential to use for the trigger. Refer to [Google credentials](/integrations/builtin/credentials/google/index.md) for more information on setting up a new credential.
  * **Poll Times**: Select a poll **Mode** to set how often to trigger the poll. Your **Mode** selection will add or remove relevant fields. Refer to [Poll Mode options](/integrations/builtin/trigger-nodes/n8n-nodes-base.gmailtrigger/poll-mode-options.md) to configure the parameters for each mode type.
  * **Simplify**: Choose whether to return a simplified version of the response (turned on, default) or the raw data (turned off).
      * The simplified version returns email message IDs, labels, and email headers, including: From, To, CC, BCC, and Subject.

  ## Node filters

  Use these filters to further refine the node's behavior:

  * **Include Spam and Trash**: Select whether the node should trigger on new messages in the Spam and Trash folders (turned on) or not (turned off).
  * **Label Names or IDs**: Only trigger on messages with the selected labels added to them. Select the Label names you want to apply or enter an expression to specify IDs. The dropdown populates based on the **Credential** you selected.
  * **Search**: Enter Gmail search refine filters, like `from:`, to trigger the node on the filtered conditions only. Refer to [Refine searches in Gmail](https://support.google.com/mail/answer/7190?hl=en){:target=_blank .external-link} for more information.
  * **Read Status**: Choose whether to receive **Unread and read emails**, **Unread emails only** (default), or **Read emails only**.
  * **Sender**: Enter an email or a part of a sender name to trigger only on messages from that sender.

  ## Related resources

  n8n provides an app node for Gmail. You can find the node docs [here](/integrations/builtin/app-nodes/n8n-nodes-base.gmail/index.md).

  View [example workflows and related content](https://n8n.io/integrations/gmail-trigger/){:target=_blank .external-link} on n8n's website.

  Refer to [Google's Gmail API documentation](https://developers.google.com/gmail/api/guides){:target=_blank .external-link} for details about their API.

  ## Common issues

  For common questions or issues and suggested solutions, refer to [Common issues](/integrations/builtin/trigger-nodes/n8n-nodes-base.gmailtrigger/common-issues.md).

properties_schema:
  [
    {
      "displayName": "Authentication",
      "name": "authentication",
      "type": "options",
      "default": "oAuth2",
      "options": [
        {
          "name": "OAuth2 (recommended)",
          "value": "oAuth2"
        },
        {
          "name": "Service Account",
          "value": "serviceAccount"
        }
      ]
    },
    {
      "displayName": "Event",
      "name": "event",
      "type": "options",
      "default": "messageReceived",
      "options": [
        {
          "name": "Message Received",
          "value": "messageReceived"
        }
      ]
    },
    {
      "displayName": "Simplify",
      "name": "simple",
      "type": "boolean",
      "default": true,
      "description": "Whether to return a simplified version of the response instead of the raw data"
    },
    {
      "displayName": "Filters",
      "name": "filters",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Include Spam and Trash",
          "name": "includeSpamTrash",
          "type": "boolean",
          "default": false,
          "description": "Whether to include messages from SPAM and TRASH in the results"
        },
        {
          "displayName": "Include Drafts",
          "name": "includeDrafts",
          "type": "boolean",
          "default": false,
          "description": "Whether to include email drafts in the results"
        },
        {
          "displayName": "Label Names or IDs",
          "name": "labelIds",
          "type": "multiOptions",
          "typeOptions": {
            "loadOptionsMethod": "getLabels"
          },
          "default": [],
          "description": "Only return messages with labels that match all of the specified label IDs. Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        },
        {
          "displayName": "Search",
          "name": "q",
          "type": "string",
          "default": "",
          "placeholder": "has:attachment",
          "hint": "Use the same format as in the Gmail search box. <a href=\"https://support.google.com/mail/answer/7190?hl=en\">More info</a>.",
          "description": "Only return messages matching the specified query"
        },
        {
          "displayName": "Read Status",
          "name": "readStatus",
          "type": "options",
          "default": "unread",
          "hint": "Filter emails by whether they have been read or not",
          "options": [
            {
              "name": "Unread and read emails",
              "value": "both"
            },
            {
              "name": "Unread emails only",
              "value": "unread"
            },
            {
              "name": "Read emails only",
              "value": "read"
            }
          ]
        },
        {
          "displayName": "Sender",
          "name": "sender",
          "type": "string",
          "default": "",
          "description": "Sender name or email to filter by",
          "hint": "Enter an email or part of a sender name"
        }
      ]
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Attachment Prefix",
          "name": "dataPropertyAttachmentsPrefixName",
          "type": "string",
          "default": "attachment_",
          "description": "Prefix for name of the binary property to which to write the attachment. An index starting with 0 will be added. So if name is 'attachment_' the first attachment is saved to 'attachment_0'."
        },
        {
          "displayName": "Download Attachments",
          "name": "downloadAttachments",
          "type": "boolean",
          "default": false,
          "description": "Whether the email's attachments will be downloaded"
        }
      ],
      "displayOptions": {
        "hide": {
          "simple": [
            true
          ]
        }
      }
    }
  ]

credentials_required:
  [
    {
      "name": "googleApi",
      "required": true,
      "displayOptions": {
        "show": {
          "authentication": [
            "serviceAccount"
          ]
        }
      }
    },
    {
      "name": "gmailOAuth2",
      "required": true,
      "displayOptions": {
        "show": {
          "authentication": [
            "oAuth2"
          ]
        }
      }
    }
  ]


node_type: nodes-base.gSuiteAdmin
package_name: n8n-nodes-base
display_name: Google Workspace Admin
description: Consume Google Workspace Admin API
category: input
development_style: programmatic
version: 1
credentials_required:
  [
  {
  "name": "gSuiteAdminOAuth2Api",
  "required": true
  }
  ]

outputs:
  [
  "main"
  ]

updated_at: 2025-10-24 07:28:02
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Google Workspace Admin node documentation
  description: Learn how to use the Google Workspace Admin node in n8n. Follow technical documentation to integrate Google Workspace Admin node into your workflows.
  contentType: [integration, reference]
  ---

  # Google Workspace Admin node

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

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

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

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

  ## Operations

  * Group
      * Create a group
      * Delete a group
      * Get a group
      * Get all groups
      * Update a group
  * User
      * Create a user
      * Delete a user
      * Get a user
      * Get all users
      * Update a user

  ## Templates and examples

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

  ## How to project a user's information

  There are three different ways to project a user's information:

  - **Basic**: Doesn't include any custom fields.
  - **Custom**: Includes the custom fields from schemas in `customField`.
  - **Full**: Include all the fields associated with the user.

  To include custom fields, follow these steps:

  1. Select **Custom** from the **Projection** dropdown list.
  2. Select the **Add Options** button and select **Custom Schemas** from the dropdown list.
  3. Select the schema names you want to include from the **Custom Schemas** dropdown list.

properties_schema:
  [
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "user",
      "options": [
        {
          "name": "ChromeOS Device",
          "value": "device"
        },
        {
          "name": "Group",
          "value": "group"
        },
        {
          "name": "User",
          "value": "user"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "description": "Get a ChromeOS device",
          "action": "Get ChromeOS device"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many ChromeOS devices",
          "action": "Get many ChromeOS devices"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update a ChromeOS device",
          "action": "Update ChromeOS device"
        },
        {
          "name": "Change Status",
          "value": "changeStatus",
          "description": "Change the status of a ChromeOS device",
          "action": "Change status of ChromeOS device"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "device"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Device",
      "name": "deviceId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "Select the device you want to retrieve",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "get",
            "update",
            "changeStatus"
          ],
          "resource": [
            "device"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "searchDevices"
          }
        },
        {
          "displayName": "By ID",
          "name": "deviceId",
          "type": "string",
          "hint": "Enter the device id",
          "placeholder": "e.g. 123e4567-e89b-12d3-a456-426614174000"
        }
      ]
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "device"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "device"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 500
      }
    },
    {
      "displayName": "Output",
      "name": "projection",
      "type": "options",
      "default": "basic",
      "description": "What subset of fields to fetch for this device",
      "options": [
        {
          "name": "Basic",
          "value": "basic",
          "description": "Do not include any custom fields for the user"
        },
        {
          "name": "Full",
          "value": "full",
          "description": "Include all fields associated with this user"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "get",
            "getAll"
          ],
          "resource": [
            "device"
          ]
        }
      }
    },
    {
      "displayName": "Include Children",
      "name": "includeChildOrgunits",
      "type": "boolean",
      "default": false,
      "description": "Whether to include devices from organizational units below your specified organizational unit",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "device"
          ]
        }
      }
    },
    {
      "displayName": "Filter",
      "name": "filter",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Organizational Unit Name or ID",
          "name": "orgUnitPath",
          "type": "options",
          "typeOptions": {
            "loadOptionsMethod": "getOrgUnits"
          },
          "default": [],
          "description": "Specify the organizational unit name or ID. Choose from the list or use an expression. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        },
        {
          "displayName": "Query",
          "name": "query",
          "type": "string",
          "placeholder": "e.g. name:contact* email:contact*",
          "default": "",
          "description": "Use Google's querying syntax to filter results"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "device"
          ]
        }
      }
    },
    {
      "displayName": "Sort",
      "name": "sort",
      "type": "fixedCollection",
      "default": {},
      "description": "Define sorting rules for the results",
      "options": [
        {
          "name": "sortRules",
          "displayName": "Sort Rules",
          "values": [
            {
              "displayName": "Order By",
              "name": "orderBy",
              "type": "options",
              "options": [
                {
                  "name": "Annotated Location",
                  "value": "annotatedLocation"
                },
                {
                  "name": "Annotated User",
                  "value": "annotatedUser"
                },
                {
                  "name": "Last Sync",
                  "value": "lastSync"
                },
                {
                  "name": "Notes",
                  "value": "notes"
                },
                {
                  "name": "Serial Number",
                  "value": "serialNumber"
                },
                {
                  "name": "Status",
                  "value": "status"
                }
              ],
              "default": "",
              "description": "Field to sort the results by"
            },
            {
              "displayName": "Sort Order",
              "name": "sortBy",
              "type": "options",
              "options": [
                {
                  "name": "Ascending",
                  "value": "ascending"
                },
                {
                  "name": "Descending",
                  "value": "descending"
                }
              ],
              "default": "",
              "description": "Sort order direction"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "device"
          ]
        }
      }
    },
    {
      "displayName": "Update Fields",
      "name": "updateOptions",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Move to Organizational Unit Name or ID",
          "name": "orgUnitPath",
          "type": "options",
          "typeOptions": {
            "loadOptionsMethod": "getOrgUnits"
          },
          "default": [],
          "description": "The full path to the organizational unit. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        },
        {
          "displayName": "Annotated User",
          "name": "annotatedUser",
          "type": "string",
          "default": "",
          "description": "The annotated user of the device",
          "placeholder": "e.g. help desk"
        },
        {
          "displayName": "Annotated Location",
          "name": "annotatedLocation",
          "type": "string",
          "default": "",
          "description": "The annotated location of the device",
          "placeholder": "e.g. Mountain View help desk Chromebook"
        },
        {
          "displayName": "Annotated Asset ID",
          "name": "annotatedAssetId",
          "type": "string",
          "default": "",
          "description": "The annotated asset ID of a device",
          "placeholder": "e.g. 1234567890"
        },
        {
          "displayName": "Notes",
          "name": "notes",
          "type": "string",
          "default": "",
          "description": "Add notes to a device",
          "placeholder": "e.g. Loaned from support"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "update"
          ],
          "resource": [
            "device"
          ]
        }
      }
    },
    {
      "displayName": "Status",
      "name": "action",
      "type": "options",
      "default": "reenable",
      "description": "Set the status of a device",
      "options": [
        {
          "name": "Enabled",
          "value": "reenable",
          "description": "Re-enable a disabled chromebook",
          "action": "Enable a device"
        },
        {
          "name": "Disabled",
          "value": "disable",
          "description": "Disable a chromebook",
          "action": "Disable a device"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "changeStatus"
          ],
          "resource": [
            "device"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a group",
          "action": "Create a group"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a group",
          "action": "Delete a group"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get a group",
          "action": "Get a group"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many groups",
          "action": "Get many groups"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update a group",
          "action": "Update a group"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "group"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Group",
      "name": "groupId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "Select the group to perform the operation on",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "delete",
            "get",
            "update"
          ],
          "resource": [
            "group"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From list",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "searchGroups"
          }
        },
        {
          "displayName": "By ID",
          "name": "GroupId",
          "type": "string",
          "placeholder": "e.g. 0123kx3o1habcdf"
        }
      ]
    },
    {
      "displayName": "Group Name",
      "name": "name",
      "type": "string",
      "default": "",
      "description": "The group's display name",
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "group"
          ]
        }
      }
    },
    {
      "displayName": "Group Email",
      "name": "email",
      "type": "string",
      "default": "",
      "description": "The group's email address. If your account has multiple domains, select the appropriate domain for the email address. The email must be unique",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "group"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Description",
          "name": "description",
          "type": "string",
          "default": "",
          "description": "An extended description to help users determine the purpose of a group. For example, you can include information about who should join the group, the types of messages to send to the group, links to FAQs about the group, or related groups."
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "group"
          ]
        }
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "group"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "group"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 500
      }
    },
    {
      "displayName": "Filter",
      "name": "filter",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Customer",
          "name": "customer",
          "type": "string",
          "default": "",
          "description": "The unique ID for the customer's Google Workspace account"
        },
        {
          "displayName": "Domain",
          "name": "domain",
          "type": "string",
          "default": "",
          "description": "The domain name. Use this field to get groups from a specific domain."
        },
        {
          "displayName": "Query",
          "name": "query",
          "type": "string",
          "placeholder": "e.g. name:contact* email:contact*",
          "default": "",
          "description": "Query string to filter the results. Follow Google Admin SDK documentation. <a href=\"https://developers.google.com/admin-sdk/directory/v1/guides/search-groups#examples\" target=\"_blank\">More info</a>."
        },
        {
          "displayName": "User ID",
          "name": "userId",
          "type": "string",
          "default": "",
          "description": "Email or immutable ID of a user to list groups they are a member of"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "group"
          ]
        }
      }
    },
    {
      "displayName": "Sort",
      "name": "sort",
      "type": "fixedCollection",
      "default": {},
      "options": [
        {
          "name": "sortRules",
          "displayName": "Sort Rules",
          "values": [
            {
              "displayName": "Order By",
              "name": "orderBy",
              "type": "options",
              "options": [
                {
                  "name": "Email",
                  "value": "email"
                }
              ],
              "default": "email",
              "description": "Field to sort the results by"
            },
            {
              "displayName": "Sort Order",
              "name": "sortOrder",
              "type": "options",
              "options": [
                {
                  "name": "Ascending",
                  "value": "ASCENDING"
                },
                {
                  "name": "Descending",
                  "value": "DESCENDING"
                }
              ],
              "default": "ASCENDING",
              "description": "Sort order direction"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "group"
          ]
        }
      }
    },
    {
      "displayName": "Update Fields",
      "name": "updateFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Description",
          "name": "description",
          "type": "string",
          "default": "",
          "typeOptions": {
            "rows": 2
          },
          "description": "An extended description to help users determine the purpose of a group. For example, you can include information about who should join the group, the types of messages to send to the group, links to FAQs about the group, or related groups."
        },
        {
          "displayName": "Email",
          "name": "email",
          "type": "string",
          "placeholder": "e.g. sales@example.com",
          "default": "",
          "description": "The group's email address. If your account has multiple domains, select the appropriate domain for the email address. The email must be unique."
        },
        {
          "displayName": "Name",
          "name": "name",
          "type": "string",
          "placeholder": "e.g. Sales",
          "default": "",
          "description": "The group's display name"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "update"
          ],
          "resource": [
            "group"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Add to Group",
          "value": "addToGroup",
          "description": "Add an existing user to a group",
          "action": "Add user to group"
        },
        {
          "name": "Create",
          "value": "create",
          "description": "Create a user",
          "action": "Create a user"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a user",
          "action": "Delete a user"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get a user",
          "action": "Get a user"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many users",
          "action": "Get many users"
        },
        {
          "name": "Remove From Group",
          "value": "removeFromGroup",
          "description": "Remove a user from a group",
          "action": "Remove user from group"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update a user",
          "action": "Update a user"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "User",
      "name": "userId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "Select the user to perform the operation on",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "addToGroup",
            "delete",
            "get",
            "removeFromGroup",
            "update"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From list",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "searchUsers"
          }
        },
        {
          "displayName": "By Email",
          "name": "userEmail",
          "type": "string",
          "hint": "Enter the user email",
          "placeholder": "e.g. sales@example.com",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$",
                "errorMessage": "Please enter a valid email address."
              }
            }
          ]
        },
        {
          "displayName": "By ID",
          "name": "userId",
          "type": "string",
          "hint": "Enter the user id",
          "placeholder": "e.g. 123456789879230471055"
        }
      ]
    },
    {
      "displayName": "Group",
      "name": "groupId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "Select the group to perform the operation on",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "addToGroup",
            "removeFromGroup"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From list",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "searchGroups"
          }
        },
        {
          "displayName": "By ID",
          "name": "groupId",
          "type": "string",
          "placeholder": "e.g. 0123kx3o1habcdf"
        }
      ]
    },
    {
      "displayName": "First Name",
      "name": "firstName",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "user"
          ]
        }
      }
    },
    {
      "displayName": "Last Name",
      "name": "lastName",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "user"
          ]
        }
      }
    },
    {
      "displayName": "Password",
      "name": "password",
      "type": "string",
      "default": "",
      "description": "Stores the password for the user account. A minimum of 8 characters is required. The maximum length is 100 characters.",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "user"
          ]
        }
      },
      "typeOptions": {
        "password": true
      }
    },
    {
      "displayName": "Username",
      "name": "username",
      "type": "string",
      "default": "",
      "description": "The username that will be set to the user. Example: If you domain is example.com and you set the username to n.smith then the user's final email address will be n.smith@example.com.",
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "user"
          ]
        }
      }
    },
    {
      "displayName": "Domain Name or ID",
      "name": "domain",
      "type": "options",
      "default": "",
      "description": "Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "user"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getDomains"
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Change Password at Next Login",
          "name": "changePasswordAtNextLogin",
          "type": "boolean",
          "default": false,
          "description": "Whether the user is forced to change their password at next login"
        },
        {
          "displayName": "Phones",
          "name": "phoneUi",
          "placeholder": "Add Phone",
          "type": "fixedCollection",
          "typeOptions": {
            "multipleValues": true
          },
          "default": {},
          "options": [
            {
              "name": "phoneValues",
              "displayName": "Phone",
              "values": [
                {
                  "displayName": "Type",
                  "name": "type",
                  "type": "options",
                  "options": [
                    {
                      "name": "Assistant",
                      "value": "assistant"
                    },
                    {
                      "name": "Callback",
                      "value": "callback"
                    },
                    {
                      "name": "Car",
                      "value": "car"
                    },
                    {
                      "name": "Company Main",
                      "value": "company_main"
                    },
                    {
                      "name": "Custom",
                      "value": "custom"
                    },
                    {
                      "name": "Grand Central",
                      "value": "grand_central"
                    },
                    {
                      "name": "Home",
                      "value": "home"
                    },
                    {
                      "name": "Home Fax",
                      "value": "home_fax"
                    },
                    {
                      "name": "ISDN",
                      "value": "isdn"
                    },
                    {
                      "name": "Main",
                      "value": "main"
                    },
                    {
                      "name": "Mobile",
                      "value": "mobile"
                    },
                    {
                      "name": "Other",
                      "value": "other"
                    },
                    {
                      "name": "Other Fax",
                      "value": "other_fax"
                    },
                    {
                      "name": "Pager",
                      "value": "pager"
                    },
                    {
                      "name": "Radio",
                      "value": "radio"
                    },
                    {
                      "name": "Telex",
                      "value": "telex"
                    },
                    {
                      "name": "TTY TDD",
                      "value": "tty_tdd"
                    },
                    {
                      "name": "Work",
                      "value": "work"
                    },
                    {
                      "name": "Work Fax",
                      "value": "work_fax"
                    },
                    {
                      "name": "Work Mobile",
                      "value": "work_mobile"
                    },
                    {
                      "name": "Work Pager",
                      "value": "work_pager"
                    }
                  ],
                  "default": "work",
                  "description": "The type of phone number"
                },
                {
                  "displayName": "Phone Number",
                  "name": "value",
                  "type": "string",
                  "default": ""
                },
                {
                  "displayName": "Primary",
                  "name": "primary",
                  "type": "boolean",
                  "default": false,
                  "description": "Whether this is the user's primary phone number"
                }
              ]
            }
          ]
        },
        {
          "displayName": "Secondary Emails",
          "name": "emailUi",
          "placeholder": "Add Email",
          "type": "fixedCollection",
          "typeOptions": {
            "multipleValues": true
          },
          "default": {},
          "options": [
            {
              "name": "emailValues",
              "displayName": "Email",
              "values": [
                {
                  "displayName": "Type",
                  "name": "type",
                  "type": "options",
                  "options": [
                    {
                      "name": "Home",
                      "value": "home"
                    },
                    {
                      "name": "Work",
                      "value": "work"
                    },
                    {
                      "name": "Other",
                      "value": "other"
                    }
                  ],
                  "default": "work",
                  "description": "The type of the email account"
                },
                {
                  "displayName": "Email",
                  "name": "address",
                  "type": "string",
                  "default": ""
                }
              ]
            }
          ]
        },
        {
          "displayName": "Roles",
          "name": "roles",
          "type": "multiOptions",
          "default": [],
          "description": "Select the roles you want to assign to the user",
          "options": [
            {
              "name": "Directory Sync Admin",
              "value": "directorySyncAdmin",
              "description": "Whether to assign the Directory Sync Admin role"
            },
            {
              "name": "Groups Admin",
              "value": "groupsAdmin",
              "description": "Whether to assign the Groups Admin role"
            },
            {
              "name": "Groups Editor",
              "value": "groupsEditor",
              "description": "Whether to assign the Groups Editor role"
            },
            {
              "name": "Groups Reader",
              "value": "groupsReader",
              "description": "Whether to assign the Groups Reader role"
            },
            {
              "name": "Help Desk Admin",
              "value": "helpDeskAdmin",
              "description": "Whether to assign the Help Desk Admin role"
            },
            {
              "name": "Inventory Reporting Admin",
              "value": "inventoryReportingAdmin",
              "description": "Whether to assign the Inventory Reporting Admin role"
            },
            {
              "name": "Mobile Admin",
              "value": "mobileAdmin",
              "description": "Whether to assign the Mobile Admin role"
            },
            {
              "name": "Services Admin",
              "value": "servicesAdmin",
              "description": "Whether to assign the Services Admin role"
            },
            {
              "name": "Storage Admin",
              "value": "storageAdmin",
              "description": "Whether to assign the Storage Admin role"
            },
            {
              "name": "Super Admin",
              "value": "superAdmin",
              "description": "Whether to assign the Super Admin role"
            },
            {
              "name": "User Management",
              "value": "userManagement",
              "description": "Whether to assign the User Management role"
            }
          ]
        },
        {
          "displayName": "Custom Fields",
          "name": "customFields",
          "placeholder": "Add or Edit Custom Fields",
          "type": "fixedCollection",
          "typeOptions": {
            "multipleValues": true
          },
          "default": {},
          "description": "Allows editing and adding of custom fields",
          "options": [
            {
              "name": "fieldValues",
              "displayName": "Field",
              "values": [
                {
                  "displayName": "Schema Name or ID",
                  "name": "schemaName",
                  "type": "options",
                  "typeOptions": {
                    "loadOptionsMethod": "getSchemas"
                  },
                  "default": "",
                  "description": "Select the schema to use for custom fields. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
                },
                {
                  "displayName": "Field Name or ID",
                  "name": "fieldName",
                  "type": "string",
                  "default": "",
                  "required": true,
                  "description": "Enter a field name from the selected schema"
                },
                {
                  "displayName": "Value",
                  "name": "value",
                  "type": "string",
                  "default": "",
                  "required": true,
                  "description": "Provide a value for the selected field"
                }
              ]
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "user"
          ]
        }
      }
    },
    {
      "displayName": "Output",
      "name": "output",
      "type": "options",
      "default": "simplified",
      "options": [
        {
          "name": "Simplified",
          "value": "simplified",
          "description": "Only return specific fields: kind, ID, primaryEmail, name (with subfields), isAdmin, lastLoginTime, creationTime, and suspended"
        },
        {
          "name": "Raw",
          "value": "raw",
          "description": "Return all fields from the API response"
        },
        {
          "name": "Select Included Fields",
          "value": "select",
          "description": "Choose specific fields to include"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "get"
          ],
          "resource": [
            "user"
          ]
        }
      }
    },
    {
      "displayName": "Fields",
      "name": "fields",
      "type": "multiOptions",
      "default": [],
      "description": "Fields to include in the response when \"Select Included Fields\" is chosen",
      "options": [
        {
          "name": "Creation Time",
          "value": "creationTime"
        },
        {
          "name": "Is Admin",
          "value": "isAdmin"
        },
        {
          "name": "Kind",
          "value": "kind"
        },
        {
          "name": "Last Login Time",
          "value": "lastLoginTime"
        },
        {
          "name": "Name",
          "value": "name"
        },
        {
          "name": "Primary Email",
          "value": "primaryEmail"
        },
        {
          "name": "Suspended",
          "value": "suspended"
        }
      ],
      "displayOptions": {
        "show": {
          "output": [
            "select"
          ],
          "operation": [
            "get"
          ],
          "resource": [
            "user"
          ]
        }
      }
    },
    {
      "displayName": "Custom Fields",
      "name": "projection",
      "type": "options",
      "default": "basic",
      "description": "What subset of fields to fetch for this user",
      "options": [
        {
          "name": "Don't Include",
          "value": "basic",
          "description": "Do not include any custom fields for the user"
        },
        {
          "name": "Custom",
          "value": "custom",
          "description": "Include custom fields from schemas requested in Custom Schema Names or IDs"
        },
        {
          "name": "Include All",
          "value": "full",
          "description": "Include all fields associated with this user"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "get"
          ],
          "resource": [
            "user"
          ]
        }
      }
    },
    {
      "displayName": "Custom Schema Names or IDs",
      "name": "customFieldMask",
      "type": "multiOptions",
      "default": [],
      "description": "A comma-separated list of schema names. All fields from these schemas are fetched. Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "get"
          ],
          "resource": [
            "user"
          ],
          "/projection": [
            "custom"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getSchemas"
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "user"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "user"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 500
      }
    },
    {
      "displayName": "Output",
      "name": "output",
      "type": "options",
      "default": "simplified",
      "options": [
        {
          "name": "Simplified",
          "value": "simplified",
          "description": "Only return specific fields: kind, ID, primaryEmail, name (with subfields), isAdmin, lastLoginTime, creationTime, and suspended"
        },
        {
          "name": "Raw",
          "value": "raw",
          "description": "Return all fields from the API response"
        },
        {
          "name": "Select Included Fields",
          "value": "select",
          "description": "Choose specific fields to include"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "user"
          ]
        }
      }
    },
    {
      "displayName": "Fields",
      "name": "fields",
      "type": "multiOptions",
      "default": [],
      "description": "Fields to include in the response when \"Select Included Fields\" is chosen",
      "options": [
        {
          "name": "Creation Time",
          "value": "creationTime"
        },
        {
          "name": "Is Admin",
          "value": "isAdmin"
        },
        {
          "name": "Kind",
          "value": "kind"
        },
        {
          "name": "Last Login Time",
          "value": "lastLoginTime"
        },
        {
          "name": "Name",
          "value": "name"
        },
        {
          "name": "Primary Email",
          "value": "primaryEmail"
        },
        {
          "name": "Suspended",
          "value": "suspended"
        }
      ],
      "displayOptions": {
        "show": {
          "output": [
            "select"
          ],
          "operation": [
            "getAll"
          ],
          "resource": [
            "user"
          ]
        }
      }
    },
    {
      "displayName": "Custom Fields",
      "name": "projection",
      "type": "options",
      "default": "basic",
      "description": "What subset of fields to fetch for this user",
      "options": [
        {
          "name": "Don't Include",
          "value": "basic",
          "description": "Do not include any custom fields for the user"
        },
        {
          "name": "Custom",
          "value": "custom",
          "description": "Include custom fields from schemas requested in Custom Schema Names or IDs"
        },
        {
          "name": "Include All",
          "value": "full",
          "description": "Include all fields associated with this user"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "user"
          ]
        }
      }
    },
    {
      "displayName": "Custom Schema Names or IDs",
      "name": "customFieldMask",
      "type": "multiOptions",
      "default": [],
      "description": "A comma-separated list of schema names. All fields from these schemas are fetched. Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "user"
          ],
          "/projection": [
            "custom"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getSchemas"
      }
    },
    {
      "displayName": "Filter",
      "name": "filter",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Customer",
          "name": "customer",
          "type": "string",
          "default": "",
          "description": "The unique ID for the customer's Google Workspace account"
        },
        {
          "displayName": "Domain",
          "name": "domain",
          "type": "string",
          "default": "",
          "description": "The domain name. Use this field to get groups from a specific domain."
        },
        {
          "displayName": "Query",
          "name": "query",
          "type": "string",
          "placeholder": "e.g. name:contact* email:contact*",
          "default": "",
          "description": "Query string to filter the results. Follow Google Admin SDK documentation. <a href=\"https://developers.google.com/admin-sdk/directory/v1/guides/search-users#examples\" target=\"_blank\">More info</a>."
        },
        {
          "displayName": "Show Deleted",
          "name": "showDeleted",
          "type": "boolean",
          "default": false,
          "description": "Whether retrieve the list of deleted users"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "user"
          ]
        }
      }
    },
    {
      "displayName": "Sort",
      "name": "sort",
      "type": "fixedCollection",
      "default": {},
      "description": "Define sorting rules for the results",
      "options": [
        {
          "name": "sortRules",
          "displayName": "Sort Rules",
          "values": [
            {
              "displayName": "Order By",
              "name": "orderBy",
              "type": "options",
              "options": [
                {
                  "name": "Email",
                  "value": "email"
                },
                {
                  "name": "Family Name",
                  "value": "familyName"
                },
                {
                  "name": "Given Name",
                  "value": "givenName"
                }
              ],
              "default": "",
              "description": "Field to sort the results by"
            },
            {
              "displayName": "Sort Order",
              "name": "sortOrder",
              "type": "options",
              "options": [
                {
                  "name": "Ascending",
                  "value": "ASCENDING"
                },
                {
                  "name": "Descending",
                  "value": "DESCENDING"
                }
              ],
              "default": "ASCENDING",
              "description": "Sort order direction"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "user"
          ]
        }
      }
    },
    {
      "displayName": "Update Fields",
      "name": "updateFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Archived",
          "name": "archived",
          "type": "boolean",
          "default": false,
          "description": "Whether user is archived"
        },
        {
          "displayName": "Suspend",
          "name": "suspendUi",
          "type": "boolean",
          "default": false,
          "description": "Whether to set the user as suspended. If set to OFF, the user will be reactivated. If not added, the status will remain unchanged."
        },
        {
          "displayName": "Change Password at Next Login",
          "name": "changePasswordAtNextLogin",
          "type": "boolean",
          "default": false,
          "description": "Whether the user is forced to change their password at next login"
        },
        {
          "displayName": "First Name",
          "name": "firstName",
          "type": "string",
          "default": "",
          "placeholder": "e.g. John"
        },
        {
          "displayName": "Last Name",
          "name": "lastName",
          "type": "string",
          "default": "",
          "placeholder": "e.g. Doe"
        },
        {
          "displayName": "Password",
          "name": "password",
          "type": "string",
          "typeOptions": {
            "password": true
          },
          "default": "",
          "placeholder": "e.g. MyStrongP@ssword123",
          "description": "Stores the password for the user account. A minimum of 8 characters is required. The maximum length is 100 characters."
        },
        {
          "displayName": "Phones",
          "name": "phoneUi",
          "placeholder": "Add Phone",
          "type": "fixedCollection",
          "typeOptions": {
            "multipleValues": true
          },
          "default": {},
          "options": [
            {
              "name": "phoneValues",
              "displayName": "Phone",
              "values": [
                {
                  "displayName": "Type",
                  "name": "type",
                  "type": "options",
                  "options": [
                    {
                      "name": "Assistant",
                      "value": "assistant"
                    },
                    {
                      "name": "Callback",
                      "value": "callback"
                    },
                    {
                      "name": "Car",
                      "value": "car"
                    },
                    {
                      "name": "Company Main",
                      "value": "company_main"
                    },
                    {
                      "name": "Custom",
                      "value": "custom"
                    },
                    {
                      "name": "Grand Central",
                      "value": "grand_central"
                    },
                    {
                      "name": "Home",
                      "value": "home"
                    },
                    {
                      "name": "Home Fax",
                      "value": "home_fax"
                    },
                    {
                      "name": "ISDN",
                      "value": "isdn"
                    },
                    {
                      "name": "Main",
                      "value": "main"
                    },
                    {
                      "name": "Mobile",
                      "value": "mobile"
                    },
                    {
                      "name": "Other",
                      "value": "other"
                    },
                    {
                      "name": "Other Fax",
                      "value": "other_fax"
                    },
                    {
                      "name": "Pager",
                      "value": "pager"
                    },
                    {
                      "name": "Radio",
                      "value": "radio"
                    },
                    {
                      "name": "Telex",
                      "value": "telex"
                    },
                    {
                      "name": "TTY TDD",
                      "value": "tty_tdd"
                    },
                    {
                      "name": "Work",
                      "value": "work"
                    },
                    {
                      "name": "Work Fax",
                      "value": "work_fax"
                    },
                    {
                      "name": "Work Mobile",
                      "value": "work_mobile"
                    },
                    {
                      "name": "Work Pager",
                      "value": "work_pager"
                    }
                  ],
                  "default": "work",
                  "description": "The type of phone number"
                },
                {
                  "displayName": "Phone Number",
                  "name": "value",
                  "type": "string",
                  "default": "",
                  "placeholder": "e.g. +1234567890"
                },
                {
                  "displayName": "Primary",
                  "name": "primary",
                  "type": "boolean",
                  "default": false,
                  "description": "Whether this is the user's primary phone number. A user may only have one primary phone number."
                }
              ]
            }
          ]
        },
        {
          "displayName": "Primary Email",
          "name": "primaryEmail",
          "type": "string",
          "default": "",
          "placeholder": "e.g. john.doe@example.com",
          "description": "The user's primary email address. This property is required in a request to create a user account. The primaryEmail must be unique and cannot be an alias of another user."
        },
        {
          "displayName": "Secondary Emails",
          "name": "emailUi",
          "placeholder": "Add Email",
          "type": "fixedCollection",
          "typeOptions": {
            "multipleValues": true
          },
          "default": {},
          "options": [
            {
              "name": "emailValues",
              "displayName": "Email",
              "values": [
                {
                  "displayName": "Type",
                  "name": "type",
                  "type": "options",
                  "options": [
                    {
                      "name": "Home",
                      "value": "home"
                    },
                    {
                      "name": "Work",
                      "value": "work"
                    },
                    {
                      "name": "Other",
                      "value": "other"
                    }
                  ],
                  "default": "work",
                  "description": "The type of the email account"
                },
                {
                  "displayName": "Email",
                  "name": "address",
                  "type": "string",
                  "default": "",
                  "placeholder": "e.g. john.doe.work@example.com"
                }
              ]
            }
          ]
        },
        {
          "displayName": "Roles",
          "name": "roles",
          "type": "multiOptions",
          "default": [],
          "description": "Select the roles you want to assign to the user",
          "options": [
            {
              "name": "Directory Sync Admin",
              "value": "directorySyncAdmin",
              "description": "Whether to assign the Directory Sync Admin role"
            },
            {
              "name": "Groups Admin",
              "value": "groupsAdmin",
              "description": "Whether to assign the Groups Admin role"
            },
            {
              "name": "Groups Editor",
              "value": "groupsEditor",
              "description": "Whether to assign the Groups Editor role"
            },
            {
              "name": "Groups Reader",
              "value": "groupsReader",
              "description": "Whether to assign the Groups Reader role"
            },
            {
              "name": "Help Desk Admin",
              "value": "helpDeskAdmin",
              "description": "Whether to assign the Help Desk Admin role"
            },
            {
              "name": "Inventory Reporting Admin",
              "value": "inventoryReportingAdmin",
              "description": "Whether to assign the Inventory Reporting Admin role"
            },
            {
              "name": "Mobile Admin",
              "value": "mobileAdmin",
              "description": "Whether to assign the Mobile Admin role"
            },
            {
              "name": "Services Admin",
              "value": "servicesAdmin",
              "description": "Whether to assign the Services Admin role"
            },
            {
              "name": "Storage Admin",
              "value": "storageAdmin",
              "description": "Whether to assign the Storage Admin role"
            },
            {
              "name": "Super Admin",
              "value": "superAdmin",
              "description": "Whether to assign the Super Admin role"
            },
            {
              "name": "User Management",
              "value": "userManagement",
              "description": "Whether to assign the User Management role"
            }
          ]
        },
        {
          "displayName": "Custom Fields",
          "name": "customFields",
          "placeholder": "Add or Edit Custom Fields",
          "type": "fixedCollection",
          "typeOptions": {
            "multipleValues": true
          },
          "default": {},
          "description": "Allows editing and adding of custom fields",
          "options": [
            {
              "name": "fieldValues",
              "displayName": "Field",
              "values": [
                {
                  "displayName": "Schema Name or ID",
                  "name": "schemaName",
                  "type": "options",
                  "typeOptions": {
                    "loadOptionsMethod": "getSchemas"
                  },
                  "default": "",
                  "description": "Select the schema to use for custom fields. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
                },
                {
                  "displayName": "Field Name or ID",
                  "name": "fieldName",
                  "type": "string",
                  "default": "",
                  "required": true,
                  "description": "Enter a field name from the selected schema"
                },
                {
                  "displayName": "Value",
                  "name": "value",
                  "type": "string",
                  "default": "",
                  "required": true,
                  "description": "Provide a value for the selected field"
                }
              ]
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "update"
          ],
          "resource": [
            "user"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "get",
      "name": "Get",
      "description": "Get a ChromeOS device"
    },
    {
      "operation": "getAll",
      "name": "Get Many",
      "description": "Get many ChromeOS devices"
    },
    {
      "operation": "update",
      "name": "Update",
      "description": "Update a ChromeOS device"
    },
    {
      "operation": "changeStatus",
      "name": "Change Status",
      "description": "Change the status of a ChromeOS device"
    }
  ]


node_type: nodes-base.googleBusinessProfile
package_name: n8n-nodes-base
display_name: Google Business Profile
description: Consume Google Business Profile API
category: input
development_style: programmatic
version: 1
credentials_required:
  [
  {
  "name": "googleBusinessProfileOAuth2Api",
  "required": true
  }
  ]

outputs:
  [
  "main"
  ]

updated_at: 2025-10-24 07:28:02
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Google Business Profile node documentation
  description: Learn how to use the Google Business Profile node in n8n. Follow technical documentation to integrate Google Business Profile node into your workflows.
  contentType: [integration, reference]
  ---

  # Google Business Profile node

  Use the Google Business Profile node to automate work in Google Business Profile and integrate Google Business Profile with other applications. n8n has built-in support for a wide range of Google Business Profile features, which includes creating, updating, and deleting posts and reviews.

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

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


  ## Operations

  * Post
  	* Create
  	* Delete
  	* Get
  	* Get Many
  	* Update
  * Review
  	* Delete Reply
  	* Get
  	* Get Many
  	* Reply

  ## Templates and examples

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

  ## Related resources

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

  Refer to [Google Business Profile's documentation](https://developers.google.com/my-business/reference/rest){:target=_blank .external-link} for more information about the service.

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

properties_schema:
  [
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "post",
      "options": [
        {
          "name": "Post",
          "value": "post"
        },
        {
          "name": "Review",
          "value": "review"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create post",
          "description": "Create a new post on Google Business Profile",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "method": "POST",
              "url": "=/{{$parameter[\"account\"]}}/{{$parameter[\"location\"]}}/localPosts"
            }
          }
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete post",
          "description": "Delete an existing post",
          "routing": {
            "request": {
              "method": "DELETE",
              "url": "=/{{$parameter[\"post\"]}}",
              "ignoreHttpStatusErrors": true
            },
            "output": {
              "postReceive": [
                null
              ]
            }
          }
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get post",
          "description": "Retrieve details of a specific post",
          "routing": {
            "request": {
              "method": "GET",
              "url": "=/{{$parameter[\"post\"]}}",
              "ignoreHttpStatusErrors": true
            },
            "output": {
              "postReceive": [
                null
              ]
            }
          }
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many posts",
          "description": "Retrieve multiple posts",
          "routing": {
            "send": {
              "paginate": true
            },
            "operations": {},
            "request": {
              "method": "GET",
              "url": "=/{{$parameter[\"account\"]}}/{{$parameter[\"location\"]}}/localPosts",
              "qs": {
                "pageSize": "={{ $parameter[\"limit\"] ? ($parameter[\"limit\"] < 100 ? $parameter[\"limit\"] : 100) : 100 }}"
              }
            }
          }
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a post",
          "description": "Update an existing post",
          "routing": {
            "send": {
              "preSend": [
                null,
                null
              ]
            },
            "request": {
              "method": "PATCH",
              "url": "=/{{$parameter[\"post\"]}}",
              "ignoreHttpStatusErrors": true
            },
            "output": {
              "postReceive": [
                null
              ]
            }
          }
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "post"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Account",
      "name": "account",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "The Google Business Profile account",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "post"
          ],
          "operation": [
            "create"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From list",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "searchAccounts",
            "searchable": true
          }
        },
        {
          "displayName": "By name",
          "name": "name",
          "type": "string",
          "hint": "Enter the account name",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "accounts/[0-9]+",
                "errorMessage": "The name must start with \"accounts/\""
              }
            }
          ],
          "placeholder": "e.g. accounts/0123456789"
        }
      ]
    },
    {
      "displayName": "Location",
      "name": "location",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "The specific location or business associated with the account",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "post"
          ],
          "operation": [
            "create"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From list",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "searchLocations",
            "searchable": true
          }
        },
        {
          "displayName": "By name",
          "name": "name",
          "type": "string",
          "hint": "Enter the location name",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "locations/[0-9]+",
                "errorMessage": "The name must start with \"locations/\""
              }
            }
          ],
          "placeholder": "e.g. locations/0123456789"
        }
      ]
    },
    {
      "displayName": "Post Type",
      "name": "postType",
      "type": "options",
      "default": "STANDARD",
      "description": "The type of post to create (standard, event, offer, or alert)",
      "options": [
        {
          "name": "Standard",
          "value": "STANDARD"
        },
        {
          "name": "Event",
          "value": "EVENT"
        },
        {
          "name": "Offer",
          "value": "OFFER"
        },
        {
          "name": "Alert",
          "value": "ALERT"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "post"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Summary",
      "name": "summary",
      "type": "string",
      "default": "",
      "description": "The main text of the post",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "post"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Title",
      "name": "title",
      "type": "string",
      "default": "",
      "description": "E.g. Sales this week.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "post"
          ],
          "operation": [
            "create"
          ],
          "postType": [
            "EVENT"
          ]
        }
      }
    },
    {
      "displayName": "Start Date and Time",
      "name": "startDateTime",
      "type": "dateTime",
      "default": "",
      "description": "The start date and time of the event",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "post"
          ],
          "operation": [
            "create"
          ],
          "postType": [
            "EVENT"
          ]
        }
      }
    },
    {
      "displayName": "End Date and Time",
      "name": "endDateTime",
      "type": "dateTime",
      "default": "",
      "description": "The end date and time of the event",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "post"
          ],
          "operation": [
            "create"
          ],
          "postType": [
            "EVENT"
          ]
        }
      }
    },
    {
      "displayName": "Title",
      "name": "title",
      "type": "string",
      "default": "",
      "description": "E.g. 20% off in store or online.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "post"
          ],
          "operation": [
            "create"
          ],
          "postType": [
            "OFFER"
          ]
        }
      }
    },
    {
      "displayName": "Start Date",
      "name": "startDate",
      "type": "string",
      "default": "",
      "description": "The start date of the offer",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "post"
          ],
          "operation": [
            "create"
          ],
          "postType": [
            "OFFER"
          ]
        }
      }
    },
    {
      "displayName": "End Date",
      "name": "endDate",
      "type": "string",
      "default": "",
      "description": "The end date of the offer",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "post"
          ],
          "operation": [
            "create"
          ],
          "postType": [
            "OFFER"
          ]
        }
      }
    },
    {
      "displayName": "Alert Type",
      "name": "alertType",
      "type": "options",
      "default": "COVID_19",
      "description": "The sub-type of the alert",
      "options": [
        {
          "name": "Covid 19",
          "value": "COVID_19",
          "description": "This alert is related to the 2019 Coronavirus Disease pandemic"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "post"
          ],
          "operation": [
            "create"
          ],
          "postType": [
            "ALERT"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "additionalOptions",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Language",
          "name": "languageCode",
          "type": "string",
          "default": "",
          "placeholder": "e.g. en",
          "description": "The language code of the post content. <a href=\"https://cloud.google.com/translate/docs/languages\" target=\"_blank\">More info</a>.",
          "routing": {
            "send": {
              "type": "body",
              "property": "languageCode"
            }
          }
        },
        {
          "displayName": "Call to Action Type",
          "name": "callToActionType",
          "type": "options",
          "default": "ACTION_TYPE_UNSPECIFIED",
          "description": "The type of call to action",
          "displayOptions": {
            "show": {
              "/postType": [
                "STANDARD",
                "EVENT",
                "ALERT"
              ]
            }
          },
          "routing": {
            "send": {
              "type": "body",
              "property": "callToAction.actionType"
            }
          },
          "options": [
            {
              "name": "Action Type Unspecified",
              "value": "ACTION_TYPE_UNSPECIFIED",
              "description": "Type unspecified"
            },
            {
              "name": "Book",
              "value": "BOOK",
              "description": "This post wants a user to book an appointment/table/etc"
            },
            {
              "name": "Call",
              "value": "CALL",
              "description": "This post wants a user to call the business"
            },
            {
              "name": "Learn More",
              "value": "LEARN_MORE",
              "description": "This post wants a user to learn more (at their website)"
            },
            {
              "name": "Order",
              "value": "ORDER",
              "description": "This post wants a user to order something"
            },
            {
              "name": "Shop",
              "value": "SHOP",
              "description": "This post wants a user to browse a product catalog"
            },
            {
              "name": "Sign Up",
              "value": "SIGN_UP",
              "description": "This post wants a user to register/sign up/join something"
            }
          ]
        },
        {
          "displayName": "Call to Action Url",
          "name": "url",
          "type": "string",
          "default": "",
          "description": "The URL that users are sent to when clicking through the promotion",
          "displayOptions": {
            "show": {
              "/postType": [
                "STANDARD",
                "EVENT",
                "ALERT"
              ]
            }
          },
          "routing": {
            "send": {
              "type": "body",
              "property": "callToAction.url"
            }
          }
        },
        {
          "displayName": "Coupon Code",
          "name": "couponCode",
          "type": "string",
          "default": "",
          "description": "The coupon code for the offer",
          "displayOptions": {
            "show": {
              "/postType": [
                "OFFER"
              ]
            }
          },
          "routing": {
            "send": {
              "type": "body",
              "property": "offer.couponCode"
            }
          }
        },
        {
          "displayName": "Redeem Online Url",
          "name": "redeemOnlineUrl",
          "type": "string",
          "default": "",
          "description": "Link to redeem the offer",
          "displayOptions": {
            "show": {
              "/postType": [
                "OFFER"
              ]
            }
          },
          "routing": {
            "send": {
              "type": "body",
              "property": "offer.redeemOnlineUrl"
            }
          }
        },
        {
          "displayName": "Terms and Conditions",
          "name": "termsConditions",
          "type": "string",
          "default": "",
          "description": "The terms and conditions of the offer",
          "displayOptions": {
            "show": {
              "/postType": [
                "OFFER"
              ]
            }
          },
          "routing": {
            "send": {
              "type": "body",
              "property": "offer.termsConditions"
            }
          }
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "post"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Account",
      "name": "account",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "The Google Business Profile account",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "post"
          ],
          "operation": [
            "delete"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From list",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "searchAccounts",
            "searchable": true
          }
        },
        {
          "displayName": "By name",
          "name": "name",
          "type": "string",
          "hint": "Enter the account name",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "accounts/[0-9]+",
                "errorMessage": "The name must start with \"accounts/\""
              }
            }
          ],
          "placeholder": "e.g. accounts/0123456789"
        }
      ]
    },
    {
      "displayName": "Location",
      "name": "location",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "The specific location or business associated with the account",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "post"
          ],
          "operation": [
            "delete"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From list",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "searchLocations",
            "searchable": true
          }
        },
        {
          "displayName": "By name",
          "name": "name",
          "type": "string",
          "hint": "Enter the location name",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "locations/[0-9]+",
                "errorMessage": "The name must start with \"locations/\""
              }
            }
          ],
          "placeholder": "e.g. locations/0123456789"
        }
      ]
    },
    {
      "displayName": "Post",
      "name": "post",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "Select the post to retrieve its details",
      "displayOptions": {
        "show": {
          "resource": [
            "post"
          ],
          "operation": [
            "delete"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From list",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "searchPosts",
            "searchable": true
          }
        },
        {
          "displayName": "By name",
          "name": "name",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "accounts/[0-9]+/locations/[0-9]+/localPosts/[0-9]+",
                "errorMessage": "The name must be in the format \"accounts/123/locations/123/localPosts/123\""
              }
            }
          ],
          "placeholder": "e.g. accounts/123/locations/123/localPosts/123"
        }
      ]
    },
    {
      "displayName": "Account",
      "name": "account",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "The Google Business Profile account",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "post"
          ],
          "operation": [
            "get"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From list",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "searchAccounts",
            "searchable": true
          }
        },
        {
          "displayName": "By name",
          "name": "name",
          "type": "string",
          "hint": "Enter the account name",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "accounts/[0-9]+",
                "errorMessage": "The name must start with \"accounts/\""
              }
            }
          ],
          "placeholder": "e.g. accounts/0123456789"
        }
      ]
    },
    {
      "displayName": "Location",
      "name": "location",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "The specific location or business associated with the account",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "post"
          ],
          "operation": [
            "get"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From list",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "searchLocations",
            "searchable": true
          }
        },
        {
          "displayName": "By name",
          "name": "name",
          "type": "string",
          "hint": "Enter the location name",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "locations/[0-9]+",
                "errorMessage": "The name must start with \"locations/\""
              }
            }
          ],
          "placeholder": "e.g. locations/0123456789"
        }
      ]
    },
    {
      "displayName": "Post",
      "name": "post",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "Select the post to retrieve its details",
      "displayOptions": {
        "show": {
          "resource": [
            "post"
          ],
          "operation": [
            "get"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From list",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "searchPosts",
            "searchable": true
          }
        },
        {
          "displayName": "By name",
          "name": "name",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "accounts/[0-9]+/locations/[0-9]+/localPosts/[0-9]+",
                "errorMessage": "The name must be in the format \"accounts/123/locations/123/localPosts/123\""
              }
            }
          ],
          "placeholder": "e.g. accounts/123/locations/123/localPosts/123"
        }
      ]
    },
    {
      "displayName": "Account",
      "name": "account",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "The Google Business Profile account",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "post"
          ],
          "operation": [
            "getAll"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From list",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "searchAccounts",
            "searchable": true
          }
        },
        {
          "displayName": "By name",
          "name": "name",
          "type": "string",
          "hint": "Enter the account name",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "accounts/[0-9]+",
                "errorMessage": "The name must start with \"accounts/\""
              }
            }
          ],
          "placeholder": "e.g. accounts/0123456789"
        }
      ]
    },
    {
      "displayName": "Location",
      "name": "location",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "The specific location or business associated with the account",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "post"
          ],
          "operation": [
            "getAll"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From list",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "searchLocations",
            "searchable": true
          }
        },
        {
          "displayName": "By name",
          "name": "name",
          "type": "string",
          "hint": "Enter the location name",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "locations/[0-9]+",
                "errorMessage": "The name must start with \"locations/\""
              }
            }
          ],
          "placeholder": "e.g. locations/0123456789"
        }
      ]
    },
    {
      "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": [
            "post"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 20,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "post"
          ],
          "operation": [
            "getAll"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1
      }
    },
    {
      "displayName": "Account",
      "name": "account",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "The Google Business Profile account",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "post"
          ],
          "operation": [
            "update"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From list",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "searchAccounts",
            "searchable": true
          }
        },
        {
          "displayName": "By name",
          "name": "name",
          "type": "string",
          "hint": "Enter the account name",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "accounts/[0-9]+",
                "errorMessage": "The name must start with \"accounts/\""
              }
            }
          ],
          "placeholder": "e.g. accounts/0123456789"
        }
      ]
    },
    {
      "displayName": "Location",
      "name": "location",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "The specific location or business associated with the account",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "post"
          ],
          "operation": [
            "update"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From list",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "searchLocations",
            "searchable": true
          }
        },
        {
          "displayName": "By name",
          "name": "name",
          "type": "string",
          "hint": "Enter the location name",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "locations/[0-9]+",
                "errorMessage": "The name must start with \"locations/\""
              }
            }
          ],
          "placeholder": "e.g. locations/0123456789"
        }
      ]
    },
    {
      "displayName": "Post",
      "name": "post",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "Select the post to retrieve its details",
      "displayOptions": {
        "show": {
          "resource": [
            "post"
          ],
          "operation": [
            "update"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From list",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "searchPosts",
            "searchable": true
          }
        },
        {
          "displayName": "By name",
          "name": "name",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "accounts/[0-9]+/locations/[0-9]+/localPosts/[0-9]+",
                "errorMessage": "The name must be in the format \"accounts/123/locations/123/localPosts/123\""
              }
            }
          ],
          "placeholder": "e.g. accounts/123/locations/123/localPosts/123"
        }
      ]
    },
    {
      "displayName": "Make sure that the updated options are supported by the post type. <a target='_blank' href='https://developers.google.com/my-business/reference/rest/v4/accounts.locations.localPosts#resource:-localpost'>More info</a>.",
      "name": "notice",
      "type": "notice",
      "default": "",
      "displayOptions": {
        "show": {
          "resource": [
            "post"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "additionalOptions",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Summary",
          "name": "summary",
          "type": "string",
          "default": "",
          "description": "The main text of the post",
          "routing": {
            "send": {
              "type": "body",
              "property": "summary"
            }
          }
        },
        {
          "displayName": "Language",
          "name": "languageCode",
          "type": "string",
          "default": "",
          "placeholder": "e.g. en",
          "description": "The language code of the post content. <a href=\"https://cloud.google.com/translate/docs/languages\" target=\"_blank\">More info</a>.",
          "routing": {
            "send": {
              "type": "body",
              "property": "languageCode"
            }
          }
        },
        {
          "displayName": "Call to Action Type",
          "name": "callToActionType",
          "type": "options",
          "default": "ACTION_TYPE_UNSPECIFIED",
          "description": "The type of call to action",
          "routing": {
            "send": {
              "type": "body",
              "property": "callToAction.actionType"
            }
          },
          "options": [
            {
              "name": "Action Type Unspecified",
              "value": "ACTION_TYPE_UNSPECIFIED",
              "description": "Type unspecified"
            },
            {
              "name": "Book",
              "value": "BOOK",
              "description": "This post wants a user to book an appointment/table/etc"
            },
            {
              "name": "Get Offer",
              "value": "GET_OFFER",
              "description": "Deprecated. Use OFFER in LocalPostTopicType to create a post with offer content."
            },
            {
              "name": "Learn More",
              "value": "LEARN_MORE",
              "description": "This post wants a user to learn more (at their website)"
            },
            {
              "name": "Order",
              "value": "ORDER",
              "description": "This post wants a user to order something"
            },
            {
              "name": "Shop",
              "value": "SHOP",
              "description": "This post wants a user to browse a product catalog"
            },
            {
              "name": "Sign Up",
              "value": "SIGN_UP",
              "description": "This post wants a user to register/sign up/join something"
            }
          ]
        },
        {
          "displayName": "Call to Action Url",
          "name": "url",
          "type": "string",
          "default": "",
          "description": "The URL that users are sent to when clicking through the promotion",
          "routing": {
            "send": {
              "type": "body",
              "property": "callToAction.url"
            }
          }
        },
        {
          "displayName": "Start Date and Time",
          "name": "startDateTime",
          "type": "dateTime",
          "default": "",
          "description": "The start date and time of the event"
        },
        {
          "displayName": "End Date and Time",
          "name": "endDateTime",
          "type": "dateTime",
          "default": "",
          "description": "The end date and time of the event"
        },
        {
          "displayName": "Title",
          "name": "title",
          "type": "string",
          "default": "",
          "description": "E.g. 20% off in store or online.",
          "routing": {
            "send": {
              "type": "body",
              "property": "event.title"
            }
          }
        },
        {
          "displayName": "Start Date",
          "name": "startDate",
          "type": "string",
          "default": "",
          "placeholder": "YYYY-MM-DD",
          "description": "The start date of the offer"
        },
        {
          "displayName": "End Date",
          "name": "endDate",
          "type": "string",
          "default": "",
          "placeholder": "YYYY-MM-DD",
          "description": "The end date of the offer"
        },
        {
          "displayName": "Coupon Code",
          "name": "couponCode",
          "type": "string",
          "default": "",
          "description": "The coupon code for the offer",
          "routing": {
            "send": {
              "type": "body",
              "property": "offer.couponCode"
            }
          }
        },
        {
          "displayName": "Redeem Online Url",
          "name": "redeemOnlineUrl",
          "type": "string",
          "default": "",
          "description": "Link to redeem the offer",
          "routing": {
            "send": {
              "type": "body",
              "property": "offer.redeemOnlineUrl"
            }
          }
        },
        {
          "displayName": "Terms and Conditions",
          "name": "termsConditions",
          "type": "string",
          "default": "",
          "description": "The terms and conditions of the offer",
          "routing": {
            "send": {
              "type": "body",
              "property": "offer.termsConditions"
            }
          }
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "post"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Delete Reply",
          "value": "delete",
          "action": "Delete a reply to a review",
          "description": "Delete a reply to a review",
          "routing": {
            "request": {
              "method": "DELETE",
              "url": "=/{{$parameter[\"account\"]}}/{{$parameter[\"location\"]}}/reviews/{{$parameter[\"review\"].split(\"reviews/\").pop().split(\"/reply\")[0]}}/reply",
              "ignoreHttpStatusErrors": true
            },
            "output": {
              "postReceive": [
                null
              ]
            }
          }
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get review",
          "description": "Retrieve details of a specific review on Google Business Profile",
          "routing": {
            "request": {
              "method": "GET",
              "url": "=/{{$parameter[\"account\"]}}/{{$parameter[\"location\"]}}/reviews/{{$parameter[\"review\"].split(\"reviews/\").pop().split(\"/reply\")[0]}}",
              "ignoreHttpStatusErrors": true
            },
            "output": {
              "postReceive": [
                null
              ]
            }
          }
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many reviews",
          "description": "Retrieve multiple reviews",
          "routing": {
            "send": {
              "paginate": true
            },
            "operations": {},
            "request": {
              "method": "GET",
              "url": "=/{{$parameter[\"account\"]}}/{{$parameter[\"location\"]}}/reviews",
              "qs": {
                "pageSize": "={{ $parameter[\"limit\"] ? ($parameter[\"limit\"] < 50 ? $parameter[\"limit\"] : 50) : 50 }}"
              }
            }
          }
        },
        {
          "name": "Reply",
          "value": "reply",
          "action": "Reply to review",
          "description": "Reply to a review",
          "routing": {
            "request": {
              "method": "PUT",
              "url": "=/{{$parameter[\"account\"]}}/{{$parameter[\"location\"]}}/reviews/{{$parameter[\"review\"].split(\"reviews/\").pop().split(\"/reply\")[0]}}/reply",
              "ignoreHttpStatusErrors": true
            },
            "output": {
              "postReceive": [
                null
              ]
            }
          }
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "review"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Account",
      "name": "account",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "The Google Business Profile account",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "review"
          ],
          "operation": [
            "get"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From list",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "searchAccounts",
            "searchable": true
          }
        },
        {
          "displayName": "By name",
          "name": "name",
          "type": "string",
          "hint": "Enter the account name",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "accounts/[0-9]+",
                "errorMessage": "The name must start with \"accounts/\""
              }
            }
          ],
          "placeholder": "e.g. accounts/0123456789"
        }
      ]
    },
    {
      "displayName": "Location",
      "name": "location",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "The specific location or business associated with the account",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "review"
          ],
          "operation": [
            "get"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From list",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "searchLocations",
            "searchable": true
          }
        },
        {
          "displayName": "By name",
          "name": "name",
          "type": "string",
          "hint": "Enter the location name",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "locations/[0-9]+",
                "errorMessage": "The name must start with \"locations/\""
              }
            }
          ],
          "placeholder": "e.g. locations/0123456789"
        }
      ]
    },
    {
      "displayName": "Review",
      "name": "review",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "Select the review to retrieve its details",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "review"
          ],
          "operation": [
            "get"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From list",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "searchReviews",
            "searchable": true
          }
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "^(?!accounts/[0-9]+/locations/[0-9]+/reviews/).*",
                "errorMessage": "The name must not start with \"accounts/123/locations/123/reviews/\""
              }
            }
          ],
          "placeholder": "e.g. ABC123_review-ID_456xyz"
        },
        {
          "displayName": "By name",
          "name": "name",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "accounts/[0-9]+/locations/[0-9]+/reviews/.*$",
                "errorMessage": "The name must start with \"accounts/123/locations/123/reviews/\""
              }
            }
          ],
          "placeholder": "e.g. accounts/123/locations/123/reviews/ABC123_review-ID_456xyz"
        }
      ]
    },
    {
      "displayName": "Account",
      "name": "account",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "The Google Business Profile account",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "review"
          ],
          "operation": [
            "delete"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From list",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "searchAccounts",
            "searchable": true
          }
        },
        {
          "displayName": "By name",
          "name": "name",
          "type": "string",
          "hint": "Enter the account name",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "accounts/[0-9]+",
                "errorMessage": "The name must start with \"accounts/\""
              }
            }
          ],
          "placeholder": "e.g. accounts/0123456789"
        }
      ]
    },
    {
      "displayName": "Location",
      "name": "location",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "The specific location or business associated with the account",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "review"
          ],
          "operation": [
            "delete"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From list",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "searchLocations",
            "searchable": true
          }
        },
        {
          "displayName": "By name",
          "name": "name",
          "type": "string",
          "hint": "Enter the location name",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "locations/[0-9]+",
                "errorMessage": "The name must start with \"locations/\""
              }
            }
          ],
          "placeholder": "e.g. locations/0123456789"
        }
      ]
    },
    {
      "displayName": "Review",
      "name": "review",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "Select the review to retrieve its details",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "review"
          ],
          "operation": [
            "delete"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From list",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "searchReviews",
            "searchable": true
          }
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "^(?!accounts/[0-9]+/locations/[0-9]+/reviews/).*",
                "errorMessage": "The name must not start with \"accounts/123/locations/123/reviews/\""
              }
            }
          ],
          "placeholder": "e.g. ABC123_review-ID_456xyz"
        },
        {
          "displayName": "By name",
          "name": "name",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "accounts/[0-9]+/locations/[0-9]+/reviews/.*$",
                "errorMessage": "The name must start with \"accounts/123/locations/123/reviews/\""
              }
            }
          ],
          "placeholder": "e.g. accounts/123/locations/123/reviews/ABC123_review-ID_456xyz"
        }
      ]
    },
    {
      "displayName": "Account",
      "name": "account",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "The Google Business Profile account",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "review"
          ],
          "operation": [
            "getAll"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From list",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "searchAccounts",
            "searchable": true
          }
        },
        {
          "displayName": "By name",
          "name": "name",
          "type": "string",
          "hint": "Enter the account name",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "accounts/[0-9]+",
                "errorMessage": "The name must start with \"accounts/\""
              }
            }
          ],
          "placeholder": "e.g. accounts/0123456789"
        }
      ]
    },
    {
      "displayName": "Location",
      "name": "location",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "The specific location or business associated with the account",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "review"
          ],
          "operation": [
            "getAll"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From list",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "searchLocations",
            "searchable": true
          }
        },
        {
          "displayName": "By name",
          "name": "name",
          "type": "string",
          "hint": "Enter the location name",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "locations/[0-9]+",
                "errorMessage": "The name must start with \"locations/\""
              }
            }
          ],
          "placeholder": "e.g. locations/0123456789"
        }
      ]
    },
    {
      "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": 20,
      "description": "Max number of results to return",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "review"
          ],
          "operation": [
            "getAll"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1
      }
    },
    {
      "displayName": "Account",
      "name": "account",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "The Google Business Profile account",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "review"
          ],
          "operation": [
            "reply"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From list",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "searchAccounts",
            "searchable": true
          }
        },
        {
          "displayName": "By name",
          "name": "name",
          "type": "string",
          "hint": "Enter the account name",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "accounts/[0-9]+",
                "errorMessage": "The name must start with \"accounts/\""
              }
            }
          ],
          "placeholder": "e.g. accounts/0123456789"
        }
      ]
    },
    {
      "displayName": "Location",
      "name": "location",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "The specific location or business associated with the account",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "review"
          ],
          "operation": [
            "reply"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From list",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "searchLocations",
            "searchable": true
          }
        },
        {
          "displayName": "By name",
          "name": "name",
          "type": "string",
          "hint": "Enter the location name",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "locations/[0-9]+",
                "errorMessage": "The name must start with \"locations/\""
              }
            }
          ],
          "placeholder": "e.g. locations/0123456789"
        }
      ]
    },
    {
      "displayName": "Review",
      "name": "review",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "Select the review to retrieve its details",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "review"
          ],
          "operation": [
            "reply"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From list",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "searchReviews",
            "searchable": true
          }
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "^(?!accounts/[0-9]+/locations/[0-9]+/reviews/).*",
                "errorMessage": "The name must not start with \"accounts/123/locations/123/reviews/\""
              }
            }
          ],
          "placeholder": "e.g. ABC123_review-ID_456xyz"
        },
        {
          "displayName": "By name",
          "name": "name",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "accounts/[0-9]+/locations/[0-9]+/reviews/.*$",
                "errorMessage": "The name must start with \"accounts/123/locations/123/reviews/\""
              }
            }
          ],
          "placeholder": "e.g. accounts/123/locations/123/reviews/ABC123_review-ID_456xyz"
        }
      ]
    },
    {
      "displayName": "Reply",
      "name": "reply",
      "type": "string",
      "default": "",
      "description": "The body of the reply (up to 4096 characters)",
      "displayOptions": {
        "show": {
          "resource": [
            "review"
          ],
          "operation": [
            "reply"
          ]
        }
      },
      "typeOptions": {
        "rows": 5
      }
    }
  ]

operations:
  [
    {
      "operation": "create",
      "name": "Create",
      "description": "Create a new post on Google Business Profile"
    },
    {
      "operation": "delete",
      "name": "Delete",
      "description": "Delete an existing post"
    },
    {
      "operation": "get",
      "name": "Get",
      "description": "Retrieve details of a specific post"
    },
    {
      "operation": "getAll",
      "name": "Get Many",
      "description": "Retrieve multiple posts"
    },
    {
      "operation": "update",
      "name": "Update",
      "description": "Update an existing post"
    }
  ]


node_type: nodes-base.googleBusinessProfileTrigger
package_name: n8n-nodes-base
display_name: Google Business Profile Trigger
category: trigger
development_style: programmatic
version: 1
operations: []
credentials_required:
  [
  {
  "name": "googleBusinessProfileOAuth2Api",
  "required": true
  }
  ]

outputs:
  [
  "main"
  ]

updated_at: 2025-10-24 07:28:02
description:
  Fetches reviews from Google Business Profile and starts the workflow on specified polling intervals.

documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Google Business Profile Trigger node documentation
  description: Learn how to use the Google Business Profile Trigger node in n8n. Follow technical documentation to integrate Google Business Profile Trigger node into your workflows.
  contentType: [integration, reference]
  ---

  # Google Business Profile Trigger node

  Use the Google Business Profile Trigger node to respond to events in [Google Business Profile](https://www.google.com/business/){:target=_blank .external-link} and integrate Google Business Profile with other applications. n8n has built-in support for responding to new reviews.

  On this page, you'll find a list of events the Google Business Profile Trigger node can respond to and links to more resources.

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

  ## Events

  * Review Added

  ## Related resources

  n8n provides an app node for Google Business Profile. You can find the node docs [here](/integrations/builtin/app-nodes/n8n-nodes-base.googlebusinessprofile.md).

  <!-- add a link to the node page on n8n's website. For example: https://n8n.io/integrations/356-gmail/ -->
  View [example workflows and related content](https://n8n.io/integrations/google-business-profile-trigger/){:target=_blank .external-link} on n8n's website.

  Refer to [Google Business Profile's documentation](https://developers.google.com/my-business/reference/rest){:target=_blank .external-link} for details about their API.

properties_schema:
  [
    {
      "displayName": "Event",
      "name": "event",
      "type": "options",
      "default": "reviewAdded",
      "options": [
        {
          "name": "Review Added",
          "value": "reviewAdded"
        }
      ],
      "required": true,
      "noDataExpression": true
    },
    {
      "displayName": "Account",
      "name": "account",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "The Google Business Profile account",
      "required": true,
      "displayOptions": {
        "show": {
          "event": [
            "reviewAdded"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From list",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "searchAccounts",
            "searchable": true
          }
        },
        {
          "displayName": "By name",
          "name": "name",
          "type": "string",
          "hint": "Enter the account name",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "accounts/[0-9]+",
                "errorMessage": "The name must start with \"accounts/\""
              }
            }
          ],
          "placeholder": "e.g. accounts/0123456789"
        }
      ]
    },
    {
      "displayName": "Location",
      "name": "location",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "The specific location or business associated with the account",
      "required": true,
      "displayOptions": {
        "show": {
          "event": [
            "reviewAdded"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From list",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "searchLocations",
            "searchable": true
          }
        },
        {
          "displayName": "By name",
          "name": "name",
          "type": "string",
          "hint": "Enter the location name",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "locations/[0-9]+",
                "errorMessage": "The name must start with \"locations/\""
              }
            }
          ],
          "placeholder": "e.g. locations/0123456789"
        }
      ]
    }
  ]


node_type: nodes-base.googlePerspective
package_name: n8n-nodes-base
display_name: Google Perspective
description: Consume Google Perspective API
category: transform
development_style: programmatic
version: 1
operations:
  [
  {
  "operation": "analyzeComment",
  "name": "Analyze Comment"
  }
  ]

credentials_required:
  [
  {
  "name": "googlePerspectiveOAuth2Api",
  "required": true
  }
  ]

outputs:
  [
  "main"
  ]

updated_at: 2025-10-24 07:28:02
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Google Perspective node documentation
  description: Learn how to use the Google Perspective node in n8n. Follow technical documentation to integrate Google Perspective node into your workflows.
  contentType: [integration, reference]
  ---

  # Google Perspective node

  Use the Google Perspective node to automate work in Google Perspective, and integrate Google Perspective with other applications. n8n has built-in support for a wide range of Google Perspective features, including analyzing comments.

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

  /// note | Credentials
  Refer to [Google Perspective credentials](/integrations/builtin/credentials/google/index.md) for guidance on setting up authentication. 
  ///

  ## Operations

  * Analyze Comment

  ## Templates and examples

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

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

properties_schema:
  [
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "analyzeComment",
      "options": [
        {
          "name": "Analyze Comment",
          "value": "analyzeComment"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Text",
      "name": "text",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "analyzeComment"
          ]
        }
      }
    },
    {
      "displayName": "Attributes to Analyze",
      "name": "requestedAttributesUi",
      "type": "fixedCollection",
      "default": {},
      "options": [
        {
          "displayName": "Properties",
          "name": "requestedAttributesValues",
          "values": [
            {
              "displayName": "Attribute Name",
              "name": "attributeName",
              "type": "options",
              "options": [
                {
                  "name": "Flirtation",
                  "value": "flirtation"
                },
                {
                  "name": "Identity Attack",
                  "value": "identity_attack"
                },
                {
                  "name": "Insult",
                  "value": "insult"
                },
                {
                  "name": "Profanity",
                  "value": "profanity"
                },
                {
                  "name": "Severe Toxicity",
                  "value": "severe_toxicity"
                },
                {
                  "name": "Sexually Explicit",
                  "value": "sexually_explicit"
                },
                {
                  "name": "Threat",
                  "value": "threat"
                },
                {
                  "name": "Toxicity",
                  "value": "toxicity"
                }
              ],
              "description": "Attribute to analyze in the text. Details <a href=\"https://developers.perspectiveapi.com/s/about-the-api-attributes-and-languages\">here</a>.",
              "default": "flirtation"
            },
            {
              "displayName": "Score Threshold",
              "name": "scoreThreshold",
              "type": "number",
              "typeOptions": {
                "numberPrecision": 2,
                "minValue": 0,
                "maxValue": 1
              },
              "description": "Score above which to return results. At zero, all scores are returned.",
              "default": 0
            }
          ]
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "analyzeComment"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Language Name or ID",
          "name": "languages",
          "type": "options",
          "typeOptions": {
            "loadOptionsMethod": "getLanguages"
          },
          "default": "",
          "description": "Languages of the text input. If unspecified, the API will auto-detect the comment language. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "analyzeComment"
          ]
        }
      }
    }
  ]


node_type: nodes-base.googleSheets
package_name: n8n-nodes-base
display_name: Google Sheets
description: Read, update and write data to Google Sheets
category: input
development_style: programmatic
version: 4.7
outputs:
  [
  "main"
  ]

updated_at: 2025-10-24 07:28:02
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Google Sheets
  description: Documentation for the Google Sheets node in n8n, a workflow automation platform. Includes details of operations and configuration, and links to examples and credentials information.
  contentType: [integration, reference]
  priority: critical
  ---

  # Google Sheets

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

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

  /// note | Credentials
  Refer to [Google Sheets credentials](/integrations/builtin/credentials/google/index.md) for guidance on setting up authentication. 
  ///

  ## Operations

  * **Document**
      * [**Create**](/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets/document-operations.md#create-a-spreadsheet) a spreadsheet.
  	* [**Delete**](/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets/document-operations.md#delete-a-spreadsheet) a spreadsheet.
  * **Sheet Within Document**
  	* [**Append or Update Row**](/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets/sheet-operations.md#append-or-update-row): Append a new row, or update the current one if it already exists.
  	* [**Append Row**](/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets/sheet-operations.md#append-row): Create a new row.
  	* [**Clear**](/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets/sheet-operations.md#clear-a-sheet) all data from a sheet.
  	* [**Create**](/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets/sheet-operations.md#create-a-new-sheet) a new sheet.
  	* [**Delete**](/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets/sheet-operations.md#delete-a-sheet) a sheet.
  	* [**Delete Rows or Columns**](/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets/sheet-operations.md#delete-rows-or-columns): Delete columns and rows from a sheet.
  	* [**Get Row(s)**](/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets/sheet-operations.md#get-rows): Read all rows in a sheet.
  	* [**Update Row**](/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets/sheet-operations.md#update-row): Update a row in a sheet. 


  ## Templates and examples

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

  ## Related resources

  Refer to [Google Sheet's API documentation](https://developers.google.com/sheets/api){:target=_blank .external-link} for more information about the service.

  <!-- ## Examples
  This example uses the Customer Datastore node to provide sample data to load into Google Sheets. It assumes you've already set up your [credentials](/integrations/builtin/credentials/google/index.md).	
  	1. Set up a Google Sheet with two columns, `test1` and `test`. In `test1`, enter the names from the Customer Datastore node:  
  	![The spreadsheet set up for testing](/_images/integrations/builtin/app-nodes/googlesheets/test-sheet-before.png)  
  	2. Create the workflow: use the manual trigger, Customer Datastore, and Google Sheets nodes.  
  	![The spreadsheet set up for testing](/_images/integrations/builtin/app-nodes/googlesheets/workflow.png)  
  	3. Open the Customer Datastore node, enable **Return All**, then select **Execute step**.
  	4. In the Google Sheets node, go through the steps above, using these settings:
  		* Select **Update Row** as the **Operation**.
  		* In **Column to Match On**, select `test1`.
  		* For the first field of **Values to Update**, drag in the **name** from the input view.
  		* For the second field of **Values to Update**, drag in the **email** from the input view.
  	5. Select **Execute step**.
  	6. View your spreadsheet. **test2** should now contain the email addresses that match to the names in the input data.  
  	![The spreadsheet set up for testing](/_images/integrations/builtin/app-nodes/googlesheets/test-sheet-after.png)   -->

  ## Common issues

  For common questions or issues and suggested solutions, refer to [Common issues](/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets/common-issues.md).

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

properties_schema:
  [
    {
      "displayName": "Manage tasks in Google Sheets using our pre-built",
      "name": "preBuiltAgentsCalloutGoogleSheets",
      "type": "callout",
      "default": "",
      "typeOptions": {
        "calloutAction": {
          "label": "Task management agent",
          "icon": "bot",
          "type": "openSampleWorkflowTemplate",
          "templateId": "task_management_agent_with_google_sheets"
        }
      }
    },
    {
      "displayName": "Authentication",
      "name": "authentication",
      "type": "options",
      "default": "oAuth2",
      "options": [
        {
          "name": "Service Account",
          "value": "serviceAccount"
        },
        {
          "name": "OAuth2 (recommended)",
          "value": "oAuth2"
        }
      ]
    },
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "sheet",
      "options": [
        {
          "name": "Document",
          "value": "spreadsheet"
        },
        {
          "name": "Sheet Within Document",
          "value": "sheet"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "read",
      "options": [
        {
          "name": "Append or Update Row",
          "value": "appendOrUpdate",
          "description": "Append a new row or update an existing one (upsert)",
          "action": "Append or update row in sheet"
        },
        {
          "name": "Append Row",
          "value": "append",
          "description": "Create a new row in a sheet",
          "action": "Append row in sheet"
        },
        {
          "name": "Clear",
          "value": "clear",
          "description": "Delete all the contents or a part of a sheet",
          "action": "Clear sheet"
        },
        {
          "name": "Create",
          "value": "create",
          "description": "Create a new sheet",
          "action": "Create sheet"
        },
        {
          "name": "Delete",
          "value": "remove",
          "description": "Permanently delete a sheet",
          "action": "Delete sheet"
        },
        {
          "name": "Delete Rows or Columns",
          "value": "delete",
          "description": "Delete columns or rows from a sheet",
          "action": "Delete rows or columns from sheet"
        },
        {
          "name": "Get Row(s)",
          "value": "read",
          "description": "Retrieve one or more rows from a sheet",
          "action": "Get row(s) in sheet"
        },
        {
          "name": "Update Row",
          "value": "update",
          "description": "Update an existing row in a sheet",
          "action": "Update row in sheet"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "sheet"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Document",
      "name": "documentId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "sheet"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "spreadSheetsSearch",
            "searchable": true
          }
        },
        {
          "displayName": "By URL",
          "name": "url",
          "type": "string",
          "extractValue": {
            "type": "regex",
            "regex": "https:\\/\\/(?:drive|docs)\\.google\\.com(?:\\/.*|)\\/d\\/([0-9a-zA-Z\\-_]+)(?:\\/.*|)"
          },
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "https:\\/\\/(?:drive|docs)\\.google\\.com(?:\\/.*|)\\/d\\/([0-9a-zA-Z\\-_]+)(?:\\/.*|)",
                "errorMessage": "Not a valid Google Drive File URL"
              }
            }
          ]
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[a-zA-Z0-9\\-_]{2,}",
                "errorMessage": "Not a valid Google Drive File ID"
              }
            }
          ],
          "url": "=https://docs.google.com/spreadsheets/d/{{$value}}/edit"
        }
      ]
    },
    {
      "displayName": "Sheet",
      "name": "sheetName",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "sheet"
          ],
          "operation": [
            "append",
            "appendOrUpdate",
            "clear",
            "delete",
            "read",
            "remove",
            "update"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "documentId.value"
        ]
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "sheetsSearch",
            "searchable": false
          }
        },
        {
          "displayName": "By URL",
          "name": "url",
          "type": "string",
          "extractValue": {
            "type": "regex",
            "regex": "https:\\/\\/docs\\.google\\.com\\/spreadsheets\\/d\\/[0-9a-zA-Z\\-_]+.*\\#gid=([0-9]+)"
          },
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "https:\\/\\/docs\\.google\\.com\\/spreadsheets\\/d\\/[0-9a-zA-Z\\-_]+.*\\#gid=([0-9]+)",
                "errorMessage": "Not a valid Sheet URL"
              }
            }
          ]
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "((gid=)?[0-9]{1,})",
                "errorMessage": "Not a valid Sheet ID"
              }
            }
          ]
        },
        {
          "displayName": "By Name",
          "name": "name",
          "type": "string",
          "placeholder": "Sheet1"
        }
      ]
    },
    {
      "displayName": "Data Mode",
      "name": "dataMode",
      "type": "options",
      "default": "defineBelow",
      "description": "Whether to insert the input data this node receives in the new row",
      "options": [
        {
          "name": "Auto-Map Input Data to Columns",
          "value": "autoMapInputData",
          "description": "Use when node input properties match destination column names"
        },
        {
          "name": "Map Each Column Below",
          "value": "defineBelow",
          "description": "Set the value for each destination column"
        },
        {
          "name": "Nothing",
          "value": "nothing",
          "description": "Do not send anything"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "sheet"
          ],
          "operation": [
            "append"
          ],
          "@version": [
            3
          ]
        },
        "hide": {
          "sheetName": [
            ""
          ]
        }
      }
    },
    {
      "displayName": "In this mode, make sure the incoming data is named the same as the columns in your Sheet. (Use an 'Edit Fields' node before this node to change it if required.)",
      "name": "autoMapNotice",
      "type": "notice",
      "default": "",
      "displayOptions": {
        "show": {
          "operation": [
            "append"
          ],
          "dataMode": [
            "autoMapInputData"
          ],
          "@version": [
            3
          ]
        },
        "hide": {
          "sheetName": [
            ""
          ]
        }
      }
    },
    {
      "displayName": "Fields to Send",
      "name": "fieldsUi",
      "type": "fixedCollection",
      "default": {},
      "options": [
        {
          "displayName": "Field",
          "name": "fieldValues",
          "values": [
            {
              "displayName": "Field Name or ID",
              "name": "fieldId",
              "type": "options",
              "description": "Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
              "typeOptions": {
                "loadOptionsDependsOn": [
                  "sheetName.value"
                ],
                "loadOptionsMethod": "getSheetHeaderRowAndSkipEmpty"
              },
              "default": ""
            },
            {
              "displayName": "Field Value",
              "name": "fieldValue",
              "type": "string",
              "default": ""
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "sheet"
          ],
          "operation": [
            "append"
          ],
          "dataMode": [
            "defineBelow"
          ],
          "@version": [
            3
          ]
        },
        "hide": {
          "sheetName": [
            ""
          ]
        }
      },
      "typeOptions": {
        "multipleValueButtonText": "Add Field to Send",
        "multipleValues": true
      }
    },
    {
      "displayName": "Columns",
      "name": "columns",
      "type": "resourceMapper",
      "default": {
        "mappingMode": "defineBelow",
        "value": null
      },
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "sheet"
          ],
          "operation": [
            "append"
          ],
          "@version": [
            {
              "_cnd": {
                "gte": 4
              }
            }
          ]
        },
        "hide": {
          "sheetName": [
            ""
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "sheetName.value"
        ],
        "resourceMapper": {
          "resourceMapperMethod": "getMappingColumns",
          "mode": "add",
          "fieldWords": {
            "singular": "column",
            "plural": "columns"
          },
          "addAllFields": true,
          "multiKeyMatch": false
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Cell Format",
          "name": "cellFormat",
          "type": "options",
          "options": [
            {
              "name": "Let Google Sheets format",
              "value": "USER_ENTERED",
              "description": "Cells are styled as if you typed the values into Google Sheets directly"
            },
            {
              "name": "Let n8n format",
              "value": "RAW",
              "description": "Cells have the same types as the input data"
            }
          ],
          "default": "USER_ENTERED",
          "description": "Determines how data should be interpreted"
        },
        {
          "displayName": "Data Location on Sheet",
          "name": "locationDefine",
          "type": "fixedCollection",
          "placeholder": "Select Range",
          "default": {
            "values": {}
          },
          "options": [
            {
              "displayName": "Values",
              "name": "values",
              "values": [
                {
                  "displayName": "Header Row",
                  "name": "headerRow",
                  "type": "number",
                  "typeOptions": {
                    "minValue": 1
                  },
                  "default": 1,
                  "description": "Index of the row which contains the keys. Starts at 1. The incoming node data is matched to the keys for assignment. The matching is case sensitive."
                }
              ]
            }
          ]
        },
        {
          "displayName": "Handling extra fields in input",
          "name": "handlingExtraData",
          "type": "options",
          "options": [
            {
              "name": "Insert in New Column(s)",
              "value": "insertInNewColumn",
              "description": "Create a new column for extra data"
            },
            {
              "name": "Ignore Them",
              "value": "ignoreIt",
              "description": "Ignore extra data"
            },
            {
              "name": "Error",
              "value": "error",
              "description": "Throw an error"
            }
          ],
          "displayOptions": {
            "show": {
              "/dataMode": [
                "autoMapInputData"
              ]
            }
          },
          "default": "insertInNewColumn",
          "description": "What do to with fields that don't match any columns in the Google Sheet"
        },
        {
          "displayName": "Handling extra fields in input",
          "name": "handlingExtraData",
          "type": "options",
          "options": [
            {
              "name": "Insert in New Column(s)",
              "value": "insertInNewColumn",
              "description": "Create a new column for extra data"
            },
            {
              "name": "Ignore Them",
              "value": "ignoreIt",
              "description": "Ignore extra data"
            },
            {
              "name": "Error",
              "value": "error",
              "description": "Throw an error"
            }
          ],
          "displayOptions": {
            "show": {
              "/columns.mappingMode": [
                "autoMapInputData"
              ]
            }
          },
          "default": "insertInNewColumn",
          "description": "What do to with fields that don't match any columns in the Google Sheet"
        },
        {
          "displayName": "Minimise API Calls",
          "name": "useAppend",
          "type": "boolean",
          "default": false,
          "hint": "Use if your sheet has no gaps between rows or columns",
          "description": "Whether to use append instead of update(default), this is more efficient but in some cases data might be misaligned"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "sheet"
          ],
          "operation": [
            "append"
          ]
        },
        "hide": {
          "sheetName": [
            ""
          ]
        }
      }
    },
    {
      "displayName": "Clear",
      "name": "clear",
      "type": "options",
      "default": "wholeSheet",
      "description": "What to clear",
      "options": [
        {
          "name": "Whole Sheet",
          "value": "wholeSheet"
        },
        {
          "name": "Specific Rows",
          "value": "specificRows"
        },
        {
          "name": "Specific Columns",
          "value": "specificColumns"
        },
        {
          "name": "Specific Range",
          "value": "specificRange"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "sheet"
          ],
          "operation": [
            "clear"
          ]
        },
        "hide": {
          "sheetName": [
            ""
          ]
        }
      }
    },
    {
      "displayName": "Keep First Row",
      "name": "keepFirstRow",
      "type": "boolean",
      "default": false,
      "displayOptions": {
        "show": {
          "resource": [
            "sheet"
          ],
          "operation": [
            "clear"
          ],
          "clear": [
            "wholeSheet"
          ]
        },
        "hide": {
          "sheetName": [
            ""
          ]
        }
      }
    },
    {
      "displayName": "Start Row Number",
      "name": "startIndex",
      "type": "number",
      "default": 1,
      "description": "The row number to delete from, The first row is 1",
      "displayOptions": {
        "show": {
          "resource": [
            "sheet"
          ],
          "operation": [
            "clear"
          ],
          "clear": [
            "specificRows"
          ]
        },
        "hide": {
          "sheetName": [
            ""
          ]
        }
      },
      "typeOptions": {
        "minValue": 1
      }
    },
    {
      "displayName": "Number of Rows to Delete",
      "name": "rowsToDelete",
      "type": "number",
      "default": 1,
      "displayOptions": {
        "show": {
          "resource": [
            "sheet"
          ],
          "operation": [
            "clear"
          ],
          "clear": [
            "specificRows"
          ]
        },
        "hide": {
          "sheetName": [
            ""
          ]
        }
      },
      "typeOptions": {
        "minValue": 1
      }
    },
    {
      "displayName": "Start Column",
      "name": "startIndex",
      "type": "string",
      "default": "A",
      "description": "The column to delete",
      "displayOptions": {
        "show": {
          "resource": [
            "sheet"
          ],
          "operation": [
            "clear"
          ],
          "clear": [
            "specificColumns"
          ]
        },
        "hide": {
          "sheetName": [
            ""
          ]
        }
      }
    },
    {
      "displayName": "Number of Columns to Delete",
      "name": "columnsToDelete",
      "type": "number",
      "default": 1,
      "displayOptions": {
        "show": {
          "resource": [
            "sheet"
          ],
          "operation": [
            "clear"
          ],
          "clear": [
            "specificColumns"
          ]
        },
        "hide": {
          "sheetName": [
            ""
          ]
        }
      },
      "typeOptions": {
        "minValue": 1
      }
    },
    {
      "displayName": "Range",
      "name": "range",
      "type": "string",
      "default": "A:F",
      "description": "The table range to read from or to append data to. See the Google <a href=\"https://developers.google.com/sheets/api/guides/values#writing\">documentation</a> for the details. If it contains multiple sheets it can also be added like this: \"MySheet!A:F\"",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "sheet"
          ],
          "operation": [
            "clear"
          ],
          "clear": [
            "specificRange"
          ]
        },
        "hide": {
          "sheetName": [
            ""
          ]
        }
      }
    },
    {
      "displayName": "Title",
      "name": "title",
      "type": "string",
      "default": "n8n-sheet",
      "description": "The name of the sheet",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "sheet"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Hidden",
          "name": "hidden",
          "type": "boolean",
          "default": false,
          "description": "Whether the sheet is hidden in the UI, false if it's visible"
        },
        {
          "displayName": "Right To Left",
          "name": "rightToLeft",
          "type": "boolean",
          "default": false,
          "description": "Whether the sheet is an RTL sheet instead of an LTR sheet"
        },
        {
          "displayName": "Sheet ID",
          "name": "sheetId",
          "type": "number",
          "default": 0,
          "description": "The ID of the sheet. Must be non-negative. This field cannot be changed once set."
        },
        {
          "displayName": "Sheet Index",
          "name": "index",
          "type": "number",
          "default": 0,
          "description": "The index of the sheet within the spreadsheet"
        },
        {
          "displayName": "Tab Color",
          "name": "tabColor",
          "type": "color",
          "default": "0aa55c",
          "description": "The color of the tab in the UI"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "sheet"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "To Delete",
      "name": "toDelete",
      "type": "options",
      "default": "rows",
      "description": "What to delete",
      "options": [
        {
          "name": "Rows",
          "value": "rows",
          "description": "Rows to delete"
        },
        {
          "name": "Columns",
          "value": "columns",
          "description": "Columns to delete"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "sheet"
          ],
          "operation": [
            "delete"
          ]
        },
        "hide": {
          "sheetName": [
            ""
          ]
        }
      }
    },
    {
      "displayName": "Start Row Number",
      "name": "startIndex",
      "type": "number",
      "default": 2,
      "description": "The row number to delete from, The first row is 2",
      "displayOptions": {
        "show": {
          "resource": [
            "sheet"
          ],
          "operation": [
            "delete"
          ],
          "toDelete": [
            "rows"
          ]
        },
        "hide": {
          "sheetName": [
            ""
          ]
        }
      },
      "typeOptions": {
        "minValue": 1
      }
    },
    {
      "displayName": "Number of Rows to Delete",
      "name": "numberToDelete",
      "type": "number",
      "default": 1,
      "displayOptions": {
        "show": {
          "resource": [
            "sheet"
          ],
          "operation": [
            "delete"
          ],
          "toDelete": [
            "rows"
          ]
        },
        "hide": {
          "sheetName": [
            ""
          ]
        }
      },
      "typeOptions": {
        "minValue": 1
      }
    },
    {
      "displayName": "Start Column",
      "name": "startIndex",
      "type": "string",
      "default": "A",
      "description": "The column to delete",
      "displayOptions": {
        "show": {
          "resource": [
            "sheet"
          ],
          "operation": [
            "delete"
          ],
          "toDelete": [
            "columns"
          ]
        },
        "hide": {
          "sheetName": [
            ""
          ]
        }
      }
    },
    {
      "displayName": "Number of Columns to Delete",
      "name": "numberToDelete",
      "type": "number",
      "default": 1,
      "displayOptions": {
        "show": {
          "resource": [
            "sheet"
          ],
          "operation": [
            "delete"
          ],
          "toDelete": [
            "columns"
          ]
        },
        "hide": {
          "sheetName": [
            ""
          ]
        }
      },
      "typeOptions": {
        "minValue": 1
      }
    },
    {
      "displayName": "Filters",
      "name": "filtersUI",
      "type": "fixedCollection",
      "default": {},
      "options": [
        {
          "displayName": "Filter",
          "name": "values",
          "values": [
            {
              "displayName": "Column",
              "name": "lookupColumn",
              "type": "options",
              "typeOptions": {
                "loadOptionsDependsOn": [
                  "sheetName.value"
                ],
                "loadOptionsMethod": "getSheetHeaderRowWithGeneratedColumnNames"
              },
              "default": "",
              "description": "Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>"
            },
            {
              "displayName": "Value",
              "name": "lookupValue",
              "type": "string",
              "default": "",
              "hint": "The column must have this value to be matched"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "sheet"
          ],
          "operation": [
            "read"
          ]
        },
        "hide": {
          "sheetName": [
            ""
          ]
        }
      },
      "typeOptions": {
        "multipleValueButtonText": "Add Filter",
        "multipleValues": true
      }
    },
    {
      "displayName": "Combine Filters",
      "name": "combineFilters",
      "type": "options",
      "default": "OR",
      "description": "How to combine the conditions defined in \"Filters\": AND requires all conditions to be true, OR requires at least one condition to be true",
      "options": [
        {
          "name": "AND",
          "value": "AND",
          "description": "Only rows that meet all the conditions are selected"
        },
        {
          "name": "OR",
          "value": "OR",
          "description": "Rows that meet at least one condition are selected"
        }
      ],
      "displayOptions": {
        "show": {
          "@version": [
            {
              "_cnd": {
                "lt": 4.3
              }
            }
          ],
          "resource": [
            "sheet"
          ],
          "operation": [
            "read"
          ]
        },
        "hide": {
          "sheetName": [
            ""
          ]
        }
      }
    },
    {
      "displayName": "Combine Filters",
      "name": "combineFilters",
      "type": "options",
      "default": "AND",
      "description": "How to combine the conditions defined in \"Filters\": AND requires all conditions to be true, OR requires at least one condition to be true",
      "options": [
        {
          "name": "AND",
          "value": "AND",
          "description": "Only rows that meet all the conditions are selected"
        },
        {
          "name": "OR",
          "value": "OR",
          "description": "Rows that meet at least one condition are selected"
        }
      ],
      "displayOptions": {
        "show": {
          "@version": [
            {
              "_cnd": {
                "gte": 4.3
              }
            }
          ],
          "resource": [
            "sheet"
          ],
          "operation": [
            "read"
          ]
        },
        "hide": {
          "sheetName": [
            ""
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Data Location on Sheet",
          "name": "dataLocationOnSheet",
          "type": "fixedCollection",
          "placeholder": "Select Range",
          "default": {
            "values": {
              "rangeDefinition": "detectAutomatically"
            }
          },
          "options": [
            {
              "displayName": "Values",
              "name": "values",
              "values": [
                {
                  "displayName": "Range Definition",
                  "name": "rangeDefinition",
                  "type": "options",
                  "options": [
                    {
                      "name": "Detect Automatically",
                      "value": "detectAutomatically",
                      "description": "Automatically detect the data range"
                    },
                    {
                      "name": "Specify Range (A1 Notation)",
                      "value": "specifyRangeA1",
                      "description": "Manually specify the data range"
                    },
                    {
                      "name": "Specify Range (Rows)",
                      "value": "specifyRange",
                      "description": "Manually specify the data range"
                    }
                  ],
                  "default": ""
                },
                {
                  "displayName": "Read Rows Until",
                  "name": "readRowsUntil",
                  "type": "options",
                  "default": "lastRowInSheet",
                  "options": [
                    {
                      "name": "First Empty Row",
                      "value": "firstEmptyRow"
                    },
                    {
                      "name": "Last Row In Sheet",
                      "value": "lastRowInSheet"
                    }
                  ],
                  "displayOptions": {
                    "show": {
                      "rangeDefinition": [
                        "detectAutomatically"
                      ]
                    }
                  }
                },
                {
                  "displayName": "Header Row",
                  "name": "headerRow",
                  "type": "number",
                  "typeOptions": {
                    "minValue": 1
                  },
                  "default": 1,
                  "description": "Index is relative to the set 'Range', first row index is 1",
                  "hint": "Index of the row which contains the column names",
                  "displayOptions": {
                    "show": {
                      "rangeDefinition": [
                        "specifyRange"
                      ]
                    }
                  }
                },
                {
                  "displayName": "First Data Row",
                  "name": "firstDataRow",
                  "type": "number",
                  "typeOptions": {
                    "minValue": 1
                  },
                  "default": 2,
                  "description": "Index is relative to the set 'Range', first row index is 1",
                  "hint": "Index of first row which contains the actual data",
                  "displayOptions": {
                    "show": {
                      "rangeDefinition": [
                        "specifyRange"
                      ]
                    }
                  }
                },
                {
                  "displayName": "Range",
                  "name": "range",
                  "type": "string",
                  "default": "",
                  "placeholder": "A:Z",
                  "description": "The table range to read from or to append data to. See the Google <a href=\"https://developers.google.com/sheets/api/guides/values#writing\">documentation</a> for the details.",
                  "hint": "You can specify both the rows and the columns, e.g. C4:E7",
                  "displayOptions": {
                    "show": {
                      "rangeDefinition": [
                        "specifyRangeA1"
                      ]
                    }
                  }
                }
              ]
            }
          ]
        },
        {
          "displayName": "Output Formatting",
          "name": "outputFormatting",
          "type": "fixedCollection",
          "placeholder": "Add Formatting",
          "default": {
            "values": {
              "general": "UNFORMATTED_VALUE",
              "date": "FORMATTED_STRING"
            }
          },
          "options": [
            {
              "displayName": "Values",
              "name": "values",
              "values": [
                {
                  "displayName": "General Formatting",
                  "name": "general",
                  "type": "options",
                  "options": [
                    {
                      "name": "Values (unformatted)",
                      "value": "UNFORMATTED_VALUE",
                      "description": "Numbers stay as numbers, but any currency signs or special formatting is lost"
                    },
                    {
                      "name": "Values (formatted)",
                      "value": "FORMATTED_VALUE",
                      "description": "Numbers are turned to text, and displayed as in Google Sheets (e.g. with commas or currency signs)"
                    },
                    {
                      "name": "Formulas",
                      "value": "FORMULA"
                    }
                  ],
                  "default": "",
                  "description": "Determines how values should be rendered in the output"
                },
                {
                  "displayName": "Date Formatting",
                  "name": "date",
                  "type": "options",
                  "default": "",
                  "options": [
                    {
                      "name": "Formatted Text",
                      "value": "FORMATTED_STRING",
                      "description": "As displayed in Google Sheets, e.g. '01/01/2022'"
                    },
                    {
                      "name": "Serial Number",
                      "value": "SERIAL_NUMBER",
                      "description": "A number representing the number of days since Dec 30, 1899"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "displayName": "Return only First Matching Row",
          "name": "returnFirstMatch",
          "type": "boolean",
          "default": false,
          "description": "Whether to select the first row of the sheet or the first matching row (if filters are set)",
          "displayOptions": {
            "show": {
              "@version": [
                {
                  "_cnd": {
                    "gte": 4.5
                  }
                }
              ]
            }
          }
        },
        {
          "displayName": "When Filter Has Multiple Matches",
          "name": "returnAllMatches",
          "type": "options",
          "default": "returnFirstMatch",
          "options": [
            {
              "name": "Return First Match",
              "value": "returnFirstMatch",
              "description": "Return only the first match"
            },
            {
              "name": "Return All Matches",
              "value": "returnAllMatches",
              "description": "Return all values that match"
            }
          ],
          "description": "By default only the first result gets returned, Set to \"Return All Matches\" to get multiple matches",
          "displayOptions": {
            "show": {
              "@version": [
                {
                  "_cnd": {
                    "lt": 4.5
                  }
                }
              ]
            }
          }
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "sheet"
          ],
          "operation": [
            "read"
          ]
        },
        "hide": {
          "sheetName": [
            ""
          ]
        }
      }
    },
    {
      "displayName": "Data Mode",
      "name": "dataMode",
      "type": "options",
      "default": "defineBelow",
      "description": "Whether to insert the input data this node receives in the new row",
      "options": [
        {
          "name": "Auto-Map Input Data to Columns",
          "value": "autoMapInputData",
          "description": "Use when node input properties match destination column names"
        },
        {
          "name": "Map Each Column Below",
          "value": "defineBelow",
          "description": "Set the value for each destination column"
        },
        {
          "name": "Nothing",
          "value": "nothing",
          "description": "Do not send anything"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "sheet"
          ],
          "operation": [
            "update"
          ],
          "@version": [
            3
          ]
        },
        "hide": {
          "sheetName": [
            ""
          ]
        }
      }
    },
    {
      "displayName": "Column to match on",
      "name": "columnToMatchOn",
      "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": [
            "sheet"
          ],
          "operation": [
            "update"
          ],
          "@version": [
            3
          ]
        },
        "hide": {
          "sheetName": [
            ""
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "sheetName.value"
        ],
        "loadOptionsMethod": "getSheetHeaderRowAndSkipEmpty"
      }
    },
    {
      "displayName": "Value of Column to Match On",
      "name": "valueToMatchOn",
      "type": "string",
      "default": "",
      "displayOptions": {
        "show": {
          "resource": [
            "sheet"
          ],
          "operation": [
            "update"
          ],
          "dataMode": [
            "defineBelow"
          ],
          "@version": [
            3
          ]
        },
        "hide": {
          "sheetName": [
            ""
          ]
        }
      }
    },
    {
      "displayName": "Values to Send",
      "name": "fieldsUi",
      "type": "fixedCollection",
      "default": {},
      "options": [
        {
          "displayName": "Field",
          "name": "values",
          "values": [
            {
              "displayName": "Column",
              "name": "column",
              "type": "options",
              "description": "Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
              "typeOptions": {
                "loadOptionsDependsOn": [
                  "sheetName.value",
                  "columnToMatchOn"
                ],
                "loadOptionsMethod": "getSheetHeaderRowAndAddColumn"
              },
              "default": ""
            },
            {
              "displayName": "Column Name",
              "name": "columnName",
              "type": "string",
              "default": "",
              "displayOptions": {
                "show": {
                  "column": [
                    "newColumn"
                  ]
                }
              }
            },
            {
              "displayName": "Value",
              "name": "fieldValue",
              "type": "string",
              "default": ""
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "sheet"
          ],
          "operation": [
            "update"
          ],
          "dataMode": [
            "defineBelow"
          ],
          "@version": [
            3
          ]
        },
        "hide": {
          "sheetName": [
            ""
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true
      }
    },
    {
      "displayName": "Columns",
      "name": "columns",
      "type": "resourceMapper",
      "default": {
        "mappingMode": "defineBelow",
        "value": null
      },
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "sheet"
          ],
          "operation": [
            "update"
          ],
          "@version": [
            {
              "_cnd": {
                "gte": 4.7
              }
            }
          ]
        },
        "hide": {
          "sheetName": [
            ""
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "sheetName.value"
        ],
        "resourceMapper": {
          "resourceMapperMethod": "getMappingColumns",
          "mode": "update",
          "fieldWords": {
            "singular": "column",
            "plural": "columns"
          },
          "addAllFields": true,
          "multiKeyMatch": false,
          "allowEmptyValues": true
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Columns",
      "name": "columns",
      "type": "resourceMapper",
      "default": {
        "mappingMode": "defineBelow",
        "value": null
      },
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "sheet"
          ],
          "operation": [
            "update"
          ],
          "@version": [
            {
              "_cnd": {
                "between": {
                  "from": 4,
                  "to": 4.6
                }
              }
            }
          ]
        },
        "hide": {
          "sheetName": [
            ""
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "sheetName.value"
        ],
        "resourceMapper": {
          "resourceMapperMethod": "getMappingColumns",
          "mode": "update",
          "fieldWords": {
            "singular": "column",
            "plural": "columns"
          },
          "addAllFields": true,
          "multiKeyMatch": false
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Cell Format",
          "name": "cellFormat",
          "type": "options",
          "options": [
            {
              "name": "Let Google Sheets format",
              "value": "USER_ENTERED",
              "description": "Cells are styled as if you typed the values into Google Sheets directly"
            },
            {
              "name": "Let n8n format",
              "value": "RAW",
              "description": "Cells have the same types as the input data"
            }
          ],
          "default": "USER_ENTERED",
          "description": "Determines how data should be interpreted"
        },
        {
          "displayName": "Data Location on Sheet",
          "name": "locationDefine",
          "type": "fixedCollection",
          "placeholder": "Select Range",
          "default": {
            "values": {}
          },
          "options": [
            {
              "displayName": "Values",
              "name": "values",
              "values": [
                {
                  "displayName": "Header Row",
                  "name": "headerRow",
                  "type": "number",
                  "typeOptions": {
                    "minValue": 1
                  },
                  "default": 1,
                  "description": "Index is relative to the set 'Range', first row index is 1",
                  "hint": "Index of the row which contains the column names"
                },
                {
                  "displayName": "First Data Row",
                  "name": "firstDataRow",
                  "type": "number",
                  "typeOptions": {
                    "minValue": 1
                  },
                  "default": 2,
                  "description": "Index is relative to the set 'Range', first row index is 1",
                  "hint": "Index of first row which contains the actual data"
                }
              ]
            }
          ]
        },
        {
          "displayName": "Handling extra fields in input",
          "name": "handlingExtraData",
          "type": "options",
          "options": [
            {
              "name": "Insert in New Column(s)",
              "value": "insertInNewColumn",
              "description": "Create a new column for extra data"
            },
            {
              "name": "Ignore Them",
              "value": "ignoreIt",
              "description": "Ignore extra data"
            },
            {
              "name": "Error",
              "value": "error",
              "description": "Throw an error"
            }
          ],
          "displayOptions": {
            "show": {
              "/dataMode": [
                "autoMapInputData"
              ]
            }
          },
          "default": "insertInNewColumn",
          "description": "What do to with fields that don't match any columns in the Google Sheet"
        },
        {
          "displayName": "Handling extra fields in input",
          "name": "handlingExtraData",
          "type": "options",
          "options": [
            {
              "name": "Insert in New Column(s)",
              "value": "insertInNewColumn",
              "description": "Create a new column for extra data"
            },
            {
              "name": "Ignore Them",
              "value": "ignoreIt",
              "description": "Ignore extra data"
            },
            {
              "name": "Error",
              "value": "error",
              "description": "Throw an error"
            }
          ],
          "displayOptions": {
            "show": {
              "/columns.mappingMode": [
                "autoMapInputData"
              ]
            }
          },
          "default": "insertInNewColumn",
          "description": "What do to with fields that don't match any columns in the Google Sheet"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "sheet"
          ],
          "operation": [
            "update"
          ]
        },
        "hide": {
          "sheetName": [
            ""
          ]
        }
      }
    },
    {
      "displayName": "Data Mode",
      "name": "dataMode",
      "type": "options",
      "default": "defineBelow",
      "description": "Whether to insert the input data this node receives in the new row",
      "options": [
        {
          "name": "Auto-Map Input Data to Columns",
          "value": "autoMapInputData",
          "description": "Use when node input properties match destination column names"
        },
        {
          "name": "Map Each Column Below",
          "value": "defineBelow",
          "description": "Set the value for each destination column"
        },
        {
          "name": "Nothing",
          "value": "nothing",
          "description": "Do not send anything"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "sheet"
          ],
          "operation": [
            "appendOrUpdate"
          ],
          "@version": [
            3
          ]
        },
        "hide": {
          "sheetName": [
            ""
          ]
        }
      }
    },
    {
      "displayName": "Column to match on",
      "name": "columnToMatchOn",
      "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": [
            "sheet"
          ],
          "operation": [
            "appendOrUpdate"
          ],
          "@version": [
            3
          ]
        },
        "hide": {
          "sheetName": [
            ""
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "sheetName.value"
        ],
        "loadOptionsMethod": "getSheetHeaderRowAndSkipEmpty"
      }
    },
    {
      "displayName": "Value of Column to Match On",
      "name": "valueToMatchOn",
      "type": "string",
      "default": "",
      "displayOptions": {
        "show": {
          "resource": [
            "sheet"
          ],
          "operation": [
            "appendOrUpdate"
          ],
          "dataMode": [
            "defineBelow"
          ],
          "@version": [
            3
          ]
        },
        "hide": {
          "sheetName": [
            ""
          ]
        }
      }
    },
    {
      "displayName": "Values to Send",
      "name": "fieldsUi",
      "type": "fixedCollection",
      "default": {},
      "options": [
        {
          "displayName": "Field",
          "name": "values",
          "values": [
            {
              "displayName": "Column",
              "name": "column",
              "type": "options",
              "description": "Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
              "typeOptions": {
                "loadOptionsDependsOn": [
                  "sheetName.value",
                  "columnToMatchOn"
                ],
                "loadOptionsMethod": "getSheetHeaderRowAndAddColumn"
              },
              "default": ""
            },
            {
              "displayName": "Column Name",
              "name": "columnName",
              "type": "string",
              "default": "",
              "displayOptions": {
                "show": {
                  "column": [
                    "newColumn"
                  ]
                }
              }
            },
            {
              "displayName": "Value",
              "name": "fieldValue",
              "type": "string",
              "default": ""
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "sheet"
          ],
          "operation": [
            "appendOrUpdate"
          ],
          "dataMode": [
            "defineBelow"
          ],
          "@version": [
            3
          ]
        },
        "hide": {
          "sheetName": [
            ""
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true
      }
    },
    {
      "displayName": "Columns",
      "name": "columns",
      "type": "resourceMapper",
      "default": {
        "mappingMode": "defineBelow",
        "value": null
      },
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "sheet"
          ],
          "operation": [
            "appendOrUpdate"
          ],
          "@version": [
            {
              "_cnd": {
                "gte": 4.7
              }
            }
          ]
        },
        "hide": {
          "sheetName": [
            ""
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "sheetName.value"
        ],
        "resourceMapper": {
          "resourceMapperMethod": "getMappingColumns",
          "mode": "upsert",
          "fieldWords": {
            "singular": "column",
            "plural": "columns"
          },
          "addAllFields": true,
          "multiKeyMatch": false,
          "allowEmptyValues": true
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Columns",
      "name": "columns",
      "type": "resourceMapper",
      "default": {
        "mappingMode": "defineBelow",
        "value": null
      },
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "sheet"
          ],
          "operation": [
            "appendOrUpdate"
          ],
          "@version": [
            {
              "_cnd": {
                "between": {
                  "from": 4,
                  "to": 4.6
                }
              }
            }
          ]
        },
        "hide": {
          "sheetName": [
            ""
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "sheetName.value"
        ],
        "resourceMapper": {
          "resourceMapperMethod": "getMappingColumns",
          "mode": "upsert",
          "fieldWords": {
            "singular": "column",
            "plural": "columns"
          },
          "addAllFields": true,
          "multiKeyMatch": false
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Cell Format",
          "name": "cellFormat",
          "type": "options",
          "options": [
            {
              "name": "Let Google Sheets format",
              "value": "USER_ENTERED",
              "description": "Cells are styled as if you typed the values into Google Sheets directly"
            },
            {
              "name": "Let n8n format",
              "value": "RAW",
              "description": "Cells have the same types as the input data"
            }
          ],
          "default": "USER_ENTERED",
          "description": "Determines how data should be interpreted"
        },
        {
          "displayName": "Data Location on Sheet",
          "name": "locationDefine",
          "type": "fixedCollection",
          "placeholder": "Select Range",
          "default": {
            "values": {}
          },
          "options": [
            {
              "displayName": "Values",
              "name": "values",
              "values": [
                {
                  "displayName": "Header Row",
                  "name": "headerRow",
                  "type": "number",
                  "typeOptions": {
                    "minValue": 1
                  },
                  "default": 1,
                  "description": "Index is relative to the set 'Range', first row index is 1",
                  "hint": "Index of the row which contains the column names"
                },
                {
                  "displayName": "First Data Row",
                  "name": "firstDataRow",
                  "type": "number",
                  "typeOptions": {
                    "minValue": 1
                  },
                  "default": 2,
                  "description": "Index is relative to the set 'Range', first row index is 1",
                  "hint": "Index of first row which contains the actual data"
                }
              ]
            }
          ]
        },
        {
          "displayName": "Handling extra fields in input",
          "name": "handlingExtraData",
          "type": "options",
          "options": [
            {
              "name": "Insert in New Column(s)",
              "value": "insertInNewColumn",
              "description": "Create a new column for extra data"
            },
            {
              "name": "Ignore Them",
              "value": "ignoreIt",
              "description": "Ignore extra data"
            },
            {
              "name": "Error",
              "value": "error",
              "description": "Throw an error"
            }
          ],
          "displayOptions": {
            "show": {
              "/dataMode": [
                "autoMapInputData"
              ]
            }
          },
          "default": "insertInNewColumn",
          "description": "What do to with fields that don't match any columns in the Google Sheet"
        },
        {
          "displayName": "Handling extra fields in input",
          "name": "handlingExtraData",
          "type": "options",
          "options": [
            {
              "name": "Insert in New Column(s)",
              "value": "insertInNewColumn",
              "description": "Create a new column for extra data"
            },
            {
              "name": "Ignore Them",
              "value": "ignoreIt",
              "description": "Ignore extra data"
            },
            {
              "name": "Error",
              "value": "error",
              "description": "Throw an error"
            }
          ],
          "displayOptions": {
            "show": {
              "/columns.mappingMode": [
                "autoMapInputData"
              ]
            }
          },
          "default": "insertInNewColumn",
          "description": "What do to with fields that don't match any columns in the Google Sheet"
        },
        {
          "displayName": "Minimise API Calls",
          "name": "useAppend",
          "type": "boolean",
          "default": false,
          "hint": "Use if your sheet has no gaps between rows or columns",
          "description": "Whether to use append instead of update(default), this is more efficient but in some cases data might be misaligned"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "sheet"
          ],
          "operation": [
            "appendOrUpdate"
          ]
        },
        "hide": {
          "sheetName": [
            ""
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a spreadsheet",
          "action": "Create spreadsheet"
        },
        {
          "name": "Delete",
          "value": "deleteSpreadsheet",
          "description": "Delete a spreadsheet",
          "action": "Delete spreadsheet"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "spreadsheet"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Title",
      "name": "title",
      "type": "string",
      "default": "",
      "description": "The title of the spreadsheet",
      "displayOptions": {
        "show": {
          "resource": [
            "spreadsheet"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Sheets",
      "name": "sheetsUi",
      "type": "fixedCollection",
      "default": {},
      "options": [
        {
          "name": "sheetValues",
          "displayName": "Sheet",
          "values": [
            {
              "displayName": "Title",
              "name": "title",
              "type": "string",
              "default": "",
              "description": "Title of the property to create"
            },
            {
              "displayName": "Hidden",
              "name": "hidden",
              "type": "boolean",
              "default": false,
              "description": "Whether the Sheet should be hidden in the UI"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "spreadsheet"
          ],
          "operation": [
            "create"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Locale",
          "name": "locale",
          "type": "string",
          "default": "",
          "placeholder": "en_US",
          "description": "The locale of the spreadsheet in one of the following formats:\n\t\t\t\t<ul>\n\t\t\t\t\t<li>en (639-1)</li>\n\t\t\t\t\t<li>fil (639-2 if no 639-1 format exists)</li>\n\t\t\t\t\t<li>en_US (combination of ISO language an country)</li>\n\t\t\t\t<ul>"
        },
        {
          "displayName": "Recalculation Interval",
          "name": "autoRecalc",
          "type": "options",
          "options": [
            {
              "name": "Default",
              "value": "",
              "description": "Default value"
            },
            {
              "name": "On Change",
              "value": "ON_CHANGE",
              "description": "Volatile functions are updated on every change"
            },
            {
              "name": "Minute",
              "value": "MINUTE",
              "description": "Volatile functions are updated on every change and every minute"
            },
            {
              "name": "Hour",
              "value": "HOUR",
              "description": "Volatile functions are updated on every change and hourly"
            }
          ],
          "default": "",
          "description": "Cell recalculation interval options"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "spreadsheet"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Document",
      "name": "documentId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "spreadsheet"
          ],
          "operation": [
            "deleteSpreadsheet"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "spreadSheetsSearch",
            "searchable": true
          }
        },
        {
          "displayName": "By URL",
          "name": "url",
          "type": "string",
          "extractValue": {
            "type": "regex",
            "regex": "https:\\/\\/(?:drive|docs)\\.google\\.com(?:\\/.*|)\\/d\\/([0-9a-zA-Z\\-_]+)(?:\\/.*|)"
          },
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "https:\\/\\/(?:drive|docs)\\.google\\.com(?:\\/.*|)\\/d\\/([0-9a-zA-Z\\-_]+)(?:\\/.*|)",
                "errorMessage": "Not a valid Google Drive File URL"
              }
            }
          ]
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[a-zA-Z0-9\\-_]{2,}",
                "errorMessage": "Not a valid Google Drive File ID"
              }
            }
          ],
          "url": "=https://docs.google.com/spreadsheets/d/{{$value}}/edit"
        }
      ]
    }
  ]

operations:
  [
    {
      "operation": "appendOrUpdate",
      "name": "Append or Update Row",
      "description": "Append a new row or update an existing one (upsert)"
    },
    {
      "operation": "append",
      "name": "Append Row",
      "description": "Create a new row in a sheet"
    },
    {
      "operation": "clear",
      "name": "Clear",
      "description": "Delete all the contents or a part of a sheet"
    },
    {
      "operation": "create",
      "name": "Create",
      "description": "Create a new sheet"
    },
    {
      "operation": "remove",
      "name": "Delete",
      "description": "Permanently delete a sheet"
    },
    {
      "operation": "delete",
      "name": "Delete Rows or Columns",
      "description": "Delete columns or rows from a sheet"
    },
    {
      "operation": "read",
      "name": "Get Row(s)",
      "description": "Retrieve one or more rows from a sheet"
    },
    {
      "operation": "update",
      "name": "Update Row",
      "description": "Update an existing row in a sheet"
    }
  ]

credentials_required:
  [
    {
      "name": "googleApi",
      "required": true,
      "displayOptions": {
        "show": {
          "authentication": [
            "serviceAccount"
          ]
        }
      },
      "testedBy": "googleApiCredentialTest"
    },
    {
      "name": "googleSheetsOAuth2Api",
      "required": true,
      "displayOptions": {
        "show": {
          "authentication": [
            "oAuth2"
          ]
        }
      }
    }
  ]


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

updated_at: 2025-10-24 07:28:02
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Google Sheets Trigger node documentation
  description: Learn how to use the Google Sheets Trigger node in n8n. Follow technical documentation to integrate Google Sheets Trigger node into your workflows.
  contentType: [integration, reference]
  priority: high
  ---

  # Google Sheets Trigger node

  [Google Sheets](https://www.google.com/sheets){:target=_blank} is a web-based spreadsheet program that's part of Google's office software suite within its Google Drive service.

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

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

  ## Events

  * Row added
  * Row updated
  * Row added or updated

  ## Related resources

  Refer to [Google Sheet's API documentation](https://developers.google.com/sheets/api){:target=_blank .external-link} for more information about the service.

  n8n provides an app node for Google Sheets. You can find the node docs [here](/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets/index.md).

  View [example workflows and related content](https://n8n.io/integrations/google-sheets-trigger/){:target=_blank .external-link} on n8n's website.

  ## Common issues

  For common questions or issues and suggested solutions, refer to [Common issues](/integrations/builtin/trigger-nodes/n8n-nodes-base.googlesheetstrigger/common-issues.md).

properties_schema:
  [
    {
      "displayName": "Authentication",
      "name": "authentication",
      "type": "hidden",
      "default": "triggerOAuth2",
      "options": [
        {
          "name": "OAuth2 (recommended)",
          "value": "triggerOAuth2"
        }
      ]
    },
    {
      "displayName": "Document",
      "name": "documentId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "spreadSheetsSearch",
            "searchable": true
          }
        },
        {
          "displayName": "By URL",
          "name": "url",
          "type": "string",
          "extractValue": {
            "type": "regex",
            "regex": "https:\\/\\/(?:drive|docs)\\.google\\.com(?:\\/.*|)\\/d\\/([0-9a-zA-Z\\-_]+)(?:\\/.*|)"
          },
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "https:\\/\\/(?:drive|docs)\\.google\\.com(?:\\/.*|)\\/d\\/([0-9a-zA-Z\\-_]+)(?:\\/.*|)",
                "errorMessage": "Not a valid Google Drive File URL"
              }
            }
          ]
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[a-zA-Z0-9\\-_]{2,}",
                "errorMessage": "Not a valid Google Drive File ID"
              }
            }
          ],
          "url": "=https://docs.google.com/spreadsheets/d/{{$value}}/edit"
        }
      ]
    },
    {
      "displayName": "Sheet",
      "name": "sheetName",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "typeOptions": {
        "loadOptionsDependsOn": [
          "documentId.value"
        ]
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "sheetsSearch",
            "searchable": false
          }
        },
        {
          "displayName": "By URL",
          "name": "url",
          "type": "string",
          "extractValue": {
            "type": "regex",
            "regex": "https:\\/\\/docs\\.google\\.com\\/spreadsheets\\/d\\/[0-9a-zA-Z\\-_]+.*\\#gid=([0-9]+)"
          },
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "https:\\/\\/docs\\.google\\.com\\/spreadsheets\\/d\\/[0-9a-zA-Z\\-_]+.*\\#gid=([0-9]+)",
                "errorMessage": "Not a valid Sheet URL"
              }
            }
          ]
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "((gid=)?[0-9]{1,})",
                "errorMessage": "Not a valid Sheet ID"
              }
            }
          ]
        }
      ]
    },
    {
      "displayName": "Trigger On",
      "name": "event",
      "type": "options",
      "default": "anyUpdate",
      "description": "It will be triggered also by newly created columns (if the 'Columns to Watch' option is not set)",
      "options": [
        {
          "name": "Row Added",
          "value": "rowAdded"
        },
        {
          "name": "Row Updated",
          "value": "rowUpdate"
        },
        {
          "name": "Row Added or Updated",
          "value": "anyUpdate"
        }
      ],
      "required": true
    },
    {
      "displayName": "Include in Output",
      "name": "includeInOutput",
      "type": "options",
      "default": "new",
      "description": "This option will be effective only when automatically executing the workflow",
      "options": [
        {
          "name": "New Version",
          "value": "new"
        },
        {
          "name": "Old Version",
          "value": "old"
        },
        {
          "name": "Both Versions",
          "value": "both"
        }
      ],
      "displayOptions": {
        "hide": {
          "event": [
            "rowAdded"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Columns to Watch",
          "name": "columnsToWatch",
          "type": "multiOptions",
          "description": "Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
          "typeOptions": {
            "loadOptionsDependsOn": [
              "sheetName.value"
            ],
            "loadOptionsMethod": "getSheetHeaderRowAndSkipEmpty"
          },
          "default": [],
          "displayOptions": {
            "show": {
              "/event": [
                "anyUpdate",
                "rowUpdate"
              ]
            }
          }
        },
        {
          "displayName": "Data Location on Sheet",
          "name": "dataLocationOnSheet",
          "type": "fixedCollection",
          "placeholder": "Select Range",
          "default": {
            "values": {
              "rangeDefinition": "specifyRangeA1"
            }
          },
          "options": [
            {
              "displayName": "Values",
              "name": "values",
              "values": [
                {
                  "displayName": "Range Definition",
                  "name": "rangeDefinition",
                  "type": "options",
                  "options": [
                    {
                      "name": "Specify Range (A1 Notation)",
                      "value": "specifyRangeA1",
                      "description": "Manually specify the data range"
                    },
                    {
                      "name": "Specify Range (Rows)",
                      "value": "specifyRange",
                      "description": "Manually specify the data range"
                    }
                  ],
                  "default": ""
                },
                {
                  "displayName": "Header Row",
                  "name": "headerRow",
                  "type": "number",
                  "typeOptions": {
                    "minValue": 1
                  },
                  "default": 1,
                  "description": "Index of the row which contains the keys. Starts at 1. The incoming node data is matched to the keys for assignment. The matching is case sensitive.",
                  "hint": "First row is row 1",
                  "displayOptions": {
                    "show": {
                      "rangeDefinition": [
                        "specifyRange"
                      ]
                    }
                  }
                },
                {
                  "displayName": "First Data Row",
                  "name": "firstDataRow",
                  "type": "number",
                  "typeOptions": {
                    "minValue": 1
                  },
                  "default": 2,
                  "description": "Index of the first row which contains the actual data and not the keys. Starts with 1.",
                  "hint": "First row is row 1",
                  "displayOptions": {
                    "show": {
                      "rangeDefinition": [
                        "specifyRange"
                      ]
                    }
                  }
                },
                {
                  "displayName": "Range",
                  "name": "range",
                  "type": "string",
                  "default": "",
                  "placeholder": "A:Z",
                  "description": "The table range to read from or to append data to. See the Google <a href=\"https://developers.google.com/sheets/api/guides/values#writing\">documentation</a> for the details.",
                  "hint": "You can specify both the rows and the columns, e.g. C4:E7",
                  "displayOptions": {
                    "show": {
                      "rangeDefinition": [
                        "specifyRangeA1"
                      ]
                    }
                  }
                }
              ]
            }
          ]
        },
        {
          "displayName": "Value Render",
          "name": "valueRender",
          "type": "options",
          "options": [
            {
              "name": "Unformatted",
              "value": "UNFORMATTED_VALUE",
              "description": "Values will be calculated, but not formatted in the reply"
            },
            {
              "name": "Formatted",
              "value": "FORMATTED_VALUE",
              "description": "Values will be formatted and calculated according to the cell's formatting (based on the spreadsheet's locale)"
            },
            {
              "name": "Formula",
              "value": "FORMULA",
              "description": "Values will not be calculated. The reply will include the formulas."
            }
          ],
          "default": "UNFORMATTED_VALUE",
          "description": "Determines how values will be rendered in the output. <a href=\"https://developers.google.com/sheets/api/reference/rest/v4/ValueRenderOption\" target=\"_blank\">More info</a>.",
          "displayOptions": {
            "hide": {
              "/event": [
                "anyUpdate",
                "rowUpdate"
              ]
            }
          }
        },
        {
          "displayName": "DateTime Render",
          "name": "dateTimeRenderOption",
          "type": "options",
          "options": [
            {
              "name": "Serial Number",
              "value": "SERIAL_NUMBER",
              "description": "Fields will be returned as doubles in \"serial number\" format (as popularized by Lotus 1-2-3)"
            },
            {
              "name": "Formatted String",
              "value": "FORMATTED_STRING",
              "description": "Fields will be rendered as strings in their given number format (which depends on the spreadsheet locale)"
            }
          ],
          "default": "SERIAL_NUMBER",
          "description": "Determines how dates should be rendered in the output.  <a href=\"https://developers.google.com/sheets/api/reference/rest/v4/DateTimeRenderOption\" target=\"_blank\">More info</a>.",
          "displayOptions": {
            "hide": {
              "/event": [
                "anyUpdate",
                "rowUpdate"
              ]
            }
          }
        }
      ]
    }
  ]

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


node_type: nodes-base.googleSlides
package_name: n8n-nodes-base
display_name: Google Slides
description: Consume the Google Slides API
category: input
development_style: programmatic
version: 2
outputs:
  [
  "main"
  ]

updated_at: 2025-10-24 07:28:02
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Google Slides node documentation
  description: Learn how to use the Google Slides node in n8n. Follow technical documentation to integrate Google Slides node into your workflows.
  contentType: [integration, reference]
  ---

  # Google Slides node

  Use the Google Slides node to automate work in Google Slides, and integrate Google Slides with other applications. n8n has built-in support for a wide range of Google Slides features, including creating presentations, and getting pages. 

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

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

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

  ## Operations

  * Page
      * Get a page
      * Get a thumbnail
  * Presentation
      * Create a presentation
      * Get a presentation
      * Get presentation slides
      * Replace text in a presentation

  ## Templates and examples

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

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

properties_schema:
  [
    {
      "displayName": "Authentication",
      "name": "authentication",
      "type": "options",
      "default": "serviceAccount",
      "options": [
        {
          "name": "OAuth2",
          "value": "oAuth2"
        },
        {
          "name": "Service Account",
          "value": "serviceAccount"
        }
      ],
      "displayOptions": {
        "show": {
          "@version": [
            1
          ]
        }
      }
    },
    {
      "displayName": "Authentication",
      "name": "authentication",
      "type": "options",
      "default": "oAuth2",
      "options": [
        {
          "name": "OAuth2 (recommended)",
          "value": "oAuth2"
        },
        {
          "name": "Service Account",
          "value": "serviceAccount"
        }
      ],
      "displayOptions": {
        "show": {
          "@version": [
            2
          ]
        }
      }
    },
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "presentation",
      "options": [
        {
          "name": "Page",
          "value": "page"
        },
        {
          "name": "Presentation",
          "value": "presentation"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a presentation",
          "action": "Create a presentation"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get a presentation",
          "action": "Get a presentation"
        },
        {
          "name": "Get Slides",
          "value": "getSlides",
          "description": "Get presentation slides",
          "action": "Get slides from a presentation"
        },
        {
          "name": "Replace Text",
          "value": "replaceText",
          "description": "Replace text in a presentation",
          "action": "Replace text in a presentation"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "presentation"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "description": "Get a page",
          "action": "Get a page"
        },
        {
          "name": "Get Thumbnail",
          "value": "getThumbnail",
          "description": "Get a thumbnail",
          "action": "Get the thumbnail for a page"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "page"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Title",
      "name": "title",
      "type": "string",
      "default": "",
      "description": "Title of the presentation to create",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "presentation"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Presentation ID",
      "name": "presentationId",
      "type": "string",
      "default": "",
      "description": "ID of the presentation to retrieve. Found in the presentation URL: <code>https://docs.google.com/presentation/d/PRESENTATION_ID/edit</code>",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "presentation",
            "page"
          ],
          "operation": [
            "get",
            "getThumbnail",
            "getSlides",
            "replaceText"
          ]
        }
      }
    },
    {
      "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": [
            "getSlides"
          ],
          "resource": [
            "presentation"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "operation": [
            "getSlides"
          ],
          "resource": [
            "presentation"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 500
      }
    },
    {
      "displayName": "Page Object ID",
      "name": "pageObjectId",
      "type": "string",
      "default": "",
      "description": "ID of the page object to retrieve",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "page"
          ],
          "operation": [
            "get",
            "getThumbnail"
          ]
        }
      }
    },
    {
      "displayName": "Texts To Replace",
      "name": "textUi",
      "type": "fixedCollection",
      "default": {},
      "options": [
        {
          "name": "textValues",
          "displayName": "Text",
          "values": [
            {
              "displayName": "Match Case",
              "name": "matchCase",
              "type": "boolean",
              "default": false,
              "description": "Whether the search should respect case. True : the search is case sensitive. False : the search is case insensitive."
            },
            {
              "displayName": "Slide Names or IDs",
              "name": "pageObjectIds",
              "type": "multiOptions",
              "default": [],
              "typeOptions": {
                "loadOptionsMethod": "getPages",
                "loadOptionsDependsOn": [
                  "presentationId"
                ]
              },
              "description": "If non-empty, limits the matches to slide elements only on the given slides. Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
            },
            {
              "displayName": "Search For",
              "name": "text",
              "type": "string",
              "default": "",
              "description": "The text to search for in the slide"
            },
            {
              "displayName": "Replace With",
              "name": "replaceText",
              "type": "string",
              "default": "",
              "description": "The text that will replace the matched text"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "presentation"
          ],
          "operation": [
            "replaceText"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Revision ID",
          "name": "revisionId",
          "type": "string",
          "default": "",
          "description": "The revision ID of the presentation required for the write request. If specified and the requiredRevisionId doesn't exactly match the presentation's current revisionId, the request will not be processed and will return a 400 bad request error."
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "replaceText"
          ],
          "resource": [
            "presentation"
          ]
        }
      }
    },
    {
      "displayName": "Download",
      "name": "download",
      "type": "boolean",
      "default": false,
      "description": "Name of the binary property to which to write the data of the read page",
      "displayOptions": {
        "show": {
          "resource": [
            "page"
          ],
          "operation": [
            "getThumbnail"
          ]
        }
      }
    },
    {
      "displayName": "Put Output File in Field",
      "name": "binaryProperty",
      "type": "string",
      "default": "data",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "page"
          ],
          "operation": [
            "getThumbnail"
          ],
          "download": [
            true
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "create",
      "name": "Create",
      "description": "Create a presentation"
    },
    {
      "operation": "get",
      "name": "Get",
      "description": "Get a presentation"
    },
    {
      "operation": "getSlides",
      "name": "Get Slides",
      "description": "Get presentation slides"
    },
    {
      "operation": "replaceText",
      "name": "Replace Text",
      "description": "Replace text in a presentation"
    }
  ]

credentials_required:
  [
    {
      "name": "googleApi",
      "required": true,
      "displayOptions": {
        "show": {
          "authentication": [
            "serviceAccount"
          ]
        }
      }
    },
    {
      "name": "googleSlidesOAuth2Api",
      "required": true,
      "displayOptions": {
        "show": {
          "authentication": [
            "oAuth2"
          ]
        }
      }
    }
  ]


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

outputs:
  [
  "main"
  ]

updated_at: 2025-10-24 07:28:02
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Google Tasks node documentation
  description: Learn how to use the Google Tasks node in n8n. Follow technical documentation to integrate Google Tasks node into your workflows.
  contentType: [integration, reference]
  ---

  # Google Tasks node

  Use the Google Tasks node to automate work in Google Tasks, and integrate Google Tasks with other applications. n8n has built-in support for a wide range of Google Tasks features, including adding, updating, and retrieving contacts. 

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

  /// note | Credentials
  Refer to [Google Tasks credentials](/integrations/builtin/credentials/google/index.md) for guidance on setting up authentication. 
  ///

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

  ## Operations

  * Task
      * Add a task to task list
      * Delete a task
      * Retrieve a task
      * Retrieve all tasks from a task list
      * Update a task

  ## Templates and examples

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

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

properties_schema:
  [
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "task",
      "options": [
        {
          "name": "Task",
          "value": "task"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Add a task to tasklist",
          "action": "Create a task"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a task",
          "action": "Delete a task"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Retrieve a task",
          "action": "Get a task"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Retrieve many tasks from a tasklist",
          "action": "Get many tasks"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update a task",
          "action": "Update a task"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "task"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "TaskList Name or ID",
      "name": "task",
      "type": "options",
      "default": "",
      "description": "Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "task"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getTasks"
      }
    },
    {
      "displayName": "Title",
      "name": "title",
      "type": "string",
      "default": "",
      "description": "Title of the task",
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "task"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Completion Date",
          "name": "completed",
          "type": "dateTime",
          "default": "",
          "description": "Completion date of the task (as a RFC 3339 timestamp). This field is omitted if the task has not been completed."
        },
        {
          "displayName": "Deleted",
          "name": "deleted",
          "type": "boolean",
          "default": false,
          "description": "Whether the task has been deleted"
        },
        {
          "displayName": "Due Date",
          "name": "dueDate",
          "type": "dateTime",
          "default": "",
          "description": "Due date of the task"
        },
        {
          "displayName": "Notes",
          "name": "notes",
          "type": "string",
          "default": "",
          "description": "Additional Notes"
        },
        {
          "displayName": "Parent",
          "name": "parent",
          "type": "string",
          "default": "",
          "description": "Parent task identifier. If the task is created at the top level, this parameter is omitted."
        },
        {
          "displayName": "Previous",
          "name": "previous",
          "type": "string",
          "default": "",
          "description": "Previous sibling task identifier. If the task is created at the first position among its siblings, this parameter is omitted."
        },
        {
          "displayName": "Status",
          "name": "status",
          "type": "options",
          "options": [
            {
              "name": "Needs Action",
              "value": "needsAction"
            },
            {
              "name": "Completed",
              "value": "completed"
            }
          ],
          "default": "",
          "description": "Current status of the task"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "task"
          ]
        }
      }
    },
    {
      "displayName": "TaskList Name or ID",
      "name": "task",
      "type": "options",
      "default": "",
      "description": "Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "delete"
          ],
          "resource": [
            "task"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getTasks"
      }
    },
    {
      "displayName": "Task ID",
      "name": "taskId",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "delete"
          ],
          "resource": [
            "task"
          ]
        }
      }
    },
    {
      "displayName": "TaskList Name or ID",
      "name": "task",
      "type": "options",
      "default": "",
      "description": "Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "get"
          ],
          "resource": [
            "task"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getTasks"
      }
    },
    {
      "displayName": "Task ID",
      "name": "taskId",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "get"
          ],
          "resource": [
            "task"
          ]
        }
      }
    },
    {
      "displayName": "TaskList Name or ID",
      "name": "task",
      "type": "options",
      "default": "",
      "description": "Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "task"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getTasks"
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "task"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 20,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "task"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Completed Max",
          "name": "completedMax",
          "type": "dateTime",
          "default": "",
          "description": "Upper bound for a task completion date (as a RFC 3339 timestamp) to filter by"
        },
        {
          "displayName": "Completed Min",
          "name": "completedMin",
          "type": "dateTime",
          "default": "",
          "description": "Lower bound for a task completion date (as a RFC 3339 timestamp) to filter by"
        },
        {
          "displayName": "Due Min",
          "name": "dueMin",
          "type": "dateTime",
          "default": "",
          "description": "Lower bound for a task due date (as a RFC 3339 timestamp) to filter by"
        },
        {
          "displayName": "Due Max",
          "name": "dueMax",
          "type": "dateTime",
          "default": "",
          "description": "Upper bound for a task due date (as a RFC 3339 timestamp) to filter by"
        },
        {
          "displayName": "Show Completed",
          "name": "showCompleted",
          "type": "boolean",
          "default": true,
          "description": "Whether completed tasks are returned in the result. <strong>Show Hidden</strong> must also be True to show tasks completed in first party clients such as the web UI or Google's mobile apps."
        },
        {
          "displayName": "Show Deleted",
          "name": "showDeleted",
          "type": "boolean",
          "default": false,
          "description": "Whether deleted tasks are returned in the result"
        },
        {
          "displayName": "Show Hidden",
          "name": "showHidden",
          "type": "boolean",
          "default": false,
          "description": "Whether hidden tasks are returned in the result"
        },
        {
          "displayName": "Updated Min",
          "name": "updatedMin",
          "type": "dateTime",
          "default": "",
          "description": "Lower bound for a task last modification time (as a RFC 3339 timestamp) to filter by"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "task"
          ]
        }
      }
    },
    {
      "displayName": "TaskList Name or ID",
      "name": "task",
      "type": "options",
      "default": "",
      "description": "Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "update"
          ],
          "resource": [
            "task"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getTasks"
      }
    },
    {
      "displayName": "Task ID",
      "name": "taskId",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "update"
          ],
          "resource": [
            "task"
          ]
        }
      }
    },
    {
      "displayName": "Update Fields",
      "name": "updateFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Completion Date",
          "name": "completed",
          "type": "dateTime",
          "default": "",
          "description": "Completion date of the task (as a RFC 3339 timestamp). This field is omitted if the task has not been completed."
        },
        {
          "displayName": "Deleted",
          "name": "deleted",
          "type": "boolean",
          "default": false,
          "description": "Whether the task has been deleted"
        },
        {
          "displayName": "Due Date",
          "name": "dueDate",
          "type": "dateTime",
          "default": "",
          "description": "Due date of the task"
        },
        {
          "displayName": "Notes",
          "name": "notes",
          "type": "string",
          "default": "",
          "description": "Additional Notes"
        },
        {
          "displayName": "Previous",
          "name": "previous",
          "type": "string",
          "default": "",
          "description": "Previous sibling task identifier. If the task is created at the first position among its siblings, this parameter is omitted."
        },
        {
          "displayName": "Status",
          "name": "status",
          "type": "options",
          "options": [
            {
              "name": "Needs Update",
              "value": "needsAction"
            },
            {
              "name": "Completed",
              "value": "completed"
            }
          ],
          "default": "",
          "description": "Current status of the task"
        },
        {
          "displayName": "Title",
          "name": "title",
          "type": "string",
          "default": "",
          "description": "Title of the task"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "update"
          ],
          "resource": [
            "task"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "create",
      "name": "Create",
      "description": "Add a task to tasklist"
    },
    {
      "operation": "delete",
      "name": "Delete",
      "description": "Delete a task"
    },
    {
      "operation": "get",
      "name": "Get",
      "description": "Retrieve a task"
    },
    {
      "operation": "getAll",
      "name": "Get Many",
      "description": "Retrieve many tasks from a tasklist"
    },
    {
      "operation": "update",
      "name": "Update",
      "description": "Update a task"
    }
  ]


node_type: nodes-base.googleTranslate
package_name: n8n-nodes-base
display_name: Google Translate
description: Translate data using Google Translate
category: input
development_style: programmatic
version: 2
outputs:
  [
  "main"
  ]

updated_at: 2025-10-24 07:28:02
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Google Translate node documentation
  description: Learn how to use the Google Translate node in n8n. Follow technical documentation to integrate Google Translate node into your workflows.
  contentType: [integration, reference]
  ---

  # Google Translate node

  Use the Google Translate node to automate work in Google Translate, and integrate Google Translate with other applications. n8n has built-in support for a wide range of Google Translate features, including translating languages.

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

  /// note | Credentials
  Refer to [Google Translate credentials](/integrations/builtin/credentials/google/index.md) for guidance on setting up authentication. 
  ///

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

  ## Operations

  * Language
      * Translate data

  ## Templates and examples

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

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

properties_schema:
  [
    {
      "displayName": "Authentication",
      "name": "authentication",
      "type": "options",
      "default": "serviceAccount",
      "options": [
        {
          "name": "Service Account",
          "value": "serviceAccount"
        },
        {
          "name": "OAuth2",
          "value": "oAuth2"
        }
      ],
      "displayOptions": {
        "show": {
          "@version": [
            1
          ]
        }
      }
    },
    {
      "displayName": "Authentication",
      "name": "authentication",
      "type": "options",
      "default": "oAuth2",
      "options": [
        {
          "name": "OAuth2 (recommended)",
          "value": "oAuth2"
        },
        {
          "name": "Service Account",
          "value": "serviceAccount"
        }
      ],
      "displayOptions": {
        "show": {
          "@version": [
            2
          ]
        }
      }
    },
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "language",
      "options": [
        {
          "name": "Language",
          "value": "language"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "translate",
      "options": [
        {
          "name": "Translate",
          "value": "translate",
          "description": "Translate data",
          "action": "Translate a language"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "language"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Text",
      "name": "text",
      "type": "string",
      "default": "",
      "description": "The input text to translate",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "translate"
          ]
        }
      }
    },
    {
      "displayName": "Translate To",
      "name": "translateTo",
      "type": "options",
      "default": "",
      "description": "The language to use for translation of the input text, set to one of the language codes listed in <a href=\"https://cloud.google.com/translate/docs/languages\">Language Support</a>. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "translate"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getLanguages"
      }
    }
  ]

operations:
  [
    {
      "operation": "translate",
      "name": "Translate",
      "description": "Translate data"
    }
  ]

credentials_required:
  [
    {
      "name": "googleApi",
      "required": true,
      "displayOptions": {
        "show": {
          "authentication": [
            "serviceAccount"
          ]
        }
      }
    },
    {
      "name": "googleTranslateOAuth2Api",
      "required": true,
      "displayOptions": {
        "show": {
          "authentication": [
            "oAuth2"
          ]
        }
      }
    }
  ]


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

outputs:
  [
  "main"
  ]

updated_at: 2025-10-24 07:28:02
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: YouTube node documentation
  description: Learn how to use the YouTube node in n8n. Follow technical documentation to integrate YouTube node into your workflows.
  contentType: [integration, reference]
  priority: medium
  ---

  # YouTube node

  Use the YouTube node to automate work in YouTube, and integrate YouTube with other applications. n8n has built-in support for a wide range of YouTube features, including retrieving and updating channels, as well as creating and deleting playlists. 

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

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

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

  ## Operations

  * Channel
      * Retrieve a channel
      * Retrieve all channels
      * Update a channel
      * Upload a channel banner
  * Playlist
      * Create a playlist
      * Delete a playlist
      * Get a playlist
      * Retrieve all playlists
      * Update a playlist
  * Playlist Item
      * Add an item to a playlist
      * Delete a item from a playlist
      * Get a playlist's item
      * Retrieve all playlist items
  * Video
      * Delete a video
      * Get a video
      * Retrieve all videos
      * Rate a video
      * Update a video
      * Upload a video
  * Video Category
      * Retrieve all video categories

  ## Templates and examples

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

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

properties_schema:
  [
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "channel",
      "options": [
        {
          "name": "Channel",
          "value": "channel"
        },
        {
          "name": "Playlist",
          "value": "playlist"
        },
        {
          "name": "Playlist Item",
          "value": "playlistItem"
        },
        {
          "name": "Video",
          "value": "video"
        },
        {
          "name": "Video Category",
          "value": "videoCategory"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "description": "Retrieve a channel",
          "action": "Get a channel"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Retrieve many channels",
          "action": "Get many channels"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update a channel",
          "action": "Update a channel"
        },
        {
          "name": "Upload Banner",
          "value": "uploadBanner",
          "description": "Upload a channel banner",
          "action": "Upload a channel banner"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "channel"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Fields",
      "name": "part",
      "type": "multiOptions",
      "default": [
        "*"
      ],
      "description": "The fields parameter specifies a comma-separated list of one or more channel resource properties that the API response will include",
      "options": [
        {
          "name": "*",
          "value": "*"
        },
        {
          "name": "Branding Settings",
          "value": "brandingSettings"
        },
        {
          "name": "Content Details",
          "value": "contentDetails"
        },
        {
          "name": "Content Owner Details",
          "value": "contentOwnerDetails"
        },
        {
          "name": "ID",
          "value": "id"
        },
        {
          "name": "Localizations",
          "value": "localizations"
        },
        {
          "name": "Snippet",
          "value": "snippet"
        },
        {
          "name": "Statistics",
          "value": "statistics"
        },
        {
          "name": "Status",
          "value": "status"
        },
        {
          "name": "Topic Details",
          "value": "topicDetails"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "channel"
          ]
        }
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "channel"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 25,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "channel"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 50
      }
    },
    {
      "displayName": "Filters",
      "name": "filters",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Category ID",
          "name": "categoryId",
          "type": "string",
          "default": "",
          "description": "The categoryId parameter specifies a YouTube guide category, thereby requesting YouTube channels associated with that category"
        },
        {
          "displayName": "For Username",
          "name": "forUsername",
          "type": "string",
          "default": "",
          "description": "The forUsername parameter specifies a YouTube username, thereby requesting the channel associated with that username"
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "default": "",
          "description": "The ID parameter specifies a comma-separated list of the YouTube channel ID(s) for the resource(s) that are being retrieved. In a channel resource, the ID property specifies the channel's YouTube channel ID."
        },
        {
          "displayName": "Managed By Me",
          "name": "managedByMe",
          "type": "boolean",
          "default": false,
          "description": "Whether to instruct the API to only return channels managed by the content owner that the onBehalfOfContentOwner parameter specifies"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "channel"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Language Code",
          "name": "h1",
          "type": "options",
          "typeOptions": {
            "loadOptionsMethod": "getLanguages"
          },
          "default": "",
          "description": "The hl parameter instructs the API to retrieve localized resource metadata for a specific application language that the YouTube website supports. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        },
        {
          "displayName": "On Behalf Of Content Owner",
          "name": "onBehalfOfContentOwner",
          "type": "string",
          "default": "",
          "description": "The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "channel"
          ]
        }
      }
    },
    {
      "displayName": "Channel ID",
      "name": "channelId",
      "type": "string",
      "default": "",
      "description": "ID of the channel",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "get"
          ],
          "resource": [
            "channel"
          ]
        }
      }
    },
    {
      "displayName": "Fields",
      "name": "part",
      "type": "multiOptions",
      "default": [
        "*"
      ],
      "description": "The fields parameter specifies a comma-separated list of one or more channel resource properties that the API response will include",
      "options": [
        {
          "name": "*",
          "value": "*"
        },
        {
          "name": "Branding Settings",
          "value": "brandingSettings"
        },
        {
          "name": "Content Details",
          "value": "contentDetails"
        },
        {
          "name": "Content Owner Details",
          "value": "contentOwnerDetails"
        },
        {
          "name": "ID",
          "value": "id"
        },
        {
          "name": "Localizations",
          "value": "localizations"
        },
        {
          "name": "Snippet",
          "value": "snippet"
        },
        {
          "name": "Statistics",
          "value": "statistics"
        },
        {
          "name": "Status",
          "value": "status"
        },
        {
          "name": "Topic Details",
          "value": "topicDetails"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "get"
          ],
          "resource": [
            "channel"
          ]
        }
      }
    },
    {
      "displayName": "Channel ID",
      "name": "channelId",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "update"
          ],
          "resource": [
            "channel"
          ]
        }
      }
    },
    {
      "displayName": "Update Fields",
      "name": "updateFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Branding Settings",
          "name": "brandingSettingsUi",
          "type": "fixedCollection",
          "default": {},
          "description": "Encapsulates information about the branding of the channel",
          "placeholder": "Add Branding Settings",
          "typeOptions": {
            "multipleValues": false
          },
          "options": [
            {
              "name": "channelSettingsValues",
              "displayName": "Channel Settings",
              "values": [
                {
                  "displayName": "Channel",
                  "name": "channel",
                  "type": "collection",
                  "default": {},
                  "placeholder": "Add Channel Settings",
                  "typeOptions": {
                    "multipleValues": false
                  },
                  "options": [
                    {
                      "displayName": "Country",
                      "name": "country",
                      "type": "string",
                      "default": "",
                      "description": "The country with which the channel is associated. Update this property to set the value of the snippet.country property."
                    },
                    {
                      "displayName": "Description",
                      "name": "description",
                      "type": "string",
                      "default": "",
                      "description": "The channel description, which appears in the channel information box on your channel page. The property's value has a maximum length of 1000 characters."
                    },
                    {
                      "displayName": "Default Language",
                      "name": "defaultLanguage",
                      "type": "string",
                      "default": "",
                      "description": "The content tab that users should display by default when viewers arrive at your channel page"
                    },
                    {
                      "displayName": "Default Tab",
                      "name": "defaultTab",
                      "type": "string",
                      "default": "The content tab that users should display by default when viewers arrive at your channel page."
                    },
                    {
                      "displayName": "Featured Channels Title",
                      "name": "featuredChannelsTitle",
                      "type": "string",
                      "default": "",
                      "description": "The title that displays above the featured channels module. The title has a maximum length of 30 characters."
                    },
                    {
                      "displayName": "Featured Channels Urls",
                      "name": "featuredChannelsUrls",
                      "type": "string",
                      "typeOptions": {
                        "multipleValues": true
                      },
                      "description": "A list of up to 100 channels that you would like to link to from the featured channels module. The property value is a list of YouTube channel ID values, each of which uniquely identifies a channel.",
                      "default": []
                    },
                    {
                      "displayName": "Keywords",
                      "name": "keywords",
                      "type": "string",
                      "placeholder": "tech,news",
                      "description": "Keywords associated with your channel. The value is a space-separated list of strings.",
                      "default": ""
                    },
                    {
                      "displayName": "Moderate Comments",
                      "name": "moderateComments",
                      "type": "boolean",
                      "description": "Whether user-submitted comments left on the channel page need to be approved by the channel owner to be publicly visible",
                      "default": false
                    },
                    {
                      "displayName": "Profile Color",
                      "name": "profileColor",
                      "type": "string",
                      "default": "",
                      "description": "A prominent color that complements the channel's content"
                    },
                    {
                      "displayName": "Show Related Channels",
                      "name": "showRelatedChannels",
                      "type": "boolean",
                      "description": "Whether YouTube should show an algorithmically generated list of related channels on your channel page",
                      "default": false
                    },
                    {
                      "displayName": "Show Browse View",
                      "name": "showBrowseView",
                      "type": "boolean",
                      "description": "Whether the channel page should display content in a browse or feed view",
                      "default": false
                    },
                    {
                      "displayName": "Tracking Analytics AccountId",
                      "name": "trackingAnalyticsAccountId",
                      "type": "string",
                      "description": "The ID for a Google Analytics account that you want to use to track and measure traffic to your channel",
                      "default": ""
                    },
                    {
                      "displayName": "Unsubscribed Trailer",
                      "name": "unsubscribedTrailer",
                      "type": "string",
                      "description": "The video that should play in the featured video module in the channel page's browse view for unsubscribed viewers",
                      "default": ""
                    }
                  ]
                }
              ],
              "description": "The channel object encapsulates branding properties of the channel page"
            },
            {
              "name": "imageSettingsValues",
              "displayName": "Image Settings",
              "values": [
                {
                  "displayName": "Image",
                  "name": "image",
                  "type": "collection",
                  "default": {},
                  "placeholder": "Add Channel Settings",
                  "description": "The image object encapsulates information about images that display on the channel's channel page or video watch pages",
                  "typeOptions": {
                    "multipleValues": false
                  },
                  "options": [
                    {
                      "displayName": "Banner External Url",
                      "name": "bannerExternalUrl",
                      "type": "string",
                      "default": ""
                    },
                    {
                      "displayName": "Tracking Image Url",
                      "name": "trackingImageUrl",
                      "type": "string",
                      "default": ""
                    },
                    {
                      "displayName": "Watch Icon Image Url",
                      "name": "watchIconImageUrl",
                      "type": "string",
                      "default": ""
                    }
                  ]
                }
              ]
            },
            {
              "name": "statusValue",
              "displayName": "Status",
              "values": [
                {
                  "displayName": "Status",
                  "name": "status",
                  "type": "collection",
                  "default": {},
                  "placeholder": "Add Status",
                  "typeOptions": {
                    "multipleValues": false
                  },
                  "options": [
                    {
                      "displayName": "Self Declared Made For Kids",
                      "name": "selfDeclaredMadeForKids",
                      "type": "boolean",
                      "default": false
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "displayName": "On Behalf Of Content Owner",
          "name": "onBehalfOfContentOwner",
          "type": "string",
          "default": ""
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "update"
          ],
          "resource": [
            "channel"
          ]
        }
      }
    },
    {
      "displayName": "Channel ID",
      "name": "channelId",
      "type": "string",
      "default": "",
      "description": "ID of the channel",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "uploadBanner"
          ],
          "resource": [
            "channel"
          ]
        }
      }
    },
    {
      "displayName": "Input Binary Field",
      "name": "binaryProperty",
      "type": "string",
      "default": "data",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "uploadBanner"
          ],
          "resource": [
            "channel"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a playlist",
          "action": "Create a playlist"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a playlist",
          "action": "Delete a playlist"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get a playlist",
          "action": "Get a playlist"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Retrieve many playlists",
          "action": "Get many playlists"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update a playlist",
          "action": "Update a playlist"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "playlist"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Title",
      "name": "title",
      "type": "string",
      "default": "",
      "description": "The playlist's title",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "playlist"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Description",
          "name": "description",
          "type": "string",
          "default": "",
          "description": "The playlist's description"
        },
        {
          "displayName": "Privacy Status",
          "name": "privacyStatus",
          "type": "options",
          "options": [
            {
              "name": "Private",
              "value": "private"
            },
            {
              "name": "Public",
              "value": "public"
            },
            {
              "name": "Unlisted",
              "value": "unlisted"
            }
          ],
          "default": "",
          "description": "The playlist's privacy status"
        },
        {
          "displayName": "Tags",
          "name": "tags",
          "type": "string",
          "default": "",
          "description": "Keyword tags associated with the playlist. Mulplie can be defined separated by comma."
        },
        {
          "displayName": "Default Language Name or ID",
          "name": "defaultLanguage",
          "type": "options",
          "typeOptions": {
            "loadOptionsMethod": "getLanguages"
          },
          "default": "",
          "description": "The language of the text in the playlist resource's title and description properties. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        },
        {
          "displayName": "On Behalf Of Content Owner Channel",
          "name": "onBehalfOfContentOwnerChannel",
          "type": "string",
          "default": "",
          "description": "The onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter."
        },
        {
          "displayName": "On Behalf Of Content Owner",
          "name": "onBehalfOfContentOwner",
          "type": "string",
          "default": "",
          "description": "The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "playlist"
          ]
        }
      }
    },
    {
      "displayName": "Playlist ID",
      "name": "playlistId",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "get"
          ],
          "resource": [
            "playlist"
          ]
        }
      }
    },
    {
      "displayName": "Fields",
      "name": "part",
      "type": "multiOptions",
      "default": [
        "*"
      ],
      "description": "The fields parameter specifies a comma-separated list of one or more playlist resource properties that the API response will include",
      "options": [
        {
          "name": "*",
          "value": "*"
        },
        {
          "name": "Content Details",
          "value": "contentDetails"
        },
        {
          "name": "ID",
          "value": "id"
        },
        {
          "name": "Localizations",
          "value": "localizations"
        },
        {
          "name": "Player",
          "value": "player"
        },
        {
          "name": "Snippet",
          "value": "snippet"
        },
        {
          "name": "Status",
          "value": "status"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "get"
          ],
          "resource": [
            "playlist"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "On Behalf Of Content Owner",
          "name": "onBehalfOfContentOwner",
          "type": "string",
          "default": "",
          "description": "The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value"
        },
        {
          "displayName": "On Behalf Of Content Owner Channel",
          "name": "onBehalfOfContentOwnerChannel",
          "type": "string",
          "default": "",
          "description": "The onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID of the channel to which a video is being added"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "get"
          ],
          "resource": [
            "playlist"
          ]
        }
      }
    },
    {
      "displayName": "Playlist ID",
      "name": "playlistId",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "delete"
          ],
          "resource": [
            "playlist"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "On Behalf Of Content Owner",
          "name": "onBehalfOfContentOwner",
          "type": "string",
          "default": "",
          "description": "The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "delete"
          ],
          "resource": [
            "playlist"
          ]
        }
      }
    },
    {
      "displayName": "Fields",
      "name": "part",
      "type": "multiOptions",
      "default": [
        "*"
      ],
      "description": "The fields parameter specifies a comma-separated list of one or more playlist resource properties that the API response will include",
      "options": [
        {
          "name": "*",
          "value": "*"
        },
        {
          "name": "Content Details",
          "value": "contentDetails"
        },
        {
          "name": "ID",
          "value": "id"
        },
        {
          "name": "Localizations",
          "value": "localizations"
        },
        {
          "name": "Player",
          "value": "player"
        },
        {
          "name": "Snippet",
          "value": "snippet"
        },
        {
          "name": "Status",
          "value": "status"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "playlist"
          ]
        }
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "playlist"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 25,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "playlist"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 50
      }
    },
    {
      "displayName": "Filters",
      "name": "filters",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Channel ID",
          "name": "channelId",
          "type": "string",
          "default": "",
          "description": "This value indicates that the API should only return the specified channel's playlists"
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "default": "",
          "description": "The ID parameter specifies a comma-separated list of the YouTube playlist ID(s) for the resource(s) that are being retrieved. In a playlist resource, the ID property specifies the playlist's YouTube playlist ID."
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "playlist"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "On Behalf Of Content Owner Channel",
          "name": "onBehalfOfContentOwnerChannel",
          "type": "string",
          "default": "",
          "description": "The onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter."
        },
        {
          "displayName": "On Behalf Of Content Owner",
          "name": "onBehalfOfContentOwner",
          "type": "string",
          "default": "",
          "description": "The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "playlist"
          ]
        }
      }
    },
    {
      "displayName": "Playlist ID",
      "name": "playlistId",
      "type": "string",
      "default": "",
      "description": "The playlist's title",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "update"
          ],
          "resource": [
            "playlist"
          ]
        }
      }
    },
    {
      "displayName": "Title",
      "name": "title",
      "type": "string",
      "default": "",
      "description": "The playlist's title",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "update"
          ],
          "resource": [
            "playlist"
          ]
        }
      }
    },
    {
      "displayName": "Update Fields",
      "name": "updateFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Default Language Name or ID",
          "name": "defaultLanguage",
          "type": "options",
          "typeOptions": {
            "loadOptionsMethod": "getLanguages"
          },
          "default": "",
          "description": "The language of the text in the playlist resource's title and description properties. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        },
        {
          "displayName": "Description",
          "name": "description",
          "type": "string",
          "default": "",
          "description": "The playlist's description"
        },
        {
          "displayName": "On Behalf Of Content Owner",
          "name": "onBehalfOfContentOwner",
          "type": "string",
          "default": "",
          "description": "The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value"
        },
        {
          "displayName": "Privacy Status",
          "name": "privacyStatus",
          "type": "options",
          "options": [
            {
              "name": "Private",
              "value": "private"
            },
            {
              "name": "Public",
              "value": "public"
            },
            {
              "name": "Unlisted",
              "value": "unlisted"
            }
          ],
          "default": "",
          "description": "The playlist's privacy status"
        },
        {
          "displayName": "Tags",
          "name": "tags",
          "type": "string",
          "default": "",
          "description": "Keyword tags associated with the playlist. Mulplie can be defined separated by comma."
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "update"
          ],
          "resource": [
            "playlist"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "add",
      "options": [
        {
          "name": "Add",
          "value": "add",
          "description": "Add an item to a playlist",
          "action": "Add a playlist item"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a item from a playlist",
          "action": "Delete a playlist item"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get a playlist's item",
          "action": "Get a playlist item"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Retrieve many playlist items",
          "action": "Get many playlist items"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "playlistItem"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Playlist Name or ID",
      "name": "playlistId",
      "type": "options",
      "default": "",
      "description": "Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "add"
          ],
          "resource": [
            "playlistItem"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getPlaylists"
      }
    },
    {
      "displayName": "Video ID",
      "name": "videoId",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "add"
          ],
          "resource": [
            "playlistItem"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "End At",
          "name": "endAt",
          "type": "dateTime",
          "default": "",
          "description": "The time, measured in seconds from the start of the video, when the video should stop playing"
        },
        {
          "displayName": "Note",
          "name": "note",
          "type": "string",
          "default": "",
          "description": "A user-generated note for this item. The property value has a maximum length of 280 characters."
        },
        {
          "displayName": "On Behalf Of Content Owner",
          "name": "onBehalfOfContentOwner",
          "type": "string",
          "default": "",
          "description": "The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value"
        },
        {
          "displayName": "Position",
          "name": "position",
          "type": "number",
          "typeOptions": {
            "minValue": 0
          },
          "default": "",
          "description": "The order in which the item appears in the playlist. The value uses a zero-based index, so the first item has a position of 0, the second item has a position of 1, and so forth."
        },
        {
          "displayName": "Start At",
          "name": "startAt",
          "type": "dateTime",
          "default": "",
          "description": "The time, measured in seconds from the start of the video, when the video should start playing"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "add"
          ],
          "resource": [
            "playlistItem"
          ]
        }
      }
    },
    {
      "displayName": "Playlist Item ID",
      "name": "playlistItemId",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "get"
          ],
          "resource": [
            "playlistItem"
          ]
        }
      }
    },
    {
      "displayName": "Fields",
      "name": "part",
      "type": "multiOptions",
      "default": [
        "*"
      ],
      "description": "The fields parameter specifies a comma-separated list of one or more playlistItem resource properties that the API response will include",
      "options": [
        {
          "name": "*",
          "value": "*"
        },
        {
          "name": "Content Details",
          "value": "contentDetails"
        },
        {
          "name": "ID",
          "value": "id"
        },
        {
          "name": "Snippet",
          "value": "snippet"
        },
        {
          "name": "Status",
          "value": "status"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "get"
          ],
          "resource": [
            "playlistItem"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "On Behalf Of Content Owner",
          "name": "onBehalfOfContentOwner",
          "type": "string",
          "default": "",
          "description": "The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "get"
          ],
          "resource": [
            "playlistItem"
          ]
        }
      }
    },
    {
      "displayName": "Playlist Item ID",
      "name": "playlistItemId",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "delete"
          ],
          "resource": [
            "playlistItem"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "On Behalf Of Content Owner",
          "name": "onBehalfOfContentOwner",
          "type": "string",
          "default": "",
          "description": "The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "delete"
          ],
          "resource": [
            "playlistItem"
          ]
        }
      }
    },
    {
      "displayName": "Playlist Name or ID",
      "name": "playlistId",
      "type": "options",
      "default": "",
      "description": "Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "playlistItem"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getPlaylists"
      }
    },
    {
      "displayName": "Fields",
      "name": "part",
      "type": "multiOptions",
      "default": [
        "*"
      ],
      "description": "The fields parameter specifies a comma-separated list of one or more playlistItem resource properties that the API response will include",
      "options": [
        {
          "name": "*",
          "value": "*"
        },
        {
          "name": "Content Details",
          "value": "contentDetails"
        },
        {
          "name": "ID",
          "value": "id"
        },
        {
          "name": "Snippet",
          "value": "snippet"
        },
        {
          "name": "Status",
          "value": "status"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "playlistItem"
          ]
        }
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "playlistItem"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 25,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "playlistItem"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 50
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "On Behalf Of Content Owner",
          "name": "onBehalfOfContentOwner",
          "type": "string",
          "default": "",
          "description": "The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "playlistItem"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a video",
          "action": "Delete a video"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get a video",
          "action": "Get a video"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Retrieve many videos",
          "action": "Get many videos"
        },
        {
          "name": "Rate",
          "value": "rate",
          "description": "Rate a video",
          "action": "Rate a video"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update a video",
          "action": "Update a video"
        },
        {
          "name": "Upload",
          "value": "upload",
          "description": "Upload a video",
          "action": "Upload a video"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Title",
      "name": "title",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "upload"
          ],
          "resource": [
            "video"
          ]
        }
      }
    },
    {
      "displayName": "Region Code",
      "name": "regionCode",
      "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": {
          "operation": [
            "upload"
          ],
          "resource": [
            "video"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getCountriesCodes"
      }
    },
    {
      "displayName": "Category Name or ID",
      "name": "categoryId",
      "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": {
          "operation": [
            "upload"
          ],
          "resource": [
            "video"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getVideoCategories",
        "loadOptionsDependsOn": [
          "regionCode"
        ]
      }
    },
    {
      "displayName": "Input Binary Field",
      "name": "binaryProperty",
      "type": "string",
      "default": "data",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "upload"
          ],
          "resource": [
            "video"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Default Language Name or ID",
          "name": "defaultLanguage",
          "type": "options",
          "typeOptions": {
            "loadOptionsMethod": "getLanguages"
          },
          "default": "",
          "description": "The language of the text in the playlist resource's title and description properties. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        },
        {
          "displayName": "Description",
          "name": "description",
          "type": "string",
          "default": "",
          "description": "The playlist's description"
        },
        {
          "displayName": "Embeddable",
          "name": "embeddable",
          "type": "boolean",
          "default": false,
          "description": "Whether the video can be embedded on another website"
        },
        {
          "displayName": "License",
          "name": "license",
          "type": "options",
          "options": [
            {
              "name": "Creative Common",
              "value": "creativeCommon"
            },
            {
              "name": "Youtube",
              "value": "youtube"
            }
          ],
          "default": "",
          "description": "The video's license"
        },
        {
          "displayName": "Notify Subscribers",
          "name": "notifySubscribers",
          "type": "boolean",
          "default": false,
          "description": "Whether YouTube should send a notification about the new video to users who subscribe to the video's channel"
        },
        {
          "displayName": "Privacy Status",
          "name": "privacyStatus",
          "type": "options",
          "options": [
            {
              "name": "Private",
              "value": "private"
            },
            {
              "name": "Public",
              "value": "public"
            },
            {
              "name": "Unlisted",
              "value": "unlisted"
            }
          ],
          "default": "",
          "description": "The playlist's privacy status"
        },
        {
          "displayName": "Public Stats Viewable",
          "name": "publicStatsViewable",
          "type": "boolean",
          "default": true,
          "description": "Whether the extended video statistics on the video's watch page are publicly viewable"
        },
        {
          "displayName": "Publish At",
          "name": "publishAt",
          "type": "dateTime",
          "default": "",
          "description": "If you set a value for this property, you must also set the status.privacyStatus property to private"
        },
        {
          "displayName": "Recording Date",
          "name": "recordingDate",
          "type": "dateTime",
          "default": "",
          "description": "The date and time when the video was recorded"
        },
        {
          "displayName": "Self Declared Made For Kids",
          "name": "selfDeclaredMadeForKids",
          "type": "boolean",
          "default": false,
          "description": "Whether the video is designated as child-directed, and it contains the current \"made for kids\" status of the video"
        },
        {
          "displayName": "Tags",
          "name": "tags",
          "type": "string",
          "default": "",
          "description": "Keyword tags associated with the playlist. Mulplie can be defined separated by comma."
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "upload"
          ],
          "resource": [
            "video"
          ]
        }
      }
    },
    {
      "displayName": "Video ID",
      "name": "videoId",
      "type": "string",
      "default": "",
      "description": "ID of the video",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "delete"
          ],
          "resource": [
            "video"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "On Behalf Of Content Owner",
          "name": "onBehalfOfContentOwner",
          "type": "string",
          "default": "",
          "description": "The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "delete"
          ],
          "resource": [
            "video"
          ]
        }
      }
    },
    {
      "displayName": "Video ID",
      "name": "videoId",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "get"
          ],
          "resource": [
            "video"
          ]
        }
      }
    },
    {
      "displayName": "Fields",
      "name": "part",
      "type": "multiOptions",
      "default": [
        "*"
      ],
      "description": "The fields parameter specifies a comma-separated list of one or more video resource properties that the API response will include",
      "options": [
        {
          "name": "*",
          "value": "*"
        },
        {
          "name": "Content Details",
          "value": "contentDetails"
        },
        {
          "name": "ID",
          "value": "id"
        },
        {
          "name": "Live Streaming Details",
          "value": "liveStreamingDetails"
        },
        {
          "name": "Localizations",
          "value": "localizations"
        },
        {
          "name": "Player",
          "value": "player"
        },
        {
          "name": "Recording Details",
          "value": "recordingDetails"
        },
        {
          "name": "Snippet",
          "value": "snippet"
        },
        {
          "name": "Statistics",
          "value": "statistics"
        },
        {
          "name": "Status",
          "value": "status"
        },
        {
          "name": "Topic Details",
          "value": "topicDetails"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "get"
          ],
          "resource": [
            "video"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "On Behalf Of Content Owner",
          "name": "onBehalfOfContentOwner",
          "type": "string",
          "default": "",
          "description": "The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "get"
          ],
          "resource": [
            "video"
          ]
        }
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "video"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 25,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "video"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 50
      }
    },
    {
      "displayName": "Filters",
      "name": "filters",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Channel ID",
          "name": "channelId",
          "type": "string",
          "default": "",
          "description": "The channelId parameter indicates that the API response should only contain resources created by the channel"
        },
        {
          "displayName": "For Developer",
          "name": "forDeveloper",
          "type": "boolean",
          "default": false,
          "description": "Whether to restrict the search to only retrieve videos uploaded via the developer's application or website"
        },
        {
          "displayName": "Published After",
          "name": "publishedAfter",
          "type": "dateTime",
          "default": "",
          "description": "The publishedAfter parameter indicates that the API response should only contain resources created at or after the specified time"
        },
        {
          "displayName": "Published Before",
          "name": "publishedBefore",
          "type": "dateTime",
          "default": "",
          "description": "The publishedBefore parameter indicates that the API response should only contain resources created before or at the specified time"
        },
        {
          "displayName": "Query",
          "name": "q",
          "type": "string",
          "default": "",
          "description": "The q parameter specifies the query term to search for"
        },
        {
          "displayName": "Region Code",
          "name": "regionCode",
          "type": "options",
          "typeOptions": {
            "loadOptionsMethod": "getCountriesCodes"
          },
          "default": "",
          "description": "The regionCode parameter instructs the API to select a video chart available in the specified region. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        },
        {
          "displayName": "Related To Video ID",
          "name": "relatedToVideoId",
          "type": "string",
          "default": "",
          "description": "The relatedToVideoId parameter retrieves a list of videos that are related to the video that the parameter value identifies"
        },
        {
          "displayName": "Video Category ID",
          "name": "videoCategoryId",
          "type": "string",
          "default": "",
          "description": "The videoCategoryId parameter identifies the video category for which the chart should be retrieved"
        },
        {
          "displayName": "Video Syndicated",
          "name": "videoSyndicated",
          "type": "boolean",
          "default": false,
          "description": "Whether to restrict a search to only videos that can be played outside youtube.com"
        },
        {
          "displayName": "Video Type",
          "name": "videoType",
          "type": "options",
          "options": [
            {
              "name": "Any",
              "value": "any"
            },
            {
              "name": "Episode",
              "value": "episode"
            },
            {
              "name": "Movie",
              "value": "movie"
            }
          ],
          "default": "",
          "description": "The videoType parameter lets you restrict a search to a particular type of videos"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "video"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Order",
          "name": "order",
          "type": "options",
          "options": [
            {
              "name": "Date",
              "value": "date"
            },
            {
              "name": "Relevance",
              "value": "relevance"
            }
          ],
          "default": "relevance"
        },
        {
          "displayName": "Safe Search",
          "name": "safeSearch",
          "type": "options",
          "options": [
            {
              "name": "Moderate",
              "value": "moderate",
              "description": "YouTube will filter some content from search results and, at the least, will filter content that is restricted in your locale"
            },
            {
              "name": "None",
              "value": "none",
              "description": "YouTube will not filter the search result set"
            },
            {
              "name": "Strict",
              "value": "strict",
              "description": "YouTube will try to exclude all restricted content from the search result set"
            }
          ],
          "default": ""
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "video"
          ]
        }
      }
    },
    {
      "displayName": "Video ID",
      "name": "videoId",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "rate"
          ],
          "resource": [
            "video"
          ]
        }
      }
    },
    {
      "displayName": "Rating",
      "name": "rating",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "Dislike",
          "value": "dislike",
          "description": "Records that the authenticated user disliked the video"
        },
        {
          "name": "Like",
          "value": "like",
          "description": "Records that the authenticated user liked the video"
        },
        {
          "name": "None",
          "value": "none",
          "description": "Removes any rating that the authenticated user had previously set for the video"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "rate"
          ],
          "resource": [
            "video"
          ]
        }
      }
    },
    {
      "displayName": "Video ID",
      "name": "videoId",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "update"
          ],
          "resource": [
            "video"
          ]
        }
      }
    },
    {
      "displayName": "Title",
      "name": "title",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "update"
          ],
          "resource": [
            "video"
          ]
        }
      }
    },
    {
      "displayName": "Region Code",
      "name": "regionCode",
      "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": {
          "operation": [
            "update"
          ],
          "resource": [
            "video"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getCountriesCodes"
      }
    },
    {
      "displayName": "Category Name or ID",
      "name": "categoryId",
      "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": {
          "operation": [
            "update"
          ],
          "resource": [
            "video"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getVideoCategories",
        "loadOptionsDependsOn": [
          "regionCode"
        ]
      }
    },
    {
      "displayName": "Update Fields",
      "name": "updateFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Default Language Name or ID",
          "name": "defaultLanguage",
          "type": "options",
          "typeOptions": {
            "loadOptionsMethod": "getLanguages"
          },
          "default": "",
          "description": "The language of the text in the playlist resource's title and description properties. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        },
        {
          "displayName": "Description",
          "name": "description",
          "type": "string",
          "default": "",
          "description": "The playlist's description"
        },
        {
          "displayName": "Embeddable",
          "name": "embeddable",
          "type": "boolean",
          "default": false,
          "description": "Whether the video can be embedded on another website"
        },
        {
          "displayName": "License",
          "name": "license",
          "type": "options",
          "options": [
            {
              "name": "Creative Common",
              "value": "creativeCommon"
            },
            {
              "name": "Youtube",
              "value": "youtube"
            }
          ],
          "default": "",
          "description": "The video's license"
        },
        {
          "displayName": "Notify Subscribers",
          "name": "notifySubscribers",
          "type": "boolean",
          "default": false,
          "description": "Whether YouTube should send a notification about the new video to users who subscribe to the video's channel"
        },
        {
          "displayName": "Privacy Status",
          "name": "privacyStatus",
          "type": "options",
          "options": [
            {
              "name": "Private",
              "value": "private"
            },
            {
              "name": "Public",
              "value": "public"
            },
            {
              "name": "Unlisted",
              "value": "unlistef"
            }
          ],
          "default": "",
          "description": "The playlist's privacy status"
        },
        {
          "displayName": "Public Stats Viewable",
          "name": "publicStatsViewable",
          "type": "boolean",
          "default": true,
          "description": "Whether the extended video statistics on the video's watch page are publicly viewable"
        },
        {
          "displayName": "Publish At",
          "name": "publishAt",
          "type": "dateTime",
          "default": "",
          "description": "If you set a value for this property, you must also set the status.privacyStatus property to private"
        },
        {
          "displayName": "Recording Date",
          "name": "recordingDate",
          "type": "dateTime",
          "default": "",
          "description": "The date and time when the video was recorded"
        },
        {
          "displayName": "Self Declared Made For Kids",
          "name": "selfDeclaredMadeForKids",
          "type": "boolean",
          "default": false,
          "description": "Whether the video is designated as child-directed, and it contains the current \"made for kids\" status of the video"
        },
        {
          "displayName": "Tags",
          "name": "tags",
          "type": "string",
          "default": "",
          "description": "Keyword tags associated with the playlist. Mulplie can be defined separated by comma."
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "update"
          ],
          "resource": [
            "video"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Retrieve many video categories",
          "action": "Get many video categories"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "videoCategory"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Region Code",
      "name": "regionCode",
      "type": "options",
      "default": "",
      "description": "Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "videoCategory"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getCountriesCodes"
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "videoCategory"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 25,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "videoCategory"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 50
      }
    }
  ]

operations:
  [
    {
      "operation": "get",
      "name": "Get",
      "description": "Retrieve a channel"
    },
    {
      "operation": "getAll",
      "name": "Get Many",
      "description": "Retrieve many channels"
    },
    {
      "operation": "update",
      "name": "Update",
      "description": "Update a channel"
    },
    {
      "operation": "uploadBanner",
      "name": "Upload Banner",
      "description": "Upload a channel banner"
    }
  ]


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

outputs:
  [
  "main"
  ]

updated_at: 2025-10-24 07:28:02
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Gotify node documentation
  description: Learn how to use the Gotify node in n8n. Follow technical documentation to integrate Gotify node into your workflows.
  contentType: [integration, reference]
  ---

  # Gotify node

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

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

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

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

  ## Operations

  * Message
      * Create
      * Delete
      * Get All

  ## Templates and examples

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

properties_schema:
  [
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "message",
      "options": [
        {
          "name": "Message",
          "value": "message"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a message"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a message"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many messages"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Message",
      "name": "message",
      "type": "string",
      "default": "",
      "description": "The message to send, If using Markdown add the Content Type option",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Priority",
          "name": "priority",
          "type": "number",
          "default": 1,
          "description": "The priority of the message"
        },
        {
          "displayName": "Title",
          "name": "title",
          "type": "string",
          "default": "",
          "description": "The title of the message"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Content Type",
          "name": "contentType",
          "type": "options",
          "default": "text/plain",
          "description": "The message content type",
          "options": [
            {
              "name": "Plain",
              "value": "text/plain"
            },
            {
              "name": "Markdown",
              "value": "text/markdown"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Message ID",
      "name": "messageId",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "delete"
          ]
        }
      }
    },
    {
      "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": [
            "message"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 20,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "getAll"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1
      }
    }
  ]

operations:
  [
    {
      "operation": "create",
      "name": "Create"
    },
    {
      "operation": "delete",
      "name": "Delete"
    },
    {
      "operation": "getAll",
      "name": "Get Many"
    }
  ]


node_type: nodes-base.goToWebinar
package_name: n8n-nodes-base
display_name: GoToWebinar
description: Consume the GoToWebinar API
category: transform
development_style: programmatic
version: 1
credentials_required:
  [
  {
  "name": "goToWebinarOAuth2Api",
  "required": true
  }
  ]

outputs:
  [
  "main"
  ]

updated_at: 2025-10-24 07:28:02
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: GoToWebinar node documentation
  description: Learn how to use the GoToWebinar node in n8n. Follow technical documentation to integrate GoToWebinar node into your workflows.
  contentType: [integration, reference]
  ---

  # GoToWebinar node

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

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

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

  ## Operations

  * Attendee
      * Get
      * Get All
      * Get Details
  * Co-Organizer
      * Create
      * Delete
      * Get All
      * Re-invite
  * Panelist
      * Create
      * Delete
      * Get All
      * Re-invite
  * Registrant
      * Create
      * Delete
      * Get
      * Get All
  * Session
      * Get
      * Get All
      * Get Details
  * Webinar
      * Create
      * Get
      * Get All
      * Update

  ## Templates and examples

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

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

properties_schema:
  [
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "attendee",
      "options": [
        {
          "name": "Attendee",
          "value": "attendee"
        },
        {
          "name": "Co-Organizer",
          "value": "coorganizer"
        },
        {
          "name": "Panelist",
          "value": "panelist"
        },
        {
          "name": "Registrant",
          "value": "registrant"
        },
        {
          "name": "Session",
          "value": "session"
        },
        {
          "name": "Webinar",
          "value": "webinar"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get an attendee"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many attendees"
        },
        {
          "name": "Get Details",
          "value": "getDetails",
          "action": "Get details of an attendee"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "attendee"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Webinar Key Name or ID",
      "name": "webinarKey",
      "type": "options",
      "default": "",
      "description": "Key of the webinar that the attendee attended. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "attendee"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getWebinars"
      }
    },
    {
      "displayName": "Session Key Name or ID",
      "name": "sessionKey",
      "type": "options",
      "default": "",
      "description": "Key of the session that the attendee attended. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "attendee"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getWebinarSessions",
        "loadOptionsDependsOn": [
          "webinarKey"
        ]
      }
    },
    {
      "displayName": "Registrant Key",
      "name": "registrantKey",
      "type": "string",
      "default": "",
      "description": "Registrant key of the attendee at the webinar session",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "attendee"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Registrant Key",
      "name": "registrantKey",
      "type": "string",
      "default": "",
      "description": "Registrant key of the attendee at the webinar session",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "attendee"
          ],
          "operation": [
            "getDetails"
          ]
        }
      }
    },
    {
      "displayName": "Details",
      "name": "details",
      "type": "options",
      "default": "",
      "description": "The details to retrieve for the attendee",
      "options": [
        {
          "name": "Polls",
          "value": "polls",
          "description": "Poll answers from the attendee in a webinar session"
        },
        {
          "name": "Questions",
          "value": "questions",
          "description": "Questions asked by the attendee in a webinar session"
        },
        {
          "name": "Survey Answers",
          "value": "surveyAnswers",
          "description": "Survey answers from the attendee in a webinar session"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "attendee"
          ],
          "operation": [
            "getDetails"
          ]
        }
      }
    },
    {
      "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": [
            "attendee"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 10,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "attendee"
          ],
          "operation": [
            "getAll"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a coorganizer"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a coorganizer"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many coorganizers"
        },
        {
          "name": "Reinvite",
          "value": "reinvite",
          "action": "Reinvite a coorganizer"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "coorganizer"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Webinar Key Name or ID",
      "name": "webinarKey",
      "type": "options",
      "default": [],
      "description": "Key of the webinar that the co-organizer is hosting. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "coorganizer"
          ],
          "operation": [
            "create"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getWebinars"
      }
    },
    {
      "displayName": "Is External",
      "name": "isExternal",
      "type": "boolean",
      "default": false,
      "description": "Whether the co-organizer has no GoToWebinar account",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "coorganizer"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Organizer Key",
      "name": "organizerKey",
      "type": "string",
      "default": "",
      "description": "The co-organizer's organizer key for the webinar",
      "displayOptions": {
        "show": {
          "resource": [
            "coorganizer"
          ],
          "operation": [
            "create"
          ],
          "isExternal": [
            false
          ]
        }
      }
    },
    {
      "displayName": "Given Name",
      "name": "givenName",
      "type": "string",
      "default": "",
      "description": "The co-organizer's given name",
      "displayOptions": {
        "show": {
          "resource": [
            "coorganizer"
          ],
          "operation": [
            "create"
          ],
          "isExternal": [
            true
          ]
        }
      }
    },
    {
      "displayName": "Email",
      "name": "email",
      "type": "string",
      "default": "",
      "description": "The co-organizer's email address",
      "displayOptions": {
        "show": {
          "resource": [
            "coorganizer"
          ],
          "operation": [
            "create"
          ],
          "isExternal": [
            true
          ]
        }
      }
    },
    {
      "displayName": "Webinar Key Name or ID",
      "name": "webinarKey",
      "type": "options",
      "default": [],
      "description": "Key of the webinar to delete. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "coorganizer"
          ],
          "operation": [
            "delete"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getWebinars"
      }
    },
    {
      "displayName": "Co-Organizer Key",
      "name": "coorganizerKey",
      "type": "string",
      "default": "",
      "description": "Key of the co-organizer to delete",
      "displayOptions": {
        "show": {
          "resource": [
            "coorganizer"
          ],
          "operation": [
            "delete"
          ]
        }
      }
    },
    {
      "displayName": "Is External",
      "name": "isExternal",
      "type": "boolean",
      "default": false,
      "description": "By default only internal co-organizers (with a GoToWebinar account) can be deleted. If you want to use this call for external co-organizers you have to set this parameter to 'true'.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "coorganizer"
          ],
          "operation": [
            "delete"
          ]
        }
      }
    },
    {
      "displayName": "Webinar Key Name or ID",
      "name": "webinarKey",
      "type": "options",
      "default": [],
      "description": "Key of the webinar to retrieve all co-organizers from. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "coorganizer"
          ],
          "operation": [
            "getAll"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getWebinars"
      }
    },
    {
      "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": [
            "coorganizer"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 10,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "coorganizer"
          ],
          "operation": [
            "getAll"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Webinar Key",
      "name": "webinarKey",
      "type": "string",
      "default": "",
      "description": "By default only internal co-organizers (with a GoToWebinar account) can be deleted. If you want to use this call for external co-organizers you have to set this parameter to 'true'.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "coorganizer"
          ],
          "operation": [
            "reinvite"
          ]
        }
      }
    },
    {
      "displayName": "Co-Organizer Key",
      "name": "coorganizerKey",
      "type": "string",
      "default": "",
      "description": "Key of the co-organizer to reinvite",
      "displayOptions": {
        "show": {
          "resource": [
            "coorganizer"
          ],
          "operation": [
            "reinvite"
          ]
        }
      }
    },
    {
      "displayName": "Is External",
      "name": "isExternal",
      "type": "boolean",
      "default": false,
      "description": "Whether the co-organizer has no GoToWebinar account",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "coorganizer"
          ],
          "operation": [
            "reinvite"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a panelist"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a panelist"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many panelists"
        },
        {
          "name": "Reinvite",
          "value": "reinvite",
          "action": "Reinvite a panelist"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "panelist"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Name",
      "name": "name",
      "type": "string",
      "default": "",
      "description": "Name of the panelist to create",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "panelist"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Email",
      "name": "email",
      "type": "string",
      "default": "",
      "description": "Email address of the panelist to create",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "panelist"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Webinar Key Name or ID",
      "name": "webinarKey",
      "type": "options",
      "default": [],
      "description": "Key of the webinar that the panelist will present at. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "panelist"
          ],
          "operation": [
            "create"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getWebinars"
      }
    },
    {
      "displayName": "Webinar Key Name or ID",
      "name": "webinarKey",
      "type": "options",
      "default": [],
      "description": "Key of the webinar to retrieve all panelists from. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "panelist"
          ],
          "operation": [
            "getAll"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getWebinars"
      }
    },
    {
      "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": [
            "panelist"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 10,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "panelist"
          ],
          "operation": [
            "getAll"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Webinar Key Name or ID",
      "name": "webinarKey",
      "type": "options",
      "default": [],
      "description": "Key of the webinar to delete the panelist from. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "panelist"
          ],
          "operation": [
            "delete"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getWebinars"
      }
    },
    {
      "displayName": "Panelist Key",
      "name": "panelistKey",
      "type": "string",
      "default": "",
      "description": "Key of the panelist to delete",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "panelist"
          ],
          "operation": [
            "delete"
          ]
        }
      }
    },
    {
      "displayName": "Webinar Key Name or ID",
      "name": "webinarKey",
      "type": "options",
      "default": [],
      "description": "Key of the webinar to reinvite the panelist to. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "panelist"
          ],
          "operation": [
            "reinvite"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getWebinars"
      }
    },
    {
      "displayName": "Panelist Key",
      "name": "panelistKey",
      "type": "string",
      "default": "",
      "description": "Key of the panelist to reinvite",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "panelist"
          ],
          "operation": [
            "reinvite"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a registrant"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a registrant"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a registrant"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many registrants"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "registrant"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Webinar Key Name or ID",
      "name": "webinarKey",
      "type": "options",
      "default": [],
      "description": "Key of the webinar of the registrant to create. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "registrant"
          ],
          "operation": [
            "create"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getWebinars"
      }
    },
    {
      "displayName": "First Name",
      "name": "firstName",
      "type": "string",
      "default": "",
      "description": "First name of the registrant to create",
      "displayOptions": {
        "show": {
          "resource": [
            "registrant"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Last Name",
      "name": "lastName",
      "type": "string",
      "default": "",
      "description": "Last name of the registrant to create",
      "displayOptions": {
        "show": {
          "resource": [
            "registrant"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Email",
      "name": "email",
      "type": "string",
      "default": "",
      "description": "Email address of the registrant to create",
      "displayOptions": {
        "show": {
          "resource": [
            "registrant"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Full Address",
          "name": "fullAddress",
          "placeholder": "Add Address Fields",
          "type": "fixedCollection",
          "description": "Full address of the registrant to create",
          "default": {},
          "options": [
            {
              "displayName": "Details",
              "name": "details",
              "values": [
                {
                  "displayName": "Address",
                  "name": "address",
                  "type": "string",
                  "default": ""
                },
                {
                  "displayName": "City",
                  "name": "city",
                  "type": "string",
                  "default": ""
                },
                {
                  "displayName": "State",
                  "name": "state",
                  "type": "string",
                  "default": ""
                },
                {
                  "displayName": "Zip Code",
                  "name": "zipCode",
                  "type": "string",
                  "default": ""
                },
                {
                  "displayName": "Country",
                  "name": "country",
                  "type": "string",
                  "default": ""
                }
              ]
            }
          ]
        },
        {
          "displayName": "Industry",
          "name": "industry",
          "type": "string",
          "default": "",
          "description": "The type of industry the registrant's organization belongs to"
        },
        {
          "displayName": "Job Title",
          "name": "jobTitle",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "MultiChoice Responses",
          "name": "multiChoiceResponses",
          "placeholder": "Add MultiChoice Response",
          "type": "fixedCollection",
          "typeOptions": {
            "multipleValues": true
          },
          "description": "Set the answers to all questions",
          "default": {},
          "options": [
            {
              "displayName": "Details",
              "name": "details",
              "values": [
                {
                  "displayName": "Question Key Name or ID",
                  "name": "questionKey",
                  "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": "getRegistranMultiChoiceQuestions",
                    "loadOptionsDependsOn": [
                      "webinarKey"
                    ]
                  },
                  "default": ""
                },
                {
                  "displayName": "Answer Key",
                  "name": "AnswerKey",
                  "type": "string",
                  "default": "",
                  "description": "Answer ID of the question"
                }
              ]
            }
          ]
        },
        {
          "displayName": "Number of Employees",
          "name": "numberOfEmployees",
          "type": "string",
          "default": "",
          "description": "The size in employees of the registrant's organization"
        },
        {
          "displayName": "Organization",
          "name": "organization",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Telephone",
          "name": "phone",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Purchasing Role",
          "name": "purchasingRole",
          "type": "string",
          "default": "",
          "description": "Registrant's role in purchasing the product"
        },
        {
          "displayName": "Purchasing Time Frame",
          "name": "purchasingTimeFrame",
          "type": "string",
          "default": "",
          "description": "Time frame within which the product will be purchased"
        },
        {
          "displayName": "Questions and Comments",
          "name": "questionsAndComments",
          "type": "string",
          "default": "",
          "description": "Questions or comments made by the registrant during registration"
        },
        {
          "displayName": "Resend Confirmation",
          "name": "resendConfirmation",
          "type": "boolean",
          "default": false
        },
        {
          "displayName": "Simple Responses",
          "name": "simpleResponses",
          "placeholder": "Add Simple Response",
          "type": "fixedCollection",
          "typeOptions": {
            "multipleValues": true
          },
          "description": "Set the answers to all questions",
          "default": {},
          "options": [
            {
              "displayName": "Details",
              "name": "details",
              "values": [
                {
                  "displayName": "Question Key Name or ID",
                  "name": "questionKey",
                  "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": "getRegistranSimpleQuestions",
                    "loadOptionsDependsOn": [
                      "webinarKey"
                    ]
                  },
                  "default": ""
                },
                {
                  "displayName": "Response Text",
                  "name": "responseText",
                  "type": "string",
                  "default": "",
                  "description": "Text of the response to the question"
                }
              ]
            }
          ]
        },
        {
          "displayName": "Source",
          "name": "source",
          "type": "string",
          "default": "",
          "description": "The source that led to the registration"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "registrant"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Webinar Key Name or ID",
      "name": "webinarKey",
      "type": "options",
      "default": [],
      "description": "The key of the webinar to retrieve registrants from. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "registrant"
          ],
          "operation": [
            "getAll"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getWebinars"
      }
    },
    {
      "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": [
            "registrant"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 10,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "registrant"
          ],
          "operation": [
            "getAll"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Webinar Key Name or ID",
      "name": "webinarKey",
      "type": "options",
      "default": [],
      "description": "Key of the webinar of the registrant to delete. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "registrant"
          ],
          "operation": [
            "delete"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getWebinars"
      }
    },
    {
      "displayName": "Registrant Key",
      "name": "registrantKey",
      "type": "string",
      "default": "",
      "description": "Key of the registrant to delete",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "registrant"
          ],
          "operation": [
            "delete"
          ]
        }
      }
    },
    {
      "displayName": "Webinar Key Name or ID",
      "name": "webinarKey",
      "type": "options",
      "default": [],
      "description": "Key of the webinar of the registrant to retrieve. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "registrant"
          ],
          "operation": [
            "get"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getWebinars"
      }
    },
    {
      "displayName": "Registrant Key",
      "name": "registrantKey",
      "type": "string",
      "default": "",
      "description": "Key of the registrant to retrieve",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "registrant"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get a session"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many sessions"
        },
        {
          "name": "Get Details",
          "value": "getDetails",
          "action": "Get details on a session"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "session"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "resource": [
            "session"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 10,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "session"
          ],
          "operation": [
            "getAll"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Time Range",
          "name": "times",
          "type": "fixedCollection",
          "placeholder": "Add Time Range",
          "required": true,
          "default": {},
          "options": [
            {
              "displayName": "Times Properties",
              "name": "timesProperties",
              "values": [
                {
                  "displayName": "Start Time",
                  "name": "fromTime",
                  "type": "dateTime",
                  "description": "Start of the datetime range for the session",
                  "default": ""
                },
                {
                  "displayName": "End Time",
                  "name": "toTime",
                  "type": "dateTime",
                  "description": "End of the datetime range for the session",
                  "default": ""
                }
              ]
            }
          ]
        },
        {
          "displayName": "Webinar Key Name or ID",
          "name": "webinarKey",
          "type": "options",
          "typeOptions": {
            "loadOptionsMethod": "getWebinars"
          },
          "default": {},
          "description": "Webinar by which to filter the sessions to retrieve. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "session"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Webinar Key Name or ID",
      "name": "webinarKey",
      "type": "options",
      "default": [],
      "description": "Key of the webinar to which the session belongs. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "session"
          ],
          "operation": [
            "get",
            "getDetails"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getWebinars"
      }
    },
    {
      "displayName": "Session Key",
      "name": "sessionKey",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "session"
          ],
          "operation": [
            "get",
            "getDetails"
          ]
        }
      }
    },
    {
      "displayName": "Details",
      "name": "details",
      "type": "options",
      "default": "performance",
      "options": [
        {
          "name": "Performance",
          "value": "performance",
          "description": "Performance details for a webinar session"
        },
        {
          "name": "Polls",
          "value": "polls",
          "description": "Questions and answers for polls from a webinar session"
        },
        {
          "name": "Questions",
          "value": "questions",
          "description": "Questions and answers for a past webinar session"
        },
        {
          "name": "Surveys",
          "value": "surveys",
          "description": "Surveys for a past webinar session"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "session"
          ],
          "operation": [
            "getDetails"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a webinar"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a webinar"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many webinars"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a webinar"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "webinar"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Subject",
      "name": "subject",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "webinar"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Time Range",
      "name": "times",
      "type": "fixedCollection",
      "default": {},
      "options": [
        {
          "displayName": "Times Properties",
          "name": "timesProperties",
          "values": [
            {
              "displayName": "Start Time",
              "name": "startTime",
              "type": "dateTime",
              "required": true,
              "default": ""
            },
            {
              "displayName": "End Time",
              "name": "endTime",
              "type": "dateTime",
              "required": true,
              "default": ""
            }
          ]
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "webinar"
          ],
          "operation": [
            "create"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Description",
          "name": "description",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Experience Type",
          "name": "experienceType",
          "type": "options",
          "default": "CLASSIC",
          "options": [
            {
              "name": "Classic",
              "value": "CLASSIC"
            },
            {
              "name": "Broadcast",
              "value": "BROADCAST"
            },
            {
              "name": "Simulive",
              "value": "SIMULIVE"
            }
          ]
        },
        {
          "displayName": "Is On-Demand",
          "name": "isOnDemand",
          "type": "boolean",
          "default": false
        },
        {
          "displayName": "Is Password Protected",
          "name": "isPasswordProtected",
          "type": "boolean",
          "default": false
        },
        {
          "displayName": "Timezone Name or ID",
          "name": "timezone",
          "type": "options",
          "description": "Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
          "default": "",
          "placeholder": "2020-12-11T09:00:00Z",
          "typeOptions": {
            "alwaysOpenEditWindow": true,
            "loadOptionsMethod": "getTimezones"
          }
        },
        {
          "displayName": "Webinar Type",
          "name": "type",
          "type": "options",
          "default": "single_session",
          "options": [
            {
              "name": "Single Session",
              "value": "single_session",
              "description": "Webinar with one single meeting"
            },
            {
              "name": "Series",
              "value": "series",
              "description": "Webinar with multiple meetings times where attendees choose only one to attend"
            },
            {
              "name": "Sequence",
              "value": "sequence",
              "description": "Webinar with multiple meeting times where attendees are expected to be the same for all sessions"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "webinar"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Webinar Key",
      "name": "webinarKey",
      "type": "string",
      "default": "",
      "description": "Key of the webinar to delete",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "webinar"
          ],
          "operation": [
            "delete"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Send Cancellation E-Mails",
          "name": "sendCancellationEmails",
          "type": "boolean",
          "default": false
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "webinar"
          ],
          "operation": [
            "delete"
          ]
        }
      }
    },
    {
      "displayName": "Webinar Key",
      "name": "webinarKey",
      "type": "string",
      "default": "",
      "description": "Key of the webinar to retrieve",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "webinar"
          ],
          "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": [
            "webinar"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 10,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "webinar"
          ],
          "operation": [
            "getAll"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Time Range",
          "name": "times",
          "type": "fixedCollection",
          "placeholder": "Add Time Range",
          "required": true,
          "default": {},
          "options": [
            {
              "displayName": "Times Properties",
              "name": "timesProperties",
              "values": [
                {
                  "displayName": "Start Time",
                  "name": "fromTime",
                  "type": "dateTime",
                  "description": "Start of the datetime range for the webinar",
                  "default": ""
                },
                {
                  "displayName": "End Time",
                  "name": "toTime",
                  "type": "dateTime",
                  "description": "End of the datetime range for the webinar",
                  "default": ""
                }
              ]
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "webinar"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Webinar Key",
      "name": "webinarKey",
      "type": "string",
      "default": "",
      "description": "Key of the webinar to update",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "webinar"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Notify Participants",
      "name": "notifyParticipants",
      "type": "boolean",
      "default": false,
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "webinar"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Update Fields",
      "name": "updateFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Description",
          "name": "description",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Experience Type",
          "name": "experienceType",
          "type": "options",
          "default": "CLASSIC",
          "options": [
            {
              "name": "Classic",
              "value": "CLASSIC"
            },
            {
              "name": "Broadcast",
              "value": "BROADCAST"
            },
            {
              "name": "Simulive",
              "value": "SIMULIVE"
            }
          ]
        },
        {
          "displayName": "Is On-Demand",
          "name": "isOnDemand",
          "type": "boolean",
          "default": false,
          "description": "Whether the webinar may be watched anytime"
        },
        {
          "displayName": "Is Password Protected",
          "name": "isPasswordProtected",
          "type": "boolean",
          "default": false,
          "description": "Whether the webinar requires a password for attendees to join"
        },
        {
          "displayName": "Times",
          "name": "times",
          "type": "fixedCollection",
          "default": {},
          "typeOptions": {
            "multipleValues": true
          },
          "options": [
            {
              "displayName": "Times Properties",
              "name": "timesProperties",
              "values": [
                {
                  "displayName": "Start Time",
                  "name": "startTime",
                  "type": "dateTime",
                  "required": true,
                  "default": ""
                },
                {
                  "displayName": "End Time",
                  "name": "endTime",
                  "type": "dateTime",
                  "required": true,
                  "default": ""
                }
              ]
            }
          ]
        },
        {
          "displayName": "Subject",
          "name": "subject",
          "type": "string",
          "default": "",
          "description": "Name or topic of the webinar"
        },
        {
          "displayName": "Timezone Name or ID",
          "name": "timezone",
          "type": "options",
          "default": "",
          "placeholder": "2020-12-11T09:00:00Z",
          "description": "Timezone where the webinar is to take place. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
          "typeOptions": {
            "alwaysOpenEditWindow": true,
            "loadOptionsMethod": "getTimezones"
          }
        },
        {
          "displayName": "Webinar Type",
          "name": "type",
          "type": "options",
          "default": "single_session",
          "options": [
            {
              "name": "Single Session",
              "value": "single_session",
              "description": "Webinar with one single meeting"
            },
            {
              "name": "Series",
              "value": "series",
              "description": "Webinar with multiple meetings times where attendees choose only one to attend"
            },
            {
              "name": "Sequence",
              "value": "sequence",
              "description": "Webinar with multiple meeting times where attendees are expected to be the same for all sessions"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "webinar"
          ],
          "operation": [
            "update"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "get",
      "name": "Get"
    },
    {
      "operation": "getAll",
      "name": "Get Many"
    },
    {
      "operation": "getDetails",
      "name": "Get Details"
    }
  ]


node_type: nodes-base.grafana
package_name: n8n-nodes-base
display_name: Grafana
description: Consume the Grafana API
category: transform
development_style: programmatic
version: 1
credentials_required:
  [
  {
  "name": "grafanaApi",
  "required": true
  }
  ]

outputs:
  [
  "main"
  ]

updated_at: 2025-10-24 07:28:02
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Grafana node documentation
  description: Learn how to use the Grafana node in n8n. Follow technical documentation to integrate Grafana node into your workflows.
  contentType: [integration, reference]
  ---

  # Grafana node

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

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

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

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

  ## Operations

  * Dashboard
      * Create a dashboard
      * Delete a dashboard
      * Get a dashboard
      * Get all dashboards
      * Update a dashboard
  * Team
      * Create a team
      * Delete a team
      * Get a team
      * Retrieve all teams
      * Update a team
  * Team Member
      * Add a member to a team
      * Retrieve all team members
      * Remove a member from a team
  * User
      * Delete a user from the current organization
      * Retrieve all users in the current organization
      * Update a user in the current organization

  ## Templates and examples

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

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

properties_schema:
  [
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "dashboard",
      "options": [
        {
          "name": "Dashboard",
          "value": "dashboard"
        },
        {
          "name": "Team",
          "value": "team"
        },
        {
          "name": "Team Member",
          "value": "teamMember"
        },
        {
          "name": "User",
          "value": "user"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a dashboard",
          "action": "Create a dashboard"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a dashboard",
          "action": "Delete a dashboard"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get a dashboard",
          "action": "Get a dashboard"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many dashboards",
          "action": "Get many dashboards"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update a dashboard",
          "action": "Update a dashboard"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "dashboard"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Title",
      "name": "title",
      "type": "string",
      "default": "",
      "description": "Title of the dashboard to create",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "dashboard"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Folder Name or ID",
          "name": "folderId",
          "type": "options",
          "default": "",
          "description": "Folder to create the dashboard in - if the folder is unspecified, the dashboard will be saved to the General folder. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
          "typeOptions": {
            "loadOptionsMethod": "getFolders"
          }
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "dashboard"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Dashboard UID or URL",
      "name": "dashboardUidOrUrl",
      "type": "string",
      "default": "",
      "description": "Unique alphabetic identifier or URL of the dashboard to delete",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "dashboard"
          ],
          "operation": [
            "delete"
          ]
        }
      }
    },
    {
      "displayName": "Dashboard UID or URL",
      "name": "dashboardUidOrUrl",
      "type": "string",
      "default": "",
      "description": "Unique alphabetic identifier or URL of the dashboard to retrieve",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "dashboard"
          ],
          "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": [
            "dashboard"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "dashboard"
          ],
          "operation": [
            "getAll"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Filters",
      "name": "filters",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Search Query",
          "name": "query",
          "type": "string",
          "default": ""
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "dashboard"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Dashboard UID or URL",
      "name": "dashboardUidOrUrl",
      "type": "string",
      "default": "",
      "description": "Unique alphabetic identifier or URL of the dashboard to update",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "dashboard"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Update Fields",
      "name": "updateFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Folder Name or ID",
          "name": "folderId",
          "type": "options",
          "default": "",
          "description": "Folder to move the dashboard into - if the folder is unspecified, the dashboard will be saved to the General folder. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
          "typeOptions": {
            "loadOptionsMethod": "getFolders"
          }
        },
        {
          "displayName": "Title",
          "name": "title",
          "type": "string",
          "default": "",
          "description": "New title of the dashboard"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "dashboard"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a team",
          "action": "Create a team"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a team",
          "action": "Delete a team"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get a team",
          "action": "Get a team"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Retrieve many teams",
          "action": "Get many teams"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update a team",
          "action": "Update a team"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "team"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Name",
      "name": "name",
      "type": "string",
      "default": "",
      "description": "Name of the team to create",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "team"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Email",
          "name": "email",
          "type": "string",
          "placeholder": "engineering@n8n.io",
          "default": "",
          "description": "Email of the team to create"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "team"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Team ID",
      "name": "teamId",
      "type": "string",
      "default": "",
      "description": "ID of the team to delete",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "team"
          ],
          "operation": [
            "delete"
          ]
        }
      }
    },
    {
      "displayName": "Team ID",
      "name": "teamId",
      "type": "string",
      "default": "",
      "description": "ID of the team to retrieve",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "team"
          ],
          "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": [
            "team"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "team"
          ],
          "operation": [
            "getAll"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1
      }
    },
    {
      "displayName": "Filters",
      "name": "filters",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Name",
          "name": "name",
          "type": "string",
          "default": "",
          "description": "Name of the team to filter by"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "team"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Team ID",
      "name": "teamId",
      "type": "string",
      "default": "",
      "description": "ID of the team to update",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "team"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Update Fields",
      "name": "updateFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Email",
          "name": "email",
          "type": "string",
          "placeholder": "engineering@n8n.io",
          "default": "",
          "description": "Email of the team to update"
        },
        {
          "displayName": "Name",
          "name": "name",
          "type": "string",
          "placeholder": "Engineering Team",
          "default": "",
          "description": "Name of the team to update"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "team"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "add",
      "options": [
        {
          "name": "Add",
          "value": "add",
          "description": "Add a member to a team",
          "action": "Add a team member"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Retrieve many team members",
          "action": "Get many team members"
        },
        {
          "name": "Remove",
          "value": "remove",
          "description": "Remove a member from a team",
          "action": "Remove a team member"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "teamMember"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "User Name or ID",
      "name": "userId",
      "type": "options",
      "default": "",
      "description": "User to add to a team. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "teamMember"
          ],
          "operation": [
            "add"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getUsers"
      }
    },
    {
      "displayName": "Team Name or ID",
      "name": "teamId",
      "type": "options",
      "default": "",
      "description": "Team to add the user to. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "teamMember"
          ],
          "operation": [
            "add"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getTeams"
      }
    },
    {
      "displayName": "User Name or ID",
      "name": "memberId",
      "type": "options",
      "default": "",
      "description": "User to remove from the team. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "teamMember"
          ],
          "operation": [
            "remove"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getUsers"
      }
    },
    {
      "displayName": "Team Name or ID",
      "name": "teamId",
      "type": "options",
      "default": "",
      "description": "Team to remove the user from. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "teamMember"
          ],
          "operation": [
            "remove"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getTeams"
      }
    },
    {
      "displayName": "Team Name or ID",
      "name": "teamId",
      "type": "options",
      "default": "",
      "description": "Team to retrieve all members from. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "teamMember"
          ],
          "operation": [
            "getAll"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getTeams"
      }
    },
    {
      "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": [
            "teamMember"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "teamMember"
          ],
          "operation": [
            "getAll"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a user from the current organization",
          "action": "Delete a user"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Retrieve many users in the current organization",
          "action": "Get many users"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update a user in the current organization",
          "action": "Update a user"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "User ID",
      "name": "userId",
      "type": "string",
      "default": "",
      "description": "ID of the user to update",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Update Fields",
      "name": "updateFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Role",
          "name": "role",
          "type": "options",
          "default": "Admin",
          "description": "New role for the user",
          "options": [
            {
              "name": "Admin",
              "value": "Admin"
            },
            {
              "name": "Editor",
              "value": "Editor"
            },
            {
              "name": "Viewer",
              "value": "Viewer"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "User ID",
      "name": "userId",
      "type": "string",
      "default": "",
      "description": "ID of the user to delete",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "delete"
          ]
        }
      }
    },
    {
      "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
      }
    }
  ]

operations:
  [
    {
      "operation": "create",
      "name": "Create",
      "description": "Create a dashboard"
    },
    {
      "operation": "delete",
      "name": "Delete",
      "description": "Delete a dashboard"
    },
    {
      "operation": "get",
      "name": "Get",
      "description": "Get a dashboard"
    },
    {
      "operation": "getAll",
      "name": "Get Many",
      "description": "Get many dashboards"
    },
    {
      "operation": "update",
      "name": "Update",
      "description": "Update a dashboard"
    }
  ]


node_type: nodes-base.graphql
package_name: n8n-nodes-base
display_name: GraphQL
description: Makes a GraphQL request and returns the received data
category: input
development_style: programmatic
version: 1.1
operations: []
outputs:
  [
  "main"
  ]

updated_at: 2025-10-24 07:28:02
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: GraphQL
  description: Documentation for the GraphQL node in n8n, a workflow automation platform. Includes guidance on usage, and links to examples.
  contentType: [integration, reference]
  priority: medium
  ---

  # GraphQL

  [GraphQL](https://graphql.org/){:target=_blank .external-link} is an open-source data query and manipulation language for APIs, and a runtime for fulfilling queries with existing data. Use the GraphQL node to query a GraphQL endpoint.

  ## Node parameters

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

  ### Authentication

  Select the type of authentication to use.

  If you select anything other than **None**, the **Credential for <selected-auth-type>** parameter appears for you to select an existing or create a new authentication credential for that authentication type.

  ### HTTP Request Method

  Select the underlying HTTP Request method the node should use. Choose from:

  * **GET**
  * **POST**: If you select this method, you'll also need to select the **Request Format** the node should use for the query payload. Choose from:
      * **GraphQL (Raw)**
      * **JSON**

  ### Endpoint

  Enter the GraphQL Endpoint you'd like to hit.

  ### Ignore SSL Issues

  When you turn on this control, n8n ignores SSL certificate validation failure.

  ### Query

  Enter the GraphQL query you want to execute.

  Refer to [Related Resources](#related-resources) for information on writing your query.

  ### Response Format

  Select the format you'd like to receive query results in. Choose between:

  * **JSON**
  * **String**: If you select this format, enter a **Response Data Property Name** to define the property the string is written to.

  ## Headers

  Enter any **Headers** you want to pass as part of the query as **Name** / **Value** pairs.

  ## Templates and examples

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

  ## Related resources

  To use the GraphQL node, you need to understand GraphQL query language. GraphQL have their own [Introduction to GraphQL](https://graphql.org/learn/){:target=_blank .external-link} tutorial.

properties_schema:
  [
    {
      "displayName": "Authentication",
      "name": "authentication",
      "type": "options",
      "default": "none",
      "description": "The way to authenticate",
      "options": [
        {
          "name": "Basic Auth",
          "value": "basicAuth"
        },
        {
          "name": "Custom Auth",
          "value": "customAuth"
        },
        {
          "name": "Digest Auth",
          "value": "digestAuth"
        },
        {
          "name": "Header Auth",
          "value": "headerAuth"
        },
        {
          "name": "None",
          "value": "none"
        },
        {
          "name": "OAuth1",
          "value": "oAuth1"
        },
        {
          "name": "OAuth2",
          "value": "oAuth2"
        },
        {
          "name": "Query Auth",
          "value": "queryAuth"
        }
      ]
    },
    {
      "displayName": "HTTP Request Method",
      "name": "requestMethod",
      "type": "options",
      "default": "POST",
      "description": "The underlying HTTP request method to use",
      "options": [
        {
          "name": "GET",
          "value": "GET"
        },
        {
          "name": "POST",
          "value": "POST"
        }
      ]
    },
    {
      "displayName": "Endpoint",
      "name": "endpoint",
      "type": "string",
      "default": "",
      "description": "The GraphQL endpoint",
      "required": true
    },
    {
      "displayName": "Ignore SSL Issues (Insecure)",
      "name": "allowUnauthorizedCerts",
      "type": "boolean",
      "default": false,
      "description": "Whether to download the response even if SSL certificate validation is not possible"
    },
    {
      "displayName": "Request Format",
      "name": "requestFormat",
      "type": "options",
      "default": "graphql",
      "description": "The format for the query payload",
      "options": [
        {
          "name": "GraphQL (Raw)",
          "value": "graphql"
        },
        {
          "name": "JSON",
          "value": "json"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "requestMethod": [
            "POST"
          ],
          "@version": [
            1
          ]
        }
      }
    },
    {
      "displayName": "Request Format",
      "name": "requestFormat",
      "type": "options",
      "default": "json",
      "description": "The request format for the query payload",
      "options": [
        {
          "name": "JSON (Recommended)",
          "value": "json",
          "description": "JSON object with query, variables, and operationName properties. The standard and most widely supported format for GraphQL requests."
        },
        {
          "name": "GraphQL (Raw)",
          "value": "graphql",
          "description": "Raw GraphQL query string. Not all servers support this format. Use JSON for better compatibility."
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "requestMethod": [
            "POST"
          ],
          "@version": [
            {
              "_cnd": {
                "gte": 1.1
              }
            }
          ]
        }
      }
    },
    {
      "displayName": "Query",
      "name": "query",
      "type": "string",
      "default": "",
      "description": "GraphQL query",
      "required": true,
      "typeOptions": {
        "rows": 6
      }
    },
    {
      "displayName": "Variables",
      "name": "variables",
      "type": "json",
      "default": "",
      "description": "Query variables as JSON object",
      "displayOptions": {
        "show": {
          "requestFormat": [
            "json"
          ],
          "requestMethod": [
            "POST"
          ]
        }
      }
    },
    {
      "displayName": "Operation Name",
      "name": "operationName",
      "type": "string",
      "default": "",
      "description": "Name of operation to execute",
      "displayOptions": {
        "show": {
          "requestFormat": [
            "json"
          ],
          "requestMethod": [
            "POST"
          ]
        }
      }
    },
    {
      "displayName": "Response Format",
      "name": "responseFormat",
      "type": "options",
      "default": "json",
      "description": "The format in which the data gets returned from the URL",
      "options": [
        {
          "name": "JSON",
          "value": "json"
        },
        {
          "name": "String",
          "value": "string"
        }
      ]
    },
    {
      "displayName": "Response Data Property Name",
      "name": "dataPropertyName",
      "type": "string",
      "default": "data",
      "description": "Name of the property to which to write the response data",
      "required": true,
      "displayOptions": {
        "show": {
          "responseFormat": [
            "string"
          ]
        }
      }
    },
    {
      "displayName": "Headers",
      "name": "headerParametersUi",
      "type": "fixedCollection",
      "default": {},
      "description": "The headers to send",
      "options": [
        {
          "name": "parameter",
          "displayName": "Header",
          "values": [
            {
              "displayName": "Name",
              "name": "name",
              "type": "string",
              "default": "",
              "description": "Name of the header"
            },
            {
              "displayName": "Value",
              "name": "value",
              "type": "string",
              "default": "",
              "description": "Value to set for the header"
            }
          ]
        }
      ],
      "typeOptions": {
        "multipleValues": true
      }
    }
  ]

credentials_required:
  [
    {
      "name": "httpBasicAuth",
      "required": true,
      "displayOptions": {
        "show": {
          "authentication": [
            "basicAuth"
          ]
        }
      }
    },
    {
      "name": "httpCustomAuth",
      "required": true,
      "displayOptions": {
        "show": {
          "authentication": [
            "customAuth"
          ]
        }
      }
    },
    {
      "name": "httpDigestAuth",
      "required": true,
      "displayOptions": {
        "show": {
          "authentication": [
            "digestAuth"
          ]
        }
      }
    },
    {
      "name": "httpHeaderAuth",
      "required": true,
      "displayOptions": {
        "show": {
          "authentication": [
            "headerAuth"
          ]
        }
      }
    },
    {
      "name": "httpQueryAuth",
      "required": true,
      "displayOptions": {
        "show": {
          "authentication": [
            "queryAuth"
          ]
        }
      }
    },
    {
      "name": "oAuth1Api",
      "required": true,
      "displayOptions": {
        "show": {
          "authentication": [
            "oAuth1"
          ]
        }
      }
    },
    {
      "name": "oAuth2Api",
      "required": true,
      "displayOptions": {
        "show": {
          "authentication": [
            "oAuth2"
          ]
        }
      }
    }
  ]


