AutomationFlowsGeneral › AI Data Recovery Workflow with MongoDB

AI Data Recovery Workflow with MongoDB

Original n8n title: Data Recovery

Data Recovery. Uses executeWorkflowTrigger, informationExtractor, lmChatGoogleGemini, mongoDb. Event-driven trigger; 6 nodes.

Event trigger★★★★☆ complexityAI-powered6 nodesExecute Workflow TriggerInformation ExtractorGoogle Gemini ChatMongoDB
General Trigger: Event Nodes: 6 Complexity: ★★★★☆ AI nodes: yes Added:

This workflow follows the Execute Workflow Trigger → Informationextractor recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "name": "Data Recovery",
  "nodes": [
    {
      "parameters": {
        "workflowInputs": {
          "values": [
            {
              "name": "_id"
            }
          ]
        }
      },
      "type": "n8n-nodes-base.executeWorkflowTrigger",
      "typeVersion": 1.1,
      "position": [
        -160,
        -100
      ],
      "id": "fe6eabb3-6ba1-4c42-a09e-236f17adca2f",
      "name": "When Executed by Another Workflow"
    },
    {
      "parameters": {
        "attributes": {
          "attributes": [
            {
              "name": "_id",
              "description": "This is mongoDB item id used for the extraction of it",
              "required": true
            }
          ]
        },
        "options": {
          "systemPromptTemplate": "You are an expert extraction algorithm.\nOnly extract relevant information from the text.\nIf you do not know the value of an attribute asked to extract, you may omit the attribute's value."
        }
      },
      "type": "@n8n/n8n-nodes-langchain.informationExtractor",
      "typeVersion": 1,
      "position": [
        -20,
        -100
      ],
      "id": "78c58c8f-e7df-4349-ba32-ef13393ff3a7",
      "name": "Information Extractor"
    },
    {
      "parameters": {
        "modelName": "models/gemini-2.0-flash",
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "typeVersion": 1,
      "position": [
        -20,
        80
      ],
      "id": "83e6d445-1a8e-4777-8f02-7c83460d8b60",
      "name": "Google Gemini Chat Model",
      "credentials": {
        "googlePalmApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "0e07d90a-a8d3-4825-9f1e-29b340016d29",
              "name": "url",
              "value": "$in",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        560,
        -100
      ],
      "id": "0b554af7-a934-4c82-9d25-24b77575a21d",
      "name": "Edit Fields"
    },
    {
      "parameters": {
        "collection": "main",
        "options": {},
        "query": "{\n  \"_id\": { \"$in\": \"{{$node['Function Node'].json.datasetIds}}\" }\n}"
      },
      "type": "n8n-nodes-base.mongoDb",
      "typeVersion": 1.1,
      "position": [
        280,
        -100
      ],
      "id": "0b6b1525-e8af-44ad-8af8-93ee9705b309",
      "name": "MongoDB",
      "credentials": {
        "mongoDb": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "jsCode": "const datasets = $input.all()[0].json;\n\nconst downloadUrls = datasets.map(dataset => ({\n  title: dataset.metadata.title,\n  url: dataset.download_info.download_url\n}));\n\nreturn { downloadUrls };"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        420,
        -100
      ],
      "id": "82d9bc68-eb4c-4c66-bf01-9ca2db8d018b",
      "name": "Code"
    }
  ],
  "connections": {
    "When Executed by Another Workflow": {
      "main": [
        [
          {
            "node": "Information Extractor",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Gemini Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Information Extractor",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Information Extractor": {
      "main": [
        [
          {
            "node": "MongoDB",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "MongoDB": {
      "main": [
        [
          {
            "node": "Code",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code": {
      "main": [
        [
          {
            "node": "Edit Fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "d8ad15a3-494f-4e9f-ac64-da251eb63298",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "id": "CmR0093cp9SvNc1V",
  "tags": []
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Data Recovery. Uses executeWorkflowTrigger, informationExtractor, lmChatGoogleGemini, mongoDb. Event-driven trigger; 6 nodes.

Source: https://github.com/neloduka-sobe/ElevenLabs-Hackathon/blob/017ce37fc9b688ab318cef3185298d5c16913bf0/n8n/Data_Recovery.json — original creator credit. Request a take-down →

More General workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

General

Wait Redis. Uses manualTrigger, noOp, informationExtractor, lmChatOpenAi. Event-driven trigger; 30 nodes.

Information Extractor, OpenAI Chat, Redis +2
General

This workflow is ideal for animal advocates, campaign managers, and content creators who want to generate multiple versions of written content—such as blog posts, emails, or social media captions—and

OpenRouter Chat, Information Extractor, Execute Workflow Trigger
General

Code Extractfromfile. Uses stickyNote, informationExtractor, extractFromFile, lmChatOpenAi. Event-driven trigger; 22 nodes.

Information Extractor, OpenAI Chat, Microsoft Outlook +2
General

This n8n template implements an MCP (Model Context Protocol)-compliant module for managing Google Calendar events in a context-aware, conflict-free manner.

Mcp Trigger, Execute Workflow Trigger, Tool Workflow +2
General

Googledrivetool Extractfromfile. Uses stickyNote, executeWorkflowTrigger, mcpTrigger, googleDrive. Event-driven trigger; 17 nodes.

Execute Workflow Trigger, Mcp Trigger, Google Drive +3