Merge branch 'master' into docs/yourls
@ -2,6 +2,11 @@
|
||||
|
||||
Let's create your first workflow in n8n. We'll create a workflow which will run every morning at 8 AM and will send an SMS to tell you if you should take a sweater with you. You can also find the [workflow](https://n8n.io/workflows/409) 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/QhTsOMvqLuo" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
|
||||
|
||||
|
||||
## Prerequisites
|
||||
|
||||
You’ll need the following tools and resources to complete the tutorial:
|
||||
|
||||
@ -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
|
||||
|
||||
You’ll need the following tools and resources to complete the tutorial:
|
||||
|
||||
25
docs/nodes/credentials/Iterable/README.md
Normal file
@ -0,0 +1,25 @@
|
||||
---
|
||||
permalink: /credentials/iterable
|
||||
description: Learn to configure credentials for the Iterable node in n8n
|
||||
---
|
||||
|
||||
# Iterable
|
||||
|
||||
You can use these credentials to authenticate the following nodes with Iterable.
|
||||
- [Iterable](../../nodes-library/nodes/Iterable/README.md)
|
||||
|
||||
## Prerequisites
|
||||
|
||||
Create an [Iterable](https://iterable.com) account.
|
||||
|
||||
## Using API Key
|
||||
|
||||
1. Access the [Iterable dashboard](https://app.iterable.com/).
|
||||
2. Click on ***Integrations*** and select 'API keys'.
|
||||
3. Click on the ***NEW API KEY*** button.
|
||||
4. Enter a name in the ***Name*** field.
|
||||
5. Click on the ***Create*** button.
|
||||
6. Click on the ***Copy*** button to copy the API key.
|
||||
7. Use this ***API key*** with your Iterable node credentials in n8n.
|
||||
|
||||

|
||||
BIN
docs/nodes/credentials/Iterable/using-api-key.gif
Normal file
|
After Width: | Height: | Size: 1.4 MiB |
@ -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
|
||||
|
||||
|
||||
@ -12,7 +12,7 @@ The Cron node is useful to schedule the workflows to run periodically at fixed d
|
||||
2. Make sure that the timezone is set correctly for the n8n instance (or the workflow).
|
||||
:::
|
||||
|
||||
You can find the example usage of the Cron node in the [Creating Your First Workflow](../../../../getting-started/creating-your-first-workflow.md) guide.
|
||||
You can find the example usage of the Cron node in the [Create Your First Workflow](../../../../getting-started/create-your-first-workflow/create-your-first-workflow/README.md) guide.
|
||||
|
||||
|
||||
## Node Reference
|
||||
|
||||
@ -5,6 +5,6 @@ description: Learn how to use the No Operation, do nothing node in n8n
|
||||
|
||||
# No Operation, do nothing
|
||||
|
||||
The No Operation, do nothing node is used when you don't want to perform any operations. The purpose of this node is to make the workflow easier to read and understand where the flow of data stops. This can sometimes help others with a better understanding of the workflow, visually.
|
||||
The No Operation, do nothing node is used when you don't want to perform any operations. The purpose of this node is to make the workflow easier to read and understand where the flow of data stops. This can sometimes help others with a better understanding of the workflow, visually.
|
||||
|
||||
As an example, checkout how this node is being used in the [Creating Your First Workflow](../../../../getting-started/creating-your-first-workflow.md) guide.
|
||||
As an example, checkout how this node is being used in the [Create Your First Workflow](../../../../getting-started/create-your-first-workflow/create-your-first-workflow/README.md) guide.
|
||||
|
||||
@ -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`.
|
||||
|
||||

|
||||
|
||||
|
||||
::: 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.
|
||||
|
||||

|
||||
|
||||
|
||||
::: 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.
|
||||
|
||||

|
||||
|
||||
## 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
|
||||
|
||||
|
||||
BIN
docs/nodes/nodes-library/nodes/Iterable/Iterable1_node.png
Normal file
|
After Width: | Height: | Size: 130 KiB |
BIN
docs/nodes/nodes-library/nodes/Iterable/Iterable2_node.png
Normal file
|
After Width: | Height: | Size: 159 KiB |
BIN
docs/nodes/nodes-library/nodes/Iterable/Iterable_node.png
Normal file
|
After Width: | Height: | Size: 123 KiB |
88
docs/nodes/nodes-library/nodes/Iterable/README.md
Normal file
@ -0,0 +1,88 @@
|
||||
---
|
||||
permalink: /nodes/n8n-nodes-base.iterable
|
||||
description: Learn how to use the Iterable node in n8n
|
||||
---
|
||||
|
||||
# Iterable
|
||||
|
||||
[Iterable](https://iterable.com/) is a cross-channel platform that allows marketers to create, optimize, and measure every interaction throughout the customer journey.
|
||||
|
||||
::: tip 🔑 Credentials
|
||||
You can find authentication information for this node [here](../../../credentials/Iterable/README.md).
|
||||
:::
|
||||
|
||||
## Basic Operations
|
||||
|
||||
::: details Event
|
||||
- Record the actions a user performs
|
||||
:::
|
||||
|
||||
::: details User
|
||||
- Create/Update a user
|
||||
- Delete a user
|
||||
- Get a user
|
||||
:::
|
||||
|
||||
## Example Usage
|
||||
|
||||
This workflow allows you to create, update, and get a user from Iterable. You can also find the [workflow](https://n8n.io/workflows/813) on n8n.io. This example usage workflow would use the following nodes.
|
||||
- [Start](../../core-nodes/Start/README.md)
|
||||
- [Iterable]()
|
||||
|
||||
The final workflow should look like the following image.
|
||||
|
||||

|
||||
|
||||
### 1. Start node
|
||||
|
||||
The start node exists by default when you create a new workflow.
|
||||
|
||||
|
||||
### 2. Iterable node (upsert: user)
|
||||
|
||||
This node will create a new user in Iterable.
|
||||
|
||||
1. First of all, you'll have to enter credentials for the Iterable node. You can find out how to do that [here](../../../credentials/Iterable/README.md).
|
||||
2. Select 'Email' in the ***Identifier*** field.
|
||||
3. Enter the email address in the ***Value*** field.
|
||||
4. Click on ***Execute Node*** to run the node.
|
||||
|
||||
In the screenshot below, you will notice that the node creates a new user in Iterable.
|
||||
|
||||

|
||||
|
||||
### 3. Iterable1 node (upsert: user)
|
||||
|
||||
This node will update the information of the user that we created in the previous node.
|
||||
|
||||
::: v-pre
|
||||
1. Select the credentials that you entered in the previous node.
|
||||
2. Select 'Email' in the ***Identifier*** field.
|
||||
3. Click on the gears icon next to the ***Value*** field and click on ***Add Expression***.
|
||||
4. Select the following in the ***Variable Selector*** section: Nodes > Iterable > Parameters > value. You can also add the following expression: `{{$node["Iterable"].parameter["value"]}}`.
|
||||
5. Click on the ***Add Field*** button and select ***Data Fields***.
|
||||
6. Click on the ***Add Data Field*** button.
|
||||
7. Enter `Name` in the ***Key*** field.
|
||||
8. Enter the name of the user in the ***Value*** field.
|
||||
9. Click on ***Execute Node*** to run the node.
|
||||
:::
|
||||
In the screenshot below, you will notice that the node updates the information of the user that we created in the previous node.
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
### 4. Iterable2 node (get: user)
|
||||
|
||||
This node will get the information of the user that we created using the Iterable node.
|
||||
|
||||
::: v-pre
|
||||
1. Select the credentials that you entered in the previous node.
|
||||
2. Select 'Get' from the ***Operation*** dropdown list.
|
||||
3. Click on the gears icon next to the ***Value*** field and click on ***Add Expression***.
|
||||
4. Select the following in the ***Variable Selector*** section: Nodes > Iterable > Parameters > value. You can also add the following expression: `{{$node["Iterable"].parameter["value"]}}`.
|
||||
5. Click on ***Execute Node*** to run the node.
|
||||
:::
|
||||
In the screenshot below, you will notice that the node gets the information of the user that we created using the Iterable node.
|
||||
|
||||

|
||||
BIN
docs/nodes/nodes-library/nodes/Iterable/workflow.png
Normal file
|
After Width: | Height: | Size: 146 KiB |
BIN
docs/nodes/nodes-library/trigger-nodes/KafkaTrigger/IF_node.png
Normal file
|
After Width: | Height: | Size: 117 KiB |
|
After Width: | Height: | Size: 115 KiB |
|
After Width: | Height: | Size: 85 KiB |
@ -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.
|
||||
|
||||

|
||||
|
||||
|
||||
### 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.
|
||||
|
||||
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.
|
||||
|
||||

|
||||
|
||||
### 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.
|
||||
|
||||

|
||||
|
||||
### 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.
|
||||
|
||||

|
||||
|
||||
### 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.
|
||||
|
||||

|
||||
|
After Width: | Height: | Size: 149 KiB |
BIN
docs/nodes/nodes-library/trigger-nodes/KafkaTrigger/workflow.png
Normal file
|
After Width: | Height: | Size: 162 KiB |
@ -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
|
||||
|
||||