# nodes

node_type: nodes-base.airtable
package_name: n8n-nodes-base
display_name: Airtable
description: Read, update, write and delete data from Airtable
category: input
development_style: programmatic
version: 2.2
outputs:
  [
  "main"
  ]

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

  # Airtable node

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

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

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

  ## Operations

  * Append the data to a table
  * Delete data from a table
  * List data from a table
  * Read data from a table
  * Update data in a table

  ## Templates and examples

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

  ## Related resources

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

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

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


  ## Node reference

  ### Get the Record ID

  To fetch data for a particular record, you need the Record ID. There are two ways to get the Record ID.

  ### Create a Record ID column in Airtable

  To create a `Record ID` column in your table, refer to this [article](https://support.airtable.com/docs/finding-airtable-ids){:target=_blank .external-link}. You can then use this Record ID in your Airtable node.

  ### Use the List operation

  To get the Record ID of your record, you can use the **List** operation of the Airtable node. This operation will return the Record ID along with the fields. You can then use this Record ID in your Airtable node.

  ### Filter records when using the List operation

  To filter records from your Airtable base, use the **Filter By Formula** option. For example, if you want to return all the users that belong to the organization `n8n`, follow the steps mentioned below:

  1. Select 'List' from the **Operation** dropdown list.
  2. Enter the base ID and the table name in the **Base ID** and **Table** field, respectively.
  3. Click on **Add Option** and select 'Filter By Formula' from the dropdown list.
  4. Enter the following formula in the **Filter By Formula** field: `{Organization}='n8n'`.

  Similarly, if you want to return all the users that don't belong to the organization `n8n`, use the following formula: `NOT({Organization}='n8n')`.

  Refer to the Airtable [documentation](https://support.airtable.com/hc/en-us/articles/203255215-Formula-Field-Reference){:target=_balnk .external-link} to learn more about the formulas.

  ## Common issues

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

properties_schema:
  [
    {
      "displayName": "Authentication",
      "name": "authentication",
      "type": "options",
      "default": "airtableTokenApi",
      "options": [
        {
          "name": "Access Token",
          "value": "airtableTokenApi"
        },
        {
          "name": "OAuth2",
          "value": "airtableOAuth2Api"
        }
      ]
    },
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "record",
      "options": [
        {
          "name": "Base",
          "value": "base"
        },
        {
          "name": "Record",
          "value": "record"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a new record in a table",
          "action": "Create a record"
        },
        {
          "name": "Create or Update",
          "value": "upsert",
          "description": "Create a new record, or update the current one if it already exists (upsert)",
          "action": "Create or update a record"
        },
        {
          "name": "Delete",
          "value": "deleteRecord",
          "description": "Delete a record from a table",
          "action": "Delete a record"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Retrieve a record from a table",
          "action": "Get a record"
        },
        {
          "name": "Search",
          "value": "search",
          "description": "Search for specific records or list all",
          "action": "Search records"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update a record in a table",
          "action": "Update record"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "record"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Base",
      "name": "base",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "record"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "baseSearch",
            "searchable": true
          }
        },
        {
          "displayName": "By URL",
          "name": "url",
          "type": "string",
          "placeholder": "e.g. https://airtable.com/app12DiScdfes/tbl9WvGeEPa6lZyVq/viwHdfasdfeieg5p",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "https://airtable.com/([a-zA-Z0-9]{2,})/.*",
                "errorMessage": "Not a valid Airtable Base URL"
              }
            }
          ],
          "extractValue": {
            "type": "regex",
            "regex": "https://airtable.com/([a-zA-Z0-9]{2,})"
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[a-zA-Z0-9]{2,}",
                "errorMessage": "Not a valid Airtable Base ID"
              }
            }
          ],
          "placeholder": "e.g. appD3dfaeidke",
          "url": "=https://airtable.com/{{$value}}"
        }
      ]
    },
    {
      "displayName": "Table",
      "name": "table",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "record"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "base.value"
        ]
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "tableSearch",
            "searchable": true
          }
        },
        {
          "displayName": "By URL",
          "name": "url",
          "type": "string",
          "placeholder": "https://airtable.com/app12DiScdfes/tblAAAAAAAAAAAAA/viwHdfasdfeieg5p",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "https://airtable.com/[a-zA-Z0-9]{2,}/([a-zA-Z0-9]{2,})/.*",
                "errorMessage": "Not a valid Airtable Table URL"
              }
            }
          ],
          "extractValue": {
            "type": "regex",
            "regex": "https://airtable.com/[a-zA-Z0-9]{2,}/([a-zA-Z0-9]{2,})"
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[a-zA-Z0-9]{2,}",
                "errorMessage": "Not a valid Airtable Table ID"
              }
            }
          ],
          "placeholder": "tbl3dirwqeidke"
        }
      ]
    },
    {
      "displayName": "Columns",
      "name": "columns",
      "type": "resourceMapper",
      "default": {
        "mappingMode": "defineBelow",
        "value": null
      },
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "record"
          ],
          "operation": [
            "create"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "table.value",
          "base.value"
        ],
        "resourceMapper": {
          "resourceMapperMethod": "getColumns",
          "mode": "add",
          "fieldWords": {
            "singular": "column",
            "plural": "columns"
          },
          "addAllFields": true,
          "multiKeyMatch": true
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Typecast",
          "name": "typecast",
          "type": "boolean",
          "default": false,
          "description": "Whether the Airtable API should attempt mapping of string values for linked records & select options"
        },
        {
          "displayName": "Ignore Fields From Input",
          "name": "ignoreFields",
          "type": "string",
          "requiresDataPath": "multiple",
          "displayOptions": {
            "show": {
              "/columns.mappingMode": [
                "autoMapInputData"
              ]
            }
          },
          "default": "",
          "description": "Comma-separated list of fields in input to ignore when updating"
        },
        {
          "displayName": "Update All Matches",
          "name": "updateAllMatches",
          "type": "boolean",
          "default": false,
          "description": "Whether to update all records matching the value in the \"Column to Match On\". If not set, only the first matching record will be updated.",
          "displayOptions": {
            "show": {
              "/operation": [
                "update",
                "upsert"
              ]
            }
          }
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "record"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Record ID",
      "name": "id",
      "type": "string",
      "default": "",
      "description": "ID of the record to delete. <a href=\"https://support.airtable.com/docs/record-id\" target=\"_blank\">More info</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "record"
          ],
          "operation": [
            "deleteRecord"
          ]
        }
      }
    },
    {
      "displayName": "Record ID",
      "name": "id",
      "type": "string",
      "default": "",
      "description": "ID of the record to get. <a href=\"https://support.airtable.com/docs/record-id\" target=\"_blank\">More info</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "record"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "description": "Additional options which decide which records should be returned",
      "options": [
        {
          "displayName": "Download Attachments",
          "name": "downloadFields",
          "type": "multiOptions",
          "typeOptions": {
            "loadOptionsMethod": "getAttachmentColumns",
            "loadOptionsDependsOn": [
              "base.value",
              "table.value"
            ]
          },
          "default": [],
          "description": "The fields of type 'attachment' that should be downloaded"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "record"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Filter By Formula",
      "name": "filterByFormula",
      "type": "string",
      "default": "",
      "description": "The formula will be evaluated for each record, and if the result is not 0, false, \"\", NaN, [], or #Error! the record will be included in the response. <a href=\"https://support.airtable.com/docs/formula-field-reference\" target=\"_blank\">More info</a>.",
      "displayOptions": {
        "show": {
          "resource": [
            "record"
          ],
          "operation": [
            "search"
          ]
        }
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": true,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "resource": [
            "record"
          ],
          "operation": [
            "search"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "returnAll": [
            false
          ],
          "resource": [
            "record"
          ],
          "operation": [
            "search"
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "description": "Additional options which decide which records should be returned",
      "options": [
        {
          "displayName": "Download Attachments",
          "name": "downloadFields",
          "type": "multiOptions",
          "typeOptions": {
            "loadOptionsMethod": "getAttachmentColumns",
            "loadOptionsDependsOn": [
              "base.value",
              "table.value"
            ]
          },
          "default": [],
          "description": "The fields of type 'attachment' that should be downloaded"
        },
        {
          "displayName": "Output Fields",
          "name": "fields",
          "type": "multiOptions",
          "typeOptions": {
            "loadOptionsMethod": "getColumns",
            "loadOptionsDependsOn": [
              "base.value",
              "table.value"
            ]
          },
          "default": [],
          "description": "The fields you want to include in the output"
        },
        {
          "displayName": "View",
          "name": "view",
          "type": "resourceLocator",
          "default": {
            "mode": "list",
            "value": ""
          },
          "modes": [
            {
              "displayName": "From List",
              "name": "list",
              "type": "list",
              "typeOptions": {
                "searchListMethod": "viewSearch",
                "searchable": true
              }
            },
            {
              "displayName": "By URL",
              "name": "url",
              "type": "string",
              "placeholder": "https://airtable.com/app12DiScdfes/tblAAAAAAAAAAAAA/viwHdfasdfeieg5p",
              "validation": [
                {
                  "type": "regex",
                  "properties": {
                    "regex": "https://airtable.com/[a-zA-Z0-9]{2,}/[a-zA-Z0-9]{2,}/([a-zA-Z0-9]{2,})/.*",
                    "errorMessage": "Not a valid Airtable View URL"
                  }
                }
              ],
              "extractValue": {
                "type": "regex",
                "regex": "https://airtable.com/[a-zA-Z0-9]{2,}/[a-zA-Z0-9]{2,}/([a-zA-Z0-9]{2,})"
              }
            },
            {
              "displayName": "ID",
              "name": "id",
              "type": "string",
              "validation": [
                {
                  "type": "regex",
                  "properties": {
                    "regex": "[a-zA-Z0-9]{2,}",
                    "errorMessage": "Not a valid Airtable View ID"
                  }
                }
              ],
              "placeholder": "viw3dirwqeidke"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "record"
          ],
          "operation": [
            "search"
          ]
        }
      }
    },
    {
      "displayName": "Sort",
      "name": "sort",
      "type": "fixedCollection",
      "default": {},
      "description": "Defines how the returned records should be ordered",
      "options": [
        {
          "name": "property",
          "displayName": "Property",
          "values": [
            {
              "displayName": "Field",
              "name": "field",
              "type": "options",
              "typeOptions": {
                "loadOptionsMethod": "getColumns",
                "loadOptionsDependsOn": [
                  "base.value",
                  "table.value"
                ]
              },
              "default": "",
              "description": "Name of the field to sort on. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
            },
            {
              "displayName": "Direction",
              "name": "direction",
              "type": "options",
              "options": [
                {
                  "name": "ASC",
                  "value": "asc",
                  "description": "Sort in ascending order (small -> large)"
                },
                {
                  "name": "DESC",
                  "value": "desc",
                  "description": "Sort in descending order (large -> small)"
                }
              ],
              "default": "asc",
              "description": "The sort direction"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "record"
          ],
          "operation": [
            "search"
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true
      }
    },
    {
      "displayName": "Columns",
      "name": "columns",
      "type": "resourceMapper",
      "default": {
        "mappingMode": "defineBelow",
        "value": null
      },
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "record"
          ],
          "operation": [
            "update"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "table.value",
          "base.value"
        ],
        "resourceMapper": {
          "resourceMapperMethod": "getColumnsWithRecordId",
          "mode": "update",
          "fieldWords": {
            "singular": "column",
            "plural": "columns"
          },
          "addAllFields": true,
          "multiKeyMatch": true
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Typecast",
          "name": "typecast",
          "type": "boolean",
          "default": false,
          "description": "Whether the Airtable API should attempt mapping of string values for linked records & select options"
        },
        {
          "displayName": "Ignore Fields From Input",
          "name": "ignoreFields",
          "type": "string",
          "requiresDataPath": "multiple",
          "displayOptions": {
            "show": {
              "/columns.mappingMode": [
                "autoMapInputData"
              ]
            }
          },
          "default": "",
          "description": "Comma-separated list of fields in input to ignore when updating"
        },
        {
          "displayName": "Update All Matches",
          "name": "updateAllMatches",
          "type": "boolean",
          "default": false,
          "description": "Whether to update all records matching the value in the \"Column to Match On\". If not set, only the first matching record will be updated.",
          "displayOptions": {
            "show": {
              "/operation": [
                "update",
                "upsert"
              ]
            }
          }
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "record"
          ],
          "operation": [
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Columns",
      "name": "columns",
      "type": "resourceMapper",
      "default": {
        "mappingMode": "defineBelow",
        "value": null
      },
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "record"
          ],
          "operation": [
            "upsert"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "table.value",
          "base.value"
        ],
        "resourceMapper": {
          "resourceMapperMethod": "getColumnsWithRecordId",
          "mode": "update",
          "fieldWords": {
            "singular": "column",
            "plural": "columns"
          },
          "addAllFields": true,
          "multiKeyMatch": true
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Typecast",
          "name": "typecast",
          "type": "boolean",
          "default": false,
          "description": "Whether the Airtable API should attempt mapping of string values for linked records & select options"
        },
        {
          "displayName": "Ignore Fields From Input",
          "name": "ignoreFields",
          "type": "string",
          "requiresDataPath": "multiple",
          "displayOptions": {
            "show": {
              "/columns.mappingMode": [
                "autoMapInputData"
              ]
            }
          },
          "default": "",
          "description": "Comma-separated list of fields in input to ignore when updating"
        },
        {
          "displayName": "Update All Matches",
          "name": "updateAllMatches",
          "type": "boolean",
          "default": false,
          "description": "Whether to update all records matching the value in the \"Column to Match On\". If not set, only the first matching record will be updated.",
          "displayOptions": {
            "show": {
              "/operation": [
                "update",
                "upsert"
              ]
            }
          }
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "record"
          ],
          "operation": [
            "upsert"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Get Many",
          "value": "getMany",
          "description": "List all the bases",
          "action": "Get many bases"
        },
        {
          "name": "Get Schema",
          "value": "getSchema",
          "description": "Get the schema of the tables in a base",
          "action": "Get base schema"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "base"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": true,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "resource": [
            "base"
          ],
          "operation": [
            "getMany"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "returnAll": [
            false
          ],
          "resource": [
            "base"
          ],
          "operation": [
            "getMany"
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Permission Level",
          "name": "permissionLevel",
          "type": "multiOptions",
          "options": [
            {
              "name": "Comment",
              "value": "comment"
            },
            {
              "name": "Create",
              "value": "create"
            },
            {
              "name": "Edit",
              "value": "edit"
            },
            {
              "name": "None",
              "value": "none"
            },
            {
              "name": "Read",
              "value": "read"
            }
          ],
          "default": [],
          "description": "Filter the returned bases by one or more permission levels"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "base"
          ],
          "operation": [
            "getMany"
          ]
        }
      }
    },
    {
      "displayName": "Base",
      "name": "base",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "The Airtable Base to retrieve the schema from",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "base"
          ],
          "operation": [
            "getSchema"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "typeOptions": {
            "searchListMethod": "baseSearch",
            "searchable": true
          }
        },
        {
          "displayName": "By URL",
          "name": "url",
          "type": "string",
          "placeholder": "e.g. https://airtable.com/app12DiScdfes/tbl9WvGeEPa6lZyVq/viwHdfasdfeieg5p",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "https://airtable.com/([a-zA-Z0-9]{2,})/.*",
                "errorMessage": "Not a valid Airtable Base URL"
              }
            }
          ],
          "extractValue": {
            "type": "regex",
            "regex": "https://airtable.com/([a-zA-Z0-9]{2,})"
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[a-zA-Z0-9]{2,}",
                "errorMessage": "Not a valid Airtable Base ID"
              }
            }
          ],
          "placeholder": "e.g. appD3dfaeidke",
          "url": "=https://airtable.com/{{$value}}"
        }
      ]
    }
  ]

operations:
  [
    {
      "operation": "create",
      "name": "Create",
      "description": "Create a new record in a table",
      "resource": "record"
    },
    {
      "operation": "upsert",
      "name": "Create or Update",
      "description": "Create a new record, or update the current one if it already exists (upsert)",
      "resource": "record"
    },
    {
      "operation": "deleteRecord",
      "name": "Delete",
      "description": "Delete a record from a table",
      "resource": "record"
    },
    {
      "operation": "get",
      "name": "Get",
      "description": "Retrieve a record from a table",
      "resource": "record"
    },
    {
      "operation": "search",
      "name": "Search",
      "description": "Search for specific records or list all",
      "resource": "record"
    },
    {
      "operation": "update",
      "name": "Update",
      "description": "Update a record in a table",
      "resource": "record"
    },
    {
      "operation": "getMany",
      "name": "Get Many",
      "description": "List all the bases",
      "resource": "base"
    },
    {
      "operation": "getSchema",
      "name": "Get Schema",
      "description": "Get the schema of the tables in a base",
      "resource": "base"
    }
  ]

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


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

updated_at: 2026-07-16 12:10:21
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Airtable Trigger node documentation
  description: Learn how to use the Airtable Trigger node in n8n. Follow technical documentation to integrate Airtable Trigger node into your workflows.
  contentType: [integration, reference]
  priority: medium
  ---

  # Airtable Trigger node

  [Airtable](https://airtable.com/){:target=_blank .external-link} is a spreadsheet-database hybrid, with the features of a database but applied to a spreadsheet. The fields in an Airtable table are similar to cells in a spreadsheet, but have types such as 'checkbox', 'phone number', and 'drop-down list', and can reference file attachments like images.

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

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

  ## Events

  * **New Airtable event**

  ## Related resources

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

  View [example workflows and related content](https://n8n.io/integrations/airtable-trigger/) on n8n's website.

  Refer to [Airtable's documentation](https://airtable.com/developers/web/api/introduction) for details about their API.

  ## Node parameters

  Use these parameters to configure your node.

  ### Poll Times

  n8n's Airtable node uses polling for check for updates on configured Airtable resources. The **Poll Times** parameter configures the querying frequency:

  * Every Minute
  * Every Hour
  * Every Day
  * Every Week
  * Every Month
  * Every X: Check for updates every given number of minutes or hours.
  * Custom: Customize the polling interval by providing a [cron expression](https://en.wikipedia.org/wiki/Cron).

  Use the **Add Poll Time** button to add more polling intervals.

  ### Base

  The [Airtable base](https://support.airtable.com/docs/airtable-bases-overview) you want to check for updates on. You can provide your base's URL or [base ID](https://support.airtable.com/docs/finding-airtable-ids#finding-base-table-and-view-ids-from-urls).

  ### Table

  The [Airtable table](https://support.airtable.com/docs/tables-overview) within the Airtable base that you want to check for updates on. You can provide the table's URL or [table ID](https://support.airtable.com/docs/finding-airtable-ids#finding-base-table-and-view-ids-from-urls).

  ### Trigger Field

  A created or last modified field in your table. The Airtable Trigger node uses this to determine what updates occurred since the previous check.

  ### Download Attachments

  Whether to download attachments from the table. When enabled, the **Download Fields** parameter defines the attachment fields.

  ### Download Fields

  When you enable the **Download Attachments** toggle, this field defines which table fields to download. Field names are case sensitive. Use a comma to separate multiple field names.

  ### Additional Fields

  Use the **Add Field** button to add the following parameters:

  * **Fields**: A comma-separated list of fields to include in the output. If you don't specify anything here, the output will contain only the **Trigger Field**.
  * **Formula**: An [Airtable formula](https://support.airtable.com/docs/formula-field-reference) to further filter the results. You can use this to add further constraints to the events that trigger the workflow. Note that formula values aren't taken into account for manual executions, only for production polling.
  * **View ID**: The name or ID of a table view. When defined, only returns records available in the given view.

properties_schema:
  [
    {
      "displayName": "Authentication",
      "name": "authentication",
      "type": "options",
      "default": "airtableApi",
      "options": [
        {
          "name": "API Key",
          "value": "airtableApi"
        },
        {
          "name": "Access Token",
          "value": "airtableTokenApi"
        },
        {
          "name": "OAuth2",
          "value": "airtableOAuth2Api"
        }
      ]
    },
    {
      "displayName": "Base",
      "name": "baseId",
      "type": "resourceLocator",
      "default": {
        "mode": "url",
        "value": ""
      },
      "description": "The Airtable Base in which to operate on",
      "required": true,
      "modes": [
        {
          "displayName": "By URL",
          "name": "url",
          "type": "string",
          "placeholder": "https://airtable.com/app12DiScdfes/tblAAAAAAAAAAAAA/viwHdfasdfeieg5p",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "https://airtable.com/([a-zA-Z0-9]{2,})/.*",
                "errorMessage": "Not a valid Airtable Base URL"
              }
            }
          ],
          "extractValue": {
            "type": "regex",
            "regex": "https://airtable.com/([a-zA-Z0-9]{2,})"
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[a-zA-Z0-9]{2,}",
                "errorMessage": "Not a valid Airtable Base ID"
              }
            }
          ],
          "placeholder": "appD3dfaeidke",
          "url": "=https://airtable.com/{{$value}}"
        }
      ]
    },
    {
      "displayName": "Table",
      "name": "tableId",
      "type": "resourceLocator",
      "default": {
        "mode": "url",
        "value": ""
      },
      "required": true,
      "modes": [
        {
          "displayName": "By URL",
          "name": "url",
          "type": "string",
          "placeholder": "https://airtable.com/app12DiScdfes/tblAAAAAAAAAAAAA/viwHdfasdfeieg5p",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "https://airtable.com/[a-zA-Z0-9]{2,}/([a-zA-Z0-9]{2,})/.*",
                "errorMessage": "Not a valid Airtable Table URL"
              }
            }
          ],
          "extractValue": {
            "type": "regex",
            "regex": "https://airtable.com/[a-zA-Z0-9]{2,}/([a-zA-Z0-9]{2,})"
          }
        },
        {
          "displayName": "ID",
          "name": "id",
          "type": "string",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": "[a-zA-Z0-9]{2,}",
                "errorMessage": "Not a valid Airtable Table ID"
              }
            }
          ],
          "placeholder": "tbl3dirwqeidke"
        }
      ]
    },
    {
      "displayName": "Trigger Field",
      "name": "triggerField",
      "type": "string",
      "default": "",
      "description": "A Created Time or Last Modified Time field that will be used to sort records. If you do not have a Created Time or Last Modified Time field in your schema, please create one, because without this field trigger will not work correctly.",
      "required": true
    },
    {
      "displayName": "Download Attachments",
      "name": "downloadAttachments",
      "type": "boolean",
      "default": false,
      "description": "Whether the attachment fields define in 'Download Fields' will be downloaded"
    },
    {
      "displayName": "Download Fields",
      "name": "downloadFieldNames",
      "type": "string",
      "default": "",
      "description": "Name of the fields of type 'attachment' that should be downloaded. Multiple ones can be defined separated by comma. Case sensitive.",
      "required": true,
      "displayOptions": {
        "show": {
          "downloadAttachments": [
            true
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Fields",
          "name": "fields",
          "type": "string",
          "requiresDataPath": "multiple",
          "default": "",
          "description": "Fields to be included in the response. Multiple ones can be set separated by comma. Example: <code>name, id</code>. By default just the trigger field will be included."
        },
        {
          "displayName": "Formula",
          "name": "formula",
          "type": "string",
          "default": "",
          "description": "Formulas may involve functions, numeric operations, logical operations, and text operations that operate on fields. More info <a href=\"https://support.airtable.com/hc/en-us/articles/203255215-Formula-Field-Reference\">here</a>."
        },
        {
          "displayName": "View ID",
          "name": "viewId",
          "type": "string",
          "default": "",
          "description": "The name or ID of a view in the table. If set, only the records in that view will be returned."
        }
      ]
    }
  ]

credentials_required:
  [
    {
      "name": "airtableApi",
      "required": true,
      "displayOptions": {
        "show": {
          "authentication": [
            "airtableApi"
          ]
        }
      }
    },
    {
      "name": "airtableTokenApi",
      "required": true,
      "displayOptions": {
        "show": {
          "authentication": [
            "airtableTokenApi"
          ]
        }
      }
    },
    {
      "name": "airtableOAuth2Api",
      "required": true,
      "displayOptions": {
        "show": {
          "authentication": [
            "airtableOAuth2Api"
          ]
        }
      }
    }
  ]


node_type: nodes-base.airtopTool
package_name: n8n-nodes-base
display_name: Airtop Tool
description: Scrape and control any site with Airtop (AI Tool variant for use with AI Agents)
category: transform
development_style: programmatic
version: 1
credentials_required:
  [
  {
  "name": "airtopApi",
  "required": true
  }
  ]

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

output_names:
  [
  "Tool"
  ]

updated_at: 2026-07-16 12:10:21
tool_variant_of: nodes-base.airtop
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Airtop node documentation
  description: Learn how to use the Airtop node in n8n. Follow technical documentation to integrate Airtop node into your workflows.
  contentType: [integration, reference]
  ---

  # Airtop node

  Use the Airtop node to automate work in Airtop, and integrate Airtop with other applications. n8n has built-in support for a wide range of Airtop features, enabling you to control a cloud-based web browser for tasks like querying, scraping, and interacting with web pages.

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

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


  ## Operations

  * Session
      * Create session
      * Save profile on termination
      * Terminate session
  * Window
      * Create a new browser window
      * Load URL
      * Take screenshot
      * Close window
  * Extraction
      * Query page
      * Query page with pagination
      * Smart scrape page
  * Interaction
      * Click an element
      * Hover on an element
      * Type


  ## Templates and examples

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


  ## Related resources

  Refer to [Airtop's documentation](https://docs.airtop.ai/api-reference/airtop-api) for more information about the service.

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

  Contact [Airtop's Support](https://docs.airtop.ai/guides/misc/support) for assistance or to create a feature request.

  ## Node reference

  ### Create a session and window

  Create an Airtop browser session to get a **Session ID**, then use it to create a new browser window. After this, you can use any extraction or interaction operation.

  ### Extract content

  Extract content from a web browser using these operations:

  - **Query page**: Extract information from the current window.
  - **Query page with pagination**: Extract information from pages with pagination or infinite scrolling.
  - **Smart scrape page**: Get the window content as markdown.

  Get JSON responses by using the **JSON Output Schema** parameter in query operations.

  ### Interacting with pages

  Click, hover, or type on elements by describing the element you want to interact with.

  ### Terminate a session

  End your session to save resources. Sessions are automatically terminated based on the **Idle Timeout** set in the **Create Session** operation or can be manually terminated using the **Terminate Session** operation.

properties_schema:
  [
    {
      "displayName": "Tool Description",
      "name": "toolDescription",
      "type": "string",
      "default": "",
      "required": false,
      "description": "Description for the AI to understand what this tool does and when to use it",
      "typeOptions": {
        "rows": 3
      },
      "placeholder": "e.g., Use this tool to interact with Airtop"
    },
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "session",
      "options": [
        {
          "name": "Agent",
          "value": "agent"
        },
        {
          "name": "Extraction",
          "value": "extraction"
        },
        {
          "name": "File",
          "value": "file"
        },
        {
          "name": "Interaction",
          "value": "interaction"
        },
        {
          "name": "Session",
          "value": "session"
        },
        {
          "name": "Window",
          "value": "window"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "run",
      "options": [
        {
          "name": "Run",
          "value": "run",
          "description": "Run an Airtop agent",
          "action": "Run an agent"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "agent"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Agent",
      "name": "agentId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "The Airtop agent to run. Visit <a href=\"https://portal.airtop.ai/agents\" target=\"_blank\">Airtop Agents</a> for more information.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "agent"
          ],
          "operation": [
            "run"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "placeholder": "Select an Agent...",
          "typeOptions": {
            "searchListMethod": "listSearchAgents",
            "searchFilterRequired": false,
            "searchable": true
          }
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. agent_abc123",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": ".+",
                "errorMessage": "Agent ID cannot be empty"
              }
            }
          ]
        }
      ]
    },
    {
      "displayName": "Agent Parameters",
      "name": "agentParameters",
      "type": "resourceMapper",
      "default": {
        "mappingMode": "defineBelow",
        "value": null
      },
      "displayOptions": {
        "show": {
          "resource": [
            "agent"
          ],
          "operation": [
            "run"
          ]
        },
        "hide": {
          "agentId": [
            ""
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "agentId.value"
        ],
        "resourceMapper": {
          "resourceMapperMethod": "agentsResourceMapping",
          "mode": "map",
          "supportAutoMap": false,
          "addAllFields": true,
          "noFieldsError": "No input parameters found for the selected agent",
          "multiKeyMatch": false,
          "allowEmptyValues": true,
          "fieldWords": {
            "singular": "parameter",
            "plural": "parameters"
          }
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Await Agent",
      "name": "awaitExecution",
      "type": "boolean",
      "default": true,
      "description": "Whether to wait for the agent to complete its execution",
      "displayOptions": {
        "show": {
          "resource": [
            "agent"
          ],
          "operation": [
            "run"
          ]
        }
      }
    },
    {
      "displayName": "Timeout",
      "name": "timeout",
      "type": "number",
      "default": 600,
      "description": "Timeout in seconds to wait for the agent to finish",
      "displayOptions": {
        "show": {
          "resource": [
            "agent"
          ],
          "operation": [
            "run"
          ],
          "awaitExecution": [
            true
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create Session",
          "value": "create",
          "description": "Create an Airtop browser session",
          "action": "Create a session"
        },
        {
          "name": "Save Profile on Termination",
          "value": "save",
          "description": "Save in a profile changes made in your browsing session such as cookies and local storage",
          "action": "Save a profile on session termination"
        },
        {
          "name": "Terminate Session",
          "value": "terminate",
          "description": "Terminate a session",
          "action": "Terminate a session"
        },
        {
          "name": "Wait for Download",
          "value": "waitForDownload",
          "description": "Wait for a file download to become available",
          "action": "Wait for a download"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "session"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Profile Name",
      "name": "profileName",
      "type": "string",
      "default": "",
      "description": "The name of the Airtop profile to load or create",
      "displayOptions": {
        "show": {
          "resource": [
            "session"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Save Profile",
      "name": "saveProfileOnTermination",
      "type": "boolean",
      "default": false,
      "description": "Whether to automatically save the <a href=\"https://docs.airtop.ai/guides/how-to/saving-a-profile\" target=\"_blank\">Airtop profile</a> for this session upon termination",
      "displayOptions": {
        "show": {
          "resource": [
            "session"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Record Session",
      "name": "record",
      "type": "boolean",
      "default": false,
      "description": "Whether to record the browser session. <a href=\"https://docs.airtop.ai/guides/how-to/recording-a-session\" target=\"_blank\">More details</a>.",
      "displayOptions": {
        "show": {
          "resource": [
            "session"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Idle Timeout",
      "name": "timeoutMinutes",
      "type": "number",
      "default": 10,
      "description": "Minutes to wait before the session is terminated due to inactivity",
      "displayOptions": {
        "show": {
          "resource": [
            "session"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Proxy",
      "name": "proxy",
      "type": "options",
      "default": "none",
      "description": "Choose how to configure the proxy for this session",
      "options": [
        {
          "name": "None",
          "value": "none",
          "description": "No proxy will be used"
        },
        {
          "name": "Integrated",
          "value": "integrated",
          "description": "Use Airtop-provided proxy"
        },
        {
          "name": "Proxy URL",
          "value": "proxyUrl",
          "description": "Use a proxy URL to configure the proxy"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "session"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Proxy Configuration",
      "name": "proxyConfig",
      "type": "collection",
      "default": {
        "country": "US",
        "sticky": true
      },
      "description": "The Airtop-provided configuration to use for the proxy",
      "options": [
        {
          "displayName": "Country",
          "name": "country",
          "type": "options",
          "default": "US",
          "description": "The country to use for the proxy. Not all countries are guaranteed to provide a proxy. Learn more <a href=\"https://docs.airtop.ai/api-reference/airtop-api/sessions/create#request.body.configuration.proxy.Proxy.Airtop-Proxy-Configuration.country\" target=\"_blank\">here</a>.",
          "options": [
            {
              "name": "Afghanistan",
              "value": "AF"
            },
            {
              "name": "Aland 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",
              "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",
              "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",
              "value": "KY"
            },
            {
              "name": "Central African Republic",
              "value": "CF"
            },
            {
              "name": "Chad",
              "value": "TD"
            },
            {
              "name": "Chile",
              "value": "CL"
            },
            {
              "name": "China",
              "value": "CN"
            },
            {
              "name": "Christmas Island",
              "value": "CX"
            },
            {
              "name": "Cocos (Keeling) Islands",
              "value": "CC"
            },
            {
              "name": "Colombia",
              "value": "CO"
            },
            {
              "name": "Comoros",
              "value": "KM"
            },
            {
              "name": "Congo",
              "value": "CG"
            },
            {
              "name": "Congo, Democratic Republic of The",
              "value": "CD"
            },
            {
              "name": "Cook Islands",
              "value": "CK"
            },
            {
              "name": "Costa Rica",
              "value": "CR"
            },
            {
              "name": "Cote 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",
              "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": "Eswatini",
              "value": "SZ"
            },
            {
              "name": "Ethiopia",
              "value": "ET"
            },
            {
              "name": "Falkland Islands (Malvinas)",
              "value": "FK"
            },
            {
              "name": "Faroe Islands",
              "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",
              "value": "TF"
            },
            {
              "name": "Gabon",
              "value": "GA"
            },
            {
              "name": "Gambia",
              "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",
              "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, Democratic People's Republic Of",
              "value": "KP"
            },
            {
              "name": "Korea, Republic Of",
              "value": "KR"
            },
            {
              "name": "Kuwait",
              "value": "KW"
            },
            {
              "name": "Kyrgyzstan",
              "value": "KG"
            },
            {
              "name": "Lao People's Democratic Republic",
              "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": "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",
              "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, 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, Kingdom of The",
              "value": "NL"
            },
            {
              "name": "New Caledonia",
              "value": "NC"
            },
            {
              "name": "New Zealand",
              "value": "NZ"
            },
            {
              "name": "Nicaragua",
              "value": "NI"
            },
            {
              "name": "Niger",
              "value": "NE"
            },
            {
              "name": "Nigeria",
              "value": "NG"
            },
            {
              "name": "Niue",
              "value": "NU"
            },
            {
              "name": "Norfolk Island",
              "value": "NF"
            },
            {
              "name": "North Macedonia",
              "value": "MK"
            },
            {
              "name": "Northern Mariana Islands",
              "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",
              "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",
              "value": "RU"
            },
            {
              "name": "Rwanda",
              "value": "RW"
            },
            {
              "name": "Saint Barthelemy",
              "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",
              "value": "SD"
            },
            {
              "name": "Suriname",
              "value": "SR"
            },
            {
              "name": "Svalbard and Jan Mayen",
              "value": "SJ"
            },
            {
              "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",
              "value": "TC"
            },
            {
              "name": "Tuvalu",
              "value": "TV"
            },
            {
              "name": "Uganda",
              "value": "UG"
            },
            {
              "name": "Ukraine",
              "value": "UA"
            },
            {
              "name": "United Arab Emirates",
              "value": "AE"
            },
            {
              "name": "United Kingdom of Great Britain and Northern Ireland",
              "value": "GB"
            },
            {
              "name": "United States Minor Outlying Islands",
              "value": "UM"
            },
            {
              "name": "United States of America",
              "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"
            }
          ]
        },
        {
          "displayName": "Keep Same IP",
          "name": "sticky",
          "type": "boolean",
          "default": true,
          "description": "Whether to try to maintain the same IP address for the duration of the session. Airtop can guarantee that the same IP address will be available for up to a maximum of 30 minutes."
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "session"
          ],
          "operation": [
            "create"
          ],
          "proxy": [
            "integrated"
          ]
        }
      }
    },
    {
      "displayName": "Proxy URL",
      "name": "proxyUrl",
      "type": "string",
      "default": "",
      "description": "The URL of the proxy to use",
      "displayOptions": {
        "show": {
          "resource": [
            "session"
          ],
          "operation": [
            "create"
          ],
          "proxy": [
            "proxyUrl"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Auto Solve Captchas",
          "name": "solveCaptcha",
          "type": "boolean",
          "default": false,
          "description": "Whether to automatically solve <a href=\"https://docs.airtop.ai/guides/how-to/solving-captchas\" target=\"_blank\">captcha challenges</a>"
        },
        {
          "displayName": "Extension IDs",
          "name": "extensionIds",
          "type": "string",
          "default": "",
          "placeholder": "e.g. extId1, extId2, ...",
          "description": "Comma-separated extension IDs from the Google Web Store to be loaded into the session. Learn more <a href=\"https://docs.airtop.ai/guides/how-to/using-chrome-extensions\" target=\"_blank\">here</a>."
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "session"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Note: This operation is not needed if you enabled 'Save Profile' in the 'Create Session' operation",
      "name": "notice",
      "type": "notice",
      "default": "This operation will save the profile on session termination",
      "displayOptions": {
        "show": {
          "resource": [
            "session"
          ],
          "operation": [
            "save"
          ]
        }
      }
    },
    {
      "displayName": "Session ID",
      "name": "sessionId",
      "type": "string",
      "default": "={{ $json[\"sessionId\"] }}",
      "description": "The ID of the <a href=\"https://docs.airtop.ai/guides/how-to/creating-a-session\" target=\"_blank\">Session</a> to use",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "session"
          ],
          "operation": [
            "save"
          ]
        }
      }
    },
    {
      "displayName": "Profile Name",
      "name": "profileName",
      "type": "string",
      "default": "",
      "description": "The name of the <a href=\"https://docs.airtop.ai/guides/how-to/saving-a-profile\" target=\"_blank\">Profile</a> to save",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "session"
          ],
          "operation": [
            "save"
          ]
        }
      }
    },
    {
      "displayName": "Session ID",
      "name": "sessionId",
      "type": "string",
      "default": "={{ $json[\"sessionId\"] }}",
      "description": "The ID of the <a href=\"https://docs.airtop.ai/guides/how-to/creating-a-session\" target=\"_blank\">Session</a> to use",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "session"
          ],
          "operation": [
            "terminate"
          ]
        }
      }
    },
    {
      "displayName": "Session ID",
      "name": "sessionId",
      "type": "string",
      "default": "={{ $json[\"sessionId\"] }}",
      "description": "The ID of the <a href=\"https://docs.airtop.ai/guides/how-to/creating-a-session\" target=\"_blank\">Session</a> to use",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "session"
          ],
          "operation": [
            "waitForDownload"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Timeout",
          "description": "Time in seconds to wait for the download to become available",
          "name": "timeout",
          "type": "number",
          "default": 30
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "session"
          ],
          "operation": [
            "waitForDownload"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Close Window",
          "value": "close",
          "description": "Close a window inside a session",
          "action": "Close a window"
        },
        {
          "name": "Create a New Browser Window",
          "value": "create",
          "description": "Create a new browser window inside a session. Can load a URL when created.",
          "action": "Create a window"
        },
        {
          "name": "Get Live View",
          "value": "getLiveView",
          "description": "Get information about a browser window, including the live view URL",
          "action": "Get live view"
        },
        {
          "name": "List Windows",
          "value": "list",
          "description": "List all browser windows in a session",
          "action": "List windows"
        },
        {
          "name": "Load URL",
          "value": "load",
          "description": "Load a URL in an existing window",
          "action": "Load a page"
        },
        {
          "name": "Take Screenshot",
          "value": "takeScreenshot",
          "description": "Take a screenshot of the current window",
          "action": "Take screenshot"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "window"
          ]
        }
      },
      "typeOptions": {
        "sortable": false
      },
      "noDataExpression": true
    },
    {
      "displayName": "Session ID",
      "name": "sessionId",
      "type": "string",
      "default": "={{ $json[\"sessionId\"] }}",
      "description": "The ID of the <a href=\"https://docs.airtop.ai/guides/how-to/creating-a-session\" target=\"_blank\">Session</a> to use",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "window"
          ]
        }
      }
    },
    {
      "displayName": "Window ID",
      "name": "windowId",
      "type": "string",
      "default": "={{ $json[\"windowId\"] }}",
      "description": "The ID of the <a href=\"https://docs.airtop.ai/guides/how-to/creating-a-session#windows\" target=\"_blank\">Window</a> to use",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "window"
          ],
          "operation": [
            "close",
            "takeScreenshot",
            "load",
            "getLiveView"
          ]
        }
      }
    },
    {
      "displayName": "URL",
      "name": "url",
      "type": "string",
      "default": "",
      "description": "Initial URL to load in the window. Defaults to https://www.google.com.",
      "displayOptions": {
        "show": {
          "resource": [
            "window"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Get Live View",
      "name": "getLiveView",
      "type": "boolean",
      "default": false,
      "description": "Whether to get the URL of the window's <a href=\"https://docs.airtop.ai/guides/how-to/creating-a-live-view\" target=\"_blank\">Live View</a>",
      "displayOptions": {
        "show": {
          "resource": [
            "window"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Include Navigation Bar",
      "name": "includeNavigationBar",
      "type": "boolean",
      "default": false,
      "description": "Whether to include the navigation bar in the Live View. When enabled, the navigation bar will be visible allowing you to navigate between pages.",
      "displayOptions": {
        "show": {
          "resource": [
            "window"
          ],
          "operation": [
            "create"
          ],
          "getLiveView": [
            true
          ]
        }
      }
    },
    {
      "displayName": "Screen Resolution",
      "name": "screenResolution",
      "type": "string",
      "default": "",
      "description": "The screen resolution of the Live View. Setting a resolution will force the window to open at that specific size.",
      "displayOptions": {
        "show": {
          "resource": [
            "window"
          ],
          "operation": [
            "create"
          ],
          "getLiveView": [
            true
          ]
        }
      }
    },
    {
      "displayName": "Disable Resize",
      "name": "disableResize",
      "type": "boolean",
      "default": false,
      "description": "Whether to disable the window from being resized in the Live View",
      "displayOptions": {
        "show": {
          "resource": [
            "window"
          ],
          "operation": [
            "create"
          ],
          "getLiveView": [
            true
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Wait Until",
          "name": "waitUntil",
          "type": "options",
          "description": "Wait until the specified loading event occurs",
          "default": "load",
          "options": [
            {
              "name": "Load",
              "value": "load",
              "description": "Wait until the page dom and its assets have loaded"
            },
            {
              "name": "DOM Content Loaded",
              "value": "domContentLoaded",
              "description": "Wait until the page DOM has loaded"
            },
            {
              "name": "Complete",
              "value": "complete",
              "description": "Wait until all iframes in the page have loaded"
            },
            {
              "name": "No Wait",
              "value": "noWait",
              "description": "Do not wait for any loading event and it will return immediately"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "window"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Include Navigation Bar",
          "name": "includeNavigationBar",
          "type": "boolean",
          "default": false,
          "description": "Whether to include the navigation bar in the Live View. When enabled, the navigation bar will be visible allowing you to navigate between pages."
        },
        {
          "displayName": "Screen Resolution",
          "name": "screenResolution",
          "type": "string",
          "default": "",
          "description": "The screen resolution of the Live View. Setting a resolution will force the window to open at that specific size.",
          "placeholder": "e.g. 1280x720"
        },
        {
          "displayName": "Disable Resize",
          "name": "disableResize",
          "type": "boolean",
          "default": false,
          "description": "Whether to disable the window from being resized in the Live View"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "window"
          ],
          "operation": [
            "getLiveView"
          ]
        }
      }
    },
    {
      "displayName": "URL",
      "name": "url",
      "type": "string",
      "default": "",
      "description": "URL to load in the window",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "window"
          ],
          "operation": [
            "load"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Wait Until",
          "name": "waitUntil",
          "type": "options",
          "default": "load",
          "description": "Wait until the specified loading event occurs. Defaults to 'Fully Loaded'.",
          "options": [
            {
              "name": "Complete",
              "value": "complete",
              "description": "Wait until the page and all it's iframes have loaded it's dom and assets"
            },
            {
              "name": "DOM Only Loaded",
              "value": "domContentLoaded",
              "description": "Wait until the dom has loaded"
            },
            {
              "name": "Fully Loaded",
              "value": "load",
              "description": "Wait until the page dom and it's assets have loaded"
            },
            {
              "name": "No Wait",
              "value": "noWait",
              "description": "Do not wait for any loading event and will return immediately"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "window"
          ],
          "operation": [
            "load"
          ]
        }
      }
    },
    {
      "displayName": "Output Binary Image",
      "name": "outputImageAsBinary",
      "type": "boolean",
      "default": false,
      "description": "Whether to output the image as a binary file instead of a base64 encoded string",
      "displayOptions": {
        "show": {
          "resource": [
            "window"
          ],
          "operation": [
            "takeScreenshot"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Delete",
          "value": "deleteFile",
          "description": "Delete an uploaded file",
          "action": "Delete a file"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get a details of an uploaded file",
          "action": "Get a file"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "description": "Get details of multiple uploaded files",
          "action": "Get many files"
        },
        {
          "name": "Load",
          "value": "load",
          "description": "Load a file into a session",
          "action": "Load a file"
        },
        {
          "name": "Upload",
          "value": "upload",
          "description": "Upload a file into a session",
          "action": "Upload a file"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "File ID",
      "name": "fileId",
      "type": "string",
      "default": "",
      "description": "ID of the file to delete",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "deleteFile"
          ]
        }
      }
    },
    {
      "displayName": "File ID",
      "name": "fileId",
      "type": "string",
      "default": "",
      "description": "ID of the file to retrieve",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Output Binary File",
      "name": "outputBinaryFile",
      "type": "boolean",
      "default": false,
      "description": "Whether to output the file in binary format if the file is ready for download",
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "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": [
            "file"
          ],
          "operation": [
            "getMany"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 10,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "getMany"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Session IDs",
      "name": "sessionIds",
      "type": "string",
      "default": "",
      "description": "Comma-separated list of <a href=\"https://docs.airtop.ai/api-reference/airtop-api/sessions/create\" target=\"_blank\">Session IDs</a> to filter files by. When empty, all files from all sessions will be returned.",
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "getMany"
          ]
        }
      }
    },
    {
      "displayName": "Output Files in Single Item",
      "name": "outputSingleItem",
      "type": "boolean",
      "default": true,
      "description": "Whether to output one item containing all files or output each file as a separate item",
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "getMany"
          ]
        }
      }
    },
    {
      "displayName": "Session ID",
      "name": "sessionId",
      "type": "string",
      "default": "={{ $json[\"sessionId\"] }}",
      "description": "The session ID to load the file into",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "load"
          ]
        }
      }
    },
    {
      "displayName": "Window ID",
      "name": "windowId",
      "type": "string",
      "default": "={{ $json[\"windowId\"] }}",
      "description": "The window ID to trigger the file input in",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "load"
          ]
        }
      }
    },
    {
      "displayName": "File ID",
      "name": "fileId",
      "type": "string",
      "default": "",
      "description": "ID of the file to load into the session",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "load"
          ]
        }
      }
    },
    {
      "displayName": "Element Description",
      "name": "elementDescription",
      "type": "string",
      "default": "",
      "description": "Optional description of the file input to interact with",
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "load"
          ]
        }
      }
    },
    {
      "displayName": "Include Hidden Elements",
      "name": "includeHiddenElements",
      "type": "boolean",
      "default": true,
      "description": "Whether to include hidden elements in the interaction",
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "load"
          ]
        }
      }
    },
    {
      "displayName": "Session ID",
      "name": "sessionId",
      "type": "string",
      "default": "={{ $json[\"sessionId\"] }}",
      "description": "The session ID to load the file into",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "upload"
          ]
        }
      }
    },
    {
      "displayName": "Window ID",
      "name": "windowId",
      "type": "string",
      "default": "={{ $json[\"windowId\"] }}",
      "description": "The window ID to trigger the file input in",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "upload"
          ]
        }
      }
    },
    {
      "displayName": "File Name",
      "name": "fileName",
      "type": "string",
      "default": "",
      "description": "Name for the file to upload. For a session, all files loaded should have <b>unique names</b>.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "upload"
          ]
        }
      }
    },
    {
      "displayName": "File Type",
      "name": "fileType",
      "type": "options",
      "default": "customer_upload",
      "description": "Choose the type of file to upload. Defaults to 'Customer Upload'.",
      "options": [
        {
          "name": "Browser Download",
          "value": "browser_download"
        },
        {
          "name": "Screenshot",
          "value": "screenshot"
        },
        {
          "name": "Video",
          "value": "video"
        },
        {
          "name": "Customer Upload",
          "value": "customer_upload"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "upload"
          ]
        }
      }
    },
    {
      "displayName": "Source",
      "name": "source",
      "type": "options",
      "default": "url",
      "description": "Source of the file to upload",
      "options": [
        {
          "name": "URL",
          "value": "url"
        },
        {
          "name": "Binary",
          "value": "binary"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "upload"
          ]
        }
      }
    },
    {
      "displayName": "Binary Property",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "description": "Name of the binary property containing the file data",
      "required": true,
      "displayOptions": {
        "show": {
          "source": [
            "binary"
          ],
          "resource": [
            "file"
          ],
          "operation": [
            "upload"
          ]
        }
      }
    },
    {
      "displayName": "URL",
      "name": "url",
      "type": "string",
      "default": "",
      "description": "URL from where to fetch the file to upload",
      "required": true,
      "displayOptions": {
        "show": {
          "source": [
            "url"
          ],
          "resource": [
            "file"
          ],
          "operation": [
            "upload"
          ]
        }
      }
    },
    {
      "displayName": "Trigger File Input",
      "name": "triggerFileInputParameter",
      "type": "boolean",
      "default": true,
      "description": "Whether to automatically trigger the file input dialog in the current window. If disabled, the file will only be uploaded to the session without opening the file input dialog.",
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "upload"
          ]
        }
      }
    },
    {
      "displayName": "Element Description",
      "name": "elementDescription",
      "type": "string",
      "default": "",
      "description": "Optional description of the file input to interact with",
      "displayOptions": {
        "show": {
          "triggerFileInputParameter": [
            true
          ],
          "resource": [
            "file"
          ],
          "operation": [
            "upload"
          ]
        }
      }
    },
    {
      "displayName": "Include Hidden Elements",
      "name": "includeHiddenElements",
      "type": "boolean",
      "default": true,
      "description": "Whether to include hidden elements in the interaction",
      "displayOptions": {
        "show": {
          "triggerFileInputParameter": [
            true
          ],
          "resource": [
            "file"
          ],
          "operation": [
            "upload"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "getPaginated",
      "options": [
        {
          "name": "Query Page",
          "value": "query",
          "description": "Query a page to extract data or ask a question given the data on the page",
          "action": "Query page"
        },
        {
          "name": "Query Page with Pagination",
          "value": "getPaginated",
          "description": "Extract content from paginated or dynamically loaded pages",
          "action": "Query page with pagination"
        },
        {
          "name": "Smart Scrape",
          "value": "scrape",
          "description": "Scrape a page and return the data as markdown",
          "action": "Smart scrape page"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "extraction"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Session Mode",
      "name": "sessionMode",
      "type": "options",
      "default": "existing",
      "description": "Choose between creating a new session or using an existing one",
      "options": [
        {
          "name": "Automatically Create Session",
          "description": "Automatically create a new session and window for this operation",
          "value": "new"
        },
        {
          "name": "Use Existing Session",
          "description": "Use an existing session and window for this operation",
          "value": "existing"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "extraction"
          ],
          "operation": [
            "getPaginated",
            "query",
            "scrape"
          ]
        }
      }
    },
    {
      "displayName": "Session ID",
      "name": "sessionId",
      "type": "string",
      "default": "={{ $json[\"sessionId\"] }}",
      "description": "The ID of the <a href=\"https://docs.airtop.ai/guides/how-to/creating-a-session\" target=\"_blank\">Session</a> to use",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "extraction"
          ],
          "sessionMode": [
            "existing"
          ]
        }
      }
    },
    {
      "displayName": "Window ID",
      "name": "windowId",
      "type": "string",
      "default": "={{ $json[\"windowId\"] }}",
      "description": "The ID of the <a href=\"https://docs.airtop.ai/guides/how-to/creating-a-session#windows\" target=\"_blank\">Window</a> to use",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "extraction"
          ],
          "sessionMode": [
            "existing"
          ]
        }
      }
    },
    {
      "displayName": "URL",
      "name": "url",
      "type": "string",
      "default": "",
      "description": "URL to load in the window",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "extraction"
          ],
          "sessionMode": [
            "new"
          ]
        }
      }
    },
    {
      "displayName": "Profile Name",
      "name": "profileName",
      "type": "string",
      "default": "",
      "description": "The name of the Airtop profile to load or create",
      "displayOptions": {
        "show": {
          "resource": [
            "extraction"
          ],
          "sessionMode": [
            "new"
          ]
        }
      }
    },
    {
      "displayName": "Auto-Terminate Session",
      "name": "autoTerminateSession",
      "type": "boolean",
      "default": true,
      "description": "Whether to terminate the session after the operation is complete. When disabled, you must manually terminate the session. By default, idle sessions timeout after 10 minutes",
      "displayOptions": {
        "show": {
          "resource": [
            "extraction"
          ],
          "sessionMode": [
            "new"
          ]
        }
      }
    },
    {
      "displayName": "Prompt",
      "name": "prompt",
      "type": "string",
      "default": "",
      "description": "The prompt to extract data from the pages",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "extraction"
          ],
          "operation": [
            "getPaginated"
          ]
        }
      },
      "typeOptions": {
        "rows": 4
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "JSON Output Schema",
          "name": "outputSchema",
          "description": "JSON schema defining the structure of the output",
          "hint": "If you want to force your output to be JSON, provide a valid JSON schema describing the output. You can generate one automatically in the <a href=\"https://portal.airtop.ai/\" target=\"_blank\">Airtop API Playground</a>.",
          "type": "json",
          "default": ""
        },
        {
          "displayName": "Parse JSON Output",
          "name": "parseJsonOutput",
          "type": "boolean",
          "default": true,
          "description": "Whether to parse the model's response to JSON in the output. Requires the 'JSON Output Schema' parameter to be set."
        },
        {
          "displayName": "Interaction Mode",
          "name": "interactionMode",
          "type": "options",
          "default": "auto",
          "description": "The strategy for interacting with the page",
          "options": [
            {
              "name": "Auto",
              "description": "Automatically choose the most cost-effective mode",
              "value": "auto"
            },
            {
              "name": "Accurate",
              "description": "Prioritize accuracy over cost",
              "value": "accurate"
            },
            {
              "name": "Cost Efficient",
              "description": "Minimize costs while ensuring effectiveness",
              "value": "cost-efficient"
            }
          ]
        },
        {
          "displayName": "Pagination Mode",
          "name": "paginationMode",
          "type": "options",
          "default": "auto",
          "description": "The pagination approach to use",
          "options": [
            {
              "name": "Auto",
              "description": "Look for pagination links first, then try infinite scrolling",
              "value": "auto"
            },
            {
              "name": "Paginated",
              "description": "Only use pagination links",
              "value": "paginated"
            },
            {
              "name": "Infinite Scroll",
              "description": "Scroll the page to load more content",
              "value": "infinite-scroll"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "extraction"
          ],
          "operation": [
            "getPaginated"
          ]
        }
      }
    },
    {
      "displayName": "Prompt",
      "name": "prompt",
      "type": "string",
      "default": "",
      "description": "The prompt to query the page content",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "extraction"
          ],
          "operation": [
            "query"
          ]
        }
      },
      "typeOptions": {
        "rows": 4
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "JSON Output Schema",
          "name": "outputSchema",
          "description": "JSON schema defining the structure of the output",
          "hint": "If you want to force your output to be JSON, provide a valid JSON schema describing the output. You can generate one automatically in the <a href=\"https://portal.airtop.ai/\" target=\"_blank\">Airtop API Playground</a>.",
          "type": "json",
          "default": ""
        },
        {
          "displayName": "Parse JSON Output",
          "name": "parseJsonOutput",
          "type": "boolean",
          "default": true,
          "description": "Whether to parse the model's response to JSON in the output. Requires the 'JSON Output Schema' parameter to be set."
        },
        {
          "displayName": "Include Visual Analysis",
          "name": "includeVisualAnalysis",
          "type": "boolean",
          "default": false,
          "description": "Whether to analyze the web page visually when fulfilling the request"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "extraction"
          ],
          "operation": [
            "query"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "click",
      "options": [
        {
          "name": "Click an Element",
          "value": "click",
          "description": "Execute a click on an element given a description",
          "action": "Click an element"
        },
        {
          "name": "Fill Form",
          "value": "fill",
          "description": "Fill a form with the provided information",
          "action": "Fill form"
        },
        {
          "name": "Hover on an Element",
          "value": "hover",
          "description": "Execute a hover action on an element given a description",
          "action": "Hover on an element"
        },
        {
          "name": "Scroll",
          "value": "scroll",
          "description": "Execute a scroll action on the page",
          "action": "Scroll on page"
        },
        {
          "name": "Type",
          "value": "type",
          "description": "Execute a Type action on an element given a description",
          "action": "Type text"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "interaction"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Session ID",
      "name": "sessionId",
      "type": "string",
      "default": "={{ $json[\"sessionId\"] }}",
      "description": "The ID of the <a href=\"https://docs.airtop.ai/guides/how-to/creating-a-session\" target=\"_blank\">Session</a> to use",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "interaction"
          ]
        }
      }
    },
    {
      "displayName": "Window ID",
      "name": "windowId",
      "type": "string",
      "default": "={{ $json[\"windowId\"] }}",
      "description": "The ID of the <a href=\"https://docs.airtop.ai/guides/how-to/creating-a-session#windows\" target=\"_blank\">Window</a> to use",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "interaction"
          ]
        }
      }
    },
    {
      "displayName": "Element Description",
      "name": "elementDescription",
      "type": "string",
      "default": "",
      "description": "A specific description of the element to execute the interaction on",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "interaction"
          ],
          "operation": [
            "click"
          ]
        }
      }
    },
    {
      "displayName": "Click Type",
      "name": "clickType",
      "type": "options",
      "default": "click",
      "description": "The type of click to perform. Defaults to left click.",
      "options": [
        {
          "name": "Left Click",
          "value": "click"
        },
        {
          "name": "Double Click",
          "value": "doubleClick"
        },
        {
          "name": "Right Click",
          "value": "rightClick"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "interaction"
          ],
          "operation": [
            "click"
          ]
        }
      }
    },
    {
      "displayName": "Form Data",
      "name": "formData",
      "type": "string",
      "default": "",
      "description": "The information to fill into the form written in natural language",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "interaction"
          ],
          "operation": [
            "fill"
          ]
        }
      },
      "typeOptions": {
        "rows": 4
      }
    },
    {
      "displayName": "Element Description",
      "name": "elementDescription",
      "type": "string",
      "default": "",
      "description": "A specific description of the element to execute the interaction on",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "interaction"
          ],
          "operation": [
            "hover"
          ]
        }
      }
    },
    {
      "displayName": "Scroll Mode",
      "name": "scrollingMode",
      "type": "options",
      "default": "automatic",
      "description": "Choose the mode of scrolling",
      "options": [
        {
          "name": "Automatic",
          "value": "automatic",
          "description": "Describe with natural language the element to scroll to"
        },
        {
          "name": "Manual",
          "value": "manual",
          "description": "Define the direction and amount to scroll by"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "interaction"
          ],
          "operation": [
            "scroll"
          ]
        }
      }
    },
    {
      "displayName": "Element Description",
      "name": "scrollToElement",
      "type": "string",
      "default": "",
      "description": "A natural language description of the element to scroll to",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "interaction"
          ],
          "operation": [
            "scroll"
          ],
          "scrollingMode": [
            "automatic"
          ]
        }
      }
    },
    {
      "displayName": "Scroll To Edge",
      "name": "scrollToEdge",
      "type": "fixedCollection",
      "default": {},
      "description": "The direction to scroll to. When 'Scroll By' is defined, 'Scroll To Edge' action will be executed first, then 'Scroll By' action.",
      "options": [
        {
          "displayName": "Page Edges",
          "name": "edgeValues",
          "values": [
            {
              "displayName": "Vertically",
              "name": "yAxis",
              "type": "options",
              "default": "",
              "options": [
                {
                  "name": "Empty",
                  "value": ""
                },
                {
                  "name": "Top",
                  "value": "top"
                },
                {
                  "name": "Bottom",
                  "value": "bottom"
                }
              ]
            },
            {
              "displayName": "Horizontally",
              "name": "xAxis",
              "type": "options",
              "default": "",
              "options": [
                {
                  "name": "Empty",
                  "value": ""
                },
                {
                  "name": "Left",
                  "value": "left"
                },
                {
                  "name": "Right",
                  "value": "right"
                }
              ]
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "interaction"
          ],
          "operation": [
            "scroll"
          ],
          "scrollingMode": [
            "manual"
          ]
        }
      }
    },
    {
      "displayName": "Scroll By",
      "name": "scrollBy",
      "type": "fixedCollection",
      "default": {},
      "description": "The amount to scroll by. When 'Scroll To Edge' is defined, 'Scroll By' action will be executed after 'Scroll To Edge'.",
      "options": [
        {
          "name": "scrollValues",
          "displayName": "Scroll Values",
          "description": "The amount in pixels or percentage to scroll by",
          "values": [
            {
              "displayName": "Vertically",
              "name": "yAxis",
              "type": "string",
              "default": "",
              "placeholder": "e.g. 200px, 50%, -100px"
            },
            {
              "displayName": "Horizontally",
              "name": "xAxis",
              "type": "string",
              "default": "",
              "placeholder": "e.g. 50px, 10%, -200px"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "interaction"
          ],
          "operation": [
            "scroll"
          ],
          "scrollingMode": [
            "manual"
          ]
        }
      }
    },
    {
      "displayName": "Scrollable Area",
      "name": "scrollWithin",
      "type": "string",
      "default": "",
      "description": "Scroll within an element on the page",
      "displayOptions": {
        "show": {
          "resource": [
            "interaction"
          ],
          "operation": [
            "scroll"
          ]
        }
      }
    },
    {
      "displayName": "Text",
      "name": "text",
      "type": "string",
      "default": "",
      "description": "The text to type into the browser window",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "interaction"
          ],
          "operation": [
            "type"
          ]
        }
      }
    },
    {
      "displayName": "Press Enter Key",
      "name": "pressEnterKey",
      "type": "boolean",
      "default": false,
      "description": "Whether to press the Enter key after typing the text",
      "displayOptions": {
        "show": {
          "resource": [
            "interaction"
          ],
          "operation": [
            "type"
          ]
        }
      }
    },
    {
      "displayName": "Element Description",
      "name": "elementDescription",
      "type": "string",
      "default": "",
      "description": "A specific description of the element to execute the interaction on",
      "displayOptions": {
        "show": {
          "resource": [
            "interaction"
          ],
          "operation": [
            "type"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Visual Scope",
          "name": "visualScope",
          "type": "options",
          "default": "auto",
          "description": "Defines the strategy for visual analysis of the current window",
          "options": [
            {
              "name": "Auto",
              "description": "Provides the simplest out-of-the-box experience for most web pages",
              "value": "auto"
            },
            {
              "name": "Viewport",
              "description": "For analysis of the current browser view only",
              "value": "viewport"
            },
            {
              "name": "Page",
              "description": "For analysis of the entire page",
              "value": "page"
            },
            {
              "name": "Scan",
              "description": "For a full page analysis on sites that have compatibility issues with 'Page' mode",
              "value": "scan"
            }
          ]
        },
        {
          "displayName": "Wait Until Event After Navigation",
          "name": "waitForNavigation",
          "type": "options",
          "default": "load",
          "description": "The condition to wait for the navigation to complete after an interaction (click, type or hover). Defaults to 'Fully Loaded'.",
          "options": [
            {
              "name": "Fully Loaded (Slower)",
              "value": "load"
            },
            {
              "name": "DOM Only Loaded (Faster)",
              "value": "domcontentloaded"
            },
            {
              "name": "All Network Activity Has Stopped",
              "value": "networkidle0"
            },
            {
              "name": "Most Network Activity Has Stopped",
              "value": "networkidle2"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "interaction"
          ],
          "operation": [
            "click",
            "hover",
            "type",
            "scroll"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "run",
      "name": "Run",
      "description": "Run an Airtop agent",
      "resource": "agent"
    },
    {
      "operation": "create",
      "name": "Create Session",
      "description": "Create an Airtop browser session",
      "resource": "session"
    },
    {
      "operation": "save",
      "name": "Save Profile on Termination",
      "description": "Save in a profile changes made in your browsing session such as cookies and local storage",
      "resource": "session"
    },
    {
      "operation": "terminate",
      "name": "Terminate Session",
      "description": "Terminate a session",
      "resource": "session"
    },
    {
      "operation": "waitForDownload",
      "name": "Wait for Download",
      "description": "Wait for a file download to become available",
      "resource": "session"
    },
    {
      "operation": "close",
      "name": "Close Window",
      "description": "Close a window inside a session",
      "resource": "window"
    },
    {
      "operation": "create",
      "name": "Create a New Browser Window",
      "description": "Create a new browser window inside a session. Can load a URL when created.",
      "resource": "window"
    },
    {
      "operation": "getLiveView",
      "name": "Get Live View",
      "description": "Get information about a browser window, including the live view URL",
      "resource": "window"
    },
    {
      "operation": "list",
      "name": "List Windows",
      "description": "List all browser windows in a session",
      "resource": "window"
    },
    {
      "operation": "load",
      "name": "Load URL",
      "description": "Load a URL in an existing window",
      "resource": "window"
    },
    {
      "operation": "takeScreenshot",
      "name": "Take Screenshot",
      "description": "Take a screenshot of the current window",
      "resource": "window"
    },
    {
      "operation": "deleteFile",
      "name": "Delete",
      "description": "Delete an uploaded file",
      "resource": "file"
    },
    {
      "operation": "get",
      "name": "Get",
      "description": "Get a details of an uploaded file",
      "resource": "file"
    },
    {
      "operation": "getMany",
      "name": "Get Many",
      "description": "Get details of multiple uploaded files",
      "resource": "file"
    },
    {
      "operation": "load",
      "name": "Load",
      "description": "Load a file into a session",
      "resource": "file"
    },
    {
      "operation": "upload",
      "name": "Upload",
      "description": "Upload a file into a session",
      "resource": "file"
    },
    {
      "operation": "query",
      "name": "Query Page",
      "description": "Query a page to extract data or ask a question given the data on the page",
      "resource": "extraction"
    },
    {
      "operation": "getPaginated",
      "name": "Query Page with Pagination",
      "description": "Extract content from paginated or dynamically loaded pages",
      "resource": "extraction"
    },
    {
      "operation": "scrape",
      "name": "Smart Scrape",
      "description": "Scrape a page and return the data as markdown",
      "resource": "extraction"
    },
    {
      "operation": "click",
      "name": "Click an Element",
      "description": "Execute a click on an element given a description",
      "resource": "interaction"
    },
    {
      "operation": "fill",
      "name": "Fill Form",
      "description": "Fill a form with the provided information",
      "resource": "interaction"
    },
    {
      "operation": "hover",
      "name": "Hover on an Element",
      "description": "Execute a hover action on an element given a description",
      "resource": "interaction"
    },
    {
      "operation": "scroll",
      "name": "Scroll",
      "description": "Execute a scroll action on the page",
      "resource": "interaction"
    },
    {
      "operation": "type",
      "name": "Type",
      "description": "Execute a Type action on an element given a description",
      "resource": "interaction"
    }
  ]


node_type: nodes-base.airtop
package_name: n8n-nodes-base
display_name: Airtop
description: Scrape and control any site with Airtop
category: transform
development_style: programmatic
version: 1
credentials_required:
  [
  {
  "name": "airtopApi",
  "required": true
  }
  ]

outputs:
  [
  "main"
  ]

updated_at: 2026-07-16 12:10:22
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Airtop node documentation
  description: Learn how to use the Airtop node in n8n. Follow technical documentation to integrate Airtop node into your workflows.
  contentType: [integration, reference]
  ---

  # Airtop node

  Use the Airtop node to automate work in Airtop, and integrate Airtop with other applications. n8n has built-in support for a wide range of Airtop features, enabling you to control a cloud-based web browser for tasks like querying, scraping, and interacting with web pages.

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

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


  ## Operations

  * Session
      * Create session
      * Save profile on termination
      * Terminate session
  * Window
      * Create a new browser window
      * Load URL
      * Take screenshot
      * Close window
  * Extraction
      * Query page
      * Query page with pagination
      * Smart scrape page
  * Interaction
      * Click an element
      * Hover on an element
      * Type


  ## Templates and examples

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


  ## Related resources

  Refer to [Airtop's documentation](https://docs.airtop.ai/api-reference/airtop-api) for more information about the service.

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

  Contact [Airtop's Support](https://docs.airtop.ai/guides/misc/support) for assistance or to create a feature request.

  ## Node reference

  ### Create a session and window

  Create an Airtop browser session to get a **Session ID**, then use it to create a new browser window. After this, you can use any extraction or interaction operation.

  ### Extract content

  Extract content from a web browser using these operations:

  - **Query page**: Extract information from the current window.
  - **Query page with pagination**: Extract information from pages with pagination or infinite scrolling.
  - **Smart scrape page**: Get the window content as markdown.

  Get JSON responses by using the **JSON Output Schema** parameter in query operations.

  ### Interacting with pages

  Click, hover, or type on elements by describing the element you want to interact with.

  ### Terminate a session

  End your session to save resources. Sessions are automatically terminated based on the **Idle Timeout** set in the **Create Session** operation or can be manually terminated using the **Terminate Session** operation.

properties_schema:
  [
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "session",
      "options": [
        {
          "name": "Agent",
          "value": "agent"
        },
        {
          "name": "Extraction",
          "value": "extraction"
        },
        {
          "name": "File",
          "value": "file"
        },
        {
          "name": "Interaction",
          "value": "interaction"
        },
        {
          "name": "Session",
          "value": "session"
        },
        {
          "name": "Window",
          "value": "window"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "run",
      "options": [
        {
          "name": "Run",
          "value": "run",
          "description": "Run an Airtop agent",
          "action": "Run an agent"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "agent"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Agent",
      "name": "agentId",
      "type": "resourceLocator",
      "default": {
        "mode": "list",
        "value": ""
      },
      "description": "The Airtop agent to run. Visit <a href=\"https://portal.airtop.ai/agents\" target=\"_blank\">Airtop Agents</a> for more information.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "agent"
          ],
          "operation": [
            "run"
          ]
        }
      },
      "modes": [
        {
          "displayName": "From List",
          "name": "list",
          "type": "list",
          "placeholder": "Select an Agent...",
          "typeOptions": {
            "searchListMethod": "listSearchAgents",
            "searchFilterRequired": false,
            "searchable": true
          }
        },
        {
          "displayName": "By ID",
          "name": "id",
          "type": "string",
          "placeholder": "e.g. agent_abc123",
          "validation": [
            {
              "type": "regex",
              "properties": {
                "regex": ".+",
                "errorMessage": "Agent ID cannot be empty"
              }
            }
          ]
        }
      ]
    },
    {
      "displayName": "Agent Parameters",
      "name": "agentParameters",
      "type": "resourceMapper",
      "default": {
        "mappingMode": "defineBelow",
        "value": null
      },
      "displayOptions": {
        "show": {
          "resource": [
            "agent"
          ],
          "operation": [
            "run"
          ]
        },
        "hide": {
          "agentId": [
            ""
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "agentId.value"
        ],
        "resourceMapper": {
          "resourceMapperMethod": "agentsResourceMapping",
          "mode": "map",
          "supportAutoMap": false,
          "addAllFields": true,
          "noFieldsError": "No input parameters found for the selected agent",
          "multiKeyMatch": false,
          "allowEmptyValues": true,
          "fieldWords": {
            "singular": "parameter",
            "plural": "parameters"
          }
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Await Agent",
      "name": "awaitExecution",
      "type": "boolean",
      "default": true,
      "description": "Whether to wait for the agent to complete its execution",
      "displayOptions": {
        "show": {
          "resource": [
            "agent"
          ],
          "operation": [
            "run"
          ]
        }
      }
    },
    {
      "displayName": "Timeout",
      "name": "timeout",
      "type": "number",
      "default": 600,
      "description": "Timeout in seconds to wait for the agent to finish",
      "displayOptions": {
        "show": {
          "resource": [
            "agent"
          ],
          "operation": [
            "run"
          ],
          "awaitExecution": [
            true
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create Session",
          "value": "create",
          "description": "Create an Airtop browser session",
          "action": "Create a session"
        },
        {
          "name": "Save Profile on Termination",
          "value": "save",
          "description": "Save in a profile changes made in your browsing session such as cookies and local storage",
          "action": "Save a profile on session termination"
        },
        {
          "name": "Terminate Session",
          "value": "terminate",
          "description": "Terminate a session",
          "action": "Terminate a session"
        },
        {
          "name": "Wait for Download",
          "value": "waitForDownload",
          "description": "Wait for a file download to become available",
          "action": "Wait for a download"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "session"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Profile Name",
      "name": "profileName",
      "type": "string",
      "default": "",
      "description": "The name of the Airtop profile to load or create",
      "displayOptions": {
        "show": {
          "resource": [
            "session"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Save Profile",
      "name": "saveProfileOnTermination",
      "type": "boolean",
      "default": false,
      "description": "Whether to automatically save the <a href=\"https://docs.airtop.ai/guides/how-to/saving-a-profile\" target=\"_blank\">Airtop profile</a> for this session upon termination",
      "displayOptions": {
        "show": {
          "resource": [
            "session"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Record Session",
      "name": "record",
      "type": "boolean",
      "default": false,
      "description": "Whether to record the browser session. <a href=\"https://docs.airtop.ai/guides/how-to/recording-a-session\" target=\"_blank\">More details</a>.",
      "displayOptions": {
        "show": {
          "resource": [
            "session"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Idle Timeout",
      "name": "timeoutMinutes",
      "type": "number",
      "default": 10,
      "description": "Minutes to wait before the session is terminated due to inactivity",
      "displayOptions": {
        "show": {
          "resource": [
            "session"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Proxy",
      "name": "proxy",
      "type": "options",
      "default": "none",
      "description": "Choose how to configure the proxy for this session",
      "options": [
        {
          "name": "None",
          "value": "none",
          "description": "No proxy will be used"
        },
        {
          "name": "Integrated",
          "value": "integrated",
          "description": "Use Airtop-provided proxy"
        },
        {
          "name": "Proxy URL",
          "value": "proxyUrl",
          "description": "Use a proxy URL to configure the proxy"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "session"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Proxy Configuration",
      "name": "proxyConfig",
      "type": "collection",
      "default": {
        "country": "US",
        "sticky": true
      },
      "description": "The Airtop-provided configuration to use for the proxy",
      "options": [
        {
          "displayName": "Country",
          "name": "country",
          "type": "options",
          "default": "US",
          "description": "The country to use for the proxy. Not all countries are guaranteed to provide a proxy. Learn more <a href=\"https://docs.airtop.ai/api-reference/airtop-api/sessions/create#request.body.configuration.proxy.Proxy.Airtop-Proxy-Configuration.country\" target=\"_blank\">here</a>.",
          "options": [
            {
              "name": "Afghanistan",
              "value": "AF"
            },
            {
              "name": "Aland 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",
              "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",
              "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",
              "value": "KY"
            },
            {
              "name": "Central African Republic",
              "value": "CF"
            },
            {
              "name": "Chad",
              "value": "TD"
            },
            {
              "name": "Chile",
              "value": "CL"
            },
            {
              "name": "China",
              "value": "CN"
            },
            {
              "name": "Christmas Island",
              "value": "CX"
            },
            {
              "name": "Cocos (Keeling) Islands",
              "value": "CC"
            },
            {
              "name": "Colombia",
              "value": "CO"
            },
            {
              "name": "Comoros",
              "value": "KM"
            },
            {
              "name": "Congo",
              "value": "CG"
            },
            {
              "name": "Congo, Democratic Republic of The",
              "value": "CD"
            },
            {
              "name": "Cook Islands",
              "value": "CK"
            },
            {
              "name": "Costa Rica",
              "value": "CR"
            },
            {
              "name": "Cote 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",
              "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": "Eswatini",
              "value": "SZ"
            },
            {
              "name": "Ethiopia",
              "value": "ET"
            },
            {
              "name": "Falkland Islands (Malvinas)",
              "value": "FK"
            },
            {
              "name": "Faroe Islands",
              "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",
              "value": "TF"
            },
            {
              "name": "Gabon",
              "value": "GA"
            },
            {
              "name": "Gambia",
              "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",
              "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, Democratic People's Republic Of",
              "value": "KP"
            },
            {
              "name": "Korea, Republic Of",
              "value": "KR"
            },
            {
              "name": "Kuwait",
              "value": "KW"
            },
            {
              "name": "Kyrgyzstan",
              "value": "KG"
            },
            {
              "name": "Lao People's Democratic Republic",
              "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": "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",
              "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, 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, Kingdom of The",
              "value": "NL"
            },
            {
              "name": "New Caledonia",
              "value": "NC"
            },
            {
              "name": "New Zealand",
              "value": "NZ"
            },
            {
              "name": "Nicaragua",
              "value": "NI"
            },
            {
              "name": "Niger",
              "value": "NE"
            },
            {
              "name": "Nigeria",
              "value": "NG"
            },
            {
              "name": "Niue",
              "value": "NU"
            },
            {
              "name": "Norfolk Island",
              "value": "NF"
            },
            {
              "name": "North Macedonia",
              "value": "MK"
            },
            {
              "name": "Northern Mariana Islands",
              "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",
              "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",
              "value": "RU"
            },
            {
              "name": "Rwanda",
              "value": "RW"
            },
            {
              "name": "Saint Barthelemy",
              "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",
              "value": "SD"
            },
            {
              "name": "Suriname",
              "value": "SR"
            },
            {
              "name": "Svalbard and Jan Mayen",
              "value": "SJ"
            },
            {
              "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",
              "value": "TC"
            },
            {
              "name": "Tuvalu",
              "value": "TV"
            },
            {
              "name": "Uganda",
              "value": "UG"
            },
            {
              "name": "Ukraine",
              "value": "UA"
            },
            {
              "name": "United Arab Emirates",
              "value": "AE"
            },
            {
              "name": "United Kingdom of Great Britain and Northern Ireland",
              "value": "GB"
            },
            {
              "name": "United States Minor Outlying Islands",
              "value": "UM"
            },
            {
              "name": "United States of America",
              "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"
            }
          ]
        },
        {
          "displayName": "Keep Same IP",
          "name": "sticky",
          "type": "boolean",
          "default": true,
          "description": "Whether to try to maintain the same IP address for the duration of the session. Airtop can guarantee that the same IP address will be available for up to a maximum of 30 minutes."
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "session"
          ],
          "operation": [
            "create"
          ],
          "proxy": [
            "integrated"
          ]
        }
      }
    },
    {
      "displayName": "Proxy URL",
      "name": "proxyUrl",
      "type": "string",
      "default": "",
      "description": "The URL of the proxy to use",
      "displayOptions": {
        "show": {
          "resource": [
            "session"
          ],
          "operation": [
            "create"
          ],
          "proxy": [
            "proxyUrl"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Auto Solve Captchas",
          "name": "solveCaptcha",
          "type": "boolean",
          "default": false,
          "description": "Whether to automatically solve <a href=\"https://docs.airtop.ai/guides/how-to/solving-captchas\" target=\"_blank\">captcha challenges</a>"
        },
        {
          "displayName": "Extension IDs",
          "name": "extensionIds",
          "type": "string",
          "default": "",
          "placeholder": "e.g. extId1, extId2, ...",
          "description": "Comma-separated extension IDs from the Google Web Store to be loaded into the session. Learn more <a href=\"https://docs.airtop.ai/guides/how-to/using-chrome-extensions\" target=\"_blank\">here</a>."
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "session"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Note: This operation is not needed if you enabled 'Save Profile' in the 'Create Session' operation",
      "name": "notice",
      "type": "notice",
      "default": "This operation will save the profile on session termination",
      "displayOptions": {
        "show": {
          "resource": [
            "session"
          ],
          "operation": [
            "save"
          ]
        }
      }
    },
    {
      "displayName": "Session ID",
      "name": "sessionId",
      "type": "string",
      "default": "={{ $json[\"sessionId\"] }}",
      "description": "The ID of the <a href=\"https://docs.airtop.ai/guides/how-to/creating-a-session\" target=\"_blank\">Session</a> to use",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "session"
          ],
          "operation": [
            "save"
          ]
        }
      }
    },
    {
      "displayName": "Profile Name",
      "name": "profileName",
      "type": "string",
      "default": "",
      "description": "The name of the <a href=\"https://docs.airtop.ai/guides/how-to/saving-a-profile\" target=\"_blank\">Profile</a> to save",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "session"
          ],
          "operation": [
            "save"
          ]
        }
      }
    },
    {
      "displayName": "Session ID",
      "name": "sessionId",
      "type": "string",
      "default": "={{ $json[\"sessionId\"] }}",
      "description": "The ID of the <a href=\"https://docs.airtop.ai/guides/how-to/creating-a-session\" target=\"_blank\">Session</a> to use",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "session"
          ],
          "operation": [
            "terminate"
          ]
        }
      }
    },
    {
      "displayName": "Session ID",
      "name": "sessionId",
      "type": "string",
      "default": "={{ $json[\"sessionId\"] }}",
      "description": "The ID of the <a href=\"https://docs.airtop.ai/guides/how-to/creating-a-session\" target=\"_blank\">Session</a> to use",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "session"
          ],
          "operation": [
            "waitForDownload"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Timeout",
          "description": "Time in seconds to wait for the download to become available",
          "name": "timeout",
          "type": "number",
          "default": 30
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "session"
          ],
          "operation": [
            "waitForDownload"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Close Window",
          "value": "close",
          "description": "Close a window inside a session",
          "action": "Close a window"
        },
        {
          "name": "Create a New Browser Window",
          "value": "create",
          "description": "Create a new browser window inside a session. Can load a URL when created.",
          "action": "Create a window"
        },
        {
          "name": "Get Live View",
          "value": "getLiveView",
          "description": "Get information about a browser window, including the live view URL",
          "action": "Get live view"
        },
        {
          "name": "List Windows",
          "value": "list",
          "description": "List all browser windows in a session",
          "action": "List windows"
        },
        {
          "name": "Load URL",
          "value": "load",
          "description": "Load a URL in an existing window",
          "action": "Load a page"
        },
        {
          "name": "Take Screenshot",
          "value": "takeScreenshot",
          "description": "Take a screenshot of the current window",
          "action": "Take screenshot"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "window"
          ]
        }
      },
      "typeOptions": {
        "sortable": false
      },
      "noDataExpression": true
    },
    {
      "displayName": "Session ID",
      "name": "sessionId",
      "type": "string",
      "default": "={{ $json[\"sessionId\"] }}",
      "description": "The ID of the <a href=\"https://docs.airtop.ai/guides/how-to/creating-a-session\" target=\"_blank\">Session</a> to use",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "window"
          ]
        }
      }
    },
    {
      "displayName": "Window ID",
      "name": "windowId",
      "type": "string",
      "default": "={{ $json[\"windowId\"] }}",
      "description": "The ID of the <a href=\"https://docs.airtop.ai/guides/how-to/creating-a-session#windows\" target=\"_blank\">Window</a> to use",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "window"
          ],
          "operation": [
            "close",
            "takeScreenshot",
            "load",
            "getLiveView"
          ]
        }
      }
    },
    {
      "displayName": "URL",
      "name": "url",
      "type": "string",
      "default": "",
      "description": "Initial URL to load in the window. Defaults to https://www.google.com.",
      "displayOptions": {
        "show": {
          "resource": [
            "window"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Get Live View",
      "name": "getLiveView",
      "type": "boolean",
      "default": false,
      "description": "Whether to get the URL of the window's <a href=\"https://docs.airtop.ai/guides/how-to/creating-a-live-view\" target=\"_blank\">Live View</a>",
      "displayOptions": {
        "show": {
          "resource": [
            "window"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Include Navigation Bar",
      "name": "includeNavigationBar",
      "type": "boolean",
      "default": false,
      "description": "Whether to include the navigation bar in the Live View. When enabled, the navigation bar will be visible allowing you to navigate between pages.",
      "displayOptions": {
        "show": {
          "resource": [
            "window"
          ],
          "operation": [
            "create"
          ],
          "getLiveView": [
            true
          ]
        }
      }
    },
    {
      "displayName": "Screen Resolution",
      "name": "screenResolution",
      "type": "string",
      "default": "",
      "description": "The screen resolution of the Live View. Setting a resolution will force the window to open at that specific size.",
      "displayOptions": {
        "show": {
          "resource": [
            "window"
          ],
          "operation": [
            "create"
          ],
          "getLiveView": [
            true
          ]
        }
      }
    },
    {
      "displayName": "Disable Resize",
      "name": "disableResize",
      "type": "boolean",
      "default": false,
      "description": "Whether to disable the window from being resized in the Live View",
      "displayOptions": {
        "show": {
          "resource": [
            "window"
          ],
          "operation": [
            "create"
          ],
          "getLiveView": [
            true
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Wait Until",
          "name": "waitUntil",
          "type": "options",
          "description": "Wait until the specified loading event occurs",
          "default": "load",
          "options": [
            {
              "name": "Load",
              "value": "load",
              "description": "Wait until the page dom and its assets have loaded"
            },
            {
              "name": "DOM Content Loaded",
              "value": "domContentLoaded",
              "description": "Wait until the page DOM has loaded"
            },
            {
              "name": "Complete",
              "value": "complete",
              "description": "Wait until all iframes in the page have loaded"
            },
            {
              "name": "No Wait",
              "value": "noWait",
              "description": "Do not wait for any loading event and it will return immediately"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "window"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Include Navigation Bar",
          "name": "includeNavigationBar",
          "type": "boolean",
          "default": false,
          "description": "Whether to include the navigation bar in the Live View. When enabled, the navigation bar will be visible allowing you to navigate between pages."
        },
        {
          "displayName": "Screen Resolution",
          "name": "screenResolution",
          "type": "string",
          "default": "",
          "description": "The screen resolution of the Live View. Setting a resolution will force the window to open at that specific size.",
          "placeholder": "e.g. 1280x720"
        },
        {
          "displayName": "Disable Resize",
          "name": "disableResize",
          "type": "boolean",
          "default": false,
          "description": "Whether to disable the window from being resized in the Live View"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "window"
          ],
          "operation": [
            "getLiveView"
          ]
        }
      }
    },
    {
      "displayName": "URL",
      "name": "url",
      "type": "string",
      "default": "",
      "description": "URL to load in the window",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "window"
          ],
          "operation": [
            "load"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Wait Until",
          "name": "waitUntil",
          "type": "options",
          "default": "load",
          "description": "Wait until the specified loading event occurs. Defaults to 'Fully Loaded'.",
          "options": [
            {
              "name": "Complete",
              "value": "complete",
              "description": "Wait until the page and all it's iframes have loaded it's dom and assets"
            },
            {
              "name": "DOM Only Loaded",
              "value": "domContentLoaded",
              "description": "Wait until the dom has loaded"
            },
            {
              "name": "Fully Loaded",
              "value": "load",
              "description": "Wait until the page dom and it's assets have loaded"
            },
            {
              "name": "No Wait",
              "value": "noWait",
              "description": "Do not wait for any loading event and will return immediately"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "window"
          ],
          "operation": [
            "load"
          ]
        }
      }
    },
    {
      "displayName": "Output Binary Image",
      "name": "outputImageAsBinary",
      "type": "boolean",
      "default": false,
      "description": "Whether to output the image as a binary file instead of a base64 encoded string",
      "displayOptions": {
        "show": {
          "resource": [
            "window"
          ],
          "operation": [
            "takeScreenshot"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Delete",
          "value": "deleteFile",
          "description": "Delete an uploaded file",
          "action": "Delete a file"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get a details of an uploaded file",
          "action": "Get a file"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "description": "Get details of multiple uploaded files",
          "action": "Get many files"
        },
        {
          "name": "Load",
          "value": "load",
          "description": "Load a file into a session",
          "action": "Load a file"
        },
        {
          "name": "Upload",
          "value": "upload",
          "description": "Upload a file into a session",
          "action": "Upload a file"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "File ID",
      "name": "fileId",
      "type": "string",
      "default": "",
      "description": "ID of the file to delete",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "deleteFile"
          ]
        }
      }
    },
    {
      "displayName": "File ID",
      "name": "fileId",
      "type": "string",
      "default": "",
      "description": "ID of the file to retrieve",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "get"
          ]
        }
      }
    },
    {
      "displayName": "Output Binary File",
      "name": "outputBinaryFile",
      "type": "boolean",
      "default": false,
      "description": "Whether to output the file in binary format if the file is ready for download",
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "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": [
            "file"
          ],
          "operation": [
            "getMany"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 10,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "getMany"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 100
      }
    },
    {
      "displayName": "Session IDs",
      "name": "sessionIds",
      "type": "string",
      "default": "",
      "description": "Comma-separated list of <a href=\"https://docs.airtop.ai/api-reference/airtop-api/sessions/create\" target=\"_blank\">Session IDs</a> to filter files by. When empty, all files from all sessions will be returned.",
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "getMany"
          ]
        }
      }
    },
    {
      "displayName": "Output Files in Single Item",
      "name": "outputSingleItem",
      "type": "boolean",
      "default": true,
      "description": "Whether to output one item containing all files or output each file as a separate item",
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "getMany"
          ]
        }
      }
    },
    {
      "displayName": "Session ID",
      "name": "sessionId",
      "type": "string",
      "default": "={{ $json[\"sessionId\"] }}",
      "description": "The session ID to load the file into",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "load"
          ]
        }
      }
    },
    {
      "displayName": "Window ID",
      "name": "windowId",
      "type": "string",
      "default": "={{ $json[\"windowId\"] }}",
      "description": "The window ID to trigger the file input in",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "load"
          ]
        }
      }
    },
    {
      "displayName": "File ID",
      "name": "fileId",
      "type": "string",
      "default": "",
      "description": "ID of the file to load into the session",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "load"
          ]
        }
      }
    },
    {
      "displayName": "Element Description",
      "name": "elementDescription",
      "type": "string",
      "default": "",
      "description": "Optional description of the file input to interact with",
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "load"
          ]
        }
      }
    },
    {
      "displayName": "Include Hidden Elements",
      "name": "includeHiddenElements",
      "type": "boolean",
      "default": true,
      "description": "Whether to include hidden elements in the interaction",
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "load"
          ]
        }
      }
    },
    {
      "displayName": "Session ID",
      "name": "sessionId",
      "type": "string",
      "default": "={{ $json[\"sessionId\"] }}",
      "description": "The session ID to load the file into",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "upload"
          ]
        }
      }
    },
    {
      "displayName": "Window ID",
      "name": "windowId",
      "type": "string",
      "default": "={{ $json[\"windowId\"] }}",
      "description": "The window ID to trigger the file input in",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "upload"
          ]
        }
      }
    },
    {
      "displayName": "File Name",
      "name": "fileName",
      "type": "string",
      "default": "",
      "description": "Name for the file to upload. For a session, all files loaded should have <b>unique names</b>.",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "upload"
          ]
        }
      }
    },
    {
      "displayName": "File Type",
      "name": "fileType",
      "type": "options",
      "default": "customer_upload",
      "description": "Choose the type of file to upload. Defaults to 'Customer Upload'.",
      "options": [
        {
          "name": "Browser Download",
          "value": "browser_download"
        },
        {
          "name": "Screenshot",
          "value": "screenshot"
        },
        {
          "name": "Video",
          "value": "video"
        },
        {
          "name": "Customer Upload",
          "value": "customer_upload"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "upload"
          ]
        }
      }
    },
    {
      "displayName": "Source",
      "name": "source",
      "type": "options",
      "default": "url",
      "description": "Source of the file to upload",
      "options": [
        {
          "name": "URL",
          "value": "url"
        },
        {
          "name": "Binary",
          "value": "binary"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "upload"
          ]
        }
      }
    },
    {
      "displayName": "Binary Property",
      "name": "binaryPropertyName",
      "type": "string",
      "default": "data",
      "description": "Name of the binary property containing the file data",
      "required": true,
      "displayOptions": {
        "show": {
          "source": [
            "binary"
          ],
          "resource": [
            "file"
          ],
          "operation": [
            "upload"
          ]
        }
      }
    },
    {
      "displayName": "URL",
      "name": "url",
      "type": "string",
      "default": "",
      "description": "URL from where to fetch the file to upload",
      "required": true,
      "displayOptions": {
        "show": {
          "source": [
            "url"
          ],
          "resource": [
            "file"
          ],
          "operation": [
            "upload"
          ]
        }
      }
    },
    {
      "displayName": "Trigger File Input",
      "name": "triggerFileInputParameter",
      "type": "boolean",
      "default": true,
      "description": "Whether to automatically trigger the file input dialog in the current window. If disabled, the file will only be uploaded to the session without opening the file input dialog.",
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ],
          "operation": [
            "upload"
          ]
        }
      }
    },
    {
      "displayName": "Element Description",
      "name": "elementDescription",
      "type": "string",
      "default": "",
      "description": "Optional description of the file input to interact with",
      "displayOptions": {
        "show": {
          "triggerFileInputParameter": [
            true
          ],
          "resource": [
            "file"
          ],
          "operation": [
            "upload"
          ]
        }
      }
    },
    {
      "displayName": "Include Hidden Elements",
      "name": "includeHiddenElements",
      "type": "boolean",
      "default": true,
      "description": "Whether to include hidden elements in the interaction",
      "displayOptions": {
        "show": {
          "triggerFileInputParameter": [
            true
          ],
          "resource": [
            "file"
          ],
          "operation": [
            "upload"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "getPaginated",
      "options": [
        {
          "name": "Query Page",
          "value": "query",
          "description": "Query a page to extract data or ask a question given the data on the page",
          "action": "Query page"
        },
        {
          "name": "Query Page with Pagination",
          "value": "getPaginated",
          "description": "Extract content from paginated or dynamically loaded pages",
          "action": "Query page with pagination"
        },
        {
          "name": "Smart Scrape",
          "value": "scrape",
          "description": "Scrape a page and return the data as markdown",
          "action": "Smart scrape page"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "extraction"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Session Mode",
      "name": "sessionMode",
      "type": "options",
      "default": "existing",
      "description": "Choose between creating a new session or using an existing one",
      "options": [
        {
          "name": "Automatically Create Session",
          "description": "Automatically create a new session and window for this operation",
          "value": "new"
        },
        {
          "name": "Use Existing Session",
          "description": "Use an existing session and window for this operation",
          "value": "existing"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "extraction"
          ],
          "operation": [
            "getPaginated",
            "query",
            "scrape"
          ]
        }
      }
    },
    {
      "displayName": "Session ID",
      "name": "sessionId",
      "type": "string",
      "default": "={{ $json[\"sessionId\"] }}",
      "description": "The ID of the <a href=\"https://docs.airtop.ai/guides/how-to/creating-a-session\" target=\"_blank\">Session</a> to use",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "extraction"
          ],
          "sessionMode": [
            "existing"
          ]
        }
      }
    },
    {
      "displayName": "Window ID",
      "name": "windowId",
      "type": "string",
      "default": "={{ $json[\"windowId\"] }}",
      "description": "The ID of the <a href=\"https://docs.airtop.ai/guides/how-to/creating-a-session#windows\" target=\"_blank\">Window</a> to use",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "extraction"
          ],
          "sessionMode": [
            "existing"
          ]
        }
      }
    },
    {
      "displayName": "URL",
      "name": "url",
      "type": "string",
      "default": "",
      "description": "URL to load in the window",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "extraction"
          ],
          "sessionMode": [
            "new"
          ]
        }
      }
    },
    {
      "displayName": "Profile Name",
      "name": "profileName",
      "type": "string",
      "default": "",
      "description": "The name of the Airtop profile to load or create",
      "displayOptions": {
        "show": {
          "resource": [
            "extraction"
          ],
          "sessionMode": [
            "new"
          ]
        }
      }
    },
    {
      "displayName": "Auto-Terminate Session",
      "name": "autoTerminateSession",
      "type": "boolean",
      "default": true,
      "description": "Whether to terminate the session after the operation is complete. When disabled, you must manually terminate the session. By default, idle sessions timeout after 10 minutes",
      "displayOptions": {
        "show": {
          "resource": [
            "extraction"
          ],
          "sessionMode": [
            "new"
          ]
        }
      }
    },
    {
      "displayName": "Prompt",
      "name": "prompt",
      "type": "string",
      "default": "",
      "description": "The prompt to extract data from the pages",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "extraction"
          ],
          "operation": [
            "getPaginated"
          ]
        }
      },
      "typeOptions": {
        "rows": 4
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "JSON Output Schema",
          "name": "outputSchema",
          "description": "JSON schema defining the structure of the output",
          "hint": "If you want to force your output to be JSON, provide a valid JSON schema describing the output. You can generate one automatically in the <a href=\"https://portal.airtop.ai/\" target=\"_blank\">Airtop API Playground</a>.",
          "type": "json",
          "default": ""
        },
        {
          "displayName": "Parse JSON Output",
          "name": "parseJsonOutput",
          "type": "boolean",
          "default": true,
          "description": "Whether to parse the model's response to JSON in the output. Requires the 'JSON Output Schema' parameter to be set."
        },
        {
          "displayName": "Interaction Mode",
          "name": "interactionMode",
          "type": "options",
          "default": "auto",
          "description": "The strategy for interacting with the page",
          "options": [
            {
              "name": "Auto",
              "description": "Automatically choose the most cost-effective mode",
              "value": "auto"
            },
            {
              "name": "Accurate",
              "description": "Prioritize accuracy over cost",
              "value": "accurate"
            },
            {
              "name": "Cost Efficient",
              "description": "Minimize costs while ensuring effectiveness",
              "value": "cost-efficient"
            }
          ]
        },
        {
          "displayName": "Pagination Mode",
          "name": "paginationMode",
          "type": "options",
          "default": "auto",
          "description": "The pagination approach to use",
          "options": [
            {
              "name": "Auto",
              "description": "Look for pagination links first, then try infinite scrolling",
              "value": "auto"
            },
            {
              "name": "Paginated",
              "description": "Only use pagination links",
              "value": "paginated"
            },
            {
              "name": "Infinite Scroll",
              "description": "Scroll the page to load more content",
              "value": "infinite-scroll"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "extraction"
          ],
          "operation": [
            "getPaginated"
          ]
        }
      }
    },
    {
      "displayName": "Prompt",
      "name": "prompt",
      "type": "string",
      "default": "",
      "description": "The prompt to query the page content",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "extraction"
          ],
          "operation": [
            "query"
          ]
        }
      },
      "typeOptions": {
        "rows": 4
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "JSON Output Schema",
          "name": "outputSchema",
          "description": "JSON schema defining the structure of the output",
          "hint": "If you want to force your output to be JSON, provide a valid JSON schema describing the output. You can generate one automatically in the <a href=\"https://portal.airtop.ai/\" target=\"_blank\">Airtop API Playground</a>.",
          "type": "json",
          "default": ""
        },
        {
          "displayName": "Parse JSON Output",
          "name": "parseJsonOutput",
          "type": "boolean",
          "default": true,
          "description": "Whether to parse the model's response to JSON in the output. Requires the 'JSON Output Schema' parameter to be set."
        },
        {
          "displayName": "Include Visual Analysis",
          "name": "includeVisualAnalysis",
          "type": "boolean",
          "default": false,
          "description": "Whether to analyze the web page visually when fulfilling the request"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "extraction"
          ],
          "operation": [
            "query"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "click",
      "options": [
        {
          "name": "Click an Element",
          "value": "click",
          "description": "Execute a click on an element given a description",
          "action": "Click an element"
        },
        {
          "name": "Fill Form",
          "value": "fill",
          "description": "Fill a form with the provided information",
          "action": "Fill form"
        },
        {
          "name": "Hover on an Element",
          "value": "hover",
          "description": "Execute a hover action on an element given a description",
          "action": "Hover on an element"
        },
        {
          "name": "Scroll",
          "value": "scroll",
          "description": "Execute a scroll action on the page",
          "action": "Scroll on page"
        },
        {
          "name": "Type",
          "value": "type",
          "description": "Execute a Type action on an element given a description",
          "action": "Type text"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "interaction"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Session ID",
      "name": "sessionId",
      "type": "string",
      "default": "={{ $json[\"sessionId\"] }}",
      "description": "The ID of the <a href=\"https://docs.airtop.ai/guides/how-to/creating-a-session\" target=\"_blank\">Session</a> to use",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "interaction"
          ]
        }
      }
    },
    {
      "displayName": "Window ID",
      "name": "windowId",
      "type": "string",
      "default": "={{ $json[\"windowId\"] }}",
      "description": "The ID of the <a href=\"https://docs.airtop.ai/guides/how-to/creating-a-session#windows\" target=\"_blank\">Window</a> to use",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "interaction"
          ]
        }
      }
    },
    {
      "displayName": "Element Description",
      "name": "elementDescription",
      "type": "string",
      "default": "",
      "description": "A specific description of the element to execute the interaction on",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "interaction"
          ],
          "operation": [
            "click"
          ]
        }
      }
    },
    {
      "displayName": "Click Type",
      "name": "clickType",
      "type": "options",
      "default": "click",
      "description": "The type of click to perform. Defaults to left click.",
      "options": [
        {
          "name": "Left Click",
          "value": "click"
        },
        {
          "name": "Double Click",
          "value": "doubleClick"
        },
        {
          "name": "Right Click",
          "value": "rightClick"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "interaction"
          ],
          "operation": [
            "click"
          ]
        }
      }
    },
    {
      "displayName": "Form Data",
      "name": "formData",
      "type": "string",
      "default": "",
      "description": "The information to fill into the form written in natural language",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "interaction"
          ],
          "operation": [
            "fill"
          ]
        }
      },
      "typeOptions": {
        "rows": 4
      }
    },
    {
      "displayName": "Element Description",
      "name": "elementDescription",
      "type": "string",
      "default": "",
      "description": "A specific description of the element to execute the interaction on",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "interaction"
          ],
          "operation": [
            "hover"
          ]
        }
      }
    },
    {
      "displayName": "Scroll Mode",
      "name": "scrollingMode",
      "type": "options",
      "default": "automatic",
      "description": "Choose the mode of scrolling",
      "options": [
        {
          "name": "Automatic",
          "value": "automatic",
          "description": "Describe with natural language the element to scroll to"
        },
        {
          "name": "Manual",
          "value": "manual",
          "description": "Define the direction and amount to scroll by"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "interaction"
          ],
          "operation": [
            "scroll"
          ]
        }
      }
    },
    {
      "displayName": "Element Description",
      "name": "scrollToElement",
      "type": "string",
      "default": "",
      "description": "A natural language description of the element to scroll to",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "interaction"
          ],
          "operation": [
            "scroll"
          ],
          "scrollingMode": [
            "automatic"
          ]
        }
      }
    },
    {
      "displayName": "Scroll To Edge",
      "name": "scrollToEdge",
      "type": "fixedCollection",
      "default": {},
      "description": "The direction to scroll to. When 'Scroll By' is defined, 'Scroll To Edge' action will be executed first, then 'Scroll By' action.",
      "options": [
        {
          "displayName": "Page Edges",
          "name": "edgeValues",
          "values": [
            {
              "displayName": "Vertically",
              "name": "yAxis",
              "type": "options",
              "default": "",
              "options": [
                {
                  "name": "Empty",
                  "value": ""
                },
                {
                  "name": "Top",
                  "value": "top"
                },
                {
                  "name": "Bottom",
                  "value": "bottom"
                }
              ]
            },
            {
              "displayName": "Horizontally",
              "name": "xAxis",
              "type": "options",
              "default": "",
              "options": [
                {
                  "name": "Empty",
                  "value": ""
                },
                {
                  "name": "Left",
                  "value": "left"
                },
                {
                  "name": "Right",
                  "value": "right"
                }
              ]
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "interaction"
          ],
          "operation": [
            "scroll"
          ],
          "scrollingMode": [
            "manual"
          ]
        }
      }
    },
    {
      "displayName": "Scroll By",
      "name": "scrollBy",
      "type": "fixedCollection",
      "default": {},
      "description": "The amount to scroll by. When 'Scroll To Edge' is defined, 'Scroll By' action will be executed after 'Scroll To Edge'.",
      "options": [
        {
          "name": "scrollValues",
          "displayName": "Scroll Values",
          "description": "The amount in pixels or percentage to scroll by",
          "values": [
            {
              "displayName": "Vertically",
              "name": "yAxis",
              "type": "string",
              "default": "",
              "placeholder": "e.g. 200px, 50%, -100px"
            },
            {
              "displayName": "Horizontally",
              "name": "xAxis",
              "type": "string",
              "default": "",
              "placeholder": "e.g. 50px, 10%, -200px"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "interaction"
          ],
          "operation": [
            "scroll"
          ],
          "scrollingMode": [
            "manual"
          ]
        }
      }
    },
    {
      "displayName": "Scrollable Area",
      "name": "scrollWithin",
      "type": "string",
      "default": "",
      "description": "Scroll within an element on the page",
      "displayOptions": {
        "show": {
          "resource": [
            "interaction"
          ],
          "operation": [
            "scroll"
          ]
        }
      }
    },
    {
      "displayName": "Text",
      "name": "text",
      "type": "string",
      "default": "",
      "description": "The text to type into the browser window",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "interaction"
          ],
          "operation": [
            "type"
          ]
        }
      }
    },
    {
      "displayName": "Press Enter Key",
      "name": "pressEnterKey",
      "type": "boolean",
      "default": false,
      "description": "Whether to press the Enter key after typing the text",
      "displayOptions": {
        "show": {
          "resource": [
            "interaction"
          ],
          "operation": [
            "type"
          ]
        }
      }
    },
    {
      "displayName": "Element Description",
      "name": "elementDescription",
      "type": "string",
      "default": "",
      "description": "A specific description of the element to execute the interaction on",
      "displayOptions": {
        "show": {
          "resource": [
            "interaction"
          ],
          "operation": [
            "type"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Visual Scope",
          "name": "visualScope",
          "type": "options",
          "default": "auto",
          "description": "Defines the strategy for visual analysis of the current window",
          "options": [
            {
              "name": "Auto",
              "description": "Provides the simplest out-of-the-box experience for most web pages",
              "value": "auto"
            },
            {
              "name": "Viewport",
              "description": "For analysis of the current browser view only",
              "value": "viewport"
            },
            {
              "name": "Page",
              "description": "For analysis of the entire page",
              "value": "page"
            },
            {
              "name": "Scan",
              "description": "For a full page analysis on sites that have compatibility issues with 'Page' mode",
              "value": "scan"
            }
          ]
        },
        {
          "displayName": "Wait Until Event After Navigation",
          "name": "waitForNavigation",
          "type": "options",
          "default": "load",
          "description": "The condition to wait for the navigation to complete after an interaction (click, type or hover). Defaults to 'Fully Loaded'.",
          "options": [
            {
              "name": "Fully Loaded (Slower)",
              "value": "load"
            },
            {
              "name": "DOM Only Loaded (Faster)",
              "value": "domcontentloaded"
            },
            {
              "name": "All Network Activity Has Stopped",
              "value": "networkidle0"
            },
            {
              "name": "Most Network Activity Has Stopped",
              "value": "networkidle2"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "interaction"
          ],
          "operation": [
            "click",
            "hover",
            "type",
            "scroll"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "run",
      "name": "Run",
      "description": "Run an Airtop agent",
      "resource": "agent"
    },
    {
      "operation": "create",
      "name": "Create Session",
      "description": "Create an Airtop browser session",
      "resource": "session"
    },
    {
      "operation": "save",
      "name": "Save Profile on Termination",
      "description": "Save in a profile changes made in your browsing session such as cookies and local storage",
      "resource": "session"
    },
    {
      "operation": "terminate",
      "name": "Terminate Session",
      "description": "Terminate a session",
      "resource": "session"
    },
    {
      "operation": "waitForDownload",
      "name": "Wait for Download",
      "description": "Wait for a file download to become available",
      "resource": "session"
    },
    {
      "operation": "close",
      "name": "Close Window",
      "description": "Close a window inside a session",
      "resource": "window"
    },
    {
      "operation": "create",
      "name": "Create a New Browser Window",
      "description": "Create a new browser window inside a session. Can load a URL when created.",
      "resource": "window"
    },
    {
      "operation": "getLiveView",
      "name": "Get Live View",
      "description": "Get information about a browser window, including the live view URL",
      "resource": "window"
    },
    {
      "operation": "list",
      "name": "List Windows",
      "description": "List all browser windows in a session",
      "resource": "window"
    },
    {
      "operation": "load",
      "name": "Load URL",
      "description": "Load a URL in an existing window",
      "resource": "window"
    },
    {
      "operation": "takeScreenshot",
      "name": "Take Screenshot",
      "description": "Take a screenshot of the current window",
      "resource": "window"
    },
    {
      "operation": "deleteFile",
      "name": "Delete",
      "description": "Delete an uploaded file",
      "resource": "file"
    },
    {
      "operation": "get",
      "name": "Get",
      "description": "Get a details of an uploaded file",
      "resource": "file"
    },
    {
      "operation": "getMany",
      "name": "Get Many",
      "description": "Get details of multiple uploaded files",
      "resource": "file"
    },
    {
      "operation": "load",
      "name": "Load",
      "description": "Load a file into a session",
      "resource": "file"
    },
    {
      "operation": "upload",
      "name": "Upload",
      "description": "Upload a file into a session",
      "resource": "file"
    },
    {
      "operation": "query",
      "name": "Query Page",
      "description": "Query a page to extract data or ask a question given the data on the page",
      "resource": "extraction"
    },
    {
      "operation": "getPaginated",
      "name": "Query Page with Pagination",
      "description": "Extract content from paginated or dynamically loaded pages",
      "resource": "extraction"
    },
    {
      "operation": "scrape",
      "name": "Smart Scrape",
      "description": "Scrape a page and return the data as markdown",
      "resource": "extraction"
    },
    {
      "operation": "click",
      "name": "Click an Element",
      "description": "Execute a click on an element given a description",
      "resource": "interaction"
    },
    {
      "operation": "fill",
      "name": "Fill Form",
      "description": "Fill a form with the provided information",
      "resource": "interaction"
    },
    {
      "operation": "hover",
      "name": "Hover on an Element",
      "description": "Execute a hover action on an element given a description",
      "resource": "interaction"
    },
    {
      "operation": "scroll",
      "name": "Scroll",
      "description": "Execute a scroll action on the page",
      "resource": "interaction"
    },
    {
      "operation": "type",
      "name": "Type",
      "description": "Execute a Type action on an element given a description",
      "resource": "interaction"
    }
  ]


node_type: nodes-base.aiTransformTool
package_name: n8n-nodes-base
display_name: AI Transform Tool
description: Modify data based on instructions written in plain english (AI Tool variant for use with AI Agents)
category: transform
development_style: programmatic
version: 1
operations: []
credentials_required: []
outputs:
  [
  {
  "type": "ai_tool",
  "displayName": "Tool"
  }
  ]

output_names:
  [
  "Tool"
  ]

updated_at: 2026-07-16 12:10:22
tool_variant_of: nodes-base.aiTransform
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: AI Transform
  description: Documentation for the AI Transform node in n8n, a workflow automation platform. Includes guidance on usage, and links to examples.
  contentType: [integration, reference]
  ---

  # AI Transform

  Use the AI Transform node to generate code snippets based on your prompt. The AI is context-aware, understanding the workflow’s nodes and their data types.

  /// info | Feature availability
  Available only on [Cloud plans](/manage-cloud/overview.md).
  ///

  ## Node parameters

  ### Instructions

  Enter your prompt for the AI and click the **Generate code** button to automatically populate the **Transformation Code**. For example, you can specify how you want to process or categorize your data. Refer to [Writing good prompts](/code/ai-code.md#writing-good-prompts) for more information. 

  The prompt should be in plain English and under 500 characters. 

  ### Transformation Code

  The code snippet generated by the node is read-only. To edit this code, adjust your prompt in **Instructions** or copy and paste it into a [Code](/integrations/builtin/core-nodes/n8n-nodes-base.code/index.md) node. 

  ## Templates and examples

  [[ templatesWidget(page.title, 'ai-transform') ]]

properties_schema:
  [
    {
      "displayName": "Tool Description",
      "name": "toolDescription",
      "type": "string",
      "default": "",
      "required": false,
      "description": "Description for the AI to understand what this tool does and when to use it",
      "typeOptions": {
        "rows": 3
      },
      "placeholder": "e.g., Use this tool to interact with AI Transform"
    },
    {
      "displayName": "Instructions",
      "name": "instructions",
      "type": "button",
      "default": "",
      "description": "Provide instructions on how you want to transform the data, then click 'Generate code'. Use dot notation to refer to nested fields (e.g. address.street).",
      "typeOptions": {
        "buttonConfig": {
          "label": "Generate code",
          "hasInputField": true,
          "inputFieldMaxLength": 500,
          "action": {
            "type": "askAiCodeGeneration",
            "target": "jsCode"
          }
        }
      }
    },
    {
      "displayName": "Code Generated For Prompt",
      "name": "codeGeneratedForPrompt",
      "type": "hidden",
      "default": ""
    },
    {
      "displayName": "Generated JavaScript",
      "name": "jsCode",
      "type": "string",
      "default": "",
      "typeOptions": {
        "editor": "jsEditor",
        "editorIsReadOnly": true
      },
      "noDataExpression": true
    }
  ]


node_type: nodes-base.aiTransform
package_name: n8n-nodes-base
display_name: AI Transform
description: Modify data based on instructions written in plain english
category: transform
development_style: programmatic
version: 1
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-07-16 12:10:22
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: AI Transform
  description: Documentation for the AI Transform node in n8n, a workflow automation platform. Includes guidance on usage, and links to examples.
  contentType: [integration, reference]
  ---

  # AI Transform

  Use the AI Transform node to generate code snippets based on your prompt. The AI is context-aware, understanding the workflow’s nodes and their data types.

  /// info | Feature availability
  Available only on [Cloud plans](/manage-cloud/overview.md).
  ///

  ## Node parameters

  ### Instructions

  Enter your prompt for the AI and click the **Generate code** button to automatically populate the **Transformation Code**. For example, you can specify how you want to process or categorize your data. Refer to [Writing good prompts](/code/ai-code.md#writing-good-prompts) for more information. 

  The prompt should be in plain English and under 500 characters. 

  ### Transformation Code

  The code snippet generated by the node is read-only. To edit this code, adjust your prompt in **Instructions** or copy and paste it into a [Code](/integrations/builtin/core-nodes/n8n-nodes-base.code/index.md) node. 

  ## Templates and examples

  [[ templatesWidget(page.title, 'ai-transform') ]]

properties_schema:
  [
    {
      "displayName": "Instructions",
      "name": "instructions",
      "type": "button",
      "default": "",
      "description": "Provide instructions on how you want to transform the data, then click 'Generate code'. Use dot notation to refer to nested fields (e.g. address.street).",
      "typeOptions": {
        "buttonConfig": {
          "label": "Generate code",
          "hasInputField": true,
          "inputFieldMaxLength": 500,
          "action": {
            "type": "askAiCodeGeneration",
            "target": "jsCode"
          }
        }
      }
    },
    {
      "displayName": "Code Generated For Prompt",
      "name": "codeGeneratedForPrompt",
      "type": "hidden",
      "default": ""
    },
    {
      "displayName": "Generated JavaScript",
      "name": "jsCode",
      "type": "string",
      "default": "",
      "typeOptions": {
        "editor": "jsEditor",
        "editorIsReadOnly": true
      },
      "noDataExpression": true
    }
  ]


node_type: nodes-base.amqpTool
package_name: n8n-nodes-base
display_name: AMQP Sender Tool
description: Sends a raw-message via AMQP 1.0, executed once per item (AI Tool variant for use with AI Agents)
category: transform
development_style: programmatic
version: 1
operations: []
credentials_required:
  [
  {
  "name": "amqp",
  "required": true,
  "testedBy": "amqpConnectionTest"
  }
  ]

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

output_names:
  [
  "Tool"
  ]

updated_at: 2026-07-16 12:10:22
tool_variant_of: nodes-base.amqp
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: AMQP Sender node documentation
  description: Learn how to use the AMQP Sender node in n8n. Follow technical documentation to integrate AMQP Sender node into your workflows.
  contentType: [integration, reference]
  ---

  # AMQP Sender node

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

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

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

  ## Operations

  - Send message

  ## Templates and examples

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

properties_schema:
  [
    {
      "displayName": "Tool Description",
      "name": "toolDescription",
      "type": "string",
      "default": "",
      "required": false,
      "description": "Description for the AI to understand what this tool does and when to use it",
      "typeOptions": {
        "rows": 3
      },
      "placeholder": "e.g., Use this tool to interact with AMQP Sender"
    },
    {
      "displayName": "Queue / Topic",
      "name": "sink",
      "type": "string",
      "default": "",
      "description": "Name of the queue of topic to publish to"
    },
    {
      "displayName": "Headers",
      "name": "headerParametersJson",
      "type": "json",
      "default": "",
      "description": "Header parameters as JSON (flat object). Sent as application_properties in amqp-message meta info."
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Container ID",
          "name": "containerId",
          "type": "string",
          "default": "",
          "description": "Will be used to pass to the RHEA Backend as container_id"
        },
        {
          "displayName": "Data as Object",
          "name": "dataAsObject",
          "type": "boolean",
          "default": false,
          "description": "Whether to send the data as an object"
        },
        {
          "displayName": "Reconnect",
          "name": "reconnect",
          "type": "boolean",
          "default": true,
          "description": "Whether to automatically reconnect if disconnected"
        },
        {
          "displayName": "Reconnect Limit",
          "name": "reconnectLimit",
          "type": "number",
          "default": 50,
          "description": "Maximum number of reconnect attempts"
        },
        {
          "displayName": "Send Property",
          "name": "sendOnlyProperty",
          "type": "string",
          "default": "",
          "description": "The only property to send. If empty the whole item will be sent."
        }
      ]
    }
  ]


node_type: nodes-base.amqp
package_name: n8n-nodes-base
display_name: AMQP Sender
description: Sends a raw-message via AMQP 1.0, executed once per item
category: transform
development_style: programmatic
version: 1
operations: []
credentials_required:
  [
  {
  "name": "amqp",
  "required": true,
  "testedBy": "amqpConnectionTest"
  }
  ]

outputs:
  [
  "main"
  ]

updated_at: 2026-07-16 12:10:22
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: AMQP Sender node documentation
  description: Learn how to use the AMQP Sender node in n8n. Follow technical documentation to integrate AMQP Sender node into your workflows.
  contentType: [integration, reference]
  ---

  # AMQP Sender node

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

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

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

  ## Operations

  - Send message

  ## Templates and examples

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

properties_schema:
  [
    {
      "displayName": "Queue / Topic",
      "name": "sink",
      "type": "string",
      "default": "",
      "description": "Name of the queue of topic to publish to"
    },
    {
      "displayName": "Headers",
      "name": "headerParametersJson",
      "type": "json",
      "default": "",
      "description": "Header parameters as JSON (flat object). Sent as application_properties in amqp-message meta info."
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Container ID",
          "name": "containerId",
          "type": "string",
          "default": "",
          "description": "Will be used to pass to the RHEA Backend as container_id"
        },
        {
          "displayName": "Data as Object",
          "name": "dataAsObject",
          "type": "boolean",
          "default": false,
          "description": "Whether to send the data as an object"
        },
        {
          "displayName": "Reconnect",
          "name": "reconnect",
          "type": "boolean",
          "default": true,
          "description": "Whether to automatically reconnect if disconnected"
        },
        {
          "displayName": "Reconnect Limit",
          "name": "reconnectLimit",
          "type": "number",
          "default": 50,
          "description": "Maximum number of reconnect attempts"
        },
        {
          "displayName": "Send Property",
          "name": "sendOnlyProperty",
          "type": "string",
          "default": "",
          "description": "The only property to send. If empty the whole item will be sent."
        }
      ]
    }
  ]


node_type: nodes-base.amqpTrigger
package_name: n8n-nodes-base
display_name: AMQP Trigger
description: Listens to AMQP 1.0 Messages
category: trigger
development_style: programmatic
version: 1
operations: []
credentials_required:
  [
  {
  "name": "amqp",
  "required": true
  }
  ]

outputs:
  [
  "main"
  ]

updated_at: 2026-07-16 12:10:22
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: AMQP Trigger node documentation
  description: Learn how to use the AMQP Trigger node in n8n. Follow technical documentation to integrate AMQP Trigger node into your workflows.
  contentType: [integration, reference]
  ---

  # AMQP Trigger node

  [AMQP](https://www.amqp.org/){:target=_blank .external-link} is an open standard application layer protocol for message-oriented middleware. The defining features of AMQP are message orientation, queuing, routing, reliability and security. This node supports AMQP 1.0 compatible message brokers.

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

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

properties_schema:
  [
    {
      "displayName": "Queue / Topic",
      "name": "sink",
      "type": "string",
      "default": "",
      "description": "Name of the queue of topic to listen to"
    },
    {
      "displayName": "Clientname",
      "name": "clientname",
      "type": "string",
      "default": "",
      "description": "Leave empty for non-durable topic subscriptions or queues"
    },
    {
      "displayName": "Subscription",
      "name": "subscription",
      "type": "string",
      "default": "",
      "description": "Leave empty for non-durable topic subscriptions or queues"
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Container ID",
          "name": "containerId",
          "type": "string",
          "default": "",
          "description": "Will be used to pass to the RHEA Backend as container_id"
        },
        {
          "displayName": "Convert Body To String",
          "name": "jsonConvertByteArrayToString",
          "type": "boolean",
          "default": false,
          "description": "Whether to convert JSON Body content ([\"body\"][\"content\"]) from Byte Array to string. Needed for Azure Service Bus."
        },
        {
          "displayName": "JSON Parse Body",
          "name": "jsonParseBody",
          "type": "boolean",
          "default": false,
          "description": "Whether to parse the body to an object"
        },
        {
          "displayName": "Messages per Cicle",
          "name": "pullMessagesNumber",
          "type": "number",
          "default": 100,
          "description": "Number of messages to pull from the bus for every cicle"
        },
        {
          "displayName": "Only Body",
          "name": "onlyBody",
          "type": "boolean",
          "default": false,
          "description": "Whether to return only the body property"
        },
        {
          "displayName": "Parallel Processing",
          "name": "parallelProcessing",
          "type": "boolean",
          "default": true,
          "description": "Whether to process messages in parallel"
        },
        {
          "displayName": "Reconnect",
          "name": "reconnect",
          "type": "boolean",
          "default": true,
          "description": "Whether to automatically reconnect if disconnected"
        },
        {
          "displayName": "Reconnect Limit",
          "name": "reconnectLimit",
          "type": "number",
          "default": 50,
          "description": "Maximum number of reconnect attempts"
        },
        {
          "displayName": "Sleep Time",
          "name": "sleepTime",
          "type": "number",
          "default": 10,
          "description": "Milliseconds to sleep after every cicle"
        }
      ]
    }
  ]


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

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

output_names:
  [
  "Tool"
  ]

updated_at: 2026-07-16 12:10:22
tool_variant_of: nodes-base.apiTemplateIo
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: APITemplate.io node documentation
  description: Learn how to use the APITemplate.io node in n8n. Follow technical documentation to integrate APITemplate.io node into your workflows.
  contentType: [integration, reference]
  ---

  # APITemplate.io node

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

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

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

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

  ## Operations

  * Account
      * Get
  * Image
      * Create
  * PDF
      * Create

  ## Templates and examples

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

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

properties_schema:
  [
    {
      "displayName": "Tool Description",
      "name": "toolDescription",
      "type": "string",
      "default": "",
      "required": false,
      "description": "Description for the AI to understand what this tool does and when to use it",
      "typeOptions": {
        "rows": 3
      },
      "placeholder": "e.g., Use this tool to make API requests and fetch data"
    },
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "image",
      "options": [
        {
          "name": "Account",
          "value": "account"
        },
        {
          "name": "Image",
          "value": "image"
        },
        {
          "name": "PDF",
          "value": "pdf"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create an image"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "image"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a pdf"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "pdf"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get an account"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "account"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Template Name or ID",
      "name": "imageTemplateId",
      "type": "options",
      "default": "",
      "description": "ID of the image template to use. 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": [
            "image"
          ],
          "operation": [
            "create"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getImageTemplates"
      }
    },
    {
      "displayName": "Template Name or ID",
      "name": "pdfTemplateId",
      "type": "options",
      "default": "",
      "description": "ID of the PDF template to use. 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": [
            "pdf"
          ],
          "operation": [
            "create"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getPdfTemplates"
      }
    },
    {
      "displayName": "JSON Parameters",
      "name": "jsonParameters",
      "type": "boolean",
      "default": false,
      "displayOptions": {
        "show": {
          "resource": [
            "pdf",
            "image"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Download",
      "name": "download",
      "type": "boolean",
      "default": false,
      "description": "Name of the binary property to which to write the data of the read file",
      "displayOptions": {
        "show": {
          "resource": [
            "pdf",
            "image"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Put Output File in Field",
      "name": "binaryProperty",
      "type": "string",
      "default": "data",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "pdf",
            "image"
          ],
          "operation": [
            "create"
          ],
          "download": [
            true
          ]
        }
      }
    },
    {
      "displayName": "Overrides (JSON)",
      "name": "overridesJson",
      "type": "json",
      "default": "",
      "displayOptions": {
        "show": {
          "resource": [
            "image"
          ],
          "operation": [
            "create"
          ],
          "jsonParameters": [
            true
          ]
        }
      }
    },
    {
      "displayName": "Properties (JSON)",
      "name": "propertiesJson",
      "type": "json",
      "default": "",
      "displayOptions": {
        "show": {
          "resource": [
            "pdf"
          ],
          "operation": [
            "create"
          ],
          "jsonParameters": [
            true
          ]
        }
      }
    },
    {
      "displayName": "Overrides",
      "name": "overridesUi",
      "type": "fixedCollection",
      "default": {},
      "options": [
        {
          "name": "overrideValues",
          "displayName": "Override",
          "values": [
            {
              "displayName": "Properties",
              "name": "propertiesUi",
              "placeholder": "Add Property",
              "type": "fixedCollection",
              "typeOptions": {
                "multipleValues": true
              },
              "default": {},
              "options": [
                {
                  "name": "propertyValues",
                  "displayName": "Property",
                  "values": [
                    {
                      "displayName": "Key",
                      "name": "key",
                      "type": "string",
                      "default": "",
                      "description": "Name of the property"
                    },
                    {
                      "displayName": "Value",
                      "name": "value",
                      "type": "string",
                      "default": "",
                      "description": "Value to the property"
                    }
                  ]
                }
              ]
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "image"
          ],
          "operation": [
            "create"
          ],
          "jsonParameters": [
            false
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true
      }
    },
    {
      "displayName": "Properties",
      "name": "propertiesUi",
      "type": "fixedCollection",
      "default": {},
      "options": [
        {
          "name": "propertyValues",
          "displayName": "Property",
          "values": [
            {
              "displayName": "Key",
              "name": "key",
              "type": "string",
              "default": "",
              "description": "Name of the property"
            },
            {
              "displayName": "Value",
              "name": "value",
              "type": "string",
              "default": "",
              "description": "Value to the property"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "pdf"
          ],
          "operation": [
            "create"
          ],
          "jsonParameters": [
            false
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "File Name",
          "name": "fileName",
          "type": "string",
          "default": "",
          "description": "The name of the downloaded image/pdf. It has to include the extension. For example: report.pdf"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "pdf",
            "image"
          ],
          "download": [
            true
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "create",
      "name": "Create",
      "resource": "image"
    },
    {
      "operation": "create",
      "name": "Create",
      "resource": "pdf"
    },
    {
      "operation": "get",
      "name": "Get",
      "resource": "account"
    }
  ]


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

outputs:
  [
  "main"
  ]

updated_at: 2026-07-16 12:10:22
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: APITemplate.io node documentation
  description: Learn how to use the APITemplate.io node in n8n. Follow technical documentation to integrate APITemplate.io node into your workflows.
  contentType: [integration, reference]
  ---

  # APITemplate.io node

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

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

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

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

  ## Operations

  * Account
      * Get
  * Image
      * Create
  * PDF
      * Create

  ## Templates and examples

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

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

properties_schema:
  [
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "image",
      "options": [
        {
          "name": "Account",
          "value": "account"
        },
        {
          "name": "Image",
          "value": "image"
        },
        {
          "name": "PDF",
          "value": "pdf"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create an image"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "image"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a pdf"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "pdf"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get an account"
        }
      ],
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "account"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Template Name or ID",
      "name": "imageTemplateId",
      "type": "options",
      "default": "",
      "description": "ID of the image template to use. 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": [
            "image"
          ],
          "operation": [
            "create"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getImageTemplates"
      }
    },
    {
      "displayName": "Template Name or ID",
      "name": "pdfTemplateId",
      "type": "options",
      "default": "",
      "description": "ID of the PDF template to use. 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": [
            "pdf"
          ],
          "operation": [
            "create"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getPdfTemplates"
      }
    },
    {
      "displayName": "JSON Parameters",
      "name": "jsonParameters",
      "type": "boolean",
      "default": false,
      "displayOptions": {
        "show": {
          "resource": [
            "pdf",
            "image"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Download",
      "name": "download",
      "type": "boolean",
      "default": false,
      "description": "Name of the binary property to which to write the data of the read file",
      "displayOptions": {
        "show": {
          "resource": [
            "pdf",
            "image"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Put Output File in Field",
      "name": "binaryProperty",
      "type": "string",
      "default": "data",
      "required": true,
      "displayOptions": {
        "show": {
          "resource": [
            "pdf",
            "image"
          ],
          "operation": [
            "create"
          ],
          "download": [
            true
          ]
        }
      }
    },
    {
      "displayName": "Overrides (JSON)",
      "name": "overridesJson",
      "type": "json",
      "default": "",
      "displayOptions": {
        "show": {
          "resource": [
            "image"
          ],
          "operation": [
            "create"
          ],
          "jsonParameters": [
            true
          ]
        }
      }
    },
    {
      "displayName": "Properties (JSON)",
      "name": "propertiesJson",
      "type": "json",
      "default": "",
      "displayOptions": {
        "show": {
          "resource": [
            "pdf"
          ],
          "operation": [
            "create"
          ],
          "jsonParameters": [
            true
          ]
        }
      }
    },
    {
      "displayName": "Overrides",
      "name": "overridesUi",
      "type": "fixedCollection",
      "default": {},
      "options": [
        {
          "name": "overrideValues",
          "displayName": "Override",
          "values": [
            {
              "displayName": "Properties",
              "name": "propertiesUi",
              "placeholder": "Add Property",
              "type": "fixedCollection",
              "typeOptions": {
                "multipleValues": true
              },
              "default": {},
              "options": [
                {
                  "name": "propertyValues",
                  "displayName": "Property",
                  "values": [
                    {
                      "displayName": "Key",
                      "name": "key",
                      "type": "string",
                      "default": "",
                      "description": "Name of the property"
                    },
                    {
                      "displayName": "Value",
                      "name": "value",
                      "type": "string",
                      "default": "",
                      "description": "Value to the property"
                    }
                  ]
                }
              ]
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "image"
          ],
          "operation": [
            "create"
          ],
          "jsonParameters": [
            false
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true
      }
    },
    {
      "displayName": "Properties",
      "name": "propertiesUi",
      "type": "fixedCollection",
      "default": {},
      "options": [
        {
          "name": "propertyValues",
          "displayName": "Property",
          "values": [
            {
              "displayName": "Key",
              "name": "key",
              "type": "string",
              "default": "",
              "description": "Name of the property"
            },
            {
              "displayName": "Value",
              "name": "value",
              "type": "string",
              "default": "",
              "description": "Value to the property"
            }
          ]
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "pdf"
          ],
          "operation": [
            "create"
          ],
          "jsonParameters": [
            false
          ]
        }
      },
      "typeOptions": {
        "multipleValues": true
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "File Name",
          "name": "fileName",
          "type": "string",
          "default": "",
          "description": "The name of the downloaded image/pdf. It has to include the extension. For example: report.pdf"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "pdf",
            "image"
          ],
          "download": [
            true
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "create",
      "name": "Create",
      "resource": "image"
    },
    {
      "operation": "create",
      "name": "Create",
      "resource": "pdf"
    },
    {
      "operation": "get",
      "name": "Get",
      "resource": "account"
    }
  ]


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

output_names:
  [
  "Tool"
  ]

updated_at: 2026-07-16 12:10:22
tool_variant_of: nodes-base.asana
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Asana node documentation
  description: Learn how to use the Asana node in n8n. Follow technical documentation to integrate Asana node into your workflows.
  contentType: [integration, reference]
  priority: medium
  ---

  # Asana node

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

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

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

  /// note | Update to 1.22.2 or above
  Due to changes in Asana's API, some operations in this node stopped working on 17th January 2023. Upgrade to n8n 1.22.2 or above.
  ///

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

  ## Operations

  * Project
      * Create a new project
      * Delete a project
      * Get a project
      * Get all projects
      * Update a project
  * Subtask
      * Create a subtask
      * Get all subtasks
  * Task
      * Create a task
      * Delete a task
      * Get a task
      * Get all tasks
      * Move a task
      * Search for tasks
      * Update a task
  * Task Comment
      * Add a comment to a task
      * Remove a comment from a task
  * Task Tag
      * Add a tag to a task
      * Remove a tag from a task
  * Task Project
      * Add a task to a project
      * Remove a task from a project
  * User
      * Get a user
      * Get all users

  ## Templates and examples

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

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

properties_schema:
  [
    {
      "displayName": "Tool Description",
      "name": "toolDescription",
      "type": "string",
      "default": "",
      "required": false,
      "description": "Description for the AI to understand what this tool does and when to use it",
      "typeOptions": {
        "rows": 3
      },
      "placeholder": "e.g., Use this tool to interact with Asana"
    },
    {
      "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": "task",
      "options": [
        {
          "name": "Project",
          "value": "project"
        },
        {
          "name": "Subtask",
          "value": "subtask"
        },
        {
          "name": "Task",
          "value": "task"
        },
        {
          "name": "Task Comment",
          "value": "taskComment"
        },
        {
          "name": "Task Project",
          "value": "taskProject"
        },
        {
          "name": "Task Tag",
          "value": "taskTag"
        },
        {
          "name": "User",
          "value": "user"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a subtask",
          "action": "Create a subtask"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many subtasks",
          "action": "Get many subtasks"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "subtask"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Parent Task ID",
      "name": "taskId",
      "type": "string",
      "default": "",
      "description": "The task to operate on",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "subtask"
          ]
        }
      }
    },
    {
      "displayName": "Name",
      "name": "name",
      "type": "string",
      "default": "",
      "description": "The name of the subtask to create",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "subtask"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "otherProperties",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Assignee Name or ID",
          "name": "assignee",
          "type": "options",
          "typeOptions": {
            "loadOptionsMethod": "getUsers"
          },
          "default": "",
          "description": "Set Assignee on the subtask. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        },
        {
          "displayName": "Assignee Status",
          "name": "assignee_status",
          "type": "options",
          "options": [
            {
              "name": "Inbox",
              "value": "inbox"
            },
            {
              "name": "Today",
              "value": "today"
            },
            {
              "name": "Upcoming",
              "value": "upcoming"
            },
            {
              "name": "Later",
              "value": "later"
            }
          ],
          "default": "inbox",
          "description": "Set Assignee status on the subtask (requires Assignee)"
        },
        {
          "displayName": "Completed",
          "name": "completed",
          "type": "boolean",
          "default": false,
          "description": "Whether the subtask should be marked completed"
        },
        {
          "displayName": "Due On",
          "name": "due_on",
          "type": "dateTime",
          "default": "",
          "description": "Date on which the time is due"
        },
        {
          "displayName": "Liked",
          "name": "liked",
          "type": "boolean",
          "default": false,
          "description": "Whether the task is liked by the authorized user"
        },
        {
          "displayName": "Notes",
          "name": "notes",
          "type": "string",
          "typeOptions": {
            "rows": 5
          },
          "default": "",
          "description": "The task notes"
        },
        {
          "displayName": "Workspace Name or ID",
          "name": "workspace",
          "type": "options",
          "typeOptions": {
            "loadOptionsMethod": "getWorkspaces"
          },
          "default": "",
          "description": "The workspace to create the subtask in. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "subtask"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Parent Task ID",
      "name": "taskId",
      "type": "string",
      "default": "",
      "description": "The task to operate on",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "subtask"
          ]
        }
      }
    },
    {
      "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": [
            "subtask"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "subtask"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 500
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Field Names or IDs",
          "name": "opt_fields",
          "type": "multiOptions",
          "typeOptions": {
            "loadOptionsMethod": "getTaskFields"
          },
          "default": [
            "gid",
            "name",
            "resource_type"
          ],
          "description": "Defines fields to return. Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        },
        {
          "displayName": "Pretty",
          "name": "opt_pretty",
          "type": "boolean",
          "default": false,
          "description": "Whether to provide “pretty” output"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "subtask"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a task",
          "action": "Create a task"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a task",
          "action": "Delete a task"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get a task",
          "action": "Get a task"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many tasks",
          "action": "Get many tasks"
        },
        {
          "name": "Move",
          "value": "move",
          "description": "Move a task",
          "action": "Move a task"
        },
        {
          "name": "Search",
          "value": "search",
          "description": "Search for tasks",
          "action": "Search a task"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update a task",
          "action": "Update a task"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "task"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Workspace Name or ID",
      "name": "workspace",
      "type": "options",
      "default": "",
      "description": "The workspace to create the task in. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "options": [],
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "task"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getWorkspaces"
      }
    },
    {
      "displayName": "Name",
      "name": "name",
      "type": "string",
      "default": "",
      "description": "The name of the task to create",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "task"
          ]
        }
      }
    },
    {
      "displayName": "Task ID",
      "name": "id",
      "type": "string",
      "default": "",
      "description": "The ID of the task to delete",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "delete"
          ],
          "resource": [
            "task"
          ]
        }
      }
    },
    {
      "displayName": "Task ID",
      "name": "id",
      "type": "string",
      "default": "",
      "description": "The ID of the task to get the data of",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "get"
          ],
          "resource": [
            "task"
          ]
        }
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "task"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "task"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 500
      }
    },
    {
      "displayName": "Filters",
      "name": "filters",
      "type": "collection",
      "default": {},
      "description": "Properties to search for",
      "options": [
        {
          "displayName": "Assignee Name or ID",
          "name": "assignee",
          "type": "options",
          "typeOptions": {
            "loadOptionsMethod": "getUsers"
          },
          "default": "",
          "description": "The assignee to filter tasks on. Note: If you specify assignee, you must also specify the workspace to filter on. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        },
        {
          "displayName": "Field Names or IDs",
          "name": "opt_fields",
          "type": "multiOptions",
          "typeOptions": {
            "loadOptionsMethod": "getTaskFields"
          },
          "default": [
            "gid",
            "name",
            "resource_type"
          ],
          "description": "Defines fields to return. Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        },
        {
          "displayName": "Pretty",
          "name": "opt_pretty",
          "type": "boolean",
          "default": false,
          "description": "Whether to provide “pretty” output"
        },
        {
          "displayName": "Project Name or ID",
          "name": "project",
          "type": "options",
          "typeOptions": {
            "loadOptionsMethod": "getProjects"
          },
          "default": "",
          "description": "The project to filter tasks on. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        },
        {
          "displayName": "Section Name or ID",
          "name": "section",
          "type": "options",
          "typeOptions": {
            "loadOptionsMethod": "getSections"
          },
          "default": "",
          "description": "The section to filter tasks on. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        },
        {
          "displayName": "Workspace Name or ID",
          "name": "workspace",
          "type": "options",
          "typeOptions": {
            "loadOptionsMethod": "getWorkspaces"
          },
          "default": "",
          "description": "The workspace to filter tasks on. Note: If you specify workspace, you must also specify the assignee to filter on. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        },
        {
          "displayName": "Completed Since",
          "name": "completed_since",
          "type": "dateTime",
          "default": "",
          "description": "Only return tasks that are either incomplete or that have been completed since this time"
        },
        {
          "displayName": "Modified Since",
          "name": "modified_since",
          "type": "dateTime",
          "default": "",
          "description": "Only return tasks that have been modified since the given time"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "task"
          ]
        }
      }
    },
    {
      "displayName": "Task ID",
      "name": "id",
      "type": "string",
      "default": "",
      "description": "The ID of the task to be moved",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "move"
          ],
          "resource": [
            "task"
          ]
        }
      }
    },
    {
      "displayName": "Project Name or ID",
      "name": "projectId",
      "type": "options",
      "default": "",
      "description": "Project to show the sections of. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "options": [],
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "move"
          ],
          "resource": [
            "task"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getProjects"
      }
    },
    {
      "displayName": "Section Name or ID",
      "name": "section",
      "type": "options",
      "default": "",
      "description": "The Section to move the task to. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "options": [],
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "move"
          ],
          "resource": [
            "task"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "projectId"
        ],
        "loadOptionsMethod": "getSections"
      }
    },
    {
      "displayName": "Task ID",
      "name": "id",
      "type": "string",
      "default": "",
      "description": "The ID of the task to update the data of",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "update"
          ],
          "resource": [
            "task"
          ]
        }
      }
    },
    {
      "displayName": "Workspace Name or ID",
      "name": "workspace",
      "type": "options",
      "default": "",
      "description": "The workspace in which the task is searched. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "options": [],
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "search"
          ],
          "resource": [
            "task"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getWorkspaces"
      }
    },
    {
      "displayName": "Filters",
      "name": "searchTaskProperties",
      "type": "collection",
      "default": {},
      "description": "Properties to search for",
      "options": [
        {
          "displayName": "Completed",
          "name": "completed",
          "type": "boolean",
          "default": false,
          "description": "Whether the task is marked completed"
        },
        {
          "displayName": "Text",
          "name": "text",
          "type": "string",
          "typeOptions": {
            "rows": 5
          },
          "default": "",
          "description": "Text to search for in name or notes"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "search"
          ],
          "resource": [
            "task"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "otherProperties",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Assignee Name or ID",
          "name": "assignee",
          "type": "options",
          "typeOptions": {
            "loadOptionsMethod": "getUsers"
          },
          "default": "",
          "description": "Set Assignee on the task. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        },
        {
          "displayName": "Assignee Status",
          "name": "assignee_status",
          "type": "options",
          "options": [
            {
              "name": "Inbox",
              "value": "inbox"
            },
            {
              "name": "Today",
              "value": "today"
            },
            {
              "name": "Upcoming",
              "value": "upcoming"
            },
            {
              "name": "Later",
              "value": "later"
            }
          ],
          "default": "inbox",
          "description": "Set Assignee status on the task (requires Assignee)"
        },
        {
          "displayName": "Completed",
          "name": "completed",
          "type": "boolean",
          "default": false,
          "description": "Whether the task should be marked completed"
        },
        {
          "displayName": "Due On",
          "name": "due_on",
          "type": "dateTime",
          "default": "",
          "description": "Date on which the time is due"
        },
        {
          "displayName": "Name",
          "name": "name",
          "type": "string",
          "default": "",
          "displayOptions": {
            "show": {
              "/operation": [
                "update"
              ]
            }
          },
          "description": "The new name of the task"
        },
        {
          "displayName": "Liked",
          "name": "liked",
          "type": "boolean",
          "default": false,
          "description": "Whether the task is liked by the authorized user"
        },
        {
          "displayName": "Notes",
          "name": "notes",
          "type": "string",
          "typeOptions": {
            "rows": 5
          },
          "default": "",
          "description": "The task notes"
        },
        {
          "displayName": "Project Names or IDs",
          "name": "projects",
          "type": "multiOptions",
          "typeOptions": {
            "loadOptionsMethod": "getProjects"
          },
          "default": [],
          "description": "The project to filter tasks on. Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "task"
          ],
          "operation": [
            "create",
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "add",
      "options": [
        {
          "name": "Add",
          "value": "add",
          "description": "Add a comment to a task",
          "action": "Add a task comment"
        },
        {
          "name": "Remove",
          "value": "remove",
          "description": "Remove a comment from a task",
          "action": "Remove a task comment"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "taskComment"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Task ID",
      "name": "id",
      "type": "string",
      "default": "",
      "description": "The ID of the task to add the comment to",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "add"
          ],
          "resource": [
            "taskComment"
          ]
        }
      }
    },
    {
      "displayName": "Is Text HTML",
      "name": "isTextHtml",
      "type": "boolean",
      "default": false,
      "description": "Whether body is HTML or simple text",
      "displayOptions": {
        "show": {
          "operation": [
            "add"
          ],
          "resource": [
            "taskComment"
          ]
        }
      }
    },
    {
      "displayName": "Text",
      "name": "text",
      "type": "string",
      "default": "",
      "description": "The plain text of the comment to add",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "add"
          ],
          "resource": [
            "taskComment"
          ],
          "isTextHtml": [
            false
          ]
        }
      }
    },
    {
      "displayName": "HTML Text",
      "name": "text",
      "type": "string",
      "default": "",
      "description": "Comment as HTML string. Do not use together with plain text.",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "add"
          ],
          "resource": [
            "taskComment"
          ],
          "isTextHtml": [
            true
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "description": "Properties of the task comment",
      "options": [
        {
          "displayName": "Pinned",
          "name": "is_pinned",
          "type": "boolean",
          "default": false,
          "description": "Whether to pin the comment"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "add"
          ],
          "resource": [
            "taskComment"
          ]
        }
      }
    },
    {
      "displayName": "Comment ID",
      "name": "id",
      "type": "string",
      "default": "",
      "description": "The ID of the comment to be removed",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "remove"
          ],
          "resource": [
            "taskComment"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "add",
      "options": [
        {
          "name": "Add",
          "value": "add",
          "description": "Add a task to a project",
          "action": "Add a task project"
        },
        {
          "name": "Remove",
          "value": "remove",
          "description": "Remove a task from a project",
          "action": "Remove a task project"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "taskProject"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Task ID",
      "name": "id",
      "type": "string",
      "default": "",
      "description": "The ID of the task to add the project to",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "add"
          ],
          "resource": [
            "taskProject"
          ]
        }
      }
    },
    {
      "displayName": "Project Name or ID",
      "name": "project",
      "type": "options",
      "default": "",
      "description": "The project where the task will be added. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "add"
          ],
          "resource": [
            "taskProject"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getProjects"
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "description": "Other properties to set",
      "options": [
        {
          "displayName": "Insert After",
          "name": "insert_after",
          "type": "string",
          "default": "",
          "description": "A task in the project to insert the task after, or null to insert at the beginning of the list"
        },
        {
          "displayName": "Insert Before",
          "name": "insert_before",
          "type": "string",
          "default": "",
          "description": "A task in the project to insert the task before, or null to insert at the end of the list"
        },
        {
          "displayName": "Section",
          "name": "section",
          "type": "string",
          "default": "",
          "description": "A section in the project to insert the task into. The task will be inserted at the bottom of the section."
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "taskProject"
          ],
          "operation": [
            "add"
          ]
        }
      }
    },
    {
      "displayName": "Task ID",
      "name": "id",
      "type": "string",
      "default": "",
      "description": "The ID of the task to add the project to",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "remove"
          ],
          "resource": [
            "taskProject"
          ]
        }
      }
    },
    {
      "displayName": "Project Name or ID",
      "name": "project",
      "type": "options",
      "default": "",
      "description": "The project where the task will be removed from. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "remove"
          ],
          "resource": [
            "taskProject"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getProjects"
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "add",
      "options": [
        {
          "name": "Add",
          "value": "add",
          "description": "Add a tag to a task",
          "action": "Add a task tag"
        },
        {
          "name": "Remove",
          "value": "remove",
          "description": "Remove a tag from a task",
          "action": "Remove a task tag"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "taskTag"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Task ID",
      "name": "id",
      "type": "string",
      "default": "",
      "description": "The ID of the task to add the tag to",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "add"
          ],
          "resource": [
            "taskTag"
          ]
        }
      }
    },
    {
      "displayName": "Tags Name or ID",
      "name": "tag",
      "type": "options",
      "default": "",
      "description": "The tag that should be added. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "add"
          ],
          "resource": [
            "taskTag"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "id"
        ],
        "loadOptionsMethod": "getTags"
      }
    },
    {
      "displayName": "Task ID",
      "name": "id",
      "type": "string",
      "default": "",
      "description": "The ID of the task to add the tag to",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "remove"
          ],
          "resource": [
            "taskTag"
          ]
        }
      }
    },
    {
      "displayName": "Tags Name or ID",
      "name": "tag",
      "type": "options",
      "default": "",
      "description": "The tag that should be added. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "remove"
          ],
          "resource": [
            "taskTag"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "id"
        ],
        "loadOptionsMethod": "getTags"
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "description": "Get a user",
          "action": "Get a user"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many users",
          "action": "Get many users"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "User ID",
      "name": "userId",
      "type": "string",
      "default": "",
      "description": "An identifier for the user to get data of. Can be one of an email address,the globally unique identifier for the user, or the keyword me to indicate the current user making the request.",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "get"
          ],
          "resource": [
            "user"
          ]
        }
      }
    },
    {
      "displayName": "Workspace Name or ID",
      "name": "workspace",
      "type": "options",
      "default": "",
      "description": "The workspace in which to get users. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "options": [],
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "user"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getWorkspaces"
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a new project",
          "action": "Create a project"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a project",
          "action": "Delete a project"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get a project",
          "action": "Get a project"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many projects",
          "action": "Get many projects"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update a project",
          "action": "Update a project"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "project"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Name",
      "name": "name",
      "type": "string",
      "default": "",
      "description": "The name of the project to create",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "project"
          ]
        }
      }
    },
    {
      "displayName": "Workspace Name or ID",
      "name": "workspace",
      "type": "options",
      "default": "",
      "description": "The workspace to create the project in. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "project"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getWorkspaces"
      }
    },
    {
      "displayName": "Team Name or ID",
      "name": "team",
      "type": "options",
      "default": "",
      "description": "The team this project will be assigned to. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "project"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "workspace"
        ],
        "loadOptionsMethod": "getTeams"
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "description": "Other properties to set",
      "options": [
        {
          "displayName": "Color",
          "name": "color",
          "type": "options",
          "options": [
            {
              "name": "dark-blue",
              "value": "dark-blue"
            },
            {
              "name": "dark-brown",
              "value": "dark-brown"
            },
            {
              "name": "dark-green",
              "value": "dark-green"
            },
            {
              "name": "dark-orange",
              "value": "dark-orange"
            },
            {
              "name": "dark-pink",
              "value": "dark-pink"
            },
            {
              "name": "dark-purple",
              "value": "dark-purple"
            },
            {
              "name": "dark-red",
              "value": "dark-red"
            },
            {
              "name": "dark-teal",
              "value": "dark-teal"
            },
            {
              "name": "dark-warm-gray",
              "value": "dark-warm-gray"
            },
            {
              "name": "light-blue",
              "value": "light-blue"
            },
            {
              "name": "light-green",
              "value": "light-green"
            },
            {
              "name": "light-orange",
              "value": "light-orange"
            },
            {
              "name": "light-pink",
              "value": "light-pink"
            },
            {
              "name": "light-purple",
              "value": "light-purple"
            },
            {
              "name": "light-red",
              "value": "light-red"
            },
            {
              "name": "light-teal",
              "value": "light-teal"
            },
            {
              "name": "light-warm-gray",
              "value": "light-warm-gray"
            },
            {
              "name": "light-yellow",
              "value": "light-yellow"
            },
            {
              "name": "none",
              "value": "none"
            }
          ],
          "default": "none",
          "description": "Color of the project"
        },
        {
          "displayName": "Due On",
          "name": "due_on",
          "type": "dateTime",
          "default": "",
          "description": "The day on which this project is due. This takes a date with format YYYY-MM-DD."
        },
        {
          "displayName": "Notes",
          "name": "notes",
          "type": "string",
          "default": "",
          "description": "Basic description or notes for the project"
        },
        {
          "displayName": "Privacy Setting",
          "name": "privacy_setting",
          "type": "options",
          "options": [
            {
              "name": "Private",
              "value": "private"
            },
            {
              "name": "Private to Team",
              "value": "private_to_team"
            },
            {
              "name": "Public to Workspace",
              "value": "public_to_workspace"
            }
          ],
          "default": "private",
          "description": "The privacy setting of the project"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "project"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Project ID",
      "name": "id",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "delete"
          ],
          "resource": [
            "project"
          ]
        }
      }
    },
    {
      "displayName": "Project ID",
      "name": "id",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "get"
          ],
          "resource": [
            "project"
          ]
        }
      }
    },
    {
      "displayName": "Workspace Name or ID",
      "name": "workspace",
      "type": "options",
      "default": "",
      "description": "The workspace in which to get users. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "options": [],
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "project"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getWorkspaces"
      }
    },
    {
      "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": [
            "project"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "project"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 500
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "description": "Other properties to set",
      "options": [
        {
          "displayName": "Archived",
          "name": "archived",
          "type": "boolean",
          "default": false,
          "description": "Whether to only return projects whose archived field takes on the value of this parameter"
        },
        {
          "displayName": "Teams Name or ID",
          "name": "team",
          "type": "options",
          "typeOptions": {
            "loadOptionsDependsOn": [
              "workspace"
            ],
            "loadOptionsMethod": "getTeams"
          },
          "default": "",
          "description": "The new name of the task. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "project"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Workspace Name or ID",
      "name": "workspace",
      "type": "options",
      "default": "",
      "description": "The workspace in which to get users. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "options": [],
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "update"
          ],
          "resource": [
            "project"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getWorkspaces"
      }
    },
    {
      "displayName": "Project ID",
      "name": "id",
      "type": "string",
      "default": "",
      "description": "The ID of the project to update the data of",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "update"
          ],
          "resource": [
            "project"
          ]
        }
      }
    },
    {
      "displayName": "Update Fields",
      "name": "updateFields",
      "type": "collection",
      "default": {},
      "description": "Other properties to set",
      "options": [
        {
          "displayName": "Color",
          "name": "color",
          "type": "options",
          "options": [
            {
              "name": "dark-blue",
              "value": "dark-blue"
            },
            {
              "name": "dark-brown",
              "value": "dark-brown"
            },
            {
              "name": "dark-green",
              "value": "dark-green"
            },
            {
              "name": "dark-orange",
              "value": "dark-orange"
            },
            {
              "name": "dark-pink",
              "value": "dark-pink"
            },
            {
              "name": "dark-purple",
              "value": "dark-purple"
            },
            {
              "name": "dark-red",
              "value": "dark-red"
            },
            {
              "name": "dark-teal",
              "value": "dark-teal"
            },
            {
              "name": "dark-warm-gray",
              "value": "dark-warm-gray"
            },
            {
              "name": "light-blue",
              "value": "light-blue"
            },
            {
              "name": "light-green",
              "value": "light-green"
            },
            {
              "name": "light-orange",
              "value": "light-orange"
            },
            {
              "name": "light-pink",
              "value": "light-pink"
            },
            {
              "name": "light-purple",
              "value": "light-purple"
            },
            {
              "name": "light-red",
              "value": "light-red"
            },
            {
              "name": "light-teal",
              "value": "light-teal"
            },
            {
              "name": "light-warm-gray",
              "value": "light-warm-gray"
            },
            {
              "name": "light-yellow",
              "value": "light-yellow"
            },
            {
              "name": "none",
              "value": "none"
            }
          ],
          "default": "none",
          "description": "Color of the project"
        },
        {
          "displayName": "Due On",
          "name": "due_on",
          "type": "dateTime",
          "default": "",
          "description": "The day on which this project is due. This takes a date with format YYYY-MM-DD."
        },
        {
          "displayName": "Name",
          "name": "name",
          "type": "string",
          "default": "",
          "description": "The name of the project"
        },
        {
          "displayName": "Notes",
          "name": "notes",
          "type": "string",
          "default": "",
          "description": "Basic description or notes for the project"
        },
        {
          "displayName": "Owner",
          "name": "owner",
          "type": "string",
          "default": "",
          "description": "The new assignee/cardinal for this project"
        },
        {
          "displayName": "Privacy Setting",
          "name": "privacy_setting",
          "type": "options",
          "options": [
            {
              "name": "Private",
              "value": "private"
            },
            {
              "name": "Private to Team",
              "value": "private_to_team"
            },
            {
              "name": "Public to Workspace",
              "value": "public_to_workspace"
            }
          ],
          "default": "private",
          "description": "The privacy setting of the project"
        },
        {
          "displayName": "Team Name or ID",
          "name": "team",
          "type": "options",
          "typeOptions": {
            "loadOptionsDependsOn": [
              "workspace"
            ],
            "loadOptionsMethod": "getTeams"
          },
          "default": "",
          "description": "The team this project will be assigned to. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "project"
          ],
          "operation": [
            "update"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "create",
      "name": "Create",
      "description": "Create a subtask",
      "resource": "subtask"
    },
    {
      "operation": "getAll",
      "name": "Get Many",
      "description": "Get many subtasks",
      "resource": "subtask"
    },
    {
      "operation": "create",
      "name": "Create",
      "description": "Create a task",
      "resource": "task"
    },
    {
      "operation": "delete",
      "name": "Delete",
      "description": "Delete a task",
      "resource": "task"
    },
    {
      "operation": "get",
      "name": "Get",
      "description": "Get a task",
      "resource": "task"
    },
    {
      "operation": "getAll",
      "name": "Get Many",
      "description": "Get many tasks",
      "resource": "task"
    },
    {
      "operation": "move",
      "name": "Move",
      "description": "Move a task",
      "resource": "task"
    },
    {
      "operation": "search",
      "name": "Search",
      "description": "Search for tasks",
      "resource": "task"
    },
    {
      "operation": "update",
      "name": "Update",
      "description": "Update a task",
      "resource": "task"
    },
    {
      "operation": "add",
      "name": "Add",
      "description": "Add a comment to a task",
      "resource": "taskComment"
    },
    {
      "operation": "remove",
      "name": "Remove",
      "description": "Remove a comment from a task",
      "resource": "taskComment"
    },
    {
      "operation": "add",
      "name": "Add",
      "description": "Add a task to a project",
      "resource": "taskProject"
    },
    {
      "operation": "remove",
      "name": "Remove",
      "description": "Remove a task from a project",
      "resource": "taskProject"
    },
    {
      "operation": "add",
      "name": "Add",
      "description": "Add a tag to a task",
      "resource": "taskTag"
    },
    {
      "operation": "remove",
      "name": "Remove",
      "description": "Remove a tag from a task",
      "resource": "taskTag"
    },
    {
      "operation": "get",
      "name": "Get",
      "description": "Get a user",
      "resource": "user"
    },
    {
      "operation": "getAll",
      "name": "Get Many",
      "description": "Get many users",
      "resource": "user"
    },
    {
      "operation": "create",
      "name": "Create",
      "description": "Create a new project",
      "resource": "project"
    },
    {
      "operation": "delete",
      "name": "Delete",
      "description": "Delete a project",
      "resource": "project"
    },
    {
      "operation": "get",
      "name": "Get",
      "description": "Get a project",
      "resource": "project"
    },
    {
      "operation": "getAll",
      "name": "Get Many",
      "description": "Get many projects",
      "resource": "project"
    },
    {
      "operation": "update",
      "name": "Update",
      "description": "Update a project",
      "resource": "project"
    }
  ]

credentials_required:
  [
    {
      "name": "asanaApi",
      "required": true,
      "displayOptions": {
        "show": {
          "authentication": [
            "accessToken"
          ]
        }
      },
      "testedBy": {
        "request": {
          "method": "GET",
          "url": "/users/me"
        }
      }
    },
    {
      "name": "asanaOAuth2Api",
      "required": true,
      "displayOptions": {
        "show": {
          "authentication": [
            "oAuth2"
          ]
        }
      }
    }
  ]


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

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

  # Asana node

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

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

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

  /// note | Update to 1.22.2 or above
  Due to changes in Asana's API, some operations in this node stopped working on 17th January 2023. Upgrade to n8n 1.22.2 or above.
  ///

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

  ## Operations

  * Project
      * Create a new project
      * Delete a project
      * Get a project
      * Get all projects
      * Update a project
  * Subtask
      * Create a subtask
      * Get all subtasks
  * Task
      * Create a task
      * Delete a task
      * Get a task
      * Get all tasks
      * Move a task
      * Search for tasks
      * Update a task
  * Task Comment
      * Add a comment to a task
      * Remove a comment from a task
  * Task Tag
      * Add a tag to a task
      * Remove a tag from a task
  * Task Project
      * Add a task to a project
      * Remove a task from a project
  * User
      * Get a user
      * Get all users

  ## Templates and examples

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

  --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": "task",
      "options": [
        {
          "name": "Project",
          "value": "project"
        },
        {
          "name": "Subtask",
          "value": "subtask"
        },
        {
          "name": "Task",
          "value": "task"
        },
        {
          "name": "Task Comment",
          "value": "taskComment"
        },
        {
          "name": "Task Project",
          "value": "taskProject"
        },
        {
          "name": "Task Tag",
          "value": "taskTag"
        },
        {
          "name": "User",
          "value": "user"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a subtask",
          "action": "Create a subtask"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many subtasks",
          "action": "Get many subtasks"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "subtask"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Parent Task ID",
      "name": "taskId",
      "type": "string",
      "default": "",
      "description": "The task to operate on",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "subtask"
          ]
        }
      }
    },
    {
      "displayName": "Name",
      "name": "name",
      "type": "string",
      "default": "",
      "description": "The name of the subtask to create",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "subtask"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "otherProperties",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Assignee Name or ID",
          "name": "assignee",
          "type": "options",
          "typeOptions": {
            "loadOptionsMethod": "getUsers"
          },
          "default": "",
          "description": "Set Assignee on the subtask. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        },
        {
          "displayName": "Assignee Status",
          "name": "assignee_status",
          "type": "options",
          "options": [
            {
              "name": "Inbox",
              "value": "inbox"
            },
            {
              "name": "Today",
              "value": "today"
            },
            {
              "name": "Upcoming",
              "value": "upcoming"
            },
            {
              "name": "Later",
              "value": "later"
            }
          ],
          "default": "inbox",
          "description": "Set Assignee status on the subtask (requires Assignee)"
        },
        {
          "displayName": "Completed",
          "name": "completed",
          "type": "boolean",
          "default": false,
          "description": "Whether the subtask should be marked completed"
        },
        {
          "displayName": "Due On",
          "name": "due_on",
          "type": "dateTime",
          "default": "",
          "description": "Date on which the time is due"
        },
        {
          "displayName": "Liked",
          "name": "liked",
          "type": "boolean",
          "default": false,
          "description": "Whether the task is liked by the authorized user"
        },
        {
          "displayName": "Notes",
          "name": "notes",
          "type": "string",
          "typeOptions": {
            "rows": 5
          },
          "default": "",
          "description": "The task notes"
        },
        {
          "displayName": "Workspace Name or ID",
          "name": "workspace",
          "type": "options",
          "typeOptions": {
            "loadOptionsMethod": "getWorkspaces"
          },
          "default": "",
          "description": "The workspace to create the subtask in. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "subtask"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Parent Task ID",
      "name": "taskId",
      "type": "string",
      "default": "",
      "description": "The task to operate on",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "subtask"
          ]
        }
      }
    },
    {
      "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": [
            "subtask"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "subtask"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 500
      }
    },
    {
      "displayName": "Options",
      "name": "options",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Field Names or IDs",
          "name": "opt_fields",
          "type": "multiOptions",
          "typeOptions": {
            "loadOptionsMethod": "getTaskFields"
          },
          "default": [
            "gid",
            "name",
            "resource_type"
          ],
          "description": "Defines fields to return. Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        },
        {
          "displayName": "Pretty",
          "name": "opt_pretty",
          "type": "boolean",
          "default": false,
          "description": "Whether to provide “pretty” output"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "subtask"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a task",
          "action": "Create a task"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a task",
          "action": "Delete a task"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get a task",
          "action": "Get a task"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many tasks",
          "action": "Get many tasks"
        },
        {
          "name": "Move",
          "value": "move",
          "description": "Move a task",
          "action": "Move a task"
        },
        {
          "name": "Search",
          "value": "search",
          "description": "Search for tasks",
          "action": "Search a task"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update a task",
          "action": "Update a task"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "task"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Workspace Name or ID",
      "name": "workspace",
      "type": "options",
      "default": "",
      "description": "The workspace to create the task in. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "options": [],
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "task"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getWorkspaces"
      }
    },
    {
      "displayName": "Name",
      "name": "name",
      "type": "string",
      "default": "",
      "description": "The name of the task to create",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "task"
          ]
        }
      }
    },
    {
      "displayName": "Task ID",
      "name": "id",
      "type": "string",
      "default": "",
      "description": "The ID of the task to delete",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "delete"
          ],
          "resource": [
            "task"
          ]
        }
      }
    },
    {
      "displayName": "Task ID",
      "name": "id",
      "type": "string",
      "default": "",
      "description": "The ID of the task to get the data of",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "get"
          ],
          "resource": [
            "task"
          ]
        }
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "task"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "task"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 500
      }
    },
    {
      "displayName": "Filters",
      "name": "filters",
      "type": "collection",
      "default": {},
      "description": "Properties to search for",
      "options": [
        {
          "displayName": "Assignee Name or ID",
          "name": "assignee",
          "type": "options",
          "typeOptions": {
            "loadOptionsMethod": "getUsers"
          },
          "default": "",
          "description": "The assignee to filter tasks on. Note: If you specify assignee, you must also specify the workspace to filter on. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        },
        {
          "displayName": "Field Names or IDs",
          "name": "opt_fields",
          "type": "multiOptions",
          "typeOptions": {
            "loadOptionsMethod": "getTaskFields"
          },
          "default": [
            "gid",
            "name",
            "resource_type"
          ],
          "description": "Defines fields to return. Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        },
        {
          "displayName": "Pretty",
          "name": "opt_pretty",
          "type": "boolean",
          "default": false,
          "description": "Whether to provide “pretty” output"
        },
        {
          "displayName": "Project Name or ID",
          "name": "project",
          "type": "options",
          "typeOptions": {
            "loadOptionsMethod": "getProjects"
          },
          "default": "",
          "description": "The project to filter tasks on. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        },
        {
          "displayName": "Section Name or ID",
          "name": "section",
          "type": "options",
          "typeOptions": {
            "loadOptionsMethod": "getSections"
          },
          "default": "",
          "description": "The section to filter tasks on. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        },
        {
          "displayName": "Workspace Name or ID",
          "name": "workspace",
          "type": "options",
          "typeOptions": {
            "loadOptionsMethod": "getWorkspaces"
          },
          "default": "",
          "description": "The workspace to filter tasks on. Note: If you specify workspace, you must also specify the assignee to filter on. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        },
        {
          "displayName": "Completed Since",
          "name": "completed_since",
          "type": "dateTime",
          "default": "",
          "description": "Only return tasks that are either incomplete or that have been completed since this time"
        },
        {
          "displayName": "Modified Since",
          "name": "modified_since",
          "type": "dateTime",
          "default": "",
          "description": "Only return tasks that have been modified since the given time"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "task"
          ]
        }
      }
    },
    {
      "displayName": "Task ID",
      "name": "id",
      "type": "string",
      "default": "",
      "description": "The ID of the task to be moved",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "move"
          ],
          "resource": [
            "task"
          ]
        }
      }
    },
    {
      "displayName": "Project Name or ID",
      "name": "projectId",
      "type": "options",
      "default": "",
      "description": "Project to show the sections of. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "options": [],
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "move"
          ],
          "resource": [
            "task"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getProjects"
      }
    },
    {
      "displayName": "Section Name or ID",
      "name": "section",
      "type": "options",
      "default": "",
      "description": "The Section to move the task to. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "options": [],
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "move"
          ],
          "resource": [
            "task"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "projectId"
        ],
        "loadOptionsMethod": "getSections"
      }
    },
    {
      "displayName": "Task ID",
      "name": "id",
      "type": "string",
      "default": "",
      "description": "The ID of the task to update the data of",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "update"
          ],
          "resource": [
            "task"
          ]
        }
      }
    },
    {
      "displayName": "Workspace Name or ID",
      "name": "workspace",
      "type": "options",
      "default": "",
      "description": "The workspace in which the task is searched. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "options": [],
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "search"
          ],
          "resource": [
            "task"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getWorkspaces"
      }
    },
    {
      "displayName": "Filters",
      "name": "searchTaskProperties",
      "type": "collection",
      "default": {},
      "description": "Properties to search for",
      "options": [
        {
          "displayName": "Completed",
          "name": "completed",
          "type": "boolean",
          "default": false,
          "description": "Whether the task is marked completed"
        },
        {
          "displayName": "Text",
          "name": "text",
          "type": "string",
          "typeOptions": {
            "rows": 5
          },
          "default": "",
          "description": "Text to search for in name or notes"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "search"
          ],
          "resource": [
            "task"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "otherProperties",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Assignee Name or ID",
          "name": "assignee",
          "type": "options",
          "typeOptions": {
            "loadOptionsMethod": "getUsers"
          },
          "default": "",
          "description": "Set Assignee on the task. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        },
        {
          "displayName": "Assignee Status",
          "name": "assignee_status",
          "type": "options",
          "options": [
            {
              "name": "Inbox",
              "value": "inbox"
            },
            {
              "name": "Today",
              "value": "today"
            },
            {
              "name": "Upcoming",
              "value": "upcoming"
            },
            {
              "name": "Later",
              "value": "later"
            }
          ],
          "default": "inbox",
          "description": "Set Assignee status on the task (requires Assignee)"
        },
        {
          "displayName": "Completed",
          "name": "completed",
          "type": "boolean",
          "default": false,
          "description": "Whether the task should be marked completed"
        },
        {
          "displayName": "Due On",
          "name": "due_on",
          "type": "dateTime",
          "default": "",
          "description": "Date on which the time is due"
        },
        {
          "displayName": "Name",
          "name": "name",
          "type": "string",
          "default": "",
          "displayOptions": {
            "show": {
              "/operation": [
                "update"
              ]
            }
          },
          "description": "The new name of the task"
        },
        {
          "displayName": "Liked",
          "name": "liked",
          "type": "boolean",
          "default": false,
          "description": "Whether the task is liked by the authorized user"
        },
        {
          "displayName": "Notes",
          "name": "notes",
          "type": "string",
          "typeOptions": {
            "rows": 5
          },
          "default": "",
          "description": "The task notes"
        },
        {
          "displayName": "Project Names or IDs",
          "name": "projects",
          "type": "multiOptions",
          "typeOptions": {
            "loadOptionsMethod": "getProjects"
          },
          "default": [],
          "description": "The project to filter tasks on. Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "task"
          ],
          "operation": [
            "create",
            "update"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "add",
      "options": [
        {
          "name": "Add",
          "value": "add",
          "description": "Add a comment to a task",
          "action": "Add a task comment"
        },
        {
          "name": "Remove",
          "value": "remove",
          "description": "Remove a comment from a task",
          "action": "Remove a task comment"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "taskComment"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Task ID",
      "name": "id",
      "type": "string",
      "default": "",
      "description": "The ID of the task to add the comment to",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "add"
          ],
          "resource": [
            "taskComment"
          ]
        }
      }
    },
    {
      "displayName": "Is Text HTML",
      "name": "isTextHtml",
      "type": "boolean",
      "default": false,
      "description": "Whether body is HTML or simple text",
      "displayOptions": {
        "show": {
          "operation": [
            "add"
          ],
          "resource": [
            "taskComment"
          ]
        }
      }
    },
    {
      "displayName": "Text",
      "name": "text",
      "type": "string",
      "default": "",
      "description": "The plain text of the comment to add",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "add"
          ],
          "resource": [
            "taskComment"
          ],
          "isTextHtml": [
            false
          ]
        }
      }
    },
    {
      "displayName": "HTML Text",
      "name": "text",
      "type": "string",
      "default": "",
      "description": "Comment as HTML string. Do not use together with plain text.",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "add"
          ],
          "resource": [
            "taskComment"
          ],
          "isTextHtml": [
            true
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "description": "Properties of the task comment",
      "options": [
        {
          "displayName": "Pinned",
          "name": "is_pinned",
          "type": "boolean",
          "default": false,
          "description": "Whether to pin the comment"
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "add"
          ],
          "resource": [
            "taskComment"
          ]
        }
      }
    },
    {
      "displayName": "Comment ID",
      "name": "id",
      "type": "string",
      "default": "",
      "description": "The ID of the comment to be removed",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "remove"
          ],
          "resource": [
            "taskComment"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "add",
      "options": [
        {
          "name": "Add",
          "value": "add",
          "description": "Add a task to a project",
          "action": "Add a task project"
        },
        {
          "name": "Remove",
          "value": "remove",
          "description": "Remove a task from a project",
          "action": "Remove a task project"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "taskProject"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Task ID",
      "name": "id",
      "type": "string",
      "default": "",
      "description": "The ID of the task to add the project to",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "add"
          ],
          "resource": [
            "taskProject"
          ]
        }
      }
    },
    {
      "displayName": "Project Name or ID",
      "name": "project",
      "type": "options",
      "default": "",
      "description": "The project where the task will be added. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "add"
          ],
          "resource": [
            "taskProject"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getProjects"
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "description": "Other properties to set",
      "options": [
        {
          "displayName": "Insert After",
          "name": "insert_after",
          "type": "string",
          "default": "",
          "description": "A task in the project to insert the task after, or null to insert at the beginning of the list"
        },
        {
          "displayName": "Insert Before",
          "name": "insert_before",
          "type": "string",
          "default": "",
          "description": "A task in the project to insert the task before, or null to insert at the end of the list"
        },
        {
          "displayName": "Section",
          "name": "section",
          "type": "string",
          "default": "",
          "description": "A section in the project to insert the task into. The task will be inserted at the bottom of the section."
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "taskProject"
          ],
          "operation": [
            "add"
          ]
        }
      }
    },
    {
      "displayName": "Task ID",
      "name": "id",
      "type": "string",
      "default": "",
      "description": "The ID of the task to add the project to",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "remove"
          ],
          "resource": [
            "taskProject"
          ]
        }
      }
    },
    {
      "displayName": "Project Name or ID",
      "name": "project",
      "type": "options",
      "default": "",
      "description": "The project where the task will be removed from. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "remove"
          ],
          "resource": [
            "taskProject"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getProjects"
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "add",
      "options": [
        {
          "name": "Add",
          "value": "add",
          "description": "Add a tag to a task",
          "action": "Add a task tag"
        },
        {
          "name": "Remove",
          "value": "remove",
          "description": "Remove a tag from a task",
          "action": "Remove a task tag"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "taskTag"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Task ID",
      "name": "id",
      "type": "string",
      "default": "",
      "description": "The ID of the task to add the tag to",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "add"
          ],
          "resource": [
            "taskTag"
          ]
        }
      }
    },
    {
      "displayName": "Tags Name or ID",
      "name": "tag",
      "type": "options",
      "default": "",
      "description": "The tag that should be added. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "add"
          ],
          "resource": [
            "taskTag"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "id"
        ],
        "loadOptionsMethod": "getTags"
      }
    },
    {
      "displayName": "Task ID",
      "name": "id",
      "type": "string",
      "default": "",
      "description": "The ID of the task to add the tag to",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "remove"
          ],
          "resource": [
            "taskTag"
          ]
        }
      }
    },
    {
      "displayName": "Tags Name or ID",
      "name": "tag",
      "type": "options",
      "default": "",
      "description": "The tag that should be added. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "remove"
          ],
          "resource": [
            "taskTag"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "id"
        ],
        "loadOptionsMethod": "getTags"
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "description": "Get a user",
          "action": "Get a user"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many users",
          "action": "Get many users"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "User ID",
      "name": "userId",
      "type": "string",
      "default": "",
      "description": "An identifier for the user to get data of. Can be one of an email address,the globally unique identifier for the user, or the keyword me to indicate the current user making the request.",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "get"
          ],
          "resource": [
            "user"
          ]
        }
      }
    },
    {
      "displayName": "Workspace Name or ID",
      "name": "workspace",
      "type": "options",
      "default": "",
      "description": "The workspace in which to get users. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "options": [],
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "user"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getWorkspaces"
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a new project",
          "action": "Create a project"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a project",
          "action": "Delete a project"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get a project",
          "action": "Get a project"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many projects",
          "action": "Get many projects"
        },
        {
          "name": "Update",
          "value": "update",
          "description": "Update a project",
          "action": "Update a project"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "project"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Name",
      "name": "name",
      "type": "string",
      "default": "",
      "description": "The name of the project to create",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "project"
          ]
        }
      }
    },
    {
      "displayName": "Workspace Name or ID",
      "name": "workspace",
      "type": "options",
      "default": "",
      "description": "The workspace to create the project in. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "project"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getWorkspaces"
      }
    },
    {
      "displayName": "Team Name or ID",
      "name": "team",
      "type": "options",
      "default": "",
      "description": "The team this project will be assigned to. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "project"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsDependsOn": [
          "workspace"
        ],
        "loadOptionsMethod": "getTeams"
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "description": "Other properties to set",
      "options": [
        {
          "displayName": "Color",
          "name": "color",
          "type": "options",
          "options": [
            {
              "name": "dark-blue",
              "value": "dark-blue"
            },
            {
              "name": "dark-brown",
              "value": "dark-brown"
            },
            {
              "name": "dark-green",
              "value": "dark-green"
            },
            {
              "name": "dark-orange",
              "value": "dark-orange"
            },
            {
              "name": "dark-pink",
              "value": "dark-pink"
            },
            {
              "name": "dark-purple",
              "value": "dark-purple"
            },
            {
              "name": "dark-red",
              "value": "dark-red"
            },
            {
              "name": "dark-teal",
              "value": "dark-teal"
            },
            {
              "name": "dark-warm-gray",
              "value": "dark-warm-gray"
            },
            {
              "name": "light-blue",
              "value": "light-blue"
            },
            {
              "name": "light-green",
              "value": "light-green"
            },
            {
              "name": "light-orange",
              "value": "light-orange"
            },
            {
              "name": "light-pink",
              "value": "light-pink"
            },
            {
              "name": "light-purple",
              "value": "light-purple"
            },
            {
              "name": "light-red",
              "value": "light-red"
            },
            {
              "name": "light-teal",
              "value": "light-teal"
            },
            {
              "name": "light-warm-gray",
              "value": "light-warm-gray"
            },
            {
              "name": "light-yellow",
              "value": "light-yellow"
            },
            {
              "name": "none",
              "value": "none"
            }
          ],
          "default": "none",
          "description": "Color of the project"
        },
        {
          "displayName": "Due On",
          "name": "due_on",
          "type": "dateTime",
          "default": "",
          "description": "The day on which this project is due. This takes a date with format YYYY-MM-DD."
        },
        {
          "displayName": "Notes",
          "name": "notes",
          "type": "string",
          "default": "",
          "description": "Basic description or notes for the project"
        },
        {
          "displayName": "Privacy Setting",
          "name": "privacy_setting",
          "type": "options",
          "options": [
            {
              "name": "Private",
              "value": "private"
            },
            {
              "name": "Private to Team",
              "value": "private_to_team"
            },
            {
              "name": "Public to Workspace",
              "value": "public_to_workspace"
            }
          ],
          "default": "private",
          "description": "The privacy setting of the project"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "project"
          ],
          "operation": [
            "create"
          ]
        }
      }
    },
    {
      "displayName": "Project ID",
      "name": "id",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "delete"
          ],
          "resource": [
            "project"
          ]
        }
      }
    },
    {
      "displayName": "Project ID",
      "name": "id",
      "type": "string",
      "default": "",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "get"
          ],
          "resource": [
            "project"
          ]
        }
      }
    },
    {
      "displayName": "Workspace Name or ID",
      "name": "workspace",
      "type": "options",
      "default": "",
      "description": "The workspace in which to get users. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "options": [],
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "project"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getWorkspaces"
      }
    },
    {
      "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": [
            "project"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "project"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 500
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "description": "Other properties to set",
      "options": [
        {
          "displayName": "Archived",
          "name": "archived",
          "type": "boolean",
          "default": false,
          "description": "Whether to only return projects whose archived field takes on the value of this parameter"
        },
        {
          "displayName": "Teams Name or ID",
          "name": "team",
          "type": "options",
          "typeOptions": {
            "loadOptionsDependsOn": [
              "workspace"
            ],
            "loadOptionsMethod": "getTeams"
          },
          "default": "",
          "description": "The new name of the task. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "project"
          ],
          "operation": [
            "getAll"
          ]
        }
      }
    },
    {
      "displayName": "Workspace Name or ID",
      "name": "workspace",
      "type": "options",
      "default": "",
      "description": "The workspace in which to get users. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "options": [],
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "update"
          ],
          "resource": [
            "project"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getWorkspaces"
      }
    },
    {
      "displayName": "Project ID",
      "name": "id",
      "type": "string",
      "default": "",
      "description": "The ID of the project to update the data of",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "update"
          ],
          "resource": [
            "project"
          ]
        }
      }
    },
    {
      "displayName": "Update Fields",
      "name": "updateFields",
      "type": "collection",
      "default": {},
      "description": "Other properties to set",
      "options": [
        {
          "displayName": "Color",
          "name": "color",
          "type": "options",
          "options": [
            {
              "name": "dark-blue",
              "value": "dark-blue"
            },
            {
              "name": "dark-brown",
              "value": "dark-brown"
            },
            {
              "name": "dark-green",
              "value": "dark-green"
            },
            {
              "name": "dark-orange",
              "value": "dark-orange"
            },
            {
              "name": "dark-pink",
              "value": "dark-pink"
            },
            {
              "name": "dark-purple",
              "value": "dark-purple"
            },
            {
              "name": "dark-red",
              "value": "dark-red"
            },
            {
              "name": "dark-teal",
              "value": "dark-teal"
            },
            {
              "name": "dark-warm-gray",
              "value": "dark-warm-gray"
            },
            {
              "name": "light-blue",
              "value": "light-blue"
            },
            {
              "name": "light-green",
              "value": "light-green"
            },
            {
              "name": "light-orange",
              "value": "light-orange"
            },
            {
              "name": "light-pink",
              "value": "light-pink"
            },
            {
              "name": "light-purple",
              "value": "light-purple"
            },
            {
              "name": "light-red",
              "value": "light-red"
            },
            {
              "name": "light-teal",
              "value": "light-teal"
            },
            {
              "name": "light-warm-gray",
              "value": "light-warm-gray"
            },
            {
              "name": "light-yellow",
              "value": "light-yellow"
            },
            {
              "name": "none",
              "value": "none"
            }
          ],
          "default": "none",
          "description": "Color of the project"
        },
        {
          "displayName": "Due On",
          "name": "due_on",
          "type": "dateTime",
          "default": "",
          "description": "The day on which this project is due. This takes a date with format YYYY-MM-DD."
        },
        {
          "displayName": "Name",
          "name": "name",
          "type": "string",
          "default": "",
          "description": "The name of the project"
        },
        {
          "displayName": "Notes",
          "name": "notes",
          "type": "string",
          "default": "",
          "description": "Basic description or notes for the project"
        },
        {
          "displayName": "Owner",
          "name": "owner",
          "type": "string",
          "default": "",
          "description": "The new assignee/cardinal for this project"
        },
        {
          "displayName": "Privacy Setting",
          "name": "privacy_setting",
          "type": "options",
          "options": [
            {
              "name": "Private",
              "value": "private"
            },
            {
              "name": "Private to Team",
              "value": "private_to_team"
            },
            {
              "name": "Public to Workspace",
              "value": "public_to_workspace"
            }
          ],
          "default": "private",
          "description": "The privacy setting of the project"
        },
        {
          "displayName": "Team Name or ID",
          "name": "team",
          "type": "options",
          "typeOptions": {
            "loadOptionsDependsOn": [
              "workspace"
            ],
            "loadOptionsMethod": "getTeams"
          },
          "default": "",
          "description": "The team this project will be assigned to. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "project"
          ],
          "operation": [
            "update"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "operation": "create",
      "name": "Create",
      "description": "Create a subtask",
      "resource": "subtask"
    },
    {
      "operation": "getAll",
      "name": "Get Many",
      "description": "Get many subtasks",
      "resource": "subtask"
    },
    {
      "operation": "create",
      "name": "Create",
      "description": "Create a task",
      "resource": "task"
    },
    {
      "operation": "delete",
      "name": "Delete",
      "description": "Delete a task",
      "resource": "task"
    },
    {
      "operation": "get",
      "name": "Get",
      "description": "Get a task",
      "resource": "task"
    },
    {
      "operation": "getAll",
      "name": "Get Many",
      "description": "Get many tasks",
      "resource": "task"
    },
    {
      "operation": "move",
      "name": "Move",
      "description": "Move a task",
      "resource": "task"
    },
    {
      "operation": "search",
      "name": "Search",
      "description": "Search for tasks",
      "resource": "task"
    },
    {
      "operation": "update",
      "name": "Update",
      "description": "Update a task",
      "resource": "task"
    },
    {
      "operation": "add",
      "name": "Add",
      "description": "Add a comment to a task",
      "resource": "taskComment"
    },
    {
      "operation": "remove",
      "name": "Remove",
      "description": "Remove a comment from a task",
      "resource": "taskComment"
    },
    {
      "operation": "add",
      "name": "Add",
      "description": "Add a task to a project",
      "resource": "taskProject"
    },
    {
      "operation": "remove",
      "name": "Remove",
      "description": "Remove a task from a project",
      "resource": "taskProject"
    },
    {
      "operation": "add",
      "name": "Add",
      "description": "Add a tag to a task",
      "resource": "taskTag"
    },
    {
      "operation": "remove",
      "name": "Remove",
      "description": "Remove a tag from a task",
      "resource": "taskTag"
    },
    {
      "operation": "get",
      "name": "Get",
      "description": "Get a user",
      "resource": "user"
    },
    {
      "operation": "getAll",
      "name": "Get Many",
      "description": "Get many users",
      "resource": "user"
    },
    {
      "operation": "create",
      "name": "Create",
      "description": "Create a new project",
      "resource": "project"
    },
    {
      "operation": "delete",
      "name": "Delete",
      "description": "Delete a project",
      "resource": "project"
    },
    {
      "operation": "get",
      "name": "Get",
      "description": "Get a project",
      "resource": "project"
    },
    {
      "operation": "getAll",
      "name": "Get Many",
      "description": "Get many projects",
      "resource": "project"
    },
    {
      "operation": "update",
      "name": "Update",
      "description": "Update a project",
      "resource": "project"
    }
  ]

credentials_required:
  [
    {
      "name": "asanaApi",
      "required": true,
      "displayOptions": {
        "show": {
          "authentication": [
            "accessToken"
          ]
        }
      },
      "testedBy": {
        "request": {
          "method": "GET",
          "url": "/users/me"
        }
      }
    },
    {
      "name": "asanaOAuth2Api",
      "required": true,
      "displayOptions": {
        "show": {
          "authentication": [
            "oAuth2"
          ]
        }
      }
    }
  ]


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

updated_at: 2026-07-16 12:10:22
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Asana Trigger node documentation
  description: Learn how to use the Asana Trigger node in n8n. Follow technical documentation to integrate Asana Trigger node into your workflows.
  contentType: [integration, reference]
  ---

  # Asana Trigger node

  [Asana](https://asana.com/){:target=_blank .external-link} is a web and mobile application designed to help teams organize, track, and manage their work.

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

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

properties_schema:
  [
    {
      "displayName": "Authentication",
      "name": "authentication",
      "type": "options",
      "default": "accessToken",
      "options": [
        {
          "name": "Access Token",
          "value": "accessToken"
        },
        {
          "name": "OAuth2",
          "value": "oAuth2"
        }
      ]
    },
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "string",
      "default": "",
      "description": "The resource ID to subscribe to. The resource can be a task or project.",
      "required": true
    },
    {
      "displayName": "Workspace Name or ID",
      "name": "workspace",
      "type": "options",
      "default": "",
      "description": "The workspace ID the resource is registered under. This is only required if you want to allow overriding existing webhooks. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "options": [],
      "typeOptions": {
        "loadOptionsMethod": "getWorkspaces"
      }
    }
  ]

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


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

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

output_names:
  [
  "Tool"
  ]

updated_at: 2026-07-16 12:10:22
tool_variant_of: nodes-base.autopilot
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Autopilot node documentation
  description: Learn how to use the Autopilot node in n8n. Follow technical documentation to integrate Autopilot node into your workflows.
  contentType: [integration, reference]
  ---

  # Autopilot node

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

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

  /// warning | Autopilot branding change
  Autopilot has become Ortto. The Autopilot credentials and nodes are only compatible with Autopilot, not the new Ortto API.
  ///
  /// note | Credentials
  Refer to [Autopilot credentials](/integrations/builtin/credentials/autopilot.md) for guidance on setting up authentication. 
  ///

  ## Operations

  * Contact
      * Create/Update a contact
      * Delete a contact
      * Get a contact
      * Get all contacts
  * Contact Journey
      * Add contact to list
  * Contact List
      * Add contact to list
      * Check if contact is on list
      * Get all contacts on list
      * Remove a contact from a list
  * List
      * Create a list
      * Get all lists

  ## Templates and examples

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

properties_schema:
  [
    {
      "displayName": "Tool Description",
      "name": "toolDescription",
      "type": "string",
      "default": "",
      "required": false,
      "description": "Description for the AI to understand what this tool does and when to use it",
      "typeOptions": {
        "rows": 3
      },
      "placeholder": "e.g., Use this tool to interact with Autopilot"
    },
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "contact",
      "options": [
        {
          "name": "Contact",
          "value": "contact"
        },
        {
          "name": "Contact Journey",
          "value": "contactJourney"
        },
        {
          "name": "Contact List",
          "value": "contactList"
        },
        {
          "name": "List",
          "value": "list"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "upsert",
      "options": [
        {
          "name": "Create or Update",
          "value": "upsert",
          "description": "Create a new contact, or update the current one if it already exists (upsert)",
          "action": "Create or Update a contact"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a contact",
          "action": "Delete a contact"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get a contact",
          "action": "Get a contact"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many contacts",
          "action": "Get many contacts"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Email",
      "name": "email",
      "type": "string",
      "default": "",
      "description": "Email address of the contact",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "upsert"
          ],
          "resource": [
            "contact"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Company",
          "name": "Company",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Custom Fields",
          "name": "customFieldsUi",
          "type": "fixedCollection",
          "default": {},
          "placeholder": "Add Custom Field",
          "typeOptions": {
            "multipleValues": true,
            "loadOptionsMethod": "getCustomFields"
          },
          "options": [
            {
              "name": "customFieldsValues",
              "displayName": "Custom Field",
              "values": [
                {
                  "displayName": "Key Name or ID",
                  "name": "key",
                  "type": "options",
                  "typeOptions": {
                    "loadOptionsMethod": "getCustomFields"
                  },
                  "description": "User-specified key of user-defined data. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
                  "default": ""
                },
                {
                  "displayName": "Value",
                  "name": "value",
                  "type": "string",
                  "description": "User-specified value of user-defined data",
                  "default": ""
                }
              ]
            }
          ]
        },
        {
          "displayName": "Fax",
          "name": "Fax",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "First Name",
          "name": "FirstName",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Industry",
          "name": "Industry",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Last Name",
          "name": "LastName",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Lead Source",
          "name": "LeadSource",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "LinkedIn URL",
          "name": "LinkedIn",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "List Name or ID",
          "name": "autopilotList",
          "type": "options",
          "typeOptions": {
            "loadOptionsMethod": "getLists"
          },
          "default": "",
          "description": "List to which this contact will be added on creation. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        },
        {
          "displayName": "Mailing Country",
          "name": "MailingCountry",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Mailing Postal Code",
          "name": "MailingPostalCode",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Mailing State",
          "name": "MailingState",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Mailing Street",
          "name": "MailingStreet",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Mailing City",
          "name": "MailingCity",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Mobile Phone",
          "name": "MobilePhone",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "New Email",
          "name": "newEmail",
          "type": "string",
          "default": "",
          "description": "If provided, will change the email address of the contact identified by the Email field"
        },
        {
          "displayName": "Notify",
          "name": "notify",
          "type": "boolean",
          "default": true,
          "description": "By default Autopilot notifies registered REST hook endpoints for contact_added/contact_updated events when a new contact is added or an existing contact is updated via API. Disable to skip notifications."
        },
        {
          "displayName": "Number of Employees",
          "name": "NumberOfEmployees",
          "type": "number",
          "default": 0
        },
        {
          "displayName": "Owner Name",
          "name": "owner_name",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Phone",
          "name": "Phone",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Salutation",
          "name": "Salutation",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Session ID",
          "name": "autopilotSessionId",
          "type": "string",
          "default": "",
          "description": "Used to associate a contact with a session"
        },
        {
          "displayName": "Status",
          "name": "Status",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Title",
          "name": "Title",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Subscribe",
          "name": "unsubscribed",
          "type": "boolean",
          "default": false,
          "description": "Whether to subscribe or un-subscribe a contact"
        },
        {
          "displayName": "Website URL",
          "name": "Website",
          "type": "string",
          "default": ""
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "upsert"
          ],
          "resource": [
            "contact"
          ]
        }
      }
    },
    {
      "displayName": "Contact ID",
      "name": "contactId",
      "type": "string",
      "default": "",
      "description": "Can be ID or email",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "delete"
          ],
          "resource": [
            "contact"
          ]
        }
      }
    },
    {
      "displayName": "Contact ID",
      "name": "contactId",
      "type": "string",
      "default": "",
      "description": "Can be ID or email",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "get"
          ],
          "resource": [
            "contact"
          ]
        }
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "contact"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "contact"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 500
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "add",
      "options": [
        {
          "name": "Add",
          "value": "add",
          "description": "Add contact to list",
          "action": "Add a contact journey"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "contactJourney"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Trigger Name or ID",
      "name": "triggerId",
      "type": "options",
      "default": "",
      "description": "List ID. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "add"
          ],
          "resource": [
            "contactJourney"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getTriggers"
      }
    },
    {
      "displayName": "Contact ID",
      "name": "contactId",
      "type": "string",
      "default": "",
      "description": "Can be ID or email",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "add"
          ],
          "resource": [
            "contactJourney"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "add",
      "options": [
        {
          "name": "Add",
          "value": "add",
          "description": "Add contact to list",
          "action": "Add a contact to a list"
        },
        {
          "name": "Exist",
          "value": "exist",
          "description": "Check if contact is on list",
          "action": "Check if a contact list exists"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many contacts from a list",
          "action": "Get many contact lists"
        },
        {
          "name": "Remove",
          "value": "remove",
          "description": "Remove a contact from a list",
          "action": "Remove a contact from a list"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "contactList"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "List Name or ID",
      "name": "listId",
      "type": "options",
      "default": "",
      "description": "ID of the list to operate on. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "add",
            "remove",
            "exist",
            "getAll"
          ],
          "resource": [
            "contactList"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getLists"
      }
    },
    {
      "displayName": "Contact ID",
      "name": "contactId",
      "type": "string",
      "default": "",
      "description": "Can be ID or email",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "add",
            "remove",
            "exist"
          ],
          "resource": [
            "contactList"
          ]
        }
      }
    },
    {
      "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": [
            "contactList"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "contactList"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 500
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a list",
          "action": "Create a list"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many lists",
          "action": "Get many lists"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "list"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Name",
      "name": "name",
      "type": "string",
      "default": "",
      "description": "Name of the list to create",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "list"
          ]
        }
      }
    },
    {
      "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": [
            "list"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "list"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 500
      }
    }
  ]

operations:
  [
    {
      "operation": "upsert",
      "name": "Create or Update",
      "description": "Create a new contact, or update the current one if it already exists (upsert)",
      "resource": "contact"
    },
    {
      "operation": "delete",
      "name": "Delete",
      "description": "Delete a contact",
      "resource": "contact"
    },
    {
      "operation": "get",
      "name": "Get",
      "description": "Get a contact",
      "resource": "contact"
    },
    {
      "operation": "getAll",
      "name": "Get Many",
      "description": "Get many contacts",
      "resource": "contact"
    },
    {
      "operation": "add",
      "name": "Add",
      "description": "Add contact to list",
      "resource": "contactJourney"
    },
    {
      "operation": "add",
      "name": "Add",
      "description": "Add contact to list",
      "resource": "contactList"
    },
    {
      "operation": "exist",
      "name": "Exist",
      "description": "Check if contact is on list",
      "resource": "contactList"
    },
    {
      "operation": "getAll",
      "name": "Get Many",
      "description": "Get many contacts from a list",
      "resource": "contactList"
    },
    {
      "operation": "remove",
      "name": "Remove",
      "description": "Remove a contact from a list",
      "resource": "contactList"
    },
    {
      "operation": "create",
      "name": "Create",
      "description": "Create a list",
      "resource": "list"
    },
    {
      "operation": "getAll",
      "name": "Get Many",
      "description": "Get many lists",
      "resource": "list"
    }
  ]


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

outputs:
  [
  "main"
  ]

updated_at: 2026-07-16 12:10:22
documentation:
  ---
  #https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
  title: Autopilot node documentation
  description: Learn how to use the Autopilot node in n8n. Follow technical documentation to integrate Autopilot node into your workflows.
  contentType: [integration, reference]
  ---

  # Autopilot node

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

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

  /// warning | Autopilot branding change
  Autopilot has become Ortto. The Autopilot credentials and nodes are only compatible with Autopilot, not the new Ortto API.
  ///
  /// note | Credentials
  Refer to [Autopilot credentials](/integrations/builtin/credentials/autopilot.md) for guidance on setting up authentication. 
  ///

  ## Operations

  * Contact
      * Create/Update a contact
      * Delete a contact
      * Get a contact
      * Get all contacts
  * Contact Journey
      * Add contact to list
  * Contact List
      * Add contact to list
      * Check if contact is on list
      * Get all contacts on list
      * Remove a contact from a list
  * List
      * Create a list
      * Get all lists

  ## Templates and examples

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

properties_schema:
  [
    {
      "displayName": "Resource",
      "name": "resource",
      "type": "options",
      "default": "contact",
      "options": [
        {
          "name": "Contact",
          "value": "contact"
        },
        {
          "name": "Contact Journey",
          "value": "contactJourney"
        },
        {
          "name": "Contact List",
          "value": "contactList"
        },
        {
          "name": "List",
          "value": "list"
        }
      ],
      "noDataExpression": true
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "upsert",
      "options": [
        {
          "name": "Create or Update",
          "value": "upsert",
          "description": "Create a new contact, or update the current one if it already exists (upsert)",
          "action": "Create or Update a contact"
        },
        {
          "name": "Delete",
          "value": "delete",
          "description": "Delete a contact",
          "action": "Delete a contact"
        },
        {
          "name": "Get",
          "value": "get",
          "description": "Get a contact",
          "action": "Get a contact"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many contacts",
          "action": "Get many contacts"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Email",
      "name": "email",
      "type": "string",
      "default": "",
      "description": "Email address of the contact",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "upsert"
          ],
          "resource": [
            "contact"
          ]
        }
      }
    },
    {
      "displayName": "Additional Fields",
      "name": "additionalFields",
      "type": "collection",
      "default": {},
      "options": [
        {
          "displayName": "Company",
          "name": "Company",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Custom Fields",
          "name": "customFieldsUi",
          "type": "fixedCollection",
          "default": {},
          "placeholder": "Add Custom Field",
          "typeOptions": {
            "multipleValues": true,
            "loadOptionsMethod": "getCustomFields"
          },
          "options": [
            {
              "name": "customFieldsValues",
              "displayName": "Custom Field",
              "values": [
                {
                  "displayName": "Key Name or ID",
                  "name": "key",
                  "type": "options",
                  "typeOptions": {
                    "loadOptionsMethod": "getCustomFields"
                  },
                  "description": "User-specified key of user-defined data. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
                  "default": ""
                },
                {
                  "displayName": "Value",
                  "name": "value",
                  "type": "string",
                  "description": "User-specified value of user-defined data",
                  "default": ""
                }
              ]
            }
          ]
        },
        {
          "displayName": "Fax",
          "name": "Fax",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "First Name",
          "name": "FirstName",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Industry",
          "name": "Industry",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Last Name",
          "name": "LastName",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Lead Source",
          "name": "LeadSource",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "LinkedIn URL",
          "name": "LinkedIn",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "List Name or ID",
          "name": "autopilotList",
          "type": "options",
          "typeOptions": {
            "loadOptionsMethod": "getLists"
          },
          "default": "",
          "description": "List to which this contact will be added on creation. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>."
        },
        {
          "displayName": "Mailing Country",
          "name": "MailingCountry",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Mailing Postal Code",
          "name": "MailingPostalCode",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Mailing State",
          "name": "MailingState",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Mailing Street",
          "name": "MailingStreet",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Mailing City",
          "name": "MailingCity",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Mobile Phone",
          "name": "MobilePhone",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "New Email",
          "name": "newEmail",
          "type": "string",
          "default": "",
          "description": "If provided, will change the email address of the contact identified by the Email field"
        },
        {
          "displayName": "Notify",
          "name": "notify",
          "type": "boolean",
          "default": true,
          "description": "By default Autopilot notifies registered REST hook endpoints for contact_added/contact_updated events when a new contact is added or an existing contact is updated via API. Disable to skip notifications."
        },
        {
          "displayName": "Number of Employees",
          "name": "NumberOfEmployees",
          "type": "number",
          "default": 0
        },
        {
          "displayName": "Owner Name",
          "name": "owner_name",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Phone",
          "name": "Phone",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Salutation",
          "name": "Salutation",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Session ID",
          "name": "autopilotSessionId",
          "type": "string",
          "default": "",
          "description": "Used to associate a contact with a session"
        },
        {
          "displayName": "Status",
          "name": "Status",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Title",
          "name": "Title",
          "type": "string",
          "default": ""
        },
        {
          "displayName": "Subscribe",
          "name": "unsubscribed",
          "type": "boolean",
          "default": false,
          "description": "Whether to subscribe or un-subscribe a contact"
        },
        {
          "displayName": "Website URL",
          "name": "Website",
          "type": "string",
          "default": ""
        }
      ],
      "displayOptions": {
        "show": {
          "operation": [
            "upsert"
          ],
          "resource": [
            "contact"
          ]
        }
      }
    },
    {
      "displayName": "Contact ID",
      "name": "contactId",
      "type": "string",
      "default": "",
      "description": "Can be ID or email",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "delete"
          ],
          "resource": [
            "contact"
          ]
        }
      }
    },
    {
      "displayName": "Contact ID",
      "name": "contactId",
      "type": "string",
      "default": "",
      "description": "Can be ID or email",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "get"
          ],
          "resource": [
            "contact"
          ]
        }
      }
    },
    {
      "displayName": "Return All",
      "name": "returnAll",
      "type": "boolean",
      "default": false,
      "description": "Whether to return all results or only up to a given limit",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "contact"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "contact"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 500
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "add",
      "options": [
        {
          "name": "Add",
          "value": "add",
          "description": "Add contact to list",
          "action": "Add a contact journey"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "contactJourney"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Trigger Name or ID",
      "name": "triggerId",
      "type": "options",
      "default": "",
      "description": "List ID. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "add"
          ],
          "resource": [
            "contactJourney"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getTriggers"
      }
    },
    {
      "displayName": "Contact ID",
      "name": "contactId",
      "type": "string",
      "default": "",
      "description": "Can be ID or email",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "add"
          ],
          "resource": [
            "contactJourney"
          ]
        }
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "add",
      "options": [
        {
          "name": "Add",
          "value": "add",
          "description": "Add contact to list",
          "action": "Add a contact to a list"
        },
        {
          "name": "Exist",
          "value": "exist",
          "description": "Check if contact is on list",
          "action": "Check if a contact list exists"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many contacts from a list",
          "action": "Get many contact lists"
        },
        {
          "name": "Remove",
          "value": "remove",
          "description": "Remove a contact from a list",
          "action": "Remove a contact from a list"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "contactList"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "List Name or ID",
      "name": "listId",
      "type": "options",
      "default": "",
      "description": "ID of the list to operate on. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "add",
            "remove",
            "exist",
            "getAll"
          ],
          "resource": [
            "contactList"
          ]
        }
      },
      "typeOptions": {
        "loadOptionsMethod": "getLists"
      }
    },
    {
      "displayName": "Contact ID",
      "name": "contactId",
      "type": "string",
      "default": "",
      "description": "Can be ID or email",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "add",
            "remove",
            "exist"
          ],
          "resource": [
            "contactList"
          ]
        }
      }
    },
    {
      "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": [
            "contactList"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "contactList"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 500
      }
    },
    {
      "displayName": "Operation",
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "description": "Create a list",
          "action": "Create a list"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "description": "Get many lists",
          "action": "Get many lists"
        }
      ],
      "displayOptions": {
        "show": {
          "resource": [
            "list"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "displayName": "Name",
      "name": "name",
      "type": "string",
      "default": "",
      "description": "Name of the list to create",
      "required": true,
      "displayOptions": {
        "show": {
          "operation": [
            "create"
          ],
          "resource": [
            "list"
          ]
        }
      }
    },
    {
      "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": [
            "list"
          ]
        }
      }
    },
    {
      "displayName": "Limit",
      "name": "limit",
      "type": "number",
      "default": 100,
      "description": "Max number of results to return",
      "displayOptions": {
        "show": {
          "operation": [
            "getAll"
          ],
          "resource": [
            "list"
          ],
          "returnAll": [
            false
          ]
        }
      },
      "typeOptions": {
        "minValue": 1,
        "maxValue": 500
      }
    }
  ]

operations:
  [
    {
      "operation": "upsert",
      "name": "Create or Update",
      "description": "Create a new contact, or update the current one if it already exists (upsert)",
      "resource": "contact"
    },
    {
      "operation": "delete",
      "name": "Delete",
      "description": "Delete a contact",
      "resource": "contact"
    },
    {
      "operation": "get",
      "name": "Get",
      "description": "Get a contact",
      "resource": "contact"
    },
    {
      "operation": "getAll",
      "name": "Get Many",
      "description": "Get many contacts",
      "resource": "contact"
    },
    {
      "operation": "add",
      "name": "Add",
      "description": "Add contact to list",
      "resource": "contactJourney"
    },
    {
      "operation": "add",
      "name": "Add",
      "description": "Add contact to list",
      "resource": "contactList"
    },
    {
      "operation": "exist",
      "name": "Exist",
      "description": "Check if contact is on list",
      "resource": "contactList"
    },
    {
      "operation": "getAll",
      "name": "Get Many",
      "description": "Get many contacts from a list",
      "resource": "contactList"
    },
    {
      "operation": "remove",
      "name": "Remove",
      "description": "Remove a contact from a list",
      "resource": "contactList"
    },
    {
      "operation": "create",
      "name": "Create",
      "description": "Create a list",
      "resource": "list"
    },
    {
      "operation": "getAll",
      "name": "Get Many",
      "description": "Get many lists",
      "resource": "list"
    }
  ]


