From dee4224d81717354170813428b648b5bfaa773d0 Mon Sep 17 00:00:00 2001 From: Deborah Barnard Date: Wed, 11 May 2022 10:35:49 +0100 Subject: [PATCH 01/14] wip [skip ci] --- docs/integrations/custom-operations/index.md | 6 ++++++ mkdocs.yml | 1 + 2 files changed, 7 insertions(+) create mode 100644 docs/integrations/custom-operations/index.md diff --git a/docs/integrations/custom-operations/index.md b/docs/integrations/custom-operations/index.md new file mode 100644 index 000000000..cd82a66e1 --- /dev/null +++ b/docs/integrations/custom-operations/index.md @@ -0,0 +1,6 @@ +# Custom operations + +n8n supplies hundreds of nodes, allowing you to create workflows that link multiple products. However, some nodes do not include all the possible operations supported by a product's API. You can work around this using the core [HTTP Request](/integrations/core-nodes/n8n-nodes-base.httpRequest/) and [Webhook](/integrations/core-nodes/n8n-nodes-base.webhook/) nodes. + +To support this, n8n provides custom operations: a way to use the HTTP Request node with an existing integration credential. This avoids complex credentials setups. Creating an HTTP request usually requires understanding different authentication types, and setting up the appropriate option (basic auth, header, OAuth2, and so on). n8n's custom operations avoid this complexity. + diff --git a/mkdocs.yml b/mkdocs.yml index 22fd6b368..99044d2e7 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -113,6 +113,7 @@ nav: - Nodes: integrations/nodes/ - Trigger nodes: integrations/trigger-nodes/ - Credentials: integrations/credentials/ + - Custom operations: integrations/custom-operations/ - Creating nodes: - Overview: integrations/creating-nodes/index.md - Code-based node building: From c3d3f300fc0b06eed6963afbc3d2f91f3f267b7a Mon Sep 17 00:00:00 2001 From: Deborah Barnard Date: Thu, 12 May 2022 08:59:01 +0100 Subject: [PATCH 02/14] wip [skip ci] --- docs/integrations/custom-operations/index.md | 4 ++-- .../typed-http-credential.md | 20 +++++++++++++++++++ docs/reference/data-collection.md | 20 +++++++++---------- 3 files changed, 32 insertions(+), 12 deletions(-) create mode 100644 docs/integrations/custom-operations/typed-http-credential.md diff --git a/docs/integrations/custom-operations/index.md b/docs/integrations/custom-operations/index.md index cd82a66e1..d462cdea4 100644 --- a/docs/integrations/custom-operations/index.md +++ b/docs/integrations/custom-operations/index.md @@ -1,6 +1,6 @@ # Custom operations -n8n supplies hundreds of nodes, allowing you to create workflows that link multiple products. However, some nodes do not include all the possible operations supported by a product's API. You can work around this using the core [HTTP Request](/integrations/core-nodes/n8n-nodes-base.httpRequest/) and [Webhook](/integrations/core-nodes/n8n-nodes-base.webhook/) nodes. +n8n supplies hundreds of nodes, allowing you to create workflows that link multiple products. However, some nodes don't include all the possible operations supported by a product's API. You can work around this using the core [HTTP Request](/integrations/core-nodes/n8n-nodes-base.httpRequest/) and [Webhook](/integrations/core-nodes/n8n-nodes-base.webhook/) nodes. -To support this, n8n provides custom operations: a way to use the HTTP Request node with an existing integration credential. This avoids complex credentials setups. Creating an HTTP request usually requires understanding different authentication types, and setting up the appropriate option (basic auth, header, OAuth2, and so on). n8n's custom operations avoid this complexity. +To support this, n8n provides custom operations: a way to use the HTTP Request node with an existing credential. This avoids complex credentials setups. Creating an HTTP request can require knowledge of different authentication types, and setting up the appropriate option (such as basic auth, header, or OAuth2.). n8n's custom operations feature avoids this complexity. diff --git a/docs/integrations/custom-operations/typed-http-credential.md b/docs/integrations/custom-operations/typed-http-credential.md new file mode 100644 index 000000000..09d0c080a --- /dev/null +++ b/docs/integrations/custom-operations/typed-http-credential.md @@ -0,0 +1,20 @@ +# Typed HTTP credential + +A typed HTTP credential is a credential associated with a particular platform that you can use with the HTTP Request node. + +(as opposed to generic creds - so you can use node-specific creds with http req node) + +For example: you create an Asana credential, for use with the Asana node. Later, you want to perfom an operation that isn't supported by the Asana node, using Asana's API. You can use your existing Asana credential in the HTTP Request node to perform the operation. + +## Supported nodes + +Typed HTTP credentials are available for the following platforms: + +* Action Network API +* AcuityScheduling OAuth2 API +* Asana API +* Asana OAuth2 API +* Bitly OAuth2 API +* Box OAuth2 API +* Cisco Webex OAuth2 API +* \ No newline at end of file diff --git a/docs/reference/data-collection.md b/docs/reference/data-collection.md index a59db73f5..ecc414dae 100644 --- a/docs/reference/data-collection.md +++ b/docs/reference/data-collection.md @@ -1,16 +1,16 @@ # Data collection -n8n collects selected usage and performance data to help us diagnose problems and improve the platform. We take care to keep this data anonymous and to avoid collecting sensitive data. Read about how this information is stored and processed in our [privacy policy](https://n8n.io/legal/privacy). +n8n collects selected usage and performance data to help diagnose problems and improve the platform. n8n takes care to keep this data anonymous and to avoid collecting sensitive data. Read about how n8n stores and processes this information in the [privacy policy](https://n8n.io/legal/privacy). -## What we collect +## What n8n collects - Error codes and messages of failed executions (excluding any payload data, and not for custom nodes) -- The graph of a workflow (types of nodes used and how they are connected) -- From node parameters, only: +- The graph of a workflow (types of nodes used and how they're connected) +- From node parameters: - The 'resource' and 'operation' that a node is set to (if applicable) - - The domain for HTTP nodes (but no path, query parameters or other information) + - The URL for HTTP request nodes, with personal data anonymized. - The number of workflow executions and their status -- Details on how the UI is used (e.g. navigation, nodes panel searches) +- Details on how the UI is used (for example, navigation, nodes panel searches) - Diagnostic information - n8n version - Selected settings: @@ -22,20 +22,20 @@ n8n collects selected usage and performance data to help us diagnose problems an - OS, RAM, and CPUs - Anonymous instance ID -## What we don't collect +## What n8n doesn't collect -We do not collect private or sensitive information, such as: +n8n doesn't collect private or sensitive information, such as: - Personally identifiable information - Credential information - Node parameters (except 'resource' and 'operation') - Execution data -- Sensitive settings (e.g. endpoints, ports, DB connections, username/password) +- Sensitive settings (for example, endpoints, ports, DB connections, username/password) - Error payloads ## How collection works -Telemetry is collected anonymously, with most data sent to n8n as events that generate it occur. Workflow execution counts and an instance pulse are sent periodically (every 6 hours). +n8n collects telemetry anonymously, with most data sent to n8n as events that generate it occur. Workflow execution counts and an instance pulse are sent periodically (every 6 hours). ## Opting out of telemetry From 97816dc8d31a14b88f3c511ecdc274c0fa548de2 Mon Sep 17 00:00:00 2001 From: Deborah Barnard Date: Thu, 12 May 2022 10:29:16 +0100 Subject: [PATCH 03/14] draft custom operations --- .../integrations/app-specific-http-how-to.md | 8 ++ .../core-nodes/n8n-nodes-base.httpRequest.md | 16 ++-- docs/integrations/credentials/httpRequest.md | 12 ++- .../app-specific-http-credentials.md | 96 +++++++++++++++++++ docs/integrations/custom-operations/index.md | 7 +- .../typed-http-credential.md | 20 ---- mkdocs.yml | 4 +- 7 files changed, 132 insertions(+), 31 deletions(-) create mode 100644 _snippets/integrations/app-specific-http-how-to.md create mode 100644 docs/integrations/custom-operations/app-specific-http-credentials.md delete mode 100644 docs/integrations/custom-operations/typed-http-credential.md diff --git a/_snippets/integrations/app-specific-http-how-to.md b/_snippets/integrations/app-specific-http-how-to.md new file mode 100644 index 000000000..ca1dbbe91 --- /dev/null +++ b/_snippets/integrations/app-specific-http-how-to.md @@ -0,0 +1,8 @@ +To use an app-specific HTTP credential: + +1. Open your HTTP Request node, or add a new one to your workflow. +2. In **Authentication**, select **Existing Credential Type**. +3. In **Credential Type**, select the API you want to use. +4. In **Credential for ``**, you can: + 1. Select an existing credential for that platform, if available. + 2. Select **Create New** to create a new credential. \ No newline at end of file diff --git a/docs/integrations/core-nodes/n8n-nodes-base.httpRequest.md b/docs/integrations/core-nodes/n8n-nodes-base.httpRequest.md index 624100f1f..211241a87 100644 --- a/docs/integrations/core-nodes/n8n-nodes-base.httpRequest.md +++ b/docs/integrations/core-nodes/n8n-nodes-base.httpRequest.md @@ -8,13 +8,15 @@ The HTTP Request node is one of the most versatile nodes in n8n. It allows you t ## Node Reference -- **Authentication:** Select the authentication method to use for the request from the following: - - Basic Auth - - Digest Auth - - Header Auth - - OAuth1 - - OAuth2 - - None +- **Authentication:** there are two options for authentication: + - Select **Existing Credential Type** to use [App-specific HTTP credentials](/integrations/custom-operations/app-specific-http-credentials/). This allows you to perform [custom operations](/integrations/custom-operations/) with some APIs where n8n has a node for the platform. For example, n8n has an Asana node, and supports using your Asana credentials in the HTTP Request node. Refer to [App-specific HTTP credentials](/integrations/custom-operations/app-specific-http-credentials/) for more information. + - Select **Generic Credential Type** to set up authentication using one of the following methods. + - Basic Auth + - Digest Auth + - Header Auth + - OAuth1 + - OAuth2 + - None - **Request Method:** Select the method to be used for the request: - DELETE - GET diff --git a/docs/integrations/credentials/httpRequest.md b/docs/integrations/credentials/httpRequest.md index d31dacd90..dbda63b62 100644 --- a/docs/integrations/credentials/httpRequest.md +++ b/docs/integrations/credentials/httpRequest.md @@ -6,7 +6,9 @@ You can use these credentials to authenticate the following nodes: ## Prerequisites -You must use the authentication method required by the app or service you want to query. The following authentication methods are available: +You must use the authentication method required by the app or service you want to query. + +The following generic authentication methods are available: * Basic Auth * Digest Auth @@ -17,6 +19,8 @@ You must use the authentication method required by the app or service you want t You can learn more about HTTP authentication [here](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication#see_also). +You can use [App-specific HTTP credentials](/integrations/custom-operations/app-specific-http-credentials.md) to perform [custom operations](/integrations/custom-operations/) with some APIs where n8n has a node for the platform. For example, n8n has an Asana node, and supports using your Asana credentials in the HTTP Request node. Refer to [App-specific HTTP credentials](/integrations/custom-operations/app-specific-http-credentials/) for more information. + ## Using Basic Auth / Digest Auth 1. Enter a descriptive *Credentials Name*. @@ -57,3 +61,9 @@ Read more about [OAuth1](https://oauth.net/1/). 3. Click **Create** to save your credentials. Read more about [OAuth2](https://oauth.net/2/). + +## Using an existing credential type + +--8<-- "_snippets/integrations/app-specific-http-how-to.md" + +Refer to [App-specific HTTP credentials](/integrations/custom-operations/app-specific-http-credentials/) for more information. \ No newline at end of file diff --git a/docs/integrations/custom-operations/app-specific-http-credentials.md b/docs/integrations/custom-operations/app-specific-http-credentials.md new file mode 100644 index 000000000..c23249099 --- /dev/null +++ b/docs/integrations/custom-operations/app-specific-http-credentials.md @@ -0,0 +1,96 @@ +# App-specific HTTP credentials + +An app-specific HTTP credential is a credential associated with a particular platform. You can use app-specific HTTP credentials instead of generic credentials in the HTTP Request node. + +For example: you create an Asana credential, for use with the Asana node. Later, you want to perfom an operation that isn't supported by the Asana node, using Asana's API. You can use your existing Asana credential in the HTTP Request node to perform the operation. + +## Supported integrations + +??? info "Typed HTTP credentials are available for these platforms" + + * Action Network API + * AcuityScheduling OAuth2 API + * Asana API + * Asana OAuth2 API + * Bitly OAuth2 API + * Box OAuth2 API + * Cisco Webex OAuth2 API + * ClickUp OAuth2 API + * Discourse API + * Drift OAuth2 API + * Dropbox OAuth2 API + * Eventbrite OAuth2 API + * Formstack OAuth2 API + * GetResponse OAuth2 API + * GitHub OAuth2 API + * GitLab OAuth2 API + * Google BigQuery OAuth2 API + * Google Books OAuth2 API + * Google Calendar OAuth2 API + * Google Cloud Natural Language OAuth2 API + * Google Contacts OAuth2 API + * Google Docs OAuth2 API + * Google Drive OAuth2 API + * Google Firebase Cloud Firestore OAuth2 API + * Google Firebase Realtime Database OAuth2 API + * Google OAuth2 API + * Google Perspective OAuth2 API + * Google Sheets OAuth2 API + * Google Slides OAuth2 API + * Google Tasks OAuth2 API + * Google Translate OAuth2 API + * GoToWebinar OAuth2 API + * G Suite Admin OAuth2 API + * Harvest OAuth2 API + * HelpScout OAuth2 API + * Hubspot OAuth2 API + * Keap OAuth2 API + * Line Notify OAuth2 API + * LinkedIn OAuth2 API + * Magento 2 API + * Mailchimp OAuth2 API + * Mattermost API + * Mautic OAuth2 API + * Medium OAuth2 API + * Microsoft Dynamics OAuth2 API + * Microsoft Excel OAuth2 API + * Microsoft Graph Security OAuth2 API + * Microsoft OAuth2 API + * Microsoft Drive OAuth2 API + * Microsoft Outlook OAuth2 API + * Microsoft Teams OAuth2 API + * Microsoft To Do OAuth2 API + * Monday.com OAuth2 API + * NextCloud OAuth2 API + * PagerDuty OAuth2 API + * PhilipHue OAuth2 API + * Pipedrive API + * Pipedrive OAuth2 API + * Pushbullet OAuth2 API + * Pushover API + * QuickBooks Online OAuth2 API + * Raindrop OAuth2 API + * Reddit OAuth2 API + * Salesforce OAuth2 API + * ServiceNow OAuth2 API + * ServiceNow Basic Auth API + * Slack API + * Slack OAuth2 API + * Spotify OAuth2 API + * Strava OAuth2 API + * SurveyMonkey OAuth2 API + * Todoist OAuth2 API + * Twist OAuth2 API + * Twitter OAuth2 API + * Typeform OAuth2 API + * Webflow OAuth2 API + * Xero OAuth2 API + * YouTube OAuth2 API + * Zendesk API + * Zendesk OAuth2 API + * Zoho OAuth2 API + * Zoom OAuth2 API + +## Using app-specific HTTP credentials + +--8<-- "_snippets/integrations/app-specific-http-how-to.md" \ No newline at end of file diff --git a/docs/integrations/custom-operations/index.md b/docs/integrations/custom-operations/index.md index d462cdea4..d7d0823fc 100644 --- a/docs/integrations/custom-operations/index.md +++ b/docs/integrations/custom-operations/index.md @@ -1,6 +1,9 @@ -# Custom operations +# Overview n8n supplies hundreds of nodes, allowing you to create workflows that link multiple products. However, some nodes don't include all the possible operations supported by a product's API. You can work around this using the core [HTTP Request](/integrations/core-nodes/n8n-nodes-base.httpRequest/) and [Webhook](/integrations/core-nodes/n8n-nodes-base.webhook/) nodes. -To support this, n8n provides custom operations: a way to use the HTTP Request node with an existing credential. This avoids complex credentials setups. Creating an HTTP request can require knowledge of different authentication types, and setting up the appropriate option (such as basic auth, header, or OAuth2.). n8n's custom operations feature avoids this complexity. +To support this, n8n provides custom operations: a way to use the HTTP Request node with an existing credential. This avoids complex credentials setups. Creating an HTTP request can require knowledge of different authentication types, and work to set up the appropriate option (such as basic auth, header, or OAuth2.). n8n's custom operations feature avoids this complexity, using [app-specific HTTP credentials](/integrations/custom-operations/app-specific-http-credentials/). + + + diff --git a/docs/integrations/custom-operations/typed-http-credential.md b/docs/integrations/custom-operations/typed-http-credential.md deleted file mode 100644 index 09d0c080a..000000000 --- a/docs/integrations/custom-operations/typed-http-credential.md +++ /dev/null @@ -1,20 +0,0 @@ -# Typed HTTP credential - -A typed HTTP credential is a credential associated with a particular platform that you can use with the HTTP Request node. - -(as opposed to generic creds - so you can use node-specific creds with http req node) - -For example: you create an Asana credential, for use with the Asana node. Later, you want to perfom an operation that isn't supported by the Asana node, using Asana's API. You can use your existing Asana credential in the HTTP Request node to perform the operation. - -## Supported nodes - -Typed HTTP credentials are available for the following platforms: - -* Action Network API -* AcuityScheduling OAuth2 API -* Asana API -* Asana OAuth2 API -* Bitly OAuth2 API -* Box OAuth2 API -* Cisco Webex OAuth2 API -* \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index 99044d2e7..ea7ed8a46 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -113,7 +113,9 @@ nav: - Nodes: integrations/nodes/ - Trigger nodes: integrations/trigger-nodes/ - Credentials: integrations/credentials/ - - Custom operations: integrations/custom-operations/ + - Custom operations: + - Overview: integrations/custom-operations/index.md + - App-specific HTTP credentials: integrations/custom-operations/app-specific-http-credentials.md - Creating nodes: - Overview: integrations/creating-nodes/index.md - Code-based node building: From 192dddfff191dc1aa806bf52314f042df3cc71cb Mon Sep 17 00:00:00 2001 From: Deborah Barnard Date: Thu, 12 May 2022 10:41:15 +0100 Subject: [PATCH 04/14] fix expanding header --- .../custom-operations/app-specific-http-credentials.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/integrations/custom-operations/app-specific-http-credentials.md b/docs/integrations/custom-operations/app-specific-http-credentials.md index c23249099..28bb2463d 100644 --- a/docs/integrations/custom-operations/app-specific-http-credentials.md +++ b/docs/integrations/custom-operations/app-specific-http-credentials.md @@ -6,7 +6,7 @@ For example: you create an Asana credential, for use with the Asana node. Later, ## Supported integrations -??? info "Typed HTTP credentials are available for these platforms" +??? info "App-specific HTTP credentials are available for these APIs" * Action Network API * AcuityScheduling OAuth2 API From bf7eacffb6d898388ab149865263426fa9c4f5f5 Mon Sep 17 00:00:00 2001 From: Deborah Barnard Date: Thu, 12 May 2022 16:21:33 +0100 Subject: [PATCH 05/14] wip --- docs/integrations/custom-operations/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/integrations/custom-operations/index.md b/docs/integrations/custom-operations/index.md index d7d0823fc..19157cdf3 100644 --- a/docs/integrations/custom-operations/index.md +++ b/docs/integrations/custom-operations/index.md @@ -2,7 +2,7 @@ n8n supplies hundreds of nodes, allowing you to create workflows that link multiple products. However, some nodes don't include all the possible operations supported by a product's API. You can work around this using the core [HTTP Request](/integrations/core-nodes/n8n-nodes-base.httpRequest/) and [Webhook](/integrations/core-nodes/n8n-nodes-base.webhook/) nodes. -To support this, n8n provides custom operations: a way to use the HTTP Request node with an existing credential. This avoids complex credentials setups. Creating an HTTP request can require knowledge of different authentication types, and work to set up the appropriate option (such as basic auth, header, or OAuth2.). n8n's custom operations feature avoids this complexity, using [app-specific HTTP credentials](/integrations/custom-operations/app-specific-http-credentials/). +To support this, n8n provides custom operations: a way to use the HTTP Request node with an existing credential. This avoids complex credentials setups. Creating an HTTP request can require knowledge of different authentication types, and work to set up the appropriate option (such as basic auth, header, or OAuth2.). n8n's custom operations feature avoids this complexity, using [App-specific HTTP credentials](/integrations/custom-operations/app-specific-http-credentials/). From 435e314c91564cd2ab1ef3ca7f27cd59345b2aed Mon Sep 17 00:00:00 2001 From: Deborah Barnard Date: Wed, 18 May 2022 09:32:03 +0100 Subject: [PATCH 06/14] rename [skip ci] --- docs/integrations/custom-operations/index.md | 9 --------- .../app-specific-http-credentials.md | 0 docs/integrations/http-credentials/index.md | 9 +++++++++ mkdocs.yml | 6 +++--- 4 files changed, 12 insertions(+), 12 deletions(-) delete mode 100644 docs/integrations/custom-operations/index.md rename docs/integrations/{custom-operations => http-credentials}/app-specific-http-credentials.md (100%) create mode 100644 docs/integrations/http-credentials/index.md diff --git a/docs/integrations/custom-operations/index.md b/docs/integrations/custom-operations/index.md deleted file mode 100644 index 19157cdf3..000000000 --- a/docs/integrations/custom-operations/index.md +++ /dev/null @@ -1,9 +0,0 @@ -# Overview - -n8n supplies hundreds of nodes, allowing you to create workflows that link multiple products. However, some nodes don't include all the possible operations supported by a product's API. You can work around this using the core [HTTP Request](/integrations/core-nodes/n8n-nodes-base.httpRequest/) and [Webhook](/integrations/core-nodes/n8n-nodes-base.webhook/) nodes. - -To support this, n8n provides custom operations: a way to use the HTTP Request node with an existing credential. This avoids complex credentials setups. Creating an HTTP request can require knowledge of different authentication types, and work to set up the appropriate option (such as basic auth, header, or OAuth2.). n8n's custom operations feature avoids this complexity, using [App-specific HTTP credentials](/integrations/custom-operations/app-specific-http-credentials/). - - - - diff --git a/docs/integrations/custom-operations/app-specific-http-credentials.md b/docs/integrations/http-credentials/app-specific-http-credentials.md similarity index 100% rename from docs/integrations/custom-operations/app-specific-http-credentials.md rename to docs/integrations/http-credentials/app-specific-http-credentials.md diff --git a/docs/integrations/http-credentials/index.md b/docs/integrations/http-credentials/index.md new file mode 100644 index 000000000..35b5da5cf --- /dev/null +++ b/docs/integrations/http-credentials/index.md @@ -0,0 +1,9 @@ +# Overview + +n8n supplies hundreds of nodes, allowing you to create workflows that link multiple products. However, some nodes don't include all the possible operations supported by a product's API. You can work around this using the core [HTTP Request](/integrations/core-nodes/n8n-nodes-base.httpRequest/) and [Webhook](/integrations/core-nodes/n8n-nodes-base.webhook/) nodes. + +To support this, n8n provides a way to use the HTTP Request node with either an existing credential, or using n8n's credential creation process. This avoids complex credentials setups. Creating an HTTP request can require knowledge of different authentication types, and work to set up the appropriate option (such as basic auth, header, or OAuth2.). n8n avoids this complexity using [App-specific HTTP credentials](/integrations/custom-operations/app-specific-http-credentials/). + + + + diff --git a/mkdocs.yml b/mkdocs.yml index 4bc1db3bd..3d177bc41 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -114,9 +114,9 @@ nav: - Nodes: integrations/nodes/ - Trigger nodes: integrations/trigger-nodes/ - Credentials: integrations/credentials/ - - Custom operations: - - Overview: integrations/custom-operations/index.md - - App-specific HTTP credentials: integrations/custom-operations/app-specific-http-credentials.md + - HTTP node credentials: + - Overview: integrations/http-credentials/index.md + - App-specific HTTP credentials: integrations/http-credential/app-specific-http-credentials.md - Creating nodes: - Overview: integrations/creating-nodes/index.md - Code-based node building: From 41d8e68372d749ef425af7844e34777456f1399d Mon Sep 17 00:00:00 2001 From: Deborah Barnard Date: Wed, 18 May 2022 16:56:03 +0100 Subject: [PATCH 07/14] wip --- .../app-specific-http-credentials.md | 0 .../{http-credentials => custom-operations}/index.md | 0 mkdocs.yml | 4 ++-- 3 files changed, 2 insertions(+), 2 deletions(-) rename docs/integrations/{http-credentials => custom-operations}/app-specific-http-credentials.md (100%) rename docs/integrations/{http-credentials => custom-operations}/index.md (100%) diff --git a/docs/integrations/http-credentials/app-specific-http-credentials.md b/docs/integrations/custom-operations/app-specific-http-credentials.md similarity index 100% rename from docs/integrations/http-credentials/app-specific-http-credentials.md rename to docs/integrations/custom-operations/app-specific-http-credentials.md diff --git a/docs/integrations/http-credentials/index.md b/docs/integrations/custom-operations/index.md similarity index 100% rename from docs/integrations/http-credentials/index.md rename to docs/integrations/custom-operations/index.md diff --git a/mkdocs.yml b/mkdocs.yml index 3d177bc41..3dbd0d8c8 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -115,8 +115,8 @@ nav: - Trigger nodes: integrations/trigger-nodes/ - Credentials: integrations/credentials/ - HTTP node credentials: - - Overview: integrations/http-credentials/index.md - - App-specific HTTP credentials: integrations/http-credential/app-specific-http-credentials.md + - Overview: integrations/custom-operations/index.md + - App-specific HTTP credentials: integrations/custom-operations/app-specific-http-credentials.md - Creating nodes: - Overview: integrations/creating-nodes/index.md - Code-based node building: From a589af6e0f2427f593cb4059738e60a52335e7a6 Mon Sep 17 00:00:00 2001 From: Deborah Barnard Date: Thu, 19 May 2022 10:45:07 +0100 Subject: [PATCH 08/14] add scopes and edit --- .../integrations/custom-operations/scopes.png | Bin 0 -> 20009 bytes .../core-nodes/n8n-nodes-base.httpRequest.md | 6 +- docs/integrations/credentials/httpRequest.md | 20 ++-- docs/integrations/custom-operations.md | 25 +++++ .../app-specific-http-credentials.md | 96 ------------------ docs/integrations/custom-operations/index.md | 9 -- mkdocs.yml | 4 +- 7 files changed, 45 insertions(+), 115 deletions(-) create mode 100644 docs/_images/integrations/custom-operations/scopes.png create mode 100644 docs/integrations/custom-operations.md delete mode 100644 docs/integrations/custom-operations/app-specific-http-credentials.md delete mode 100644 docs/integrations/custom-operations/index.md diff --git a/docs/_images/integrations/custom-operations/scopes.png b/docs/_images/integrations/custom-operations/scopes.png new file mode 100644 index 0000000000000000000000000000000000000000..8d6ae408014ff339d7ff02374b497d67c45ff162 GIT binary patch literal 20009 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 Date: Thu, 19 May 2022 15:46:16 +0100 Subject: [PATCH 09/14] edits --- _snippets/integrations/app-specific-http-how-to.md | 2 +- .../core-nodes/n8n-nodes-base.httpRequest.md | 2 +- docs/integrations/credentials/httpRequest.md | 4 ++-- docs/integrations/custom-operations.md | 14 +++++++------- mkdocs.yml | 2 +- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/_snippets/integrations/app-specific-http-how-to.md b/_snippets/integrations/app-specific-http-how-to.md index ca1dbbe91..93b9ec6e1 100644 --- a/_snippets/integrations/app-specific-http-how-to.md +++ b/_snippets/integrations/app-specific-http-how-to.md @@ -1,4 +1,4 @@ -To use an app-specific HTTP credential: +To use a predefined credential type: 1. Open your HTTP Request node, or add a new one to your workflow. 2. In **Authentication**, select **Existing Credential Type**. diff --git a/docs/integrations/core-nodes/n8n-nodes-base.httpRequest.md b/docs/integrations/core-nodes/n8n-nodes-base.httpRequest.md index de747c3f6..69db23a01 100644 --- a/docs/integrations/core-nodes/n8n-nodes-base.httpRequest.md +++ b/docs/integrations/core-nodes/n8n-nodes-base.httpRequest.md @@ -9,7 +9,7 @@ The HTTP Request node is one of the most versatile nodes in n8n. It allows you t ## Node Reference - **Authentication:** there are two options for authentication: - - Select **Existing Credential Type** to use app-specific HTTP credentials. This allows you to perform custom operations with some APIs where n8n has a node for the platform. For example, n8n has an Asana node, and supports using your Asana credentials in the HTTP Request node. Refer to [Custom API operations](/integrations/custom-operations/) for more information. + - Select **Existing Credential Type** to use predefined credential types. This allows you to perform custom operations with some APIs where n8n has a node for the platform. For example, n8n has an Asana node, and supports using your Asana credentials in the HTTP Request node. Refer to [Custom API operations](/integrations/custom-operations/) for more information. - Select **Generic Credential Type** to set up authentication using one of the following methods. - Basic Auth - Digest Auth diff --git a/docs/integrations/credentials/httpRequest.md b/docs/integrations/credentials/httpRequest.md index a96e59089..325419ba2 100644 --- a/docs/integrations/credentials/httpRequest.md +++ b/docs/integrations/credentials/httpRequest.md @@ -10,9 +10,9 @@ You must use the authentication method required by the app or service you want t ### Existing credential types -n8n recommends uing this option whenever it's available. It offers an easier way to set up and manage credentials, compared to configuring generic credentials. +n8n recommends using this option whenever there's a credential type available for the service you want to connect to. It offers an easier way to set up and manage credentials, compared to configuring generic credentials. -You can use [App-specific HTTP credentials](/integrations/custom-operations/) to perform custom operations with some APIs where n8n has a node for the platform. For example, n8n has an Asana node, and supports using your Asana credentials in the HTTP Request node. Refer to [App-specific HTTP credentials](/integrations/custom-operations/) for more information. +You can use [Predefined credential types](/integrations/custom-operations/#predefined-credential-types) to perform custom operations with some APIs where n8n has a node for the platform. For example, n8n has an Asana node, and supports using your Asana credentials in the HTTP Request node. Refer to [Custom operations](/integrations/custom-operations/) for more information. ### Generic authentication diff --git a/docs/integrations/custom-operations.md b/docs/integrations/custom-operations.md index e1a6a1aae..dcb7bcb9e 100644 --- a/docs/integrations/custom-operations.md +++ b/docs/integrations/custom-operations.md @@ -1,25 +1,25 @@ # Custom API operations -n8n supplies hundreds of nodes, allowing you to create workflows that link multiple products. However, some nodes don't include all the possible operations supported by a product's API. You can work around this by making a custom API call. +n8n supplies hundreds of nodes, allowing you to create workflows that link multiple products. However, some nodes don't include all the possible operations supported by a product's API. You can work around this by making a custom API call using the [HTTP Request](/integrations/core-nodes/n8n-nodes-base.httpRequest/) node. -One of the most complex parts of setting up API calls is credentials. To simplify this, n8n provides a way to use the [HTTP Request](/integrations/core-nodes/n8n-nodes-base.httpRequest/) node with either an existing credential, or using n8n's credential creation process. This avoids complex credentials setups. Creating an HTTP request can require knowledge of different authentication types, and work to set up the appropriate option (such as basic auth, header, or OAuth2.). n8n avoids this complexity using app-specific HTTP credentials. +One of the most complex parts of setting up API calls is managing authentication. To simplify this, n8n provides a way to use existential credential types (credentials associated with n8n nodes). -## App-specific HTTP credentials +## Predefined credential types -An app-specific HTTP credential is a credential associated with a particular platform. You can use app-specific HTTP credentials instead of generic credentials in the HTTP Request node. +A predefined credential type is a credential associated with a particular platform. You can use predefined credential types instead of generic credentials in the HTTP Request node. For example: you create an Asana credential, for use with the Asana node. Later, you want to perfom an operation that isn't supported by the Asana node, using Asana's API. You can use your existing Asana credential in the HTTP Request node to perform the operation. -### Using app-specific HTTP credentials +### Using predefined credential types ---8<-- "_snippets/integrations/app-specific-http-how-to.md" +--8<-- "_snippets/integrations/predefined-credential-type-how-to.md" ### Credential scopes Some existing credential types have specfic scopes: endpoints that they work with. n8n warns you about this when you select the credential type. -For example, follow the steps in (Using app-specific HTTP credentials)[Using app-specific HTTP credentials], and select **Google Calendar OAuth2 API** as your **Credential Type**. n8n displays a box listing the two endpoints you can use this credential type with: +For example, follow the steps in (Using predefined credential types)[Using predefined credential types], and select **Google Calendar OAuth2 API** as your **Credential Type**. n8n displays a box listing the two endpoints you can use this credential type with: ![The scopes box](/_images/integrations/custom-operations/scopes.png) diff --git a/mkdocs.yml b/mkdocs.yml index e09fc2337..4dbf5bb3a 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -114,7 +114,7 @@ nav: - Nodes: integrations/nodes/ - Trigger nodes: integrations/trigger-nodes/ - Credentials: integrations/credentials/ - - Custom API operations: integrations/custom-operations.md + - Custom API actions for existing nodes: integrations/custom-operations.md - Creating nodes: - Overview: integrations/creating-nodes/index.md - Code-based node building: From f7c7076d264b717f282432eb1ee046d39bcbfc0f Mon Sep 17 00:00:00 2001 From: Deborah Barnard Date: Mon, 23 May 2022 11:36:54 +0100 Subject: [PATCH 10/14] update data collection --- docs/reference/data-collection.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/reference/data-collection.md b/docs/reference/data-collection.md index ecc414dae..09133df06 100644 --- a/docs/reference/data-collection.md +++ b/docs/reference/data-collection.md @@ -8,7 +8,7 @@ n8n collects selected usage and performance data to help diagnose problems and i - The graph of a workflow (types of nodes used and how they're connected) - From node parameters: - The 'resource' and 'operation' that a node is set to (if applicable) - - The URL for HTTP request nodes, with personal data anonymized. + - For HTTP request nodes, the domain, path, and method (with personal data anonymized) - The number of workflow executions and their status - Details on how the UI is used (for example, navigation, nodes panel searches) - Diagnostic information From fbb5975da2b2f8493e81c69e081c033cb956c8b9 Mon Sep 17 00:00:00 2001 From: Deborah Barnard Date: Tue, 24 May 2022 14:40:23 +0100 Subject: [PATCH 11/14] draft release notes --- docs/reference/release-notes.md | 40 +++++++++++++++++++++++++++-- document-templates/release-notes.md | 4 +-- 2 files changed, 39 insertions(+), 5 deletions(-) diff --git a/docs/reference/release-notes.md b/docs/reference/release-notes.md index f9c3947a3..984ce868f 100644 --- a/docs/reference/release-notes.md +++ b/docs/reference/release-notes.md @@ -1,8 +1,44 @@ # Release notes -## n8n@0.177.0 +## n8n@0.178.0 - +View the [commits](https://github.com/n8n-io/n8n/compare/n8n@0.177.0...n8n@0.178.0) for this version.
+**Release date:** 2022-05-24 + +This release adds support for reusing existing credentials in the HTTP Request node, making it easier to do custom operation with APIs where n8n already has an integration. + +The release also includes improvements to the nodes view, giving better detail about incoming data, as well as some bug fixes. + +### New features + +
+ +#### Credential reuse for custom API operations + +n8n supplies hundreds of nodes, allowing you to create workflows that link multiple products. However, some nodes don't include all the possible operations supported by a product's API. You can work around this by making a custom API call using the HTTP Request node. + +One of the most complex parts of setting up API calls is managing authentication. To simplify this, n8n now provides a way to use existential credential types (credentials associated with n8n nodes) in the HTTP Request node. + +For more information, refer to [Custom API operations](/integrations/custom-operations/). + +#### Node details view + +An improved node view, showing more detail about node inputs. + +
+ +### Node enhancements + +[Salesforce Node](/integrations/nodes/n8n-nodes-base.salesforce): Add the **Country** field. + +### Bug fixes + +* **Editor UI**: don't display the dividing line unless necessary. +* **Editor UI**: don't display the 'Welcome' sticky in template workflows. +* [Slack Node](/integrations/nodes/n8n-nodes-base.slack): Fix the kick operation for the channel resource. + + +## n8n@0.177.0 View the [commits](https://github.com/n8n-io/n8n/compare/n8n@0.176.0...n8n@0.177.0){:target="_blank" .external-link} for this version.
**Release date:** 2022-05-17 diff --git a/document-templates/release-notes.md b/document-templates/release-notes.md index 4a8c244a5..fb7e67de4 100644 --- a/document-templates/release-notes.md +++ b/document-templates/release-notes.md @@ -1,7 +1,5 @@ ## n8n@ - - View the [commits]() for this version.
**Release date:** _yyyy-MM-dd_ @@ -39,4 +37,4 @@ _Description of new feature. Link to new node doc._ ### Contributors -_List contributors. Do not use a bulleted list here._ \ No newline at end of file +_List external contributors. Do not use a bulleted list here._ \ No newline at end of file From 89a1d59645cac7808be4dae4b9d560833cffdfe9 Mon Sep 17 00:00:00 2001 From: Deborah Barnard Date: Tue, 24 May 2022 14:43:35 +0100 Subject: [PATCH 12/14] fix snippets --- ...ific-http-how-to.md => predefined-credential-type-how-to.md} | 0 docs/integrations/credentials/httpRequest.md | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename _snippets/integrations/{app-specific-http-how-to.md => predefined-credential-type-how-to.md} (100%) diff --git a/_snippets/integrations/app-specific-http-how-to.md b/_snippets/integrations/predefined-credential-type-how-to.md similarity index 100% rename from _snippets/integrations/app-specific-http-how-to.md rename to _snippets/integrations/predefined-credential-type-how-to.md diff --git a/docs/integrations/credentials/httpRequest.md b/docs/integrations/credentials/httpRequest.md index 325419ba2..10bb7cb0b 100644 --- a/docs/integrations/credentials/httpRequest.md +++ b/docs/integrations/credentials/httpRequest.md @@ -30,7 +30,7 @@ You can learn more about HTTP authentication [here](https://developer.mozilla.or ## Using an existing credential type ---8<-- "_snippets/integrations/app-specific-http-how-to.md" +--8<-- "_snippets/integrations/predefined-credential-type-how-to.md" Refer to [Custom API operations](/integrations/custom-operations/) for more information. From 4ff1964cb3db002bd4c0cf76ba8acab9b37708a7 Mon Sep 17 00:00:00 2001 From: Deborah Barnard Date: Tue, 24 May 2022 15:27:06 +0100 Subject: [PATCH 13/14] fix link --- docs/integrations/custom-operations.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/integrations/custom-operations.md b/docs/integrations/custom-operations.md index dcb7bcb9e..903182eaa 100644 --- a/docs/integrations/custom-operations.md +++ b/docs/integrations/custom-operations.md @@ -19,7 +19,7 @@ For example: you create an Asana credential, for use with the Asana node. Later, Some existing credential types have specfic scopes: endpoints that they work with. n8n warns you about this when you select the credential type. -For example, follow the steps in (Using predefined credential types)[Using predefined credential types], and select **Google Calendar OAuth2 API** as your **Credential Type**. n8n displays a box listing the two endpoints you can use this credential type with: +For example, follow the steps in [Using predefined credential types](#using-predefined-credential-types), and select **Google Calendar OAuth2 API** as your **Credential Type**. n8n displays a box listing the two endpoints you can use this credential type with: ![The scopes box](/_images/integrations/custom-operations/scopes.png) From e339c067d836d7b3979e592eb1bbb1c011a46c6e Mon Sep 17 00:00:00 2001 From: Deborah Barnard Date: Tue, 24 May 2022 15:40:45 +0100 Subject: [PATCH 14/14] fix links [skip ci] --- docs/reference/release-notes.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/reference/release-notes.md b/docs/reference/release-notes.md index 984ce868f..6138330a2 100644 --- a/docs/reference/release-notes.md +++ b/docs/reference/release-notes.md @@ -2,7 +2,7 @@ ## n8n@0.178.0 -View the [commits](https://github.com/n8n-io/n8n/compare/n8n@0.177.0...n8n@0.178.0) for this version.
+View the [commits](https://github.com/n8n-io/n8n/compare/n8n@0.177.0...n8n@0.178.0){:target=_blank .external-link} for this version.
**Release date:** 2022-05-24 This release adds support for reusing existing credentials in the HTTP Request node, making it easier to do custom operation with APIs where n8n already has an integration. @@ -19,7 +19,7 @@ n8n supplies hundreds of nodes, allowing you to create workflows that link multi One of the most complex parts of setting up API calls is managing authentication. To simplify this, n8n now provides a way to use existential credential types (credentials associated with n8n nodes) in the HTTP Request node. -For more information, refer to [Custom API operations](/integrations/custom-operations/). +For more information, refer to [Custom API operations](/integrations/custom-operations/){:target=_blank}. #### Node details view @@ -29,13 +29,13 @@ An improved node view, showing more detail about node inputs. ### Node enhancements -[Salesforce Node](/integrations/nodes/n8n-nodes-base.salesforce): Add the **Country** field. +[Salesforce Node](/integrations/nodes/n8n-nodes-base.salesforce){:target=_blank}: Add the **Country** field. ### Bug fixes * **Editor UI**: don't display the dividing line unless necessary. * **Editor UI**: don't display the 'Welcome' sticky in template workflows. -* [Slack Node](/integrations/nodes/n8n-nodes-base.slack): Fix the kick operation for the channel resource. +* [Slack Node](/integrations/nodes/n8n-nodes-base.slack){:target=_blank}: Fix the kick operation for the channel resource. ## n8n@0.177.0