AutomationFlowsGeneral › Rfi Notifications

Rfi Notifications

RFI Notifications. Uses CUSTOM. Event-driven trigger; 6 nodes.

Event trigger★★★★☆ complexity6 nodesCustom
General Trigger: Event Nodes: 6 Complexity: ★★★★☆ Added:

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": "RFI Notifications",
  "nodes": [
    {
      "parameters": {
        "resource": "rfis",
        "operation": "list",
        "companyId": "={{ $json.company.id }}",
        "projectId": "={{ $json.id }}",
        "additionalFields": {}
      },
      "type": "CUSTOM.procore",
      "typeVersion": 1,
      "position": [
        760,
        -60
      ],
      "id": "dc301906-ab6e-44fe-ace1-6d516c2231b9",
      "name": "Procore",
      "credentials": {
        "procoreOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "list",
        "companyId": "={{ $json.companyId }}",
        "additionalFields": {}
      },
      "type": "CUSTOM.procore",
      "typeVersion": 1,
      "position": [
        400,
        -60
      ],
      "id": "30283061-c93a-4d5c-b01e-1d8ff5379e9a",
      "name": "Procore1",
      "credentials": {
        "procoreOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "jsCode": "return [\n  {\n    json: {\n      companyId: 36736\n    }\n  }\n];\n"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        160,
        -40
      ],
      "id": "aa648972-0331-4ae5-971f-3770c563f01d",
      "name": "Code"
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "strict",
            "version": 2
          },
          "conditions": [
            {
              "id": "4d9cb69f-3014-4987-ab0c-9dbf5ea1c1d0",
              "leftValue": "={{ $json.due_date }}",
              "rightValue": "={{ new Date().toLocaleDateString('en-CA') }}",
              "operator": {
                "type": "dateTime",
                "operation": "beforeOrEquals"
              }
            },
            {
              "id": "d23623be-8342-451b-94f2-8f75621615d9",
              "leftValue": "={{ $json.status }}",
              "rightValue": "open",
              "operator": {
                "type": "string",
                "operation": "equals",
                "name": "filter.operator.equals"
              }
            }
          ],
          "combinator": "and"
        },
        "options": {}
      },
      "type": "n8n-nodes-base.filter",
      "typeVersion": 2.2,
      "position": [
        1080,
        -100
      ],
      "id": "82041107-38de-4860-a474-595927eadd53",
      "name": "Filter"
    },
    {
      "parameters": {
        "jsCode": "const today = new Date();\ntoday.setHours(0, 0, 0, 0);\n\nfor (const item of $input.all()) {\n  const dueDate = new Date(item.json.due_date);\n  dueDate.setHours(0, 0, 0, 0);\n\n  const msPerDay = 1000 * 60 * 60 * 24;\n  const daysPastDue = Math.floor((today - dueDate) / msPerDay);\n\n  item.json.daysPastDue = daysPastDue > 0 ? daysPastDue : 0;\n}\n\nreturn $input.all();\n"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        1300,
        -100
      ],
      "id": "4648b149-89ae-4b39-befa-304c7cdd7921",
      "name": "Code1"
    },
    {
      "parameters": {
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        },
        "companyId": 36736,
        "projectId": 38830
      },
      "type": "CUSTOM.procoreTrigger",
      "typeVersion": 1,
      "position": [
        -140,
        -20
      ],
      "id": "a3874742-d76f-42ab-a5e4-3364a32caa16",
      "name": "Procore Trigger",
      "credentials": {
        "procoreOAuth2Api": {
          "name": "<your credential>"
        }
      }
    }
  ],
  "connections": {
    "Procore1": {
      "main": [
        [
          {
            "node": "Procore",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code": {
      "main": [
        [
          {
            "node": "Procore1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Procore": {
      "main": [
        [
          {
            "node": "Filter",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter": {
      "main": [
        [
          {
            "node": "Code1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Procore Trigger": {
      "main": [
        [
          {
            "node": "Code",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": true,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "8c8cd284-d940-4afb-ae04-e04930ee9cf8",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "id": "qtsPzOy5clZYBA6N",
  "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

RFI Notifications. Uses CUSTOM. Event-driven trigger; 6 nodes.

Source: https://github.com/charley-forey/n8n-nodes-buildflows/blob/2ee7e0a6dc410864bf0d878ad91a4e9471d5dbab/flows/_examples/RFI_Notifications.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

N8N-Community-Node-Klicktipp. Uses n8n-nodes-klicktipp, CUSTOM. Event-driven trigger; 22 nodes.

N8N Nodes Klicktipp, Custom
General

Wf-C0. Uses executeWorkflowTrigger, CUSTOM. Event-driven trigger; 10 nodes.

Execute Workflow Trigger, Custom
General

NotebookLM - Create and Download Infographic. Uses CUSTOM. Event-driven trigger; 6 nodes.

Custom
General

ClickHouse - All Nodes (Dev). Uses CUSTOM. Event-driven trigger; 6 nodes.

Custom
General

Coinbase CDP - Swap Tokens. Uses CUSTOM. Event-driven trigger; 5 nodes.

Custom