n8n-nodes-base 0.228.2 → 0.229.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/dist/build.tsbuildinfo +1 -1
  2. package/dist/nodes/Code/Code.node.js +6 -1
  3. package/dist/nodes/Code/Code.node.js.map +1 -1
  4. package/dist/nodes/Code/test/Code.workflow.json +61 -30
  5. package/dist/nodes/Google/Sheet/GoogleSheets.node.js +2 -1
  6. package/dist/nodes/Google/Sheet/GoogleSheets.node.js.map +1 -1
  7. package/dist/nodes/Google/Sheet/v2/GoogleSheetsV2.node.d.ts +2 -1
  8. package/dist/nodes/Google/Sheet/v2/GoogleSheetsV2.node.js +1 -0
  9. package/dist/nodes/Google/Sheet/v2/GoogleSheetsV2.node.js.map +1 -1
  10. package/dist/nodes/Google/Sheet/v2/actions/sheet/append.operation.js +47 -2
  11. package/dist/nodes/Google/Sheet/v2/actions/sheet/append.operation.js.map +1 -1
  12. package/dist/nodes/Google/Sheet/v2/actions/sheet/appendOrUpdate.operation.js +89 -23
  13. package/dist/nodes/Google/Sheet/v2/actions/sheet/appendOrUpdate.operation.js.map +1 -1
  14. package/dist/nodes/Google/Sheet/v2/actions/sheet/update.operation.js +89 -23
  15. package/dist/nodes/Google/Sheet/v2/actions/sheet/update.operation.js.map +1 -1
  16. package/dist/nodes/Google/Sheet/v2/actions/versionDescription.js +1 -1
  17. package/dist/nodes/Google/Sheet/v2/actions/versionDescription.js.map +1 -1
  18. package/dist/nodes/Google/Sheet/v2/helpers/GoogleSheets.utils.js +15 -5
  19. package/dist/nodes/Google/Sheet/v2/helpers/GoogleSheets.utils.js.map +1 -1
  20. package/dist/nodes/Google/Sheet/v2/methods/index.d.ts +1 -0
  21. package/dist/nodes/Google/Sheet/v2/methods/index.js +2 -1
  22. package/dist/nodes/Google/Sheet/v2/methods/index.js.map +1 -1
  23. package/dist/nodes/Google/Sheet/v2/methods/resourceMapping.d.ts +3 -0
  24. package/dist/nodes/Google/Sheet/v2/methods/resourceMapping.js +33 -0
  25. package/dist/nodes/Google/Sheet/v2/methods/resourceMapping.js.map +1 -0
  26. package/dist/nodes/Postgres/Postgres.node.js +2 -1
  27. package/dist/nodes/Postgres/Postgres.node.js.map +1 -1
  28. package/dist/nodes/Postgres/v2/PostgresV2.node.d.ts +2 -1
  29. package/dist/nodes/Postgres/v2/PostgresV2.node.js +1 -1
  30. package/dist/nodes/Postgres/v2/PostgresV2.node.js.map +1 -1
  31. package/dist/nodes/Postgres/v2/actions/database/insert.operation.js +50 -4
  32. package/dist/nodes/Postgres/v2/actions/database/insert.operation.js.map +1 -1
  33. package/dist/nodes/Postgres/v2/actions/database/update.operation.js +110 -14
  34. package/dist/nodes/Postgres/v2/actions/database/update.operation.js.map +1 -1
  35. package/dist/nodes/Postgres/v2/actions/database/upsert.operation.js +72 -14
  36. package/dist/nodes/Postgres/v2/actions/database/upsert.operation.js.map +1 -1
  37. package/dist/nodes/Postgres/v2/actions/versionDescription.js +1 -1
  38. package/dist/nodes/Postgres/v2/actions/versionDescription.js.map +1 -1
  39. package/dist/nodes/Postgres/v2/helpers/interfaces.d.ts +6 -0
  40. package/dist/nodes/Postgres/v2/helpers/utils.d.ts +6 -2
  41. package/dist/nodes/Postgres/v2/helpers/utils.js +36 -2
  42. package/dist/nodes/Postgres/v2/helpers/utils.js.map +1 -1
  43. package/dist/nodes/Postgres/v2/methods/index.d.ts +1 -0
  44. package/dist/nodes/Postgres/v2/methods/index.js +2 -1
  45. package/dist/nodes/Postgres/v2/methods/index.js.map +1 -1
  46. package/dist/nodes/Postgres/v2/methods/resourceMapping.d.ts +2 -0
  47. package/dist/nodes/Postgres/v2/methods/resourceMapping.js +83 -0
  48. package/dist/nodes/Postgres/v2/methods/resourceMapping.js.map +1 -0
  49. package/dist/package.json +1 -1
  50. package/dist/types/nodes.json +9 -7
  51. package/package.json +3 -3
@@ -125,7 +125,7 @@
125
125
  {"displayName":"GitLab Trigger","name":"n8n-nodes-base.gitlabTrigger","group":["trigger"],"version":1,"subtitle":"={{$parameter[\"owner\"] + \"/\" + $parameter[\"repository\"] + \": \" + $parameter[\"events\"].join(\", \")}}","description":"Starts the workflow when GitLab events occur","defaults":{"name":"GitLab Trigger"},"inputs":[],"outputs":["main"],"credentials":[{"name":"gitlabApi","required":true,"displayOptions":{"show":{"authentication":["accessToken"]}}},{"name":"gitlabOAuth2Api","required":true,"displayOptions":{"show":{"authentication":["oAuth2"]}}}],"webhooks":[{"name":"default","httpMethod":"POST","responseMode":"onReceived","path":"webhook"}],"properties":[{"displayName":"Authentication","name":"authentication","type":"options","options":[{"name":"Access Token","value":"accessToken"},{"name":"OAuth2","value":"oAuth2"}],"default":"accessToken"},{"displayName":"Repository Owner","name":"owner","type":"string","default":"","required":true,"placeholder":"n8n-io","description":"Owner of the repsitory"},{"displayName":"Repository Name","name":"repository","type":"string","default":"","required":true,"placeholder":"n8n","description":"The name of the repsitory"},{"displayName":"Events","name":"events","type":"multiOptions","options":[{"name":"Comment","value":"note","description":"Triggered when a new comment is made on commits, merge requests, issues, and code snippets"},{"name":"Confidential Issues","value":"confidential_issues","description":"Triggered on confidential issues' events"},{"name":"Confidential Comments","value":"confidential_note","description":"Triggered when a confidential comment is made"},{"name":"Deployments","value":"deployment","description":"Triggered when a deployment starts/succeeds/fails/is cancelled"},{"name":"Issue","value":"issues","description":"Triggered when a new issue is created or an existing issue was updated/closed/reopened"},{"name":"Job","value":"job","description":"Triggered on status change of a job"},{"name":"Merge Request","value":"merge_requests","description":"Triggered when a new merge request is created, an existing merge request was updated/merged/closed or a commit is added in the source branch"},{"name":"Pipeline","value":"pipeline","description":"Triggered on status change of Pipeline"},{"name":"Push","value":"push","description":"Triggered when you push to the repository except when pushing tags"},{"name":"Release","value":"releases","description":"Release events are triggered when a release is created or updated"},{"name":"Tag","value":"tag_push","description":"Triggered when you create (or delete) tags to the repository"},{"name":"Wiki Page","value":"wiki_page","description":"Triggered when a wiki page is created, updated or deleted"},{"name":"*","value":"*","description":"Any time any event is triggered (Wildcard Event)"}],"required":true,"default":[],"description":"The events to listen to"}],"codex":{"categories":["Development"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/trigger-nodes/n8n-nodes-base.gitlabtrigger/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/credentials/gitlab"}]}},"iconUrl":"icons/n8n-nodes-base/dist/nodes/Gitlab/gitlab.svg"},
126
126
  {"displayName":"Google Ads","name":"n8n-nodes-base.googleAds","group":["transform"],"version":1,"subtitle":"={{$parameter[\"operation\"] + \": \" + $parameter[\"resource\"]}}","description":"Use the Google Ads API","defaults":{"name":"Google Ads"},"inputs":["main"],"outputs":["main"],"credentials":[{"name":"googleAdsOAuth2Api","required":true,"testedBy":{"request":{"method":"GET","url":"/v13/customers:listAccessibleCustomers"}}}],"requestDefaults":{"returnFullResponse":true,"baseURL":"https://googleads.googleapis.com","headers":{"developer-token":"={{$credentials.developerToken}}"}},"properties":[{"displayName":"Resource","name":"resource","type":"options","noDataExpression":true,"options":[{"name":"Campaign","value":"campaign"}],"default":"campaign"},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"displayOptions":{"show":{"resource":["campaign"]}},"options":[{"name":"Get Many","value":"getAll","description":"Get many campaigns linked to the specified account","routing":{"request":{"method":"POST","url":"={{\"/v13/customers/\" + $parameter[\"clientCustomerId\"].toString().replace(/-/g, \"\") + \"/googleAds:search\"}}","body":{"query":"={{ \"select campaign.id, campaign.name, campaign_budget.amount_micros, campaign_budget.period,campaign.status,campaign.optimization_score,campaign.advertising_channel_type,campaign.advertising_channel_sub_type,metrics.impressions,metrics.interactions,metrics.interaction_rate,metrics.average_cost,metrics.cost_micros,metrics.conversions,metrics.cost_per_conversion,metrics.conversions_from_interactions_rate,metrics.video_views,metrics.average_cpm,metrics.ctr from campaign where campaign.id > 0 \" + ([\"allTime\", undefined, \"\"].includes($parameter.additionalOptions?.dateRange) ? \"\" : \" and segments.date DURING \" + $parameter.additionalOptions.dateRange) + \" \" + ([\"all\", undefined, \"\"].includes($parameter.additionalOptions?.campaignStatus) ? \"\" : \" and campaign.status = '\" + $parameter.additionalOptions.campaignStatus + \"'\") + \"\" }}"},"headers":{"login-customer-id":"={{$parameter[\"managerCustomerId\"].toString().replace(/-/g, \"\")}}"}},"output":{"postReceive":[null]}},"action":"Get many campaigns"},{"name":"Get","value":"get","description":"Get a specific campaign","routing":{"request":{"method":"POST","url":"={{\"/v13/customers/\" + $parameter[\"clientCustomerId\"].toString().replace(/-/g, \"\") + \"/googleAds:search\"}}","returnFullResponse":true,"body":{"query":"={{ \"select campaign.id, campaign.name, campaign_budget.amount_micros, campaign_budget.period,campaign.status,campaign.optimization_score,campaign.advertising_channel_type,campaign.advertising_channel_sub_type,metrics.impressions,metrics.interactions,metrics.interaction_rate,metrics.average_cost,metrics.cost_micros,metrics.conversions,metrics.cost_per_conversion,metrics.conversions_from_interactions_rate,metrics.video_views,metrics.average_cpm,metrics.ctr from campaign where campaign.id = \" + $parameter[\"campaignId\"].toString().replace(/-/g, \"\")}}"},"headers":{"login-customer-id":"={{$parameter[\"managerCustomerId\"].toString().replace(/-/g, \"\")}}"}},"output":{"postReceive":[null]}},"action":"Get a campaign"}],"default":"getAll"},{"displayName":"Divide field names expressed with <i>micros</i> by 1,000,000 to get the actual value","name":"campaigsNotice","type":"notice","default":"","displayOptions":{"show":{"resource":["campaign"]}}},{"displayName":"Manager Customer ID","name":"managerCustomerId","type":"string","required":true,"placeholder":"9998887777","displayOptions":{"show":{"resource":["campaign"]}},"default":""},{"displayName":"Client Customer ID","name":"clientCustomerId","type":"string","required":true,"placeholder":"6665554444","displayOptions":{"show":{"resource":["campaign"]}},"default":""},{"displayName":"Campaign ID","name":"campaignId","type":"string","required":true,"displayOptions":{"show":{"operation":["get"],"resource":["campaign"]}},"default":"","description":"ID of the campaign"},{"displayName":"Additional Options","name":"additionalOptions","type":"collection","displayOptions":{"show":{"resource":["campaign"],"operation":["getAll"]}},"default":{},"description":"Additional options for fetching campaigns","placeholder":"Add Option","options":[{"displayName":"Date Range","name":"dateRange","description":"Filters statistics by period","type":"options","options":[{"name":"All Time","value":"allTime","description":"Fetch statistics for all period"},{"name":"Today","value":"TODAY","description":"Today only"},{"name":"Yesterday","value":"YESTERDAY","description":"Yesterday only"},{"name":"Last 7 Days","value":"LAST_7_DAYS","description":"Last 7 days, not including today"},{"name":"Last Business Week","value":"LAST_BUSINESS_WEEK","description":"The 5 day business week, Monday through Friday, of the previous business week"},{"name":"This Month","value":"THIS_MONTH","description":"All days in the current month"},{"name":"Last Month","value":"LAST_MONTH","description":"All days in the previous month"},{"name":"Last 14 Days","value":"LAST_14_DAYS","description":"The last 14 days not including today"},{"name":"Last 30 Days","value":"LAST_30_DAYS","description":"The last 30 days not including today"}],"default":"allTime"},{"displayName":"Show Campaigns by Status","name":"campaignStatus","description":"Filters campaigns by status","type":"options","options":[{"name":"All","value":"all","description":"Fetch all campaigns regardless of status"},{"name":"Enabled","value":"ENABLED","description":"Filter only active campaigns"},{"name":"Paused","value":"PAUSED","description":"Filter only paused campaigns"},{"name":"Removed","value":"REMOVED","description":"Filter only removed campaigns"}],"default":"all"}]}],"codex":{"categories":["Analytics"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googleads/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]}},"iconUrl":"icons/n8n-nodes-base/dist/nodes/Google/Ads/googleAds.svg"},
127
127
  {"displayName":"Google Analytics","name":"n8n-nodes-base.googleAnalytics","group":["transform"],"subtitle":"={{$parameter[\"operation\"] + \": \" + $parameter[\"resource\"]}}","description":"Use the Google Analytics API","defaultVersion":2,"version":1,"defaults":{"name":"Google Analytics"},"inputs":["main"],"outputs":["main"],"credentials":[{"name":"googleAnalyticsOAuth2","required":true}],"properties":[{"displayName":"<strong>New node version available:</strong> get the latest version with added features from the nodes panel.","name":"oldVersionNotice","type":"notice","default":""},{"displayName":"Resource","name":"resource","type":"options","noDataExpression":true,"options":[{"name":"Report","value":"report"},{"name":"User Activity","value":"userActivity"}],"default":"report"},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"displayOptions":{"show":{"resource":["report"]}},"options":[{"name":"Get","value":"get","description":"Return the analytics data","action":"Get a report"}],"default":"get"},{"displayName":"View Name or ID","name":"viewId","type":"options","typeOptions":{"loadOptionsMethod":"getViews"},"default":"","required":true,"displayOptions":{"show":{"resource":["report"],"operation":["get"]}},"placeholder":"123456","description":"The View ID of Google Analytics. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>."},{"displayName":"Return All","name":"returnAll","type":"boolean","displayOptions":{"show":{"operation":["get"],"resource":["report"]}},"default":false,"description":"Whether to return all results or only up to a given limit"},{"displayName":"Limit","name":"limit","type":"number","displayOptions":{"show":{"operation":["get"],"resource":["report"],"returnAll":[false]}},"typeOptions":{"minValue":1,"maxValue":1000},"default":1000,"description":"Max number of results to return"},{"displayName":"Simplify","name":"simple","type":"boolean","displayOptions":{"show":{"operation":["get"],"resource":["report"]}},"default":true,"description":"Whether to return a simplified version of the response instead of the raw data"},{"displayName":"Additional Fields","name":"additionalFields","type":"collection","placeholder":"Add Field","default":{},"displayOptions":{"show":{"resource":["report"],"operation":["get"]}},"options":[{"displayName":"Date Ranges","name":"dateRangesUi","placeholder":"Add Date Range","type":"fixedCollection","default":{},"description":"Date ranges in the request","options":[{"displayName":"Date Range","name":"dateRanges","values":[{"displayName":"Start Date","name":"startDate","type":"dateTime","default":""},{"displayName":"End Date","name":"endDate","type":"dateTime","default":""}]}]},{"displayName":"Dimensions","name":"dimensionUi","type":"fixedCollection","default":{},"typeOptions":{"multipleValues":true},"placeholder":"Add Dimension","description":"Dimensions are attributes of your data. For example, the dimension ga:city indicates the city, for example, \"Paris\" or \"New York\", from which a session originates.","options":[{"displayName":"Dimension","name":"dimensionValues","values":[{"displayName":"Name or ID","name":"name","type":"options","typeOptions":{"loadOptionsMethod":"getDimensions"},"default":"","description":"Name of the dimension to fetch, for example ga:browser. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>."}]}]},{"displayName":"Dimension Filters","name":"dimensionFiltersUi","type":"fixedCollection","default":{},"typeOptions":{"multipleValues":true},"placeholder":"Add Dimension Filter","description":"Dimension Filters in the request","options":[{"displayName":"Filters","name":"filterValues","values":[{"displayName":"Dimension Name or ID","name":"dimensionName","type":"options","typeOptions":{"loadOptionsMethod":"getDimensions"},"default":"","description":"Name of the dimension to filter by. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>."},{"displayName":"Operator","name":"operator","type":"options","default":"EXACT","description":"Operator to use in combination with value","options":[{"name":"Begins With","value":"BEGINS_WITH"},{"name":"Ends With","value":"ENDS_WITH"},{"name":"Equal (Number)","value":"NUMERIC_EQUAL"},{"name":"Exact","value":"EXACT"},{"name":"Greater Than (Number)","value":"NUMERIC_GREATER_THAN"},{"name":"Less Than (Number)","value":"NUMERIC_LESS_THAN"},{"name":"Partial","value":"PARTIAL"},{"name":"Regular Expression","value":"REGEXP"}]},{"displayName":"Value","name":"expressions","type":"string","default":"","placeholder":"ga:newUsers","description":"String or <a href=\"https://support.google.com/analytics/answer/1034324?hl=en\">regular expression</a> to match against"}]}]},{"displayName":"Hide Totals","name":"hideTotals","type":"boolean","default":false,"description":"Whether to hide the total of all metrics for all the matching rows, for every date range"},{"displayName":"Hide Value Ranges","name":"hideValueRanges","type":"boolean","default":false,"description":"Whether to hide the minimum and maximum across all matching rows"},{"displayName":"Include Empty Rows","name":"includeEmptyRows","type":"boolean","default":false,"description":"Whether the response exclude rows if all the retrieved metrics are equal to zero"},{"displayName":"Metrics","name":"metricsUi","type":"fixedCollection","default":{},"typeOptions":{"multipleValues":true},"placeholder":"Add Metrics","description":"Metrics in the request","options":[{"displayName":"Metric","name":"metricValues","values":[{"displayName":"Alias","name":"alias","type":"string","default":"","description":"An alias for the metric expression is an alternate name for the expression. The alias can be used for filtering and sorting."},{"displayName":"Expression","name":"expression","type":"string","default":"ga:newUsers","description":"<p>A metric expression in the request. An expression is constructed from one or more metrics and numbers.</p><p>Accepted operators include: Plus (+), Minus (-), Negation (Unary -), Divided by (/), Multiplied by (*), Parenthesis, Positive cardinal numbers (0-9), can include decimals and is limited to 1024 characters.</p><p>Example ga:totalRefunds/ga:users, in most cases the metric expression is just a single metric name like ga:users.</p><p>Adding mixed MetricType (E.g., CURRENCY + PERCENTAGE) metrics will result in unexpected results.</p>."},{"displayName":"Formatting Type","name":"formattingType","type":"options","default":"INTEGER","description":"Specifies how the metric expression should be formatted","options":[{"name":"Currency","value":"CURRENCY"},{"name":"Float","value":"FLOAT"},{"name":"Integer","value":"INTEGER"},{"name":"Percent","value":"PERCENT"},{"name":"Time","value":"TIME"}]}]}]},{"displayName":"Use Resource Quotas","name":"useResourceQuotas","type":"boolean","default":false,"description":"Whether to enable resource based quotas"}]},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"displayOptions":{"show":{"resource":["userActivity"]}},"options":[{"name":"Search","value":"search","description":"Return user activity data","action":"Search user activity data"}],"default":"search"},{"displayName":"View Name or ID","name":"viewId","type":"options","typeOptions":{"loadOptionsMethod":"getViews"},"default":"","required":true,"displayOptions":{"show":{"resource":["userActivity"],"operation":["search"]}},"placeholder":"123456","description":"The View ID of Google Analytics. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>."},{"displayName":"User ID","name":"userId","type":"string","default":"","required":true,"displayOptions":{"show":{"resource":["userActivity"],"operation":["search"]}},"placeholder":"123456","description":"ID of a user"},{"displayName":"Return All","name":"returnAll","type":"boolean","displayOptions":{"show":{"operation":["search"],"resource":["userActivity"]}},"default":false,"description":"Whether to return all results or only up to a given limit"},{"displayName":"Limit","name":"limit","type":"number","displayOptions":{"show":{"operation":["search"],"resource":["userActivity"],"returnAll":[false]}},"typeOptions":{"minValue":1,"maxValue":500},"default":100,"description":"Max number of results to return"},{"displayName":"Additional Fields","name":"additionalFields","type":"collection","placeholder":"Add Field","default":{},"displayOptions":{"show":{"operation":["search"],"resource":["userActivity"]}},"options":[{"displayName":"Activity Types","name":"activityTypes","type":"multiOptions","options":[{"name":"Ecommerce","value":"ECOMMERCE"},{"name":"Event","value":"EVENT"},{"name":"Goal","value":"GOAL"},{"name":"Pageview","value":"PAGEVIEW"},{"name":"Screenview","value":"SCREENVIEW"}],"description":"Type of activites requested","default":[]}]}],"iconUrl":"icons/n8n-nodes-base/dist/nodes/Google/Analytics/analytics.svg"},
128
- {"displayName":"Google Analytics","name":"n8n-nodes-base.googleAnalytics","group":["transform"],"subtitle":"={{$parameter[\"operation\"] + \": \" + $parameter[\"resource\"]}}","description":"Use the Google Analytics API","defaultVersion":2,"version":2,"defaults":{"name":"Google Analytics"},"inputs":["main"],"outputs":["main"],"credentials":[{"name":"googleAnalyticsOAuth2","required":true}],"properties":[{"displayName":"Resource","name":"resource","type":"options","noDataExpression":true,"options":[{"name":"Report","value":"report"},{"name":"User Activity","value":"userActivity"}],"default":"report"},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"displayOptions":{"show":{"resource":["report"]}},"options":[{"name":"Get","value":"get","description":"Return the analytics data","action":"Get a report"}],"default":"get"},{"displayName":"Property Type","name":"propertyType","type":"options","noDataExpression":true,"description":"Google Analytics 4 is the latest version. Universal Analytics is an older version that is not fully functional after the end of June 2023.","options":[{"name":"Google Analytics 4","value":"ga4"},{"name":"Universal Analytics","value":"universal"}],"default":"ga4","displayOptions":{"show":{"resource":["report"],"operation":["get"]}}},{"displayName":"Property","name":"propertyId","type":"resourceLocator","default":{"mode":"list","value":""},"required":true,"description":"The Property of Google Analytics","hint":"If this doesn't work, try changing the 'Property Type' field above","modes":[{"displayName":"From List","name":"list","type":"list","placeholder":"Select a property...","typeOptions":{"searchListMethod":"searchProperties","searchFilterRequired":false,"searchable":false}},{"displayName":"By URL","name":"url","type":"string","placeholder":"https://analytics.google.com/analytics/...","validation":[{"type":"regex","properties":{"regex":".*analytics\\.google\\.com\\/analytics.*\\/p([0-9]{1,})(?:\\/.*|)*","errorMessage":"Not a valid Google Analytics URL"}}],"extractValue":{"type":"regex","regex":".*analytics\\.google\\.com\\/analytics.*\\/p([0-9]{1,})(?:\\/.*|)"}},{"displayName":"By ID","name":"id","type":"string","placeholder":"123456","validation":[{"type":"regex","properties":{"regex":"[0-9]{1,}","errorMessage":"Not a valid Google Analytics Property ID"}}],"url":"=https://analytics.google.com/analytics/web/#/p{{$value}}/"}],"displayOptions":{"show":{"resource":["report"],"operation":["get"],"propertyType":["ga4"]}}},{"displayName":"Date Range","name":"dateRange","type":"options","required":true,"options":[{"name":"Last 7 Days","value":"last7days"},{"name":"Last 30 Days","value":"last30days"},{"name":"Today","value":"today"},{"name":"Yesterday","value":"yesterday"},{"name":"Last Complete Calendar Week","value":"lastCalendarWeek"},{"name":"Last Complete Calendar Month","value":"lastCalendarMonth"},{"name":"Custom","value":"custom"}],"default":"last7days","displayOptions":{"show":{"resource":["report"],"operation":["get"],"propertyType":["ga4"]}}},{"displayName":"Start","name":"startDate","type":"dateTime","required":true,"default":"2023-05-22T00:00:00.000+00:00","displayOptions":{"show":{"resource":["report"],"operation":["get"],"dateRange":["custom"],"propertyType":["ga4"]}}},{"displayName":"End","name":"endDate","type":"dateTime","required":true,"default":"2023-05-29T00:00:00.000+00:00","displayOptions":{"show":{"resource":["report"],"operation":["get"],"dateRange":["custom"],"propertyType":["ga4"]}}},{"displayName":"Metrics","name":"metricsGA4","type":"fixedCollection","default":{"metricValues":[{"listName":"totalUsers"}]},"typeOptions":{"multipleValues":true},"placeholder":"Add Metric","description":"The quantitative measurements of a report. For example, the metric eventCount is the total number of events. Requests are allowed up to 10 metrics.","options":[{"displayName":"Values","name":"metricValues","values":[{"displayName":"Metric","name":"listName","type":"options","default":"totalUsers","options":[{"name":"1 Day Active Users","value":"active1DayUsers"},{"name":"28 Day Active Users","value":"active28DayUsers"},{"name":"7 Day Active Users","value":"active7DayUsers"},{"name":"Checkouts","value":"checkouts"},{"name":"Events","value":"eventCount"},{"name":"Page Views","value":"screenPageViews"},{"name":"Session Duration","value":"userEngagementDuration"},{"name":"Sessions","value":"sessions"},{"name":"Sessions per User","value":"sessionsPerUser"},{"name":"Total Users","value":"totalUsers"},{"name":"Other metrics…","value":"other"},{"name":"Custom metric…","value":"custom"}]},{"displayName":"Name or ID","name":"name","type":"options","typeOptions":{"loadOptionsMethod":"getMetricsGA4","loadOptionsDependsOn":["propertyId.value"]},"default":"totalUsers","hint":"If expression is specified, name can be any string that you would like","description":"The name of the metric. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>.","displayOptions":{"show":{"listName":["other"]}}},{"displayName":"Name","name":"name","type":"string","default":"custom_metric","displayOptions":{"show":{"listName":["custom"]}}},{"displayName":"Expression","name":"expression","type":"string","default":"","description":"A mathematical expression for derived metrics. For example, the metric Event count per user is eventCount/totalUsers.","placeholder":"e.g. eventCount/totalUsers","displayOptions":{"show":{"listName":["custom"]}}},{"displayName":"Invisible","name":"invisible","type":"boolean","default":false,"displayOptions":{"show":{"listName":["custom"]}},"description":"Whether a metric is invisible in the report response. If a metric is invisible, the metric will not produce a column in the response, but can be used in metricFilter, orderBys, or a metric expression."}]}],"displayOptions":{"show":{"resource":["report"],"operation":["get"],"propertyType":["ga4"]}}},{"displayName":"Dimensions to split by","name":"dimensionsGA4","type":"fixedCollection","default":{"dimensionValues":[{"listName":"date"}]},"typeOptions":{"multipleValues":true},"placeholder":"Add Dimension","description":"Dimensions are attributes of your data. For example, the dimension city indicates the city from which an event originates. Dimension values in report responses are strings; for example, the city could be \"Paris\" or \"New York\". Requests are allowed up to 9 dimensions.","options":[{"displayName":"Values","name":"dimensionValues","values":[{"displayName":"Dimension","name":"listName","type":"options","default":"date","options":[{"name":"Browser","value":"browser"},{"name":"Campaign","value":"campaignName"},{"name":"City","value":"city"},{"name":"Country","value":"country"},{"name":"Date","value":"date"},{"name":"Device Category","value":"deviceCategory"},{"name":"Item Name","value":"itemName"},{"name":"Language","value":"language"},{"name":"Page Location","value":"pageLocation"},{"name":"Source / Medium","value":"sourceMedium"},{"name":"Other dimensions…","value":"other"}]},{"displayName":"Name or ID","name":"name","type":"options","typeOptions":{"loadOptionsMethod":"getDimensionsGA4","loadOptionsDependsOn":["propertyId.value"]},"default":"date","description":"The name of the dimension. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>.","displayOptions":{"show":{"listName":["other"]}}}]}],"displayOptions":{"show":{"resource":["report"],"operation":["get"],"propertyType":["ga4"]}}},{"displayName":"Return All","name":"returnAll","type":"boolean","displayOptions":{"show":{"operation":["get"],"resource":["report"],"propertyType":["ga4"]}},"default":false,"description":"Whether to return all results or only up to a given limit"},{"displayName":"Limit","name":"limit","type":"number","displayOptions":{"show":{"operation":["get"],"resource":["report"],"propertyType":["ga4"],"returnAll":[false]}},"typeOptions":{"minValue":1,"maxValue":1000},"default":50,"description":"Max number of results to return"},{"displayName":"Simplify Output","name":"simple","type":"boolean","displayOptions":{"show":{"operation":["get"],"resource":["report"],"propertyType":["ga4"]}},"default":true,"description":"Whether to return a simplified version of the response instead of the raw data"},{"displayName":"Additional Fields","name":"additionalFields","type":"collection","placeholder":"Add Field","default":{},"displayOptions":{"show":{"resource":["report"],"operation":["get"],"propertyType":["ga4"]}},"options":[{"displayName":"Currency Code","name":"currencyCode","type":"string","default":"","description":"A currency code in ISO4217 format, such as \"AED\", \"USD\", \"JPY\". If the field is empty, the report uses the property's default currency."},{"displayName":"Dimensions Filters","name":"dimensionFiltersUI","type":"fixedCollection","default":{},"placeholder":"Add Filter","options":[{"displayName":"Filter Expressions","name":"filterExpressions","values":[{"displayName":"Filter Expression Type","name":"filterExpressionType","type":"options","default":"andGroup","options":[{"name":"And Group","value":"andGroup"},{"name":"Or Group","value":"orGroup"}]},{"displayName":"Expression","name":"expression","type":"fixedCollection","typeOptions":{"multipleValues":true},"default":{},"placeholder":"Add Expression","options":[{"displayName":"String Filter","name":"stringFilter","values":[{"displayName":"Dimension","name":"listName","type":"options","default":"date","options":[{"name":"Browser","value":"browser"},{"name":"Campaign","value":"campaignName"},{"name":"City","value":"city"},{"name":"Country","value":"country"},{"name":"Date","value":"date"},{"name":"Device Category","value":"deviceCategory"},{"name":"Item Name","value":"itemName"},{"name":"Language","value":"language"},{"name":"Page Location","value":"pageLocation"},{"name":"Source / Medium","value":"sourceMedium"},{"name":"Other dimensions…","value":"other"}]},{"displayName":"Name or ID","name":"name","type":"options","typeOptions":{"loadOptionsMethod":"getDimensionsGA4","loadOptionsDependsOn":["propertyId.value"]},"default":"date","description":"The name of the dimension. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>.","displayOptions":{"show":{"listName":["other"]}}},{"displayName":"Value","name":"value","type":"string","default":""},{"displayName":"Case Sensitive","name":"caseSensitive","type":"boolean","default":true},{"displayName":"Match Type","name":"matchType","type":"options","default":"EXACT","options":[{"name":"Begins With","value":"BEGINS_WITH"},{"name":"Contains Value","value":"CONTAINS"},{"name":"Ends With","value":"ENDS_WITH"},{"name":"Exact Match","value":"EXACT"},{"name":"Full Match for the Regular Expression","value":"FULL_REGEXP"},{"name":"Partial Match for the Regular Expression","value":"PARTIAL_REGEXP"}]}]},{"displayName":"In List Filter","name":"inListFilter","values":[{"displayName":"Dimension","name":"listName","type":"options","default":"date","options":[{"name":"Browser","value":"browser"},{"name":"Campaign","value":"campaignName"},{"name":"City","value":"city"},{"name":"Country","value":"country"},{"name":"Date","value":"date"},{"name":"Device Category","value":"deviceCategory"},{"name":"Item Name","value":"itemName"},{"name":"Language","value":"language"},{"name":"Page Location","value":"pageLocation"},{"name":"Source / Medium","value":"sourceMedium"},{"name":"Other dimensions…","value":"other"}]},{"displayName":"Name or ID","name":"name","type":"options","typeOptions":{"loadOptionsMethod":"getDimensionsGA4","loadOptionsDependsOn":["propertyId.value"]},"default":"date","description":"The name of the dimension. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>.","displayOptions":{"show":{"listName":["other"]}}},{"displayName":"Values","name":"values","type":"string","default":"","hint":"Comma separated list of values. Must be non-empty."},{"displayName":"Case Sensitive","name":"caseSensitive","type":"boolean","default":true}]},{"displayName":"Numeric Filter","name":"numericFilter","values":[{"displayName":"Dimension","name":"listName","type":"options","default":"date","options":[{"name":"Browser","value":"browser"},{"name":"Campaign","value":"campaignName"},{"name":"City","value":"city"},{"name":"Country","value":"country"},{"name":"Date","value":"date"},{"name":"Device Category","value":"deviceCategory"},{"name":"Item Name","value":"itemName"},{"name":"Language","value":"language"},{"name":"Page Location","value":"pageLocation"},{"name":"Source / Medium","value":"sourceMedium"},{"name":"Other dimensions…","value":"other"}]},{"displayName":"Name or ID","name":"name","type":"options","typeOptions":{"loadOptionsMethod":"getDimensionsGA4","loadOptionsDependsOn":["propertyId.value"]},"default":"date","description":"The name of the dimension. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>.","displayOptions":{"show":{"listName":["other"]}}},{"displayName":"Value Type","name":"valueType","type":"options","default":"doubleValue","options":[{"name":"Double Value","value":"doubleValue"},{"name":"Integer Value","value":"int64Value"}]},{"displayName":"Value","name":"value","type":"string","default":""},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"default":"EQUAL","options":[{"name":"Equal","value":"EQUAL"},{"name":"Greater Than","value":"GREATER_THAN"},{"name":"Greater than or Equal","value":"GREATER_THAN_OR_EQUAL"},{"name":"Less Than","value":"LESS_THAN"},{"name":"Less than or Equal","value":"LESS_THAN_OR_EQUAL"}]}]}]}]}]},{"displayName":"Metric Aggregation","name":"metricAggregations","type":"multiOptions","default":[],"options":[{"name":"MAXIMUM","value":"MAXIMUM"},{"name":"MINIMUM","value":"MINIMUM"},{"name":"TOTAL","value":"TOTAL"}],"displayOptions":{"show":{"/simple":[false]}}},{"displayName":"Metrics Filters","name":"metricsFiltersUI","type":"fixedCollection","default":{},"placeholder":"Add Filter","options":[{"displayName":"Filter Expressions","name":"filterExpressions","values":[{"displayName":"Filter Expression Type","name":"filterExpressionType","type":"options","default":"andGroup","options":[{"name":"And Group","value":"andGroup"},{"name":"Or Group","value":"orGroup"}]},{"displayName":"Expression","name":"expression","type":"fixedCollection","typeOptions":{"multipleValues":true},"default":{},"placeholder":"Add Expression","options":[{"displayName":"Between Filter","name":"betweenFilter","values":[{"displayName":"Metric","name":"listName","type":"options","default":"totalUsers","options":[{"name":"1 Day Active Users","value":"active1DayUsers"},{"name":"28 Day Active Users","value":"active28DayUsers"},{"name":"7 Day Active Users","value":"active7DayUsers"},{"name":"Checkouts","value":"checkouts"},{"name":"Events","value":"eventCount"},{"name":"Page Views","value":"screenPageViews"},{"name":"Session Duration","value":"userEngagementDuration"},{"name":"Sessions","value":"sessions"},{"name":"Sessions per User","value":"sessionsPerUser"},{"name":"Total Users","value":"totalUsers"},{"name":"Other metrics…","value":"other"},{"name":"Custom metric…","value":"custom"}]},{"displayName":"Name or ID","name":"name","type":"options","typeOptions":{"loadOptionsMethod":"getMetricsGA4","loadOptionsDependsOn":["propertyId.value"]},"default":"totalUsers","hint":"If expression is specified, name can be any string that you would like","description":"The name of the metric. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>.","displayOptions":{"show":{"listName":["other"]}}},{"displayName":"Name","name":"name","type":"string","default":"custom_metric","displayOptions":{"show":{"listName":["custom"]}}},{"displayName":"Value Type","name":"valueType","type":"options","default":"doubleValue","options":[{"name":"Double Value","value":"doubleValue"},{"name":"Integer Value","value":"int64Value"}]},{"displayName":"From Value","name":"fromValue","type":"string","default":""},{"displayName":"To Value","name":"toValue","type":"string","default":""}]},{"displayName":"Numeric Filter","name":"numericFilter","values":[{"displayName":"Metric","name":"listName","type":"options","default":"totalUsers","options":[{"name":"1 Day Active Users","value":"active1DayUsers"},{"name":"28 Day Active Users","value":"active28DayUsers"},{"name":"7 Day Active Users","value":"active7DayUsers"},{"name":"Checkouts","value":"checkouts"},{"name":"Events","value":"eventCount"},{"name":"Page Views","value":"screenPageViews"},{"name":"Session Duration","value":"userEngagementDuration"},{"name":"Sessions","value":"sessions"},{"name":"Sessions per User","value":"sessionsPerUser"},{"name":"Total Users","value":"totalUsers"},{"name":"Other metrics…","value":"other"},{"name":"Custom metric…","value":"custom"}]},{"displayName":"Name or ID","name":"name","type":"options","typeOptions":{"loadOptionsMethod":"getMetricsGA4","loadOptionsDependsOn":["propertyId.value"]},"default":"totalUsers","hint":"If expression is specified, name can be any string that you would like","description":"The name of the metric. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>.","displayOptions":{"show":{"listName":["other"]}}},{"displayName":"Name","name":"name","type":"string","default":"custom_metric","displayOptions":{"show":{"listName":["custom"]}}},{"displayName":"Value Type","name":"valueType","type":"options","default":"doubleValue","options":[{"name":"Double Value","value":"doubleValue"},{"name":"Integer Value","value":"int64Value"}]},{"displayName":"Value","name":"value","type":"string","default":""},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"default":"EQUAL","options":[{"name":"Equal","value":"EQUAL"},{"name":"Greater Than","value":"GREATER_THAN"},{"name":"Greater than or Equal","value":"GREATER_THAN_OR_EQUAL"},{"name":"Less Than","value":"LESS_THAN"},{"name":"Less than or Equal","value":"LESS_THAN_OR_EQUAL"}]}]}]}]}]},{"displayName":"Keep Empty Rows","name":"keepEmptyRows","type":"boolean","default":false,"description":"Whether false or unspecified, each row with all metrics equal to 0 will not be returned. If true, these rows will be returned if they are not separately removed by a filter."},{"displayName":"Order By","name":"orderByUI","type":"fixedCollection","default":{},"typeOptions":{"multipleValues":true},"placeholder":"Add Order","description":"Specifies how rows are ordered in the response","options":[{"displayName":"Metric Order By","name":"metricOrderBy","values":[{"displayName":"Descending","name":"desc","type":"boolean","default":false,"description":"Whether true, sorts by descending order"},{"displayName":"Metric Name or ID","name":"metricName","type":"options","typeOptions":{"loadOptionsMethod":"getMetricsGA4","loadOptionsDependsOn":["propertyId.value"]},"default":"","description":"Sorts by metric values. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>."}]},{"displayName":"Dimmension Order By","name":"dimmensionOrderBy","values":[{"displayName":"Descending","name":"desc","type":"boolean","default":false,"description":"Whether true, sorts by descending order"},{"displayName":"Dimmension Name or ID","name":"dimensionName","type":"options","typeOptions":{"loadOptionsMethod":"getDimensionsGA4","loadOptionsDependsOn":["propertyId.value"]},"default":"","description":"Sorts by metric values. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>."},{"displayName":"Order Type","name":"orderType","type":"options","default":"ORDER_TYPE_UNSPECIFIED","options":[{"name":"Alphanumeric","value":"ALPHANUMERIC","description":"Alphanumeric sort by Unicode code point"},{"name":"Case Insensitive Alphanumeric","value":"CASE_INSENSITIVE_ALPHANUMERIC","description":"Case insensitive alphanumeric sort by lower case Unicode code point"},{"name":"Numeric","value":"NUMERIC","description":"Dimension values are converted to numbers before sorting"},{"name":"Unspecified","value":"ORDER_TYPE_UNSPECIFIED"}]}]}]},{"displayName":"Return Property Quota","name":"returnPropertyQuota","type":"boolean","default":false,"description":"Whether to return the current state of this Analytics Property's quota. Quota is returned in PropertyQuota.","displayOptions":{"show":{"/simple":[false]}}}]},{"displayName":"View","name":"viewId","type":"resourceLocator","default":{"mode":"list","value":""},"required":true,"description":"The View of Google Analytics","hint":"If this doesn't work, try changing the 'Property Type' field above","modes":[{"displayName":"From List","name":"list","type":"list","placeholder":"Select a view...","typeOptions":{"searchListMethod":"searchViews","searchFilterRequired":false,"searchable":false}},{"displayName":"By URL","name":"url","type":"string","placeholder":"https://analytics.google.com/analytics/...","validation":[{"type":"regex","properties":{"regex":".*analytics.google.com/analytics.*p[0-9]{1,}.*","errorMessage":"Not a valid Google Analytics URL"}}],"extractValue":{"type":"regex","regex":".*analytics.google.com/analytics.*p([0-9]{1,})"}},{"displayName":"By ID","name":"id","type":"string","placeholder":"123456","validation":[{"type":"regex","properties":{"regex":"[0-9]{1,}","errorMessage":"Not a valid Google Analytics View ID"}}]}],"displayOptions":{"show":{"resource":["report"],"operation":["get"],"propertyType":["universal"]}}},{"displayName":"Date Range","name":"dateRange","type":"options","required":true,"options":[{"name":"Last 7 Days","value":"last7days"},{"name":"Last 30 Days","value":"last30days"},{"name":"Today","value":"today"},{"name":"Yesterday","value":"yesterday"},{"name":"Last Complete Calendar Week","value":"lastCalendarWeek"},{"name":"Last Complete Calendar Month","value":"lastCalendarMonth"},{"name":"Custom","value":"custom"}],"default":"last7days","displayOptions":{"show":{"resource":["report"],"operation":["get"],"propertyType":["universal"]}}},{"displayName":"Start","name":"startDate","type":"dateTime","required":true,"default":"2023-05-22T00:00:00.000+00:00","displayOptions":{"show":{"resource":["report"],"operation":["get"],"propertyType":["universal"],"dateRange":["custom"]}}},{"displayName":"End","name":"endDate","type":"dateTime","required":true,"default":"2023-05-29T00:00:00.000+00:00","displayOptions":{"show":{"resource":["report"],"operation":["get"],"propertyType":["universal"],"dateRange":["custom"]}}},{"displayName":"Metrics","name":"metricsUA","type":"fixedCollection","default":{"metricValues":[{"listName":"ga:users"}]},"typeOptions":{"multipleValues":true},"placeholder":"Add metric","description":"Metrics in the request","options":[{"displayName":"Metric","name":"metricValues","values":[{"displayName":"Metric","name":"listName","type":"options","default":"ga:users","options":[{"name":"Checkouts","value":"ga:productCheckouts"},{"name":"Events","value":"ga:totalEvents"},{"name":"Page Views","value":"ga:pageviews"},{"name":"Session Duration","value":"ga:sessionDuration"},{"name":"Sessions","value":"ga:sessions"},{"name":"Sessions per User","value":"ga:sessionsPerUser"},{"name":"Total Users","value":"ga:users"},{"name":"Other metrics…","value":"other"},{"name":"Custom metric…","value":"custom"}]},{"displayName":"Name or ID","name":"name","type":"options","typeOptions":{"loadOptionsMethod":"getMetrics","loadOptionsDependsOn":["viewId.value"]},"default":"ga:users","hint":"If expression is specified, name can be any string that you would like","description":"The name of the metric. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>.","displayOptions":{"show":{"listName":["other"]}}},{"displayName":"Name","name":"name","type":"string","default":"custom_metric","displayOptions":{"show":{"listName":["custom"]}}},{"displayName":"Expression","name":"expression","type":"string","default":"","placeholder":"e.g. ga:totalRefunds/ga:users","description":"Learn more about Google Analytics <a href=\"https://developers.google.com/analytics/devguides/reporting/core/v4/rest/v4/reports/batchGet#Metric\">metric expressions</a>","displayOptions":{"show":{"listName":["custom"]}}},{"displayName":"Formatting Type","name":"formattingType","type":"options","default":"INTEGER","description":"Specifies how the metric expression should be formatted","options":[{"name":"Currency","value":"CURRENCY"},{"name":"Float","value":"FLOAT"},{"name":"Integer","value":"INTEGER"},{"name":"Percent","value":"PERCENT"},{"name":"Time","value":"TIME"}],"displayOptions":{"show":{"listName":["custom"]}}}]}],"displayOptions":{"show":{"resource":["report"],"operation":["get"],"propertyType":["universal"]}}},{"displayName":"Dimensions to split by","name":"dimensionsUA","type":"fixedCollection","default":{"dimensionValues":[{"listName":"ga:date"}]},"typeOptions":{"multipleValues":true},"placeholder":"Add Dimension","description":"Dimensions are attributes of your data. For example, the dimension ga:city indicates the city, for example, \"Paris\" or \"New York\", from which a session originates.","options":[{"displayName":"Values","name":"dimensionValues","values":[{"displayName":"Dimension","name":"listName","type":"options","default":"ga:date","options":[{"name":"Browser","value":"ga:browser"},{"name":"Campaign","value":"ga:campaign"},{"name":"City","value":"ga:city"},{"name":"Country","value":"ga:country"},{"name":"Date","value":"ga:date"},{"name":"Device Category","value":"ga:deviceCategory"},{"name":"Item Name","value":"ga:productName"},{"name":"Language","value":"ga:language"},{"name":"Page","value":"ga:pagePath"},{"name":"Source / Medium","value":"ga:sourceMedium"},{"name":"Other dimensions…","value":"other"}]},{"displayName":"Name or ID","name":"name","type":"options","typeOptions":{"loadOptionsMethod":"getDimensions","loadOptionsDependsOn":["viewId.value"]},"default":"ga:date","description":"Name of the dimension to fetch, for example ga:browser. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>.","displayOptions":{"show":{"listName":["other"]}}}]}],"displayOptions":{"show":{"resource":["report"],"operation":["get"],"propertyType":["universal"]}}},{"displayName":"Return All","name":"returnAll","type":"boolean","displayOptions":{"show":{"operation":["get"],"resource":["report"],"propertyType":["universal"]}},"default":false,"description":"Whether to return all results or only up to a given limit"},{"displayName":"Limit","name":"limit","type":"number","displayOptions":{"show":{"operation":["get"],"resource":["report"],"propertyType":["universal"],"returnAll":[false]}},"typeOptions":{"minValue":1,"maxValue":1000},"default":50,"description":"Max number of results to return"},{"displayName":"Simplify Output","name":"simple","type":"boolean","displayOptions":{"show":{"operation":["get"],"resource":["report"],"propertyType":["universal"]}},"default":true,"description":"Whether to return a simplified version of the response instead of the raw data"},{"displayName":"Additional Fields","name":"additionalFields","type":"collection","placeholder":"Add Field","default":{},"displayOptions":{"show":{"resource":["report"],"operation":["get"],"propertyType":["universal"]}},"options":[{"displayName":"Dimension Filters","name":"dimensionFiltersUi","type":"fixedCollection","default":{},"typeOptions":{"multipleValues":true},"placeholder":"Add Dimension Filter","description":"Dimension Filters in the request","options":[{"displayName":"Filters","name":"filterValues","values":[{"displayName":"Dimension","name":"listName","type":"options","default":"ga:date","options":[{"name":"Browser","value":"ga:browser"},{"name":"Campaign","value":"ga:campaign"},{"name":"City","value":"ga:city"},{"name":"Country","value":"ga:country"},{"name":"Date","value":"ga:date"},{"name":"Device Category","value":"ga:deviceCategory"},{"name":"Item Name","value":"ga:productName"},{"name":"Language","value":"ga:language"},{"name":"Page","value":"ga:pagePath"},{"name":"Source / Medium","value":"ga:sourceMedium"},{"name":"Other dimensions…","value":"other"}]},{"displayName":"Name or ID","name":"name","type":"options","typeOptions":{"loadOptionsMethod":"getDimensions","loadOptionsDependsOn":["viewId.value"]},"default":"ga:date","description":"Name of the dimension to fetch, for example ga:browser. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>.","displayOptions":{"show":{"listName":["other"]}}},{"displayName":"Operator","name":"operator","type":"options","default":"EXACT","description":"Operator to use in combination with value","options":[{"name":"Begins With","value":"BEGINS_WITH"},{"name":"Ends With","value":"ENDS_WITH"},{"name":"Equals (Number)","value":"NUMERIC_EQUAL"},{"name":"Exactly Matches","value":"EXACT"},{"name":"Greater Than (Number)","value":"NUMERIC_GREATER_THAN"},{"name":"Less Than (Number)","value":"NUMERIC_LESS_THAN"},{"name":"Partly Matches","value":"PARTIAL"},{"name":"Regular Expression","value":"REGEXP"}]},{"displayName":"Value","name":"expressions","type":"string","default":"","placeholder":"","description":"String or <a href=\"https://support.google.com/analytics/answer/1034324?hl=en\">regular expression</a> to match against"}]}]},{"displayName":"Hide Totals","name":"hideTotals","type":"boolean","default":false,"description":"Whether to hide the total of all metrics for all the matching rows, for every date range","displayOptions":{"show":{"/simple":[false]}}},{"displayName":"Hide Value Ranges","name":"hideValueRanges","type":"boolean","default":false,"description":"Whether to hide the minimum and maximum across all matching rows","displayOptions":{"show":{"/simple":[false]}}},{"displayName":"Include Empty Rows","name":"includeEmptyRows","type":"boolean","default":false,"description":"Whether the response exclude rows if all the retrieved metrics are equal to zero"},{"displayName":"Use Resource Quotas","name":"useResourceQuotas","type":"boolean","default":false,"description":"Whether to enable resource based quotas","displayOptions":{"show":{"/simple":[false]}}}]},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"displayOptions":{"show":{"resource":["userActivity"]}},"options":[{"name":"Search","value":"search","description":"Return user activity data","action":"Search user activity data"}],"default":"search"},{"displayName":"View Name or ID","name":"viewId","type":"options","typeOptions":{"loadOptionsMethod":"getViews"},"default":"","required":true,"displayOptions":{"show":{"resource":["userActivity"],"operation":["search"]}},"placeholder":"123456","description":"The view from Google Analytics. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>.","hint":"If there's nothing here, try changing the 'Property type' field above"},{"displayName":"User ID","name":"userId","type":"string","default":"","required":true,"displayOptions":{"show":{"resource":["userActivity"],"operation":["search"]}},"placeholder":"123456","description":"ID of a user"},{"displayName":"Return All","name":"returnAll","type":"boolean","displayOptions":{"show":{"operation":["search"],"resource":["userActivity"]}},"default":false,"description":"Whether to return all results or only up to a given limit"},{"displayName":"Limit","name":"limit","type":"number","displayOptions":{"show":{"operation":["search"],"resource":["userActivity"],"returnAll":[false]}},"typeOptions":{"minValue":1,"maxValue":500},"default":100,"description":"Max number of results to return"},{"displayName":"Additional Fields","name":"additionalFields","type":"collection","placeholder":"Add Field","default":{},"displayOptions":{"show":{"operation":["search"],"resource":["userActivity"]}},"options":[{"displayName":"Activity Types","name":"activityTypes","type":"multiOptions","options":[{"name":"Ecommerce","value":"ECOMMERCE"},{"name":"Event","value":"EVENT"},{"name":"Goal","value":"GOAL"},{"name":"Pageview","value":"PAGEVIEW"},{"name":"Screenview","value":"SCREENVIEW"}],"description":"Type of activites requested","default":[]}]}],"iconUrl":"icons/n8n-nodes-base/dist/nodes/Google/Analytics/analytics.svg","codex":{"categories":["Analytics"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googleanalytics/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]}}},
128
+ {"displayName":"Google Analytics","name":"n8n-nodes-base.googleAnalytics","group":["transform"],"subtitle":"={{$parameter[\"operation\"] + \": \" + $parameter[\"resource\"]}}","description":"Use the Google Analytics API","defaultVersion":2,"version":2,"defaults":{"name":"Google Analytics"},"inputs":["main"],"outputs":["main"],"credentials":[{"name":"googleAnalyticsOAuth2","required":true}],"properties":[{"displayName":"Resource","name":"resource","type":"options","noDataExpression":true,"options":[{"name":"Report","value":"report"},{"name":"User Activity","value":"userActivity"}],"default":"report"},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"displayOptions":{"show":{"resource":["report"]}},"options":[{"name":"Get","value":"get","description":"Return the analytics data","action":"Get a report"}],"default":"get"},{"displayName":"Property Type","name":"propertyType","type":"options","noDataExpression":true,"description":"Google Analytics 4 is the latest version. Universal Analytics is an older version that is not fully functional after the end of June 2023.","options":[{"name":"Google Analytics 4","value":"ga4"},{"name":"Universal Analytics","value":"universal"}],"default":"ga4","displayOptions":{"show":{"resource":["report"],"operation":["get"]}}},{"displayName":"Property","name":"propertyId","type":"resourceLocator","default":{"mode":"list","value":""},"required":true,"description":"The Property of Google Analytics","hint":"If this doesn't work, try changing the 'Property Type' field above","modes":[{"displayName":"From List","name":"list","type":"list","placeholder":"Select a property...","typeOptions":{"searchListMethod":"searchProperties","searchFilterRequired":false,"searchable":false}},{"displayName":"By URL","name":"url","type":"string","placeholder":"https://analytics.google.com/analytics/...","validation":[{"type":"regex","properties":{"regex":".*analytics\\.google\\.com\\/analytics.*\\/p([0-9]{1,})(?:\\/.*|)*","errorMessage":"Not a valid Google Analytics URL"}}],"extractValue":{"type":"regex","regex":".*analytics\\.google\\.com\\/analytics.*\\/p([0-9]{1,})(?:\\/.*|)"}},{"displayName":"By ID","name":"id","type":"string","placeholder":"123456","validation":[{"type":"regex","properties":{"regex":"[0-9]{1,}","errorMessage":"Not a valid Google Analytics Property ID"}}],"url":"=https://analytics.google.com/analytics/web/#/p{{$value}}/"}],"displayOptions":{"show":{"resource":["report"],"operation":["get"],"propertyType":["ga4"]}}},{"displayName":"Date Range","name":"dateRange","type":"options","required":true,"options":[{"name":"Last 7 Days","value":"last7days"},{"name":"Last 30 Days","value":"last30days"},{"name":"Today","value":"today"},{"name":"Yesterday","value":"yesterday"},{"name":"Last Complete Calendar Week","value":"lastCalendarWeek"},{"name":"Last Complete Calendar Month","value":"lastCalendarMonth"},{"name":"Custom","value":"custom"}],"default":"last7days","displayOptions":{"show":{"resource":["report"],"operation":["get"],"propertyType":["ga4"]}}},{"displayName":"Start","name":"startDate","type":"dateTime","required":true,"default":"2023-05-23T00:00:00.000+00:00","displayOptions":{"show":{"resource":["report"],"operation":["get"],"dateRange":["custom"],"propertyType":["ga4"]}}},{"displayName":"End","name":"endDate","type":"dateTime","required":true,"default":"2023-05-30T00:00:00.000+00:00","displayOptions":{"show":{"resource":["report"],"operation":["get"],"dateRange":["custom"],"propertyType":["ga4"]}}},{"displayName":"Metrics","name":"metricsGA4","type":"fixedCollection","default":{"metricValues":[{"listName":"totalUsers"}]},"typeOptions":{"multipleValues":true},"placeholder":"Add Metric","description":"The quantitative measurements of a report. For example, the metric eventCount is the total number of events. Requests are allowed up to 10 metrics.","options":[{"displayName":"Values","name":"metricValues","values":[{"displayName":"Metric","name":"listName","type":"options","default":"totalUsers","options":[{"name":"1 Day Active Users","value":"active1DayUsers"},{"name":"28 Day Active Users","value":"active28DayUsers"},{"name":"7 Day Active Users","value":"active7DayUsers"},{"name":"Checkouts","value":"checkouts"},{"name":"Events","value":"eventCount"},{"name":"Page Views","value":"screenPageViews"},{"name":"Session Duration","value":"userEngagementDuration"},{"name":"Sessions","value":"sessions"},{"name":"Sessions per User","value":"sessionsPerUser"},{"name":"Total Users","value":"totalUsers"},{"name":"Other metrics…","value":"other"},{"name":"Custom metric…","value":"custom"}]},{"displayName":"Name or ID","name":"name","type":"options","typeOptions":{"loadOptionsMethod":"getMetricsGA4","loadOptionsDependsOn":["propertyId.value"]},"default":"totalUsers","hint":"If expression is specified, name can be any string that you would like","description":"The name of the metric. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>.","displayOptions":{"show":{"listName":["other"]}}},{"displayName":"Name","name":"name","type":"string","default":"custom_metric","displayOptions":{"show":{"listName":["custom"]}}},{"displayName":"Expression","name":"expression","type":"string","default":"","description":"A mathematical expression for derived metrics. For example, the metric Event count per user is eventCount/totalUsers.","placeholder":"e.g. eventCount/totalUsers","displayOptions":{"show":{"listName":["custom"]}}},{"displayName":"Invisible","name":"invisible","type":"boolean","default":false,"displayOptions":{"show":{"listName":["custom"]}},"description":"Whether a metric is invisible in the report response. If a metric is invisible, the metric will not produce a column in the response, but can be used in metricFilter, orderBys, or a metric expression."}]}],"displayOptions":{"show":{"resource":["report"],"operation":["get"],"propertyType":["ga4"]}}},{"displayName":"Dimensions to split by","name":"dimensionsGA4","type":"fixedCollection","default":{"dimensionValues":[{"listName":"date"}]},"typeOptions":{"multipleValues":true},"placeholder":"Add Dimension","description":"Dimensions are attributes of your data. For example, the dimension city indicates the city from which an event originates. Dimension values in report responses are strings; for example, the city could be \"Paris\" or \"New York\". Requests are allowed up to 9 dimensions.","options":[{"displayName":"Values","name":"dimensionValues","values":[{"displayName":"Dimension","name":"listName","type":"options","default":"date","options":[{"name":"Browser","value":"browser"},{"name":"Campaign","value":"campaignName"},{"name":"City","value":"city"},{"name":"Country","value":"country"},{"name":"Date","value":"date"},{"name":"Device Category","value":"deviceCategory"},{"name":"Item Name","value":"itemName"},{"name":"Language","value":"language"},{"name":"Page Location","value":"pageLocation"},{"name":"Source / Medium","value":"sourceMedium"},{"name":"Other dimensions…","value":"other"}]},{"displayName":"Name or ID","name":"name","type":"options","typeOptions":{"loadOptionsMethod":"getDimensionsGA4","loadOptionsDependsOn":["propertyId.value"]},"default":"date","description":"The name of the dimension. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>.","displayOptions":{"show":{"listName":["other"]}}}]}],"displayOptions":{"show":{"resource":["report"],"operation":["get"],"propertyType":["ga4"]}}},{"displayName":"Return All","name":"returnAll","type":"boolean","displayOptions":{"show":{"operation":["get"],"resource":["report"],"propertyType":["ga4"]}},"default":false,"description":"Whether to return all results or only up to a given limit"},{"displayName":"Limit","name":"limit","type":"number","displayOptions":{"show":{"operation":["get"],"resource":["report"],"propertyType":["ga4"],"returnAll":[false]}},"typeOptions":{"minValue":1,"maxValue":1000},"default":50,"description":"Max number of results to return"},{"displayName":"Simplify Output","name":"simple","type":"boolean","displayOptions":{"show":{"operation":["get"],"resource":["report"],"propertyType":["ga4"]}},"default":true,"description":"Whether to return a simplified version of the response instead of the raw data"},{"displayName":"Additional Fields","name":"additionalFields","type":"collection","placeholder":"Add Field","default":{},"displayOptions":{"show":{"resource":["report"],"operation":["get"],"propertyType":["ga4"]}},"options":[{"displayName":"Currency Code","name":"currencyCode","type":"string","default":"","description":"A currency code in ISO4217 format, such as \"AED\", \"USD\", \"JPY\". If the field is empty, the report uses the property's default currency."},{"displayName":"Dimensions Filters","name":"dimensionFiltersUI","type":"fixedCollection","default":{},"placeholder":"Add Filter","options":[{"displayName":"Filter Expressions","name":"filterExpressions","values":[{"displayName":"Filter Expression Type","name":"filterExpressionType","type":"options","default":"andGroup","options":[{"name":"And Group","value":"andGroup"},{"name":"Or Group","value":"orGroup"}]},{"displayName":"Expression","name":"expression","type":"fixedCollection","typeOptions":{"multipleValues":true},"default":{},"placeholder":"Add Expression","options":[{"displayName":"String Filter","name":"stringFilter","values":[{"displayName":"Dimension","name":"listName","type":"options","default":"date","options":[{"name":"Browser","value":"browser"},{"name":"Campaign","value":"campaignName"},{"name":"City","value":"city"},{"name":"Country","value":"country"},{"name":"Date","value":"date"},{"name":"Device Category","value":"deviceCategory"},{"name":"Item Name","value":"itemName"},{"name":"Language","value":"language"},{"name":"Page Location","value":"pageLocation"},{"name":"Source / Medium","value":"sourceMedium"},{"name":"Other dimensions…","value":"other"}]},{"displayName":"Name or ID","name":"name","type":"options","typeOptions":{"loadOptionsMethod":"getDimensionsGA4","loadOptionsDependsOn":["propertyId.value"]},"default":"date","description":"The name of the dimension. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>.","displayOptions":{"show":{"listName":["other"]}}},{"displayName":"Value","name":"value","type":"string","default":""},{"displayName":"Case Sensitive","name":"caseSensitive","type":"boolean","default":true},{"displayName":"Match Type","name":"matchType","type":"options","default":"EXACT","options":[{"name":"Begins With","value":"BEGINS_WITH"},{"name":"Contains Value","value":"CONTAINS"},{"name":"Ends With","value":"ENDS_WITH"},{"name":"Exact Match","value":"EXACT"},{"name":"Full Match for the Regular Expression","value":"FULL_REGEXP"},{"name":"Partial Match for the Regular Expression","value":"PARTIAL_REGEXP"}]}]},{"displayName":"In List Filter","name":"inListFilter","values":[{"displayName":"Dimension","name":"listName","type":"options","default":"date","options":[{"name":"Browser","value":"browser"},{"name":"Campaign","value":"campaignName"},{"name":"City","value":"city"},{"name":"Country","value":"country"},{"name":"Date","value":"date"},{"name":"Device Category","value":"deviceCategory"},{"name":"Item Name","value":"itemName"},{"name":"Language","value":"language"},{"name":"Page Location","value":"pageLocation"},{"name":"Source / Medium","value":"sourceMedium"},{"name":"Other dimensions…","value":"other"}]},{"displayName":"Name or ID","name":"name","type":"options","typeOptions":{"loadOptionsMethod":"getDimensionsGA4","loadOptionsDependsOn":["propertyId.value"]},"default":"date","description":"The name of the dimension. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>.","displayOptions":{"show":{"listName":["other"]}}},{"displayName":"Values","name":"values","type":"string","default":"","hint":"Comma separated list of values. Must be non-empty."},{"displayName":"Case Sensitive","name":"caseSensitive","type":"boolean","default":true}]},{"displayName":"Numeric Filter","name":"numericFilter","values":[{"displayName":"Dimension","name":"listName","type":"options","default":"date","options":[{"name":"Browser","value":"browser"},{"name":"Campaign","value":"campaignName"},{"name":"City","value":"city"},{"name":"Country","value":"country"},{"name":"Date","value":"date"},{"name":"Device Category","value":"deviceCategory"},{"name":"Item Name","value":"itemName"},{"name":"Language","value":"language"},{"name":"Page Location","value":"pageLocation"},{"name":"Source / Medium","value":"sourceMedium"},{"name":"Other dimensions…","value":"other"}]},{"displayName":"Name or ID","name":"name","type":"options","typeOptions":{"loadOptionsMethod":"getDimensionsGA4","loadOptionsDependsOn":["propertyId.value"]},"default":"date","description":"The name of the dimension. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>.","displayOptions":{"show":{"listName":["other"]}}},{"displayName":"Value Type","name":"valueType","type":"options","default":"doubleValue","options":[{"name":"Double Value","value":"doubleValue"},{"name":"Integer Value","value":"int64Value"}]},{"displayName":"Value","name":"value","type":"string","default":""},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"default":"EQUAL","options":[{"name":"Equal","value":"EQUAL"},{"name":"Greater Than","value":"GREATER_THAN"},{"name":"Greater than or Equal","value":"GREATER_THAN_OR_EQUAL"},{"name":"Less Than","value":"LESS_THAN"},{"name":"Less than or Equal","value":"LESS_THAN_OR_EQUAL"}]}]}]}]}]},{"displayName":"Metric Aggregation","name":"metricAggregations","type":"multiOptions","default":[],"options":[{"name":"MAXIMUM","value":"MAXIMUM"},{"name":"MINIMUM","value":"MINIMUM"},{"name":"TOTAL","value":"TOTAL"}],"displayOptions":{"show":{"/simple":[false]}}},{"displayName":"Metrics Filters","name":"metricsFiltersUI","type":"fixedCollection","default":{},"placeholder":"Add Filter","options":[{"displayName":"Filter Expressions","name":"filterExpressions","values":[{"displayName":"Filter Expression Type","name":"filterExpressionType","type":"options","default":"andGroup","options":[{"name":"And Group","value":"andGroup"},{"name":"Or Group","value":"orGroup"}]},{"displayName":"Expression","name":"expression","type":"fixedCollection","typeOptions":{"multipleValues":true},"default":{},"placeholder":"Add Expression","options":[{"displayName":"Between Filter","name":"betweenFilter","values":[{"displayName":"Metric","name":"listName","type":"options","default":"totalUsers","options":[{"name":"1 Day Active Users","value":"active1DayUsers"},{"name":"28 Day Active Users","value":"active28DayUsers"},{"name":"7 Day Active Users","value":"active7DayUsers"},{"name":"Checkouts","value":"checkouts"},{"name":"Events","value":"eventCount"},{"name":"Page Views","value":"screenPageViews"},{"name":"Session Duration","value":"userEngagementDuration"},{"name":"Sessions","value":"sessions"},{"name":"Sessions per User","value":"sessionsPerUser"},{"name":"Total Users","value":"totalUsers"},{"name":"Other metrics…","value":"other"},{"name":"Custom metric…","value":"custom"}]},{"displayName":"Name or ID","name":"name","type":"options","typeOptions":{"loadOptionsMethod":"getMetricsGA4","loadOptionsDependsOn":["propertyId.value"]},"default":"totalUsers","hint":"If expression is specified, name can be any string that you would like","description":"The name of the metric. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>.","displayOptions":{"show":{"listName":["other"]}}},{"displayName":"Name","name":"name","type":"string","default":"custom_metric","displayOptions":{"show":{"listName":["custom"]}}},{"displayName":"Value Type","name":"valueType","type":"options","default":"doubleValue","options":[{"name":"Double Value","value":"doubleValue"},{"name":"Integer Value","value":"int64Value"}]},{"displayName":"From Value","name":"fromValue","type":"string","default":""},{"displayName":"To Value","name":"toValue","type":"string","default":""}]},{"displayName":"Numeric Filter","name":"numericFilter","values":[{"displayName":"Metric","name":"listName","type":"options","default":"totalUsers","options":[{"name":"1 Day Active Users","value":"active1DayUsers"},{"name":"28 Day Active Users","value":"active28DayUsers"},{"name":"7 Day Active Users","value":"active7DayUsers"},{"name":"Checkouts","value":"checkouts"},{"name":"Events","value":"eventCount"},{"name":"Page Views","value":"screenPageViews"},{"name":"Session Duration","value":"userEngagementDuration"},{"name":"Sessions","value":"sessions"},{"name":"Sessions per User","value":"sessionsPerUser"},{"name":"Total Users","value":"totalUsers"},{"name":"Other metrics…","value":"other"},{"name":"Custom metric…","value":"custom"}]},{"displayName":"Name or ID","name":"name","type":"options","typeOptions":{"loadOptionsMethod":"getMetricsGA4","loadOptionsDependsOn":["propertyId.value"]},"default":"totalUsers","hint":"If expression is specified, name can be any string that you would like","description":"The name of the metric. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>.","displayOptions":{"show":{"listName":["other"]}}},{"displayName":"Name","name":"name","type":"string","default":"custom_metric","displayOptions":{"show":{"listName":["custom"]}}},{"displayName":"Value Type","name":"valueType","type":"options","default":"doubleValue","options":[{"name":"Double Value","value":"doubleValue"},{"name":"Integer Value","value":"int64Value"}]},{"displayName":"Value","name":"value","type":"string","default":""},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"default":"EQUAL","options":[{"name":"Equal","value":"EQUAL"},{"name":"Greater Than","value":"GREATER_THAN"},{"name":"Greater than or Equal","value":"GREATER_THAN_OR_EQUAL"},{"name":"Less Than","value":"LESS_THAN"},{"name":"Less than or Equal","value":"LESS_THAN_OR_EQUAL"}]}]}]}]}]},{"displayName":"Keep Empty Rows","name":"keepEmptyRows","type":"boolean","default":false,"description":"Whether false or unspecified, each row with all metrics equal to 0 will not be returned. If true, these rows will be returned if they are not separately removed by a filter."},{"displayName":"Order By","name":"orderByUI","type":"fixedCollection","default":{},"typeOptions":{"multipleValues":true},"placeholder":"Add Order","description":"Specifies how rows are ordered in the response","options":[{"displayName":"Metric Order By","name":"metricOrderBy","values":[{"displayName":"Descending","name":"desc","type":"boolean","default":false,"description":"Whether true, sorts by descending order"},{"displayName":"Metric Name or ID","name":"metricName","type":"options","typeOptions":{"loadOptionsMethod":"getMetricsGA4","loadOptionsDependsOn":["propertyId.value"]},"default":"","description":"Sorts by metric values. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>."}]},{"displayName":"Dimmension Order By","name":"dimmensionOrderBy","values":[{"displayName":"Descending","name":"desc","type":"boolean","default":false,"description":"Whether true, sorts by descending order"},{"displayName":"Dimmension Name or ID","name":"dimensionName","type":"options","typeOptions":{"loadOptionsMethod":"getDimensionsGA4","loadOptionsDependsOn":["propertyId.value"]},"default":"","description":"Sorts by metric values. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>."},{"displayName":"Order Type","name":"orderType","type":"options","default":"ORDER_TYPE_UNSPECIFIED","options":[{"name":"Alphanumeric","value":"ALPHANUMERIC","description":"Alphanumeric sort by Unicode code point"},{"name":"Case Insensitive Alphanumeric","value":"CASE_INSENSITIVE_ALPHANUMERIC","description":"Case insensitive alphanumeric sort by lower case Unicode code point"},{"name":"Numeric","value":"NUMERIC","description":"Dimension values are converted to numbers before sorting"},{"name":"Unspecified","value":"ORDER_TYPE_UNSPECIFIED"}]}]}]},{"displayName":"Return Property Quota","name":"returnPropertyQuota","type":"boolean","default":false,"description":"Whether to return the current state of this Analytics Property's quota. Quota is returned in PropertyQuota.","displayOptions":{"show":{"/simple":[false]}}}]},{"displayName":"View","name":"viewId","type":"resourceLocator","default":{"mode":"list","value":""},"required":true,"description":"The View of Google Analytics","hint":"If this doesn't work, try changing the 'Property Type' field above","modes":[{"displayName":"From List","name":"list","type":"list","placeholder":"Select a view...","typeOptions":{"searchListMethod":"searchViews","searchFilterRequired":false,"searchable":false}},{"displayName":"By URL","name":"url","type":"string","placeholder":"https://analytics.google.com/analytics/...","validation":[{"type":"regex","properties":{"regex":".*analytics.google.com/analytics.*p[0-9]{1,}.*","errorMessage":"Not a valid Google Analytics URL"}}],"extractValue":{"type":"regex","regex":".*analytics.google.com/analytics.*p([0-9]{1,})"}},{"displayName":"By ID","name":"id","type":"string","placeholder":"123456","validation":[{"type":"regex","properties":{"regex":"[0-9]{1,}","errorMessage":"Not a valid Google Analytics View ID"}}]}],"displayOptions":{"show":{"resource":["report"],"operation":["get"],"propertyType":["universal"]}}},{"displayName":"Date Range","name":"dateRange","type":"options","required":true,"options":[{"name":"Last 7 Days","value":"last7days"},{"name":"Last 30 Days","value":"last30days"},{"name":"Today","value":"today"},{"name":"Yesterday","value":"yesterday"},{"name":"Last Complete Calendar Week","value":"lastCalendarWeek"},{"name":"Last Complete Calendar Month","value":"lastCalendarMonth"},{"name":"Custom","value":"custom"}],"default":"last7days","displayOptions":{"show":{"resource":["report"],"operation":["get"],"propertyType":["universal"]}}},{"displayName":"Start","name":"startDate","type":"dateTime","required":true,"default":"2023-05-23T00:00:00.000+00:00","displayOptions":{"show":{"resource":["report"],"operation":["get"],"propertyType":["universal"],"dateRange":["custom"]}}},{"displayName":"End","name":"endDate","type":"dateTime","required":true,"default":"2023-05-30T00:00:00.000+00:00","displayOptions":{"show":{"resource":["report"],"operation":["get"],"propertyType":["universal"],"dateRange":["custom"]}}},{"displayName":"Metrics","name":"metricsUA","type":"fixedCollection","default":{"metricValues":[{"listName":"ga:users"}]},"typeOptions":{"multipleValues":true},"placeholder":"Add metric","description":"Metrics in the request","options":[{"displayName":"Metric","name":"metricValues","values":[{"displayName":"Metric","name":"listName","type":"options","default":"ga:users","options":[{"name":"Checkouts","value":"ga:productCheckouts"},{"name":"Events","value":"ga:totalEvents"},{"name":"Page Views","value":"ga:pageviews"},{"name":"Session Duration","value":"ga:sessionDuration"},{"name":"Sessions","value":"ga:sessions"},{"name":"Sessions per User","value":"ga:sessionsPerUser"},{"name":"Total Users","value":"ga:users"},{"name":"Other metrics…","value":"other"},{"name":"Custom metric…","value":"custom"}]},{"displayName":"Name or ID","name":"name","type":"options","typeOptions":{"loadOptionsMethod":"getMetrics","loadOptionsDependsOn":["viewId.value"]},"default":"ga:users","hint":"If expression is specified, name can be any string that you would like","description":"The name of the metric. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>.","displayOptions":{"show":{"listName":["other"]}}},{"displayName":"Name","name":"name","type":"string","default":"custom_metric","displayOptions":{"show":{"listName":["custom"]}}},{"displayName":"Expression","name":"expression","type":"string","default":"","placeholder":"e.g. ga:totalRefunds/ga:users","description":"Learn more about Google Analytics <a href=\"https://developers.google.com/analytics/devguides/reporting/core/v4/rest/v4/reports/batchGet#Metric\">metric expressions</a>","displayOptions":{"show":{"listName":["custom"]}}},{"displayName":"Formatting Type","name":"formattingType","type":"options","default":"INTEGER","description":"Specifies how the metric expression should be formatted","options":[{"name":"Currency","value":"CURRENCY"},{"name":"Float","value":"FLOAT"},{"name":"Integer","value":"INTEGER"},{"name":"Percent","value":"PERCENT"},{"name":"Time","value":"TIME"}],"displayOptions":{"show":{"listName":["custom"]}}}]}],"displayOptions":{"show":{"resource":["report"],"operation":["get"],"propertyType":["universal"]}}},{"displayName":"Dimensions to split by","name":"dimensionsUA","type":"fixedCollection","default":{"dimensionValues":[{"listName":"ga:date"}]},"typeOptions":{"multipleValues":true},"placeholder":"Add Dimension","description":"Dimensions are attributes of your data. For example, the dimension ga:city indicates the city, for example, \"Paris\" or \"New York\", from which a session originates.","options":[{"displayName":"Values","name":"dimensionValues","values":[{"displayName":"Dimension","name":"listName","type":"options","default":"ga:date","options":[{"name":"Browser","value":"ga:browser"},{"name":"Campaign","value":"ga:campaign"},{"name":"City","value":"ga:city"},{"name":"Country","value":"ga:country"},{"name":"Date","value":"ga:date"},{"name":"Device Category","value":"ga:deviceCategory"},{"name":"Item Name","value":"ga:productName"},{"name":"Language","value":"ga:language"},{"name":"Page","value":"ga:pagePath"},{"name":"Source / Medium","value":"ga:sourceMedium"},{"name":"Other dimensions…","value":"other"}]},{"displayName":"Name or ID","name":"name","type":"options","typeOptions":{"loadOptionsMethod":"getDimensions","loadOptionsDependsOn":["viewId.value"]},"default":"ga:date","description":"Name of the dimension to fetch, for example ga:browser. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>.","displayOptions":{"show":{"listName":["other"]}}}]}],"displayOptions":{"show":{"resource":["report"],"operation":["get"],"propertyType":["universal"]}}},{"displayName":"Return All","name":"returnAll","type":"boolean","displayOptions":{"show":{"operation":["get"],"resource":["report"],"propertyType":["universal"]}},"default":false,"description":"Whether to return all results or only up to a given limit"},{"displayName":"Limit","name":"limit","type":"number","displayOptions":{"show":{"operation":["get"],"resource":["report"],"propertyType":["universal"],"returnAll":[false]}},"typeOptions":{"minValue":1,"maxValue":1000},"default":50,"description":"Max number of results to return"},{"displayName":"Simplify Output","name":"simple","type":"boolean","displayOptions":{"show":{"operation":["get"],"resource":["report"],"propertyType":["universal"]}},"default":true,"description":"Whether to return a simplified version of the response instead of the raw data"},{"displayName":"Additional Fields","name":"additionalFields","type":"collection","placeholder":"Add Field","default":{},"displayOptions":{"show":{"resource":["report"],"operation":["get"],"propertyType":["universal"]}},"options":[{"displayName":"Dimension Filters","name":"dimensionFiltersUi","type":"fixedCollection","default":{},"typeOptions":{"multipleValues":true},"placeholder":"Add Dimension Filter","description":"Dimension Filters in the request","options":[{"displayName":"Filters","name":"filterValues","values":[{"displayName":"Dimension","name":"listName","type":"options","default":"ga:date","options":[{"name":"Browser","value":"ga:browser"},{"name":"Campaign","value":"ga:campaign"},{"name":"City","value":"ga:city"},{"name":"Country","value":"ga:country"},{"name":"Date","value":"ga:date"},{"name":"Device Category","value":"ga:deviceCategory"},{"name":"Item Name","value":"ga:productName"},{"name":"Language","value":"ga:language"},{"name":"Page","value":"ga:pagePath"},{"name":"Source / Medium","value":"ga:sourceMedium"},{"name":"Other dimensions…","value":"other"}]},{"displayName":"Name or ID","name":"name","type":"options","typeOptions":{"loadOptionsMethod":"getDimensions","loadOptionsDependsOn":["viewId.value"]},"default":"ga:date","description":"Name of the dimension to fetch, for example ga:browser. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>.","displayOptions":{"show":{"listName":["other"]}}},{"displayName":"Operator","name":"operator","type":"options","default":"EXACT","description":"Operator to use in combination with value","options":[{"name":"Begins With","value":"BEGINS_WITH"},{"name":"Ends With","value":"ENDS_WITH"},{"name":"Equals (Number)","value":"NUMERIC_EQUAL"},{"name":"Exactly Matches","value":"EXACT"},{"name":"Greater Than (Number)","value":"NUMERIC_GREATER_THAN"},{"name":"Less Than (Number)","value":"NUMERIC_LESS_THAN"},{"name":"Partly Matches","value":"PARTIAL"},{"name":"Regular Expression","value":"REGEXP"}]},{"displayName":"Value","name":"expressions","type":"string","default":"","placeholder":"","description":"String or <a href=\"https://support.google.com/analytics/answer/1034324?hl=en\">regular expression</a> to match against"}]}]},{"displayName":"Hide Totals","name":"hideTotals","type":"boolean","default":false,"description":"Whether to hide the total of all metrics for all the matching rows, for every date range","displayOptions":{"show":{"/simple":[false]}}},{"displayName":"Hide Value Ranges","name":"hideValueRanges","type":"boolean","default":false,"description":"Whether to hide the minimum and maximum across all matching rows","displayOptions":{"show":{"/simple":[false]}}},{"displayName":"Include Empty Rows","name":"includeEmptyRows","type":"boolean","default":false,"description":"Whether the response exclude rows if all the retrieved metrics are equal to zero"},{"displayName":"Use Resource Quotas","name":"useResourceQuotas","type":"boolean","default":false,"description":"Whether to enable resource based quotas","displayOptions":{"show":{"/simple":[false]}}}]},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"displayOptions":{"show":{"resource":["userActivity"]}},"options":[{"name":"Search","value":"search","description":"Return user activity data","action":"Search user activity data"}],"default":"search"},{"displayName":"View Name or ID","name":"viewId","type":"options","typeOptions":{"loadOptionsMethod":"getViews"},"default":"","required":true,"displayOptions":{"show":{"resource":["userActivity"],"operation":["search"]}},"placeholder":"123456","description":"The view from Google Analytics. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>.","hint":"If there's nothing here, try changing the 'Property type' field above"},{"displayName":"User ID","name":"userId","type":"string","default":"","required":true,"displayOptions":{"show":{"resource":["userActivity"],"operation":["search"]}},"placeholder":"123456","description":"ID of a user"},{"displayName":"Return All","name":"returnAll","type":"boolean","displayOptions":{"show":{"operation":["search"],"resource":["userActivity"]}},"default":false,"description":"Whether to return all results or only up to a given limit"},{"displayName":"Limit","name":"limit","type":"number","displayOptions":{"show":{"operation":["search"],"resource":["userActivity"],"returnAll":[false]}},"typeOptions":{"minValue":1,"maxValue":500},"default":100,"description":"Max number of results to return"},{"displayName":"Additional Fields","name":"additionalFields","type":"collection","placeholder":"Add Field","default":{},"displayOptions":{"show":{"operation":["search"],"resource":["userActivity"]}},"options":[{"displayName":"Activity Types","name":"activityTypes","type":"multiOptions","options":[{"name":"Ecommerce","value":"ECOMMERCE"},{"name":"Event","value":"EVENT"},{"name":"Goal","value":"GOAL"},{"name":"Pageview","value":"PAGEVIEW"},{"name":"Screenview","value":"SCREENVIEW"}],"description":"Type of activites requested","default":[]}]}],"iconUrl":"icons/n8n-nodes-base/dist/nodes/Google/Analytics/analytics.svg","codex":{"categories":["Analytics"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googleanalytics/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]}}},
129
129
  {"displayName":"Google BigQuery","name":"n8n-nodes-base.googleBigQuery","group":["input"],"subtitle":"={{$parameter[\"operation\"] + \": \" + $parameter[\"resource\"]}}","description":"Consume Google BigQuery API","defaultVersion":2,"version":1,"defaults":{"name":"Google BigQuery"},"inputs":["main"],"outputs":["main"],"credentials":[{"name":"googleApi","required":true,"displayOptions":{"show":{"authentication":["serviceAccount"]}}},{"name":"googleBigQueryOAuth2Api","required":true,"displayOptions":{"show":{"authentication":["oAuth2"]}}}],"properties":[{"displayName":"<strong>New node version available:</strong> get the latest version with added features from the nodes panel.","name":"oldVersionNotice","type":"notice","default":""},{"displayName":"Authentication","name":"authentication","type":"options","noDataExpression":true,"options":[{"name":"OAuth2 (recommended)","value":"oAuth2"},{"name":"Service Account","value":"serviceAccount"}],"default":"oAuth2"},{"displayName":"Resource","name":"resource","type":"options","noDataExpression":true,"options":[{"name":"Record","value":"record"}],"default":"record"},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"displayOptions":{"show":{"resource":["record"]}},"options":[{"name":"Create","value":"create","description":"Create a new record","action":"Create a record"},{"name":"Get Many","value":"getAll","description":"Retrieve many records","action":"Get many records"}],"default":"create"},{"displayName":"Project Name or ID","name":"projectId","type":"options","typeOptions":{"loadOptionsMethod":"getProjects"},"required":true,"displayOptions":{"show":{"operation":["create"],"resource":["record"]}},"default":"","description":"ID of the project to create the record in. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>."},{"displayName":"Dataset Name or ID","name":"datasetId","type":"options","typeOptions":{"loadOptionsMethod":"getDatasets","loadOptionsDependsOn":["projectId"]},"required":true,"displayOptions":{"show":{"operation":["create"],"resource":["record"]}},"default":"","description":"ID of the dataset to create the record in. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>."},{"displayName":"Table Name or ID","name":"tableId","type":"options","typeOptions":{"loadOptionsMethod":"getTables","loadOptionsDependsOn":["projectId","datasetId"]},"required":true,"displayOptions":{"show":{"operation":["create"],"resource":["record"]}},"default":"","description":"ID of the table to create the record in. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>."},{"displayName":"Columns","name":"columns","type":"string","displayOptions":{"show":{"resource":["record"],"operation":["create"]}},"default":"","required":true,"placeholder":"id,name,description","description":"Comma-separated list of the item properties to use as columns"},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Options","default":{},"displayOptions":{"show":{"operation":["create"],"resource":["record"]}},"options":[{"displayName":"Ignore Unknown Values","name":"ignoreUnknownValues","type":"boolean","default":false,"description":"Whether to gnore row values that do not match the schema"},{"displayName":"Skip Invalid Rows","name":"skipInvalidRows","type":"boolean","default":false,"description":"Whether to skip rows with values that do not match the schema"},{"displayName":"Template Suffix","name":"templateSuffix","type":"string","default":"","description":"Create a new table based on the destination table and insert rows into the new table. The new table will be named <code>{destinationTable}{templateSuffix}</code>"},{"displayName":"Trace ID","name":"traceId","type":"string","default":"","description":"Unique ID for the request, for debugging only. It is case-sensitive, limited to up to 36 ASCII characters. A UUID is recommended."}]},{"displayName":"Project Name or ID","name":"projectId","type":"options","typeOptions":{"loadOptionsMethod":"getProjects"},"required":true,"displayOptions":{"show":{"operation":["getAll"],"resource":["record"]}},"default":"","description":"ID of the project to retrieve all rows from. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>."},{"displayName":"Dataset Name or ID","name":"datasetId","type":"options","typeOptions":{"loadOptionsMethod":"getDatasets","loadOptionsDependsOn":["projectId"]},"required":true,"displayOptions":{"show":{"operation":["getAll"],"resource":["record"]}},"default":"","description":"ID of the dataset to retrieve all rows from. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>."},{"displayName":"Table Name or ID","name":"tableId","type":"options","typeOptions":{"loadOptionsMethod":"getTables","loadOptionsDependsOn":["projectId","datasetId"]},"required":true,"displayOptions":{"show":{"operation":["getAll"],"resource":["record"]}},"default":"","description":"ID of the table to retrieve all rows from. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>."},{"displayName":"Return All","name":"returnAll","type":"boolean","displayOptions":{"show":{"operation":["getAll"],"resource":["record"]}},"default":false,"description":"Whether to return all results or only up to a given limit"},{"displayName":"Limit","name":"limit","type":"number","displayOptions":{"show":{"operation":["getAll"],"resource":["record"],"returnAll":[false]}},"typeOptions":{"minValue":1,"maxValue":500},"default":50,"description":"Max number of results to return"},{"displayName":"Simplify","name":"simple","type":"boolean","displayOptions":{"show":{"resource":["record"],"operation":["getAll"]}},"default":true,"description":"Whether to return a simplified version of the response instead of the raw data"},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Options","default":{},"displayOptions":{"show":{"operation":["getAll"],"resource":["record"]}},"options":[{"displayName":"Fields","name":"selectedFields","type":"string","default":"","description":"Subset of fields to return, supports select into sub fields. Example: <code>selectedFields = \"a,e.d.f\"</code>"}]}],"iconUrl":"icons/n8n-nodes-base/dist/nodes/Google/BigQuery/googleBigQuery.svg"},
130
130
  {"displayName":"Google BigQuery","name":"n8n-nodes-base.googleBigQuery","group":["input"],"subtitle":"={{$parameter[\"operation\"]}}","description":"Consume Google BigQuery API","defaultVersion":2,"version":2,"defaults":{"name":"Google BigQuery"},"inputs":["main"],"outputs":["main"],"credentials":[{"name":"googleApi","required":true,"displayOptions":{"show":{"authentication":["serviceAccount"]}}},{"name":"googleBigQueryOAuth2Api","required":true,"displayOptions":{"show":{"authentication":["oAuth2"]}}}],"properties":[{"displayName":"Authentication","name":"authentication","type":"options","noDataExpression":true,"options":[{"name":"OAuth2 (recommended)","value":"oAuth2"},{"name":"Service Account","value":"serviceAccount"}],"default":"oAuth2"},{"displayName":"Resource","name":"resource","type":"hidden","noDataExpression":true,"options":[{"name":"Database","value":"database"}],"default":"database"},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"displayOptions":{"show":{"resource":["database"]}},"options":[{"name":"Execute Query","value":"executeQuery","description":"Execute a SQL query","action":"Execute a SQL query"},{"name":"Insert","value":"insert","description":"Insert rows in a table","action":"Insert rows in a table"}],"default":"executeQuery"},{"displayName":"Project","name":"projectId","type":"resourceLocator","default":{"mode":"list","value":""},"required":true,"modes":[{"displayName":"From List","name":"list","type":"list","typeOptions":{"searchListMethod":"searchProjects","searchable":true}},{"displayName":"By URL","name":"url","type":"string","extractValue":{"type":"regex","regex":"https:\\/\\/console.cloud.google.com\\/bigquery\\?project=([0-9a-zA-Z\\-_]+).{0,}"},"validation":[{"type":"regex","properties":{"regex":"https:\\/\\/console.cloud.google.com\\/bigquery\\?project=([0-9a-zA-Z\\-_]+).{0,}","errorMessage":"Not a valid BigQuery Project URL"}}]},{"displayName":"By ID","name":"id","type":"string","validation":[{"type":"regex","properties":{"regex":"[a-zA-Z0-9\\-_]{2,}","errorMessage":"Not a valid BigQuery Project ID"}}],"url":"=https://console.cloud.google.com/bigquery?project={{$value}}"}],"description":"Projects to which you have been granted any project role","displayOptions":{"show":{"resource":["database"],"operation":["executeQuery","insert"]}}},{"displayName":"Dataset","name":"datasetId","type":"resourceLocator","default":{"mode":"list","value":""},"required":true,"modes":[{"displayName":"From List","name":"list","type":"list","typeOptions":{"searchListMethod":"searchDatasets","searchable":true}},{"displayName":"By ID","name":"id","type":"string","validation":[{"type":"regex","properties":{"regex":"[a-zA-Z0-9\\-_]{2,}","errorMessage":"Not a valid Dataset ID"}}]}],"displayOptions":{"show":{"resource":["database"],"operation":["insert"]}}},{"displayName":"Table","name":"tableId","type":"resourceLocator","default":{"mode":"list","value":""},"required":true,"modes":[{"displayName":"From List","name":"list","type":"list","typeOptions":{"searchListMethod":"searchTables","searchable":true}},{"displayName":"By ID","name":"id","type":"string","validation":[{"type":"regex","properties":{"regex":"[a-zA-Z0-9\\-_]{2,}","errorMessage":"Not a valid Table ID"}}]}],"displayOptions":{"show":{"resource":["database"],"operation":["insert"]}}},{"displayName":"SQL Query","name":"sqlQuery","type":"string","typeOptions":{"editor":"sqlEditor"},"displayOptions":{"hide":{"/options.useLegacySql":[true]},"show":{"resource":["database"],"operation":["executeQuery"]}},"default":"","placeholder":"SELECT * FROM dataset.table LIMIT 100","description":"SQL query to execute, you can find more information <a href=\"https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax\" target=\"_blank\">here</a>. Standard SQL syntax used by default, but you can also use Legacy SQL syntax by using optinon 'Use Legacy SQL'."},{"displayName":"SQL Query","name":"sqlQuery","type":"string","typeOptions":{"editor":"sqlEditor"},"displayOptions":{"show":{"/options.useLegacySql":[true],"resource":["database"],"operation":["executeQuery"]}},"default":"","placeholder":"SELECT * FROM [project:dataset.table] LIMIT 100;","hint":"Legacy SQL syntax","description":"SQL query to execute, you can find more information about Legacy SQL syntax <a href=\"https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax\" target=\"_blank\">here</a>"},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Options","default":{},"options":[{"displayName":"Default Dataset Name or ID","name":"defaultDataset","type":"options","typeOptions":{"loadOptionsMethod":"getDatasets","loadOptionsDependsOn":["projectId.value"]},"default":"","description":"If not set, all table names in the query string must be qualified in the format 'datasetId.tableId'. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>."},{"displayName":"Dry Run","name":"dryRun","type":"boolean","default":false,"description":"Whether set to true BigQuery doesn't run the job. Instead, if the query is valid, BigQuery returns statistics about the job such as how many bytes would be processed. If the query is invalid, an error returns."},{"displayName":"Include Schema in Output","name":"includeSchema","type":"boolean","default":false,"description":"Whether to include the schema in the output. If set to true, the output will contain key '_schema' with the schema of the table.","displayOptions":{"hide":{"rawOutput":[true]}}},{"displayName":"Location","name":"location","type":"string","default":"","placeholder":"e.g. europe-west3","description":"Location or the region where data would be stored and processed. Pricing for storage and analysis is also defined by location of data and reservations, more information <a href=\"https://cloud.google.com/bigquery/docs/locations\" target=\"_blank\">here</a>."},{"displayName":"Maximum Bytes Billed","name":"maximumBytesBilled","type":"string","default":"","description":"Limits the bytes billed for this query. Queries with bytes billed above this limit will fail (without incurring a charge). String in <a href=\"https://developers.google.com/discovery/v1/type-format?utm_source=cloud.google.com&utm_medium=referral\" target=\"_blank\">Int64Value</a> format"},{"displayName":"Max Results","name":"maxResults","type":"number","default":1000,"description":"The maximum number of rows of data to return"},{"displayName":"Timeout","name":"timeoutMs","type":"number","default":10000,"description":"How long to wait for the query to complete, in milliseconds"},{"displayName":"Raw Output","name":"rawOutput","type":"boolean","default":false,"displayOptions":{"hide":{"dryRun":[true]}}},{"displayName":"Use Legacy SQL","name":"useLegacySql","type":"boolean","default":false,"description":"Whether to use BigQuery's legacy SQL dialect for this query. If set to false, the query will use BigQuery's standard SQL."}],"displayOptions":{"show":{"resource":["database"],"operation":["executeQuery"]}}},{"displayName":"Data Mode","name":"dataMode","type":"options","options":[{"name":"Auto-Map Input Data","value":"autoMap","description":"Use when node input properties match destination field names"},{"name":"Map Each Field Below","value":"define","description":"Set the value for each destination field"}],"default":"autoMap","description":"Whether to insert the input data this node receives in the new row","displayOptions":{"show":{"resource":["database"],"operation":["insert"]}}},{"displayName":"In this mode, make sure the incoming data fields are named the same as the columns in BigQuery. (Use a 'set' node before this node to change them if required.)","name":"info","type":"notice","default":"","displayOptions":{"show":{"dataMode":["autoMap"],"resource":["database"],"operation":["insert"]}}},{"displayName":"Fields to Send","name":"fieldsUi","placeholder":"Add Field","type":"fixedCollection","typeOptions":{"multipleValueButtonText":"Add Field","multipleValues":true},"default":{},"options":[{"displayName":"Field","name":"values","values":[{"displayName":"Field Name or ID","name":"fieldId","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsDependsOn":["projectId.value","datasetId.value","tableId.value"],"loadOptionsMethod":"getSchema"},"default":""},{"displayName":"Field Value","name":"fieldValue","type":"string","default":""}]}],"displayOptions":{"show":{"dataMode":["define"],"resource":["database"],"operation":["insert"]}}},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Options","default":{},"options":[{"displayName":"Batch Size","name":"batchSize","type":"number","default":100,"typeOptions":{"minValue":1}},{"displayName":"Ignore Unknown Values","name":"ignoreUnknownValues","type":"boolean","default":false,"description":"Whether to gnore row values that do not match the schema"},{"displayName":"Skip Invalid Rows","name":"skipInvalidRows","type":"boolean","default":false,"description":"Whether to skip rows with values that do not match the schema"},{"displayName":"Template Suffix","name":"templateSuffix","type":"string","default":"","description":"Create a new table based on the destination table and insert rows into the new table. The new table will be named <code>{destinationTable}{templateSuffix}</code>"},{"displayName":"Trace ID","name":"traceId","type":"string","default":"","description":"Unique ID for the request, for debugging only. It is case-sensitive, limited to up to 36 ASCII characters. A UUID is recommended."}],"displayOptions":{"show":{"resource":["database"],"operation":["insert"]}}}],"iconUrl":"icons/n8n-nodes-base/dist/nodes/Google/BigQuery/googleBigQuery.svg","codex":{"categories":["Data & Storage","Development"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googlebigquery/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]}}},
131
131
  {"displayName":"Google Books","name":"n8n-nodes-base.googleBooks","group":["input","output"],"version":[1,2],"description":"Read data from Google Books","subtitle":"={{$parameter[\"operation\"] + \": \" + $parameter[\"resource\"]}}","defaults":{"name":"Google Books"},"inputs":["main"],"outputs":["main"],"credentials":[{"name":"googleApi","required":true,"displayOptions":{"show":{"authentication":["serviceAccount"]}}},{"name":"googleBooksOAuth2Api","required":true,"displayOptions":{"show":{"authentication":["oAuth2"]}}}],"properties":[{"displayName":"Authentication","name":"authentication","type":"options","options":[{"name":"Service Account","value":"serviceAccount"},{"name":"OAuth2","value":"oAuth2"}],"default":"serviceAccount","displayOptions":{"show":{"@version":[1]}}},{"displayName":"Authentication","name":"authentication","type":"options","options":[{"name":"OAuth2 (recommended)","value":"oAuth2"},{"name":"Service Account","value":"serviceAccount"}],"default":"oAuth2","displayOptions":{"show":{"@version":[2]}}},{"displayName":"Resource","name":"resource","type":"options","noDataExpression":true,"options":[{"name":"Bookshelf","value":"bookshelf"},{"name":"Bookshelf Volume","value":"bookshelfVolume"},{"name":"Volume","value":"volume"}],"default":"bookshelf"},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"options":[{"name":"Get","value":"get","description":"Retrieve a specific bookshelf resource for the specified user","action":"Get a bookshelf"},{"name":"Get Many","value":"getAll","description":"Get many public bookshelf resource for the specified user","action":"Get many bookshelves"}],"displayOptions":{"show":{"resource":["bookshelf"]}},"default":"get"},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"options":[{"name":"Add","value":"add","description":"Add a volume to a bookshelf","action":"Add a bookshelf volume"},{"name":"Clear","value":"clear","description":"Clears all volumes from a bookshelf","action":"Clear a bookshelf volume"},{"name":"Get Many","value":"getAll","description":"Get many volumes in a specific bookshelf for the specified user","action":"Get many bookshelf volumes"},{"name":"Move","value":"move","description":"Moves a volume within a bookshelf","action":"Move a bookshelf volume"},{"name":"Remove","value":"remove","description":"Removes a volume from a bookshelf","action":"Remove a bookshelf volume"}],"displayOptions":{"show":{"resource":["bookshelfVolume"]}},"default":"getAll"},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"options":[{"name":"Get","value":"get","description":"Get a volume resource based on ID","action":"Get a volume"},{"name":"Get Many","value":"getAll","description":"Get many volumes filtered by query","action":"Get many volumes"}],"displayOptions":{"show":{"resource":["volume"]}},"default":"get"},{"displayName":"My Library","name":"myLibrary","type":"boolean","default":false,"required":true,"displayOptions":{"show":{"operation":["get","getAll"],"resource":["bookshelf","bookshelfVolume"]}}},{"displayName":"Search Query","name":"searchQuery","type":"string","description":"Full-text search query string","default":"","required":true,"displayOptions":{"show":{"operation":["getAll"],"resource":["volume"]}}},{"displayName":"User ID","name":"userId","type":"string","description":"ID of user","default":"","required":true,"displayOptions":{"show":{"operation":["get","getAll"],"resource":["bookshelf","bookshelfVolume"]},"hide":{"myLibrary":[true]}}},{"displayName":"Bookshelf ID","name":"shelfId","type":"string","description":"ID of the bookshelf","default":"","required":true,"displayOptions":{"show":{"operation":["get","add","clear","move","remove"],"resource":["bookshelf","bookshelfVolume"]}}},{"displayName":"Bookshelf ID","name":"shelfId","type":"string","description":"ID of the bookshelf","default":"","required":true,"displayOptions":{"show":{"operation":["getAll"],"resource":["bookshelfVolume"]}}},{"displayName":"Volume ID","name":"volumeId","type":"string","description":"ID of the volume","default":"","required":true,"displayOptions":{"show":{"operation":["add","move","remove","get"],"resource":["bookshelfVolume","volume"]}}},{"displayName":"Volume Position","name":"volumePosition","type":"string","description":"Position on shelf to move the item (0 puts the item before the current first item, 1 puts it between the first and the second and so on)","default":"","required":true,"displayOptions":{"show":{"operation":["move"],"resource":["bookshelfVolume"]}}},{"displayName":"Return All","name":"returnAll","type":"boolean","displayOptions":{"show":{"operation":["getAll"]}},"default":false,"description":"Whether to return all results or only up to a given limit"},{"displayName":"Limit","name":"limit","type":"number","displayOptions":{"show":{"operation":["getAll"],"returnAll":[false]}},"typeOptions":{"minValue":1,"maxValue":40},"default":40,"description":"Max number of results to return"}],"codex":{"categories":["Miscellaneous"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googlebooks/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]}},"iconUrl":"icons/n8n-nodes-base/dist/nodes/Google/Books/googlebooks.svg"},
@@ -145,9 +145,10 @@
145
145
  {"displayName":"Gmail Trigger","name":"n8n-nodes-base.gmailTrigger","group":["trigger"],"version":1,"description":"Fetches emails from Gmail and starts the workflow on specified polling intervals.","subtitle":"={{\"Gmail Trigger\"}}","defaults":{"name":"Gmail Trigger"},"credentials":[{"name":"googleApi","required":true,"displayOptions":{"show":{"authentication":["serviceAccount"]}}},{"name":"gmailOAuth2","required":true,"displayOptions":{"show":{"authentication":["oAuth2"]}}}],"polling":true,"inputs":[],"outputs":["main"],"properties":[{"displayName":"Poll Times","name":"pollTimes","type":"fixedCollection","typeOptions":{"multipleValues":true,"multipleValueButtonText":"Add Poll Time"},"default":{"item":[{"mode":"everyMinute"}]},"description":"Time at which polling should occur","placeholder":"Add Poll Time","options":[{"name":"item","displayName":"Item","values":[{"displayName":"Mode","name":"mode","type":"options","options":[{"name":"Every Minute","value":"everyMinute"},{"name":"Every Hour","value":"everyHour"},{"name":"Every Day","value":"everyDay"},{"name":"Every Week","value":"everyWeek"},{"name":"Every Month","value":"everyMonth"},{"name":"Every X","value":"everyX"},{"name":"Custom","value":"custom"}],"default":"everyDay","description":"How often to trigger."},{"displayName":"Hour","name":"hour","type":"number","typeOptions":{"minValue":0,"maxValue":23},"displayOptions":{"hide":{"mode":["custom","everyHour","everyMinute","everyX"]}},"default":14,"description":"The hour of the day to trigger (24h format)"},{"displayName":"Minute","name":"minute","type":"number","typeOptions":{"minValue":0,"maxValue":59},"displayOptions":{"hide":{"mode":["custom","everyMinute","everyX"]}},"default":0,"description":"The minute of the day to trigger"},{"displayName":"Day of Month","name":"dayOfMonth","type":"number","displayOptions":{"show":{"mode":["everyMonth"]}},"typeOptions":{"minValue":1,"maxValue":31},"default":1,"description":"The day of the month to trigger"},{"displayName":"Weekday","name":"weekday","type":"options","displayOptions":{"show":{"mode":["everyWeek"]}},"options":[{"name":"Monday","value":"1"},{"name":"Tuesday","value":"2"},{"name":"Wednesday","value":"3"},{"name":"Thursday","value":"4"},{"name":"Friday","value":"5"},{"name":"Saturday","value":"6"},{"name":"Sunday","value":"0"}],"default":"1","description":"The weekday to trigger"},{"displayName":"Cron Expression","name":"cronExpression","type":"string","displayOptions":{"show":{"mode":["custom"]}},"default":"* * * * * *","description":"Use custom cron expression. Values and ranges as follows:<ul><li>Seconds: 0-59</li><li>Minutes: 0 - 59</li><li>Hours: 0 - 23</li><li>Day of Month: 1 - 31</li><li>Months: 0 - 11 (Jan - Dec)</li><li>Day of Week: 0 - 6 (Sun - Sat)</li></ul>"},{"displayName":"Value","name":"value","type":"number","typeOptions":{"minValue":0,"maxValue":1000},"displayOptions":{"show":{"mode":["everyX"]}},"default":2,"description":"All how many X minutes/hours it should trigger"},{"displayName":"Unit","name":"unit","type":"options","displayOptions":{"show":{"mode":["everyX"]}},"options":[{"name":"Minutes","value":"minutes"},{"name":"Hours","value":"hours"}],"default":"hours","description":"If it should trigger all X minutes or hours"}]}]},{"displayName":"Authentication","name":"authentication","type":"options","options":[{"name":"OAuth2 (recommended)","value":"oAuth2"},{"name":"Service Account","value":"serviceAccount"}],"default":"oAuth2"},{"displayName":"Event","name":"event","type":"options","default":"messageReceived","options":[{"name":"Message Received","value":"messageReceived"}]},{"displayName":"Simplify","name":"simple","type":"boolean","default":true,"description":"Whether to return a simplified version of the response instead of the raw data"},{"displayName":"Filters","name":"filters","type":"collection","placeholder":"Add Filter","default":{},"options":[{"displayName":"Include Spam and Trash","name":"includeSpamTrash","type":"boolean","default":false,"description":"Whether to include messages from SPAM and TRASH in the results"},{"displayName":"Label Names or IDs","name":"labelIds","type":"multiOptions","typeOptions":{"loadOptionsMethod":"getLabels"},"default":[],"description":"Only return messages with labels that match all of the specified label IDs. Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>."},{"displayName":"Search","name":"q","type":"string","default":"","placeholder":"has:attachment","hint":"Use the same format as in the Gmail search box. <a href=\"https://support.google.com/mail/answer/7190?hl=en\">More info</a>.","description":"Only return messages matching the specified query"},{"displayName":"Read Status","name":"readStatus","type":"options","default":"unread","hint":"Filter emails by whether they have been read or not","options":[{"name":"Unread and read emails","value":"both"},{"name":"Unread emails only","value":"unread"},{"name":"Read emails only","value":"read"}]},{"displayName":"Sender","name":"sender","type":"string","default":"","description":"Sender name or email to filter by","hint":"Enter an email or part of a sender name"}]},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"displayOptions":{"hide":{"simple":[true]}},"options":[{"displayName":"Attachment Prefix","name":"dataPropertyAttachmentsPrefixName","type":"string","default":"attachment_","description":"Prefix for name of the binary property to which to write the attachment. An index starting with 0 will be added. So if name is 'attachment_' the first attachment is saved to 'attachment_0'."},{"displayName":"Download Attachments","name":"downloadAttachments","type":"boolean","default":false,"description":"Whether the emaail's attachments will be downloaded"}]}],"codex":{"categories":["Communication"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/trigger-nodes/n8n-nodes-base.gmailtrigger/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]}},"iconUrl":"icons/n8n-nodes-base/dist/nodes/Google/Gmail/gmail.svg"},
146
146
  {"displayName":"Google Workspace Admin","name":"n8n-nodes-base.gSuiteAdmin","group":["input"],"version":1,"subtitle":"={{$parameter[\"operation\"] + \": \" + $parameter[\"resource\"]}}","description":"Consume Google Workspace Admin API","defaults":{"name":"Google Workspace Admin"},"inputs":["main"],"outputs":["main"],"credentials":[{"name":"gSuiteAdminOAuth2Api","required":true}],"properties":[{"displayName":"Resource","name":"resource","type":"options","noDataExpression":true,"options":[{"name":"Group","value":"group"},{"name":"User","value":"user"}],"default":"user"},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"displayOptions":{"show":{"resource":["group"]}},"options":[{"name":"Create","value":"create","description":"Create a group","action":"Create a group"},{"name":"Delete","value":"delete","description":"Delete a group","action":"Delete a group"},{"name":"Get","value":"get","description":"Get a group","action":"Get a group"},{"name":"Get Many","value":"getAll","description":"Get many groups","action":"Get many groups"},{"name":"Update","value":"update","description":"Update a group","action":"Update a group"}],"default":"create"},{"displayName":"Email","name":"email","type":"string","placeholder":"name@email.com","required":true,"displayOptions":{"show":{"operation":["create"],"resource":["group"]}},"default":"","description":"The group's email address. If your account has multiple domains, select the appropriate domain for the email address. The email must be unique"},{"displayName":"Additional Fields","name":"additionalFields","type":"collection","placeholder":"Add Field","default":{},"displayOptions":{"show":{"operation":["create"],"resource":["group"]}},"options":[{"displayName":"Description","name":"description","type":"string","default":"","description":"An extended description to help users determine the purpose of a group. For example, you can include information about who should join the group, the types of messages to send to the group, links to FAQs about the group, or related groups."},{"displayName":"Name","name":"name","type":"string","default":"","description":"The group's display name"}]},{"displayName":"Group ID","name":"groupId","type":"string","required":true,"displayOptions":{"show":{"operation":["delete"],"resource":["group"]}},"default":"","description":"Identifies the group in the API request. The value can be the group's email address, group alias, or the unique group ID."},{"displayName":"Group ID","name":"groupId","type":"string","required":true,"displayOptions":{"show":{"operation":["get"],"resource":["group"]}},"default":"","description":"Identifies the group in the API request. The value can be the group's email address, group alias, or the unique group ID."},{"displayName":"Return All","name":"returnAll","type":"boolean","displayOptions":{"show":{"operation":["getAll"],"resource":["group"]}},"default":false,"description":"Whether to return all results or only up to a given limit"},{"displayName":"Limit","name":"limit","type":"number","displayOptions":{"show":{"operation":["getAll"],"resource":["group"],"returnAll":[false]}},"typeOptions":{"minValue":1,"maxValue":500},"default":100,"description":"Max number of results to return"},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"displayOptions":{"show":{"operation":["getAll"],"resource":["group"]}},"options":[{"displayName":"Customer","name":"customer","type":"string","default":"","description":"The unique ID for the customer's Google Workspace account. In case of a multi-domain account, to fetch all groups for a customer, fill this field instead of domain."},{"displayName":"Domain","name":"domain","type":"string","default":"","description":"The domain name. Use this field to get fields from only one domain."},{"displayName":"Order By","name":"orderBy","type":"options","options":[{"name":"Email","value":"email"}],"default":"","description":"Property to use for sorting results"},{"displayName":"Query","name":"query","type":"string","default":"","description":"Query string search. Complete documentation is <a href=\"https://developers.google.com/admin-sdk/directory/v1/guides/search-groups\">at</a>."},{"displayName":"Sort Order","name":"sortOrder","type":"options","options":[{"name":"Ascending","value":"ASCENDING"},{"name":"Descending","value":"DESCENDING"}],"default":"","description":"Whether to return results in ascending or descending order"},{"displayName":"User ID","name":"userId","type":"string","default":"","description":"Email or immutable ID of the user if only those groups are to be listed, the given user is a member of. If it's an ID, it should match with the ID of the user object."}]},{"displayName":"Group ID","name":"groupId","type":"string","required":true,"displayOptions":{"show":{"operation":["update"],"resource":["group"]}},"default":"","description":"Identifies the group in the API request. The value can be the group's email address, group alias, or the unique group ID."},{"displayName":"Update Fields","name":"updateFields","type":"collection","placeholder":"Add Field","default":{},"displayOptions":{"show":{"operation":["update"],"resource":["group"]}},"options":[{"displayName":"Description","name":"description","type":"string","default":"","description":"An extended description to help users determine the purpose of a group. For example, you can include information about who should join the group, the types of messages to send to the group, links to FAQs about the group, or related groups."},{"displayName":"Email","name":"email","type":"string","placeholder":"name@email.com","default":"","description":"The group's email address. If your account has multiple domains, select the appropriate domain for the email address. The email must be unique."},{"displayName":"Name","name":"name","type":"string","default":"","description":"The group's display name"}]},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"displayOptions":{"show":{"resource":["user"]}},"options":[{"name":"Create","value":"create","description":"Create a user","action":"Create a user"},{"name":"Delete","value":"delete","description":"Delete a user","action":"Delete a user"},{"name":"Get","value":"get","description":"Get a user","action":"Get a user"},{"name":"Get Many","value":"getAll","description":"Get many users","action":"Get many users"},{"name":"Update","value":"update","description":"Update a user","action":"Update a user"}],"default":"create"},{"displayName":"First Name","name":"firstName","type":"string","required":true,"displayOptions":{"show":{"operation":["create"],"resource":["user"]}},"default":""},{"displayName":"Last Name","name":"lastName","type":"string","required":true,"displayOptions":{"show":{"operation":["create"],"resource":["user"]}},"default":""},{"displayName":"Password","name":"password","type":"string","typeOptions":{"password":true},"required":true,"displayOptions":{"show":{"operation":["create"],"resource":["user"]}},"default":"","description":"Stores the password for the user account. A minimum of 8 characters is required. The maximum length is 100 characters."},{"displayName":"Domain Name or ID","name":"domain","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsMethod":"getDomains"},"required":true,"displayOptions":{"show":{"operation":["create"],"resource":["user"]}},"default":""},{"displayName":"Username","name":"username","type":"string","displayOptions":{"show":{"operation":["create"],"resource":["user"]}},"default":"","description":"The username that will be set to the user. Example: If you domain is example.com and you set the username to jhon then the user's final email address will be jhon@example.com."},{"displayName":"Make Admin","name":"makeAdmin","type":"boolean","required":true,"displayOptions":{"show":{"operation":["create"],"resource":["user"]}},"default":false,"description":"Whether to make a user a super administrator"},{"displayName":"Additional Fields","name":"additionalFields","type":"collection","placeholder":"Add Field","default":{},"displayOptions":{"show":{"operation":["create"],"resource":["user"]}},"options":[{"displayName":"Change Password At Next Login","name":"changePasswordAtNextLogin","type":"boolean","default":false,"description":"Whether the user is forced to change their password at next login"},{"displayName":"Phones","name":"phoneUi","placeholder":"Add Phone","type":"fixedCollection","typeOptions":{"multipleValues":true},"default":{},"options":[{"name":"phoneValues","displayName":"Phone","values":[{"displayName":"Type","name":"type","type":"options","options":[{"name":"Assistant","value":"assistant"},{"name":"Callback","value":"callback"},{"name":"Car","value":"car"},{"name":"Company Main","value":"company_main"},{"name":"Custom","value":"custom"},{"name":"Grand Central","value":"grand_central"},{"name":"Home","value":"home"},{"name":"Home Fax","value":"home_fax"},{"name":"isdn","value":"isdn"},{"name":"Main","value":"main"},{"name":"Mobile","value":"mobile"},{"name":"Other","value":"other"},{"name":"Other Fax","value":"other_fax"},{"name":"Pager","value":"pager"},{"name":"Radio","value":"radio"},{"name":"Telex","value":"telex"},{"name":"tty tdd","value":"tty_tdd"},{"name":"Work","value":"work"},{"name":"Work Fax","value":"work_fax"},{"name":"Work Mobile","value":"work_mobile"},{"name":"Work Pager","value":"work_pager"}],"default":"work","description":"The type of phone number"},{"displayName":"Phone Number","name":"value","type":"string","default":""},{"displayName":"Primary","name":"primary","type":"boolean","default":false,"description":"Whether this is the user's primary phone number. A user may only have one primary phone number."}]}]},{"displayName":"Secondary Emails","name":"emailUi","placeholder":"Add Email","type":"fixedCollection","typeOptions":{"multipleValues":true},"default":{},"options":[{"name":"emailValues","displayName":"Email","values":[{"displayName":"Type","name":"type","type":"options","options":[{"name":"Home","value":"home"},{"name":"Work","value":"work"},{"name":"Other","value":"other"}],"default":"work","description":"The type of the email account"},{"displayName":"Email","name":"address","type":"string","default":""}]}]}]},{"displayName":"User ID","name":"userId","type":"string","required":true,"displayOptions":{"show":{"operation":["delete"],"resource":["user"]}},"default":"","description":"The value can be the user's primary email address, alias email address, or unique user ID"},{"displayName":"User ID","name":"userId","type":"string","required":true,"displayOptions":{"show":{"operation":["get"],"resource":["user"]}},"default":"","description":"The value can be the user's primary email address, alias email address, or unique user ID"},{"displayName":"Projection","name":"projection","type":"options","required":true,"options":[{"name":"Basic","value":"basic","description":"Do not include any custom fields for the user"},{"name":"Custom","value":"custom","description":"Include custom fields from schemas requested in customField"},{"name":"Full","value":"full","description":"Include all fields associated with this user"}],"displayOptions":{"show":{"operation":["get"],"resource":["user"]}},"default":"basic","description":"What subset of fields to fetch for this user"},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Options","default":{},"displayOptions":{"show":{"operation":["get"],"resource":["user"]}},"options":[{"displayName":"Custom Schema Names or IDs","name":"customFieldMask","type":"multiOptions","displayOptions":{"show":{"/projection":["custom"]}},"typeOptions":{"loadOptionsMethod":"getSchemas"},"default":[],"description":"A comma-separated list of schema names. All fields from these schemas are fetched. This should only be set when projection=custom. Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>."},{"displayName":"View Type","name":"viewType","type":"options","options":[{"name":"Admin View","value":"admin_view","description":"Results include both administrator-only and domain-public fields for the user"},{"name":"Descending","value":"DESCENDING","description":"Results only include fields for the user that are publicly visible to other users in the domain"}],"default":"admin_view","description":"Whether to fetch the administrator-only or domain-wide public view of the user. For more information, see Retrieve a user as a non-administrator."}]},{"displayName":"Return All","name":"returnAll","type":"boolean","displayOptions":{"show":{"operation":["getAll"],"resource":["user"]}},"default":false,"description":"Whether to return all results or only up to a given limit"},{"displayName":"Limit","name":"limit","type":"number","displayOptions":{"show":{"operation":["getAll"],"resource":["user"],"returnAll":[false]}},"typeOptions":{"minValue":1,"maxValue":500},"default":100,"description":"Max number of results to return"},{"displayName":"Projection","name":"projection","type":"options","required":true,"options":[{"name":"Basic","value":"basic","description":"Do not include any custom fields for the user"},{"name":"Custom","value":"custom","description":"Include custom fields from schemas requested in customField"},{"name":"Full","value":"full","description":"Include all fields associated with this user"}],"displayOptions":{"show":{"operation":["getAll"],"resource":["user"]}},"default":"basic","description":"What subset of fields to fetch for this user"},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"displayOptions":{"show":{"operation":["getAll"],"resource":["user"]}},"options":[{"displayName":"Custom Schema Names or IDs","name":"customFieldMask","type":"multiOptions","displayOptions":{"show":{"/projection":["custom"]}},"typeOptions":{"loadOptionsMethod":"getSchemas"},"default":[],"description":"A comma-separated list of schema names. All fields from these schemas are fetched. This should only be set when projection=custom. Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>."},{"displayName":"Customer","name":"customer","type":"string","default":"","description":"The unique ID for the customer's Google Workspace account. In case of a multi-domain account, to fetch all groups for a customer, fill this field instead of domain."},{"displayName":"Domain","name":"domain","type":"string","default":"","description":"The domain name. Use this field to get fields from only one domain."},{"displayName":"Order By","name":"orderBy","type":"options","options":[{"name":"Email","value":"email"},{"name":"Family Name","value":"familyName"},{"name":"Given Name","value":"givenName"}],"default":"","description":"Property to use for sorting results"},{"displayName":"Query","name":"query","type":"string","default":"","description":"Free text search terms to find users that match these terms in any field, except for extended properties. For more information on constructing user queries, see <a href=\"https://developers.google.com/admin-sdk/directory/v1/guides/search-users\">Search for Users</a>."},{"displayName":"Show Deleted","name":"showDeleted","type":"boolean","default":false,"description":"Whether to retrieve the list of deleted users"},{"displayName":"Sort Order","name":"sortOrder","type":"options","options":[{"name":"Ascending","value":"ASCENDING"},{"name":"Descending","value":"DESCENDING"}],"default":"","description":"Whether to return results in ascending or descending order"},{"displayName":"View Type","name":"viewType","type":"options","options":[{"name":"Admin View","value":"admin_view","description":"Results include both administrator-only and domain-public fields for the user"},{"name":"Descending","value":"DESCENDING","description":"Results only include fields for the user that are publicly visible to other users in the domain"}],"default":"admin_view","description":"Whether to fetch the administrator-only or domain-wide public view of the user. For more information, see Retrieve a user as a non-administrator."}]},{"displayName":"User ID","name":"userId","type":"string","required":true,"displayOptions":{"show":{"operation":["update"],"resource":["user"]}},"default":"","description":"The value can be the user's primary email address, alias email address, or unique user ID"},{"displayName":"Update Fields","name":"updateFields","type":"collection","placeholder":"Add Field","default":{},"displayOptions":{"show":{"operation":["update"],"resource":["user"]}},"options":[{"displayName":"Archived","name":"archived","type":"boolean","default":false,"description":"Whether user is archived"},{"displayName":"Change Password At Next Login","name":"changePasswordAtNextLogin","type":"boolean","default":false,"description":"Whether the user is forced to change their password at next login"},{"displayName":"First Name","name":"firstName","type":"string","default":""},{"displayName":"Last Name","name":"lastName","type":"string","default":""},{"displayName":"Password","name":"password","type":"string","typeOptions":{"password":true},"default":"","description":"Stores the password for the user account. A minimum of 8 characters is required. The maximum length is 100 characters."},{"displayName":"Phones","name":"phoneUi","placeholder":"Add Phone","type":"fixedCollection","typeOptions":{"multipleValues":true},"default":{},"options":[{"name":"phoneValues","displayName":"Phone","values":[{"displayName":"Type","name":"type","type":"options","options":[{"name":"Assistant","value":"assistant"},{"name":"Callback","value":"callback"},{"name":"Car","value":"car"},{"name":"Company Main","value":"company_main"},{"name":"Custom","value":"custom"},{"name":"Grand Central","value":"grand_central"},{"name":"Home","value":"home"},{"name":"Home Fax","value":"home_fax"},{"name":"Isdn","value":"isdn"},{"name":"Main","value":"main"},{"name":"Mobile","value":"mobile"},{"name":"Other","value":"other"},{"name":"Other Fax","value":"other_fax"},{"name":"Pager","value":"pager"},{"name":"Radio","value":"radio"},{"name":"Telex","value":"telex"},{"name":"Tty Tdd","value":"tty_tdd"},{"name":"Work","value":"work"},{"name":"Work Fax","value":"work_fax"},{"name":"Work Mobile","value":"work_mobile"},{"name":"Work Pager","value":"work_pager"}],"default":"work","description":"The type of phone number"},{"displayName":"Phone Number","name":"value","type":"string","default":""},{"displayName":"Primary","name":"primary","type":"boolean","default":false,"description":"Whether this is the user's primary phone number. A user may only have one primary phone number."}]}]},{"displayName":"Primary Email","name":"primaryEmail","type":"string","default":"","description":"The user's primary email address. This property is required in a request to create a user account. The primaryEmail must be unique and cannot be an alias of another user."},{"displayName":"Secondary Emails","name":"emailUi","placeholder":"Add Email","type":"fixedCollection","typeOptions":{"multipleValues":true},"default":{},"options":[{"name":"emailValues","displayName":"Email","values":[{"displayName":"Type","name":"type","type":"options","options":[{"name":"Home","value":"home"},{"name":"Work","value":"work"},{"name":"Other","value":"other"}],"default":"work","description":"The type of the email account"},{"displayName":"Email","name":"address","type":"string","default":""}]}]}]}],"codex":{"categories":["Utility"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.gsuiteadmin/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"alias":["Workspaces"]},"iconUrl":"icons/n8n-nodes-base/dist/nodes/Google/GSuiteAdmin/google-workspace-admin.png"},
147
147
  {"displayName":"Google Perspective","name":"n8n-nodes-base.googlePerspective","group":["transform"],"version":1,"description":"Consume Google Perspective API","subtitle":"={{$parameter[\"operation\"]}}","defaults":{"name":"Google Perspective"},"inputs":["main"],"outputs":["main"],"credentials":[{"name":"googlePerspectiveOAuth2Api","required":true}],"properties":[{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"options":[{"name":"Analyze Comment","value":"analyzeComment"}],"default":"analyzeComment"},{"displayName":"Text","name":"text","type":"string","default":"","required":true,"displayOptions":{"show":{"operation":["analyzeComment"]}}},{"displayName":"Attributes to Analyze","name":"requestedAttributesUi","type":"fixedCollection","default":{},"typeOptions":{"multipleValues":true},"placeholder":"Add Atrribute","required":true,"displayOptions":{"show":{"operation":["analyzeComment"]}},"options":[{"displayName":"Properties","name":"requestedAttributesValues","values":[{"displayName":"Attribute Name","name":"attributeName","type":"options","options":[{"name":"Flirtation","value":"flirtation"},{"name":"Identity Attack","value":"identity_attack"},{"name":"Insult","value":"insult"},{"name":"Profanity","value":"profanity"},{"name":"Severe Toxicity","value":"severe_toxicity"},{"name":"Sexually Explicit","value":"sexually_explicit"},{"name":"Threat","value":"threat"},{"name":"Toxicity","value":"toxicity"}],"description":"Attribute to analyze in the text. Details <a href=\"https://developers.perspectiveapi.com/s/about-the-api-attributes-and-languages\">here</a>.","default":"flirtation"},{"displayName":"Score Threshold","name":"scoreThreshold","type":"number","typeOptions":{"numberPrecision":2,"minValue":0,"maxValue":1},"description":"Score above which to return results. At zero, all scores are returned.","default":0}]}]},{"displayName":"Options","name":"options","type":"collection","displayOptions":{"show":{"operation":["analyzeComment"]}},"default":{},"placeholder":"Add Option","options":[{"displayName":"Language Name or ID","name":"languages","type":"options","typeOptions":{"loadOptionsMethod":"getLanguages"},"default":"","description":"Languages of the text input. If unspecified, the API will auto-detect the comment language. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>."}]}],"codex":{"categories":["Analytics","Utility"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googleperspective/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"alias":["Moderation"]},"iconUrl":"icons/n8n-nodes-base/dist/nodes/Google/Perspective/perspective.svg"},
148
- {"displayName":"Google Sheets ","name":"n8n-nodes-base.googleSheets","group":["input","output"],"defaultVersion":3,"subtitle":"={{$parameter[\"operation\"] + \": \" + $parameter[\"resource\"]}}","description":"Read, update and write data to Google Sheets","version":[1,2],"defaults":{"name":"Google Sheets"},"inputs":["main"],"outputs":["main"],"credentials":[{"name":"googleApi","required":true,"displayOptions":{"show":{"authentication":["serviceAccount"]}},"testedBy":"googleApiCredentialTest"},{"name":"googleSheetsOAuth2Api","required":true,"displayOptions":{"show":{"authentication":["oAuth2"]}}}],"properties":[{"displayName":"<strong>New node version available:</strong> get the latest version with added features from the nodes panel.","name":"oldVersionNotice","type":"notice","default":""},{"displayName":"Authentication","name":"authentication","type":"options","options":[{"name":"Service Account","value":"serviceAccount"},{"name":"OAuth2","value":"oAuth2"}],"default":"serviceAccount","displayOptions":{"show":{"@version":[1]}}},{"displayName":"Authentication","name":"authentication","type":"options","options":[{"name":"OAuth2 (recommended)","value":"oAuth2"},{"name":"Service Account","value":"serviceAccount"}],"default":"oAuth2","displayOptions":{"show":{"@version":[2]}}},{"displayName":"Resource","name":"resource","type":"options","noDataExpression":true,"options":[{"name":"Spreadsheet","value":"spreadsheet"},{"name":"Sheet","value":"sheet"}],"default":"sheet"},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"displayOptions":{"show":{"resource":["sheet"]}},"options":[{"name":"Append","value":"append","description":"Append data to a sheet","action":"Append data to a sheet"},{"name":"Clear","value":"clear","description":"Clear data from a sheet","action":"Clear a sheet"},{"name":"Create","value":"create","description":"Create a new sheet","action":"Create a sheet"},{"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 sheet"},{"name":"Delete","value":"delete","description":"Delete columns and rows from a sheet","action":"Delete a sheet"},{"name":"Lookup","value":"lookup","description":"Look up a specific column value and return the matching row","action":"Look up a column value in a sheet"},{"name":"Read","value":"read","description":"Read data from a sheet","action":"Read a sheet"},{"name":"Remove","value":"remove","description":"Remove a sheet","action":"Remove a sheet"},{"name":"Update","value":"update","description":"Update rows in a sheet","action":"Update a sheet"}],"default":"read"},{"displayName":"Spreadsheet ID","name":"sheetId","type":"string","displayOptions":{"show":{"resource":["sheet"]}},"default":"","required":true,"description":"The ID of the Google Spreadsheet. Found as part of the sheet URL https://docs.google.com/spreadsheets/d/{ID}/."},{"displayName":"Range","name":"range","type":"string","displayOptions":{"show":{"resource":["sheet"]},"hide":{"operation":["create","delete","remove"]}},"default":"A:F","required":true,"description":"The table range to read from or to append data to. See the Google <a href=\"https://developers.google.com/sheets/api/guides/values#writing\">documentation</a> for the details. If it contains multiple sheets it can also be added like this: \"MySheet!A:F\""},{"displayName":"To Delete","name":"toDelete","placeholder":"Add Columns/Rows to delete","description":"Deletes columns and rows from a sheet","type":"fixedCollection","typeOptions":{"multipleValues":true},"displayOptions":{"show":{"resource":["sheet"],"operation":["delete"]}},"default":{},"options":[{"displayName":"Columns","name":"columns","values":[{"displayName":"Sheet Name or ID","name":"sheetId","type":"options","typeOptions":{"loadOptionsMethod":"getSheets"},"options":[],"default":"","required":true,"description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>"},{"displayName":"Start Index","name":"startIndex","type":"number","typeOptions":{"minValue":0},"default":0,"description":"The start index (0 based and inclusive) of column to delete"},{"displayName":"Amount","name":"amount","type":"number","typeOptions":{"minValue":1},"default":1,"description":"Number of columns to delete"}]},{"displayName":"Rows","name":"rows","values":[{"displayName":"Sheet Name or ID","name":"sheetId","type":"options","typeOptions":{"loadOptionsMethod":"getSheets"},"options":[],"default":"","required":true,"description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>"},{"displayName":"Start Index","name":"startIndex","type":"number","typeOptions":{"minValue":0},"default":0,"description":"The start index (0 based and inclusive) of row to delete"},{"displayName":"Amount","name":"amount","type":"number","typeOptions":{"minValue":1},"default":1,"description":"Number of rows to delete"}]}]},{"displayName":"RAW Data","name":"rawData","type":"boolean","displayOptions":{"show":{"resource":["sheet"],"operation":["read"]}},"default":false,"description":"Whether the data should be returned RAW instead of parsed into keys according to their header"},{"displayName":"Data Property","name":"dataProperty","type":"string","default":"data","displayOptions":{"show":{"resource":["sheet"],"operation":["read"],"rawData":[true]}},"description":"The name of the property into which to write the RAW data"},{"displayName":"RAW Data","name":"rawData","type":"boolean","displayOptions":{"show":{"resource":["sheet"],"operation":["update","upsert"]}},"default":false,"description":"Whether the data supplied is RAW instead of parsed into keys"},{"displayName":"Data Property","name":"dataProperty","type":"string","default":"data","displayOptions":{"show":{"resource":["sheet"],"operation":["update","upsert"],"rawData":[true]}},"description":"The name of the property from which to read the RAW data"},{"displayName":"Data Start Row","name":"dataStartRow","type":"number","typeOptions":{"minValue":1},"default":1,"displayOptions":{"show":{"resource":["sheet"]},"hide":{"operation":["append","create","clear","delete","remove"],"rawData":[true]}},"description":"Index of the first row which contains the actual data and not the keys. Starts with 0."},{"displayName":"Key Row","name":"keyRow","type":"number","typeOptions":{"minValue":0},"displayOptions":{"show":{"resource":["sheet"]},"hide":{"operation":["clear","create","delete","remove"],"rawData":[true]}},"default":0,"description":"Index of the row which contains the keys. Starts at 0. The incoming node data is matched to the keys for assignment. The matching is case sensitive."},{"displayName":"Lookup Column","name":"lookupColumn","type":"string","default":"","placeholder":"Email","required":true,"displayOptions":{"show":{"resource":["sheet"],"operation":["lookup"]}},"description":"The name of the column in which to look for value"},{"displayName":"Lookup Value","name":"lookupValue","type":"string","default":"","placeholder":"frank@example.com","displayOptions":{"show":{"resource":["sheet"],"operation":["lookup"]}},"description":"The value to look for in column"},{"displayName":"Key","name":"key","type":"string","default":"id","displayOptions":{"show":{"resource":["sheet"],"operation":["update","upsert"],"rawData":[false]}},"description":"The name of the key to identify which data should be updated in the sheet"},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"displayOptions":{"show":{"resource":["sheet"],"operation":["append","lookup","read","update","upsert"]}},"options":[{"displayName":"Continue If Empty","name":"continue","type":"boolean","default":false,"displayOptions":{"show":{"/operation":["lookup","read"]}},"description":"By default, the workflow stops executing if the lookup/read does not return values"},{"displayName":"Return All Matches","name":"returnAllMatches","type":"boolean","default":false,"displayOptions":{"show":{"/operation":["lookup"]}},"description":"By default only the first result gets returned. If options gets set all found matches get returned."},{"displayName":"Use Header Names as JSON Paths","name":"usePathForKeyRow","type":"boolean","default":false,"displayOptions":{"show":{"/operation":["append"]}},"description":"Whether you want to match the headers as path, for example, the row header \"category.name\" will match the \"category\" object and get the field \"name\" from it. By default \"category.name\" will match with the field with exact name, not nested object."},{"displayName":"Value Input Mode","name":"valueInputMode","type":"options","displayOptions":{"show":{"/operation":["append","update","upsert"]}},"options":[{"name":"RAW","value":"RAW","description":"The values will not be parsed and will be stored as-is"},{"name":"User Entered","value":"USER_ENTERED","description":"The values will be parsed as if the user typed them into the UI. Numbers will stay as numbers, but strings may be converted to numbers, dates, etc. following the same rules that are applied when entering text into a cell via the Google Sheets UI."}],"default":"RAW","description":"Determines how data should be interpreted"},{"displayName":"Value Render Mode","name":"valueRenderMode","type":"options","displayOptions":{"show":{"/operation":["lookup","read"]}},"options":[{"name":"Formatted Value","value":"FORMATTED_VALUE","description":"Values will be calculated & formatted in the reply according to the cell's formatting.Formatting is based on the spreadsheet's locale, not the requesting user's locale.For example, if A1 is 1.23 and A2 is =A1 and formatted as currency, then A2 would return \"$1.23\""},{"name":"Formula","value":"FORMULA","description":"Values will not be calculated. The reply will include the formulas. For example, if A1 is 1.23 and A2 is =A1 and formatted as currency, then A2 would return \"=A1\"."},{"name":"Unformatted Value","value":"UNFORMATTED_VALUE","description":"Values will be calculated, but not formatted in the reply. For example, if A1 is 1.23 and A2 is =A1 and formatted as currency, then A2 would return the number 1.23."}],"default":"UNFORMATTED_VALUE","description":"Determines how values should be rendered in the output"},{"displayName":"Value Render Mode","name":"valueRenderMode","type":"options","displayOptions":{"show":{"/operation":["update","upsert"],"/rawData":[false]}},"options":[{"name":"Formatted Value","value":"FORMATTED_VALUE","description":"Values will be calculated & formatted in the reply according to the cell's formatting.Formatting is based on the spreadsheet's locale, not the requesting user's locale. For example, if A1 is 1.23 and A2 is =A1 and formatted as currency, then A2 would return \"$1.23\"."},{"name":"Formula","value":"FORMULA","description":"Values will not be calculated. The reply will include the formulas. For example, if A1 is 1.23 and A2 is =A1 and formatted as currency, then A2 would return \"=A1\"."},{"name":"Unformatted Value","value":"UNFORMATTED_VALUE","description":"Values will be calculated, but not formatted in the reply. For example, if A1 is 1.23 and A2 is =A1 and formatted as currency, then A2 would return the number 1.23."}],"default":"UNFORMATTED_VALUE","description":"Determines how values should be rendered in the output"}]},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"displayOptions":{"show":{"resource":["spreadsheet"]}},"options":[{"name":"Create","value":"create","description":"Create a spreadsheet","action":"Create a spreadsheet"}],"default":"create"},{"displayName":"Title","name":"title","type":"string","default":"","displayOptions":{"show":{"resource":["spreadsheet"],"operation":["create"]}},"description":"The title of the spreadsheet"},{"displayName":"Sheets","name":"sheetsUi","placeholder":"Add Sheet","type":"fixedCollection","typeOptions":{"multipleValues":true},"default":{},"displayOptions":{"show":{"resource":["spreadsheet"],"operation":["create"]}},"options":[{"name":"sheetValues","displayName":"Sheet","values":[{"displayName":"Sheet Properties","name":"propertiesUi","placeholder":"Add Property","type":"collection","default":{},"options":[{"displayName":"Hidden","name":"hidden","type":"boolean","default":false,"description":"Whether the Sheet should be hidden in the UI"},{"displayName":"Title","name":"title","type":"string","default":"","description":"Title of the property to create"}]}]}]},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"displayOptions":{"show":{"resource":["spreadsheet"],"operation":["create"]}},"options":[{"displayName":"Locale","name":"locale","type":"string","default":"","placeholder":"en_US","description":"The locale of the spreadsheet in one of the following formats:\n\t\t\t\t\t<ul>\n\t\t\t\t\t\t<li>en (639-1)</li>\n\t\t\t\t\t\t<li>fil (639-2 if no 639-1 format exists)</li>\n\t\t\t\t\t\t<li>en_US (combination of ISO language an country)</li>\n\t\t\t\t\t<ul>"},{"displayName":"Recalculation Interval","name":"autoRecalc","type":"options","options":[{"name":"Default","value":"","description":"Default value"},{"name":"On Change","value":"ON_CHANGE","description":"Volatile functions are updated on every change"},{"name":"Minute","value":"MINUTE","description":"Volatile functions are updated on every change and every minute"},{"name":"Hour","value":"HOUR","description":"Volatile functions are updated on every change and hourly"}],"default":"","description":"Cell recalculation interval options"}]},{"displayName":"Simplify","name":"simple","type":"boolean","default":true,"displayOptions":{"show":{"resource":["sheet"],"operation":["create"]}},"description":"Whether to return a simplified version of the response instead of the raw data"},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"displayOptions":{"show":{"resource":["sheet"],"operation":["create"]}},"options":[{"displayName":"Grid Properties","name":"gridProperties","type":"collection","placeholder":"Add Property","default":{},"options":[{"displayName":"Column Count","name":"columnCount","type":"number","default":0,"description":"The number of columns in the grid"},{"displayName":"Column Group Control After","name":"columnGroupControlAfter","type":"boolean","default":false,"description":"Whether the column grouping control toggle is shown after the group"},{"displayName":"Frozen Column Count","name":"frozenColumnCount","type":"number","default":0,"description":"The number of columns that are frozen in the grid"},{"displayName":"Frozen Row Count","name":"frozenRowCount","type":"number","default":0,"description":"The number of rows that are frozen in the grid"},{"displayName":"Hide Gridlines","name":"hideGridlines","type":"boolean","default":false,"description":"Whether the grid isn't showing gridlines in the UI"},{"displayName":"Row Count","name":"rowCount","type":"number","default":0,"description":"The number of rows in the grid"},{"displayName":"Row Group Control After","name":"rowGroupControlAfter","type":"boolean","default":false,"description":"Whether the row grouping control toggle is shown after the group"}],"description":"The type of the sheet"},{"displayName":"Hidden","name":"hidden","type":"boolean","default":false,"description":"Whether the sheet is hidden in the UI, false if it's visible"},{"displayName":"Right To Left","name":"rightToLeft","type":"boolean","default":false,"description":"Whether the sheet is an RTL sheet instead of an LTR sheet"},{"displayName":"Sheet ID","name":"sheetId","type":"number","default":0,"description":"The ID of the sheet. Must be non-negative. This field cannot be changed once set."},{"displayName":"Sheet Index","name":"index","type":"number","default":0,"description":"The index of the sheet within the spreadsheet"},{"displayName":"Tab Color","name":"tabColor","type":"color","default":"0aa55c","description":"The color of the tab in the UI"},{"displayName":"Title","name":"title","type":"string","default":"","description":"The Sheet name"}]},{"displayName":"Sheet ID","name":"id","type":"string","default":"","required":true,"displayOptions":{"show":{"resource":["sheet"],"operation":["remove"]}},"description":"The ID of the sheet to delete"}],"iconUrl":"icons/n8n-nodes-base/dist/nodes/Google/Sheet/googleSheets.svg"},
149
- {"displayName":"Google Sheets ","name":"n8n-nodes-base.googleSheets","group":["input","output"],"defaultVersion":3,"subtitle":"={{$parameter[\"operation\"] + \": \" + $parameter[\"resource\"]}}","description":"Read, update and write data to Google Sheets","version":[1,2],"defaults":{"name":"Google Sheets"},"inputs":["main"],"outputs":["main"],"credentials":[{"name":"googleApi","required":true,"displayOptions":{"show":{"authentication":["serviceAccount"]}},"testedBy":"googleApiCredentialTest"},{"name":"googleSheetsOAuth2Api","required":true,"displayOptions":{"show":{"authentication":["oAuth2"]}}}],"properties":[{"displayName":"<strong>New node version available:</strong> get the latest version with added features from the nodes panel.","name":"oldVersionNotice","type":"notice","default":""},{"displayName":"Authentication","name":"authentication","type":"options","options":[{"name":"Service Account","value":"serviceAccount"},{"name":"OAuth2","value":"oAuth2"}],"default":"serviceAccount","displayOptions":{"show":{"@version":[1]}}},{"displayName":"Authentication","name":"authentication","type":"options","options":[{"name":"OAuth2 (recommended)","value":"oAuth2"},{"name":"Service Account","value":"serviceAccount"}],"default":"oAuth2","displayOptions":{"show":{"@version":[2]}}},{"displayName":"Resource","name":"resource","type":"options","noDataExpression":true,"options":[{"name":"Spreadsheet","value":"spreadsheet"},{"name":"Sheet","value":"sheet"}],"default":"sheet"},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"displayOptions":{"show":{"resource":["sheet"]}},"options":[{"name":"Append","value":"append","description":"Append data to a sheet","action":"Append data to a sheet"},{"name":"Clear","value":"clear","description":"Clear data from a sheet","action":"Clear a sheet"},{"name":"Create","value":"create","description":"Create a new sheet","action":"Create a sheet"},{"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 sheet"},{"name":"Delete","value":"delete","description":"Delete columns and rows from a sheet","action":"Delete a sheet"},{"name":"Lookup","value":"lookup","description":"Look up a specific column value and return the matching row","action":"Look up a column value in a sheet"},{"name":"Read","value":"read","description":"Read data from a sheet","action":"Read a sheet"},{"name":"Remove","value":"remove","description":"Remove a sheet","action":"Remove a sheet"},{"name":"Update","value":"update","description":"Update rows in a sheet","action":"Update a sheet"}],"default":"read"},{"displayName":"Spreadsheet ID","name":"sheetId","type":"string","displayOptions":{"show":{"resource":["sheet"]}},"default":"","required":true,"description":"The ID of the Google Spreadsheet. Found as part of the sheet URL https://docs.google.com/spreadsheets/d/{ID}/."},{"displayName":"Range","name":"range","type":"string","displayOptions":{"show":{"resource":["sheet"]},"hide":{"operation":["create","delete","remove"]}},"default":"A:F","required":true,"description":"The table range to read from or to append data to. See the Google <a href=\"https://developers.google.com/sheets/api/guides/values#writing\">documentation</a> for the details. If it contains multiple sheets it can also be added like this: \"MySheet!A:F\""},{"displayName":"To Delete","name":"toDelete","placeholder":"Add Columns/Rows to delete","description":"Deletes columns and rows from a sheet","type":"fixedCollection","typeOptions":{"multipleValues":true},"displayOptions":{"show":{"resource":["sheet"],"operation":["delete"]}},"default":{},"options":[{"displayName":"Columns","name":"columns","values":[{"displayName":"Sheet Name or ID","name":"sheetId","type":"options","typeOptions":{"loadOptionsMethod":"getSheets"},"options":[],"default":"","required":true,"description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>"},{"displayName":"Start Index","name":"startIndex","type":"number","typeOptions":{"minValue":0},"default":0,"description":"The start index (0 based and inclusive) of column to delete"},{"displayName":"Amount","name":"amount","type":"number","typeOptions":{"minValue":1},"default":1,"description":"Number of columns to delete"}]},{"displayName":"Rows","name":"rows","values":[{"displayName":"Sheet Name or ID","name":"sheetId","type":"options","typeOptions":{"loadOptionsMethod":"getSheets"},"options":[],"default":"","required":true,"description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>"},{"displayName":"Start Index","name":"startIndex","type":"number","typeOptions":{"minValue":0},"default":0,"description":"The start index (0 based and inclusive) of row to delete"},{"displayName":"Amount","name":"amount","type":"number","typeOptions":{"minValue":1},"default":1,"description":"Number of rows to delete"}]}]},{"displayName":"RAW Data","name":"rawData","type":"boolean","displayOptions":{"show":{"resource":["sheet"],"operation":["read"]}},"default":false,"description":"Whether the data should be returned RAW instead of parsed into keys according to their header"},{"displayName":"Data Property","name":"dataProperty","type":"string","default":"data","displayOptions":{"show":{"resource":["sheet"],"operation":["read"],"rawData":[true]}},"description":"The name of the property into which to write the RAW data"},{"displayName":"RAW Data","name":"rawData","type":"boolean","displayOptions":{"show":{"resource":["sheet"],"operation":["update","upsert"]}},"default":false,"description":"Whether the data supplied is RAW instead of parsed into keys"},{"displayName":"Data Property","name":"dataProperty","type":"string","default":"data","displayOptions":{"show":{"resource":["sheet"],"operation":["update","upsert"],"rawData":[true]}},"description":"The name of the property from which to read the RAW data"},{"displayName":"Data Start Row","name":"dataStartRow","type":"number","typeOptions":{"minValue":1},"default":1,"displayOptions":{"show":{"resource":["sheet"]},"hide":{"operation":["append","create","clear","delete","remove"],"rawData":[true]}},"description":"Index of the first row which contains the actual data and not the keys. Starts with 0."},{"displayName":"Key Row","name":"keyRow","type":"number","typeOptions":{"minValue":0},"displayOptions":{"show":{"resource":["sheet"]},"hide":{"operation":["clear","create","delete","remove"],"rawData":[true]}},"default":0,"description":"Index of the row which contains the keys. Starts at 0. The incoming node data is matched to the keys for assignment. The matching is case sensitive."},{"displayName":"Lookup Column","name":"lookupColumn","type":"string","default":"","placeholder":"Email","required":true,"displayOptions":{"show":{"resource":["sheet"],"operation":["lookup"]}},"description":"The name of the column in which to look for value"},{"displayName":"Lookup Value","name":"lookupValue","type":"string","default":"","placeholder":"frank@example.com","displayOptions":{"show":{"resource":["sheet"],"operation":["lookup"]}},"description":"The value to look for in column"},{"displayName":"Key","name":"key","type":"string","default":"id","displayOptions":{"show":{"resource":["sheet"],"operation":["update","upsert"],"rawData":[false]}},"description":"The name of the key to identify which data should be updated in the sheet"},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"displayOptions":{"show":{"resource":["sheet"],"operation":["append","lookup","read","update","upsert"]}},"options":[{"displayName":"Continue If Empty","name":"continue","type":"boolean","default":false,"displayOptions":{"show":{"/operation":["lookup","read"]}},"description":"By default, the workflow stops executing if the lookup/read does not return values"},{"displayName":"Return All Matches","name":"returnAllMatches","type":"boolean","default":false,"displayOptions":{"show":{"/operation":["lookup"]}},"description":"By default only the first result gets returned. If options gets set all found matches get returned."},{"displayName":"Use Header Names as JSON Paths","name":"usePathForKeyRow","type":"boolean","default":false,"displayOptions":{"show":{"/operation":["append"]}},"description":"Whether you want to match the headers as path, for example, the row header \"category.name\" will match the \"category\" object and get the field \"name\" from it. By default \"category.name\" will match with the field with exact name, not nested object."},{"displayName":"Value Input Mode","name":"valueInputMode","type":"options","displayOptions":{"show":{"/operation":["append","update","upsert"]}},"options":[{"name":"RAW","value":"RAW","description":"The values will not be parsed and will be stored as-is"},{"name":"User Entered","value":"USER_ENTERED","description":"The values will be parsed as if the user typed them into the UI. Numbers will stay as numbers, but strings may be converted to numbers, dates, etc. following the same rules that are applied when entering text into a cell via the Google Sheets UI."}],"default":"RAW","description":"Determines how data should be interpreted"},{"displayName":"Value Render Mode","name":"valueRenderMode","type":"options","displayOptions":{"show":{"/operation":["lookup","read"]}},"options":[{"name":"Formatted Value","value":"FORMATTED_VALUE","description":"Values will be calculated & formatted in the reply according to the cell's formatting.Formatting is based on the spreadsheet's locale, not the requesting user's locale.For example, if A1 is 1.23 and A2 is =A1 and formatted as currency, then A2 would return \"$1.23\""},{"name":"Formula","value":"FORMULA","description":"Values will not be calculated. The reply will include the formulas. For example, if A1 is 1.23 and A2 is =A1 and formatted as currency, then A2 would return \"=A1\"."},{"name":"Unformatted Value","value":"UNFORMATTED_VALUE","description":"Values will be calculated, but not formatted in the reply. For example, if A1 is 1.23 and A2 is =A1 and formatted as currency, then A2 would return the number 1.23."}],"default":"UNFORMATTED_VALUE","description":"Determines how values should be rendered in the output"},{"displayName":"Value Render Mode","name":"valueRenderMode","type":"options","displayOptions":{"show":{"/operation":["update","upsert"],"/rawData":[false]}},"options":[{"name":"Formatted Value","value":"FORMATTED_VALUE","description":"Values will be calculated & formatted in the reply according to the cell's formatting.Formatting is based on the spreadsheet's locale, not the requesting user's locale. For example, if A1 is 1.23 and A2 is =A1 and formatted as currency, then A2 would return \"$1.23\"."},{"name":"Formula","value":"FORMULA","description":"Values will not be calculated. The reply will include the formulas. For example, if A1 is 1.23 and A2 is =A1 and formatted as currency, then A2 would return \"=A1\"."},{"name":"Unformatted Value","value":"UNFORMATTED_VALUE","description":"Values will be calculated, but not formatted in the reply. For example, if A1 is 1.23 and A2 is =A1 and formatted as currency, then A2 would return the number 1.23."}],"default":"UNFORMATTED_VALUE","description":"Determines how values should be rendered in the output"}]},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"displayOptions":{"show":{"resource":["spreadsheet"]}},"options":[{"name":"Create","value":"create","description":"Create a spreadsheet","action":"Create a spreadsheet"}],"default":"create"},{"displayName":"Title","name":"title","type":"string","default":"","displayOptions":{"show":{"resource":["spreadsheet"],"operation":["create"]}},"description":"The title of the spreadsheet"},{"displayName":"Sheets","name":"sheetsUi","placeholder":"Add Sheet","type":"fixedCollection","typeOptions":{"multipleValues":true},"default":{},"displayOptions":{"show":{"resource":["spreadsheet"],"operation":["create"]}},"options":[{"name":"sheetValues","displayName":"Sheet","values":[{"displayName":"Sheet Properties","name":"propertiesUi","placeholder":"Add Property","type":"collection","default":{},"options":[{"displayName":"Hidden","name":"hidden","type":"boolean","default":false,"description":"Whether the Sheet should be hidden in the UI"},{"displayName":"Title","name":"title","type":"string","default":"","description":"Title of the property to create"}]}]}]},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"displayOptions":{"show":{"resource":["spreadsheet"],"operation":["create"]}},"options":[{"displayName":"Locale","name":"locale","type":"string","default":"","placeholder":"en_US","description":"The locale of the spreadsheet in one of the following formats:\n\t\t\t\t\t<ul>\n\t\t\t\t\t\t<li>en (639-1)</li>\n\t\t\t\t\t\t<li>fil (639-2 if no 639-1 format exists)</li>\n\t\t\t\t\t\t<li>en_US (combination of ISO language an country)</li>\n\t\t\t\t\t<ul>"},{"displayName":"Recalculation Interval","name":"autoRecalc","type":"options","options":[{"name":"Default","value":"","description":"Default value"},{"name":"On Change","value":"ON_CHANGE","description":"Volatile functions are updated on every change"},{"name":"Minute","value":"MINUTE","description":"Volatile functions are updated on every change and every minute"},{"name":"Hour","value":"HOUR","description":"Volatile functions are updated on every change and hourly"}],"default":"","description":"Cell recalculation interval options"}]},{"displayName":"Simplify","name":"simple","type":"boolean","default":true,"displayOptions":{"show":{"resource":["sheet"],"operation":["create"]}},"description":"Whether to return a simplified version of the response instead of the raw data"},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"displayOptions":{"show":{"resource":["sheet"],"operation":["create"]}},"options":[{"displayName":"Grid Properties","name":"gridProperties","type":"collection","placeholder":"Add Property","default":{},"options":[{"displayName":"Column Count","name":"columnCount","type":"number","default":0,"description":"The number of columns in the grid"},{"displayName":"Column Group Control After","name":"columnGroupControlAfter","type":"boolean","default":false,"description":"Whether the column grouping control toggle is shown after the group"},{"displayName":"Frozen Column Count","name":"frozenColumnCount","type":"number","default":0,"description":"The number of columns that are frozen in the grid"},{"displayName":"Frozen Row Count","name":"frozenRowCount","type":"number","default":0,"description":"The number of rows that are frozen in the grid"},{"displayName":"Hide Gridlines","name":"hideGridlines","type":"boolean","default":false,"description":"Whether the grid isn't showing gridlines in the UI"},{"displayName":"Row Count","name":"rowCount","type":"number","default":0,"description":"The number of rows in the grid"},{"displayName":"Row Group Control After","name":"rowGroupControlAfter","type":"boolean","default":false,"description":"Whether the row grouping control toggle is shown after the group"}],"description":"The type of the sheet"},{"displayName":"Hidden","name":"hidden","type":"boolean","default":false,"description":"Whether the sheet is hidden in the UI, false if it's visible"},{"displayName":"Right To Left","name":"rightToLeft","type":"boolean","default":false,"description":"Whether the sheet is an RTL sheet instead of an LTR sheet"},{"displayName":"Sheet ID","name":"sheetId","type":"number","default":0,"description":"The ID of the sheet. Must be non-negative. This field cannot be changed once set."},{"displayName":"Sheet Index","name":"index","type":"number","default":0,"description":"The index of the sheet within the spreadsheet"},{"displayName":"Tab Color","name":"tabColor","type":"color","default":"0aa55c","description":"The color of the tab in the UI"},{"displayName":"Title","name":"title","type":"string","default":"","description":"The Sheet name"}]},{"displayName":"Sheet ID","name":"id","type":"string","default":"","required":true,"displayOptions":{"show":{"resource":["sheet"],"operation":["remove"]}},"description":"The ID of the sheet to delete"}],"iconUrl":"icons/n8n-nodes-base/dist/nodes/Google/Sheet/googleSheets.svg"},
150
- {"displayName":"Google Sheets","name":"n8n-nodes-base.googleSheets","group":["input","output"],"defaultVersion":3,"subtitle":"={{$parameter[\"operation\"] + \": \" + $parameter[\"resource\"]}}","description":"Read, update and write data to Google Sheets","version":3,"defaults":{"name":"Google Sheets"},"inputs":["main"],"outputs":["main"],"credentials":[{"name":"googleApi","required":true,"displayOptions":{"show":{"authentication":["serviceAccount"]}},"testedBy":"googleApiCredentialTest"},{"name":"googleSheetsOAuth2Api","required":true,"displayOptions":{"show":{"authentication":["oAuth2"]}}}],"properties":[{"displayName":"Authentication","name":"authentication","type":"options","options":[{"name":"Service Account","value":"serviceAccount"},{"name":"OAuth2 (recommended)","value":"oAuth2"}],"default":"oAuth2"},{"displayName":"Resource","name":"resource","type":"options","noDataExpression":true,"options":[{"name":"Document","value":"spreadsheet"},{"name":"Sheet Within Document","value":"sheet"}],"default":"sheet"},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"displayOptions":{"show":{"resource":["sheet"]}},"options":[{"name":"Append","value":"append","description":"Append data to a sheet","action":"Append data to a sheet"},{"name":"Append or Update","value":"appendOrUpdate","description":"Append a new row or update the current one if it already exists (upsert)","action":"Append or update a sheet"},{"name":"Clear","value":"clear","description":"Clear data from a sheet","action":"Clear a sheet"},{"name":"Create","value":"create","description":"Create a new sheet","action":"Create a sheet"},{"name":"Delete","value":"delete","description":"Delete columns and rows from a sheet","action":"Delete a sheet"},{"name":"Read Rows","value":"read","description":"Read all rows in a sheet","action":"Read all rows"},{"name":"Remove","value":"remove","description":"Remove a sheet","action":"Remove a sheet"},{"name":"Update","value":"update","description":"Update rows in a sheet","action":"Update a sheet"}],"default":"read"},{"displayName":"Document","name":"documentId","type":"resourceLocator","default":{"mode":"list","value":""},"required":true,"modes":[{"displayName":"From List","name":"list","type":"list","typeOptions":{"searchListMethod":"spreadSheetsSearch","searchable":true}},{"displayName":"By URL","name":"url","type":"string","extractValue":{"type":"regex","regex":"https:\\/\\/(?:drive|docs)\\.google\\.com\\/\\w+\\/d\\/([0-9a-zA-Z\\-_]+)(?:\\/.*|)"},"validation":[{"type":"regex","properties":{"regex":"https:\\/\\/(?:drive|docs)\\.google.com\\/\\w+\\/d\\/([0-9a-zA-Z\\-_]+)(?:\\/.*|)","errorMessage":"Not a valid Google Drive File URL"}}]},{"displayName":"By ID","name":"id","type":"string","validation":[{"type":"regex","properties":{"regex":"[a-zA-Z0-9\\-_]{2,}","errorMessage":"Not a valid Google Drive File ID"}}],"url":"=https://docs.google.com/spreadsheets/d/{{$value}}/edit"}],"displayOptions":{"show":{"resource":["sheet"]}}},{"displayName":"Sheet","name":"sheetName","type":"resourceLocator","default":{"mode":"list","value":""},"required":true,"typeOptions":{"loadOptionsDependsOn":["documentId.value"]},"modes":[{"displayName":"From List","name":"list","type":"list","typeOptions":{"searchListMethod":"sheetsSearch","searchable":false}},{"displayName":"By URL","name":"url","type":"string","extractValue":{"type":"regex","regex":"https:\\/\\/docs\\.google\\.com/spreadsheets\\/d\\/[0-9a-zA-Z\\-_]+\\/edit\\#gid=([0-9]+)"},"validation":[{"type":"regex","properties":{"regex":"https:\\/\\/docs\\.google\\.com/spreadsheets\\/d\\/[0-9a-zA-Z\\-_]+\\/edit\\#gid=([0-9]+)","errorMessage":"Not a valid Sheet URL"}}]},{"displayName":"By ID","name":"id","type":"string","validation":[{"type":"regex","properties":{"regex":"((gid=)?[0-9]{1,})","errorMessage":"Not a valid Sheet ID"}}]}],"displayOptions":{"show":{"resource":["sheet"],"operation":["append","appendOrUpdate","clear","delete","read","remove","update"]}}},{"displayName":"Data Mode","name":"dataMode","type":"options","options":[{"name":"Auto-Map Input Data to Columns","value":"autoMapInputData","description":"Use when node input properties match destination column names"},{"name":"Map Each Column Below","value":"defineBelow","description":"Set the value for each destination column"},{"name":"Nothing","value":"nothing","description":"Do not send anything"}],"displayOptions":{"show":{"resource":["sheet"],"operation":["append"]},"hide":{"sheetName":[""]}},"default":"defineBelow","description":"Whether to insert the input data this node receives in the new row"},{"displayName":"In this mode, make sure the incoming data is named the same as the columns in your Sheet. (Use a 'set' node before this node to change it if required.)","name":"autoMapNotice","type":"notice","default":"","displayOptions":{"show":{"operation":["append"],"dataMode":["autoMapInputData"]},"hide":{"sheetName":[""]}}},{"displayName":"Fields to Send","name":"fieldsUi","placeholder":"Add Field","type":"fixedCollection","typeOptions":{"multipleValueButtonText":"Add Field to Send","multipleValues":true},"displayOptions":{"show":{"resource":["sheet"],"operation":["append"],"dataMode":["defineBelow"]},"hide":{"sheetName":[""]}},"default":{},"options":[{"displayName":"Field","name":"fieldValues","values":[{"displayName":"Field Name or ID","name":"fieldId","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsDependsOn":["sheetName.value"],"loadOptionsMethod":"getSheetHeaderRowAndSkipEmpty"},"default":""},{"displayName":"Field Value","name":"fieldValue","type":"string","default":""}]}]},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"displayOptions":{"show":{"resource":["sheet"],"operation":["append"]},"hide":{"sheetName":[""]}},"options":[{"displayName":"Cell Format","name":"cellFormat","type":"options","options":[{"name":"Let n8n format","value":"RAW","description":"Cells have the same types as the input data"},{"name":"Let Google Sheets format","value":"USER_ENTERED","description":"Cells are styled as if you typed the values into Google Sheets directly"}],"default":"RAW","description":"Determines how data should be interpreted"},{"displayName":"Data Location on Sheet","name":"locationDefine","type":"fixedCollection","placeholder":"Select Range","default":{"values":{}},"options":[{"displayName":"Values","name":"values","values":[{"displayName":"Header Row","name":"headerRow","type":"number","typeOptions":{"minValue":1},"default":1,"description":"Index of the row which contains the keys. Starts at 1. The incoming node data is matched to the keys for assignment. The matching is case sensitive."}]}]},{"displayName":"Handling extra fields in input","name":"handlingExtraData","type":"options","options":[{"name":"Insert in New Column(s)","value":"insertInNewColumn","description":"Create a new column for extra data"},{"name":"Ignore Them","value":"ignoreIt","description":"Ignore extra data"},{"name":"Error","value":"error","description":"Throw an error"}],"displayOptions":{"show":{"/dataMode":["autoMapInputData"]}},"default":"insertInNewColumn","description":"What do to with fields that don't match any columns in the Google Sheet"}]},{"displayName":"Clear","name":"clear","type":"options","options":[{"name":"Whole Sheet","value":"wholeSheet"},{"name":"Specific Rows","value":"specificRows"},{"name":"Specific Columns","value":"specificColumns"},{"name":"Specific Range","value":"specificRange"}],"displayOptions":{"show":{"resource":["sheet"],"operation":["clear"]},"hide":{"sheetName":[""]}},"default":"wholeSheet","description":"What to clear"},{"displayName":"Keep First Row","name":"keepFirstRow","type":"boolean","displayOptions":{"show":{"resource":["sheet"],"operation":["clear"],"clear":["wholeSheet"]},"hide":{"sheetName":[""]}},"default":false},{"displayName":"Start Row Number","name":"startIndex","type":"number","typeOptions":{"minValue":1},"default":1,"description":"The row number to delete from, The first row is 1","displayOptions":{"show":{"resource":["sheet"],"operation":["clear"],"clear":["specificRows"]},"hide":{"sheetName":[""]}}},{"displayName":"Number of Rows to Delete","name":"rowsToDelete","type":"number","typeOptions":{"minValue":1},"default":1,"displayOptions":{"show":{"resource":["sheet"],"operation":["clear"],"clear":["specificRows"]},"hide":{"sheetName":[""]}}},{"displayName":"Start Column","name":"startIndex","type":"string","default":"A","description":"The column to delete","displayOptions":{"show":{"resource":["sheet"],"operation":["clear"],"clear":["specificColumns"]},"hide":{"sheetName":[""]}}},{"displayName":"Number of Columns to Delete","name":"columnsToDelete","type":"number","typeOptions":{"minValue":1},"default":1,"displayOptions":{"show":{"resource":["sheet"],"operation":["clear"],"clear":["specificColumns"]},"hide":{"sheetName":[""]}}},{"displayName":"Range","name":"range","type":"string","displayOptions":{"show":{"resource":["sheet"],"operation":["clear"],"clear":["specificRange"]},"hide":{"sheetName":[""]}},"default":"A:F","required":true,"description":"The table range to read from or to append data to. See the Google <a href=\"https://developers.google.com/sheets/api/guides/values#writing\">documentation</a> for the details. If it contains multiple sheets it can also be added like this: \"MySheet!A:F\""},{"displayName":"Title","name":"title","type":"string","required":true,"default":"n8n-sheet","displayOptions":{"show":{"resource":["sheet"],"operation":["create"]}},"description":"The name of the sheet"},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"displayOptions":{"show":{"resource":["sheet"],"operation":["create"]}},"options":[{"displayName":"Hidden","name":"hidden","type":"boolean","default":false,"description":"Whether the sheet is hidden in the UI, false if it's visible"},{"displayName":"Right To Left","name":"rightToLeft","type":"boolean","default":false,"description":"Whether the sheet is an RTL sheet instead of an LTR sheet"},{"displayName":"Sheet ID","name":"sheetId","type":"number","default":0,"description":"The ID of the sheet. Must be non-negative. This field cannot be changed once set."},{"displayName":"Sheet Index","name":"index","type":"number","default":0,"description":"The index of the sheet within the spreadsheet"},{"displayName":"Tab Color","name":"tabColor","type":"color","default":"0aa55c","description":"The color of the tab in the UI"}]},{"displayName":"To Delete","name":"toDelete","type":"options","options":[{"name":"Rows","value":"rows","description":"Rows to delete"},{"name":"Columns","value":"columns","description":"Columns to delete"}],"displayOptions":{"show":{"resource":["sheet"],"operation":["delete"]},"hide":{"sheetName":[""]}},"default":"rows","description":"What to delete"},{"displayName":"Start Row Number","name":"startIndex","type":"number","typeOptions":{"minValue":1},"default":2,"description":"The row number to delete from, The first row is 2","displayOptions":{"show":{"resource":["sheet"],"operation":["delete"],"toDelete":["rows"]},"hide":{"sheetName":[""]}}},{"displayName":"Number of Rows to Delete","name":"numberToDelete","type":"number","typeOptions":{"minValue":1},"default":1,"displayOptions":{"show":{"resource":["sheet"],"operation":["delete"],"toDelete":["rows"]},"hide":{"sheetName":[""]}}},{"displayName":"Start Column","name":"startIndex","type":"string","default":"A","description":"The column to delete","displayOptions":{"show":{"resource":["sheet"],"operation":["delete"],"toDelete":["columns"]},"hide":{"sheetName":[""]}}},{"displayName":"Number of Columns to Delete","name":"numberToDelete","type":"number","typeOptions":{"minValue":1},"default":1,"displayOptions":{"show":{"resource":["sheet"],"operation":["delete"],"toDelete":["columns"]},"hide":{"sheetName":[""]}}},{"displayName":"Filters","name":"filtersUI","placeholder":"Add Filter","type":"fixedCollection","typeOptions":{"multipleValueButtonText":"Add Filter","multipleValues":true},"default":{},"options":[{"displayName":"Filter","name":"values","values":[{"displayName":"Column","name":"lookupColumn","type":"options","typeOptions":{"loadOptionsDependsOn":["sheetName.value"],"loadOptionsMethod":"getSheetHeaderRowWithGeneratedColumnNames"},"default":"","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>"},{"displayName":"Value","name":"lookupValue","type":"string","default":"","hint":"The column must have this value to be matched"}]}],"displayOptions":{"show":{"resource":["sheet"],"operation":["read"]},"hide":{"sheetName":[""]}}},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"displayOptions":{"show":{"resource":["sheet"],"operation":["read"]},"hide":{"sheetName":[""]}},"options":[{"displayName":"Data Location on Sheet","name":"dataLocationOnSheet","type":"fixedCollection","placeholder":"Select Range","default":{"values":{"rangeDefinition":"detectAutomatically"}},"options":[{"displayName":"Values","name":"values","values":[{"displayName":"Range Definition","name":"rangeDefinition","type":"options","options":[{"name":"Detect Automatically","value":"detectAutomatically","description":"Automatically detect the data range"},{"name":"Specify Range (A1 Notation)","value":"specifyRangeA1","description":"Manually specify the data range"},{"name":"Specify Range (Rows)","value":"specifyRange","description":"Manually specify the data range"}],"default":""},{"displayName":"Read Rows Until","name":"readRowsUntil","type":"options","default":"lastRowInSheet","options":[{"name":"First Empty Row","value":"firstEmptyRow"},{"name":"Last Row In Sheet","value":"lastRowInSheet"}],"displayOptions":{"show":{"rangeDefinition":["detectAutomatically"]}}},{"displayName":"Header Row","name":"headerRow","type":"number","typeOptions":{"minValue":1},"default":1,"description":"Index is relative to the set 'Range', first row index is 1","hint":"Index of the row which contains the column names","displayOptions":{"show":{"rangeDefinition":["specifyRange"]}}},{"displayName":"First Data Row","name":"firstDataRow","type":"number","typeOptions":{"minValue":1},"default":2,"description":"Index is relative to the set 'Range', first row index is 1","hint":"Index of first row which contains the actual data","displayOptions":{"show":{"rangeDefinition":["specifyRange"]}}},{"displayName":"Range","name":"range","type":"string","default":"","placeholder":"A:Z","description":"The table range to read from or to append data to. See the Google <a href=\"https://developers.google.com/sheets/api/guides/values#writing\">documentation</a> for the details.","hint":"You can specify both the rows and the columns, e.g. C4:E7","displayOptions":{"show":{"rangeDefinition":["specifyRangeA1"]}}}]}]},{"displayName":"Output Formatting","name":"outputFormatting","type":"fixedCollection","placeholder":"Add Formatting","default":{"values":{"general":"UNFORMATTED_VALUE","date":"FORMATTED_STRING"}},"options":[{"displayName":"Values","name":"values","values":[{"displayName":"General Formatting","name":"general","type":"options","options":[{"name":"Values (unformatted)","value":"UNFORMATTED_VALUE","description":"Numbers stay as numbers, but any currency signs or special formatting is lost"},{"name":"Values (formatted)","value":"FORMATTED_VALUE","description":"Numbers are turned to text, and displayed as in Google Sheets (e.g. with commas or currency signs)"},{"name":"Formulas","value":"FORMULA"}],"default":"","description":"Determines how values should be rendered in the output"},{"displayName":"Date Formatting","name":"date","type":"options","default":"","options":[{"name":"Formatted Text","value":"FORMATTED_STRING","description":"As displayed in Google Sheets, e.g. '01/01/2022'"},{"name":"Serial Number","value":"SERIAL_NUMBER","description":"A number representing the number of days since Dec 30, 1899"}]}]}]},{"displayName":"When Filter Has Multiple Matches","name":"returnAllMatches","type":"options","default":"returnFirstMatch","options":[{"name":"Return First Match","value":"returnFirstMatch","description":"Return only the first match"},{"name":"Return All Matches","value":"returnAllMatches","description":"Return all values that match"}],"description":"By default only the first result gets returned, Set to \"Return All Matches\" to get multiple matches"}]},{"displayName":"Data Mode","name":"dataMode","type":"options","options":[{"name":"Auto-Map Input Data to Columns","value":"autoMapInputData","description":"Use when node input properties match destination column names"},{"name":"Map Each Column Below","value":"defineBelow","description":"Set the value for each destination column"},{"name":"Nothing","value":"nothing","description":"Do not send anything"}],"displayOptions":{"show":{"resource":["sheet"],"operation":["update"]},"hide":{"sheetName":[""]}},"default":"defineBelow","description":"Whether to insert the input data this node receives in the new row"},{"displayName":"Column to match on","name":"columnToMatchOn","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsDependsOn":["sheetName.value"],"loadOptionsMethod":"getSheetHeaderRowAndSkipEmpty"},"default":"","hint":"Used to find the correct row to update. Doesn't get changed.","displayOptions":{"show":{"resource":["sheet"],"operation":["update"]},"hide":{"sheetName":[""]}}},{"displayName":"Value of Column to Match On","name":"valueToMatchOn","type":"string","default":"","displayOptions":{"show":{"resource":["sheet"],"operation":["update"],"dataMode":["defineBelow"]},"hide":{"sheetName":[""]}}},{"displayName":"Values to Send","name":"fieldsUi","placeholder":"Add Field","type":"fixedCollection","typeOptions":{"multipleValues":true},"displayOptions":{"show":{"resource":["sheet"],"operation":["update"],"dataMode":["defineBelow"]},"hide":{"sheetName":[""]}},"default":{},"options":[{"displayName":"Field","name":"values","values":[{"displayName":"Column","name":"column","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsDependsOn":["sheetName.value","columnToMatchOn"],"loadOptionsMethod":"getSheetHeaderRowAndAddColumn"},"default":""},{"displayName":"Column Name","name":"columnName","type":"string","default":"","displayOptions":{"show":{"column":["newColumn"]}}},{"displayName":"Value","name":"fieldValue","type":"string","default":""}]}]},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"displayOptions":{"show":{"resource":["sheet"],"operation":["update"]},"hide":{"sheetName":[""]}},"options":[{"displayName":"Cell Format","name":"cellFormat","type":"options","options":[{"name":"Let n8n format","value":"RAW","description":"Cells have the same types as the input data"},{"name":"Let Google Sheets format","value":"USER_ENTERED","description":"Cells are styled as if you typed the values into Google Sheets directly"}],"default":"RAW","description":"Determines how data should be interpreted"},{"displayName":"Data Location on Sheet","name":"locationDefine","type":"fixedCollection","placeholder":"Select Range","default":{"values":{}},"options":[{"displayName":"Values","name":"values","values":[{"displayName":"Header Row","name":"headerRow","type":"number","typeOptions":{"minValue":1},"default":1,"description":"Index is relative to the set 'Range', first row index is 1","hint":"Index of the row which contains the column names"},{"displayName":"First Data Row","name":"firstDataRow","type":"number","typeOptions":{"minValue":1},"default":2,"description":"Index is relative to the set 'Range', first row index is 1","hint":"Index of first row which contains the actual data"}]}]},{"displayName":"Handling extra fields in input","name":"handlingExtraData","type":"options","options":[{"name":"Insert in New Column(s)","value":"insertInNewColumn","description":"Create a new column for extra data"},{"name":"Ignore Them","value":"ignoreIt","description":"Ignore extra data"},{"name":"Error","value":"error","description":"Throw an error"}],"displayOptions":{"show":{"/dataMode":["autoMapInputData"]}},"default":"insertInNewColumn","description":"What do to with fields that don't match any columns in the Google Sheet"}]},{"displayName":"Data Mode","name":"dataMode","type":"options","options":[{"name":"Auto-Map Input Data to Columns","value":"autoMapInputData","description":"Use when node input properties match destination column names"},{"name":"Map Each Column Below","value":"defineBelow","description":"Set the value for each destination column"},{"name":"Nothing","value":"nothing","description":"Do not send anything"}],"displayOptions":{"show":{"resource":["sheet"],"operation":["appendOrUpdate"]},"hide":{"sheetName":[""]}},"default":"defineBelow","description":"Whether to insert the input data this node receives in the new row"},{"displayName":"Column to match on","name":"columnToMatchOn","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsDependsOn":["sheetName.value"],"loadOptionsMethod":"getSheetHeaderRowAndSkipEmpty"},"default":"","hint":"Used to find the correct row to update. Doesn't get changed.","displayOptions":{"show":{"resource":["sheet"],"operation":["appendOrUpdate"]},"hide":{"sheetName":[""]}}},{"displayName":"Value of Column to Match On","name":"valueToMatchOn","type":"string","default":"","displayOptions":{"show":{"resource":["sheet"],"operation":["appendOrUpdate"],"dataMode":["defineBelow"]},"hide":{"sheetName":[""]}}},{"displayName":"Values to Send","name":"fieldsUi","placeholder":"Add Field","type":"fixedCollection","typeOptions":{"multipleValues":true},"displayOptions":{"show":{"resource":["sheet"],"operation":["appendOrUpdate"],"dataMode":["defineBelow"]},"hide":{"sheetName":[""]}},"default":{},"options":[{"displayName":"Field","name":"values","values":[{"displayName":"Column","name":"column","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsDependsOn":["sheetName.value","columnToMatchOn"],"loadOptionsMethod":"getSheetHeaderRowAndAddColumn"},"default":""},{"displayName":"Column Name","name":"columnName","type":"string","default":"","displayOptions":{"show":{"column":["newColumn"]}}},{"displayName":"Value","name":"fieldValue","type":"string","default":""}]}]},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"displayOptions":{"show":{"resource":["sheet"],"operation":["appendOrUpdate"]},"hide":{"sheetName":[""]}},"options":[{"displayName":"Cell Format","name":"cellFormat","type":"options","options":[{"name":"Let n8n format","value":"RAW","description":"Cells have the same types as the input data"},{"name":"Let Google Sheets format","value":"USER_ENTERED","description":"Cells are styled as if you typed the values into Google Sheets directly"}],"default":"RAW","description":"Determines how data should be interpreted"},{"displayName":"Data Location on Sheet","name":"locationDefine","type":"fixedCollection","placeholder":"Select Range","default":{"values":{}},"options":[{"displayName":"Values","name":"values","values":[{"displayName":"Header Row","name":"headerRow","type":"number","typeOptions":{"minValue":1},"default":1,"description":"Index is relative to the set 'Range', first row index is 1","hint":"Index of the row which contains the column names"},{"displayName":"First Data Row","name":"firstDataRow","type":"number","typeOptions":{"minValue":1},"default":2,"description":"Index is relative to the set 'Range', first row index is 1","hint":"Index of first row which contains the actual data"}]}]},{"displayName":"Handling extra fields in input","name":"handlingExtraData","type":"options","options":[{"name":"Insert in New Column(s)","value":"insertInNewColumn","description":"Create a new column for extra data"},{"name":"Ignore Them","value":"ignoreIt","description":"Ignore extra data"},{"name":"Error","value":"error","description":"Throw an error"}],"displayOptions":{"show":{"/dataMode":["autoMapInputData"]}},"default":"insertInNewColumn","description":"What do to with fields that don't match any columns in the Google Sheet"}]},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"displayOptions":{"show":{"resource":["spreadsheet"]}},"options":[{"name":"Create","value":"create","description":"Create a spreadsheet","action":"Create a spreadsheet"},{"name":"Delete","value":"deleteSpreadsheet","description":"Delete a spreadsheet","action":"Delete a spreadsheet"}],"default":"create"},{"displayName":"Title","name":"title","type":"string","default":"","displayOptions":{"show":{"resource":["spreadsheet"],"operation":["create"]}},"description":"The title of the spreadsheet"},{"displayName":"Sheets","name":"sheetsUi","placeholder":"Add Sheet","type":"fixedCollection","typeOptions":{"multipleValues":true},"default":{},"options":[{"name":"sheetValues","displayName":"Sheet","values":[{"displayName":"Title","name":"title","type":"string","default":"","description":"Title of the property to create"},{"displayName":"Hidden","name":"hidden","type":"boolean","default":false,"description":"Whether the Sheet should be hidden in the UI"}]}],"displayOptions":{"show":{"resource":["spreadsheet"],"operation":["create"]}}},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"displayOptions":{"show":{"resource":["spreadsheet"],"operation":["create"]}},"options":[{"displayName":"Locale","name":"locale","type":"string","default":"","placeholder":"en_US","description":"The locale of the spreadsheet in one of the following formats:\n\t\t\t\t<ul>\n\t\t\t\t\t<li>en (639-1)</li>\n\t\t\t\t\t<li>fil (639-2 if no 639-1 format exists)</li>\n\t\t\t\t\t<li>en_US (combination of ISO language an country)</li>\n\t\t\t\t<ul>"},{"displayName":"Recalculation Interval","name":"autoRecalc","type":"options","options":[{"name":"Default","value":"","description":"Default value"},{"name":"On Change","value":"ON_CHANGE","description":"Volatile functions are updated on every change"},{"name":"Minute","value":"MINUTE","description":"Volatile functions are updated on every change and every minute"},{"name":"Hour","value":"HOUR","description":"Volatile functions are updated on every change and hourly"}],"default":"","description":"Cell recalculation interval options"}]},{"displayName":"Document","name":"documentId","type":"resourceLocator","default":{"mode":"list","value":""},"required":true,"modes":[{"displayName":"From List","name":"list","type":"list","typeOptions":{"searchListMethod":"spreadSheetsSearch","searchable":true}},{"displayName":"By URL","name":"url","type":"string","extractValue":{"type":"regex","regex":"https:\\/\\/(?:drive|docs)\\.google\\.com\\/\\w+\\/d\\/([0-9a-zA-Z\\-_]+)(?:\\/.*|)"},"validation":[{"type":"regex","properties":{"regex":"https:\\/\\/(?:drive|docs)\\.google.com\\/\\w+\\/d\\/([0-9a-zA-Z\\-_]+)(?:\\/.*|)","errorMessage":"Not a valid Google Drive File URL"}}]},{"displayName":"By ID","name":"id","type":"string","validation":[{"type":"regex","properties":{"regex":"[a-zA-Z0-9\\-_]{2,}","errorMessage":"Not a valid Google Drive File ID"}}],"url":"=https://docs.google.com/spreadsheets/d/{{$value}}/edit"}],"displayOptions":{"show":{"resource":["spreadsheet"],"operation":["deleteSpreadsheet"]}}}],"iconUrl":"icons/n8n-nodes-base/dist/nodes/Google/Sheet/googleSheets.svg","codex":{"categories":["Data & Storage","Productivity"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"alias":["CSV","Spreadsheet","GS"]}},
148
+ {"displayName":"Google Sheets ","name":"n8n-nodes-base.googleSheets","group":["input","output"],"defaultVersion":4,"subtitle":"={{$parameter[\"operation\"] + \": \" + $parameter[\"resource\"]}}","description":"Read, update and write data to Google Sheets","version":[1,2],"defaults":{"name":"Google Sheets"},"inputs":["main"],"outputs":["main"],"credentials":[{"name":"googleApi","required":true,"displayOptions":{"show":{"authentication":["serviceAccount"]}},"testedBy":"googleApiCredentialTest"},{"name":"googleSheetsOAuth2Api","required":true,"displayOptions":{"show":{"authentication":["oAuth2"]}}}],"properties":[{"displayName":"<strong>New node version available:</strong> get the latest version with added features from the nodes panel.","name":"oldVersionNotice","type":"notice","default":""},{"displayName":"Authentication","name":"authentication","type":"options","options":[{"name":"Service Account","value":"serviceAccount"},{"name":"OAuth2","value":"oAuth2"}],"default":"serviceAccount","displayOptions":{"show":{"@version":[1]}}},{"displayName":"Authentication","name":"authentication","type":"options","options":[{"name":"OAuth2 (recommended)","value":"oAuth2"},{"name":"Service Account","value":"serviceAccount"}],"default":"oAuth2","displayOptions":{"show":{"@version":[2]}}},{"displayName":"Resource","name":"resource","type":"options","noDataExpression":true,"options":[{"name":"Spreadsheet","value":"spreadsheet"},{"name":"Sheet","value":"sheet"}],"default":"sheet"},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"displayOptions":{"show":{"resource":["sheet"]}},"options":[{"name":"Append","value":"append","description":"Append data to a sheet","action":"Append data to a sheet"},{"name":"Clear","value":"clear","description":"Clear data from a sheet","action":"Clear a sheet"},{"name":"Create","value":"create","description":"Create a new sheet","action":"Create a sheet"},{"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 sheet"},{"name":"Delete","value":"delete","description":"Delete columns and rows from a sheet","action":"Delete a sheet"},{"name":"Lookup","value":"lookup","description":"Look up a specific column value and return the matching row","action":"Look up a column value in a sheet"},{"name":"Read","value":"read","description":"Read data from a sheet","action":"Read a sheet"},{"name":"Remove","value":"remove","description":"Remove a sheet","action":"Remove a sheet"},{"name":"Update","value":"update","description":"Update rows in a sheet","action":"Update a sheet"}],"default":"read"},{"displayName":"Spreadsheet ID","name":"sheetId","type":"string","displayOptions":{"show":{"resource":["sheet"]}},"default":"","required":true,"description":"The ID of the Google Spreadsheet. Found as part of the sheet URL https://docs.google.com/spreadsheets/d/{ID}/."},{"displayName":"Range","name":"range","type":"string","displayOptions":{"show":{"resource":["sheet"]},"hide":{"operation":["create","delete","remove"]}},"default":"A:F","required":true,"description":"The table range to read from or to append data to. See the Google <a href=\"https://developers.google.com/sheets/api/guides/values#writing\">documentation</a> for the details. If it contains multiple sheets it can also be added like this: \"MySheet!A:F\""},{"displayName":"To Delete","name":"toDelete","placeholder":"Add Columns/Rows to delete","description":"Deletes columns and rows from a sheet","type":"fixedCollection","typeOptions":{"multipleValues":true},"displayOptions":{"show":{"resource":["sheet"],"operation":["delete"]}},"default":{},"options":[{"displayName":"Columns","name":"columns","values":[{"displayName":"Sheet Name or ID","name":"sheetId","type":"options","typeOptions":{"loadOptionsMethod":"getSheets"},"options":[],"default":"","required":true,"description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>"},{"displayName":"Start Index","name":"startIndex","type":"number","typeOptions":{"minValue":0},"default":0,"description":"The start index (0 based and inclusive) of column to delete"},{"displayName":"Amount","name":"amount","type":"number","typeOptions":{"minValue":1},"default":1,"description":"Number of columns to delete"}]},{"displayName":"Rows","name":"rows","values":[{"displayName":"Sheet Name or ID","name":"sheetId","type":"options","typeOptions":{"loadOptionsMethod":"getSheets"},"options":[],"default":"","required":true,"description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>"},{"displayName":"Start Index","name":"startIndex","type":"number","typeOptions":{"minValue":0},"default":0,"description":"The start index (0 based and inclusive) of row to delete"},{"displayName":"Amount","name":"amount","type":"number","typeOptions":{"minValue":1},"default":1,"description":"Number of rows to delete"}]}]},{"displayName":"RAW Data","name":"rawData","type":"boolean","displayOptions":{"show":{"resource":["sheet"],"operation":["read"]}},"default":false,"description":"Whether the data should be returned RAW instead of parsed into keys according to their header"},{"displayName":"Data Property","name":"dataProperty","type":"string","default":"data","displayOptions":{"show":{"resource":["sheet"],"operation":["read"],"rawData":[true]}},"description":"The name of the property into which to write the RAW data"},{"displayName":"RAW Data","name":"rawData","type":"boolean","displayOptions":{"show":{"resource":["sheet"],"operation":["update","upsert"]}},"default":false,"description":"Whether the data supplied is RAW instead of parsed into keys"},{"displayName":"Data Property","name":"dataProperty","type":"string","default":"data","displayOptions":{"show":{"resource":["sheet"],"operation":["update","upsert"],"rawData":[true]}},"description":"The name of the property from which to read the RAW data"},{"displayName":"Data Start Row","name":"dataStartRow","type":"number","typeOptions":{"minValue":1},"default":1,"displayOptions":{"show":{"resource":["sheet"]},"hide":{"operation":["append","create","clear","delete","remove"],"rawData":[true]}},"description":"Index of the first row which contains the actual data and not the keys. Starts with 0."},{"displayName":"Key Row","name":"keyRow","type":"number","typeOptions":{"minValue":0},"displayOptions":{"show":{"resource":["sheet"]},"hide":{"operation":["clear","create","delete","remove"],"rawData":[true]}},"default":0,"description":"Index of the row which contains the keys. Starts at 0. The incoming node data is matched to the keys for assignment. The matching is case sensitive."},{"displayName":"Lookup Column","name":"lookupColumn","type":"string","default":"","placeholder":"Email","required":true,"displayOptions":{"show":{"resource":["sheet"],"operation":["lookup"]}},"description":"The name of the column in which to look for value"},{"displayName":"Lookup Value","name":"lookupValue","type":"string","default":"","placeholder":"frank@example.com","displayOptions":{"show":{"resource":["sheet"],"operation":["lookup"]}},"description":"The value to look for in column"},{"displayName":"Key","name":"key","type":"string","default":"id","displayOptions":{"show":{"resource":["sheet"],"operation":["update","upsert"],"rawData":[false]}},"description":"The name of the key to identify which data should be updated in the sheet"},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"displayOptions":{"show":{"resource":["sheet"],"operation":["append","lookup","read","update","upsert"]}},"options":[{"displayName":"Continue If Empty","name":"continue","type":"boolean","default":false,"displayOptions":{"show":{"/operation":["lookup","read"]}},"description":"By default, the workflow stops executing if the lookup/read does not return values"},{"displayName":"Return All Matches","name":"returnAllMatches","type":"boolean","default":false,"displayOptions":{"show":{"/operation":["lookup"]}},"description":"By default only the first result gets returned. If options gets set all found matches get returned."},{"displayName":"Use Header Names as JSON Paths","name":"usePathForKeyRow","type":"boolean","default":false,"displayOptions":{"show":{"/operation":["append"]}},"description":"Whether you want to match the headers as path, for example, the row header \"category.name\" will match the \"category\" object and get the field \"name\" from it. By default \"category.name\" will match with the field with exact name, not nested object."},{"displayName":"Value Input Mode","name":"valueInputMode","type":"options","displayOptions":{"show":{"/operation":["append","update","upsert"]}},"options":[{"name":"RAW","value":"RAW","description":"The values will not be parsed and will be stored as-is"},{"name":"User Entered","value":"USER_ENTERED","description":"The values will be parsed as if the user typed them into the UI. Numbers will stay as numbers, but strings may be converted to numbers, dates, etc. following the same rules that are applied when entering text into a cell via the Google Sheets UI."}],"default":"RAW","description":"Determines how data should be interpreted"},{"displayName":"Value Render Mode","name":"valueRenderMode","type":"options","displayOptions":{"show":{"/operation":["lookup","read"]}},"options":[{"name":"Formatted Value","value":"FORMATTED_VALUE","description":"Values will be calculated & formatted in the reply according to the cell's formatting.Formatting is based on the spreadsheet's locale, not the requesting user's locale.For example, if A1 is 1.23 and A2 is =A1 and formatted as currency, then A2 would return \"$1.23\""},{"name":"Formula","value":"FORMULA","description":"Values will not be calculated. The reply will include the formulas. For example, if A1 is 1.23 and A2 is =A1 and formatted as currency, then A2 would return \"=A1\"."},{"name":"Unformatted Value","value":"UNFORMATTED_VALUE","description":"Values will be calculated, but not formatted in the reply. For example, if A1 is 1.23 and A2 is =A1 and formatted as currency, then A2 would return the number 1.23."}],"default":"UNFORMATTED_VALUE","description":"Determines how values should be rendered in the output"},{"displayName":"Value Render Mode","name":"valueRenderMode","type":"options","displayOptions":{"show":{"/operation":["update","upsert"],"/rawData":[false]}},"options":[{"name":"Formatted Value","value":"FORMATTED_VALUE","description":"Values will be calculated & formatted in the reply according to the cell's formatting.Formatting is based on the spreadsheet's locale, not the requesting user's locale. For example, if A1 is 1.23 and A2 is =A1 and formatted as currency, then A2 would return \"$1.23\"."},{"name":"Formula","value":"FORMULA","description":"Values will not be calculated. The reply will include the formulas. For example, if A1 is 1.23 and A2 is =A1 and formatted as currency, then A2 would return \"=A1\"."},{"name":"Unformatted Value","value":"UNFORMATTED_VALUE","description":"Values will be calculated, but not formatted in the reply. For example, if A1 is 1.23 and A2 is =A1 and formatted as currency, then A2 would return the number 1.23."}],"default":"UNFORMATTED_VALUE","description":"Determines how values should be rendered in the output"}]},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"displayOptions":{"show":{"resource":["spreadsheet"]}},"options":[{"name":"Create","value":"create","description":"Create a spreadsheet","action":"Create a spreadsheet"}],"default":"create"},{"displayName":"Title","name":"title","type":"string","default":"","displayOptions":{"show":{"resource":["spreadsheet"],"operation":["create"]}},"description":"The title of the spreadsheet"},{"displayName":"Sheets","name":"sheetsUi","placeholder":"Add Sheet","type":"fixedCollection","typeOptions":{"multipleValues":true},"default":{},"displayOptions":{"show":{"resource":["spreadsheet"],"operation":["create"]}},"options":[{"name":"sheetValues","displayName":"Sheet","values":[{"displayName":"Sheet Properties","name":"propertiesUi","placeholder":"Add Property","type":"collection","default":{},"options":[{"displayName":"Hidden","name":"hidden","type":"boolean","default":false,"description":"Whether the Sheet should be hidden in the UI"},{"displayName":"Title","name":"title","type":"string","default":"","description":"Title of the property to create"}]}]}]},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"displayOptions":{"show":{"resource":["spreadsheet"],"operation":["create"]}},"options":[{"displayName":"Locale","name":"locale","type":"string","default":"","placeholder":"en_US","description":"The locale of the spreadsheet in one of the following formats:\n\t\t\t\t\t<ul>\n\t\t\t\t\t\t<li>en (639-1)</li>\n\t\t\t\t\t\t<li>fil (639-2 if no 639-1 format exists)</li>\n\t\t\t\t\t\t<li>en_US (combination of ISO language an country)</li>\n\t\t\t\t\t<ul>"},{"displayName":"Recalculation Interval","name":"autoRecalc","type":"options","options":[{"name":"Default","value":"","description":"Default value"},{"name":"On Change","value":"ON_CHANGE","description":"Volatile functions are updated on every change"},{"name":"Minute","value":"MINUTE","description":"Volatile functions are updated on every change and every minute"},{"name":"Hour","value":"HOUR","description":"Volatile functions are updated on every change and hourly"}],"default":"","description":"Cell recalculation interval options"}]},{"displayName":"Simplify","name":"simple","type":"boolean","default":true,"displayOptions":{"show":{"resource":["sheet"],"operation":["create"]}},"description":"Whether to return a simplified version of the response instead of the raw data"},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"displayOptions":{"show":{"resource":["sheet"],"operation":["create"]}},"options":[{"displayName":"Grid Properties","name":"gridProperties","type":"collection","placeholder":"Add Property","default":{},"options":[{"displayName":"Column Count","name":"columnCount","type":"number","default":0,"description":"The number of columns in the grid"},{"displayName":"Column Group Control After","name":"columnGroupControlAfter","type":"boolean","default":false,"description":"Whether the column grouping control toggle is shown after the group"},{"displayName":"Frozen Column Count","name":"frozenColumnCount","type":"number","default":0,"description":"The number of columns that are frozen in the grid"},{"displayName":"Frozen Row Count","name":"frozenRowCount","type":"number","default":0,"description":"The number of rows that are frozen in the grid"},{"displayName":"Hide Gridlines","name":"hideGridlines","type":"boolean","default":false,"description":"Whether the grid isn't showing gridlines in the UI"},{"displayName":"Row Count","name":"rowCount","type":"number","default":0,"description":"The number of rows in the grid"},{"displayName":"Row Group Control After","name":"rowGroupControlAfter","type":"boolean","default":false,"description":"Whether the row grouping control toggle is shown after the group"}],"description":"The type of the sheet"},{"displayName":"Hidden","name":"hidden","type":"boolean","default":false,"description":"Whether the sheet is hidden in the UI, false if it's visible"},{"displayName":"Right To Left","name":"rightToLeft","type":"boolean","default":false,"description":"Whether the sheet is an RTL sheet instead of an LTR sheet"},{"displayName":"Sheet ID","name":"sheetId","type":"number","default":0,"description":"The ID of the sheet. Must be non-negative. This field cannot be changed once set."},{"displayName":"Sheet Index","name":"index","type":"number","default":0,"description":"The index of the sheet within the spreadsheet"},{"displayName":"Tab Color","name":"tabColor","type":"color","default":"0aa55c","description":"The color of the tab in the UI"},{"displayName":"Title","name":"title","type":"string","default":"","description":"The Sheet name"}]},{"displayName":"Sheet ID","name":"id","type":"string","default":"","required":true,"displayOptions":{"show":{"resource":["sheet"],"operation":["remove"]}},"description":"The ID of the sheet to delete"}],"iconUrl":"icons/n8n-nodes-base/dist/nodes/Google/Sheet/googleSheets.svg"},
149
+ {"displayName":"Google Sheets ","name":"n8n-nodes-base.googleSheets","group":["input","output"],"defaultVersion":4,"subtitle":"={{$parameter[\"operation\"] + \": \" + $parameter[\"resource\"]}}","description":"Read, update and write data to Google Sheets","version":[1,2],"defaults":{"name":"Google Sheets"},"inputs":["main"],"outputs":["main"],"credentials":[{"name":"googleApi","required":true,"displayOptions":{"show":{"authentication":["serviceAccount"]}},"testedBy":"googleApiCredentialTest"},{"name":"googleSheetsOAuth2Api","required":true,"displayOptions":{"show":{"authentication":["oAuth2"]}}}],"properties":[{"displayName":"<strong>New node version available:</strong> get the latest version with added features from the nodes panel.","name":"oldVersionNotice","type":"notice","default":""},{"displayName":"Authentication","name":"authentication","type":"options","options":[{"name":"Service Account","value":"serviceAccount"},{"name":"OAuth2","value":"oAuth2"}],"default":"serviceAccount","displayOptions":{"show":{"@version":[1]}}},{"displayName":"Authentication","name":"authentication","type":"options","options":[{"name":"OAuth2 (recommended)","value":"oAuth2"},{"name":"Service Account","value":"serviceAccount"}],"default":"oAuth2","displayOptions":{"show":{"@version":[2]}}},{"displayName":"Resource","name":"resource","type":"options","noDataExpression":true,"options":[{"name":"Spreadsheet","value":"spreadsheet"},{"name":"Sheet","value":"sheet"}],"default":"sheet"},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"displayOptions":{"show":{"resource":["sheet"]}},"options":[{"name":"Append","value":"append","description":"Append data to a sheet","action":"Append data to a sheet"},{"name":"Clear","value":"clear","description":"Clear data from a sheet","action":"Clear a sheet"},{"name":"Create","value":"create","description":"Create a new sheet","action":"Create a sheet"},{"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 sheet"},{"name":"Delete","value":"delete","description":"Delete columns and rows from a sheet","action":"Delete a sheet"},{"name":"Lookup","value":"lookup","description":"Look up a specific column value and return the matching row","action":"Look up a column value in a sheet"},{"name":"Read","value":"read","description":"Read data from a sheet","action":"Read a sheet"},{"name":"Remove","value":"remove","description":"Remove a sheet","action":"Remove a sheet"},{"name":"Update","value":"update","description":"Update rows in a sheet","action":"Update a sheet"}],"default":"read"},{"displayName":"Spreadsheet ID","name":"sheetId","type":"string","displayOptions":{"show":{"resource":["sheet"]}},"default":"","required":true,"description":"The ID of the Google Spreadsheet. Found as part of the sheet URL https://docs.google.com/spreadsheets/d/{ID}/."},{"displayName":"Range","name":"range","type":"string","displayOptions":{"show":{"resource":["sheet"]},"hide":{"operation":["create","delete","remove"]}},"default":"A:F","required":true,"description":"The table range to read from or to append data to. See the Google <a href=\"https://developers.google.com/sheets/api/guides/values#writing\">documentation</a> for the details. If it contains multiple sheets it can also be added like this: \"MySheet!A:F\""},{"displayName":"To Delete","name":"toDelete","placeholder":"Add Columns/Rows to delete","description":"Deletes columns and rows from a sheet","type":"fixedCollection","typeOptions":{"multipleValues":true},"displayOptions":{"show":{"resource":["sheet"],"operation":["delete"]}},"default":{},"options":[{"displayName":"Columns","name":"columns","values":[{"displayName":"Sheet Name or ID","name":"sheetId","type":"options","typeOptions":{"loadOptionsMethod":"getSheets"},"options":[],"default":"","required":true,"description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>"},{"displayName":"Start Index","name":"startIndex","type":"number","typeOptions":{"minValue":0},"default":0,"description":"The start index (0 based and inclusive) of column to delete"},{"displayName":"Amount","name":"amount","type":"number","typeOptions":{"minValue":1},"default":1,"description":"Number of columns to delete"}]},{"displayName":"Rows","name":"rows","values":[{"displayName":"Sheet Name or ID","name":"sheetId","type":"options","typeOptions":{"loadOptionsMethod":"getSheets"},"options":[],"default":"","required":true,"description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>"},{"displayName":"Start Index","name":"startIndex","type":"number","typeOptions":{"minValue":0},"default":0,"description":"The start index (0 based and inclusive) of row to delete"},{"displayName":"Amount","name":"amount","type":"number","typeOptions":{"minValue":1},"default":1,"description":"Number of rows to delete"}]}]},{"displayName":"RAW Data","name":"rawData","type":"boolean","displayOptions":{"show":{"resource":["sheet"],"operation":["read"]}},"default":false,"description":"Whether the data should be returned RAW instead of parsed into keys according to their header"},{"displayName":"Data Property","name":"dataProperty","type":"string","default":"data","displayOptions":{"show":{"resource":["sheet"],"operation":["read"],"rawData":[true]}},"description":"The name of the property into which to write the RAW data"},{"displayName":"RAW Data","name":"rawData","type":"boolean","displayOptions":{"show":{"resource":["sheet"],"operation":["update","upsert"]}},"default":false,"description":"Whether the data supplied is RAW instead of parsed into keys"},{"displayName":"Data Property","name":"dataProperty","type":"string","default":"data","displayOptions":{"show":{"resource":["sheet"],"operation":["update","upsert"],"rawData":[true]}},"description":"The name of the property from which to read the RAW data"},{"displayName":"Data Start Row","name":"dataStartRow","type":"number","typeOptions":{"minValue":1},"default":1,"displayOptions":{"show":{"resource":["sheet"]},"hide":{"operation":["append","create","clear","delete","remove"],"rawData":[true]}},"description":"Index of the first row which contains the actual data and not the keys. Starts with 0."},{"displayName":"Key Row","name":"keyRow","type":"number","typeOptions":{"minValue":0},"displayOptions":{"show":{"resource":["sheet"]},"hide":{"operation":["clear","create","delete","remove"],"rawData":[true]}},"default":0,"description":"Index of the row which contains the keys. Starts at 0. The incoming node data is matched to the keys for assignment. The matching is case sensitive."},{"displayName":"Lookup Column","name":"lookupColumn","type":"string","default":"","placeholder":"Email","required":true,"displayOptions":{"show":{"resource":["sheet"],"operation":["lookup"]}},"description":"The name of the column in which to look for value"},{"displayName":"Lookup Value","name":"lookupValue","type":"string","default":"","placeholder":"frank@example.com","displayOptions":{"show":{"resource":["sheet"],"operation":["lookup"]}},"description":"The value to look for in column"},{"displayName":"Key","name":"key","type":"string","default":"id","displayOptions":{"show":{"resource":["sheet"],"operation":["update","upsert"],"rawData":[false]}},"description":"The name of the key to identify which data should be updated in the sheet"},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"displayOptions":{"show":{"resource":["sheet"],"operation":["append","lookup","read","update","upsert"]}},"options":[{"displayName":"Continue If Empty","name":"continue","type":"boolean","default":false,"displayOptions":{"show":{"/operation":["lookup","read"]}},"description":"By default, the workflow stops executing if the lookup/read does not return values"},{"displayName":"Return All Matches","name":"returnAllMatches","type":"boolean","default":false,"displayOptions":{"show":{"/operation":["lookup"]}},"description":"By default only the first result gets returned. If options gets set all found matches get returned."},{"displayName":"Use Header Names as JSON Paths","name":"usePathForKeyRow","type":"boolean","default":false,"displayOptions":{"show":{"/operation":["append"]}},"description":"Whether you want to match the headers as path, for example, the row header \"category.name\" will match the \"category\" object and get the field \"name\" from it. By default \"category.name\" will match with the field with exact name, not nested object."},{"displayName":"Value Input Mode","name":"valueInputMode","type":"options","displayOptions":{"show":{"/operation":["append","update","upsert"]}},"options":[{"name":"RAW","value":"RAW","description":"The values will not be parsed and will be stored as-is"},{"name":"User Entered","value":"USER_ENTERED","description":"The values will be parsed as if the user typed them into the UI. Numbers will stay as numbers, but strings may be converted to numbers, dates, etc. following the same rules that are applied when entering text into a cell via the Google Sheets UI."}],"default":"RAW","description":"Determines how data should be interpreted"},{"displayName":"Value Render Mode","name":"valueRenderMode","type":"options","displayOptions":{"show":{"/operation":["lookup","read"]}},"options":[{"name":"Formatted Value","value":"FORMATTED_VALUE","description":"Values will be calculated & formatted in the reply according to the cell's formatting.Formatting is based on the spreadsheet's locale, not the requesting user's locale.For example, if A1 is 1.23 and A2 is =A1 and formatted as currency, then A2 would return \"$1.23\""},{"name":"Formula","value":"FORMULA","description":"Values will not be calculated. The reply will include the formulas. For example, if A1 is 1.23 and A2 is =A1 and formatted as currency, then A2 would return \"=A1\"."},{"name":"Unformatted Value","value":"UNFORMATTED_VALUE","description":"Values will be calculated, but not formatted in the reply. For example, if A1 is 1.23 and A2 is =A1 and formatted as currency, then A2 would return the number 1.23."}],"default":"UNFORMATTED_VALUE","description":"Determines how values should be rendered in the output"},{"displayName":"Value Render Mode","name":"valueRenderMode","type":"options","displayOptions":{"show":{"/operation":["update","upsert"],"/rawData":[false]}},"options":[{"name":"Formatted Value","value":"FORMATTED_VALUE","description":"Values will be calculated & formatted in the reply according to the cell's formatting.Formatting is based on the spreadsheet's locale, not the requesting user's locale. For example, if A1 is 1.23 and A2 is =A1 and formatted as currency, then A2 would return \"$1.23\"."},{"name":"Formula","value":"FORMULA","description":"Values will not be calculated. The reply will include the formulas. For example, if A1 is 1.23 and A2 is =A1 and formatted as currency, then A2 would return \"=A1\"."},{"name":"Unformatted Value","value":"UNFORMATTED_VALUE","description":"Values will be calculated, but not formatted in the reply. For example, if A1 is 1.23 and A2 is =A1 and formatted as currency, then A2 would return the number 1.23."}],"default":"UNFORMATTED_VALUE","description":"Determines how values should be rendered in the output"}]},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"displayOptions":{"show":{"resource":["spreadsheet"]}},"options":[{"name":"Create","value":"create","description":"Create a spreadsheet","action":"Create a spreadsheet"}],"default":"create"},{"displayName":"Title","name":"title","type":"string","default":"","displayOptions":{"show":{"resource":["spreadsheet"],"operation":["create"]}},"description":"The title of the spreadsheet"},{"displayName":"Sheets","name":"sheetsUi","placeholder":"Add Sheet","type":"fixedCollection","typeOptions":{"multipleValues":true},"default":{},"displayOptions":{"show":{"resource":["spreadsheet"],"operation":["create"]}},"options":[{"name":"sheetValues","displayName":"Sheet","values":[{"displayName":"Sheet Properties","name":"propertiesUi","placeholder":"Add Property","type":"collection","default":{},"options":[{"displayName":"Hidden","name":"hidden","type":"boolean","default":false,"description":"Whether the Sheet should be hidden in the UI"},{"displayName":"Title","name":"title","type":"string","default":"","description":"Title of the property to create"}]}]}]},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"displayOptions":{"show":{"resource":["spreadsheet"],"operation":["create"]}},"options":[{"displayName":"Locale","name":"locale","type":"string","default":"","placeholder":"en_US","description":"The locale of the spreadsheet in one of the following formats:\n\t\t\t\t\t<ul>\n\t\t\t\t\t\t<li>en (639-1)</li>\n\t\t\t\t\t\t<li>fil (639-2 if no 639-1 format exists)</li>\n\t\t\t\t\t\t<li>en_US (combination of ISO language an country)</li>\n\t\t\t\t\t<ul>"},{"displayName":"Recalculation Interval","name":"autoRecalc","type":"options","options":[{"name":"Default","value":"","description":"Default value"},{"name":"On Change","value":"ON_CHANGE","description":"Volatile functions are updated on every change"},{"name":"Minute","value":"MINUTE","description":"Volatile functions are updated on every change and every minute"},{"name":"Hour","value":"HOUR","description":"Volatile functions are updated on every change and hourly"}],"default":"","description":"Cell recalculation interval options"}]},{"displayName":"Simplify","name":"simple","type":"boolean","default":true,"displayOptions":{"show":{"resource":["sheet"],"operation":["create"]}},"description":"Whether to return a simplified version of the response instead of the raw data"},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"displayOptions":{"show":{"resource":["sheet"],"operation":["create"]}},"options":[{"displayName":"Grid Properties","name":"gridProperties","type":"collection","placeholder":"Add Property","default":{},"options":[{"displayName":"Column Count","name":"columnCount","type":"number","default":0,"description":"The number of columns in the grid"},{"displayName":"Column Group Control After","name":"columnGroupControlAfter","type":"boolean","default":false,"description":"Whether the column grouping control toggle is shown after the group"},{"displayName":"Frozen Column Count","name":"frozenColumnCount","type":"number","default":0,"description":"The number of columns that are frozen in the grid"},{"displayName":"Frozen Row Count","name":"frozenRowCount","type":"number","default":0,"description":"The number of rows that are frozen in the grid"},{"displayName":"Hide Gridlines","name":"hideGridlines","type":"boolean","default":false,"description":"Whether the grid isn't showing gridlines in the UI"},{"displayName":"Row Count","name":"rowCount","type":"number","default":0,"description":"The number of rows in the grid"},{"displayName":"Row Group Control After","name":"rowGroupControlAfter","type":"boolean","default":false,"description":"Whether the row grouping control toggle is shown after the group"}],"description":"The type of the sheet"},{"displayName":"Hidden","name":"hidden","type":"boolean","default":false,"description":"Whether the sheet is hidden in the UI, false if it's visible"},{"displayName":"Right To Left","name":"rightToLeft","type":"boolean","default":false,"description":"Whether the sheet is an RTL sheet instead of an LTR sheet"},{"displayName":"Sheet ID","name":"sheetId","type":"number","default":0,"description":"The ID of the sheet. Must be non-negative. This field cannot be changed once set."},{"displayName":"Sheet Index","name":"index","type":"number","default":0,"description":"The index of the sheet within the spreadsheet"},{"displayName":"Tab Color","name":"tabColor","type":"color","default":"0aa55c","description":"The color of the tab in the UI"},{"displayName":"Title","name":"title","type":"string","default":"","description":"The Sheet name"}]},{"displayName":"Sheet ID","name":"id","type":"string","default":"","required":true,"displayOptions":{"show":{"resource":["sheet"],"operation":["remove"]}},"description":"The ID of the sheet to delete"}],"iconUrl":"icons/n8n-nodes-base/dist/nodes/Google/Sheet/googleSheets.svg"},
150
+ {"displayName":"Google Sheets","name":"n8n-nodes-base.googleSheets","group":["input","output"],"defaultVersion":4,"subtitle":"={{$parameter[\"operation\"] + \": \" + $parameter[\"resource\"]}}","description":"Read, update and write data to Google Sheets","version":[3,4],"defaults":{"name":"Google Sheets"},"inputs":["main"],"outputs":["main"],"credentials":[{"name":"googleApi","required":true,"displayOptions":{"show":{"authentication":["serviceAccount"]}},"testedBy":"googleApiCredentialTest"},{"name":"googleSheetsOAuth2Api","required":true,"displayOptions":{"show":{"authentication":["oAuth2"]}}}],"properties":[{"displayName":"Authentication","name":"authentication","type":"options","options":[{"name":"Service Account","value":"serviceAccount"},{"name":"OAuth2 (recommended)","value":"oAuth2"}],"default":"oAuth2"},{"displayName":"Resource","name":"resource","type":"options","noDataExpression":true,"options":[{"name":"Document","value":"spreadsheet"},{"name":"Sheet Within Document","value":"sheet"}],"default":"sheet"},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"displayOptions":{"show":{"resource":["sheet"]}},"options":[{"name":"Append","value":"append","description":"Append data to a sheet","action":"Append data to a sheet"},{"name":"Append or Update","value":"appendOrUpdate","description":"Append a new row or update the current one if it already exists (upsert)","action":"Append or update a sheet"},{"name":"Clear","value":"clear","description":"Clear data from a sheet","action":"Clear a sheet"},{"name":"Create","value":"create","description":"Create a new sheet","action":"Create a sheet"},{"name":"Delete","value":"delete","description":"Delete columns and rows from a sheet","action":"Delete a sheet"},{"name":"Read Rows","value":"read","description":"Read all rows in a sheet","action":"Read all rows"},{"name":"Remove","value":"remove","description":"Remove a sheet","action":"Remove a sheet"},{"name":"Update","value":"update","description":"Update rows in a sheet","action":"Update a sheet"}],"default":"read"},{"displayName":"Document","name":"documentId","type":"resourceLocator","default":{"mode":"list","value":""},"required":true,"modes":[{"displayName":"From List","name":"list","type":"list","typeOptions":{"searchListMethod":"spreadSheetsSearch","searchable":true}},{"displayName":"By URL","name":"url","type":"string","extractValue":{"type":"regex","regex":"https:\\/\\/(?:drive|docs)\\.google\\.com\\/\\w+\\/d\\/([0-9a-zA-Z\\-_]+)(?:\\/.*|)"},"validation":[{"type":"regex","properties":{"regex":"https:\\/\\/(?:drive|docs)\\.google.com\\/\\w+\\/d\\/([0-9a-zA-Z\\-_]+)(?:\\/.*|)","errorMessage":"Not a valid Google Drive File URL"}}]},{"displayName":"By ID","name":"id","type":"string","validation":[{"type":"regex","properties":{"regex":"[a-zA-Z0-9\\-_]{2,}","errorMessage":"Not a valid Google Drive File ID"}}],"url":"=https://docs.google.com/spreadsheets/d/{{$value}}/edit"}],"displayOptions":{"show":{"resource":["sheet"]}}},{"displayName":"Sheet","name":"sheetName","type":"resourceLocator","default":{"mode":"list","value":""},"required":true,"typeOptions":{"loadOptionsDependsOn":["documentId.value"]},"modes":[{"displayName":"From List","name":"list","type":"list","typeOptions":{"searchListMethod":"sheetsSearch","searchable":false}},{"displayName":"By URL","name":"url","type":"string","extractValue":{"type":"regex","regex":"https:\\/\\/docs\\.google\\.com/spreadsheets\\/d\\/[0-9a-zA-Z\\-_]+\\/edit\\#gid=([0-9]+)"},"validation":[{"type":"regex","properties":{"regex":"https:\\/\\/docs\\.google\\.com/spreadsheets\\/d\\/[0-9a-zA-Z\\-_]+\\/edit\\#gid=([0-9]+)","errorMessage":"Not a valid Sheet URL"}}]},{"displayName":"By ID","name":"id","type":"string","validation":[{"type":"regex","properties":{"regex":"((gid=)?[0-9]{1,})","errorMessage":"Not a valid Sheet ID"}}]}],"displayOptions":{"show":{"resource":["sheet"],"operation":["append","appendOrUpdate","clear","delete","read","remove","update"]}}},{"displayName":"Data Mode","name":"dataMode","type":"options","options":[{"name":"Auto-Map Input Data to Columns","value":"autoMapInputData","description":"Use when node input properties match destination column names"},{"name":"Map Each Column Below","value":"defineBelow","description":"Set the value for each destination column"},{"name":"Nothing","value":"nothing","description":"Do not send anything"}],"displayOptions":{"show":{"resource":["sheet"],"operation":["append"],"@version":[3]},"hide":{"sheetName":[""]}},"default":"defineBelow","description":"Whether to insert the input data this node receives in the new row"},{"displayName":"In this mode, make sure the incoming data is named the same as the columns in your Sheet. (Use a 'set' node before this node to change it if required.)","name":"autoMapNotice","type":"notice","default":"","displayOptions":{"show":{"operation":["append"],"dataMode":["autoMapInputData"],"@version":[3]},"hide":{"sheetName":[""]}}},{"displayName":"Fields to Send","name":"fieldsUi","placeholder":"Add Field","type":"fixedCollection","typeOptions":{"multipleValueButtonText":"Add Field to Send","multipleValues":true},"displayOptions":{"show":{"resource":["sheet"],"operation":["append"],"dataMode":["defineBelow"],"@version":[3]},"hide":{"sheetName":[""]}},"default":{},"options":[{"displayName":"Field","name":"fieldValues","values":[{"displayName":"Field Name or ID","name":"fieldId","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsDependsOn":["sheetName.value"],"loadOptionsMethod":"getSheetHeaderRowAndSkipEmpty"},"default":""},{"displayName":"Field Value","name":"fieldValue","type":"string","default":""}]}]},{"displayName":"Columns","name":"columns","type":"resourceMapper","noDataExpression":true,"default":{"mappingMode":"defineBelow","value":null},"required":true,"typeOptions":{"loadOptionsDependsOn":["sheetName.value"],"resourceMapper":{"resourceMapperMethod":"getMappingColumns","mode":"add","fieldWords":{"singular":"column","plural":"columns"},"addAllFields":true,"multiKeyMatch":false}},"displayOptions":{"show":{"resource":["sheet"],"operation":["append"],"@version":[4]},"hide":{"sheetName":[""]}}},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"displayOptions":{"show":{"resource":["sheet"],"operation":["append"]},"hide":{"sheetName":[""]}},"options":[{"displayName":"Cell Format","name":"cellFormat","type":"options","options":[{"name":"Let n8n format","value":"RAW","description":"Cells have the same types as the input data"},{"name":"Let Google Sheets format","value":"USER_ENTERED","description":"Cells are styled as if you typed the values into Google Sheets directly"}],"default":"RAW","description":"Determines how data should be interpreted"},{"displayName":"Data Location on Sheet","name":"locationDefine","type":"fixedCollection","placeholder":"Select Range","default":{"values":{}},"options":[{"displayName":"Values","name":"values","values":[{"displayName":"Header Row","name":"headerRow","type":"number","typeOptions":{"minValue":1},"default":1,"description":"Index of the row which contains the keys. Starts at 1. The incoming node data is matched to the keys for assignment. The matching is case sensitive."}]}]},{"displayName":"Handling extra fields in input","name":"handlingExtraData","type":"options","options":[{"name":"Insert in New Column(s)","value":"insertInNewColumn","description":"Create a new column for extra data"},{"name":"Ignore Them","value":"ignoreIt","description":"Ignore extra data"},{"name":"Error","value":"error","description":"Throw an error"}],"displayOptions":{"show":{"/dataMode":["autoMapInputData"]}},"default":"insertInNewColumn","description":"What do to with fields that don't match any columns in the Google Sheet"}]},{"displayName":"Clear","name":"clear","type":"options","options":[{"name":"Whole Sheet","value":"wholeSheet"},{"name":"Specific Rows","value":"specificRows"},{"name":"Specific Columns","value":"specificColumns"},{"name":"Specific Range","value":"specificRange"}],"displayOptions":{"show":{"resource":["sheet"],"operation":["clear"]},"hide":{"sheetName":[""]}},"default":"wholeSheet","description":"What to clear"},{"displayName":"Keep First Row","name":"keepFirstRow","type":"boolean","displayOptions":{"show":{"resource":["sheet"],"operation":["clear"],"clear":["wholeSheet"]},"hide":{"sheetName":[""]}},"default":false},{"displayName":"Start Row Number","name":"startIndex","type":"number","typeOptions":{"minValue":1},"default":1,"description":"The row number to delete from, The first row is 1","displayOptions":{"show":{"resource":["sheet"],"operation":["clear"],"clear":["specificRows"]},"hide":{"sheetName":[""]}}},{"displayName":"Number of Rows to Delete","name":"rowsToDelete","type":"number","typeOptions":{"minValue":1},"default":1,"displayOptions":{"show":{"resource":["sheet"],"operation":["clear"],"clear":["specificRows"]},"hide":{"sheetName":[""]}}},{"displayName":"Start Column","name":"startIndex","type":"string","default":"A","description":"The column to delete","displayOptions":{"show":{"resource":["sheet"],"operation":["clear"],"clear":["specificColumns"]},"hide":{"sheetName":[""]}}},{"displayName":"Number of Columns to Delete","name":"columnsToDelete","type":"number","typeOptions":{"minValue":1},"default":1,"displayOptions":{"show":{"resource":["sheet"],"operation":["clear"],"clear":["specificColumns"]},"hide":{"sheetName":[""]}}},{"displayName":"Range","name":"range","type":"string","displayOptions":{"show":{"resource":["sheet"],"operation":["clear"],"clear":["specificRange"]},"hide":{"sheetName":[""]}},"default":"A:F","required":true,"description":"The table range to read from or to append data to. See the Google <a href=\"https://developers.google.com/sheets/api/guides/values#writing\">documentation</a> for the details. If it contains multiple sheets it can also be added like this: \"MySheet!A:F\""},{"displayName":"Title","name":"title","type":"string","required":true,"default":"n8n-sheet","displayOptions":{"show":{"resource":["sheet"],"operation":["create"]}},"description":"The name of the sheet"},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"displayOptions":{"show":{"resource":["sheet"],"operation":["create"]}},"options":[{"displayName":"Hidden","name":"hidden","type":"boolean","default":false,"description":"Whether the sheet is hidden in the UI, false if it's visible"},{"displayName":"Right To Left","name":"rightToLeft","type":"boolean","default":false,"description":"Whether the sheet is an RTL sheet instead of an LTR sheet"},{"displayName":"Sheet ID","name":"sheetId","type":"number","default":0,"description":"The ID of the sheet. Must be non-negative. This field cannot be changed once set."},{"displayName":"Sheet Index","name":"index","type":"number","default":0,"description":"The index of the sheet within the spreadsheet"},{"displayName":"Tab Color","name":"tabColor","type":"color","default":"0aa55c","description":"The color of the tab in the UI"}]},{"displayName":"To Delete","name":"toDelete","type":"options","options":[{"name":"Rows","value":"rows","description":"Rows to delete"},{"name":"Columns","value":"columns","description":"Columns to delete"}],"displayOptions":{"show":{"resource":["sheet"],"operation":["delete"]},"hide":{"sheetName":[""]}},"default":"rows","description":"What to delete"},{"displayName":"Start Row Number","name":"startIndex","type":"number","typeOptions":{"minValue":1},"default":2,"description":"The row number to delete from, The first row is 2","displayOptions":{"show":{"resource":["sheet"],"operation":["delete"],"toDelete":["rows"]},"hide":{"sheetName":[""]}}},{"displayName":"Number of Rows to Delete","name":"numberToDelete","type":"number","typeOptions":{"minValue":1},"default":1,"displayOptions":{"show":{"resource":["sheet"],"operation":["delete"],"toDelete":["rows"]},"hide":{"sheetName":[""]}}},{"displayName":"Start Column","name":"startIndex","type":"string","default":"A","description":"The column to delete","displayOptions":{"show":{"resource":["sheet"],"operation":["delete"],"toDelete":["columns"]},"hide":{"sheetName":[""]}}},{"displayName":"Number of Columns to Delete","name":"numberToDelete","type":"number","typeOptions":{"minValue":1},"default":1,"displayOptions":{"show":{"resource":["sheet"],"operation":["delete"],"toDelete":["columns"]},"hide":{"sheetName":[""]}}},{"displayName":"Filters","name":"filtersUI","placeholder":"Add Filter","type":"fixedCollection","typeOptions":{"multipleValueButtonText":"Add Filter","multipleValues":true},"default":{},"options":[{"displayName":"Filter","name":"values","values":[{"displayName":"Column","name":"lookupColumn","type":"options","typeOptions":{"loadOptionsDependsOn":["sheetName.value"],"loadOptionsMethod":"getSheetHeaderRowWithGeneratedColumnNames"},"default":"","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>"},{"displayName":"Value","name":"lookupValue","type":"string","default":"","hint":"The column must have this value to be matched"}]}],"displayOptions":{"show":{"resource":["sheet"],"operation":["read"]},"hide":{"sheetName":[""]}}},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"displayOptions":{"show":{"resource":["sheet"],"operation":["read"]},"hide":{"sheetName":[""]}},"options":[{"displayName":"Data Location on Sheet","name":"dataLocationOnSheet","type":"fixedCollection","placeholder":"Select Range","default":{"values":{"rangeDefinition":"detectAutomatically"}},"options":[{"displayName":"Values","name":"values","values":[{"displayName":"Range Definition","name":"rangeDefinition","type":"options","options":[{"name":"Detect Automatically","value":"detectAutomatically","description":"Automatically detect the data range"},{"name":"Specify Range (A1 Notation)","value":"specifyRangeA1","description":"Manually specify the data range"},{"name":"Specify Range (Rows)","value":"specifyRange","description":"Manually specify the data range"}],"default":""},{"displayName":"Read Rows Until","name":"readRowsUntil","type":"options","default":"lastRowInSheet","options":[{"name":"First Empty Row","value":"firstEmptyRow"},{"name":"Last Row In Sheet","value":"lastRowInSheet"}],"displayOptions":{"show":{"rangeDefinition":["detectAutomatically"]}}},{"displayName":"Header Row","name":"headerRow","type":"number","typeOptions":{"minValue":1},"default":1,"description":"Index is relative to the set 'Range', first row index is 1","hint":"Index of the row which contains the column names","displayOptions":{"show":{"rangeDefinition":["specifyRange"]}}},{"displayName":"First Data Row","name":"firstDataRow","type":"number","typeOptions":{"minValue":1},"default":2,"description":"Index is relative to the set 'Range', first row index is 1","hint":"Index of first row which contains the actual data","displayOptions":{"show":{"rangeDefinition":["specifyRange"]}}},{"displayName":"Range","name":"range","type":"string","default":"","placeholder":"A:Z","description":"The table range to read from or to append data to. See the Google <a href=\"https://developers.google.com/sheets/api/guides/values#writing\">documentation</a> for the details.","hint":"You can specify both the rows and the columns, e.g. C4:E7","displayOptions":{"show":{"rangeDefinition":["specifyRangeA1"]}}}]}]},{"displayName":"Output Formatting","name":"outputFormatting","type":"fixedCollection","placeholder":"Add Formatting","default":{"values":{"general":"UNFORMATTED_VALUE","date":"FORMATTED_STRING"}},"options":[{"displayName":"Values","name":"values","values":[{"displayName":"General Formatting","name":"general","type":"options","options":[{"name":"Values (unformatted)","value":"UNFORMATTED_VALUE","description":"Numbers stay as numbers, but any currency signs or special formatting is lost"},{"name":"Values (formatted)","value":"FORMATTED_VALUE","description":"Numbers are turned to text, and displayed as in Google Sheets (e.g. with commas or currency signs)"},{"name":"Formulas","value":"FORMULA"}],"default":"","description":"Determines how values should be rendered in the output"},{"displayName":"Date Formatting","name":"date","type":"options","default":"","options":[{"name":"Formatted Text","value":"FORMATTED_STRING","description":"As displayed in Google Sheets, e.g. '01/01/2022'"},{"name":"Serial Number","value":"SERIAL_NUMBER","description":"A number representing the number of days since Dec 30, 1899"}]}]}]},{"displayName":"When Filter Has Multiple Matches","name":"returnAllMatches","type":"options","default":"returnFirstMatch","options":[{"name":"Return First Match","value":"returnFirstMatch","description":"Return only the first match"},{"name":"Return All Matches","value":"returnAllMatches","description":"Return all values that match"}],"description":"By default only the first result gets returned, Set to \"Return All Matches\" to get multiple matches"}]},{"displayName":"Data Mode","name":"dataMode","type":"options","options":[{"name":"Auto-Map Input Data to Columns","value":"autoMapInputData","description":"Use when node input properties match destination column names"},{"name":"Map Each Column Below","value":"defineBelow","description":"Set the value for each destination column"},{"name":"Nothing","value":"nothing","description":"Do not send anything"}],"displayOptions":{"show":{"resource":["sheet"],"operation":["update"],"@version":[3]},"hide":{"sheetName":[""]}},"default":"defineBelow","description":"Whether to insert the input data this node receives in the new row"},{"displayName":"Column to match on","name":"columnToMatchOn","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsDependsOn":["sheetName.value"],"loadOptionsMethod":"getSheetHeaderRowAndSkipEmpty"},"default":"","hint":"Used to find the correct row to update. Doesn't get changed.","displayOptions":{"show":{"resource":["sheet"],"operation":["update"],"@version":[3]},"hide":{"sheetName":[""]}}},{"displayName":"Value of Column to Match On","name":"valueToMatchOn","type":"string","default":"","displayOptions":{"show":{"resource":["sheet"],"operation":["update"],"dataMode":["defineBelow"],"@version":[3]},"hide":{"sheetName":[""]}}},{"displayName":"Values to Send","name":"fieldsUi","placeholder":"Add Field","type":"fixedCollection","typeOptions":{"multipleValues":true},"displayOptions":{"show":{"resource":["sheet"],"operation":["update"],"dataMode":["defineBelow"],"@version":[3]},"hide":{"sheetName":[""]}},"default":{},"options":[{"displayName":"Field","name":"values","values":[{"displayName":"Column","name":"column","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsDependsOn":["sheetName.value","columnToMatchOn"],"loadOptionsMethod":"getSheetHeaderRowAndAddColumn"},"default":""},{"displayName":"Column Name","name":"columnName","type":"string","default":"","displayOptions":{"show":{"column":["newColumn"]}}},{"displayName":"Value","name":"fieldValue","type":"string","default":""}]}]},{"displayName":"Columns","name":"columns","type":"resourceMapper","noDataExpression":true,"default":{"mappingMode":"defineBelow","value":null},"required":true,"typeOptions":{"loadOptionsDependsOn":["sheetName.value"],"resourceMapper":{"resourceMapperMethod":"getMappingColumns","mode":"update","fieldWords":{"singular":"column","plural":"columns"},"addAllFields":true,"multiKeyMatch":false}},"displayOptions":{"show":{"resource":["sheet"],"operation":["update"],"@version":[4]},"hide":{"sheetName":[""]}}},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"displayOptions":{"show":{"resource":["sheet"],"operation":["update"]},"hide":{"sheetName":[""]}},"options":[{"displayName":"Cell Format","name":"cellFormat","type":"options","options":[{"name":"Let n8n format","value":"RAW","description":"Cells have the same types as the input data"},{"name":"Let Google Sheets format","value":"USER_ENTERED","description":"Cells are styled as if you typed the values into Google Sheets directly"}],"default":"RAW","description":"Determines how data should be interpreted"},{"displayName":"Data Location on Sheet","name":"locationDefine","type":"fixedCollection","placeholder":"Select Range","default":{"values":{}},"options":[{"displayName":"Values","name":"values","values":[{"displayName":"Header Row","name":"headerRow","type":"number","typeOptions":{"minValue":1},"default":1,"description":"Index is relative to the set 'Range', first row index is 1","hint":"Index of the row which contains the column names"},{"displayName":"First Data Row","name":"firstDataRow","type":"number","typeOptions":{"minValue":1},"default":2,"description":"Index is relative to the set 'Range', first row index is 1","hint":"Index of first row which contains the actual data"}]}]},{"displayName":"Handling extra fields in input","name":"handlingExtraData","type":"options","options":[{"name":"Insert in New Column(s)","value":"insertInNewColumn","description":"Create a new column for extra data"},{"name":"Ignore Them","value":"ignoreIt","description":"Ignore extra data"},{"name":"Error","value":"error","description":"Throw an error"}],"displayOptions":{"show":{"/dataMode":["autoMapInputData"]}},"default":"insertInNewColumn","description":"What do to with fields that don't match any columns in the Google Sheet"}]},{"displayName":"Data Mode","name":"dataMode","type":"options","options":[{"name":"Auto-Map Input Data to Columns","value":"autoMapInputData","description":"Use when node input properties match destination column names"},{"name":"Map Each Column Below","value":"defineBelow","description":"Set the value for each destination column"},{"name":"Nothing","value":"nothing","description":"Do not send anything"}],"displayOptions":{"show":{"resource":["sheet"],"operation":["appendOrUpdate"],"@version":[3]},"hide":{"sheetName":[""]}},"default":"defineBelow","description":"Whether to insert the input data this node receives in the new row"},{"displayName":"Column to match on","name":"columnToMatchOn","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsDependsOn":["sheetName.value"],"loadOptionsMethod":"getSheetHeaderRowAndSkipEmpty"},"default":"","hint":"Used to find the correct row to update. Doesn't get changed.","displayOptions":{"show":{"resource":["sheet"],"operation":["appendOrUpdate"],"@version":[3]},"hide":{"sheetName":[""]}}},{"displayName":"Value of Column to Match On","name":"valueToMatchOn","type":"string","default":"","displayOptions":{"show":{"resource":["sheet"],"operation":["appendOrUpdate"],"dataMode":["defineBelow"],"@version":[3]},"hide":{"sheetName":[""]}}},{"displayName":"Values to Send","name":"fieldsUi","placeholder":"Add Field","type":"fixedCollection","typeOptions":{"multipleValues":true},"displayOptions":{"show":{"resource":["sheet"],"operation":["appendOrUpdate"],"dataMode":["defineBelow"],"@version":[3]},"hide":{"sheetName":[""]}},"default":{},"options":[{"displayName":"Field","name":"values","values":[{"displayName":"Column","name":"column","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsDependsOn":["sheetName.value","columnToMatchOn"],"loadOptionsMethod":"getSheetHeaderRowAndAddColumn"},"default":""},{"displayName":"Column Name","name":"columnName","type":"string","default":"","displayOptions":{"show":{"column":["newColumn"]}}},{"displayName":"Value","name":"fieldValue","type":"string","default":""}]}]},{"displayName":"Columns","name":"columns","type":"resourceMapper","noDataExpression":true,"default":{"mappingMode":"defineBelow","value":null},"required":true,"typeOptions":{"loadOptionsDependsOn":["sheetName.value"],"resourceMapper":{"resourceMapperMethod":"getMappingColumns","mode":"upsert","fieldWords":{"singular":"column","plural":"columns"},"addAllFields":true,"multiKeyMatch":false}},"displayOptions":{"show":{"resource":["sheet"],"operation":["appendOrUpdate"],"@version":[4]},"hide":{"sheetName":[""]}}},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"displayOptions":{"show":{"resource":["sheet"],"operation":["appendOrUpdate"]},"hide":{"sheetName":[""]}},"options":[{"displayName":"Cell Format","name":"cellFormat","type":"options","options":[{"name":"Let n8n format","value":"RAW","description":"Cells have the same types as the input data"},{"name":"Let Google Sheets format","value":"USER_ENTERED","description":"Cells are styled as if you typed the values into Google Sheets directly"}],"default":"RAW","description":"Determines how data should be interpreted"},{"displayName":"Data Location on Sheet","name":"locationDefine","type":"fixedCollection","placeholder":"Select Range","default":{"values":{}},"options":[{"displayName":"Values","name":"values","values":[{"displayName":"Header Row","name":"headerRow","type":"number","typeOptions":{"minValue":1},"default":1,"description":"Index is relative to the set 'Range', first row index is 1","hint":"Index of the row which contains the column names"},{"displayName":"First Data Row","name":"firstDataRow","type":"number","typeOptions":{"minValue":1},"default":2,"description":"Index is relative to the set 'Range', first row index is 1","hint":"Index of first row which contains the actual data"}]}]},{"displayName":"Handling extra fields in input","name":"handlingExtraData","type":"options","options":[{"name":"Insert in New Column(s)","value":"insertInNewColumn","description":"Create a new column for extra data"},{"name":"Ignore Them","value":"ignoreIt","description":"Ignore extra data"},{"name":"Error","value":"error","description":"Throw an error"}],"displayOptions":{"show":{"/dataMode":["autoMapInputData"]}},"default":"insertInNewColumn","description":"What do to with fields that don't match any columns in the Google Sheet"}]},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"displayOptions":{"show":{"resource":["spreadsheet"]}},"options":[{"name":"Create","value":"create","description":"Create a spreadsheet","action":"Create a spreadsheet"},{"name":"Delete","value":"deleteSpreadsheet","description":"Delete a spreadsheet","action":"Delete a spreadsheet"}],"default":"create"},{"displayName":"Title","name":"title","type":"string","default":"","displayOptions":{"show":{"resource":["spreadsheet"],"operation":["create"]}},"description":"The title of the spreadsheet"},{"displayName":"Sheets","name":"sheetsUi","placeholder":"Add Sheet","type":"fixedCollection","typeOptions":{"multipleValues":true},"default":{},"options":[{"name":"sheetValues","displayName":"Sheet","values":[{"displayName":"Title","name":"title","type":"string","default":"","description":"Title of the property to create"},{"displayName":"Hidden","name":"hidden","type":"boolean","default":false,"description":"Whether the Sheet should be hidden in the UI"}]}],"displayOptions":{"show":{"resource":["spreadsheet"],"operation":["create"]}}},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"displayOptions":{"show":{"resource":["spreadsheet"],"operation":["create"]}},"options":[{"displayName":"Locale","name":"locale","type":"string","default":"","placeholder":"en_US","description":"The locale of the spreadsheet in one of the following formats:\n\t\t\t\t<ul>\n\t\t\t\t\t<li>en (639-1)</li>\n\t\t\t\t\t<li>fil (639-2 if no 639-1 format exists)</li>\n\t\t\t\t\t<li>en_US (combination of ISO language an country)</li>\n\t\t\t\t<ul>"},{"displayName":"Recalculation Interval","name":"autoRecalc","type":"options","options":[{"name":"Default","value":"","description":"Default value"},{"name":"On Change","value":"ON_CHANGE","description":"Volatile functions are updated on every change"},{"name":"Minute","value":"MINUTE","description":"Volatile functions are updated on every change and every minute"},{"name":"Hour","value":"HOUR","description":"Volatile functions are updated on every change and hourly"}],"default":"","description":"Cell recalculation interval options"}]},{"displayName":"Document","name":"documentId","type":"resourceLocator","default":{"mode":"list","value":""},"required":true,"modes":[{"displayName":"From List","name":"list","type":"list","typeOptions":{"searchListMethod":"spreadSheetsSearch","searchable":true}},{"displayName":"By URL","name":"url","type":"string","extractValue":{"type":"regex","regex":"https:\\/\\/(?:drive|docs)\\.google\\.com\\/\\w+\\/d\\/([0-9a-zA-Z\\-_]+)(?:\\/.*|)"},"validation":[{"type":"regex","properties":{"regex":"https:\\/\\/(?:drive|docs)\\.google.com\\/\\w+\\/d\\/([0-9a-zA-Z\\-_]+)(?:\\/.*|)","errorMessage":"Not a valid Google Drive File URL"}}]},{"displayName":"By ID","name":"id","type":"string","validation":[{"type":"regex","properties":{"regex":"[a-zA-Z0-9\\-_]{2,}","errorMessage":"Not a valid Google Drive File ID"}}],"url":"=https://docs.google.com/spreadsheets/d/{{$value}}/edit"}],"displayOptions":{"show":{"resource":["spreadsheet"],"operation":["deleteSpreadsheet"]}}}],"iconUrl":"icons/n8n-nodes-base/dist/nodes/Google/Sheet/googleSheets.svg"},
151
+ {"displayName":"Google Sheets","name":"n8n-nodes-base.googleSheets","group":["input","output"],"defaultVersion":4,"subtitle":"={{$parameter[\"operation\"] + \": \" + $parameter[\"resource\"]}}","description":"Read, update and write data to Google Sheets","version":[3,4],"defaults":{"name":"Google Sheets"},"inputs":["main"],"outputs":["main"],"credentials":[{"name":"googleApi","required":true,"displayOptions":{"show":{"authentication":["serviceAccount"]}},"testedBy":"googleApiCredentialTest"},{"name":"googleSheetsOAuth2Api","required":true,"displayOptions":{"show":{"authentication":["oAuth2"]}}}],"properties":[{"displayName":"Authentication","name":"authentication","type":"options","options":[{"name":"Service Account","value":"serviceAccount"},{"name":"OAuth2 (recommended)","value":"oAuth2"}],"default":"oAuth2"},{"displayName":"Resource","name":"resource","type":"options","noDataExpression":true,"options":[{"name":"Document","value":"spreadsheet"},{"name":"Sheet Within Document","value":"sheet"}],"default":"sheet"},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"displayOptions":{"show":{"resource":["sheet"]}},"options":[{"name":"Append","value":"append","description":"Append data to a sheet","action":"Append data to a sheet"},{"name":"Append or Update","value":"appendOrUpdate","description":"Append a new row or update the current one if it already exists (upsert)","action":"Append or update a sheet"},{"name":"Clear","value":"clear","description":"Clear data from a sheet","action":"Clear a sheet"},{"name":"Create","value":"create","description":"Create a new sheet","action":"Create a sheet"},{"name":"Delete","value":"delete","description":"Delete columns and rows from a sheet","action":"Delete a sheet"},{"name":"Read Rows","value":"read","description":"Read all rows in a sheet","action":"Read all rows"},{"name":"Remove","value":"remove","description":"Remove a sheet","action":"Remove a sheet"},{"name":"Update","value":"update","description":"Update rows in a sheet","action":"Update a sheet"}],"default":"read"},{"displayName":"Document","name":"documentId","type":"resourceLocator","default":{"mode":"list","value":""},"required":true,"modes":[{"displayName":"From List","name":"list","type":"list","typeOptions":{"searchListMethod":"spreadSheetsSearch","searchable":true}},{"displayName":"By URL","name":"url","type":"string","extractValue":{"type":"regex","regex":"https:\\/\\/(?:drive|docs)\\.google\\.com\\/\\w+\\/d\\/([0-9a-zA-Z\\-_]+)(?:\\/.*|)"},"validation":[{"type":"regex","properties":{"regex":"https:\\/\\/(?:drive|docs)\\.google.com\\/\\w+\\/d\\/([0-9a-zA-Z\\-_]+)(?:\\/.*|)","errorMessage":"Not a valid Google Drive File URL"}}]},{"displayName":"By ID","name":"id","type":"string","validation":[{"type":"regex","properties":{"regex":"[a-zA-Z0-9\\-_]{2,}","errorMessage":"Not a valid Google Drive File ID"}}],"url":"=https://docs.google.com/spreadsheets/d/{{$value}}/edit"}],"displayOptions":{"show":{"resource":["sheet"]}}},{"displayName":"Sheet","name":"sheetName","type":"resourceLocator","default":{"mode":"list","value":""},"required":true,"typeOptions":{"loadOptionsDependsOn":["documentId.value"]},"modes":[{"displayName":"From List","name":"list","type":"list","typeOptions":{"searchListMethod":"sheetsSearch","searchable":false}},{"displayName":"By URL","name":"url","type":"string","extractValue":{"type":"regex","regex":"https:\\/\\/docs\\.google\\.com/spreadsheets\\/d\\/[0-9a-zA-Z\\-_]+\\/edit\\#gid=([0-9]+)"},"validation":[{"type":"regex","properties":{"regex":"https:\\/\\/docs\\.google\\.com/spreadsheets\\/d\\/[0-9a-zA-Z\\-_]+\\/edit\\#gid=([0-9]+)","errorMessage":"Not a valid Sheet URL"}}]},{"displayName":"By ID","name":"id","type":"string","validation":[{"type":"regex","properties":{"regex":"((gid=)?[0-9]{1,})","errorMessage":"Not a valid Sheet ID"}}]}],"displayOptions":{"show":{"resource":["sheet"],"operation":["append","appendOrUpdate","clear","delete","read","remove","update"]}}},{"displayName":"Data Mode","name":"dataMode","type":"options","options":[{"name":"Auto-Map Input Data to Columns","value":"autoMapInputData","description":"Use when node input properties match destination column names"},{"name":"Map Each Column Below","value":"defineBelow","description":"Set the value for each destination column"},{"name":"Nothing","value":"nothing","description":"Do not send anything"}],"displayOptions":{"show":{"resource":["sheet"],"operation":["append"],"@version":[3]},"hide":{"sheetName":[""]}},"default":"defineBelow","description":"Whether to insert the input data this node receives in the new row"},{"displayName":"In this mode, make sure the incoming data is named the same as the columns in your Sheet. (Use a 'set' node before this node to change it if required.)","name":"autoMapNotice","type":"notice","default":"","displayOptions":{"show":{"operation":["append"],"dataMode":["autoMapInputData"],"@version":[3]},"hide":{"sheetName":[""]}}},{"displayName":"Fields to Send","name":"fieldsUi","placeholder":"Add Field","type":"fixedCollection","typeOptions":{"multipleValueButtonText":"Add Field to Send","multipleValues":true},"displayOptions":{"show":{"resource":["sheet"],"operation":["append"],"dataMode":["defineBelow"],"@version":[3]},"hide":{"sheetName":[""]}},"default":{},"options":[{"displayName":"Field","name":"fieldValues","values":[{"displayName":"Field Name or ID","name":"fieldId","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsDependsOn":["sheetName.value"],"loadOptionsMethod":"getSheetHeaderRowAndSkipEmpty"},"default":""},{"displayName":"Field Value","name":"fieldValue","type":"string","default":""}]}]},{"displayName":"Columns","name":"columns","type":"resourceMapper","noDataExpression":true,"default":{"mappingMode":"defineBelow","value":null},"required":true,"typeOptions":{"loadOptionsDependsOn":["sheetName.value"],"resourceMapper":{"resourceMapperMethod":"getMappingColumns","mode":"add","fieldWords":{"singular":"column","plural":"columns"},"addAllFields":true,"multiKeyMatch":false}},"displayOptions":{"show":{"resource":["sheet"],"operation":["append"],"@version":[4]},"hide":{"sheetName":[""]}}},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"displayOptions":{"show":{"resource":["sheet"],"operation":["append"]},"hide":{"sheetName":[""]}},"options":[{"displayName":"Cell Format","name":"cellFormat","type":"options","options":[{"name":"Let n8n format","value":"RAW","description":"Cells have the same types as the input data"},{"name":"Let Google Sheets format","value":"USER_ENTERED","description":"Cells are styled as if you typed the values into Google Sheets directly"}],"default":"RAW","description":"Determines how data should be interpreted"},{"displayName":"Data Location on Sheet","name":"locationDefine","type":"fixedCollection","placeholder":"Select Range","default":{"values":{}},"options":[{"displayName":"Values","name":"values","values":[{"displayName":"Header Row","name":"headerRow","type":"number","typeOptions":{"minValue":1},"default":1,"description":"Index of the row which contains the keys. Starts at 1. The incoming node data is matched to the keys for assignment. The matching is case sensitive."}]}]},{"displayName":"Handling extra fields in input","name":"handlingExtraData","type":"options","options":[{"name":"Insert in New Column(s)","value":"insertInNewColumn","description":"Create a new column for extra data"},{"name":"Ignore Them","value":"ignoreIt","description":"Ignore extra data"},{"name":"Error","value":"error","description":"Throw an error"}],"displayOptions":{"show":{"/dataMode":["autoMapInputData"]}},"default":"insertInNewColumn","description":"What do to with fields that don't match any columns in the Google Sheet"}]},{"displayName":"Clear","name":"clear","type":"options","options":[{"name":"Whole Sheet","value":"wholeSheet"},{"name":"Specific Rows","value":"specificRows"},{"name":"Specific Columns","value":"specificColumns"},{"name":"Specific Range","value":"specificRange"}],"displayOptions":{"show":{"resource":["sheet"],"operation":["clear"]},"hide":{"sheetName":[""]}},"default":"wholeSheet","description":"What to clear"},{"displayName":"Keep First Row","name":"keepFirstRow","type":"boolean","displayOptions":{"show":{"resource":["sheet"],"operation":["clear"],"clear":["wholeSheet"]},"hide":{"sheetName":[""]}},"default":false},{"displayName":"Start Row Number","name":"startIndex","type":"number","typeOptions":{"minValue":1},"default":1,"description":"The row number to delete from, The first row is 1","displayOptions":{"show":{"resource":["sheet"],"operation":["clear"],"clear":["specificRows"]},"hide":{"sheetName":[""]}}},{"displayName":"Number of Rows to Delete","name":"rowsToDelete","type":"number","typeOptions":{"minValue":1},"default":1,"displayOptions":{"show":{"resource":["sheet"],"operation":["clear"],"clear":["specificRows"]},"hide":{"sheetName":[""]}}},{"displayName":"Start Column","name":"startIndex","type":"string","default":"A","description":"The column to delete","displayOptions":{"show":{"resource":["sheet"],"operation":["clear"],"clear":["specificColumns"]},"hide":{"sheetName":[""]}}},{"displayName":"Number of Columns to Delete","name":"columnsToDelete","type":"number","typeOptions":{"minValue":1},"default":1,"displayOptions":{"show":{"resource":["sheet"],"operation":["clear"],"clear":["specificColumns"]},"hide":{"sheetName":[""]}}},{"displayName":"Range","name":"range","type":"string","displayOptions":{"show":{"resource":["sheet"],"operation":["clear"],"clear":["specificRange"]},"hide":{"sheetName":[""]}},"default":"A:F","required":true,"description":"The table range to read from or to append data to. See the Google <a href=\"https://developers.google.com/sheets/api/guides/values#writing\">documentation</a> for the details. If it contains multiple sheets it can also be added like this: \"MySheet!A:F\""},{"displayName":"Title","name":"title","type":"string","required":true,"default":"n8n-sheet","displayOptions":{"show":{"resource":["sheet"],"operation":["create"]}},"description":"The name of the sheet"},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"displayOptions":{"show":{"resource":["sheet"],"operation":["create"]}},"options":[{"displayName":"Hidden","name":"hidden","type":"boolean","default":false,"description":"Whether the sheet is hidden in the UI, false if it's visible"},{"displayName":"Right To Left","name":"rightToLeft","type":"boolean","default":false,"description":"Whether the sheet is an RTL sheet instead of an LTR sheet"},{"displayName":"Sheet ID","name":"sheetId","type":"number","default":0,"description":"The ID of the sheet. Must be non-negative. This field cannot be changed once set."},{"displayName":"Sheet Index","name":"index","type":"number","default":0,"description":"The index of the sheet within the spreadsheet"},{"displayName":"Tab Color","name":"tabColor","type":"color","default":"0aa55c","description":"The color of the tab in the UI"}]},{"displayName":"To Delete","name":"toDelete","type":"options","options":[{"name":"Rows","value":"rows","description":"Rows to delete"},{"name":"Columns","value":"columns","description":"Columns to delete"}],"displayOptions":{"show":{"resource":["sheet"],"operation":["delete"]},"hide":{"sheetName":[""]}},"default":"rows","description":"What to delete"},{"displayName":"Start Row Number","name":"startIndex","type":"number","typeOptions":{"minValue":1},"default":2,"description":"The row number to delete from, The first row is 2","displayOptions":{"show":{"resource":["sheet"],"operation":["delete"],"toDelete":["rows"]},"hide":{"sheetName":[""]}}},{"displayName":"Number of Rows to Delete","name":"numberToDelete","type":"number","typeOptions":{"minValue":1},"default":1,"displayOptions":{"show":{"resource":["sheet"],"operation":["delete"],"toDelete":["rows"]},"hide":{"sheetName":[""]}}},{"displayName":"Start Column","name":"startIndex","type":"string","default":"A","description":"The column to delete","displayOptions":{"show":{"resource":["sheet"],"operation":["delete"],"toDelete":["columns"]},"hide":{"sheetName":[""]}}},{"displayName":"Number of Columns to Delete","name":"numberToDelete","type":"number","typeOptions":{"minValue":1},"default":1,"displayOptions":{"show":{"resource":["sheet"],"operation":["delete"],"toDelete":["columns"]},"hide":{"sheetName":[""]}}},{"displayName":"Filters","name":"filtersUI","placeholder":"Add Filter","type":"fixedCollection","typeOptions":{"multipleValueButtonText":"Add Filter","multipleValues":true},"default":{},"options":[{"displayName":"Filter","name":"values","values":[{"displayName":"Column","name":"lookupColumn","type":"options","typeOptions":{"loadOptionsDependsOn":["sheetName.value"],"loadOptionsMethod":"getSheetHeaderRowWithGeneratedColumnNames"},"default":"","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>"},{"displayName":"Value","name":"lookupValue","type":"string","default":"","hint":"The column must have this value to be matched"}]}],"displayOptions":{"show":{"resource":["sheet"],"operation":["read"]},"hide":{"sheetName":[""]}}},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"displayOptions":{"show":{"resource":["sheet"],"operation":["read"]},"hide":{"sheetName":[""]}},"options":[{"displayName":"Data Location on Sheet","name":"dataLocationOnSheet","type":"fixedCollection","placeholder":"Select Range","default":{"values":{"rangeDefinition":"detectAutomatically"}},"options":[{"displayName":"Values","name":"values","values":[{"displayName":"Range Definition","name":"rangeDefinition","type":"options","options":[{"name":"Detect Automatically","value":"detectAutomatically","description":"Automatically detect the data range"},{"name":"Specify Range (A1 Notation)","value":"specifyRangeA1","description":"Manually specify the data range"},{"name":"Specify Range (Rows)","value":"specifyRange","description":"Manually specify the data range"}],"default":""},{"displayName":"Read Rows Until","name":"readRowsUntil","type":"options","default":"lastRowInSheet","options":[{"name":"First Empty Row","value":"firstEmptyRow"},{"name":"Last Row In Sheet","value":"lastRowInSheet"}],"displayOptions":{"show":{"rangeDefinition":["detectAutomatically"]}}},{"displayName":"Header Row","name":"headerRow","type":"number","typeOptions":{"minValue":1},"default":1,"description":"Index is relative to the set 'Range', first row index is 1","hint":"Index of the row which contains the column names","displayOptions":{"show":{"rangeDefinition":["specifyRange"]}}},{"displayName":"First Data Row","name":"firstDataRow","type":"number","typeOptions":{"minValue":1},"default":2,"description":"Index is relative to the set 'Range', first row index is 1","hint":"Index of first row which contains the actual data","displayOptions":{"show":{"rangeDefinition":["specifyRange"]}}},{"displayName":"Range","name":"range","type":"string","default":"","placeholder":"A:Z","description":"The table range to read from or to append data to. See the Google <a href=\"https://developers.google.com/sheets/api/guides/values#writing\">documentation</a> for the details.","hint":"You can specify both the rows and the columns, e.g. C4:E7","displayOptions":{"show":{"rangeDefinition":["specifyRangeA1"]}}}]}]},{"displayName":"Output Formatting","name":"outputFormatting","type":"fixedCollection","placeholder":"Add Formatting","default":{"values":{"general":"UNFORMATTED_VALUE","date":"FORMATTED_STRING"}},"options":[{"displayName":"Values","name":"values","values":[{"displayName":"General Formatting","name":"general","type":"options","options":[{"name":"Values (unformatted)","value":"UNFORMATTED_VALUE","description":"Numbers stay as numbers, but any currency signs or special formatting is lost"},{"name":"Values (formatted)","value":"FORMATTED_VALUE","description":"Numbers are turned to text, and displayed as in Google Sheets (e.g. with commas or currency signs)"},{"name":"Formulas","value":"FORMULA"}],"default":"","description":"Determines how values should be rendered in the output"},{"displayName":"Date Formatting","name":"date","type":"options","default":"","options":[{"name":"Formatted Text","value":"FORMATTED_STRING","description":"As displayed in Google Sheets, e.g. '01/01/2022'"},{"name":"Serial Number","value":"SERIAL_NUMBER","description":"A number representing the number of days since Dec 30, 1899"}]}]}]},{"displayName":"When Filter Has Multiple Matches","name":"returnAllMatches","type":"options","default":"returnFirstMatch","options":[{"name":"Return First Match","value":"returnFirstMatch","description":"Return only the first match"},{"name":"Return All Matches","value":"returnAllMatches","description":"Return all values that match"}],"description":"By default only the first result gets returned, Set to \"Return All Matches\" to get multiple matches"}]},{"displayName":"Data Mode","name":"dataMode","type":"options","options":[{"name":"Auto-Map Input Data to Columns","value":"autoMapInputData","description":"Use when node input properties match destination column names"},{"name":"Map Each Column Below","value":"defineBelow","description":"Set the value for each destination column"},{"name":"Nothing","value":"nothing","description":"Do not send anything"}],"displayOptions":{"show":{"resource":["sheet"],"operation":["update"],"@version":[3]},"hide":{"sheetName":[""]}},"default":"defineBelow","description":"Whether to insert the input data this node receives in the new row"},{"displayName":"Column to match on","name":"columnToMatchOn","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsDependsOn":["sheetName.value"],"loadOptionsMethod":"getSheetHeaderRowAndSkipEmpty"},"default":"","hint":"Used to find the correct row to update. Doesn't get changed.","displayOptions":{"show":{"resource":["sheet"],"operation":["update"],"@version":[3]},"hide":{"sheetName":[""]}}},{"displayName":"Value of Column to Match On","name":"valueToMatchOn","type":"string","default":"","displayOptions":{"show":{"resource":["sheet"],"operation":["update"],"dataMode":["defineBelow"],"@version":[3]},"hide":{"sheetName":[""]}}},{"displayName":"Values to Send","name":"fieldsUi","placeholder":"Add Field","type":"fixedCollection","typeOptions":{"multipleValues":true},"displayOptions":{"show":{"resource":["sheet"],"operation":["update"],"dataMode":["defineBelow"],"@version":[3]},"hide":{"sheetName":[""]}},"default":{},"options":[{"displayName":"Field","name":"values","values":[{"displayName":"Column","name":"column","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsDependsOn":["sheetName.value","columnToMatchOn"],"loadOptionsMethod":"getSheetHeaderRowAndAddColumn"},"default":""},{"displayName":"Column Name","name":"columnName","type":"string","default":"","displayOptions":{"show":{"column":["newColumn"]}}},{"displayName":"Value","name":"fieldValue","type":"string","default":""}]}]},{"displayName":"Columns","name":"columns","type":"resourceMapper","noDataExpression":true,"default":{"mappingMode":"defineBelow","value":null},"required":true,"typeOptions":{"loadOptionsDependsOn":["sheetName.value"],"resourceMapper":{"resourceMapperMethod":"getMappingColumns","mode":"update","fieldWords":{"singular":"column","plural":"columns"},"addAllFields":true,"multiKeyMatch":false}},"displayOptions":{"show":{"resource":["sheet"],"operation":["update"],"@version":[4]},"hide":{"sheetName":[""]}}},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"displayOptions":{"show":{"resource":["sheet"],"operation":["update"]},"hide":{"sheetName":[""]}},"options":[{"displayName":"Cell Format","name":"cellFormat","type":"options","options":[{"name":"Let n8n format","value":"RAW","description":"Cells have the same types as the input data"},{"name":"Let Google Sheets format","value":"USER_ENTERED","description":"Cells are styled as if you typed the values into Google Sheets directly"}],"default":"RAW","description":"Determines how data should be interpreted"},{"displayName":"Data Location on Sheet","name":"locationDefine","type":"fixedCollection","placeholder":"Select Range","default":{"values":{}},"options":[{"displayName":"Values","name":"values","values":[{"displayName":"Header Row","name":"headerRow","type":"number","typeOptions":{"minValue":1},"default":1,"description":"Index is relative to the set 'Range', first row index is 1","hint":"Index of the row which contains the column names"},{"displayName":"First Data Row","name":"firstDataRow","type":"number","typeOptions":{"minValue":1},"default":2,"description":"Index is relative to the set 'Range', first row index is 1","hint":"Index of first row which contains the actual data"}]}]},{"displayName":"Handling extra fields in input","name":"handlingExtraData","type":"options","options":[{"name":"Insert in New Column(s)","value":"insertInNewColumn","description":"Create a new column for extra data"},{"name":"Ignore Them","value":"ignoreIt","description":"Ignore extra data"},{"name":"Error","value":"error","description":"Throw an error"}],"displayOptions":{"show":{"/dataMode":["autoMapInputData"]}},"default":"insertInNewColumn","description":"What do to with fields that don't match any columns in the Google Sheet"}]},{"displayName":"Data Mode","name":"dataMode","type":"options","options":[{"name":"Auto-Map Input Data to Columns","value":"autoMapInputData","description":"Use when node input properties match destination column names"},{"name":"Map Each Column Below","value":"defineBelow","description":"Set the value for each destination column"},{"name":"Nothing","value":"nothing","description":"Do not send anything"}],"displayOptions":{"show":{"resource":["sheet"],"operation":["appendOrUpdate"],"@version":[3]},"hide":{"sheetName":[""]}},"default":"defineBelow","description":"Whether to insert the input data this node receives in the new row"},{"displayName":"Column to match on","name":"columnToMatchOn","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsDependsOn":["sheetName.value"],"loadOptionsMethod":"getSheetHeaderRowAndSkipEmpty"},"default":"","hint":"Used to find the correct row to update. Doesn't get changed.","displayOptions":{"show":{"resource":["sheet"],"operation":["appendOrUpdate"],"@version":[3]},"hide":{"sheetName":[""]}}},{"displayName":"Value of Column to Match On","name":"valueToMatchOn","type":"string","default":"","displayOptions":{"show":{"resource":["sheet"],"operation":["appendOrUpdate"],"dataMode":["defineBelow"],"@version":[3]},"hide":{"sheetName":[""]}}},{"displayName":"Values to Send","name":"fieldsUi","placeholder":"Add Field","type":"fixedCollection","typeOptions":{"multipleValues":true},"displayOptions":{"show":{"resource":["sheet"],"operation":["appendOrUpdate"],"dataMode":["defineBelow"],"@version":[3]},"hide":{"sheetName":[""]}},"default":{},"options":[{"displayName":"Field","name":"values","values":[{"displayName":"Column","name":"column","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsDependsOn":["sheetName.value","columnToMatchOn"],"loadOptionsMethod":"getSheetHeaderRowAndAddColumn"},"default":""},{"displayName":"Column Name","name":"columnName","type":"string","default":"","displayOptions":{"show":{"column":["newColumn"]}}},{"displayName":"Value","name":"fieldValue","type":"string","default":""}]}]},{"displayName":"Columns","name":"columns","type":"resourceMapper","noDataExpression":true,"default":{"mappingMode":"defineBelow","value":null},"required":true,"typeOptions":{"loadOptionsDependsOn":["sheetName.value"],"resourceMapper":{"resourceMapperMethod":"getMappingColumns","mode":"upsert","fieldWords":{"singular":"column","plural":"columns"},"addAllFields":true,"multiKeyMatch":false}},"displayOptions":{"show":{"resource":["sheet"],"operation":["appendOrUpdate"],"@version":[4]},"hide":{"sheetName":[""]}}},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"displayOptions":{"show":{"resource":["sheet"],"operation":["appendOrUpdate"]},"hide":{"sheetName":[""]}},"options":[{"displayName":"Cell Format","name":"cellFormat","type":"options","options":[{"name":"Let n8n format","value":"RAW","description":"Cells have the same types as the input data"},{"name":"Let Google Sheets format","value":"USER_ENTERED","description":"Cells are styled as if you typed the values into Google Sheets directly"}],"default":"RAW","description":"Determines how data should be interpreted"},{"displayName":"Data Location on Sheet","name":"locationDefine","type":"fixedCollection","placeholder":"Select Range","default":{"values":{}},"options":[{"displayName":"Values","name":"values","values":[{"displayName":"Header Row","name":"headerRow","type":"number","typeOptions":{"minValue":1},"default":1,"description":"Index is relative to the set 'Range', first row index is 1","hint":"Index of the row which contains the column names"},{"displayName":"First Data Row","name":"firstDataRow","type":"number","typeOptions":{"minValue":1},"default":2,"description":"Index is relative to the set 'Range', first row index is 1","hint":"Index of first row which contains the actual data"}]}]},{"displayName":"Handling extra fields in input","name":"handlingExtraData","type":"options","options":[{"name":"Insert in New Column(s)","value":"insertInNewColumn","description":"Create a new column for extra data"},{"name":"Ignore Them","value":"ignoreIt","description":"Ignore extra data"},{"name":"Error","value":"error","description":"Throw an error"}],"displayOptions":{"show":{"/dataMode":["autoMapInputData"]}},"default":"insertInNewColumn","description":"What do to with fields that don't match any columns in the Google Sheet"}]},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"displayOptions":{"show":{"resource":["spreadsheet"]}},"options":[{"name":"Create","value":"create","description":"Create a spreadsheet","action":"Create a spreadsheet"},{"name":"Delete","value":"deleteSpreadsheet","description":"Delete a spreadsheet","action":"Delete a spreadsheet"}],"default":"create"},{"displayName":"Title","name":"title","type":"string","default":"","displayOptions":{"show":{"resource":["spreadsheet"],"operation":["create"]}},"description":"The title of the spreadsheet"},{"displayName":"Sheets","name":"sheetsUi","placeholder":"Add Sheet","type":"fixedCollection","typeOptions":{"multipleValues":true},"default":{},"options":[{"name":"sheetValues","displayName":"Sheet","values":[{"displayName":"Title","name":"title","type":"string","default":"","description":"Title of the property to create"},{"displayName":"Hidden","name":"hidden","type":"boolean","default":false,"description":"Whether the Sheet should be hidden in the UI"}]}],"displayOptions":{"show":{"resource":["spreadsheet"],"operation":["create"]}}},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"displayOptions":{"show":{"resource":["spreadsheet"],"operation":["create"]}},"options":[{"displayName":"Locale","name":"locale","type":"string","default":"","placeholder":"en_US","description":"The locale of the spreadsheet in one of the following formats:\n\t\t\t\t<ul>\n\t\t\t\t\t<li>en (639-1)</li>\n\t\t\t\t\t<li>fil (639-2 if no 639-1 format exists)</li>\n\t\t\t\t\t<li>en_US (combination of ISO language an country)</li>\n\t\t\t\t<ul>"},{"displayName":"Recalculation Interval","name":"autoRecalc","type":"options","options":[{"name":"Default","value":"","description":"Default value"},{"name":"On Change","value":"ON_CHANGE","description":"Volatile functions are updated on every change"},{"name":"Minute","value":"MINUTE","description":"Volatile functions are updated on every change and every minute"},{"name":"Hour","value":"HOUR","description":"Volatile functions are updated on every change and hourly"}],"default":"","description":"Cell recalculation interval options"}]},{"displayName":"Document","name":"documentId","type":"resourceLocator","default":{"mode":"list","value":""},"required":true,"modes":[{"displayName":"From List","name":"list","type":"list","typeOptions":{"searchListMethod":"spreadSheetsSearch","searchable":true}},{"displayName":"By URL","name":"url","type":"string","extractValue":{"type":"regex","regex":"https:\\/\\/(?:drive|docs)\\.google\\.com\\/\\w+\\/d\\/([0-9a-zA-Z\\-_]+)(?:\\/.*|)"},"validation":[{"type":"regex","properties":{"regex":"https:\\/\\/(?:drive|docs)\\.google.com\\/\\w+\\/d\\/([0-9a-zA-Z\\-_]+)(?:\\/.*|)","errorMessage":"Not a valid Google Drive File URL"}}]},{"displayName":"By ID","name":"id","type":"string","validation":[{"type":"regex","properties":{"regex":"[a-zA-Z0-9\\-_]{2,}","errorMessage":"Not a valid Google Drive File ID"}}],"url":"=https://docs.google.com/spreadsheets/d/{{$value}}/edit"}],"displayOptions":{"show":{"resource":["spreadsheet"],"operation":["deleteSpreadsheet"]}}}],"iconUrl":"icons/n8n-nodes-base/dist/nodes/Google/Sheet/googleSheets.svg","codex":{"categories":["Data & Storage","Productivity"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"alias":["CSV","Spreadsheet","GS"]}},
151
152
  {"displayName":"Google Sheets Trigger","name":"n8n-nodes-base.googleSheetsTrigger","group":["trigger"],"version":1,"subtitle":"={{($parameter[\"event\"])}}","description":"Starts the workflow when Google Sheets events occur","defaults":{"name":"Google Sheets Trigger"},"inputs":[],"outputs":["main"],"credentials":[{"name":"googleSheetsTriggerOAuth2Api","required":true,"displayOptions":{"show":{"authentication":["triggerOAuth2"]}}}],"polling":true,"properties":[{"displayName":"Poll Times","name":"pollTimes","type":"fixedCollection","typeOptions":{"multipleValues":true,"multipleValueButtonText":"Add Poll Time"},"default":{"item":[{"mode":"everyMinute"}]},"description":"Time at which polling should occur","placeholder":"Add Poll Time","options":[{"name":"item","displayName":"Item","values":[{"displayName":"Mode","name":"mode","type":"options","options":[{"name":"Every Minute","value":"everyMinute"},{"name":"Every Hour","value":"everyHour"},{"name":"Every Day","value":"everyDay"},{"name":"Every Week","value":"everyWeek"},{"name":"Every Month","value":"everyMonth"},{"name":"Every X","value":"everyX"},{"name":"Custom","value":"custom"}],"default":"everyDay","description":"How often to trigger."},{"displayName":"Hour","name":"hour","type":"number","typeOptions":{"minValue":0,"maxValue":23},"displayOptions":{"hide":{"mode":["custom","everyHour","everyMinute","everyX"]}},"default":14,"description":"The hour of the day to trigger (24h format)"},{"displayName":"Minute","name":"minute","type":"number","typeOptions":{"minValue":0,"maxValue":59},"displayOptions":{"hide":{"mode":["custom","everyMinute","everyX"]}},"default":0,"description":"The minute of the day to trigger"},{"displayName":"Day of Month","name":"dayOfMonth","type":"number","displayOptions":{"show":{"mode":["everyMonth"]}},"typeOptions":{"minValue":1,"maxValue":31},"default":1,"description":"The day of the month to trigger"},{"displayName":"Weekday","name":"weekday","type":"options","displayOptions":{"show":{"mode":["everyWeek"]}},"options":[{"name":"Monday","value":"1"},{"name":"Tuesday","value":"2"},{"name":"Wednesday","value":"3"},{"name":"Thursday","value":"4"},{"name":"Friday","value":"5"},{"name":"Saturday","value":"6"},{"name":"Sunday","value":"0"}],"default":"1","description":"The weekday to trigger"},{"displayName":"Cron Expression","name":"cronExpression","type":"string","displayOptions":{"show":{"mode":["custom"]}},"default":"* * * * * *","description":"Use custom cron expression. Values and ranges as follows:<ul><li>Seconds: 0-59</li><li>Minutes: 0 - 59</li><li>Hours: 0 - 23</li><li>Day of Month: 1 - 31</li><li>Months: 0 - 11 (Jan - Dec)</li><li>Day of Week: 0 - 6 (Sun - Sat)</li></ul>"},{"displayName":"Value","name":"value","type":"number","typeOptions":{"minValue":0,"maxValue":1000},"displayOptions":{"show":{"mode":["everyX"]}},"default":2,"description":"All how many X minutes/hours it should trigger"},{"displayName":"Unit","name":"unit","type":"options","displayOptions":{"show":{"mode":["everyX"]}},"options":[{"name":"Minutes","value":"minutes"},{"name":"Hours","value":"hours"}],"default":"hours","description":"If it should trigger all X minutes or hours"}]}]},{"displayName":"Authentication","name":"authentication","type":"hidden","options":[{"name":"OAuth2 (recommended)","value":"triggerOAuth2"}],"default":"triggerOAuth2"},{"displayName":"Document","name":"documentId","type":"resourceLocator","default":{"mode":"list","value":""},"required":true,"modes":[{"displayName":"From List","name":"list","type":"list","typeOptions":{"searchListMethod":"spreadSheetsSearch","searchable":true}},{"displayName":"By URL","name":"url","type":"string","extractValue":{"type":"regex","regex":"https:\\/\\/(?:drive|docs)\\.google\\.com\\/\\w+\\/d\\/([0-9a-zA-Z\\-_]+)(?:\\/.*|)"},"validation":[{"type":"regex","properties":{"regex":"https:\\/\\/(?:drive|docs)\\.google.com\\/\\w+\\/d\\/([0-9a-zA-Z\\-_]+)(?:\\/.*|)","errorMessage":"Not a valid Google Drive File URL"}}]},{"displayName":"By ID","name":"id","type":"string","validation":[{"type":"regex","properties":{"regex":"[a-zA-Z0-9\\-_]{2,}","errorMessage":"Not a valid Google Drive File ID"}}],"url":"=https://docs.google.com/spreadsheets/d/{{$value}}/edit"}]},{"displayName":"Sheet","name":"sheetName","type":"resourceLocator","default":{"mode":"list","value":""},"required":true,"modes":[{"displayName":"From List","name":"list","type":"list","typeOptions":{"searchListMethod":"sheetsSearch","searchable":false}},{"displayName":"By URL","name":"url","type":"string","extractValue":{"type":"regex","regex":"https:\\/\\/docs\\.google\\.com/spreadsheets\\/d\\/[0-9a-zA-Z\\-_]+\\/edit\\#gid=([0-9]+)"},"validation":[{"type":"regex","properties":{"regex":"https:\\/\\/docs\\.google\\.com/spreadsheets\\/d\\/[0-9a-zA-Z\\-_]+\\/edit\\#gid=([0-9]+)","errorMessage":"Not a valid Sheet URL"}}]},{"displayName":"By ID","name":"id","type":"string","validation":[{"type":"regex","properties":{"regex":"((gid=)?[0-9]{1,})","errorMessage":"Not a valid Sheet ID"}}]}]},{"displayName":"Trigger On","name":"event","type":"options","description":"It will be triggered also by newly created columns (if the 'Columns to Watch' option is not set)","options":[{"name":"Row Added","value":"rowAdded"},{"name":"Row Updated","value":"rowUpdate"},{"name":"Row Added or Updated","value":"anyUpdate"}],"default":"anyUpdate","required":true},{"displayName":"Include in Output","name":"includeInOutput","type":"options","default":"new","description":"This option will be effective only when automatically executing the workflow","options":[{"name":"New Version","value":"new"},{"name":"Old Version","value":"old"},{"name":"Both Versions","value":"both"}],"displayOptions":{"hide":{"event":["rowAdded"]}}},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"options":[{"displayName":"Columns to Watch","name":"columnsToWatch","type":"multiOptions","description":"Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsDependsOn":["sheetName.value"],"loadOptionsMethod":"getSheetHeaderRowAndSkipEmpty"},"default":[],"displayOptions":{"show":{"/event":["anyUpdate","rowUpdate"]}}},{"displayName":"Data Location on Sheet","name":"dataLocationOnSheet","type":"fixedCollection","placeholder":"Select Range","default":{"values":{"rangeDefinition":"specifyRangeA1"}},"options":[{"displayName":"Values","name":"values","values":[{"displayName":"Range Definition","name":"rangeDefinition","type":"options","options":[{"name":"Specify Range (A1 Notation)","value":"specifyRangeA1","description":"Manually specify the data range"},{"name":"Specify Range (Rows)","value":"specifyRange","description":"Manually specify the data range"}],"default":""},{"displayName":"Header Row","name":"headerRow","type":"number","typeOptions":{"minValue":1},"default":1,"description":"Index of the row which contains the keys. Starts at 1. The incoming node data is matched to the keys for assignment. The matching is case sensitive.","hint":"First row is row 1","displayOptions":{"show":{"rangeDefinition":["specifyRange"]}}},{"displayName":"First Data Row","name":"firstDataRow","type":"number","typeOptions":{"minValue":1},"default":2,"description":"Index of the first row which contains the actual data and not the keys. Starts with 1.","hint":"First row is row 1","displayOptions":{"show":{"rangeDefinition":["specifyRange"]}}},{"displayName":"Range","name":"range","type":"string","default":"","placeholder":"A:Z","description":"The table range to read from or to append data to. See the Google <a href=\"https://developers.google.com/sheets/api/guides/values#writing\">documentation</a> for the details.","hint":"You can specify both the rows and the columns, e.g. C4:E7","displayOptions":{"show":{"rangeDefinition":["specifyRangeA1"]}}}]}]},{"displayName":"Value Render","name":"valueRender","type":"options","options":[{"name":"Unformatted","value":"UNFORMATTED_VALUE","description":"Values will be calculated, but not formatted in the reply"},{"name":"Formatted","value":"FORMATTED_VALUE","description":"Values will be formatted and calculated according to the cell's formatting (based on the spreadsheet's locale)"},{"name":"Formula","value":"FORMULA","description":"Values will not be calculated. The reply will include the formulas."}],"default":"UNFORMATTED_VALUE","description":"Determines how values will be rendered in the output. <a href=\"https://developers.google.com/sheets/api/reference/rest/v4/ValueRenderOption\" target=\"_blank\">More info</a>.","displayOptions":{"hide":{"/event":["anyUpdate","rowUpdate"]}}},{"displayName":"DateTime Render","name":"dateTimeRenderOption","type":"options","options":[{"name":"Serial Number","value":"SERIAL_NUMBER","description":"Fields will be returned as doubles in \"serial number\" format (as popularized by Lotus 1-2-3)"},{"name":"Formatted String","value":"FORMATTED_STRING","description":"Fields will be rendered as strings in their given number format (which depends on the spreadsheet locale)"}],"default":"SERIAL_NUMBER","description":"Determines how dates should be rendered in the output. <a href=\"https://developers.google.com/sheets/api/reference/rest/v4/DateTimeRenderOption\" target=\"_blank\">More info</a>.","displayOptions":{"hide":{"/event":["anyUpdate","rowUpdate"]}}}]}],"codex":{"categories":["Data & Storage","Productivity"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/trigger-nodes/n8n-nodes-base.googlesheetstrigger/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"alias":["CSV","Spreadsheet","GS"]},"iconUrl":"icons/n8n-nodes-base/dist/nodes/Google/Sheet/googleSheets.svg"},
152
153
  {"displayName":"Google Slides","name":"n8n-nodes-base.googleSlides","group":["input","output"],"version":[1,2],"subtitle":"={{$parameter[\"operation\"] + \": \" + $parameter[\"resource\"]}}","description":"Consume the Google Slides API","defaults":{"name":"Google Slides"},"inputs":["main"],"outputs":["main"],"credentials":[{"name":"googleApi","required":true,"displayOptions":{"show":{"authentication":["serviceAccount"]}}},{"name":"googleSlidesOAuth2Api","required":true,"displayOptions":{"show":{"authentication":["oAuth2"]}}}],"properties":[{"displayName":"Authentication","name":"authentication","type":"options","options":[{"name":"OAuth2","value":"oAuth2"},{"name":"Service Account","value":"serviceAccount"}],"default":"serviceAccount","displayOptions":{"show":{"@version":[1]}}},{"displayName":"Authentication","name":"authentication","type":"options","options":[{"name":"OAuth2 (recommended)","value":"oAuth2"},{"name":"Service Account","value":"serviceAccount"}],"default":"oAuth2","displayOptions":{"show":{"@version":[2]}}},{"displayName":"Resource","name":"resource","type":"options","noDataExpression":true,"options":[{"name":"Page","value":"page"},{"name":"Presentation","value":"presentation"}],"default":"presentation"},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"options":[{"name":"Create","value":"create","description":"Create a presentation","action":"Create a presentation"},{"name":"Get","value":"get","description":"Get a presentation","action":"Get a presentation"},{"name":"Get Slides","value":"getSlides","description":"Get presentation slides","action":"Get slides from a presentation"},{"name":"Replace Text","value":"replaceText","description":"Replace text in a presentation","action":"Replace text in a presentation"}],"displayOptions":{"show":{"resource":["presentation"]}},"default":"create"},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"options":[{"name":"Get","value":"get","description":"Get a page","action":"Get a page"},{"name":"Get Thumbnail","value":"getThumbnail","description":"Get a thumbnail","action":"Get the thumbnail for a page"}],"displayOptions":{"show":{"resource":["page"]}},"default":"get"},{"displayName":"Title","name":"title","description":"Title of the presentation to create","type":"string","default":"","required":true,"displayOptions":{"show":{"resource":["presentation"],"operation":["create"]}}},{"displayName":"Presentation ID","name":"presentationId","description":"ID of the presentation to retrieve. Found in the presentation URL: <code>https://docs.google.com/presentation/d/PRESENTATION_ID/edit</code>","placeholder":"1wZtNFZ8MO-WKrxhYrOLMvyiqSgFwdSz5vn8_l_7eNqw","type":"string","default":"","required":true,"displayOptions":{"show":{"resource":["presentation","page"],"operation":["get","getThumbnail","getSlides","replaceText"]}}},{"displayName":"Return All","name":"returnAll","type":"boolean","displayOptions":{"show":{"operation":["getSlides"],"resource":["presentation"]}},"default":false,"description":"Whether to return all results or only up to a given limit"},{"displayName":"Limit","name":"limit","type":"number","displayOptions":{"show":{"operation":["getSlides"],"resource":["presentation"],"returnAll":[false]}},"typeOptions":{"minValue":1,"maxValue":500},"default":100,"description":"Max number of results to return"},{"displayName":"Page Object ID","name":"pageObjectId","description":"ID of the page object to retrieve","type":"string","default":"","required":true,"displayOptions":{"show":{"resource":["page"],"operation":["get","getThumbnail"]}}},{"displayName":"Texts To Replace","name":"textUi","placeholder":"Add Text","type":"fixedCollection","typeOptions":{"multipleValues":true},"displayOptions":{"show":{"resource":["presentation"],"operation":["replaceText"]}},"default":{},"options":[{"name":"textValues","displayName":"Text","values":[{"displayName":"Match Case","name":"matchCase","type":"boolean","default":false,"description":"Whether the search should respect case. True : the search is case sensitive. False : the search is case insensitive."},{"displayName":"Page Names or IDs","name":"pageObjectIds","type":"multiOptions","default":[],"typeOptions":{"loadOptionsMethod":"getPages","loadOptionsDependsOn":["presentationId"]},"description":"If non-empty, limits the matches to page elements only on the given pages. Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>."},{"displayName":"Replace Text","name":"replaceText","type":"string","default":"","description":"The text that will replace the matched text"},{"displayName":"Text","name":"text","type":"string","default":"","description":"The text to search for in the shape or table"}]}]},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","displayOptions":{"show":{"operation":["replaceText"],"resource":["presentation"]}},"default":{},"options":[{"displayName":"Revision ID","name":"revisionId","type":"string","default":"","description":"The revision ID of the presentation required for the write request. If specified and the requiredRevisionId doesn't exactly match the presentation's current revisionId, the request will not be processed and will return a 400 bad request error."}]},{"displayName":"Download","name":"download","type":"boolean","default":false,"displayOptions":{"show":{"resource":["page"],"operation":["getThumbnail"]}},"description":"Name of the binary property to which to write the data of the read page"},{"displayName":"Binary Property","name":"binaryProperty","type":"string","required":true,"default":"data","description":"Name of the binary property to which to write to","displayOptions":{"show":{"resource":["page"],"operation":["getThumbnail"],"download":[true]}}}],"codex":{"categories":["Marketing & Content"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googleslides/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]}},"iconUrl":"icons/n8n-nodes-base/dist/nodes/Google/Slides/googleslides.svg"},
153
154
  {"displayName":"Google Tasks","name":"n8n-nodes-base.googleTasks","group":["input"],"version":1,"subtitle":"={{$parameter[\"operation\"] + \": \" + $parameter[\"resource\"]}}","description":"Consume Google Tasks API","defaults":{"name":"Google Tasks"},"inputs":["main"],"outputs":["main"],"credentials":[{"name":"googleTasksOAuth2Api","required":true}],"properties":[{"displayName":"Resource","name":"resource","type":"options","noDataExpression":true,"options":[{"name":"Task","value":"task"}],"default":"task"},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"displayOptions":{"show":{"resource":["task"]}},"options":[{"name":"Create","value":"create","description":"Add a task to tasklist","action":"Create a task"},{"name":"Delete","value":"delete","description":"Delete a task","action":"Delete a task"},{"name":"Get","value":"get","description":"Retrieve a task","action":"Get a task"},{"name":"Get Many","value":"getAll","description":"Retrieve many tasks from a tasklist","action":"Get many tasks"},{"name":"Update","value":"update","description":"Update a task","action":"Update a task"}],"default":"create"},{"displayName":"TaskList Name or ID","name":"task","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsMethod":"getTasks"},"required":true,"displayOptions":{"show":{"operation":["create"],"resource":["task"]}},"default":""},{"displayName":"Title","name":"title","type":"string","default":"","description":"Title of the task","displayOptions":{"show":{"operation":["create"],"resource":["task"]}}},{"displayName":"Additional Fields","name":"additionalFields","type":"collection","placeholder":"Add Field","default":{},"displayOptions":{"show":{"operation":["create"],"resource":["task"]}},"options":[{"displayName":"Completion Date","name":"completed","type":"dateTime","default":"","description":"Completion date of the task (as a RFC 3339 timestamp). This field is omitted if the task has not been completed."},{"displayName":"Deleted","name":"deleted","type":"boolean","default":false,"description":"Whether the task has been deleted"},{"displayName":"Due Date","name":"dueDate","type":"dateTime","default":"","description":"Due date of the task"},{"displayName":"Notes","name":"notes","type":"string","default":"","description":"Additional Notes"},{"displayName":"Parent","name":"parent","type":"string","default":"","description":"Parent task identifier. If the task is created at the top level, this parameter is omitted."},{"displayName":"Previous","name":"previous","type":"string","default":"","description":"Previous sibling task identifier. If the task is created at the first position among its siblings, this parameter is omitted."},{"displayName":"Status","name":"status","type":"options","options":[{"name":"Needs Action","value":"needsAction"},{"name":"Completed","value":"completed"}],"default":"","description":"Current status of the task"}]},{"displayName":"TaskList Name or ID","name":"task","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsMethod":"getTasks"},"required":true,"displayOptions":{"show":{"operation":["delete"],"resource":["task"]}},"default":""},{"displayName":"Task ID","name":"taskId","type":"string","required":true,"displayOptions":{"show":{"operation":["delete"],"resource":["task"]}},"default":""},{"displayName":"TaskList Name or ID","name":"task","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsMethod":"getTasks"},"required":true,"displayOptions":{"show":{"operation":["get"],"resource":["task"]}},"default":""},{"displayName":"Task ID","name":"taskId","type":"string","required":true,"displayOptions":{"show":{"operation":["get"],"resource":["task"]}},"default":""},{"displayName":"TaskList Name or ID","name":"task","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsMethod":"getTasks"},"required":true,"displayOptions":{"show":{"operation":["getAll"],"resource":["task"]}},"default":""},{"displayName":"Return All","name":"returnAll","type":"boolean","displayOptions":{"show":{"operation":["getAll"],"resource":["task"]}},"default":false,"description":"Whether to return all results or only up to a given limit"},{"displayName":"Limit","name":"limit","type":"number","displayOptions":{"show":{"operation":["getAll"],"resource":["task"],"returnAll":[false]}},"typeOptions":{"minValue":1,"maxValue":100},"default":20,"description":"Max number of results to return"},{"displayName":"Additional Fields","name":"additionalFields","type":"collection","placeholder":"Add Field","default":{},"displayOptions":{"show":{"operation":["getAll"],"resource":["task"]}},"options":[{"displayName":"Completed Max","name":"completedMax","type":"dateTime","default":"","description":"Upper bound for a task completion date (as a RFC 3339 timestamp) to filter by"},{"displayName":"Completed Min","name":"completedMin","type":"dateTime","default":"","description":"Lower bound for a task completion date (as a RFC 3339 timestamp) to filter by"},{"displayName":"Due Min","name":"dueMin","type":"dateTime","default":"","description":"Lower bound for a task due date (as a RFC 3339 timestamp) to filter by"},{"displayName":"Due Max","name":"dueMax","type":"dateTime","default":"","description":"Upper bound for a task due date (as a RFC 3339 timestamp) to filter by"},{"displayName":"Show Completed","name":"showCompleted","type":"boolean","default":true,"description":"Whether completed tasks are returned in the result. <strong>Show Hidden</strong> must also be True to show tasks completed in first party clients such as the web UI or Google's mobile apps."},{"displayName":"Show Deleted","name":"showDeleted","type":"boolean","default":false,"description":"Whether deleted tasks are returned in the result"},{"displayName":"Show Hidden","name":"showHidden","type":"boolean","default":false,"description":"Whether hidden tasks are returned in the result"},{"displayName":"Updated Min","name":"updatedMin","type":"dateTime","default":"","description":"Lower bound for a task last modification time (as a RFC 3339 timestamp) to filter by"}]},{"displayName":"TaskList Name or ID","name":"task","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsMethod":"getTasks"},"required":true,"displayOptions":{"show":{"operation":["update"],"resource":["task"]}},"default":""},{"displayName":"Task ID","name":"taskId","type":"string","required":true,"displayOptions":{"show":{"operation":["update"],"resource":["task"]}},"default":""},{"displayName":"Update Fields","name":"updateFields","type":"collection","placeholder":"Update Field","default":{},"displayOptions":{"show":{"operation":["update"],"resource":["task"]}},"options":[{"displayName":"Completion Date","name":"completed","type":"dateTime","default":"","description":"Completion date of the task (as a RFC 3339 timestamp). This field is omitted if the task has not been completed."},{"displayName":"Deleted","name":"deleted","type":"boolean","default":false,"description":"Whether the task has been deleted"},{"displayName":"Due Date","name":"dueDate","type":"dateTime","default":"","description":"Due date of the task"},{"displayName":"Notes","name":"notes","type":"string","default":"","description":"Additional Notes"},{"displayName":"Previous","name":"previous","type":"string","default":"","description":"Previous sibling task identifier. If the task is created at the first position among its siblings, this parameter is omitted."},{"displayName":"Status","name":"status","type":"options","options":[{"name":"Needs Update","value":"needsAction"},{"name":"Completed","value":"completed"}],"default":"","description":"Current status of the task"},{"displayName":"Title","name":"title","type":"string","default":"","description":"Title of the task"}]}],"codex":{"categories":["Productivity"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googletasks/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]}},"iconUrl":"icons/n8n-nodes-base/dist/nodes/Google/Task/googleTasks.png"},
@@ -292,9 +293,10 @@
292
293
  {"displayName":"Pipedrive Trigger","name":"n8n-nodes-base.pipedriveTrigger","group":["trigger"],"version":1,"description":"Starts the workflow when Pipedrive events occur","defaults":{"name":"Pipedrive Trigger"},"inputs":[],"outputs":["main"],"credentials":[{"name":"pipedriveApi","required":true,"displayOptions":{"show":{"authentication":["apiToken"]}}},{"name":"pipedriveOAuth2Api","required":true,"displayOptions":{"show":{"authentication":["oAuth2"]}}},{"name":"httpBasicAuth","required":true,"displayOptions":{"show":{"incomingAuthentication":["basicAuth"]}}}],"webhooks":[{"name":"default","httpMethod":"POST","responseMode":"onReceived","path":"webhook"}],"properties":[{"displayName":"Authentication","name":"authentication","type":"options","options":[{"name":"API Token","value":"apiToken"},{"name":"OAuth2","value":"oAuth2"}],"default":"apiToken"},{"displayName":"Incoming Authentication","name":"incomingAuthentication","type":"options","options":[{"name":"Basic Auth","value":"basicAuth"},{"name":"None","value":"none"}],"default":"none","description":"If authentication should be activated for the webhook (makes it more secure)"},{"displayName":"Action","name":"action","type":"options","options":[{"name":"Added","value":"added","description":"Data got added","action":"Data was added"},{"name":"All","value":"*","description":"Any change","action":"Any change"},{"name":"Deleted","value":"deleted","description":"Data got deleted","action":"Data was deleted"},{"name":"Merged","value":"merged","description":"Data got merged","action":"Data was merged"},{"name":"Updated","value":"updated","description":"Data got updated","action":"Data was updated"}],"default":"*","description":"Type of action to receive notifications about"},{"displayName":"Object","name":"object","type":"options","options":[{"name":"Activity","value":"activity"},{"name":"Activity Type","value":"activityType"},{"name":"All","value":"*"},{"name":"Deal","value":"deal"},{"name":"Note","value":"note"},{"name":"Organization","value":"organization"},{"name":"Person","value":"person"},{"name":"Pipeline","value":"pipeline"},{"name":"Product","value":"product"},{"name":"Stage","value":"stage"},{"name":"User","value":"user"}],"default":"*","description":"Type of object to receive notifications about"}],"codex":{"categories":["Sales"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/trigger-nodes/n8n-nodes-base.pipedrivetrigger/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/credentials/pipedrive"}]}},"iconUrl":"icons/n8n-nodes-base/dist/nodes/Pipedrive/pipedrive.svg"},
293
294
  {"displayName":"Plivo","name":"n8n-nodes-base.plivo","group":["transform"],"version":1,"subtitle":"={{$parameter[\"operation\"] + \": \" + $parameter[\"resource\"]}}","description":"Send SMS/MMS messages or make phone calls","defaults":{"name":"Plivo"},"inputs":["main"],"outputs":["main"],"credentials":[{"name":"plivoApi","required":true}],"properties":[{"displayName":"Resource","name":"resource","type":"options","noDataExpression":true,"options":[{"name":"Call","value":"call"},{"name":"MMS","value":"mms"},{"name":"SMS","value":"sms"}],"default":"sms","required":true},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"displayOptions":{"show":{"resource":["sms"]}},"options":[{"name":"Send","value":"send","description":"Send an SMS message","action":"Send an SMS"}],"default":"send"},{"displayName":"From","name":"from","type":"string","default":"","description":"Plivo Number to send the SMS from","placeholder":"+14156667777","required":true,"displayOptions":{"show":{"resource":["sms"],"operation":["send"]}}},{"displayName":"To","name":"to","type":"string","default":"","description":"Phone number to send the message to","placeholder":"+14156667778","required":true,"displayOptions":{"show":{"resource":["sms"],"operation":["send"]}}},{"displayName":"Message","name":"message","type":"string","default":"","description":"Message to send","required":true,"displayOptions":{"show":{"operation":["send"],"resource":["sms"]}}},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"displayOptions":{"show":{"resource":["mms"]}},"options":[{"name":"Send","value":"send","description":"Send an MMS message (US/Canada only)","action":"Send an MMS"}],"default":"send"},{"displayName":"From","name":"from","type":"string","default":"","description":"Plivo Number to send the MMS from","placeholder":"+14156667777","required":true,"displayOptions":{"show":{"resource":["mms"],"operation":["send"]}}},{"displayName":"To","name":"to","type":"string","default":"","description":"Phone number to send the MMS to","placeholder":"+14156667778","required":true,"displayOptions":{"show":{"operation":["send"],"resource":["mms"]}}},{"displayName":"Message","name":"message","type":"string","default":"","description":"Message to send","displayOptions":{"show":{"resource":["mms"],"operation":["send"]}}},{"displayName":"Media URLs","name":"media_urls","type":"string","default":"","displayOptions":{"show":{"resource":["mms"],"operation":["send"]}},"description":"Comma-separated list of media URLs of the files from your file server"},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"displayOptions":{"show":{"resource":["call"]}},"options":[{"name":"Make","value":"make","description":"Make a voice call","action":"Make a call"}],"default":"make"},{"displayName":"From","name":"from","type":"string","default":"","placeholder":"+14156667777","description":"Caller ID for the call to make","required":true,"displayOptions":{"show":{"resource":["call"],"operation":["make"]}}},{"displayName":"To","name":"to","type":"string","default":"","placeholder":"+14156667778","required":true,"description":"Phone number to make the call to","displayOptions":{"show":{"resource":["call"],"operation":["make"]}}},{"displayName":"Answer Method","name":"answer_method","type":"options","required":true,"description":"HTTP verb to be used when invoking the Answer URL","default":"POST","options":[{"name":"GET","value":"GET"},{"name":"POST","value":"POST"}],"displayOptions":{"show":{"resource":["call"],"operation":["make"]}}},{"displayName":"Answer URL","name":"answer_url","type":"string","default":"","description":"URL to be invoked by Plivo once the call is answered. It should return the XML to handle the call once answered.","required":true,"displayOptions":{"show":{"resource":["call"],"operation":["make"]}}}],"codex":{"categories":["Communication","Development"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.plivo/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/credentials/plivo"}]}},"iconUrl":"icons/n8n-nodes-base/dist/nodes/Plivo/plivo.svg"},
294
295
  {"displayName":"PostBin","name":"n8n-nodes-base.postBin","group":["transform"],"version":1,"subtitle":"={{ $parameter[\"operation\"] + \": \" + $parameter[\"resource\"] }}","description":"Consume PostBin API","defaults":{"name":"PostBin"},"inputs":["main"],"outputs":["main"],"credentials":[],"requestDefaults":{"baseURL":"https://www.toptal.com"},"properties":[{"displayName":"Resource","name":"resource","type":"options","noDataExpression":true,"options":[{"name":"Bin","value":"bin"},{"name":"Request","value":"request"}],"default":"bin","required":true},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"displayOptions":{"show":{"resource":["bin"]}},"options":[{"name":"Create","value":"create","description":"Create bin","routing":{"request":{"method":"POST","url":"/developers/postbin/api/bin"},"output":{"postReceive":[null]}},"action":"Create a bin"},{"name":"Get","value":"get","description":"Get a bin","routing":{"request":{"method":"GET"},"output":{"postReceive":[null]},"send":{"preSend":[null]}},"action":"Get a bin"},{"name":"Delete","value":"delete","description":"Delete a bin","routing":{"request":{"method":"DELETE"},"send":{"preSend":[null]}},"action":"Delete a bin"}],"default":"create"},{"displayName":"Bin ID","name":"binId","type":"string","default":"","required":true,"displayOptions":{"show":{"resource":["bin"],"operation":["get","delete"]}},"description":"Unique identifier for each bin"},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"displayOptions":{"show":{"resource":["request"]}},"options":[{"name":"Get","value":"get","description":"Get a request","routing":{"request":{"method":"GET","url":"=/developers/postbin/api/bin/{{$parameter[\"binId\"]}}/req/{{$parameter[\"requestId\"]}}"},"send":{"preSend":[null]}},"action":"Get a request"},{"name":"Remove First","value":"removeFirst","description":"Remove the first request from bin","routing":{"request":{"method":"GET","url":"=/developers/postbin/api/bin/{{$parameter[\"binId\"]}}/req/shift"},"send":{"preSend":[null]}},"action":"Remove First a request"},{"name":"Send","value":"send","description":"Send a test request to the bin","routing":{"request":{"method":"POST"},"send":{"preSend":[null]},"output":{"postReceive":[{"type":"set","properties":{"value":"={{ { \"requestId\": $response.body } }}"}}]}},"action":"Send a request"}],"default":"get"},{"displayName":"Bin ID","name":"binId","type":"string","default":"","required":true,"displayOptions":{"show":{"resource":["request"],"operation":["get","removeFirst","send"]}},"description":"Unique identifier for each bin"},{"displayName":"Bin Content","name":"binContent","type":"string","default":"","typeOptions":{"rows":5},"displayOptions":{"show":{"resource":["request"],"operation":["send"]}},"routing":{"send":{"property":"content","type":"body"}}},{"displayName":"Request ID","name":"requestId","type":"string","default":"","required":true,"displayOptions":{"show":{"resource":["request"],"operation":["get"]}},"description":"Unique identifier for each request"}],"codex":{"categories":["Development","Data & Storage"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postbin/"}]}},"iconUrl":"icons/n8n-nodes-base/dist/nodes/PostBin/postbin.svg"},
295
- {"displayName":"Postgres","name":"n8n-nodes-base.postgres","group":["input"],"defaultVersion":2.1,"description":"Get, add and update data in Postgres","version":1,"defaults":{"name":"Postgres"},"inputs":["main"],"outputs":["main"],"credentials":[{"name":"postgres","required":true,"testedBy":"postgresConnectionTest"}],"properties":[{"displayName":"<strong>New node version available:</strong> get the latest version with added features from the nodes panel.","name":"oldVersionNotice","type":"notice","default":""},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"options":[{"name":"Execute Query","value":"executeQuery","description":"Execute an SQL query","action":"Execute a SQL query"},{"name":"Insert","value":"insert","description":"Insert rows in database","action":"Insert rows in database"},{"name":"Update","value":"update","description":"Update rows in database","action":"Update rows in database"}],"default":"insert"},{"displayName":"Query","name":"query","type":"string","typeOptions":{"editor":"sqlEditor","sqlDialect":"postgres"},"displayOptions":{"show":{"operation":["executeQuery"]}},"default":"","placeholder":"SELECT id, name FROM product WHERE quantity > $1 AND price <= $2","required":true,"description":"The SQL query to execute. You can use n8n expressions or $1 and $2 in conjunction with query parameters."},{"displayName":"Schema","name":"schema","type":"string","displayOptions":{"show":{"operation":["insert"]}},"default":"public","required":true,"description":"Name of the schema the table belongs to"},{"displayName":"Table","name":"table","type":"string","displayOptions":{"show":{"operation":["insert"]}},"default":"","required":true,"description":"Name of the table in which to insert data to"},{"displayName":"Columns","name":"columns","type":"string","displayOptions":{"show":{"operation":["insert"]}},"default":"","placeholder":"id:int,name:text,description","description":"Comma-separated list of the properties which should used as columns for the new rows. You can use type casting with colons (:) like id:int."},{"displayName":"Schema","name":"schema","type":"string","displayOptions":{"show":{"operation":["update"]}},"default":"public","description":"Name of the schema the table belongs to"},{"displayName":"Table","name":"table","type":"string","displayOptions":{"show":{"operation":["update"]}},"default":"","required":true,"description":"Name of the table in which to update data in"},{"displayName":"Update Key","name":"updateKey","type":"string","displayOptions":{"show":{"operation":["update"]}},"default":"id","required":true,"description":"Comma-separated list of the properties which decides which rows in the database should be updated. Normally that would be \"id\"."},{"displayName":"Columns","name":"columns","type":"string","displayOptions":{"show":{"operation":["update"]}},"default":"","placeholder":"name:text,description","description":"Comma-separated list of the properties which should used as columns for rows to update. You can use type casting with colons (:) like id:int."},{"displayName":"Return Fields","name":"returnFields","type":"string","requiresDataPath":"multiple","displayOptions":{"show":{"operation":["insert","update"]}},"default":"*","description":"Comma-separated list of the fields that the operation will return"},{"displayName":"Additional Fields","name":"additionalFields","type":"collection","placeholder":"Add Field","default":{},"options":[{"displayName":"Mode","name":"mode","type":"options","options":[{"name":"Independently","value":"independently","description":"Execute each query independently"},{"name":"Multiple Queries","value":"multiple","description":"<b>Default</b>. Sends multiple queries at once to database."},{"name":"Transaction","value":"transaction","description":"Executes all queries in a single transaction"}],"default":"multiple","description":"The way queries should be sent to database. Can be used in conjunction with <b>Continue on Fail</b>. See <a href=\"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/\">the docs</a> for more examples"},{"displayName":"Output Large-Format Numbers As","name":"largeNumbersOutput","type":"options","options":[{"name":"Numbers","value":"numbers"},{"name":"Text","value":"text","description":"Use this if you expect numbers longer than 16 digits (otherwise numbers may be incorrect)"}],"hint":"Applies to NUMERIC and BIGINT columns only","default":"text"},{"displayName":"Query Parameters","name":"queryParams","type":"string","displayOptions":{"show":{"/operation":["executeQuery"]}},"default":"","placeholder":"quantity,price","description":"Comma-separated list of properties which should be used as query parameters"}]}],"iconUrl":"icons/n8n-nodes-base/dist/nodes/Postgres/postgres.svg"},
296
- {"displayName":"Postgres","name":"n8n-nodes-base.postgres","group":["input"],"defaultVersion":2.1,"description":"Get, add and update data in Postgres","version":[2,2.1],"subtitle":"={{ $parameter[\"operation\"] }}","defaults":{"name":"Postgres"},"inputs":["main"],"outputs":["main"],"credentials":[{"name":"postgres","required":true,"testedBy":"postgresConnectionTest"}],"properties":[{"displayName":"Resource","name":"resource","type":"hidden","noDataExpression":true,"options":[{"name":"Database","value":"database"}],"default":"database"},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"options":[{"name":"Delete","value":"deleteTable","description":"Delete an entire table or rows in a table","action":"Delete table or rows"},{"name":"Execute Query","value":"executeQuery","description":"Execute an SQL query","action":"Execute a SQL query"},{"name":"Insert","value":"insert","description":"Insert rows in a table","action":"Insert rows in a table"},{"name":"Insert or Update","value":"upsert","description":"Insert or update rows in a table","action":"Insert or update rows in a table"},{"name":"Select","value":"select","description":"Select rows from a table","action":"Select rows from a table"},{"name":"Update","value":"update","description":"Update rows in a table","action":"Update rows in a table"}],"displayOptions":{"show":{"resource":["database"]}},"default":"insert"},{"displayName":"Schema","name":"schema","type":"resourceLocator","default":{"mode":"list","value":"public"},"required":true,"placeholder":"e.g. public","description":"The schema that contains the table you want to work on","modes":[{"displayName":"From List","name":"list","type":"list","typeOptions":{"searchListMethod":"schemaSearch"}},{"displayName":"By Name","name":"name","type":"string"}],"displayOptions":{"hide":{"operation":["executeQuery"]}}},{"displayName":"Table","name":"table","type":"resourceLocator","default":{"mode":"list","value":""},"required":true,"description":"The table you want to work on","modes":[{"displayName":"From List","name":"list","type":"list","typeOptions":{"searchListMethod":"tableSearch"}},{"displayName":"By Name","name":"name","type":"string"}],"displayOptions":{"hide":{"operation":["executeQuery"]}}},{"displayName":"Command","name":"deleteCommand","type":"options","default":"truncate","options":[{"name":"Truncate","value":"truncate","description":"Only removes the table's data and preserves the table's structure"},{"name":"Delete","value":"delete","description":"Delete the rows that match the 'Select Rows' conditions below. If no selection is made, all rows in the table are deleted."},{"name":"Drop","value":"drop","description":"Deletes the table's data and also the table's structure permanently"}],"displayOptions":{"show":{"resource":["database"],"operation":["deleteTable"]},"hide":{"table":[""]}}},{"displayName":"Restart Sequences","name":"restartSequences","type":"boolean","default":false,"description":"Whether to reset identity (auto-increment) columns to their initial values","displayOptions":{"show":{"deleteCommand":["truncate"],"resource":["database"],"operation":["deleteTable"]},"hide":{"table":[""]}}},{"displayName":"Select Rows","name":"where","type":"fixedCollection","typeOptions":{"multipleValues":true},"placeholder":"Add Condition","default":{},"description":"If not set, all rows will be selected","options":[{"displayName":"Values","name":"values","values":[{"displayName":"Column","name":"column","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","default":"","placeholder":"e.g. ID","typeOptions":{"loadOptionsMethod":"getColumns","loadOptionsDependsOn":["schema.value","table.value"]}},{"displayName":"Operator","name":"condition","type":"options","description":"The operator to check the column against. When using 'LIKE' operator percent sign ( %) matches zero or more characters, underscore ( _ ) matches any single character.","options":[{"name":"Equal","value":"equal"},{"name":"Not Equal","value":"!="},{"name":"Like","value":"LIKE"},{"name":"Greater Than","value":">"},{"name":"Less Than","value":"<"},{"name":"Greater Than Or Equal","value":">="},{"name":"Less Than Or Equal","value":"<="},{"name":"Is Null","value":"IS NULL"}],"default":"equal"},{"displayName":"Value","name":"value","type":"string","default":""}]}],"displayOptions":{"show":{"deleteCommand":["delete"],"resource":["database"],"operation":["deleteTable"]},"hide":{"table":[""]}}},{"displayName":"Combine Conditions","name":"combineConditions","type":"options","description":"How to combine the conditions defined in \"Select Rows\": AND requires all conditions to be true, OR requires at least one condition to be true","options":[{"name":"AND","value":"AND","description":"Only rows that meet all the conditions are selected"},{"name":"OR","value":"OR","description":"Rows that meet at least one condition are selected"}],"default":"AND","displayOptions":{"show":{"deleteCommand":["delete"],"resource":["database"],"operation":["deleteTable"]},"hide":{"table":[""]}}},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"options":[{"displayName":"Cascade","name":"cascade","type":"boolean","default":false,"description":"Whether to drop all objects that depend on the table, such as views and sequences","displayOptions":{"show":{"/operation":["deleteTable"]},"hide":{"/deleteCommand":["delete"]}}},{"displayName":"Connection Timeout","name":"connectionTimeout","type":"number","default":30,"description":"Number of seconds reserved for connecting to the database"},{"displayName":"Query Batching","name":"queryBatching","type":"options","noDataExpression":true,"options":[{"name":"Single Query","value":"single","description":"A single query for all incoming items"},{"name":"Independently","value":"independently","description":"Execute one query per incoming item of the run"},{"name":"Transaction","value":"transaction","description":"Execute all queries in a transaction, if a failure occurs, all changes are rolled back"}],"default":"single","description":"The way queries should be sent to the database"},{"displayName":"Query Parameters","name":"queryReplacement","type":"string","default":"","description":"Comma-separated list of the values you want to use as query parameters. <a href=\"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/#use-query-parameters\">More info</a>.","hint":"Comma-separated list of values: reference them in your query as $1, $2, $3…","placeholder":"e.g. value1,value2,value3","displayOptions":{"show":{"/operation":["executeQuery"]}}},{"displayName":"Output Columns","name":"outputColumns","type":"multiOptions","description":"Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsMethod":"getColumnsMultiOptions","loadOptionsDependsOn":["table.value"]},"default":[],"displayOptions":{"show":{"/operation":["select","insert","update","upsert"]}}},{"displayName":"Output Large-Format Numbers As","name":"largeNumbersOutput","type":"options","options":[{"name":"Numbers","value":"numbers"},{"name":"Text","value":"text","description":"Use this if you expect numbers longer than 16 digits (otherwise numbers may be incorrect)"}],"hint":"Applies to NUMERIC and BIGINT columns only","default":"text"},{"displayName":"Skip on Conflict","name":"skipOnConflict","type":"boolean","default":false,"description":"Whether to skip the row and do not throw error if a unique constraint or exclusion constraint is violated","displayOptions":{"show":{"/operation":["insert"]}}},{"displayName":"Replace Empty Strings with NULL","name":"replaceEmptyStrings","type":"boolean","default":false,"description":"Whether to replace empty strings with NULL in input, could be useful when data come from spreadsheet","displayOptions":{"show":{"/operation":["insert","update","upsert","executeQuery"]}}}],"displayOptions":{"show":{"resource":["database"],"operation":["deleteTable"]},"hide":{"table":[""]}}},{"displayName":"Query","name":"query","type":"string","default":"","placeholder":"e.g. SELECT id, name FROM product WHERE quantity > $1 AND price <= $2","required":true,"description":"The SQL query to execute. You can use n8n expressions and $1, $2, $3, etc to refer to the 'Query Parameters' set in options below.","typeOptions":{"editor":"sqlEditor","sqlDialect":"postgres"},"hint":"Prefer using query parameters over n8n expressions to avoid SQL injection attacks","displayOptions":{"show":{"resource":["database"],"operation":["executeQuery"]}}},{"displayName":"\n\t\tTo use query parameters in your SQL query, reference them as $1, $2, $3, etc in the corresponding order. <a href=\"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/#use-query-parameters\">More info</a>.\n\t\t","name":"notice","type":"notice","default":"","displayOptions":{"show":{"resource":["database"],"operation":["executeQuery"]}}},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"options":[{"displayName":"Cascade","name":"cascade","type":"boolean","default":false,"description":"Whether to drop all objects that depend on the table, such as views and sequences","displayOptions":{"show":{"/operation":["deleteTable"]},"hide":{"/deleteCommand":["delete"]}}},{"displayName":"Connection Timeout","name":"connectionTimeout","type":"number","default":30,"description":"Number of seconds reserved for connecting to the database"},{"displayName":"Query Batching","name":"queryBatching","type":"options","noDataExpression":true,"options":[{"name":"Single Query","value":"single","description":"A single query for all incoming items"},{"name":"Independently","value":"independently","description":"Execute one query per incoming item of the run"},{"name":"Transaction","value":"transaction","description":"Execute all queries in a transaction, if a failure occurs, all changes are rolled back"}],"default":"single","description":"The way queries should be sent to the database"},{"displayName":"Query Parameters","name":"queryReplacement","type":"string","default":"","description":"Comma-separated list of the values you want to use as query parameters. <a href=\"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/#use-query-parameters\">More info</a>.","hint":"Comma-separated list of values: reference them in your query as $1, $2, $3…","placeholder":"e.g. value1,value2,value3","displayOptions":{"show":{"/operation":["executeQuery"]}}},{"displayName":"Output Columns","name":"outputColumns","type":"multiOptions","description":"Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsMethod":"getColumnsMultiOptions","loadOptionsDependsOn":["table.value"]},"default":[],"displayOptions":{"show":{"/operation":["select","insert","update","upsert"]}}},{"displayName":"Output Large-Format Numbers As","name":"largeNumbersOutput","type":"options","options":[{"name":"Numbers","value":"numbers"},{"name":"Text","value":"text","description":"Use this if you expect numbers longer than 16 digits (otherwise numbers may be incorrect)"}],"hint":"Applies to NUMERIC and BIGINT columns only","default":"text"},{"displayName":"Skip on Conflict","name":"skipOnConflict","type":"boolean","default":false,"description":"Whether to skip the row and do not throw error if a unique constraint or exclusion constraint is violated","displayOptions":{"show":{"/operation":["insert"]}}},{"displayName":"Replace Empty Strings with NULL","name":"replaceEmptyStrings","type":"boolean","default":false,"description":"Whether to replace empty strings with NULL in input, could be useful when data come from spreadsheet","displayOptions":{"show":{"/operation":["insert","update","upsert","executeQuery"]}}}],"displayOptions":{"show":{"resource":["database"],"operation":["executeQuery"]}}},{"displayName":"Data Mode","name":"dataMode","type":"options","options":[{"name":"Auto-Map Input Data to Columns","value":"autoMapInputData","description":"Use when node input properties names exactly match the table column names"},{"name":"Map Each Column Manually","value":"defineBelow","description":"Set the value for each destination column manually"}],"default":"autoMapInputData","description":"Whether to map node input properties and the table data automatically or manually","displayOptions":{"show":{"resource":["database"],"operation":["insert"]},"hide":{"table":[""]}}},{"displayName":"\n\t\tIn this mode, make sure incoming data fields are named the same as the columns in your table. If needed, use a 'Set' node before this node to change the field names.\n\t\t","name":"notice","type":"notice","default":"","displayOptions":{"show":{"dataMode":["autoMapInputData"],"resource":["database"],"operation":["insert"]},"hide":{"table":[""]}}},{"displayName":"Values to Send","name":"valuesToSend","placeholder":"Add Value","type":"fixedCollection","typeOptions":{"multipleValueButtonText":"Add Value","multipleValues":true},"displayOptions":{"show":{"dataMode":["defineBelow"],"resource":["database"],"operation":["insert"]},"hide":{"table":[""]}},"default":{},"options":[{"displayName":"Values","name":"values","values":[{"displayName":"Column","name":"column","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsMethod":"getColumns","loadOptionsDependsOn":["schema.value","table.value"]},"default":[]},{"displayName":"Value","name":"value","type":"string","default":""}]}]},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"options":[{"displayName":"Cascade","name":"cascade","type":"boolean","default":false,"description":"Whether to drop all objects that depend on the table, such as views and sequences","displayOptions":{"show":{"/operation":["deleteTable"]},"hide":{"/deleteCommand":["delete"]}}},{"displayName":"Connection Timeout","name":"connectionTimeout","type":"number","default":30,"description":"Number of seconds reserved for connecting to the database"},{"displayName":"Query Batching","name":"queryBatching","type":"options","noDataExpression":true,"options":[{"name":"Single Query","value":"single","description":"A single query for all incoming items"},{"name":"Independently","value":"independently","description":"Execute one query per incoming item of the run"},{"name":"Transaction","value":"transaction","description":"Execute all queries in a transaction, if a failure occurs, all changes are rolled back"}],"default":"single","description":"The way queries should be sent to the database"},{"displayName":"Query Parameters","name":"queryReplacement","type":"string","default":"","description":"Comma-separated list of the values you want to use as query parameters. <a href=\"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/#use-query-parameters\">More info</a>.","hint":"Comma-separated list of values: reference them in your query as $1, $2, $3…","placeholder":"e.g. value1,value2,value3","displayOptions":{"show":{"/operation":["executeQuery"]}}},{"displayName":"Output Columns","name":"outputColumns","type":"multiOptions","description":"Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsMethod":"getColumnsMultiOptions","loadOptionsDependsOn":["table.value"]},"default":[],"displayOptions":{"show":{"/operation":["select","insert","update","upsert"]}}},{"displayName":"Output Large-Format Numbers As","name":"largeNumbersOutput","type":"options","options":[{"name":"Numbers","value":"numbers"},{"name":"Text","value":"text","description":"Use this if you expect numbers longer than 16 digits (otherwise numbers may be incorrect)"}],"hint":"Applies to NUMERIC and BIGINT columns only","default":"text"},{"displayName":"Skip on Conflict","name":"skipOnConflict","type":"boolean","default":false,"description":"Whether to skip the row and do not throw error if a unique constraint or exclusion constraint is violated","displayOptions":{"show":{"/operation":["insert"]}}},{"displayName":"Replace Empty Strings with NULL","name":"replaceEmptyStrings","type":"boolean","default":false,"description":"Whether to replace empty strings with NULL in input, could be useful when data come from spreadsheet","displayOptions":{"show":{"/operation":["insert","update","upsert","executeQuery"]}}}],"displayOptions":{"show":{"resource":["database"],"operation":["insert"]},"hide":{"table":[""]}}},{"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":["database"],"operation":["select"]},"hide":{"table":[""]}}},{"displayName":"Limit","name":"limit","type":"number","default":50,"description":"Max number of results to return","typeOptions":{"minValue":1},"displayOptions":{"show":{"returnAll":[false],"resource":["database"],"operation":["select"]},"hide":{"table":[""]}}},{"displayName":"Select Rows","name":"where","type":"fixedCollection","typeOptions":{"multipleValues":true},"placeholder":"Add Condition","default":{},"description":"If not set, all rows will be selected","options":[{"displayName":"Values","name":"values","values":[{"displayName":"Column","name":"column","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","default":"","placeholder":"e.g. ID","typeOptions":{"loadOptionsMethod":"getColumns","loadOptionsDependsOn":["schema.value","table.value"]}},{"displayName":"Operator","name":"condition","type":"options","description":"The operator to check the column against. When using 'LIKE' operator percent sign ( %) matches zero or more characters, underscore ( _ ) matches any single character.","options":[{"name":"Equal","value":"equal"},{"name":"Not Equal","value":"!="},{"name":"Like","value":"LIKE"},{"name":"Greater Than","value":">"},{"name":"Less Than","value":"<"},{"name":"Greater Than Or Equal","value":">="},{"name":"Less Than Or Equal","value":"<="},{"name":"Is Null","value":"IS NULL"}],"default":"equal"},{"displayName":"Value","name":"value","type":"string","default":""}]}],"displayOptions":{"show":{"resource":["database"],"operation":["select"]},"hide":{"table":[""]}}},{"displayName":"Combine Conditions","name":"combineConditions","type":"options","description":"How to combine the conditions defined in \"Select Rows\": AND requires all conditions to be true, OR requires at least one condition to be true","options":[{"name":"AND","value":"AND","description":"Only rows that meet all the conditions are selected"},{"name":"OR","value":"OR","description":"Rows that meet at least one condition are selected"}],"default":"AND","displayOptions":{"show":{"resource":["database"],"operation":["select"]},"hide":{"table":[""]}}},{"displayName":"Sort","name":"sort","type":"fixedCollection","typeOptions":{"multipleValues":true},"placeholder":"Add Sort Rule","default":{},"options":[{"displayName":"Values","name":"values","values":[{"displayName":"Column","name":"column","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","default":"","typeOptions":{"loadOptionsMethod":"getColumns","loadOptionsDependsOn":["schema.value","table.value"]}},{"displayName":"Direction","name":"direction","type":"options","options":[{"name":"ASC","value":"ASC"},{"name":"DESC","value":"DESC"}],"default":"ASC"}]}],"displayOptions":{"show":{"resource":["database"],"operation":["select"]},"hide":{"table":[""]}}},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"options":[{"displayName":"Cascade","name":"cascade","type":"boolean","default":false,"description":"Whether to drop all objects that depend on the table, such as views and sequences","displayOptions":{"show":{"/operation":["deleteTable"]},"hide":{"/deleteCommand":["delete"]}}},{"displayName":"Connection Timeout","name":"connectionTimeout","type":"number","default":30,"description":"Number of seconds reserved for connecting to the database"},{"displayName":"Query Batching","name":"queryBatching","type":"options","noDataExpression":true,"options":[{"name":"Single Query","value":"single","description":"A single query for all incoming items"},{"name":"Independently","value":"independently","description":"Execute one query per incoming item of the run"},{"name":"Transaction","value":"transaction","description":"Execute all queries in a transaction, if a failure occurs, all changes are rolled back"}],"default":"single","description":"The way queries should be sent to the database"},{"displayName":"Query Parameters","name":"queryReplacement","type":"string","default":"","description":"Comma-separated list of the values you want to use as query parameters. <a href=\"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/#use-query-parameters\">More info</a>.","hint":"Comma-separated list of values: reference them in your query as $1, $2, $3…","placeholder":"e.g. value1,value2,value3","displayOptions":{"show":{"/operation":["executeQuery"]}}},{"displayName":"Output Columns","name":"outputColumns","type":"multiOptions","description":"Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsMethod":"getColumnsMultiOptions","loadOptionsDependsOn":["table.value"]},"default":[],"displayOptions":{"show":{"/operation":["select","insert","update","upsert"]}}},{"displayName":"Output Large-Format Numbers As","name":"largeNumbersOutput","type":"options","options":[{"name":"Numbers","value":"numbers"},{"name":"Text","value":"text","description":"Use this if you expect numbers longer than 16 digits (otherwise numbers may be incorrect)"}],"hint":"Applies to NUMERIC and BIGINT columns only","default":"text"},{"displayName":"Skip on Conflict","name":"skipOnConflict","type":"boolean","default":false,"description":"Whether to skip the row and do not throw error if a unique constraint or exclusion constraint is violated","displayOptions":{"show":{"/operation":["insert"]}}},{"displayName":"Replace Empty Strings with NULL","name":"replaceEmptyStrings","type":"boolean","default":false,"description":"Whether to replace empty strings with NULL in input, could be useful when data come from spreadsheet","displayOptions":{"show":{"/operation":["insert","update","upsert","executeQuery"]}}}],"displayOptions":{"show":{"resource":["database"],"operation":["select"]},"hide":{"table":[""]}}},{"displayName":"Data Mode","name":"dataMode","type":"options","options":[{"name":"Auto-Map Input Data to Columns","value":"autoMapInputData","description":"Use when node input properties names exactly match the table column names"},{"name":"Map Each Column Manually","value":"defineBelow","description":"Set the value for each destination column manually"}],"default":"autoMapInputData","description":"Whether to map node input properties and the table data automatically or manually","displayOptions":{"show":{"resource":["database"],"operation":["update"]},"hide":{"table":[""]}}},{"displayName":"\n\t\tIn this mode, make sure incoming data fields are named the same as the columns in your table. If needed, use a 'Set' node before this node to change the field names.\n\t\t","name":"notice","type":"notice","default":"","displayOptions":{"show":{"dataMode":["autoMapInputData"],"resource":["database"],"operation":["update"]},"hide":{"table":[""]}}},{"displayName":"Column to Match On","name":"columnToMatchOn","type":"options","required":true,"description":"The column to compare when finding the rows to update. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>.","typeOptions":{"loadOptionsMethod":"getColumns","loadOptionsDependsOn":["schema.value","table.value"]},"default":"","hint":"The column that identifies the row(s) to modify","displayOptions":{"show":{"resource":["database"],"operation":["update"]},"hide":{"table":[""]}}},{"displayName":"Value of Column to Match On","name":"valueToMatchOn","type":"string","default":"","description":"Rows with a value in the specified \"Column to Match On\" that corresponds to the value in this field will be updated","displayOptions":{"show":{"dataMode":["defineBelow"],"resource":["database"],"operation":["update"]},"hide":{"table":[""]}}},{"displayName":"Values to Send","name":"valuesToSend","placeholder":"Add Value","type":"fixedCollection","typeOptions":{"multipleValueButtonText":"Add Value","multipleValues":true},"displayOptions":{"show":{"dataMode":["defineBelow"],"resource":["database"],"operation":["update"]},"hide":{"table":[""]}},"default":{},"options":[{"displayName":"Values","name":"values","values":[{"displayName":"Column","name":"column","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsMethod":"getColumnsWithoutColumnToMatchOn","loadOptionsDependsOn":["schema.value","table.value"]},"default":[]},{"displayName":"Value","name":"value","type":"string","default":""}]}]},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"options":[{"displayName":"Cascade","name":"cascade","type":"boolean","default":false,"description":"Whether to drop all objects that depend on the table, such as views and sequences","displayOptions":{"show":{"/operation":["deleteTable"]},"hide":{"/deleteCommand":["delete"]}}},{"displayName":"Connection Timeout","name":"connectionTimeout","type":"number","default":30,"description":"Number of seconds reserved for connecting to the database"},{"displayName":"Query Batching","name":"queryBatching","type":"options","noDataExpression":true,"options":[{"name":"Single Query","value":"single","description":"A single query for all incoming items"},{"name":"Independently","value":"independently","description":"Execute one query per incoming item of the run"},{"name":"Transaction","value":"transaction","description":"Execute all queries in a transaction, if a failure occurs, all changes are rolled back"}],"default":"single","description":"The way queries should be sent to the database"},{"displayName":"Query Parameters","name":"queryReplacement","type":"string","default":"","description":"Comma-separated list of the values you want to use as query parameters. <a href=\"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/#use-query-parameters\">More info</a>.","hint":"Comma-separated list of values: reference them in your query as $1, $2, $3…","placeholder":"e.g. value1,value2,value3","displayOptions":{"show":{"/operation":["executeQuery"]}}},{"displayName":"Output Columns","name":"outputColumns","type":"multiOptions","description":"Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsMethod":"getColumnsMultiOptions","loadOptionsDependsOn":["table.value"]},"default":[],"displayOptions":{"show":{"/operation":["select","insert","update","upsert"]}}},{"displayName":"Output Large-Format Numbers As","name":"largeNumbersOutput","type":"options","options":[{"name":"Numbers","value":"numbers"},{"name":"Text","value":"text","description":"Use this if you expect numbers longer than 16 digits (otherwise numbers may be incorrect)"}],"hint":"Applies to NUMERIC and BIGINT columns only","default":"text"},{"displayName":"Skip on Conflict","name":"skipOnConflict","type":"boolean","default":false,"description":"Whether to skip the row and do not throw error if a unique constraint or exclusion constraint is violated","displayOptions":{"show":{"/operation":["insert"]}}},{"displayName":"Replace Empty Strings with NULL","name":"replaceEmptyStrings","type":"boolean","default":false,"description":"Whether to replace empty strings with NULL in input, could be useful when data come from spreadsheet","displayOptions":{"show":{"/operation":["insert","update","upsert","executeQuery"]}}}],"displayOptions":{"show":{"resource":["database"],"operation":["update"]},"hide":{"table":[""]}}},{"displayName":"Data Mode","name":"dataMode","type":"options","options":[{"name":"Auto-Map Input Data to Columns","value":"autoMapInputData","description":"Use when node input properties names exactly match the table column names"},{"name":"Map Each Column Manually","value":"defineBelow","description":"Set the value for each destination column manually"}],"default":"autoMapInputData","description":"Whether to map node input properties and the table data automatically or manually","displayOptions":{"show":{"resource":["database"],"operation":["upsert"]},"hide":{"table":[""]}}},{"displayName":"\n\t\tIn this mode, make sure incoming data fields are named the same as the columns in your table. If needed, use a 'Set' node before this node to change the field names.\n\t\t","name":"notice","type":"notice","default":"","displayOptions":{"show":{"dataMode":["autoMapInputData"],"resource":["database"],"operation":["upsert"]},"hide":{"table":[""]}}},{"displayName":"Column to Match On","name":"columnToMatchOn","type":"options","required":true,"description":"The column to compare when finding the rows to update. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>.","typeOptions":{"loadOptionsMethod":"getColumns","loadOptionsDependsOn":["schema.value","table.value"]},"default":"","hint":"Used to find the correct row(s) to update. Doesn't get changed. Has to be unique.","displayOptions":{"show":{"resource":["database"],"operation":["upsert"]},"hide":{"table":[""]}}},{"displayName":"Value of Column to Match On","name":"valueToMatchOn","type":"string","default":"","description":"Rows with a value in the specified \"Column to Match On\" that corresponds to the value in this field will be updated. New rows will be created for non-matching items.","displayOptions":{"show":{"dataMode":["defineBelow"],"resource":["database"],"operation":["upsert"]},"hide":{"table":[""]}}},{"displayName":"Values to Send","name":"valuesToSend","placeholder":"Add Value","type":"fixedCollection","typeOptions":{"multipleValueButtonText":"Add Value","multipleValues":true},"displayOptions":{"show":{"dataMode":["defineBelow"],"resource":["database"],"operation":["upsert"]},"hide":{"table":[""]}},"default":{},"options":[{"displayName":"Values","name":"values","values":[{"displayName":"Column","name":"column","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsMethod":"getColumnsWithoutColumnToMatchOn","loadOptionsDependsOn":["schema.value","table.value"]},"default":[]},{"displayName":"Value","name":"value","type":"string","default":""}]}]},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"options":[{"displayName":"Cascade","name":"cascade","type":"boolean","default":false,"description":"Whether to drop all objects that depend on the table, such as views and sequences","displayOptions":{"show":{"/operation":["deleteTable"]},"hide":{"/deleteCommand":["delete"]}}},{"displayName":"Connection Timeout","name":"connectionTimeout","type":"number","default":30,"description":"Number of seconds reserved for connecting to the database"},{"displayName":"Query Batching","name":"queryBatching","type":"options","noDataExpression":true,"options":[{"name":"Single Query","value":"single","description":"A single query for all incoming items"},{"name":"Independently","value":"independently","description":"Execute one query per incoming item of the run"},{"name":"Transaction","value":"transaction","description":"Execute all queries in a transaction, if a failure occurs, all changes are rolled back"}],"default":"single","description":"The way queries should be sent to the database"},{"displayName":"Query Parameters","name":"queryReplacement","type":"string","default":"","description":"Comma-separated list of the values you want to use as query parameters. <a href=\"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/#use-query-parameters\">More info</a>.","hint":"Comma-separated list of values: reference them in your query as $1, $2, $3…","placeholder":"e.g. value1,value2,value3","displayOptions":{"show":{"/operation":["executeQuery"]}}},{"displayName":"Output Columns","name":"outputColumns","type":"multiOptions","description":"Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsMethod":"getColumnsMultiOptions","loadOptionsDependsOn":["table.value"]},"default":[],"displayOptions":{"show":{"/operation":["select","insert","update","upsert"]}}},{"displayName":"Output Large-Format Numbers As","name":"largeNumbersOutput","type":"options","options":[{"name":"Numbers","value":"numbers"},{"name":"Text","value":"text","description":"Use this if you expect numbers longer than 16 digits (otherwise numbers may be incorrect)"}],"hint":"Applies to NUMERIC and BIGINT columns only","default":"text"},{"displayName":"Skip on Conflict","name":"skipOnConflict","type":"boolean","default":false,"description":"Whether to skip the row and do not throw error if a unique constraint or exclusion constraint is violated","displayOptions":{"show":{"/operation":["insert"]}}},{"displayName":"Replace Empty Strings with NULL","name":"replaceEmptyStrings","type":"boolean","default":false,"description":"Whether to replace empty strings with NULL in input, could be useful when data come from spreadsheet","displayOptions":{"show":{"/operation":["insert","update","upsert","executeQuery"]}}}],"displayOptions":{"show":{"resource":["database"],"operation":["upsert"]},"hide":{"table":[""]}}}],"iconUrl":"icons/n8n-nodes-base/dist/nodes/Postgres/postgres.svg"},
297
- {"displayName":"Postgres","name":"n8n-nodes-base.postgres","group":["input"],"defaultVersion":2.1,"description":"Get, add and update data in Postgres","version":[2,2.1],"subtitle":"={{ $parameter[\"operation\"] }}","defaults":{"name":"Postgres"},"inputs":["main"],"outputs":["main"],"credentials":[{"name":"postgres","required":true,"testedBy":"postgresConnectionTest"}],"properties":[{"displayName":"Resource","name":"resource","type":"hidden","noDataExpression":true,"options":[{"name":"Database","value":"database"}],"default":"database"},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"options":[{"name":"Delete","value":"deleteTable","description":"Delete an entire table or rows in a table","action":"Delete table or rows"},{"name":"Execute Query","value":"executeQuery","description":"Execute an SQL query","action":"Execute a SQL query"},{"name":"Insert","value":"insert","description":"Insert rows in a table","action":"Insert rows in a table"},{"name":"Insert or Update","value":"upsert","description":"Insert or update rows in a table","action":"Insert or update rows in a table"},{"name":"Select","value":"select","description":"Select rows from a table","action":"Select rows from a table"},{"name":"Update","value":"update","description":"Update rows in a table","action":"Update rows in a table"}],"displayOptions":{"show":{"resource":["database"]}},"default":"insert"},{"displayName":"Schema","name":"schema","type":"resourceLocator","default":{"mode":"list","value":"public"},"required":true,"placeholder":"e.g. public","description":"The schema that contains the table you want to work on","modes":[{"displayName":"From List","name":"list","type":"list","typeOptions":{"searchListMethod":"schemaSearch"}},{"displayName":"By Name","name":"name","type":"string"}],"displayOptions":{"hide":{"operation":["executeQuery"]}}},{"displayName":"Table","name":"table","type":"resourceLocator","default":{"mode":"list","value":""},"required":true,"description":"The table you want to work on","modes":[{"displayName":"From List","name":"list","type":"list","typeOptions":{"searchListMethod":"tableSearch"}},{"displayName":"By Name","name":"name","type":"string"}],"displayOptions":{"hide":{"operation":["executeQuery"]}}},{"displayName":"Command","name":"deleteCommand","type":"options","default":"truncate","options":[{"name":"Truncate","value":"truncate","description":"Only removes the table's data and preserves the table's structure"},{"name":"Delete","value":"delete","description":"Delete the rows that match the 'Select Rows' conditions below. If no selection is made, all rows in the table are deleted."},{"name":"Drop","value":"drop","description":"Deletes the table's data and also the table's structure permanently"}],"displayOptions":{"show":{"resource":["database"],"operation":["deleteTable"]},"hide":{"table":[""]}}},{"displayName":"Restart Sequences","name":"restartSequences","type":"boolean","default":false,"description":"Whether to reset identity (auto-increment) columns to their initial values","displayOptions":{"show":{"deleteCommand":["truncate"],"resource":["database"],"operation":["deleteTable"]},"hide":{"table":[""]}}},{"displayName":"Select Rows","name":"where","type":"fixedCollection","typeOptions":{"multipleValues":true},"placeholder":"Add Condition","default":{},"description":"If not set, all rows will be selected","options":[{"displayName":"Values","name":"values","values":[{"displayName":"Column","name":"column","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","default":"","placeholder":"e.g. ID","typeOptions":{"loadOptionsMethod":"getColumns","loadOptionsDependsOn":["schema.value","table.value"]}},{"displayName":"Operator","name":"condition","type":"options","description":"The operator to check the column against. When using 'LIKE' operator percent sign ( %) matches zero or more characters, underscore ( _ ) matches any single character.","options":[{"name":"Equal","value":"equal"},{"name":"Not Equal","value":"!="},{"name":"Like","value":"LIKE"},{"name":"Greater Than","value":">"},{"name":"Less Than","value":"<"},{"name":"Greater Than Or Equal","value":">="},{"name":"Less Than Or Equal","value":"<="},{"name":"Is Null","value":"IS NULL"}],"default":"equal"},{"displayName":"Value","name":"value","type":"string","default":""}]}],"displayOptions":{"show":{"deleteCommand":["delete"],"resource":["database"],"operation":["deleteTable"]},"hide":{"table":[""]}}},{"displayName":"Combine Conditions","name":"combineConditions","type":"options","description":"How to combine the conditions defined in \"Select Rows\": AND requires all conditions to be true, OR requires at least one condition to be true","options":[{"name":"AND","value":"AND","description":"Only rows that meet all the conditions are selected"},{"name":"OR","value":"OR","description":"Rows that meet at least one condition are selected"}],"default":"AND","displayOptions":{"show":{"deleteCommand":["delete"],"resource":["database"],"operation":["deleteTable"]},"hide":{"table":[""]}}},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"options":[{"displayName":"Cascade","name":"cascade","type":"boolean","default":false,"description":"Whether to drop all objects that depend on the table, such as views and sequences","displayOptions":{"show":{"/operation":["deleteTable"]},"hide":{"/deleteCommand":["delete"]}}},{"displayName":"Connection Timeout","name":"connectionTimeout","type":"number","default":30,"description":"Number of seconds reserved for connecting to the database"},{"displayName":"Query Batching","name":"queryBatching","type":"options","noDataExpression":true,"options":[{"name":"Single Query","value":"single","description":"A single query for all incoming items"},{"name":"Independently","value":"independently","description":"Execute one query per incoming item of the run"},{"name":"Transaction","value":"transaction","description":"Execute all queries in a transaction, if a failure occurs, all changes are rolled back"}],"default":"single","description":"The way queries should be sent to the database"},{"displayName":"Query Parameters","name":"queryReplacement","type":"string","default":"","description":"Comma-separated list of the values you want to use as query parameters. <a href=\"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/#use-query-parameters\">More info</a>.","hint":"Comma-separated list of values: reference them in your query as $1, $2, $3…","placeholder":"e.g. value1,value2,value3","displayOptions":{"show":{"/operation":["executeQuery"]}}},{"displayName":"Output Columns","name":"outputColumns","type":"multiOptions","description":"Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsMethod":"getColumnsMultiOptions","loadOptionsDependsOn":["table.value"]},"default":[],"displayOptions":{"show":{"/operation":["select","insert","update","upsert"]}}},{"displayName":"Output Large-Format Numbers As","name":"largeNumbersOutput","type":"options","options":[{"name":"Numbers","value":"numbers"},{"name":"Text","value":"text","description":"Use this if you expect numbers longer than 16 digits (otherwise numbers may be incorrect)"}],"hint":"Applies to NUMERIC and BIGINT columns only","default":"text"},{"displayName":"Skip on Conflict","name":"skipOnConflict","type":"boolean","default":false,"description":"Whether to skip the row and do not throw error if a unique constraint or exclusion constraint is violated","displayOptions":{"show":{"/operation":["insert"]}}},{"displayName":"Replace Empty Strings with NULL","name":"replaceEmptyStrings","type":"boolean","default":false,"description":"Whether to replace empty strings with NULL in input, could be useful when data come from spreadsheet","displayOptions":{"show":{"/operation":["insert","update","upsert","executeQuery"]}}}],"displayOptions":{"show":{"resource":["database"],"operation":["deleteTable"]},"hide":{"table":[""]}}},{"displayName":"Query","name":"query","type":"string","default":"","placeholder":"e.g. SELECT id, name FROM product WHERE quantity > $1 AND price <= $2","required":true,"description":"The SQL query to execute. You can use n8n expressions and $1, $2, $3, etc to refer to the 'Query Parameters' set in options below.","typeOptions":{"editor":"sqlEditor","sqlDialect":"postgres"},"hint":"Prefer using query parameters over n8n expressions to avoid SQL injection attacks","displayOptions":{"show":{"resource":["database"],"operation":["executeQuery"]}}},{"displayName":"\n\t\tTo use query parameters in your SQL query, reference them as $1, $2, $3, etc in the corresponding order. <a href=\"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/#use-query-parameters\">More info</a>.\n\t\t","name":"notice","type":"notice","default":"","displayOptions":{"show":{"resource":["database"],"operation":["executeQuery"]}}},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"options":[{"displayName":"Cascade","name":"cascade","type":"boolean","default":false,"description":"Whether to drop all objects that depend on the table, such as views and sequences","displayOptions":{"show":{"/operation":["deleteTable"]},"hide":{"/deleteCommand":["delete"]}}},{"displayName":"Connection Timeout","name":"connectionTimeout","type":"number","default":30,"description":"Number of seconds reserved for connecting to the database"},{"displayName":"Query Batching","name":"queryBatching","type":"options","noDataExpression":true,"options":[{"name":"Single Query","value":"single","description":"A single query for all incoming items"},{"name":"Independently","value":"independently","description":"Execute one query per incoming item of the run"},{"name":"Transaction","value":"transaction","description":"Execute all queries in a transaction, if a failure occurs, all changes are rolled back"}],"default":"single","description":"The way queries should be sent to the database"},{"displayName":"Query Parameters","name":"queryReplacement","type":"string","default":"","description":"Comma-separated list of the values you want to use as query parameters. <a href=\"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/#use-query-parameters\">More info</a>.","hint":"Comma-separated list of values: reference them in your query as $1, $2, $3…","placeholder":"e.g. value1,value2,value3","displayOptions":{"show":{"/operation":["executeQuery"]}}},{"displayName":"Output Columns","name":"outputColumns","type":"multiOptions","description":"Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsMethod":"getColumnsMultiOptions","loadOptionsDependsOn":["table.value"]},"default":[],"displayOptions":{"show":{"/operation":["select","insert","update","upsert"]}}},{"displayName":"Output Large-Format Numbers As","name":"largeNumbersOutput","type":"options","options":[{"name":"Numbers","value":"numbers"},{"name":"Text","value":"text","description":"Use this if you expect numbers longer than 16 digits (otherwise numbers may be incorrect)"}],"hint":"Applies to NUMERIC and BIGINT columns only","default":"text"},{"displayName":"Skip on Conflict","name":"skipOnConflict","type":"boolean","default":false,"description":"Whether to skip the row and do not throw error if a unique constraint or exclusion constraint is violated","displayOptions":{"show":{"/operation":["insert"]}}},{"displayName":"Replace Empty Strings with NULL","name":"replaceEmptyStrings","type":"boolean","default":false,"description":"Whether to replace empty strings with NULL in input, could be useful when data come from spreadsheet","displayOptions":{"show":{"/operation":["insert","update","upsert","executeQuery"]}}}],"displayOptions":{"show":{"resource":["database"],"operation":["executeQuery"]}}},{"displayName":"Data Mode","name":"dataMode","type":"options","options":[{"name":"Auto-Map Input Data to Columns","value":"autoMapInputData","description":"Use when node input properties names exactly match the table column names"},{"name":"Map Each Column Manually","value":"defineBelow","description":"Set the value for each destination column manually"}],"default":"autoMapInputData","description":"Whether to map node input properties and the table data automatically or manually","displayOptions":{"show":{"resource":["database"],"operation":["insert"]},"hide":{"table":[""]}}},{"displayName":"\n\t\tIn this mode, make sure incoming data fields are named the same as the columns in your table. If needed, use a 'Set' node before this node to change the field names.\n\t\t","name":"notice","type":"notice","default":"","displayOptions":{"show":{"dataMode":["autoMapInputData"],"resource":["database"],"operation":["insert"]},"hide":{"table":[""]}}},{"displayName":"Values to Send","name":"valuesToSend","placeholder":"Add Value","type":"fixedCollection","typeOptions":{"multipleValueButtonText":"Add Value","multipleValues":true},"displayOptions":{"show":{"dataMode":["defineBelow"],"resource":["database"],"operation":["insert"]},"hide":{"table":[""]}},"default":{},"options":[{"displayName":"Values","name":"values","values":[{"displayName":"Column","name":"column","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsMethod":"getColumns","loadOptionsDependsOn":["schema.value","table.value"]},"default":[]},{"displayName":"Value","name":"value","type":"string","default":""}]}]},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"options":[{"displayName":"Cascade","name":"cascade","type":"boolean","default":false,"description":"Whether to drop all objects that depend on the table, such as views and sequences","displayOptions":{"show":{"/operation":["deleteTable"]},"hide":{"/deleteCommand":["delete"]}}},{"displayName":"Connection Timeout","name":"connectionTimeout","type":"number","default":30,"description":"Number of seconds reserved for connecting to the database"},{"displayName":"Query Batching","name":"queryBatching","type":"options","noDataExpression":true,"options":[{"name":"Single Query","value":"single","description":"A single query for all incoming items"},{"name":"Independently","value":"independently","description":"Execute one query per incoming item of the run"},{"name":"Transaction","value":"transaction","description":"Execute all queries in a transaction, if a failure occurs, all changes are rolled back"}],"default":"single","description":"The way queries should be sent to the database"},{"displayName":"Query Parameters","name":"queryReplacement","type":"string","default":"","description":"Comma-separated list of the values you want to use as query parameters. <a href=\"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/#use-query-parameters\">More info</a>.","hint":"Comma-separated list of values: reference them in your query as $1, $2, $3…","placeholder":"e.g. value1,value2,value3","displayOptions":{"show":{"/operation":["executeQuery"]}}},{"displayName":"Output Columns","name":"outputColumns","type":"multiOptions","description":"Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsMethod":"getColumnsMultiOptions","loadOptionsDependsOn":["table.value"]},"default":[],"displayOptions":{"show":{"/operation":["select","insert","update","upsert"]}}},{"displayName":"Output Large-Format Numbers As","name":"largeNumbersOutput","type":"options","options":[{"name":"Numbers","value":"numbers"},{"name":"Text","value":"text","description":"Use this if you expect numbers longer than 16 digits (otherwise numbers may be incorrect)"}],"hint":"Applies to NUMERIC and BIGINT columns only","default":"text"},{"displayName":"Skip on Conflict","name":"skipOnConflict","type":"boolean","default":false,"description":"Whether to skip the row and do not throw error if a unique constraint or exclusion constraint is violated","displayOptions":{"show":{"/operation":["insert"]}}},{"displayName":"Replace Empty Strings with NULL","name":"replaceEmptyStrings","type":"boolean","default":false,"description":"Whether to replace empty strings with NULL in input, could be useful when data come from spreadsheet","displayOptions":{"show":{"/operation":["insert","update","upsert","executeQuery"]}}}],"displayOptions":{"show":{"resource":["database"],"operation":["insert"]},"hide":{"table":[""]}}},{"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":["database"],"operation":["select"]},"hide":{"table":[""]}}},{"displayName":"Limit","name":"limit","type":"number","default":50,"description":"Max number of results to return","typeOptions":{"minValue":1},"displayOptions":{"show":{"returnAll":[false],"resource":["database"],"operation":["select"]},"hide":{"table":[""]}}},{"displayName":"Select Rows","name":"where","type":"fixedCollection","typeOptions":{"multipleValues":true},"placeholder":"Add Condition","default":{},"description":"If not set, all rows will be selected","options":[{"displayName":"Values","name":"values","values":[{"displayName":"Column","name":"column","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","default":"","placeholder":"e.g. ID","typeOptions":{"loadOptionsMethod":"getColumns","loadOptionsDependsOn":["schema.value","table.value"]}},{"displayName":"Operator","name":"condition","type":"options","description":"The operator to check the column against. When using 'LIKE' operator percent sign ( %) matches zero or more characters, underscore ( _ ) matches any single character.","options":[{"name":"Equal","value":"equal"},{"name":"Not Equal","value":"!="},{"name":"Like","value":"LIKE"},{"name":"Greater Than","value":">"},{"name":"Less Than","value":"<"},{"name":"Greater Than Or Equal","value":">="},{"name":"Less Than Or Equal","value":"<="},{"name":"Is Null","value":"IS NULL"}],"default":"equal"},{"displayName":"Value","name":"value","type":"string","default":""}]}],"displayOptions":{"show":{"resource":["database"],"operation":["select"]},"hide":{"table":[""]}}},{"displayName":"Combine Conditions","name":"combineConditions","type":"options","description":"How to combine the conditions defined in \"Select Rows\": AND requires all conditions to be true, OR requires at least one condition to be true","options":[{"name":"AND","value":"AND","description":"Only rows that meet all the conditions are selected"},{"name":"OR","value":"OR","description":"Rows that meet at least one condition are selected"}],"default":"AND","displayOptions":{"show":{"resource":["database"],"operation":["select"]},"hide":{"table":[""]}}},{"displayName":"Sort","name":"sort","type":"fixedCollection","typeOptions":{"multipleValues":true},"placeholder":"Add Sort Rule","default":{},"options":[{"displayName":"Values","name":"values","values":[{"displayName":"Column","name":"column","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","default":"","typeOptions":{"loadOptionsMethod":"getColumns","loadOptionsDependsOn":["schema.value","table.value"]}},{"displayName":"Direction","name":"direction","type":"options","options":[{"name":"ASC","value":"ASC"},{"name":"DESC","value":"DESC"}],"default":"ASC"}]}],"displayOptions":{"show":{"resource":["database"],"operation":["select"]},"hide":{"table":[""]}}},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"options":[{"displayName":"Cascade","name":"cascade","type":"boolean","default":false,"description":"Whether to drop all objects that depend on the table, such as views and sequences","displayOptions":{"show":{"/operation":["deleteTable"]},"hide":{"/deleteCommand":["delete"]}}},{"displayName":"Connection Timeout","name":"connectionTimeout","type":"number","default":30,"description":"Number of seconds reserved for connecting to the database"},{"displayName":"Query Batching","name":"queryBatching","type":"options","noDataExpression":true,"options":[{"name":"Single Query","value":"single","description":"A single query for all incoming items"},{"name":"Independently","value":"independently","description":"Execute one query per incoming item of the run"},{"name":"Transaction","value":"transaction","description":"Execute all queries in a transaction, if a failure occurs, all changes are rolled back"}],"default":"single","description":"The way queries should be sent to the database"},{"displayName":"Query Parameters","name":"queryReplacement","type":"string","default":"","description":"Comma-separated list of the values you want to use as query parameters. <a href=\"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/#use-query-parameters\">More info</a>.","hint":"Comma-separated list of values: reference them in your query as $1, $2, $3…","placeholder":"e.g. value1,value2,value3","displayOptions":{"show":{"/operation":["executeQuery"]}}},{"displayName":"Output Columns","name":"outputColumns","type":"multiOptions","description":"Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsMethod":"getColumnsMultiOptions","loadOptionsDependsOn":["table.value"]},"default":[],"displayOptions":{"show":{"/operation":["select","insert","update","upsert"]}}},{"displayName":"Output Large-Format Numbers As","name":"largeNumbersOutput","type":"options","options":[{"name":"Numbers","value":"numbers"},{"name":"Text","value":"text","description":"Use this if you expect numbers longer than 16 digits (otherwise numbers may be incorrect)"}],"hint":"Applies to NUMERIC and BIGINT columns only","default":"text"},{"displayName":"Skip on Conflict","name":"skipOnConflict","type":"boolean","default":false,"description":"Whether to skip the row and do not throw error if a unique constraint or exclusion constraint is violated","displayOptions":{"show":{"/operation":["insert"]}}},{"displayName":"Replace Empty Strings with NULL","name":"replaceEmptyStrings","type":"boolean","default":false,"description":"Whether to replace empty strings with NULL in input, could be useful when data come from spreadsheet","displayOptions":{"show":{"/operation":["insert","update","upsert","executeQuery"]}}}],"displayOptions":{"show":{"resource":["database"],"operation":["select"]},"hide":{"table":[""]}}},{"displayName":"Data Mode","name":"dataMode","type":"options","options":[{"name":"Auto-Map Input Data to Columns","value":"autoMapInputData","description":"Use when node input properties names exactly match the table column names"},{"name":"Map Each Column Manually","value":"defineBelow","description":"Set the value for each destination column manually"}],"default":"autoMapInputData","description":"Whether to map node input properties and the table data automatically or manually","displayOptions":{"show":{"resource":["database"],"operation":["update"]},"hide":{"table":[""]}}},{"displayName":"\n\t\tIn this mode, make sure incoming data fields are named the same as the columns in your table. If needed, use a 'Set' node before this node to change the field names.\n\t\t","name":"notice","type":"notice","default":"","displayOptions":{"show":{"dataMode":["autoMapInputData"],"resource":["database"],"operation":["update"]},"hide":{"table":[""]}}},{"displayName":"Column to Match On","name":"columnToMatchOn","type":"options","required":true,"description":"The column to compare when finding the rows to update. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>.","typeOptions":{"loadOptionsMethod":"getColumns","loadOptionsDependsOn":["schema.value","table.value"]},"default":"","hint":"The column that identifies the row(s) to modify","displayOptions":{"show":{"resource":["database"],"operation":["update"]},"hide":{"table":[""]}}},{"displayName":"Value of Column to Match On","name":"valueToMatchOn","type":"string","default":"","description":"Rows with a value in the specified \"Column to Match On\" that corresponds to the value in this field will be updated","displayOptions":{"show":{"dataMode":["defineBelow"],"resource":["database"],"operation":["update"]},"hide":{"table":[""]}}},{"displayName":"Values to Send","name":"valuesToSend","placeholder":"Add Value","type":"fixedCollection","typeOptions":{"multipleValueButtonText":"Add Value","multipleValues":true},"displayOptions":{"show":{"dataMode":["defineBelow"],"resource":["database"],"operation":["update"]},"hide":{"table":[""]}},"default":{},"options":[{"displayName":"Values","name":"values","values":[{"displayName":"Column","name":"column","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsMethod":"getColumnsWithoutColumnToMatchOn","loadOptionsDependsOn":["schema.value","table.value"]},"default":[]},{"displayName":"Value","name":"value","type":"string","default":""}]}]},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"options":[{"displayName":"Cascade","name":"cascade","type":"boolean","default":false,"description":"Whether to drop all objects that depend on the table, such as views and sequences","displayOptions":{"show":{"/operation":["deleteTable"]},"hide":{"/deleteCommand":["delete"]}}},{"displayName":"Connection Timeout","name":"connectionTimeout","type":"number","default":30,"description":"Number of seconds reserved for connecting to the database"},{"displayName":"Query Batching","name":"queryBatching","type":"options","noDataExpression":true,"options":[{"name":"Single Query","value":"single","description":"A single query for all incoming items"},{"name":"Independently","value":"independently","description":"Execute one query per incoming item of the run"},{"name":"Transaction","value":"transaction","description":"Execute all queries in a transaction, if a failure occurs, all changes are rolled back"}],"default":"single","description":"The way queries should be sent to the database"},{"displayName":"Query Parameters","name":"queryReplacement","type":"string","default":"","description":"Comma-separated list of the values you want to use as query parameters. <a href=\"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/#use-query-parameters\">More info</a>.","hint":"Comma-separated list of values: reference them in your query as $1, $2, $3…","placeholder":"e.g. value1,value2,value3","displayOptions":{"show":{"/operation":["executeQuery"]}}},{"displayName":"Output Columns","name":"outputColumns","type":"multiOptions","description":"Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsMethod":"getColumnsMultiOptions","loadOptionsDependsOn":["table.value"]},"default":[],"displayOptions":{"show":{"/operation":["select","insert","update","upsert"]}}},{"displayName":"Output Large-Format Numbers As","name":"largeNumbersOutput","type":"options","options":[{"name":"Numbers","value":"numbers"},{"name":"Text","value":"text","description":"Use this if you expect numbers longer than 16 digits (otherwise numbers may be incorrect)"}],"hint":"Applies to NUMERIC and BIGINT columns only","default":"text"},{"displayName":"Skip on Conflict","name":"skipOnConflict","type":"boolean","default":false,"description":"Whether to skip the row and do not throw error if a unique constraint or exclusion constraint is violated","displayOptions":{"show":{"/operation":["insert"]}}},{"displayName":"Replace Empty Strings with NULL","name":"replaceEmptyStrings","type":"boolean","default":false,"description":"Whether to replace empty strings with NULL in input, could be useful when data come from spreadsheet","displayOptions":{"show":{"/operation":["insert","update","upsert","executeQuery"]}}}],"displayOptions":{"show":{"resource":["database"],"operation":["update"]},"hide":{"table":[""]}}},{"displayName":"Data Mode","name":"dataMode","type":"options","options":[{"name":"Auto-Map Input Data to Columns","value":"autoMapInputData","description":"Use when node input properties names exactly match the table column names"},{"name":"Map Each Column Manually","value":"defineBelow","description":"Set the value for each destination column manually"}],"default":"autoMapInputData","description":"Whether to map node input properties and the table data automatically or manually","displayOptions":{"show":{"resource":["database"],"operation":["upsert"]},"hide":{"table":[""]}}},{"displayName":"\n\t\tIn this mode, make sure incoming data fields are named the same as the columns in your table. If needed, use a 'Set' node before this node to change the field names.\n\t\t","name":"notice","type":"notice","default":"","displayOptions":{"show":{"dataMode":["autoMapInputData"],"resource":["database"],"operation":["upsert"]},"hide":{"table":[""]}}},{"displayName":"Column to Match On","name":"columnToMatchOn","type":"options","required":true,"description":"The column to compare when finding the rows to update. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>.","typeOptions":{"loadOptionsMethod":"getColumns","loadOptionsDependsOn":["schema.value","table.value"]},"default":"","hint":"Used to find the correct row(s) to update. Doesn't get changed. Has to be unique.","displayOptions":{"show":{"resource":["database"],"operation":["upsert"]},"hide":{"table":[""]}}},{"displayName":"Value of Column to Match On","name":"valueToMatchOn","type":"string","default":"","description":"Rows with a value in the specified \"Column to Match On\" that corresponds to the value in this field will be updated. New rows will be created for non-matching items.","displayOptions":{"show":{"dataMode":["defineBelow"],"resource":["database"],"operation":["upsert"]},"hide":{"table":[""]}}},{"displayName":"Values to Send","name":"valuesToSend","placeholder":"Add Value","type":"fixedCollection","typeOptions":{"multipleValueButtonText":"Add Value","multipleValues":true},"displayOptions":{"show":{"dataMode":["defineBelow"],"resource":["database"],"operation":["upsert"]},"hide":{"table":[""]}},"default":{},"options":[{"displayName":"Values","name":"values","values":[{"displayName":"Column","name":"column","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsMethod":"getColumnsWithoutColumnToMatchOn","loadOptionsDependsOn":["schema.value","table.value"]},"default":[]},{"displayName":"Value","name":"value","type":"string","default":""}]}]},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"options":[{"displayName":"Cascade","name":"cascade","type":"boolean","default":false,"description":"Whether to drop all objects that depend on the table, such as views and sequences","displayOptions":{"show":{"/operation":["deleteTable"]},"hide":{"/deleteCommand":["delete"]}}},{"displayName":"Connection Timeout","name":"connectionTimeout","type":"number","default":30,"description":"Number of seconds reserved for connecting to the database"},{"displayName":"Query Batching","name":"queryBatching","type":"options","noDataExpression":true,"options":[{"name":"Single Query","value":"single","description":"A single query for all incoming items"},{"name":"Independently","value":"independently","description":"Execute one query per incoming item of the run"},{"name":"Transaction","value":"transaction","description":"Execute all queries in a transaction, if a failure occurs, all changes are rolled back"}],"default":"single","description":"The way queries should be sent to the database"},{"displayName":"Query Parameters","name":"queryReplacement","type":"string","default":"","description":"Comma-separated list of the values you want to use as query parameters. <a href=\"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/#use-query-parameters\">More info</a>.","hint":"Comma-separated list of values: reference them in your query as $1, $2, $3…","placeholder":"e.g. value1,value2,value3","displayOptions":{"show":{"/operation":["executeQuery"]}}},{"displayName":"Output Columns","name":"outputColumns","type":"multiOptions","description":"Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsMethod":"getColumnsMultiOptions","loadOptionsDependsOn":["table.value"]},"default":[],"displayOptions":{"show":{"/operation":["select","insert","update","upsert"]}}},{"displayName":"Output Large-Format Numbers As","name":"largeNumbersOutput","type":"options","options":[{"name":"Numbers","value":"numbers"},{"name":"Text","value":"text","description":"Use this if you expect numbers longer than 16 digits (otherwise numbers may be incorrect)"}],"hint":"Applies to NUMERIC and BIGINT columns only","default":"text"},{"displayName":"Skip on Conflict","name":"skipOnConflict","type":"boolean","default":false,"description":"Whether to skip the row and do not throw error if a unique constraint or exclusion constraint is violated","displayOptions":{"show":{"/operation":["insert"]}}},{"displayName":"Replace Empty Strings with NULL","name":"replaceEmptyStrings","type":"boolean","default":false,"description":"Whether to replace empty strings with NULL in input, could be useful when data come from spreadsheet","displayOptions":{"show":{"/operation":["insert","update","upsert","executeQuery"]}}}],"displayOptions":{"show":{"resource":["database"],"operation":["upsert"]},"hide":{"table":[""]}}}],"iconUrl":"icons/n8n-nodes-base/dist/nodes/Postgres/postgres.svg","codex":{"categories":["Development","Data & Storage"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/credentials/postgres"}]}}},
296
+ {"displayName":"Postgres","name":"n8n-nodes-base.postgres","group":["input"],"defaultVersion":2.2,"description":"Get, add and update data in Postgres","version":1,"defaults":{"name":"Postgres"},"inputs":["main"],"outputs":["main"],"credentials":[{"name":"postgres","required":true,"testedBy":"postgresConnectionTest"}],"properties":[{"displayName":"<strong>New node version available:</strong> get the latest version with added features from the nodes panel.","name":"oldVersionNotice","type":"notice","default":""},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"options":[{"name":"Execute Query","value":"executeQuery","description":"Execute an SQL query","action":"Execute a SQL query"},{"name":"Insert","value":"insert","description":"Insert rows in database","action":"Insert rows in database"},{"name":"Update","value":"update","description":"Update rows in database","action":"Update rows in database"}],"default":"insert"},{"displayName":"Query","name":"query","type":"string","typeOptions":{"editor":"sqlEditor","sqlDialect":"postgres"},"displayOptions":{"show":{"operation":["executeQuery"]}},"default":"","placeholder":"SELECT id, name FROM product WHERE quantity > $1 AND price <= $2","required":true,"description":"The SQL query to execute. You can use n8n expressions or $1 and $2 in conjunction with query parameters."},{"displayName":"Schema","name":"schema","type":"string","displayOptions":{"show":{"operation":["insert"]}},"default":"public","required":true,"description":"Name of the schema the table belongs to"},{"displayName":"Table","name":"table","type":"string","displayOptions":{"show":{"operation":["insert"]}},"default":"","required":true,"description":"Name of the table in which to insert data to"},{"displayName":"Columns","name":"columns","type":"string","displayOptions":{"show":{"operation":["insert"]}},"default":"","placeholder":"id:int,name:text,description","description":"Comma-separated list of the properties which should used as columns for the new rows. You can use type casting with colons (:) like id:int."},{"displayName":"Schema","name":"schema","type":"string","displayOptions":{"show":{"operation":["update"]}},"default":"public","description":"Name of the schema the table belongs to"},{"displayName":"Table","name":"table","type":"string","displayOptions":{"show":{"operation":["update"]}},"default":"","required":true,"description":"Name of the table in which to update data in"},{"displayName":"Update Key","name":"updateKey","type":"string","displayOptions":{"show":{"operation":["update"]}},"default":"id","required":true,"description":"Comma-separated list of the properties which decides which rows in the database should be updated. Normally that would be \"id\"."},{"displayName":"Columns","name":"columns","type":"string","displayOptions":{"show":{"operation":["update"]}},"default":"","placeholder":"name:text,description","description":"Comma-separated list of the properties which should used as columns for rows to update. You can use type casting with colons (:) like id:int."},{"displayName":"Return Fields","name":"returnFields","type":"string","requiresDataPath":"multiple","displayOptions":{"show":{"operation":["insert","update"]}},"default":"*","description":"Comma-separated list of the fields that the operation will return"},{"displayName":"Additional Fields","name":"additionalFields","type":"collection","placeholder":"Add Field","default":{},"options":[{"displayName":"Mode","name":"mode","type":"options","options":[{"name":"Independently","value":"independently","description":"Execute each query independently"},{"name":"Multiple Queries","value":"multiple","description":"<b>Default</b>. Sends multiple queries at once to database."},{"name":"Transaction","value":"transaction","description":"Executes all queries in a single transaction"}],"default":"multiple","description":"The way queries should be sent to database. Can be used in conjunction with <b>Continue on Fail</b>. See <a href=\"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/\">the docs</a> for more examples"},{"displayName":"Output Large-Format Numbers As","name":"largeNumbersOutput","type":"options","options":[{"name":"Numbers","value":"numbers"},{"name":"Text","value":"text","description":"Use this if you expect numbers longer than 16 digits (otherwise numbers may be incorrect)"}],"hint":"Applies to NUMERIC and BIGINT columns only","default":"text"},{"displayName":"Query Parameters","name":"queryParams","type":"string","displayOptions":{"show":{"/operation":["executeQuery"]}},"default":"","placeholder":"quantity,price","description":"Comma-separated list of properties which should be used as query parameters"}]}],"iconUrl":"icons/n8n-nodes-base/dist/nodes/Postgres/postgres.svg"},
297
+ {"displayName":"Postgres","name":"n8n-nodes-base.postgres","group":["input"],"defaultVersion":2.2,"description":"Get, add and update data in Postgres","version":[2,2.1,2.2],"subtitle":"={{ $parameter[\"operation\"] }}","defaults":{"name":"Postgres"},"inputs":["main"],"outputs":["main"],"credentials":[{"name":"postgres","required":true,"testedBy":"postgresConnectionTest"}],"properties":[{"displayName":"Resource","name":"resource","type":"hidden","noDataExpression":true,"options":[{"name":"Database","value":"database"}],"default":"database"},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"options":[{"name":"Delete","value":"deleteTable","description":"Delete an entire table or rows in a table","action":"Delete table or rows"},{"name":"Execute Query","value":"executeQuery","description":"Execute an SQL query","action":"Execute a SQL query"},{"name":"Insert","value":"insert","description":"Insert rows in a table","action":"Insert rows in a table"},{"name":"Insert or Update","value":"upsert","description":"Insert or update rows in a table","action":"Insert or update rows in a table"},{"name":"Select","value":"select","description":"Select rows from a table","action":"Select rows from a table"},{"name":"Update","value":"update","description":"Update rows in a table","action":"Update rows in a table"}],"displayOptions":{"show":{"resource":["database"]}},"default":"insert"},{"displayName":"Schema","name":"schema","type":"resourceLocator","default":{"mode":"list","value":"public"},"required":true,"placeholder":"e.g. public","description":"The schema that contains the table you want to work on","modes":[{"displayName":"From List","name":"list","type":"list","typeOptions":{"searchListMethod":"schemaSearch"}},{"displayName":"By Name","name":"name","type":"string"}],"displayOptions":{"hide":{"operation":["executeQuery"]}}},{"displayName":"Table","name":"table","type":"resourceLocator","default":{"mode":"list","value":""},"required":true,"description":"The table you want to work on","modes":[{"displayName":"From List","name":"list","type":"list","typeOptions":{"searchListMethod":"tableSearch"}},{"displayName":"By Name","name":"name","type":"string"}],"displayOptions":{"hide":{"operation":["executeQuery"]}}},{"displayName":"Command","name":"deleteCommand","type":"options","default":"truncate","options":[{"name":"Truncate","value":"truncate","description":"Only removes the table's data and preserves the table's structure"},{"name":"Delete","value":"delete","description":"Delete the rows that match the 'Select Rows' conditions below. If no selection is made, all rows in the table are deleted."},{"name":"Drop","value":"drop","description":"Deletes the table's data and also the table's structure permanently"}],"displayOptions":{"show":{"resource":["database"],"operation":["deleteTable"]},"hide":{"table":[""]}}},{"displayName":"Restart Sequences","name":"restartSequences","type":"boolean","default":false,"description":"Whether to reset identity (auto-increment) columns to their initial values","displayOptions":{"show":{"deleteCommand":["truncate"],"resource":["database"],"operation":["deleteTable"]},"hide":{"table":[""]}}},{"displayName":"Select Rows","name":"where","type":"fixedCollection","typeOptions":{"multipleValues":true},"placeholder":"Add Condition","default":{},"description":"If not set, all rows will be selected","options":[{"displayName":"Values","name":"values","values":[{"displayName":"Column","name":"column","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","default":"","placeholder":"e.g. ID","typeOptions":{"loadOptionsMethod":"getColumns","loadOptionsDependsOn":["schema.value","table.value"]}},{"displayName":"Operator","name":"condition","type":"options","description":"The operator to check the column against. When using 'LIKE' operator percent sign ( %) matches zero or more characters, underscore ( _ ) matches any single character.","options":[{"name":"Equal","value":"equal"},{"name":"Not Equal","value":"!="},{"name":"Like","value":"LIKE"},{"name":"Greater Than","value":">"},{"name":"Less Than","value":"<"},{"name":"Greater Than Or Equal","value":">="},{"name":"Less Than Or Equal","value":"<="},{"name":"Is Null","value":"IS NULL"}],"default":"equal"},{"displayName":"Value","name":"value","type":"string","default":""}]}],"displayOptions":{"show":{"deleteCommand":["delete"],"resource":["database"],"operation":["deleteTable"]},"hide":{"table":[""]}}},{"displayName":"Combine Conditions","name":"combineConditions","type":"options","description":"How to combine the conditions defined in \"Select Rows\": AND requires all conditions to be true, OR requires at least one condition to be true","options":[{"name":"AND","value":"AND","description":"Only rows that meet all the conditions are selected"},{"name":"OR","value":"OR","description":"Rows that meet at least one condition are selected"}],"default":"AND","displayOptions":{"show":{"deleteCommand":["delete"],"resource":["database"],"operation":["deleteTable"]},"hide":{"table":[""]}}},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"options":[{"displayName":"Cascade","name":"cascade","type":"boolean","default":false,"description":"Whether to drop all objects that depend on the table, such as views and sequences","displayOptions":{"show":{"/operation":["deleteTable"]},"hide":{"/deleteCommand":["delete"]}}},{"displayName":"Connection Timeout","name":"connectionTimeout","type":"number","default":30,"description":"Number of seconds reserved for connecting to the database"},{"displayName":"Query Batching","name":"queryBatching","type":"options","noDataExpression":true,"options":[{"name":"Single Query","value":"single","description":"A single query for all incoming items"},{"name":"Independently","value":"independently","description":"Execute one query per incoming item of the run"},{"name":"Transaction","value":"transaction","description":"Execute all queries in a transaction, if a failure occurs, all changes are rolled back"}],"default":"single","description":"The way queries should be sent to the database"},{"displayName":"Query Parameters","name":"queryReplacement","type":"string","default":"","description":"Comma-separated list of the values you want to use as query parameters. <a href=\"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/#use-query-parameters\">More info</a>.","hint":"Comma-separated list of values: reference them in your query as $1, $2, $3…","placeholder":"e.g. value1,value2,value3","displayOptions":{"show":{"/operation":["executeQuery"]}}},{"displayName":"Output Columns","name":"outputColumns","type":"multiOptions","description":"Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsMethod":"getColumnsMultiOptions","loadOptionsDependsOn":["table.value"]},"default":[],"displayOptions":{"show":{"/operation":["select","insert","update","upsert"]}}},{"displayName":"Output Large-Format Numbers As","name":"largeNumbersOutput","type":"options","options":[{"name":"Numbers","value":"numbers"},{"name":"Text","value":"text","description":"Use this if you expect numbers longer than 16 digits (otherwise numbers may be incorrect)"}],"hint":"Applies to NUMERIC and BIGINT columns only","default":"text"},{"displayName":"Skip on Conflict","name":"skipOnConflict","type":"boolean","default":false,"description":"Whether to skip the row and do not throw error if a unique constraint or exclusion constraint is violated","displayOptions":{"show":{"/operation":["insert"]}}},{"displayName":"Replace Empty Strings with NULL","name":"replaceEmptyStrings","type":"boolean","default":false,"description":"Whether to replace empty strings with NULL in input, could be useful when data come from spreadsheet","displayOptions":{"show":{"/operation":["insert","update","upsert","executeQuery"]}}}],"displayOptions":{"show":{"resource":["database"],"operation":["deleteTable"]},"hide":{"table":[""]}}},{"displayName":"Query","name":"query","type":"string","default":"","placeholder":"e.g. SELECT id, name FROM product WHERE quantity > $1 AND price <= $2","required":true,"description":"The SQL query to execute. You can use n8n expressions and $1, $2, $3, etc to refer to the 'Query Parameters' set in options below.","typeOptions":{"editor":"sqlEditor","sqlDialect":"postgres"},"hint":"Prefer using query parameters over n8n expressions to avoid SQL injection attacks","displayOptions":{"show":{"resource":["database"],"operation":["executeQuery"]}}},{"displayName":"\n\t\tTo use query parameters in your SQL query, reference them as $1, $2, $3, etc in the corresponding order. <a href=\"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/#use-query-parameters\">More info</a>.\n\t\t","name":"notice","type":"notice","default":"","displayOptions":{"show":{"resource":["database"],"operation":["executeQuery"]}}},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"options":[{"displayName":"Cascade","name":"cascade","type":"boolean","default":false,"description":"Whether to drop all objects that depend on the table, such as views and sequences","displayOptions":{"show":{"/operation":["deleteTable"]},"hide":{"/deleteCommand":["delete"]}}},{"displayName":"Connection Timeout","name":"connectionTimeout","type":"number","default":30,"description":"Number of seconds reserved for connecting to the database"},{"displayName":"Query Batching","name":"queryBatching","type":"options","noDataExpression":true,"options":[{"name":"Single Query","value":"single","description":"A single query for all incoming items"},{"name":"Independently","value":"independently","description":"Execute one query per incoming item of the run"},{"name":"Transaction","value":"transaction","description":"Execute all queries in a transaction, if a failure occurs, all changes are rolled back"}],"default":"single","description":"The way queries should be sent to the database"},{"displayName":"Query Parameters","name":"queryReplacement","type":"string","default":"","description":"Comma-separated list of the values you want to use as query parameters. <a href=\"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/#use-query-parameters\">More info</a>.","hint":"Comma-separated list of values: reference them in your query as $1, $2, $3…","placeholder":"e.g. value1,value2,value3","displayOptions":{"show":{"/operation":["executeQuery"]}}},{"displayName":"Output Columns","name":"outputColumns","type":"multiOptions","description":"Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsMethod":"getColumnsMultiOptions","loadOptionsDependsOn":["table.value"]},"default":[],"displayOptions":{"show":{"/operation":["select","insert","update","upsert"]}}},{"displayName":"Output Large-Format Numbers As","name":"largeNumbersOutput","type":"options","options":[{"name":"Numbers","value":"numbers"},{"name":"Text","value":"text","description":"Use this if you expect numbers longer than 16 digits (otherwise numbers may be incorrect)"}],"hint":"Applies to NUMERIC and BIGINT columns only","default":"text"},{"displayName":"Skip on Conflict","name":"skipOnConflict","type":"boolean","default":false,"description":"Whether to skip the row and do not throw error if a unique constraint or exclusion constraint is violated","displayOptions":{"show":{"/operation":["insert"]}}},{"displayName":"Replace Empty Strings with NULL","name":"replaceEmptyStrings","type":"boolean","default":false,"description":"Whether to replace empty strings with NULL in input, could be useful when data come from spreadsheet","displayOptions":{"show":{"/operation":["insert","update","upsert","executeQuery"]}}}],"displayOptions":{"show":{"resource":["database"],"operation":["executeQuery"]}}},{"displayName":"Data Mode","name":"dataMode","type":"options","options":[{"name":"Auto-Map Input Data to Columns","value":"autoMapInputData","description":"Use when node input properties names exactly match the table column names"},{"name":"Map Each Column Manually","value":"defineBelow","description":"Set the value for each destination column manually"}],"default":"autoMapInputData","description":"Whether to map node input properties and the table data automatically or manually","displayOptions":{"show":{"@version":[2,2.1],"resource":["database"],"operation":["insert"]},"hide":{"table":[""]}}},{"displayName":"\n\t\tIn this mode, make sure incoming data fields are named the same as the columns in your table. If needed, use a 'Set' node before this node to change the field names.\n\t\t","name":"notice","type":"notice","default":"","displayOptions":{"show":{"dataMode":["autoMapInputData"],"@version":[2,2.1],"resource":["database"],"operation":["insert"]},"hide":{"table":[""]}}},{"displayName":"Values to Send","name":"valuesToSend","placeholder":"Add Value","type":"fixedCollection","typeOptions":{"multipleValueButtonText":"Add Value","multipleValues":true},"displayOptions":{"show":{"dataMode":["defineBelow"],"@version":[2,2.1],"resource":["database"],"operation":["insert"]},"hide":{"table":[""]}},"default":{},"options":[{"displayName":"Values","name":"values","values":[{"displayName":"Column","name":"column","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsMethod":"getColumns","loadOptionsDependsOn":["schema.value","table.value"]},"default":[]},{"displayName":"Value","name":"value","type":"string","default":""}]}]},{"displayName":"Columns","name":"columns","type":"resourceMapper","default":{"mappingMode":"defineBelow","value":null},"noDataExpression":true,"required":true,"typeOptions":{"loadOptionsDependsOn":["table.value","operation"],"resourceMapper":{"resourceMapperMethod":"getMappingColumns","mode":"add","fieldWords":{"singular":"column","plural":"columns"},"addAllFields":true,"multiKeyMatch":true}},"displayOptions":{"show":{"@version":[2.2],"resource":["database"],"operation":["insert"]},"hide":{"table":[""]}}},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"options":[{"displayName":"Cascade","name":"cascade","type":"boolean","default":false,"description":"Whether to drop all objects that depend on the table, such as views and sequences","displayOptions":{"show":{"/operation":["deleteTable"]},"hide":{"/deleteCommand":["delete"]}}},{"displayName":"Connection Timeout","name":"connectionTimeout","type":"number","default":30,"description":"Number of seconds reserved for connecting to the database"},{"displayName":"Query Batching","name":"queryBatching","type":"options","noDataExpression":true,"options":[{"name":"Single Query","value":"single","description":"A single query for all incoming items"},{"name":"Independently","value":"independently","description":"Execute one query per incoming item of the run"},{"name":"Transaction","value":"transaction","description":"Execute all queries in a transaction, if a failure occurs, all changes are rolled back"}],"default":"single","description":"The way queries should be sent to the database"},{"displayName":"Query Parameters","name":"queryReplacement","type":"string","default":"","description":"Comma-separated list of the values you want to use as query parameters. <a href=\"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/#use-query-parameters\">More info</a>.","hint":"Comma-separated list of values: reference them in your query as $1, $2, $3…","placeholder":"e.g. value1,value2,value3","displayOptions":{"show":{"/operation":["executeQuery"]}}},{"displayName":"Output Columns","name":"outputColumns","type":"multiOptions","description":"Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsMethod":"getColumnsMultiOptions","loadOptionsDependsOn":["table.value"]},"default":[],"displayOptions":{"show":{"/operation":["select","insert","update","upsert"]}}},{"displayName":"Output Large-Format Numbers As","name":"largeNumbersOutput","type":"options","options":[{"name":"Numbers","value":"numbers"},{"name":"Text","value":"text","description":"Use this if you expect numbers longer than 16 digits (otherwise numbers may be incorrect)"}],"hint":"Applies to NUMERIC and BIGINT columns only","default":"text"},{"displayName":"Skip on Conflict","name":"skipOnConflict","type":"boolean","default":false,"description":"Whether to skip the row and do not throw error if a unique constraint or exclusion constraint is violated","displayOptions":{"show":{"/operation":["insert"]}}},{"displayName":"Replace Empty Strings with NULL","name":"replaceEmptyStrings","type":"boolean","default":false,"description":"Whether to replace empty strings with NULL in input, could be useful when data come from spreadsheet","displayOptions":{"show":{"/operation":["insert","update","upsert","executeQuery"]}}}],"displayOptions":{"show":{"resource":["database"],"operation":["insert"]},"hide":{"table":[""]}}},{"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":["database"],"operation":["select"]},"hide":{"table":[""]}}},{"displayName":"Limit","name":"limit","type":"number","default":50,"description":"Max number of results to return","typeOptions":{"minValue":1},"displayOptions":{"show":{"returnAll":[false],"resource":["database"],"operation":["select"]},"hide":{"table":[""]}}},{"displayName":"Select Rows","name":"where","type":"fixedCollection","typeOptions":{"multipleValues":true},"placeholder":"Add Condition","default":{},"description":"If not set, all rows will be selected","options":[{"displayName":"Values","name":"values","values":[{"displayName":"Column","name":"column","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","default":"","placeholder":"e.g. ID","typeOptions":{"loadOptionsMethod":"getColumns","loadOptionsDependsOn":["schema.value","table.value"]}},{"displayName":"Operator","name":"condition","type":"options","description":"The operator to check the column against. When using 'LIKE' operator percent sign ( %) matches zero or more characters, underscore ( _ ) matches any single character.","options":[{"name":"Equal","value":"equal"},{"name":"Not Equal","value":"!="},{"name":"Like","value":"LIKE"},{"name":"Greater Than","value":">"},{"name":"Less Than","value":"<"},{"name":"Greater Than Or Equal","value":">="},{"name":"Less Than Or Equal","value":"<="},{"name":"Is Null","value":"IS NULL"}],"default":"equal"},{"displayName":"Value","name":"value","type":"string","default":""}]}],"displayOptions":{"show":{"resource":["database"],"operation":["select"]},"hide":{"table":[""]}}},{"displayName":"Combine Conditions","name":"combineConditions","type":"options","description":"How to combine the conditions defined in \"Select Rows\": AND requires all conditions to be true, OR requires at least one condition to be true","options":[{"name":"AND","value":"AND","description":"Only rows that meet all the conditions are selected"},{"name":"OR","value":"OR","description":"Rows that meet at least one condition are selected"}],"default":"AND","displayOptions":{"show":{"resource":["database"],"operation":["select"]},"hide":{"table":[""]}}},{"displayName":"Sort","name":"sort","type":"fixedCollection","typeOptions":{"multipleValues":true},"placeholder":"Add Sort Rule","default":{},"options":[{"displayName":"Values","name":"values","values":[{"displayName":"Column","name":"column","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","default":"","typeOptions":{"loadOptionsMethod":"getColumns","loadOptionsDependsOn":["schema.value","table.value"]}},{"displayName":"Direction","name":"direction","type":"options","options":[{"name":"ASC","value":"ASC"},{"name":"DESC","value":"DESC"}],"default":"ASC"}]}],"displayOptions":{"show":{"resource":["database"],"operation":["select"]},"hide":{"table":[""]}}},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"options":[{"displayName":"Cascade","name":"cascade","type":"boolean","default":false,"description":"Whether to drop all objects that depend on the table, such as views and sequences","displayOptions":{"show":{"/operation":["deleteTable"]},"hide":{"/deleteCommand":["delete"]}}},{"displayName":"Connection Timeout","name":"connectionTimeout","type":"number","default":30,"description":"Number of seconds reserved for connecting to the database"},{"displayName":"Query Batching","name":"queryBatching","type":"options","noDataExpression":true,"options":[{"name":"Single Query","value":"single","description":"A single query for all incoming items"},{"name":"Independently","value":"independently","description":"Execute one query per incoming item of the run"},{"name":"Transaction","value":"transaction","description":"Execute all queries in a transaction, if a failure occurs, all changes are rolled back"}],"default":"single","description":"The way queries should be sent to the database"},{"displayName":"Query Parameters","name":"queryReplacement","type":"string","default":"","description":"Comma-separated list of the values you want to use as query parameters. <a href=\"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/#use-query-parameters\">More info</a>.","hint":"Comma-separated list of values: reference them in your query as $1, $2, $3…","placeholder":"e.g. value1,value2,value3","displayOptions":{"show":{"/operation":["executeQuery"]}}},{"displayName":"Output Columns","name":"outputColumns","type":"multiOptions","description":"Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsMethod":"getColumnsMultiOptions","loadOptionsDependsOn":["table.value"]},"default":[],"displayOptions":{"show":{"/operation":["select","insert","update","upsert"]}}},{"displayName":"Output Large-Format Numbers As","name":"largeNumbersOutput","type":"options","options":[{"name":"Numbers","value":"numbers"},{"name":"Text","value":"text","description":"Use this if you expect numbers longer than 16 digits (otherwise numbers may be incorrect)"}],"hint":"Applies to NUMERIC and BIGINT columns only","default":"text"},{"displayName":"Skip on Conflict","name":"skipOnConflict","type":"boolean","default":false,"description":"Whether to skip the row and do not throw error if a unique constraint or exclusion constraint is violated","displayOptions":{"show":{"/operation":["insert"]}}},{"displayName":"Replace Empty Strings with NULL","name":"replaceEmptyStrings","type":"boolean","default":false,"description":"Whether to replace empty strings with NULL in input, could be useful when data come from spreadsheet","displayOptions":{"show":{"/operation":["insert","update","upsert","executeQuery"]}}}],"displayOptions":{"show":{"resource":["database"],"operation":["select"]},"hide":{"table":[""]}}},{"displayName":"Data Mode","name":"dataMode","type":"options","options":[{"name":"Auto-Map Input Data to Columns","value":"autoMapInputData","description":"Use when node input properties names exactly match the table column names"},{"name":"Map Each Column Manually","value":"defineBelow","description":"Set the value for each destination column manually"}],"default":"autoMapInputData","description":"Whether to map node input properties and the table data automatically or manually","displayOptions":{"show":{"@version":[2,2.1],"resource":["database"],"operation":["update"]},"hide":{"table":[""]}}},{"displayName":"\n\t\tIn this mode, make sure incoming data fields are named the same as the columns in your table. If needed, use a 'Set' node before this node to change the field names.\n\t\t","name":"notice","type":"notice","default":"","displayOptions":{"show":{"dataMode":["autoMapInputData"],"@version":[2],"resource":["database"],"operation":["update"]},"hide":{"table":[""]}}},{"displayName":"Column to Match On","name":"columnToMatchOn","type":"options","required":true,"description":"The column to compare when finding the rows to update. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>.","typeOptions":{"loadOptionsMethod":"getColumns","loadOptionsDependsOn":["schema.value","table.value"]},"default":"","hint":"The column that identifies the row(s) to modify","displayOptions":{"show":{"@version":[2,2.1],"resource":["database"],"operation":["update"]},"hide":{"table":[""]}}},{"displayName":"Value of Column to Match On","name":"valueToMatchOn","type":"string","default":"","description":"Rows with a value in the specified \"Column to Match On\" that corresponds to the value in this field will be updated","displayOptions":{"show":{"dataMode":["defineBelow"],"@version":[2,2.1],"resource":["database"],"operation":["update"]},"hide":{"table":[""]}}},{"displayName":"Values to Send","name":"valuesToSend","placeholder":"Add Value","type":"fixedCollection","typeOptions":{"multipleValueButtonText":"Add Value","multipleValues":true},"displayOptions":{"show":{"dataMode":["defineBelow"],"@version":[2,2.1],"resource":["database"],"operation":["update"]},"hide":{"table":[""]}},"default":{},"options":[{"displayName":"Values","name":"values","values":[{"displayName":"Column","name":"column","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsMethod":"getColumnsWithoutColumnToMatchOn","loadOptionsDependsOn":["schema.value","table.value"]},"default":[]},{"displayName":"Value","name":"value","type":"string","default":""}]}]},{"displayName":"Columns","name":"columns","type":"resourceMapper","noDataExpression":true,"default":{"mappingMode":"defineBelow","value":null},"required":true,"typeOptions":{"loadOptionsDependsOn":["table.value","operation"],"resourceMapper":{"resourceMapperMethod":"getMappingColumns","mode":"update","fieldWords":{"singular":"column","plural":"columns"},"addAllFields":true,"multiKeyMatch":true}},"displayOptions":{"show":{"@version":[2.2],"resource":["database"],"operation":["update"]},"hide":{"table":[""]}}},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"options":[{"displayName":"Cascade","name":"cascade","type":"boolean","default":false,"description":"Whether to drop all objects that depend on the table, such as views and sequences","displayOptions":{"show":{"/operation":["deleteTable"]},"hide":{"/deleteCommand":["delete"]}}},{"displayName":"Connection Timeout","name":"connectionTimeout","type":"number","default":30,"description":"Number of seconds reserved for connecting to the database"},{"displayName":"Query Batching","name":"queryBatching","type":"options","noDataExpression":true,"options":[{"name":"Single Query","value":"single","description":"A single query for all incoming items"},{"name":"Independently","value":"independently","description":"Execute one query per incoming item of the run"},{"name":"Transaction","value":"transaction","description":"Execute all queries in a transaction, if a failure occurs, all changes are rolled back"}],"default":"single","description":"The way queries should be sent to the database"},{"displayName":"Query Parameters","name":"queryReplacement","type":"string","default":"","description":"Comma-separated list of the values you want to use as query parameters. <a href=\"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/#use-query-parameters\">More info</a>.","hint":"Comma-separated list of values: reference them in your query as $1, $2, $3…","placeholder":"e.g. value1,value2,value3","displayOptions":{"show":{"/operation":["executeQuery"]}}},{"displayName":"Output Columns","name":"outputColumns","type":"multiOptions","description":"Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsMethod":"getColumnsMultiOptions","loadOptionsDependsOn":["table.value"]},"default":[],"displayOptions":{"show":{"/operation":["select","insert","update","upsert"]}}},{"displayName":"Output Large-Format Numbers As","name":"largeNumbersOutput","type":"options","options":[{"name":"Numbers","value":"numbers"},{"name":"Text","value":"text","description":"Use this if you expect numbers longer than 16 digits (otherwise numbers may be incorrect)"}],"hint":"Applies to NUMERIC and BIGINT columns only","default":"text"},{"displayName":"Skip on Conflict","name":"skipOnConflict","type":"boolean","default":false,"description":"Whether to skip the row and do not throw error if a unique constraint or exclusion constraint is violated","displayOptions":{"show":{"/operation":["insert"]}}},{"displayName":"Replace Empty Strings with NULL","name":"replaceEmptyStrings","type":"boolean","default":false,"description":"Whether to replace empty strings with NULL in input, could be useful when data come from spreadsheet","displayOptions":{"show":{"/operation":["insert","update","upsert","executeQuery"]}}}],"displayOptions":{"show":{"resource":["database"],"operation":["update"]},"hide":{"table":[""]}}},{"displayName":"Data Mode","name":"dataMode","type":"options","options":[{"name":"Auto-Map Input Data to Columns","value":"autoMapInputData","description":"Use when node input properties names exactly match the table column names"},{"name":"Map Each Column Manually","value":"defineBelow","description":"Set the value for each destination column manually"}],"default":"autoMapInputData","description":"Whether to map node input properties and the table data automatically or manually","displayOptions":{"show":{"@version":[2,2.1],"resource":["database"],"operation":["upsert"]},"hide":{"table":[""]}}},{"displayName":"\n\t\tIn this mode, make sure incoming data fields are named the same as the columns in your table. If needed, use a 'Set' node before this node to change the field names.\n\t\t","name":"notice","type":"notice","default":"","displayOptions":{"show":{"dataMode":["autoMapInputData"],"@version":[2,2.1],"resource":["database"],"operation":["upsert"]},"hide":{"table":[""]}}},{"displayName":"Unique Column","name":"columnToMatchOn","type":"options","required":true,"description":"The column to compare when finding the rows to update. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>.","typeOptions":{"loadOptionsMethod":"getColumns","loadOptionsDependsOn":["schema.value","table.value"]},"default":"","hint":"Used to find the correct row(s) to update. Doesn't get changed. Has to be unique.","displayOptions":{"show":{"@version":[2,2.1],"resource":["database"],"operation":["upsert"]},"hide":{"table":[""]}}},{"displayName":"Value of Unique Column","name":"valueToMatchOn","type":"string","default":"","description":"Rows with a value in the specified \"Column to Match On\" that corresponds to the value in this field will be updated. New rows will be created for non-matching items.","displayOptions":{"show":{"dataMode":["defineBelow"],"@version":[2,2.1],"resource":["database"],"operation":["upsert"]},"hide":{"table":[""]}}},{"displayName":"Values to Send","name":"valuesToSend","placeholder":"Add Value","type":"fixedCollection","typeOptions":{"multipleValueButtonText":"Add Value","multipleValues":true},"displayOptions":{"show":{"dataMode":["defineBelow"],"@version":[2,2.1],"resource":["database"],"operation":["upsert"]},"hide":{"table":[""]}},"default":{},"options":[{"displayName":"Values","name":"values","values":[{"displayName":"Column","name":"column","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsMethod":"getColumnsWithoutColumnToMatchOn","loadOptionsDependsOn":["schema.value","table.value"]},"default":[]},{"displayName":"Value","name":"value","type":"string","default":""}]}]},{"displayName":"Columns","name":"columns","type":"resourceMapper","noDataExpression":true,"default":{"mappingMode":"defineBelow","value":null},"required":true,"typeOptions":{"loadOptionsDependsOn":["table.value","operation"],"resourceMapper":{"resourceMapperMethod":"getMappingColumns","mode":"upsert","fieldWords":{"singular":"column","plural":"columns"},"addAllFields":true,"multiKeyMatch":true}},"displayOptions":{"show":{"@version":[2.2],"resource":["database"],"operation":["upsert"]},"hide":{"table":[""]}}},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"options":[{"displayName":"Cascade","name":"cascade","type":"boolean","default":false,"description":"Whether to drop all objects that depend on the table, such as views and sequences","displayOptions":{"show":{"/operation":["deleteTable"]},"hide":{"/deleteCommand":["delete"]}}},{"displayName":"Connection Timeout","name":"connectionTimeout","type":"number","default":30,"description":"Number of seconds reserved for connecting to the database"},{"displayName":"Query Batching","name":"queryBatching","type":"options","noDataExpression":true,"options":[{"name":"Single Query","value":"single","description":"A single query for all incoming items"},{"name":"Independently","value":"independently","description":"Execute one query per incoming item of the run"},{"name":"Transaction","value":"transaction","description":"Execute all queries in a transaction, if a failure occurs, all changes are rolled back"}],"default":"single","description":"The way queries should be sent to the database"},{"displayName":"Query Parameters","name":"queryReplacement","type":"string","default":"","description":"Comma-separated list of the values you want to use as query parameters. <a href=\"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/#use-query-parameters\">More info</a>.","hint":"Comma-separated list of values: reference them in your query as $1, $2, $3…","placeholder":"e.g. value1,value2,value3","displayOptions":{"show":{"/operation":["executeQuery"]}}},{"displayName":"Output Columns","name":"outputColumns","type":"multiOptions","description":"Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsMethod":"getColumnsMultiOptions","loadOptionsDependsOn":["table.value"]},"default":[],"displayOptions":{"show":{"/operation":["select","insert","update","upsert"]}}},{"displayName":"Output Large-Format Numbers As","name":"largeNumbersOutput","type":"options","options":[{"name":"Numbers","value":"numbers"},{"name":"Text","value":"text","description":"Use this if you expect numbers longer than 16 digits (otherwise numbers may be incorrect)"}],"hint":"Applies to NUMERIC and BIGINT columns only","default":"text"},{"displayName":"Skip on Conflict","name":"skipOnConflict","type":"boolean","default":false,"description":"Whether to skip the row and do not throw error if a unique constraint or exclusion constraint is violated","displayOptions":{"show":{"/operation":["insert"]}}},{"displayName":"Replace Empty Strings with NULL","name":"replaceEmptyStrings","type":"boolean","default":false,"description":"Whether to replace empty strings with NULL in input, could be useful when data come from spreadsheet","displayOptions":{"show":{"/operation":["insert","update","upsert","executeQuery"]}}}],"displayOptions":{"show":{"resource":["database"],"operation":["upsert"]},"hide":{"table":[""]}}}],"iconUrl":"icons/n8n-nodes-base/dist/nodes/Postgres/postgres.svg"},
298
+ {"displayName":"Postgres","name":"n8n-nodes-base.postgres","group":["input"],"defaultVersion":2.2,"description":"Get, add and update data in Postgres","version":[2,2.1,2.2],"subtitle":"={{ $parameter[\"operation\"] }}","defaults":{"name":"Postgres"},"inputs":["main"],"outputs":["main"],"credentials":[{"name":"postgres","required":true,"testedBy":"postgresConnectionTest"}],"properties":[{"displayName":"Resource","name":"resource","type":"hidden","noDataExpression":true,"options":[{"name":"Database","value":"database"}],"default":"database"},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"options":[{"name":"Delete","value":"deleteTable","description":"Delete an entire table or rows in a table","action":"Delete table or rows"},{"name":"Execute Query","value":"executeQuery","description":"Execute an SQL query","action":"Execute a SQL query"},{"name":"Insert","value":"insert","description":"Insert rows in a table","action":"Insert rows in a table"},{"name":"Insert or Update","value":"upsert","description":"Insert or update rows in a table","action":"Insert or update rows in a table"},{"name":"Select","value":"select","description":"Select rows from a table","action":"Select rows from a table"},{"name":"Update","value":"update","description":"Update rows in a table","action":"Update rows in a table"}],"displayOptions":{"show":{"resource":["database"]}},"default":"insert"},{"displayName":"Schema","name":"schema","type":"resourceLocator","default":{"mode":"list","value":"public"},"required":true,"placeholder":"e.g. public","description":"The schema that contains the table you want to work on","modes":[{"displayName":"From List","name":"list","type":"list","typeOptions":{"searchListMethod":"schemaSearch"}},{"displayName":"By Name","name":"name","type":"string"}],"displayOptions":{"hide":{"operation":["executeQuery"]}}},{"displayName":"Table","name":"table","type":"resourceLocator","default":{"mode":"list","value":""},"required":true,"description":"The table you want to work on","modes":[{"displayName":"From List","name":"list","type":"list","typeOptions":{"searchListMethod":"tableSearch"}},{"displayName":"By Name","name":"name","type":"string"}],"displayOptions":{"hide":{"operation":["executeQuery"]}}},{"displayName":"Command","name":"deleteCommand","type":"options","default":"truncate","options":[{"name":"Truncate","value":"truncate","description":"Only removes the table's data and preserves the table's structure"},{"name":"Delete","value":"delete","description":"Delete the rows that match the 'Select Rows' conditions below. If no selection is made, all rows in the table are deleted."},{"name":"Drop","value":"drop","description":"Deletes the table's data and also the table's structure permanently"}],"displayOptions":{"show":{"resource":["database"],"operation":["deleteTable"]},"hide":{"table":[""]}}},{"displayName":"Restart Sequences","name":"restartSequences","type":"boolean","default":false,"description":"Whether to reset identity (auto-increment) columns to their initial values","displayOptions":{"show":{"deleteCommand":["truncate"],"resource":["database"],"operation":["deleteTable"]},"hide":{"table":[""]}}},{"displayName":"Select Rows","name":"where","type":"fixedCollection","typeOptions":{"multipleValues":true},"placeholder":"Add Condition","default":{},"description":"If not set, all rows will be selected","options":[{"displayName":"Values","name":"values","values":[{"displayName":"Column","name":"column","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","default":"","placeholder":"e.g. ID","typeOptions":{"loadOptionsMethod":"getColumns","loadOptionsDependsOn":["schema.value","table.value"]}},{"displayName":"Operator","name":"condition","type":"options","description":"The operator to check the column against. When using 'LIKE' operator percent sign ( %) matches zero or more characters, underscore ( _ ) matches any single character.","options":[{"name":"Equal","value":"equal"},{"name":"Not Equal","value":"!="},{"name":"Like","value":"LIKE"},{"name":"Greater Than","value":">"},{"name":"Less Than","value":"<"},{"name":"Greater Than Or Equal","value":">="},{"name":"Less Than Or Equal","value":"<="},{"name":"Is Null","value":"IS NULL"}],"default":"equal"},{"displayName":"Value","name":"value","type":"string","default":""}]}],"displayOptions":{"show":{"deleteCommand":["delete"],"resource":["database"],"operation":["deleteTable"]},"hide":{"table":[""]}}},{"displayName":"Combine Conditions","name":"combineConditions","type":"options","description":"How to combine the conditions defined in \"Select Rows\": AND requires all conditions to be true, OR requires at least one condition to be true","options":[{"name":"AND","value":"AND","description":"Only rows that meet all the conditions are selected"},{"name":"OR","value":"OR","description":"Rows that meet at least one condition are selected"}],"default":"AND","displayOptions":{"show":{"deleteCommand":["delete"],"resource":["database"],"operation":["deleteTable"]},"hide":{"table":[""]}}},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"options":[{"displayName":"Cascade","name":"cascade","type":"boolean","default":false,"description":"Whether to drop all objects that depend on the table, such as views and sequences","displayOptions":{"show":{"/operation":["deleteTable"]},"hide":{"/deleteCommand":["delete"]}}},{"displayName":"Connection Timeout","name":"connectionTimeout","type":"number","default":30,"description":"Number of seconds reserved for connecting to the database"},{"displayName":"Query Batching","name":"queryBatching","type":"options","noDataExpression":true,"options":[{"name":"Single Query","value":"single","description":"A single query for all incoming items"},{"name":"Independently","value":"independently","description":"Execute one query per incoming item of the run"},{"name":"Transaction","value":"transaction","description":"Execute all queries in a transaction, if a failure occurs, all changes are rolled back"}],"default":"single","description":"The way queries should be sent to the database"},{"displayName":"Query Parameters","name":"queryReplacement","type":"string","default":"","description":"Comma-separated list of the values you want to use as query parameters. <a href=\"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/#use-query-parameters\">More info</a>.","hint":"Comma-separated list of values: reference them in your query as $1, $2, $3…","placeholder":"e.g. value1,value2,value3","displayOptions":{"show":{"/operation":["executeQuery"]}}},{"displayName":"Output Columns","name":"outputColumns","type":"multiOptions","description":"Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsMethod":"getColumnsMultiOptions","loadOptionsDependsOn":["table.value"]},"default":[],"displayOptions":{"show":{"/operation":["select","insert","update","upsert"]}}},{"displayName":"Output Large-Format Numbers As","name":"largeNumbersOutput","type":"options","options":[{"name":"Numbers","value":"numbers"},{"name":"Text","value":"text","description":"Use this if you expect numbers longer than 16 digits (otherwise numbers may be incorrect)"}],"hint":"Applies to NUMERIC and BIGINT columns only","default":"text"},{"displayName":"Skip on Conflict","name":"skipOnConflict","type":"boolean","default":false,"description":"Whether to skip the row and do not throw error if a unique constraint or exclusion constraint is violated","displayOptions":{"show":{"/operation":["insert"]}}},{"displayName":"Replace Empty Strings with NULL","name":"replaceEmptyStrings","type":"boolean","default":false,"description":"Whether to replace empty strings with NULL in input, could be useful when data come from spreadsheet","displayOptions":{"show":{"/operation":["insert","update","upsert","executeQuery"]}}}],"displayOptions":{"show":{"resource":["database"],"operation":["deleteTable"]},"hide":{"table":[""]}}},{"displayName":"Query","name":"query","type":"string","default":"","placeholder":"e.g. SELECT id, name FROM product WHERE quantity > $1 AND price <= $2","required":true,"description":"The SQL query to execute. You can use n8n expressions and $1, $2, $3, etc to refer to the 'Query Parameters' set in options below.","typeOptions":{"editor":"sqlEditor","sqlDialect":"postgres"},"hint":"Prefer using query parameters over n8n expressions to avoid SQL injection attacks","displayOptions":{"show":{"resource":["database"],"operation":["executeQuery"]}}},{"displayName":"\n\t\tTo use query parameters in your SQL query, reference them as $1, $2, $3, etc in the corresponding order. <a href=\"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/#use-query-parameters\">More info</a>.\n\t\t","name":"notice","type":"notice","default":"","displayOptions":{"show":{"resource":["database"],"operation":["executeQuery"]}}},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"options":[{"displayName":"Cascade","name":"cascade","type":"boolean","default":false,"description":"Whether to drop all objects that depend on the table, such as views and sequences","displayOptions":{"show":{"/operation":["deleteTable"]},"hide":{"/deleteCommand":["delete"]}}},{"displayName":"Connection Timeout","name":"connectionTimeout","type":"number","default":30,"description":"Number of seconds reserved for connecting to the database"},{"displayName":"Query Batching","name":"queryBatching","type":"options","noDataExpression":true,"options":[{"name":"Single Query","value":"single","description":"A single query for all incoming items"},{"name":"Independently","value":"independently","description":"Execute one query per incoming item of the run"},{"name":"Transaction","value":"transaction","description":"Execute all queries in a transaction, if a failure occurs, all changes are rolled back"}],"default":"single","description":"The way queries should be sent to the database"},{"displayName":"Query Parameters","name":"queryReplacement","type":"string","default":"","description":"Comma-separated list of the values you want to use as query parameters. <a href=\"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/#use-query-parameters\">More info</a>.","hint":"Comma-separated list of values: reference them in your query as $1, $2, $3…","placeholder":"e.g. value1,value2,value3","displayOptions":{"show":{"/operation":["executeQuery"]}}},{"displayName":"Output Columns","name":"outputColumns","type":"multiOptions","description":"Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsMethod":"getColumnsMultiOptions","loadOptionsDependsOn":["table.value"]},"default":[],"displayOptions":{"show":{"/operation":["select","insert","update","upsert"]}}},{"displayName":"Output Large-Format Numbers As","name":"largeNumbersOutput","type":"options","options":[{"name":"Numbers","value":"numbers"},{"name":"Text","value":"text","description":"Use this if you expect numbers longer than 16 digits (otherwise numbers may be incorrect)"}],"hint":"Applies to NUMERIC and BIGINT columns only","default":"text"},{"displayName":"Skip on Conflict","name":"skipOnConflict","type":"boolean","default":false,"description":"Whether to skip the row and do not throw error if a unique constraint or exclusion constraint is violated","displayOptions":{"show":{"/operation":["insert"]}}},{"displayName":"Replace Empty Strings with NULL","name":"replaceEmptyStrings","type":"boolean","default":false,"description":"Whether to replace empty strings with NULL in input, could be useful when data come from spreadsheet","displayOptions":{"show":{"/operation":["insert","update","upsert","executeQuery"]}}}],"displayOptions":{"show":{"resource":["database"],"operation":["executeQuery"]}}},{"displayName":"Data Mode","name":"dataMode","type":"options","options":[{"name":"Auto-Map Input Data to Columns","value":"autoMapInputData","description":"Use when node input properties names exactly match the table column names"},{"name":"Map Each Column Manually","value":"defineBelow","description":"Set the value for each destination column manually"}],"default":"autoMapInputData","description":"Whether to map node input properties and the table data automatically or manually","displayOptions":{"show":{"@version":[2,2.1],"resource":["database"],"operation":["insert"]},"hide":{"table":[""]}}},{"displayName":"\n\t\tIn this mode, make sure incoming data fields are named the same as the columns in your table. If needed, use a 'Set' node before this node to change the field names.\n\t\t","name":"notice","type":"notice","default":"","displayOptions":{"show":{"dataMode":["autoMapInputData"],"@version":[2,2.1],"resource":["database"],"operation":["insert"]},"hide":{"table":[""]}}},{"displayName":"Values to Send","name":"valuesToSend","placeholder":"Add Value","type":"fixedCollection","typeOptions":{"multipleValueButtonText":"Add Value","multipleValues":true},"displayOptions":{"show":{"dataMode":["defineBelow"],"@version":[2,2.1],"resource":["database"],"operation":["insert"]},"hide":{"table":[""]}},"default":{},"options":[{"displayName":"Values","name":"values","values":[{"displayName":"Column","name":"column","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsMethod":"getColumns","loadOptionsDependsOn":["schema.value","table.value"]},"default":[]},{"displayName":"Value","name":"value","type":"string","default":""}]}]},{"displayName":"Columns","name":"columns","type":"resourceMapper","default":{"mappingMode":"defineBelow","value":null},"noDataExpression":true,"required":true,"typeOptions":{"loadOptionsDependsOn":["table.value","operation"],"resourceMapper":{"resourceMapperMethod":"getMappingColumns","mode":"add","fieldWords":{"singular":"column","plural":"columns"},"addAllFields":true,"multiKeyMatch":true}},"displayOptions":{"show":{"@version":[2.2],"resource":["database"],"operation":["insert"]},"hide":{"table":[""]}}},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"options":[{"displayName":"Cascade","name":"cascade","type":"boolean","default":false,"description":"Whether to drop all objects that depend on the table, such as views and sequences","displayOptions":{"show":{"/operation":["deleteTable"]},"hide":{"/deleteCommand":["delete"]}}},{"displayName":"Connection Timeout","name":"connectionTimeout","type":"number","default":30,"description":"Number of seconds reserved for connecting to the database"},{"displayName":"Query Batching","name":"queryBatching","type":"options","noDataExpression":true,"options":[{"name":"Single Query","value":"single","description":"A single query for all incoming items"},{"name":"Independently","value":"independently","description":"Execute one query per incoming item of the run"},{"name":"Transaction","value":"transaction","description":"Execute all queries in a transaction, if a failure occurs, all changes are rolled back"}],"default":"single","description":"The way queries should be sent to the database"},{"displayName":"Query Parameters","name":"queryReplacement","type":"string","default":"","description":"Comma-separated list of the values you want to use as query parameters. <a href=\"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/#use-query-parameters\">More info</a>.","hint":"Comma-separated list of values: reference them in your query as $1, $2, $3…","placeholder":"e.g. value1,value2,value3","displayOptions":{"show":{"/operation":["executeQuery"]}}},{"displayName":"Output Columns","name":"outputColumns","type":"multiOptions","description":"Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsMethod":"getColumnsMultiOptions","loadOptionsDependsOn":["table.value"]},"default":[],"displayOptions":{"show":{"/operation":["select","insert","update","upsert"]}}},{"displayName":"Output Large-Format Numbers As","name":"largeNumbersOutput","type":"options","options":[{"name":"Numbers","value":"numbers"},{"name":"Text","value":"text","description":"Use this if you expect numbers longer than 16 digits (otherwise numbers may be incorrect)"}],"hint":"Applies to NUMERIC and BIGINT columns only","default":"text"},{"displayName":"Skip on Conflict","name":"skipOnConflict","type":"boolean","default":false,"description":"Whether to skip the row and do not throw error if a unique constraint or exclusion constraint is violated","displayOptions":{"show":{"/operation":["insert"]}}},{"displayName":"Replace Empty Strings with NULL","name":"replaceEmptyStrings","type":"boolean","default":false,"description":"Whether to replace empty strings with NULL in input, could be useful when data come from spreadsheet","displayOptions":{"show":{"/operation":["insert","update","upsert","executeQuery"]}}}],"displayOptions":{"show":{"resource":["database"],"operation":["insert"]},"hide":{"table":[""]}}},{"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":["database"],"operation":["select"]},"hide":{"table":[""]}}},{"displayName":"Limit","name":"limit","type":"number","default":50,"description":"Max number of results to return","typeOptions":{"minValue":1},"displayOptions":{"show":{"returnAll":[false],"resource":["database"],"operation":["select"]},"hide":{"table":[""]}}},{"displayName":"Select Rows","name":"where","type":"fixedCollection","typeOptions":{"multipleValues":true},"placeholder":"Add Condition","default":{},"description":"If not set, all rows will be selected","options":[{"displayName":"Values","name":"values","values":[{"displayName":"Column","name":"column","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","default":"","placeholder":"e.g. ID","typeOptions":{"loadOptionsMethod":"getColumns","loadOptionsDependsOn":["schema.value","table.value"]}},{"displayName":"Operator","name":"condition","type":"options","description":"The operator to check the column against. When using 'LIKE' operator percent sign ( %) matches zero or more characters, underscore ( _ ) matches any single character.","options":[{"name":"Equal","value":"equal"},{"name":"Not Equal","value":"!="},{"name":"Like","value":"LIKE"},{"name":"Greater Than","value":">"},{"name":"Less Than","value":"<"},{"name":"Greater Than Or Equal","value":">="},{"name":"Less Than Or Equal","value":"<="},{"name":"Is Null","value":"IS NULL"}],"default":"equal"},{"displayName":"Value","name":"value","type":"string","default":""}]}],"displayOptions":{"show":{"resource":["database"],"operation":["select"]},"hide":{"table":[""]}}},{"displayName":"Combine Conditions","name":"combineConditions","type":"options","description":"How to combine the conditions defined in \"Select Rows\": AND requires all conditions to be true, OR requires at least one condition to be true","options":[{"name":"AND","value":"AND","description":"Only rows that meet all the conditions are selected"},{"name":"OR","value":"OR","description":"Rows that meet at least one condition are selected"}],"default":"AND","displayOptions":{"show":{"resource":["database"],"operation":["select"]},"hide":{"table":[""]}}},{"displayName":"Sort","name":"sort","type":"fixedCollection","typeOptions":{"multipleValues":true},"placeholder":"Add Sort Rule","default":{},"options":[{"displayName":"Values","name":"values","values":[{"displayName":"Column","name":"column","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","default":"","typeOptions":{"loadOptionsMethod":"getColumns","loadOptionsDependsOn":["schema.value","table.value"]}},{"displayName":"Direction","name":"direction","type":"options","options":[{"name":"ASC","value":"ASC"},{"name":"DESC","value":"DESC"}],"default":"ASC"}]}],"displayOptions":{"show":{"resource":["database"],"operation":["select"]},"hide":{"table":[""]}}},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"options":[{"displayName":"Cascade","name":"cascade","type":"boolean","default":false,"description":"Whether to drop all objects that depend on the table, such as views and sequences","displayOptions":{"show":{"/operation":["deleteTable"]},"hide":{"/deleteCommand":["delete"]}}},{"displayName":"Connection Timeout","name":"connectionTimeout","type":"number","default":30,"description":"Number of seconds reserved for connecting to the database"},{"displayName":"Query Batching","name":"queryBatching","type":"options","noDataExpression":true,"options":[{"name":"Single Query","value":"single","description":"A single query for all incoming items"},{"name":"Independently","value":"independently","description":"Execute one query per incoming item of the run"},{"name":"Transaction","value":"transaction","description":"Execute all queries in a transaction, if a failure occurs, all changes are rolled back"}],"default":"single","description":"The way queries should be sent to the database"},{"displayName":"Query Parameters","name":"queryReplacement","type":"string","default":"","description":"Comma-separated list of the values you want to use as query parameters. <a href=\"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/#use-query-parameters\">More info</a>.","hint":"Comma-separated list of values: reference them in your query as $1, $2, $3…","placeholder":"e.g. value1,value2,value3","displayOptions":{"show":{"/operation":["executeQuery"]}}},{"displayName":"Output Columns","name":"outputColumns","type":"multiOptions","description":"Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsMethod":"getColumnsMultiOptions","loadOptionsDependsOn":["table.value"]},"default":[],"displayOptions":{"show":{"/operation":["select","insert","update","upsert"]}}},{"displayName":"Output Large-Format Numbers As","name":"largeNumbersOutput","type":"options","options":[{"name":"Numbers","value":"numbers"},{"name":"Text","value":"text","description":"Use this if you expect numbers longer than 16 digits (otherwise numbers may be incorrect)"}],"hint":"Applies to NUMERIC and BIGINT columns only","default":"text"},{"displayName":"Skip on Conflict","name":"skipOnConflict","type":"boolean","default":false,"description":"Whether to skip the row and do not throw error if a unique constraint or exclusion constraint is violated","displayOptions":{"show":{"/operation":["insert"]}}},{"displayName":"Replace Empty Strings with NULL","name":"replaceEmptyStrings","type":"boolean","default":false,"description":"Whether to replace empty strings with NULL in input, could be useful when data come from spreadsheet","displayOptions":{"show":{"/operation":["insert","update","upsert","executeQuery"]}}}],"displayOptions":{"show":{"resource":["database"],"operation":["select"]},"hide":{"table":[""]}}},{"displayName":"Data Mode","name":"dataMode","type":"options","options":[{"name":"Auto-Map Input Data to Columns","value":"autoMapInputData","description":"Use when node input properties names exactly match the table column names"},{"name":"Map Each Column Manually","value":"defineBelow","description":"Set the value for each destination column manually"}],"default":"autoMapInputData","description":"Whether to map node input properties and the table data automatically or manually","displayOptions":{"show":{"@version":[2,2.1],"resource":["database"],"operation":["update"]},"hide":{"table":[""]}}},{"displayName":"\n\t\tIn this mode, make sure incoming data fields are named the same as the columns in your table. If needed, use a 'Set' node before this node to change the field names.\n\t\t","name":"notice","type":"notice","default":"","displayOptions":{"show":{"dataMode":["autoMapInputData"],"@version":[2],"resource":["database"],"operation":["update"]},"hide":{"table":[""]}}},{"displayName":"Column to Match On","name":"columnToMatchOn","type":"options","required":true,"description":"The column to compare when finding the rows to update. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>.","typeOptions":{"loadOptionsMethod":"getColumns","loadOptionsDependsOn":["schema.value","table.value"]},"default":"","hint":"The column that identifies the row(s) to modify","displayOptions":{"show":{"@version":[2,2.1],"resource":["database"],"operation":["update"]},"hide":{"table":[""]}}},{"displayName":"Value of Column to Match On","name":"valueToMatchOn","type":"string","default":"","description":"Rows with a value in the specified \"Column to Match On\" that corresponds to the value in this field will be updated","displayOptions":{"show":{"dataMode":["defineBelow"],"@version":[2,2.1],"resource":["database"],"operation":["update"]},"hide":{"table":[""]}}},{"displayName":"Values to Send","name":"valuesToSend","placeholder":"Add Value","type":"fixedCollection","typeOptions":{"multipleValueButtonText":"Add Value","multipleValues":true},"displayOptions":{"show":{"dataMode":["defineBelow"],"@version":[2,2.1],"resource":["database"],"operation":["update"]},"hide":{"table":[""]}},"default":{},"options":[{"displayName":"Values","name":"values","values":[{"displayName":"Column","name":"column","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsMethod":"getColumnsWithoutColumnToMatchOn","loadOptionsDependsOn":["schema.value","table.value"]},"default":[]},{"displayName":"Value","name":"value","type":"string","default":""}]}]},{"displayName":"Columns","name":"columns","type":"resourceMapper","noDataExpression":true,"default":{"mappingMode":"defineBelow","value":null},"required":true,"typeOptions":{"loadOptionsDependsOn":["table.value","operation"],"resourceMapper":{"resourceMapperMethod":"getMappingColumns","mode":"update","fieldWords":{"singular":"column","plural":"columns"},"addAllFields":true,"multiKeyMatch":true}},"displayOptions":{"show":{"@version":[2.2],"resource":["database"],"operation":["update"]},"hide":{"table":[""]}}},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"options":[{"displayName":"Cascade","name":"cascade","type":"boolean","default":false,"description":"Whether to drop all objects that depend on the table, such as views and sequences","displayOptions":{"show":{"/operation":["deleteTable"]},"hide":{"/deleteCommand":["delete"]}}},{"displayName":"Connection Timeout","name":"connectionTimeout","type":"number","default":30,"description":"Number of seconds reserved for connecting to the database"},{"displayName":"Query Batching","name":"queryBatching","type":"options","noDataExpression":true,"options":[{"name":"Single Query","value":"single","description":"A single query for all incoming items"},{"name":"Independently","value":"independently","description":"Execute one query per incoming item of the run"},{"name":"Transaction","value":"transaction","description":"Execute all queries in a transaction, if a failure occurs, all changes are rolled back"}],"default":"single","description":"The way queries should be sent to the database"},{"displayName":"Query Parameters","name":"queryReplacement","type":"string","default":"","description":"Comma-separated list of the values you want to use as query parameters. <a href=\"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/#use-query-parameters\">More info</a>.","hint":"Comma-separated list of values: reference them in your query as $1, $2, $3…","placeholder":"e.g. value1,value2,value3","displayOptions":{"show":{"/operation":["executeQuery"]}}},{"displayName":"Output Columns","name":"outputColumns","type":"multiOptions","description":"Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsMethod":"getColumnsMultiOptions","loadOptionsDependsOn":["table.value"]},"default":[],"displayOptions":{"show":{"/operation":["select","insert","update","upsert"]}}},{"displayName":"Output Large-Format Numbers As","name":"largeNumbersOutput","type":"options","options":[{"name":"Numbers","value":"numbers"},{"name":"Text","value":"text","description":"Use this if you expect numbers longer than 16 digits (otherwise numbers may be incorrect)"}],"hint":"Applies to NUMERIC and BIGINT columns only","default":"text"},{"displayName":"Skip on Conflict","name":"skipOnConflict","type":"boolean","default":false,"description":"Whether to skip the row and do not throw error if a unique constraint or exclusion constraint is violated","displayOptions":{"show":{"/operation":["insert"]}}},{"displayName":"Replace Empty Strings with NULL","name":"replaceEmptyStrings","type":"boolean","default":false,"description":"Whether to replace empty strings with NULL in input, could be useful when data come from spreadsheet","displayOptions":{"show":{"/operation":["insert","update","upsert","executeQuery"]}}}],"displayOptions":{"show":{"resource":["database"],"operation":["update"]},"hide":{"table":[""]}}},{"displayName":"Data Mode","name":"dataMode","type":"options","options":[{"name":"Auto-Map Input Data to Columns","value":"autoMapInputData","description":"Use when node input properties names exactly match the table column names"},{"name":"Map Each Column Manually","value":"defineBelow","description":"Set the value for each destination column manually"}],"default":"autoMapInputData","description":"Whether to map node input properties and the table data automatically or manually","displayOptions":{"show":{"@version":[2,2.1],"resource":["database"],"operation":["upsert"]},"hide":{"table":[""]}}},{"displayName":"\n\t\tIn this mode, make sure incoming data fields are named the same as the columns in your table. If needed, use a 'Set' node before this node to change the field names.\n\t\t","name":"notice","type":"notice","default":"","displayOptions":{"show":{"dataMode":["autoMapInputData"],"@version":[2,2.1],"resource":["database"],"operation":["upsert"]},"hide":{"table":[""]}}},{"displayName":"Unique Column","name":"columnToMatchOn","type":"options","required":true,"description":"The column to compare when finding the rows to update. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>.","typeOptions":{"loadOptionsMethod":"getColumns","loadOptionsDependsOn":["schema.value","table.value"]},"default":"","hint":"Used to find the correct row(s) to update. Doesn't get changed. Has to be unique.","displayOptions":{"show":{"@version":[2,2.1],"resource":["database"],"operation":["upsert"]},"hide":{"table":[""]}}},{"displayName":"Value of Unique Column","name":"valueToMatchOn","type":"string","default":"","description":"Rows with a value in the specified \"Column to Match On\" that corresponds to the value in this field will be updated. New rows will be created for non-matching items.","displayOptions":{"show":{"dataMode":["defineBelow"],"@version":[2,2.1],"resource":["database"],"operation":["upsert"]},"hide":{"table":[""]}}},{"displayName":"Values to Send","name":"valuesToSend","placeholder":"Add Value","type":"fixedCollection","typeOptions":{"multipleValueButtonText":"Add Value","multipleValues":true},"displayOptions":{"show":{"dataMode":["defineBelow"],"@version":[2,2.1],"resource":["database"],"operation":["upsert"]},"hide":{"table":[""]}},"default":{},"options":[{"displayName":"Values","name":"values","values":[{"displayName":"Column","name":"column","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsMethod":"getColumnsWithoutColumnToMatchOn","loadOptionsDependsOn":["schema.value","table.value"]},"default":[]},{"displayName":"Value","name":"value","type":"string","default":""}]}]},{"displayName":"Columns","name":"columns","type":"resourceMapper","noDataExpression":true,"default":{"mappingMode":"defineBelow","value":null},"required":true,"typeOptions":{"loadOptionsDependsOn":["table.value","operation"],"resourceMapper":{"resourceMapperMethod":"getMappingColumns","mode":"upsert","fieldWords":{"singular":"column","plural":"columns"},"addAllFields":true,"multiKeyMatch":true}},"displayOptions":{"show":{"@version":[2.2],"resource":["database"],"operation":["upsert"]},"hide":{"table":[""]}}},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"options":[{"displayName":"Cascade","name":"cascade","type":"boolean","default":false,"description":"Whether to drop all objects that depend on the table, such as views and sequences","displayOptions":{"show":{"/operation":["deleteTable"]},"hide":{"/deleteCommand":["delete"]}}},{"displayName":"Connection Timeout","name":"connectionTimeout","type":"number","default":30,"description":"Number of seconds reserved for connecting to the database"},{"displayName":"Query Batching","name":"queryBatching","type":"options","noDataExpression":true,"options":[{"name":"Single Query","value":"single","description":"A single query for all incoming items"},{"name":"Independently","value":"independently","description":"Execute one query per incoming item of the run"},{"name":"Transaction","value":"transaction","description":"Execute all queries in a transaction, if a failure occurs, all changes are rolled back"}],"default":"single","description":"The way queries should be sent to the database"},{"displayName":"Query Parameters","name":"queryReplacement","type":"string","default":"","description":"Comma-separated list of the values you want to use as query parameters. <a href=\"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/#use-query-parameters\">More info</a>.","hint":"Comma-separated list of values: reference them in your query as $1, $2, $3…","placeholder":"e.g. value1,value2,value3","displayOptions":{"show":{"/operation":["executeQuery"]}}},{"displayName":"Output Columns","name":"outputColumns","type":"multiOptions","description":"Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsMethod":"getColumnsMultiOptions","loadOptionsDependsOn":["table.value"]},"default":[],"displayOptions":{"show":{"/operation":["select","insert","update","upsert"]}}},{"displayName":"Output Large-Format Numbers As","name":"largeNumbersOutput","type":"options","options":[{"name":"Numbers","value":"numbers"},{"name":"Text","value":"text","description":"Use this if you expect numbers longer than 16 digits (otherwise numbers may be incorrect)"}],"hint":"Applies to NUMERIC and BIGINT columns only","default":"text"},{"displayName":"Skip on Conflict","name":"skipOnConflict","type":"boolean","default":false,"description":"Whether to skip the row and do not throw error if a unique constraint or exclusion constraint is violated","displayOptions":{"show":{"/operation":["insert"]}}},{"displayName":"Replace Empty Strings with NULL","name":"replaceEmptyStrings","type":"boolean","default":false,"description":"Whether to replace empty strings with NULL in input, could be useful when data come from spreadsheet","displayOptions":{"show":{"/operation":["insert","update","upsert","executeQuery"]}}}],"displayOptions":{"show":{"resource":["database"],"operation":["upsert"]},"hide":{"table":[""]}}}],"iconUrl":"icons/n8n-nodes-base/dist/nodes/Postgres/postgres.svg"},
299
+ {"displayName":"Postgres","name":"n8n-nodes-base.postgres","group":["input"],"defaultVersion":2.2,"description":"Get, add and update data in Postgres","version":[2,2.1,2.2],"subtitle":"={{ $parameter[\"operation\"] }}","defaults":{"name":"Postgres"},"inputs":["main"],"outputs":["main"],"credentials":[{"name":"postgres","required":true,"testedBy":"postgresConnectionTest"}],"properties":[{"displayName":"Resource","name":"resource","type":"hidden","noDataExpression":true,"options":[{"name":"Database","value":"database"}],"default":"database"},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"options":[{"name":"Delete","value":"deleteTable","description":"Delete an entire table or rows in a table","action":"Delete table or rows"},{"name":"Execute Query","value":"executeQuery","description":"Execute an SQL query","action":"Execute a SQL query"},{"name":"Insert","value":"insert","description":"Insert rows in a table","action":"Insert rows in a table"},{"name":"Insert or Update","value":"upsert","description":"Insert or update rows in a table","action":"Insert or update rows in a table"},{"name":"Select","value":"select","description":"Select rows from a table","action":"Select rows from a table"},{"name":"Update","value":"update","description":"Update rows in a table","action":"Update rows in a table"}],"displayOptions":{"show":{"resource":["database"]}},"default":"insert"},{"displayName":"Schema","name":"schema","type":"resourceLocator","default":{"mode":"list","value":"public"},"required":true,"placeholder":"e.g. public","description":"The schema that contains the table you want to work on","modes":[{"displayName":"From List","name":"list","type":"list","typeOptions":{"searchListMethod":"schemaSearch"}},{"displayName":"By Name","name":"name","type":"string"}],"displayOptions":{"hide":{"operation":["executeQuery"]}}},{"displayName":"Table","name":"table","type":"resourceLocator","default":{"mode":"list","value":""},"required":true,"description":"The table you want to work on","modes":[{"displayName":"From List","name":"list","type":"list","typeOptions":{"searchListMethod":"tableSearch"}},{"displayName":"By Name","name":"name","type":"string"}],"displayOptions":{"hide":{"operation":["executeQuery"]}}},{"displayName":"Command","name":"deleteCommand","type":"options","default":"truncate","options":[{"name":"Truncate","value":"truncate","description":"Only removes the table's data and preserves the table's structure"},{"name":"Delete","value":"delete","description":"Delete the rows that match the 'Select Rows' conditions below. If no selection is made, all rows in the table are deleted."},{"name":"Drop","value":"drop","description":"Deletes the table's data and also the table's structure permanently"}],"displayOptions":{"show":{"resource":["database"],"operation":["deleteTable"]},"hide":{"table":[""]}}},{"displayName":"Restart Sequences","name":"restartSequences","type":"boolean","default":false,"description":"Whether to reset identity (auto-increment) columns to their initial values","displayOptions":{"show":{"deleteCommand":["truncate"],"resource":["database"],"operation":["deleteTable"]},"hide":{"table":[""]}}},{"displayName":"Select Rows","name":"where","type":"fixedCollection","typeOptions":{"multipleValues":true},"placeholder":"Add Condition","default":{},"description":"If not set, all rows will be selected","options":[{"displayName":"Values","name":"values","values":[{"displayName":"Column","name":"column","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","default":"","placeholder":"e.g. ID","typeOptions":{"loadOptionsMethod":"getColumns","loadOptionsDependsOn":["schema.value","table.value"]}},{"displayName":"Operator","name":"condition","type":"options","description":"The operator to check the column against. When using 'LIKE' operator percent sign ( %) matches zero or more characters, underscore ( _ ) matches any single character.","options":[{"name":"Equal","value":"equal"},{"name":"Not Equal","value":"!="},{"name":"Like","value":"LIKE"},{"name":"Greater Than","value":">"},{"name":"Less Than","value":"<"},{"name":"Greater Than Or Equal","value":">="},{"name":"Less Than Or Equal","value":"<="},{"name":"Is Null","value":"IS NULL"}],"default":"equal"},{"displayName":"Value","name":"value","type":"string","default":""}]}],"displayOptions":{"show":{"deleteCommand":["delete"],"resource":["database"],"operation":["deleteTable"]},"hide":{"table":[""]}}},{"displayName":"Combine Conditions","name":"combineConditions","type":"options","description":"How to combine the conditions defined in \"Select Rows\": AND requires all conditions to be true, OR requires at least one condition to be true","options":[{"name":"AND","value":"AND","description":"Only rows that meet all the conditions are selected"},{"name":"OR","value":"OR","description":"Rows that meet at least one condition are selected"}],"default":"AND","displayOptions":{"show":{"deleteCommand":["delete"],"resource":["database"],"operation":["deleteTable"]},"hide":{"table":[""]}}},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"options":[{"displayName":"Cascade","name":"cascade","type":"boolean","default":false,"description":"Whether to drop all objects that depend on the table, such as views and sequences","displayOptions":{"show":{"/operation":["deleteTable"]},"hide":{"/deleteCommand":["delete"]}}},{"displayName":"Connection Timeout","name":"connectionTimeout","type":"number","default":30,"description":"Number of seconds reserved for connecting to the database"},{"displayName":"Query Batching","name":"queryBatching","type":"options","noDataExpression":true,"options":[{"name":"Single Query","value":"single","description":"A single query for all incoming items"},{"name":"Independently","value":"independently","description":"Execute one query per incoming item of the run"},{"name":"Transaction","value":"transaction","description":"Execute all queries in a transaction, if a failure occurs, all changes are rolled back"}],"default":"single","description":"The way queries should be sent to the database"},{"displayName":"Query Parameters","name":"queryReplacement","type":"string","default":"","description":"Comma-separated list of the values you want to use as query parameters. <a href=\"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/#use-query-parameters\">More info</a>.","hint":"Comma-separated list of values: reference them in your query as $1, $2, $3…","placeholder":"e.g. value1,value2,value3","displayOptions":{"show":{"/operation":["executeQuery"]}}},{"displayName":"Output Columns","name":"outputColumns","type":"multiOptions","description":"Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsMethod":"getColumnsMultiOptions","loadOptionsDependsOn":["table.value"]},"default":[],"displayOptions":{"show":{"/operation":["select","insert","update","upsert"]}}},{"displayName":"Output Large-Format Numbers As","name":"largeNumbersOutput","type":"options","options":[{"name":"Numbers","value":"numbers"},{"name":"Text","value":"text","description":"Use this if you expect numbers longer than 16 digits (otherwise numbers may be incorrect)"}],"hint":"Applies to NUMERIC and BIGINT columns only","default":"text"},{"displayName":"Skip on Conflict","name":"skipOnConflict","type":"boolean","default":false,"description":"Whether to skip the row and do not throw error if a unique constraint or exclusion constraint is violated","displayOptions":{"show":{"/operation":["insert"]}}},{"displayName":"Replace Empty Strings with NULL","name":"replaceEmptyStrings","type":"boolean","default":false,"description":"Whether to replace empty strings with NULL in input, could be useful when data come from spreadsheet","displayOptions":{"show":{"/operation":["insert","update","upsert","executeQuery"]}}}],"displayOptions":{"show":{"resource":["database"],"operation":["deleteTable"]},"hide":{"table":[""]}}},{"displayName":"Query","name":"query","type":"string","default":"","placeholder":"e.g. SELECT id, name FROM product WHERE quantity > $1 AND price <= $2","required":true,"description":"The SQL query to execute. You can use n8n expressions and $1, $2, $3, etc to refer to the 'Query Parameters' set in options below.","typeOptions":{"editor":"sqlEditor","sqlDialect":"postgres"},"hint":"Prefer using query parameters over n8n expressions to avoid SQL injection attacks","displayOptions":{"show":{"resource":["database"],"operation":["executeQuery"]}}},{"displayName":"\n\t\tTo use query parameters in your SQL query, reference them as $1, $2, $3, etc in the corresponding order. <a href=\"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/#use-query-parameters\">More info</a>.\n\t\t","name":"notice","type":"notice","default":"","displayOptions":{"show":{"resource":["database"],"operation":["executeQuery"]}}},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"options":[{"displayName":"Cascade","name":"cascade","type":"boolean","default":false,"description":"Whether to drop all objects that depend on the table, such as views and sequences","displayOptions":{"show":{"/operation":["deleteTable"]},"hide":{"/deleteCommand":["delete"]}}},{"displayName":"Connection Timeout","name":"connectionTimeout","type":"number","default":30,"description":"Number of seconds reserved for connecting to the database"},{"displayName":"Query Batching","name":"queryBatching","type":"options","noDataExpression":true,"options":[{"name":"Single Query","value":"single","description":"A single query for all incoming items"},{"name":"Independently","value":"independently","description":"Execute one query per incoming item of the run"},{"name":"Transaction","value":"transaction","description":"Execute all queries in a transaction, if a failure occurs, all changes are rolled back"}],"default":"single","description":"The way queries should be sent to the database"},{"displayName":"Query Parameters","name":"queryReplacement","type":"string","default":"","description":"Comma-separated list of the values you want to use as query parameters. <a href=\"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/#use-query-parameters\">More info</a>.","hint":"Comma-separated list of values: reference them in your query as $1, $2, $3…","placeholder":"e.g. value1,value2,value3","displayOptions":{"show":{"/operation":["executeQuery"]}}},{"displayName":"Output Columns","name":"outputColumns","type":"multiOptions","description":"Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsMethod":"getColumnsMultiOptions","loadOptionsDependsOn":["table.value"]},"default":[],"displayOptions":{"show":{"/operation":["select","insert","update","upsert"]}}},{"displayName":"Output Large-Format Numbers As","name":"largeNumbersOutput","type":"options","options":[{"name":"Numbers","value":"numbers"},{"name":"Text","value":"text","description":"Use this if you expect numbers longer than 16 digits (otherwise numbers may be incorrect)"}],"hint":"Applies to NUMERIC and BIGINT columns only","default":"text"},{"displayName":"Skip on Conflict","name":"skipOnConflict","type":"boolean","default":false,"description":"Whether to skip the row and do not throw error if a unique constraint or exclusion constraint is violated","displayOptions":{"show":{"/operation":["insert"]}}},{"displayName":"Replace Empty Strings with NULL","name":"replaceEmptyStrings","type":"boolean","default":false,"description":"Whether to replace empty strings with NULL in input, could be useful when data come from spreadsheet","displayOptions":{"show":{"/operation":["insert","update","upsert","executeQuery"]}}}],"displayOptions":{"show":{"resource":["database"],"operation":["executeQuery"]}}},{"displayName":"Data Mode","name":"dataMode","type":"options","options":[{"name":"Auto-Map Input Data to Columns","value":"autoMapInputData","description":"Use when node input properties names exactly match the table column names"},{"name":"Map Each Column Manually","value":"defineBelow","description":"Set the value for each destination column manually"}],"default":"autoMapInputData","description":"Whether to map node input properties and the table data automatically or manually","displayOptions":{"show":{"@version":[2,2.1],"resource":["database"],"operation":["insert"]},"hide":{"table":[""]}}},{"displayName":"\n\t\tIn this mode, make sure incoming data fields are named the same as the columns in your table. If needed, use a 'Set' node before this node to change the field names.\n\t\t","name":"notice","type":"notice","default":"","displayOptions":{"show":{"dataMode":["autoMapInputData"],"@version":[2,2.1],"resource":["database"],"operation":["insert"]},"hide":{"table":[""]}}},{"displayName":"Values to Send","name":"valuesToSend","placeholder":"Add Value","type":"fixedCollection","typeOptions":{"multipleValueButtonText":"Add Value","multipleValues":true},"displayOptions":{"show":{"dataMode":["defineBelow"],"@version":[2,2.1],"resource":["database"],"operation":["insert"]},"hide":{"table":[""]}},"default":{},"options":[{"displayName":"Values","name":"values","values":[{"displayName":"Column","name":"column","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsMethod":"getColumns","loadOptionsDependsOn":["schema.value","table.value"]},"default":[]},{"displayName":"Value","name":"value","type":"string","default":""}]}]},{"displayName":"Columns","name":"columns","type":"resourceMapper","default":{"mappingMode":"defineBelow","value":null},"noDataExpression":true,"required":true,"typeOptions":{"loadOptionsDependsOn":["table.value","operation"],"resourceMapper":{"resourceMapperMethod":"getMappingColumns","mode":"add","fieldWords":{"singular":"column","plural":"columns"},"addAllFields":true,"multiKeyMatch":true}},"displayOptions":{"show":{"@version":[2.2],"resource":["database"],"operation":["insert"]},"hide":{"table":[""]}}},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"options":[{"displayName":"Cascade","name":"cascade","type":"boolean","default":false,"description":"Whether to drop all objects that depend on the table, such as views and sequences","displayOptions":{"show":{"/operation":["deleteTable"]},"hide":{"/deleteCommand":["delete"]}}},{"displayName":"Connection Timeout","name":"connectionTimeout","type":"number","default":30,"description":"Number of seconds reserved for connecting to the database"},{"displayName":"Query Batching","name":"queryBatching","type":"options","noDataExpression":true,"options":[{"name":"Single Query","value":"single","description":"A single query for all incoming items"},{"name":"Independently","value":"independently","description":"Execute one query per incoming item of the run"},{"name":"Transaction","value":"transaction","description":"Execute all queries in a transaction, if a failure occurs, all changes are rolled back"}],"default":"single","description":"The way queries should be sent to the database"},{"displayName":"Query Parameters","name":"queryReplacement","type":"string","default":"","description":"Comma-separated list of the values you want to use as query parameters. <a href=\"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/#use-query-parameters\">More info</a>.","hint":"Comma-separated list of values: reference them in your query as $1, $2, $3…","placeholder":"e.g. value1,value2,value3","displayOptions":{"show":{"/operation":["executeQuery"]}}},{"displayName":"Output Columns","name":"outputColumns","type":"multiOptions","description":"Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsMethod":"getColumnsMultiOptions","loadOptionsDependsOn":["table.value"]},"default":[],"displayOptions":{"show":{"/operation":["select","insert","update","upsert"]}}},{"displayName":"Output Large-Format Numbers As","name":"largeNumbersOutput","type":"options","options":[{"name":"Numbers","value":"numbers"},{"name":"Text","value":"text","description":"Use this if you expect numbers longer than 16 digits (otherwise numbers may be incorrect)"}],"hint":"Applies to NUMERIC and BIGINT columns only","default":"text"},{"displayName":"Skip on Conflict","name":"skipOnConflict","type":"boolean","default":false,"description":"Whether to skip the row and do not throw error if a unique constraint or exclusion constraint is violated","displayOptions":{"show":{"/operation":["insert"]}}},{"displayName":"Replace Empty Strings with NULL","name":"replaceEmptyStrings","type":"boolean","default":false,"description":"Whether to replace empty strings with NULL in input, could be useful when data come from spreadsheet","displayOptions":{"show":{"/operation":["insert","update","upsert","executeQuery"]}}}],"displayOptions":{"show":{"resource":["database"],"operation":["insert"]},"hide":{"table":[""]}}},{"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":["database"],"operation":["select"]},"hide":{"table":[""]}}},{"displayName":"Limit","name":"limit","type":"number","default":50,"description":"Max number of results to return","typeOptions":{"minValue":1},"displayOptions":{"show":{"returnAll":[false],"resource":["database"],"operation":["select"]},"hide":{"table":[""]}}},{"displayName":"Select Rows","name":"where","type":"fixedCollection","typeOptions":{"multipleValues":true},"placeholder":"Add Condition","default":{},"description":"If not set, all rows will be selected","options":[{"displayName":"Values","name":"values","values":[{"displayName":"Column","name":"column","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","default":"","placeholder":"e.g. ID","typeOptions":{"loadOptionsMethod":"getColumns","loadOptionsDependsOn":["schema.value","table.value"]}},{"displayName":"Operator","name":"condition","type":"options","description":"The operator to check the column against. When using 'LIKE' operator percent sign ( %) matches zero or more characters, underscore ( _ ) matches any single character.","options":[{"name":"Equal","value":"equal"},{"name":"Not Equal","value":"!="},{"name":"Like","value":"LIKE"},{"name":"Greater Than","value":">"},{"name":"Less Than","value":"<"},{"name":"Greater Than Or Equal","value":">="},{"name":"Less Than Or Equal","value":"<="},{"name":"Is Null","value":"IS NULL"}],"default":"equal"},{"displayName":"Value","name":"value","type":"string","default":""}]}],"displayOptions":{"show":{"resource":["database"],"operation":["select"]},"hide":{"table":[""]}}},{"displayName":"Combine Conditions","name":"combineConditions","type":"options","description":"How to combine the conditions defined in \"Select Rows\": AND requires all conditions to be true, OR requires at least one condition to be true","options":[{"name":"AND","value":"AND","description":"Only rows that meet all the conditions are selected"},{"name":"OR","value":"OR","description":"Rows that meet at least one condition are selected"}],"default":"AND","displayOptions":{"show":{"resource":["database"],"operation":["select"]},"hide":{"table":[""]}}},{"displayName":"Sort","name":"sort","type":"fixedCollection","typeOptions":{"multipleValues":true},"placeholder":"Add Sort Rule","default":{},"options":[{"displayName":"Values","name":"values","values":[{"displayName":"Column","name":"column","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","default":"","typeOptions":{"loadOptionsMethod":"getColumns","loadOptionsDependsOn":["schema.value","table.value"]}},{"displayName":"Direction","name":"direction","type":"options","options":[{"name":"ASC","value":"ASC"},{"name":"DESC","value":"DESC"}],"default":"ASC"}]}],"displayOptions":{"show":{"resource":["database"],"operation":["select"]},"hide":{"table":[""]}}},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"options":[{"displayName":"Cascade","name":"cascade","type":"boolean","default":false,"description":"Whether to drop all objects that depend on the table, such as views and sequences","displayOptions":{"show":{"/operation":["deleteTable"]},"hide":{"/deleteCommand":["delete"]}}},{"displayName":"Connection Timeout","name":"connectionTimeout","type":"number","default":30,"description":"Number of seconds reserved for connecting to the database"},{"displayName":"Query Batching","name":"queryBatching","type":"options","noDataExpression":true,"options":[{"name":"Single Query","value":"single","description":"A single query for all incoming items"},{"name":"Independently","value":"independently","description":"Execute one query per incoming item of the run"},{"name":"Transaction","value":"transaction","description":"Execute all queries in a transaction, if a failure occurs, all changes are rolled back"}],"default":"single","description":"The way queries should be sent to the database"},{"displayName":"Query Parameters","name":"queryReplacement","type":"string","default":"","description":"Comma-separated list of the values you want to use as query parameters. <a href=\"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/#use-query-parameters\">More info</a>.","hint":"Comma-separated list of values: reference them in your query as $1, $2, $3…","placeholder":"e.g. value1,value2,value3","displayOptions":{"show":{"/operation":["executeQuery"]}}},{"displayName":"Output Columns","name":"outputColumns","type":"multiOptions","description":"Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsMethod":"getColumnsMultiOptions","loadOptionsDependsOn":["table.value"]},"default":[],"displayOptions":{"show":{"/operation":["select","insert","update","upsert"]}}},{"displayName":"Output Large-Format Numbers As","name":"largeNumbersOutput","type":"options","options":[{"name":"Numbers","value":"numbers"},{"name":"Text","value":"text","description":"Use this if you expect numbers longer than 16 digits (otherwise numbers may be incorrect)"}],"hint":"Applies to NUMERIC and BIGINT columns only","default":"text"},{"displayName":"Skip on Conflict","name":"skipOnConflict","type":"boolean","default":false,"description":"Whether to skip the row and do not throw error if a unique constraint or exclusion constraint is violated","displayOptions":{"show":{"/operation":["insert"]}}},{"displayName":"Replace Empty Strings with NULL","name":"replaceEmptyStrings","type":"boolean","default":false,"description":"Whether to replace empty strings with NULL in input, could be useful when data come from spreadsheet","displayOptions":{"show":{"/operation":["insert","update","upsert","executeQuery"]}}}],"displayOptions":{"show":{"resource":["database"],"operation":["select"]},"hide":{"table":[""]}}},{"displayName":"Data Mode","name":"dataMode","type":"options","options":[{"name":"Auto-Map Input Data to Columns","value":"autoMapInputData","description":"Use when node input properties names exactly match the table column names"},{"name":"Map Each Column Manually","value":"defineBelow","description":"Set the value for each destination column manually"}],"default":"autoMapInputData","description":"Whether to map node input properties and the table data automatically or manually","displayOptions":{"show":{"@version":[2,2.1],"resource":["database"],"operation":["update"]},"hide":{"table":[""]}}},{"displayName":"\n\t\tIn this mode, make sure incoming data fields are named the same as the columns in your table. If needed, use a 'Set' node before this node to change the field names.\n\t\t","name":"notice","type":"notice","default":"","displayOptions":{"show":{"dataMode":["autoMapInputData"],"@version":[2],"resource":["database"],"operation":["update"]},"hide":{"table":[""]}}},{"displayName":"Column to Match On","name":"columnToMatchOn","type":"options","required":true,"description":"The column to compare when finding the rows to update. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>.","typeOptions":{"loadOptionsMethod":"getColumns","loadOptionsDependsOn":["schema.value","table.value"]},"default":"","hint":"The column that identifies the row(s) to modify","displayOptions":{"show":{"@version":[2,2.1],"resource":["database"],"operation":["update"]},"hide":{"table":[""]}}},{"displayName":"Value of Column to Match On","name":"valueToMatchOn","type":"string","default":"","description":"Rows with a value in the specified \"Column to Match On\" that corresponds to the value in this field will be updated","displayOptions":{"show":{"dataMode":["defineBelow"],"@version":[2,2.1],"resource":["database"],"operation":["update"]},"hide":{"table":[""]}}},{"displayName":"Values to Send","name":"valuesToSend","placeholder":"Add Value","type":"fixedCollection","typeOptions":{"multipleValueButtonText":"Add Value","multipleValues":true},"displayOptions":{"show":{"dataMode":["defineBelow"],"@version":[2,2.1],"resource":["database"],"operation":["update"]},"hide":{"table":[""]}},"default":{},"options":[{"displayName":"Values","name":"values","values":[{"displayName":"Column","name":"column","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsMethod":"getColumnsWithoutColumnToMatchOn","loadOptionsDependsOn":["schema.value","table.value"]},"default":[]},{"displayName":"Value","name":"value","type":"string","default":""}]}]},{"displayName":"Columns","name":"columns","type":"resourceMapper","noDataExpression":true,"default":{"mappingMode":"defineBelow","value":null},"required":true,"typeOptions":{"loadOptionsDependsOn":["table.value","operation"],"resourceMapper":{"resourceMapperMethod":"getMappingColumns","mode":"update","fieldWords":{"singular":"column","plural":"columns"},"addAllFields":true,"multiKeyMatch":true}},"displayOptions":{"show":{"@version":[2.2],"resource":["database"],"operation":["update"]},"hide":{"table":[""]}}},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"options":[{"displayName":"Cascade","name":"cascade","type":"boolean","default":false,"description":"Whether to drop all objects that depend on the table, such as views and sequences","displayOptions":{"show":{"/operation":["deleteTable"]},"hide":{"/deleteCommand":["delete"]}}},{"displayName":"Connection Timeout","name":"connectionTimeout","type":"number","default":30,"description":"Number of seconds reserved for connecting to the database"},{"displayName":"Query Batching","name":"queryBatching","type":"options","noDataExpression":true,"options":[{"name":"Single Query","value":"single","description":"A single query for all incoming items"},{"name":"Independently","value":"independently","description":"Execute one query per incoming item of the run"},{"name":"Transaction","value":"transaction","description":"Execute all queries in a transaction, if a failure occurs, all changes are rolled back"}],"default":"single","description":"The way queries should be sent to the database"},{"displayName":"Query Parameters","name":"queryReplacement","type":"string","default":"","description":"Comma-separated list of the values you want to use as query parameters. <a href=\"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/#use-query-parameters\">More info</a>.","hint":"Comma-separated list of values: reference them in your query as $1, $2, $3…","placeholder":"e.g. value1,value2,value3","displayOptions":{"show":{"/operation":["executeQuery"]}}},{"displayName":"Output Columns","name":"outputColumns","type":"multiOptions","description":"Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsMethod":"getColumnsMultiOptions","loadOptionsDependsOn":["table.value"]},"default":[],"displayOptions":{"show":{"/operation":["select","insert","update","upsert"]}}},{"displayName":"Output Large-Format Numbers As","name":"largeNumbersOutput","type":"options","options":[{"name":"Numbers","value":"numbers"},{"name":"Text","value":"text","description":"Use this if you expect numbers longer than 16 digits (otherwise numbers may be incorrect)"}],"hint":"Applies to NUMERIC and BIGINT columns only","default":"text"},{"displayName":"Skip on Conflict","name":"skipOnConflict","type":"boolean","default":false,"description":"Whether to skip the row and do not throw error if a unique constraint or exclusion constraint is violated","displayOptions":{"show":{"/operation":["insert"]}}},{"displayName":"Replace Empty Strings with NULL","name":"replaceEmptyStrings","type":"boolean","default":false,"description":"Whether to replace empty strings with NULL in input, could be useful when data come from spreadsheet","displayOptions":{"show":{"/operation":["insert","update","upsert","executeQuery"]}}}],"displayOptions":{"show":{"resource":["database"],"operation":["update"]},"hide":{"table":[""]}}},{"displayName":"Data Mode","name":"dataMode","type":"options","options":[{"name":"Auto-Map Input Data to Columns","value":"autoMapInputData","description":"Use when node input properties names exactly match the table column names"},{"name":"Map Each Column Manually","value":"defineBelow","description":"Set the value for each destination column manually"}],"default":"autoMapInputData","description":"Whether to map node input properties and the table data automatically or manually","displayOptions":{"show":{"@version":[2,2.1],"resource":["database"],"operation":["upsert"]},"hide":{"table":[""]}}},{"displayName":"\n\t\tIn this mode, make sure incoming data fields are named the same as the columns in your table. If needed, use a 'Set' node before this node to change the field names.\n\t\t","name":"notice","type":"notice","default":"","displayOptions":{"show":{"dataMode":["autoMapInputData"],"@version":[2,2.1],"resource":["database"],"operation":["upsert"]},"hide":{"table":[""]}}},{"displayName":"Unique Column","name":"columnToMatchOn","type":"options","required":true,"description":"The column to compare when finding the rows to update. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>.","typeOptions":{"loadOptionsMethod":"getColumns","loadOptionsDependsOn":["schema.value","table.value"]},"default":"","hint":"Used to find the correct row(s) to update. Doesn't get changed. Has to be unique.","displayOptions":{"show":{"@version":[2,2.1],"resource":["database"],"operation":["upsert"]},"hide":{"table":[""]}}},{"displayName":"Value of Unique Column","name":"valueToMatchOn","type":"string","default":"","description":"Rows with a value in the specified \"Column to Match On\" that corresponds to the value in this field will be updated. New rows will be created for non-matching items.","displayOptions":{"show":{"dataMode":["defineBelow"],"@version":[2,2.1],"resource":["database"],"operation":["upsert"]},"hide":{"table":[""]}}},{"displayName":"Values to Send","name":"valuesToSend","placeholder":"Add Value","type":"fixedCollection","typeOptions":{"multipleValueButtonText":"Add Value","multipleValues":true},"displayOptions":{"show":{"dataMode":["defineBelow"],"@version":[2,2.1],"resource":["database"],"operation":["upsert"]},"hide":{"table":[""]}},"default":{},"options":[{"displayName":"Values","name":"values","values":[{"displayName":"Column","name":"column","type":"options","description":"Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsMethod":"getColumnsWithoutColumnToMatchOn","loadOptionsDependsOn":["schema.value","table.value"]},"default":[]},{"displayName":"Value","name":"value","type":"string","default":""}]}]},{"displayName":"Columns","name":"columns","type":"resourceMapper","noDataExpression":true,"default":{"mappingMode":"defineBelow","value":null},"required":true,"typeOptions":{"loadOptionsDependsOn":["table.value","operation"],"resourceMapper":{"resourceMapperMethod":"getMappingColumns","mode":"upsert","fieldWords":{"singular":"column","plural":"columns"},"addAllFields":true,"multiKeyMatch":true}},"displayOptions":{"show":{"@version":[2.2],"resource":["database"],"operation":["upsert"]},"hide":{"table":[""]}}},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","default":{},"options":[{"displayName":"Cascade","name":"cascade","type":"boolean","default":false,"description":"Whether to drop all objects that depend on the table, such as views and sequences","displayOptions":{"show":{"/operation":["deleteTable"]},"hide":{"/deleteCommand":["delete"]}}},{"displayName":"Connection Timeout","name":"connectionTimeout","type":"number","default":30,"description":"Number of seconds reserved for connecting to the database"},{"displayName":"Query Batching","name":"queryBatching","type":"options","noDataExpression":true,"options":[{"name":"Single Query","value":"single","description":"A single query for all incoming items"},{"name":"Independently","value":"independently","description":"Execute one query per incoming item of the run"},{"name":"Transaction","value":"transaction","description":"Execute all queries in a transaction, if a failure occurs, all changes are rolled back"}],"default":"single","description":"The way queries should be sent to the database"},{"displayName":"Query Parameters","name":"queryReplacement","type":"string","default":"","description":"Comma-separated list of the values you want to use as query parameters. <a href=\"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/#use-query-parameters\">More info</a>.","hint":"Comma-separated list of values: reference them in your query as $1, $2, $3…","placeholder":"e.g. value1,value2,value3","displayOptions":{"show":{"/operation":["executeQuery"]}}},{"displayName":"Output Columns","name":"outputColumns","type":"multiOptions","description":"Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>","typeOptions":{"loadOptionsMethod":"getColumnsMultiOptions","loadOptionsDependsOn":["table.value"]},"default":[],"displayOptions":{"show":{"/operation":["select","insert","update","upsert"]}}},{"displayName":"Output Large-Format Numbers As","name":"largeNumbersOutput","type":"options","options":[{"name":"Numbers","value":"numbers"},{"name":"Text","value":"text","description":"Use this if you expect numbers longer than 16 digits (otherwise numbers may be incorrect)"}],"hint":"Applies to NUMERIC and BIGINT columns only","default":"text"},{"displayName":"Skip on Conflict","name":"skipOnConflict","type":"boolean","default":false,"description":"Whether to skip the row and do not throw error if a unique constraint or exclusion constraint is violated","displayOptions":{"show":{"/operation":["insert"]}}},{"displayName":"Replace Empty Strings with NULL","name":"replaceEmptyStrings","type":"boolean","default":false,"description":"Whether to replace empty strings with NULL in input, could be useful when data come from spreadsheet","displayOptions":{"show":{"/operation":["insert","update","upsert","executeQuery"]}}}],"displayOptions":{"show":{"resource":["database"],"operation":["upsert"]},"hide":{"table":[""]}}}],"iconUrl":"icons/n8n-nodes-base/dist/nodes/Postgres/postgres.svg","codex":{"categories":["Development","Data & Storage"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/credentials/postgres"}]}}},
298
300
  {"displayName":"PostHog","name":"n8n-nodes-base.postHog","group":["input"],"version":1,"subtitle":"={{$parameter[\"operation\"] + \": \" + $parameter[\"resource\"]}}","description":"Consume PostHog API","defaults":{"name":"PostHog"},"inputs":["main"],"outputs":["main"],"credentials":[{"name":"postHogApi","required":true}],"properties":[{"displayName":"Resource","name":"resource","type":"options","noDataExpression":true,"options":[{"name":"Alias","value":"alias"},{"name":"Event","value":"event"},{"name":"Identity","value":"identity"},{"name":"Track","value":"track"}],"default":"event"},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"displayOptions":{"show":{"resource":["alias"]}},"options":[{"name":"Create","value":"create","description":"Create an alias","action":"Create an alias"}],"default":"create"},{"displayName":"Alias","name":"alias","type":"string","required":true,"displayOptions":{"show":{"resource":["alias"],"operation":["create"]}},"default":"","description":"The name of the alias"},{"displayName":"Distinct ID","name":"distinctId","type":"string","required":true,"displayOptions":{"show":{"resource":["alias"],"operation":["create"]}},"default":"","description":"The user's distinct ID"},{"displayName":"Additional Fields","name":"additionalFields","type":"collection","placeholder":"Add Field","displayOptions":{"show":{"resource":["alias"],"operation":["create"]}},"default":{},"options":[{"displayName":"Context","name":"contextUi","type":"fixedCollection","placeholder":"Add Property","default":{},"typeOptions":{"multipleValues":true},"options":[{"displayName":"Context","name":"contextValues","values":[{"displayName":"Key","name":"key","type":"string","default":""},{"displayName":"Value","name":"value","type":"string","default":""}]}]},{"displayName":"Timestamp","name":"timestamp","type":"dateTime","default":"","description":"If not set, it'll automatically be set to the current time"}]},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"displayOptions":{"show":{"resource":["event"]}},"options":[{"name":"Create","value":"create","description":"Create an event","action":"Create an event"}],"default":"create"},{"displayName":"Event","name":"eventName","type":"string","required":true,"displayOptions":{"show":{"resource":["event"],"operation":["create"]}},"default":"","description":"The name of the event"},{"displayName":"Distinct ID","name":"distinctId","type":"string","required":true,"displayOptions":{"show":{"resource":["event"],"operation":["create"]}},"default":"","description":"The user's distinct ID"},{"displayName":"Additional Fields","name":"additionalFields","type":"collection","placeholder":"Add Field","displayOptions":{"show":{"resource":["event"],"operation":["create"]}},"default":{},"options":[{"displayName":"Properties","name":"propertiesUi","type":"fixedCollection","placeholder":"Add Property","default":{},"typeOptions":{"multipleValues":true},"options":[{"displayName":"Property","name":"propertyValues","values":[{"displayName":"Key","name":"key","type":"string","default":""},{"displayName":"Value","name":"value","type":"string","default":""}]}]},{"displayName":"Timestamp","name":"timestamp","type":"dateTime","default":"","description":"If not set, it'll automatically be set to the current time"}]},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"displayOptions":{"show":{"resource":["identity"]}},"options":[{"name":"Create","value":"create","action":"Create an identity"}],"default":"create"},{"displayName":"Distinct ID","name":"distinctId","type":"string","required":true,"displayOptions":{"show":{"resource":["identity"],"operation":["create"]}},"default":"","description":"The identity's distinct ID"},{"displayName":"Additional Fields","name":"additionalFields","type":"collection","placeholder":"Add Field","displayOptions":{"show":{"resource":["identity"],"operation":["create"]}},"default":{},"options":[{"displayName":"Properties","name":"propertiesUi","type":"fixedCollection","placeholder":"Add Property","default":{},"typeOptions":{"multipleValues":true},"options":[{"displayName":"Property","name":"propertyValues","values":[{"displayName":"Key","name":"key","type":"string","default":""},{"displayName":"Value","name":"value","type":"string","default":""}]}]},{"displayName":"Message ID","name":"messageId","type":"string","default":""},{"displayName":"Timestamp","name":"timestamp","type":"dateTime","default":"","description":"If not set, it'll automatically be set to the current time"}]},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"displayOptions":{"show":{"resource":["track"]}},"options":[{"name":"Page","value":"page","description":"Track a page","action":"Track a page"},{"name":"Screen","value":"screen","description":"Track a screen","action":"Track a screen"}],"default":"page"},{"displayName":"Name","name":"name","type":"string","required":true,"displayOptions":{"show":{"resource":["track"],"operation":["page","screen"]}},"default":""},{"displayName":"Distinct ID","name":"distinctId","type":"string","required":true,"displayOptions":{"show":{"resource":["track"],"operation":["page","screen"]}},"default":"","description":"The user's distinct ID"},{"displayName":"Additional Fields","name":"additionalFields","type":"collection","placeholder":"Add Field","displayOptions":{"show":{"resource":["track"],"operation":["page","screen"]}},"default":{},"options":[{"displayName":"Category","name":"category","type":"string","default":""},{"displayName":"Context","name":"contextUi","type":"fixedCollection","placeholder":"Add Property","default":{},"typeOptions":{"multipleValues":true},"options":[{"displayName":"Context","name":"contextValues","values":[{"displayName":"Key","name":"key","type":"string","default":""},{"displayName":"Value","name":"value","type":"string","default":""}]}]},{"displayName":"Message ID","name":"messageId","type":"string","default":""},{"displayName":"Properties","name":"propertiesUi","type":"fixedCollection","placeholder":"Add Property","default":{},"typeOptions":{"multipleValues":true},"options":[{"displayName":"Property","name":"propertyValues","values":[{"displayName":"Key","name":"key","type":"string","default":""},{"displayName":"Value","name":"value","type":"string","default":""}]}]},{"displayName":"Timestamp","name":"timestamp","type":"dateTime","default":"","description":"If not set, it'll automatically be set to the current time"}]}],"codex":{"categories":["Analytics","Development"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.posthog/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/credentials/postHog"}]}},"iconUrl":"icons/n8n-nodes-base/dist/nodes/PostHog/postHog.svg"},
299
301
  {"displayName":"Postmark Trigger","name":"n8n-nodes-base.postmarkTrigger","group":["trigger"],"version":1,"description":"Starts the workflow when Postmark events occur","defaults":{"name":"Postmark Trigger"},"inputs":[],"outputs":["main"],"credentials":[{"name":"postmarkApi","required":true}],"webhooks":[{"name":"default","httpMethod":"POST","responseMode":"onReceived","path":"webhook"}],"properties":[{"displayName":"Events","name":"events","type":"multiOptions","options":[{"name":"Bounce","value":"bounce","description":"Trigger on bounce"},{"name":"Click","value":"click","description":"Trigger on click"},{"name":"Delivery","value":"delivery","description":"Trigger on delivery"},{"name":"Open","value":"open","description":"Trigger webhook on open"},{"name":"Spam Complaint","value":"spamComplaint","description":"Trigger on spam complaint"},{"name":"Subscription Change","value":"subscriptionChange","description":"Trigger on subscription change"}],"default":[],"required":true,"description":"Webhook events that will be enabled for that endpoint"},{"displayName":"First Open","name":"firstOpen","description":"Only fires on first open for event \"Open\"","type":"boolean","default":false,"displayOptions":{"show":{"events":["open"]}}},{"displayName":"Include Content","name":"includeContent","description":"Whether to include message content for events \"Bounce\" and \"Spam Complaint\"","type":"boolean","default":false,"displayOptions":{"show":{"events":["bounce","spamComplaint"]}}}],"codex":{"categories":["Communication","Development"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/trigger-nodes/n8n-nodes-base.postmarktrigger/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/credentials/postmark"}]}},"iconUrl":"icons/n8n-nodes-base/dist/nodes/Postmark/postmark.png"},
300
302
  {"displayName":"ProfitWell","name":"n8n-nodes-base.profitWell","group":["output"],"version":1,"subtitle":"={{$parameter[\"operation\"] + \": \" + $parameter[\"resource\"]}}","description":"Consume ProfitWell API","defaults":{"name":"ProfitWell"},"inputs":["main"],"outputs":["main"],"credentials":[{"name":"profitWellApi","required":true}],"properties":[{"displayName":"Resource","name":"resource","type":"options","noDataExpression":true,"options":[{"name":"Company","value":"company"},{"name":"Metric","value":"metric"}],"default":"metric"},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"displayOptions":{"show":{"resource":["company"]}},"options":[{"name":"Get Settings","value":"getSetting","description":"Get your company's ProfitWell account settings","action":"Get settings for your company"}],"default":"getSetting"},{"displayName":"Operation","name":"operation","type":"options","noDataExpression":true,"displayOptions":{"show":{"resource":["metric"]}},"options":[{"name":"Get","value":"get","description":"Retrieve financial metric broken down by day for either the current month or the last","action":"Get a metric"}],"default":"get"},{"displayName":"Type","name":"type","type":"options","options":[{"name":"Daily","value":"daily","description":"Retrieve financial metric broken down by day for either the current month or the last"},{"name":"Monthly","value":"monthly","description":"Retrieve all monthly financial metric for your company"}],"default":"","required":true,"displayOptions":{"show":{"resource":["metric"],"operation":["get"]}}},{"displayName":"Month","name":"month","type":"string","default":"","placeholder":"YYYY-MM","required":true,"displayOptions":{"show":{"resource":["metric"],"operation":["get"],"type":["daily"]}},"description":"Can only be the current or previous month. Format should be YYYY-MM."},{"displayName":"Simplify","name":"simple","type":"boolean","default":true,"displayOptions":{"show":{"resource":["metric"],"operation":["get"]}},"description":"Whether to return a simplified version of the response instead of the raw data"},{"displayName":"Options","name":"options","type":"collection","placeholder":"Add Option","displayOptions":{"show":{"resource":["metric"],"operation":["get"]}},"default":{},"options":[{"displayName":"Plan Name or ID","name":"plan_id","type":"options","typeOptions":{"loadOptionsMethod":"getPlanIds"},"default":"","description":"Only return the metric for this Plan ID. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code-examples/expressions/\">expression</a>."},{"displayName":"Metrics","name":"dailyMetrics","type":"multiOptions","displayOptions":{"show":{"/type":["daily"]}},"options":[{"name":"Active Customers","value":"active_customers","description":"Number of paying customers"},{"name":"Churned Customers","value":"churned_customers","description":"Number of paying customers who churned"},{"name":"Churned Recurring Revenue","value":"churned_recurring_revenue","description":"MRR lost to churn (voluntary and delinquent)"},{"name":"Cumulative Net New MRR","value":"cumulative_net_new_mrr","description":"New + Upgrades - Downgrades - Churn MRR, cumulative for the month up through the given day"},{"name":"Cumulative New Trialing Customers","value":"cumulative_new_trialing_customers","description":"Number of new trialing customers, cumulative for the month up through the given day"},{"name":"Downgraded Customers","value":"downgraded_customers","description":"Number of existing customers who net downgraded"},{"name":"Downgraded Recurring Revenue","value":"downgraded_recurring_revenue","description":"How much downgrades and plan length decreases affect your MRR"},{"name":"Future Churn MRR","value":"future_churn_mrr","description":"MRR that will be lost when users who are currently cancelled actually churn"},{"name":"New Customers","value":"new_customers","description":"Number of new, paying customers you have"},{"name":"New Recurring Revenue","value":"new_recurring_revenue","description":"MRR from new users"},{"name":"Reactivated Customers","value":"reactivated_customers","description":"Number of customers who have reactivated"},{"name":"Reactivated Recurring Revenue","value":"reactivated_recurring_revenue","description":"How much MRR comes from reactivated customers"},{"name":"Recurring Revenue","value":"recurring_revenue","description":"Your company's MRR"},{"name":"Upgraded Customers","value":"upgraded_customers","description":"Number of existing customers who net upgraded"},{"name":"Upgraded Recurring Revenue","value":"upgraded_recurring_revenue","description":"How much upgrades and plan length increases affect your MRR"}],"default":[],"description":"Comma-separated list of metric trends to return (the default is to return all metric)"},{"displayName":"Metrics","name":"monthlyMetrics","type":"multiOptions","displayOptions":{"show":{"/type":["monthly"]}},"options":[{"name":"Active Customers","value":"active_customers","description":"Number of paying customers"},{"name":"Active Trialing Customers","value":"active_trialing_customers","description":"Number of trialing customers"},{"name":"Average Revenue Per User","value":"average_revenue_per_user","description":"ARPU"},{"name":"Churned Customers","value":"churned_customers","description":"Number of paying customers who churned"},{"name":"Churned Customers Cancellations","value":"churned_customers_cancellations","description":"Number of customers who churned by cancelling their subscription(s)"},{"name":"Churned Customers Delinquent","value":"churned_customers_delinquent","description":"Number of customers who churned because they failed to pay you"},{"name":"Churned Recurring Revenue","value":"churned_recurring_revenue","description":"Revenue lost to churn (voluntary and delinquent)"},{"name":"Churned Recurring Revenue Cancellations","value":"churned_recurring_revenue_cancellations","description":"Revenue lost to customers who churned by cancelling their subscription(s)"},{"name":"Churned Recurring Revenue Delinquent","value":"churned_recurring_revenue_delinquent","description":"Revenue lost to customers who churned delinquent"},{"name":"Churned Trialing Customers","value":"churned_trialing_customers","description":"Number of trialling customers who churned"},{"name":"Converted Customers","value":"converted_customers","description":"Number of customers who converted from trialing to active"},{"name":"Converted Recurring Revenue","value":"converted_recurring_revenue","description":"How much MRR comes from users who converted from trialing to active"},{"name":"Customer Churn Cancellations Rate","value":"customers_churn_cancellations_rate","description":"Percentage of paying customers who churned by cancelling their subscription(s)"},{"name":"Customer Churn Delinquent Rate","value":"customers_churn_delinquent_rate","description":"Percentage of paying customers who churned because they failed to pay you"},{"name":"Customer Churn Rate","value":"customers_churn_rate","description":"Percentage of paying customers who churned"},{"name":"Customer Conversion Rate","value":"customer_conversion_rate","description":"Percent of trialing customers who converted"},{"name":"Customer Retention Rate","value":"customers_retention_rate","description":"Percent of customers active last month who are still active this month"},{"name":"Downgrade Customers","value":"downgraded_customers","description":"Number of existing customers who net downgraded"},{"name":"Downgrade Rate","value":"downgrade_rate","description":"Downgrade revenue as a percent of existing revenue"},{"name":"Downgrade Recurring Revenue","value":"downgraded_recurring_revenue","description":"How much downgrades and plan length decreases affect your MRR"},{"name":"Existing Customers","value":"existing_customers","description":"Number of paying customers you had at the start of the given month"},{"name":"Existing Recurring Revenue","value":"existing_recurring_revenue","description":"Your company's MRR at the start of the given month"},{"name":"Existing Trialing Customers","value":"existing_trialing_customers","description":"Number of trialing customers who existed at the start of the month"},{"name":"Growth_Rate","value":"growth_rate","description":"Rate at which your company's MRR has grown over the previous month"},{"name":"Lifetime Value","value":"lifetime_value","description":"Average LTV, as calculated at the end of the given period"},{"name":"New Customers","value":"new_customers","description":"Number of new, paying customers you have"},{"name":"New Recurring Revenue","value":"new_recurring_revenue","description":"MRR from new users"},{"name":"New Trailing Customers","value":"new_trialing_customers","description":"Number of new trialing customers"},{"name":"Plan Changed Rate","value":"plan_change_rate","description":"Net change in revenue as a percentage of existing revenue"},{"name":"Plan Changed Recurring Revenue","value":"plan_changed_recurring_revenue","description":"Net change in revenue for this plan"},{"name":"Reactivated Customers","value":"reactivated_customers","description":"Number of customers who have reactivated"},{"name":"Reactivated Recurring Revenue","value":"reactivated_recurring_revenue","description":"How much MRR comes from reactivated customers"},{"name":"Recurring Revenue","value":"recurring_revenue","description":"Your company's MRR"},{"name":"Revenue Churn Cancellations Rate","value":"revenue_churn_cancellations_rate","description":"Voluntary churn revenue as a percent of the month's starting revenue"},{"name":"Revenue Churn Delinquent_ Rate","value":"revenue_churn_delinquent_rate","description":"Delinquent churn revenue as a percent of the month's starting revenue"},{"name":"Revenue Churn Rate","value":"revenue_churn_rate","description":"Revenue lost to churn as a percentage of existing revenue"},{"name":"Revenue Retention Rate","value":"revenue_retention_rate","description":"Percent of revenue coming from existing customers that was retained by the end of the month"},{"name":"Upgrade Rate","value":"upgrade_rate","description":"Upgrade revenue as a percent of existing revenue"},{"name":"Upgraded Customers","value":"upgraded_customers","description":"Number of existing customers who net upgraded"},{"name":"Upgraded Recurring Revenue","value":"upgraded_recurring_revenue","description":"How much upgrades and plan length increases affect your MRR"}],"default":[],"description":"Comma-separated list of metric trends to return (the default is to return all metric)"}]}],"codex":{"categories":["Analytics"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.profitwell/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/credentials/profitWell"}]}},"iconUrl":"icons/n8n-nodes-base/dist/nodes/ProfitWell/profitwell.png"},