Merge branch 'master' into docs/ghost

This commit is contained in:
Tanay Pant 2020-12-14 13:20:03 +01:00
commit 47682bc7b3
36 changed files with 387 additions and 44 deletions

View File

@ -2,6 +2,10 @@
Let's create your first workflow in n8n. We'll create a workflow that will add a new card to a Trello board whenever a user submits a feedback score that is less than seven. You can also find the [workflow](https://n8n.io/workflows/791) on n8n.io.
Here's a video that will take you through the process of creating this workflow.
<iframe width="560" height="315" src="https://www.youtube.com/embed/NEuto0F41WY" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
## Prerequisites
Youll need the following tools and resources to complete the tutorial:

View File

@ -4,6 +4,7 @@
- [Automating Conference Organization Processes with n8n](https://medium.com/n8n-io/automating-conference-organization-processes-with-n8n-ab8f64a7a520)
- [Automate Designs with Bannerbear and n8n](https://medium.com/n8n-io/automate-designs-with-bannerbear-and-n8n-2b64c94b54db)
- [Building an expense tracking app in 10 minutes 📱](https://medium.com/n8n-io/building-an-expense-tracking-app-in-10-minutes-74b0cececc90)
- [Creating Custom Incident Response Workflows with n8n 🚨](https://medium.com/n8n-io/creating-custom-incident-response-workflows-with-n8n-9baef0bbedb9)
- [Creating Error Workflows in n8n 🌪](https://medium.com/n8n-io/creating-error-workflows-in-n8n-6e03c9ecbc0f)
- [Creating scheduled text affirmations with n8n 🤟](https://medium.com/n8n-io/creating-scheduled-text-affirmations-with-n8n-1c4189efae19)
@ -32,4 +33,4 @@
- [n8n basics 2/3 - Simple Workflow](https://www.youtube.com/watch?v=ovlxledZfM4)
- [n8n basics 3/3 - Transforming JSON](https://www.youtube.com/watch?v=wGAEAcfwV8w)
- [n8n nodes - Using Google Sheets and Google API](https://www.youtube.com/watch?v=KFqx8OmkqVE)
- [Raspberry Pi as a local server for self-hosting applications like n8n](https://cri.dev/posts/2020-09-12-Raspberry-Pi-as-a-local-server-for-self-hosting-applications/)
- [Raspberry Pi as a local server for self-hosting applications like n8n](https://cri.dev/posts/2020-09-12-Raspberry-Pi-as-a-local-server-for-self-hosting-applications/)

View File

@ -12,12 +12,25 @@ You can use these credentials to authenticate the following nodes with Harvest.
Create a [Harvest](https://www.getharvest.com/) account.
## Using OAuth
1. Access the [Harvest Developer](https://id.getharvest.com/developers) portal.
2. Click on the ***Create New OAuth2 Application*** button.
3. Enter an application name in the ***Name*** field.
4. Copy the 'OAuth Callback URL' provided in the Harvest OAuth2 API credentials in n8n and paste it in the ***Redirect URL*** field.
5. Click on the ***Create Application*** button.
6. Copy the ***Client ID*** and ***Client Secret*** provided by the new Harvest app that you created and paste it in the Harvest OAuth2 API credentials in n8n.
7. Click on the circle button in the OAuth section to connect your Harvest account to n8n.
8. Click on the ***Save*** button to save your credentials.
![Getting Harvest OAuth2 credentials](./using-oauth.gif)
## Using Access Token
1. Open the Harvest [Developers portal](https://id.getharvest.com/developers).
2. Click "Create New Personal Access Token".
3. Enter token name.
4. You will then receive your token and Account ID.
5. Use the token and Account ID with Harvest node credentials in n8n.
1. Access the [Harvest Developer](https://id.getharvest.com/developers) portal.
2. Click on the ***Create New Personal Access Token*** button.
3. Enter a token name in the ***Name*** field.
4. Click on the ***Create Personal Access Token*** button.
5. Use the token with Harvest node credentials in n8n.
![Getting Harvest credentials](./using-access-token.gif)
![Getting Harvest Access Token credentials](./using-access-token.gif)

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

View File

@ -10,10 +10,41 @@ You can use these credentials to authenticate the following nodes with IMAP.
## Prerequisites
Create an email account on a service with IMAP support.
Create an email account on a service with IMAP support.
## Using IMAP
1. Retrieve your login credentials and IMAP connection parameters.
2. Use the login credentials and IMAP connection parameters with your IMAP Email node credentials in n8n.
3. Click on the ***Save*** button to save your credentials.
## Using Gmail
1. Access your [Gmail](https://mail.google.com) account.
2. Click on the gears icon on the top and click on ***See all settings***.
3. Click on the ***Forwarding and POP/IMAP*** tab.
4. Under the ***IMAP access*** section, select 'Enable IMAP'.
5. Click on the ***Save Changes*** button.
6. Go to your [Google Account](https://myaccount.google.com) page.
7. Click on ***Security*** on the left sidebar.
8. Click on ***2-Step Verification*** under the ***Signing in to Google*** section.
9. Set up your 2-Step Verification method.
10. Click on ***App passwords*** under the ***Signing in to Google*** section.
11. Select 'Mail' from the ***Select app*** dropdown list.
12. Select 'Other' from the ***Select device*** dropdown list.
13. Enter a name in the text field.
14. Click on the ***GENERATE*** button.
15. Copy the displayed password.
16. In the IMAP node credentials, enter your email address in the ***User*** field. For example, `example@gmail.com`.
17. Paste the App password you copied in **Step 15** in the ***Password*** field.
18. Enter `imap.google.com` in the ***Host*** field.
19. Toggle ***SSL/TLS*** to `true`.
20. Click on ***Save*** to save your credentials.
**Note:** Before executing the node, set the ***Ignore SSL Issues*** option to true as the Gmail certificate is self-signed.
## Further Reading
- [Set up IMAP](https://support.google.com/mail/answer/7126229?hl=en)
- [Sign in with App Passwords](https://support.google.com/accounts/answer/185833?hl=en)

View File

@ -7,6 +7,7 @@ description: Learn to configure credentials for the Kafka node in n8n
You can use these credentials to authenticate the following nodes with Kafka.
- [Kafka](../../nodes-library/nodes/Kafka/README.md)
- [Kafka Trigger](../../nodes-library/trigger-nodes/KafkaTrigger/README.md)
## Prerequisites

View File

@ -42,12 +42,14 @@ You'll only need to enter the Credentials Name and click on the circle button in
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 New App' button.
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. Use your Verification Token with your Slack node credentials in n8n.
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.
![Getting Slack credentials](./using-access-token.gif)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 MiB

After

Width:  |  Height:  |  Size: 3.3 MiB

View File

@ -14,11 +14,25 @@ Create a [Twitter developer account](https://developer.twitter.com/).
## Using OAuth
1. Go to the [apps page](https://developer.twitter.com/en/apps) in your Twitter developer account.
2. Click on the *Create an app* button.
3. Type in any necessary information and ensure 'Enable Sign in with Twitter' is checked.
4. Copy the 'OAuth Callback URL' provided in the Twitter OAuth API credentials in n8n and paste it in the 'Callback URLs' section in the Twitter app creation page.
5. Click on the *Create* button.
6. Click on *Keys and tokens* and use the 'API key' and the 'API secret key' with your Twitter OAuth API credentials in n8n.
7. Click on the circle button in the OAuth section to connect a Twitter account to n8n.
8. Click the *Save* button to save your credentials.
1. Access the [Twitter Developer](https://developer.twitter.com/en/portal/projects-and-apps) portal.
2. Scroll down to the ***Standalone Apps*** section and click on the ***+Create App*** button.
3. Enter a name for your app in the ***App name*** field.
4. Click on the ***Complete*** button.
5. Copy the displayed ***API key*** and ***API secret key***.
6. Scroll down to the ***Setup your App*** section and click on the ***App settings*** button.
7. Scroll down to the ***Authentication settings*** section and click on the ***Edit*** button.
8. Toggle ***Enable 3-legged OAuth*** to `true`.
9. Copy the 'OAuth Callback URL' provided in the Twitter OAuth API credentials in n8n and paste it in the ***Callback URLs*** field on the Twitter Developer Portal.
10. Enter your website URL in the ***Website URL*** field.
11. Click on the ***Save*** button.
12. Use the 'API key' and the 'API secret key' that you copied earlier with your Twitter OAuth API credentials in n8n.
13. Click on the circle button in the OAuth section to connect a Twitter account to n8n.
14. Click the ***Save*** button to save your credentials.
**Note:** If you want to create, like, or retweet a tweet, or send a direct message you have to provide the appropriate App permissions to your Twitter app.
![Getting Twitter credentials](./using-oauth.gif)
## Further Reference
- [Application-only Authentication](https://developer.twitter.com/en/docs/authentication/oauth-2-0/application-only)

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 MiB

View File

@ -0,0 +1,23 @@
---
permalink: /credentials/yourls
description: Learn to configure credentials for the Yourls node in n8n
---
# Yourls
You can use these credentials to authenticate the following nodes with Yourls.
- [Yourls](../../nodes-library/nodes/Yourls/README.md)
## Prerequisites
Install [Yourls](https://github.com/YOURLS/YOURLS) on your server.
## Using API
1. Access your Yourls Admin dashboard.
2. Click on ***Tools*** on the top left.
3. Scroll down to the ***Secure passwordless API call*** section.
4. Copy the ***signature token***.
5. Use this ***Signature*** and the URL of your Yourls instance with your Yourls node credentials in n8n.
![Getting Yourls credentials](./using-api.gif)

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 MiB

View File

@ -10,6 +10,7 @@ The Error Trigger node triggers a workflow when another workflow has an error. O
::: tip 💡 Keep in mind
1. If a workflow is using the Error Trigger node, you don't have to activate the workflow.
2. If you want to receive error messages for a workflow, make sure that you select the 'Error Workflow' in the ***Workflow Settings*** for the workflow.
3. If a workflow is using the Error Trigger node, by default, the workflow will use itself as the Error Workflow.
:::
## Example Usage

View File

@ -129,6 +129,7 @@ When the node gets executed, you will receive the HTTP status code, the HTTP sta
## Further Reading
- [Building an expense tracking app in 10 minutes 📱](https://medium.com/n8n-io/building-an-expense-tracking-app-in-10-minutes-74b0cececc90)
- [Creating scheduled text affirmations with n8n 🤟](https://medium.com/n8n-io/creating-scheduled-text-affirmations-with-n8n-1c4189efae19)
- [Cross-posting content automatically with n8n ✍️](https://medium.com/n8n-io/automating-cross-posting-blog-posts-using-n8n-%EF%B8%8F-af2a89601810)
- [HTTP Request Node — The Swiss Army Knife](https://medium.com/n8n-io/http-request-node-the-swiss-army-knife-b14e22283383)

View File

@ -59,5 +59,6 @@ You can deactivate this behaviour by clicking on the *Add Option* button and set
## Further Reading
- [Building an expense tracking app in 10 minutes 📱](https://medium.com/n8n-io/building-an-expense-tracking-app-in-10-minutes-74b0cececc90)
- [Effortless video collaboration with Whereby, Mattermost, and n8n 📹](https://medium.com/n8n-io/effortless-video-collaboration-with-whereby-mattermost-and-n8n-8fc397feb9cb)
- [Smart Factory Automation using IoT and Sensor Data with n8n 🏭](https://medium.com/n8n-io/smart-factory-automation-using-iot-and-sensor-data-with-n8n-27675de9943b)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 140 KiB

After

Width:  |  Height:  |  Size: 151 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 134 KiB

After

Width:  |  Height:  |  Size: 140 KiB

View File

@ -19,10 +19,9 @@ You can find authentication information for this node [here](../../../credential
- Read data from a table
- Update data in a table
## Example Usage
This workflow allows you to insert and list data from a table in Airtable. You can also find the [workflow](https://n8n.io/workflows/601) on n8n.io. This example usage workflow would use the following nodes.
This workflow allows you to insert and update data from a table in Airtable. You can also find the [workflow](https://n8n.io/workflows/818) on n8n.io. This example usage workflow would use the following nodes.
- [Start](../../core-nodes/Start/README.md)
- [Set](../../core-nodes/Set/README.md)
- [Airtable]()
@ -35,39 +34,101 @@ The final workflow should look like the following image.
The start node exists by default when you create a new workflow.
### 2. Set node
We will use the Set node to set the values for the name and id fields for a new record.
1. Click on the ***Add Value*** button and select 'Number' from the dropdown list.
2. Enter `id` in the ***Name*** field.
3. Click on the ***Add Value*** button and select 'String' from the dropdown list.
4. Enter `name` in the ***Name*** field.
5. Enter the value for the name in the ***Value*** field.
6. Click on ***Execute Node*** to run the node.
2. Enter `ID` in the ***Name*** field.
3. Enter an id in the ***Value*** field.
4. Click on the ***Add Value*** button and select 'String' from the dropdown list.
5. Enter `Name` in the ***Name*** field.
6. Enter a name in the ***Value*** field.
7. Click on ***Execute Node*** to run the node.
In the screenshot below, you will notice that the node sets the value for `ID` and `Name`.
![Using the Set node to set data to be inserted by the Airtable node](./Set_node.png)
### 3. Airtable node (Append)
This node will append the data that we set in the previous node to a table. Create a table like [this](https://airtable.com/shrN2yLZyKEETq1xj) in your Airtable base.
1. First of all, you'll have to enter credentials for the Airtable node. You can find out how to do that [here](../../../credentials/Airtable/README.md).
2. Select the 'Append' option from the ***Operation*** dropdown list.
2. Select 'Append' from the ***Operation*** dropdown list.
3. Enter the Base ID in the ***Base ID*** field. For obtaining the Base ID, head over to their [API page](https://airtable.com/api) and select the correct base. Youll find the Base ID there.
4. Enter the name of the table in the ***Table*** field.
5. Click on ***Execute Node*** to run the workflow.
4. Enter the name of your table in the ***Table*** field.
5. Click on ***Execute Node*** to run the node.
In the screenshot below, you will notice that the node appends the data that we had set in the previous node.
![Using the Airtable node to insert data into an Airtable table](./Airtable_node.png)
### 4. Airtable1 node (List)
This node will list all the records with the name `n8n`. If you want to list records with a different name, use that name instead.
::: v-pre
1. Select the credentials that you entered in the previous node.
2. Select the 'List' option from the ***Operation*** dropdown list.
3. Enter the base ID used in the previous node in the ***Base ID*** field.
4. Enter the name of the table used in the previous node in the ***Table*** field.
5. Click on ***Execute Node*** to run the workflow.
3. Click on the gears icon next to the ***Base ID*** field and click on ***Add Expression***.
4. Select the following in the ***Variable Selector*** section: Nodes > Airtable > Parameters > application. You can also add the following expression: `{{$node["Airtable"].parameter["application"]}}`.
5. Click on the gears icon next to the ***Table*** field and click on ***Add Expression***.
6. Select the following in the ***Variable Selector*** section: Nodes > Airtable > Parameters > table. You can also add the following expression: `{{$node["Airtable"].parameter["table"]}}`.
7. Click on ***Add Option*** and select 'Filter By Formula' from the dropdown list.
8. Enter `Name='n8n'` in the ***Filter By Formula*** field.
9. Click on ***Execute Node*** to run the node.
:::
In the screenshot below, you will notice that the node only returns the record with the name `n8n`.
![Using the Airtable node to read data from an Airtable table](./Airtable1_node.png)
### 5. Set1 node
We will use the Set node to ensure that only the data that we set in this node gets passed on to the next nodes in the workflow. We will set the value of `Name` in this node.
1. Click on the ***Add Value*** button and select 'String' from the dropdown list.
2. Enter `Name` in the ***Name*** field.
3. Enter `nodemation` in the ***Value*** field.
4. Toggle ***Keep Only Set*** to `true`. We set this option to true to ensure that only the data that we have set in this node get passed on to the next nodes in the workflow.
5. Click on ***Execute Node*** to run the node.
In the screenshot below, you will notice that the node sets the value of `Name`. This value is passed to the next node in the workflow.
![Using the Set node to set data to be inserted by the Airtable node](./Set_node.png)
### 6. Airtable2 node (Update)
This node will update the Name field of the record that we received from the previous Airtable node.
::: v-pre
1. Select the credentials that you entered in the previous Airtable node.
2. Select 'Update' from the ***Operation*** dropdown list.
3. Click on the gears icon next to the ***Base ID*** field and click on ***Add Expression***.
4. Select the following in the ***Variable Selector*** section: Nodes > Airtable > Parameters > application. You can also add the following expression: `{{$node["Airtable"].parameter["application"]}}`.
5. Click on the gears icon next to the ***Table*** field and click on ***Add Expression***.
6. Select the following in the ***Variable Selector*** section: Nodes > Airtable > Parameters > table. You can also add the following expression: `{{$node["Airtable"].parameter["table"]}}`.
7. Click on the gears icon next to the ***Id*** field and click on ***Add Expression***.
8. Select the following in the ***Variable Selector*** section: Nodes > Airtable1 > Output Data > JSON > id. You can also add the following expression: `{{$node["Airtable1"].json["id"]}}`.
9. Click on ***Execute Node*** to run the node.
:::
In the screenshot below, you will notice that the node updates the Name field.
![Using the Airtable node to update data of a record](./Airtable2_node.png)
## FAQs
### 1. How to get the Record ID?
To fetch data for a particular record, you need the Record ID. There are two ways to get the Record ID.
**Create a Record ID column in Airtable**
To create a `Record ID` column in your table, refer to this [article](https://support.airtable.com/hc/en-us/articles/360051564873-Record-ID). You can then use this Record ID in your Airtable node.
**Use the List operation**
To get the Record ID of your record, you can use the ***List*** operation of the Airtable node. This operation will return the Record ID along with the fields. You can then use this Record ID in your Airtable node.
## Further Reading
- [Automating Conference Organization Processes with n8n](https://medium.com/n8n-io/automating-conference-organization-processes-with-n8n-ab8f64a7a520)
- [Building an expense tracking app in 10 minutes 📱](https://medium.com/n8n-io/building-an-expense-tracking-app-in-10-minutes-74b0cececc90)

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 236 KiB

After

Width:  |  Height:  |  Size: 134 KiB

View File

@ -56,46 +56,69 @@ The start node exists by default when you create a new workflow.
### 2. Gmail node (getAll: message)
This node will return ten messages with the label `n8n` from Gmail. If you want to return all the messages toggle ***Return All*** to `true`.
1. First of all, you'll have to enter credentials for the Gmail node. You can find out how to do that [here](../../../credentials/Google/README.md).
2. Select 'Message' from the ***Resource*** dropdown list.
3. Select 'Get All' from the ***Operation*** dropdown list.
4. Click on ***Add Field*** button and select 'Format' from the dropdown list.
5. Select 'Full' from ***Format*** dropdown menu.
6. Click on ***Add Field*** button and select 'Label IDs' from the dropdown list.
7. Select the label from ***Label IDs*** dropdown list.
4. Click on the ***Add Field*** button and select 'Format' from the dropdown list.
5. Select 'Full' from ***Format*** dropdown menu. This option will return the full email message data with the body content parsed in the payload field.
6. Click on the ***Add Field*** button and select 'Label IDs' from the dropdown list.
7. Select the label from the ***Label IDs*** dropdown list.
8. Click on ***Execute Node*** to run the node.
In the screenshot below, you will notice that the node returns ten email messages with the label `n8n`.
![Using the Gmail node to get all messages with a particular label](./Gmail_node.png)
::: v-pre
### 3. Gmail1 node (remove: messageLabel)
This node will remove the label `n8n` from all the messages that you received in the previous node. If you want to remove a different label, select that label instead.
1. Select the credentials that you entered in the previous Gmail node.
2. Select 'Message Label' from the ***Resource*** dropdown list.
3. Select 'Remove' from the ***Operation*** dropdown list.
4. Click on the gears icon next to the ***Message ID*** field and click on ***Add Expression***.
5. Select the following in the ***Variable Selector*** section: Nodes > Gmail > Output Data > JSON > id. You can also add the following expression: `{{$node["Gmail"].json["id"]}}`.
6. Select the label from ***Label IDs*** dropdown list.
6. Select the label from the ***Label IDs*** dropdown list.
7. Click on ***Execute Node*** to run the node.
:::
In the screenshot below, you will notice that the node removes the `n8n` label from the messages that we received from the previous node.
![Using the Gmail node to remove a label from the messages](./Gmail1_node.png)
::: v-pre
### 4. Gmail2 node (add: messageLabel)
This node will add a new label `nodemation` to the messages that we received from the Gmail node. If you want to add a different label, select that label instead.
1. Select the credentials that you entered in the previous Gmail node.
2. Select 'Message Label' from the ***Resource*** dropdown list.
3. Click on the gears icon next to the ***Message ID*** field and click on ***Add Expression***.
4. Select the following in the ***Variable Selector*** section: Nodes > Gmail > Output Data > JSON > id. You can also add the following expression: `{{$node["Gmail"].json["id"]}}`.
5. Select the label from ***Label IDs*** dropdown list.
5. Select the label from the ***Label IDs*** dropdown list.
6. Click on ***Execute Node*** to run the node.
:::
In the screenshot below, you will notice that the node adds a new label `nodemation` to the messages that we received from the Gmail node.
![Using the Gmail node to add a label to the messages](./Gmail2_node.png)
## FAQs
### 1. How to return all the messages with a particular label?
To return all the messages with a particular label, follow the steps mentioned below.
1. Select 'Message' from the ***Resource*** dropdown list.
2. Select 'Get All' from the ***Operation*** dropdown list.
3. If you want to all return all the messages with a particular, toggle ***Return All*** to `true`.
4. Click on ***Add Field*** and select 'Query'.
5. Enter `label:LABEL_NAME` in the ***Query*** field. Replace `LABEL_NAME` with your label name.
6. Click on ***Execute Node*** to run the node.
Refer to [Search operators you can use with Gmail](https://support.google.com/mail/answer/7190?hl=en) to learn more about filtering your search results.
## Further Reading

View File

@ -50,11 +50,11 @@ In the screenshot below, you will notice that the HTTP Request node downloads th
![Using the HTTP Request node to get the file](./HTTPRequest_node.png)
### 3. Mindee node (predict: receipt)
This node will get the image of the receipt (binary data) from the HTTP Request node and extract the information from it.
1. Select 'Receipt' from the ***Resource*** dropdown list.
1. Select 'Receipt' from the ***Resource*** dropdown list.
2. You'll have to enter credentials for the Mindee node. You can find out how to do that [here](../../../credentials/Mindee/README.md).
3. Click on ***Execute Node*** to run the workflow.
@ -65,3 +65,4 @@ In the screenshot below, you will notice that the node extracts the information
## Further Reading
- [Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n 🧾](https://medium.com/n8n-io/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n-c47eb2f8d7a5)
- [Building an expense tracking app in 10 minutes 📱](https://medium.com/n8n-io/building-an-expense-tracking-app-in-10-minutes-74b0cececc90)

View File

@ -0,0 +1,62 @@
---
permalink: /nodes/n8n-nodes-base.yourls
description: Learn how to use the Yourls node in n8n
---
# Yourls
[Yourls](http://yourls.org/) is a free and open-source software that allows you to run your URL shortening service.
::: tip 🔑 Credentials
You can find authentication information for this node [here](../../../credentials/Yourls/README.md).
:::
## Basic Operations
::: details URL
- Expand a URL
- Shorten a URL
- Get stats about one short URL
:::
## Example Usage
This workflow allows you to create a short URL and get the statistics of the URL. You can also find the [workflow](https://n8n.io/workflows/815) on n8n.io. This example usage workflow uses the following nodes.
- [Start](../../core-nodes/Start/README.md)
- [Yourls]()
The final workflow should look like the following image.
![A workflow with the Yourls node](./workflow.png)
### 1. Start node
The start node exists by default when you create a new workflow.
### 2. Yourls node (shorten: url)
This node will create a short URL for the link we specify.
1. First of all, you'll have to enter credentials for the Yourls node. You can find out how to do that [here](../../../credentials/Yourls/README.md).
2. Enter the URL that you want to shorten in the ***URL*** field.
3. Click on ***Add Field*** and select 'Title'.
4. Enter a title in the ***Title*** field.
5. Click on ***Execute Node*** to run the node.
In the screenshot below, you will notice that the node creates a short URL for the URL you specified.
![Using the Yourls node to create short URL](./Yourls_node.png)
### 3. Yourls1 node (stats: url)
This node will give us the statistics of the short URL that we specify. We will get the statistics for the URL that we created in the previous step.
::: v-pre
1. Select the credentials that you entered in the previous node.
2. Select 'Stats' from the ***Operation*** dropdown list.
3. Click on the gears icon next to the ***Short URL*** field and click on ***Add Expression***.
4. Select the following in the ***Variable Selector*** section: Nodes > Yourls > Output Data > JSON > shorturl. You can also add the following expression: `{{$node["Yourls"].json["shorturl"]}}`.
5. Click on ***Execute Node*** to run the node.
:::
In the screenshot below, you will notice that the node gives us the statistics of the short URL that we created in the previous node.
![Using the Yourls node to get the statistics of a short URL](./Yourls1_node.png)

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 211 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

View File

@ -0,0 +1,87 @@
---
permalink: /nodes/n8n-nodes-base.kafkaTrigger
description: Learn how to use the Kafka Trigger node in n8n
---
# Kafka Trigger
[Kafka](https://kafka.apache.org/) is an open-source distributed event streaming platform that one can use for high-performance data pipelines, streaming analytics, data integration, and mission-critical applications.
::: tip 🔑 Credentials
You can find authentication information for this node [here](../../../credentials/Kafka/README.md).
:::
## Example Usage
This workflow allows you to receive messages from a topic and send an SMS if the value of the temperature is greater than 50. You can also find the [workflow](https://n8n.io/workflows/814) on n8n.io. This example usage workflow would use the following nodes.
- [Kafka Trigger]()
- [IF](../../core-nodes/If/README.md)
- [Vonage](../../nodes/Vonage/README.md)
- [No Operation, do nothing](../../core-nodes/NoOperationDoNothing/README.md)
The final workflow should look like the following image.
![A workflow with the Kafka Trigger node](./workflow.png)
### 1. Kafka Trigger node
This node will trigger the workflow when a new message is sent to the topic `test_topic`. If you're using a different topic, use that instead. We are sending the message `{ "id": 1, "temp": 100 }` to `test_topic`.
1. First of all, you'll have to enter credentials for the Kafka Trigger node. You can find out how to do that [here](../../../credentials/Kafka/README.md).
2. Enter the name of the topic in the ***Topic*** field.
3. Enter the group ID in the ***Group ID*** field.
4. Click on ***Add Option*** and select 'JSON Parse Message'.
5. Toggle ***JSON Parse Message*** to `true`.
6. Click on ***Execute Node*** to run the node.
In the screenshot below, you will notice that the node gets triggered when a new message is sent to the `topic_test` topic in Kafka.
![Using the Kafka Trigger node to get a message from a topic](./KafkaTrigger_node.png)
### 2. IF node
This node will compare the value of `temp` that we received in the message from the previous node. If the value is greater than 50, it will return true otherwise false.
::: v-pre
1. Click on ***Add Condition*** and select 'Number' from the dropdown list.
2. Click on the gears icon next to the ***Value 1*** field and click on ***Add Expression***.
3. Select the following in the ***Variable Selector*** section: Nodes > Kafka Trigger > Output Data > JSON > message > temp. You can also add the following expression: `{{$node["Kafka Trigger"].json["message"]["temp"]}}`.
4. Select 'Larger' from the ***Operation*** dropdown list.
5. Set ***Value 2*** to 50.
6. Click on ***Execute Node*** to run the node.
:::
In the screenshot below, you will notice that the node returns output for **true** when the temperature is greater than 50.
![Using the IF node to check if the temp is larger than 50](./IF_node.png)
### 3. Vonage node (send: sms)
This node sends an SMS to the specified phone number when the value of `temp` is greater than `50`.
1. Create a Vonage node connected to the 'true' output of the IF node.
2. You'll have to enter credentials for the Vonage node. You can find out how to do that [here](../../../credentials/Vonage/README.md).
3. Enter the name of the sender in the ***From*** field. If you're using a number, enter the number instead.
4. Enter the receiver's phone number in the ***To*** field.
5. Click on the gears icon next to the ***Message*** field and click on ***Add Expression***.
::: v-pre
6. Enter the following in the ***Expression*** field.
```
Alert!
The value of temp is {{$node["Kafka Trigger"].json["message"]["temp"]}}.
```
7. Click on ***Execute Node*** to run the node.
:::
In the screenshot below, you will notice that the node sends an SMS with the value of `temp` that we received from the Kafka Trigger node.
![Using the Vonage node to send an SMS](./Vonage_node.png)
### 4. NoOp node
Adding this node here is optional, as the absence of this node won't make a difference to the functioning of the workflow.
1. Create a ***NoOp*** node connected to the 'false' output of the IF node.
2. Click on ***Execute Node*** to run the node.
![Using the NoOp node](./NoOp_node.png)

Binary file not shown.

After

Width:  |  Height:  |  Size: 188 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 KiB

View File

@ -5,7 +5,7 @@ description: Learn how to use the Typeform Trigger node in n8n
# Typeform Trigger
[Typeform](https://www.typeform.com/) is an online software as a service company that specializes in online form building and online surveys. Its main software creates dynamic forms based on user needs.
[Typeform](https://www.typeform.com/) is an online software as a service company that specializes in online form building and online surveys. Its main software creates dynamic forms based on user needs.
::: tip 🔑 Credentials
You can find authentication information for this node [here](../../../credentials/Typeform/README.md).
@ -32,4 +32,5 @@ The final workflow should look like the following image.
## Further Reading
- [Automating Conference Organization Processes with n8n](https://medium.com/n8n-io/automating-conference-organization-processes-with-n8n-ab8f64a7a520)
- [Building an expense tracking app in 10 minutes 📱](https://medium.com/n8n-io/building-an-expense-tracking-app-in-10-minutes-74b0cececc90)
- [Supercharging your conference registration process with n8n 🎫](https://medium.com/n8n-io/supercharging-your-conference-registration-process-with-n8n-2831cdff37f9)

View File

@ -1,5 +1,21 @@
# Changelog
## n8n@0.97.0
For a comprehensive list of changes, check out the [commits](https://github.com/n8n-io/n8n/compare/n8n@0.96.0...n8n@0.97.0) for this version.<br />
**Release date:** 2020-12-10
- New nodes
- Ghost
- Nasa
- Snowflake
- Twist
- Enhanced nodes
- Automizy: Added options to add and remove tabs for the Update operation of the Contact resource
- Pipedrive: Added label field to Person, Organization, and Deal resources. Also added Update operation for the Organization resource
- Bug fixes
- Fixed a bug that caused OAuth1 requests to break
- Fixed Docker user mount path
## n8n@0.96.0
For a comprehensive list of changes, check out the [commits](https://github.com/n8n-io/n8n/compare/n8n@0.95.1...n8n@0.96.0) for this version.<br />
**Release date:** 2020-12-03