Reference guide

Setup &Configuration

Three paths to a working agent, from simplest to most powerful. Start with Path 1 — it requires nothing but a browser and gets you a working agent today. Paths 2 and 3 add automation and integration capability, but require infrastructure decisions that need to be made deliberately. Don't rush to them.

Which path is right for you now?

PathWhat it isReady to use now?Best for
Path 1 — Claude.ai Projects Browser-based agent with uploaded reference files. No setup required. YES — start here today All drafting, reviewing, and document generation tasks from Modules 2–4
Path 2 — n8n workflow automation Connects Claude to your files and systems for automated, scheduled workflows. NOT YET — infrastructure decision required first Automated procurement reports, scheduled compliance checks, file-triggered workflows
Path 3 — Python API Direct code-level integration with Claude. Maximum flexibility. NOT YET — requires developer involvement Deep ERP/CAD integration, custom pipelines, bespoke tooling

Path 1 — No-code: Claude.ai Projects START HERE

Claude Projects give you a persistent agent with a custom system prompt and uploaded reference files — no programming, no infrastructure, no IT involvement required. This is the right starting point for all estimating, compliance, and delivery document agents described in this course.

  1. Create a Claude account — Team or Business plan Go to claude.ai and sign up for a Team plan (approximately $30 AUD per user per month). The Team and Business plans include a data processing agreement — this is required before uploading any Normoyle project data, client names, or cost rates. Do not use the free plan for any confidential work data.
  2. Create a new Project Click "Projects" → "New project". Give it a clear, specific name: "Normoyle Estimating Agent", "Compliance Doc Agent", "RFI Drafter — [Project name]". Each agent type gets its own Project with its own system prompt and reference files.
  3. Paste your system prompt into Custom Instructions Copy the relevant system prompt from Module 2, 3, or 4 (or from the Tools & Prompts page) into the "Custom instructions" field. This is the agent's standing brief — every conversation in this Project uses it automatically.
  4. Upload your reference files Upload: your cost rate card (CSV or Excel), relevant standards clause extracts (PDF), 2–3 past document examples for tone and format reference, and the project specification if applicable. Claude uses these as context for every conversation in the Project.
  5. Test with a past job before using on live work Upload a drawing or document from a completed job where you know the correct answer. Ask the agent to produce its output. Compare to what was actually produced. Refine the system prompt and repeat until accuracy is acceptable. See Module 2 for the full testing protocol.
  6. Invite your team to the Project Add the relevant team members — estimator, project engineer, or PM depending on the agent type. Everyone works within the same Project using the same configuration. One named person (the agent owner) is responsible for system prompt updates. See Module 5 for the governance framework.
What Path 1 can and can't do

Claude Projects handle everything covered in Modules 2–4: processing uploaded drawings, producing BOM and quote drafts, reviewing compliance documents, drafting RFIs and procurement emails, generating progress report content. What it can't do is run automatically on a schedule or connect directly to live databases without manual file uploads. For that, you need Path 2 — but only after the infrastructure questions below are resolved.

Path 2 — Workflow automation: the infrastructure decision first

n8n is a workflow automation tool that connects Claude to your existing systems — spreadsheets, shared folders, email — enabling agents to run automatically on a schedule without anyone manually starting them. The procurement agent running every morning at 8am and producing a status report is a Path 2 workflow.

n8n itself is free and excellent. But before installing it, you need to make a considered decision about where it runs — because that decision affects reliability, data security, and maintainability. This is not a decision to make quickly.

Important — read before proceeding to Path 2

The Normoyle Synology NAS currently hosting this training site is suitable for experimentation only — not for production business automation. It runs a single drive with no mirroring, which means a drive failure would result in data loss with no recovery. Any automated workflow running business-critical processes needs to run on infrastructure with appropriate reliability, backup, and support. Do not deploy production automation on the NAS without first resolving the infrastructure questions below.

Infrastructure options for running n8n

There are several places n8n can be deployed. Each has different trade-offs for a business like Normoyle:

Option A — Current NAS (experimentation only)
Synology NAS

Works for learning and testing. Not suitable for production — single drive, no redundancy, no guaranteed uptime, limited support. Use for: building and testing workflows before committing to a production platform. Do not use for: any workflow the business depends on daily.

Option B — Recommended for production
Cloud hosted (n8n.cloud)

n8n's own managed hosting. Handles reliability, backups, updates, and uptime automatically. No server management required. Starts at approximately $25 USD/month. Suitable for production use from day one. Best choice for most small businesses wanting automation without IT overhead.

Option C — Reliable self-hosted
Dedicated server or VM

n8n installed on a proper server — either a physical machine with RAID storage, or a virtual machine from a cloud provider (AWS, Azure, Google Cloud). More control and lower ongoing cost than Option B at scale, but requires IT setup and maintenance. Appropriate once automation use expands beyond early pilots.

Option D — Simplest cloud alternative
Make.com or Zapier

Commercial workflow automation platforms with Claude integrations, no self-hosting required. More limited than n8n but simpler to start with. Make.com has a free tier. A reasonable path if the team finds n8n too technical — evaluate against actual workflow needs before committing.

Questions to answer before choosing your infrastructure

  1. What happens if the automation goes down for a day? If the procurement agent doesn't run one morning, how does the PM find out about overdue deliveries? If the answer is "they just do it manually like before" then occasional downtime is acceptable and the NAS (for testing) or n8n.cloud (for production) is fine. If the workflow is truly critical, you need guaranteed uptime.
  2. Who maintains it? n8n on a self-hosted server needs someone to update it, monitor it, and fix it when it breaks. Is there a person at Normoyle with the time and skills to do this? If not, a managed option (n8n.cloud, Make.com) removes that burden.
  3. What data will the workflows touch? If automated workflows will process client project data, supplier pricing, or mill certificates, the hosting environment needs to meet Normoyle's data security requirements. Cloud options should be evaluated against your data processing obligations — especially for defence project data.
  4. What is the actual cost? n8n.cloud at $25 USD/month plus Claude API costs of $20–80/month (depending on volume) is the realistic cost of a small production automation setup. Compare this against the time saving — at Normoyle's rates, saving 2 hours of PM time per week pays for it within the first month.
Recommended approach for Normoyle right now

Start with Path 1 (Claude.ai Projects) for all immediate agent work — this covers everything in the course without any infrastructure decisions. When Path 1 is working well and the team is ready to automate scheduled workflows, evaluate n8n.cloud as the production platform and use the Synology NAS only for testing and workflow development. Make the infrastructure decision deliberately, not as an afterthought.

Path 2 — n8n setup (for experimentation on the NAS)

The following instructions are for installing n8n on the Synology NAS for experimentation and workflow development only. Do not use this setup for production automation the business depends on. Once workflows are tested and proven, migrate them to a production-grade platform before relying on them operationally.

  1. Install Docker on the Synology NAS In DSM → Package Center → search "Container Manager" (Synology's Docker interface) → install. Docker is the environment that runs n8n as an isolated container — it won't interfere with Web Station or other NAS functions.
  2. Deploy the n8n container In Container Manager → Registry → search "n8n/n8n" → download. Create a new container from the image. Key settings: map port 5678 (so n8n is accessible at the NAS IP on that port), and map a local NAS folder as the n8n data volume so workflow definitions are saved to disk rather than lost when the container restarts.
  3. Get a Claude API key Go to console.anthropic.com → API Keys → Create key. Treat this like a password — it controls billing and data access. In n8n: Settings → Credentials → New → search "Anthropic" → paste your API key. Never paste the key directly into workflow configurations where it might be exported or shared.
  4. Build and test a workflow manually first In n8n → New Workflow. Add nodes one at a time: a trigger (Manual, to start), a file reader (reads your PO register CSV from a NAS shared folder), an Anthropic Claude node (your system prompt and user message), and a file writer (saves the output). Run manually and check the output before adding a schedule trigger.
  5. Add a schedule trigger only after manual testing is satisfactory Once the workflow produces correct output on manual runs, add a Schedule trigger node. Set to a sensible time (8am daily for procurement). Monitor the first five scheduled runs manually — check the output each time before assuming it's working correctly.
n8n — Claude API node configuration
Node type:     Anthropic Claude
Credential:    [select your saved Anthropic API credential]
Model:         claude-sonnet-4-6  # current recommended model
Max tokens:    4000
Temperature:   0.2   # low = consistent/predictable output
               # use 0.7 for more varied/creative tasks

System prompt: [paste your agent system prompt here]

User message:  [connect from previous node — e.g. file contents]
               {{ $json.file_contents }}

# Common mistake: leaving the API key in the system prompt
# or user message field. Always use a saved Credential instead.
NAS reliability reminder

The Synology NAS runs a single drive with no RAID mirroring. If that drive fails, workflows and any data stored on it are lost. For experimentation this is acceptable — you can rebuild a workflow. For production automation the business depends on (daily procurement reports, scheduled compliance checks), this is not acceptable. When a workflow has been tested on the NAS and is ready for production use, migrate it to n8n.cloud or a properly configured server before enabling the schedule.

Path 3 — Full API: Python script

Direct API integration gives maximum control and flexibility — connecting Claude to ERP systems, CAD tools, custom databases, or bespoke Normoyle tooling. This path requires Python knowledge and developer involvement. It's the right choice when Path 1 and 2 can't handle a specific integration requirement, not as a starting point.

Python — minimal estimating agent (starting template)
import anthropic
import pandas as pd
import os

# Load cost database from CSV
cost_db = pd.read_csv('normoyle_costs.csv')

# Initialise Claude client using environment variable for API key
# Never hardcode the API key in source code
client = anthropic.Anthropic(
    api_key=os.environ.get('ANTHROPIC_API_KEY')
)

def run_estimating_agent(drawing_text: str) -> str:
    cost_context = cost_db.to_string(index=False)

    response = client.messages.create(
        model="claude-sonnet-4-6",
        max_tokens=4000,
        system="""You are the Normoyle estimating agent.
[paste full system prompt from Module 2 here]""",
        messages=[{
            "role": "user",
            "content": f"""Cost database:
{cost_context}

Drawing content:
{drawing_text}

Produce BOM, labour estimate, cost subtotal, flagged items,
and quote draft."""
        }]
    )
    return response.content[0].text

# Read drawing text and run agent
with open('drawing.txt', 'r') as f:
    drawing = f.read()

result = run_estimating_agent(drawing)
print(result)

# Save output to file for review
with open('quote_draft.txt', 'w') as f:
    f.write(result)
API key security — non-negotiable

Never put your API key directly in Python code — if that file is shared, committed to version control, or accidentally emailed, the key is compromised. Use an environment variable (os.environ.get('ANTHROPIC_API_KEY')) or a secrets manager. An exposed API key means someone else can use your account and run up costs. Rotate any key immediately if you suspect it has been exposed.

Common setup problems and fixes

ProblemMost likely causeFix
Agent produces very short or incomplete output Max tokens set too low — output gets cut off mid-sentence Increase max_tokens to 4000 or higher. For long documents, consider 8000.
Agent ignores part of the system prompt Prompt is too long or contains conflicting instructions Shorten the prompt. Check for contradictory rules. Put the most important rules first.
Output is inconsistent — different answers for same input Temperature set too high Set temperature to 0.1–0.2 for document tasks requiring consistency.
Agent doesn't use the uploaded reference files Files not referenced in system prompt, or file format not readable Explicitly tell the agent the files exist: "You have access to normoyle-costs.csv as a reference file." Use PDF or plain text — avoid complex Excel formatting.
n8n workflow runs but Claude node fails API key not saved correctly as a Credential, or key has expired/been revoked Check Credentials in n8n settings. Test the key directly at console.anthropic.com. Create a new key if the old one was compromised.
n8n container stops after NAS restart Container not set to auto-restart In Container Manager, edit the container settings and enable "auto-restart." Note: this is still experimentation infrastructure — a more reliable host is needed for production.
Claude Projects — uploaded file not being used File is too large, or in a format Claude can't read well Keep reference files under 10MB. Convert Excel to CSV for cost databases. Use text-based PDFs rather than scanned images where possible.
Agent confident but wrong — no flags raised System prompt doesn't have explicit flagging rules Add: "Flag ANY item you cannot confirm from the source documents with [REVIEW NEEDED]. Never suppress uncertainty to produce a cleaner-looking output."