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
- Books: T01-L01 · From Idea to Working Result: The Four-Quadrant Method for the four-quadrant method, and T01-L03 · Build the Smallest Thing Your Colleagues Can Run Without You for choosing the simplest tool.
- Heidelberg AI Desk installed on your computer. It installs and starts n8n for you; nothing else to install by hand.
- One repeated copying job from your own week, with three or four details you copy each time.
- About an hour: 12 minutes to read, 45 to do.
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:
| Testing | Switched on | |
|---|---|---|
| How it starts | You open the trigger and pull in a test submission | The trigger fires by itself |
| Which form link | Test URL | Production URL |
| Needs | Nothing | Publish |
| Where you see the data | Right in the editor | In the Executions tab |
Three facts change how you work:
- 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.
- 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.
- 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.

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.

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.

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

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.

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,contentsto match), then add Required Field and turn it 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.

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.

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.

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.

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.

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.

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.
- 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.
- 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.
- 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).
- 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.
| What | Details | What it means for you |
|---|---|---|
| n8n version | Heidelberg 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 service | n8n 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 stored | Everything 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 names | Each 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 switch | Unpublish is in the Publish button's menu (Ctrl+U). | The fastest way to stop a workflow that misfires. |
| Time zone of the time stamp | The 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
- T01-L03 · Build the Smallest Thing Your Colleagues Can Run Without You: when an automation is the right choice, and when a template is enough.
- T05-L02 · Put AI in the Middle of a Workflow, and Check Every Answer: adding a model step, and checking its output before you use it.
- T05-L04 · Make an Automation Safe to Fail Before It Touches Real Systems: failure alerts, retries and a way to take over by hand.
- T12-L01 · Decide What You May Paste Into AI at Work: what may go into a form or a cloud service.
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.