Files
2026-04-14 13:32:19 +00:00

81 lines
2.9 KiB
Markdown

# n8n Workflows
Exported n8n workflow definitions stored as version-controlled JSON files.
## Workflows
### 001 · Zendesk — Evaluation — Change Requests
Runs twice daily at 08:00 and 14:00 (Europe/Helsinki). Scans six Zendesk support groups for unsolved tickets created in the past 24 hours, uses an AI agent to identify ITIL 4 change requests, notifies via Telegram, and logs confirmed findings to a BookStack wiki page.
#### Flow
```
Schedule Trigger (cron 0 8,14 * * *)
├─ Get IT-Tukipalvelut ─┐
├─ Get IT-Change Control │
├─ Get Järjestelmähankintaryhmä ├─ Merge results (6-input)
├─ Get Turvatekniikka │
├─ Get Sovelluspaketointi │
└─ Get IT-Hankinnat ─┘
Aggregate the results (formats tickets as JSON)
AI Agent (Claude Haiku 4.5 via Anthropic)
│ │
│ Report potential change requests → Telegram (immediate notification)
Code - Parse Tickets (regex-parses structured AI output)
Code - Aggregate Entries (builds HTML blocks)
Get current content (BookStack page #46)
Code - Merge Results (prepends new entries to existing HTML)
Send a text message (Telegram approval request — double confirmation)
Update Approved? (if approved == true)
Update page contents (BookStack page #46)
```
#### Required credentials
| Credential name | Type | Used by |
|---|---|---|
| `Zendesk account` | Zendesk API | All six Zendesk fetch nodes |
| `Anthropic account` | Anthropic API | AI Agent (Claude Haiku 4.5) |
| `Telegram account` | Telegram Bot API | Immediate report + approval request |
| `BookStack account` | BookStack API | Get and update page #46 |
> The `Azure OpenAI` node exists in the canvas but is not connected to the AI Agent and is not part of the active execution path.
#### AI output contract
The AI agent must begin every response with `CR report -` and use exactly these field labels for each finding:
```
Ticket ID: <id>
Ticket URL: <url>
Subject: <text>
Short reason: <text>
```
The `Code - Parse Tickets` node uses a regex that matches this exact format. Changes to the system prompt must preserve these labels and order.
## Repository conventions
- Naming: `NNN - <Integration> - <Category> - <Description>.json`
- Keep the `"name"` field inside the JSON in sync with the filename.
- `"connections"` references node names, not IDs — update both when renaming a node.
- Do not modify `"credentials"` blocks; credential IDs and names must match the target n8n instance.
## Importing a workflow
1. Open your n8n instance.
2. Go to **Workflows → Import from file**.
3. Select the JSON file.
4. Re-link any credentials that differ from the source instance before activating.