Automations you can inspect.

14 workflows for support, scheduling, content and operations. Read the setup, inspect a fictional run, then adapt the pattern to your business.

Plan the limits, tests and operating owner with our printable readiness worksheet (PDF, 5 pages).

Support and scheduling

Approved FAQ chatbot

Answer a visitor from reviewed FAQ text, or explain how to reach a person.

Input
A question and an optional request for a person.
Checks
Validate the request and model-selected article IDs.
Result
Exact approved answer text with sources, or a clear human handoff.
Installation needs
  • n8n
  • Anthropic API
  • Authenticated backend

Inspect a fictional run

Code-node demo

The model can select an approved answer. It cannot supply new answer prose.

Approved hours returned. Invented answer ID rejected.
Read the actual example output
[
  {
    "case": "Unconfigured export",
    "route": "respond",
    "httpStatus": 503,
    "result": {
      "status": "setup_required"
    }
  },
  {
    "case": "Fictional model selects approved hours",
    "route": "respond",
    "httpStatus": 200,
    "result": {
      "requestId": "demo-faq-001",
      "status": "answered_from_approved_faq",
      "answer": "Our fictional demonstration support team is available Monday through Friday, 09:00 to 17:00 UTC.",
      "sources": [
        {
          "id": "hours",
          "title": "Support hours",
          "url": "https://example.com/support"
        }
      ],
      "contactCreated": false
    }
  },
  {
    "case": "Visitor asks for a person; model is bypassed",
    "route": "respond",
    "httpStatus": 200,
    "result": {
      "requestId": "demo-faq-001",
      "status": "human_handoff",
      "answer": "This needs a person to review it. Please use the support contact shown on the website. This chat has not created a support request.",
      "sources": [],
      "contactCreated": false
    }
  },
  {
    "case": "Fictional model invents an article ID",
    "route": "respond",
    "httpStatus": 502,
    "result": {
      "status": "unavailable",
      "message": "The provider response could not be verified. No external action was taken."
    }
  }
]
node walkthroughs/run-workflow-demo.cjs faq

Run from the downloaded library folder. Node.js 22 or later. Actual exported Code in a local harness with fictional provider responses or a fixed clock; not the full n8n graph. No provider calls or customer data.

Before you connect real data

A valid FAQ can still be irrelevant. Test answer selection with your own questions. A handoff does not create a support ticket.

Imports inactive. Credentials are not included.6 processing nodes

Support and scheduling

Business-hours status

Give a receptionist an exact open or closed answer, including lunch breaks and overnight shifts.

Input
Your weekly intervals, IANA time zone and closure dates.
Checks
Apply current local time, interval boundaries and overnight rules.
Result
Open or closed status with the local date and time.
Installation needs
  • n8n
  • Webhook credential

Inspect a fictional run

Code-node demo

A fixed Chicago schedule exposes the exact opening, lunch, closing and overnight decisions.

Nine schedule checks matched their expected result.
Read the actual example output
[
  {
    "case": "One minute before opening",
    "status": "closed",
    "office_is_open": false,
    "local_date": "2026-10-12",
    "local_day": "Monday",
    "local_time": "08:59",
    "time_zone": "America/Chicago",
    "today_hours": [
      [
        "09:00",
        "12:00"
      ],
      [
        "13:00",
        "17:00"
      ]
    ],
    "closed_date": false
  },
  {
    "case": "Opening minute is included",
    "status": "open",
    "office_is_open": true,
    "local_date": "2026-10-12",
    "local_day": "Monday",
    "local_time": "09:00",
    "time_zone": "America/Chicago",
    "today_hours": [
      [
        "09:00",
        "12:00"
      ],
      [
        "13:00",
        "17:00"
      ]
    ],
    "closed_date": false
  },
  {
    "case": "Lunch break starts",
    "status": "closed",
    "office_is_open": false,
    "local_date": "2026-10-12",
    "local_day": "Monday",
    "local_time": "12:00",
    "time_zone": "America/Chicago",
    "today_hours": [
      [
        "09:00",
        "12:00"
      ],
      [
        "13:00",
        "17:00"
      ]
    ],
    "closed_date": false
  },
  {
    "case": "Afternoon interval starts",
    "status": "open",
    "office_is_open": true,
    "local_date": "2026-10-12",
    "local_day": "Monday",
    "local_time": "13:00",
    "time_zone": "America/Chicago",
    "today_hours": [
      [
        "09:00",
        "12:00"
      ],
      [
        "13:00",
        "17:00"
      ]
    ],
    "closed_date": false
  },
  {
    "case": "Closing minute is excluded",
    "status": "closed",
    "office_is_open": false,
    "local_date": "2026-10-12",
    "local_day": "Monday",
    "local_time": "17:00",
    "time_zone": "America/Chicago",
    "today_hours": [
      [
        "09:00",
        "12:00"
      ],
      [
        "13:00",
        "17:00"
      ]
    ],
    "closed_date": false
  },
  {
    "case": "Date-specific closure overrides hours",
    "status": "closed",
    "office_is_open": false,
    "local_date": "2026-10-12",
    "local_day": "Monday",
    "local_time": "09:00",
    "time_zone": "America/Chicago",
    "today_hours": [
      [
        "09:00",
        "12:00"
      ],
      [
        "13:00",
        "17:00"
      ]
    ],
    "closed_date": true
  },
  {
    "case": "Tuesday overnight interval continues on Wednesday",
    "status": "open",
    "office_is_open": true,
    "local_date": "2026-10-14",
    "local_day": "Wednesday",
    "local_time": "01:59",
    "time_zone": "America/Chicago",
    "today_hours": [],
    "closed_date": false
  },
  {
    "case": "Overnight closing minute is excluded",
    "status": "closed",
    "office_is_open": false,
    "local_date": "2026-10-14",
    "local_day": "Wednesday",
    "local_time": "02:00",
    "time_zone": "America/Chicago",
    "today_hours": [],
    "closed_date": false
  },
  {
    "case": "Previous-date closure suppresses overnight carry",
    "status": "closed",
    "office_is_open": false,
    "local_date": "2026-10-14",
    "local_day": "Wednesday",
    "local_time": "01:59",
    "time_zone": "America/Chicago",
    "today_hours": [],
    "closed_date": false
  }
]
node walkthroughs/run-workflow-demo.cjs office

Run from the downloaded library folder. Node.js 22 or later. Actual exported Code in a local harness with fictional provider responses or a fixed clock; not the full n8n graph. No provider calls or customer data.

Before you connect real data

Reports configured hours, not staff presence. Test your real timezone and daylight-saving policy before activation.

Imports inactive. Credentials are not included.4 processing nodes

Support and scheduling

Appointment availability

Check a proposed appointment interval in Google Calendar before offering it to a customer.

Input
A requested start and end time with explicit timezone offsets.
Checks
Validate the interval and ask Google Calendar whether it is free.
Result
Available, busy or an explicit unverified-provider response.
Installation needs
  • n8n
  • Google Calendar
  • Webhook credential

Before you connect real data

Availability is a snapshot. This workflow does not reserve a slot or prevent a later competing booking.

Imports inactive. Credentials are not included.8 processing nodes

Support and scheduling

Confirmed appointment booking

Create a private calendar event only after an explicit confirmation and availability check.

Input
A confirmed appointment, time interval and stable request ID.
Checks
Validate confirmation, check availability and verify the returned event.
Result
A verified event identity or a specific invalid, busy or unconfirmed response.
Installation needs
  • n8n
  • Google Calendar
  • Webhook credential

Before you connect real data

Lookup and creation are separate operations. Serialize competing writers and reconcile uncertain results before retrying.

Imports inactive. Credentials are not included.13 processing nodes

Support and scheduling

Callback notification

Let staff know when a caller explicitly asks for a callback.

Input
A validated callback request and configured staff inbox.
Checks
Validate the request, send through Gmail and inspect the receipt.
Result
Mail-provider acceptance or an unconfirmed-send response.
Installation needs
  • n8n
  • Gmail
  • Webhook credential

Before you connect real data

Provider acceptance is not inbox delivery, a completed callback or a booked appointment.

Imports inactive. Credentials are not included.8 processing nodes

Content and knowledge

Cited editorial packet

Keep exact source evidence beside AI-generated editorial ideas for a person to review.

Input
A topic and approved excerpts from named sources.
Checks
Verify every source ID and exact evidence quote in the model output.
Result
An editorial review packet with source URLs and supporting quotations.
Installation needs
  • n8n
  • Anthropic API
  • Approved excerpts

Inspect a fictional run

Code-node demo

An exact source quote is retained for review. A fabricated quotation fails validation.

Cited packet returned. Invented quote rejected.
Read the actual example output
[
  {
    "case": "Exact supplied quote becomes a review packet",
    "route": "respond",
    "httpStatus": 200,
    "result": {
      "requestId": "demo-editorial-001",
      "status": "needs_editor_review",
      "headline": "Give each handoff a reviewer",
      "angle": "A small checklist for an implementation team.",
      "sections": [
        {
          "heading": "Decide who reviews the work",
          "points": [
            {
              "claim": "Name a reviewer before implementation.",
              "sourceId": "demo-guide",
              "sourceUrl": "https://example.com/handoff",
              "evidenceQuote": "Assign one reviewer before implementation starts."
            }
          ]
        }
      ],
      "reviewText": "Give each handoff a reviewer\n\nA small checklist for an implementation team.\n\nDecide who reviews the work\n- Name a reviewer before implementation.\n  Source: https://example.com/handoff\n  Evidence: Assign one reviewer before implementation starts.\n",
      "checks": {
        "sourceIdsKnown": true,
        "quotesFoundInSuppliedExcerpts": true,
        "semanticAccuracy": "requires_human_review",
        "publication": "not_attempted"
      }
    }
  },
  {
    "case": "Invented quote is rejected",
    "route": "respond",
    "httpStatus": 502,
    "result": {
      "status": "unavailable",
      "message": "The provider response could not be verified. No external action was taken."
    }
  },
  {
    "case": "Source-use approval is missing; model is bypassed",
    "route": "respond",
    "httpStatus": 400,
    "result": {
      "status": "invalid_request",
      "message": "Check the documented input schema. No provider request was made."
    }
  }
]
node walkthroughs/run-workflow-demo.cjs editorial

Run from the downloaded library folder. Node.js 22 or later. Actual exported Code in a local harness with fictional provider responses or a fixed clock; not the full n8n graph. No provider calls or customer data.

Before you connect real data

Quote matching proves traceability, not meaning or truth. There is no persistent review queue or automatic publication.

Imports inactive. Credentials are not included.6 processing nodes

Content and knowledge

Approved WordPress draft

Create a WordPress draft from an editor-approved title and paragraphs, then read it back.

Input
Explicit approval of the exact title, paragraphs and slug.
Checks
Check the slug, create a missing draft and verify the saved post.
Result
A verified draft identity without publishing the article.
Installation needs
  • n8n
  • WordPress
  • Authenticated approval

Before you connect real data

Serial lookup is not an atomic lock. Reconcile uncertain writes and coordinate simultaneous requests for the same slug.

Imports inactive. Credentials are not included.13 processing nodes

Content and knowledge

Transcript handoff review

Turn a transcript into evidence-linked decisions and proposed actions for participant review.

Input
An approved transcript and its source reference.
Checks
Validate structured model output and supporting evidence quotations.
Result
A review packet, not automatically assigned or completed tasks.
Installation needs
  • n8n
  • Anthropic API
  • Approved transcript

Before you connect real data

Participants still confirm speaker attribution, context and commitments. Do not send confidential transcripts without permission.

Imports inactive. Credentials are not included.6 processing nodes

Content and knowledge

Markdown to Google Docs

Create a formatted Google document from Markdown and verify its returned identity.

Input
A document title and Markdown content.
Checks
Validate the document, convert formatting and read back the created file.
Result
A Google Docs link for the newly created document.
Installation needs
  • n8n
  • Google Drive credentials

Before you connect real data

Test formatting and sharing in your own account. A returned file identity does not prove every layout detail rendered correctly.

Imports inactive. Credentials are not included.9 processing nodes

Content and knowledge

Public-source collector

Collect permitted pages in bounded batches and continue from durable state after a restart.

Input
An approved source scope, seeds and optional completed discovery export.
Checks
Apply URL scope, robots rules, pacing, budgets and content deduplication.
Result
A bounded document collection, durable queue and aggregate receipts.
Installation needs
  • Python 3.12+
  • Self-hosted n8n for controller

Inspect a fictional run

Offline CLI

A new CLI process resumes the same local queue. Duplicate discovery and final receipts are reconciled.

3 URLs collected, 2 unique bodies, 1 robots block.
Read the actual example output
[
  {
    "accepted": 2,
    "rejected": 1,
    "replay": false
  },
  {
    "accepted": 2,
    "rejected": 1,
    "replay": true
  },
  {
    "charged_bytes": 457,
    "continue": false,
    "frontier": {
      "blocked": 1,
      "done": 3
    },
    "frontier_truncated": false,
    "job_id": "public-docs-demo",
    "mode": "offline_demo",
    "pages": 3,
    "reason": null,
    "requests": 4,
    "state": "complete",
    "unique_documents": 2,
    "wait_seconds": 0
  }
]
python3 walkthroughs/run-collector-demo.py

Run from the downloaded library folder. Python 3.12 or later. Actual offline collector CLI with built-in fictional transport; no n8n controller execution. No provider calls or customer data.

Before you connect real data

The offline demo uses fictional pages. Live collection needs an explicit permitted scope. This is not a browser renderer or contact-harvesting system.

Imports inactive. Credentials are not included.7 processing nodes

Operations and data

n8n failures to Linear

Find or create a recovery issue for an integration failure using a stable incident reference.

Input
An n8n failure event and configured recovery destination.
Checks
Build a safe reference, search for an existing issue and verify any creation.
Result
A confirmed recovery issue receipt for the operator.
Installation needs
  • n8n
  • Linear API

Before you connect real data

Serial lookup is not a cross-execution lock. A created issue does not mean the underlying integration has recovered.

Imports inactive. Credentials are not included.10 processing nodes

Operations and data

Instantly opt-out sync

Preview missing suppression entries before optionally applying and verifying them.

Input
The complete unsubscribed-lead and blocked-entry collections.
Checks
Normalize identities, compare suppression coverage and inspect write receipts.
Result
A preview or verified missing-block reconciliation.
Installation needs
  • n8n
  • Instantly API

Before you connect real data

It does not send campaigns. Review provider access, scope and current suppression state before enabling changes.

Imports inactive. Credentials are not included.13 processing nodes

Operations and data

Google Sheets email validation

Deduplicate a bounded sheet range and produce a reconciled email-validation report.

Input
A selected spreadsheet range and email column.
Checks
Normalize and deduplicate addresses, then request ZeroBounce validation.
Result
A reviewable CSV with validation results and reconciled counts.
Installation needs
  • n8n
  • Google Sheets
  • ZeroBounce API

Before you connect real data

Validation uses your provider account and may incur charges. A validated address is not permission to contact someone.

Imports inactive. Credentials are not included.7 processing nodes

Operations and data

Inventory update plan

Compare complete warehouse and store snapshots before making inventory changes.

Input
Two complete snapshots with compatible product identifiers.
Checks
Validate completeness and reconcile differences between the snapshots.
Result
An update-plan CSV for human review, not direct store writes.
Installation needs
  • n8n
  • Complete inventory snapshots

Before you connect real data

The planner does not infer missing stock from incomplete data or apply changes to a commerce system.

Imports inactive. Credentials are not included.5 processing nodes

Read the implementation decisions.

Three field notes with executable fictional examples, observed failures and the work still required for a real installation.