AutomationFlowsData & Sheets › Permdb

Permdb

PermDB. Uses googleSheets, httpRequest. Scheduled trigger; 12 nodes.

Cron / scheduled trigger★★★★☆ complexity12 nodesGoogle SheetsHTTP Request
Data & Sheets Trigger: Cron / scheduled Nodes: 12 Complexity: ★★★★☆ Added:

This workflow follows the Google Sheets → HTTP Request 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": "PermDB",
  "nodes": [
    {
      "parameters": {
        "rule": {
          "interval": [
            {
              "triggerAtHour": 7
            }
          ]
        }
      },
      "type": "n8n-nodes-base.scheduleTrigger",
      "typeVersion": 1.3,
      "position": [
        -1696,
        -240
      ],
      "id": "9283fd5f-422c-4954-9034-dd51145cfdc9",
      "name": "Schedule Trigger"
    },
    {
      "parameters": {
        "documentId": {
          "__rl": true,
          "value": "YOUR_SOURCE_SHEET_ID",
          "mode": "list",
          "cachedResultName": "YOUR_SOURCE_SHEET_NAME",
          "cachedResultUrl": "YOUR_SHEET_URL"
        },
        "sheetName": {
          "__rl": true,
          "value": 1165795876,
          "mode": "list",
          "cachedResultName": "Sheet2",
          "cachedResultUrl": "YOUR_SHEET_URL"
        },
        "options": {}
      },
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 4.7,
      "position": [
        -1472,
        -240
      ],
      "id": "058c3906-8bc0-4741-9c53-802855298e3a",
      "name": "Get row(s) in sheet",
      "alwaysOutputData": false,
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "url": "=https://boards-api.greenhouse.io/v1/boards/{{$json[\"Token\"]}}/jobs",
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.4,
      "position": [
        -800,
        -432
      ],
      "id": "4298c92f-ef6b-4ad7-ab8c-9c41eb7717aa",
      "name": "HTTP Request",
      "alwaysOutputData": true,
      "onError": "continueErrorOutput"
    },
    {
      "parameters": {
        "rules": {
          "values": [
            {
              "conditions": {
                "options": {
                  "caseSensitive": true,
                  "leftValue": "",
                  "typeValidation": "strict",
                  "version": 3
                },
                "conditions": [
                  {
                    "leftValue": "={{ $('Get row(s) in sheet').item.json.Type }}",
                    "rightValue": "greenhouse",
                    "operator": {
                      "type": "string",
                      "operation": "contains"
                    },
                    "id": "c3c98b6a-3121-4eda-b30b-212b3e77c566"
                  }
                ],
                "combinator": "and"
              },
              "renameOutput": true,
              "outputKey": "Greenhouse"
            },
            {
              "conditions": {
                "options": {
                  "caseSensitive": true,
                  "leftValue": "",
                  "typeValidation": "strict",
                  "version": 3
                },
                "conditions": [
                  {
                    "id": "03fd36a2-bb42-477f-8505-1249c8eb9e0c",
                    "leftValue": "={{ $('Get row(s) in sheet').item.json.Type }}",
                    "rightValue": "ashby",
                    "operator": {
                      "type": "string",
                      "operation": "contains"
                    }
                  }
                ],
                "combinator": "and"
              },
              "renameOutput": true,
              "outputKey": "Ashby"
            },
            {
              "conditions": {
                "options": {
                  "caseSensitive": true,
                  "leftValue": "",
                  "typeValidation": "strict",
                  "version": 3
                },
                "conditions": [
                  {
                    "id": "8bef395b-ef89-40d2-ac70-0c3e980dfa32",
                    "leftValue": "={{ $('Get row(s) in sheet').item.json.Type }}",
                    "rightValue": "lever",
                    "operator": {
                      "type": "string",
                      "operation": "contains"
                    }
                  }
                ],
                "combinator": "and"
              },
              "renameOutput": true,
              "outputKey": "Lever"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.switch",
      "typeVersion": 3.4,
      "position": [
        -1024,
        -368
      ],
      "id": "fac0653c-a1ca-4b53-af54-dc9444d69fea",
      "name": "Switch",
      "alwaysOutputData": false,
      "onError": "continueErrorOutput"
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "loose",
            "version": 3
          },
          "conditions": [
            {
              "id": "7a7aa843-44cb-4967-99ee-b376e77f5462",
              "leftValue": "={{ $json.jobs.title }}",
              "rightValue": "YOUR_FILTER_KEYWORD",
              "operator": {
                "type": "string",
                "operation": "contains"
              }
            },
            {
              "id": "0c6a9e49-5416-4c70-85b7-bfb63ca5f058",
              "leftValue": "={{ $json.jobs.location.name }}",
              "rightValue": "YOUR_LOCATION_FILTER",
              "operator": {
                "type": "string",
                "operation": "contains"
              }
            }
          ],
          "combinator": "and"
        },
        "looseTypeValidation": true,
        "options": {}
      },
      "type": "n8n-nodes-base.if",
      "typeVersion": 2.3,
      "position": [
        -352,
        -432
      ],
      "id": "a0ae82ca-3c4f-4bb4-9224-065ce397c025",
      "name": "If",
      "alwaysOutputData": true,
      "onError": "continueRegularOutput"
    },
    {
      "parameters": {
        "fieldToSplitOut": "jobs",
        "include": "allOtherFields",
        "options": {}
      },
      "type": "n8n-nodes-base.splitOut",
      "typeVersion": 1,
      "position": [
        -576,
        -432
      ],
      "id": "c5fdde0d-e652-400f-b837-b7d11853c136",
      "name": "Split Out",
      "alwaysOutputData": true
    },
    {
      "parameters": {
        "operation": "append",
        "documentId": {
          "__rl": true,
          "value": "YOUR_ORIGDB_SHEET_ID",
          "mode": "list",
          "cachedResultName": "YOUR_ORIGDB_SHEET_NAME",
          "cachedResultUrl": "YOUR_SHEET_URL"
        },
        "sheetName": {
          "__rl": true,
          "value": "gid=0",
          "mode": "list",
          "cachedResultName": "Sheet1",
          "cachedResultUrl": "YOUR_SHEET_URL"
        },
        "columns": {
          "mappingMode": "defineBelow",
          "value": {
            "title": "={{ $json.jobs.title }}",
            "updated_at": "={{ $json.jobs.updated_at }}",
            "first_published": "={{ $json.jobs.first_published }}",
            "absolute_url": "={{ $json.jobs.absolute_url || $json.jobs.jobUrl }}"
          },
          "matchingColumns": [],
          "schema": [
            {
              "id": "absolute_url",
              "displayName": "absolute_url",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "title",
              "displayName": "title",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "updated_at",
              "displayName": "updated_at",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "first_published",
              "displayName": "first_published",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            }
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {}
      },
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 4.7,
      "position": [
        -128,
        -496
      ],
      "id": "1f0c805e-a549-438f-977b-036f6cc9eb68",
      "name": "Append row in sheet",
      "alwaysOutputData": true,
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "options": {
          "reset": false
        }
      },
      "type": "n8n-nodes-base.splitInBatches",
      "typeVersion": 3,
      "position": [
        -1248,
        -240
      ],
      "id": "3cfbf95a-d6f9-4863-adde-8bc22f53b30d",
      "name": "Loop Over Items"
    },
    {
      "parameters": {
        "url": "=https://api.ashbyhq.com/posting-api/job-board/{{ $json.Token }}",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "=accept",
              "value": "=application/json"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.4,
      "position": [
        -800,
        -208
      ],
      "id": "9f1b572c-9b35-4e90-a625-70c976a8b367",
      "name": "HTTP Request1",
      "alwaysOutputData": true
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "strict",
            "version": 3
          },
          "conditions": [
            {
              "id": "7a7aa843-44cb-4967-99ee-b376e77f5462",
              "leftValue": "={{ $json.jobs.workplaceType }}",
              "rightValue": "YOUR_LOCATION_FILTER",
              "operator": {
                "type": "string",
                "operation": "equals"
              }
            },
            {
              "id": "437a1363-c599-4538-8360-06f3ea7cefe4",
              "leftValue": "={{ $json.jobs.title }}",
              "rightValue": "YOUR_FILTER_KEYWORD",
              "operator": {
                "type": "string",
                "operation": "contains"
              }
            }
          ],
          "combinator": "and"
        },
        "options": {}
      },
      "type": "n8n-nodes-base.if",
      "typeVersion": 2.3,
      "position": [
        -352,
        -208
      ],
      "id": "d9a72cd3-c6ad-4cbe-b6ba-85ddc5069e3d",
      "name": "If1"
    },
    {
      "parameters": {
        "fieldToSplitOut": "jobs",
        "include": "allOtherFields",
        "options": {}
      },
      "type": "n8n-nodes-base.splitOut",
      "typeVersion": 1,
      "position": [
        -576,
        -208
      ],
      "id": "d66e28b6-fdd6-4b0d-879b-b47e8cd613e4",
      "name": "Split Out1",
      "alwaysOutputData": true
    },
    {
      "parameters": {
        "numberInputs": 3
      },
      "type": "n8n-nodes-base.merge",
      "typeVersion": 3.2,
      "position": [
        96,
        -272
      ],
      "id": "38889e82-0f59-4237-b898-8fdc021ccecd",
      "name": "Merge",
      "alwaysOutputData": true
    }
  ],
  "connections": {
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "Get row(s) in sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get row(s) in sheet": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP Request": {
      "main": [
        [
          {
            "node": "Split Out",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Switch": {
      "main": [
        [
          {
            "node": "HTTP Request",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "HTTP Request1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If": {
      "main": [
        [
          {
            "node": "Append row in sheet",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Out": {
      "main": [
        [
          {
            "node": "If",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Append row in sheet": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [],
        [
          {
            "node": "Switch",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP Request1": {
      "main": [
        [
          {
            "node": "Split Out1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If1": {
      "main": [
        [
          {
            "node": "Append row in sheet",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Split Out1": {
      "main": [
        [
          {
            "node": "If1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": false,
  "settings": {
    "executionOrder": "v1",
    "binaryMode": "separate"
  },
  "versionId": "REPLACE_WORKFLOW_ID",
  "id": "REPLACE_WORKFLOW_ID",
  "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

PermDB. Uses googleSheets, httpRequest. Scheduled trigger; 12 nodes.

Source: https://github.com/MDunn83/AI-Portfolio/blob/main/workflows/standalone-builds/new-job-openings/archive/PermDB_clean.json — original creator credit. Request a take-down →

More Data & Sheets workflows → · Browse all categories →

Related workflows

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

Data & Sheets

This workflow automates video distribution to 9 social platforms simultaneously using Blotato's API. It includes both a scheduled publisher (checks Google Sheets for videos marked "Ready") and a subwo

Google Sheets, HTTP Request, Form Trigger +2
Data & Sheets

YogiAI. Uses googleSheets, googleSheetsTool, httpRequest, stopAndError. Scheduled trigger; 61 nodes.

Google Sheets, Google Sheets Tool, HTTP Request +1
Data & Sheets

This workflow monitors Google Calendar for events indicating that a customer will visit the company today or the next day, retrieves the required details, and sends reminder notifications to the relev

Google Calendar, Google Sheets, HTTP Request +1
Data & Sheets

ofn hook v0.24.0 beta. Uses start, httpRequest, functionItem, itemLists. Scheduled trigger; 42 nodes.

Start, HTTP Request, Function Item +3
Data & Sheets

Security teams, DevOps engineers, vulnerability analysts, and automation builders who want to eliminate repetitive Nessus scan parsing, AI-based risk triage, and manual reporting. Designed for orgs fo

Email Send, HTTP Request, Google Sheets +1