81 lines
2.9 KiB
Markdown
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.
|