# nodes

node_type: nodes-base.customerIoTrigger
package_name: n8n-nodes-base
display_name: Customer.io Trigger
description: Starts the workflow on a Customer.io update (Beta)
category: trigger
development_style: programmatic
version: 1
operations: []
credentials_required:
  [
  {
  "name": "customerIoApi",
  "required": true
  }
  ]

outputs:
  [
  "main"
  ]

updated_at: 2026-01-06 10:26:56
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Customer.io Trigger node documentation
  description: Learn how to use the Customer.io Trigger node in n8n. Follow technical documentation to integrate Customer.io Trigger node into your workflows.
  contentType: [integration, reference]
  ---

  # Customer.io Trigger node

  [Customer.io](https://customer.io/){:target=_blank .external-link} enables users to send newsletters to selected segments of customers using their website data. You can send targeted emails, push notifications, and SMS to lower churn, create stronger relationships, and drive subscriptions.

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

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

properties_schema:
  [
    {
      "displayName": "Events",
      "name": "events",
      "type": "multiOptions",
      "default": [],
      "description": "The events that can trigger the webhook and whether they are enabled",
      "options": [
        {
          "name": "Customer Subscribed",
          "value": "customer.subscribed",
          "description": "Whether the webhook is triggered when a list subscriber is added"
        },
        {
          "name": "Customer Unsubscribe",
          "value": "customer.unsubscribed",
          "description": "Whether the webhook is triggered when a list member unsubscribes"
        },
        {
          "name": "Email Attempted",
          "value": "email.attempted",
          "description": "Whether the webhook is triggered when a list member unsubscribes"
        },
        {
          "name": "Email Bounced",
          "value": "email.bounced",
          "description": "Whether the webhook is triggered when a list member unsubscribes"
        },
        {
          "name": "Email Clicked",
          "value": "email.clicked",
          "description": "Whether the webhook is triggered when a list member unsubscribes"
        },
        {
          "name": "Email Converted",
          "value": "email.converted",
          "description": "Whether the webhook is triggered when a list member unsubscribes"
        },
        {
          "name": "Email Delivered",
          "value": "email.delivered",
          "description": "Whether the webhook is triggered when a list member unsubscribes"
        },
        {
          "name": "Email Drafted",
          "value": "email.drafted",
          "description": "Whether the webhook is triggered when a list member unsubscribes"
        },
        {
          "name": "Email Failed",
          "value": "email.failed",
          "description": "Whether the webhook is triggered when a list member unsubscribes"
        },
        {
          "name": "Email Opened",
          "value": "email.opened",
          "description": "Whether the webhook is triggered when a list member unsubscribes"
        },
        {
          "name": "Email Sent",
          "value": "email.sent",
          "description": "Whether the webhook is triggered when a list member unsubscribes"
        },
        {
          "name": "Email Spammed",
          "value": "email.spammed",
          "description": "Whether the webhook is triggered when a list member unsubscribes"
        },
        {
          "name": "Push Attempted",
          "value": "push.attempted",
          "description": "Whether the webhook is triggered when a list member unsubscribes"
        },
        {
          "name": "Push Bounced",
          "value": "push.bounced",
          "description": "Whether the webhook is triggered when a list member unsubscribes"
        },
        {
          "name": "Push Clicked",
          "value": "push.clicked",
          "description": "Whether the webhook is triggered when a list member unsubscribes"
        },
        {
          "name": "Push Delivered",
          "value": "push.delivered",
          "description": "Whether the webhook is triggered when a list member unsubscribes"
        },
        {
          "name": "Push Drafted",
          "value": "push.drafted",
          "description": "Whether the webhook is triggered when a list member unsubscribes"
        },
        {
          "name": "Push Failed",
          "value": "push.failed",
          "description": "Whether the webhook is triggered when a list member unsubscribes"
        },
        {
          "name": "Push Opened",
          "value": "push.opened",
          "description": "Whether the webhook is triggered when a list member unsubscribes"
        },
        {
          "name": "Push Sent",
          "value": "push.sent",
          "description": "Whether the webhook is triggered when a list member unsubscribes"
        },
        {
          "name": "Slack Attempted",
          "value": "slack.attempted",
          "description": "Whether the webhook is triggered when a list member unsubscribes"
        },
        {
          "name": "Slack Clicked",
          "value": "slack.clicked",
          "description": "Whether the webhook is triggered when a list member unsubscribes"
        },
        {
          "name": "Slack Drafted",
          "value": "slack.drafted",
          "description": "Whether the webhook is triggered when a list member unsubscribes"
        },
        {
          "name": "Slack Failed",
          "value": "slack.failed",
          "description": "Whether the webhook is triggered when a list member unsubscribes"
        },
        {
          "name": "Slack Sent",
          "value": "slack.sent",
          "description": "Whether the webhook is triggered when a list member unsubscribes"
        },
        {
          "name": "SMS Attempted",
          "value": "sms.attempted",
          "description": "Whether the webhook is triggered when a list member unsubscribes"
        },
        {
          "name": "SMS Bounced",
          "value": "sms.bounced",
          "description": "Whether the webhook is triggered when a list member unsubscribes"
        },
        {
          "name": "SMS Clicked",
          "value": "sms.clicked",
          "description": "Whether the webhook is triggered when a list member unsubscribes"
        },
        {
          "name": "SMS Delivered",
          "value": "sms.delivered",
          "description": "Whether the webhook is triggered when a list member unsubscribes"
        },
        {
          "name": "SMS Drafted",
          "value": "sms.drafted",
          "description": "Whether the webhook is triggered when a list member unsubscribes"
        },
        {
          "name": "SMS Failed",
          "value": "sms.failed",
          "description": "Whether the webhook is triggered when a list member unsubscribes"
        },
        {
          "name": "SMS Sent",
          "value": "sms.sent",
          "description": "Whether the webhook is triggered when a list member unsubscribes"
        }
      ],
      "required": true
    }
  ]


node_type: nodes-base.dataTableTool
package_name: n8n-nodes-base
display_name: Data table Tool
category: input
development_style: programmatic
version: 1.1
credentials_required: []
outputs:
  [
  {
  "type": "ai_tool",
  "displayName": "Tool"
  }
  ]

output_names:
  [
  "Tool"
  ]

updated_at: 2026-01-06 10:26:56
tool_variant_of: nodes-base.dataTable
description:
  Permanently save data across workflow executions in a table (AI Tool variant for use with AI Agents)

properties_schema:
  [
    {
      "displayName": "Tool Description",
      "name": "toolDescription",
      "type": "string",
      "default": "",
      "required": false,
      "description": "Description for the AI to understand what this tool does and when to use it",
      "typeOptions": {
        "rows": 3
      },
      "placeholder": "e.g., Use this tool to interact with Data table"
    },
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "row",
      "options": [
        {
          "name": "Row",
          "value": "row"
        },
        {
          "name": "Table",
          "value": "table"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "insert",
      "options": [
        {
          "name": "Delete",
          "value": "deleteRows",
          "description": "Delete row(s)",
          "action": "Delete row(s)"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get row(s)",
          "action": "Get row(s)"
        },
        {
          "name": "If Row Exists",
          "value": "rowExists",
          "description": "Match input items that are in the data table",
          "action": "If row exists"
        },
        {
          "name": "If Row Does Not Exist",
          "value": "rowNotExists",
          "description": "Match input items that are not in the data table",
          "action": "If row does not exist"
        },
        {
          "name": "Insert",
          "value": "insert",
          "description": "Insert a new row",
          "action": "Insert row"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update row(s) matching certain fields",
          "action": "Update row(s)"
        },
        {
          "name": "Upsert",
          "value": "upsert",
          "description": "Update row(s), or insert if there is no match",
          "action": "Upsert row(s)"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "row"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Data table",
      "name": "dataTableId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "row"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "tableSearch",
            "searchable": true,
            "allowNewResource": {
              "label": "resourceLocator.dataTable.createNew",
              "url": "/projects/{{$projectId}}/datatables/new"
            }
          }
        },
        {
          "displayName": "By Name",
          "name": "name",
          "type": "string",
          "placeholder": "e.g. My Table"
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string"
        }
      ]
    },
    {
      "displayName": "Must Match",
      "name": "matchType",
      "type": "options",
      "default": "anyCondition",
      "options": [
        {
          "name": "Any Condition",
          "value": "anyCondition"
        },
        {
          "name": "All Conditions",
          "value": "allConditions"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "row"
          ],
          "operation": [
            "deleteRows"
          ]
        }
      }
    },
    {
      "displayName": "Conditions",
      "name": "filters",
      "type": "fixedCollection",
      "default": {},
      "description": "Filter to decide which rows get",
      "options": [
        {
          "displayName": "Conditions",
          "name": "conditions",
          "values": [
            {
              "displayName": "Column",
              "name": "keyName",
              "type": "options",
              "description": "Choose from the list, or specify using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
              "typeOptions": {
                "loadOptionsDependsOn": [
                  "dataTableId.value"
                ],
                "loadOptionsMethod": "getDataTableColumns"
              },
              "default": "id"
            },
            {
              "displayName": "Condition",
              "name": "condition",
              "type": "options",
              "typeOptions": {
                "loadOptionsDependsOn": [
                  "&keyName"
                ],
                "loadOptionsMethod": "getConditionsForColumn"
              },
              "default": "eq"
            },
            {
              "displayName": "Value",
              "name": "keyValue",
              "type": "string",
              "default": "",
              "displayOptions": {
                "hide": {
                  "condition": [
                    "isEmpty",
                    "isNotEmpty",
                    "isTrue",
                    "isFalse"
                  ]
                }
              }
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "row"
          ],
          "operation": [
            "deleteRows"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true,
        "minRequiredFields": 0
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Dry Run",
          "name": "dryRun",
          "type": "boolean",
          "default": false,
          "description": "Whether the operation simulates and returns affected rows in their \"before\" and \"after\" states"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "row"
          ],
          "operation": [
            "deleteRows"
          ]
        }
      }
    },
    {
      "displayName": "Columns",
      "name": "columns",
      "type": "resourceMapper",
      "default": {
        "mappingMode": "defineBelow",
        "value": null
      },
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "row"
          ],
          "operation": [
            "insert"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "dataTableId.value"
        ],
        "resourceMapper": {
          "valuesLabel": "Values to insert",
          "resourceMapperMethod": "getDataTables",
          "mode": "add",
          "fieldWords": {
            "singular": "column",
            "plural": "columns"
          },
          "addAllFields": true,
          "multiKeyMatch": true,
          "hideNoDataError": true
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Optimize Bulk",
          "name": "optimizeBulk",
          "type": "boolean",
          "default": false,
          "noDataExpression": true,
          "description": "Whether to improve bulk insert performance 5x by not returning inserted data"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "row"
          ],
          "operation": [
            "insert"
          ]
        }
      }
    },
    {
      "displayName": "Must Match",
      "name": "matchType",
      "type": "options",
      "default": "anyCondition",
      "options": [
        {
          "name": "Any Condition",
          "value": "anyCondition"
        },
        {
          "name": "All Conditions",
          "value": "allConditions"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "row"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Conditions",
      "name": "filters",
      "type": "fixedCollection",
      "default": {},
      "description": "Filter to decide which rows get",
      "options": [
        {
          "displayName": "Conditions",
          "name": "conditions",
          "values": [
            {
              "displayName": "Column",
              "name": "keyName",
              "type": "options",
              "description": "Choose from the list, or specify using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
              "typeOptions": {
                "loadOptionsDependsOn": [
                  "dataTableId.value"
                ],
                "loadOptionsMethod": "getDataTableColumns"
              },
              "default": "id"
            },
            {
              "displayName": "Condition",
              "name": "condition",
              "type": "options",
              "typeOptions": {
                "loadOptionsDependsOn": [
                  "&keyName"
                ],
                "loadOptionsMethod": "getConditionsForColumn"
              },
              "default": "eq"
            },
            {
              "displayName": "Value",
              "name": "keyValue",
              "type": "string",
              "default": "",
              "displayOptions": {
                "hide": {
                  "condition": [
                    "isEmpty",
                    "isNotEmpty",
                    "isTrue",
                    "isFalse"
                  ]
                }
              }
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "row"
          ],
          "operation": [
            "get"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true,
        "minRequiredFields": 0
      }
    },
    {
      "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": [
            "row"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "row"
          ],
          "operation": [
            "get"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1
      }
    },
    {
      "displayName": "Must Match",
      "name": "matchType",
      "type": "options",
      "default": "anyCondition",
      "options": [
        {
          "name": "Any Condition",
          "value": "anyCondition"
        },
        {
          "name": "All Conditions",
          "value": "allConditions"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "row"
          ],
          "operation": [
            "rowExists"
          ]
        }
      }
    },
    {
      "displayName": "Conditions",
      "name": "filters",
      "type": "fixedCollection",
      "default": {},
      "description": "Filter to decide which rows get",
      "options": [
        {
          "displayName": "Conditions",
          "name": "conditions",
          "values": [
            {
              "displayName": "Column",
              "name": "keyName",
              "type": "options",
              "description": "Choose from the list, or specify using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
              "typeOptions": {
                "loadOptionsDependsOn": [
                  "dataTableId.value"
                ],
                "loadOptionsMethod": "getDataTableColumns"
              },
              "default": "id"
            },
            {
              "displayName": "Condition",
              "name": "condition",
              "type": "options",
              "typeOptions": {
                "loadOptionsDependsOn": [
                  "&keyName"
                ],
                "loadOptionsMethod": "getConditionsForColumn"
              },
              "default": "eq",
              "displayOptions": {
                "show": {
                  "@version": [
                    {
                      "_cnd": {
                        "lt": 0
                      }
                    }
                  ]
                }
              }
            },
            {
              "displayName": "Value",
              "name": "keyValue",
              "type": "string",
              "default": "",
              "displayOptions": {
                "hide": {
                  "condition": [
                    "isEmpty",
                    "isNotEmpty",
                    "isTrue",
                    "isFalse"
                  ]
                }
              }
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "row"
          ],
          "operation": [
            "rowExists"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true,
        "minRequiredFields": 1
      }
    },
    {
      "displayName": "Must Match",
      "name": "matchType",
      "type": "options",
      "default": "anyCondition",
      "options": [
        {
          "name": "Any Condition",
          "value": "anyCondition"
        },
        {
          "name": "All Conditions",
          "value": "allConditions"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "row"
          ],
          "operation": [
            "rowNotExists"
          ]
        }
      }
    },
    {
      "displayName": "Conditions",
      "name": "filters",
      "type": "fixedCollection",
      "default": {},
      "description": "Filter to decide which rows get",
      "options": [
        {
          "displayName": "Conditions",
          "name": "conditions",
          "values": [
            {
              "displayName": "Column",
              "name": "keyName",
              "type": "options",
              "description": "Choose from the list, or specify using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
              "typeOptions": {
                "loadOptionsDependsOn": [
                  "dataTableId.value"
                ],
                "loadOptionsMethod": "getDataTableColumns"
              },
              "default": "id"
            },
            {
              "displayName": "Condition",
              "name": "condition",
              "type": "options",
              "typeOptions": {
                "loadOptionsDependsOn": [
                  "&keyName"
                ],
                "loadOptionsMethod": "getConditionsForColumn"
              },
              "default": "eq",
              "displayOptions": {
                "show": {
                  "@version": [
                    {
                      "_cnd": {
                        "lt": 0
                      }
                    }
                  ]
                }
              }
            },
            {
              "displayName": "Value",
              "name": "keyValue",
              "type": "string",
              "default": "",
              "displayOptions": {
                "hide": {
                  "condition": [
                    "isEmpty",
                    "isNotEmpty",
                    "isTrue",
                    "isFalse"
                  ]
                }
              }
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "row"
          ],
          "operation": [
            "rowNotExists"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true,
        "minRequiredFields": 1
      }
    },
    {
      "displayName": "Must Match",
      "name": "matchType",
      "type": "options",
      "default": "anyCondition",
      "options": [
        {
          "name": "Any Condition",
          "value": "anyCondition"
        },
        {
          "name": "All Conditions",
          "value": "allConditions"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "row"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Conditions",
      "name": "filters",
      "type": "fixedCollection",
      "default": {},
      "description": "Filter to decide which rows get",
      "options": [
        {
          "displayName": "Conditions",
          "name": "conditions",
          "values": [
            {
              "displayName": "Column",
              "name": "keyName",
              "type": "options",
              "description": "Choose from the list, or specify using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
              "typeOptions": {
                "loadOptionsDependsOn": [
                  "dataTableId.value"
                ],
                "loadOptionsMethod": "getDataTableColumns"
              },
              "default": "id"
            },
            {
              "displayName": "Condition",
              "name": "condition",
              "type": "options",
              "typeOptions": {
                "loadOptionsDependsOn": [
                  "&keyName"
                ],
                "loadOptionsMethod": "getConditionsForColumn"
              },
              "default": "eq"
            },
            {
              "displayName": "Value",
              "name": "keyValue",
              "type": "string",
              "default": "",
              "displayOptions": {
                "hide": {
                  "condition": [
                    "isEmpty",
                    "isNotEmpty",
                    "isTrue",
                    "isFalse"
                  ]
                }
              }
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "row"
          ],
          "operation": [
            "update"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true,
        "minRequiredFields": 0
      }
    },
    {
      "displayName": "Columns",
      "name": "columns",
      "type": "resourceMapper",
      "default": {
        "mappingMode": "defineBelow",
        "value": null
      },
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "row"
          ],
          "operation": [
            "update"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "dataTableId.value"
        ],
        "resourceMapper": {
          "valuesLabel": "Values to update",
          "resourceMapperMethod": "getDataTables",
          "mode": "add",
          "fieldWords": {
            "singular": "column",
            "plural": "columns"
          },
          "addAllFields": true,
          "multiKeyMatch": true,
          "hideNoDataError": true
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Dry Run",
          "name": "dryRun",
          "type": "boolean",
          "default": false,
          "description": "Whether the operation simulates and returns affected rows in their \"before\" and \"after\" states"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "row"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Must Match",
      "name": "matchType",
      "type": "options",
      "default": "anyCondition",
      "options": [
        {
          "name": "Any Condition",
          "value": "anyCondition"
        },
        {
          "name": "All Conditions",
          "value": "allConditions"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "row"
          ],
          "operation": [
            "upsert"
          ]
        }
      }
    },
    {
      "displayName": "Conditions",
      "name": "filters",
      "type": "fixedCollection",
      "default": {},
      "description": "Filter to decide which rows get",
      "options": [
        {
          "displayName": "Conditions",
          "name": "conditions",
          "values": [
            {
              "displayName": "Column",
              "name": "keyName",
              "type": "options",
              "description": "Choose from the list, or specify using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
              "typeOptions": {
                "loadOptionsDependsOn": [
                  "dataTableId.value"
                ],
                "loadOptionsMethod": "getDataTableColumns"
              },
              "default": "id"
            },
            {
              "displayName": "Condition",
              "name": "condition",
              "type": "options",
              "typeOptions": {
                "loadOptionsDependsOn": [
                  "&keyName"
                ],
                "loadOptionsMethod": "getConditionsForColumn"
              },
              "default": "eq"
            },
            {
              "displayName": "Value",
              "name": "keyValue",
              "type": "string",
              "default": "",
              "displayOptions": {
                "hide": {
                  "condition": [
                    "isEmpty",
                    "isNotEmpty",
                    "isTrue",
                    "isFalse"
                  ]
                }
              }
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "row"
          ],
          "operation": [
            "upsert"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true,
        "minRequiredFields": 0
      }
    },
    {
      "displayName": "Columns",
      "name": "columns",
      "type": "resourceMapper",
      "default": {
        "mappingMode": "defineBelow",
        "value": null
      },
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "row"
          ],
          "operation": [
            "upsert"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "dataTableId.value"
        ],
        "resourceMapper": {
          "valuesLabel": "Values to upsert",
          "resourceMapperMethod": "getDataTables",
          "mode": "add",
          "fieldWords": {
            "singular": "column",
            "plural": "columns"
          },
          "addAllFields": true,
          "multiKeyMatch": true,
          "hideNoDataError": true
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Dry Run",
          "name": "dryRun",
          "type": "boolean",
          "default": false,
          "description": "Whether the operation simulates and returns affected rows in their \"before\" and \"after\" states"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "row"
          ],
          "operation": [
            "upsert"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a new data table",
          "action": "Create a data table"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a data table",
          "action": "Delete a data table"
        },
        {
          "name": "List",
          "value": "list",
          "description": "List all data tables",
          "action": "List data tables"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update a data table name",
          "action": "Update a data table"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "table"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Data table",
      "name": "dataTableId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "table"
          ],
          "operation": [
            "delete",
            "update"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "tableSearch",
            "searchable": true
          }
        },
        {
          "displayName": "By Name",
          "name": "name",
          "type": "string",
          "placeholder": "e.g. My Table"
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string"
        }
      ]
    },
    {
      "displayName": "Name",
      "name": "tableName",
      "type": "string",
      "default": "",
      "description": "The name of the data table to create",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "table"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Columns",
      "name": "columns",
      "type": "fixedCollection",
      "default": {},
      "description": "The columns to create in the data table",
      "options": [
        {
          "name": "column",
          "displayName": "Column",
          "values": [
            {
              "displayName": "Name",
              "name": "name",
              "type": "string",
              "default": "",
              "required": true,
              "description": "The name of the column"
            },
            {
              "displayName": "Type",
              "name": "type",
              "type": "options",
              "default": "string",
              "options": [
                {
                  "name": "Boolean",
                  "value": "boolean"
                },
                {
                  "name": "Date",
                  "value": "date"
                },
                {
                  "name": "Number",
                  "value": "number"
                },
                {
                  "name": "String",
                  "value": "string"
                }
              ],
              "description": "The type of the column"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "table"
          ],
          "operation": [
            "create"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Reuse Existing Tables",
          "name": "createIfNotExists",
          "type": "boolean",
          "default": true,
          "description": "Whether to return existing table if one exists with the same name without throwing an error"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "table"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "This will permanently delete the data table and all its data. This action cannot be undone.",
      "name": "deleteWarning",
      "type": "notice",
      "default": "",
      "displayOptions": {
        "show": {
          "resource": [
            "table"
          ],
          "operation": [
            "delete"
          ]
        }
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": true,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "resource": [
            "table"
          ],
          "operation": [
            "list"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "table"
          ],
          "operation": [
            "list"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Filter by Name",
          "name": "filterName",
          "type": "string",
          "default": "",
          "description": "Filter data tables by name (case-insensitive)"
        },
        {
          "displayName": "Sort Field",
          "name": "sortField",
          "type": "options",
          "default": "name",
          "options": [
            {
              "name": "Created",
              "value": "createdAt"
            },
            {
              "name": "Name",
              "value": "name"
            },
            {
              "name": "Size",
              "value": "sizeBytes"
            },
            {
              "name": "Updated",
              "value": "updatedAt"
            }
          ],
          "description": "Field to sort by"
        },
        {
          "displayName": "Sort Direction",
          "name": "sortDirection",
          "type": "options",
          "default": "asc",
          "options": [
            {
              "name": "Ascending",
              "value": "asc"
            },
            {
              "name": "Descending",
              "value": "desc"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "table"
          ],
          "operation": [
            "list"
          ]
        }
      }
    },
    {
      "displayName": "New Name",
      "name": "newName",
      "type": "string",
      "default": "",
      "description": "The new name for the data table",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "table"
          ],
          "operation": [
            "update"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "deleteRows",
      "name": "Delete",
      "description": "Delete row(s)"
    },
    {
      "operation": "get",
      "name": "Get",
      "description": "Get row(s)"
    },
    {
      "operation": "rowExists",
      "name": "If Row Exists",
      "description": "Match input items that are in the data table"
    },
    {
      "operation": "rowNotExists",
      "name": "If Row Does Not Exist",
      "description": "Match input items that are not in the data table"
    },
    {
      "operation": "insert",
      "name": "Insert",
      "description": "Insert a new row"
    },
    {
      "operation": "update",
      "name": "Update",
      "description": "Update row(s) matching certain fields"
    },
    {
      "operation": "upsert",
      "name": "Upsert",
      "description": "Update row(s), or insert if there is no match"
    }
  ]


node_type: nodes-base.dataTable
package_name: n8n-nodes-base
display_name: Data table
description: Permanently save data across workflow executions in a table
category: input
development_style: programmatic
version: 1.1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-01-06 10:26:56
properties_schema:
  [
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "row",
      "options": [
        {
          "name": "Row",
          "value": "row"
        },
        {
          "name": "Table",
          "value": "table"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "insert",
      "options": [
        {
          "name": "Delete",
          "value": "deleteRows",
          "description": "Delete row(s)",
          "action": "Delete row(s)"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get row(s)",
          "action": "Get row(s)"
        },
        {
          "name": "If Row Exists",
          "value": "rowExists",
          "description": "Match input items that are in the data table",
          "action": "If row exists"
        },
        {
          "name": "If Row Does Not Exist",
          "value": "rowNotExists",
          "description": "Match input items that are not in the data table",
          "action": "If row does not exist"
        },
        {
          "name": "Insert",
          "value": "insert",
          "description": "Insert a new row",
          "action": "Insert row"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update row(s) matching certain fields",
          "action": "Update row(s)"
        },
        {
          "name": "Upsert",
          "value": "upsert",
          "description": "Update row(s), or insert if there is no match",
          "action": "Upsert row(s)"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "row"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Data table",
      "name": "dataTableId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "row"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "tableSearch",
            "searchable": true,
            "allowNewResource": {
              "label": "resourceLocator.dataTable.createNew",
              "url": "/projects/{{$projectId}}/datatables/new"
            }
          }
        },
        {
          "displayName": "By Name",
          "name": "name",
          "type": "string",
          "placeholder": "e.g. My Table"
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string"
        }
      ]
    },
    {
      "displayName": "Must Match",
      "name": "matchType",
      "type": "options",
      "default": "anyCondition",
      "options": [
        {
          "name": "Any Condition",
          "value": "anyCondition"
        },
        {
          "name": "All Conditions",
          "value": "allConditions"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "row"
          ],
          "operation": [
            "deleteRows"
          ]
        }
      }
    },
    {
      "displayName": "Conditions",
      "name": "filters",
      "type": "fixedCollection",
      "default": {},
      "description": "Filter to decide which rows get",
      "options": [
        {
          "displayName": "Conditions",
          "name": "conditions",
          "values": [
            {
              "displayName": "Column",
              "name": "keyName",
              "type": "options",
              "description": "Choose from the list, or specify using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
              "typeOptions": {
                "loadOptionsDependsOn": [
                  "dataTableId.value"
                ],
                "loadOptionsMethod": "getDataTableColumns"
              },
              "default": "id"
            },
            {
              "displayName": "Condition",
              "name": "condition",
              "type": "options",
              "typeOptions": {
                "loadOptionsDependsOn": [
                  "&keyName"
                ],
                "loadOptionsMethod": "getConditionsForColumn"
              },
              "default": "eq"
            },
            {
              "displayName": "Value",
              "name": "keyValue",
              "type": "string",
              "default": "",
              "displayOptions": {
                "hide": {
                  "condition": [
                    "isEmpty",
                    "isNotEmpty",
                    "isTrue",
                    "isFalse"
                  ]
                }
              }
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "row"
          ],
          "operation": [
            "deleteRows"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true,
        "minRequiredFields": 0
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Dry Run",
          "name": "dryRun",
          "type": "boolean",
          "default": false,
          "description": "Whether the operation simulates and returns affected rows in their \"before\" and \"after\" states"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "row"
          ],
          "operation": [
            "deleteRows"
          ]
        }
      }
    },
    {
      "displayName": "Columns",
      "name": "columns",
      "type": "resourceMapper",
      "default": {
        "mappingMode": "defineBelow",
        "value": null
      },
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "row"
          ],
          "operation": [
            "insert"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "dataTableId.value"
        ],
        "resourceMapper": {
          "valuesLabel": "Values to insert",
          "resourceMapperMethod": "getDataTables",
          "mode": "add",
          "fieldWords": {
            "singular": "column",
            "plural": "columns"
          },
          "addAllFields": true,
          "multiKeyMatch": true,
          "hideNoDataError": true
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Optimize Bulk",
          "name": "optimizeBulk",
          "type": "boolean",
          "default": false,
          "noDataExpression": true,
          "description": "Whether to improve bulk insert performance 5x by not returning inserted data"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "row"
          ],
          "operation": [
            "insert"
          ]
        }
      }
    },
    {
      "displayName": "Must Match",
      "name": "matchType",
      "type": "options",
      "default": "anyCondition",
      "options": [
        {
          "name": "Any Condition",
          "value": "anyCondition"
        },
        {
          "name": "All Conditions",
          "value": "allConditions"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "row"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Conditions",
      "name": "filters",
      "type": "fixedCollection",
      "default": {},
      "description": "Filter to decide which rows get",
      "options": [
        {
          "displayName": "Conditions",
          "name": "conditions",
          "values": [
            {
              "displayName": "Column",
              "name": "keyName",
              "type": "options",
              "description": "Choose from the list, or specify using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
              "typeOptions": {
                "loadOptionsDependsOn": [
                  "dataTableId.value"
                ],
                "loadOptionsMethod": "getDataTableColumns"
              },
              "default": "id"
            },
            {
              "displayName": "Condition",
              "name": "condition",
              "type": "options",
              "typeOptions": {
                "loadOptionsDependsOn": [
                  "&keyName"
                ],
                "loadOptionsMethod": "getConditionsForColumn"
              },
              "default": "eq"
            },
            {
              "displayName": "Value",
              "name": "keyValue",
              "type": "string",
              "default": "",
              "displayOptions": {
                "hide": {
                  "condition": [
                    "isEmpty",
                    "isNotEmpty",
                    "isTrue",
                    "isFalse"
                  ]
                }
              }
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "row"
          ],
          "operation": [
            "get"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true,
        "minRequiredFields": 0
      }
    },
    {
      "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": [
            "row"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "row"
          ],
          "operation": [
            "get"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1
      }
    },
    {
      "displayName": "Must Match",
      "name": "matchType",
      "type": "options",
      "default": "anyCondition",
      "options": [
        {
          "name": "Any Condition",
          "value": "anyCondition"
        },
        {
          "name": "All Conditions",
          "value": "allConditions"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "row"
          ],
          "operation": [
            "rowExists"
          ]
        }
      }
    },
    {
      "displayName": "Conditions",
      "name": "filters",
      "type": "fixedCollection",
      "default": {},
      "description": "Filter to decide which rows get",
      "options": [
        {
          "displayName": "Conditions",
          "name": "conditions",
          "values": [
            {
              "displayName": "Column",
              "name": "keyName",
              "type": "options",
              "description": "Choose from the list, or specify using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
              "typeOptions": {
                "loadOptionsDependsOn": [
                  "dataTableId.value"
                ],
                "loadOptionsMethod": "getDataTableColumns"
              },
              "default": "id"
            },
            {
              "displayName": "Condition",
              "name": "condition",
              "type": "options",
              "typeOptions": {
                "loadOptionsDependsOn": [
                  "&keyName"
                ],
                "loadOptionsMethod": "getConditionsForColumn"
              },
              "default": "eq",
              "displayOptions": {
                "show": {
                  "@version": [
                    {
                      "_cnd": {
                        "lt": 0
                      }
                    }
                  ]
                }
              }
            },
            {
              "displayName": "Value",
              "name": "keyValue",
              "type": "string",
              "default": "",
              "displayOptions": {
                "hide": {
                  "condition": [
                    "isEmpty",
                    "isNotEmpty",
                    "isTrue",
                    "isFalse"
                  ]
                }
              }
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "row"
          ],
          "operation": [
            "rowExists"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true,
        "minRequiredFields": 1
      }
    },
    {
      "displayName": "Must Match",
      "name": "matchType",
      "type": "options",
      "default": "anyCondition",
      "options": [
        {
          "name": "Any Condition",
          "value": "anyCondition"
        },
        {
          "name": "All Conditions",
          "value": "allConditions"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "row"
          ],
          "operation": [
            "rowNotExists"
          ]
        }
      }
    },
    {
      "displayName": "Conditions",
      "name": "filters",
      "type": "fixedCollection",
      "default": {},
      "description": "Filter to decide which rows get",
      "options": [
        {
          "displayName": "Conditions",
          "name": "conditions",
          "values": [
            {
              "displayName": "Column",
              "name": "keyName",
              "type": "options",
              "description": "Choose from the list, or specify using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
              "typeOptions": {
                "loadOptionsDependsOn": [
                  "dataTableId.value"
                ],
                "loadOptionsMethod": "getDataTableColumns"
              },
              "default": "id"
            },
            {
              "displayName": "Condition",
              "name": "condition",
              "type": "options",
              "typeOptions": {
                "loadOptionsDependsOn": [
                  "&keyName"
                ],
                "loadOptionsMethod": "getConditionsForColumn"
              },
              "default": "eq",
              "displayOptions": {
                "show": {
                  "@version": [
                    {
                      "_cnd": {
                        "lt": 0
                      }
                    }
                  ]
                }
              }
            },
            {
              "displayName": "Value",
              "name": "keyValue",
              "type": "string",
              "default": "",
              "displayOptions": {
                "hide": {
                  "condition": [
                    "isEmpty",
                    "isNotEmpty",
                    "isTrue",
                    "isFalse"
                  ]
                }
              }
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "row"
          ],
          "operation": [
            "rowNotExists"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true,
        "minRequiredFields": 1
      }
    },
    {
      "displayName": "Must Match",
      "name": "matchType",
      "type": "options",
      "default": "anyCondition",
      "options": [
        {
          "name": "Any Condition",
          "value": "anyCondition"
        },
        {
          "name": "All Conditions",
          "value": "allConditions"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "row"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Conditions",
      "name": "filters",
      "type": "fixedCollection",
      "default": {},
      "description": "Filter to decide which rows get",
      "options": [
        {
          "displayName": "Conditions",
          "name": "conditions",
          "values": [
            {
              "displayName": "Column",
              "name": "keyName",
              "type": "options",
              "description": "Choose from the list, or specify using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
              "typeOptions": {
                "loadOptionsDependsOn": [
                  "dataTableId.value"
                ],
                "loadOptionsMethod": "getDataTableColumns"
              },
              "default": "id"
            },
            {
              "displayName": "Condition",
              "name": "condition",
              "type": "options",
              "typeOptions": {
                "loadOptionsDependsOn": [
                  "&keyName"
                ],
                "loadOptionsMethod": "getConditionsForColumn"
              },
              "default": "eq"
            },
            {
              "displayName": "Value",
              "name": "keyValue",
              "type": "string",
              "default": "",
              "displayOptions": {
                "hide": {
                  "condition": [
                    "isEmpty",
                    "isNotEmpty",
                    "isTrue",
                    "isFalse"
                  ]
                }
              }
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "row"
          ],
          "operation": [
            "update"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true,
        "minRequiredFields": 0
      }
    },
    {
      "displayName": "Columns",
      "name": "columns",
      "type": "resourceMapper",
      "default": {
        "mappingMode": "defineBelow",
        "value": null
      },
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "row"
          ],
          "operation": [
            "update"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "dataTableId.value"
        ],
        "resourceMapper": {
          "valuesLabel": "Values to update",
          "resourceMapperMethod": "getDataTables",
          "mode": "add",
          "fieldWords": {
            "singular": "column",
            "plural": "columns"
          },
          "addAllFields": true,
          "multiKeyMatch": true,
          "hideNoDataError": true
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Dry Run",
          "name": "dryRun",
          "type": "boolean",
          "default": false,
          "description": "Whether the operation simulates and returns affected rows in their \"before\" and \"after\" states"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "row"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Must Match",
      "name": "matchType",
      "type": "options",
      "default": "anyCondition",
      "options": [
        {
          "name": "Any Condition",
          "value": "anyCondition"
        },
        {
          "name": "All Conditions",
          "value": "allConditions"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "row"
          ],
          "operation": [
            "upsert"
          ]
        }
      }
    },
    {
      "displayName": "Conditions",
      "name": "filters",
      "type": "fixedCollection",
      "default": {},
      "description": "Filter to decide which rows get",
      "options": [
        {
          "displayName": "Conditions",
          "name": "conditions",
          "values": [
            {
              "displayName": "Column",
              "name": "keyName",
              "type": "options",
              "description": "Choose from the list, or specify using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
              "typeOptions": {
                "loadOptionsDependsOn": [
                  "dataTableId.value"
                ],
                "loadOptionsMethod": "getDataTableColumns"
              },
              "default": "id"
            },
            {
              "displayName": "Condition",
              "name": "condition",
              "type": "options",
              "typeOptions": {
                "loadOptionsDependsOn": [
                  "&keyName"
                ],
                "loadOptionsMethod": "getConditionsForColumn"
              },
              "default": "eq"
            },
            {
              "displayName": "Value",
              "name": "keyValue",
              "type": "string",
              "default": "",
              "displayOptions": {
                "hide": {
                  "condition": [
                    "isEmpty",
                    "isNotEmpty",
                    "isTrue",
                    "isFalse"
                  ]
                }
              }
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "row"
          ],
          "operation": [
            "upsert"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true,
        "minRequiredFields": 0
      }
    },
    {
      "displayName": "Columns",
      "name": "columns",
      "type": "resourceMapper",
      "default": {
        "mappingMode": "defineBelow",
        "value": null
      },
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "row"
          ],
          "operation": [
            "upsert"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "dataTableId.value"
        ],
        "resourceMapper": {
          "valuesLabel": "Values to upsert",
          "resourceMapperMethod": "getDataTables",
          "mode": "add",
          "fieldWords": {
            "singular": "column",
            "plural": "columns"
          },
          "addAllFields": true,
          "multiKeyMatch": true,
          "hideNoDataError": true
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Dry Run",
          "name": "dryRun",
          "type": "boolean",
          "default": false,
          "description": "Whether the operation simulates and returns affected rows in their \"before\" and \"after\" states"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "row"
          ],
          "operation": [
            "upsert"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a new data table",
          "action": "Create a data table"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a data table",
          "action": "Delete a data table"
        },
        {
          "name": "List",
          "value": "list",
          "description": "List all data tables",
          "action": "List data tables"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update a data table name",
          "action": "Update a data table"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "table"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Data table",
      "name": "dataTableId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "table"
          ],
          "operation": [
            "delete",
            "update"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "tableSearch",
            "searchable": true
          }
        },
        {
          "displayName": "By Name",
          "name": "name",
          "type": "string",
          "placeholder": "e.g. My Table"
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string"
        }
      ]
    },
    {
      "displayName": "Name",
      "name": "tableName",
      "type": "string",
      "default": "",
      "description": "The name of the data table to create",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "table"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Columns",
      "name": "columns",
      "type": "fixedCollection",
      "default": {},
      "description": "The columns to create in the data table",
      "options": [
        {
          "name": "column",
          "displayName": "Column",
          "values": [
            {
              "displayName": "Name",
              "name": "name",
              "type": "string",
              "default": "",
              "required": true,
              "description": "The name of the column"
            },
            {
              "displayName": "Type",
              "name": "type",
              "type": "options",
              "default": "string",
              "options": [
                {
                  "name": "Boolean",
                  "value": "boolean"
                },
                {
                  "name": "Date",
                  "value": "date"
                },
                {
                  "name": "Number",
                  "value": "number"
                },
                {
                  "name": "String",
                  "value": "string"
                }
              ],
              "description": "The type of the column"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "table"
          ],
          "operation": [
            "create"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Reuse Existing Tables",
          "name": "createIfNotExists",
          "type": "boolean",
          "default": true,
          "description": "Whether to return existing table if one exists with the same name without throwing an error"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "table"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "This will permanently delete the data table and all its data. This action cannot be undone.",
      "name": "deleteWarning",
      "type": "notice",
      "default": "",
      "displayOptions": {
        "show": {
          "resource": [
            "table"
          ],
          "operation": [
            "delete"
          ]
        }
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": true,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "resource": [
            "table"
          ],
          "operation": [
            "list"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "table"
          ],
          "operation": [
            "list"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Filter by Name",
          "name": "filterName",
          "type": "string",
          "default": "",
          "description": "Filter data tables by name (case-insensitive)"
        },
        {
          "displayName": "Sort Field",
          "name": "sortField",
          "type": "options",
          "default": "name",
          "options": [
            {
              "name": "Created",
              "value": "createdAt"
            },
            {
              "name": "Name",
              "value": "name"
            },
            {
              "name": "Size",
              "value": "sizeBytes"
            },
            {
              "name": "Updated",
              "value": "updatedAt"
            }
          ],
          "description": "Field to sort by"
        },
        {
          "displayName": "Sort Direction",
          "name": "sortDirection",
          "type": "options",
          "default": "asc",
          "options": [
            {
              "name": "Ascending",
              "value": "asc"
            },
            {
              "name": "Descending",
              "value": "desc"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "table"
          ],
          "operation": [
            "list"
          ]
        }
      }
    },
    {
      "displayName": "New Name",
      "name": "newName",
      "type": "string",
      "default": "",
      "description": "The new name for the data table",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "table"
          ],
          "operation": [
            "update"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "deleteRows",
      "name": "Delete",
      "description": "Delete row(s)"
    },
    {
      "operation": "get",
      "name": "Get",
      "description": "Get row(s)"
    },
    {
      "operation": "rowExists",
      "name": "If Row Exists",
      "description": "Match input items that are in the data table"
    },
    {
      "operation": "rowNotExists",
      "name": "If Row Does Not Exist",
      "description": "Match input items that are not in the data table"
    },
    {
      "operation": "insert",
      "name": "Insert",
      "description": "Insert a new row"
    },
    {
      "operation": "update",
      "name": "Update",
      "description": "Update row(s) matching certain fields"
    },
    {
      "operation": "upsert",
      "name": "Upsert",
      "description": "Update row(s), or insert if there is no match"
    }
  ]


node_type: nodes-base.dateTime
package_name: n8n-nodes-base
display_name: Date & Time
description: Allows you to manipulate date and time values
category: transform
development_style: programmatic
version: 2
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-01-06 10:26:56
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Date & Time
  description: Documentation for the Date & Time node in n8n, a workflow automation platform. Includes guidance on usage, and links to examples.
  contentType: [integration, reference]
  priority: high
  ---

  # Date & Time

  The Date & Time node manipulates date and time data and convert it to different formats.

  --8<-- "_snippets/integrations/builtin/core-nodes/schedule/timezone-settings.md"

  /// note | Date and time in other nodes
  You can work with data and time in the Code node, and in expressions in any node. n8n supports Luxon to help work with date and time in JavaScript. Refer to [Date and time with Luxon](/code/cookbook/luxon.md) for more information.
  ///

  ## Operations

  * **Add to a Date**: Add a specified amount of time to a date.
  * **Extract Part of a Date**: Extract part of a date, such as the year, month, or day.
  * **Format a Date**: Transform a date's format to a new format using preset options or a custom expression.
  * **Get Current Date**: Get the current date and choose whether to include the current time or not. Useful for triggering other flows and conditional logic.
  * **Get Time Between Dates**: Calculate the amount of time in specific units between two dates.
  * **Round a Date**: Round a date up or down to the nearest unit of your choice, such as month, day, or hour.
  * **Subtract From a Date**: Subtract a specified amount of time from a date.

  Refer to the sections below for parameters and options specific to each operation.

  ## Add to a Date

  Configure the node for this operation using these parameters:

  * **Date to Add To**: Enter the date you want to change.
  * **Time Unit to Add**: Select the time unit for the **Duration** parameter.
  * **Duration**: Enter the number of time units to add to the date.
  * **Output Field Name**: Enter the name of the field to output the new date to.

  ### Add to a Date options

  This operation has one option: **Include Input Fields**. If you'd like to include all of the input fields in the output, turn this option on. If turned off, only the **Output Field Name** and its contents are output.

  ## Extract Part of a Date

  Configure the node for this operation using these parameters:

  * **Date**: Enter the date you want to round or extract part of.
  * **Part**: Select the part of the date you want to extract. Choose from:
      * **Year**
      * **Month**
      * **Week**
      * **Day**
      * **Hour**
      * **Minute**
      * **Second**
  * **Output Field Name**: Enter the name of the field to output the extracted date part to.

  ### Extract Part of a Date options

  This operation has one option: **Include Input Fields**. If you'd like to include all of the input fields in the output, turn this option on. If turned off, only the **Output Field Name** and its contents are output.

  ## Format a Date

  Configure the node for this operation using these parameters:

  * **Date**: Enter the date you want to format.
  * **Format**: Select the format you want to change the date to. Choose from:
      * **Custom Format**: Enter your own custom format using Luxon's [special tokens](https://moment.github.io/luxon/#/formatting?id=table-of-tokens){:target=_blank .external-link}. Tokens are case-sensitive.
      * **MM/DD/YYYY**: For `4 September 1986`, this formats the date as `09/04/1986`.
      * **YYYY/MM/DD**: For `4 September 1986`, this formats the date as `1986/09/04`.
      * **MMMM DD YYYY**: For `4 September 1986`, this formats the date as `September 04 1986`.
      * **MM-DD-YYYY**: For `4 September 1986`, this formats the date as `09-04-1986`.
      * **YYYY-MM-DD**: For `4 September 1986`, this formats the date as `1986-09-04`.
  * **Output Field Name**: Enter the name of the field to output the formatted date to.

  ### Format a Date options

  This operation includes these options:

  * **Include Input Fields**: If you'd like to include all of the input fields in the output, turn this option on. If turned off, only the **Output Field Name** and its contents are output.
  * **From Date Format**: If the node isn't recognizing the **Date** format correctly, enter the format for that **Date** here so the node can process it properly. Use Luxon's [special tokens](https://moment.github.io/luxon/#/formatting?id=table-of-tokens){:target=_blank .external-link} to enter the format. Tokens are case-sensitive
  * **Use Workflow Timezone**: Whether to use the input's time zone (turned off) or the workflow's timezone (turned on).

  ## Get Current Date

  Configure the node for this operation using these parameters:

  * **Include Current Time**: Choose whether to include the current time (turned on) or to set the time to midnight (turned off).
  * **Output Field Name**: Enter the name of the field to output the current date to.

  ### Get Current Date options

  This operation includes these options:

  * **Include Input Fields**: If you'd like to include all of the input fields in the output, turn this option on. If turned off, only the **Output Field Name** and its contents are output.
  * **Timezone**: Set the timezone to use. If left blank, the node uses the n8n instance's timezone.

  /// note | +00:00 timezone
  Use `GMT` for +00:00 timezone.
  ///

  ## Get Time Between Dates

  Configure the node for this operation using these parameters:

  * **Start Date**: Enter the earlier date you want to compare.
  * **End Date**: Enter the later date you want to compare.
  * **Units**: Select the units you want to calculate the time between. You can include multiple units. Choose from:
      * **Year**
      * **Month**
      * **Week**
      * **Day**
      * **Hour**
      * **Minute**
      * **Second**
      * **Millisecond**
  * **Output Field Name**: Enter the name of the field to output the calculated time between to.

  ### Get Time Between Dates options

  The Get Time Between Dates operation includes the **Include Input Fields** option as well as an **Output as ISO String** option. If you leave this option off, each unit you selected will return its own time difference calculation, for example:

      timeDifference
      years : 1
      months : 3
      days : 13

  If you turn on the **Output as ISO String** option, the node formats the output as a single ISO duration string, for example: `P1Y3M13D`.

  ISO duration format displays a format as `P<n>Y<n>M<n>DT<n>H<n>M<n>S`. `<n>` is the number for the unit after it.

  * P = period (duration). It begins all ISO duration strings.
  * Y = years
  * M = months
  * W = weeks
  * D = days
  * T = delineator between dates and times, used to avoid confusion between months and minutes
  * H = hours
  * M = minutes
  * S = seconds

  Milliseconds don't get their own unit, but instead are decimal seconds. For example, 2.1 milliseconds is `0.0021S`.

  ## Round a Date

  Configure the node for this operation using these parameters:

  * **Date**: Enter the date you'd like to round.
  * **Mode**: Choose whether to **Round Down** or **Round Up**.
  * **To Nearest**: Select the unit you'd like to round to. Choose from:
      * **Year**
      * **Month**
      * **Week**
      * **Day**
      * **Hour**
      * **Minute**
      * **Second**
  * **Output Field Name**: Enter the name of the field to output the rounded date to.

  ### Round a Date options

  This operation has one option: **Include Input Fields**. If you'd like to include all of the input fields in the output, turn this option on. If turned off, only the **Output Field Name** and its contents are output.

  ## Subtract From a Date

  Configure the node for this operation using these parameters:

  * **Date to Subtract From**: Enter the date you'd like to subtract from.
  * **Time Unit to Subtract**: Select the unit for the **Duration** amount you want to subtract.
  * **Duration**: Enter the amount of the time units you want to subtract from the **Date to Subtract From**.
  * **Output Field Name**: Enter the name of the field to output the rounded date to.

  ### Subtract From a Date options

  This operation has one option: **Include Input Fields**. If you'd like to include all of the input fields in the output, turn this option on. If turned off, only the **Output Field Name** and its contents are output.

  ## Templates and examples

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

  ## Related resources

  The Date & Time node uses [Luxon](https://moment.github.io/luxon){:target=_blank .external-link}. You can also use Luxon in the [Code](/code/code-node.md) node and [expressions](/code/expressions.md). Refer to [Date and time with Luxon](/code/cookbook/luxon.md) for more information.

  ### Supported date formats

  n8n supports all date formats [supported by Luxon](https://moment.github.io/luxon/#/formatting?id=table-of-tokens){:target=_blank .external-link}. Tokens are case-sensitive.

properties_schema:
  [
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "getCurrentDate",
      "options": [
        {
          "name": "Add to a Date",
          "value": "addToDate"
        },
        {
          "name": "Extract Part of a Date",
          "value": "extractDate"
        },
        {
          "name": "Format a Date",
          "value": "formatDate"
        },
        {
          "name": "Get Current Date",
          "value": "getCurrentDate"
        },
        {
          "name": "Get Time Between Dates",
          "value": "getTimeBetweenDates"
        },
        {
          "name": "Round a Date",
          "value": "roundDate"
        },
        {
          "name": "Subtract From a Date",
          "value": "subtractFromDate"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "You can also refer to the current date in n8n expressions by using <code>{{$now}}</code> or <code>{{$today}}</code>. <a target=\"_blank\" href=\"https://docs.n8n.io/code/cookbook/luxon/\">More info</a>",
      "name": "notice",
      "type": "notice",
      "default": "",
      "displayOptions": {
        "show": {
          "operation": [
            "getCurrentDate"
          ]
        }
      }
    },
    {
      "displayName": "Include Current Time",
      "name": "includeTime",
      "type": "boolean",
      "default": true,
      "description": "When deactivated, the time will be set to midnight",
      "displayOptions": {
        "show": {
          "operation": [
            "getCurrentDate"
          ]
        }
      }
    },
    {
      "displayName": "Output Field Name",
      "name": "outputFieldName",
      "type": "string",
      "default": "currentDate",
      "description": "Name of the field to put the output in",
      "displayOptions": {
        "show": {
          "operation": [
            "getCurrentDate"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Include Input Fields",
          "name": "includeInputFields",
          "type": "boolean",
          "default": false,
          "description": "Whether to include all fields of the input item in the output item"
        },
        {
          "displayName": "Timezone",
          "name": "timezone",
          "type": "string",
          "placeholder": "America/New_York",
          "default": "",
          "description": "The timezone to use. If not set, the timezone of the n8n instance will be used. Use ‘GMT’ for +00:00 timezone."
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "getCurrentDate"
          ]
        }
      }
    },
    {
      "displayName": "You can also do this using an expression, e.g. <code>{{your_date.plus(5, 'minutes')}}</code>. <a target='_blank' href='https://docs.n8n.io/code/cookbook/luxon/'>More info</a>",
      "name": "notice",
      "type": "notice",
      "default": "",
      "displayOptions": {
        "show": {
          "operation": [
            "addToDate"
          ]
        }
      }
    },
    {
      "displayName": "Date to Add To",
      "name": "magnitude",
      "type": "string",
      "default": "",
      "description": "The date that you want to change",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "addToDate"
          ]
        }
      }
    },
    {
      "displayName": "Time Unit to Add",
      "name": "timeUnit",
      "type": "options",
      "default": "days",
      "description": "Time unit for Duration parameter below",
      "options": [
        {
          "name": "Years",
          "value": "years"
        },
        {
          "name": "Quarters",
          "value": "quarters"
        },
        {
          "name": "Months",
          "value": "months"
        },
        {
          "name": "Weeks",
          "value": "weeks"
        },
        {
          "name": "Days",
          "value": "days"
        },
        {
          "name": "Hours",
          "value": "hours"
        },
        {
          "name": "Minutes",
          "value": "minutes"
        },
        {
          "name": "Seconds",
          "value": "seconds"
        },
        {
          "name": "Milliseconds",
          "value": "milliseconds"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "addToDate"
          ]
        }
      }
    },
    {
      "displayName": "Duration",
      "name": "duration",
      "type": "number",
      "default": 0,
      "description": "The number of time units to add to the date",
      "displayOptions": {
        "show": {
          "operation": [
            "addToDate"
          ]
        }
      }
    },
    {
      "displayName": "Output Field Name",
      "name": "outputFieldName",
      "type": "string",
      "default": "newDate",
      "description": "Name of the field to put the output in",
      "displayOptions": {
        "show": {
          "operation": [
            "addToDate"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Include Input Fields",
          "name": "includeInputFields",
          "type": "boolean",
          "default": false,
          "description": "Whether to include all fields of the input item in the output item"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "addToDate"
          ]
        }
      }
    },
    {
      "displayName": "You can also do this using an expression, e.g. <code>{{your_date.minus(5, 'minutes')}}</code>. <a target='_blank' href='https://docs.n8n.io/code/cookbook/luxon/'>More info</a>",
      "name": "notice",
      "type": "notice",
      "default": "",
      "displayOptions": {
        "show": {
          "operation": [
            "subtractFromDate"
          ]
        }
      }
    },
    {
      "displayName": "Date to Subtract From",
      "name": "magnitude",
      "type": "string",
      "default": "",
      "description": "The date that you want to change",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "subtractFromDate"
          ]
        }
      }
    },
    {
      "displayName": "Time Unit to Subtract",
      "name": "timeUnit",
      "type": "options",
      "default": "days",
      "description": "Time unit for Duration parameter below",
      "options": [
        {
          "name": "Years",
          "value": "years"
        },
        {
          "name": "Quarters",
          "value": "quarters"
        },
        {
          "name": "Months",
          "value": "months"
        },
        {
          "name": "Weeks",
          "value": "weeks"
        },
        {
          "name": "Days",
          "value": "days"
        },
        {
          "name": "Hours",
          "value": "hours"
        },
        {
          "name": "Minutes",
          "value": "minutes"
        },
        {
          "name": "Seconds",
          "value": "seconds"
        },
        {
          "name": "Milliseconds",
          "value": "milliseconds"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "subtractFromDate"
          ]
        }
      }
    },
    {
      "displayName": "Duration",
      "name": "duration",
      "type": "number",
      "default": 0,
      "description": "The number of time units to subtract from the date",
      "displayOptions": {
        "show": {
          "operation": [
            "subtractFromDate"
          ]
        }
      }
    },
    {
      "displayName": "Output Field Name",
      "name": "outputFieldName",
      "type": "string",
      "default": "newDate",
      "description": "Name of the field to put the output in",
      "displayOptions": {
        "show": {
          "operation": [
            "subtractFromDate"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Include Input Fields",
          "name": "includeInputFields",
          "type": "boolean",
          "default": false,
          "description": "Whether to include all fields of the input item in the output item"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "subtractFromDate"
          ]
        }
      }
    },
    {
      "displayName": "You can also do this using an expression, e.g. <code>{{your_date.format('yyyy-MM-dd')}}</code>. <a target='_blank' href='https://docs.n8n.io/code/cookbook/luxon/'>More info</a>",
      "name": "notice",
      "type": "notice",
      "default": "",
      "displayOptions": {
        "show": {
          "operation": [
            "formatDate"
          ]
        }
      }
    },
    {
      "displayName": "Date",
      "name": "date",
      "type": "string",
      "default": "",
      "description": "The date that you want to format",
      "displayOptions": {
        "show": {
          "operation": [
            "formatDate"
          ]
        }
      }
    },
    {
      "displayName": "Format",
      "name": "format",
      "type": "options",
      "default": "MM/dd/yyyy",
      "description": "The format to convert the date to",
      "options": [
        {
          "name": "Custom Format",
          "value": "custom"
        },
        {
          "name": "MM/DD/YYYY",
          "value": "MM/dd/yyyy",
          "description": "Example: 09/04/1986"
        },
        {
          "name": "YYYY/MM/DD",
          "value": "yyyy/MM/dd",
          "description": "Example: 1986/04/09"
        },
        {
          "name": "MMMM DD YYYY",
          "value": "MMMM dd yyyy",
          "description": "Example: April 09 1986"
        },
        {
          "name": "MM-DD-YYYY",
          "value": "MM-dd-yyyy",
          "description": "Example: 09-04-1986"
        },
        {
          "name": "YYYY-MM-DD",
          "value": "yyyy-MM-dd",
          "description": "Example: 1986-04-09"
        },
        {
          "name": "Unix Timestamp",
          "value": "X",
          "description": "Example: 1672531200"
        },
        {
          "name": "Unix Ms Timestamp",
          "value": "x",
          "description": "Example: 1674691200000"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "formatDate"
          ]
        }
      }
    },
    {
      "displayName": "Custom Format",
      "name": "customFormat",
      "type": "string",
      "default": "",
      "displayOptions": {
        "show": {
          "format": [
            "custom"
          ],
          "operation": [
            "formatDate"
          ]
        }
      }
    },
    {
      "displayName": "Output Field Name",
      "name": "outputFieldName",
      "type": "string",
      "default": "formattedDate",
      "description": "Name of the field to put the output in",
      "displayOptions": {
        "show": {
          "operation": [
            "formatDate"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Include Input Fields",
          "name": "includeInputFields",
          "type": "boolean",
          "default": false,
          "description": "Whether to include all fields of the input item in the output item"
        },
        {
          "displayName": "From Date Format",
          "name": "fromFormat",
          "type": "string",
          "default": "e.g yyyyMMdd",
          "hint": "Tokens are case sensitive",
          "description": "Format in which the input 'Date' is, it's helpful when the format is not recognized automatically. Use those <a href=\"https://moment.github.io/luxon/#/formatting?id=table-of-tokens&id=table-of-tokens\" target=\"_blank\">tokens</a> to define the format."
        },
        {
          "displayName": "Use Workflow Timezone",
          "name": "timezone",
          "type": "boolean",
          "default": false,
          "description": "Whether to use the timezone of the input or the workflow's timezone"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "formatDate"
          ]
        }
      }
    },
    {
      "displayName": "You can also do this using an expression, e.g. <code>{{ your_date.beginningOf('month') }}</code> or <code>{{ your_date.endOfMonth() }}</code>. <a target='_blank' href='https://docs.n8n.io/code/cookbook/luxon/'>More info</a>",
      "name": "notice",
      "type": "notice",
      "default": "",
      "displayOptions": {
        "show": {
          "operation": [
            "roundDate"
          ]
        }
      }
    },
    {
      "displayName": "Date",
      "name": "date",
      "type": "string",
      "default": "",
      "description": "The date that you want to round",
      "displayOptions": {
        "show": {
          "operation": [
            "roundDate"
          ]
        }
      }
    },
    {
      "displayName": "Mode",
      "name": "mode",
      "type": "options",
      "default": "roundDown",
      "options": [
        {
          "name": "Round Down",
          "value": "roundDown"
        },
        {
          "name": "Round Up",
          "value": "roundUp"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "roundDate"
          ]
        }
      }
    },
    {
      "displayName": "To Nearest",
      "name": "toNearest",
      "type": "options",
      "default": "month",
      "options": [
        {
          "name": "Year",
          "value": "year"
        },
        {
          "name": "Month",
          "value": "month"
        },
        {
          "name": "Week",
          "value": "week"
        },
        {
          "name": "Day",
          "value": "day"
        },
        {
          "name": "Hour",
          "value": "hour"
        },
        {
          "name": "Minute",
          "value": "minute"
        },
        {
          "name": "Second",
          "value": "second"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "roundDate"
          ],
          "mode": [
            "roundDown"
          ]
        }
      }
    },
    {
      "displayName": "To",
      "name": "to",
      "type": "options",
      "default": "month",
      "options": [
        {
          "name": "End of Month",
          "value": "month"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "roundDate"
          ],
          "mode": [
            "roundUp"
          ]
        }
      }
    },
    {
      "displayName": "Output Field Name",
      "name": "outputFieldName",
      "type": "string",
      "default": "roundedDate",
      "description": "Name of the field to put the output in",
      "displayOptions": {
        "show": {
          "operation": [
            "roundDate"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Include Input Fields",
          "name": "includeInputFields",
          "type": "boolean",
          "default": false,
          "description": "Whether to include all fields of the input item in the output item"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "roundDate"
          ]
        }
      }
    },
    {
      "displayName": "Start Date",
      "name": "startDate",
      "type": "string",
      "default": "",
      "displayOptions": {
        "show": {
          "operation": [
            "getTimeBetweenDates"
          ]
        }
      }
    },
    {
      "displayName": "End Date",
      "name": "endDate",
      "type": "string",
      "default": "",
      "displayOptions": {
        "show": {
          "operation": [
            "getTimeBetweenDates"
          ]
        }
      }
    },
    {
      "displayName": "Units",
      "name": "units",
      "type": "multiOptions",
      "default": [
        "day"
      ],
      "options": [
        {
          "name": "Year",
          "value": "year"
        },
        {
          "name": "Month",
          "value": "month"
        },
        {
          "name": "Week",
          "value": "week"
        },
        {
          "name": "Day",
          "value": "day"
        },
        {
          "name": "Hour",
          "value": "hour"
        },
        {
          "name": "Minute",
          "value": "minute"
        },
        {
          "name": "Second",
          "value": "second"
        },
        {
          "name": "Millisecond",
          "value": "millisecond"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "getTimeBetweenDates"
          ]
        }
      }
    },
    {
      "displayName": "Output Field Name",
      "name": "outputFieldName",
      "type": "string",
      "default": "timeDifference",
      "description": "Name of the field to put the output in",
      "displayOptions": {
        "show": {
          "operation": [
            "getTimeBetweenDates"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Include Input Fields",
          "name": "includeInputFields",
          "type": "boolean",
          "default": false,
          "description": "Whether to include all fields of the input item in the output item"
        },
        {
          "displayName": "Output as ISO String",
          "name": "isoString",
          "type": "boolean",
          "default": false,
          "description": "Whether to output the date as ISO string or not"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "getTimeBetweenDates"
          ]
        }
      }
    },
    {
      "displayName": "You can also do this using an expression, e.g. <code>{{ your_date.extract(\"month\") }}}</code>. <a target=\"_blank\" href=\"https://docs.n8n.io/code/cookbook/luxon/\">More info</a>",
      "name": "notice",
      "type": "notice",
      "default": "",
      "displayOptions": {
        "show": {
          "operation": [
            "extractDate"
          ]
        }
      }
    },
    {
      "displayName": "Date",
      "name": "date",
      "type": "string",
      "default": "",
      "description": "The date that you want to round",
      "displayOptions": {
        "show": {
          "operation": [
            "extractDate"
          ]
        }
      }
    },
    {
      "displayName": "Part",
      "name": "part",
      "type": "options",
      "default": "month",
      "options": [
        {
          "name": "Year",
          "value": "year"
        },
        {
          "name": "Month",
          "value": "month"
        },
        {
          "name": "Week",
          "value": "week"
        },
        {
          "name": "Day",
          "value": "day"
        },
        {
          "name": "Hour",
          "value": "hour"
        },
        {
          "name": "Minute",
          "value": "minute"
        },
        {
          "name": "Second",
          "value": "second"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "extractDate"
          ]
        }
      }
    },
    {
      "displayName": "Output Field Name",
      "name": "outputFieldName",
      "type": "string",
      "default": "datePart",
      "description": "Name of the field to put the output in",
      "displayOptions": {
        "show": {
          "operation": [
            "extractDate"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Include Input Fields",
          "name": "includeInputFields",
          "type": "boolean",
          "default": false,
          "description": "Whether to include all fields of the input item in the output item"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "extractDate"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "addToDate",
      "name": "Add to a Date"
    },
    {
      "operation": "extractDate",
      "name": "Extract Part of a Date"
    },
    {
      "operation": "formatDate",
      "name": "Format a Date"
    },
    {
      "operation": "getCurrentDate",
      "name": "Get Current Date"
    },
    {
      "operation": "getTimeBetweenDates",
      "name": "Get Time Between Dates"
    },
    {
      "operation": "roundDate",
      "name": "Round a Date"
    },
    {
      "operation": "subtractFromDate",
      "name": "Subtract From a Date"
    }
  ]


node_type: nodes-base.debugHelper
package_name: n8n-nodes-base
display_name: DebugHelper
description: Causes problems intentionally and generates useful data for debugging
category: output
development_style: programmatic
version: 1
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-01-06 10:26:56
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Debug Helper
  description: Documentation for the Debug Helper node in n8n, a workflow automation platform. Includes guidance on usage, and links to examples.
  contentType: [integration, reference]
  priority: medium
  ---

  # Debug Helper

  Use the Debug Helper node to trigger different error types or generate random datasets to help test n8n workflows.

  ## Operations

  Define the operation by selecting the **Category**:

  * **Do Nothing**: Don't do anything.
  * [**Throw Error**](#throw-error): Throw an error with the specified type and message.
  * [**Out Of Memory**](#out-of-memory): Generate a specific memory size to simulate being out of memory.
  * [**Generate Random Data**](#generate-random-data): Generate some random data in a selected format.

  ## Node parameters

  The node parameters depend on the **Category** selected. The **Do Nothing** Category has no other parameters.

  ### Throw Error

  * **Error Type**: Select the type of error to throw. Choose from:
  	* **NodeApiError**
  	* **NodeOperationError**
  	* **Error**
  * **Error Message**: Enter the error message to throw.

  ### Out Of Memory

  The Out of Memory Category adds one parameter, the **Memory Size to Generate**. Enter the approximate amount of memory to generate.

  ### Generate Random Data

  * **Data Type**: Choose the type of random data you'd like to generate. Options include:
  	* **Address**
  	* **Coordinates**
  	* **Credit Card**
  	* **Email**
  	* **IPv4**
  	* **IPv6**
  	* **MAC**
  	* **Nanoids**: If you select this data type, you'll also need to enter:
  		* **Nanoid Alphabet**: The alphabet the generator will use to generate the nanoids.
  		* **Nanoid Length**: The length of each nanoid.
  	* **URL**
  	* **User Data**
  	* **UUID**
  	* **Version**
  * **Seed**: If you'd like to generate the data using a specific seed, enter it here. This ensures the data gets generated consistently. If you'd rather use random data generation, leave this field empty.
  * **Number of Items to Generate**: Enter the number of random items you'd like to generate.
  * **Output as Single Array**: Whether to generate the data as a single array (turned on) or multiple items (turned off).

  ## Templates and examples

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

properties_schema:
  [
    {
      "displayName": "Category",
      "name": "category",
      "type": "options",
      "default": "throwError",
      "options": [
        {
          "name": "Do Nothing",
          "value": "doNothing",
          "description": "Does nothing"
        },
        {
          "name": "Throw Error",
          "value": "throwError",
          "description": "Throws an error with the specified type and message"
        },
        {
          "name": "Out Of Memory",
          "value": "oom",
          "description": "Generates a large amount of memory to cause an out of memory error"
        },
        {
          "name": "Generate Random Data",
          "value": "randomData",
          "description": "Generates random data sets"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Error Type",
      "name": "throwErrorType",
      "type": "options",
      "default": "NodeApiError",
      "options": [
        {
          "name": "NodeApiError",
          "value": "NodeApiError"
        },
        {
          "name": "NodeOperationError",
          "value": "NodeOperationError"
        },
        {
          "name": "Error",
          "value": "Error"
        }
      ],
      "displayOptions": {
        "show": {
          "category": [
            "throwError"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Error Message",
      "name": "throwErrorMessage",
      "type": "string",
      "default": "Node has thrown an error",
      "description": "The message to send as part of the error",
      "displayOptions": {
        "show": {
          "category": [
            "throwError"
          ]
        }
      }
    },
    {
      "displayName": "Memory Size to Generate",
      "name": "memorySizeValue",
      "type": "number",
      "default": 10,
      "description": "The approximate amount of memory to generate. Be generous...",
      "displayOptions": {
        "show": {
          "category": [
            "oom"
          ]
        }
      }
    },
    {
      "displayName": "Data Type",
      "name": "randomDataType",
      "type": "options",
      "default": "user",
      "options": [
        {
          "name": "Address",
          "value": "address"
        },
        {
          "name": "Coordinates",
          "value": "latLong"
        },
        {
          "name": "Credit Card",
          "value": "creditCard"
        },
        {
          "name": "Email",
          "value": "email"
        },
        {
          "name": "IPv4",
          "value": "ipv4"
        },
        {
          "name": "IPv6",
          "value": "ipv6"
        },
        {
          "name": "MAC",
          "value": "macAddress"
        },
        {
          "name": "NanoIds",
          "value": "nanoid"
        },
        {
          "name": "URL",
          "value": "url"
        },
        {
          "name": "User Data",
          "value": "user"
        },
        {
          "name": "UUID",
          "value": "uuid"
        },
        {
          "name": "Version",
          "value": "semver"
        }
      ],
      "displayOptions": {
        "show": {
          "category": [
            "randomData"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "NanoId Alphabet",
      "name": "nanoidAlphabet",
      "type": "string",
      "default": "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",
      "description": "The alphabet to use for generating the nanoIds",
      "displayOptions": {
        "show": {
          "category": [
            "randomData"
          ],
          "randomDataType": [
            "nanoid"
          ]
        }
      }
    },
    {
      "displayName": "NanoId Length",
      "name": "nanoidLength",
      "type": "string",
      "default": "16",
      "description": "The length of each nanoIds",
      "displayOptions": {
        "show": {
          "category": [
            "randomData"
          ],
          "randomDataType": [
            "nanoid"
          ]
        }
      }
    },
    {
      "displayName": "Seed",
      "name": "randomDataSeed",
      "type": "string",
      "default": "",
      "description": "If set, seed to use for generating the data (same seed will generate the same data)",
      "displayOptions": {
        "show": {
          "category": [
            "randomData"
          ]
        }
      }
    },
    {
      "displayName": "Number of Items to Generate",
      "name": "randomDataCount",
      "type": "number",
      "default": 10,
      "description": "The number of random data items to generate into an array",
      "displayOptions": {
        "show": {
          "category": [
            "randomData"
          ]
        }
      }
    },
    {
      "displayName": "Output as Single Array",
      "name": "randomDataSingleArray",
      "type": "boolean",
      "default": false,
      "description": "Whether to output a single array instead of multiple items",
      "displayOptions": {
        "show": {
          "category": [
            "randomData"
          ]
        }
      }
    }
  ]


node_type: nodes-base.deepLTool
package_name: n8n-nodes-base
display_name: DeepL Tool
description: Translate data using DeepL (AI Tool variant for use with AI Agents)
category: input
development_style: programmatic
version: 1
credentials_required:
  [
  {
  "name": "deepLApi",
  "required": true
  }
  ]

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

output_names:
  [
  "Tool"
  ]

updated_at: 2026-01-06 10:26:56
tool_variant_of: nodes-base.deepL
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: DeepL node documentation
  description: Learn how to use the DeepL node in n8n. Follow technical documentation to integrate DeepL node into your workflows.
  contentType: [integration, reference]
  ---

  # DeepL node

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

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

  /// note | Credentials
  Refer to [DeepL credentials](/integrations/builtin/credentials/deepl.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, 'deepl') ]]

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

properties_schema:
  [
    {
      "displayName": "Tool Description",
      "name": "toolDescription",
      "type": "string",
      "default": "",
      "required": false,
      "description": "Description for the AI to understand what this tool does and when to use it",
      "typeOptions": {
        "rows": 3
      },
      "placeholder": "e.g., Use this tool to interact with DeepL"
    },
    {
      "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": "Input text to translate",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "translate"
          ]
        }
      }
    },
    {
      "displayName": "Target Language Name or ID",
      "name": "translateTo",
      "type": "options",
      "default": "",
      "description": "Language to translate 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": {
          "operation": [
            "translate"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getLanguages"
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Source Language Name or ID",
          "name": "sourceLang",
          "type": "options",
          "default": "",
          "description": "Language to translate from. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
          "typeOptions": {
            "loadOptionsMethod": "getLanguages"
          }
        },
        {
          "displayName": "Split Sentences",
          "name": "splitSentences",
          "type": "options",
          "default": "1",
          "description": "How the translation engine should split sentences",
          "options": [
            {
              "name": "Interpunction Only",
              "value": "nonewlines",
              "description": "Split text on interpunction only, ignoring newlines"
            },
            {
              "name": "No Splitting",
              "value": "0",
              "description": "Treat all text as a single sentence"
            },
            {
              "name": "On Punctuation and Newlines",
              "value": "1",
              "description": "Split text on interpunction and newlines"
            }
          ]
        },
        {
          "displayName": "Preserve Formatting",
          "name": "preserveFormatting",
          "type": "options",
          "default": "0",
          "description": "Whether the translation engine should respect the original formatting, even if it would usually correct some aspects",
          "options": [
            {
              "name": "Apply Corrections",
              "value": "0",
              "description": "Fix punctuation at the beginning and end of sentences and fixes lower/upper caseing at the beginning"
            },
            {
              "name": "Do Not Correct",
              "value": "1",
              "description": "Keep text as similar as possible to the original"
            }
          ]
        },
        {
          "displayName": "Formality",
          "name": "formality",
          "type": "options",
          "default": "default",
          "description": "How formal or informal the target text should be. May not be supported with all languages.",
          "options": [
            {
              "name": "Formal",
              "value": "more"
            },
            {
              "name": "Informal",
              "value": "less"
            },
            {
              "name": "Neutral",
              "value": "default"
            }
          ]
        }
      ]
    }
  ]

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


node_type: nodes-base.deepL
package_name: n8n-nodes-base
display_name: DeepL
description: Translate data using DeepL
category: input
development_style: programmatic
version: 1
credentials_required:
  [
  {
  "name": "deepLApi",
  "required": true
  }
  ]

outputs:
  [
  "main"
  ]

updated_at: 2026-01-06 10:26:56
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: DeepL node documentation
  description: Learn how to use the DeepL node in n8n. Follow technical documentation to integrate DeepL node into your workflows.
  contentType: [integration, reference]
  ---

  # DeepL node

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

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

  /// note | Credentials
  Refer to [DeepL credentials](/integrations/builtin/credentials/deepl.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, 'deepl') ]]

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

properties_schema:
  [
    {
      "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": "Input text to translate",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "translate"
          ]
        }
      }
    },
    {
      "displayName": "Target Language Name or ID",
      "name": "translateTo",
      "type": "options",
      "default": "",
      "description": "Language to translate 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": {
          "operation": [
            "translate"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getLanguages"
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Source Language Name or ID",
          "name": "sourceLang",
          "type": "options",
          "default": "",
          "description": "Language to translate from. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
          "typeOptions": {
            "loadOptionsMethod": "getLanguages"
          }
        },
        {
          "displayName": "Split Sentences",
          "name": "splitSentences",
          "type": "options",
          "default": "1",
          "description": "How the translation engine should split sentences",
          "options": [
            {
              "name": "Interpunction Only",
              "value": "nonewlines",
              "description": "Split text on interpunction only, ignoring newlines"
            },
            {
              "name": "No Splitting",
              "value": "0",
              "description": "Treat all text as a single sentence"
            },
            {
              "name": "On Punctuation and Newlines",
              "value": "1",
              "description": "Split text on interpunction and newlines"
            }
          ]
        },
        {
          "displayName": "Preserve Formatting",
          "name": "preserveFormatting",
          "type": "options",
          "default": "0",
          "description": "Whether the translation engine should respect the original formatting, even if it would usually correct some aspects",
          "options": [
            {
              "name": "Apply Corrections",
              "value": "0",
              "description": "Fix punctuation at the beginning and end of sentences and fixes lower/upper caseing at the beginning"
            },
            {
              "name": "Do Not Correct",
              "value": "1",
              "description": "Keep text as similar as possible to the original"
            }
          ]
        },
        {
          "displayName": "Formality",
          "name": "formality",
          "type": "options",
          "default": "default",
          "description": "How formal or informal the target text should be. May not be supported with all languages.",
          "options": [
            {
              "name": "Formal",
              "value": "more"
            },
            {
              "name": "Informal",
              "value": "less"
            },
            {
              "name": "Neutral",
              "value": "default"
            }
          ]
        }
      ]
    }
  ]

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


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

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

output_names:
  [
  "Tool"
  ]

updated_at: 2026-01-06 10:26:56
tool_variant_of: nodes-base.demio
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Demio node documentation
  description: Learn how to use the Demio node in n8n. Follow technical documentation to integrate Demio node into your workflows.
  contentType: [integration, reference]
  ---

  # Demio node

  Use the Demio node to automate work in Demio, and integrate Demio with other applications. n8n has built-in support for a wide range of Demio features, including getting, and registering events and reports.

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

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

  ## Operations

  * Event
      * Get an event
      * Get all events
      * Register someone to an event
  * Report
      * Get an event report

  ## Templates and examples

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

properties_schema:
  [
    {
      "displayName": "Tool Description",
      "name": "toolDescription",
      "type": "string",
      "default": "",
      "required": false,
      "description": "Description for the AI to understand what this tool does and when to use it",
      "typeOptions": {
        "rows": 3
      },
      "placeholder": "e.g., Use this tool to interact with Demio"
    },
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "event",
      "options": [
        {
          "name": "Event",
          "value": "event"
        },
        {
          "name": "Report",
          "value": "report"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "description": "Get an event",
          "action": "Get an event"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many events",
          "action": "Get many events"
        },
        {
          "name": "Register",
          "value": "register",
          "description": "Register someone to an event",
          "action": "Register an event"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "event"
          ]
        }
      },
      "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": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "event"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "event"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 500
      }
    },
    {
      "displayName": "Filters",
      "name": "filters",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Type",
          "name": "type",
          "type": "options",
          "options": [
            {
              "name": "Automated",
              "value": "automated"
            },
            {
              "name": "Past",
              "value": "past"
            },
            {
              "name": "Upcoming",
              "value": "upcoming"
            }
          ],
          "default": ""
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "event"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Event ID",
      "name": "eventId",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "event"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Active",
          "name": "active",
          "type": "boolean",
          "default": false,
          "description": "Whether to return only active dates in series"
        },
        {
          "displayName": "Session ID",
          "name": "date_id",
          "type": "string",
          "default": "",
          "description": "Event Date ID"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "event"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Event Name or ID",
      "name": "eventId",
      "type": "options",
      "default": "",
      "description": "Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
      "displayOptions": {
        "show": {
          "resource": [
            "event"
          ],
          "operation": [
            "register"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getEvents"
      }
    },
    {
      "displayName": "First Name",
      "name": "firstName",
      "type": "string",
      "default": "",
      "description": "The registrant's first name",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "event"
          ],
          "operation": [
            "register"
          ]
        }
      }
    },
    {
      "displayName": "Email",
      "name": "email",
      "type": "string",
      "default": "",
      "description": "The registrant's email address",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "event"
          ],
          "operation": [
            "register"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Company",
          "name": "company",
          "type": "string",
          "default": "",
          "description": "The value for the predefined Company field"
        },
        {
          "displayName": "Custom Fields",
          "name": "customFieldsUi",
          "placeholder": "Add Field",
          "type": "fixedCollection",
          "typeOptions": {
            "multipleValues": true
          },
          "default": {},
          "options": [
            {
              "name": "customFieldsValues",
              "displayName": "Custom Field",
              "values": [
                {
                  "displayName": "Field ID",
                  "name": "fieldId",
                  "type": "string",
                  "default": "",
                  "description": "Each custom field's unique identifier can be found within the Event's Registration block in the Customize tab"
                },
                {
                  "displayName": "Value",
                  "name": "value",
                  "type": "string",
                  "default": "",
                  "description": "The value to set on custom field"
                }
              ]
            }
          ]
        },
        {
          "displayName": "Event Registration URL",
          "name": "ref_url",
          "type": "string",
          "default": "",
          "description": "Event Registration page URL. It can be useful when you do not know Event ID, but have Event link."
        },
        {
          "displayName": "GDPR",
          "name": "gdpr",
          "type": "string",
          "default": "",
          "description": "The value for the predefined GDPR field"
        },
        {
          "displayName": "Last Name",
          "name": "last_name",
          "type": "string",
          "default": "",
          "description": "The value for the predefined Last Name field"
        },
        {
          "displayName": "Phone Number",
          "name": "phone_number",
          "type": "string",
          "default": "",
          "description": "The value for the predefined Phone Number field"
        },
        {
          "displayName": "Session Name or ID",
          "name": "date_id",
          "type": "options",
          "typeOptions": {
            "loadOptionsMethod": "getEventSessions",
            "loadOptionsDependsOn": [
              "eventId"
            ]
          },
          "default": "",
          "description": "Event Session ID. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        },
        {
          "displayName": "Website",
          "name": "website",
          "type": "string",
          "default": "",
          "description": "The value for the predefined Website field"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "event"
          ],
          "operation": [
            "register"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "description": "Get an event report",
          "action": "Get a report"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "report"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Event Name or ID",
      "name": "eventId",
      "type": "options",
      "default": "",
      "description": "Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
      "displayOptions": {
        "show": {
          "resource": [
            "report"
          ],
          "operation": [
            "get"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getEvents"
      }
    },
    {
      "displayName": "Session Name or ID",
      "name": "dateId",
      "type": "options",
      "default": "",
      "description": "ID of the session. 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": [
            "report"
          ],
          "operation": [
            "get"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getEventSessions",
        "loadOptionsDependsOn": [
          "eventId"
        ]
      }
    },
    {
      "displayName": "Filters",
      "name": "filters",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Status",
          "name": "status",
          "type": "options",
          "options": [
            {
              "name": "Attended",
              "value": "attended"
            },
            {
              "name": "Banned",
              "value": "banned"
            },
            {
              "name": "Completed",
              "value": "completed"
            },
            {
              "name": "Did Not Attend",
              "value": "did-not-attend"
            },
            {
              "name": "Left Early",
              "value": "left-early"
            }
          ],
          "default": "",
          "description": "Filter results by participation status"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "report"
          ],
          "operation": [
            "get"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "get",
      "name": "Get",
      "description": "Get an event"
    },
    {
      "operation": "getAll",
      "name": "Get Many",
      "description": "Get many events"
    },
    {
      "operation": "register",
      "name": "Register",
      "description": "Register someone to an event"
    }
  ]


node_type: nodes-base.demio
package_name: n8n-nodes-base
display_name: Demio
description: Consume the Demio API
category: output
development_style: programmatic
version: 1
credentials_required:
  [
  {
  "name": "demioApi",
  "required": true
  }
  ]

outputs:
  [
  "main"
  ]

updated_at: 2026-01-06 10:26:56
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Demio node documentation
  description: Learn how to use the Demio node in n8n. Follow technical documentation to integrate Demio node into your workflows.
  contentType: [integration, reference]
  ---

  # Demio node

  Use the Demio node to automate work in Demio, and integrate Demio with other applications. n8n has built-in support for a wide range of Demio features, including getting, and registering events and reports.

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

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

  ## Operations

  * Event
      * Get an event
      * Get all events
      * Register someone to an event
  * Report
      * Get an event report

  ## Templates and examples

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

properties_schema:
  [
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "event",
      "options": [
        {
          "name": "Event",
          "value": "event"
        },
        {
          "name": "Report",
          "value": "report"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "description": "Get an event",
          "action": "Get an event"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many events",
          "action": "Get many events"
        },
        {
          "name": "Register",
          "value": "register",
          "description": "Register someone to an event",
          "action": "Register an event"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "event"
          ]
        }
      },
      "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": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "event"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "event"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 500
      }
    },
    {
      "displayName": "Filters",
      "name": "filters",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Type",
          "name": "type",
          "type": "options",
          "options": [
            {
              "name": "Automated",
              "value": "automated"
            },
            {
              "name": "Past",
              "value": "past"
            },
            {
              "name": "Upcoming",
              "value": "upcoming"
            }
          ],
          "default": ""
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "event"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Event ID",
      "name": "eventId",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "event"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Active",
          "name": "active",
          "type": "boolean",
          "default": false,
          "description": "Whether to return only active dates in series"
        },
        {
          "displayName": "Session ID",
          "name": "date_id",
          "type": "string",
          "default": "",
          "description": "Event Date ID"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "event"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Event Name or ID",
      "name": "eventId",
      "type": "options",
      "default": "",
      "description": "Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
      "displayOptions": {
        "show": {
          "resource": [
            "event"
          ],
          "operation": [
            "register"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getEvents"
      }
    },
    {
      "displayName": "First Name",
      "name": "firstName",
      "type": "string",
      "default": "",
      "description": "The registrant's first name",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "event"
          ],
          "operation": [
            "register"
          ]
        }
      }
    },
    {
      "displayName": "Email",
      "name": "email",
      "type": "string",
      "default": "",
      "description": "The registrant's email address",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "event"
          ],
          "operation": [
            "register"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Company",
          "name": "company",
          "type": "string",
          "default": "",
          "description": "The value for the predefined Company field"
        },
        {
          "displayName": "Custom Fields",
          "name": "customFieldsUi",
          "placeholder": "Add Field",
          "type": "fixedCollection",
          "typeOptions": {
            "multipleValues": true
          },
          "default": {},
          "options": [
            {
              "name": "customFieldsValues",
              "displayName": "Custom Field",
              "values": [
                {
                  "displayName": "Field ID",
                  "name": "fieldId",
                  "type": "string",
                  "default": "",
                  "description": "Each custom field's unique identifier can be found within the Event's Registration block in the Customize tab"
                },
                {
                  "displayName": "Value",
                  "name": "value",
                  "type": "string",
                  "default": "",
                  "description": "The value to set on custom field"
                }
              ]
            }
          ]
        },
        {
          "displayName": "Event Registration URL",
          "name": "ref_url",
          "type": "string",
          "default": "",
          "description": "Event Registration page URL. It can be useful when you do not know Event ID, but have Event link."
        },
        {
          "displayName": "GDPR",
          "name": "gdpr",
          "type": "string",
          "default": "",
          "description": "The value for the predefined GDPR field"
        },
        {
          "displayName": "Last Name",
          "name": "last_name",
          "type": "string",
          "default": "",
          "description": "The value for the predefined Last Name field"
        },
        {
          "displayName": "Phone Number",
          "name": "phone_number",
          "type": "string",
          "default": "",
          "description": "The value for the predefined Phone Number field"
        },
        {
          "displayName": "Session Name or ID",
          "name": "date_id",
          "type": "options",
          "typeOptions": {
            "loadOptionsMethod": "getEventSessions",
            "loadOptionsDependsOn": [
              "eventId"
            ]
          },
          "default": "",
          "description": "Event Session ID. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        },
        {
          "displayName": "Website",
          "name": "website",
          "type": "string",
          "default": "",
          "description": "The value for the predefined Website field"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "event"
          ],
          "operation": [
            "register"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "description": "Get an event report",
          "action": "Get a report"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "report"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Event Name or ID",
      "name": "eventId",
      "type": "options",
      "default": "",
      "description": "Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
      "displayOptions": {
        "show": {
          "resource": [
            "report"
          ],
          "operation": [
            "get"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getEvents"
      }
    },
    {
      "displayName": "Session Name or ID",
      "name": "dateId",
      "type": "options",
      "default": "",
      "description": "ID of the session. 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": [
            "report"
          ],
          "operation": [
            "get"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getEventSessions",
        "loadOptionsDependsOn": [
          "eventId"
        ]
      }
    },
    {
      "displayName": "Filters",
      "name": "filters",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Status",
          "name": "status",
          "type": "options",
          "options": [
            {
              "name": "Attended",
              "value": "attended"
            },
            {
              "name": "Banned",
              "value": "banned"
            },
            {
              "name": "Completed",
              "value": "completed"
            },
            {
              "name": "Did Not Attend",
              "value": "did-not-attend"
            },
            {
              "name": "Left Early",
              "value": "left-early"
            }
          ],
          "default": "",
          "description": "Filter results by participation status"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "report"
          ],
          "operation": [
            "get"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "get",
      "name": "Get",
      "description": "Get an event"
    },
    {
      "operation": "getAll",
      "name": "Get Many",
      "description": "Get many events"
    },
    {
      "operation": "register",
      "name": "Register",
      "description": "Register someone to an event"
    }
  ]


node_type: nodes-base.dhlTool
package_name: n8n-nodes-base
display_name: DHL Tool
description: Consume DHL API (AI Tool variant for use with AI Agents)
category: input
development_style: programmatic
version: 1
operations:
  [
  {
  "operation": "get",
  "name": "Get Tracking Details"
  }
  ]

credentials_required:
  [
  {
  "name": "dhlApi",
  "required": true,
  "testedBy": "dhlApiCredentialTest"
  }
  ]

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

output_names:
  [
  "Tool"
  ]

updated_at: 2026-01-06 10:26:56
tool_variant_of: nodes-base.dhl
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: DHL node documentation
  description: Learn how to use the DHL node in n8n. Follow technical documentation to integrate DHL node into your workflows.
  contentType: [integration, reference]
  priority: medium
  ---

  # DHL node

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

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

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

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

  ## Operations

  * Shipment
      * Get Tracking Details

  ## Templates and examples

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

properties_schema:
  [
    {
      "displayName": "Tool Description",
      "name": "toolDescription",
      "type": "string",
      "default": "",
      "required": false,
      "description": "Description for the AI to understand what this tool does and when to use it",
      "typeOptions": {
        "rows": 3
      },
      "placeholder": "e.g., Use this tool to interact with DHL"
    },
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "hidden",
      "default": "shipment",
      "options": [
        {
          "name": "Shipment",
          "value": "shipment"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get Tracking Details",
          "value": "get",
          "action": "Get tracking details for a shipment"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "shipment"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Tracking Number",
      "name": "trackingNumber",
      "type": "string",
      "default": "",
      "required": true
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Recipient's Postal Code",
          "name": "recipientPostalCode",
          "type": "string",
          "default": "",
          "description": "DHL will return more detailed information on the shipment when you provide the Recipient's Postal Code - it acts as a verification step"
        }
      ]
    }
  ]


node_type: nodes-base.dhl
package_name: n8n-nodes-base
display_name: DHL
description: Consume DHL API
category: input
development_style: programmatic
version: 1
operations:
  [
  {
  "operation": "get",
  "name": "Get Tracking Details"
  }
  ]

credentials_required:
  [
  {
  "name": "dhlApi",
  "required": true,
  "testedBy": "dhlApiCredentialTest"
  }
  ]

outputs:
  [
  "main"
  ]

updated_at: 2026-01-06 10:26:56
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: DHL node documentation
  description: Learn how to use the DHL node in n8n. Follow technical documentation to integrate DHL node into your workflows.
  contentType: [integration, reference]
  priority: medium
  ---

  # DHL node

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

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

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

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

  ## Operations

  * Shipment
      * Get Tracking Details

  ## Templates and examples

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

properties_schema:
  [
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "hidden",
      "default": "shipment",
      "options": [
        {
          "name": "Shipment",
          "value": "shipment"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get Tracking Details",
          "value": "get",
          "action": "Get tracking details for a shipment"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "shipment"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Tracking Number",
      "name": "trackingNumber",
      "type": "string",
      "default": "",
      "required": true
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Recipient's Postal Code",
          "name": "recipientPostalCode",
          "type": "string",
          "default": "",
          "description": "DHL will return more detailed information on the shipment when you provide the Recipient's Postal Code - it acts as a verification step"
        }
      ]
    }
  ]


node_type: nodes-base.discord
package_name: n8n-nodes-base
display_name: Discord
description: Sends data to Discord
category: output
development_style: programmatic
version: 2
outputs:
  [
  "main"
  ]

updated_at: 2026-01-06 10:26:56
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Discord node documentation
  description: Learn how to use the Discord node in n8n. Follow technical documentation to integrate Discord node into your workflows.
  contentType: [integration, reference]
  priority: high
  ---

  # Discord node

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

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

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

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

  ## Operations
  <!-- vale off -->
  <!-- "Many" triggers warnings -->

  - Channel
  	- Create
  	- Delete
  	- Get
  	- Get Many
  	- Update
  - Message
  	- Delete
  	- Get
  	- Get Many
  	- React with Emoji
  	- Send
  	* Send and Wait for Response
  - Member
  	- Get Many
  	- Role Add
  	- Role Remove

  --8<-- "_snippets/integrations/builtin/send-and-wait-operation.md"

  <!-- vale on -->

  ## Templates and examples

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

  ## Related resources

  Refer to [Discord's documentation](https://discord.com/developers/docs/intro){:target=_blank .external-link} for more information about the service.

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

  ## Common issues

  For common errors or issues and suggested resolution steps, refer to [Common Issues](/integrations/builtin/app-nodes/n8n-nodes-base.discord/common-issues.md).

properties_schema:
  [
    {
      "displayName": "Connection Type",
      "name": "authentication",
      "type": "options",
      "default": "botToken",
      "options": [
        {
          "name": "Bot Token",
          "value": "botToken",
          "description": "Manage messages, channels, and members on a server"
        },
        {
          "name": "OAuth2",
          "value": "oAuth2",
          "description": "Same features as 'Bot Token' with easier Bot installation"
        },
        {
          "name": "Webhook",
          "value": "webhook",
          "description": "Send messages to a specific channel"
        }
      ]
    },
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "channel",
      "options": [
        {
          "name": "Channel",
          "value": "channel"
        },
        {
          "name": "Message",
          "value": "message"
        },
        {
          "name": "Member",
          "value": "member"
        }
      ],
      "displayOptions": {
        "hide": {
          "authentication": [
            "webhook"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "send",
      "options": [
        {
          "name": "Delete",
          "value": "deleteMessage",
          "description": "Delete a message in a channel",
          "action": "Delete a message"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get a message in a channel",
          "action": "Get a message"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Retrieve the latest messages in a channel",
          "action": "Get many messages"
        },
        {
          "name": "React with Emoji",
          "value": "react",
          "description": "React to a message with an emoji",
          "action": "React with an emoji to a message"
        },
        {
          "name": "Send",
          "value": "send",
          "description": "Send a message to a channel, thread, or member",
          "action": "Send a message"
        },
        {
          "name": "Send and Wait for Response",
          "value": "sendAndWait",
          "description": "Send a message and wait for response",
          "action": "Send message and wait for response"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "authentication": [
            "botToken",
            "oAuth2"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Server",
      "name": "guildId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "Select the server (guild) that your bot is connected to",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "authentication": [
            "botToken",
            "oAuth2"
          ]
        }
      },
      "modes": [
        {
          "displayName": "By Name",
          "name": "list",
          "type": "list",
          "placeholder": "e.g. my-server",
          "typeOptions": {
            "searchListMethod": "guildSearch"
          }
        },
        {
          "displayName": "By URL",
          "name": "url",
          "type": "string",
          "placeholder": "e.g. https://discord.com/channels/[guild-id]",
          "extractValue": {
            "type": "regex",
            "regex": "https:\\/\\/discord.com\\/channels\\/([0-9]+)"
          },
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "https:\\/\\/discord.com\\/channels\\/([0-9]+)",
                "errorMessage": "Not a valid Discord Server URL"
              }
            }
          ]
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. 896347036838936576",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[0-9]+",
                "errorMessage": "Not a valid Discord Server ID"
              }
            }
          ]
        }
      ]
    },
    {
      "displayName": "Channel",
      "name": "channelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "Select the channel by name, URL, or ID",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "getAll"
          ]
        },
        "hide": {
          "authentication": [
            "webhook"
          ]
        }
      },
      "modes": [
        {
          "displayName": "By Name",
          "name": "list",
          "type": "list",
          "placeholder": "e.g. my-channel",
          "typeOptions": {
            "searchListMethod": "channelSearch"
          }
        },
        {
          "displayName": "By URL",
          "name": "url",
          "type": "string",
          "placeholder": "e.g. https://discord.com/channels/[guild-id]/[channel-id]",
          "extractValue": {
            "type": "regex",
            "regex": "https:\\/\\/discord.com\\/channels\\/[0-9]+\\/([0-9]+)"
          },
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "https:\\/\\/discord.com\\/channels\\/[0-9]+\\/([0-9]+)",
                "errorMessage": "Not a valid Discord Channel URL"
              }
            }
          ]
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. 896347036838936576",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[0-9]+",
                "errorMessage": "Not a valid Discord Channel ID"
              }
            }
          ]
        }
      ]
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "getAll"
          ]
        },
        "hide": {
          "authentication": [
            "webhook"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "returnAll": [
            false
          ],
          "resource": [
            "message"
          ],
          "operation": [
            "getAll"
          ]
        },
        "hide": {
          "authentication": [
            "webhook"
          ]
        }
      },
      "typeOptions": {
        "minValue": 1
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Simplify",
          "name": "simplify",
          "type": "boolean",
          "default": true,
          "description": "Whether to return a simplified version of the response instead of the raw data"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "getAll"
          ]
        },
        "hide": {
          "authentication": [
            "webhook"
          ]
        }
      }
    },
    {
      "displayName": "Channel",
      "name": "channelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "Select the channel by name, URL, or ID",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "react"
          ]
        },
        "hide": {
          "authentication": [
            "webhook"
          ]
        }
      },
      "modes": [
        {
          "displayName": "By Name",
          "name": "list",
          "type": "list",
          "placeholder": "e.g. my-channel",
          "typeOptions": {
            "searchListMethod": "channelSearch"
          }
        },
        {
          "displayName": "By URL",
          "name": "url",
          "type": "string",
          "placeholder": "e.g. https://discord.com/channels/[guild-id]/[channel-id]",
          "extractValue": {
            "type": "regex",
            "regex": "https:\\/\\/discord.com\\/channels\\/[0-9]+\\/([0-9]+)"
          },
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "https:\\/\\/discord.com\\/channels\\/[0-9]+\\/([0-9]+)",
                "errorMessage": "Not a valid Discord Channel URL"
              }
            }
          ]
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. 896347036838936576",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[0-9]+",
                "errorMessage": "Not a valid Discord Channel ID"
              }
            }
          ]
        }
      ]
    },
    {
      "displayName": "Message ID",
      "name": "messageId",
      "type": "string",
      "default": "",
      "description": "The ID of the message",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "react"
          ]
        },
        "hide": {
          "authentication": [
            "webhook"
          ]
        }
      }
    },
    {
      "displayName": "Emoji",
      "name": "emoji",
      "type": "string",
      "default": "",
      "description": "The emoji you want to react with",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "react"
          ]
        },
        "hide": {
          "authentication": [
            "webhook"
          ]
        }
      }
    },
    {
      "displayName": "Send To",
      "name": "sendTo",
      "type": "options",
      "default": "channel",
      "description": "Send message to a channel or DM to a user",
      "options": [
        {
          "name": "User",
          "value": "user"
        },
        {
          "name": "Channel",
          "value": "channel"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "send"
          ]
        },
        "hide": {
          "authentication": [
            "webhook"
          ]
        }
      }
    },
    {
      "displayName": "User",
      "name": "userId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "Select the user you want to assign a role to",
      "displayOptions": {
        "show": {
          "sendTo": [
            "user"
          ],
          "resource": [
            "message"
          ],
          "operation": [
            "send"
          ]
        },
        "hide": {
          "authentication": [
            "webhook"
          ]
        }
      },
      "modes": [
        {
          "displayName": "By Name",
          "name": "list",
          "type": "list",
          "placeholder": "e.g. DiscordUser",
          "typeOptions": {
            "searchListMethod": "userSearch"
          }
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. 786953432728469534",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[0-9]+",
                "errorMessage": "Not a valid User ID"
              }
            }
          ]
        }
      ]
    },
    {
      "displayName": "Channel",
      "name": "channelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "Select the channel by name, URL, or ID",
      "required": true,
      "displayOptions": {
        "show": {
          "sendTo": [
            "channel"
          ],
          "resource": [
            "message"
          ],
          "operation": [
            "send"
          ]
        },
        "hide": {
          "authentication": [
            "webhook"
          ]
        }
      },
      "modes": [
        {
          "displayName": "By Name",
          "name": "list",
          "type": "list",
          "placeholder": "e.g. my-channel",
          "typeOptions": {
            "searchListMethod": "textChannelSearch"
          }
        },
        {
          "displayName": "By URL",
          "name": "url",
          "type": "string",
          "placeholder": "e.g. https://discord.com/channels/[guild-id]/[channel-id]",
          "extractValue": {
            "type": "regex",
            "regex": "https:\\/\\/discord.com\\/channels\\/[0-9]+\\/([0-9]+)"
          },
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "https:\\/\\/discord.com\\/channels\\/[0-9]+\\/([0-9]+)",
                "errorMessage": "Not a valid Discord Channel URL"
              }
            }
          ]
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. 896347036838936576",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[0-9]+",
                "errorMessage": "Not a valid Discord Channel ID"
              }
            }
          ]
        }
      ]
    },
    {
      "displayName": "Message",
      "name": "content",
      "type": "string",
      "default": "",
      "description": "The content of the message (up to 2000 characters)",
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "send"
          ]
        },
        "hide": {
          "authentication": [
            "webhook"
          ]
        }
      },
      "typeOptions": {
        "rows": 2
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Flags",
          "name": "flags",
          "type": "multiOptions",
          "default": [],
          "description": "Message flags. <a href=\"https://discord.com/developers/docs/resources/channel#message-object-message-flags\" target=\"_blank\">More info</a>.”.",
          "options": [
            {
              "name": "Suppress Embeds",
              "value": "SUPPRESS_EMBEDS"
            },
            {
              "name": "Suppress Notifications",
              "value": "SUPPRESS_NOTIFICATIONS"
            }
          ]
        },
        {
          "displayName": "Message to Reply to",
          "name": "message_reference",
          "type": "string",
          "default": "",
          "description": "Fill this to make your message a reply. Add the message ID.",
          "placeholder": "e.g. 1059467601836773386"
        },
        {
          "displayName": "Text-to-Speech (TTS)",
          "name": "tts",
          "type": "boolean",
          "default": false,
          "description": "Whether to have a bot reading the message directly in the channel"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "send"
          ]
        },
        "hide": {
          "authentication": [
            "webhook"
          ]
        }
      }
    },
    {
      "displayName": "Embeds",
      "name": "embeds",
      "type": "fixedCollection",
      "default": [],
      "options": [
        {
          "displayName": "Values",
          "name": "values",
          "values": [
            {
              "displayName": "Input Method",
              "name": "inputMethod",
              "type": "options",
              "options": [
                {
                  "name": "Enter Fields",
                  "value": "fields"
                },
                {
                  "name": "Raw JSON",
                  "value": "json"
                }
              ],
              "default": "fields"
            },
            {
              "displayName": "Value",
              "name": "json",
              "type": "json",
              "default": "={}",
              "typeOptions": {
                "rows": 2
              },
              "displayOptions": {
                "show": {
                  "inputMethod": [
                    "json"
                  ]
                }
              }
            },
            {
              "displayName": "Description",
              "name": "description",
              "type": "string",
              "default": "",
              "description": "The description of embed",
              "placeholder": "e.g. My description",
              "typeOptions": {
                "rows": 2
              },
              "displayOptions": {
                "show": {
                  "inputMethod": [
                    "fields"
                  ]
                }
              }
            },
            {
              "displayName": "Author",
              "name": "author",
              "type": "string",
              "default": "",
              "description": "The name of the author",
              "placeholder": "e.g. John Doe",
              "displayOptions": {
                "show": {
                  "inputMethod": [
                    "fields"
                  ]
                }
              }
            },
            {
              "displayName": "Color",
              "name": "color",
              "type": "color",
              "default": "",
              "description": "Color code of the embed",
              "placeholder": "e.g. 12123432",
              "displayOptions": {
                "show": {
                  "inputMethod": [
                    "fields"
                  ]
                }
              }
            },
            {
              "displayName": "Timestamp",
              "name": "timestamp",
              "type": "dateTime",
              "default": "",
              "description": "The time displayed at the bottom of the embed. Provide in ISO8601 format.",
              "placeholder": "e.g. 2023-02-08 09:30:26",
              "displayOptions": {
                "show": {
                  "inputMethod": [
                    "fields"
                  ]
                }
              }
            },
            {
              "displayName": "Title",
              "name": "title",
              "type": "string",
              "default": "",
              "description": "The title of embed",
              "placeholder": "e.g. Embed's title",
              "displayOptions": {
                "show": {
                  "inputMethod": [
                    "fields"
                  ]
                }
              }
            },
            {
              "displayName": "URL",
              "name": "url",
              "type": "string",
              "default": "",
              "description": "The URL where you want to link the embed to",
              "placeholder": "e.g. https://discord.com/",
              "displayOptions": {
                "show": {
                  "inputMethod": [
                    "fields"
                  ]
                }
              }
            },
            {
              "displayName": "URL Image",
              "name": "image",
              "type": "string",
              "default": "",
              "description": "Source URL of image (only supports http(s) and attachments)",
              "placeholder": "e.g. https://example.com/image.png",
              "displayOptions": {
                "show": {
                  "inputMethod": [
                    "fields"
                  ]
                }
              }
            },
            {
              "displayName": "URL Thumbnail",
              "name": "thumbnail",
              "type": "string",
              "default": "",
              "description": "Source URL of thumbnail (only supports http(s) and attachments)",
              "placeholder": "e.g. https://example.com/image.png",
              "displayOptions": {
                "show": {
                  "inputMethod": [
                    "fields"
                  ]
                }
              }
            },
            {
              "displayName": "URL Video",
              "name": "video",
              "type": "string",
              "default": "",
              "description": "Source URL of video",
              "placeholder": "e.g. https://example.com/video.mp4",
              "displayOptions": {
                "show": {
                  "inputMethod": [
                    "fields"
                  ]
                }
              }
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "send"
          ]
        },
        "hide": {
          "authentication": [
            "webhook"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true
      }
    },
    {
      "displayName": "Files",
      "name": "files",
      "type": "fixedCollection",
      "default": [],
      "options": [
        {
          "displayName": "Values",
          "name": "values",
          "values": [
            {
              "displayName": "Input Data Field Name",
              "name": "inputFieldName",
              "type": "string",
              "default": "data",
              "description": "The contents of the file being sent with the message",
              "placeholder": "e.g. data",
              "hint": "The name of the input field containing the binary file data to be sent"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "send"
          ]
        },
        "hide": {
          "authentication": [
            "webhook"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true
      }
    },
    {
      "displayName": "Channel",
      "name": "channelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "Select the channel by name, URL, or ID",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "deleteMessage"
          ]
        },
        "hide": {
          "authentication": [
            "webhook"
          ]
        }
      },
      "modes": [
        {
          "displayName": "By Name",
          "name": "list",
          "type": "list",
          "placeholder": "e.g. my-channel",
          "typeOptions": {
            "searchListMethod": "channelSearch"
          }
        },
        {
          "displayName": "By URL",
          "name": "url",
          "type": "string",
          "placeholder": "e.g. https://discord.com/channels/[guild-id]/[channel-id]",
          "extractValue": {
            "type": "regex",
            "regex": "https:\\/\\/discord.com\\/channels\\/[0-9]+\\/([0-9]+)"
          },
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "https:\\/\\/discord.com\\/channels\\/[0-9]+\\/([0-9]+)",
                "errorMessage": "Not a valid Discord Channel URL"
              }
            }
          ]
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. 896347036838936576",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[0-9]+",
                "errorMessage": "Not a valid Discord Channel ID"
              }
            }
          ]
        }
      ]
    },
    {
      "displayName": "Message ID",
      "name": "messageId",
      "type": "string",
      "default": "",
      "description": "The ID of the message",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "deleteMessage"
          ]
        },
        "hide": {
          "authentication": [
            "webhook"
          ]
        }
      }
    },
    {
      "displayName": "Channel",
      "name": "channelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "Select the channel by name, URL, or ID",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "get"
          ]
        },
        "hide": {
          "authentication": [
            "webhook"
          ]
        }
      },
      "modes": [
        {
          "displayName": "By Name",
          "name": "list",
          "type": "list",
          "placeholder": "e.g. my-channel",
          "typeOptions": {
            "searchListMethod": "channelSearch"
          }
        },
        {
          "displayName": "By URL",
          "name": "url",
          "type": "string",
          "placeholder": "e.g. https://discord.com/channels/[guild-id]/[channel-id]",
          "extractValue": {
            "type": "regex",
            "regex": "https:\\/\\/discord.com\\/channels\\/[0-9]+\\/([0-9]+)"
          },
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "https:\\/\\/discord.com\\/channels\\/[0-9]+\\/([0-9]+)",
                "errorMessage": "Not a valid Discord Channel URL"
              }
            }
          ]
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. 896347036838936576",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[0-9]+",
                "errorMessage": "Not a valid Discord Channel ID"
              }
            }
          ]
        }
      ]
    },
    {
      "displayName": "Message ID",
      "name": "messageId",
      "type": "string",
      "default": "",
      "description": "The ID of the message",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "get"
          ]
        },
        "hide": {
          "authentication": [
            "webhook"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Simplify",
          "name": "simplify",
          "type": "boolean",
          "default": true,
          "description": "Whether to return a simplified version of the response instead of the raw data"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "get"
          ]
        },
        "hide": {
          "authentication": [
            "webhook"
          ]
        }
      }
    },
    {
      "displayName": "Send To",
      "name": "sendTo",
      "type": "options",
      "default": "channel",
      "description": "Send message to a channel or DM to a user",
      "options": [
        {
          "name": "User",
          "value": "user"
        },
        {
          "name": "Channel",
          "value": "channel"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "sendAndWait"
          ]
        }
      }
    },
    {
      "displayName": "User",
      "name": "userId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "Select the user you want to assign a role to",
      "displayOptions": {
        "show": {
          "sendTo": [
            "user"
          ],
          "resource": [
            "message"
          ],
          "operation": [
            "sendAndWait"
          ]
        }
      },
      "modes": [
        {
          "displayName": "By Name",
          "name": "list",
          "type": "list",
          "placeholder": "e.g. DiscordUser",
          "typeOptions": {
            "searchListMethod": "userSearch"
          }
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. 786953432728469534",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[0-9]+",
                "errorMessage": "Not a valid User ID"
              }
            }
          ]
        }
      ]
    },
    {
      "displayName": "Channel",
      "name": "channelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "Select the channel by name, URL, or ID",
      "required": true,
      "displayOptions": {
        "show": {
          "sendTo": [
            "channel"
          ],
          "resource": [
            "message"
          ],
          "operation": [
            "sendAndWait"
          ]
        }
      },
      "modes": [
        {
          "displayName": "By Name",
          "name": "list",
          "type": "list",
          "placeholder": "e.g. my-channel",
          "typeOptions": {
            "searchListMethod": "textChannelSearch"
          }
        },
        {
          "displayName": "By URL",
          "name": "url",
          "type": "string",
          "placeholder": "e.g. https://discord.com/channels/[guild-id]/[channel-id]",
          "extractValue": {
            "type": "regex",
            "regex": "https:\\/\\/discord.com\\/channels\\/[0-9]+\\/([0-9]+)"
          },
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "https:\\/\\/discord.com\\/channels\\/[0-9]+\\/([0-9]+)",
                "errorMessage": "Not a valid Discord Channel URL"
              }
            }
          ]
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. 896347036838936576",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[0-9]+",
                "errorMessage": "Not a valid Discord Channel ID"
              }
            }
          ]
        }
      ]
    },
    {
      "displayName": "Message",
      "name": "message",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "sendAndWait"
          ]
        }
      },
      "typeOptions": {
        "rows": 4
      }
    },
    {
      "displayName": "Response Type",
      "name": "responseType",
      "type": "options",
      "default": "approval",
      "options": [
        {
          "name": "Approval",
          "value": "approval",
          "description": "User can approve/disapprove from within the message"
        },
        {
          "name": "Free Text",
          "value": "freeText",
          "description": "User can submit a response via a form"
        },
        {
          "name": "Custom Form",
          "value": "customForm",
          "description": "User can submit a response via a custom form"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "sendAndWait"
          ]
        }
      }
    },
    {
      "displayName": "Define Form",
      "name": "defineForm",
      "type": "options",
      "default": "fields",
      "options": [
        {
          "name": "Using Fields Below",
          "value": "fields"
        },
        {
          "name": "Using JSON",
          "value": "json"
        }
      ],
      "displayOptions": {
        "show": {
          "responseType": [
            "customForm"
          ],
          "resource": [
            "message"
          ],
          "operation": [
            "sendAndWait"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Form Fields",
      "name": "jsonOutput",
      "type": "json",
      "default": "[\n  {\n    \"fieldLabel\": \"Name\",\n    \"placeholder\": \"enter your name\",\n    \"requiredField\": true\n  },\n  {\n    \"fieldLabel\": \"Age\",\n    \"fieldType\": \"number\",\n    \"placeholder\": \"enter your age\"\n  },\n  {\n    \"fieldLabel\": \"Email\",\n    \"fieldType\": \"email\",\n    \"requiredField\": true\n  },\n  {\n    \"fieldLabel\": \"Textarea\",\n    \"fieldType\": \"textarea\"\n  },\n  {\n    \"fieldLabel\": \"Dropdown Options\",\n    \"fieldType\": \"dropdown\",\n    \"fieldOptions\": {\n      \"values\": [\n        {\n          \"option\": \"option 1\"\n        },\n        {\n          \"option\": \"option 2\"\n        }\n      ]\n    },\n    \"requiredField\": true\n  },\n  {\n    \"fieldLabel\": \"Checkboxes\",\n    \"fieldType\": \"checkbox\",\n    \"fieldOptions\": {\n      \"values\": [\n        {\n          \"option\": \"option 1\"\n        },\n        {\n          \"option\": \"option 2\"\n        }\n      ]\n    }\n  },\n  {\n    \"fieldLabel\": \"Radio\",\n    \"fieldType\": \"radio\",\n    \"fieldOptions\": {\n      \"values\": [\n        {\n          \"option\": \"option 1\"\n        },\n        {\n          \"option\": \"option 2\"\n        }\n      ]\n    }\n  },\n  {\n    \"fieldLabel\": \"Email\",\n    \"fieldType\": \"email\",\n    \"placeholder\": \"me@mail.con\"\n  },\n  {\n    \"fieldLabel\": \"File\",\n    \"fieldType\": \"file\",\n    \"multipleFiles\": true,\n    \"acceptFileTypes\": \".jpg, .png\"\n  },\n  {\n    \"fieldLabel\": \"Number\",\n    \"fieldType\": \"number\"\n  },\n  {\n    \"fieldLabel\": \"Password\",\n    \"fieldType\": \"password\"\n  }\n]\n",
      "displayOptions": {
        "show": {
          "defineForm": [
            "json"
          ],
          "responseType": [
            "customForm"
          ],
          "resource": [
            "message"
          ],
          "operation": [
            "sendAndWait"
          ]
        }
      },
      "typeOptions": {
        "rows": 5
      }
    },
    {
      "displayName": "Form Elements",
      "name": "formFields",
      "type": "fixedCollection",
      "default": {},
      "options": [
        {
          "displayName": "Values",
          "name": "values",
          "values": [
            {
              "displayName": "Field Name",
              "name": "fieldName",
              "description": "The name of the field, used in input attributes and referenced by the workflow",
              "required": true,
              "type": "string",
              "default": "",
              "displayOptions": {
                "hide": {
                  "fieldType": [
                    "html"
                  ]
                },
                "show": {
                  "@version": [
                    2.4
                  ]
                }
              }
            },
            {
              "displayName": "Label",
              "name": "fieldLabel",
              "type": "string",
              "default": "",
              "placeholder": "e.g. What is your name?",
              "description": "Label that appears above the input field",
              "required": true,
              "displayOptions": {
                "hide": {
                  "fieldType": [
                    "hiddenField",
                    "html"
                  ]
                },
                "show": {
                  "@version": [
                    {
                      "_cnd": {
                        "gte": 2.4
                      }
                    }
                  ]
                }
              }
            },
            {
              "displayName": "Field Name",
              "name": "fieldLabel",
              "type": "string",
              "default": "",
              "placeholder": "e.g. What is your name?",
              "description": "Label that appears above the input field",
              "required": true,
              "displayOptions": {
                "hide": {
                  "fieldType": [
                    "hiddenField",
                    "html"
                  ]
                },
                "show": {
                  "@version": [
                    {
                      "_cnd": {
                        "lt": 2.4
                      }
                    }
                  ]
                }
              }
            },
            {
              "displayName": "Field Name",
              "name": "fieldName",
              "description": "The name of the field, used in input attributes and referenced by the workflow",
              "type": "string",
              "default": "",
              "displayOptions": {
                "show": {
                  "fieldType": [
                    "hiddenField"
                  ],
                  "@version": [
                    {
                      "_cnd": {
                        "lt": 2.4
                      }
                    }
                  ]
                }
              }
            },
            {
              "displayName": "Element Type",
              "name": "fieldType",
              "type": "options",
              "default": "text",
              "description": "The type of field to add to the form",
              "options": [
                {
                  "name": "Checkboxes",
                  "value": "checkbox"
                },
                {
                  "name": "Custom HTML",
                  "value": "html"
                },
                {
                  "name": "Date",
                  "value": "date"
                },
                {
                  "name": "Dropdown",
                  "value": "dropdown"
                },
                {
                  "name": "Email",
                  "value": "email"
                },
                {
                  "name": "File",
                  "value": "file"
                },
                {
                  "name": "Hidden Field",
                  "value": "hiddenField"
                },
                {
                  "name": "Number",
                  "value": "number"
                },
                {
                  "name": "Password",
                  "value": "password"
                },
                {
                  "name": "Radio Buttons",
                  "value": "radio"
                },
                {
                  "name": "Text",
                  "value": "text"
                },
                {
                  "name": "Textarea",
                  "value": "textarea"
                }
              ],
              "required": true
            },
            {
              "displayName": "Element Name",
              "name": "elementName",
              "type": "string",
              "default": "",
              "placeholder": "e.g. content-section",
              "description": "Optional field. It can be used to include the html in the output.",
              "displayOptions": {
                "show": {
                  "fieldType": [
                    "html"
                  ]
                }
              }
            },
            {
              "displayName": "Custom Field Name",
              "name": "fieldName",
              "description": "The name of the field, used in input attributes and referenced by the workflow",
              "type": "string",
              "default": "",
              "displayOptions": {
                "hide": {
                  "fieldType": [
                    "html"
                  ]
                },
                "show": {
                  "@version": [
                    {
                      "_cnd": {
                        "gte": 2.5
                      }
                    }
                  ]
                }
              }
            },
            {
              "displayName": "Placeholder",
              "name": "placeholder",
              "description": "Sample text to display inside the field",
              "type": "string",
              "default": "",
              "displayOptions": {
                "hide": {
                  "fieldType": [
                    "dropdown",
                    "date",
                    "file",
                    "html",
                    "hiddenField",
                    "radio",
                    "checkbox"
                  ]
                }
              }
            },
            {
              "displayName": "Default Value",
              "name": "defaultValue",
              "description": "Default value that will be pre-filled in the form field",
              "type": "string",
              "default": "",
              "displayOptions": {
                "show": {
                  "fieldType": [
                    "text",
                    "number",
                    "email",
                    "textarea"
                  ]
                }
              }
            },
            {
              "displayName": "Default Value",
              "name": "defaultValue",
              "description": "Default date value that will be pre-filled in the form field (format: YYYY-MM-DD)",
              "type": "dateTime",
              "typeOptions": {
                "dateOnly": true
              },
              "default": "",
              "displayOptions": {
                "show": {
                  "fieldType": [
                    "date"
                  ]
                }
              }
            },
            {
              "displayName": "Default Value",
              "name": "defaultValue",
              "description": "Default value that will be pre-selected. Must match one of the option labels.",
              "type": "string",
              "default": "",
              "displayOptions": {
                "show": {
                  "fieldType": [
                    "dropdown",
                    "radio"
                  ]
                }
              }
            },
            {
              "displayName": "Default Value",
              "name": "defaultValue",
              "description": "Default value(s) that will be pre-selected. Must match one or multiple of the option labels. Separate multiple pre-selected options with a comma.",
              "type": "string",
              "default": "",
              "displayOptions": {
                "show": {
                  "fieldType": [
                    "checkbox"
                  ]
                }
              }
            },
            {
              "displayName": "Field Value",
              "name": "fieldValue",
              "description": "Input value can be set here or will be passed as a query parameter via Field Name if no value is set",
              "type": "string",
              "default": "",
              "displayOptions": {
                "show": {
                  "fieldType": [
                    "hiddenField"
                  ]
                }
              }
            },
            {
              "displayName": "Field Options",
              "name": "fieldOptions",
              "placeholder": "Add Field Option",
              "description": "List of options that can be selected from the dropdown",
              "type": "fixedCollection",
              "default": {
                "values": [
                  {
                    "option": ""
                  }
                ]
              },
              "required": true,
              "displayOptions": {
                "show": {
                  "fieldType": [
                    "dropdown"
                  ]
                }
              },
              "typeOptions": {
                "multipleValues": true,
                "sortable": true
              },
              "options": [
                {
                  "displayName": "Values",
                  "name": "values",
                  "values": [
                    {
                      "displayName": "Option",
                      "name": "option",
                      "type": "string",
                      "default": ""
                    }
                  ]
                }
              ]
            },
            {
              "displayName": "Checkboxes",
              "name": "fieldOptions",
              "placeholder": "Add Checkbox",
              "type": "fixedCollection",
              "default": {
                "values": [
                  {
                    "option": ""
                  }
                ]
              },
              "required": true,
              "displayOptions": {
                "show": {
                  "fieldType": [
                    "checkbox"
                  ]
                }
              },
              "typeOptions": {
                "multipleValues": true,
                "sortable": true
              },
              "options": [
                {
                  "displayName": "Values",
                  "name": "values",
                  "values": [
                    {
                      "displayName": "Checkbox Label",
                      "name": "option",
                      "type": "string",
                      "default": ""
                    }
                  ]
                }
              ]
            },
            {
              "displayName": "Radio Buttons",
              "name": "fieldOptions",
              "placeholder": "Add Radio Button",
              "type": "fixedCollection",
              "default": {
                "values": [
                  {
                    "option": ""
                  }
                ]
              },
              "required": true,
              "displayOptions": {
                "show": {
                  "fieldType": [
                    "radio"
                  ]
                }
              },
              "typeOptions": {
                "multipleValues": true,
                "sortable": true
              },
              "options": [
                {
                  "displayName": "Values",
                  "name": "values",
                  "values": [
                    {
                      "displayName": "Radio Button Label",
                      "name": "option",
                      "type": "string",
                      "default": ""
                    }
                  ]
                }
              ]
            },
            {
              "displayName": "Multiple Choice is a legacy option, please use Checkboxes or Radio Buttons field type instead",
              "name": "multiselectLegacyNotice",
              "type": "notice",
              "default": "",
              "displayOptions": {
                "show": {
                  "multiselect": [
                    true
                  ],
                  "fieldType": [
                    "dropdown"
                  ],
                  "@version": [
                    {
                      "_cnd": {
                        "lt": 2.3
                      }
                    }
                  ]
                }
              }
            },
            {
              "displayName": "Multiple Choice",
              "name": "multiselect",
              "type": "boolean",
              "default": false,
              "description": "Whether to allow the user to select multiple options from the dropdown list",
              "displayOptions": {
                "show": {
                  "fieldType": [
                    "dropdown"
                  ],
                  "@version": [
                    {
                      "_cnd": {
                        "lt": 2.3
                      }
                    }
                  ]
                }
              }
            },
            {
              "displayName": "Limit Selection",
              "name": "limitSelection",
              "type": "options",
              "default": "unlimited",
              "options": [
                {
                  "name": "Exact Number",
                  "value": "exact"
                },
                {
                  "name": "Range",
                  "value": "range"
                },
                {
                  "name": "Unlimited",
                  "value": "unlimited"
                }
              ],
              "displayOptions": {
                "show": {
                  "fieldType": [
                    "checkbox"
                  ]
                }
              }
            },
            {
              "displayName": "Number of Selections",
              "name": "numberOfSelections",
              "type": "number",
              "default": 1,
              "typeOptions": {
                "numberPrecision": 0,
                "minValue": 1,
                "showEvenWhenOptional": true
              },
              "displayOptions": {
                "show": {
                  "fieldType": [
                    "checkbox"
                  ],
                  "limitSelection": [
                    "exact"
                  ]
                }
              }
            },
            {
              "displayName": "Minimum Selections",
              "name": "minSelections",
              "type": "number",
              "default": 0,
              "typeOptions": {
                "numberPrecision": 0,
                "minValue": 0,
                "showEvenWhenOptional": true
              },
              "displayOptions": {
                "show": {
                  "fieldType": [
                    "checkbox"
                  ],
                  "limitSelection": [
                    "range"
                  ]
                }
              }
            },
            {
              "displayName": "Maximum Selections",
              "name": "maxSelections",
              "type": "number",
              "default": 1,
              "typeOptions": {
                "numberPrecision": 0,
                "minValue": 1,
                "showEvenWhenOptional": true
              },
              "displayOptions": {
                "show": {
                  "fieldType": [
                    "checkbox"
                  ],
                  "limitSelection": [
                    "range"
                  ]
                }
              }
            },
            {
              "displayName": "HTML",
              "name": "html",
              "typeOptions": {
                "editor": "htmlEditor"
              },
              "type": "string",
              "noDataExpression": true,
              "default": "<!-- Your custom HTML here --->\n\n\n",
              "description": "HTML elements to display on the form page",
              "hint": "Does not accept <code>&lt;script&gt;</code>, <code>&lt;style&gt;</code> or <code>&lt;input&gt;</code> tags",
              "displayOptions": {
                "show": {
                  "fieldType": [
                    "html"
                  ]
                }
              }
            },
            {
              "displayName": "Multiple Files",
              "name": "multipleFiles",
              "type": "boolean",
              "default": true,
              "description": "Whether to allow the user to select multiple files from the file input or just one",
              "displayOptions": {
                "show": {
                  "fieldType": [
                    "file"
                  ]
                }
              }
            },
            {
              "displayName": "Accepted File Types",
              "name": "acceptFileTypes",
              "type": "string",
              "default": "",
              "description": "Comma-separated list of allowed file extensions",
              "hint": "Leave empty to allow all file types",
              "placeholder": "e.g. .jpg, .png",
              "displayOptions": {
                "show": {
                  "fieldType": [
                    "file"
                  ]
                }
              }
            },
            {
              "displayName": "The displayed date is formatted based on the locale of the user's browser",
              "name": "formatDate",
              "type": "notice",
              "default": "",
              "displayOptions": {
                "show": {
                  "fieldType": [
                    "date"
                  ]
                }
              }
            },
            {
              "displayName": "Required Field",
              "name": "requiredField",
              "type": "boolean",
              "default": false,
              "description": "Whether to require the user to enter a value for this field before submitting the form",
              "displayOptions": {
                "hide": {
                  "fieldType": [
                    "html",
                    "hiddenField"
                  ]
                }
              }
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "@version": [
            {
              "_cnd": {
                "lt": 2.5
              }
            }
          ],
          "defineForm": [
            "fields"
          ],
          "responseType": [
            "customForm"
          ],
          "resource": [
            "message"
          ],
          "operation": [
            "sendAndWait"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true,
        "sortable": true
      }
    },
    {
      "displayName": "Form Elements",
      "name": "formFields",
      "type": "fixedCollection",
      "default": {},
      "options": [
        {
          "displayName": "Values",
          "name": "values",
          "values": [
            {
              "displayName": "Field Name",
              "name": "fieldName",
              "description": "The name of the field, used in input attributes and referenced by the workflow",
              "required": true,
              "type": "string",
              "default": "",
              "displayOptions": {
                "hide": {
                  "fieldType": [
                    "html"
                  ]
                },
                "show": {
                  "@version": [
                    2.4
                  ]
                }
              }
            },
            {
              "displayName": "Label",
              "name": "fieldLabel",
              "type": "string",
              "default": "",
              "placeholder": "e.g. What is your name?",
              "description": "Label that appears above the input field",
              "required": true,
              "displayOptions": {
                "hide": {
                  "fieldType": [
                    "hiddenField",
                    "html"
                  ]
                },
                "show": {
                  "@version": [
                    {
                      "_cnd": {
                        "gte": 2.4
                      }
                    }
                  ]
                }
              }
            },
            {
              "displayName": "Field Name",
              "name": "fieldLabel",
              "type": "string",
              "default": "",
              "placeholder": "e.g. What is your name?",
              "description": "Label that appears above the input field",
              "required": true,
              "displayOptions": {
                "hide": {
                  "fieldType": [
                    "hiddenField",
                    "html"
                  ]
                },
                "show": {
                  "@version": [
                    {
                      "_cnd": {
                        "lt": 2.4
                      }
                    }
                  ]
                }
              }
            },
            {
              "displayName": "Field Name",
              "name": "fieldName",
              "description": "The name of the field, used in input attributes and referenced by the workflow",
              "type": "string",
              "default": "",
              "displayOptions": {
                "show": {
                  "fieldType": [
                    "hiddenField"
                  ],
                  "@version": [
                    {
                      "_cnd": {
                        "lt": 2.4
                      }
                    }
                  ]
                }
              }
            },
            {
              "displayName": "Element Type",
              "name": "fieldType",
              "type": "options",
              "default": "text",
              "description": "The type of field to add to the form",
              "options": [
                {
                  "name": "Checkboxes",
                  "value": "checkbox"
                },
                {
                  "name": "Custom HTML",
                  "value": "html"
                },
                {
                  "name": "Date",
                  "value": "date"
                },
                {
                  "name": "Dropdown",
                  "value": "dropdown"
                },
                {
                  "name": "Email",
                  "value": "email"
                },
                {
                  "name": "File",
                  "value": "file"
                },
                {
                  "name": "Hidden Field",
                  "value": "hiddenField"
                },
                {
                  "name": "Number",
                  "value": "number"
                },
                {
                  "name": "Password",
                  "value": "password"
                },
                {
                  "name": "Radio Buttons",
                  "value": "radio"
                },
                {
                  "name": "Text",
                  "value": "text"
                },
                {
                  "name": "Textarea",
                  "value": "textarea"
                }
              ],
              "required": true
            },
            {
              "displayName": "Element Name",
              "name": "elementName",
              "type": "string",
              "default": "",
              "placeholder": "e.g. content-section",
              "description": "Optional field. It can be used to include the html in the output.",
              "displayOptions": {
                "show": {
                  "fieldType": [
                    "html"
                  ]
                }
              }
            },
            {
              "displayName": "Custom Field Name",
              "name": "fieldName",
              "description": "The name of the field, used in input attributes and referenced by the workflow",
              "type": "string",
              "default": "",
              "displayOptions": {
                "hide": {
                  "fieldType": [
                    "html"
                  ]
                },
                "show": {
                  "@version": [
                    {
                      "_cnd": {
                        "gte": 2.5
                      }
                    }
                  ]
                }
              }
            },
            {
              "displayName": "Placeholder",
              "name": "placeholder",
              "description": "Sample text to display inside the field",
              "type": "string",
              "default": "",
              "displayOptions": {
                "hide": {
                  "fieldType": [
                    "dropdown",
                    "date",
                    "file",
                    "html",
                    "hiddenField",
                    "radio",
                    "checkbox"
                  ]
                }
              }
            },
            {
              "displayName": "Default Value",
              "name": "defaultValue",
              "description": "Default value that will be pre-filled in the form field",
              "type": "string",
              "default": "",
              "displayOptions": {
                "show": {
                  "fieldType": [
                    "text",
                    "number",
                    "email",
                    "textarea"
                  ]
                }
              }
            },
            {
              "displayName": "Default Value",
              "name": "defaultValue",
              "description": "Default date value that will be pre-filled in the form field (format: YYYY-MM-DD)",
              "type": "dateTime",
              "typeOptions": {
                "dateOnly": true
              },
              "default": "",
              "displayOptions": {
                "show": {
                  "fieldType": [
                    "date"
                  ]
                }
              }
            },
            {
              "displayName": "Default Value",
              "name": "defaultValue",
              "description": "Default value that will be pre-selected. Must match one of the option labels.",
              "type": "string",
              "default": "",
              "displayOptions": {
                "show": {
                  "fieldType": [
                    "dropdown",
                    "radio"
                  ]
                }
              }
            },
            {
              "displayName": "Default Value",
              "name": "defaultValue",
              "description": "Default value(s) that will be pre-selected. Must match one or multiple of the option labels. Separate multiple pre-selected options with a comma.",
              "type": "string",
              "default": "",
              "displayOptions": {
                "show": {
                  "fieldType": [
                    "checkbox"
                  ]
                }
              }
            },
            {
              "displayName": "Field Value",
              "name": "fieldValue",
              "description": "Input value can be set here or will be passed as a query parameter via Field Name if no value is set",
              "type": "string",
              "default": "",
              "displayOptions": {
                "show": {
                  "fieldType": [
                    "hiddenField"
                  ]
                }
              }
            },
            {
              "displayName": "Field Options",
              "name": "fieldOptions",
              "placeholder": "Add Field Option",
              "description": "List of options that can be selected from the dropdown",
              "type": "fixedCollection",
              "default": {
                "values": [
                  {
                    "option": ""
                  }
                ]
              },
              "required": true,
              "displayOptions": {
                "show": {
                  "fieldType": [
                    "dropdown"
                  ]
                }
              },
              "typeOptions": {
                "multipleValues": true,
                "sortable": true
              },
              "options": [
                {
                  "displayName": "Values",
                  "name": "values",
                  "values": [
                    {
                      "displayName": "Option",
                      "name": "option",
                      "type": "string",
                      "default": ""
                    }
                  ]
                }
              ]
            },
            {
              "displayName": "Checkboxes",
              "name": "fieldOptions",
              "placeholder": "Add Checkbox",
              "type": "fixedCollection",
              "default": {
                "values": [
                  {
                    "option": ""
                  }
                ]
              },
              "required": true,
              "displayOptions": {
                "show": {
                  "fieldType": [
                    "checkbox"
                  ]
                }
              },
              "typeOptions": {
                "multipleValues": true,
                "sortable": true
              },
              "options": [
                {
                  "displayName": "Values",
                  "name": "values",
                  "values": [
                    {
                      "displayName": "Checkbox Label",
                      "name": "option",
                      "type": "string",
                      "default": ""
                    }
                  ]
                }
              ]
            },
            {
              "displayName": "Radio Buttons",
              "name": "fieldOptions",
              "placeholder": "Add Radio Button",
              "type": "fixedCollection",
              "default": {
                "values": [
                  {
                    "option": ""
                  }
                ]
              },
              "required": true,
              "displayOptions": {
                "show": {
                  "fieldType": [
                    "radio"
                  ]
                }
              },
              "typeOptions": {
                "multipleValues": true,
                "sortable": true
              },
              "options": [
                {
                  "displayName": "Values",
                  "name": "values",
                  "values": [
                    {
                      "displayName": "Radio Button Label",
                      "name": "option",
                      "type": "string",
                      "default": ""
                    }
                  ]
                }
              ]
            },
            {
              "displayName": "Multiple Choice is a legacy option, please use Checkboxes or Radio Buttons field type instead",
              "name": "multiselectLegacyNotice",
              "type": "notice",
              "default": "",
              "displayOptions": {
                "show": {
                  "multiselect": [
                    true
                  ],
                  "fieldType": [
                    "dropdown"
                  ],
                  "@version": [
                    {
                      "_cnd": {
                        "lt": 2.3
                      }
                    }
                  ]
                }
              }
            },
            {
              "displayName": "Multiple Choice",
              "name": "multiselect",
              "type": "boolean",
              "default": false,
              "description": "Whether to allow the user to select multiple options from the dropdown list",
              "displayOptions": {
                "show": {
                  "fieldType": [
                    "dropdown"
                  ],
                  "@version": [
                    {
                      "_cnd": {
                        "lt": 2.3
                      }
                    }
                  ]
                }
              }
            },
            {
              "displayName": "Limit Selection",
              "name": "limitSelection",
              "type": "options",
              "default": "unlimited",
              "options": [
                {
                  "name": "Exact Number",
                  "value": "exact"
                },
                {
                  "name": "Range",
                  "value": "range"
                },
                {
                  "name": "Unlimited",
                  "value": "unlimited"
                }
              ],
              "displayOptions": {
                "show": {
                  "fieldType": [
                    "checkbox"
                  ]
                }
              }
            },
            {
              "displayName": "Number of Selections",
              "name": "numberOfSelections",
              "type": "number",
              "default": 1,
              "typeOptions": {
                "numberPrecision": 0,
                "minValue": 1,
                "showEvenWhenOptional": true
              },
              "displayOptions": {
                "show": {
                  "fieldType": [
                    "checkbox"
                  ],
                  "limitSelection": [
                    "exact"
                  ]
                }
              }
            },
            {
              "displayName": "Minimum Selections",
              "name": "minSelections",
              "type": "number",
              "default": 0,
              "typeOptions": {
                "numberPrecision": 0,
                "minValue": 0,
                "showEvenWhenOptional": true
              },
              "displayOptions": {
                "show": {
                  "fieldType": [
                    "checkbox"
                  ],
                  "limitSelection": [
                    "range"
                  ]
                }
              }
            },
            {
              "displayName": "Maximum Selections",
              "name": "maxSelections",
              "type": "number",
              "default": 1,
              "typeOptions": {
                "numberPrecision": 0,
                "minValue": 1,
                "showEvenWhenOptional": true
              },
              "displayOptions": {
                "show": {
                  "fieldType": [
                    "checkbox"
                  ],
                  "limitSelection": [
                    "range"
                  ]
                }
              }
            },
            {
              "displayName": "HTML",
              "name": "html",
              "typeOptions": {
                "editor": "htmlEditor"
              },
              "type": "string",
              "noDataExpression": true,
              "default": "<!-- Your custom HTML here --->\n\n\n",
              "description": "HTML elements to display on the form page",
              "hint": "Does not accept <code>&lt;script&gt;</code>, <code>&lt;style&gt;</code> or <code>&lt;input&gt;</code> tags",
              "displayOptions": {
                "show": {
                  "fieldType": [
                    "html"
                  ]
                }
              }
            },
            {
              "displayName": "Multiple Files",
              "name": "multipleFiles",
              "type": "boolean",
              "default": true,
              "description": "Whether to allow the user to select multiple files from the file input or just one",
              "displayOptions": {
                "show": {
                  "fieldType": [
                    "file"
                  ]
                }
              }
            },
            {
              "displayName": "Accepted File Types",
              "name": "acceptFileTypes",
              "type": "string",
              "default": "",
              "description": "Comma-separated list of allowed file extensions",
              "hint": "Leave empty to allow all file types",
              "placeholder": "e.g. .jpg, .png",
              "displayOptions": {
                "show": {
                  "fieldType": [
                    "file"
                  ]
                }
              }
            },
            {
              "displayName": "The displayed date is formatted based on the locale of the user's browser",
              "name": "formatDate",
              "type": "notice",
              "default": "",
              "displayOptions": {
                "show": {
                  "fieldType": [
                    "date"
                  ]
                }
              }
            },
            {
              "displayName": "Required Field",
              "name": "requiredField",
              "type": "boolean",
              "default": false,
              "description": "Whether to require the user to enter a value for this field before submitting the form",
              "displayOptions": {
                "hide": {
                  "fieldType": [
                    "html",
                    "hiddenField"
                  ]
                }
              }
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "@version": [
            {
              "_cnd": {
                "gte": 2.5
              }
            }
          ],
          "defineForm": [
            "fields"
          ],
          "responseType": [
            "customForm"
          ],
          "resource": [
            "message"
          ],
          "operation": [
            "sendAndWait"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true,
        "sortable": true,
        "hideOptionalFields": true,
        "addOptionalFieldButtonText": "Add Attributes"
      }
    },
    {
      "displayName": "Approval Options",
      "name": "approvalOptions",
      "type": "fixedCollection",
      "default": {},
      "options": [
        {
          "displayName": "Values",
          "name": "values",
          "values": [
            {
              "displayName": "Type of Approval",
              "name": "approvalType",
              "type": "options",
              "placeholder": "Add option",
              "default": "single",
              "options": [
                {
                  "name": "Approve Only",
                  "value": "single"
                },
                {
                  "name": "Approve and Disapprove",
                  "value": "double"
                }
              ]
            },
            {
              "displayName": "Approve Button Label",
              "name": "approveLabel",
              "type": "string",
              "default": "✓ Approve",
              "displayOptions": {
                "show": {
                  "approvalType": [
                    "single",
                    "double"
                  ]
                }
              }
            },
            {
              "displayName": "Disapprove Button Label",
              "name": "disapproveLabel",
              "type": "string",
              "default": "✗ Decline",
              "displayOptions": {
                "show": {
                  "approvalType": [
                    "double"
                  ]
                }
              }
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "responseType": [
            "approval"
          ],
          "resource": [
            "message"
          ],
          "operation": [
            "sendAndWait"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Limit Wait Time",
          "name": "limitWaitTime",
          "type": "fixedCollection",
          "description": "Whether the workflow will automatically resume execution after the specified limit type",
          "default": {
            "values": {
              "limitType": "afterTimeInterval",
              "resumeAmount": 45,
              "resumeUnit": "minutes"
            }
          },
          "options": [
            {
              "displayName": "Values",
              "name": "values",
              "values": [
                {
                  "displayName": "Limit Type",
                  "name": "limitType",
                  "type": "options",
                  "default": "afterTimeInterval",
                  "description": "Sets the condition for the execution to resume. Can be a specified date or after some time.",
                  "options": [
                    {
                      "name": "After Time Interval",
                      "description": "Waits for a certain amount of time",
                      "value": "afterTimeInterval"
                    },
                    {
                      "name": "At Specified Time",
                      "description": "Waits until the set date and time to continue",
                      "value": "atSpecifiedTime"
                    }
                  ]
                },
                {
                  "displayName": "Amount",
                  "name": "resumeAmount",
                  "type": "number",
                  "displayOptions": {
                    "show": {
                      "limitType": [
                        "afterTimeInterval"
                      ]
                    }
                  },
                  "typeOptions": {
                    "minValue": 0,
                    "numberPrecision": 2
                  },
                  "default": 1,
                  "description": "The time to wait"
                },
                {
                  "displayName": "Unit",
                  "name": "resumeUnit",
                  "type": "options",
                  "displayOptions": {
                    "show": {
                      "limitType": [
                        "afterTimeInterval"
                      ]
                    }
                  },
                  "options": [
                    {
                      "name": "Minutes",
                      "value": "minutes"
                    },
                    {
                      "name": "Hours",
                      "value": "hours"
                    },
                    {
                      "name": "Days",
                      "value": "days"
                    }
                  ],
                  "default": "hours",
                  "description": "Unit of the interval value"
                },
                {
                  "displayName": "Max Date and Time",
                  "name": "maxDateAndTime",
                  "type": "dateTime",
                  "displayOptions": {
                    "show": {
                      "limitType": [
                        "atSpecifiedTime"
                      ]
                    }
                  },
                  "default": "",
                  "description": "Continue execution after the specified date and time"
                }
              ]
            }
          ]
        },
        {
          "displayName": "Append n8n Attribution",
          "name": "appendAttribution",
          "type": "boolean",
          "default": true,
          "description": "Whether to include the phrase \"This message was sent automatically with n8n\" to the end of the message"
        }
      ],
      "displayOptions": {
        "show": {
          "responseType": [
            "approval"
          ],
          "resource": [
            "message"
          ],
          "operation": [
            "sendAndWait"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Message Button Label",
          "name": "messageButtonLabel",
          "type": "string",
          "default": "Respond"
        },
        {
          "displayName": "Response Form Title",
          "name": "responseFormTitle",
          "description": "Title of the form that the user can access to provide their response",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Response Form Description",
          "name": "responseFormDescription",
          "description": "Description of the form that the user can access to provide their response",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Response Form Button Label",
          "name": "responseFormButtonLabel",
          "type": "string",
          "default": "Submit"
        },
        {
          "displayName": "Response Form Custom Styling",
          "name": "responseFormCustomCss",
          "type": "string",
          "typeOptions": {
            "rows": 10,
            "editor": "cssEditor"
          },
          "default": ":root {\n\t--font-family: 'Open Sans', sans-serif;\n\t--font-weight-normal: 400;\n\t--font-weight-bold: 600;\n\t--font-size-body: 12px;\n\t--font-size-label: 14px;\n\t--font-size-test-notice: 12px;\n\t--font-size-input: 14px;\n\t--font-size-header: 20px;\n\t--font-size-paragraph: 14px;\n\t--font-size-link: 12px;\n\t--font-size-error: 12px;\n\t--font-size-html-h1: 28px;\n\t--font-size-html-h2: 20px;\n\t--font-size-html-h3: 16px;\n\t--font-size-html-h4: 14px;\n\t--font-size-html-h5: 12px;\n\t--font-size-html-h6: 10px;\n\t--font-size-subheader: 14px;\n\n\t/* Colors */\n\t--color-background: #fbfcfe;\n\t--color-test-notice-text: #e6a23d;\n\t--color-test-notice-bg: #fefaf6;\n\t--color-test-notice-border: #f6dcb7;\n\t--color-card-bg: #ffffff;\n\t--color-card-border: #dbdfe7;\n\t--color-card-shadow: rgba(99, 77, 255, 0.06);\n\t--color-link: #7e8186;\n\t--color-header: #525356;\n\t--color-label: #555555;\n\t--color-input-border: #dbdfe7;\n\t--color-input-text: #71747A;\n\t--color-focus-border: rgb(90, 76, 194);\n\t--color-submit-btn-bg: #ff6d5a;\n\t--color-submit-btn-text: #ffffff;\n\t--color-error: #ea1f30;\n\t--color-required: #ff6d5a;\n\t--color-clear-button-bg: #7e8186;\n\t--color-html-text: #555;\n\t--color-html-link: #ff6d5a;\n\t--color-header-subtext: #7e8186;\n\n\t/* Border Radii */\n\t--border-radius-card: 8px;\n\t--border-radius-input: 6px;\n\t--border-radius-clear-btn: 50%;\n\t--card-border-radius: 8px;\n\n\t/* Spacing */\n\t--padding-container-top: 24px;\n\t--padding-card: 24px;\n\t--padding-test-notice-vertical: 12px;\n\t--padding-test-notice-horizontal: 24px;\n\t--margin-bottom-card: 16px;\n\t--padding-form-input: 12px;\n\t--card-padding: 24px;\n\t--card-margin-bottom: 16px;\n\n\t/* Dimensions */\n\t--container-width: 448px;\n\t--submit-btn-height: 48px;\n\t--checkbox-size: 18px;\n\n\t/* Others */\n\t--box-shadow-card: 0px 4px 16px 0px var(--color-card-shadow);\n\t--opacity-placeholder: 0.5;\n}",
          "description": "Override default styling of the response form with CSS"
        },
        {
          "displayName": "Limit Wait Time",
          "name": "limitWaitTime",
          "type": "fixedCollection",
          "description": "Whether the workflow will automatically resume execution after the specified limit type",
          "default": {
            "values": {
              "limitType": "afterTimeInterval",
              "resumeAmount": 45,
              "resumeUnit": "minutes"
            }
          },
          "options": [
            {
              "displayName": "Values",
              "name": "values",
              "values": [
                {
                  "displayName": "Limit Type",
                  "name": "limitType",
                  "type": "options",
                  "default": "afterTimeInterval",
                  "description": "Sets the condition for the execution to resume. Can be a specified date or after some time.",
                  "options": [
                    {
                      "name": "After Time Interval",
                      "description": "Waits for a certain amount of time",
                      "value": "afterTimeInterval"
                    },
                    {
                      "name": "At Specified Time",
                      "description": "Waits until the set date and time to continue",
                      "value": "atSpecifiedTime"
                    }
                  ]
                },
                {
                  "displayName": "Amount",
                  "name": "resumeAmount",
                  "type": "number",
                  "displayOptions": {
                    "show": {
                      "limitType": [
                        "afterTimeInterval"
                      ]
                    }
                  },
                  "typeOptions": {
                    "minValue": 0,
                    "numberPrecision": 2
                  },
                  "default": 1,
                  "description": "The time to wait"
                },
                {
                  "displayName": "Unit",
                  "name": "resumeUnit",
                  "type": "options",
                  "displayOptions": {
                    "show": {
                      "limitType": [
                        "afterTimeInterval"
                      ]
                    }
                  },
                  "options": [
                    {
                      "name": "Minutes",
                      "value": "minutes"
                    },
                    {
                      "name": "Hours",
                      "value": "hours"
                    },
                    {
                      "name": "Days",
                      "value": "days"
                    }
                  ],
                  "default": "hours",
                  "description": "Unit of the interval value"
                },
                {
                  "displayName": "Max Date and Time",
                  "name": "maxDateAndTime",
                  "type": "dateTime",
                  "displayOptions": {
                    "show": {
                      "limitType": [
                        "atSpecifiedTime"
                      ]
                    }
                  },
                  "default": "",
                  "description": "Continue execution after the specified date and time"
                }
              ]
            }
          ]
        },
        {
          "displayName": "Append n8n Attribution",
          "name": "appendAttribution",
          "type": "boolean",
          "default": true,
          "description": "Whether to include the phrase \"This message was sent automatically with n8n\" to the end of the message"
        }
      ],
      "displayOptions": {
        "show": {
          "responseType": [
            "freeText",
            "customForm"
          ],
          "resource": [
            "message"
          ],
          "operation": [
            "sendAndWait"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a new channel",
          "action": "Create a channel"
        },
        {
          "name": "Delete",
          "value": "deleteChannel",
          "description": "Delete a channel",
          "action": "Delete a channel"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get a channel",
          "action": "Get a channel"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Retrieve the channels of a server",
          "action": "Get many channels"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update a channel",
          "action": "Update a channel"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "channel"
          ],
          "authentication": [
            "botToken",
            "oAuth2"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Server",
      "name": "guildId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "Select the server (guild) that your bot is connected to",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "channel"
          ],
          "authentication": [
            "botToken",
            "oAuth2"
          ]
        }
      },
      "modes": [
        {
          "displayName": "By Name",
          "name": "list",
          "type": "list",
          "placeholder": "e.g. my-server",
          "typeOptions": {
            "searchListMethod": "guildSearch"
          }
        },
        {
          "displayName": "By URL",
          "name": "url",
          "type": "string",
          "placeholder": "e.g. https://discord.com/channels/[guild-id]",
          "extractValue": {
            "type": "regex",
            "regex": "https:\\/\\/discord.com\\/channels\\/([0-9]+)"
          },
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "https:\\/\\/discord.com\\/channels\\/([0-9]+)",
                "errorMessage": "Not a valid Discord Server URL"
              }
            }
          ]
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. 896347036838936576",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[0-9]+",
                "errorMessage": "Not a valid Discord Server ID"
              }
            }
          ]
        }
      ]
    },
    {
      "displayName": "Name",
      "name": "name",
      "type": "string",
      "default": "",
      "description": "The name of the channel",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "channel"
          ],
          "operation": [
            "create"
          ]
        },
        "hide": {
          "authentication": [
            "webhook"
          ]
        }
      }
    },
    {
      "displayName": "Type",
      "name": "type",
      "type": "options",
      "default": "0",
      "description": "The type of channel to create",
      "options": [
        {
          "name": "Guild Text",
          "value": "0"
        },
        {
          "name": "Guild Voice",
          "value": "2"
        },
        {
          "name": "Guild Category",
          "value": "4"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "channel"
          ],
          "operation": [
            "create"
          ]
        },
        "hide": {
          "authentication": [
            "webhook"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Age-Restricted (NSFW)",
          "name": "nsfw",
          "type": "boolean",
          "default": false,
          "description": "Whether the content of the channel might be nsfw (not safe for work)",
          "displayOptions": {
            "hide": {
              "/type": [
                "4"
              ]
            }
          }
        },
        {
          "displayName": "Bitrate",
          "name": "bitrate",
          "type": "number",
          "default": 8000,
          "placeholder": "e.g. 8000",
          "typeOptions": {
            "minValue": 8000,
            "maxValue": 96000
          },
          "description": "The bitrate (in bits) of the voice channel",
          "displayOptions": {
            "show": {
              "/type": [
                "2"
              ]
            }
          }
        },
        {
          "displayName": "Parent Category",
          "name": "categoryId",
          "type": "resourceLocator",
          "default": {
            "mode": "list",
            "value": ""
          },
          "description": "The parent category where you want the channel to appear",
          "modes": [
            {
              "displayName": "By Name",
              "name": "list",
              "type": "list",
              "placeholder": "e.g. my-channel",
              "typeOptions": {
                "searchListMethod": "categorySearch"
              }
            },
            {
              "displayName": "By URL",
              "name": "url",
              "type": "string",
              "placeholder": "e.g. https://discord.com/channels/[guild-id]/[channel-id]",
              "extractValue": {
                "type": "regex",
                "regex": "https:\\/\\/discord.com\\/channels\\/[0-9]+\\/([0-9]+)"
              },
              "validation": [
                {
                  "type": "regex",
                  "properties": {
                    "regex": "https:\\/\\/discord.com\\/channels\\/[0-9]+\\/([0-9]+)",
                    "errorMessage": "Not a valid Discord Category URL"
                  }
                }
              ]
            },
            {
              "displayName": "By ID",
              "name": "id",
              "type": "string",
              "placeholder": "e.g. 896347036838936576",
              "validation": [
                {
                  "type": "regex",
                  "properties": {
                    "regex": "[0-9]+",
                    "errorMessage": "Not a valid Discord Category ID"
                  }
                }
              ]
            }
          ],
          "displayOptions": {
            "hide": {
              "/type": [
                "4"
              ]
            }
          }
        },
        {
          "displayName": "Position",
          "name": "position",
          "type": "number",
          "default": 1
        },
        {
          "displayName": "Rate Limit Per User",
          "name": "rate_limit_per_user",
          "type": "number",
          "default": 0,
          "description": "Amount of seconds a user has to wait before sending another message",
          "displayOptions": {
            "hide": {
              "/type": [
                "4"
              ]
            }
          }
        },
        {
          "displayName": "Topic",
          "name": "topic",
          "type": "string",
          "default": "",
          "typeOptions": {
            "rows": 2
          },
          "description": "The channel topic description (0-1024 characters)",
          "placeholder": "e.g. This channel is about…",
          "displayOptions": {
            "hide": {
              "/type": [
                "4"
              ]
            }
          }
        },
        {
          "displayName": "User Limit",
          "name": "user_limit",
          "type": "number",
          "default": 0,
          "typeOptions": {
            "minValue": 0,
            "maxValue": 99
          },
          "placeholder": "e.g. 20",
          "description": "The limit for the number of members that can be in the channel (0 refers to no limit)",
          "displayOptions": {
            "show": {
              "/type": [
                "2"
              ]
            }
          }
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "channel"
          ],
          "operation": [
            "create"
          ]
        },
        "hide": {
          "authentication": [
            "webhook"
          ]
        }
      }
    },
    {
      "displayName": "Channel",
      "name": "channelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "Select the channel by name, URL, or ID",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "channel"
          ],
          "operation": [
            "deleteChannel"
          ]
        },
        "hide": {
          "authentication": [
            "webhook"
          ]
        }
      },
      "modes": [
        {
          "displayName": "By Name",
          "name": "list",
          "type": "list",
          "placeholder": "e.g. my-channel",
          "typeOptions": {
            "searchListMethod": "channelSearch"
          }
        },
        {
          "displayName": "By URL",
          "name": "url",
          "type": "string",
          "placeholder": "e.g. https://discord.com/channels/[guild-id]/[channel-id]",
          "extractValue": {
            "type": "regex",
            "regex": "https:\\/\\/discord.com\\/channels\\/[0-9]+\\/([0-9]+)"
          },
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "https:\\/\\/discord.com\\/channels\\/[0-9]+\\/([0-9]+)",
                "errorMessage": "Not a valid Discord Channel URL"
              }
            }
          ]
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. 896347036838936576",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[0-9]+",
                "errorMessage": "Not a valid Discord Channel ID"
              }
            }
          ]
        }
      ]
    },
    {
      "displayName": "Channel",
      "name": "channelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "Select the channel by name, URL, or ID",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "channel"
          ],
          "operation": [
            "get"
          ]
        },
        "hide": {
          "authentication": [
            "webhook"
          ]
        }
      },
      "modes": [
        {
          "displayName": "By Name",
          "name": "list",
          "type": "list",
          "placeholder": "e.g. my-channel",
          "typeOptions": {
            "searchListMethod": "channelSearch"
          }
        },
        {
          "displayName": "By URL",
          "name": "url",
          "type": "string",
          "placeholder": "e.g. https://discord.com/channels/[guild-id]/[channel-id]",
          "extractValue": {
            "type": "regex",
            "regex": "https:\\/\\/discord.com\\/channels\\/[0-9]+\\/([0-9]+)"
          },
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "https:\\/\\/discord.com\\/channels\\/[0-9]+\\/([0-9]+)",
                "errorMessage": "Not a valid Discord Channel URL"
              }
            }
          ]
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. 896347036838936576",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[0-9]+",
                "errorMessage": "Not a valid Discord Channel ID"
              }
            }
          ]
        }
      ]
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "resource": [
            "channel"
          ],
          "operation": [
            "getAll"
          ]
        },
        "hide": {
          "authentication": [
            "webhook"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "returnAll": [
            false
          ],
          "resource": [
            "channel"
          ],
          "operation": [
            "getAll"
          ]
        },
        "hide": {
          "authentication": [
            "webhook"
          ]
        }
      },
      "typeOptions": {
        "minValue": 1
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Filter by Type",
          "name": "filter",
          "type": "multiOptions",
          "default": [],
          "options": [
            {
              "name": "Guild Text",
              "value": 0
            },
            {
              "name": "Guild Voice",
              "value": 2
            },
            {
              "name": "Guild Category",
              "value": 4
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "channel"
          ],
          "operation": [
            "getAll"
          ]
        },
        "hide": {
          "authentication": [
            "webhook"
          ]
        }
      }
    },
    {
      "displayName": "Channel",
      "name": "channelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "Select the channel by name, URL, or ID",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "channel"
          ],
          "operation": [
            "update"
          ]
        },
        "hide": {
          "authentication": [
            "webhook"
          ]
        }
      },
      "modes": [
        {
          "displayName": "By Name",
          "name": "list",
          "type": "list",
          "placeholder": "e.g. my-channel",
          "typeOptions": {
            "searchListMethod": "channelSearch"
          }
        },
        {
          "displayName": "By URL",
          "name": "url",
          "type": "string",
          "placeholder": "e.g. https://discord.com/channels/[guild-id]/[channel-id]",
          "extractValue": {
            "type": "regex",
            "regex": "https:\\/\\/discord.com\\/channels\\/[0-9]+\\/([0-9]+)"
          },
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "https:\\/\\/discord.com\\/channels\\/[0-9]+\\/([0-9]+)",
                "errorMessage": "Not a valid Discord Channel URL"
              }
            }
          ]
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. 896347036838936576",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[0-9]+",
                "errorMessage": "Not a valid Discord Channel ID"
              }
            }
          ]
        }
      ]
    },
    {
      "displayName": "Name",
      "name": "name",
      "type": "string",
      "default": "",
      "description": "The new name of the channel. Fill this field only if you want to change the channel's name.",
      "displayOptions": {
        "show": {
          "resource": [
            "channel"
          ],
          "operation": [
            "update"
          ]
        },
        "hide": {
          "authentication": [
            "webhook"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Age-Restricted (NSFW)",
          "name": "nsfw",
          "type": "boolean",
          "default": false,
          "description": "Whether the content of the channel might be nsfw (not safe for work)"
        },
        {
          "displayName": "Bitrate",
          "name": "bitrate",
          "type": "number",
          "default": 8000,
          "typeOptions": {
            "minValue": 8000,
            "maxValue": 96000
          },
          "description": "The bitrate (in bits) of the voice channel",
          "hint": "Only applicable to voice channels"
        },
        {
          "displayName": "Parent Category",
          "name": "categoryId",
          "type": "resourceLocator",
          "default": {
            "mode": "list",
            "value": ""
          },
          "description": "The parent category where you want the channel to appear",
          "modes": [
            {
              "displayName": "By Name",
              "name": "list",
              "type": "list",
              "placeholder": "e.g. my-channel",
              "typeOptions": {
                "searchListMethod": "categorySearch"
              }
            },
            {
              "displayName": "By URL",
              "name": "url",
              "type": "string",
              "placeholder": "e.g. https://discord.com/channels/[guild-id]/[channel-id]",
              "extractValue": {
                "type": "regex",
                "regex": "https:\\/\\/discord.com\\/channels\\/[0-9]+\\/([0-9]+)"
              },
              "validation": [
                {
                  "type": "regex",
                  "properties": {
                    "regex": "https:\\/\\/discord.com\\/channels\\/[0-9]+\\/([0-9]+)",
                    "errorMessage": "Not a valid Discord Category URL"
                  }
                }
              ]
            },
            {
              "displayName": "By ID",
              "name": "id",
              "type": "string",
              "placeholder": "e.g. 896347036838936576",
              "validation": [
                {
                  "type": "regex",
                  "properties": {
                    "regex": "[0-9]+",
                    "errorMessage": "Not a valid Discord Category ID"
                  }
                }
              ]
            }
          ]
        },
        {
          "displayName": "Position",
          "name": "position",
          "type": "number",
          "default": 1
        },
        {
          "displayName": "Rate Limit Per User",
          "name": "rate_limit_per_user",
          "type": "number",
          "default": 0,
          "description": "Amount of seconds a user has to wait before sending another message"
        },
        {
          "displayName": "Topic",
          "name": "topic",
          "type": "string",
          "default": "",
          "typeOptions": {
            "rows": 2
          },
          "description": "The channel topic description (0-1024 characters)",
          "placeholder": "e.g. This channel is about…"
        },
        {
          "displayName": "User Limit",
          "name": "user_limit",
          "type": "number",
          "default": 0,
          "typeOptions": {
            "minValue": 0,
            "maxValue": 99
          },
          "placeholder": "e.g. 20",
          "hint": "Only applicable to voice channels",
          "description": "The limit for the number of members that can be in the channel (0 refers to no limit)"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "channel"
          ],
          "operation": [
            "update"
          ]
        },
        "hide": {
          "authentication": [
            "webhook"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Retrieve the members of a server",
          "action": "Get many members"
        },
        {
          "name": "Role Add",
          "value": "roleAdd",
          "description": "Add a role to a member",
          "action": "Add a role to a member"
        },
        {
          "name": "Role Remove",
          "value": "roleRemove",
          "description": "Remove a role from a member",
          "action": "Remove a role from a member"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "member"
          ],
          "authentication": [
            "botToken",
            "oAuth2"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Server",
      "name": "guildId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "Select the server (guild) that your bot is connected to",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "member"
          ],
          "authentication": [
            "botToken",
            "oAuth2"
          ]
        }
      },
      "modes": [
        {
          "displayName": "By Name",
          "name": "list",
          "type": "list",
          "placeholder": "e.g. my-server",
          "typeOptions": {
            "searchListMethod": "guildSearch"
          }
        },
        {
          "displayName": "By URL",
          "name": "url",
          "type": "string",
          "placeholder": "e.g. https://discord.com/channels/[guild-id]",
          "extractValue": {
            "type": "regex",
            "regex": "https:\\/\\/discord.com\\/channels\\/([0-9]+)"
          },
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "https:\\/\\/discord.com\\/channels\\/([0-9]+)",
                "errorMessage": "Not a valid Discord Server URL"
              }
            }
          ]
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. 896347036838936576",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[0-9]+",
                "errorMessage": "Not a valid Discord Server ID"
              }
            }
          ]
        }
      ]
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "resource": [
            "member"
          ],
          "operation": [
            "getAll"
          ]
        },
        "hide": {
          "authentication": [
            "webhook"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "returnAll": [
            false
          ],
          "resource": [
            "member"
          ],
          "operation": [
            "getAll"
          ]
        },
        "hide": {
          "authentication": [
            "webhook"
          ]
        }
      },
      "typeOptions": {
        "minValue": 1
      }
    },
    {
      "displayName": "After",
      "name": "after",
      "type": "string",
      "default": "",
      "description": "The ID of the user after which to return the members",
      "displayOptions": {
        "show": {
          "resource": [
            "member"
          ],
          "operation": [
            "getAll"
          ]
        },
        "hide": {
          "authentication": [
            "webhook"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Simplify",
          "name": "simplify",
          "type": "boolean",
          "default": true,
          "description": "Whether to return a simplified version of the response instead of the raw data"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "member"
          ],
          "operation": [
            "getAll"
          ]
        },
        "hide": {
          "authentication": [
            "webhook"
          ]
        }
      }
    },
    {
      "displayName": "User",
      "name": "userId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "Select the user you want to assign a role to",
      "displayOptions": {
        "show": {
          "resource": [
            "member"
          ],
          "operation": [
            "roleAdd"
          ]
        },
        "hide": {
          "authentication": [
            "webhook"
          ]
        }
      },
      "modes": [
        {
          "displayName": "By Name",
          "name": "list",
          "type": "list",
          "placeholder": "e.g. DiscordUser",
          "typeOptions": {
            "searchListMethod": "userSearch"
          }
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. 786953432728469534",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[0-9]+",
                "errorMessage": "Not a valid User ID"
              }
            }
          ]
        }
      ]
    },
    {
      "displayName": "Role",
      "name": "role",
      "type": "multiOptions",
      "default": [],
      "description": "Select the roles you want to add to the user",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "member"
          ],
          "operation": [
            "roleAdd"
          ]
        },
        "hide": {
          "authentication": [
            "webhook"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getRoles",
        "loadOptionsDependsOn": [
          "userId.value",
          "guildId.value",
          "operation"
        ]
      }
    },
    {
      "displayName": "User",
      "name": "userId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "Select the user you want to assign a role to",
      "displayOptions": {
        "show": {
          "resource": [
            "member"
          ],
          "operation": [
            "roleRemove"
          ]
        },
        "hide": {
          "authentication": [
            "webhook"
          ]
        }
      },
      "modes": [
        {
          "displayName": "By Name",
          "name": "list",
          "type": "list",
          "placeholder": "e.g. DiscordUser",
          "typeOptions": {
            "searchListMethod": "userSearch"
          }
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. 786953432728469534",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[0-9]+",
                "errorMessage": "Not a valid User ID"
              }
            }
          ]
        }
      ]
    },
    {
      "displayName": "Role",
      "name": "role",
      "type": "multiOptions",
      "default": [],
      "description": "Select the roles you want to add to the user",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "member"
          ],
          "operation": [
            "roleRemove"
          ]
        },
        "hide": {
          "authentication": [
            "webhook"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getRoles",
        "loadOptionsDependsOn": [
          "userId.value",
          "guildId.value",
          "operation"
        ]
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "sendLegacy",
      "options": [
        {
          "name": "Send a Message",
          "value": "sendLegacy",
          "description": "Send a message to a channel using the webhook",
          "action": "Send a message"
        }
      ],
      "displayOptions": {
        "show": {
          "authentication": [
            "webhook"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Message",
      "name": "content",
      "type": "string",
      "default": "",
      "description": "The content of the message (up to 2000 characters)",
      "displayOptions": {
        "show": {
          "operation": [
            "sendLegacy"
          ]
        },
        "hide": {
          "authentication": [
            "botToken",
            "oAuth2"
          ]
        }
      },
      "typeOptions": {
        "rows": 2
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Avatar URL",
          "name": "avatar_url",
          "type": "string",
          "default": "",
          "description": "Override the default avatar of the webhook",
          "placeholder": "e.g. https://example.com/image.png"
        },
        {
          "displayName": "Flags",
          "name": "flags",
          "type": "multiOptions",
          "default": [],
          "description": "Message flags. <a href=\"https://discord.com/developers/docs/resources/channel#message-object-message-flags\" target=\"_blank\">More info</a>.”.",
          "options": [
            {
              "name": "Suppress Embeds",
              "value": "SUPPRESS_EMBEDS"
            },
            {
              "name": "Suppress Notifications",
              "value": "SUPPRESS_NOTIFICATIONS"
            }
          ]
        },
        {
          "displayName": "Text-to-Speech (TTS)",
          "name": "tts",
          "type": "boolean",
          "default": false,
          "description": "Whether to have a bot reading the message directly in the channel"
        },
        {
          "displayName": "Username",
          "name": "username",
          "type": "string",
          "default": "",
          "description": "Override the default username of the webhook",
          "placeholder": "e.g. My Username"
        },
        {
          "displayName": "Wait",
          "name": "wait",
          "type": "boolean",
          "default": false,
          "description": "Whether wait for the message to be created before returning its response"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "sendLegacy"
          ]
        },
        "hide": {
          "authentication": [
            "botToken",
            "oAuth2"
          ]
        }
      }
    },
    {
      "displayName": "Embeds",
      "name": "embeds",
      "type": "fixedCollection",
      "default": [],
      "options": [
        {
          "displayName": "Values",
          "name": "values",
          "values": [
            {
              "displayName": "Input Method",
              "name": "inputMethod",
              "type": "options",
              "options": [
                {
                  "name": "Enter Fields",
                  "value": "fields"
                },
                {
                  "name": "Raw JSON",
                  "value": "json"
                }
              ],
              "default": "fields"
            },
            {
              "displayName": "Value",
              "name": "json",
              "type": "json",
              "default": "={}",
              "typeOptions": {
                "rows": 2
              },
              "displayOptions": {
                "show": {
                  "inputMethod": [
                    "json"
                  ]
                }
              }
            },
            {
              "displayName": "Description",
              "name": "description",
              "type": "string",
              "default": "",
              "description": "The description of embed",
              "placeholder": "e.g. My description",
              "typeOptions": {
                "rows": 2
              },
              "displayOptions": {
                "show": {
                  "inputMethod": [
                    "fields"
                  ]
                }
              }
            },
            {
              "displayName": "Author",
              "name": "author",
              "type": "string",
              "default": "",
              "description": "The name of the author",
              "placeholder": "e.g. John Doe",
              "displayOptions": {
                "show": {
                  "inputMethod": [
                    "fields"
                  ]
                }
              }
            },
            {
              "displayName": "Color",
              "name": "color",
              "type": "color",
              "default": "",
              "description": "Color code of the embed",
              "placeholder": "e.g. 12123432",
              "displayOptions": {
                "show": {
                  "inputMethod": [
                    "fields"
                  ]
                }
              }
            },
            {
              "displayName": "Timestamp",
              "name": "timestamp",
              "type": "dateTime",
              "default": "",
              "description": "The time displayed at the bottom of the embed. Provide in ISO8601 format.",
              "placeholder": "e.g. 2023-02-08 09:30:26",
              "displayOptions": {
                "show": {
                  "inputMethod": [
                    "fields"
                  ]
                }
              }
            },
            {
              "displayName": "Title",
              "name": "title",
              "type": "string",
              "default": "",
              "description": "The title of embed",
              "placeholder": "e.g. Embed's title",
              "displayOptions": {
                "show": {
                  "inputMethod": [
                    "fields"
                  ]
                }
              }
            },
            {
              "displayName": "URL",
              "name": "url",
              "type": "string",
              "default": "",
              "description": "The URL where you want to link the embed to",
              "placeholder": "e.g. https://discord.com/",
              "displayOptions": {
                "show": {
                  "inputMethod": [
                    "fields"
                  ]
                }
              }
            },
            {
              "displayName": "URL Image",
              "name": "image",
              "type": "string",
              "default": "",
              "description": "Source URL of image (only supports http(s) and attachments)",
              "placeholder": "e.g. https://example.com/image.png",
              "displayOptions": {
                "show": {
                  "inputMethod": [
                    "fields"
                  ]
                }
              }
            },
            {
              "displayName": "URL Thumbnail",
              "name": "thumbnail",
              "type": "string",
              "default": "",
              "description": "Source URL of thumbnail (only supports http(s) and attachments)",
              "placeholder": "e.g. https://example.com/image.png",
              "displayOptions": {
                "show": {
                  "inputMethod": [
                    "fields"
                  ]
                }
              }
            },
            {
              "displayName": "URL Video",
              "name": "video",
              "type": "string",
              "default": "",
              "description": "Source URL of video",
              "placeholder": "e.g. https://example.com/video.mp4",
              "displayOptions": {
                "show": {
                  "inputMethod": [
                    "fields"
                  ]
                }
              }
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "sendLegacy"
          ]
        },
        "hide": {
          "authentication": [
            "botToken",
            "oAuth2"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true
      }
    },
    {
      "displayName": "Files",
      "name": "files",
      "type": "fixedCollection",
      "default": [],
      "options": [
        {
          "displayName": "Values",
          "name": "values",
          "values": [
            {
              "displayName": "Input Data Field Name",
              "name": "inputFieldName",
              "type": "string",
              "default": "data",
              "description": "The contents of the file being sent with the message",
              "placeholder": "e.g. data",
              "hint": "The name of the input field containing the binary file data to be sent"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "sendLegacy"
          ]
        },
        "hide": {
          "authentication": [
            "botToken",
            "oAuth2"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true
      }
    }
  ]

operations:
  [
    {
      "operation": "deleteMessage",
      "name": "Delete",
      "description": "Delete a message in a channel"
    },
    {
      "operation": "get",
      "name": "Get",
      "description": "Get a message in a channel"
    },
    {
      "operation": "getAll",
      "name": "Get Many",
      "description": "Retrieve the latest messages in a channel"
    },
    {
      "operation": "react",
      "name": "React with Emoji",
      "description": "React to a message with an emoji"
    },
    {
      "operation": "send",
      "name": "Send",
      "description": "Send a message to a channel, thread, or member"
    },
    {
      "operation": "sendAndWait",
      "name": "Send and Wait for Response",
      "description": "Send a message and wait for response"
    }
  ]

credentials_required:
  [
    {
      "name": "discordBotApi",
      "required": true,
      "displayOptions": {
        "show": {
          "authentication": [
            "botToken"
          ]
        }
      }
    },
    {
      "name": "discordOAuth2Api",
      "required": true,
      "displayOptions": {
        "show": {
          "authentication": [
            "oAuth2"
          ]
        }
      }
    },
    {
      "name": "discordWebhookApi",
      "displayOptions": {
        "show": {
          "authentication": [
            "webhook"
          ]
        }
      }
    }
  ]


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

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

output_names:
  [
  "Tool"
  ]

updated_at: 2026-01-06 10:26:56
tool_variant_of: nodes-base.discourse
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Discourse node documentation
  description: Learn how to use the Discourse node in n8n. Follow technical documentation to integrate Discourse node into your workflows.
  contentType: [integration, reference]
  ---

  # Discourse node

  Use the Discourse node to automate work in Discourse, and integrate Discourse with other applications. n8n has built-in support for a wide range of Discourse features, including creating, getting, updating, and removing categories, groups, posts, and users.

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

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

  ## Operations

  * Category
      * Create a category
      * Get all categories
      * Update a category
  * Group
      * Create a group
      * Get a group
      * Get all groups
      * Update a group
  * Post
      * Create a post
      * Get a post
      * Get all posts
      * Update a post
  * User
      * Create a user
      * Get a user
      * Get all users
  * User Group
      * Create a user to group
      * Remove user from group

  ## Templates and examples

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

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

properties_schema:
  [
    {
      "displayName": "Tool Description",
      "name": "toolDescription",
      "type": "string",
      "default": "",
      "required": false,
      "description": "Description for the AI to understand what this tool does and when to use it",
      "typeOptions": {
        "rows": 3
      },
      "placeholder": "e.g., Use this tool to interact with Discourse"
    },
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "post",
      "options": [
        {
          "name": "Category",
          "value": "category"
        },
        {
          "name": "Group",
          "value": "group"
        },
        {
          "name": "Post",
          "value": "post"
        },
        {
          "name": "User",
          "value": "user"
        },
        {
          "name": "User Group",
          "value": "userGroup"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "description": "Choose an operation",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a category",
          "action": "Create a category"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many categories",
          "action": "Get many categories"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update a category",
          "action": "Update a category"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "category"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Name",
      "name": "name",
      "type": "string",
      "default": "",
      "description": "Name of the category",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "category"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Color",
      "name": "color",
      "type": "color",
      "default": "0000FF",
      "description": "Color of the category",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "category"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Text Color",
      "name": "textColor",
      "type": "color",
      "default": "0000FF",
      "description": "Text color of the category",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "category"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "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": [
            "category"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "category"
          ],
          "operation": [
            "getAll"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Category ID",
      "name": "categoryId",
      "type": "string",
      "default": "",
      "description": "ID of the category",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "category"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Name",
      "name": "name",
      "type": "string",
      "default": "",
      "description": "New name of the category",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "category"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Update Fields",
      "name": "updateFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Color",
          "name": "color",
          "type": "color",
          "default": "0000FF",
          "description": "Color of the category"
        },
        {
          "displayName": "Text Color",
          "name": "textColor",
          "type": "color",
          "default": "0000FF",
          "description": "Text color of the category"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "category"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "description": "Choose an operation",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a group",
          "action": "Create 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"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "group"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Name",
      "name": "name",
      "type": "string",
      "default": "",
      "description": "Name of the group",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "group"
          ],
          "operation": [
            "get",
            "create"
          ]
        }
      }
    },
    {
      "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": [
            "group"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "group"
          ],
          "operation": [
            "getAll"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Group ID",
      "name": "groupId",
      "type": "string",
      "default": "",
      "description": "ID of the group to update",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "group"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Name",
      "name": "name",
      "type": "string",
      "default": "",
      "description": "New name of the group",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "group"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "description": "Choose an operation",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a post",
          "action": "Create a post"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get a post",
          "action": "Get a post"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many posts",
          "action": "Get many posts"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update a post",
          "action": "Update a post"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "post"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Title",
      "name": "title",
      "type": "string",
      "default": "",
      "description": "Title of the post",
      "displayOptions": {
        "show": {
          "resource": [
            "post"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Content",
      "name": "content",
      "type": "string",
      "default": "",
      "description": "Content of the post",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "post"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Category Name or ID",
          "name": "category",
          "type": "options",
          "typeOptions": {
            "loadOptionsMethod": "getCategories"
          },
          "default": "",
          "description": "ID of the category. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        },
        {
          "displayName": "Reply To Post Number",
          "name": "reply_to_post_number",
          "type": "string",
          "default": "",
          "description": "The number of the post to reply to"
        },
        {
          "displayName": "Topic ID",
          "name": "topic_id",
          "type": "string",
          "default": "",
          "description": "ID of the topic"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "post"
          ]
        }
      }
    },
    {
      "displayName": "Post ID",
      "name": "postId",
      "type": "string",
      "default": "",
      "description": "ID of the post",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "post"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "resource": [
            "post"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "post"
          ],
          "operation": [
            "getAll"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Post ID",
      "name": "postId",
      "type": "string",
      "default": "",
      "description": "ID of the post",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "post"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Content",
      "name": "content",
      "type": "string",
      "default": "",
      "description": "Content of the post. HTML is supported.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "post"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Update Fields",
      "name": "updateFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Edit Reason",
          "name": "edit_reason",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Cooked",
          "name": "cooked",
          "type": "boolean",
          "default": false
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "post"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "description": "Choose an operation",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a user",
          "action": "Create 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"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Name",
      "name": "name",
      "type": "string",
      "default": "",
      "description": "Name of the user to create",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Email",
      "name": "email",
      "type": "string",
      "default": "",
      "description": "Email of the user to create",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Username",
      "name": "username",
      "type": "string",
      "default": "",
      "description": "The username of the user to create",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Password",
      "name": "password",
      "type": "string",
      "default": "",
      "description": "The password of the user to create",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "create"
          ]
        }
      },
      "typeOptions": {
        "password": true
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Active",
          "name": "active",
          "type": "boolean",
          "default": false
        },
        {
          "displayName": "Approved",
          "name": "approved",
          "type": "boolean",
          "default": false
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "By",
      "name": "by",
      "type": "options",
      "default": "username",
      "description": "What to search by",
      "options": [
        {
          "name": "Username",
          "value": "username"
        },
        {
          "name": "SSO External ID",
          "value": "externalId"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Username",
      "name": "username",
      "type": "string",
      "default": "",
      "description": "The username of the user to return",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "get"
          ],
          "by": [
            "username"
          ]
        }
      }
    },
    {
      "displayName": "SSO External ID",
      "name": "externalId",
      "type": "string",
      "default": "",
      "description": "Discourse SSO external ID",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "get"
          ],
          "by": [
            "externalId"
          ]
        }
      }
    },
    {
      "displayName": "Flag",
      "name": "flag",
      "type": "options",
      "default": "",
      "description": "User flags to search for",
      "options": [
        {
          "name": "Active",
          "value": "active"
        },
        {
          "name": "Blocked",
          "value": "blocked"
        },
        {
          "name": "New",
          "value": "new"
        },
        {
          "name": "Staff",
          "value": "staff"
        },
        {
          "name": "Suspect",
          "value": "suspect"
        },
        {
          "name": "Suspended",
          "value": "suspended"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "resource": [
            "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,
        "maxValue": 100
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Ascending",
          "name": "asc",
          "type": "boolean",
          "default": true,
          "description": "Whether to sort ascending"
        },
        {
          "displayName": "Order",
          "name": "order",
          "type": "options",
          "options": [
            {
              "name": "Created",
              "value": "created"
            },
            {
              "name": "Days Visited",
              "value": "days_visited"
            },
            {
              "name": "Email",
              "value": "email"
            },
            {
              "name": "Last Emailed",
              "value": "last_emailed"
            },
            {
              "name": "Posts",
              "value": "posts"
            },
            {
              "name": "Posts Read",
              "value": "posts_read"
            },
            {
              "name": "Read Time",
              "value": "read_time"
            },
            {
              "name": "Seen",
              "value": "seen"
            },
            {
              "name": "Topics Viewed",
              "value": "topics_viewed"
            },
            {
              "name": "Trust Level",
              "value": "trust_level"
            },
            {
              "name": "Username",
              "value": "username"
            }
          ],
          "default": "created",
          "description": "What to order by"
        },
        {
          "displayName": "Show Emails",
          "name": "showEmails",
          "type": "boolean",
          "default": false,
          "description": "Whether to include user email addresses"
        },
        {
          "displayName": "Stats",
          "name": "stats",
          "type": "boolean",
          "default": false,
          "description": "Whether to return user stats"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "add",
      "description": "Choose an operation",
      "options": [
        {
          "name": "Add",
          "value": "add",
          "description": "Create a user to group",
          "action": "Add a user to a group"
        },
        {
          "name": "Remove",
          "value": "remove",
          "description": "Remove user from group",
          "action": "Remove a user from a group"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "userGroup"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Usernames",
      "name": "usernames",
      "type": "string",
      "default": "",
      "description": "Usernames to add to group. Multiples can be defined separated by comma.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "userGroup"
          ],
          "operation": [
            "add"
          ]
        }
      }
    },
    {
      "displayName": "Group ID",
      "name": "groupId",
      "type": "string",
      "default": "",
      "description": "ID of the group",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "userGroup"
          ],
          "operation": [
            "add"
          ]
        }
      }
    },
    {
      "displayName": "Usernames",
      "name": "usernames",
      "type": "string",
      "default": "",
      "description": "Usernames to remove from group. Multiples can be defined separated by comma.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "userGroup"
          ],
          "operation": [
            "remove"
          ]
        }
      }
    },
    {
      "displayName": "Group ID",
      "name": "groupId",
      "type": "string",
      "default": "",
      "description": "ID of the group to remove",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "userGroup"
          ],
          "operation": [
            "remove"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "create",
      "name": "Create",
      "description": "Create a category"
    },
    {
      "operation": "getAll",
      "name": "Get Many",
      "description": "Get many categories"
    },
    {
      "operation": "update",
      "name": "Update",
      "description": "Update a category"
    }
  ]


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

outputs:
  [
  "main"
  ]

updated_at: 2026-01-06 10:26:56
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Discourse node documentation
  description: Learn how to use the Discourse node in n8n. Follow technical documentation to integrate Discourse node into your workflows.
  contentType: [integration, reference]
  ---

  # Discourse node

  Use the Discourse node to automate work in Discourse, and integrate Discourse with other applications. n8n has built-in support for a wide range of Discourse features, including creating, getting, updating, and removing categories, groups, posts, and users.

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

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

  ## Operations

  * Category
      * Create a category
      * Get all categories
      * Update a category
  * Group
      * Create a group
      * Get a group
      * Get all groups
      * Update a group
  * Post
      * Create a post
      * Get a post
      * Get all posts
      * Update a post
  * User
      * Create a user
      * Get a user
      * Get all users
  * User Group
      * Create a user to group
      * Remove user from group

  ## Templates and examples

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

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

properties_schema:
  [
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "post",
      "options": [
        {
          "name": "Category",
          "value": "category"
        },
        {
          "name": "Group",
          "value": "group"
        },
        {
          "name": "Post",
          "value": "post"
        },
        {
          "name": "User",
          "value": "user"
        },
        {
          "name": "User Group",
          "value": "userGroup"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "description": "Choose an operation",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a category",
          "action": "Create a category"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many categories",
          "action": "Get many categories"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update a category",
          "action": "Update a category"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "category"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Name",
      "name": "name",
      "type": "string",
      "default": "",
      "description": "Name of the category",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "category"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Color",
      "name": "color",
      "type": "color",
      "default": "0000FF",
      "description": "Color of the category",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "category"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Text Color",
      "name": "textColor",
      "type": "color",
      "default": "0000FF",
      "description": "Text color of the category",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "category"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "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": [
            "category"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "category"
          ],
          "operation": [
            "getAll"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Category ID",
      "name": "categoryId",
      "type": "string",
      "default": "",
      "description": "ID of the category",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "category"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Name",
      "name": "name",
      "type": "string",
      "default": "",
      "description": "New name of the category",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "category"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Update Fields",
      "name": "updateFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Color",
          "name": "color",
          "type": "color",
          "default": "0000FF",
          "description": "Color of the category"
        },
        {
          "displayName": "Text Color",
          "name": "textColor",
          "type": "color",
          "default": "0000FF",
          "description": "Text color of the category"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "category"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "description": "Choose an operation",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a group",
          "action": "Create 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"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "group"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Name",
      "name": "name",
      "type": "string",
      "default": "",
      "description": "Name of the group",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "group"
          ],
          "operation": [
            "get",
            "create"
          ]
        }
      }
    },
    {
      "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": [
            "group"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "group"
          ],
          "operation": [
            "getAll"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Group ID",
      "name": "groupId",
      "type": "string",
      "default": "",
      "description": "ID of the group to update",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "group"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Name",
      "name": "name",
      "type": "string",
      "default": "",
      "description": "New name of the group",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "group"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "description": "Choose an operation",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a post",
          "action": "Create a post"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get a post",
          "action": "Get a post"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many posts",
          "action": "Get many posts"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update a post",
          "action": "Update a post"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "post"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Title",
      "name": "title",
      "type": "string",
      "default": "",
      "description": "Title of the post",
      "displayOptions": {
        "show": {
          "resource": [
            "post"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Content",
      "name": "content",
      "type": "string",
      "default": "",
      "description": "Content of the post",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "post"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Category Name or ID",
          "name": "category",
          "type": "options",
          "typeOptions": {
            "loadOptionsMethod": "getCategories"
          },
          "default": "",
          "description": "ID of the category. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        },
        {
          "displayName": "Reply To Post Number",
          "name": "reply_to_post_number",
          "type": "string",
          "default": "",
          "description": "The number of the post to reply to"
        },
        {
          "displayName": "Topic ID",
          "name": "topic_id",
          "type": "string",
          "default": "",
          "description": "ID of the topic"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "post"
          ]
        }
      }
    },
    {
      "displayName": "Post ID",
      "name": "postId",
      "type": "string",
      "default": "",
      "description": "ID of the post",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "post"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "resource": [
            "post"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "post"
          ],
          "operation": [
            "getAll"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Post ID",
      "name": "postId",
      "type": "string",
      "default": "",
      "description": "ID of the post",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "post"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Content",
      "name": "content",
      "type": "string",
      "default": "",
      "description": "Content of the post. HTML is supported.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "post"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Update Fields",
      "name": "updateFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Edit Reason",
          "name": "edit_reason",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Cooked",
          "name": "cooked",
          "type": "boolean",
          "default": false
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "post"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "description": "Choose an operation",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a user",
          "action": "Create 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"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Name",
      "name": "name",
      "type": "string",
      "default": "",
      "description": "Name of the user to create",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Email",
      "name": "email",
      "type": "string",
      "default": "",
      "description": "Email of the user to create",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Username",
      "name": "username",
      "type": "string",
      "default": "",
      "description": "The username of the user to create",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Password",
      "name": "password",
      "type": "string",
      "default": "",
      "description": "The password of the user to create",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "create"
          ]
        }
      },
      "typeOptions": {
        "password": true
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Active",
          "name": "active",
          "type": "boolean",
          "default": false
        },
        {
          "displayName": "Approved",
          "name": "approved",
          "type": "boolean",
          "default": false
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "By",
      "name": "by",
      "type": "options",
      "default": "username",
      "description": "What to search by",
      "options": [
        {
          "name": "Username",
          "value": "username"
        },
        {
          "name": "SSO External ID",
          "value": "externalId"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Username",
      "name": "username",
      "type": "string",
      "default": "",
      "description": "The username of the user to return",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "get"
          ],
          "by": [
            "username"
          ]
        }
      }
    },
    {
      "displayName": "SSO External ID",
      "name": "externalId",
      "type": "string",
      "default": "",
      "description": "Discourse SSO external ID",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "get"
          ],
          "by": [
            "externalId"
          ]
        }
      }
    },
    {
      "displayName": "Flag",
      "name": "flag",
      "type": "options",
      "default": "",
      "description": "User flags to search for",
      "options": [
        {
          "name": "Active",
          "value": "active"
        },
        {
          "name": "Blocked",
          "value": "blocked"
        },
        {
          "name": "New",
          "value": "new"
        },
        {
          "name": "Staff",
          "value": "staff"
        },
        {
          "name": "Suspect",
          "value": "suspect"
        },
        {
          "name": "Suspended",
          "value": "suspended"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "resource": [
            "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,
        "maxValue": 100
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Ascending",
          "name": "asc",
          "type": "boolean",
          "default": true,
          "description": "Whether to sort ascending"
        },
        {
          "displayName": "Order",
          "name": "order",
          "type": "options",
          "options": [
            {
              "name": "Created",
              "value": "created"
            },
            {
              "name": "Days Visited",
              "value": "days_visited"
            },
            {
              "name": "Email",
              "value": "email"
            },
            {
              "name": "Last Emailed",
              "value": "last_emailed"
            },
            {
              "name": "Posts",
              "value": "posts"
            },
            {
              "name": "Posts Read",
              "value": "posts_read"
            },
            {
              "name": "Read Time",
              "value": "read_time"
            },
            {
              "name": "Seen",
              "value": "seen"
            },
            {
              "name": "Topics Viewed",
              "value": "topics_viewed"
            },
            {
              "name": "Trust Level",
              "value": "trust_level"
            },
            {
              "name": "Username",
              "value": "username"
            }
          ],
          "default": "created",
          "description": "What to order by"
        },
        {
          "displayName": "Show Emails",
          "name": "showEmails",
          "type": "boolean",
          "default": false,
          "description": "Whether to include user email addresses"
        },
        {
          "displayName": "Stats",
          "name": "stats",
          "type": "boolean",
          "default": false,
          "description": "Whether to return user stats"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "add",
      "description": "Choose an operation",
      "options": [
        {
          "name": "Add",
          "value": "add",
          "description": "Create a user to group",
          "action": "Add a user to a group"
        },
        {
          "name": "Remove",
          "value": "remove",
          "description": "Remove user from group",
          "action": "Remove a user from a group"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "userGroup"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Usernames",
      "name": "usernames",
      "type": "string",
      "default": "",
      "description": "Usernames to add to group. Multiples can be defined separated by comma.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "userGroup"
          ],
          "operation": [
            "add"
          ]
        }
      }
    },
    {
      "displayName": "Group ID",
      "name": "groupId",
      "type": "string",
      "default": "",
      "description": "ID of the group",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "userGroup"
          ],
          "operation": [
            "add"
          ]
        }
      }
    },
    {
      "displayName": "Usernames",
      "name": "usernames",
      "type": "string",
      "default": "",
      "description": "Usernames to remove from group. Multiples can be defined separated by comma.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "userGroup"
          ],
          "operation": [
            "remove"
          ]
        }
      }
    },
    {
      "displayName": "Group ID",
      "name": "groupId",
      "type": "string",
      "default": "",
      "description": "ID of the group to remove",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "userGroup"
          ],
          "operation": [
            "remove"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "create",
      "name": "Create",
      "description": "Create a category"
    },
    {
      "operation": "getAll",
      "name": "Get Many",
      "description": "Get many categories"
    },
    {
      "operation": "update",
      "name": "Update",
      "description": "Update a category"
    }
  ]


node_type: nodes-base.disqus
package_name: n8n-nodes-base
display_name: Disqus
description: Access data on Disqus
category: input
development_style: programmatic
version: 1
credentials_required:
  [
  {
  "name": "disqusApi",
  "required": true
  }
  ]

outputs:
  [
  "main"
  ]

updated_at: 2026-01-06 10:26:56
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Disqus node documentation
  description: Learn how to use the Disqus node in n8n. Follow technical documentation to integrate Disqus node into your workflows.
  contentType: [integration, reference]
  ---

  # Disqus node

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

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

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

  ## Operations

  * Forum
      * Return forum details
      * Return a list of categories within a forum
      * Return a list of threads within a forum
      * Return a list of posts within a forum

  ## Templates and examples

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

properties_schema:
  [
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "forum",
      "options": [
        {
          "name": "Forum",
          "value": "forum"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "description": "Return forum details",
          "action": "Get a forum"
        },
        {
          "name": "Get All Categories",
          "value": "getCategories",
          "description": "Return a list of categories within a forum",
          "action": "Get all categories in a forum"
        },
        {
          "name": "Get All Threads",
          "value": "getThreads",
          "description": "Return a list of threads within a forum",
          "action": "Get all threads in a forum"
        },
        {
          "name": "Get All Posts",
          "value": "getPosts",
          "description": "Return a list of posts within a forum",
          "action": "Get all posts in a forum"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "forum"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Forum Name",
      "name": "id",
      "type": "string",
      "default": "",
      "description": "The short name(aka ID) of the forum to get",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "get"
          ],
          "resource": [
            "forum"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Attach",
          "name": "attach",
          "type": "multiOptions",
          "options": [
            {
              "name": "Counters",
              "value": "counters"
            },
            {
              "name": "followsForum",
              "value": "followsForum"
            },
            {
              "name": "forumCanDisableAds",
              "value": "forumCanDisableAds"
            },
            {
              "name": "forumDaysAlive",
              "value": "forumDaysAlive"
            },
            {
              "name": "forumFeatures",
              "value": "forumFeatures"
            },
            {
              "name": "forumForumCategory",
              "value": "forumForumCategory"
            },
            {
              "name": "forumIntegration",
              "value": "forumIntegration"
            },
            {
              "name": "forumNewPolicy",
              "value": "forumNewPolicy"
            },
            {
              "name": "forumPermissions",
              "value": "forumPermissions"
            }
          ],
          "default": []
        },
        {
          "displayName": "Related",
          "name": "related",
          "type": "multiOptions",
          "options": [
            {
              "name": "author",
              "value": "author"
            }
          ],
          "default": [],
          "description": "You may specify relations to include with your response"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "get"
          ],
          "resource": [
            "forum"
          ]
        }
      }
    },
    {
      "displayName": "Forum Name",
      "name": "id",
      "type": "string",
      "default": "",
      "description": "The short name(aka ID) of the forum to get",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "getPosts"
          ],
          "resource": [
            "forum"
          ]
        }
      }
    },
    {
      "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": [
            "forum"
          ],
          "operation": [
            "getPosts"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "forum"
          ],
          "operation": [
            "getPosts"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Filters",
          "name": "filters",
          "type": "multiOptions",
          "options": [
            {
              "name": "Has_Bad_Word",
              "value": "Has_Bad_Word"
            },
            {
              "name": "Has_Link",
              "value": "Has_Link"
            },
            {
              "name": "Has_Low_Rep_Author",
              "value": "Has_Low_Rep_Author"
            },
            {
              "name": "Has_Media",
              "value": "Has_Media"
            },
            {
              "name": "Is_Anonymous",
              "value": "Is_Anonymous"
            },
            {
              "name": "Is_At_Flag_Limit",
              "value": "Is_At_Flag_Limit"
            },
            {
              "name": "Is_Flagged",
              "value": "Is_Flagged"
            },
            {
              "name": "Is_Toxic",
              "value": "Is_Toxic"
            },
            {
              "name": "Modified_By_Rule",
              "value": "Modified_By_Rule"
            },
            {
              "name": "No_Issue",
              "value": "No_Issue"
            },
            {
              "name": "Shadow_Banned",
              "value": "Shadow_Banned"
            }
          ],
          "default": [],
          "description": "You may specify filters for your response"
        },
        {
          "displayName": "Include",
          "name": "include",
          "type": "multiOptions",
          "options": [
            {
              "name": "Approved",
              "value": "approved"
            }
          ],
          "default": [],
          "description": "You may specify relations to include with your response"
        },
        {
          "displayName": "Order",
          "name": "order",
          "type": "options",
          "options": [
            {
              "name": "ASC",
              "value": "asc"
            },
            {
              "name": "DESC",
              "value": "desc"
            }
          ],
          "default": "asc",
          "description": "You may specify order to sort your response"
        },
        {
          "displayName": "Query",
          "name": "query",
          "type": "string",
          "default": "",
          "description": "You may specify query forChoices: asc, desc your response"
        },
        {
          "displayName": "Related",
          "name": "related",
          "type": "multiOptions",
          "options": [
            {
              "name": "Thread",
              "value": "thread"
            }
          ],
          "default": [],
          "description": "You may specify relations to include with your response"
        },
        {
          "displayName": "Since",
          "name": "since",
          "type": "dateTime",
          "default": "",
          "description": "Unix timestamp (or ISO datetime standard)"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "getPosts"
          ],
          "resource": [
            "forum"
          ]
        }
      }
    },
    {
      "displayName": "Forum Name",
      "name": "id",
      "type": "string",
      "default": "",
      "description": "The short name(aka ID) of the forum to get Categories",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "getCategories"
          ],
          "resource": [
            "forum"
          ]
        }
      }
    },
    {
      "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": [
            "forum"
          ],
          "operation": [
            "getCategories"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "forum"
          ],
          "operation": [
            "getCategories"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Order",
          "name": "order",
          "type": "options",
          "options": [
            {
              "name": "ASC",
              "value": "asc"
            },
            {
              "name": "DESC",
              "value": "desc"
            }
          ],
          "default": "asc",
          "description": "You may specify order to sort your response"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "getCategories"
          ],
          "resource": [
            "forum"
          ]
        }
      }
    },
    {
      "displayName": "Forum Name",
      "name": "id",
      "type": "string",
      "default": "",
      "description": "The short name(aka ID) of the forum to get Threads",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "getThreads"
          ],
          "resource": [
            "forum"
          ]
        }
      }
    },
    {
      "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": [
            "forum"
          ],
          "operation": [
            "getThreads"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "forum"
          ],
          "operation": [
            "getThreads"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Related",
          "name": "related",
          "type": "multiOptions",
          "options": [
            {
              "name": "author",
              "value": "author"
            },
            {
              "name": "Forum",
              "value": "forum"
            }
          ],
          "default": [],
          "description": "You may specify relations to include with your response"
        },
        {
          "displayName": "Include",
          "name": "include",
          "type": "multiOptions",
          "options": [
            {
              "name": "Closed",
              "value": "closed"
            },
            {
              "name": "Open",
              "value": "open"
            },
            {
              "name": "Killed",
              "value": "killed"
            }
          ],
          "default": [],
          "description": "You may specify relations to include with your response"
        },
        {
          "displayName": "Order",
          "name": "order",
          "type": "options",
          "options": [
            {
              "name": "ASC",
              "value": "asc"
            },
            {
              "name": "DESC",
              "value": "desc"
            }
          ],
          "default": "asc",
          "description": "You may specify order to sort your response"
        },
        {
          "displayName": "Since",
          "name": "since",
          "type": "dateTime",
          "default": "",
          "description": "Unix timestamp (or ISO datetime standard)"
        },
        {
          "displayName": "Thread",
          "name": "thread",
          "type": "string",
          "default": "",
          "description": "Looks up a thread by ID. You may pass us the \"ident\" query type instead of an ID by including \"forum\". You may pass us the \"link\" query type to filter by URL. You must pass the \"forum\" if you do not have the Pro API Access addon."
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "getThreads"
          ],
          "resource": [
            "forum"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "get",
      "name": "Get",
      "description": "Return forum details"
    },
    {
      "operation": "getCategories",
      "name": "Get All Categories",
      "description": "Return a list of categories within a forum"
    },
    {
      "operation": "getThreads",
      "name": "Get All Threads",
      "description": "Return a list of threads within a forum"
    },
    {
      "operation": "getPosts",
      "name": "Get All Posts",
      "description": "Return a list of posts within a forum"
    }
  ]


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

output_names:
  [
  "Tool"
  ]

updated_at: 2026-01-06 10:26:56
tool_variant_of: nodes-base.drift
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Drift node documentation
  description: Learn how to use the Drift node in n8n. Follow technical documentation to integrate Drift node into your workflows.
  contentType: [integration, reference]
  ---

  # Drift node

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

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

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

  ## Operations

  * Contact
      * Create a contact
      * Get custom attributes
      * Delete a contact
      * Get a contact
      * Update a contact

  ## Templates and examples

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

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

properties_schema:
  [
    {
      "displayName": "Tool Description",
      "name": "toolDescription",
      "type": "string",
      "default": "",
      "required": false,
      "description": "Description for the AI to understand what this tool does and when to use it",
      "typeOptions": {
        "rows": 3
      },
      "placeholder": "e.g., Use this tool to interact with Drift"
    },
    {
      "displayName": "Authentication",
      "name": "authentication",
      "type": "options",
      "default": "accessToken",
      "options": [
        {
          "name": "Access Token",
          "value": "accessToken"
        },
        {
          "name": "OAuth2",
          "value": "oAuth2"
        }
      ]
    },
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "contact",
      "options": [
        {
          "name": "Contact",
          "value": "contact"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a contact",
          "action": "Create a contact"
        },
        {
          "name": "Custom Attributes",
          "value": "getCustomAttributes",
          "description": "Get custom attributes",
          "action": "Get custom attributes for a contact"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a contact",
          "action": "Delete a contact"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get a contact",
          "action": "Get a contact"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update a contact",
          "action": "Update a contact"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Email",
      "name": "email",
      "type": "string",
      "default": "",
      "description": "The email of the contact",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Name",
          "name": "name",
          "type": "string",
          "default": "",
          "description": "The name of the contact"
        },
        {
          "displayName": "Phone",
          "name": "phone",
          "type": "string",
          "default": "",
          "description": "The phone number associated with the contact"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Contact ID",
      "name": "contactId",
      "type": "string",
      "default": "",
      "description": "Unique identifier for the contact",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Update Fields",
      "name": "updateFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Email",
          "name": "email",
          "type": "string",
          "placeholder": "name@email.com",
          "default": "",
          "description": "The email of the contact"
        },
        {
          "displayName": "Name",
          "name": "name",
          "type": "string",
          "default": "",
          "description": "The name of the contact"
        },
        {
          "displayName": "Phone",
          "name": "phone",
          "type": "string",
          "default": "",
          "description": "The phone number associated with the contact"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Contact ID",
      "name": "contactId",
      "type": "string",
      "default": "",
      "description": "Unique identifier for the contact",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Contact ID",
      "name": "contactId",
      "type": "string",
      "default": "",
      "description": "Unique identifier for the contact",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ],
          "operation": [
            "delete"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "create",
      "name": "Create",
      "description": "Create a contact"
    },
    {
      "operation": "getCustomAttributes",
      "name": "Custom Attributes",
      "description": "Get custom attributes"
    },
    {
      "operation": "delete",
      "name": "Delete",
      "description": "Delete a contact"
    },
    {
      "operation": "get",
      "name": "Get",
      "description": "Get a contact"
    },
    {
      "operation": "update",
      "name": "Update",
      "description": "Update a contact"
    }
  ]

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


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

updated_at: 2026-01-06 10:26:56
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Drift node documentation
  description: Learn how to use the Drift node in n8n. Follow technical documentation to integrate Drift node into your workflows.
  contentType: [integration, reference]
  ---

  # Drift node

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

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

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

  ## Operations

  * Contact
      * Create a contact
      * Get custom attributes
      * Delete a contact
      * Get a contact
      * Update a contact

  ## Templates and examples

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

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

properties_schema:
  [
    {
      "displayName": "Authentication",
      "name": "authentication",
      "type": "options",
      "default": "accessToken",
      "options": [
        {
          "name": "Access Token",
          "value": "accessToken"
        },
        {
          "name": "OAuth2",
          "value": "oAuth2"
        }
      ]
    },
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "contact",
      "options": [
        {
          "name": "Contact",
          "value": "contact"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a contact",
          "action": "Create a contact"
        },
        {
          "name": "Custom Attributes",
          "value": "getCustomAttributes",
          "description": "Get custom attributes",
          "action": "Get custom attributes for a contact"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a contact",
          "action": "Delete a contact"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get a contact",
          "action": "Get a contact"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update a contact",
          "action": "Update a contact"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Email",
      "name": "email",
      "type": "string",
      "default": "",
      "description": "The email of the contact",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Name",
          "name": "name",
          "type": "string",
          "default": "",
          "description": "The name of the contact"
        },
        {
          "displayName": "Phone",
          "name": "phone",
          "type": "string",
          "default": "",
          "description": "The phone number associated with the contact"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Contact ID",
      "name": "contactId",
      "type": "string",
      "default": "",
      "description": "Unique identifier for the contact",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Update Fields",
      "name": "updateFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Email",
          "name": "email",
          "type": "string",
          "placeholder": "name@email.com",
          "default": "",
          "description": "The email of the contact"
        },
        {
          "displayName": "Name",
          "name": "name",
          "type": "string",
          "default": "",
          "description": "The name of the contact"
        },
        {
          "displayName": "Phone",
          "name": "phone",
          "type": "string",
          "default": "",
          "description": "The phone number associated with the contact"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Contact ID",
      "name": "contactId",
      "type": "string",
      "default": "",
      "description": "Unique identifier for the contact",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Contact ID",
      "name": "contactId",
      "type": "string",
      "default": "",
      "description": "Unique identifier for the contact",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ],
          "operation": [
            "delete"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "create",
      "name": "Create",
      "description": "Create a contact"
    },
    {
      "operation": "getCustomAttributes",
      "name": "Custom Attributes",
      "description": "Get custom attributes"
    },
    {
      "operation": "delete",
      "name": "Delete",
      "description": "Delete a contact"
    },
    {
      "operation": "get",
      "name": "Get",
      "description": "Get a contact"
    },
    {
      "operation": "update",
      "name": "Update",
      "description": "Update a contact"
    }
  ]

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


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

output_names:
  [
  "Tool"
  ]

updated_at: 2026-01-06 10:26:56
tool_variant_of: nodes-base.dropbox
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Dropbox node documentation
  description: Learn how to use the Dropbox node in n8n. Follow technical documentation to integrate Dropbox node into your workflows.
  contentType: [integration, reference]
  priority: medium
  ---

  # Dropbox node

  Use the Dropbox node to automate work in Dropbox, and integrate Dropbox with other applications. n8n has built-in support for a wide range of Dropbox features, including creating, downloading, moving, and copying files and folders.

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

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

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

  ## Operations

  * File
      * Copy a file
      * Delete a file
      * Download a file
      * Move a file
      * Upload a file
  * Folder
      * Copy a folder
      * Create a folder
      * Delete a folder
      * Return the files and folders in a given folder
      * Move a folder
  * Search
      * Query

  ## Templates and examples

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

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

properties_schema:
  [
    {
      "displayName": "Tool Description",
      "name": "toolDescription",
      "type": "string",
      "default": "",
      "required": false,
      "description": "Description for the AI to understand what this tool does and when to use it",
      "typeOptions": {
        "rows": 3
      },
      "placeholder": "e.g., Use this tool to interact with Dropbox"
    },
    {
      "displayName": "Authentication",
      "name": "authentication",
      "type": "options",
      "default": "accessToken",
      "description": "Means of authenticating with the service",
      "options": [
        {
          "name": "Access Token",
          "value": "accessToken"
        },
        {
          "name": "OAuth2",
          "value": "oAuth2"
        }
      ]
    },
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "file",
      "options": [
        {
          "name": "File",
          "value": "file"
        },
        {
          "name": "Folder",
          "value": "folder"
        },
        {
          "name": "Search",
          "value": "search"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "upload",
      "options": [
        {
          "name": "Copy",
          "value": "copy",
          "description": "Copy a file",
          "action": "Copy a file"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a file",
          "action": "Delete a file"
        },
        {
          "name": "Download",
          "value": "download",
          "description": "Download a file",
          "action": "Download a file"
        },
        {
          "name": "Move",
          "value": "move",
          "description": "Move a file",
          "action": "Move a file"
        },
        {
          "name": "Upload",
          "value": "upload",
          "description": "Upload a file",
          "action": "Upload a file"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Copy",
          "value": "copy",
          "description": "Copy a folder",
          "action": "Copy a folder"
        },
        {
          "name": "Create",
          "value": "create",
          "description": "Create a folder",
          "action": "Create a folder"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a folder",
          "action": "Delete a folder"
        },
        {
          "name": "List",
          "value": "list",
          "description": "Return the files and folders in a given folder",
          "action": "List a folder"
        },
        {
          "name": "Move",
          "value": "move",
          "description": "Move a folder",
          "action": "Move a folder"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "folder"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "query",
      "options": [
        {
          "name": "Query",
          "value": "query",
          "action": "Query"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "search"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "From Path",
      "name": "path",
      "type": "string",
      "default": "",
      "description": "The path of file or folder to copy",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "copy"
          ],
          "resource": [
            "file",
            "folder"
          ]
        }
      }
    },
    {
      "displayName": "To Path",
      "name": "toPath",
      "type": "string",
      "default": "",
      "description": "The destination path of file or folder",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "copy"
          ],
          "resource": [
            "file",
            "folder"
          ]
        }
      }
    },
    {
      "displayName": "Delete Path",
      "name": "path",
      "type": "string",
      "default": "",
      "description": "The path to delete. Can be a single file or a whole folder.",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "delete"
          ],
          "resource": [
            "file",
            "folder"
          ]
        }
      }
    },
    {
      "displayName": "From Path",
      "name": "path",
      "type": "string",
      "default": "",
      "description": "The path of file or folder to move",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "move"
          ],
          "resource": [
            "file",
            "folder"
          ]
        }
      }
    },
    {
      "displayName": "To Path",
      "name": "toPath",
      "type": "string",
      "default": "",
      "description": "The new path of file or folder",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "move"
          ],
          "resource": [
            "file",
            "folder"
          ]
        }
      }
    },
    {
      "displayName": "File Path",
      "name": "path",
      "type": "string",
      "default": "",
      "description": "The file path of the file to download. Has to contain the full path.",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "download"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Put Output File in Field",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "download"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "File Path",
      "name": "path",
      "type": "string",
      "default": "",
      "description": "The file path of the file to upload. Has to contain the full path. The parent folder has to exist. Existing files get overwritten.",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "upload"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Binary File",
      "name": "binaryData",
      "type": "boolean",
      "default": false,
      "description": "Whether the data to upload should be taken from binary field",
      "displayOptions": {
        "show": {
          "operation": [
            "upload"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "File Content",
      "name": "fileContent",
      "type": "string",
      "default": "",
      "description": "The text content of the file to upload",
      "displayOptions": {
        "show": {
          "operation": [
            "upload"
          ],
          "resource": [
            "file"
          ],
          "binaryData": [
            false
          ]
        }
      }
    },
    {
      "displayName": "Input Binary Field",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "upload"
          ],
          "resource": [
            "file"
          ],
          "binaryData": [
            true
          ]
        }
      }
    },
    {
      "displayName": "Query",
      "name": "query",
      "type": "string",
      "default": "",
      "description": "The string to search for. May match across multiple fields based on the request arguments.",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "query"
          ],
          "resource": [
            "search"
          ]
        }
      }
    },
    {
      "displayName": "File Status",
      "name": "fileStatus",
      "type": "options",
      "default": "active",
      "description": "The string to search for. May match across multiple fields based on the request arguments.",
      "options": [
        {
          "name": "Active",
          "value": "active"
        },
        {
          "name": "Deleted",
          "value": "deleted"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "query"
          ],
          "resource": [
            "search"
          ]
        }
      }
    },
    {
      "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": [
            "query"
          ],
          "resource": [
            "search"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "search"
          ],
          "operation": [
            "query"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1
      }
    },
    {
      "displayName": "Simplify",
      "name": "simple",
      "type": "boolean",
      "default": true,
      "description": "Whether to return a simplified version of the response instead of the raw data",
      "displayOptions": {
        "show": {
          "operation": [
            "query"
          ],
          "resource": [
            "search"
          ]
        }
      }
    },
    {
      "displayName": "Filters",
      "name": "filters",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "File Categories",
          "name": "file_categories",
          "type": "multiOptions",
          "options": [
            {
              "name": "Audio (mp3, qav, mid, etc.)",
              "value": "audio"
            },
            {
              "name": "Document (doc, docx, txt, etc.)",
              "value": "document"
            },
            {
              "name": "Dropbox Paper",
              "value": "paper"
            },
            {
              "name": "Folder",
              "value": "folder"
            },
            {
              "name": "Image (jpg, png, gif, etc.)",
              "value": "image"
            },
            {
              "name": "Other",
              "value": "other"
            },
            {
              "name": "PDF",
              "value": "pdf"
            },
            {
              "name": "Presentation (ppt, pptx, key, etc.)",
              "value": "presentation"
            },
            {
              "name": "Spreadsheet (xlsx, xls, csv, etc.)",
              "value": "spreadsheet"
            },
            {
              "name": "Video (avi, wmv, mp4, etc.)",
              "value": "video"
            }
          ],
          "default": []
        },
        {
          "displayName": "File Extensions",
          "name": "file_extensions",
          "type": "string",
          "default": "",
          "description": "Multiple file extensions can be set separated by comma. Example: jpg,pdf."
        },
        {
          "displayName": "Folder",
          "name": "path",
          "type": "string",
          "default": "",
          "description": "If this field is not specified, this module searches the entire Dropbox"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "search"
          ],
          "operation": [
            "query"
          ]
        }
      }
    },
    {
      "displayName": "Folder",
      "name": "path",
      "type": "string",
      "default": "",
      "description": "The folder to create. The parent folder has to exist.",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "folder"
          ]
        }
      }
    },
    {
      "displayName": "Folder Path",
      "name": "path",
      "type": "string",
      "default": "",
      "description": "The path of which to list the content",
      "displayOptions": {
        "show": {
          "operation": [
            "list"
          ],
          "resource": [
            "folder"
          ]
        }
      }
    },
    {
      "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": [
            "list"
          ],
          "resource": [
            "folder"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "folder"
          ],
          "operation": [
            "list"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1
      }
    },
    {
      "displayName": "Filters",
      "name": "filters",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Include Deleted",
          "name": "include_deleted",
          "type": "boolean",
          "default": false,
          "description": "Whether the results will include entries for files and folders that used to exist but were deleted. The default for this field is False."
        },
        {
          "displayName": "Include Shared Members",
          "name": "include_has_explicit_shared_members",
          "type": "boolean",
          "default": false,
          "description": "Whether the results will include a flag for each file indicating whether or not that file has any explicit members. The default for this field is False."
        },
        {
          "displayName": "Include Mounted Folders",
          "name": "include_mounted_folders",
          "type": "boolean",
          "default": true,
          "description": "Whether the results will include entries under mounted folders which includes app folder, shared folder and team folder. The default for this field is True."
        },
        {
          "displayName": "Include Non Downloadable Files",
          "name": "include_non_downloadable_files",
          "type": "boolean",
          "default": true,
          "description": "Whether to include files that are not downloadable, i.e. Google Docs. The default for this field is True."
        },
        {
          "displayName": "Recursive",
          "name": "recursive",
          "type": "boolean",
          "default": false,
          "description": "Whether the list folder operation will be applied recursively to all subfolders and the response will contain contents of all subfolders. The default for this field is False."
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "folder"
          ],
          "operation": [
            "list"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "copy",
      "name": "Copy",
      "description": "Copy a file"
    },
    {
      "operation": "delete",
      "name": "Delete",
      "description": "Delete a file"
    },
    {
      "operation": "download",
      "name": "Download",
      "description": "Download a file"
    },
    {
      "operation": "move",
      "name": "Move",
      "description": "Move a file"
    },
    {
      "operation": "upload",
      "name": "Upload",
      "description": "Upload a file"
    }
  ]

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


node_type: nodes-base.dropbox
package_name: n8n-nodes-base
display_name: Dropbox
description: Access data on Dropbox
category: input
development_style: programmatic
version: 1
outputs:
  [
  "main"
  ]

updated_at: 2026-01-06 10:26:56
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Dropbox node documentation
  description: Learn how to use the Dropbox node in n8n. Follow technical documentation to integrate Dropbox node into your workflows.
  contentType: [integration, reference]
  priority: medium
  ---

  # Dropbox node

  Use the Dropbox node to automate work in Dropbox, and integrate Dropbox with other applications. n8n has built-in support for a wide range of Dropbox features, including creating, downloading, moving, and copying files and folders.

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

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

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

  ## Operations

  * File
      * Copy a file
      * Delete a file
      * Download a file
      * Move a file
      * Upload a file
  * Folder
      * Copy a folder
      * Create a folder
      * Delete a folder
      * Return the files and folders in a given folder
      * Move a folder
  * Search
      * Query

  ## Templates and examples

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

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

properties_schema:
  [
    {
      "displayName": "Authentication",
      "name": "authentication",
      "type": "options",
      "default": "accessToken",
      "description": "Means of authenticating with the service",
      "options": [
        {
          "name": "Access Token",
          "value": "accessToken"
        },
        {
          "name": "OAuth2",
          "value": "oAuth2"
        }
      ]
    },
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "file",
      "options": [
        {
          "name": "File",
          "value": "file"
        },
        {
          "name": "Folder",
          "value": "folder"
        },
        {
          "name": "Search",
          "value": "search"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "upload",
      "options": [
        {
          "name": "Copy",
          "value": "copy",
          "description": "Copy a file",
          "action": "Copy a file"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a file",
          "action": "Delete a file"
        },
        {
          "name": "Download",
          "value": "download",
          "description": "Download a file",
          "action": "Download a file"
        },
        {
          "name": "Move",
          "value": "move",
          "description": "Move a file",
          "action": "Move a file"
        },
        {
          "name": "Upload",
          "value": "upload",
          "description": "Upload a file",
          "action": "Upload a file"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Copy",
          "value": "copy",
          "description": "Copy a folder",
          "action": "Copy a folder"
        },
        {
          "name": "Create",
          "value": "create",
          "description": "Create a folder",
          "action": "Create a folder"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a folder",
          "action": "Delete a folder"
        },
        {
          "name": "List",
          "value": "list",
          "description": "Return the files and folders in a given folder",
          "action": "List a folder"
        },
        {
          "name": "Move",
          "value": "move",
          "description": "Move a folder",
          "action": "Move a folder"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "folder"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "query",
      "options": [
        {
          "name": "Query",
          "value": "query",
          "action": "Query"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "search"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "From Path",
      "name": "path",
      "type": "string",
      "default": "",
      "description": "The path of file or folder to copy",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "copy"
          ],
          "resource": [
            "file",
            "folder"
          ]
        }
      }
    },
    {
      "displayName": "To Path",
      "name": "toPath",
      "type": "string",
      "default": "",
      "description": "The destination path of file or folder",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "copy"
          ],
          "resource": [
            "file",
            "folder"
          ]
        }
      }
    },
    {
      "displayName": "Delete Path",
      "name": "path",
      "type": "string",
      "default": "",
      "description": "The path to delete. Can be a single file or a whole folder.",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "delete"
          ],
          "resource": [
            "file",
            "folder"
          ]
        }
      }
    },
    {
      "displayName": "From Path",
      "name": "path",
      "type": "string",
      "default": "",
      "description": "The path of file or folder to move",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "move"
          ],
          "resource": [
            "file",
            "folder"
          ]
        }
      }
    },
    {
      "displayName": "To Path",
      "name": "toPath",
      "type": "string",
      "default": "",
      "description": "The new path of file or folder",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "move"
          ],
          "resource": [
            "file",
            "folder"
          ]
        }
      }
    },
    {
      "displayName": "File Path",
      "name": "path",
      "type": "string",
      "default": "",
      "description": "The file path of the file to download. Has to contain the full path.",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "download"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Put Output File in Field",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "download"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "File Path",
      "name": "path",
      "type": "string",
      "default": "",
      "description": "The file path of the file to upload. Has to contain the full path. The parent folder has to exist. Existing files get overwritten.",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "upload"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Binary File",
      "name": "binaryData",
      "type": "boolean",
      "default": false,
      "description": "Whether the data to upload should be taken from binary field",
      "displayOptions": {
        "show": {
          "operation": [
            "upload"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "File Content",
      "name": "fileContent",
      "type": "string",
      "default": "",
      "description": "The text content of the file to upload",
      "displayOptions": {
        "show": {
          "operation": [
            "upload"
          ],
          "resource": [
            "file"
          ],
          "binaryData": [
            false
          ]
        }
      }
    },
    {
      "displayName": "Input Binary Field",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "upload"
          ],
          "resource": [
            "file"
          ],
          "binaryData": [
            true
          ]
        }
      }
    },
    {
      "displayName": "Query",
      "name": "query",
      "type": "string",
      "default": "",
      "description": "The string to search for. May match across multiple fields based on the request arguments.",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "query"
          ],
          "resource": [
            "search"
          ]
        }
      }
    },
    {
      "displayName": "File Status",
      "name": "fileStatus",
      "type": "options",
      "default": "active",
      "description": "The string to search for. May match across multiple fields based on the request arguments.",
      "options": [
        {
          "name": "Active",
          "value": "active"
        },
        {
          "name": "Deleted",
          "value": "deleted"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "query"
          ],
          "resource": [
            "search"
          ]
        }
      }
    },
    {
      "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": [
            "query"
          ],
          "resource": [
            "search"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "search"
          ],
          "operation": [
            "query"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1
      }
    },
    {
      "displayName": "Simplify",
      "name": "simple",
      "type": "boolean",
      "default": true,
      "description": "Whether to return a simplified version of the response instead of the raw data",
      "displayOptions": {
        "show": {
          "operation": [
            "query"
          ],
          "resource": [
            "search"
          ]
        }
      }
    },
    {
      "displayName": "Filters",
      "name": "filters",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "File Categories",
          "name": "file_categories",
          "type": "multiOptions",
          "options": [
            {
              "name": "Audio (mp3, qav, mid, etc.)",
              "value": "audio"
            },
            {
              "name": "Document (doc, docx, txt, etc.)",
              "value": "document"
            },
            {
              "name": "Dropbox Paper",
              "value": "paper"
            },
            {
              "name": "Folder",
              "value": "folder"
            },
            {
              "name": "Image (jpg, png, gif, etc.)",
              "value": "image"
            },
            {
              "name": "Other",
              "value": "other"
            },
            {
              "name": "PDF",
              "value": "pdf"
            },
            {
              "name": "Presentation (ppt, pptx, key, etc.)",
              "value": "presentation"
            },
            {
              "name": "Spreadsheet (xlsx, xls, csv, etc.)",
              "value": "spreadsheet"
            },
            {
              "name": "Video (avi, wmv, mp4, etc.)",
              "value": "video"
            }
          ],
          "default": []
        },
        {
          "displayName": "File Extensions",
          "name": "file_extensions",
          "type": "string",
          "default": "",
          "description": "Multiple file extensions can be set separated by comma. Example: jpg,pdf."
        },
        {
          "displayName": "Folder",
          "name": "path",
          "type": "string",
          "default": "",
          "description": "If this field is not specified, this module searches the entire Dropbox"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "search"
          ],
          "operation": [
            "query"
          ]
        }
      }
    },
    {
      "displayName": "Folder",
      "name": "path",
      "type": "string",
      "default": "",
      "description": "The folder to create. The parent folder has to exist.",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "folder"
          ]
        }
      }
    },
    {
      "displayName": "Folder Path",
      "name": "path",
      "type": "string",
      "default": "",
      "description": "The path of which to list the content",
      "displayOptions": {
        "show": {
          "operation": [
            "list"
          ],
          "resource": [
            "folder"
          ]
        }
      }
    },
    {
      "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": [
            "list"
          ],
          "resource": [
            "folder"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "folder"
          ],
          "operation": [
            "list"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1
      }
    },
    {
      "displayName": "Filters",
      "name": "filters",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Include Deleted",
          "name": "include_deleted",
          "type": "boolean",
          "default": false,
          "description": "Whether the results will include entries for files and folders that used to exist but were deleted. The default for this field is False."
        },
        {
          "displayName": "Include Shared Members",
          "name": "include_has_explicit_shared_members",
          "type": "boolean",
          "default": false,
          "description": "Whether the results will include a flag for each file indicating whether or not that file has any explicit members. The default for this field is False."
        },
        {
          "displayName": "Include Mounted Folders",
          "name": "include_mounted_folders",
          "type": "boolean",
          "default": true,
          "description": "Whether the results will include entries under mounted folders which includes app folder, shared folder and team folder. The default for this field is True."
        },
        {
          "displayName": "Include Non Downloadable Files",
          "name": "include_non_downloadable_files",
          "type": "boolean",
          "default": true,
          "description": "Whether to include files that are not downloadable, i.e. Google Docs. The default for this field is True."
        },
        {
          "displayName": "Recursive",
          "name": "recursive",
          "type": "boolean",
          "default": false,
          "description": "Whether the list folder operation will be applied recursively to all subfolders and the response will contain contents of all subfolders. The default for this field is False."
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "folder"
          ],
          "operation": [
            "list"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "copy",
      "name": "Copy",
      "description": "Copy a file"
    },
    {
      "operation": "delete",
      "name": "Delete",
      "description": "Delete a file"
    },
    {
      "operation": "download",
      "name": "Download",
      "description": "Download a file"
    },
    {
      "operation": "move",
      "name": "Move",
      "description": "Move a file"
    },
    {
      "operation": "upload",
      "name": "Upload",
      "description": "Upload a file"
    }
  ]

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


