diff --git a/docs/nodes/credentials/Beeminder/README.md b/docs/nodes/credentials/Beeminder/README.md index 0314c1d30..202d2864b 100644 --- a/docs/nodes/credentials/Beeminder/README.md +++ b/docs/nodes/credentials/Beeminder/README.md @@ -14,12 +14,12 @@ Create a [Beeminder](https://Beeminder.io/account) account. ## Using API Key -1. Access your [Beeminder dashboard](https://beeminder.com/home). +1. Open your [Beeminder dashboard](https://beeminder.com/home). 2. Click on your avatar at the top-right corner. 3. Select 'ACCOUNT SETTINGS' from the dropdown list. 4. Scroll up and click on the ***APPS & API*** tab. 5. Copy the ***Auth Token*** displayed in the ***API*** section. -6. Enter a name for your credentials in the ***Credentials Name*** field in the 'Beeminder API' credentials in n8n. +6. Enter the name for your credentials in the ***Credentials Name*** field in the 'Beeminder API' credentials in n8n. 7. Enter your username in the ***User*** field. 8. Paste the Auth Token in the ***Auth Token*** field. 9. Click on the ***Save*** button to save your credentials. diff --git a/docs/nodes/credentials/PipeDrive/README.md b/docs/nodes/credentials/PipeDrive/README.md index 9d729101d..febbf9526 100644 --- a/docs/nodes/credentials/PipeDrive/README.md +++ b/docs/nodes/credentials/PipeDrive/README.md @@ -15,36 +15,51 @@ Create a [Pipedrive](https://pipedrive.com/) account. ## Using OAuth -::: tip ⛅️ Note for n8n.cloud users + 1. Create a [Developer Sandbox Account](https://pipedrive.readme.io/docs/developer-sandbox-account). -2. Access your Pipedrive Dashboard. -3. Click on your user profile in the top right and select 'Tools and apps' from the dropdown list. +2. Open your Pipedrive Dashboard. +3. Click on your user profile in the top right and select 'Tools and integrations' from the dropdown list. 4. From the sidebar under the ***Tools*** section, select 'Marketplace manager'. 5. Click on the ***Create new app*** button. 6. Select either 'Yes' or 'No' when asked if you would like to publish your app on the Pipedrive marketplace. 7. Click on the ***Next*** button. -8. Enter a name in the ***App name*** field. +8. Enter the name of the app in the ***App name*** field. 9. Copy the 'OAuth Callback URL' provided in the 'Pipedrive OAuth2 API' credentials in n8n. 10. On the Pipedrive app creation page, scroll down to the ***OAuth & Access scopes*** section and paste the URL in the ***Callback URL*** field. -11. Click on the ***Save*** button on the top. -12. Select your app from the 'Marketplace Manager' -13. Scroll down to ***OAuth & Access scopes*** section and copy the ***Client ID*** and ***Client Secret***. -14. Use these credentials with your Pipedrive node credentials in n8n. -15. Click on the circle button in the OAuth section to connect a Pipedrive account to n8n. -16. Click on the ***Save*** button to save your credentials. +11. Based on your use-case, select the scopes from the ***Access scopes*** section. +12. Scroll up and click on the ***Save*** button on the top. +13. Select your app from the 'Marketplace manager' +14. Scroll down to ***OAuth & Access scopes*** section and copy the ***Client ID***. +15. Enter the name for your credentials in the ***Credentials Name*** field in the 'Pipedrive OAuth2 API' credentials in n8n. +16. Paste the client ID in the ***Client ID*** field in the 'Pipedrive OAuth2 API' credentials in n8n. +17. On the Pipedrive application page, click on the ***Show*** button next to ***Client Secret***. +18. Copy the ***Client Secret***. +19. Paste the client secret in the ***Client Secret*** field in the 'Pipedrive OAuth2 API' credentials in n8n. +20. Click on the circle button in the OAuth section to connect a Pipedrive account to n8n. +21. Click on the ***Save*** button to save your credentials. -![Getting Pipedrive OAuth credentials](./using-oauth.gif) +The following video demonstrates the steps mentioned above. -## Using Access Token +
+ +
-1. Access your Pipedrive Dashboard. +## Using API Token + +1. Open your Pipedrive Dashboard. 2. Click on your user profile in the top right. -3. Select 'Settings' from the dropdown list. -4. Click on the 'API' tab. -5. Click on the ***Generate new token*** button. -6. Use the displayed token with your Pipedrive node credentials in n8n. +3. Select 'Personal preferences' from the dropdown list. +4. Click on the ***API*** tab. +5. Click on the ***Copy*** button to copy the API Token. +6. Enter the name for your credentials in the ***Credentials Name*** field in the 'Pipedrive API' credentials in n8n. +7. Paste the API token in the ***API Token*** field in the 'Pipedrive API' credentials in n8n. +8. Click on the ***Create*** button to save your credentials. -![Getting Pipedrive Access Token](./using-access-token.gif) +The following video demonstrates the steps mentioned above. + +
+ +
diff --git a/docs/nodes/credentials/PipeDrive/using-access-token.gif b/docs/nodes/credentials/PipeDrive/using-access-token.gif deleted file mode 100644 index a44823246..000000000 Binary files a/docs/nodes/credentials/PipeDrive/using-access-token.gif and /dev/null differ diff --git a/docs/nodes/credentials/PipeDrive/using-oauth.gif b/docs/nodes/credentials/PipeDrive/using-oauth.gif deleted file mode 100644 index 2965426ad..000000000 Binary files a/docs/nodes/credentials/PipeDrive/using-oauth.gif and /dev/null differ diff --git a/docs/nodes/credentials/SendGrid/README.md b/docs/nodes/credentials/SendGrid/README.md new file mode 100644 index 000000000..80f00d4eb --- /dev/null +++ b/docs/nodes/credentials/SendGrid/README.md @@ -0,0 +1,33 @@ +--- +permalink: /credentials/sendgrid +description: Learn to configure credentials for the SendGrid node in n8n +--- + +# SendGrid + +You can use these credentials to authenticate the following nodes with SendGrid. +- [SendGrid](../../nodes-library/nodes/SendGrid/README.md) + + +## Prerequisites + +Create a [SendGrid](https://SendGrid.com/) account. + +## Using API Key + +1. Open your SendGrid [dashboard](https://app.sendgrid.com/). +2. Click on ***Settings*** on the left sidebar. +3. Click on ***API Keys***. +4. Click on the ***Create API Key*** button. +5. Enter the name of the key in the ***API Key Name*** field. +6. Click on the ***Create & View*** button. +7. Click on the displayed API key to copy the key. +8. Enter the name for your credentials in the ***Credentials Name*** field in the 'SendGrid API' credentials in n8n. +9. Paste the 'API Key' in the ***API Key*** field. +10. Click on the ***Create*** button to save your credentials. + +The following video demonstrates the steps mentioned above. + +
+ +
diff --git a/docs/nodes/credentials/Slack/README.md b/docs/nodes/credentials/Slack/README.md index f04a26e24..5c833a3ef 100644 --- a/docs/nodes/credentials/Slack/README.md +++ b/docs/nodes/credentials/Slack/README.md @@ -18,38 +18,58 @@ Create a [Slack](https://slack.com/) account. You'll only need to enter the Credentials Name and click on the circle button in the OAuth section to connect your Slack account to n8n. ::: -1. Access your Slack workspace. -2. Click on your workspace name in the top left. -3. Click the 'Settings & administration' option, and then 'Manage apps'. -4. Click on the 'Build' button in the top right. -5. Click on the 'Start Building' button if this is your first Slack app, else click on the 'Create New App' button. -6. Enter an app name and select your desired workspace. -7. Scroll down and you will see your authentication information under the ***App Credentials*** section. -8. Copy and paste ***Client ID*** and ***Client Secret*** in the Slack OAuth2 API credentials in n8n. -9. Click on the 'Permissions' button in the ***Add features and functionality*** section. +1. Open the [Slack API](https://api.slack.com/) page. +2. Click on the ***Start Building*** button. +3. Enter the name of the app in the ***App Name*** field. +4. Select a workspace from the ***Development Slack Workspace*** dropdown list. +5. Click on the ***Create App*** button. +6. Scroll down to the ***App Credentials*** section. +7. Copy and paste ***Client ID*** and ***Client Secret*** in the 'Slack OAuth2 API' credentials in n8n. +8. On the Basic Information page, scroll up to the ***Add features and functionality*** section and click on 'Permissions'. +9. Click on the ***Add New Redirect URL*** in the ***Redirect URLs***. 10. Copy the 'OAuth Callback URL' provided in the 'Slack OAuth2 API' credentials in n8n. -11. Click on the ***Add New Redirect URL*** in the ***Redirect URLs*** section in the Slack OAuth & Permissions page. -12. Paste the 'OAuth Callback URL' in the field and click on the ***Save URLs*** button. -13. Scroll down and add any scopes you plan to use under the ***User Token Scopes*** section. -14. If you're building a bot, add the required scopes for the bot under the ***Bot Token Scopes*** section. -15. Click on the circle button in the OAuth section to connect a Slack account to n8n. -16. Click the ***Save*** button to save your credentials in n8n. +11. Paste the URL in the ***Redirect URLs*** field and click on the ***Add*** button. +12. Click on the ***Save URLs*** button. +13. Scroll down to the ***Scopes*** section. +14. Add the required scopes under the ***Bot Token Scopes*** section. You can refer to the list of scopes on the [Scopes and permissions](https://api.slack.com/scopes) documentation on Slack. +15. Enter a name for your credentials in the ***Credentials Name*** field in the 'Slack OAuth2 API' credentials in n8n. +16. Click on the circle button in the OAuth section to connect a Slack account to n8n. +17. Click the ***Save*** button to save your credentials in n8n. +18. On the Slack OAuth & Permissions page, scroll up to the ***OAuth Tokens & Redirect URLs*** section and click on the ***Install to Workspace*** button. +19. Click on the ***Allow*** button. -![Getting Slack OAuth credentials](./using-oauth.gif) +The following video demonstrates the steps mentioned above. + +
+ +
+ +The following video demonstrates the steps to authenticate the Slack node on [n8n.cloud](https://n8n.cloud). + +
+ +
## Using Access Token -1. Access your Slack workspace. -2. Click on your username in the top left. -3. Click the 'Settings & administration' option, and then 'Manage apps'. -4. Click on ***Build*** in the top right. -5. Click on the ***Start Building*** button if this is your first Slack app, else click on the ***Create an App*** button. -6. Enter an app name and select your desired workspace. -7. Click on the 'Permissions' button in the ***Add features and functionality*** section. -8. Scroll down and add any scopes you plan to use under the ***User Token Scopes*** section. -9. If you're building a bot, add the required scopes for the bot under the ***Bot Token Scopes*** section. -10. Click on the ***Install to Workspace*** button in the ***OAuth Tokens & Redirect URLs*** section. -11. Click on the ***Allow*** button to install the app in your workspace. -12. Use the displayed Access Token with your Slack node credentials in n8n. +1. Open the [Slack API](https://api.slack.com/) page. +2. Click on the ***Start Building*** button. +3. Enter the name of the app in the ***App Name*** field. +4. Select a workspace from the ***Development Slack Workspace*** dropdown list. +5. Click on the ***Create App*** button. +6. Click on 'Permissions' in the ***Add features and functionality*** section. +7. Scroll down to the ***Scopes*** section. +8. If you want your app to act on behalf of users that authorize the app, add the required scopes under the ***User Token Scopes*** section. +9. If you're building a bot, add the required scopes under the ***Bot Token Scopes*** section. You can refer to the list of scopes on the [Scopes and permissions](https://api.slack.com/scopes) documentation on Slack. +10. Scroll up to the ***OAuth Tokens & Redirect URLs*** section and click on the ***Install to Workspace*** button. +11. Click on the ***Allow*** button. +12. Copy the displayed 'OAuth Access Token' under the ***OAuth Tokens for Your Team*** section. +13. Paste it in the ***Access Token*** field in the 'Slack API' credentials in n8n. +14. Enter a name for your credentials in the ***Credentials Name*** field in the 'Slack API' credentials in n8n. +15. Click the ***Save*** button to save your credentials in n8n. -![Getting Slack credentials](./using-access-token.gif) +The following video demonstrates the steps mentioned above. + +
+ +
diff --git a/docs/nodes/credentials/Slack/using-access-token.gif b/docs/nodes/credentials/Slack/using-access-token.gif deleted file mode 100644 index 3ad779a5b..000000000 Binary files a/docs/nodes/credentials/Slack/using-access-token.gif and /dev/null differ diff --git a/docs/nodes/credentials/Slack/using-oauth.gif b/docs/nodes/credentials/Slack/using-oauth.gif deleted file mode 100644 index 167f51db4..000000000 Binary files a/docs/nodes/credentials/Slack/using-oauth.gif and /dev/null differ diff --git a/docs/nodes/credentials/Zendesk/README.md b/docs/nodes/credentials/Zendesk/README.md index 8ad9d6195..3e60c51c6 100644 --- a/docs/nodes/credentials/Zendesk/README.md +++ b/docs/nodes/credentials/Zendesk/README.md @@ -15,7 +15,7 @@ Create a [Zendesk](https://zendesk.com/) account. ## Using OAuth -1. Access your Zendesk dashboard. +1. Open your Zendesk dashboard. 2. Click on the gear icon on the left. 3. Click on 'API' under the ***CHANNELS*** section in the sidebar. 4. Click on the ***OAuth Clients*** tab. @@ -37,11 +37,13 @@ Create a [Zendesk](https://zendesk.com/) account. The following video demonstrates the steps mentioned above. +
+
## Using Access Token -1. Access your Zendesk dashboard. +1. Open your Zendesk dashboard. 2. Click on the gear icon on the left. 3. Click on 'API' under the ***CHANNELS*** section in the sidebar. 4. If ***Token access*** is disabled, click on the switch to toggle it to 'Enabled'. @@ -57,7 +59,9 @@ The following video demonstrates the steps mentioned above. The following video demonstrates the steps mentioned above. +
+
## FAQs diff --git a/docs/nodes/nodes-library/core-nodes/FunctionItem/README.md b/docs/nodes/nodes-library/core-nodes/FunctionItem/README.md index 5cfeb9db5..9d11a2df4 100644 --- a/docs/nodes/nodes-library/core-nodes/FunctionItem/README.md +++ b/docs/nodes/nodes-library/core-nodes/FunctionItem/README.md @@ -34,7 +34,10 @@ return item; ### Method: getBinaryData() Returns all the binary data (all keys) of the item which gets currently processed. - +```json +item.filename = getBinaryData().attachment_0.fileName; +return item; +``` ### Method: setBinaryData(binaryData) diff --git a/docs/nodes/nodes-library/nodes/Beeminder/README.md b/docs/nodes/nodes-library/nodes/Beeminder/README.md index eb2a98bfe..e84fd3acb 100644 --- a/docs/nodes/nodes-library/nodes/Beeminder/README.md +++ b/docs/nodes/nodes-library/nodes/Beeminder/README.md @@ -1,5 +1,5 @@ --- -permalink: /nodes/n8n-nodes-base.Beeminder +permalink: /nodes/n8n-nodes-base.beeminder description: Learn how to use the Beeminder node in n8n --- diff --git a/docs/nodes/nodes-library/nodes/SendGrid/README.md b/docs/nodes/nodes-library/nodes/SendGrid/README.md new file mode 100644 index 000000000..8242173f0 --- /dev/null +++ b/docs/nodes/nodes-library/nodes/SendGrid/README.md @@ -0,0 +1,94 @@ +--- +permalink: /nodes/n8n-nodes-base.sendGrid +description: Learn how to use the SendGrid node in n8n +--- + +# SendGrid + +[SendGrid](https://SendGrid.co) provides a cloud-based service that assists businesses with email delivery. + +::: tip 🔑 Credentials +You can find authentication information for this node [here](../../../credentials/SendGrid/README.md). +::: + +## Basic Operations + +::: details Contact +- Create/Update a contact +- Delete a contact +- Get a contact by ID +- Get all contacts +::: + +::: details List +- Create a list +- Delete a list +- Get a list +- Get all lists +- Update a list +::: + +## Example Usage + +This workflow allows you to create, update and get a contact using the SendGrid node. You can also find the [workflow](https://n8n.io/workflows/901) on n8n.io. This example usage workflow uses the following nodes. +- [Start](../../core-nodes/Start/README.md) +- [SendGrid]() + +The final workflow should look like the following image. + +![A workflow with the SendGrid node](./workflow.png) + +### 1. Start node + +The Start node exists by default when you create a new workflow. + +### 2. SendGrid node (upsert:contact) + +This node will create a contact in SendGrid. + +1. First of all, you'll have to enter credentials for the SendGrid node. You can find out how to do that [here](../../../credentials/SendGrid/README.md). +2. Select 'Contact' from the ***Resource*** dropdown list. +3. Select 'Create/Update' from the ***Operation*** dropdown list. +4. Enter an email address in the ***Email*** field. +5. Click on the ***Add Field*** button and select 'First Name'. +6. Enter the name of the contact in the ***First Name*** field. +7. Click on ***Execute Node*** to run the node. + +In the screenshot below, you will notice that the node creates contact with their first name. + +![Using the SendGrid node to create a new contact](./SendGrid_node.png) + +### 3. SendGrid1 node (upsert:contact) + +This node will update the contact that we created in the previous node. + +::: v-pre +1. Select the credentials that you entered in the previous node. +2. Select 'Contact' from the ***Resource*** dropdown list. +3. Select 'Create/Update' from the ***Operation*** dropdown list. +4. Click on the gears icon next to the ***Email*** field and click on ***Add Expression***. +5. Select the following in the ***Variable Selector*** section: Nodes > SendGrid > Parameters > email. You can also add the following expression: `{{$node["SendGrid"].parameter["email"]}}`. +6. Click on the ***Add Field*** button and select 'Last Name'. +7. Enter the last name of the contact in the ***Last Name*** field. +8. Click on ***Execute Node*** to run the node. +::: +In the screenshot below, you will notice that the node updates the contact that we created in the previous node. + +![Using the SendGrid node to update a contact](./SendGrid1_node.png) + +### 4. SendGrid2 node (get:contact) + +This node will return the information of the contact that we created using the SendGrid node. +::: v-pre +1. Select the credentials that you entered in the previous node. +2. Select 'Contact' from the ***Resource*** dropdown list. +3. Select 'Get' from the ***Operation*** dropdown list. +4. Select 'Email' from the ***By*** dropdown list. +5. Click on the gears icon next to the ***Email*** field and click on ***Add Expression***. +6. Select the following in the ***Variable Selector*** section: Nodes > SendGrid > Parameters > email. You can also add the following expression: `{{$node["SendGrid"].parameter["email"]}}`. +7. Click on ***Execute Node*** to run the node. +::: + +In the screenshot below, you will notice that the node returns the information of the contact that we created using the SendGrid node. + +![Using the SendGrid node to get information of a contact](./SendGrid2_node.png) diff --git a/docs/nodes/nodes-library/nodes/SendGrid/SendGrid1_node.png b/docs/nodes/nodes-library/nodes/SendGrid/SendGrid1_node.png new file mode 100644 index 000000000..2aad8e708 Binary files /dev/null and b/docs/nodes/nodes-library/nodes/SendGrid/SendGrid1_node.png differ diff --git a/docs/nodes/nodes-library/nodes/SendGrid/SendGrid2_node.png b/docs/nodes/nodes-library/nodes/SendGrid/SendGrid2_node.png new file mode 100644 index 000000000..cc354f174 Binary files /dev/null and b/docs/nodes/nodes-library/nodes/SendGrid/SendGrid2_node.png differ diff --git a/docs/nodes/nodes-library/nodes/SendGrid/SendGrid_node.png b/docs/nodes/nodes-library/nodes/SendGrid/SendGrid_node.png new file mode 100644 index 000000000..387079639 Binary files /dev/null and b/docs/nodes/nodes-library/nodes/SendGrid/SendGrid_node.png differ diff --git a/docs/nodes/nodes-library/nodes/SendGrid/workflow.png b/docs/nodes/nodes-library/nodes/SendGrid/workflow.png new file mode 100644 index 000000000..33ae2de18 Binary files /dev/null and b/docs/nodes/nodes-library/nodes/SendGrid/workflow.png differ diff --git a/docs/reference/changelog.md b/docs/reference/changelog.md index 616cfc055..c64461080 100644 --- a/docs/reference/changelog.md +++ b/docs/reference/changelog.md @@ -25,7 +25,7 @@ For a comprehensive list of changes, check out the [commits](https://github.com/ - AWS Lambda: Fixed an issue with signature - AWS SNS: Fixed an issue with signature - Fixed an issue with nodes not executing if two input gets passed and one of them didn't return any data -- The code editor can be closed either by clicking on the close (X) button or using the `ESC` key +- The code editor does not get closed when clicked anywhere outside the editor - Added CLI commands to [export](start-workflows-via-cli.md#export-workflows-and-credentials) and [import](start-workflows-via-cli.md#import-workflows-and-credentials) credentials and workflows - The title in the browser tab now resets for new workflows diff --git a/docs/reference/function-nodes.md b/docs/reference/function-nodes.md index a6204f58c..03d30197e 100644 --- a/docs/reference/function-nodes.md +++ b/docs/reference/function-nodes.md @@ -22,3 +22,9 @@ possible via the methods `getBinaryData` and `setBinaryData`. Both nodes support promises. So instead of returning the item or items directly, it is also possible to return a promise which resolves accordingly. + +#### Comparison +| Data to access | Function | FunctionItem | +| :-------------------------- | :--------------------- | :--------------- | +| JSON data | items\[_index_\].json | item | +| Binary data | items\[_index_\].binary | getBinaryData() |