n8n Workflow

Import Productboard Notes Companies And Features Into Snowflake

This n8n workflow automates tasks using Snowflake. Import Productboard Notes Companies And Features Into Snowflake - ready to import and run in your n8n instance.

n8n workflow.json

About This Script

This n8n workflow automates tasks using Snowflake. Import Productboard Notes Companies And Features Into Snowflake - ready to import and run in your n8n instance.
Features:
  • Makes HTTP requests to external APIs
  • Scheduled automation with cron triggers
  • Integrates with Snowflake
Source Code
{
    "nodes": [
        {
            "id": "adcb71e4-880b-4c19-acbb-0708ae4af95f",
            "name": "Sticky Note1",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                5620,
                1440
            ],
            "parameters": {
                "color": "#FFF59D",
                "width": 442.66083354762577,
                "height": 155.09952210536395,
                "content": "Configuration note: update with your credentials or endpoint."
            },
            "typeVersion": 1
        },
        {
            "id": "8a590e59-cbcd-43f3-a0de-7c1391661fcf",
            "name": "Manual mapping feature",
            "type": "n8n-nodes-base.set",
            "position": [
                4380,
                -180
            ],
            "parameters": {
                "fields": {
                    "values": [
                        {
                            "name": "feature_id",
                            "stringValue": "={{ $json.id }}"
                        },
                        {
                            "name": "feature_name",
                            "stringValue": "={{ $json.name }}"
                        },
                        {
                            "name": "feature_status",
                            "stringValue": "={{ $json.status.name }}"
                        },
                        {
                            "name": "feature_start_date",
                            "stringValue": "={{ $json.timeframe.startDate }}"
                        },
                        {
                            "name": "feature_end_date",
                            "stringValue": "={{ $json.timeframe.endDate }}"
                        },
                        {
                            "name": "feature_owner",
                            "stringValue": "={{ $json.owner.email }}"
                        },
                        {
                            "name": "feature_created_at",
                            "stringValue": "={{ $json.createdAt }}"
                        }
                    ]
                },
                "include": "none",
                "options": []
            },
            "typeVersion": 3.2
        },
        {
            "id": "ca339c8f-71c0-432f-88ef-595b9bc24b98",
            "name": "get productboard companies",
            "type": "n8n-nodes-base.httpRequest",
            "position": [
                4060,
                220
            ],
            "parameters": {
                "url": "https://api.productboard.com/companies",
                "options": {
                    "pagination": {
                        "pagination": {
                            "nextURL": "={{ $response.body[\"links\"][\"next\"] }}",
                            "paginationMode": "responseContainsNextURL",
                            "requestInterval": 2000,
                            "completeExpression": "={{ $response.body[\"links\"][\"next\"] === null }}",
                            "paginationCompleteWhen": "other"
                        }
                    }
                },
                "sendHeaders": true,
                "authentication": "genericCredentialType",
                "genericAuthType": "httpHeaderAuth",
                "headerParameters": {
                    "parameters": [
                        {
                            "name": "Content-Type",
                            "value": "application/json"
                        },
                        {
                            "name": "X-Version",
                            "value": "1"
                        }
                    ]
                }
            },
            "credentials": {
                "httpHeaderAuth": {
                    "id": "Z0ptr85smbBZBIYx",
                    "name": "Productboard"
                }
            },
            "typeVersion": 4.1,
            "alwaysOutputData": true
        },
        {
            "id": "ba15244b-4311-4045-8087-47f05bea427e",
            "name": "Manual mapping companies",
            "type": "n8n-nodes-base.set",
            "position": [
                4760,
                220
            ],
            "parameters": {
                "fields": {
                    "values": [
                        {
                            "name": "company_id",
                            "stringValue": "={{ $json.id }}"
                        },
                        {
                            "name": "company_name",
                            "stringValue": "={{ $json.name }}"
                        },
                        {
                            "name": "company_domain",
                            "stringValue": "={{ $json.domain }}"
                        }
                    ]
                },
                "include": "none",
                "options": []
            },
            "typeVersion": 3.2
        },
        {
            "id": "d7c491cf-6545-40e1-9ee5-429e4f6b8cb4",
            "name": "get productboard notes",
            "type": "n8n-nodes-base.httpRequest",
            "position": [
                4500,
                640
            ],
            "parameters": {
                "url": " https://api.productboard.com/notes",
                "options": {
                    "pagination": {
                        "pagination": {
                            "parameters": {
                                "parameters": [
                                    {
                                        "name": "pageCursor",
                                        "value": "={{ $response.body.pageCursor }}"
                                    }
                                ]
                            },
                            "requestInterval": 2000,
                            "completeExpression": "={{ $response.body.pageCursor === null }}",
                            "paginationCompleteWhen": "other"
                        }
                    }
                },
                "sendHeaders": true,
                "authentication": "genericCredentialType",
                "genericAuthType": "httpHeaderAuth",
                "headerParameters": {
                    "parameters": [
                        {
                            "name": "Content-Type",
                            "value": "application/json"
                        },
                        {
                            "name": "X-Version",
                            "value": "1"
                        }
                    ]
                }
            },
            "credentials": {
                "httpHeaderAuth": {
                    "id": "Z0ptr85smbBZBIYx",
                    "name": "Productboard"
                }
            },
            "typeVersion": 4.1
        },
        {
            "id": "beeb2cfc-c017-4691-b92f-ee10b943b08d",
            "name": "Manual mapping notes",
            "type": "n8n-nodes-base.set",
            "position": [
                5200,
                640
            ],
            "parameters": {
                "fields": {
                    "values": [
                        {
                            "name": "note_id",
                            "stringValue": "={{ $json.id }}"
                        },
                        {
                            "name": "note_title",
                            "stringValue": "={{ $json.title }}"
                        },
                        {
                            "name": "note_state",
                            "stringValue": "={{ $json.state }}"
                        },
                        {
                            "name": "note_company_id",
                            "stringValue": "={{ $json.company.id }}"
                        },
                        {
                            "name": "note_source",
                            "stringValue": "={{ $json.source.origin }}"
                        },
                        {
                            "name": "note_content",
                            "stringValue": "={{ $json.content }}"
                        },
                        {
                            "name": "note_created_at",
                            "stringValue": "={{ $json.createdAt }}"
                        },
                        {
                            "name": "note_created_by",
                            "stringValue": "={{ $json.createdBy.name }}"
                        },
                        {
                            "name": "note_owner",
                            "stringValue": "={{ $json.owner.name }}"
                        },
                        {
                            "name": "note_url",
                            "stringValue": "={{ $json.displayUrl }}"
                        }
                    ]
                },
                "include": "none",
                "options": []
            },
            "typeVersion": 3.2
        },
        {
            "id": "770df012-b5a0-49f9-9614-8988c2436c34",
            "name": "Split features",
            "type": "n8n-nodes-base.splitOut",
            "position": [
                3920,
                -180
            ],
            "parameters": {
                "options": [],
                "fieldToSplitOut": "data"
            },
            "typeVersion": 1
        },
        {
            "id": "910e27f0-b910-415e-a171-5c6cfce07dc4",
            "name": "Split companies",
            "type": "n8n-nodes-base.splitOut",
            "position": [
                4300,
                220
            ],
            "parameters": {
                "options": [],
                "fieldToSplitOut": "data"
            },
            "typeVersion": 1
        },
        {
            "id": "f57f3865-8970-4771-aee6-2e656215b13e",
            "name": "Split notes",
            "type": "n8n-nodes-base.splitOut",
            "position": [
                4740,
                640
            ],
            "parameters": {
                "options": [],
                "fieldToSplitOut": "data"
            },
            "typeVersion": 1
        },
        {
            "id": "d3939c15-9523-49c1-93ba-7942d37a0ec0",
            "name": "Split features in notes",
            "type": "n8n-nodes-base.splitOut",
            "position": [
                5400,
                900
            ],
            "parameters": {
                "include": "selectedOtherFields",
                "options": [],
                "fieldToSplitOut": "features",
                "fieldsToInclude": "id"
            },
            "typeVersion": 1
        },
        {
            "id": "bde6dc0c-6104-4b84-8c09-33dbe0cfe69f",
            "name": "Combine Feature ID + Note ID",
            "type": "n8n-nodes-base.set",
            "position": [
                5640,
                900
            ],
            "parameters": {
                "fields": {
                    "values": [
                        {
                            "name": "note_id",
                            "stringValue": "={{ $json.id }}"
                        },
                        {
                            "name": "feature_id",
                            "stringValue": "={{ $json.features.id }}"
                        }
                    ]
                },
                "include": "none",
                "options": []
            },
            "typeVersion": 3.2
        },
        {
            "id": "b47db956-ec4f-4342-b973-aa3277e397f2",
            "name": "get productboard features",
            "type": "n8n-nodes-base.httpRequest",
            "position": [
                3680,
                -180
            ],
            "parameters": {
                "url": "https://api.productboard.com/features",
                "options": {
                    "pagination": {
                        "pagination": {
                            "nextURL": "={{ $response.body[\"links\"][\"next\"] }}",
                            "paginationMode": "responseContainsNextURL",
                            "requestInterval": 3000,
                            "completeExpression": "={{ $response.body[\"links\"][\"next\"] === null }}",
                            "paginationCompleteWhen": "other"
                        }
                    }
                },
                "sendHeaders": true,
                "authentication": "genericCredentialType",
                "genericAuthType": "httpHeaderAuth",
                "headerParameters": {
                    "parameters": [
                        {
                            "name": "Content-Type",
                            "value": "application/json"
                        },
                        {
                            "name": "X-Version",
                            "value": "1"
                        }
                    ]
                }
            },
            "credentials": {
                "httpHeaderAuth": {
                    "id": "Z0ptr85smbBZBIYx",
                    "name": "Productboard"
                }
            },
            "typeVersion": 4.1
        },
        {
            "id": "ef3cd766-3887-4d6b-981b-d8e72a06a655",
            "name": "Update Productboard Notes",
            "type": "n8n-nodes-base.snowflake",
            "position": [
                5940,
                660
            ],
            "parameters": {
                "table": "PRODUCTBOARD_NOTES",
                "columns": "NOTE_ID,NOTE_TITLE,NOTE_STATE,NOTE_COMPANY_ID,NOTE_SOURCE,NOTE_CONTENT,NOTE_CREATED_BY,NOTE_OWNER,NOTE_CREATED_AT,NOTE_URL"
            },
            "credentials": {
                "snowflake": {
                    "id": "81",
                    "name": "Snowflake"
                }
            },
            "typeVersion": 1
        },
        {
            "id": "8dc03797-1ac9-47a8-8e4c-e85e9539b091",
            "name": "Empty Table Productboard Notes",
            "type": "n8n-nodes-base.snowflake",
            "position": [
                4260,
                640
            ],
            "parameters": {
                "query": "TRUNCATE TABLE PRODUCTBOARD_NOTES;",
                "operation": "executeQuery"
            },
            "credentials": {
                "snowflake": {
                    "id": "81",
                    "name": "Snowflake"
                }
            },
            "executeOnce": true,
            "typeVersion": 1
        },
        {
            "id": "9d5a6d6f-a672-48b0-baf8-67b608690d28",
            "name": "[CREATE] PRODUCTBOARD_NOTES",
            "type": "n8n-nodes-base.snowflake",
            "position": [
                3280,
                1140
            ],
            "parameters": {
                "query": "CREATE OR REPLACE TABLE PRODUCTBOARD_NOTES (\n    note_id STRING NOT NULL,\n    note_title STRING,\n    note_state STRING,\n    note_company_id STRING,\n    note_source STRING,\n    note_content STRING,\n    note_created_by STRING,\n    note_owner STRING,\n    note_url STRING,\n    note_created_at TIMESTAMP_NTZ\n);",
                "operation": "executeQuery"
            },
            "credentials": {
                "snowflake": {
                    "id": "81",
                    "name": "Snowflake"
                }
            },
            "typeVersion": 1
        },
        {
            "id": "ea27f38b-3199-46aa-959f-9c1502898696",
            "name": "[CREATE] PRODUCTBOARD_COMPANIES",
            "type": "n8n-nodes-base.snowflake",
            "position": [
                3520,
                1140
            ],
            "parameters": {
                "query": "CREATE OR REPLACE TABLE PRODUCTBOARD_COMPANIES (\n    company_id STRING NOT NULL,\n    company_name STRING,\n    company_domain STRING\n);",
                "operation": "executeQuery"
            },
            "credentials": {
                "snowflake": {
                    "id": "81",
                    "name": "Snowflake"
                }
            },
            "typeVersion": 1
        },
        {
            "id": "7bb94678-d106-4b77-8a96-4c598b057d09",
            "name": "Update Productboard Companies",
            "type": "n8n-nodes-base.snowflake",
            "position": [
                5280,
                220
            ],
            "parameters": {
                "table": "PRODUCTBOARD_COMPANIES",
                "columns": "COMPANY_ID,COMPANY_NAME,COMPANY_DOMAIN"
            },
            "credentials": {
                "snowflake": {
                    "id": "81",
                    "name": "Snowflake"
                }
            },
            "typeVersion": 1
        },
        {
            "id": "86128f9b-8b16-4dc0-bdf5-1bab946716e2",
            "name": "Manual mapping companies db",
            "type": "n8n-nodes-base.set",
            "position": [
                5020,
                220
            ],
            "parameters": {
                "fields": {
                    "values": [
                        {
                            "name": "COMPANY_ID",
                            "stringValue": "={{ $json.company_id }}"
                        },
                        {
                            "name": "COMPANY_NAME",
                            "stringValue": "={{ $json.company_name }}"
                        },
                        {
                            "name": "COMPANY_DOMAIN",
                            "stringValue": "={{ $json.company_domain }}"
                        }
                    ]
                },
                "include": "none",
                "options": []
            },
            "typeVersion": 3.2
        },
        {
            "id": "dd2a3264-4171-43af-9409-ad2e79091bfb",
            "name": "Manual mapping notes db",
            "type": "n8n-nodes-base.set",
            "position": [
                5720,
                660
            ],
            "parameters": {
                "fields": {
                    "values": [
                        {
                            "name": "NOTE_ID",
                            "stringValue": "={{ $json.note_id }}"
                        },
                        {
                            "name": "NOTE_TITLE",
                            "stringValue": "={{ $json.note_title }}"
                        },
                        {
                            "name": "NOTE_STATE",
                            "stringValue": "={{ $json.note_state }}"
                        },
                        {
                            "name": "NOTE_COMPANY_ID",
                            "stringValue": "={{ $json.note_company_id }}"
                        },
                        {
                            "name": "NOTE_CONTENT",
                            "stringValue": "={{ $json.note_content }}"
                        },
                        {
                            "name": "NOTE_CREATED_BY",
                            "stringValue": "={{ $json.note_created_by }}"
                        },
                        {
                            "name": "NOTE_CREATED_AT",
                            "stringValue": "={{ $json.note_created_at }}"
                        },
                        {
                            "name": "NOTE_SOURCE",
                            "stringValue": "={{ $json.note_source }}"
                        },
                        {
                            "name": "NOTE_OWNER",
                            "stringValue": "={{ $json.note_owner }}"
                        },
                        {
                            "name": "NOTE_URL",
                            "stringValue": "={{ $json.note_url }}"
                        }
                    ]
                },
                "include": "none",
                "options": []
            },
            "typeVersion": 3.2
        },
        {
            "id": "d163879a-6020-4ace-b3ea-36c3d7b3675a",
            "name": "Empty Table Productboard Companies",
            "type": "n8n-nodes-base.snowflake",
            "position": [
                3820,
                220
            ],
            "parameters": {
                "query": "TRUNCATE TABLE PRODUCTBOARD_COMPANIES;",
                "operation": "executeQuery"
            },
            "credentials": {
                "snowflake": {
                    "id": "81",
                    "name": "Snowflake"
                }
            },
            "executeOnce": true,
            "typeVersion": 1
        },
        {
            "id": "0dbf1a3c-ae8b-4e7b-afb5-d1363d3d7634",
            "name": "[CREATE] PRODUCTBOARD_NOTES_FEATURES",
            "type": "n8n-nodes-base.snowflake",
            "position": [
                3760,
                1140
            ],
            "parameters": {
                "query": "CREATE OR REPLACE TABLE PRODUCTBOARD_NOTES_FEATURES (\n    note_id STRING NOT NULL,\n    feature_id STRING\n)",
                "operation": "executeQuery"
            },
            "credentials": {
                "snowflake": {
                    "id": "81",
                    "name": "Snowflake"
                }
            },
            "typeVersion": 1
        },
        {
            "id": "fa9e8744-c348-481c-a6f9-083689ee8ea9",
            "name": "Manual mapping feature note IDs db",
            "type": "n8n-nodes-base.set",
            "position": [
                6160,
                920
            ],
            "parameters": {
                "fields": {
                    "values": [
                        {
                            "name": "NOTE_ID",
                            "stringValue": "={{ $json.note_id }}"
                        },
                        {
                            "name": "FEATURE_ID",
                            "stringValue": "={{ $json.feature_id }}"
                        }
                    ]
                },
                "include": "none",
                "options": []
            },
            "typeVersion": 3.2
        },
        {
            "id": "718f041a-dd02-4331-a704-fd1aa809212b",
            "name": "Update Productboard Note and Feature IDs",
            "type": "n8n-nodes-base.snowflake",
            "position": [
                6380,
                920
            ],
            "parameters": {
                "table": "PRODUCTBOARD_NOTES_FEATURES",
                "columns": "NOTE_ID,FEATURE_ID"
            },
            "credentials": {
                "snowflake": {
                    "id": "81",
                    "name": "Snowflake"
                }
            },
            "typeVersion": 1
        },
        {
            "id": "51430e95-1eb9-4c47-a0cf-e05708e6d41b",
            "name": "Empty Table Productboard Note and Feature IDs",
            "type": "n8n-nodes-base.snowflake",
            "position": [
                4040,
                640
            ],
            "parameters": {
                "query": "TRUNCATE TABLE PRODUCTBOARD_NOTES_FEATURES;",
                "operation": "executeQuery"
            },
            "credentials": {
                "snowflake": {
                    "id": "81",
                    "name": "Snowflake"
                }
            },
            "executeOnce": true,
            "typeVersion": 1
        },
        {
            "id": "8c03178f-baf1-4ed8-94d8-91e90ef5cd26",
            "name": "Loop Over Items notes",
            "type": "n8n-nodes-base.splitInBatches",
            "position": [
                5460,
                640
            ],
            "parameters": {
                "options": [],
                "batchSize": 100
            },
            "typeVersion": 3
        },
        {
            "id": "0c6a787f-48da-479c-b45a-8122b8fada3f",
            "name": "Loop Over Items features notes",
            "type": "n8n-nodes-base.splitInBatches",
            "position": [
                5900,
                900
            ],
            "parameters": {
                "options": [],
                "batchSize": 100
            },
            "typeVersion": 3
        },
        {
            "id": "1adb9ff0-be18-4ceb-aae0-62186e75668f",
            "name": "[CREATE] PRODUCTBOARD_FEATURES",
            "type": "n8n-nodes-base.snowflake",
            "position": [
                3040,
                1140
            ],
            "parameters": {
                "query": "CREATE OR REPLACE TABLE PRODUCTBOARD_FEATURES (\n    feature_id STRING NOT NULL,\n    feature_name STRING,\n    feature_status STRING,\n    feature_start_date STRING,\n    feature_end_date STRING,\n    feature_owner STRING,\n    feature_created_at STRING\n);",
                "operation": "executeQuery"
            },
            "credentials": {
                "snowflake": {
                    "id": "81",
                    "name": "Snowflake"
                }
            },
            "typeVersion": 1
        },
        {
            "id": "0357ba46-4934-4c3f-8f0a-676496a6eee6",
            "name": "Empty Table Productboard Features",
            "type": "n8n-nodes-base.snowflake",
            "position": [
                3440,
                -180
            ],
            "parameters": {
                "query": "TRUNCATE TABLE PRODUCTBOARD_FEATURES;",
                "operation": "executeQuery"
            },
            "credentials": {
                "snowflake": {
                    "id": "81",
                    "name": "Snowflake"
                }
            },
            "executeOnce": true,
            "typeVersion": 1
        },
        {
            "id": "df076304-ce27-4801-8e0f-c268b313ef4e",
            "name": "Loop Over Items features",
            "type": "n8n-nodes-base.splitInBatches",
            "position": [
                4640,
                -180
            ],
            "parameters": {
                "options": [],
                "batchSize": 100
            },
            "typeVersion": 3
        },
        {
            "id": "40732e40-5ff2-4b1f-b300-b6b734e31637",
            "name": "Manual mapping features db",
            "type": "n8n-nodes-base.set",
            "position": [
                4900,
                -160
            ],
            "parameters": {
                "fields": {
                    "values": [
                        {
                            "name": "FEATURE_ID",
                            "stringValue": "={{ $json.feature_id }}"
                        },
                        {
                            "name": "FEATURE_NAME",
                            "stringValue": "={{ $json.feature_name }}"
                        },
                        {
                            "name": "FEATURE_STATUS",
                            "stringValue": "={{ $json.feature_status }}"
                        },
                        {
                            "name": "FEATURE_START_DATE",
                            "stringValue": "={{ $json.feature_start_date }}"
                        },
                        {
                            "name": "FEATURE_END_DATE",
                            "stringValue": "={{ $json.feature_end_date }}"
                        },
                        {
                            "name": "FEATURE_OWNER",
                            "stringValue": "={{ $json.feature_owner }}"
                        },
                        {
                            "name": "FEATURE_CREATED_AT",
                            "stringValue": "={{ $json.feature_created_at }}"
                        }
                    ]
                },
                "include": "none",
                "options": []
            },
            "typeVersion": 3.2
        },
        {
            "id": "59a838c4-fef0-4902-b6d6-418934ac986f",
            "name": "Update Productboard Features",
            "type": "n8n-nodes-base.snowflake",
            "position": [
                5140,
                -160
            ],
            "parameters": {
                "table": "PRODUCTBOARD_FEATURES",
                "columns": "FEATURE_ID,FEATURE_NAME,FEATURE_STATUS,FEATURE_START_DATE,FEATURE_END_DATE,FEATURE_OWNER,FEATURE_CREATED_AT"
            },
            "credentials": {
                "snowflake": {
                    "id": "81",
                    "name": "Snowflake"
                }
            },
            "typeVersion": 1
        },
        {
            "id": "110ebd3a-50ac-4e9f-9297-f64759dfdd18",
            "name": "Schedule Trigger",
            "type": "n8n-nodes-base.scheduleTrigger",
            "position": [
                2980,
                -180
            ],
            "parameters": {
                "rule": {
                    "interval": [
                        {
                            "field": "weeks",
                            "triggerAtDay": [
                                1
                            ],
                            "triggerAtHour": 8
                        }
                    ]
                }
            },
            "typeVersion": 1.1
        },
        {
            "id": "3eb88f88-8fad-4aaf-b6f9-6f7d87e30018",
            "name": "Slack",
            "type": "n8n-nodes-base.slack",
            "onError": "continueRegularOutput",
            "position": [
                5900,
                1220
            ],
            "parameters": {
                "text": "=",
                "select": "channel",
                "blocksUi": "={\n  \"blocks\": [\n    {\n      \"type\": \"section\",\n      \"text\": {\n        \"type\": \"mrkdwn\",\n        \"text\": \":productboard: Weekly Update in :snowflake_logo: Completed\\n\\n*{{ $json.NOTES_7_DAYS }}* new insights added in the last 7 days.\\n\\n*{{ $json.NOTES_UNPROCESSED }}* insights remain unprocessed.\\n\\nYou can view the updated :metabase: dashboard below:\"\n      }\n    },\n    {\n      \"type\": \"actions\",\n      \"elements\": [\n        {\n          \"type\": \"button\",\n          \"text\": {\n            \"type\": \"plain_text\",\n            \"text\": \"Open Dashboard\",\n            \"emoji\": true\n          },\n          \"url\": \"https://metabase.com\"\n        }\n      ]\n    }\n  ]\n}",
                "channelId": {
                    "__rl": true,
                    "mode": "name",
                    "value": "#product-notifications"
                },
                "messageType": "block",
                "otherOptions": []
            },
            "credentials": {
                "slackApi": {
                    "id": "SG3oDwwLGpxwoJSO",
                    "name": "Gardien Slack bot"
                }
            },
            "executeOnce": true,
            "retryOnFail": false,
            "typeVersion": 2.1
        },
        {
            "id": "3a16d947-a218-4ec2-8081-19b676bb51c3",
            "name": "Count Notes Last 7 days and Unprocessed",
            "type": "n8n-nodes-base.snowflake",
            "position": [
                5660,
                1220
            ],
            "parameters": {
                "query": "SELECT\n    COUNT(DISTINCT CASE \n        WHEN DATEDIFF(DAY, NOTE_CREATED_AT, CURRENT_DATE()) <= 7 THEN note_id \n    END) AS notes_7_days,\n    COUNT(DISTINCT CASE \n        WHEN NOTE_STATE = 'unprocessed' THEN note_id \n    END) AS notes_unprocessed\nFROM PRODUCTBOARD_NOTES;\n",
                "operation": "executeQuery"
            },
            "credentials": {
                "snowflake": {
                    "id": "81",
                    "name": "Snowflake"
                }
            },
            "executeOnce": true,
            "typeVersion": 1
        },
        {
            "id": "2bdfb96c-1c38-444d-9507-ab74f3572129",
            "name": "Sticky Note2",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                2980,
                1060
            ],
            "parameters": {
                "color": "#FFF59D",
                "width": 983.4896175671602,
                "height": 314.88047081122676,
                "content": "Configuration note: update with your credentials or endpoint."
            },
            "typeVersion": 1
        }
    ],
    "connections": {
        "Split notes": {
            "main": [
                [
                    {
                        "node": "Manual mapping notes",
                        "type": "main",
                        "index": 0
                    },
                    {
                        "node": "Split features in notes",
                        "type": "main",
                        "index": 0
                    },
                    {
                        "node": "Count Notes Last 7 days and Unprocessed",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Split features": {
            "main": [
                [
                    {
                        "node": "Manual mapping feature",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Split companies": {
            "main": [
                [
                    {
                        "node": "Manual mapping companies",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Schedule Trigger": {
            "main": [
                [
                    {
                        "node": "Empty Table Productboard Features",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Manual mapping notes": {
            "main": [
                [
                    {
                        "node": "Loop Over Items notes",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Loop Over Items notes": {
            "main": [
                [],
                [
                    {
                        "node": "Manual mapping notes db",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Manual mapping feature": {
            "main": [
                [
                    {
                        "node": "Loop Over Items features",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "get productboard notes": {
            "main": [
                [
                    {
                        "node": "Split notes",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Manual mapping notes db": {
            "main": [
                [
                    {
                        "node": "Update Productboard Notes",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Split features in notes": {
            "main": [
                [
                    {
                        "node": "Combine Feature ID + Note ID",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Loop Over Items features": {
            "main": [
                [
                    {
                        "node": "Empty Table Productboard Companies",
                        "type": "main",
                        "index": 0
                    }
                ],
                [
                    {
                        "node": "Manual mapping features db",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Manual mapping companies": {
            "main": [
                [
                    {
                        "node": "Manual mapping companies db",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Update Productboard Notes": {
            "main": [
                [
                    {
                        "node": "Loop Over Items notes",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "get productboard features": {
            "main": [
                [
                    {
                        "node": "Split features",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Manual mapping features db": {
            "main": [
                [
                    {
                        "node": "Update Productboard Features",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "get productboard companies": {
            "main": [
                [
                    {
                        "node": "Split companies",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Manual mapping companies db": {
            "main": [
                [
                    {
                        "node": "Update Productboard Companies",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Combine Feature ID + Note ID": {
            "main": [
                [
                    {
                        "node": "Loop Over Items features notes",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Update Productboard Features": {
            "main": [
                [
                    {
                        "node": "Loop Over Items features",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Update Productboard Companies": {
            "main": [
                [
                    {
                        "node": "Empty Table Productboard Note and Feature IDs",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Empty Table Productboard Notes": {
            "main": [
                [
                    {
                        "node": "get productboard notes",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Loop Over Items features notes": {
            "main": [
                [],
                [
                    {
                        "node": "Manual mapping feature note IDs db",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Empty Table Productboard Features": {
            "main": [
                [
                    {
                        "node": "get productboard features",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Empty Table Productboard Companies": {
            "main": [
                [
                    {
                        "node": "get productboard companies",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Manual mapping feature note IDs db": {
            "main": [
                [
                    {
                        "node": "Update Productboard Note and Feature IDs",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Count Notes Last 7 days and Unprocessed": {
            "main": [
                [
                    {
                        "node": "Slack",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Update Productboard Note and Feature IDs": {
            "main": [
                [
                    {
                        "node": "Loop Over Items features notes",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Empty Table Productboard Note and Feature IDs": {
            "main": [
                [
                    {
                        "node": "Empty Table Productboard Notes",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        }
    },
    "n8n_version": "1.5.0"
}
Requirements
n8n instance, Snowflake API credentials, Slack API credentials
Tags
#n8n #automation #workflow
Quick Actions
More in n8n Workflows