T05-L01 · Automation · Level 1 User · 12-minute read, plus 45 minutes of doing

The same six things, every Monday

Every Monday you copy the same details from one place to another. In the lab it is the freezer log: during the week you scribble box IDs, freezer positions and contents on a glove box or in your notebook, and on Monday you type them into your own log sheet. By then one note is missing, and you spend ten minutes opening freezer doors to find box 14.

In a company it is the call log. You take a dozen customer calls a week and note them on paper. On Friday you type customer, topic and "needs a follow-up?" into a spreadsheet. Half the time you can no longer tell whether a call needed a follow-up.

The copying is dull, and it happens too late. An automation fixes both: you enter the details once, at the moment they happen, and a workflow writes them into your log with the time attached. This book builds that workflow with n8n, running on your own computer. You are at Level 1 User: the log is yours, so if the workflow breaks, only you are affected. That makes this a good place to break it on purpose.

After this you can

  • Take one repeated copy-and-paste job through the four quadrants to a working trigger and action.
  • Build a form-to-table workflow in n8n and test it before switching it on.
  • Read the run history and tell a successful run from a failed one, even when the form said thank you.
  • Publish the workflow, then Unpublish it, and say where it runs while it's on.

Before you start

Last verified 27 September 2026, against Heidelberg AI Desk 0.1.0-beta.10, which installs n8n 2.40.7. Details for experts at the end of this book.

The idea in one page

An automation has two parts. A trigger decides when it starts: a form is submitted, a file appears, it's Monday at 8:00. An action does the work: add a row, send a message, save a file.

In n8n each part is a node, a box on the screen. A workflow is a set of nodes joined by lines on the editor page.

Each form you build has two web links. The Test URL works only while you are testing; the Production URL works once the workflow is published.

Every time the trigger fires, n8n makes one execution, one run through the workflow. The Executions tab lists them with a status: Succeeded or Error, in red when something failed. That list is your run history. It is the only honest answer to "did it work?"

A workflow has two modes, and mixing them up causes most beginner trouble:

TestingSwitched on
How it startsYou open the trigger and pull in a test submissionThe trigger fires by itself
Which form linkTest URLProduction URL
NeedsNothingPublish
Where you see the dataRight in the editorIn the Executions tab

Three facts change how you work:

  1. It runs on your own computer. Once published, the workflow keeps working as long as your computer is on and Heidelberg AI Desk is running. That's different from a service running somewhere else, and it's why you need to know how to stop it.
  2. The trigger's reply tells you nothing about the rest. A form set to answer as soon as it is submitted says thank you before the workflow has done anything. If a later node fails, the person filling in the form never knows.
  3. The off switch is Unpublish. Find it before you publish, not while something is misfiring.

Which tool? This book uses n8n, installed and started through Heidelberg AI Desk: a visual editor, strong enough to grow with you, running on your own computer from the first click. Make is a visual middle ground with many ready-made connectors, the links to other apps. Zapier connects the most apps with the least setup, but offers less control. All three teach the same ideas; what you learn here carries over.

Watch it once (30 seconds)

No sound. A yellow dot points at each button while the caption explains it. Read the tour as text (opens in a new tab).

Set up (steps 1 to 3, once)

Step 1: Open Heidelberg AI Desk and find n8n. Open Heidelberg AI Desk, click App Store, and find n8n in the list.

Heidelberg AI Desk App Store: a grid of app cards including n8n, described as Build dependable workflows that connect your tools and data

You should see: n8n's card, under Automation.

Step 2: Open n8n's page and click Install. Click the n8n card, then its Base info tab to see what it needs: which version, and where it will run.

n8n's page in Heidelberg AI Desk, Base info tab: Status, Artifact docker.n8n.io/n8nio/n8n:2.40.7, Route http://127.0.0.1 and a port, Version 2.40.7

Click Install. The first time, Desk downloads the app, so this can take a minute or two.

Step 3: Click Open, then set up your account. Once n8n is running, the button changes to Open.

n8n's page in Heidelberg AI Desk after installing: a green Open button and a Stop button

Click Open. n8n opens in your browser and asks you to set up the owner account: your name, email and a password.

n8n's Set up owner account page: fields for Email, First Name, Last Name and Password, with a Next button

You should see: after you finish, n8n's Overview page, ready for your first workflow.

Worked example: a log that fills itself

The method comes from T01-L01 · From Idea to Working Result: The Four-Quadrant Method: start with the problem, explore it, then pick the tool and build the smallest version. Here it is on the freezer log, then on the call log.

Lab: the freezer-box log

Structure it. "Every Monday I spend 20 minutes typing last week's freezer notes into my log, and about one box a month goes missing from it. A good result: each box is logged the moment it goes in, with the time, and nothing is lost."

Understand it. She looks at a month of notes. The typing is dull, but the real damage comes from the delay: notes written on gloves and scraps don't survive until Monday. She also notices she always writes the same three things: box ID, position ("-80 B, shelf 3") and contents. She never writes the date, and she has needed it twice. Back to Structure it: "Log box ID, position and contents on the lab computer next to the freezer, and stamp the time automatically."

Choose tools. Going down the ladder: typing straight into a spreadsheet works, but nothing stops her from skipping a field, and the time is never filled in. A form fixes both: it makes every field required, and the workflow adds the time. n8n's built-in data table holds the log, so she needs no spreadsheet account and no passwords. Nothing here needs AI.

Build it. Seven steps, about 35 minutes.

Step 4: Make the table. On the Overview page, click the + at the top left and choose New data table. Name it freezer_log and choose From scratch.

The Create new data table dialog: Data table name freezer_log, From scratch selected, Cancel and Create buttons

Click Create, then click Add Column four times to add box_id, position, contents and logged_at, each type String.

You should see: your table with those four columns, next to the id, createdAt and updatedAt columns n8n adds by itself.

Step 5: Add the trigger and the form. Create a new workflow, name it Freezer log, click the plus on the empty canvas, and choose On form submission. Work down its settings:

  • Authentication: choose n8n User Auth, so only someone logged in to your n8n can submit it.
  • Form Title: Freezer log.
  • Click Add Form Element three times for Box ID, Position and Contents. For each: type the label, click Add Attributes, add Custom Field Name (type box_id, position, contents to match), then add Required Field and turn it on.

The form trigger's settings: Authentication n8n User Auth, Form Title Freezer log, one field Box ID with Custom Field Name box_id and Required Field on

You should see: three required fields, each with a matching Custom Field Name.

Step 6: Add the action. Click the plus on the form node, search Data table, and choose Insert row. Pick your table, keep Map Each Column Manually, and for box_id, position and contents, switch each to Expression and reference the matching field, for example {{ $json.box_id }}. For logged_at, use {{ $json.submittedAt }}, the time stamp the form adds to every entry.

The Insert row panel: Data table freezer_log, Map Each Column Manually, four fields each mapped to an expression from the form

Step 7: Test with a real entry. Open the form node and click Execute step. n8n opens the test form in a new tab; the first time, it asks you to confirm you trust this form, because it runs using your n8n login.

The consent screen: "Freezer log" wants to run using your n8n login, with Deny and Allow access buttons

Click Allow access, then fill in a real box and submit. Back in the editor, the form node's Output shows every field, including submittedAt in UTC, for example 2026-09-26T15:20:44+00:00.

Step 8: Publish it. Click Publish, name the version, and click Publish again in the window that opens.

The top bar after publishing: the workflow shows a green Published status next to the Publish menu

Copy the Production URL from the form node and submit one real box from the freezer. Open the Executions tab: you see a run marked Succeeded, with your data in it.

The Executions list: several runs, each marked Succeeded, with their times

Step 9: Break it on purpose. Open Insert row again, click the box_id value, and replace it with a deliberately broken reference:

{{ $('Nonexistent Node').item.json.box_id }}

n8n's own preview under the field already warns you: Referenced node doesn't exist. Publish this version anyway, then submit a test box through the Production URL. The form thanks you exactly as before. It replies before the rest of the workflow runs, so it has no way to know anything is wrong. Open Executions: the newest run shows Error, in red, with Insert row outlined in red on the diagram and "Problem in node 'Insert row': Referenced node doesn't exist" underneath. No row was added to your table.

The Executions detail for the broken run: On form submission succeeded, Insert row failed in red, with the "Referenced node doesn't exist" error

This is the failure you would never notice from the form. Fix it: put {{ $json.box_id }} back, publish again, and submit once more. The newest execution now shows Succeeded, with your row safely in the table.

Step 10: Find the off switch. Decide now: if you'll use the log this week, leave it published. If not, open the small arrow next to Publish and click Unpublish.

The Publish menu open: Publish, View timeline, and Unpublish with its Ctrl+U shortcut

Either way, you now know where the switch is.

What it taught her: the thank-you page can lie. For a log only she uses, checking the Executions tab once a week is enough. If colleagues start using the form, she'll need a warning message when a run fails. That's the next trip round the quadrants (T05-L04 · Make an Automation Safe to Fail Before It Touches Real Systems).

Company: the call log

Structure it. "I type about twelve call notes into a spreadsheet every Friday, and half of them don't say whether I promised a follow-up. A good result: each call logged within a minute of hanging up, and a follow-up flag on every one."

Understand it. He compares a month of paper notes with his inbox. The missing follow-up flags are the real cost: two customers waited a week for a callback he had promised. The typing is a minor cost. Back to Structure it: "Log customer, topic and follow-up yes/no right after the call. The follow-up answer can't be skipped."

Choose tools. The same skeleton as the lab: a form, a data table, no AI. The one change is the follow-up field: a Dropdown element with yes and no, marked required, so the question can't be left blank.

Build it. He follows the same steps (4 to 10) with a table called call_log and fields customer, topic and follow_up. What it taught him: he'd rather know within the hour when a run fails, because a lost call note means a customer waiting. His next trip round the quadrants is a failure message, and after that a Monday summary of every open follow-up (T05-L02 · Put AI in the Middle of a Workflow, and Check Every Answer).

In both cases the automation is small: one trigger, one action. The value came from Understand it: the problem was never really the typing.

What goes wrong

Switching it on before testing. Symptom: you publish, submit a real entry, and the table fills with rows that read {{ $json.box_id }} instead of a real value. Fix: always run Execute step on the trigger with a real entry first, and check every field of the result before you publish.

Testing with the wrong link. Symptom: the Test URL says the form trigger "isn't listening yet." Fix: open the trigger node and click its own Execute step; only then is it listening for that Test URL. The Production URL only works once the workflow is Published.

Trusting the thank-you page. Symptom: weeks later you find gaps in the log, although every submission "went through". Fix: look at the Executions tab, filtered to Error, once a week (T05-L04 · Make an Automation Safe to Fail Before It Touches Real Systems).

Forgetting where it runs. Symptom: you close the laptop and assume the automation has stopped, or you're surprised it's still going days later. Fix: a published workflow keeps running as long as your computer is on and Heidelberg AI Desk is running. Unpublish to stop it for real.

Heidelberg AI Desk isn't running. Symptom: the Production URL doesn't answer, or n8n won't open at all. Fix: n8n only runs while Heidelberg AI Desk is open. Start Desk first, then open n8n from it.

Do it yourself (45 minutes)

Use your own repeated copying job, not the freezer or the call log.

  1. Structure it (5 min). Write one sentence: what you copy, how often, and what a good result looks like. List the three or four details you copy every time.
  2. Understand it (10 min). Look at the last few weeks of that job. Where does it actually go wrong: the typing, the delay, or a detail that's often missing? Rewrite your sentence if you learned something.
  3. Choose tools (5 min). Could a spreadsheet or a template do it? If a form plus a data table is the simplest thing that solves what you found, continue. Keep personal data about other people out of your practice log (T12-L01 · Decide What You May Paste Into AI at Work).
  4. Build it (25 min). Follow steps 4 to 10 with your own fields. Test with a real entry, publish, submit once for real, then check the Executions tab and decide whether to leave it published.

Exit check

What you hand in: a screenshot of your workflow's Executions tab showing at least one Succeeded and one Error run, plus one line: "The off switch is ___, and while it's published it runs on ___."

It passes when you can point to the row your test created in the data table, and explain in one sentence why the form saying thank you doesn't prove the row was saved.

Rule to remember

Know how to stop it before you start it.

Details for experts

Checked on 27 September 2026. You don't need this to follow the book; it's for setting things up or answering a colleague.

WhatDetailsWhat it means for you
n8n versionHeidelberg AI Desk 0.1.0-beta.10 installs n8n 2.40.7.The Publish/Unpublish flow and data tables in this book need this version or newer; older releases use an Active/Inactive switch instead, and don't have data tables.
n8n as a paid servicen8n also exists as a paid cloud service, n8n Cloud, run on n8n's own servers instead of yours. This book doesn't use it.Worth knowing if your team later wants automations that don't depend on one person's computer.
Where the data is storedEverything lives in a container on your own computer, managed by Heidelberg AI Desk.Nothing leaves your machine. Back up that container's data if you'd be upset to lose the log.
Form field namesEach field's Custom Field Name is what the next node reads it by; without it, n8n uses the label text itself (spaces included) as the key.Setting a short Custom Field Name (like box_id) makes expressions easier to type and read.
Quick off switchUnpublish is in the Publish button's menu (Ctrl+U).The fastest way to stop a workflow that misfires.
Time zone of the time stampThe form's submittedAt time follows the time zone Heidelberg AI Desk gives the n8n container; verified as UTC on this computer.If the times in your log look off by a few hours, check the container's time zone setting rather than the workflow.

Further reading and tools

Next books

Tools

  • Heidelberg AI Desk: Taught. Installs and starts n8n on your own computer, with no separate signup.
  • n8n: Taught. Runs locally through Heidelberg AI Desk for this book.
  • Make, Zapier: Catalogued. Same trigger-and-action ideas, different trade-offs.