Skip to content

Commit

Permalink
rename set node, remove references on other int pages
Browse files Browse the repository at this point in the history
  • Loading branch information
StarfallProjects committed Oct 9, 2023
1 parent 4b8e86b commit b6af5a5
Show file tree
Hide file tree
Showing 256 changed files with 89 additions and 3,264 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ If you add a Merge node to a workflow containing an If node, it can result in bo

The Merge node is triggered by one branch, then goes and executes the other branch.

For example, in the screenshot below there's a workflow containing a Set node, If node, and Merge node. The standard If node behavior is to execute one branch (in the screenshot, this is the **true** output). However, due to the Merge node, both branches execute, despite the If node not sending any data down the **false** branch.
For example, in the screenshot below there's a workflow containing a Edit Fields node, If node, and Merge node. The standard If node behavior is to execute one branch (in the screenshot, this is the **true** output). However, due to the Merge node, both branches execute, despite the If node not sending any data down the **false** branch.

![Screenshot of a simple workflow. The workflow has a Set node, followed by an If node. It ends with a Merge node.](/_images/integrations/builtin/core-nodes/merge/if-merge-node.png)
![Screenshot of a simple workflow. The workflow has an Edit Fields node, followed by an If node. It ends with a Merge node.](/_images/integrations/builtin/core-nodes/merge/if-merge-node.png)

<!-- TODO: remove once v1 is mature -->
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
4 changes: 2 additions & 2 deletions docs/hosting/scaling/performance-benchmarking.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ Setup:

- Hardware: ECS c5a.large instance (4GB RAM)
- n8n setup: Single n8n instance (running in main mode, with Postgres database)
- Workflow: Webhook trigger node, Set node
- Workflow: Webhook trigger node, Edit Fields node

<figure markdown>
![Graph showing n8n response times by requests per second](/_images/hosting/scaling/benchmarking-single-instance-100-250.png)
Expand All @@ -47,7 +47,7 @@ Setup:

- Hardware: seven ECS c5a.4xlarge instances (8GB RAM each)
- n8n setup: two webhook instances, four worker instances, one database instance (MySQL), one main instance running n8n and Redis
- Workflow: Webhook trigger node, Set node
- Workflow: Webhook trigger node, Edit Fields node
- Multi-instance setups use [Queue mode](/hosting/scaling/queue-mode/)

<figure markdown>
Expand Down
122 changes: 18 additions & 104 deletions docs/integrations/builtin/app-nodes/n8n-nodes-base.airtable.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ On this page, you'll find a list of operations the Airtable node supports and li



## Basic Operations
## Operations

* Append the data to a table
* Delete data from a table
Expand All @@ -27,126 +27,40 @@ On this page, you'll find a list of operations the Airtable node supports and li
* Update data in a table


## Example Usage
## Related resources

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](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
- [Set](/integrations/builtin/core-nodes/n8n-nodes-base.set/)
- [Airtable]()
n8n provides a trigger node for Airtable. You can find the trigger node docs [here](/integrations/builtin/trigger-nodes/n8n-nodes-base.airtabletrigger/).

The final workflow should look like the following image.
View [example workflows and related content](https://n8n.io/integrations/airtable/){:target=_blank .external-link} on n8n's website.

![A workflow with the Airtable node](/_images/integrations/builtin/app-nodes/airtable/workflow.png)
Refer to [Airtable's documentation](https://airtable.com/developers/web/api/introduction){:target=_blank .external-link} for more information about the service.

### 1. Start node

The start node exists by default when you create a new workflow.
## Node reference

### 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. 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](/_images/integrations/builtin/app-nodes/airtable/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](/integrations/builtin/credentials/airtable/).
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. You'll find the Base ID there.
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](/_images/integrations/builtin/app-nodes/airtable/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.

1. Select the credentials that you entered in the previous node.
2. Select the 'List' option 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 ***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](/_images/integrations/builtin/app-nodes/airtable/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](/_images/integrations/builtin/app-nodes/airtable/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.

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](/_images/integrations/builtin/app-nodes/airtable/airtable2_node.png)

## FAQs

### How to get the Record ID?
### 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**
### 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**
### 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.
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.

### How to filter records when using the List operation?
### Filter records when using the List operation

To filter records from your Airtable base, use the ***Filter By Formula*** option. For example, if you want to return all the users that belong to the organization `n8n`, follow the steps mentioned below:
1. Select 'List' from the ***Operation*** dropdown list.
2. Enter the base ID and the table name in the ***Base ID*** and ***Table*** field, respectively.
3. Click on ***Add Option*** and select 'Filter By Formula' from the dropdown list.
4. Enter the following formula in the ***Filter By Formula*** field: `{Organization}='n8n'`.
To filter records from your Airtable base, use the **Filter By Formula** option. For example, if you want to return all the users that belong to the organization `n8n`, follow the steps mentioned below:
1. Select 'List' from the **Operation** dropdown list.
2. Enter the base ID and the table name in the **Base ID** and **Table** field, respectively.
3. Click on **Add Option** and select 'Filter By Formula' from the dropdown list.
4. Enter the following formula in the **Filter By Formula** field: `{Organization}='n8n'`.

Similarly, if you want to return all the users that do not belong to the organization `n8n`, use the following formula: `NOT({Organization}='n8n')`.
Similarly, if you want to return all the users that don't belong to the organization `n8n`, use the following formula: `NOT({Organization}='n8n')`.

Refer to the Airtable [documentation](https://support.airtable.com/hc/en-us/articles/203255215-Formula-Field-Reference) to learn more about the formulas.
Refer to the Airtable [documentation](https://support.airtable.com/hc/en-us/articles/203255215-Formula-Field-Reference){:target=_balnk .external-link} to learn more about the formulas.



Expand Down
91 changes: 0 additions & 91 deletions docs/integrations/builtin/app-nodes/n8n-nodes-base.amqp.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,94 +19,3 @@ On this page, you'll find a list of operations the AMQP Sender node supports and
## Basic Operations

- Send message


## Example Usage

This workflow allows you to send updates about the position of the ISS every minute to an [ActiveMQ](https://activemq.apache.org/) queue using the AMQP Sender node. You can also find the [workflow](https://n8n.io/workflows/762) on n8n.io. This example usage workflow uses the following nodes.

- [Schedule Trigger](/integrations/builtin/core-nodes/n8n-nodes-base.scheduletrigger/)
- [HTTP Request](/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/)
- [Set](/integrations/builtin/core-nodes/n8n-nodes-base.set/)
- [AMQP Sender]()

The final workflow should look like the following image.

![A workflow with the AMQP Sender node](/_images/integrations/builtin/app-nodes/amqp/workflow.png)

### 1. Cron node

The Cron node will trigger the workflow every minute.

1. Click on ***Add Cron Time***.
2. Select 'Every Minute' from the ***Mode*** dropdown list.
3. Click on ***Execute Node*** to run the node.

In the screenshot below, you will notice that the Cron node is configured to trigger the workflow every minute.

![Using the Cron node to trigger the workflow every minute](/_images/integrations/builtin/app-nodes/amqp/cron_node.png)

### 2. HTTP Request node (GET)

This node will make a GET request to the API `https://api.wheretheiss.at/v1/satellites/25544/positions` to fetch the position of the ISS. This information gets passed on to the next node in the workflow.

1. Enter `https://api.wheretheiss.at/v1/satellites/25544/positions` in the ***URL*** field.
2. Click on the ***Add Parameter*** button in the ***Query Parameters*** section.
3. Enter `timestamps` in the ***Name*** field.
4. Click on the gears icon next to the ***Value*** field and click on ***Add Expression***.
5. Enter the following expression: `{{Date.now()}}`. This expression will return the current timestamp.
6. Click on ***Execute Node*** to run the node.

In the screenshot below, you will notice that the node makes a GET request to the API and returns the information about the location of the ISS.

![Using the HTTP Request node to get the information about the location of the ISS](/_images/integrations/builtin/app-nodes/amqp/httprequest_node.png)

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

1. Click on ***Add Value*** and select 'String' from the dropdown list.
2. Enter `Name` in the ***Name*** 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 > HTTP Request > Output Data > JSON > 0 > name. You can also add the following expression: `{{$node["HTTP Request"].json["0"]["name"]}}`.
5. Click on ***Add Value*** and select 'String' from the dropdown list.
6. Enter `Latitude` in the ***Name*** field.
7. Click on the gears icon next to the ***Value*** field and click on ***Add Expression***.
8. Select the following in the ***Variable Selector*** section: Nodes > HTTP Request > Output Data > JSON > 0 > latitude. You can also add the following expression: `{{$node["HTTP Request"].json["0"]["latitude"]}}`.
9. Click on ***Add Value*** and select 'String' from the dropdown list.
10. Enter `Longitude` in the ***Name*** field.
11. Click on the gears icon next to the ***Value*** field and click on ***Add Expression***.
12. Select the following in the ***Variable Selector*** section: Nodes > HTTP Request > Output Data > JSON > 0 > longitude. You can also add the following expression: `{{$node["HTTP Request"].json["0"]["longitude"]}}`.
13. Click on ***Add Value*** and select 'String' from the dropdown list.
14. Enter `Timestamp` in the ***Name*** field.
15. Click on the gears icon next to the ***Value*** field and click on ***Add Expression***.
16. Select the following in the ***Variable Selector*** section: Nodes > HTTP Request > Output Data > JSON > 0 > timpestamp. You can also add the following expression: `{{$node["HTTP Request"].json["0"]["timestamp"]}}`.
17. 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.
18. Click on ***Execute Node*** to run the node.

In the screenshot below, you will notice that the node uses the data from the previous node and returns the data that we set for the workflow.

![Using the Set node to set the data](/_images/integrations/builtin/app-nodes/amqp/set_node.png)

### 4. AMQP Sender node

This node will send the data from the previous node to the `iss-position` queue in ActiveMQ. If you have created a queue with a different name in ActiveMQ, you can use that queue instead.

1. First of all, you'll have to enter credentials for the AMQP Sender node. You can find out how to do that [here](/integrations/builtin/credentials/amqp/).
2. Enter the name of the queue or topic in the ***Queue / Topic*** field.
3. Click on ***Execute Node*** to run the node.

In the screenshot below, you will notice that the node sends the data from the previous node to the `iss-position` queue in ActiveMQ.

![Using the AMQP Sender node to send the data to a queue](/_images/integrations/builtin/app-nodes/amqp/amqpsender_node.png)

!!! note "Activate workflow for production"
This example workflow uses the Cron node, which is a Trigger node. You'll need to save the workflow and then click on the Activate toggle on the top right of the screen to activate the workflow. Your workflow will then be triggered as specified by the settings in the Cron node.








Original file line number Diff line number Diff line change
Expand Up @@ -18,51 +18,10 @@ On this page, you'll find a list of operations the AWS Rekognition node supports



## Basic Operations
## Operations

**Image**

- Analyze


## Example Usage

This workflow allows you to detect a face from an image using the AWS Rekognition node. You can also find the [workflow](https://n8n.io/workflows/694) on n8n.io. This example usage workflow uses the following nodes.
- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
- [HTTP Request](/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/)
- [AWS Rekognition]()

The final workflow should look like the following image.

![A workflow with the AWS Rekognition node](/_images/integrations/builtin/app-nodes/awsrekognition/workflow.png)

### 1. Start node

The Start node exists by default when you create a new workflow.


### 2. HTTP Request node (GET)

This example workflow uses the HTTP Request node to fetch an image from a URL. You can also use the [Read Binary File](/integrations/builtin/core-nodes/n8n-nodes-base.readbinaryfile/) node to read an image file from the path you specify.

1. Enter the URL of the image in the ***URL*** field. For example, `https://n8n.io/_nuxt/img/04c67e5.png`.
2. Select 'File' from the ***Response Format*** dropdown list.
3. Click on ***Execute Node*** to run the node.

In the screenshot below, you will notice that the HTTP Request node fetches the image from the URL. This image gets passed on as binary data to the next node in the workflow.

![Using the HTTP Request node to fetch an image from a URL](/_images/integrations/builtin/app-nodes/awsrekognition/httprequest_node.png)


### 3. AWS Rekognition node (analyze: image)

This node will detect faces in the image that we fetched in the previous node. You can also use this node to analyze an image stored in your AWS Bucket.

1. First of all, you'll have to enter credentials for the AWS Rekognition node. You can find out how to enter credentials for this node [here](/integrations/builtin/credentials/aws/).
2. Set ***Binary Data*** to `true`.
3. Click on ***Execute Node*** to run the node.

In the screenshot below, you will observe that the node detects the face in the image that we got from the HTTP Request node.

![Using the AWS Rekognition node to detect faces in an image](/_images/integrations/builtin/app-nodes/awsrekognition/awsrekognition_node.png)

Loading

0 comments on commit b6af5a5

Please sign in to comment.