{
  "id": "a0wJocTNabVjrlee",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "AIAutomationPro Backup Credentials To Google Drive",
  "tags": [],
  "nodes": [
    {
      "id": "550155aa-dfd0-4bbe-b3c7-26891c1903dd",
      "name": "On Click Trigger",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        60,
        280
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "000cbe87-24bb-41a2-a6db-4dc12529b191",
      "name": "Execute Command Get All Cridentials",
      "type": "n8n-nodes-base.executeCommand",
      "position": [
        520,
        280
      ],
      "parameters": {
        "command": "npx n8n export:credentials --all --decrypted"
      },
      "typeVersion": 1
    },
    {
      "id": "1d6c568b-1bbd-458c-b5c9-d209a6cc44e5",
      "name": "JSON Formatting Data",
      "type": "n8n-nodes-base.code",
      "position": [
        720,
        280
      ],
      "parameters": {
        "jsCode": "// Function to beautify JSON\nfunction beautifyJson(jsonString) {\n  try {\n    // Parse the JSON string\n    const jsonObject = JSON.parse(jsonString);\n\n    // Format the JSON with indentation\n    return jsonObject; // Return the parsed object directly\n  } catch (error) {\n    // Return the error message if JSON is invalid\n    return `Invalid JSON: ${error.message}`;\n  }\n}\n\n// Retrieve the JSON object from the input data\nconst input = $input.all()[0].json;\n\n// Extract the JSON string from the stdout field\nconst jsonString = input.stdout.match(/\\[{.*}\\]/s);\n\n// Check if a valid JSON string is found\nif (!jsonString) {\n  return {\n    json: {\n      error: \"No valid JSON string found in stdout.\"\n    }\n  };\n}\n\n// Beautify the JSON\nconst beautifiedJson = beautifyJson(jsonString[0]);\n\n// Output the beautified JSON, ensuring each entry is in an object with a 'json' key\nconst output = beautifiedJson.map(entry => ({ json: entry }));\n\n// Return the output\nreturn output;\n"
      },
      "typeVersion": 2
    },
    {
      "id": "2c41e6b0-b1c2-4102-a37f-403b5438caf3",
      "name": "Aggregate Cridentials",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        920,
        280
      ],
      "parameters": {
        "options": {},
        "aggregate": "aggregateAllItemData"
      },
      "typeVersion": 1
    },
    {
      "id": "d6a08fd5-16c6-4746-ab23-9dd956eda393",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        420,
        200
      ],
      "parameters": {
        "width": 911,
        "height": 292,
        "content": "## Export All Credentials From N8n"
      },
      "typeVersion": 1
    },
    {
      "id": "458c133d-ce5e-4fc5-9af5-79b04e86a18d",
      "name": "Convert To File",
      "type": "n8n-nodes-base.convertToFile",
      "position": [
        1120,
        280
      ],
      "parameters": {
        "options": {},
        "operation": "toJson",
        "binaryPropertyName": "=data"
      },
      "typeVersion": 1.1
    },
    {
      "id": "0e39d74f-53ee-4b9e-b213-97bfaa605e78",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1440,
        200
      ],
      "parameters": {
        "width": 311,
        "height": 292,
        "content": "## Google Drive Folder"
      },
      "typeVersion": 1
    },
    {
      "id": "afd3b1ce-bd9e-4dda-bb9a-d27f343f57a1",
      "name": "Google Drive Upload File",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        1540,
        280
      ],
      "parameters": {
        "name": "=n8n_backup_credentials.json",
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive",
          "cachedResultUrl": "https://drive.google.com/drive/my-drive",
          "cachedResultName": "My Drive"
        },
        "options": {},
        "folderId": {
          "__rl": true,
          "mode": "list",
          "value": "1p447S9MWYcRpA6dmfDe-Kdc3-d8L2Lzr",
          "cachedResultUrl": "https://drive.google.com/drive/folders/1p447S9MWYcRpA6dmfDe-Kdc3-d8L2Lzr",
          "cachedResultName": "Tung Backup Credential"
        },
        "inputDataFieldName": "=data"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "62a9e8c8-9731-459b-98c7-9befaf4c7cce",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        60,
        480
      ],
      "parameters": {
        "rule": {
          "interval": [
            {}
          ]
        }
      },
      "typeVersion": 1.2
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "35978b6b-b4a2-4fce-a3bf-3ecf1f6c3e55",
  "connections": {
    "Convert To File": {
      "main": [
        [
          {
            "node": "Google Drive Upload File",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "On Click Trigger": {
      "main": [
        [
          {
            "node": "Execute Command Get All Cridentials",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "Execute Command Get All Cridentials",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "JSON Formatting Data": {
      "main": [
        [
          {
            "node": "Aggregate Cridentials",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate Cridentials": {
      "main": [
        [
          {
            "node": "Convert To File",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Execute Command Get All Cridentials": {
      "main": [
        [
          {
            "node": "JSON Formatting Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}