Skip to content

11 — Estate

Thirty-seven workflows.Eleven of them run.

As an n8n agency, CoderConda takes over n8n instances that grew on their own: two days of survey for €495, then running it for €25 a month, cancellable monthly. Usually they were built by somebody who works elsewhere by now.

37workflows set up
11actually run
6with a description

Taking stock takes two days and changes nothing.

Instance · example37 workflows

37 set up · 11 active11 active · 9 copies · 17 idleleft 37 · right 11 builtleft 37 · right 11 — the same 11left 0 · right 11 · 26 archived

37 workflows, left 0 · right 11 · 26 archived

02 — The handover

01 — Taking stock

Nothing gets changed first.First it gets counted.

Which version runs, on what, with which database. Thirty-seven workflows are set up, eleven actually run, six carry a description. Two days later there is one sheet per flow on the table, and until then nobody has touched anything.

Taking stock is not a rebuild. It is the condition for one.

02 — Sorting out

Nine are the same workflow.With one field changed.

Nine files become one with a parameter. Three credentials sit in plain text inside a code node; they move into the store and get reissued with the provider, not merely relocated. Seven of the eleven active flows have no error path and fail silently.

Moved is not rotated. An old key stays valid.

03 — Copying

The second instance.The first stays on.

Beside the instance that grew, a built one appears: Docker, PostgreSQL, backups, monitoring, workflows as JSON in Git. The eleven active flows get rebuilt there. Nothing is switched over, nothing is cancelled, and the old instance notices none of it.

Now everything exists twice. That is the point.

04 — In parallel

Both are running.And get compared.

The same trigger reaches both instances, the new one writes into a test target at first, and the results are held against each other. These weeks are the uncomfortable ones: double the work, double the cost, no visible progress. They are the reason no cutover date is needed at the end.

A cutover date is a bet. A parallel run is a measurement.

05 — Switching over

Now the left side goes dark.One flow at a time.

The switch-off happens one at a time, in the order in which the results agreed. The remaining twenty-six workflows are filed as JSON and taken out of the instance, not deleted. After that the old instance stands empty, and it is allowed to stand empty.

The left figure falls last. That is not caution, that is the order.

Stage 1 of 5

Instance · example37 workflows

37 set up · 11 active11 active · 9 copies · 17 idleleft 37 · right 11 builtleft 37 · right 11 — the same 11left 0 · right 11 · 26 archived

37 workflows, left 0 · right 11 · 26 archived

03 — The specification

A rewrite sounds cleaner.It throws the specification away.

After five stages it seems obvious to build it properly from scratch instead of copying. That loses what is written down nowhere else: an inherited instance is badly documented and still the only documentation there is.

What the file says3 / 7

  1. Trigger: form
  2. Check required fields
  3. If the client is on the exception list, it goes to a different address
  4. Create the case
  5. The old client number is written along, because the export expects it
  6. A message to sales
  7. After four on a Friday it stops triggering

4 · How somebody describes it7 · How it actually runs

The rule

The behaviour gets copied first, including the ugly parts. Improvements come afterwards, and each one is its own visible change.

That is why taking stock takes two days and not two hours: the three lines nobody mentions can only be found by reading the file.

04 — The sheet

After two days, this is here.Thirty-seven times.

Taking stock does not end with a recommendation but with one sheet per flow. One of them looks like this. It is yours even if nothing follows, and it contains a line admitting that something could not be established.

Sheet 07 of 37Enquiry → case

Trigger
Form on the website
Last run
4 hours ago
Frequency
around 40 runs a week
Target systems
CRM, mailbox, spreadsheet
Credentials
in the node, in plain text
Error path
none
Purpose
inferred from its behaviour
Owner
not determinablenobody in the company is responsible

Whose it is

Yours. Taking stock can be commissioned on its own, and if you carry on building yourself, you keep all thirty-seven sheets.

What is missing here

The project register on this site holds no takeover: all five cases were built, not inherited. What stands here is therefore not a client case but the shape of the result.

The evidence on this site

8 · Enquiry → case, 1 · not determinable

05 — Ownership

All of it belongs to you.Also if I am gone tomorrow.

The problem on this page is a dependency: somebody built and left. An agency that occupies the same position has solved nothing. So the question is not what running it costs, but what ending it costs. All prices are final prices. No VAT is charged under § 19 UStG.

  1. The instanceon your infrastructureYou
  2. The workflowsas JSON in your GitYou
  3. The credentialsin the store, in your nameYou
  4. The sheetsone sheet per flowYou
  5. The servera contract in your nameYou

Why, and not out of politeness

n8n is published under the Sustainable Use License. Setting it up and maintaining it as a service is expressly allowed; hosting n8n and selling access to it is not. So your instance runs at your place, and everything else follows from that.

The survey
Two days, €495, available on its own. Damjan Savić does it; the sheets are yours whatever happens next.
The operation
€25 a month, cancellable monthly. No fee per workflow and none per run, because the work sits in the instance and not in its load.
The end
A month of notice is enough. Nothing gets handed over, because nothing was ever with me.
2days of taking stock
1month of notice
5things, all yours

06 — The operation

A backup never restoredis not a backup.

The foundation of an instance that grew is usually a SQLite file in a container without a volume. That is not an operation, it is a countdown. What sits underneath instead is listed here, and every point has been tested once, not merely set up once.

What sits underneath

  1. Docker and PostgreSQLWith a volume, obviously. The database does not live in the container.
  2. Backup with a restore testRestored once a quarter, otherwise it is a claim.
  3. Monitoring on runsNot only whether the service answers, but whether it still does anything.
  4. Versions in stagesEleven months behind does not get caught up in one jump.
  5. Queue mode, once measuredOnly once runs start waiting on each other. Before that it is decoration.

It does not have to be the instance.

If you have no inherited instance but want to build a single process, you start elsewhere. And if you first need to know which steps should exist at all, you start one step earlier still.

5 · What sits underneath

07 — The objections

Four sentences from the company.Each has its answer beside it.

Four sentences I expect in a first conversation about an inherited instance, and I have said three of them myself. The answers stand on the right, in the same arrangement as the two instances above.

  1. 01

    “Our instance runs just fine.”

    It runs, and that is exactly why nobody touches it. That holds until a connected system changes or the version is too old to update in one step.

    • Running is not a state
    • Eleven months behind
  2. 02

    “Two instances mean double the work.”

    For a few weeks that is exactly right, and it costs double too. The alternative is a cutover date, which moves the same work into one night with no way back.

    • A few weeks doubled
    • But no cutover date
  3. 03

    “Our own developer could do this.”

    Probably better than me, because he knows your systems. The question is whether he writes the thirty-seven sheets, because that part does not feel like work and is the whole difference.

    • He knows your systems
    • Sheets rarely get written
  4. 04

    “We want to move off n8n anyway.”

    That can be the right decision, and it does not get worse for being said. But nothing can be migrated away that nobody can enumerate: the sheets are then more valuable, not superfluous.

    • A migration needs a list
    • n8n is not a world view
The long answersFour sentences from the company.
01

A running instance is not a stable state but a balance held from outside. As long as no connected system changes its interface, no credential expires and nobody triggers an update, nothing happens. All three conditions sit outside your building. The point at which it tips is therefore not plannable, and it arrives reliably at the worst moment: a provider retires an old interface, and suddenly the flow nobody can explain is the flow somebody has to repair today.

Running is not a stateEleven months behind
02

The parallel run is the most uncomfortable part and the only one that makes the thing safe. For a manageable period it costs twice the infrastructure and the attention to hold results against each other. In return there is no date on which everything switches at once, and no evening where the fallback consists of turning the old system back on and hoping. Switch-off happens one at a time, in the order in which a flow has proved itself, and if one does not prove itself, it stays on the left until it does.

A few weeks doubledBut no cutover date
03

This is the objection I agree with most readily, and it has a catch that has nothing to do with ability. Of all tasks, taking stock is the most thankless: it produces nothing you can demonstrate, it takes two days, and at the end there is a stack of paper instead of a running process. That is exactly why it almost never happens in-house, not even with good people, and exactly why it is the one thing I expressly offer on its own. If your developer writes them, that is the better solution, and I will tell you so.

He knows your systemsSheets rarely get written
04

n8n is a tool, not a world view, and there are good reasons to move off it: very large data volumes per run, transactions across several systems, logic with many special cases. None of that changes the order of operations. The first step of any migration is a complete list of what runs today, with purpose, trigger and target system per entry — which is exactly what taking stock produces. Migrate without that list and you rebuild what you remember, then find out six months later which three special cases you forgot.

A migration needs a listn8n is not a world view

08 — Appointment

A look at your company.Talk it through with me.

Pick a time that suits you straight from the calendar. I go through with you where your company stands and what is worth doing. No obligation and no sales pressure.

15 minutesno obligationwith the founder
Damjan SavićFirst call · 15 minutes · video
cal.com/coderconda

The calendar is hosted by cal.com.

Loading it opens a connection from your browser to cal.com (USA), which transmits your IP address; cal.com may set cookies when it loads. You can also go straight there instead.

Open at cal.com