# CLAUDE.md This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. ## Repo overview This repo stores n8n workflow definitions as exported JSON files. There is no build system, test runner, or CI pipeline. ## File conventions - Each file is a self-contained n8n workflow export (JSON). - Naming pattern: `NNN - - - .json` - Do not rename files without updating the `"name"` field inside the JSON to match. ## Editing workflow JSON - The `"nodes"` array holds all logic. Each node has a `"type"`, `"parameters"`, and a unique `"id"` (UUID). - The `"connections"` object wires nodes together by **name** (not id). If you rename a node, update every reference to it in `"connections"` as well. - `"position"` values are canvas coordinates — adjust them to avoid overlapping nodes when adding new ones. - `"credentials"` blocks inside nodes reference credential IDs/names that exist in the target n8n instance. Do not invent or change credential IDs. ## Current workflows | File | Trigger | Purpose | |------|---------|---------| | `001 - Zendesk - Evaluation - Change Requests.json` | Cron `0 8,14 * * *` (Europe/Helsinki) | Scans 6 Zendesk groups for unsolved tickets created in the last day, uses GPT-4o (Azure OpenAI) to identify ITIL 4 change requests, sends a Telegram report, and logs findings to BookStack page #46. | ## Key integration details (001 workflow) - **Zendesk groups polled:** IT-Tukipalvelut, IT-Change Control, Järjestelmähankintaryhmä, Turvatekniikka, Sovelluspaketointi, IT-Hankinnat. - **AI model:** `gpt-4o` via Azure OpenAI. The agent prompt is ITIL 4-aligned and handles both Finnish and English tickets. - **Telegram chat ID:** `8632524096`. - **BookStack page ID:** `46` (prepends new HTML entries on each run; existing content is preserved). - The AI output format expected by `Code - Parse Tickets` is structured text with `Ticket ID:`, `Ticket URL:`, `Subject:`, and `Short reason:` fields — changes to the AI system prompt must preserve this format or the parse regex will break.