Files
n8n-backup-v2/workflows/0gxdxCdYQ7oXk7gC.json
2026-01-02 22:48:32 +00:00

378 lines
10 KiB
JSON

{
"id": "0gxdxCdYQ7oXk7gC",
"name": "MAM Series Enricher",
"nodes": [
{
"parameters": {},
"id": "execute-workflow-trigger",
"name": "Execute Workflow Trigger",
"position": [
224,
640
],
"type": "n8n-nodes-base.executeWorkflowTrigger",
"typeVersion": 1
},
{
"parameters": {
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"conditions": [
{
"id": "condition-1",
"leftValue": "={{ $json.enrichment_status }}",
"operator": {
"type": "string",
"operation": "notEquals"
},
"rightValue": "enriched"
}
],
"combinator": "or"
},
"options": {}
},
"id": "check-enrichment-needs",
"name": "Check Enrichment Needs",
"position": [
448,
640
],
"type": "n8n-nodes-base.if",
"typeVersion": 2.2
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "assign-1",
"name": "success",
"type": "boolean",
"value": true
},
{
"id": "assign-2",
"name": "series_id",
"type": "string",
"value": "={{ $json.id }}"
},
{
"id": "assign-3",
"name": "series_name",
"type": "string",
"value": "={{ $json.series_name }}"
},
{
"id": "assign-4",
"name": "message",
"type": "string",
"value": "Series already fully enriched"
}
]
},
"options": {}
},
"id": "already-enriched",
"name": "Already Enriched",
"position": [
848,
832
],
"type": "n8n-nodes-base.set",
"typeVersion": 3.4
},
{
"parameters": {
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"conditions": [
{
"id": "condition-1",
"leftValue": "={{ $json.mam_series_id }}",
"operator": {
"type": "string",
"operation": "notEmpty",
"singleValue": true
},
"rightValue": ""
}
],
"combinator": "and"
},
"options": {}
},
"id": "route-by-success",
"name": "Route by Success",
"position": [
1472,
432
],
"type": "n8n-nodes-base.if",
"typeVersion": 2.2
},
{
"parameters": {
"promptType": "define",
"text": "=Find the Series ID for: {{ $json.series_name }} by {{ $json.author_folder }}",
"hasOutputParser": true,
"needsFallback": true,
"options": {
"systemMessage": "=You are an expert metadata librarian.\n\n### YOUR GOAL\nFind the unique Series ID (integer) on MyAnonaMouse (MAM) for the input Series Name.\n\n### YOUR TOOL\n- **search_mam**: Input is a search string. It searches Titles, Authors, and Series names. Returns a list of results.\n\n### EXECUTION STEPS\n1. **Direct Search:** Start by searching for the exact Series Name.\n2. **Author Strategy (Fallback):** If the series search fails or returns 0 results:\n - Search for the **Author's Name** (from `author_folder` or `author`).\n - Scan the list of books returned.\n - Look for ANY book that appears to belong to the target series (check `series_info`).\n - If you find a book in the series, extract the Series ID from its `series_info`.\n3. **Analyze:**\n - Look for `series_info` (e.g., `{\"669061\": [\"Series Title\", \"1\"]}`).\n - The Series ID is the key (`669061`).\n4. **Validation:** Ensure the found series name matches the user's request.\n\n### OUTPUT FORMAT\nReturn a single JSON object.\n- `mam_series_id`: The ID found (or null).\n- `found_series_name`: The exact series name from the `series_info` field.",
"maxIterations": 20
}
},
"type": "@n8n/n8n-nodes-langchain.agent",
"typeVersion": 3,
"position": [
672,
224
],
"id": "882d88ae-7d06-468f-9524-c7dbad701365",
"name": "AI Agent",
"alwaysOutputData": true,
"onError": "continueErrorOutput"
},
{
"parameters": {
"workflowId": {
"__rl": true,
"value": "c3N3bYrOAy0rNGGq",
"mode": "list",
"cachedResultUrl": "/workflow/c3N3bYrOAy0rNGGq",
"cachedResultName": "MAM Search API Tool"
},
"workflowInputs": {
"mappingMode": "defineBelow",
"value": {
"search_term": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('search_term', ``, 'string') }}"
},
"matchingColumns": [
"search_term"
],
"schema": [
{
"id": "search_term",
"displayName": "search_term",
"required": false,
"defaultMatch": false,
"display": true,
"canBeUsedToMatch": true,
"removed": false
}
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
}
},
"type": "@n8n/n8n-nodes-langchain.toolWorkflow",
"typeVersion": 2.2,
"position": [
752,
448
],
"id": "d8a735da-8f5b-4020-816a-1a889c546d44",
"name": "Call 'MAM Search API Tool'"
},
{
"parameters": {
"model": {
"__rl": true,
"value": "minimaxai/minimax-m2",
"mode": "list",
"cachedResultName": "minimaxai/minimax-m2"
},
"responsesApiEnabled": false,
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"typeVersion": 1.3,
"position": [
816,
656
],
"id": "54820ab8-524b-4a1a-a939-6e9d0ecf777f",
"name": "OpenAI Chat Model",
"credentials": {
"openAiApi": {
"id": "QRBx9RMx4KoFwGgl",
"name": "Nvidia account"
}
}
},
{
"parameters": {
"schemaType": "manual",
"inputSchema": "{\n \"type\": \"object\",\n \"properties\": {\n \"mam_series_id\": {\n \"type\": [\"string\", \"null\"],\n \"description\": \"The unique Series ID found. Null if not found.\"\n },\n \"found_series_name\": {\n \"type\": [\"string\", \"null\"],\n \"description\": \"The name of the series exactly as it appears in the MAM database.\"\n }\n },\n \"required\": [\n \"mam_series_id\",\n \"found_series_name\"\n ]\n}",
"autoFix": true
},
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"typeVersion": 1.3,
"position": [
880,
448
],
"id": "662ea129-ecfd-4232-ad37-200ad912ea62",
"name": "Structured Output Parser"
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "cc0ebae4-c92b-4d03-8786-9f7e4e6438f2",
"name": "mam_series_id",
"value": "={{ $json.output.mam_series_id }}",
"type": "string"
},
{
"id": "bd249040-fe5c-4776-9ee0-0cececd613d1",
"name": "series_name",
"value": "={{ $json.output.found_series_name }}",
"type": "string"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.set",
"typeVersion": 3.4,
"position": [
1248,
432
],
"id": "890dab5a-2306-40da-b498-564e77d1fb67",
"name": "Edit Fields"
}
],
"connections": {
"Check Enrichment Needs": {
"main": [
[
{
"node": "AI Agent",
"type": "main",
"index": 0
}
],
[
{
"index": 0,
"node": "Already Enriched",
"type": "main"
}
]
]
},
"Execute Workflow Trigger": {
"main": [
[
{
"node": "Check Enrichment Needs",
"type": "main",
"index": 0
}
]
]
},
"Route by Success": {
"main": [
[],
[]
]
},
"Call 'MAM Search API Tool'": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"AI Agent": {
"main": [
[
{
"node": "Edit Fields",
"type": "main",
"index": 0
}
],
[]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "AI Agent",
"type": "ai_languageModel",
"index": 0
},
{
"node": "Structured Output Parser",
"type": "ai_languageModel",
"index": 0
},
{
"node": "AI Agent",
"type": "ai_languageModel",
"index": 1
}
]
]
},
"Structured Output Parser": {
"ai_outputParser": [
[
{
"node": "AI Agent",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Edit Fields": {
"main": [
[
{
"node": "Route by Success",
"type": "main",
"index": 0
}
]
]
}
},
"settings": {
"saveExecutionProgress": true,
"saveManualExecutions": true,
"saveDataErrorExecution": "all",
"saveDataSuccessExecution": "all",
"executionOrder": "v1"
},
"triggerCount": 0,
"versionId": "6979f441-1ec7-4907-84ab-0255a9f21c26",
"owner": {
"type": "personal",
"projectId": "FeLO36wNUAcn61Wj",
"projectName": "Ben W <admin@ben.io>",
"personalEmail": "admin@ben.io"
},
"parentFolderId": "6tDyZCwqELStb6Ik",
"isArchived": false
}