# nodes

node_type: nodes-base.simulateTrigger
package_name: n8n-nodes-base
display_name: Simulate Trigger
description: Simulate a trigger node
category: trigger
development_style: programmatic
version: 1
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2025-11-25 17:45:48
properties_schema:
  [
    {
      "displayName": "Icon to Display on Canvas",
      "name": "icon",
      "type": "options",
      "default": "n8n-nodes-base.manualTrigger",
      "description": "Select a type of node to show corresponding icon",
      "typeOptions": {
        "loadOptionsMethod": "getNodeTypes"
      }
    },
    {
      "displayName": "Subtitle",
      "name": "subtitle",
      "type": "string",
      "default": ""
    },
    {
      "displayName": "Output (JSON)",
      "name": "jsonOutput",
      "type": "json",
      "default": "[\n  {\n  \"my_field_1\": \"value\",\n  \"my_field_2\": 1\n  }\n]",
      "typeOptions": {
        "rows": 5
      }
    },
    {
      "displayName": "Execution Duration (MS)",
      "name": "executionDuration",
      "type": "number",
      "default": 150,
      "description": "Execution duration in milliseconds",
      "typeOptions": {
        "minValue": 0
      }
    }
  ]


node_type: nodes-base.slack
package_name: n8n-nodes-base
display_name: Slack
description: Consume Slack API
category: output
development_style: programmatic
version: 2.3
outputs:
  [
  "main"
  ]

updated_at: 2025-11-25 17:45:48
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Slack node documentation
  description: Learn how to use the Slack node in n8n. Follow technical documentation to integrate Slack node into your workflows.
  contentType: [integration, reference]
  priority: high
  ---

  # Slack node

  Use the Slack node to automate work in Slack, and integrate Slack with other applications. n8n has built-in support for a wide range of Slack features, including creating, archiving, and closing channels, getting users and files, as well as deleting messages.

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

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

  ## Operations

  * **Channel**
      * **Archive** a channel.
      * **Close** a direct message or multi-person direct message.
      * **Create** a public or private channel-based conversation.
      * **Get** information about a channel.
      * **Get Many**: Get a list of channels in Slack.
      * **History**: Get a channel's history of messages and events.
      * **Invite** a user to a channel.
      * **Join** an existing channel.
      * **Kick**: Remove a user from a channel.
      * **Leave** a channel.
      * **Member**: List the members of a channel.
      * **Open** or resume a direct message or multi-person direct message.
      * **Rename** a channel.
      * **Replies**: Get a thread of messages posted to a channel.
      * **Sets purpose** of a channel.
      * **Sets topic** of a channel.
      * **Unarchive** a channel.
  * **File**
      * **Get** a file.
      * **Get Many**: Get and filter team files.
      * **Upload**: Create or upload an existing file.
  * **Message**
      * **Delete** a message
      * **Get permalink**: Get a message's permalink.
      * **Search** for messages
      * **Send** a message
      * **Send and Wait for Approval**: Send a message and wait for approval from the recipient before continuing.
      * **Update** a message
  * **Reaction**
      * **Add** a reaction to a message.
      * **Get** a message's reactions.
      * **Remove** a reaction from a message.
  * **Star**
      * **Add** a star to an item.
      * **Delete** a star from an item.
      * **Get Many**: Get a list of an authenticated user's stars.
  * **User**
      * **Get** information about a user.
  	* **Get Many**: Get a list of users.
      * **Get User's Profile**.
      * **Get User's Status**.
  	* **Update User's Profile**.
  * **User Group**
      * **Create** a user group.
      * **Disable** a user group.
      * **Enable** a user group.
      * **Get Many**: Get a list of user groups.
      * **Update** a user group.

  ## Templates and examples

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

  ## Related resources

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

  ## Required scopes

  Once you create a Slack app for your [Slack credentials](/integrations/builtin/credentials/slack.md), you must add the appropriate scopes to your Slack app for this node to work. Start with the scopes listed in the [Scopes | Slack credentials](/integrations/builtin/credentials/slack.md#scopes) page.

  If those aren't enough, use the table below to look up the resource and operation you want to use, then follow the link to Slack's API documentation to find the correct scopes.

  <!-- vale off -->

  | **Resource** | **Operation** | **Slack API method** |
  | --- | --- | --- |
  | Channel | Archive | [conversations.archive](https://api.slack.com/methods/conversations.archive){:target=blank .external-link} |
  | Channel | Close | [conversations.close](https://api.slack.com/methods/conversations.close){:target=blank .external-link} |
  | Channel | Create | [conversations.create](https://api.slack.com/methods/conversations.create){:target=blank .external-link} |
  | Channel | Get | [conversations.info](https://api.slack.com/methods/conversations.info){:target=blank .external-link} |
  | Channel | Get Many | [conversations.list](https://api.slack.com/methods/conversations.list){:target=blank .external-link} |
  | Channel | History | [conversations.history](https://api.slack.com/methods/conversations.history){:target=blank .external-link} |
  | Channel | Invite | [conversations.invite](https://api.slack.com/methods/conversations.invite){:target=blank .external-link} |
  | Channel | Join | [conversations.join](https://api.slack.com/methods/conversations.join){:target=blank .external-link} |
  | Channel | Kick | [conversations.kick](https://api.slack.com/methods/conversations.kick){:target=blank .external-link} |
  | Channel | Leave | [conversations.leave](https://api.slack.com/methods/conversations.leave){:target=blank .external-link} |
  | Channel | Member | [conversations.members](https://api.slack.com/methods/conversations.members){:target=blank .external-link} |
  | Channel | Open | [conversations.open](https://api.slack.com/methods/conversations.open){:target=blank .external-link} |
  | Channel | Rename | [conversations.rename](https://api.slack.com/methods/conversations.rename){:target=blank .external-link} |
  | Channel | Replies | [conversations.replies](https://api.slack.com/methods/conversations.replies){:target=blank .external-link} |
  | Channel | Set Purpose | [conversations.setPurpose](https://api.slack.com/methods/conversations.setPurpose){:target=blank .external-link} |
  | Channel | Set Topic | [conversations.setTopic](https://api.slack.com/methods/conversations.setTopic){:target=blank .external-link} |
  | Channel | Unarchive | [conversations.unarchive](https://api.slack.com/methods/conversations.unarchive){:target=blank .external-link} |
  | File | Get | [files.info](https://api.slack.com/methods/files.info){:target=blank .external-link} |
  | File | Get Many | [files.list](https://api.slack.com/methods/files.list){:target=blank .external-link} |
  | File | Upload | [files.upload](https://api.slack.com/methods/files.upload){:target=blank .external-link} |
  | Message | Delete | [chat.delete](https://api.slack.com/methods/chat.delete){:target=blank .external-link} |
  | Message | Get Permalink | [chat.getPermalink](https://api.slack.com/methods/chat.getPermalink){:target=blank .external-link} |
  | Message | Search | [search.messages](https://api.slack.com/methods/search.messages){:target=blank .external-link} |
  | Message | Send | [chat.postMessage](https://api.slack.com/methods/chat.postMessage){:target=blank .external-link} |
  | Message | Send and Wait for Approval | [chat.postMessage](https://api.slack.com/methods/chat.postMessage){:target=blank .external-link} |
  | Message | Update | [chat.update](https://api.slack.com/methods/chat.update){:target=blank .external-link} |
  | Reaction | Add | [reactions.add](https://api.slack.com/methods/reactions.add){:target=blank .external-link} |
  | Reaction | Get | [reactions.get](https://api.slack.com/methods/reactions.get){:target=blank .external-link} |
  | Reaction | Remove | [reactions.remove](https://api.slack.com/methods/reactions.remove){:target=blank .external-link} |
  | Star | Add | [stars.add](https://api.slack.com/methods/stars.add){:target=blank .external-link} |
  | Star | Delete | [stars.remove](https://api.slack.com/methods/stars.remove){:target=blank .external-link} |
  | Star | Get Many | [stars.list](https://api.slack.com/methods/stars.list){:target=blank .external-link} |
  | User | Get | [users.info](https://api.slack.com/methods/users.info){:target=blank .external-link} |
  | User | Get Many | [users.list](https://api.slack.com/methods/users.list){:target=blank .external-link} |
  | User | Get User's Profile | [users.profile.get](https://api.slack.com/methods/users.profile.get){:target=blank .external-link} |
  | User | Get User's Status | [users.getPresence](https://api.slack.com/methods/users.getPresence){:target=blank .external-link} |
  | User | Update User's Profile | [users.profile.set](https://api.slack.com/methods/users.profile.set){:target=blank .external-link} |
  | User Group | Create | [usergroups.create](https://api.slack.com/methods/usergroups.create){:target=blank .external-link} |
  | User Group | Disable | [usergroups.disable](https://api.slack.com/methods/usergroups.disable){:target=blank .external-link} |
  | User Group | Enable | [usergroups.enable](https://api.slack.com/methods/usergroups.enable){:target=blank .external-link} |
  | User Group | Get Many | [usergroups.list](https://api.slack.com/methods/usergroups.list){:target=blank .external-link} |
  | User Group | Update | [usergroups.update](https://api.slack.com/methods/usergroups.update){:target=blank .external-link} |

  <!-- vale on -->

  --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": "message",
      "options": [
        {
          "name": "Channel",
          "value": "channel"
        },
        {
          "name": "File",
          "value": "file"
        },
        {
          "name": "Message",
          "value": "message"
        },
        {
          "name": "Reaction",
          "value": "reaction"
        },
        {
          "name": "Star",
          "value": "star"
        },
        {
          "name": "User",
          "value": "user"
        },
        {
          "name": "User Group",
          "value": "userGroup"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Archive",
          "value": "archive",
          "description": "Archives a conversation",
          "action": "Archive a channel"
        },
        {
          "name": "Close",
          "value": "close",
          "description": "Closes a direct message or multi-person direct message",
          "action": "Close a channel"
        },
        {
          "name": "Create",
          "value": "create",
          "description": "Initiates a public or private channel-based conversation",
          "action": "Create a channel"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get information about a channel",
          "action": "Get a channel"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many channels in a Slack team",
          "action": "Get many channels"
        },
        {
          "name": "History",
          "value": "history",
          "description": "Get a conversation's history of messages and events",
          "action": "Get the history of a channel"
        },
        {
          "name": "Invite",
          "value": "invite",
          "description": "Invite a user to a channel",
          "action": "Invite a user to a channel"
        },
        {
          "name": "Join",
          "value": "join",
          "description": "Joins an existing conversation",
          "action": "Join a channel"
        },
        {
          "name": "Kick",
          "value": "kick",
          "description": "Removes a user from a channel",
          "action": "Kick a user from a channel"
        },
        {
          "name": "Leave",
          "value": "leave",
          "description": "Leaves a conversation",
          "action": "Leave a channel"
        },
        {
          "name": "Member",
          "value": "member",
          "description": "List members of a conversation",
          "action": "Get members of a channel"
        },
        {
          "name": "Open",
          "value": "open",
          "description": "Opens or resumes a direct message or multi-person direct message",
          "action": "Open a channel"
        },
        {
          "name": "Rename",
          "value": "rename",
          "description": "Renames a conversation",
          "action": "Rename a channel"
        },
        {
          "name": "Replies",
          "value": "replies",
          "description": "Get a thread of messages posted to a channel",
          "action": "Get a thread of messages posted to a channel"
        },
        {
          "name": "Set Purpose",
          "value": "setPurpose",
          "description": "Sets the purpose for a conversation",
          "action": "Set the purpose of a channel"
        },
        {
          "name": "Set Topic",
          "value": "setTopic",
          "description": "Sets the topic for a conversation",
          "action": "Set the topic of a channel"
        },
        {
          "name": "Unarchive",
          "value": "unarchive",
          "description": "Unarchives a conversation",
          "action": "Unarchive a channel"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "channel"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Channel",
      "name": "channelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "The Slack channel to archive",
      "displayOptions": {
        "show": {
          "operation": [
            "archive"
          ],
          "resource": [
            "channel"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "placeholder": "Select a channel...",
          "typeOptions": {
            "searchListMethod": "getChannels",
            "searchable": true
          }
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[a-zA-Z0-9]{2,}",
                "errorMessage": "Not a valid Slack Channel ID"
              }
            }
          ],
          "placeholder": "C0122KQ70S7E"
        },
        {
          "displayName": "By URL",
          "name": "url",
          "type": "string",
          "placeholder": "https://app.slack.com/client/TS9594PZK/B0556F47Z3A",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "http(s)?://app.slack.com/client/.*/([a-zA-Z0-9]{2,})",
                "errorMessage": "Not a valid Slack Channel URL"
              }
            }
          ],
          "extractValue": {
            "type": "regex",
            "regex": "https://app.slack.com/client/.*/([a-zA-Z0-9]{2,})"
          }
        }
      ]
    },
    {
      "displayName": "Channel",
      "name": "channelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "The Slack channel to close",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "close"
          ],
          "resource": [
            "channel"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "placeholder": "Select a channel...",
          "typeOptions": {
            "searchListMethod": "getChannels",
            "searchable": true
          }
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[a-zA-Z0-9]{2,}",
                "errorMessage": "Not a valid Slack Channel ID"
              }
            }
          ],
          "placeholder": "C0122KQ70S7E"
        },
        {
          "displayName": "By URL",
          "name": "url",
          "type": "string",
          "placeholder": "https://app.slack.com/client/TS9594PZK/B0556F47Z3A",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "http(s)?://app.slack.com/client/.*/([a-zA-Z0-9]{2,})",
                "errorMessage": "Not a valid Slack Channel URL"
              }
            }
          ],
          "extractValue": {
            "type": "regex",
            "regex": "https://app.slack.com/client/.*/([a-zA-Z0-9]{2,})"
          }
        }
      ]
    },
    {
      "displayName": "Channel",
      "name": "channelId",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "channel"
          ]
        }
      }
    },
    {
      "displayName": "Channel Visibility",
      "name": "channelVisibility",
      "type": "options",
      "default": "public",
      "description": "Whether to create a Public or a Private Slack channel. <a href=\"https://slack.com/help/articles/360017938993-What-is-a-channel\">More info</a>.",
      "options": [
        {
          "name": "Public Channel",
          "value": "public"
        },
        {
          "name": "Private Channel",
          "value": "private"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "channel"
          ]
        }
      }
    },
    {
      "displayName": "Channel",
      "name": "channelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "The Slack channel to invite to",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "invite"
          ],
          "resource": [
            "channel"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "placeholder": "Select a channel...",
          "typeOptions": {
            "searchListMethod": "getChannels",
            "searchable": true
          }
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[a-zA-Z0-9]{2,}",
                "errorMessage": "Not a valid Slack Channel ID"
              }
            }
          ],
          "placeholder": "C0122KQ70S7E"
        },
        {
          "displayName": "By URL",
          "name": "url",
          "type": "string",
          "placeholder": "https://app.slack.com/client/TS9594PZK/B0556F47Z3A",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "http(s)?://app.slack.com/client/.*/([a-zA-Z0-9]{2,})",
                "errorMessage": "Not a valid Slack Channel URL"
              }
            }
          ],
          "extractValue": {
            "type": "regex",
            "regex": "https://app.slack.com/client/.*/([a-zA-Z0-9]{2,})"
          }
        }
      ]
    },
    {
      "displayName": "User Names or IDs",
      "name": "userIds",
      "type": "multiOptions",
      "default": [],
      "description": "The ID of the user to invite into channel. Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "invite"
          ],
          "resource": [
            "channel"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getUsers"
      }
    },
    {
      "displayName": "Channel",
      "name": "channelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "The Slack channel to get",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "get"
          ],
          "resource": [
            "channel"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "placeholder": "Select a channel...",
          "typeOptions": {
            "searchListMethod": "getChannels",
            "searchable": true
          }
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[a-zA-Z0-9]{2,}",
                "errorMessage": "Not a valid Slack Channel ID"
              }
            }
          ],
          "placeholder": "C0122KQ70S7E"
        },
        {
          "displayName": "By URL",
          "name": "url",
          "type": "string",
          "placeholder": "https://app.slack.com/client/TS9594PZK/B0556F47Z3A",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "http(s)?://app.slack.com/client/.*/([a-zA-Z0-9]{2,})",
                "errorMessage": "Not a valid Slack Channel URL"
              }
            }
          ],
          "extractValue": {
            "type": "regex",
            "regex": "https://app.slack.com/client/.*/([a-zA-Z0-9]{2,})"
          }
        }
      ]
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Include Num of Members",
          "name": "includeNumMembers",
          "type": "boolean",
          "default": false
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "channel"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Channel",
      "name": "channelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "The Slack channel to kick the user from",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "kick"
          ],
          "resource": [
            "channel"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "placeholder": "Select a channel...",
          "typeOptions": {
            "searchListMethod": "getChannels",
            "searchable": true
          }
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[a-zA-Z0-9]{2,}",
                "errorMessage": "Not a valid Slack Channel ID"
              }
            }
          ],
          "placeholder": "C0122KQ70S7E"
        },
        {
          "displayName": "By URL",
          "name": "url",
          "type": "string",
          "placeholder": "https://app.slack.com/client/TS9594PZK/B0556F47Z3A",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "http(s)?://app.slack.com/client/.*/([a-zA-Z0-9]{2,})",
                "errorMessage": "Not a valid Slack Channel URL"
              }
            }
          ],
          "extractValue": {
            "type": "regex",
            "regex": "https://app.slack.com/client/.*/([a-zA-Z0-9]{2,})"
          }
        }
      ]
    },
    {
      "displayName": "User Name or ID",
      "name": "userId",
      "type": "options",
      "default": "",
      "description": "Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
      "displayOptions": {
        "show": {
          "operation": [
            "kick"
          ],
          "resource": [
            "channel"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getUsers"
      }
    },
    {
      "displayName": "Channel",
      "name": "channelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "The Slack channel to join",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "join"
          ],
          "resource": [
            "channel"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "placeholder": "Select a channel...",
          "typeOptions": {
            "searchListMethod": "getChannels",
            "searchable": true
          }
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[a-zA-Z0-9]{2,}",
                "errorMessage": "Not a valid Slack Channel ID"
              }
            }
          ],
          "placeholder": "C0122KQ70S7E"
        },
        {
          "displayName": "By URL",
          "name": "url",
          "type": "string",
          "placeholder": "https://app.slack.com/client/TS9594PZK/B0556F47Z3A",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "http(s)?://app.slack.com/client/.*/([a-zA-Z0-9]{2,})",
                "errorMessage": "Not a valid Slack Channel URL"
              }
            }
          ],
          "extractValue": {
            "type": "regex",
            "regex": "https://app.slack.com/client/.*/([a-zA-Z0-9]{2,})"
          }
        }
      ]
    },
    {
      "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"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "channel"
          ],
          "operation": [
            "getAll"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Filters",
      "name": "filters",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Exclude Archived",
          "name": "excludeArchived",
          "type": "boolean",
          "default": false,
          "description": "Whether to exclude archived channels from the list"
        },
        {
          "displayName": "Types",
          "name": "types",
          "type": "multiOptions",
          "options": [
            {
              "name": "Public Channel",
              "value": "public_channel"
            },
            {
              "name": "Private Channel",
              "value": "private_channel"
            },
            {
              "name": "mpim",
              "value": "mpim"
            },
            {
              "name": "im",
              "value": "im"
            }
          ],
          "default": [
            "public_channel"
          ],
          "description": "Mix and match channel types"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "channel"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Channel",
      "name": "channelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "The Slack channel to get the history from",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "history"
          ],
          "resource": [
            "channel"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "placeholder": "Select a channel...",
          "typeOptions": {
            "searchListMethod": "getChannels",
            "searchable": true
          }
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[a-zA-Z0-9]{2,}",
                "errorMessage": "Not a valid Slack Channel ID"
              }
            }
          ],
          "placeholder": "C0122KQ70S7E"
        },
        {
          "displayName": "By URL",
          "name": "url",
          "type": "string",
          "placeholder": "https://app.slack.com/client/TS9594PZK/B0556F47Z3A",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "http(s)?://app.slack.com/client/.*/([a-zA-Z0-9]{2,})",
                "errorMessage": "Not a valid Slack Channel URL"
              }
            }
          ],
          "extractValue": {
            "type": "regex",
            "regex": "https://app.slack.com/client/.*/([a-zA-Z0-9]{2,})"
          }
        }
      ]
    },
    {
      "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": [
            "history"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "channel"
          ],
          "operation": [
            "history"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Filters",
      "name": "filters",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Inclusive",
          "name": "inclusive",
          "type": "boolean",
          "default": false,
          "description": "Whether to include messages with latest or oldest timestamp in results only when either timestamp is specified"
        },
        {
          "displayName": "Latest",
          "name": "latest",
          "type": "dateTime",
          "default": "",
          "description": "End of time range of messages to include in results"
        },
        {
          "displayName": "Oldest",
          "name": "oldest",
          "type": "dateTime",
          "default": "",
          "description": "Start of time range of messages to include in results"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "channel"
          ],
          "operation": [
            "history"
          ]
        }
      }
    },
    {
      "displayName": "Channel",
      "name": "channelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "The Slack channel to leave from",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "leave"
          ],
          "resource": [
            "channel"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "placeholder": "Select a channel...",
          "typeOptions": {
            "searchListMethod": "getChannels",
            "searchable": true
          }
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[a-zA-Z0-9]{2,}",
                "errorMessage": "Not a valid Slack Channel ID"
              }
            }
          ],
          "placeholder": "C0122KQ70S7E"
        },
        {
          "displayName": "By URL",
          "name": "url",
          "type": "string",
          "placeholder": "https://app.slack.com/client/TS9594PZK/B0556F47Z3A",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "http(s)?://app.slack.com/client/.*/([a-zA-Z0-9]{2,})",
                "errorMessage": "Not a valid Slack Channel URL"
              }
            }
          ],
          "extractValue": {
            "type": "regex",
            "regex": "https://app.slack.com/client/.*/([a-zA-Z0-9]{2,})"
          }
        }
      ]
    },
    {
      "displayName": "Channel",
      "name": "channelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "The Slack channel to get the members from",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "member"
          ],
          "resource": [
            "channel"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "placeholder": "Select a channel...",
          "typeOptions": {
            "searchListMethod": "getChannels",
            "searchable": true
          }
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[a-zA-Z0-9]{2,}",
                "errorMessage": "Not a valid Slack Channel ID"
              }
            }
          ],
          "placeholder": "C0122KQ70S7E"
        },
        {
          "displayName": "By URL",
          "name": "url",
          "type": "string",
          "placeholder": "https://app.slack.com/client/TS9594PZK/B0556F47Z3A",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "http(s)?://app.slack.com/client/.*/([a-zA-Z0-9]{2,})",
                "errorMessage": "Not a valid Slack Channel URL"
              }
            }
          ],
          "extractValue": {
            "type": "regex",
            "regex": "https://app.slack.com/client/.*/([a-zA-Z0-9]{2,})"
          }
        }
      ]
    },
    {
      "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": [
            "member"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "operation": [
            "member"
          ],
          "resource": [
            "channel"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1
      }
    },
    {
      "displayName": "Resolve Data",
      "name": "resolveData",
      "type": "boolean",
      "default": false,
      "description": "Whether to resolve the data automatically. By default the response only contain the ID to resource.",
      "displayOptions": {
        "show": {
          "resource": [
            "channel"
          ],
          "operation": [
            "member"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Channel ID",
          "name": "channelId",
          "type": "string",
          "default": "",
          "description": "Resume a conversation by supplying an im or mpim's ID. Or provide the users field instead."
        },
        {
          "displayName": "Return IM",
          "name": "returnIm",
          "type": "boolean",
          "default": false,
          "description": "Whether you want the full IM channel definition in the response"
        },
        {
          "displayName": "User Names or IDs",
          "name": "users",
          "type": "multiOptions",
          "typeOptions": {
            "loadOptionsMethod": "getUsers"
          },
          "default": [],
          "description": "If only one user is included, this creates a 1:1 DM. The ordering of the users is preserved whenever a multi-person direct message is returned. Supply a channel when not supplying users. Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "channel"
          ],
          "operation": [
            "open"
          ]
        }
      }
    },
    {
      "displayName": "Channel",
      "name": "channelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "The Slack channel to rename",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "rename"
          ],
          "resource": [
            "channel"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "placeholder": "Select a channel...",
          "typeOptions": {
            "searchListMethod": "getChannels",
            "searchable": true
          }
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[a-zA-Z0-9]{2,}",
                "errorMessage": "Not a valid Slack Channel ID"
              }
            }
          ],
          "placeholder": "C0122KQ70S7E"
        },
        {
          "displayName": "By URL",
          "name": "url",
          "type": "string",
          "placeholder": "https://app.slack.com/client/TS9594PZK/B0556F47Z3A",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "http(s)?://app.slack.com/client/.*/([a-zA-Z0-9]{2,})",
                "errorMessage": "Not a valid Slack Channel URL"
              }
            }
          ],
          "extractValue": {
            "type": "regex",
            "regex": "https://app.slack.com/client/.*/([a-zA-Z0-9]{2,})"
          }
        }
      ]
    },
    {
      "displayName": "Name",
      "name": "name",
      "type": "string",
      "default": "",
      "description": "New name for conversation",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "rename"
          ],
          "resource": [
            "channel"
          ]
        }
      }
    },
    {
      "displayName": "Channel",
      "name": "channelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "The Slack channel to replies to",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "replies"
          ],
          "resource": [
            "channel"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "placeholder": "Select a channel...",
          "typeOptions": {
            "searchListMethod": "getChannels",
            "searchable": true
          }
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[a-zA-Z0-9]{2,}",
                "errorMessage": "Not a valid Slack Channel ID"
              }
            }
          ],
          "placeholder": "C0122KQ70S7E"
        },
        {
          "displayName": "By URL",
          "name": "url",
          "type": "string",
          "placeholder": "https://app.slack.com/client/TS9594PZK/B0556F47Z3A",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "http(s)?://app.slack.com/client/.*/([a-zA-Z0-9]{2,})",
                "errorMessage": "Not a valid Slack Channel URL"
              }
            }
          ],
          "extractValue": {
            "type": "regex",
            "regex": "https://app.slack.com/client/.*/([a-zA-Z0-9]{2,})"
          }
        }
      ]
    },
    {
      "displayName": "Message Timestamp",
      "name": "ts",
      "type": "number",
      "description": "Timestamp of the message to reply",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "replies"
          ],
          "resource": [
            "channel"
          ]
        }
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "resource": [
            "channel"
          ],
          "operation": [
            "replies"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "channel"
          ],
          "operation": [
            "replies"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Filters",
      "name": "filters",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Inclusive",
          "name": "inclusive",
          "type": "boolean",
          "default": false,
          "description": "Whether to include messages with latest or oldest timestamp in results only when either timestamp is specified"
        },
        {
          "displayName": "Latest",
          "name": "latest",
          "type": "string",
          "default": "",
          "description": "End of time range of messages to include in results"
        },
        {
          "displayName": "Oldest",
          "name": "oldest",
          "type": "string",
          "default": "",
          "description": "Start of time range of messages to include in results"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "channel"
          ],
          "operation": [
            "replies"
          ]
        }
      }
    },
    {
      "displayName": "Channel",
      "name": "channelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "The Slack channel to set the purpose of",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "setPurpose"
          ],
          "resource": [
            "channel"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "placeholder": "Select a channel...",
          "typeOptions": {
            "searchListMethod": "getChannels",
            "searchable": true
          }
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[a-zA-Z0-9]{2,}",
                "errorMessage": "Not a valid Slack Channel ID"
              }
            }
          ],
          "placeholder": "C0122KQ70S7E"
        },
        {
          "displayName": "By URL",
          "name": "url",
          "type": "string",
          "placeholder": "https://app.slack.com/client/TS9594PZK/B0556F47Z3A",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "http(s)?://app.slack.com/client/.*/([a-zA-Z0-9]{2,})",
                "errorMessage": "Not a valid Slack Channel URL"
              }
            }
          ],
          "extractValue": {
            "type": "regex",
            "regex": "https://app.slack.com/client/.*/([a-zA-Z0-9]{2,})"
          }
        }
      ]
    },
    {
      "displayName": "Purpose",
      "name": "purpose",
      "type": "string",
      "default": "",
      "description": "A new, specialer purpose",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "setPurpose"
          ],
          "resource": [
            "channel"
          ]
        }
      }
    },
    {
      "displayName": "Channel",
      "name": "channelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "The Slack channel to set the topic of",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "setTopic"
          ],
          "resource": [
            "channel"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "placeholder": "Select a channel...",
          "typeOptions": {
            "searchListMethod": "getChannels",
            "searchable": true
          }
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[a-zA-Z0-9]{2,}",
                "errorMessage": "Not a valid Slack Channel ID"
              }
            }
          ],
          "placeholder": "C0122KQ70S7E"
        },
        {
          "displayName": "By URL",
          "name": "url",
          "type": "string",
          "placeholder": "https://app.slack.com/client/TS9594PZK/B0556F47Z3A",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "http(s)?://app.slack.com/client/.*/([a-zA-Z0-9]{2,})",
                "errorMessage": "Not a valid Slack Channel URL"
              }
            }
          ],
          "extractValue": {
            "type": "regex",
            "regex": "https://app.slack.com/client/.*/([a-zA-Z0-9]{2,})"
          }
        }
      ]
    },
    {
      "displayName": "Topic",
      "name": "topic",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "setTopic"
          ],
          "resource": [
            "channel"
          ]
        }
      }
    },
    {
      "displayName": "Channel",
      "name": "channelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "The Slack channel to unarchive",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "unarchive"
          ],
          "resource": [
            "channel"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "placeholder": "Select a channel...",
          "typeOptions": {
            "searchListMethod": "getChannels",
            "searchable": true
          }
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[a-zA-Z0-9]{2,}",
                "errorMessage": "Not a valid Slack Channel ID"
              }
            }
          ],
          "placeholder": "C0122KQ70S7E"
        },
        {
          "displayName": "By URL",
          "name": "url",
          "type": "string",
          "placeholder": "https://app.slack.com/client/TS9594PZK/B0556F47Z3A",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "http(s)?://app.slack.com/client/.*/([a-zA-Z0-9]{2,})",
                "errorMessage": "Not a valid Slack Channel URL"
              }
            }
          ],
          "extractValue": {
            "type": "regex",
            "regex": "https://app.slack.com/client/.*/([a-zA-Z0-9]{2,})"
          }
        }
      ]
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "post",
      "options": [
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a message"
        },
        {
          "name": "Get Permalink",
          "value": "getPermalink",
          "action": "Get a message permalink"
        },
        {
          "name": "Search",
          "value": "search",
          "action": "Search for messages"
        },
        {
          "name": "Send",
          "value": "post",
          "action": "Send a message"
        },
        {
          "name": "Send and Wait for Response",
          "value": "sendAndWait",
          "action": "Send message and wait for response"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a message"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Channel",
      "name": "channelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "The Slack channel to get the message permalink from",
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "getPermalink"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "placeholder": "Select a channel...",
          "typeOptions": {
            "searchListMethod": "getChannels",
            "searchable": true
          }
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[a-zA-Z0-9]{2,}",
                "errorMessage": "Not a valid Slack Channel ID"
              }
            }
          ],
          "placeholder": "C0122KQ70S7E"
        },
        {
          "displayName": "By URL",
          "name": "url",
          "type": "string",
          "placeholder": "https://app.slack.com/client/TS9594PZK/B0556F47Z3A",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "http(s)?://app.slack.com/client/.*/([a-zA-Z0-9]{2,})",
                "errorMessage": "Not a valid Slack Channel URL"
              }
            }
          ],
          "extractValue": {
            "type": "regex",
            "regex": "https://app.slack.com/client/.*/([a-zA-Z0-9]{2,})"
          }
        }
      ]
    },
    {
      "displayName": "Message Timestamp",
      "name": "timestamp",
      "type": "number",
      "description": "Timestamp of the message to message",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "getPermalink"
          ]
        }
      }
    },
    {
      "displayName": "Send Message To",
      "name": "select",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "Channel",
          "value": "channel"
        },
        {
          "name": "User",
          "value": "user"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "post"
          ]
        }
      }
    },
    {
      "displayName": "Channel",
      "name": "channelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "The Slack channel to send to",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "post"
          ],
          "resource": [
            "message"
          ],
          "select": [
            "channel"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "placeholder": "Select a channel...",
          "typeOptions": {
            "searchListMethod": "getChannels",
            "searchable": true
          }
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[a-zA-Z0-9]{2,}",
                "errorMessage": "Not a valid Slack Channel ID"
              }
            }
          ],
          "placeholder": "C0122KQ70S7E"
        },
        {
          "displayName": "By Name",
          "name": "name",
          "type": "string",
          "placeholder": "#general"
        },
        {
          "displayName": "By URL",
          "name": "url",
          "type": "string",
          "placeholder": "https://app.slack.com/client/TS9594PZK/B0556F47Z3A",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "http(s)?://app.slack.com/client/.*/([a-zA-Z0-9]{2,})",
                "errorMessage": "Not a valid Slack Channel URL"
              }
            }
          ],
          "extractValue": {
            "type": "regex",
            "regex": "https://app.slack.com/client/.*/([a-zA-Z0-9]{2,})"
          }
        }
      ]
    },
    {
      "displayName": "User",
      "name": "user",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "displayOptions": {
        "show": {
          "operation": [
            "post"
          ],
          "resource": [
            "message"
          ],
          "select": [
            "user"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "placeholder": "Select a user...",
          "typeOptions": {
            "searchListMethod": "getUsers",
            "searchable": true
          }
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[a-zA-Z0-9]{2,}",
                "errorMessage": "Not a valid Slack User ID"
              }
            }
          ],
          "placeholder": "U123AB45JGM"
        },
        {
          "displayName": "By username",
          "name": "username",
          "type": "string",
          "placeholder": "@username"
        }
      ]
    },
    {
      "displayName": "Message Type",
      "name": "messageType",
      "type": "options",
      "default": "text",
      "description": "Whether to send a simple text message, or use Slack’s Blocks UI builder for more sophisticated messages that include form fields, sections and more",
      "options": [
        {
          "name": "Simple Text Message",
          "value": "text",
          "description": "Supports basic Markdown"
        },
        {
          "name": "Blocks",
          "value": "block",
          "description": "Combine text, buttons, form elements, dividers and more in Slack 's visual builder"
        },
        {
          "name": "Attachments",
          "value": "attachment"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "post"
          ],
          "resource": [
            "message"
          ]
        }
      }
    },
    {
      "displayName": "Message Text",
      "name": "text",
      "type": "string",
      "default": "",
      "description": "The message text to post. Supports <a href=\"https://api.slack.com/reference/surfaces/formatting\">markdown</a> by default - this can be disabled in \"Options\".",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "post"
          ],
          "resource": [
            "message"
          ],
          "messageType": [
            "text"
          ]
        }
      }
    },
    {
      "displayName": "Blocks",
      "name": "blocksUi",
      "type": "string",
      "default": "",
      "description": "Enter the JSON output from Slack's visual Block Kit Builder here. You can then use expressions to add variable content to your blocks. To create blocks, use <a target='_blank' href='https://app.slack.com/block-kit-builder'>Slack's Block Kit Builder</a>",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "post"
          ],
          "resource": [
            "message"
          ],
          "messageType": [
            "block"
          ]
        }
      },
      "typeOptions": {
        "rows": 3
      }
    },
    {
      "displayName": "Notification Text",
      "name": "text",
      "type": "string",
      "default": "",
      "description": "Fallback text to display in slack notifications. Supports <a href=\"https://api.slack.com/reference/surfaces/formatting\">markdown</a> by default - this can be disabled in \"Options\".",
      "displayOptions": {
        "show": {
          "operation": [
            "post"
          ],
          "resource": [
            "message"
          ],
          "messageType": [
            "block"
          ]
        }
      }
    },
    {
      "displayName": "This is a legacy Slack feature. Slack advises to instead use Blocks.",
      "name": "noticeAttachments",
      "type": "notice",
      "default": "",
      "displayOptions": {
        "show": {
          "operation": [
            "post"
          ],
          "resource": [
            "message"
          ],
          "messageType": [
            "attachment"
          ]
        }
      }
    },
    {
      "displayName": "Attachments",
      "name": "attachments",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Fallback Text",
          "name": "fallback",
          "type": "string",
          "typeOptions": {
            "alwaysOpenEditWindow": true
          },
          "default": "",
          "description": "Required plain-text summary of the attachment"
        },
        {
          "displayName": "Text",
          "name": "text",
          "type": "string",
          "typeOptions": {
            "alwaysOpenEditWindow": true
          },
          "default": ""
        },
        {
          "displayName": "Title",
          "name": "title",
          "type": "string",
          "typeOptions": {
            "alwaysOpenEditWindow": true
          },
          "default": ""
        },
        {
          "displayName": "Title Link",
          "name": "title_link",
          "type": "string",
          "typeOptions": {
            "alwaysOpenEditWindow": true
          },
          "default": ""
        },
        {
          "displayName": "Color",
          "name": "color",
          "type": "color",
          "default": "#ff0000",
          "description": "Color of the line left of text"
        },
        {
          "displayName": "Pretext",
          "name": "pretext",
          "type": "string",
          "typeOptions": {
            "alwaysOpenEditWindow": true
          },
          "default": "",
          "description": "Text which appears before the message block"
        },
        {
          "displayName": "Author Name",
          "name": "author_name",
          "type": "string",
          "default": "",
          "description": "Name that should appear"
        },
        {
          "displayName": "Author Link",
          "name": "author_link",
          "type": "string",
          "typeOptions": {
            "alwaysOpenEditWindow": true
          },
          "default": ""
        },
        {
          "displayName": "Author Icon",
          "name": "author_icon",
          "type": "string",
          "typeOptions": {
            "alwaysOpenEditWindow": true
          },
          "default": "",
          "description": "Icon which should appear for the user"
        },
        {
          "displayName": "Image URL",
          "name": "image_url",
          "type": "string",
          "typeOptions": {
            "alwaysOpenEditWindow": true
          },
          "default": ""
        },
        {
          "displayName": "Thumbnail URL",
          "name": "thumb_url",
          "type": "string",
          "typeOptions": {
            "alwaysOpenEditWindow": true
          },
          "default": ""
        },
        {
          "displayName": "Footer",
          "name": "footer",
          "type": "string",
          "typeOptions": {
            "alwaysOpenEditWindow": true
          },
          "default": "",
          "description": "Text of footer to add"
        },
        {
          "displayName": "Footer Icon",
          "name": "footer_icon",
          "type": "string",
          "typeOptions": {
            "alwaysOpenEditWindow": true
          },
          "default": "",
          "description": "Icon which should appear next to footer"
        },
        {
          "displayName": "Message Timestamp",
          "name": "ts",
          "type": "number",
          "default": 0,
          "description": "Timestamp of the message to post",
          "placeholder": "1663233118.856619"
        },
        {
          "displayName": "Fields",
          "name": "fields",
          "placeholder": "Add Fields",
          "description": "Fields to add to message",
          "type": "fixedCollection",
          "typeOptions": {
            "multipleValues": true
          },
          "default": {},
          "options": [
            {
              "name": "item",
              "displayName": "Item",
              "values": [
                {
                  "displayName": "Title",
                  "name": "title",
                  "type": "string",
                  "default": ""
                },
                {
                  "displayName": "Value",
                  "name": "value",
                  "type": "string",
                  "default": ""
                },
                {
                  "displayName": "Short",
                  "name": "short",
                  "type": "boolean",
                  "default": true,
                  "description": "Whether items can be displayed next to each other"
                }
              ]
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "post"
          ],
          "resource": [
            "message"
          ],
          "messageType": [
            "attachment"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true,
        "multipleValueButtonText": "Add attachment"
      }
    },
    {
      "displayName": "Options",
      "name": "otherOptions",
      "type": "collection",
      "default": {},
      "description": "Other options to set",
      "options": [
        {
          "displayName": "Include Link to Workflow",
          "name": "includeLinkToWorkflow",
          "type": "boolean",
          "default": true,
          "description": "Whether to append a link to this workflow at the end of the message. This is helpful if you have many workflows sending Slack messages."
        },
        {
          "displayName": "Custom Bot Profile Photo",
          "name": "botProfile",
          "type": "fixedCollection",
          "default": {
            "imageValues": [
              {
                "profilePhotoType": ""
              }
            ]
          },
          "description": "Set an image or an emoji as the Profile Photo (avatar) of the bot sending the message. Will not be used if sending message as a user.",
          "options": [
            {
              "name": "imageValues",
              "displayName": "Add Bot Profile Photo",
              "values": [
                {
                  "displayName": "Profile Photo Type",
                  "name": "profilePhotoType",
                  "type": "options",
                  "options": [
                    {
                      "name": "Image URL",
                      "value": "image"
                    },
                    {
                      "name": "Emoji Code",
                      "value": "emoji"
                    }
                  ],
                  "default": "",
                  "placeholder": "Select a type…"
                },
                {
                  "displayName": "Emoji Code",
                  "name": "icon_emoji",
                  "type": "string",
                  "default": "",
                  "displayOptions": {
                    "show": {
                      "profilePhotoType": [
                        "emoji"
                      ]
                    }
                  },
                  "description": "Only used if sending message as a bot. Use emoji codes like +1, not an actual emoji like 👍. <a target=\"_blank\" href=\" https://www.webfx.com/tools/emoji-cheat-sheet/\">List of common emoji codes</a>"
                },
                {
                  "displayName": "Image URL",
                  "name": "icon_url",
                  "type": "string",
                  "default": "",
                  "displayOptions": {
                    "show": {
                      "profilePhotoType": [
                        "image"
                      ]
                    }
                  },
                  "description": "Only used if sending message as a bot"
                }
              ]
            }
          ]
        },
        {
          "displayName": "Link User and Channel Names",
          "name": "link_names",
          "type": "boolean",
          "default": false,
          "description": "Whether to turn @users and #channels in message text into clickable links"
        },
        {
          "displayName": "Reply to a Message",
          "name": "thread_ts",
          "type": "fixedCollection",
          "default": {},
          "placeholder": "Reply to a Message",
          "description": "Provide another message's Timestamp value to make this message a reply",
          "options": [
            {
              "displayName": "Reply to a Message",
              "name": "replyValues",
              "values": [
                {
                  "displayName": "Message Timestamp to Reply To",
                  "name": "thread_ts",
                  "type": "number",
                  "placeholder": "1663233118.856619",
                  "description": "Message timestamps are included in output data of Slack nodes, abbreviated to ts"
                },
                {
                  "displayName": "Also Send to Channel",
                  "name": "reply_broadcast",
                  "type": "boolean",
                  "default": false,
                  "description": "Whether the reply should be made visible to everyone in the channel or conversation"
                }
              ]
            }
          ]
        },
        {
          "displayName": "Use Markdown?",
          "name": "mrkdwn",
          "type": "boolean",
          "default": true,
          "description": "Whether to use Slack Markdown to format the message"
        },
        {
          "displayName": "Unfurl Links",
          "name": "unfurl_links",
          "type": "boolean",
          "default": false,
          "description": "Whether to enable unfurling of primarily text-based content"
        },
        {
          "displayName": "Unfurl Media",
          "name": "unfurl_media",
          "type": "boolean",
          "default": true,
          "description": "Whether to disable unfurling of media content"
        },
        {
          "displayName": "Send as Ephemeral Message",
          "name": "ephemeral",
          "type": "fixedCollection",
          "default": {},
          "displayOptions": {
            "show": {
              "/select": [
                "channel"
              ]
            }
          },
          "placeholder": "Send as Ephemeral Message",
          "description": "Whether to send a temporary, ephemeral message",
          "options": [
            {
              "displayName": "Send as Ephemeral Message",
              "name": "ephemeralValues",
              "values": [
                {
                  "displayName": "User to Send",
                  "name": "user",
                  "type": "resourceLocator",
                  "default": {
                    "mode": "list",
                    "value": ""
                  },
                  "placeholder": "Select a user...",
                  "modes": [
                    {
                      "displayName": "From List",
                      "name": "list",
                      "type": "list",
                      "placeholder": "Select a user...",
                      "typeOptions": {
                        "searchListMethod": "getUsers",
                        "searchable": true
                      }
                    },
                    {
                      "displayName": "By ID",
                      "name": "id",
                      "type": "string",
                      "validation": [
                        {
                          "type": "regex",
                          "properties": {
                            "regex": "[a-zA-Z0-9]{2,}",
                            "errorMessage": "Not a valid Slack User ID"
                          }
                        }
                      ],
                      "placeholder": "U123AB45JGM"
                    }
                  ]
                },
                {
                  "displayName": "Send as Ephemeral Message",
                  "name": "ephemeral",
                  "type": "boolean",
                  "default": true,
                  "description": "Whether to send a temporary, ephemeral message"
                }
              ]
            }
          ]
        },
        {
          "displayName": "Send as Ephemeral Message",
          "name": "ephemeral",
          "type": "boolean",
          "displayOptions": {
            "show": {
              "/select": [
                "user"
              ]
            }
          },
          "default": true,
          "description": "Whether to send a temporary, ephemeral message"
        },
        {
          "displayName": "Send as User",
          "name": "sendAsUser",
          "type": "string",
          "displayOptions": {
            "show": {
              "/authentication": [
                "accessToken"
              ]
            }
          },
          "default": "",
          "description": "The message will be sent from this username (i.e. as if this individual sent the message). Add chat:write.customize scope on Slack API"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "post"
          ],
          "resource": [
            "message"
          ]
        }
      }
    },
    {
      "displayName": "Channel",
      "name": "channelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "The Slack channel to update the message from",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "update"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "placeholder": "Select a channel...",
          "typeOptions": {
            "searchListMethod": "getChannels",
            "searchable": true
          }
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[a-zA-Z0-9]{2,}",
                "errorMessage": "Not a valid Slack Channel ID"
              }
            }
          ],
          "placeholder": "C0122KQ70S7E"
        },
        {
          "displayName": "By URL",
          "name": "url",
          "type": "string",
          "placeholder": "https://app.slack.com/client/TS9594PZK/B0556F47Z3A",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "http(s)?://app.slack.com/client/.*/([a-zA-Z0-9]{2,})",
                "errorMessage": "Not a valid Slack Channel URL"
              }
            }
          ],
          "extractValue": {
            "type": "regex",
            "regex": "https://app.slack.com/client/.*/([a-zA-Z0-9]{2,})"
          }
        }
      ]
    },
    {
      "displayName": "Message Timestamp",
      "name": "ts",
      "type": "number",
      "description": "Timestamp of the message to update",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Message Type",
      "name": "messageType",
      "type": "options",
      "default": "text",
      "description": "Whether to send a simple text message, or use Slack’s Blocks UI builder for more sophisticated messages that include form fields, sections and more",
      "options": [
        {
          "name": "Simple Text Message",
          "value": "text",
          "description": "Supports basic Markdown"
        },
        {
          "name": "Blocks",
          "value": "block",
          "description": "Combine text, buttons, form elements, dividers and more in Slack 's visual builder"
        },
        {
          "name": "Attachments",
          "value": "attachment"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "update"
          ],
          "resource": [
            "message"
          ]
        }
      }
    },
    {
      "displayName": "Blocks",
      "name": "blocksUi",
      "type": "string",
      "default": "",
      "description": "Enter the JSON output from Slack's visual Block Kit Builder here. You can then use expressions to add variable content to your blocks. To create blocks, use <a target='_blank' href='https://app.slack.com/block-kit-builder'>Slack's Block Kit Builder</a>",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "update"
          ],
          "resource": [
            "message"
          ],
          "messageType": [
            "block"
          ]
        }
      },
      "typeOptions": {
        "rows": 3
      }
    },
    {
      "displayName": "Notification Text",
      "name": "text",
      "type": "string",
      "default": "",
      "description": "Fallback text to display in slack notifications. Supports <a href=\"https://api.slack.com/reference/surfaces/formatting\">markdown</a> by default - this can be disabled in \"Options\".",
      "displayOptions": {
        "show": {
          "operation": [
            "update"
          ],
          "resource": [
            "message"
          ],
          "messageType": [
            "block"
          ]
        }
      }
    },
    {
      "displayName": "Message Text",
      "name": "text",
      "type": "string",
      "default": "",
      "description": "The message text to update. Supports <a href=\"https://api.slack.com/reference/surfaces/formatting/\">markdown</a> by default - this can be disabled in \"Options\".",
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "update"
          ],
          "messageType": [
            "text"
          ]
        }
      }
    },
    {
      "displayName": "Update Fields",
      "name": "updateFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Link User and Channel Names",
          "name": "link_names",
          "type": "boolean",
          "default": false,
          "description": "Whether to find and link channel names and usernames"
        },
        {
          "displayName": "Parse",
          "name": "parse",
          "type": "options",
          "options": [
            {
              "name": "Client",
              "value": "client"
            },
            {
              "name": "Full",
              "value": "full"
            },
            {
              "name": "None",
              "value": "none"
            }
          ],
          "default": "client",
          "description": "Change how messages are treated"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "otherOptions",
      "type": "collection",
      "default": {},
      "description": "Other options to set",
      "options": [
        {
          "displayName": "Include Link to Workflow",
          "name": "includeLinkToWorkflow",
          "type": "boolean",
          "default": true,
          "description": "Whether to append a link to this workflow at the end of the message. This is helpful if you have many workflows sending Slack messages."
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "update"
          ],
          "resource": [
            "message"
          ]
        }
      }
    },
    {
      "displayName": "Delete Message From",
      "name": "select",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "Channel",
          "value": "channel"
        },
        {
          "name": "User",
          "value": "user"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "delete"
          ]
        }
      }
    },
    {
      "displayName": "Channel",
      "name": "channelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "The Slack channel to delete the message from",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "delete"
          ],
          "resource": [
            "message"
          ],
          "select": [
            "channel"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "placeholder": "Select a channel...",
          "typeOptions": {
            "searchListMethod": "getChannels",
            "searchable": true
          }
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[a-zA-Z0-9]{2,}",
                "errorMessage": "Not a valid Slack Channel ID"
              }
            }
          ],
          "placeholder": "C0122KQ70S7E"
        },
        {
          "displayName": "By URL",
          "name": "url",
          "type": "string",
          "placeholder": "https://app.slack.com/client/TS9594PZK/B0556F47Z3A",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "http(s)?://app.slack.com/client/.*/([a-zA-Z0-9]{2,})",
                "errorMessage": "Not a valid Slack Channel URL"
              }
            }
          ],
          "extractValue": {
            "type": "regex",
            "regex": "https://app.slack.com/client/.*/([a-zA-Z0-9]{2,})"
          }
        }
      ]
    },
    {
      "displayName": "User",
      "name": "user",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "displayOptions": {
        "show": {
          "operation": [
            "delete"
          ],
          "resource": [
            "message"
          ],
          "select": [
            "user"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "placeholder": "Select a user...",
          "typeOptions": {
            "searchListMethod": "getUsers",
            "searchable": true
          }
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[a-zA-Z0-9]{2,}",
                "errorMessage": "Not a valid Slack User ID"
              }
            }
          ],
          "placeholder": "U123AB45JGM"
        }
      ]
    },
    {
      "displayName": "Message Timestamp",
      "name": "timestamp",
      "type": "number",
      "description": "Timestamp of the message to delete",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "delete"
          ]
        }
      }
    },
    {
      "displayName": "Search Query",
      "name": "query",
      "type": "string",
      "default": "",
      "description": "The text to search for within messages",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "search"
          ]
        }
      }
    },
    {
      "displayName": "Sort By",
      "name": "sort",
      "type": "options",
      "default": "desc",
      "description": "How search results should be sorted. You can sort by.",
      "options": [
        {
          "name": "Newest",
          "value": "desc"
        },
        {
          "name": "Oldest",
          "value": "asc"
        },
        {
          "name": "Relevance Score",
          "value": "relevance"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "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": {
          "resource": [
            "message"
          ],
          "operation": [
            "search"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 25,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "search"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 50
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Search in Channel",
          "name": "searchChannel",
          "type": "multiOptions",
          "description": "Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>",
          "default": [],
          "typeOptions": {
            "loadOptionsMethod": "getChannelsName"
          }
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "search"
          ]
        }
      }
    },
    {
      "displayName": "Send Message To",
      "name": "select",
      "type": "options",
      "default": "user",
      "options": [
        {
          "name": "Channel",
          "value": "channel"
        },
        {
          "name": "User",
          "value": "user"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ],
          "operation": [
            "sendAndWait"
          ]
        }
      }
    },
    {
      "displayName": "Channel",
      "name": "channelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "The Slack channel to send to",
      "required": true,
      "displayOptions": {
        "show": {
          "select": [
            "channel"
          ],
          "resource": [
            "message"
          ],
          "operation": [
            "sendAndWait"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "placeholder": "Select a channel...",
          "typeOptions": {
            "searchListMethod": "getChannels",
            "searchable": true
          }
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[a-zA-Z0-9]{2,}",
                "errorMessage": "Not a valid Slack Channel ID"
              }
            }
          ],
          "placeholder": "C0122KQ70S7E"
        },
        {
          "displayName": "By Name",
          "name": "name",
          "type": "string",
          "placeholder": "#general"
        },
        {
          "displayName": "By URL",
          "name": "url",
          "type": "string",
          "placeholder": "https://app.slack.com/client/TS9594PZK/B0556F47Z3A",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "http(s)?://app.slack.com/client/.*/([a-zA-Z0-9]{2,})",
                "errorMessage": "Not a valid Slack Channel URL"
              }
            }
          ],
          "extractValue": {
            "type": "regex",
            "regex": "https://app.slack.com/client/.*/([a-zA-Z0-9]{2,})"
          }
        }
      ]
    },
    {
      "displayName": "User",
      "name": "user",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "displayOptions": {
        "show": {
          "select": [
            "user"
          ],
          "resource": [
            "message"
          ],
          "operation": [
            "sendAndWait"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "placeholder": "Select a user...",
          "typeOptions": {
            "searchListMethod": "getUsers",
            "searchable": true
          }
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[a-zA-Z0-9]{2,}",
                "errorMessage": "Not a valid Slack User ID"
              }
            }
          ],
          "placeholder": "U123AB45JGM"
        },
        {
          "displayName": "By username",
          "name": "username",
          "type": "string",
          "placeholder": "@username"
        }
      ]
    },
    {
      "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": "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"
                  ]
                }
              }
            },
            {
              "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"
                  ]
                }
              }
            },
            {
              "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": "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": "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
              },
              "displayOptions": {
                "show": {
                  "fieldType": [
                    "checkbox"
                  ],
                  "limitSelection": [
                    "exact"
                  ]
                }
              }
            },
            {
              "displayName": "Minimum Selections",
              "name": "minSelections",
              "type": "number",
              "default": 0,
              "typeOptions": {
                "numberPrecision": 0,
                "minValue": 0
              },
              "displayOptions": {
                "show": {
                  "fieldType": [
                    "checkbox"
                  ],
                  "limitSelection": [
                    "range"
                  ]
                }
              }
            },
            {
              "displayName": "Maximum Selections",
              "name": "maxSelections",
              "type": "number",
              "default": 1,
              "typeOptions": {
                "numberPrecision": 0,
                "minValue": 1
              },
              "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": {
          "defineForm": [
            "fields"
          ],
          "responseType": [
            "customForm"
          ],
          "resource": [
            "message"
          ],
          "operation": [
            "sendAndWait"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true,
        "sortable": true
      }
    },
    {
      "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": "Approve Button Style",
              "name": "buttonApprovalStyle",
              "type": "options",
              "default": "primary",
              "options": [
                {
                  "name": "Primary",
                  "value": "primary"
                },
                {
                  "name": "Secondary",
                  "value": "secondary"
                }
              ],
              "displayOptions": {
                "show": {
                  "approvalType": [
                    "single",
                    "double"
                  ]
                }
              }
            },
            {
              "displayName": "Disapprove Button Label",
              "name": "disapproveLabel",
              "type": "string",
              "default": "Decline",
              "displayOptions": {
                "show": {
                  "approvalType": [
                    "double"
                  ]
                }
              }
            },
            {
              "displayName": "Disapprove Button Style",
              "name": "buttonDisapprovalStyle",
              "type": "options",
              "default": "secondary",
              "options": [
                {
                  "name": "Primary",
                  "value": "primary"
                },
                {
                  "name": "Secondary",
                  "value": "secondary"
                }
              ],
              "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": "add",
      "options": [
        {
          "name": "Add",
          "value": "add",
          "description": "Add a star to an item",
          "action": "Add a star"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a star from an item",
          "action": "Delete a star"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many stars of autenticated user",
          "action": "Get many stars"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "star"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Item to Add Star",
      "name": "target",
      "type": "options",
      "default": "",
      "description": "Choose whether to add a star to a message or a file",
      "options": [
        {
          "name": "Message",
          "value": "message"
        },
        {
          "name": "File",
          "value": "file"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "add"
          ],
          "resource": [
            "star"
          ]
        }
      }
    },
    {
      "displayName": "Channel",
      "name": "channelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "The Slack channel to add a star to",
      "displayOptions": {
        "show": {
          "resource": [
            "star"
          ],
          "operation": [
            "add"
          ],
          "target": [
            "message",
            "file"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "placeholder": "Select a channel...",
          "typeOptions": {
            "searchListMethod": "getChannels",
            "searchable": true
          }
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[a-zA-Z0-9]{2,}",
                "errorMessage": "Not a valid Slack Channel ID"
              }
            }
          ],
          "placeholder": "C0122KQ70S7E"
        },
        {
          "displayName": "By URL",
          "name": "url",
          "type": "string",
          "placeholder": "https://app.slack.com/client/TS9594PZK/B0556F47Z3A",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "http(s)?://app.slack.com/client/.*/([a-zA-Z0-9]{2,})",
                "errorMessage": "Not a valid Slack Channel URL"
              }
            }
          ],
          "extractValue": {
            "type": "regex",
            "regex": "https://app.slack.com/client/.*/([a-zA-Z0-9]{2,})"
          }
        }
      ]
    },
    {
      "displayName": "File ID",
      "name": "fileId",
      "type": "string",
      "default": "",
      "description": "File to add star to",
      "displayOptions": {
        "show": {
          "resource": [
            "star"
          ],
          "operation": [
            "add"
          ],
          "target": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Message Timestamp",
      "name": "timestamp",
      "type": "number",
      "description": "Timestamp of the message to add",
      "displayOptions": {
        "show": {
          "resource": [
            "star"
          ],
          "operation": [
            "add"
          ],
          "target": [
            "message"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "description": "Options to set",
      "options": [
        {
          "displayName": "File Comment",
          "name": "fileComment",
          "type": "string",
          "default": "",
          "description": "File comment to add star to"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "add"
          ],
          "resource": [
            "star"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "description": "Options to set",
      "options": [
        {
          "displayName": "Channel Name or ID",
          "name": "channelId",
          "type": "options",
          "typeOptions": {
            "loadOptionsMethod": "getChannels"
          },
          "default": "",
          "description": "Channel to add star to, or channel where the message to add star to was posted (used with timestamp). Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        },
        {
          "displayName": "File ID",
          "name": "fileId",
          "type": "string",
          "default": "",
          "description": "File to add star to"
        },
        {
          "displayName": "File Comment",
          "name": "fileComment",
          "type": "string",
          "default": "",
          "description": "File comment to add star to"
        },
        {
          "displayName": "Message Timestamp",
          "name": "timestamp",
          "type": "number",
          "default": 0,
          "description": "Timestamp of the message to delete",
          "placeholder": "1663233118.856619"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "delete"
          ],
          "resource": [
            "star"
          ]
        }
      }
    },
    {
      "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": [
            "star"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "star"
          ],
          "operation": [
            "getAll"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "upload",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get a file"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get & filters team files",
          "action": "Get many files"
        },
        {
          "name": "Upload",
          "value": "upload",
          "description": "Create or upload an existing file",
          "action": "Upload a file"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Binary File",
      "name": "binaryData",
      "type": "boolean",
      "default": false,
      "description": "Whether the data to upload should be taken from binary field",
      "displayOptions": {
        "show": {
          "operation": [
            "upload"
          ],
          "resource": [
            "file"
          ],
          "@version": [
            2,
            2.1
          ]
        }
      }
    },
    {
      "displayName": "File Content",
      "name": "fileContent",
      "type": "string",
      "default": "",
      "displayOptions": {
        "show": {
          "operation": [
            "upload"
          ],
          "resource": [
            "file"
          ],
          "binaryData": [
            false
          ],
          "@version": [
            2,
            2.1
          ]
        }
      }
    },
    {
      "displayName": "File Property",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "description": "Name of the binary property which contains the data for the file to be uploaded",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "upload"
          ],
          "resource": [
            "file"
          ],
          "binaryData": [
            true
          ],
          "@version": [
            2,
            2.1
          ]
        }
      }
    },
    {
      "displayName": "File Property",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "description": "Name of the binary property which contains the data for the file to be uploaded",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "upload"
          ],
          "resource": [
            "file"
          ],
          "@version": [
            {
              "_cnd": {
                "gte": 2.2
              }
            }
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "description": "Other options to set",
      "options": [
        {
          "displayName": "Channel Names or IDs",
          "name": "channelIds",
          "type": "multiOptions",
          "typeOptions": {
            "loadOptionsMethod": "getChannels"
          },
          "displayOptions": {
            "show": {
              "@version": [
                2,
                2.1
              ]
            }
          },
          "default": [],
          "description": "The channels to send the file to. Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        },
        {
          "displayName": "Channel Name or ID",
          "name": "channelId",
          "type": "options",
          "typeOptions": {
            "loadOptionsMethod": "getChannels"
          },
          "displayOptions": {
            "show": {
              "@version": [
                {
                  "_cnd": {
                    "gte": 2.2
                  }
                }
              ]
            }
          },
          "default": [],
          "description": "The channel to send the file to. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        },
        {
          "displayName": "File Name",
          "name": "fileName",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Initial Comment",
          "name": "initialComment",
          "type": "string",
          "default": "",
          "description": "The message text introducing the file in specified channels"
        },
        {
          "displayName": "Thread Timestamp",
          "name": "threadTs",
          "type": "string",
          "default": "",
          "description": "Provide another message's Timestamp value to upload this file as a reply. Never use a reply's Timestamp value; use its parent instead."
        },
        {
          "displayName": "Title",
          "name": "title",
          "type": "string",
          "default": ""
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "upload"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "getAll"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Filters",
      "name": "filters",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Channel Name or ID",
          "name": "channelId",
          "type": "options",
          "default": "",
          "typeOptions": {
            "loadOptionsMethod": "getChannels"
          },
          "description": "Channel containing the file to be listed. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        },
        {
          "displayName": "Show Files Hidden By Limit",
          "name": "showFilesHidden",
          "type": "boolean",
          "default": false,
          "description": "Whether to show truncated file info for files hidden due to being too old, and the team who owns the file being over the file limit"
        },
        {
          "displayName": "Message Timestamp From",
          "name": "tsFrom",
          "type": "string",
          "default": "",
          "description": "Filter files created after this timestamp (inclusive)"
        },
        {
          "displayName": "Message Timestamp To",
          "name": "tsTo",
          "type": "string",
          "default": "",
          "description": "Filter files created before this timestamp (inclusive)"
        },
        {
          "displayName": "Types",
          "name": "types",
          "type": "multiOptions",
          "options": [
            {
              "name": "All",
              "value": "all"
            },
            {
              "name": "Google Docs",
              "value": "gdocs"
            },
            {
              "name": "Images",
              "value": "images"
            },
            {
              "name": "PDFs",
              "value": "pdfs"
            },
            {
              "name": "Snippets",
              "value": "snippets"
            },
            {
              "name": "Spaces",
              "value": "spaces"
            },
            {
              "name": "zips",
              "value": "zips"
            }
          ],
          "default": [
            "all"
          ],
          "description": "Filter files by type"
        },
        {
          "displayName": "User Name or ID",
          "name": "userId",
          "type": "options",
          "default": "",
          "typeOptions": {
            "loadOptionsMethod": "getUsers"
          },
          "description": "Filter files created by a single user. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "File ID",
      "name": "fileId",
      "type": "string",
      "default": "",
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "add",
      "options": [
        {
          "name": "Add",
          "value": "add",
          "description": "Adds a reaction to a message",
          "action": "Add a reaction"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get the reactions of a message",
          "action": "Get a reaction"
        },
        {
          "name": "Remove",
          "value": "remove",
          "description": "Remove a reaction of a message",
          "action": "Remove a reaction"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "reaction"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Channel",
      "name": "channelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "The Slack channel to get the reactions from",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "reaction"
          ],
          "operation": [
            "add",
            "get",
            "remove"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "placeholder": "Select a channel...",
          "typeOptions": {
            "searchListMethod": "getChannels",
            "searchable": true
          }
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[a-zA-Z0-9]{2,}",
                "errorMessage": "Not a valid Slack Channel ID"
              }
            }
          ],
          "placeholder": "C0122KQ70S7E"
        },
        {
          "displayName": "By URL",
          "name": "url",
          "type": "string",
          "placeholder": "https://app.slack.com/client/TS9594PZK/B0556F47Z3A",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "http(s)?://app.slack.com/client/.*/([a-zA-Z0-9]{2,})",
                "errorMessage": "Not a valid Slack Channel URL"
              }
            }
          ],
          "extractValue": {
            "type": "regex",
            "regex": "https://app.slack.com/client/.*/([a-zA-Z0-9]{2,})"
          }
        }
      ]
    },
    {
      "displayName": "Message Timestamp",
      "name": "timestamp",
      "type": "number",
      "description": "Timestamp of the message to add, get or remove",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "reaction"
          ],
          "operation": [
            "add",
            "get",
            "remove"
          ]
        }
      }
    },
    {
      "displayName": "Emoji Code",
      "name": "name",
      "type": "string",
      "default": "",
      "description": "Emoji code to use for the message reaction. Use emoji codes like +1, not an actual emoji like 👍. <a target=\"_blank\" href=\" https://www.webfx.com/tools/emoji-cheat-sheet/\">List of common emoji codes</a>",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "reaction"
          ],
          "operation": [
            "add",
            "remove"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "info",
      "options": [
        {
          "name": "Get",
          "value": "info",
          "description": "Get information about a user",
          "action": "Get information about a user"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get a list of many users",
          "action": "Get many users"
        },
        {
          "name": "Get User's Profile",
          "value": "getProfile",
          "description": "Get a user's profile",
          "action": "Get a user's profile"
        },
        {
          "name": "Get User's Status",
          "value": "getPresence",
          "description": "Get online status of a user",
          "action": "Get a user's presence status"
        },
        {
          "name": "Update User's Profile",
          "value": "updateProfile",
          "description": "Update a user's profile",
          "action": "Update a user's profile"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "User",
      "name": "user",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "The ID of the user to get information about",
      "displayOptions": {
        "show": {
          "operation": [
            "info",
            "getProfile"
          ],
          "resource": [
            "user"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "placeholder": "Select a user...",
          "typeOptions": {
            "searchListMethod": "getUsers",
            "searchable": true
          }
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[a-zA-Z0-9]{2,}",
                "errorMessage": "Not a valid Slack User ID"
              }
            }
          ],
          "placeholder": "U123AB45JGM"
        }
      ]
    },
    {
      "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": "User",
      "name": "user",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "The ID of the user to get the online status of",
      "displayOptions": {
        "show": {
          "operation": [
            "getPresence"
          ],
          "resource": [
            "user"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "placeholder": "Select a user...",
          "typeOptions": {
            "searchListMethod": "getUsers",
            "searchable": true
          }
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[a-zA-Z0-9]{2,}",
                "errorMessage": "Not a valid Slack User ID"
              }
            }
          ],
          "placeholder": "U123AB45JGM"
        }
      ]
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Custom Fields",
          "name": "customFieldUi",
          "placeholder": "Add Custom Fields",
          "type": "fixedCollection",
          "typeOptions": {
            "multipleValues": true
          },
          "default": {},
          "options": [
            {
              "name": "customFieldValues",
              "displayName": "Custom Field",
              "values": [
                {
                  "displayName": "Field Name or ID",
                  "name": "id",
                  "type": "options",
                  "typeOptions": {
                    "loadOptionsMethod": "getTeamFields"
                  },
                  "default": "",
                  "description": "ID of the field to set. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
                },
                {
                  "displayName": "Field Value",
                  "name": "value",
                  "type": "string",
                  "default": "",
                  "description": "Value of the field to set"
                },
                {
                  "displayName": "Alt",
                  "name": "alt",
                  "type": "string",
                  "default": ""
                }
              ]
            }
          ]
        },
        {
          "displayName": "Email",
          "name": "email",
          "type": "string",
          "placeholder": "name@email.com",
          "default": "",
          "description": "This field can only be changed by admins for users on paid teams"
        },
        {
          "displayName": "First Name",
          "name": "first_name",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Last Name",
          "name": "last_name",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Set Status",
          "name": "status",
          "type": "fixedCollection",
          "typeOptions": {
            "multipleValues": true
          },
          "default": {},
          "placeholder": "Set Status",
          "options": [
            {
              "displayName": "Set Status",
              "name": "set_status",
              "values": [
                {
                  "displayName": "Status Emoji",
                  "name": "status_emoji",
                  "type": "string",
                  "default": "",
                  "description": "Is a string referencing an emoji enabled for the Slack team, such as :mountain_railway:"
                },
                {
                  "displayName": "Status Expiration",
                  "name": "status_expiration",
                  "type": "dateTime",
                  "default": "",
                  "description": "The number of minutes to wait until this status expires and is cleared. Optional."
                },
                {
                  "displayName": "Status Text",
                  "name": "status_text",
                  "type": "string",
                  "default": "",
                  "description": "Allows up to 100 characters, though we strongly encourage brevity"
                }
              ]
            }
          ]
        },
        {
          "displayName": "User ID",
          "name": "user",
          "type": "string",
          "default": "",
          "description": "ID of user to change. This argument may only be specified by team admins on paid teams."
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "updateProfile"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a user group"
        },
        {
          "name": "Disable",
          "value": "disable",
          "action": "Disable a user group"
        },
        {
          "name": "Enable",
          "value": "enable",
          "action": "Enable a user group"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many user groups"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a user group"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "userGroup"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Name",
      "name": "name",
      "type": "string",
      "default": "",
      "description": "A name for the User Group. Must be unique among User Groups.",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "userGroup"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "Options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Channel Names or IDs",
          "name": "channelIds",
          "type": "multiOptions",
          "typeOptions": {
            "loadOptionsMethod": "getChannels"
          },
          "default": [],
          "description": "A comma-separated string of encoded channel IDs for which the User Group uses as a default. Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        },
        {
          "displayName": "Description",
          "name": "description",
          "type": "string",
          "default": "",
          "description": "A short description of the User Group"
        },
        {
          "displayName": "Handle",
          "name": "handle",
          "type": "string",
          "default": "",
          "description": "A mention handle. Must be unique among channels, users and User Groups."
        },
        {
          "displayName": "Include Count",
          "name": "include_count",
          "type": "boolean",
          "default": true,
          "description": "Whether to include the number of users in each User Group"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "userGroup"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "User Group ID",
      "name": "userGroupId",
      "type": "string",
      "default": "",
      "description": "The encoded ID of the User Group to update",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "disable"
          ],
          "resource": [
            "userGroup"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Include Count",
          "name": "include_count",
          "type": "boolean",
          "default": true,
          "description": "Whether to include the number of users in each User Group"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "userGroup"
          ],
          "operation": [
            "disable"
          ]
        }
      }
    },
    {
      "displayName": "User Group ID",
      "name": "userGroupId",
      "type": "string",
      "default": "",
      "description": "The encoded ID of the User Group to update",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "enable"
          ],
          "resource": [
            "userGroup"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "option",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Include Count",
          "name": "include_count",
          "type": "boolean",
          "default": true,
          "description": "Whether to include the number of users in each User Group"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "userGroup"
          ],
          "operation": [
            "enable"
          ]
        }
      }
    },
    {
      "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": [
            "userGroup"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "userGroup"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 500
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Include Count",
          "name": "include_count",
          "type": "boolean",
          "default": true,
          "description": "Whether to include the number of users in each User Group"
        },
        {
          "displayName": "Include Disabled",
          "name": "include_disabled",
          "type": "boolean",
          "default": true,
          "description": "Whether to include disabled User Groups"
        },
        {
          "displayName": "Include Users",
          "name": "include_users",
          "type": "boolean",
          "default": true,
          "description": "Whether to include the list of users for each User Group"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "userGroup"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "User Group ID",
      "name": "userGroupId",
      "type": "string",
      "default": "",
      "description": "The encoded ID of the User Group to update",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "update"
          ],
          "resource": [
            "userGroup"
          ]
        }
      }
    },
    {
      "displayName": "Update Fields",
      "name": "updateFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Channel Names or IDs",
          "name": "channels",
          "type": "multiOptions",
          "typeOptions": {
            "loadOptionsMethod": "getChannels"
          },
          "default": [],
          "description": "A comma-separated string of encoded channel IDs for which the User Group uses as a default. Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        },
        {
          "displayName": "Description",
          "name": "description",
          "type": "string",
          "default": "",
          "description": "A short description of the User Group"
        },
        {
          "displayName": "Handle",
          "name": "handle",
          "type": "string",
          "default": "",
          "description": "A mention handle. Must be unique among channels, users and User Groups."
        },
        {
          "displayName": "Include Count",
          "name": "include_count",
          "type": "boolean",
          "default": true,
          "description": "Whether to include the number of users in each User Group"
        },
        {
          "displayName": "Name",
          "name": "name",
          "type": "string",
          "default": "",
          "description": "A name for the User Group. Must be unique among User Groups."
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "userGroup"
          ],
          "operation": [
            "update"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "archive",
      "name": "Archive",
      "description": "Archives a conversation"
    },
    {
      "operation": "close",
      "name": "Close",
      "description": "Closes a direct message or multi-person direct message"
    },
    {
      "operation": "create",
      "name": "Create",
      "description": "Initiates a public or private channel-based conversation"
    },
    {
      "operation": "get",
      "name": "Get",
      "description": "Get information about a channel"
    },
    {
      "operation": "getAll",
      "name": "Get Many",
      "description": "Get many channels in a Slack team"
    },
    {
      "operation": "history",
      "name": "History",
      "description": "Get a conversation's history of messages and events"
    },
    {
      "operation": "invite",
      "name": "Invite",
      "description": "Invite a user to a channel"
    },
    {
      "operation": "join",
      "name": "Join",
      "description": "Joins an existing conversation"
    },
    {
      "operation": "kick",
      "name": "Kick",
      "description": "Removes a user from a channel"
    },
    {
      "operation": "leave",
      "name": "Leave",
      "description": "Leaves a conversation"
    },
    {
      "operation": "member",
      "name": "Member",
      "description": "List members of a conversation"
    },
    {
      "operation": "open",
      "name": "Open",
      "description": "Opens or resumes a direct message or multi-person direct message"
    },
    {
      "operation": "rename",
      "name": "Rename",
      "description": "Renames a conversation"
    },
    {
      "operation": "replies",
      "name": "Replies",
      "description": "Get a thread of messages posted to a channel"
    },
    {
      "operation": "setPurpose",
      "name": "Set Purpose",
      "description": "Sets the purpose for a conversation"
    },
    {
      "operation": "setTopic",
      "name": "Set Topic",
      "description": "Sets the topic for a conversation"
    },
    {
      "operation": "unarchive",
      "name": "Unarchive",
      "description": "Unarchives a conversation"
    }
  ]

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


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

outputs:
  [
  "main"
  ]

updated_at: 2025-11-25 17:45:48
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Slack Trigger node documentation
  description: Learn how to use the Slack Trigger node in n8n. Follow technical documentation to integrate Slack Trigger node into your workflows.
  contentType: [integration, reference]
  priority: medium
  ---

  # Slack Trigger node

  Use the Slack Trigger node to respond to events in [Slack](https://slack.com/){:target=_blank .external-link} and integrate Slack with other applications. n8n has built-in support for a wide range of Slack events, including new messages, reactions, and new channels.

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

  ///  note  | Credentials
  You can find authentication information for this node [here](/integrations/builtin/credentials/slack.md).
  ///
  ///  note  | Examples and templates
  For usage examples and templates to help you get started, refer to n8n's [Slack integrations](https://n8n.io/integrations/slack-trigger/){:target=_blank .external-link} page.
  ///

  ## Events

  * **Any Event**: The node triggers on any event in Slack.
  * **Bot / App Mention**: The node triggers when your bot or app is [mentioned](https://slack.com/help/articles/205240127-Use-mentions-in-Slack){:target=_blank .external-link} in a channel the app is in.
  * **File Made Public**: The node triggers when a file is [made public](https://slack.com/help/articles/4412651915539-Manage-public-file-sharing){:target=_blank .external-link}.
  * **File Shared**: The node triggers when a file is [shared](https://slack.com/help/articles/201330736-Add-files-to-Slack){:target=_blank .external-link} in a channel the app is in.
  * **New Message Posted to Channel**: The node triggers when a new message is posted to a channel the app is in.
  * **New Public Channel Created**: The node triggers when a new [public channel](https://slack.com/help/articles/360017938993-What-is-a-channel){:target=_blank .external-link} is created.
  * **New User**: The node triggers when a new user is added to Slack.
  * **Reaction Added**: The node triggers when a [reaction](https://slack.com/help/articles/202931348-Use-emoji-and-reactions){:target=_blank .external-link} is added to a message the app is added to.

  ## Parameters

  Once you've set the events to trigger on, use the remaining parameters to further define the node's behavior:

  * **Watch Whole Workspace**: Whether the node should watch for the selected **Events** in all channels in the workspace (turned on) or not (turned off, default).

      ///warning | Caution
      This will use one execution for every event in any channel your bot or app is in. Use with caution!
      ///

  * **Channel to Watch**: Select the channel your node should watch for the selected **Events**. This parameter only appears if you don't turn on **Watch Whole Workspace**. You can select a channel:
      * **From list**: The node uses your credential to look up a list of channels in the workspace so you can select the channel you want.
      * **By ID**: Enter the ID of a channel you want to watch. Slack displays the channel ID at the bottom of the channel details with a one-click copy button.
      * **By URL**: Enter the URL of the channel you want to watch, formatted as `https://app.slack.com/client/<channel-address>`.
  * **Download Files**: Whether to download files and use them in the node's output (turned on) or not (turned off, default). Use this parameter with the **File Made Public** and **File Shared** events.

  ## Options

  You can further refine the node's behavior when you **Add Option**s:

  * **Resolve IDs**: Whether to resolve the IDs to their respective names and return them (turned on) or not (turned off, default).
  * **Usernames or IDs to ignore**: Select usernames or enter a comma-separated string of encoded user IDs to ignore events from. Choose from the list, or specify IDs using an [expression](/code/expressions.md).

  ## Related resources

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

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

  Refer to [Slack's documentation](https://api.slack.com/apis/connections/events-api){:target=_blank .external-link} for details about their API.

  ## Required scopes

  To use this node, you need to create an application in Slack and enable event subscriptions. Refer to [Slack credentials | Slack Trigger configuration](/integrations/builtin/credentials/slack.md#slack-trigger-configuration) for more information.

  You must add the appropriate scopes to your Slack app for this trigger node to work.

  The node requires scopes for the [conversations.list](https://api.slack.com/methods/conversations.list){:target=blank .external-link} and [users.list](https://api.slack.com/methods/users.list){:target=blank .external-link} methods at minimum. Check out the [Scopes | Slack credentials](/integrations/builtin/credentials/slack.md#scopes) list for a more complete list of scopes.

  ## Common issues

  Here are some common errors and issues with the Slack Trigger node and steps to resolve or troubleshoot them.

  ### Workflow only works in testing or production

  Slack only allows you to register a single webhook per app. This means that you can't switch from using the testing URL to the production URL (and vice versa) without reconfiguring the registered webhook URL. 

  You may have trouble with this if you try to test a workflow that's also active in production. Slack will only send events to one of the two webhook URLs, so the other will never receive event notifications.

  To work around this, you can disable your workflow when testing:

  /// warning | Halts production traffic
  This temporarily disables your production workflow for testing. Your workflow will no longer receive production traffic while it's deactivated.
  ///

  1. Go to your workflow page.
  2. Toggle the **Active** switch in the top panel to disable the workflow temporarily.
  3. Edit the **Request URL** in your the [Slack Trigger configuration](/integrations/builtin/credentials/slack.md#slack-trigger-configuration) to use the testing webhook URL instead of the production webhook URL.
  4. Test your workflow using the test webhook URL.
  5. When you finish testing, edit the **Request URL** in your the [Slack Trigger configuration](/integrations/builtin/credentials/slack.md#slack-trigger-configuration) to use the production webhook URL instead of the testing webhook URL.
  6. Toggle the **Inactive** toggle to enable the workflow again. The production webhook URL should resume working.

  ### Token expired

  --8<-- "_snippets/integrations/builtin/credentials/slack/token-rotation.md"

properties_schema:
  [
    {
      "displayName": "Authentication",
      "name": "authentication",
      "type": "hidden",
      "default": "accessToken"
    },
    {
      "displayName": "Set up a webhook in your Slack app to enable this node. <a href=\"https://docs.n8n.io/integrations/builtin/trigger-nodes/n8n-nodes-base.slacktrigger/#configure-a-webhook-in-slack\" target=\"_blank\">More info</a>. We also recommend setting up a <a href=\"https://docs.n8n.io/integrations/builtin/trigger-nodes/n8n-nodes-base.slacktrigger/#verify-the-webhook\" target=\"_blank\">signing secret</a> to ensure the authenticity of requests.",
      "name": "notice",
      "type": "notice",
      "default": ""
    },
    {
      "displayName": "Trigger On",
      "name": "trigger",
      "type": "multiOptions",
      "default": [],
      "options": [
        {
          "name": "Any Event",
          "value": "any_event",
          "description": "Triggers on any event"
        },
        {
          "name": "Bot / App Mention",
          "value": "app_mention",
          "description": "When your bot or app is mentioned in a channel the app is added to"
        },
        {
          "name": "File Made Public",
          "value": "file_public",
          "description": "When a file is made public"
        },
        {
          "name": "File Shared",
          "value": "file_share",
          "description": "When a file is shared in a channel the app is added to"
        },
        {
          "name": "New Message Posted to Channel",
          "value": "message",
          "description": "When a message is posted to a channel the app is added to"
        },
        {
          "name": "New Public Channel Created",
          "value": "channel_created",
          "description": "When a new public channel is created"
        },
        {
          "name": "New User",
          "value": "team_join",
          "description": "When a new user is added to Slack"
        },
        {
          "name": "Reaction Added",
          "value": "reaction_added",
          "description": "When a reaction is added to a message the app is added to"
        }
      ]
    },
    {
      "displayName": "Watch Whole Workspace",
      "name": "watchWorkspace",
      "type": "boolean",
      "default": false,
      "description": "Whether to watch for the event in the whole workspace, rather than a specific channel",
      "displayOptions": {
        "show": {
          "trigger": [
            "any_event",
            "message",
            "reaction_added",
            "file_share",
            "app_mention"
          ]
        }
      }
    },
    {
      "displayName": "This will use one execution for every event in any channel your bot is in, use with caution",
      "name": "notice",
      "type": "notice",
      "default": "",
      "displayOptions": {
        "show": {
          "trigger": [
            "any_event",
            "message",
            "reaction_added",
            "file_share",
            "app_mention"
          ],
          "watchWorkspace": [
            true
          ]
        }
      }
    },
    {
      "displayName": "Channel to Watch",
      "name": "channelId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "The Slack channel to listen to events from. Applies to events: Bot/App mention, File Shared, New Message Posted on Channel, Reaction Added.",
      "required": true,
      "displayOptions": {
        "show": {
          "watchWorkspace": [
            false
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "placeholder": "Select a channel...",
          "typeOptions": {
            "searchListMethod": "getChannels",
            "searchable": true
          }
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[a-zA-Z0-9]{2,}",
                "errorMessage": "Not a valid Slack Channel ID"
              }
            }
          ],
          "placeholder": "C0122KQ70S7E"
        },
        {
          "displayName": "By URL",
          "name": "url",
          "type": "string",
          "placeholder": "https://app.slack.com/client/TS9594PZK/B0556F47Z3A",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "http(s)?://app.slack.com/client/.*/([a-zA-Z0-9]{2,})",
                "errorMessage": "Not a valid Slack Channel URL"
              }
            }
          ],
          "extractValue": {
            "type": "regex",
            "regex": "https://app.slack.com/client/.*/([a-zA-Z0-9]{2,})"
          }
        }
      ]
    },
    {
      "displayName": "Download Files",
      "name": "downloadFiles",
      "type": "boolean",
      "default": false,
      "description": "Whether to download the files and add it to the output",
      "displayOptions": {
        "show": {
          "trigger": [
            "any_event",
            "file_share"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Resolve IDs",
          "name": "resolveIds",
          "type": "boolean",
          "default": false,
          "description": "Whether to resolve the IDs to their respective names and return them"
        },
        {
          "displayName": "Usernames or IDs to Ignore",
          "name": "userIds",
          "type": "multiOptions",
          "typeOptions": {
            "loadOptionsMethod": "getUsers"
          },
          "default": [],
          "description": "A comma-separated string of encoded user IDs. Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        }
      ]
    }
  ]


node_type: nodes-base.sms77
package_name: n8n-nodes-base
display_name: seven
description: Send SMS and make text-to-speech calls
category: transform
development_style: programmatic
version: 1
operations:
  [
  {
  "operation": "send",
  "name": "Send",
  "description": "Send SMS"
  }
  ]

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

outputs:
  [
  "main"
  ]

updated_at: 2025-11-25 17:45:48
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: seven node documentation
  description: Learn how to use the seven node in n8n. Follow technical documentation to integrate seven node into your workflows.
  contentType: [integration, reference]
  ---

  # seven node

  Use the seven node to automate work in seven, and integrate seven with other applications. n8n has built-in support for a wide range of seven features, including sending SMS, and converting text to voice. 

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

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

  ## Operations

  * SMS
      * Send SMS
  * Voice Call
      * Converts text to voice and calls a given number

  ## Templates and examples

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

properties_schema:
  [
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "sms",
      "options": [
        {
          "name": "SMS",
          "value": "sms"
        },
        {
          "name": "Voice Call",
          "value": "voice"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "send",
      "options": [
        {
          "name": "Send",
          "value": "send",
          "description": "Send SMS",
          "action": "Send an SMS"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "sms"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "send",
      "options": [
        {
          "name": "Send",
          "value": "send",
          "description": "Converts text to voice and calls a given number",
          "action": "Convert text to voice"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "voice"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "From",
      "name": "from",
      "type": "string",
      "default": "",
      "description": "The caller ID displayed in the receivers display. Max 16 numeric or 11 alphanumeric characters.",
      "displayOptions": {
        "show": {
          "operation": [
            "send"
          ],
          "resource": [
            "sms"
          ]
        }
      }
    },
    {
      "displayName": "To",
      "name": "to",
      "type": "string",
      "default": "",
      "description": "The number of your recipient(s) separated by comma. Can be regular numbers or contact/groups from seven.",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "send"
          ],
          "resource": [
            "sms",
            "voice"
          ]
        }
      }
    },
    {
      "displayName": "Message",
      "name": "message",
      "type": "string",
      "default": "",
      "description": "The message to send. Max. 1520 characters",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "send"
          ],
          "resource": [
            "sms",
            "voice"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Delay",
          "name": "delay",
          "type": "dateTime",
          "default": "",
          "description": "Pick a date for time delayed dispatch"
        },
        {
          "displayName": "Foreign ID",
          "name": "foreign_id",
          "type": "string",
          "default": "",
          "placeholder": "MyCustomForeignID",
          "description": "Custom foreign ID returned in DLR callbacks"
        },
        {
          "displayName": "Flash",
          "name": "flash",
          "type": "boolean",
          "default": false,
          "description": "Send as flash message being displayed directly the receiver's display"
        },
        {
          "displayName": "Label",
          "name": "label",
          "type": "string",
          "default": "",
          "placeholder": "MyCustomLabel",
          "description": "Custom label used to group analytics"
        },
        {
          "displayName": "Performance Tracking",
          "name": "performance_tracking",
          "type": "boolean",
          "default": false,
          "description": "Whether to enable performance tracking for URLs found in the message text"
        },
        {
          "displayName": "TTL",
          "name": "ttl",
          "type": "number",
          "default": 2880,
          "typeOptions": {
            "minValue": 1
          },
          "description": "Custom time to live specifying the validity period of a message in minutes"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "send"
          ],
          "resource": [
            "sms"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "From",
          "name": "from",
          "type": "string",
          "default": "",
          "placeholder": "+4901234567890",
          "description": "The caller ID. Please use only verified sender IDs, one of your virtual inbound numbers or one of our shared virtual numbers."
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "send"
          ],
          "resource": [
            "voice"
          ]
        }
      }
    }
  ]


node_type: nodes-base.snowflake
package_name: n8n-nodes-base
display_name: Snowflake
description: Get, add and update data in Snowflake
category: input
development_style: programmatic
version: 1
credentials_required:
  [
  {
  "name": "snowflake",
  "required": true
  }
  ]

outputs:
  [
  "main"
  ]

updated_at: 2025-11-25 17:45:48
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Snowflake node documentation
  description: Learn how to use the Snowflake node in n8n. Follow technical documentation to integrate Snowflake node into your workflows.
  contentType: [integration, reference]
  ---

  # Snowflake node

  Use the Snowflake node to automate work in Snowflake, and integrate Snowflake with other applications. n8n has built-in support for a wide range of Snowflake features, including executing SQL queries, and inserting rows in a database. 

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

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

  ## Operations

  * Execute an SQL query.
  * Insert rows in database.
  * Update rows in database.

  ## Templates and examples

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

properties_schema:
  [
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "insert",
      "options": [
        {
          "name": "Execute Query",
          "value": "executeQuery",
          "description": "Execute an SQL query",
          "action": "Execute a SQL query"
        },
        {
          "name": "Insert",
          "value": "insert",
          "description": "Insert rows in database",
          "action": "Insert rows in database"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update rows in database",
          "action": "Update rows in database"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Query",
      "name": "query",
      "type": "string",
      "default": "",
      "description": "The SQL query to execute",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "executeQuery"
          ]
        }
      },
      "typeOptions": {
        "editor": "sqlEditor"
      },
      "noDataExpression": true
    },
    {
      "displayName": "Table",
      "name": "table",
      "type": "string",
      "default": "",
      "description": "Name of the table in which to insert data to",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "insert"
          ]
        }
      }
    },
    {
      "displayName": "Columns",
      "name": "columns",
      "type": "string",
      "default": "",
      "description": "Comma-separated list of the properties which should used as columns for the new rows",
      "displayOptions": {
        "show": {
          "operation": [
            "insert"
          ]
        }
      }
    },
    {
      "displayName": "Table",
      "name": "table",
      "type": "string",
      "default": "",
      "description": "Name of the table in which to update data in",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Update Key",
      "name": "updateKey",
      "type": "string",
      "default": "id",
      "description": "Name of the property which decides which rows in the database should be updated. Normally that would be \"id\".",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Columns",
      "name": "columns",
      "type": "string",
      "default": "",
      "description": "Comma-separated list of the properties which should used as columns for rows to update",
      "displayOptions": {
        "show": {
          "operation": [
            "update"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "executeQuery",
      "name": "Execute Query",
      "description": "Execute an SQL query"
    },
    {
      "operation": "insert",
      "name": "Insert",
      "description": "Insert rows in database"
    },
    {
      "operation": "update",
      "name": "Update",
      "description": "Update rows in database"
    }
  ]


node_type: nodes-base.splitInBatches
package_name: n8n-nodes-base
display_name: Split In Batches
description: Split data into batches and iterate over each batch
category: organization
development_style: programmatic
version: 3
operations: []
credentials_required: []
outputs:
  [
  "main",
  "main"
  ]

output_names:
  [
  "done",
  "loop"
  ]

updated_at: 2025-11-25 17:45:48
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Loop Over Items (Split in Batches)
  description: Documentation for the Loop Over Items node in n8n, a workflow automation platform. Includes guidance on usage, and links to examples.
  contentType: [integration, reference]
  priority: critical
  ---

  # Loop Over Items

  The Loop Over Items node helps you loop through data when needed.

  The node saves the original incoming data, and with each iteration, returns a predefined amount of data through the **loop** output.

  When the node execution completes, it combines all of the processed data and returns it through the **done** output.



  ## CRITICAL OUTPUT CONNECTION INFORMATION

  **⚠️ OUTPUT INDICES ARE COUNTERINTUITIVE ⚠️**

  The SplitInBatches node has TWO outputs with specific indices:
  - **Output 0 (index 0) = "done"**: Receives final processed data when loop completes
  - **Output 1 (index 1) = "loop"**: Receives current batch data during iteration

  ### Correct Connection Pattern:
  1. Connect nodes that PROCESS items inside the loop to **Output 1 ("loop")**
  2. Connect nodes that run AFTER the loop completes to **Output 0 ("done")**
  3. The last processing node in the loop must connect back to the SplitInBatches node

  ### Common Mistake:
  AI assistants often connect these backwards because the logical flow (loop first, then done) doesn't match the technical indices (done=0, loop=1).

  ## When to use the Loop Over Items node

  By default, n8n nodes are designed to process a list of input items (with some exceptions, detailed below). Depending on what you're trying to achieve, you often don't need the Loop Over Items node in your workflow. You can learn more about how n8n processes multiple items on the [looping in n8n](/flow-logic/looping.md) page.

  These links highlight some of the cases where the Loop Over Items node can be useful:

  * [Loop until all items are processed](/flow-logic/looping.md#loop-until-all-items-are-processed): describes how the Loop Over Items node differs from normal item processing and when you might want to incorporate this node.
  * [Node exceptions](/flow-logic/looping.md#node-exceptions): outlines specific cases and nodes where you may need to use the Loop Over Items node to manually build looping logic.
  * [Avoiding rate limiting](/integrations/builtin/rate-limits.md): demonstrates how to batch API requests to avoid rate limits from other services.

  ## Node parameters

  ### Batch Size

  Enter the number of items to return with each call.

  ## Node options

  ### Reset

  If turned on, the node will reset with the current input-data newly initialized with each loop. Use this when you want the Loop Over Items node to treat incoming data as a new set of data instead of a continuation of previous items.

  For example, you can use the Loop Over Items node with the reset option and an [If node](/integrations/builtin/core-nodes/n8n-nodes-base.if.md) to query a paginated service when you don't know how many pages you need in advance. The loop queries pages one at a time, performs any processing, and increments the page number. The loop reset ensures the loop recognizes each iteration as a new set of data. The If node evaluates an exit condition to decide whether to perform another iteration or not.

  /// warning | Include a valid termination condition
  For workflows like the example described above, it's critical to include a valid termination condition for the loop. If your termination condition never matches, your workflow execution will get stuck in an infinite loop.
  ///

  When enabled, you can adjust the reset conditions by switching the parameter representation from **Fixed** to **Expression**. The results of your expression evaluation determine when the node will reset item processing.

  ## Templates and examples

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

  ### Read RSS feed from two different sources

  This workflow allows you to read an RSS feed from two different sources using the Loop Over Items node. You need the Loop Over Items node in the workflow as the RSS Feed Read node only processes the first item it receives. You can also find the [workflow](https://n8n.io/workflows/687-read-rss-feed-from-two-different-sources/){:target=_blank .external-link} on n8n.io.

  The example walks through building the workflow, but assumes you are already familiar with n8n. To build your first workflow, including learning how to add nodes to a workflow, refer to [Try it out](/try-it-out/index.md).

  The final workflow looks like this:

  [[ workflowDemo("file:///integrations/builtin/core-nodes/n8n-nodes-base.splitinbatches/rss-feed-example.json") ]]

  Copy the workflow file above and paste into your instance, or manually build it by following these steps:

  1. Add the manual trigger.
  2. Add the Code node.
  3. Copy this code into the Code node:
  	```js
  	return [
  		{
  			json: {
  				url: 'https://medium.com/feed/n8n-io',
  			}
  		},
  		{
  			json: {
  				url: 'https://dev.to/feed/n8n',
  			}
  		}
  	];
  	```
  4. Add the Loop Over Items node.
  5. Configure Loop Over Items: set the batch size to `1` in the **Batch Size** field.
  6. Add the RSS Feed Read node.
  7. Select **Test Workflow**. This runs the workflow to load data into the RSS Feed Read node.
  8. Configure RSS Feed Read: map `url` from the input to the **URL** field. You can do this by dragging and dropping from the **INPUT** panel, or using this expression: `{{ $json.url }}`.
  9. Select **Test Workflow** to run the workflow and see the resulting data.

  ### Check that the node has processed all items

  To check if the node still has items to process, use the following expression: `{{$node["Loop Over Items"].context["noItemsLeft"]}}`. This expression returns a boolean value. If the node still has data to process, the expression returns `false`, otherwise it returns `true`.

  ### Get the current running index of the node

  To get the current running index of the node, use the following expression: `{{$node["Loop Over Items"].context["currentRunIndex"];}}`.

properties_schema:
  [
    {
      "displayName": "You may not need this node — n8n nodes automatically run once for each input item. <a href=\"https://docs.n8n.io/getting-started/key-concepts/looping.html#using-loops-in-n8n\" target=\"_blank\">More info</a>",
      "name": "splitInBatchesNotice",
      "type": "notice",
      "default": ""
    },
    {
      "displayName": "Batch Size",
      "name": "batchSize",
      "type": "number",
      "default": 1,
      "description": "The number of items to return with each call",
      "typeOptions": {
        "minValue": 1
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Reset",
          "name": "reset",
          "type": "boolean",
          "default": false,
          "description": "Whether the node starts again from the beginning of the input items. This will treat incoming data as a new set rather than continuing with the previous items."
        }
      ]
    }
  ]


node_type: nodes-base.splunk
package_name: n8n-nodes-base
display_name: Splunk
description: Consume the Splunk Enterprise API
category: transform
development_style: programmatic
version: 2
credentials_required:
  [
  {
  "name": "splunkApi",
  "required": true
  }
  ]

outputs:
  [
  "main"
  ]

updated_at: 2025-11-25 17:45:48
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Splunk node documentation
  description: Learn how to use the Splunk node in n8n. Follow technical documentation to integrate Splunk node into your workflows.
  contentType: [integration, reference]
  ---

  # Splunk node

  Use the Splunk node to automate work in Splunk, and integrate Splunk with other applications. n8n has built-in support for a wide range of Splunk features, including getting fired alerts reports, as well as deleting and getting search configuration. 

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

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

  ## Operations

  * Fired Alert
      * Get a fired alerts report
  * Search Configuration
      * Delete a search configuration
      * Get a search configuration
      * Get many search configurations
  * Search Job
      * Create a search job
      * Delete a search job
      * Get a search job
      * Get many search jobs
  * Search Result
      * Get many search results
  * User
      * Create a user
      * Delete a user
      * Get a user
      * Get many users
      * Update a user

  ## Templates and examples

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

properties_schema:
  [
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Alert",
          "value": "alert"
        },
        {
          "name": "Report",
          "value": "report"
        },
        {
          "name": "Search",
          "value": "search"
        },
        {
          "name": "User",
          "value": "user"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "getReport",
      "options": [
        {
          "name": "Get Fired Alerts",
          "value": "getReport",
          "description": "Retrieve a fired alerts report",
          "action": "Get a fired alerts report"
        },
        {
          "name": "Get Metrics",
          "value": "getMetrics",
          "description": "Retrieve metrics",
          "action": "Get metrics"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "alert"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Create From Search",
          "value": "create",
          "description": "Create a search report from a search job",
          "action": "Create a search report"
        },
        {
          "name": "Delete",
          "value": "deleteReport",
          "description": "Delete a search report",
          "action": "Delete a search report"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Retrieve a search report",
          "action": "Get a search report"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Retrieve many search reports",
          "action": "Get many search reports"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "report"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Search Job",
      "name": "searchJobId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "report"
          ],
          "operation": [
            "create"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "placeholder": "Select a search job...",
          "typeOptions": {
            "searchListMethod": "searchJobs",
            "searchable": true
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. 1718944376.178"
        }
      ]
    },
    {
      "displayName": "Name",
      "name": "name",
      "type": "string",
      "default": "",
      "description": "The name of the report",
      "displayOptions": {
        "show": {
          "resource": [
            "report"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Report",
      "name": "reportId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "report"
          ],
          "operation": [
            "deleteReport"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "placeholder": "Select a report...",
          "typeOptions": {
            "searchListMethod": "searchReports",
            "searchable": true
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. Errors%20in%20the%20last%20hour"
        }
      ]
    },
    {
      "displayName": "Report",
      "name": "reportId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "report"
          ],
          "operation": [
            "get"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "placeholder": "Select a report...",
          "typeOptions": {
            "searchListMethod": "searchReports",
            "searchable": true
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. Errors%20in%20the%20last%20hour"
        }
      ]
    },
    {
      "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": [
            "report"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "returnAll": [
            false
          ],
          "resource": [
            "report"
          ],
          "operation": [
            "getAll"
          ]
        }
      },
      "typeOptions": {
        "minValue": 1
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Add Orphan Field",
          "name": "add_orphan_field",
          "description": "Whether to include a boolean value for each saved search to show whether the search is orphaned, meaning that it has no valid owner",
          "type": "boolean",
          "default": false
        },
        {
          "displayName": "List Default Actions",
          "name": "listDefaultActionArgs",
          "type": "boolean",
          "default": false
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "report"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a search job",
          "action": "Create a search job"
        },
        {
          "name": "Delete",
          "value": "deleteJob",
          "description": "Delete a search job",
          "action": "Delete a search job"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Retrieve a search job",
          "action": "Get a search job"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Retrieve many search jobs",
          "action": "Get many search jobs"
        },
        {
          "name": "Get Result",
          "value": "getResult",
          "description": "Get the result of a search job",
          "action": "Get the result of a search job"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "search"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Query",
      "name": "search",
      "type": "string",
      "default": "",
      "description": "Search language string to execute, in Splunk's <a href=\"https://docs.splunk.com/Documentation/Splunk/latest/SearchReference/WhatsInThisManual\">Search Processing Language</a>",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "search"
          ],
          "operation": [
            "create"
          ]
        }
      },
      "typeOptions": {
        "rows": 2
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Ad Hoc Search Level",
          "name": "adhoc_search_level",
          "type": "options",
          "default": "verbose",
          "options": [
            {
              "name": "Fast",
              "value": "fast"
            },
            {
              "name": "Smart",
              "value": "smart"
            },
            {
              "name": "Verbose",
              "value": "verbose"
            }
          ]
        },
        {
          "displayName": "Auto-Cancel After (Seconds)",
          "name": "auto_cancel",
          "type": "number",
          "default": 0,
          "description": "Seconds after which the search job automatically cancels"
        },
        {
          "displayName": "Auto-Finalize After (Num Events)",
          "name": "auto_finalize_ec",
          "type": "number",
          "default": 0,
          "description": "Auto-finalize the search after at least this many events are processed"
        },
        {
          "displayName": "Auto Pause After (Seconds)",
          "name": "auto_pause",
          "type": "number",
          "default": 0,
          "description": "Seconds of inactivity after which the search job automatically pauses"
        },
        {
          "displayName": "Earliest Index",
          "name": "index_earliest",
          "type": "dateTime",
          "default": "",
          "description": "The earliest index time for the search (inclusive)"
        },
        {
          "displayName": "Earliest Time",
          "name": "earliest_time",
          "type": "dateTime",
          "default": "",
          "description": "The earliest cut-off for the search (inclusive)"
        },
        {
          "displayName": "Exec Mode",
          "name": "exec_mode",
          "type": "options",
          "default": "blocking",
          "options": [
            {
              "name": "Blocking",
              "value": "blocking"
            },
            {
              "name": "Normal",
              "value": "normal"
            },
            {
              "name": "One Shot",
              "value": "oneshot"
            }
          ]
        },
        {
          "displayName": "Indexed Real Time Offset",
          "name": "indexedRealtimeOffset",
          "type": "number",
          "default": 0,
          "description": "Seconds of disk sync delay for indexed real-time search"
        },
        {
          "displayName": "Latest Index",
          "name": "index_latest",
          "type": "dateTime",
          "default": "",
          "description": "The latest index time for the search (inclusive)"
        },
        {
          "displayName": "Latest Time",
          "name": "latest_time",
          "type": "dateTime",
          "default": "",
          "description": "The latest cut-off for the search (inclusive)"
        },
        {
          "displayName": "Max Time",
          "name": "max_time",
          "type": "number",
          "default": 0,
          "description": "Number of seconds to run this search before finalizing. Enter <code>0</code> to never finalize."
        },
        {
          "displayName": "Namespace",
          "name": "namespace",
          "type": "string",
          "default": "",
          "description": "Application namespace in which to restrict searches"
        },
        {
          "displayName": "Reduce Frequency",
          "name": "reduce_freq",
          "type": "number",
          "default": 0,
          "description": "How frequently to run the MapReduce reduce phase on accumulated map values"
        },
        {
          "displayName": "Remote Server List",
          "name": "remote_server_list",
          "type": "string",
          "default": "",
          "description": "Comma-separated list of (possibly wildcarded) servers from which raw events should be pulled. This same server list is to be used in subsearches."
        },
        {
          "displayName": "Reuse Limit (Seconds)",
          "name": "reuse_max_seconds_ago",
          "type": "number",
          "default": 0,
          "description": "Number of seconds ago to check when an identical search is started and return the job’s search ID instead of starting a new job"
        },
        {
          "displayName": "Required Field",
          "name": "rf",
          "type": "string",
          "default": "",
          "description": "Name of a required field to add to the search. Even if not referenced or used directly by the search, a required field is still included in events and summary endpoints."
        },
        {
          "displayName": "Search Mode",
          "name": "search_mode",
          "type": "options",
          "default": "normal",
          "options": [
            {
              "name": "Normal",
              "value": "normal"
            },
            {
              "name": "Real Time",
              "value": "realtime"
            }
          ]
        },
        {
          "displayName": "Status Buckets",
          "name": "status_buckets",
          "type": "number",
          "default": 0,
          "description": "The most status buckets to generate. Set <code>0</code> generate no timeline information."
        },
        {
          "displayName": "Timeout",
          "name": "timeout",
          "type": "number",
          "default": 86400,
          "description": "Number of seconds to keep this search after processing has stopped"
        },
        {
          "displayName": "Workload Pool",
          "name": "workload_pool",
          "type": "string",
          "default": "",
          "description": "New workload pool where the existing running search should be placed"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "search"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Search Job",
      "name": "searchJobId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "search"
          ],
          "operation": [
            "deleteJob"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "placeholder": "Select a search job...",
          "typeOptions": {
            "searchListMethod": "searchJobs",
            "searchable": true
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. 1718944376.178"
        }
      ]
    },
    {
      "displayName": "Search Job",
      "name": "searchJobId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "search"
          ],
          "operation": [
            "get"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "placeholder": "Select a search job...",
          "typeOptions": {
            "searchListMethod": "searchJobs",
            "searchable": true
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. 1718944376.178"
        }
      ]
    },
    {
      "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": [
            "search"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "returnAll": [
            false
          ],
          "resource": [
            "search"
          ],
          "operation": [
            "getAll"
          ]
        }
      },
      "typeOptions": {
        "minValue": 1
      }
    },
    {
      "displayName": "Sort",
      "name": "sort",
      "type": "fixedCollection",
      "default": {},
      "options": [
        {
          "displayName": "Values",
          "name": "values",
          "values": [
            {
              "displayName": "Sort Direction",
              "name": "sort_dir",
              "type": "options",
              "options": [
                {
                  "name": "Ascending",
                  "value": "asc"
                },
                {
                  "name": "Descending",
                  "value": "desc"
                }
              ],
              "default": "asc"
            },
            {
              "displayName": "Sort Key",
              "name": "sort_key",
              "description": "Key name to use for sorting",
              "type": "string",
              "placeholder": "e.g. diskUsage",
              "default": ""
            },
            {
              "displayName": "Sort Mode",
              "name": "sort_mode",
              "type": "options",
              "options": [
                {
                  "name": "Automatic",
                  "value": "auto",
                  "description": "If all field values are numeric, collate numerically. Otherwise, collate alphabetically."
                },
                {
                  "name": "Alphabetic",
                  "value": "alpha",
                  "description": "Collate alphabetically, case-insensitive"
                },
                {
                  "name": "Alphabetic and Case-Sensitive",
                  "value": "alpha_case",
                  "description": "Collate alphabetically, case-sensitive"
                },
                {
                  "name": "Numeric",
                  "value": "num",
                  "description": "Collate numerically"
                }
              ],
              "default": "auto"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "search"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Search Job",
      "name": "searchJobId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "search"
          ],
          "operation": [
            "getResult"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "placeholder": "Select a search job...",
          "typeOptions": {
            "searchListMethod": "searchJobs",
            "searchable": true
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. 1718944376.178"
        }
      ]
    },
    {
      "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": [
            "search"
          ],
          "operation": [
            "getResult"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "returnAll": [
            false
          ],
          "resource": [
            "search"
          ],
          "operation": [
            "getResult"
          ]
        }
      },
      "typeOptions": {
        "minValue": 1
      }
    },
    {
      "displayName": "Filters",
      "name": "filters",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Key-Value Match",
          "name": "keyValueMatch",
          "description": "Key-value pair to match against. Example: if \"Key\" is set to <code>user</code> and \"Field\" is set to <code>john</code>, only the results where <code>user</code> is <code>john</code> will be returned.",
          "type": "fixedCollection",
          "default": {},
          "placeholder": "Add Key-Value Pair",
          "options": [
            {
              "displayName": "Key-Value Pair",
              "name": "keyValuePair",
              "values": [
                {
                  "displayName": "Key",
                  "name": "key",
                  "description": "Key to match against",
                  "type": "string",
                  "default": ""
                },
                {
                  "displayName": "Value",
                  "name": "value",
                  "description": "Value to match against",
                  "type": "string",
                  "default": ""
                }
              ]
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "search"
          ],
          "operation": [
            "getResult"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Add Summary to Metadata",
          "name": "add_summary_to_metadata",
          "description": "Whether to include field summary statistics in the response",
          "type": "boolean",
          "default": false
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "search"
          ],
          "operation": [
            "getResult"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create an user",
          "action": "Create a user"
        },
        {
          "name": "Delete",
          "value": "deleteUser",
          "description": "Delete an user",
          "action": "Delete a user"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Retrieve an user",
          "action": "Get a user"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Retrieve many users",
          "action": "Get many users"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update an user",
          "action": "Update a user"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Name",
      "name": "name",
      "type": "string",
      "default": "",
      "description": "Login name of the user",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Roles",
      "name": "roles",
      "type": "multiOptions",
      "default": [
        "user"
      ],
      "description": "Comma-separated list of roles to assign to the user. Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "create"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getRoles"
      }
    },
    {
      "displayName": "Password",
      "name": "password",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "create"
          ]
        }
      },
      "typeOptions": {
        "password": true
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Email",
          "name": "email",
          "type": "string",
          "placeholder": "name@email.com",
          "default": ""
        },
        {
          "displayName": "Full Name",
          "name": "realname",
          "type": "string",
          "default": "",
          "description": "Full name of the user"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "User",
      "name": "userId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "deleteUser"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "placeholder": "Select a user...",
          "typeOptions": {
            "searchListMethod": "searchUsers",
            "searchable": true
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. admin"
        }
      ]
    },
    {
      "displayName": "User",
      "name": "userId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "get"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "placeholder": "Select a user...",
          "typeOptions": {
            "searchListMethod": "searchUsers",
            "searchable": true
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. admin"
        }
      ]
    },
    {
      "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": {
          "returnAll": [
            false
          ],
          "resource": [
            "user"
          ],
          "operation": [
            "getAll"
          ]
        }
      },
      "typeOptions": {
        "minValue": 1
      }
    },
    {
      "displayName": "User",
      "name": "userId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "update"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "placeholder": "Select a user...",
          "typeOptions": {
            "searchListMethod": "searchUsers",
            "searchable": true
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. admin"
        }
      ]
    },
    {
      "displayName": "Update Fields",
      "name": "updateFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Email",
          "name": "email",
          "type": "string",
          "placeholder": "name@email.com",
          "default": ""
        },
        {
          "displayName": "Full Name",
          "name": "realname",
          "type": "string",
          "default": "",
          "description": "Full name of the user"
        },
        {
          "displayName": "Password",
          "name": "password",
          "type": "string",
          "typeOptions": {
            "password": true
          },
          "default": ""
        },
        {
          "displayName": "Role Names or IDs",
          "name": "roles",
          "type": "multiOptions",
          "description": "Comma-separated list of roles to assign to the user. Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
          "default": [],
          "typeOptions": {
            "loadOptionsMethod": "getRoles"
          }
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "operation": [
            "update"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "getReport",
      "name": "Get Fired Alerts",
      "description": "Retrieve a fired alerts report"
    },
    {
      "operation": "getMetrics",
      "name": "Get Metrics",
      "description": "Retrieve metrics"
    }
  ]


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

outputs:
  [
  "main"
  ]

updated_at: 2025-11-25 17:45:48
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Spontit node documentation
  description: Learn how to use the Spontit node in n8n. Follow technical documentation to integrate Spontit node into your workflows.
  contentType: [integration, reference]
  ---

  # Spontit node

  Use the Spontit node to automate work in Spontit, and integrate Spontit with other applications. n8n supports creating push notifications with Spontit. 

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

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

  ## Operations

  * Push
      * Create a push notification

  ## Templates and examples

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

properties_schema:
  [
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "push",
      "options": [
        {
          "name": "Push",
          "value": "push"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a push notification",
          "action": "Create a push notification"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "push"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Content",
      "name": "content",
      "type": "string",
      "default": "",
      "description": "To provide text in a push, supply one of either \"content\" or \"pushContent\" (or both). Limited to 2500 characters. (Required if a value for \"pushContent\" is not provided).",
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "push"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Channel Name",
          "name": "channelName",
          "type": "string",
          "default": "",
          "description": "The name of a channel you created. If you have not yet created a channel, simply don't provide this value and the push will be sent to your main account."
        },
        {
          "displayName": "Expiration Stamp",
          "name": "expirationStamp",
          "type": "dateTime",
          "default": "",
          "description": "A Unix timestamp. When to automatically expire your push notification. The default is 10 days after pushing. The push will become unaccessible within 15-30 minutes of the selected time, but will remain on all device screens until dismissed or clicked."
        },
        {
          "displayName": "iOS DeepLink",
          "name": "iOSDeepLink",
          "type": "string",
          "default": "",
          "description": "An iOS deep link. Use this to deep link into other apps. Alternatively, you can provide a universal link in the link attribute and set openLinkInApp to false."
        },
        {
          "displayName": "Link",
          "name": "link",
          "type": "string",
          "default": "",
          "description": "A link that can be attached to your push. Must be a valid URL."
        },
        {
          "displayName": "Open In Home Feed",
          "name": "openInHomeFeed",
          "type": "boolean",
          "default": false,
          "description": "Whether the notification opens to the home feed or to a standalone page with the notification. The default (openInHomeFeed=False) is to open the notification on a standalone page."
        },
        {
          "displayName": "Open Link In App",
          "name": "openLinkInApp",
          "type": "boolean",
          "default": false,
          "description": "Whether to open the provided link within the iOS app or in Safari. Android PWA opens all links in the default web browser."
        },
        {
          "displayName": "Push To Emails",
          "name": "pushToEmails",
          "type": "string",
          "default": "",
          "description": "<p>Emails (strings) to whom to send the notification. If all three attributes 'pushToFollowers', 'pushToPhoneNumbers' and 'pushToEmails' are not supplied, then everyone who follows the channel will receive the push notification.</p><p>If 'pushToFollowers' is supplied, only those listed in the array will receive the push notification.</p><p>If one of the userIds supplied does not follow the specified channel, then that userId value will be ignored.</p><p>See the \"Followers\" section to learn how to list the userIds of those who follow one of your channels.</p>."
        },
        {
          "displayName": "Push To Followers",
          "name": "pushToFollowers",
          "type": "string",
          "default": "",
          "description": "<p>User IDs (strings) to whom to send the notification. If all three attributes 'pushToFollowers', 'pushToPhoneNumbers' and 'pushToEmails' are not supplied, then everyone who follows the channel will receive the push notification.</p><p>If 'pushToFollowers' is supplied, only those listed in the array will receive the push notification.</p><p>If one of the userIds supplied does not follow the specified channel, then that userId value will be ignored.</p><p>See the \"Followers\" section to learn how to list the userIds of those who follow one of your channels.</p>."
        },
        {
          "displayName": "Push To Phone Numbers",
          "name": "pushToPhoneNumbers",
          "type": "string",
          "default": "",
          "description": "<p>Phone numbers (strings) to whom to send the notification. If all three attributes 'pushToFollowers', 'pushToPhoneNumbers' and 'pushToEmails' are not supplied, then everyone who follows the channel will receive the push notification.</p><p>If 'pushToFollowers' is supplied, only those listed in the array will receive the push notification.</p><p>If one of the userIds supplied does not follow the specified channel, then that userId value will be ignored.</p><p>See the \"Followers\" section to learn how to list the userIds of those who follow one of your channels.</p>."
        },
        {
          "displayName": "Schedule",
          "name": "schedule",
          "type": "dateTime",
          "default": "",
          "description": "A Unix timestamp. Schedule a push to be sent at a later date and time."
        },
        {
          "displayName": "Subtitle",
          "name": "subtitle",
          "type": "string",
          "default": "",
          "description": "The subtitle of your push. Limited to 20 characters. Only appears on iOS devices."
        },
        {
          "displayName": "Title",
          "name": "pushTitle",
          "type": "string",
          "default": "",
          "description": "The title of push. Appears in bold at the top. Limited to 100 characters."
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "push"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "create",
      "name": "Create",
      "description": "Create a push notification"
    }
  ]


node_type: nodes-base.spotify
package_name: n8n-nodes-base
display_name: Spotify
description: Access public song data via the Spotify API
category: input
development_style: programmatic
version: 1
credentials_required:
  [
  {
  "name": "spotifyOAuth2Api",
  "required": true
  }
  ]

outputs:
  [
  "main"
  ]

updated_at: 2025-11-25 17:45:48
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Spotify node documentation
  description: Learn how to use the Spotify node in n8n. Follow technical documentation to integrate Spotify node into your workflows.
  contentType: [integration, reference]
  priority: medium
  ---

  # Spotify node

  Use the Spotify node to automate work in Spotify, and integrate Spotify with other applications. n8n has built-in support for a wide range of Spotify features, including getting album and artist information. 

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

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

  ## Operations

  * Album
      * Get an album by URI or ID.
      * Get a list of new album releases.
      * Get an album's tracks by URI or ID.
      * Search albums by keyword.
  * Artist
      * Get an artist by URI or ID.
      * Get an artist's albums by URI or ID.
      * Get an artist's related artists by URI or ID.
      * Get an artist's top tracks by URI or ID.
      * Search artists by keyword.
  * Library
      * Get the user's liked tracks.
  * My Data
      * Get your followed artists.
  * Player
      * Add a song to your queue.
      * Get your currently playing track.
      * Skip to your next track.
      * Pause your music.
      * Skip to your previous song.
      * Get your recently played tracks.
      * Resume playback on the current active device.
      * Set volume on the current active device.
      * Start playing a playlist, artist, or album.
  * Playlist
      * Add tracks from a playlist by track and playlist URI or ID.
      * Create a new playlist.
      * Get a playlist by URI or ID.
      * Get a playlist's tracks by URI or ID.
      * Get a user's playlists.
      * Remove tracks from a playlist by track and playlist URI or ID.
      * Search playlists by keyword.
  * Track
      * Get a track by its URI or ID.
      * Get audio features for a track by URI or ID.
      * Search tracks by keyword

  ## Templates and examples

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

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

properties_schema:
  [
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "player",
      "options": [
        {
          "name": "Album",
          "value": "album"
        },
        {
          "name": "Artist",
          "value": "artist"
        },
        {
          "name": "Library",
          "value": "library"
        },
        {
          "name": "My Data",
          "value": "myData"
        },
        {
          "name": "Player",
          "value": "player"
        },
        {
          "name": "Playlist",
          "value": "playlist"
        },
        {
          "name": "Track",
          "value": "track"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "addSongToQueue",
      "options": [
        {
          "name": "Add Song to Queue",
          "value": "addSongToQueue",
          "description": "Add a song to your queue",
          "action": "Add a song to a queue"
        },
        {
          "name": "Currently Playing",
          "value": "currentlyPlaying",
          "description": "Get your currently playing track",
          "action": "Get the currently playing track"
        },
        {
          "name": "Next Song",
          "value": "nextSong",
          "description": "Skip to your next track",
          "action": "Skip to the next track"
        },
        {
          "name": "Pause",
          "value": "pause",
          "description": "Pause your music",
          "action": "Pause the player"
        },
        {
          "name": "Previous Song",
          "value": "previousSong",
          "description": "Skip to your previous song",
          "action": "Skip to the previous song"
        },
        {
          "name": "Recently Played",
          "value": "recentlyPlayed",
          "description": "Get your recently played tracks",
          "action": "Get the recently played tracks"
        },
        {
          "name": "Resume",
          "value": "resume",
          "description": "Resume playback on the current active device",
          "action": "Resume the player"
        },
        {
          "name": "Set Volume",
          "value": "volume",
          "description": "Set volume on the current active device",
          "action": "Set volume on the player"
        },
        {
          "name": "Start Music",
          "value": "startMusic",
          "description": "Start playing a playlist, artist, or album",
          "action": "Start music on the player"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "player"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Resource ID",
      "name": "id",
      "type": "string",
      "default": "",
      "description": "Enter a playlist, artist, or album URI or ID",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "player"
          ],
          "operation": [
            "startMusic"
          ]
        }
      }
    },
    {
      "displayName": "Track ID",
      "name": "id",
      "type": "string",
      "default": "",
      "description": "Enter a track URI or ID",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "player"
          ],
          "operation": [
            "addSongToQueue"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "description": "Get an album by URI or ID",
          "action": "Get an album"
        },
        {
          "name": "Get New Releases",
          "value": "getNewReleases",
          "description": "Get a list of new album releases",
          "action": "Get new album releases"
        },
        {
          "name": "Get Tracks",
          "value": "getTracks",
          "description": "Get an album's tracks by URI or ID",
          "action": "Get an album's tracks by URI or ID"
        },
        {
          "name": "Search",
          "value": "search",
          "description": "Search albums by keyword",
          "action": "Search albums by keyword"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "album"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Album ID",
      "name": "id",
      "type": "string",
      "default": "",
      "description": "The album's Spotify URI or ID",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "album"
          ],
          "operation": [
            "get",
            "getTracks"
          ]
        },
        "hide": {
          "operation": [
            "search"
          ]
        }
      }
    },
    {
      "displayName": "Search Keyword",
      "name": "query",
      "type": "string",
      "default": "",
      "description": "The keyword term to search for",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "album"
          ],
          "operation": [
            "search"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "description": "Get an artist by URI or ID",
          "action": "Get an artist"
        },
        {
          "name": "Get Albums",
          "value": "getAlbums",
          "description": "Get an artist's albums by URI or ID",
          "action": "Get an artist's albums by URI or ID"
        },
        {
          "name": "Get Related Artists",
          "value": "getRelatedArtists",
          "description": "Get an artist's related artists by URI or ID",
          "action": "Get an artist's related artists by URI or ID"
        },
        {
          "name": "Get Top Tracks",
          "value": "getTopTracks",
          "description": "Get an artist's top tracks by URI or ID",
          "action": "Get an artist's top tracks by URI or ID"
        },
        {
          "name": "Search",
          "value": "search",
          "description": "Search artists by keyword",
          "action": "Search artists by keyword"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "artist"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Artist ID",
      "name": "id",
      "type": "string",
      "default": "",
      "description": "The artist's Spotify URI or ID",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "artist"
          ]
        },
        "hide": {
          "operation": [
            "search"
          ]
        }
      }
    },
    {
      "displayName": "Country",
      "name": "country",
      "type": "string",
      "default": "US",
      "description": "Top tracks in which country? Enter the postal abbreviation",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "artist"
          ],
          "operation": [
            "getTopTracks"
          ]
        }
      }
    },
    {
      "displayName": "Search Keyword",
      "name": "query",
      "type": "string",
      "default": "",
      "description": "The keyword term to search for",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "artist"
          ],
          "operation": [
            "search"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "add",
      "options": [
        {
          "name": "Add an Item",
          "value": "add",
          "description": "Add tracks to a playlist by track and playlist URI or ID",
          "action": "Add an Item to a playlist"
        },
        {
          "name": "Create a Playlist",
          "value": "create",
          "description": "Create a new playlist",
          "action": "Create a playlist"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get a playlist by URI or ID",
          "action": "Get a playlist"
        },
        {
          "name": "Get the User's Playlists",
          "value": "getUserPlaylists",
          "description": "Get a user's playlists",
          "action": "Get a user's playlists"
        },
        {
          "name": "Get Tracks",
          "value": "getTracks",
          "description": "Get a playlist's tracks by URI or ID",
          "action": "Get a playlist's tracks by URI or ID"
        },
        {
          "name": "Remove an Item",
          "value": "delete",
          "description": "Remove tracks from a playlist by track and playlist URI or ID",
          "action": "Remove an item from a playlist"
        },
        {
          "name": "Search",
          "value": "search",
          "description": "Search playlists by keyword",
          "action": "Search playlists by keyword"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "playlist"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Playlist ID",
      "name": "id",
      "type": "string",
      "default": "",
      "description": "The playlist's Spotify URI or its ID",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "playlist"
          ],
          "operation": [
            "add",
            "delete",
            "get",
            "getTracks"
          ]
        }
      }
    },
    {
      "displayName": "Name",
      "name": "name",
      "type": "string",
      "default": "",
      "description": "Name of the playlist to create",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "playlist"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Description",
          "name": "description",
          "type": "string",
          "default": "",
          "placeholder": "These are all my favorite songs.",
          "description": "Description for the playlist to create"
        },
        {
          "displayName": "Public",
          "name": "public",
          "type": "boolean",
          "default": true,
          "description": "Whether the playlist is publicly accessible"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "playlist"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Track ID",
      "name": "trackID",
      "type": "string",
      "default": "",
      "description": "The track's Spotify URI or its ID. The track to add/delete from the playlist.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "playlist"
          ],
          "operation": [
            "add",
            "delete"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Position",
          "name": "position",
          "type": "number",
          "typeOptions": {
            "minValue": 0
          },
          "default": 0,
          "placeholder": "0",
          "description": "The new track's position in the playlist"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "playlist"
          ],
          "operation": [
            "add"
          ]
        }
      }
    },
    {
      "displayName": "Search Keyword",
      "name": "query",
      "type": "string",
      "default": "",
      "description": "The keyword term to search for",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "playlist"
          ],
          "operation": [
            "search"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "track",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "description": "Get a track by its URI or ID",
          "action": "Get a track"
        },
        {
          "name": "Get Audio Features",
          "value": "getAudioFeatures",
          "description": "Get audio features for a track by URI or ID",
          "action": "Get audio features of a track"
        },
        {
          "name": "Search",
          "value": "search",
          "description": "Search tracks by keyword",
          "action": "Search tracks by keyword"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "track"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Track ID",
      "name": "id",
      "type": "string",
      "default": "",
      "description": "The track's Spotify URI or ID",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "track"
          ]
        },
        "hide": {
          "operation": [
            "search"
          ]
        }
      }
    },
    {
      "displayName": "Search Keyword",
      "name": "query",
      "type": "string",
      "default": "",
      "description": "The keyword term to search for",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "track"
          ],
          "operation": [
            "search"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "getLikedTracks",
      "options": [
        {
          "name": "Get Liked Tracks",
          "value": "getLikedTracks",
          "description": "Get the user's liked tracks",
          "action": "Get liked tracks"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "library"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "getFollowingArtists",
      "options": [
        {
          "name": "Get Following Artists",
          "value": "getFollowingArtists",
          "description": "Get your followed artists",
          "action": "Get your followed artists"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "myData"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "album",
            "artist",
            "library",
            "myData",
            "playlist",
            "track",
            "player"
          ],
          "operation": [
            "getTracks",
            "getAlbums",
            "getUserPlaylists",
            "getNewReleases",
            "getLikedTracks",
            "getFollowingArtists",
            "search",
            "recentlyPlayed"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "album",
            "artist",
            "library",
            "playlist",
            "track"
          ],
          "operation": [
            "getTracks",
            "getAlbums",
            "getUserPlaylists",
            "getNewReleases",
            "getLikedTracks",
            "search"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "myData",
            "player"
          ],
          "operation": [
            "getFollowingArtists",
            "recentlyPlayed"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 50
      }
    },
    {
      "displayName": "Volume",
      "name": "volumePercent",
      "type": "number",
      "default": 50,
      "description": "The volume percentage to set",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "player"
          ],
          "operation": [
            "volume"
          ]
        }
      },
      "typeOptions": {
        "minValue": 0,
        "maxValue": 100
      }
    },
    {
      "displayName": "Filters",
      "name": "filters",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Country",
          "name": "country",
          "type": "options",
          "default": "US",
          "options": [
            {
              "name": "Afghanistan",
              "value": "AF"
            },
            {
              "name": "Åland Islands",
              "value": "AX"
            },
            {
              "name": "Albania",
              "value": "AL"
            },
            {
              "name": "Algeria",
              "value": "DZ"
            },
            {
              "name": "American Samoa",
              "value": "AS"
            },
            {
              "name": "Andorra",
              "value": "AD"
            },
            {
              "name": "Angola",
              "value": "AO"
            },
            {
              "name": "Anguilla",
              "value": "AI"
            },
            {
              "name": "Antarctica",
              "value": "AQ"
            },
            {
              "name": "Antigua and Barbuda",
              "value": "AG"
            },
            {
              "name": "Argentina",
              "value": "AR"
            },
            {
              "name": "Armenia",
              "value": "AM"
            },
            {
              "name": "Aruba",
              "value": "AW"
            },
            {
              "name": "Australia",
              "value": "AU"
            },
            {
              "name": "Austria",
              "value": "AT"
            },
            {
              "name": "Azerbaijan",
              "value": "AZ"
            },
            {
              "name": "Bahamas (the)",
              "value": "BS"
            },
            {
              "name": "Bahrain",
              "value": "BH"
            },
            {
              "name": "Bangladesh",
              "value": "BD"
            },
            {
              "name": "Barbados",
              "value": "BB"
            },
            {
              "name": "Belarus",
              "value": "BY"
            },
            {
              "name": "Belgium",
              "value": "BE"
            },
            {
              "name": "Belize",
              "value": "BZ"
            },
            {
              "name": "Benin",
              "value": "BJ"
            },
            {
              "name": "Bermuda",
              "value": "BM"
            },
            {
              "name": "Bhutan",
              "value": "BT"
            },
            {
              "name": "Bolivia (Plurinational State of)",
              "value": "BO"
            },
            {
              "name": "Bonaire, Sint Eustatius and Saba",
              "value": "BQ"
            },
            {
              "name": "Bosnia and Herzegovina",
              "value": "BA"
            },
            {
              "name": "Botswana",
              "value": "BW"
            },
            {
              "name": "Bouvet Island",
              "value": "BV"
            },
            {
              "name": "Brazil",
              "value": "BR"
            },
            {
              "name": "British Indian Ocean Territory (the)",
              "value": "IO"
            },
            {
              "name": "Brunei Darussalam",
              "value": "BN"
            },
            {
              "name": "Bulgaria",
              "value": "BG"
            },
            {
              "name": "Burkina Faso",
              "value": "BF"
            },
            {
              "name": "Burundi",
              "value": "BI"
            },
            {
              "name": "Cabo Verde",
              "value": "CV"
            },
            {
              "name": "Cambodia",
              "value": "KH"
            },
            {
              "name": "Cameroon",
              "value": "CM"
            },
            {
              "name": "Canada",
              "value": "CA"
            },
            {
              "name": "Cayman Islands (the)",
              "value": "KY"
            },
            {
              "name": "Central African Republic (the)",
              "value": "CF"
            },
            {
              "name": "Chad",
              "value": "TD"
            },
            {
              "name": "Chile",
              "value": "CL"
            },
            {
              "name": "China",
              "value": "CN"
            },
            {
              "name": "Christmas Island",
              "value": "CX"
            },
            {
              "name": "Cocos (Keeling) Islands (the)",
              "value": "CC"
            },
            {
              "name": "Colombia",
              "value": "CO"
            },
            {
              "name": "Comoros (the)",
              "value": "KM"
            },
            {
              "name": "Congo (the Democratic Republic of the)",
              "value": "CD"
            },
            {
              "name": "Congo (the)",
              "value": "CG"
            },
            {
              "name": "Cook Islands (the)",
              "value": "CK"
            },
            {
              "name": "Costa Rica",
              "value": "CR"
            },
            {
              "name": "Côte d'Ivoire",
              "value": "CI"
            },
            {
              "name": "Croatia",
              "value": "HR"
            },
            {
              "name": "Cuba",
              "value": "CU"
            },
            {
              "name": "Curaçao",
              "value": "CW"
            },
            {
              "name": "Cyprus",
              "value": "CY"
            },
            {
              "name": "Czechia",
              "value": "CZ"
            },
            {
              "name": "Denmark",
              "value": "DK"
            },
            {
              "name": "Djibouti",
              "value": "DJ"
            },
            {
              "name": "Dominica",
              "value": "DM"
            },
            {
              "name": "Dominican Republic (the)",
              "value": "DO"
            },
            {
              "name": "Ecuador",
              "value": "EC"
            },
            {
              "name": "Egypt",
              "value": "EG"
            },
            {
              "name": "El Salvador",
              "value": "SV"
            },
            {
              "name": "Equatorial Guinea",
              "value": "GQ"
            },
            {
              "name": "Eritrea",
              "value": "ER"
            },
            {
              "name": "Estonia",
              "value": "EE"
            },
            {
              "name": "Ethiopia",
              "value": "ET"
            },
            {
              "name": "Falkland Islands (the) [Malvinas]",
              "value": "FK"
            },
            {
              "name": "Faroe Islands (the)",
              "value": "FO"
            },
            {
              "name": "Fiji",
              "value": "FJ"
            },
            {
              "name": "Finland",
              "value": "FI"
            },
            {
              "name": "France",
              "value": "FR"
            },
            {
              "name": "French Guiana",
              "value": "GF"
            },
            {
              "name": "French Polynesia",
              "value": "PF"
            },
            {
              "name": "French Southern Territories (the)",
              "value": "TF"
            },
            {
              "name": "Gabon",
              "value": "GA"
            },
            {
              "name": "Gambia (the)",
              "value": "GM"
            },
            {
              "name": "Georgia",
              "value": "GE"
            },
            {
              "name": "Germany",
              "value": "DE"
            },
            {
              "name": "Ghana",
              "value": "GH"
            },
            {
              "name": "Gibraltar",
              "value": "GI"
            },
            {
              "name": "Greece",
              "value": "GR"
            },
            {
              "name": "Greenland",
              "value": "GL"
            },
            {
              "name": "Grenada",
              "value": "GD"
            },
            {
              "name": "Guadeloupe",
              "value": "GP"
            },
            {
              "name": "Guam",
              "value": "GU"
            },
            {
              "name": "Guatemala",
              "value": "GT"
            },
            {
              "name": "Guernsey",
              "value": "GG"
            },
            {
              "name": "Guinea",
              "value": "GN"
            },
            {
              "name": "Guinea-Bissau",
              "value": "GW"
            },
            {
              "name": "Guyana",
              "value": "GY"
            },
            {
              "name": "Haiti",
              "value": "HT"
            },
            {
              "name": "Heard Island and McDonald Islands",
              "value": "HM"
            },
            {
              "name": "Holy See (the)",
              "value": "VA"
            },
            {
              "name": "Honduras",
              "value": "HN"
            },
            {
              "name": "Hong Kong",
              "value": "HK"
            },
            {
              "name": "Hungary",
              "value": "HU"
            },
            {
              "name": "Iceland",
              "value": "IS"
            },
            {
              "name": "India",
              "value": "IN"
            },
            {
              "name": "Indonesia",
              "value": "ID"
            },
            {
              "name": "Iran (Islamic Republic of)",
              "value": "IR"
            },
            {
              "name": "Iraq",
              "value": "IQ"
            },
            {
              "name": "Ireland",
              "value": "IE"
            },
            {
              "name": "Isle of Man",
              "value": "IM"
            },
            {
              "name": "Israel",
              "value": "IL"
            },
            {
              "name": "Italy",
              "value": "IT"
            },
            {
              "name": "Jamaica",
              "value": "JM"
            },
            {
              "name": "Japan",
              "value": "JP"
            },
            {
              "name": "Jersey",
              "value": "JE"
            },
            {
              "name": "Jordan",
              "value": "JO"
            },
            {
              "name": "Kazakhstan",
              "value": "KZ"
            },
            {
              "name": "Kenya",
              "value": "KE"
            },
            {
              "name": "Kiribati",
              "value": "KI"
            },
            {
              "name": "Korea (the Democratic People's Republic of)",
              "value": "KP"
            },
            {
              "name": "Korea (the Republic of)",
              "value": "KR"
            },
            {
              "name": "Kuwait",
              "value": "KW"
            },
            {
              "name": "Kyrgyzstan",
              "value": "KG"
            },
            {
              "name": "Lao People's Democratic Republic (the)",
              "value": "LA"
            },
            {
              "name": "Latvia",
              "value": "LV"
            },
            {
              "name": "Lebanon",
              "value": "LB"
            },
            {
              "name": "Lesotho",
              "value": "LS"
            },
            {
              "name": "Liberia",
              "value": "LR"
            },
            {
              "name": "Libya",
              "value": "LY"
            },
            {
              "name": "Liechtenstein",
              "value": "LI"
            },
            {
              "name": "Lithuania",
              "value": "LT"
            },
            {
              "name": "Luxembourg",
              "value": "LU"
            },
            {
              "name": "Macao",
              "value": "MO"
            },
            {
              "name": "Macedonia (the former Yugoslav Republic of)",
              "value": "MK"
            },
            {
              "name": "Madagascar",
              "value": "MG"
            },
            {
              "name": "Malawi",
              "value": "MW"
            },
            {
              "name": "Malaysia",
              "value": "MY"
            },
            {
              "name": "Maldives",
              "value": "MV"
            },
            {
              "name": "Mali",
              "value": "ML"
            },
            {
              "name": "Malta",
              "value": "MT"
            },
            {
              "name": "Marshall Islands (the)",
              "value": "MH"
            },
            {
              "name": "Martinique",
              "value": "MQ"
            },
            {
              "name": "Mauritania",
              "value": "MR"
            },
            {
              "name": "Mauritius",
              "value": "MU"
            },
            {
              "name": "Mayotte",
              "value": "YT"
            },
            {
              "name": "Mexico",
              "value": "MX"
            },
            {
              "name": "Micronesia (Federated States of)",
              "value": "FM"
            },
            {
              "name": "Moldova (the Republic of)",
              "value": "MD"
            },
            {
              "name": "Monaco",
              "value": "MC"
            },
            {
              "name": "Mongolia",
              "value": "MN"
            },
            {
              "name": "Montenegro",
              "value": "ME"
            },
            {
              "name": "Montserrat",
              "value": "MS"
            },
            {
              "name": "Morocco",
              "value": "MA"
            },
            {
              "name": "Mozambique",
              "value": "MZ"
            },
            {
              "name": "Myanmar",
              "value": "MM"
            },
            {
              "name": "Namibia",
              "value": "NA"
            },
            {
              "name": "Nauru",
              "value": "NR"
            },
            {
              "name": "Nepal",
              "value": "NP"
            },
            {
              "name": "Netherlands (the)",
              "value": "NL"
            },
            {
              "name": "New Caledonia",
              "value": "NC"
            },
            {
              "name": "New Zealand",
              "value": "NZ"
            },
            {
              "name": "Nicaragua",
              "value": "NI"
            },
            {
              "name": "Niger (the)",
              "value": "NE"
            },
            {
              "name": "Nigeria",
              "value": "NG"
            },
            {
              "name": "Niue",
              "value": "NU"
            },
            {
              "name": "Norfolk Island",
              "value": "NF"
            },
            {
              "name": "Northern Mariana Islands (the)",
              "value": "MP"
            },
            {
              "name": "Norway",
              "value": "NO"
            },
            {
              "name": "Oman",
              "value": "OM"
            },
            {
              "name": "Pakistan",
              "value": "PK"
            },
            {
              "name": "Palau",
              "value": "PW"
            },
            {
              "name": "Palestine, State of",
              "value": "PS"
            },
            {
              "name": "Panama",
              "value": "PA"
            },
            {
              "name": "Papua New Guinea",
              "value": "PG"
            },
            {
              "name": "Paraguay",
              "value": "PY"
            },
            {
              "name": "Peru",
              "value": "PE"
            },
            {
              "name": "Philippines (the)",
              "value": "PH"
            },
            {
              "name": "Pitcairn",
              "value": "PN"
            },
            {
              "name": "Poland",
              "value": "PL"
            },
            {
              "name": "Portugal",
              "value": "PT"
            },
            {
              "name": "Puerto Rico",
              "value": "PR"
            },
            {
              "name": "Qatar",
              "value": "QA"
            },
            {
              "name": "Réunion",
              "value": "RE"
            },
            {
              "name": "Romania",
              "value": "RO"
            },
            {
              "name": "Russian Federation (the)",
              "value": "RU"
            },
            {
              "name": "Rwanda",
              "value": "RW"
            },
            {
              "name": "Saint Barthélemy",
              "value": "BL"
            },
            {
              "name": "Saint Helena, Ascension and Tristan da Cunha",
              "value": "SH"
            },
            {
              "name": "Saint Kitts and Nevis",
              "value": "KN"
            },
            {
              "name": "Saint Lucia",
              "value": "LC"
            },
            {
              "name": "Saint Martin (French part)",
              "value": "MF"
            },
            {
              "name": "Saint Pierre and Miquelon",
              "value": "PM"
            },
            {
              "name": "Saint Vincent and the Grenadines",
              "value": "VC"
            },
            {
              "name": "Samoa",
              "value": "WS"
            },
            {
              "name": "San Marino",
              "value": "SM"
            },
            {
              "name": "Sao Tome and Principe",
              "value": "ST"
            },
            {
              "name": "Saudi Arabia",
              "value": "SA"
            },
            {
              "name": "Senegal",
              "value": "SN"
            },
            {
              "name": "Serbia",
              "value": "RS"
            },
            {
              "name": "Seychelles",
              "value": "SC"
            },
            {
              "name": "Sierra Leone",
              "value": "SL"
            },
            {
              "name": "Singapore",
              "value": "SG"
            },
            {
              "name": "Sint Maarten (Dutch part)",
              "value": "SX"
            },
            {
              "name": "Slovakia",
              "value": "SK"
            },
            {
              "name": "Slovenia",
              "value": "SI"
            },
            {
              "name": "Solomon Islands",
              "value": "SB"
            },
            {
              "name": "Somalia",
              "value": "SO"
            },
            {
              "name": "South Africa",
              "value": "ZA"
            },
            {
              "name": "South Georgia and the South Sandwich Islands",
              "value": "GS"
            },
            {
              "name": "South Sudan",
              "value": "SS"
            },
            {
              "name": "Spain",
              "value": "ES"
            },
            {
              "name": "Sri Lanka",
              "value": "LK"
            },
            {
              "name": "Sudan (the)",
              "value": "SD"
            },
            {
              "name": "Suriname",
              "value": "SR"
            },
            {
              "name": "Svalbard and Jan Mayen",
              "value": "SJ"
            },
            {
              "name": "Swaziland",
              "value": "SZ"
            },
            {
              "name": "Sweden",
              "value": "SE"
            },
            {
              "name": "Switzerland",
              "value": "CH"
            },
            {
              "name": "Syrian Arab Republic",
              "value": "SY"
            },
            {
              "name": "Taiwan (Province of China)",
              "value": "TW"
            },
            {
              "name": "Tajikistan",
              "value": "TJ"
            },
            {
              "name": "Tanzania, United Republic of",
              "value": "TZ"
            },
            {
              "name": "Thailand",
              "value": "TH"
            },
            {
              "name": "Timor-Leste",
              "value": "TL"
            },
            {
              "name": "Togo",
              "value": "TG"
            },
            {
              "name": "Tokelau",
              "value": "TK"
            },
            {
              "name": "Tonga",
              "value": "TO"
            },
            {
              "name": "Trinidad and Tobago",
              "value": "TT"
            },
            {
              "name": "Tunisia",
              "value": "TN"
            },
            {
              "name": "Turkey",
              "value": "TR"
            },
            {
              "name": "Turkmenistan",
              "value": "TM"
            },
            {
              "name": "Turks and Caicos Islands (the)",
              "value": "TC"
            },
            {
              "name": "Tuvalu",
              "value": "TV"
            },
            {
              "name": "Uganda",
              "value": "UG"
            },
            {
              "name": "Ukraine",
              "value": "UA"
            },
            {
              "name": "United Arab Emirates (the)",
              "value": "AE"
            },
            {
              "name": "United Kingdom of Great Britain and Northern Ireland (the)",
              "value": "GB"
            },
            {
              "name": "United States Minor Outlying Islands (the)",
              "value": "UM"
            },
            {
              "name": "United States of America (the)",
              "value": "US"
            },
            {
              "name": "Uruguay",
              "value": "UY"
            },
            {
              "name": "Uzbekistan",
              "value": "UZ"
            },
            {
              "name": "Vanuatu",
              "value": "VU"
            },
            {
              "name": "Venezuela (Bolivarian Republic of)",
              "value": "VE"
            },
            {
              "name": "Viet Nam",
              "value": "VN"
            },
            {
              "name": "Virgin Islands (British)",
              "value": "VG"
            },
            {
              "name": "Virgin Islands (U.S.)",
              "value": "VI"
            },
            {
              "name": "Wallis and Futuna",
              "value": "WF"
            },
            {
              "name": "Western Sahara*",
              "value": "EH"
            },
            {
              "name": "Yemen",
              "value": "YE"
            },
            {
              "name": "Zambia",
              "value": "ZM"
            },
            {
              "name": "Zimbabwe",
              "value": "ZW"
            }
          ],
          "description": "Country to filter new releases by"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "album"
          ],
          "operation": [
            "getNewReleases"
          ]
        }
      }
    },
    {
      "displayName": "Filters",
      "name": "filters",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Country",
          "name": "market",
          "type": "options",
          "options": [
            {
              "name": "Afghanistan",
              "value": "AF"
            },
            {
              "name": "Åland Islands",
              "value": "AX"
            },
            {
              "name": "Albania",
              "value": "AL"
            },
            {
              "name": "Algeria",
              "value": "DZ"
            },
            {
              "name": "American Samoa",
              "value": "AS"
            },
            {
              "name": "Andorra",
              "value": "AD"
            },
            {
              "name": "Angola",
              "value": "AO"
            },
            {
              "name": "Anguilla",
              "value": "AI"
            },
            {
              "name": "Antarctica",
              "value": "AQ"
            },
            {
              "name": "Antigua and Barbuda",
              "value": "AG"
            },
            {
              "name": "Argentina",
              "value": "AR"
            },
            {
              "name": "Armenia",
              "value": "AM"
            },
            {
              "name": "Aruba",
              "value": "AW"
            },
            {
              "name": "Australia",
              "value": "AU"
            },
            {
              "name": "Austria",
              "value": "AT"
            },
            {
              "name": "Azerbaijan",
              "value": "AZ"
            },
            {
              "name": "Bahamas (the)",
              "value": "BS"
            },
            {
              "name": "Bahrain",
              "value": "BH"
            },
            {
              "name": "Bangladesh",
              "value": "BD"
            },
            {
              "name": "Barbados",
              "value": "BB"
            },
            {
              "name": "Belarus",
              "value": "BY"
            },
            {
              "name": "Belgium",
              "value": "BE"
            },
            {
              "name": "Belize",
              "value": "BZ"
            },
            {
              "name": "Benin",
              "value": "BJ"
            },
            {
              "name": "Bermuda",
              "value": "BM"
            },
            {
              "name": "Bhutan",
              "value": "BT"
            },
            {
              "name": "Bolivia (Plurinational State of)",
              "value": "BO"
            },
            {
              "name": "Bonaire, Sint Eustatius and Saba",
              "value": "BQ"
            },
            {
              "name": "Bosnia and Herzegovina",
              "value": "BA"
            },
            {
              "name": "Botswana",
              "value": "BW"
            },
            {
              "name": "Bouvet Island",
              "value": "BV"
            },
            {
              "name": "Brazil",
              "value": "BR"
            },
            {
              "name": "British Indian Ocean Territory (the)",
              "value": "IO"
            },
            {
              "name": "Brunei Darussalam",
              "value": "BN"
            },
            {
              "name": "Bulgaria",
              "value": "BG"
            },
            {
              "name": "Burkina Faso",
              "value": "BF"
            },
            {
              "name": "Burundi",
              "value": "BI"
            },
            {
              "name": "Cabo Verde",
              "value": "CV"
            },
            {
              "name": "Cambodia",
              "value": "KH"
            },
            {
              "name": "Cameroon",
              "value": "CM"
            },
            {
              "name": "Canada",
              "value": "CA"
            },
            {
              "name": "Cayman Islands (the)",
              "value": "KY"
            },
            {
              "name": "Central African Republic (the)",
              "value": "CF"
            },
            {
              "name": "Chad",
              "value": "TD"
            },
            {
              "name": "Chile",
              "value": "CL"
            },
            {
              "name": "China",
              "value": "CN"
            },
            {
              "name": "Christmas Island",
              "value": "CX"
            },
            {
              "name": "Cocos (Keeling) Islands (the)",
              "value": "CC"
            },
            {
              "name": "Colombia",
              "value": "CO"
            },
            {
              "name": "Comoros (the)",
              "value": "KM"
            },
            {
              "name": "Congo (the Democratic Republic of the)",
              "value": "CD"
            },
            {
              "name": "Congo (the)",
              "value": "CG"
            },
            {
              "name": "Cook Islands (the)",
              "value": "CK"
            },
            {
              "name": "Costa Rica",
              "value": "CR"
            },
            {
              "name": "Côte d'Ivoire",
              "value": "CI"
            },
            {
              "name": "Croatia",
              "value": "HR"
            },
            {
              "name": "Cuba",
              "value": "CU"
            },
            {
              "name": "Curaçao",
              "value": "CW"
            },
            {
              "name": "Cyprus",
              "value": "CY"
            },
            {
              "name": "Czechia",
              "value": "CZ"
            },
            {
              "name": "Denmark",
              "value": "DK"
            },
            {
              "name": "Djibouti",
              "value": "DJ"
            },
            {
              "name": "Dominica",
              "value": "DM"
            },
            {
              "name": "Dominican Republic (the)",
              "value": "DO"
            },
            {
              "name": "Ecuador",
              "value": "EC"
            },
            {
              "name": "Egypt",
              "value": "EG"
            },
            {
              "name": "El Salvador",
              "value": "SV"
            },
            {
              "name": "Equatorial Guinea",
              "value": "GQ"
            },
            {
              "name": "Eritrea",
              "value": "ER"
            },
            {
              "name": "Estonia",
              "value": "EE"
            },
            {
              "name": "Ethiopia",
              "value": "ET"
            },
            {
              "name": "Falkland Islands (the) [Malvinas]",
              "value": "FK"
            },
            {
              "name": "Faroe Islands (the)",
              "value": "FO"
            },
            {
              "name": "Fiji",
              "value": "FJ"
            },
            {
              "name": "Finland",
              "value": "FI"
            },
            {
              "name": "France",
              "value": "FR"
            },
            {
              "name": "French Guiana",
              "value": "GF"
            },
            {
              "name": "French Polynesia",
              "value": "PF"
            },
            {
              "name": "French Southern Territories (the)",
              "value": "TF"
            },
            {
              "name": "Gabon",
              "value": "GA"
            },
            {
              "name": "Gambia (the)",
              "value": "GM"
            },
            {
              "name": "Georgia",
              "value": "GE"
            },
            {
              "name": "Germany",
              "value": "DE"
            },
            {
              "name": "Ghana",
              "value": "GH"
            },
            {
              "name": "Gibraltar",
              "value": "GI"
            },
            {
              "name": "Greece",
              "value": "GR"
            },
            {
              "name": "Greenland",
              "value": "GL"
            },
            {
              "name": "Grenada",
              "value": "GD"
            },
            {
              "name": "Guadeloupe",
              "value": "GP"
            },
            {
              "name": "Guam",
              "value": "GU"
            },
            {
              "name": "Guatemala",
              "value": "GT"
            },
            {
              "name": "Guernsey",
              "value": "GG"
            },
            {
              "name": "Guinea",
              "value": "GN"
            },
            {
              "name": "Guinea-Bissau",
              "value": "GW"
            },
            {
              "name": "Guyana",
              "value": "GY"
            },
            {
              "name": "Haiti",
              "value": "HT"
            },
            {
              "name": "Heard Island and McDonald Islands",
              "value": "HM"
            },
            {
              "name": "Holy See (the)",
              "value": "VA"
            },
            {
              "name": "Honduras",
              "value": "HN"
            },
            {
              "name": "Hong Kong",
              "value": "HK"
            },
            {
              "name": "Hungary",
              "value": "HU"
            },
            {
              "name": "Iceland",
              "value": "IS"
            },
            {
              "name": "India",
              "value": "IN"
            },
            {
              "name": "Indonesia",
              "value": "ID"
            },
            {
              "name": "Iran (Islamic Republic of)",
              "value": "IR"
            },
            {
              "name": "Iraq",
              "value": "IQ"
            },
            {
              "name": "Ireland",
              "value": "IE"
            },
            {
              "name": "Isle of Man",
              "value": "IM"
            },
            {
              "name": "Israel",
              "value": "IL"
            },
            {
              "name": "Italy",
              "value": "IT"
            },
            {
              "name": "Jamaica",
              "value": "JM"
            },
            {
              "name": "Japan",
              "value": "JP"
            },
            {
              "name": "Jersey",
              "value": "JE"
            },
            {
              "name": "Jordan",
              "value": "JO"
            },
            {
              "name": "Kazakhstan",
              "value": "KZ"
            },
            {
              "name": "Kenya",
              "value": "KE"
            },
            {
              "name": "Kiribati",
              "value": "KI"
            },
            {
              "name": "Korea (the Democratic People's Republic of)",
              "value": "KP"
            },
            {
              "name": "Korea (the Republic of)",
              "value": "KR"
            },
            {
              "name": "Kuwait",
              "value": "KW"
            },
            {
              "name": "Kyrgyzstan",
              "value": "KG"
            },
            {
              "name": "Lao People's Democratic Republic (the)",
              "value": "LA"
            },
            {
              "name": "Latvia",
              "value": "LV"
            },
            {
              "name": "Lebanon",
              "value": "LB"
            },
            {
              "name": "Lesotho",
              "value": "LS"
            },
            {
              "name": "Liberia",
              "value": "LR"
            },
            {
              "name": "Libya",
              "value": "LY"
            },
            {
              "name": "Liechtenstein",
              "value": "LI"
            },
            {
              "name": "Lithuania",
              "value": "LT"
            },
            {
              "name": "Luxembourg",
              "value": "LU"
            },
            {
              "name": "Macao",
              "value": "MO"
            },
            {
              "name": "Macedonia (the former Yugoslav Republic of)",
              "value": "MK"
            },
            {
              "name": "Madagascar",
              "value": "MG"
            },
            {
              "name": "Malawi",
              "value": "MW"
            },
            {
              "name": "Malaysia",
              "value": "MY"
            },
            {
              "name": "Maldives",
              "value": "MV"
            },
            {
              "name": "Mali",
              "value": "ML"
            },
            {
              "name": "Malta",
              "value": "MT"
            },
            {
              "name": "Marshall Islands (the)",
              "value": "MH"
            },
            {
              "name": "Martinique",
              "value": "MQ"
            },
            {
              "name": "Mauritania",
              "value": "MR"
            },
            {
              "name": "Mauritius",
              "value": "MU"
            },
            {
              "name": "Mayotte",
              "value": "YT"
            },
            {
              "name": "Mexico",
              "value": "MX"
            },
            {
              "name": "Micronesia (Federated States of)",
              "value": "FM"
            },
            {
              "name": "Moldova (the Republic of)",
              "value": "MD"
            },
            {
              "name": "Monaco",
              "value": "MC"
            },
            {
              "name": "Mongolia",
              "value": "MN"
            },
            {
              "name": "Montenegro",
              "value": "ME"
            },
            {
              "name": "Montserrat",
              "value": "MS"
            },
            {
              "name": "Morocco",
              "value": "MA"
            },
            {
              "name": "Mozambique",
              "value": "MZ"
            },
            {
              "name": "Myanmar",
              "value": "MM"
            },
            {
              "name": "Namibia",
              "value": "NA"
            },
            {
              "name": "Nauru",
              "value": "NR"
            },
            {
              "name": "Nepal",
              "value": "NP"
            },
            {
              "name": "Netherlands (the)",
              "value": "NL"
            },
            {
              "name": "New Caledonia",
              "value": "NC"
            },
            {
              "name": "New Zealand",
              "value": "NZ"
            },
            {
              "name": "Nicaragua",
              "value": "NI"
            },
            {
              "name": "Niger (the)",
              "value": "NE"
            },
            {
              "name": "Nigeria",
              "value": "NG"
            },
            {
              "name": "Niue",
              "value": "NU"
            },
            {
              "name": "Norfolk Island",
              "value": "NF"
            },
            {
              "name": "Northern Mariana Islands (the)",
              "value": "MP"
            },
            {
              "name": "Norway",
              "value": "NO"
            },
            {
              "name": "Oman",
              "value": "OM"
            },
            {
              "name": "Pakistan",
              "value": "PK"
            },
            {
              "name": "Palau",
              "value": "PW"
            },
            {
              "name": "Palestine, State of",
              "value": "PS"
            },
            {
              "name": "Panama",
              "value": "PA"
            },
            {
              "name": "Papua New Guinea",
              "value": "PG"
            },
            {
              "name": "Paraguay",
              "value": "PY"
            },
            {
              "name": "Peru",
              "value": "PE"
            },
            {
              "name": "Philippines (the)",
              "value": "PH"
            },
            {
              "name": "Pitcairn",
              "value": "PN"
            },
            {
              "name": "Poland",
              "value": "PL"
            },
            {
              "name": "Portugal",
              "value": "PT"
            },
            {
              "name": "Puerto Rico",
              "value": "PR"
            },
            {
              "name": "Qatar",
              "value": "QA"
            },
            {
              "name": "Réunion",
              "value": "RE"
            },
            {
              "name": "Romania",
              "value": "RO"
            },
            {
              "name": "Russian Federation (the)",
              "value": "RU"
            },
            {
              "name": "Rwanda",
              "value": "RW"
            },
            {
              "name": "Saint Barthélemy",
              "value": "BL"
            },
            {
              "name": "Saint Helena, Ascension and Tristan da Cunha",
              "value": "SH"
            },
            {
              "name": "Saint Kitts and Nevis",
              "value": "KN"
            },
            {
              "name": "Saint Lucia",
              "value": "LC"
            },
            {
              "name": "Saint Martin (French part)",
              "value": "MF"
            },
            {
              "name": "Saint Pierre and Miquelon",
              "value": "PM"
            },
            {
              "name": "Saint Vincent and the Grenadines",
              "value": "VC"
            },
            {
              "name": "Samoa",
              "value": "WS"
            },
            {
              "name": "San Marino",
              "value": "SM"
            },
            {
              "name": "Sao Tome and Principe",
              "value": "ST"
            },
            {
              "name": "Saudi Arabia",
              "value": "SA"
            },
            {
              "name": "Senegal",
              "value": "SN"
            },
            {
              "name": "Serbia",
              "value": "RS"
            },
            {
              "name": "Seychelles",
              "value": "SC"
            },
            {
              "name": "Sierra Leone",
              "value": "SL"
            },
            {
              "name": "Singapore",
              "value": "SG"
            },
            {
              "name": "Sint Maarten (Dutch part)",
              "value": "SX"
            },
            {
              "name": "Slovakia",
              "value": "SK"
            },
            {
              "name": "Slovenia",
              "value": "SI"
            },
            {
              "name": "Solomon Islands",
              "value": "SB"
            },
            {
              "name": "Somalia",
              "value": "SO"
            },
            {
              "name": "South Africa",
              "value": "ZA"
            },
            {
              "name": "South Georgia and the South Sandwich Islands",
              "value": "GS"
            },
            {
              "name": "South Sudan",
              "value": "SS"
            },
            {
              "name": "Spain",
              "value": "ES"
            },
            {
              "name": "Sri Lanka",
              "value": "LK"
            },
            {
              "name": "Sudan (the)",
              "value": "SD"
            },
            {
              "name": "Suriname",
              "value": "SR"
            },
            {
              "name": "Svalbard and Jan Mayen",
              "value": "SJ"
            },
            {
              "name": "Swaziland",
              "value": "SZ"
            },
            {
              "name": "Sweden",
              "value": "SE"
            },
            {
              "name": "Switzerland",
              "value": "CH"
            },
            {
              "name": "Syrian Arab Republic",
              "value": "SY"
            },
            {
              "name": "Taiwan (Province of China)",
              "value": "TW"
            },
            {
              "name": "Tajikistan",
              "value": "TJ"
            },
            {
              "name": "Tanzania, United Republic of",
              "value": "TZ"
            },
            {
              "name": "Thailand",
              "value": "TH"
            },
            {
              "name": "Timor-Leste",
              "value": "TL"
            },
            {
              "name": "Togo",
              "value": "TG"
            },
            {
              "name": "Tokelau",
              "value": "TK"
            },
            {
              "name": "Tonga",
              "value": "TO"
            },
            {
              "name": "Trinidad and Tobago",
              "value": "TT"
            },
            {
              "name": "Tunisia",
              "value": "TN"
            },
            {
              "name": "Turkey",
              "value": "TR"
            },
            {
              "name": "Turkmenistan",
              "value": "TM"
            },
            {
              "name": "Turks and Caicos Islands (the)",
              "value": "TC"
            },
            {
              "name": "Tuvalu",
              "value": "TV"
            },
            {
              "name": "Uganda",
              "value": "UG"
            },
            {
              "name": "Ukraine",
              "value": "UA"
            },
            {
              "name": "United Arab Emirates (the)",
              "value": "AE"
            },
            {
              "name": "United Kingdom of Great Britain and Northern Ireland (the)",
              "value": "GB"
            },
            {
              "name": "United States Minor Outlying Islands (the)",
              "value": "UM"
            },
            {
              "name": "United States of America (the)",
              "value": "US"
            },
            {
              "name": "Uruguay",
              "value": "UY"
            },
            {
              "name": "Uzbekistan",
              "value": "UZ"
            },
            {
              "name": "Vanuatu",
              "value": "VU"
            },
            {
              "name": "Venezuela (Bolivarian Republic of)",
              "value": "VE"
            },
            {
              "name": "Viet Nam",
              "value": "VN"
            },
            {
              "name": "Virgin Islands (British)",
              "value": "VG"
            },
            {
              "name": "Virgin Islands (U.S.)",
              "value": "VI"
            },
            {
              "name": "Wallis and Futuna",
              "value": "WF"
            },
            {
              "name": "Western Sahara*",
              "value": "EH"
            },
            {
              "name": "Yemen",
              "value": "YE"
            },
            {
              "name": "Zambia",
              "value": "ZM"
            },
            {
              "name": "Zimbabwe",
              "value": "ZW"
            }
          ],
          "default": "",
          "description": "If a country code is specified, only content that is playable in that market is returned"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "playlist",
            "artist",
            "track",
            "album"
          ],
          "operation": [
            "search"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "addSongToQueue",
      "name": "Add Song to Queue",
      "description": "Add a song to your queue"
    },
    {
      "operation": "currentlyPlaying",
      "name": "Currently Playing",
      "description": "Get your currently playing track"
    },
    {
      "operation": "nextSong",
      "name": "Next Song",
      "description": "Skip to your next track"
    },
    {
      "operation": "pause",
      "name": "Pause",
      "description": "Pause your music"
    },
    {
      "operation": "previousSong",
      "name": "Previous Song",
      "description": "Skip to your previous song"
    },
    {
      "operation": "recentlyPlayed",
      "name": "Recently Played",
      "description": "Get your recently played tracks"
    },
    {
      "operation": "resume",
      "name": "Resume",
      "description": "Resume playback on the current active device"
    },
    {
      "operation": "volume",
      "name": "Set Volume",
      "description": "Set volume on the current active device"
    },
    {
      "operation": "startMusic",
      "name": "Start Music",
      "description": "Start playing a playlist, artist, or album"
    }
  ]


node_type: nodes-base.spreadsheetFile
package_name: n8n-nodes-base
display_name: Spreadsheet File
description: Reads and writes data from a spreadsheet file like CSV, XLS, ODS, etc
category: transform
development_style: programmatic
version: 2
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2025-11-25 17:45:48
properties_schema:
  [
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "fromFile",
      "options": [
        {
          "name": "Read From File",
          "value": "fromFile",
          "description": "Reads data from a spreadsheet file",
          "action": "Read data from a spreadsheet file"
        },
        {
          "name": "Write to File",
          "value": "toFile",
          "description": "Writes the workflow data to a spreadsheet file",
          "action": "Write data to a spreadsheet file"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Input Binary Field",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "fromFile"
          ]
        }
      }
    },
    {
      "displayName": "File Format",
      "name": "fileFormat",
      "type": "options",
      "default": "autodetect",
      "description": "The format of the binary data to read from",
      "options": [
        {
          "name": "Autodetect",
          "value": "autodetect"
        },
        {
          "name": "CSV",
          "value": "csv",
          "description": "Comma-separated values"
        },
        {
          "name": "HTML",
          "value": "html",
          "description": "HTML Table"
        },
        {
          "name": "ODS",
          "value": "ods",
          "description": "OpenDocument Spreadsheet"
        },
        {
          "name": "RTF",
          "value": "rtf",
          "description": "Rich Text Format"
        },
        {
          "name": "XLS",
          "value": "xls",
          "description": "Excel"
        },
        {
          "name": "XLSX",
          "value": "xlsx",
          "description": "Excel"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "fromFile"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Delimiter",
          "name": "delimiter",
          "type": "string",
          "displayOptions": {
            "show": {
              "/fileFormat": [
                "csv"
              ]
            }
          },
          "default": ",",
          "placeholder": "e.g. ,",
          "description": "Set the field delimiter, usually a comma"
        },
        {
          "displayName": "Encoding",
          "name": "encoding",
          "type": "options",
          "displayOptions": {
            "show": {
              "/fileFormat": [
                "csv"
              ]
            }
          },
          "options": [
            {
              "name": "ASCII",
              "value": "ascii"
            },
            {
              "name": "Latin1",
              "value": "latin1"
            },
            {
              "name": "UCS-2",
              "value": "ucs-2"
            },
            {
              "name": "UCS2",
              "value": "ucs2"
            },
            {
              "name": "UTF-8",
              "value": "utf-8"
            },
            {
              "name": "UTF16LE",
              "value": "utf16le"
            },
            {
              "name": "UTF8",
              "value": "utf8"
            }
          ],
          "default": "utf-8"
        },
        {
          "displayName": "Exclude Byte Order Mark (BOM)",
          "name": "enableBOM",
          "type": "boolean",
          "displayOptions": {
            "show": {
              "/fileFormat": [
                "csv"
              ]
            }
          },
          "default": false,
          "description": "Whether to detect and exclude the byte-order-mark from the CSV Input if present"
        },
        {
          "displayName": "Preserve Quotes",
          "name": "relaxQuotes",
          "type": "boolean",
          "displayOptions": {
            "show": {
              "/fileFormat": [
                "csv"
              ]
            }
          },
          "default": false,
          "description": "Whether to handle unclosed quotes in CSV fields as part of the field's content instead of throwing a parsing error"
        },
        {
          "displayName": "Header Row",
          "name": "headerRow",
          "type": "boolean",
          "default": true,
          "description": "Whether the first row of the file contains the header names"
        },
        {
          "displayName": "Include Empty Cells",
          "name": "includeEmptyCells",
          "type": "boolean",
          "default": false,
          "description": "Whether to include empty cells when reading from file. They will be filled with an empty string."
        },
        {
          "displayName": "Max Number of Rows to Load",
          "name": "maxRowCount",
          "type": "number",
          "displayOptions": {
            "show": {
              "/fileFormat": [
                "csv"
              ]
            }
          },
          "default": -1,
          "placeholder": "e.g. 10",
          "description": "Stop handling records after the requested number of rows are read. Use -1 if you want to load all rows."
        },
        {
          "displayName": "Range",
          "name": "range",
          "type": "string",
          "default": "",
          "description": "The range to read from the table. If set to a number it will be the starting row. If set to string it will be used as A1-style notation range."
        },
        {
          "displayName": "RAW Data",
          "name": "rawData",
          "type": "boolean",
          "default": false,
          "description": "Whether to return RAW data, instead of parsing it"
        },
        {
          "displayName": "Read As String",
          "name": "readAsString",
          "type": "boolean",
          "default": false,
          "description": "In some cases and file formats, it is necessary to read as string to ensure special characters are interpreted correctly"
        },
        {
          "displayName": "Sheet Name",
          "name": "sheetName",
          "type": "string",
          "default": "Sheet",
          "placeholder": "e.g. mySheet",
          "description": "Name of the sheet to read from in the spreadsheet (if supported). If not set, the first one will be chosen."
        },
        {
          "displayName": "Starting Line",
          "name": "fromLine",
          "type": "number",
          "displayOptions": {
            "show": {
              "/fileFormat": [
                "csv"
              ]
            }
          },
          "default": 0,
          "placeholder": "e.g. 0",
          "description": "Start handling records from the requested line number. Starts at 0."
        },
        {
          "displayName": "Skip Records With Errors",
          "name": "skipRecordsWithErrors",
          "type": "fixedCollection",
          "default": {
            "value": {
              "enabled": true,
              "maxSkippedRecords": -1
            }
          },
          "options": [
            {
              "displayName": "Value",
              "name": "value",
              "values": [
                {
                  "displayName": "Enabled",
                  "name": "enabled",
                  "type": "boolean",
                  "default": false,
                  "description": "Whether to skip records with errors when reading from file"
                },
                {
                  "displayName": "Max Skipped Records",
                  "name": "maxSkippedRecords",
                  "type": "number",
                  "default": -1,
                  "description": "The maximum number of records that can be skipped, will throw an error if exceeded. Set to -1 to remove limit."
                }
              ]
            }
          ],
          "displayOptions": {
            "show": {
              "/fileFormat": [
                "csv"
              ]
            }
          }
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "fromFile"
          ]
        }
      }
    },
    {
      "displayName": "File Format",
      "name": "fileFormat",
      "type": "options",
      "default": "xls",
      "description": "The format of the file to save the data as",
      "options": [
        {
          "name": "CSV",
          "value": "csv",
          "description": "Comma-separated values"
        },
        {
          "name": "HTML",
          "value": "html",
          "description": "HTML Table"
        },
        {
          "name": "ODS",
          "value": "ods",
          "description": "OpenDocument Spreadsheet"
        },
        {
          "name": "RTF",
          "value": "rtf",
          "description": "Rich Text Format"
        },
        {
          "name": "XLS",
          "value": "xls",
          "description": "Excel"
        },
        {
          "name": "XLSX",
          "value": "xlsx",
          "description": "Excel"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "toFile"
          ]
        }
      }
    },
    {
      "displayName": "Put Output File in Field",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "toFile"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Compression",
          "name": "compression",
          "type": "boolean",
          "displayOptions": {
            "show": {
              "/fileFormat": [
                "xlsx",
                "ods"
              ]
            }
          },
          "default": false,
          "description": "Whether compression will be applied or not"
        },
        {
          "displayName": "File Name",
          "name": "fileName",
          "type": "string",
          "default": "",
          "description": "File name to set in binary data. By default will \"spreadsheet.&lt;fileFormat&gt;\" be used."
        },
        {
          "displayName": "Header Row",
          "name": "headerRow",
          "type": "boolean",
          "default": true,
          "description": "Whether the first row of the file contains the header names"
        },
        {
          "displayName": "Sheet Name",
          "name": "sheetName",
          "type": "string",
          "displayOptions": {
            "show": {
              "/fileFormat": [
                "ods",
                "xls",
                "xlsx"
              ]
            }
          },
          "default": "Sheet",
          "description": "Name of the sheet to create in the spreadsheet"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "toFile"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "fromFile",
      "name": "Read From File",
      "description": "Reads data from a spreadsheet file"
    },
    {
      "operation": "toFile",
      "name": "Write to File",
      "description": "Writes the workflow data to a spreadsheet file"
    }
  ]


node_type: nodes-base.sseTrigger
package_name: n8n-nodes-base
display_name: SSE Trigger
description: Triggers the workflow when Server-Sent Events occur
category: trigger
development_style: programmatic
version: 1
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2025-11-25 17:45:48
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: SSE Trigger node documentation
  description: Learn how to use the SSE Trigger node in n8n. Follow technical documentation to integrate SSE Trigger node into your workflows.
  contentType: [integration, reference]
  priority: medium
  ---

  # SSE Trigger node

  Server-Sent Events (SSE) is a server push technology enabling a client to receive automatic updates from a server using HTTP connection. The SSE Trigger node is used to receive server-sent events.

  ## Node parameters

  The SSE Trigger node has one parameter, the **URL**. Enter the URL from which to receive the server-sent events (SSE).


  ## Templates and examples

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

properties_schema:
  [
    {
      "displayName": "URL",
      "name": "url",
      "type": "string",
      "default": "",
      "description": "The URL to receive the SSE from",
      "required": true
    }
  ]


node_type: nodes-base.ssh
package_name: n8n-nodes-base
display_name: SSH
description: Execute commands via SSH
category: input
development_style: programmatic
version: 1
outputs:
  [
  "main"
  ]

updated_at: 2025-11-25 17:45:48
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: SSH
  description: Documentation for the SSH node in n8n, a workflow automation platform. Includes guidance on usage, and links to examples.
  contentType: [integration, reference]
  priority: medium
  ---

  # SSH

  The SSH node is useful for executing commands using the Secure Shell Protocol.

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

  ## Operations

  - [**Execute** a command](#execute-command)
  - [**Download** a file](#download-file)
  - [**Upload** a file](#upload-file)

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

  ### Execute Command

  Configure this operation with these parameters:

  - **Credential to connect with**: Select an existing or create a new [SSH credential](/integrations/builtin/credentials/ssh.md) to connect with.
  - **Command**: Enter the command to execute on the remote device.
  - **Working Directory**: Enter the directory where n8n should execute the command.

  ### Download File

  - **Credential to connect with**: Select an existing or create a new [SSH credential](/integrations/builtin/credentials/ssh.md) to connect with.
  - **Path**: Enter the path for the file you want to download. This path must include the file name. The downloaded file will use this file name. To use a different name, use the **File Name** option. Refer to [Download File options](#download-file-options) for more information.
  - **File Property**: Enter the name of the object property that holds the binary data you want to download.

  #### Download File options

  You can further configure this operation with the **File Name** option. Use this option to override the binary data file name to a name of your choice.

  ### Upload File

  - **Credential to connect with**: Select an existing or create a new [SSH credential](/integrations/builtin/credentials/ssh.md) to connect with.
  - **Input Binary Field**: Enter the name of the input binary field that contains the file you want to upload.
  - **Target Directory**: The directory to upload the file to. The name of the file is taken from the binary data file name. To enter a different name, use the **File Name** option. Refer to [Upload File options](#upload-file-options) for more information.

  #### Upload File options

  You can further configure this operation with the **File Name** option. Use this option to override the binary data file name to a name of your choice.

  ## Templates and examples

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

properties_schema:
  [
    {
      "displayName": "Authentication",
      "name": "authentication",
      "type": "options",
      "default": "password",
      "options": [
        {
          "name": "Password",
          "value": "password"
        },
        {
          "name": "Private Key",
          "value": "privateKey"
        }
      ]
    },
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "command",
      "options": [
        {
          "name": "Command",
          "value": "command"
        },
        {
          "name": "File",
          "value": "file"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "execute",
      "options": [
        {
          "name": "Execute",
          "value": "execute",
          "description": "Execute a command",
          "action": "Execute a command"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "command"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Command",
      "name": "command",
      "type": "string",
      "default": "",
      "description": "The command to be executed on a remote device",
      "displayOptions": {
        "show": {
          "resource": [
            "command"
          ],
          "operation": [
            "execute"
          ]
        }
      }
    },
    {
      "displayName": "Working Directory",
      "name": "cwd",
      "type": "string",
      "default": "/",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "command"
          ],
          "operation": [
            "execute"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "upload",
      "options": [
        {
          "name": "Download",
          "value": "download",
          "description": "Download a file",
          "action": "Download a file"
        },
        {
          "name": "Upload",
          "value": "upload",
          "description": "Upload a file",
          "action": "Upload a file"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Input Binary Field",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "upload"
          ],
          "resource": [
            "file"
          ]
        }
      }
    },
    {
      "displayName": "Target Directory",
      "name": "path",
      "type": "string",
      "default": "",
      "description": "The directory to upload the file to. The name of the file does not need to be specified, it's taken from the binary data file name. To override this behavior, set the parameter \"File Name\" under options.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "upload"
          ]
        }
      }
    },
    {
      "displayName": "Path",
      "name": "path",
      "type": "string",
      "default": "",
      "description": "The file path of the file to download. Has to contain the full path including file name.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "download"
          ]
        }
      }
    },
    {
      "displayName": "File Property",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "description": "Object property name which holds binary data",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "download"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "File Name",
          "name": "fileName",
          "type": "string",
          "default": "",
          "description": "Overrides the binary data file name"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "upload",
            "download"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "execute",
      "name": "Execute",
      "description": "Execute a command"
    }
  ]

credentials_required:
  [
    {
      "name": "sshPassword",
      "required": true,
      "testedBy": "sshConnectionTest",
      "displayOptions": {
        "show": {
          "authentication": [
            "password"
          ]
        }
      }
    },
    {
      "name": "sshPrivateKey",
      "required": true,
      "testedBy": "sshConnectionTest",
      "displayOptions": {
        "show": {
          "authentication": [
            "privateKey"
          ]
        }
      }
    }
  ]


node_type: nodes-base.stackby
package_name: n8n-nodes-base
display_name: Stackby
description: Read, write, and delete data in Stackby
category: transform
development_style: programmatic
version: 1
credentials_required:
  [
  {
  "name": "stackbyApi",
  "required": true
  }
  ]

outputs:
  [
  "main"
  ]

updated_at: 2025-11-25 17:45:48
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Stackby node documentation
  description: Learn how to use the Stackby node in n8n. Follow technical documentation to integrate Stackby node into your workflows.
  contentType: [integration, reference]
  ---

  # Stackby node

  Use the Stackby node to automate work in Stackby, and integrate Stackby with other applications. n8n has built-in support for a wide range of Stackby features, including appending, deleting, listing and reading. 

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

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

  ## Operations

  - Append
  - Delete
  - List
  - Read

  ## Templates and examples

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

properties_schema:
  [
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "append",
      "options": [
        {
          "name": "Append",
          "value": "append"
        },
        {
          "name": "Delete",
          "value": "delete"
        },
        {
          "name": "List",
          "value": "list"
        },
        {
          "name": "Read",
          "value": "read"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Stack ID",
      "name": "stackId",
      "type": "string",
      "default": "",
      "description": "The ID of the stack to access",
      "required": true
    },
    {
      "displayName": "Table",
      "name": "table",
      "type": "string",
      "default": "",
      "description": "Enter Table Name",
      "required": true
    },
    {
      "displayName": "ID",
      "name": "id",
      "type": "string",
      "default": "",
      "description": "ID of the record to return",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "read",
            "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": {
          "operation": [
            "list"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 1000,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "operation": [
            "list"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 1000
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "View",
          "name": "view",
          "type": "string",
          "default": "",
          "placeholder": "All Stories",
          "description": "The name or ID of a view in the Stories table. If set, only the records in that view will be returned. The records will be sorted according to the order of the view."
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "list"
          ]
        }
      }
    },
    {
      "displayName": "Columns",
      "name": "columns",
      "type": "string",
      "default": "",
      "description": "Comma-separated list of the properties which should used as columns for the new rows",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "append"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "append",
      "name": "Append"
    },
    {
      "operation": "delete",
      "name": "Delete"
    },
    {
      "operation": "list",
      "name": "List"
    },
    {
      "operation": "read",
      "name": "Read"
    }
  ]


node_type: nodes-base.start
package_name: n8n-nodes-base
display_name: Start
description: Starts the workflow execution from this node
category: input
development_style: programmatic
version: 1
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2025-11-25 17:45:48
properties_schema:
  [
    {
      "displayName": "This node is where a manual workflow execution starts. To make one, go back to the canvas and click ‘execute workflow’",
      "name": "notice",
      "type": "notice",
      "default": ""
    }
  ]


node_type: nodes-base.stopAndError
package_name: n8n-nodes-base
display_name: Stop and Error
description: Throw an error in the workflow
category: input
development_style: programmatic
version: 1
operations: []
credentials_required: []
outputs: []
updated_at: 2025-11-25 17:45:48
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Stop And Error
  description: Documentation for the Stop And Error node in n8n, a workflow automation platform. Includes guidance on usage, and links to examples.
  contentType: [integration, reference]
  priority: high
  ---

  # Stop And Error

  Use the Stop And Error node to display custom error messages, cause executions to fail under certain conditions, and send custom error information to error workflows.

  ## Operations

  * Error Message
  * Error Object

  ## Node parameters

  Both operations include one node parameter, the **Error Type**. Use this parameter to select the type of error to throw. Choose between the two operations: **Error Message** and **Error Object**.

  The other parameters depend on which operation you select.

  ### Error Message parameters

  The Error Message Error Type adds one parameter, the **Error Message** field. Enter the message you'd like to throw.

  ### Error Object parameters

  The Error Object Error Type adds one parameter, the **Error Object**. Enter a JSON object that contains the error properties you'd like to throw.

  ## Templates and examples

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

  ## Related resources

  You can use the Stop And Error node with the [Error trigger](/integrations/builtin/core-nodes/n8n-nodes-base.errortrigger.md) node.

  Read more about [Error workflows](/flow-logic/error-handling.md) in n8n workflows.

properties_schema:
  [
    {
      "displayName": "Error Type",
      "name": "errorType",
      "type": "options",
      "default": "errorMessage",
      "description": "Type of error to throw",
      "options": [
        {
          "name": "Error Message",
          "value": "errorMessage"
        },
        {
          "name": "Error Object",
          "value": "errorObject"
        }
      ]
    },
    {
      "displayName": "Error Message",
      "name": "errorMessage",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "errorType": [
            "errorMessage"
          ]
        }
      }
    },
    {
      "displayName": "Error Object",
      "name": "errorObject",
      "type": "json",
      "default": "",
      "description": "Object containing error properties",
      "required": true,
      "displayOptions": {
        "show": {
          "errorType": [
            "errorObject"
          ]
        }
      },
      "typeOptions": {
        "alwaysOpenEditWindow": true
      }
    }
  ]


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

updated_at: 2025-11-25 17:45:48
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Storyblok node documentation
  description: Learn how to use the Storyblok node in n8n. Follow technical documentation to integrate Storyblok node into your workflows.
  contentType: [integration, reference]
  ---

  # Storyblok node

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

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

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

  ## Operations

  ### Content API

  - **Story**
      - Get a story
      - Get all stories


  ### Management API

  - **Story**
      - Delete a story
      - Get a story
      - Get all stories
      - Publish a story
      - Unpublish a story

  ## Templates and examples

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

properties_schema:
  [
    {
      "displayName": "Source",
      "name": "source",
      "type": "options",
      "default": "contentApi",
      "description": "Pick where your data comes from, Content or Management API",
      "options": [
        {
          "name": "Content API",
          "value": "contentApi"
        },
        {
          "name": "Management API",
          "value": "managementApi"
        }
      ]
    },
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "story",
      "options": [
        {
          "name": "Story",
          "value": "story"
        }
      ],
      "displayOptions": {
        "show": {
          "source": [
            "contentApi"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "story",
      "options": [
        {
          "name": "Story",
          "value": "story"
        }
      ],
      "displayOptions": {
        "show": {
          "source": [
            "managementApi"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "description": "Get a story",
          "action": "Get a story"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many stories",
          "action": "Get many stories"
        }
      ],
      "displayOptions": {
        "show": {
          "source": [
            "contentApi"
          ],
          "resource": [
            "story"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Identifier",
      "name": "identifier",
      "type": "string",
      "default": "",
      "description": "The ID or slug of the story to get",
      "required": true,
      "displayOptions": {
        "show": {
          "source": [
            "contentApi"
          ],
          "resource": [
            "story"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "source": [
            "contentApi"
          ],
          "resource": [
            "story"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "source": [
            "contentApi"
          ],
          "resource": [
            "story"
          ],
          "operation": [
            "getAll"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Filters",
      "name": "filters",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Starts With",
          "name": "starts_with",
          "type": "string",
          "default": "",
          "description": "Filter by slug"
        }
      ],
      "displayOptions": {
        "show": {
          "source": [
            "contentApi"
          ],
          "resource": [
            "story"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a story",
          "action": "Delete a story"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get a story",
          "action": "Get a story"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many stories",
          "action": "Get many stories"
        },
        {
          "name": "Publish",
          "value": "publish",
          "description": "Publish a story",
          "action": "Publish a story"
        },
        {
          "name": "Unpublish",
          "value": "unpublish",
          "description": "Unpublish a story",
          "action": "Unpublish a story"
        }
      ],
      "displayOptions": {
        "show": {
          "source": [
            "managementApi"
          ],
          "resource": [
            "story"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Space Name or ID",
      "name": "space",
      "type": "options",
      "default": "",
      "description": "The name of the space. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "source": [
            "managementApi"
          ],
          "resource": [
            "story"
          ],
          "operation": [
            "delete"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getSpaces"
      }
    },
    {
      "displayName": "Story ID",
      "name": "storyId",
      "type": "string",
      "default": "",
      "description": "Numeric ID of the story",
      "required": true,
      "displayOptions": {
        "show": {
          "source": [
            "managementApi"
          ],
          "resource": [
            "story"
          ],
          "operation": [
            "delete"
          ]
        }
      }
    },
    {
      "displayName": "Space Name or ID",
      "name": "space",
      "type": "options",
      "default": "",
      "description": "The name of the space. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "source": [
            "managementApi"
          ],
          "resource": [
            "story"
          ],
          "operation": [
            "get"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getSpaces"
      }
    },
    {
      "displayName": "Story ID",
      "name": "storyId",
      "type": "string",
      "default": "",
      "description": "Numeric ID of the story",
      "required": true,
      "displayOptions": {
        "show": {
          "source": [
            "managementApi"
          ],
          "resource": [
            "story"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Space Name or ID",
      "name": "space",
      "type": "options",
      "default": "",
      "description": "The name of the space. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "source": [
            "managementApi"
          ],
          "resource": [
            "story"
          ],
          "operation": [
            "getAll"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getSpaces"
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "source": [
            "managementApi"
          ],
          "resource": [
            "story"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "source": [
            "managementApi"
          ],
          "resource": [
            "story"
          ],
          "operation": [
            "getAll"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Filters",
      "name": "filters",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Starts With",
          "name": "starts_with",
          "type": "string",
          "default": "",
          "description": "Filter by slug"
        }
      ],
      "displayOptions": {
        "show": {
          "source": [
            "managementApi"
          ],
          "resource": [
            "story"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Space Name or ID",
      "name": "space",
      "type": "options",
      "default": "",
      "description": "The name of the space. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "source": [
            "managementApi"
          ],
          "resource": [
            "story"
          ],
          "operation": [
            "publish"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getSpaces"
      }
    },
    {
      "displayName": "Story ID",
      "name": "storyId",
      "type": "string",
      "default": "",
      "description": "Numeric ID of the story",
      "required": true,
      "displayOptions": {
        "show": {
          "source": [
            "managementApi"
          ],
          "resource": [
            "story"
          ],
          "operation": [
            "publish"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Release ID",
          "name": "releaseId",
          "type": "string",
          "default": "",
          "description": "Numeric ID of release"
        },
        {
          "displayName": "Language",
          "name": "language",
          "type": "string",
          "default": "",
          "description": "Language code to publish the story individually (must be enabled in the space settings)"
        }
      ],
      "displayOptions": {
        "show": {
          "source": [
            "managementApi"
          ],
          "resource": [
            "story"
          ],
          "operation": [
            "publish"
          ]
        }
      }
    },
    {
      "displayName": "Space Name or ID",
      "name": "space",
      "type": "options",
      "default": "",
      "description": "The name of the space. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "source": [
            "managementApi"
          ],
          "resource": [
            "story"
          ],
          "operation": [
            "unpublish"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getSpaces"
      }
    },
    {
      "displayName": "Story ID",
      "name": "storyId",
      "type": "string",
      "default": "",
      "description": "Numeric ID of the story",
      "required": true,
      "displayOptions": {
        "show": {
          "source": [
            "managementApi"
          ],
          "resource": [
            "story"
          ],
          "operation": [
            "unpublish"
          ]
        }
      }
    }
  ]

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

credentials_required:
  [
    {
      "name": "storyblokContentApi",
      "required": true,
      "displayOptions": {
        "show": {
          "source": [
            "contentApi"
          ]
        }
      }
    },
    {
      "name": "storyblokManagementApi",
      "required": true,
      "displayOptions": {
        "show": {
          "source": [
            "managementApi"
          ]
        }
      }
    }
  ]


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

updated_at: 2025-11-25 17:45:48
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Strapi node documentation
  description: Learn how to use the Strapi node in n8n. Follow technical documentation to integrate Strapi node into your workflows.
  contentType: [integration, reference]
  ---

  # Strapi node

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

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

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

  ## Operations

  * Entry
      * Create
      * Delete
      * Get
      * Get Many
      * Update

  ## Templates and examples

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

  ## Related resources

  Refer to [Strapi's documentation](https://docs.strapi.io/dev-docs/api/rest){:target=_blank .external-link} for more information about the service.

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

properties_schema:
  [
    {
      "displayName": "Authentication",
      "name": "authentication",
      "type": "options",
      "default": "password",
      "options": [
        {
          "name": "Username & Password",
          "value": "password"
        },
        {
          "name": "API Token",
          "value": "token"
        }
      ]
    },
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "entry",
      "options": [
        {
          "name": "Entry",
          "value": "entry"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create an entry",
          "action": "Create an entry"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete an entry",
          "action": "Delete an entry"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get an entry",
          "action": "Get an entry"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many entries",
          "action": "Get many entries"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update an entry",
          "action": "Update an entry"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "entry"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Content Type",
      "name": "contentType",
      "type": "string",
      "default": "",
      "description": "Name of the content type",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "entry"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Columns",
      "name": "columns",
      "type": "string",
      "default": "",
      "description": "Comma-separated list of the properties which should used as columns for the new rows",
      "displayOptions": {
        "show": {
          "resource": [
            "entry"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Content Type",
      "name": "contentType",
      "type": "string",
      "default": "",
      "description": "Name of the content type",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "entry"
          ],
          "operation": [
            "delete"
          ]
        }
      }
    },
    {
      "displayName": "Entry ID",
      "name": "entryId",
      "type": "string",
      "default": "",
      "description": "The ID of the entry to delete",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "entry"
          ],
          "operation": [
            "delete"
          ]
        }
      }
    },
    {
      "displayName": "Content Type",
      "name": "contentType",
      "type": "string",
      "default": "",
      "description": "Name of the content type",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "entry"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Entry ID",
      "name": "entryId",
      "type": "string",
      "default": "",
      "description": "The ID of the entry to get",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "entry"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Content Type",
      "name": "contentType",
      "type": "string",
      "default": "",
      "description": "Name of the content type",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "entry"
          ],
          "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": [
            "entry"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "entry"
          ],
          "operation": [
            "getAll"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Publication State",
          "name": "publicationState",
          "type": "options",
          "options": [
            {
              "name": "Live",
              "value": "live"
            },
            {
              "name": "Preview",
              "value": "preview"
            }
          ],
          "default": "",
          "description": "Only select entries matching the publication state provided"
        },
        {
          "displayName": "Sort Fields",
          "name": "sort",
          "type": "string",
          "typeOptions": {
            "multipleValues": true,
            "multipleValueButtonText": "Add Sort Field"
          },
          "default": "",
          "placeholder": "name:asc",
          "description": "Name of the fields to sort the data by. By default will be sorted ascendingly. To modify that behavior, you have to add the sort direction after the name of sort field preceded by a colon. For example: <code>name:asc</code>."
        },
        {
          "displayName": "Where (JSON)",
          "name": "where",
          "type": "string",
          "default": "",
          "description": "JSON query to filter the data. <a href=\"https://strapi.io/documentation/developer-docs/latest/developer-resources/content-api/content-api.html#filters\">More info</a>."
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "entry"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Content Type",
      "name": "contentType",
      "type": "string",
      "default": "",
      "description": "Name of the content type",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "entry"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Update Key",
      "name": "updateKey",
      "type": "string",
      "default": "id",
      "description": "Name of the property which decides which rows in the database should be updated. Normally that would be \"id\".",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "entry"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Columns",
      "name": "columns",
      "type": "string",
      "default": "",
      "description": "Comma-separated list of the properties which should used as columns for the new rows",
      "displayOptions": {
        "show": {
          "resource": [
            "entry"
          ],
          "operation": [
            "update"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "create",
      "name": "Create",
      "description": "Create an entry"
    },
    {
      "operation": "delete",
      "name": "Delete",
      "description": "Delete an entry"
    },
    {
      "operation": "get",
      "name": "Get",
      "description": "Get an entry"
    },
    {
      "operation": "getAll",
      "name": "Get Many",
      "description": "Get many entries"
    },
    {
      "operation": "update",
      "name": "Update",
      "description": "Update an entry"
    }
  ]

credentials_required:
  [
    {
      "name": "strapiApi",
      "required": true,
      "testedBy": "strapiApiTest",
      "displayOptions": {
        "show": {
          "authentication": [
            "password"
          ]
        }
      }
    },
    {
      "name": "strapiTokenApi",
      "required": true,
      "displayOptions": {
        "show": {
          "authentication": [
            "token"
          ]
        }
      }
    }
  ]


node_type: nodes-base.strava
package_name: n8n-nodes-base
display_name: Strava
description: Consume Strava API
category: input
development_style: programmatic
version: 1.1
credentials_required:
  [
  {
  "name": "stravaOAuth2Api",
  "required": true
  }
  ]

outputs:
  [
  "main"
  ]

updated_at: 2025-11-25 17:45:48
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Strava node documentation
  description: Learn how to use the Strava node in n8n. Follow technical documentation to integrate Strava node into your workflows.
  contentType: [integration, reference]
  ---

  # Strava node

  Use the Strava node to automate work in Strava, and integrate Strava with other applications. n8n has built-in support for a wide range of Strava features, including creating new activities, and getting activity information. 

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

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

  ## Operations

  * Activity
      * Create a new activity
      * Get an activity
      * Get all activities
      * Get all activity comments
      * Get all activity kudos
      * Get all activity laps
      * Get all activity zones
      * Update an activity

  ## Templates and examples

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

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

properties_schema:
  [
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "activity",
      "options": [
        {
          "name": "Activity",
          "value": "activity"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a new activity",
          "action": "Create an activity"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get an activity",
          "action": "Get an activity"
        },
        {
          "name": "Get Comments",
          "value": "getComments",
          "description": "Get all activity comments",
          "action": "Get all activity comments"
        },
        {
          "name": "Get Kudos",
          "value": "getKudos",
          "description": "Get all activity kudos",
          "action": "Get all activity kudos"
        },
        {
          "name": "Get Laps",
          "value": "getLaps",
          "description": "Get all activity laps",
          "action": "Get all activity laps"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many activities",
          "action": "Get many activities"
        },
        {
          "name": "Get Streams",
          "value": "getStreams",
          "description": "Get activity streams",
          "action": "Get all activity streams"
        },
        {
          "name": "Get Zones",
          "value": "getZones",
          "description": "Get all activity zones",
          "action": "Get all activity zones"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update an activity",
          "action": "Update an activity"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "activity"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Name",
      "name": "name",
      "type": "string",
      "default": "",
      "description": "The name of the activity",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "activity"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Type",
      "name": "type",
      "type": "string",
      "default": "",
      "description": "Type of activity. For example - Run, Ride etc.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "activity"
          ],
          "operation": [
            "create"
          ],
          "@version": [
            1
          ]
        }
      }
    },
    {
      "displayName": "Sport Type",
      "name": "sport_type",
      "type": "options",
      "default": "Run",
      "description": "Type of sport",
      "options": [
        {
          "name": "Alpine Ski",
          "value": "AlpineSki"
        },
        {
          "name": "Backcountry Ski",
          "value": "BackcountrySki"
        },
        {
          "name": "Badminton",
          "value": "Badminton"
        },
        {
          "name": "Canoeing",
          "value": "Canoeing"
        },
        {
          "name": "Crossfit",
          "value": "Crossfit"
        },
        {
          "name": "EBike Ride",
          "value": "EBikeRide"
        },
        {
          "name": "Elliptical",
          "value": "Elliptical"
        },
        {
          "name": "EMountain Bike Ride",
          "value": "EMountainBikeRide"
        },
        {
          "name": "Golf",
          "value": "Golf"
        },
        {
          "name": "Gravel Ride",
          "value": "GravelRide"
        },
        {
          "name": "Handcycle",
          "value": "Handcycle"
        },
        {
          "name": "HIIT",
          "value": "HighIntensityIntervalTraining"
        },
        {
          "name": "Hike",
          "value": "Hike"
        },
        {
          "name": "Ice Skate",
          "value": "IceSkate"
        },
        {
          "name": "Inline Skate",
          "value": "InlineSkate"
        },
        {
          "name": "Kayaking",
          "value": "Kayaking"
        },
        {
          "name": "Kitesurf",
          "value": "Kitesurf"
        },
        {
          "name": "Mountain Bike Ride",
          "value": "MountainBikeRide"
        },
        {
          "name": "Nordic Ski",
          "value": "NordicSki"
        },
        {
          "name": "Pickleball",
          "value": "Pickleball"
        },
        {
          "name": "Pilates",
          "value": "Pilates"
        },
        {
          "name": "Racquetball",
          "value": "Racquetball"
        },
        {
          "name": "Ride",
          "value": "Ride"
        },
        {
          "name": "Rock Climbing",
          "value": "RockClimbing"
        },
        {
          "name": "Roller Ski",
          "value": "RollerSki"
        },
        {
          "name": "Rowing",
          "value": "Rowing"
        },
        {
          "name": "Run",
          "value": "Run"
        },
        {
          "name": "Sail",
          "value": "Sail"
        },
        {
          "name": "Skateboard",
          "value": "Skateboard"
        },
        {
          "name": "Snowboard",
          "value": "Snowboard"
        },
        {
          "name": "Snowshoe",
          "value": "Snowshoe"
        },
        {
          "name": "Soccer",
          "value": "Soccer"
        },
        {
          "name": "Squash",
          "value": "Squash"
        },
        {
          "name": "Stair Stepper",
          "value": "StairStepper"
        },
        {
          "name": "Stand Up Paddling",
          "value": "StandUpPaddling"
        },
        {
          "name": "Surfing",
          "value": "Surfing"
        },
        {
          "name": "Swim",
          "value": "Swim"
        },
        {
          "name": "Table Tennis",
          "value": "TableTennis"
        },
        {
          "name": "Tennis",
          "value": "Tennis"
        },
        {
          "name": "Trail Run",
          "value": "TrailRun"
        },
        {
          "name": "Velomobile",
          "value": "Velomobile"
        },
        {
          "name": "Virtual Ride",
          "value": "VirtualRide"
        },
        {
          "name": "Virtual Row",
          "value": "VirtualRow"
        },
        {
          "name": "Virtual Run",
          "value": "VirtualRun"
        },
        {
          "name": "Walk",
          "value": "Walk"
        },
        {
          "name": "Weight Training",
          "value": "WeightTraining"
        },
        {
          "name": "Wheelchair",
          "value": "Wheelchair"
        },
        {
          "name": "Windsurf",
          "value": "Windsurf"
        },
        {
          "name": "Workout",
          "value": "Workout"
        },
        {
          "name": "Yoga",
          "value": "Yoga"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "activity"
          ],
          "operation": [
            "create"
          ]
        },
        "hide": {
          "@version": [
            1
          ]
        }
      }
    },
    {
      "displayName": "Start Date",
      "name": "startDate",
      "type": "dateTime",
      "default": "",
      "description": "ISO 8601 formatted date time",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "activity"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Elapsed Time (Seconds)",
      "name": "elapsedTime",
      "type": "number",
      "default": 0,
      "description": "In seconds",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "activity"
          ],
          "operation": [
            "create"
          ]
        }
      },
      "typeOptions": {
        "minValue": 0
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Commute",
          "name": "commute",
          "type": "boolean",
          "default": false,
          "description": "Whether to mark as commute"
        },
        {
          "displayName": "Description",
          "name": "description",
          "type": "string",
          "default": "",
          "description": "Description of the activity"
        },
        {
          "displayName": "Distance",
          "name": "distance",
          "type": "number",
          "typeOptions": {
            "minValue": 0
          },
          "default": 0,
          "description": "In meters"
        },
        {
          "displayName": "Trainer",
          "name": "trainer",
          "type": "boolean",
          "default": false,
          "description": "Whether to mark as a trainer activity"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "activity"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Activity ID",
      "name": "activityId",
      "type": "string",
      "default": "",
      "description": "ID or email of activity",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "activity"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Update Fields",
      "name": "updateFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Commute",
          "name": "commute",
          "type": "boolean",
          "default": false,
          "description": "Whether to mark as commute"
        },
        {
          "displayName": "Description",
          "name": "description",
          "type": "string",
          "default": "",
          "description": "Description of the activity"
        },
        {
          "displayName": "Gear ID",
          "name": "gear_id",
          "type": "string",
          "default": "",
          "description": "Identifier for the gear associated with the activity. ‘none’ clears gear from activity."
        },
        {
          "displayName": "Mute Activity",
          "name": "hide_from_home",
          "type": "boolean",
          "default": false,
          "description": "Do not publish to Home or Club feeds"
        },
        {
          "displayName": "Name",
          "name": "name",
          "type": "string",
          "default": "",
          "description": "The name of the activity"
        },
        {
          "displayName": "Type",
          "name": "type",
          "type": "string",
          "default": "",
          "description": "Type of activity. For example - Run, Ride etc.",
          "displayOptions": {
            "show": {
              "@version": [
                1
              ]
            }
          }
        },
        {
          "displayName": "Sport Type",
          "name": "sport_type",
          "type": "options",
          "options": [
            {
              "name": "Alpine Ski",
              "value": "AlpineSki"
            },
            {
              "name": "Backcountry Ski",
              "value": "BackcountrySki"
            },
            {
              "name": "Badminton",
              "value": "Badminton"
            },
            {
              "name": "Canoeing",
              "value": "Canoeing"
            },
            {
              "name": "Crossfit",
              "value": "Crossfit"
            },
            {
              "name": "EBike Ride",
              "value": "EBikeRide"
            },
            {
              "name": "Elliptical",
              "value": "Elliptical"
            },
            {
              "name": "EMountain Bike Ride",
              "value": "EMountainBikeRide"
            },
            {
              "name": "Golf",
              "value": "Golf"
            },
            {
              "name": "Gravel Ride",
              "value": "GravelRide"
            },
            {
              "name": "Handcycle",
              "value": "Handcycle"
            },
            {
              "name": "HIIT",
              "value": "HighIntensityIntervalTraining"
            },
            {
              "name": "Hike",
              "value": "Hike"
            },
            {
              "name": "Ice Skate",
              "value": "IceSkate"
            },
            {
              "name": "Inline Skate",
              "value": "InlineSkate"
            },
            {
              "name": "Kayaking",
              "value": "Kayaking"
            },
            {
              "name": "Kitesurf",
              "value": "Kitesurf"
            },
            {
              "name": "Mountain Bike Ride",
              "value": "MountainBikeRide"
            },
            {
              "name": "Nordic Ski",
              "value": "NordicSki"
            },
            {
              "name": "Pickleball",
              "value": "Pickleball"
            },
            {
              "name": "Pilates",
              "value": "Pilates"
            },
            {
              "name": "Racquetball",
              "value": "Racquetball"
            },
            {
              "name": "Ride",
              "value": "Ride"
            },
            {
              "name": "Rock Climbing",
              "value": "RockClimbing"
            },
            {
              "name": "Roller Ski",
              "value": "RollerSki"
            },
            {
              "name": "Rowing",
              "value": "Rowing"
            },
            {
              "name": "Run",
              "value": "Run"
            },
            {
              "name": "Sail",
              "value": "Sail"
            },
            {
              "name": "Skateboard",
              "value": "Skateboard"
            },
            {
              "name": "Snowboard",
              "value": "Snowboard"
            },
            {
              "name": "Snowshoe",
              "value": "Snowshoe"
            },
            {
              "name": "Soccer",
              "value": "Soccer"
            },
            {
              "name": "Squash",
              "value": "Squash"
            },
            {
              "name": "Stair Stepper",
              "value": "StairStepper"
            },
            {
              "name": "Stand Up Paddling",
              "value": "StandUpPaddling"
            },
            {
              "name": "Surfing",
              "value": "Surfing"
            },
            {
              "name": "Swim",
              "value": "Swim"
            },
            {
              "name": "Table Tennis",
              "value": "TableTennis"
            },
            {
              "name": "Tennis",
              "value": "Tennis"
            },
            {
              "name": "Trail Run",
              "value": "TrailRun"
            },
            {
              "name": "Velomobile",
              "value": "Velomobile"
            },
            {
              "name": "Virtual Ride",
              "value": "VirtualRide"
            },
            {
              "name": "Virtual Row",
              "value": "VirtualRow"
            },
            {
              "name": "Virtual Run",
              "value": "VirtualRun"
            },
            {
              "name": "Walk",
              "value": "Walk"
            },
            {
              "name": "Weight Training",
              "value": "WeightTraining"
            },
            {
              "name": "Wheelchair",
              "value": "Wheelchair"
            },
            {
              "name": "Windsurf",
              "value": "Windsurf"
            },
            {
              "name": "Workout",
              "value": "Workout"
            },
            {
              "name": "Yoga",
              "value": "Yoga"
            }
          ],
          "default": "Run",
          "description": "Type of sport",
          "displayOptions": {
            "hide": {
              "@version": [
                1
              ]
            }
          }
        },
        {
          "displayName": "Trainer",
          "name": "trainer",
          "type": "boolean",
          "default": false,
          "description": "Whether to mark as a trainer activity"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "activity"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Activity ID",
      "name": "activityId",
      "type": "string",
      "default": "",
      "description": "ID or email of activity",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "activity"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Activity ID",
      "name": "activityId",
      "type": "string",
      "default": "",
      "description": "ID or email of activity",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "activity"
          ],
          "operation": [
            "getComments",
            "getLaps",
            "getKudos",
            "getZones",
            "getStreams"
          ]
        }
      }
    },
    {
      "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": [
            "activity"
          ],
          "operation": [
            "getComments",
            "getLaps",
            "getKudos",
            "getZones"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "activity"
          ],
          "operation": [
            "getComments",
            "getLaps",
            "getKudos",
            "getZones"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Keys",
      "name": "keys",
      "type": "multiOptions",
      "default": [],
      "description": "Desired stream types to return",
      "options": [
        {
          "name": "Altitude",
          "value": "altitude"
        },
        {
          "name": "Cadence",
          "value": "cadence"
        },
        {
          "name": "Distance",
          "value": "distance"
        },
        {
          "name": "Gradient",
          "value": "grade_smooth"
        },
        {
          "name": "Heartrate",
          "value": "heartrate"
        },
        {
          "name": "Latitude / Longitude",
          "value": "latlng"
        },
        {
          "name": "Moving",
          "value": "moving"
        },
        {
          "name": "Temperature",
          "value": "temp"
        },
        {
          "name": "Time",
          "value": "time"
        },
        {
          "name": "Velocity",
          "value": "velocity_smooth"
        },
        {
          "name": "Watts",
          "value": "watts"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "activity"
          ],
          "operation": [
            "getStreams"
          ]
        }
      }
    },
    {
      "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": [
            "activity"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "activity"
          ],
          "operation": [
            "getAll"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    }
  ]

operations:
  [
    {
      "operation": "create",
      "name": "Create",
      "description": "Create a new activity"
    },
    {
      "operation": "get",
      "name": "Get",
      "description": "Get an activity"
    },
    {
      "operation": "getComments",
      "name": "Get Comments",
      "description": "Get all activity comments"
    },
    {
      "operation": "getKudos",
      "name": "Get Kudos",
      "description": "Get all activity kudos"
    },
    {
      "operation": "getLaps",
      "name": "Get Laps",
      "description": "Get all activity laps"
    },
    {
      "operation": "getAll",
      "name": "Get Many",
      "description": "Get many activities"
    },
    {
      "operation": "getStreams",
      "name": "Get Streams",
      "description": "Get activity streams"
    },
    {
      "operation": "getZones",
      "name": "Get Zones",
      "description": "Get all activity zones"
    },
    {
      "operation": "update",
      "name": "Update",
      "description": "Update an activity"
    }
  ]


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

outputs:
  [
  "main"
  ]

updated_at: 2025-11-25 17:45:48
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Strava Trigger node documentation
  description: Learn how to use the Strava Trigger node in n8n. Follow technical documentation to integrate Strava Trigger node into your workflows.
  contentType: [integration, reference]
  ---

  # Strava Trigger node

  [Strava](https://www.strava.com/){:target=_blank .external-link} is an internet service for tracking human exercise which incorporates social network features.

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

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

  ## Events

  - **\[All\]**
      - \[All\]
      - Created
      - Deleted
      - Updated
  - **Activity**
      - \[All\]
      - Created
      - Deleted
      - Updated
  - **Athlete**
      - \[All\]
      - Created
      - Deleted
      - Updated

properties_schema:
  [
    {
      "displayName": "Object",
      "name": "object",
      "type": "options",
      "default": "*",
      "options": [
        {
          "name": "[All]",
          "value": "*"
        },
        {
          "name": "Activity",
          "value": "activity"
        },
        {
          "name": "Athlete",
          "value": "athlete"
        }
      ]
    },
    {
      "displayName": "Event",
      "name": "event",
      "type": "options",
      "default": "*",
      "options": [
        {
          "name": "[All]",
          "value": "*"
        },
        {
          "name": "Created",
          "value": "create"
        },
        {
          "name": "Deleted",
          "value": "delete"
        },
        {
          "name": "Updated",
          "value": "update"
        }
      ]
    },
    {
      "displayName": "Resolve Data",
      "name": "resolveData",
      "type": "boolean",
      "default": true,
      "description": "By default the webhook-data only contain the Object ID. If this option gets activated, it will resolve the data automatically."
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Delete If Exist",
          "name": "deleteIfExist",
          "type": "boolean",
          "default": false,
          "description": "Strava allows just one subscription at all times. If you want to delete the current subscription to make room for a new subscription with the current parameters, set this parameter to true. Keep in mind this is a destructive operation."
        }
      ]
    }
  ]


node_type: nodes-base.stripe
package_name: n8n-nodes-base
display_name: Stripe
description: Consume the Stripe API
category: transform
development_style: programmatic
version: 1
operations:
  [
  {
  "operation": "get",
  "name": "Get",
  "description": "Get a balance"
  }
  ]

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

outputs:
  [
  "main"
  ]

updated_at: 2025-11-25 17:45:48
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Stripe node documentation
  description: Learn how to use the Stripe node in n8n. Follow technical documentation to integrate Stripe node into your workflows.
  contentType: [integration, reference]
  ---

  # Stripe node

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

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

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

  ## Operations

  * Balance
      * Get a balance
  * Charge
      * Create a charge
      * Get a charge
      * Get all charges
      * Update a charge
  * Coupon
      * Create a coupon
      * Get all coupons
  * Customer
      * Create a customer
      * Delete a customer
      * Get a customer
      * Get all customers
      * Update a customer
  * Customer Card
      * Add a customer card
      * Get a customer card
      * Remove a customer card
  * Source
      * Create a source
      * Delete a source
      * Get a source
  * Token
      * Create a token

  ## Templates and examples

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

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

properties_schema:
  [
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "balance",
      "options": [
        {
          "name": "Balance",
          "value": "balance"
        },
        {
          "name": "Charge",
          "value": "charge"
        },
        {
          "name": "Coupon",
          "value": "coupon"
        },
        {
          "name": "Customer",
          "value": "customer"
        },
        {
          "name": "Customer Card",
          "value": "customerCard"
        },
        {
          "name": "Meter Event",
          "value": "meterEvent"
        },
        {
          "name": "Source",
          "value": "source"
        },
        {
          "name": "Token",
          "value": "token"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "description": "Get a balance",
          "action": "Get a balance"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "balance"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Add",
          "value": "add",
          "description": "Add a customer card",
          "action": "Add a customer card"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get a customer card",
          "action": "Get a customer card"
        },
        {
          "name": "Remove",
          "value": "remove",
          "description": "Remove a customer card",
          "action": "Remove a customer card"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "customerCard"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Customer ID",
      "name": "customerId",
      "type": "string",
      "default": "",
      "description": "ID of the customer to be associated with this card",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "customerCard"
          ],
          "operation": [
            "add"
          ]
        }
      }
    },
    {
      "displayName": "Card Token",
      "name": "token",
      "type": "string",
      "default": "",
      "description": "Token representing sensitive card information",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "customerCard"
          ],
          "operation": [
            "add"
          ]
        }
      },
      "typeOptions": {
        "password": true
      }
    },
    {
      "displayName": "Customer ID",
      "name": "customerId",
      "type": "string",
      "default": "",
      "description": "ID of the customer whose card to remove",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "customerCard"
          ],
          "operation": [
            "remove"
          ]
        }
      }
    },
    {
      "displayName": "Card ID",
      "name": "cardId",
      "type": "string",
      "default": "",
      "description": "ID of the card to remove",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "customerCard"
          ],
          "operation": [
            "remove"
          ]
        }
      }
    },
    {
      "displayName": "Customer ID",
      "name": "customerId",
      "type": "string",
      "default": "",
      "description": "ID of the customer whose card to retrieve",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "customerCard"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Source ID",
      "name": "sourceId",
      "type": "string",
      "default": "",
      "description": "ID of the source to retrieve",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "customerCard"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a charge",
          "action": "Create a charge"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get a charge",
          "action": "Get a charge"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many charges",
          "action": "Get many charges"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update a charge",
          "action": "Update a charge"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "charge"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Customer ID",
      "name": "customerId",
      "type": "string",
      "default": "",
      "description": "ID of the customer to be associated with this charge",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "charge"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Amount",
      "name": "amount",
      "type": "number",
      "default": 0,
      "description": "Amount in cents to be collected for this charge, e.g. enter <code>100</code> for $1.00",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "charge"
          ],
          "operation": [
            "create"
          ]
        }
      },
      "typeOptions": {
        "minValue": 0,
        "maxValue": 99999999
      }
    },
    {
      "displayName": "Currency Name or ID",
      "name": "currency",
      "type": "options",
      "default": "",
      "description": "Three-letter ISO currency code, e.g. <code>USD</code> or <code>EUR</code>. It must be a <a href=\"https://stripe.com/docs/currencies\">Stripe-supported currency</a>. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "charge"
          ],
          "operation": [
            "create"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getCurrencies"
      }
    },
    {
      "displayName": "Source ID",
      "name": "source",
      "type": "string",
      "default": "",
      "description": "ID of the customer's payment source to be charged",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "charge"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Description",
          "name": "description",
          "type": "string",
          "default": "",
          "description": "Arbitrary text to describe the charge to create"
        },
        {
          "displayName": "Metadata",
          "name": "metadata",
          "type": "fixedCollection",
          "default": [],
          "placeholder": "Add Metadata Item",
          "description": "Set of key-value pairs to attach to the charge to create",
          "typeOptions": {
            "multipleValues": true
          },
          "options": [
            {
              "displayName": "Metadata Properties",
              "name": "metadataProperties",
              "values": [
                {
                  "displayName": "Key",
                  "name": "key",
                  "type": "string",
                  "default": ""
                },
                {
                  "displayName": "Value",
                  "name": "value",
                  "type": "string",
                  "default": ""
                }
              ]
            }
          ]
        },
        {
          "displayName": "Receipt Email",
          "name": "receipt_email",
          "type": "string",
          "default": "",
          "description": "Email address to which the receipt for this charge will be sent"
        },
        {
          "displayName": "Shipping",
          "name": "shipping",
          "type": "fixedCollection",
          "description": "Shipping information for the charge",
          "placeholder": "Add Field",
          "typeOptions": {
            "multipleValues": true
          },
          "default": [],
          "options": [
            {
              "displayName": "Shipping Properties",
              "name": "shippingProperties",
              "values": [
                {
                  "displayName": "Recipient Name",
                  "name": "name",
                  "type": "string",
                  "description": "Name of the person who will receive the shipment",
                  "default": ""
                },
                {
                  "displayName": "Address",
                  "name": "address",
                  "type": "fixedCollection",
                  "default": {},
                  "placeholder": "Add Field",
                  "options": [
                    {
                      "displayName": "Details",
                      "name": "details",
                      "values": [
                        {
                          "displayName": "Line 1",
                          "name": "line1",
                          "description": "Address line 1 (e.g. street, PO Box, or company name)",
                          "type": "string",
                          "default": ""
                        },
                        {
                          "displayName": "Line 2",
                          "name": "line2",
                          "description": "Address line 2 (e.g. apartment, suite, unit, or building)",
                          "type": "string",
                          "default": ""
                        },
                        {
                          "displayName": "City",
                          "name": "city",
                          "description": "City, district, suburb, town, or village",
                          "type": "string",
                          "default": ""
                        },
                        {
                          "displayName": "State",
                          "name": "state",
                          "description": "State, county, province, or region",
                          "type": "string",
                          "default": ""
                        },
                        {
                          "displayName": "Country",
                          "name": "country",
                          "description": "Two-letter country code (<a href=\"https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2\">ISO 3166-1 alpha-2</a>)",
                          "type": "string",
                          "default": ""
                        },
                        {
                          "displayName": "Postal Code",
                          "name": "postal_code",
                          "description": "ZIP or postal code",
                          "type": "string",
                          "default": ""
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "charge"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Charge ID",
      "name": "chargeId",
      "type": "string",
      "default": "",
      "description": "ID of the charge to retrieve",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "charge"
          ],
          "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": [
            "charge"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "charge"
          ],
          "operation": [
            "getAll"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 1000
      }
    },
    {
      "displayName": "Charge ID",
      "name": "chargeId",
      "type": "string",
      "default": "",
      "description": "ID of the charge to update",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "charge"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Update Fields",
      "name": "updateFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Description",
          "name": "description",
          "type": "string",
          "default": "",
          "description": "Arbitrary text to describe the charge to update"
        },
        {
          "displayName": "Metadata",
          "name": "metadata",
          "type": "fixedCollection",
          "default": {},
          "placeholder": "Add Metadata Item",
          "description": "Set of key-value pairs to attach to the charge to update",
          "typeOptions": {
            "multipleValues": true
          },
          "options": [
            {
              "displayName": "Metadata Properties",
              "name": "metadataProperties",
              "values": [
                {
                  "displayName": "Key",
                  "name": "key",
                  "type": "string",
                  "default": ""
                },
                {
                  "displayName": "Value",
                  "name": "value",
                  "type": "string",
                  "default": ""
                }
              ]
            }
          ]
        },
        {
          "displayName": "Receipt Email",
          "name": "receipt_email",
          "type": "string",
          "default": "",
          "description": "The email address to which the receipt for this charge will be sent"
        },
        {
          "displayName": "Shipping",
          "name": "shipping",
          "type": "fixedCollection",
          "default": {},
          "description": "Shipping information for the charge",
          "placeholder": "Add Field",
          "typeOptions": {
            "multipleValues": true
          },
          "options": [
            {
              "displayName": "Shipping Properties",
              "name": "shippingProperties",
              "default": {},
              "values": [
                {
                  "displayName": "Recipient Name",
                  "name": "name",
                  "type": "string",
                  "default": ""
                },
                {
                  "displayName": "Recipient Address",
                  "name": "address",
                  "type": "fixedCollection",
                  "default": {},
                  "placeholder": "Add Address Details",
                  "options": [
                    {
                      "displayName": "Details",
                      "name": "details",
                      "values": [
                        {
                          "displayName": "Line 1",
                          "name": "line1",
                          "description": "Address line 1 (e.g. street, PO Box, or company name)",
                          "type": "string",
                          "default": ""
                        },
                        {
                          "displayName": "Line 2",
                          "name": "line2",
                          "description": "Address line 2 (e.g. apartment, suite, unit, or building)",
                          "type": "string",
                          "default": ""
                        },
                        {
                          "displayName": "City",
                          "name": "city",
                          "description": "City, district, suburb, town, or village",
                          "type": "string",
                          "default": ""
                        },
                        {
                          "displayName": "State",
                          "name": "state",
                          "description": "State, county, province, or region",
                          "type": "string",
                          "default": ""
                        },
                        {
                          "displayName": "Country",
                          "name": "country",
                          "description": "Two-letter country code (<a href=\"https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2\">ISO 3166-1 alpha-2</a>)",
                          "type": "string",
                          "default": ""
                        },
                        {
                          "displayName": "Postal Code",
                          "name": "postal_code",
                          "description": "ZIP or postal code",
                          "type": "string",
                          "default": ""
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "charge"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a coupon",
          "action": "Create a coupon"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many coupons",
          "action": "Get many coupons"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "coupon"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Apply",
      "name": "duration",
      "type": "options",
      "default": "once",
      "description": "How long the discount will be in effect",
      "options": [
        {
          "name": "Forever",
          "value": "forever"
        },
        {
          "name": "Once",
          "value": "once"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "coupon"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Discount Type",
      "name": "type",
      "type": "options",
      "default": "percent",
      "description": "Whether the coupon discount is a percentage or a fixed amount",
      "options": [
        {
          "name": "Fixed Amount (in Cents)",
          "value": "fixedAmount"
        },
        {
          "name": "Percent",
          "value": "percent"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "coupon"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Amount Off",
      "name": "amountOff",
      "type": "number",
      "default": 0,
      "description": "Amount in cents to subtract from an invoice total, e.g. enter <code>100</code> for $1.00",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "coupon"
          ],
          "operation": [
            "create"
          ],
          "type": [
            "fixedAmount"
          ]
        }
      },
      "typeOptions": {
        "minValue": 0,
        "maxValue": 99999999
      }
    },
    {
      "displayName": "Currency Name or ID",
      "name": "currency",
      "type": "options",
      "default": "",
      "description": "Three-letter ISO currency code, e.g. <code>USD</code> or <code>EUR</code>. It must be a <a href=\"https://stripe.com/docs/currencies\">Stripe-supported currency</a>. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "coupon"
          ],
          "operation": [
            "create"
          ],
          "type": [
            "fixedAmount"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getCurrencies"
      }
    },
    {
      "displayName": "Percent Off",
      "name": "percentOff",
      "type": "number",
      "default": 1,
      "description": "Percentage to apply with the coupon",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "coupon"
          ],
          "operation": [
            "create"
          ],
          "type": [
            "percent"
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "resource": [
            "coupon"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "coupon"
          ],
          "operation": [
            "getAll"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 1000
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a customer",
          "action": "Create a customer"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a customer",
          "action": "Delete a customer"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get a customer",
          "action": "Get a customer"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many customers",
          "action": "Get many customers"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update a customer",
          "action": "Update a customer"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "customer"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Name",
      "name": "name",
      "type": "string",
      "default": "",
      "description": "Full name or business name of the customer to create",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "customer"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Address",
          "name": "address",
          "type": "fixedCollection",
          "description": "Address of the customer to create",
          "placeholder": "Add Field",
          "default": {},
          "options": [
            {
              "displayName": "Details",
              "name": "details",
              "values": [
                {
                  "displayName": "Line 1",
                  "name": "line1",
                  "description": "Address line 1 (e.g. street, PO Box, or company name)",
                  "type": "string",
                  "default": ""
                },
                {
                  "displayName": "Line 2",
                  "name": "line2",
                  "description": "Address line 2 (e.g. apartment, suite, unit, or building)",
                  "type": "string",
                  "default": ""
                },
                {
                  "displayName": "City",
                  "name": "city",
                  "description": "City, district, suburb, town, or village",
                  "type": "string",
                  "default": ""
                },
                {
                  "displayName": "State",
                  "name": "state",
                  "description": "State, county, province, or region",
                  "type": "string",
                  "default": ""
                },
                {
                  "displayName": "Country",
                  "name": "country",
                  "description": "Two-letter country code (<a href=\"https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2\">ISO 3166-1 alpha-2</a>)",
                  "type": "string",
                  "default": ""
                },
                {
                  "displayName": "Postal Code",
                  "name": "postal_code",
                  "description": "ZIP or postal code",
                  "type": "string",
                  "default": ""
                }
              ]
            }
          ]
        },
        {
          "displayName": "Description",
          "name": "description",
          "type": "string",
          "default": "",
          "description": "Arbitrary text to describe the customer to create"
        },
        {
          "displayName": "Email",
          "name": "email",
          "type": "string",
          "placeholder": "name@email.com",
          "default": "",
          "description": "Email of the customer to create"
        },
        {
          "displayName": "Metadata",
          "name": "metadata",
          "type": "fixedCollection",
          "default": {},
          "placeholder": "Add Metadata Item",
          "description": "Set of key-value pairs to attach to the customer to create",
          "typeOptions": {
            "multipleValues": true
          },
          "options": [
            {
              "displayName": "Metadata Properties",
              "name": "metadataProperties",
              "values": [
                {
                  "displayName": "Key",
                  "name": "key",
                  "type": "string",
                  "default": ""
                },
                {
                  "displayName": "Value",
                  "name": "value",
                  "type": "string",
                  "default": ""
                }
              ]
            }
          ]
        },
        {
          "displayName": "Phone",
          "name": "phone",
          "type": "string",
          "default": "",
          "description": "Telephone number of the customer to create"
        },
        {
          "displayName": "Shipping",
          "name": "shipping",
          "type": "fixedCollection",
          "default": {},
          "description": "Shipping information for the customer",
          "typeOptions": {
            "multipleValues": true
          },
          "placeholder": "Add Field",
          "options": [
            {
              "displayName": "Shipping Properties",
              "name": "shippingProperties",
              "values": [
                {
                  "displayName": "Recipient Name",
                  "name": "name",
                  "type": "string",
                  "default": ""
                },
                {
                  "displayName": "Recipient Address",
                  "name": "address",
                  "type": "fixedCollection",
                  "default": {},
                  "placeholder": "Add Address Details",
                  "options": [
                    {
                      "displayName": "Details",
                      "name": "details",
                      "values": [
                        {
                          "displayName": "Line 1",
                          "name": "line1",
                          "description": "Address line 1 (e.g. street, PO Box, or company name)",
                          "type": "string",
                          "default": ""
                        },
                        {
                          "displayName": "Line 2",
                          "name": "line2",
                          "description": "Address line 2 (e.g. apartment, suite, unit, or building)",
                          "type": "string",
                          "default": ""
                        },
                        {
                          "displayName": "City",
                          "name": "city",
                          "description": "City, district, suburb, town, or village",
                          "type": "string",
                          "default": ""
                        },
                        {
                          "displayName": "State",
                          "name": "state",
                          "description": "State, county, province, or region",
                          "type": "string",
                          "default": ""
                        },
                        {
                          "displayName": "Country",
                          "name": "country",
                          "description": "Two-letter country code (<a href=\"https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2\">ISO 3166-1 alpha-2</a>)",
                          "type": "string",
                          "default": ""
                        },
                        {
                          "displayName": "Postal Code",
                          "name": "postal_code",
                          "description": "ZIP or postal code",
                          "type": "string",
                          "default": ""
                        }
                      ]
                    }
                  ]
                },
                {
                  "displayName": "Recipient Phone",
                  "name": "phone",
                  "type": "string",
                  "default": ""
                }
              ]
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "customer"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Customer ID",
      "name": "customerId",
      "type": "string",
      "default": "",
      "description": "ID of the customer to delete",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "customer"
          ],
          "operation": [
            "delete"
          ]
        }
      }
    },
    {
      "displayName": "Customer ID",
      "name": "customerId",
      "type": "string",
      "default": "",
      "description": "ID of the customer to retrieve",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "customer"
          ],
          "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": [
            "customer"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 50,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "customer"
          ],
          "operation": [
            "getAll"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 1000
      }
    },
    {
      "displayName": "Filters",
      "name": "filters",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Email",
          "name": "email",
          "type": "string",
          "placeholder": "name@email.com",
          "default": "",
          "description": "Customer's email to filter by"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "customer"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Customer ID",
      "name": "customerId",
      "type": "string",
      "default": "",
      "description": "ID of the customer to update",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "customer"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Update Fields",
      "name": "updateFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Address",
          "name": "address",
          "type": "fixedCollection",
          "description": "Address of the customer to update",
          "placeholder": "Add Field",
          "default": {},
          "options": [
            {
              "displayName": "Details",
              "name": "details",
              "values": [
                {
                  "displayName": "Line 1",
                  "name": "line1",
                  "description": "Address line 1 (e.g. street, PO Box, or company name)",
                  "type": "string",
                  "default": ""
                },
                {
                  "displayName": "Line 2",
                  "name": "line2",
                  "description": "Address line 2 (e.g. apartment, suite, unit, or building)",
                  "type": "string",
                  "default": ""
                },
                {
                  "displayName": "City",
                  "name": "city",
                  "description": "City, district, suburb, town, or village",
                  "type": "string",
                  "default": ""
                },
                {
                  "displayName": "State",
                  "name": "state",
                  "description": "State, county, province, or region",
                  "type": "string",
                  "default": ""
                },
                {
                  "displayName": "Country",
                  "name": "country",
                  "description": "Two-letter country code (<a href=\"https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2\">ISO 3166-1 alpha-2</a>)",
                  "type": "string",
                  "default": ""
                },
                {
                  "displayName": "Postal Code",
                  "name": "postal_code",
                  "description": "ZIP or postal code",
                  "type": "string",
                  "default": ""
                }
              ]
            }
          ]
        },
        {
          "displayName": "Description",
          "name": "description",
          "type": "string",
          "default": "",
          "description": "Arbitrary text to describe the customer to create"
        },
        {
          "displayName": "Email",
          "name": "email",
          "type": "string",
          "placeholder": "name@email.com",
          "default": "",
          "description": "Email of the customer to create"
        },
        {
          "displayName": "Metadata",
          "name": "metadata",
          "type": "fixedCollection",
          "default": {},
          "placeholder": "Add Metadata Item",
          "description": "Set of key-value pairs to attach to the customer to create",
          "typeOptions": {
            "multipleValues": true
          },
          "options": [
            {
              "displayName": "Metadata Properties",
              "name": "metadataProperties",
              "values": [
                {
                  "displayName": "Key",
                  "name": "key",
                  "type": "string",
                  "default": ""
                },
                {
                  "displayName": "Value",
                  "name": "value",
                  "type": "string",
                  "default": ""
                }
              ]
            }
          ]
        },
        {
          "displayName": "Name",
          "name": "name",
          "type": "string",
          "default": "",
          "description": "Full name or business name of the customer to create"
        },
        {
          "displayName": "Phone",
          "name": "phone",
          "type": "string",
          "default": "",
          "description": "Telephone number of this customer"
        },
        {
          "displayName": "Shipping",
          "name": "shipping",
          "type": "fixedCollection",
          "description": "Shipping information for the customer",
          "placeholder": "Add Field",
          "typeOptions": {
            "multipleValues": true
          },
          "default": {},
          "options": [
            {
              "displayName": "Shipping Properties",
              "name": "shippingProperties",
              "values": [
                {
                  "displayName": "Recipient Name",
                  "name": "name",
                  "type": "string",
                  "default": "",
                  "description": "Name of the person who will receive the shipment"
                },
                {
                  "displayName": "Recipient Address",
                  "name": "address",
                  "type": "fixedCollection",
                  "default": {},
                  "placeholder": "Add Address Details",
                  "options": [
                    {
                      "displayName": "Details",
                      "name": "details",
                      "values": [
                        {
                          "displayName": "Line 1",
                          "name": "line1",
                          "description": "Address line 1 (e.g. street, PO Box, or company name)",
                          "type": "string",
                          "default": ""
                        },
                        {
                          "displayName": "Line 2",
                          "name": "line2",
                          "description": "Address line 2 (e.g. apartment, suite, unit, or building)",
                          "type": "string",
                          "default": ""
                        },
                        {
                          "displayName": "City",
                          "name": "city",
                          "description": "City, district, suburb, town, or village",
                          "type": "string",
                          "default": ""
                        },
                        {
                          "displayName": "State",
                          "name": "state",
                          "description": "State, county, province, or region",
                          "type": "string",
                          "default": ""
                        },
                        {
                          "displayName": "Country",
                          "name": "country",
                          "description": "Two-letter country code (<a href=\"https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2\">ISO 3166-1 alpha-2</a>)",
                          "type": "string",
                          "default": ""
                        },
                        {
                          "displayName": "Postal Code",
                          "name": "postal_code",
                          "description": "ZIP or postal code",
                          "type": "string",
                          "default": ""
                        }
                      ]
                    }
                  ]
                },
                {
                  "displayName": "Recipient Phone",
                  "name": "phone",
                  "type": "string",
                  "default": "",
                  "description": "Phone number of the person who will receive the shipment"
                }
              ]
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "customer"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a meter event",
          "action": "Create a meter event"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "meterEvent"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Event Name",
      "name": "eventName",
      "type": "string",
      "default": "",
      "description": "The name of the meter event. Corresponds with the event_name field on a meter.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "meterEvent"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Customer ID",
      "name": "customerId",
      "type": "string",
      "default": "",
      "description": "The Stripe customer ID associated with this meter event",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "meterEvent"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Value",
      "name": "value",
      "type": "number",
      "default": 1,
      "description": "The value of the meter event. Must be an integer. Can be positive or negative.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "meterEvent"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Identifier",
          "name": "identifier",
          "type": "string",
          "default": "",
          "description": "A unique identifier for the event. If not provided, one will be generated. Uniqueness is enforced within a rolling 24 hour window."
        },
        {
          "displayName": "Timestamp",
          "name": "timestamp",
          "type": "dateTime",
          "default": "",
          "description": "The time of the event. Measured in seconds since the Unix epoch. Must be within the past 35 calendar days or up to 5 minutes in the future. Defaults to current time if not specified."
        },
        {
          "displayName": "Custom Payload Properties",
          "name": "customPayload",
          "type": "fixedCollection",
          "default": {},
          "placeholder": "Add Custom Property",
          "description": "Additional custom properties to include in the event payload. Use this for custom meter configurations with non-default payload keys.",
          "typeOptions": {
            "multipleValues": true
          },
          "options": [
            {
              "displayName": "Properties",
              "name": "properties",
              "values": [
                {
                  "displayName": "Key",
                  "name": "key",
                  "type": "string",
                  "default": "",
                  "description": "The property key"
                },
                {
                  "displayName": "Value",
                  "name": "value",
                  "type": "string",
                  "default": "",
                  "description": "The property value"
                }
              ]
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "meterEvent"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a source",
          "action": "Create a source"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a source",
          "action": "Delete a source"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get a source",
          "action": "Get a source"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "source"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Customer ID",
      "name": "customerId",
      "type": "string",
      "default": "",
      "description": "ID of the customer to attach the source to",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "source"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Type",
      "name": "type",
      "type": "options",
      "default": "wechat",
      "description": "Type of source (payment instrument) to create",
      "options": [
        {
          "name": "WeChat",
          "value": "wechat"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "source"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Amount",
      "name": "amount",
      "type": "number",
      "default": 0,
      "description": "Amount in cents to be collected for this charge, e.g. enter <code>100</code> for $1.00",
      "displayOptions": {
        "show": {
          "resource": [
            "source"
          ],
          "operation": [
            "create"
          ]
        }
      },
      "typeOptions": {
        "minValue": 0,
        "maxValue": 99999999
      }
    },
    {
      "displayName": "Currency Name or ID",
      "name": "currency",
      "type": "options",
      "default": "",
      "description": "Three-letter ISO currency code, e.g. <code>USD</code> or <code>EUR</code>. It must be a <a href=\"https://stripe.com/docs/currencies\">Stripe-supported currency</a>. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "displayOptions": {
        "show": {
          "resource": [
            "source"
          ],
          "operation": [
            "create"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getCurrencies"
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Metadata",
          "name": "metadata",
          "type": "fixedCollection",
          "placeholder": "Add Metadata Item",
          "description": "Set of key-value pairs to attach to the source to create",
          "default": {},
          "typeOptions": {
            "multipleValues": true
          },
          "options": [
            {
              "displayName": "Metadata Properties",
              "name": "metadataProperties",
              "values": [
                {
                  "displayName": "Key",
                  "name": "key",
                  "type": "string",
                  "default": ""
                },
                {
                  "displayName": "Value",
                  "name": "value",
                  "type": "string",
                  "default": ""
                }
              ]
            }
          ]
        },
        {
          "displayName": "Statement Descriptor",
          "name": "statement_descriptor",
          "type": "string",
          "default": "",
          "description": "Arbitrary text to display on the customer's statement"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "source"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Customer ID",
      "name": "customerId",
      "type": "string",
      "default": "",
      "description": "ID of the customer whose source to delete",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "source"
          ],
          "operation": [
            "delete"
          ]
        }
      }
    },
    {
      "displayName": "Source ID",
      "name": "sourceId",
      "type": "string",
      "default": "",
      "description": "ID of the source to delete",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "source"
          ],
          "operation": [
            "delete"
          ]
        }
      }
    },
    {
      "displayName": "Source ID",
      "name": "sourceId",
      "type": "string",
      "default": "",
      "description": "ID of the source to retrieve",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "source"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a token",
          "action": "Create a token"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "token"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Type",
      "name": "type",
      "type": "options",
      "default": "cardToken",
      "description": "Type of token to create",
      "options": [
        {
          "name": "Card Token",
          "value": "cardToken"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "token"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Card Number",
      "name": "number",
      "type": "string",
      "default": "",
      "displayOptions": {
        "show": {
          "resource": [
            "token"
          ],
          "operation": [
            "create"
          ],
          "type": [
            "cardToken"
          ]
        }
      }
    },
    {
      "displayName": "CVC",
      "name": "cvc",
      "type": "string",
      "default": "",
      "description": "Security code printed on the back of the card",
      "displayOptions": {
        "show": {
          "resource": [
            "token"
          ],
          "operation": [
            "create"
          ],
          "type": [
            "cardToken"
          ]
        }
      }
    },
    {
      "displayName": "Expiration Month",
      "name": "expirationMonth",
      "type": "string",
      "default": "",
      "description": "Number of the month when the card will expire",
      "displayOptions": {
        "show": {
          "resource": [
            "token"
          ],
          "operation": [
            "create"
          ],
          "type": [
            "cardToken"
          ]
        }
      }
    },
    {
      "displayName": "Expiration Year",
      "name": "expirationYear",
      "type": "string",
      "default": "",
      "description": "Year when the card will expire",
      "displayOptions": {
        "show": {
          "resource": [
            "token"
          ],
          "operation": [
            "create"
          ],
          "type": [
            "cardToken"
          ]
        }
      }
    }
  ]


