# n8n basics: nodes, triggers and executions

> Learn the handful of n8n concepts you need to read, build and debug any workflow, from triggers and nodes to items, expressions and executions.

Source: https://viralistic.nl/help/n8n/n8n-basics

n8n looks busy the first time you open it, but almost everything comes down to a few ideas. This article explains them in plain language. Once these click, any workflow you open, including ones Claude builds for you, becomes readable.

## Workflows

A workflow is one automated process, drawn on a canvas as boxes connected by lines. Read it from left to right: something happens, then a series of steps runs.

Good workflows do one job. "Process new invoices" is a good workflow. "Everything finance" is not. Small workflows are easier to test, debug and hand over.

## Nodes

Each box on the canvas is a node. A node does one thing: read a spreadsheet, send an email, filter data. There are four kinds you will meet:

| Kind          | What it does                    | Examples                                                          |
| ------------- | ------------------------------- | ----------------------------------------------------------------- |
| Trigger nodes | Start the workflow              | Schedule Trigger, Webhook, n8n Form Trigger, Email Trigger (IMAP) |
| App nodes     | Talk to a service               | Gmail, Google Sheets, Slack, HubSpot                              |
| Core nodes    | Shape data and control the flow | Edit Fields (Set), IF, Switch, Merge, Code, HTTP Request          |
| AI nodes      | Add a language model            | AI Agent, Basic LLM Chain, Guardrails                             |

The HTTP Request node deserves a special mention: it can call almost any API, even for apps without their own node.

## Triggers

Every workflow that runs on its own starts with a trigger. Common ones:

- **Schedule Trigger:** run every hour, every Monday at 9:00, and so on. See [Run workflows on a schedule](https://viralistic.nl/help/n8n/schedules).
- **Webhook:** run when another system sends data to a URL. See [Receive data with webhooks](https://viralistic.nl/help/n8n/webhooks).
- **App triggers:** run when something happens in an app, such as a new email or a new form entry.
- **Manual Trigger:** run only when you click the button. Handy while building.

## Connections and items

Data flows along the connections as a list of **items**. Each item is one record, for example one email or one spreadsheet row. If a node receives ten items, it normally runs ten times, once per item. You rarely need a loop.

Click any node after a run to see its input and output. You can switch between Table, JSON and Schema views. This is the fastest way to understand what a workflow is doing.

## Expressions

Expressions let a node use data from earlier steps. They sit between double curly braces:

```text
Hello {{ $json.firstName }}, thanks for your order {{ $json.orderId }}.
```

`$json` means "the current item". The easiest way to build an expression is to drag a field from the input panel into a parameter. n8n writes the expression for you.

## Credentials

Credentials are the saved logins and API keys nodes use to reach your apps. You create them once and reuse them across workflows. n8n stores them encrypted. See [Connect your apps with credentials](https://viralistic.nl/help/n8n/credentials).

## Executions

An execution is one run of a workflow. There are two types:

- **Manual executions** happen when you click Execute workflow or Execute step while building. You see the data on the canvas.
- **Production executions** happen automatically after you publish the workflow and its trigger fires. You review them in the Executions tab of the workflow, or in the overview of all executions.

When something fails, open the failed execution. It shows the exact node that broke and the data it received.

> **Tip:** Pin the output of a trigger node while building. n8n then reuses that test data on every run, so you do not have to send a new email or form entry each time.

## Saving and publishing

n8n saves your work automatically while you edit. Your changes stay a draft until you click **Publish**. Publishing makes the workflow live: schedules start, webhook and form triggers switch to their production URLs, and app triggers start listening. Later edits only go live when you publish again.

> **Note:** Older n8n versions used an Active toggle instead of a Publish button. If you follow an older tutorial, "activate" means the same as "publish".

## Next steps

- [Build your first workflow](https://viralistic.nl/help/n8n/first-workflow)
- [Connect your apps with credentials](https://viralistic.nl/help/n8n/credentials)
- [Error handling and alerts](https://viralistic.nl/help/n8n/error-handling)
