AutomationFlowsData & Sheets › Export Contacted to Sheet

Export Contacted to Sheet

Export Contacted To Sheet. Uses googleSheets, postgres. Scheduled trigger; 3 nodes.

Cron / scheduled trigger★☆☆☆☆ complexity3 nodesGoogle SheetsPostgres
Data & Sheets Trigger: Cron / scheduled Nodes: 3 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
{
  "updatedAt": "2026-01-05T23:11:57.497Z",
  "createdAt": "2026-01-04T22:48:59.701Z",
  "id": "QOCfuEU2sA7oi4eS",
  "name": "Export Contacted To Sheet",
  "active": true,
  "isArchived": false,
  "nodes": [
    {
      "parameters": {
        "operation": "appendOrUpdate",
        "documentId": {
          "__rl": true,
          "value": "1KBjnqkuKvFk1CN72D-3Ex5j2q2wYGbYOrvbP9iTuCBI",
          "mode": "list",
          "cachedResultName": "Pitch Paul Contacts",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1KBjnqkuKvFk1CN72D-3Ex5j2q2wYGbYOrvbP9iTuCBI/edit?usp=drivesdk"
        },
        "sheetName": {
          "__rl": true,
          "value": "gid=0",
          "mode": "list",
          "cachedResultName": "Sheet1",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1KBjnqkuKvFk1CN72D-3Ex5j2q2wYGbYOrvbP9iTuCBI/edit#gid=0"
        },
        "columns": {
          "mappingMode": "defineBelow",
          "value": {
            "email": "={{ $json.email }}",
            "company": "={{ $json.company }}",
            "phone": "={{ $json.phone }}",
            "date_contacted": "={{ $json.updated_at.toDateTime().format('yyyy-MM-dd') }}"
          },
          "matchingColumns": [
            "company"
          ],
          "schema": [
            {
              "id": "company",
              "displayName": "company",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "email",
              "displayName": "email",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "phone",
              "displayName": "phone",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true
            },
            {
              "id": "date_contacted",
              "displayName": "date_contacted",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true
            },
            {
              "id": "Column 5",
              "displayName": "Column 5",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true
            },
            {
              "id": "Column 6",
              "displayName": "Column 6",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true
            }
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {}
      },
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 4.7,
      "position": [
        400,
        0
      ],
      "id": "eb910502-ea1a-4683-bbd2-093e47c69d18",
      "name": "Append or update row in sheet",
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "select",
        "schema": {
          "__rl": true,
          "mode": "list",
          "value": "public"
        },
        "table": {
          "__rl": true,
          "value": "german_companies",
          "mode": "list",
          "cachedResultName": "german_companies"
        },
        "returnAll": true,
        "where": {
          "values": [
            {
              "column": "first_contact_sent",
              "value": "true"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.postgres",
      "typeVersion": 2.6,
      "position": [
        176,
        0
      ],
      "id": "ffa5a787-5e66-45a6-ab08-2b75d0f950b8",
      "name": "Get Contacted Companies",
      "credentials": {
        "postgres": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "rule": {
          "interval": [
            {}
          ]
        }
      },
      "type": "n8n-nodes-base.scheduleTrigger",
      "typeVersion": 1.3,
      "position": [
        -48,
        0
      ],
      "id": "e85a6d6b-856c-4a21-88fd-e48bb82738ab",
      "name": "Schedule Trigger"
    }
  ],
  "connections": {
    "Get Contacted Companies": {
      "main": [
        [
          {
            "node": "Append or update row in sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "Get Contacted Companies",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1",
    "availableInMCP": false
  },
  "staticData": {
    "node:Schedule Trigger": {
      "recurrenceRules": []
    }
  },
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "versionId": "8c6cda18-e6c7-4434-b1fa-ec9952a8bf58",
  "activeVersionId": "8c6cda18-e6c7-4434-b1fa-ec9952a8bf58",
  "triggerCount": 1,
  "shared": [
    {
      "updatedAt": "2026-01-04T22:48:59.709Z",
      "createdAt": "2026-01-04T22:48:59.709Z",
      "role": "workflow:owner",
      "workflowId": "QOCfuEU2sA7oi4eS",
      "projectId": "B7QJE85HA2Vij1it"
    }
  ],
  "activeVersion": {
    "updatedAt": "2026-01-05T23:12:00.000Z",
    "createdAt": "2026-01-05T23:11:57.498Z",
    "versionId": "8c6cda18-e6c7-4434-b1fa-ec9952a8bf58",
    "workflowId": "QOCfuEU2sA7oi4eS",
    "nodes": [
      {
        "parameters": {
          "operation": "appendOrUpdate",
          "documentId": {
            "__rl": true,
            "value": "1KBjnqkuKvFk1CN72D-3Ex5j2q2wYGbYOrvbP9iTuCBI",
            "mode": "list",
            "cachedResultName": "Pitch Paul Contacts",
            "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1KBjnqkuKvFk1CN72D-3Ex5j2q2wYGbYOrvbP9iTuCBI/edit?usp=drivesdk"
          },
          "sheetName": {
            "__rl": true,
            "value": "gid=0",
            "mode": "list",
            "cachedResultName": "Sheet1",
            "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1KBjnqkuKvFk1CN72D-3Ex5j2q2wYGbYOrvbP9iTuCBI/edit#gid=0"
          },
          "columns": {
            "mappingMode": "defineBelow",
            "value": {
              "email": "={{ $json.email }}",
              "company": "={{ $json.company }}",
              "phone": "={{ $json.phone }}",
              "date_contacted": "={{ $json.updated_at.toDateTime().format('yyyy-MM-dd') }}"
            },
            "matchingColumns": [
              "company"
            ],
            "schema": [
              {
                "id": "company",
                "displayName": "company",
                "required": false,
                "defaultMatch": false,
                "display": true,
                "type": "string",
                "canBeUsedToMatch": true,
                "removed": false
              },
              {
                "id": "email",
                "displayName": "email",
                "required": false,
                "defaultMatch": false,
                "display": true,
                "type": "string",
                "canBeUsedToMatch": true,
                "removed": false
              },
              {
                "id": "phone",
                "displayName": "phone",
                "required": false,
                "defaultMatch": false,
                "display": true,
                "type": "string",
                "canBeUsedToMatch": true
              },
              {
                "id": "date_contacted",
                "displayName": "date_contacted",
                "required": false,
                "defaultMatch": false,
                "display": true,
                "type": "string",
                "canBeUsedToMatch": true
              },
              {
                "id": "Column 5",
                "displayName": "Column 5",
                "required": false,
                "defaultMatch": false,
                "display": true,
                "type": "string",
                "canBeUsedToMatch": true
              },
              {
                "id": "Column 6",
                "displayName": "Column 6",
                "required": false,
                "defaultMatch": false,
                "display": true,
                "type": "string",
                "canBeUsedToMatch": true
              }
            ],
            "attemptToConvertTypes": false,
            "convertFieldsToString": false
          },
          "options": {}
        },
        "type": "n8n-nodes-base.googleSheets",
        "typeVersion": 4.7,
        "position": [
          400,
          0
        ],
        "id": "eb910502-ea1a-4683-bbd2-093e47c69d18",
        "name": "Append or update row in sheet",
        "credentials": {
          "googleSheetsOAuth2Api": {
            "id": "qJ5ck4AVx9Jx37Fr",
            "name": "Google Sheets account"
          }
        }
      },
      {
        "parameters": {
          "operation": "select",
          "schema": {
            "__rl": true,
            "mode": "list",
            "value": "public"
          },
          "table": {
            "__rl": true,
            "value": "german_companies",
            "mode": "list",
            "cachedResultName": "german_companies"
          },
          "returnAll": true,
          "where": {
            "values": [
              {
                "column": "first_contact_sent",
                "value": "true"
              }
            ]
          },
          "options": {}
        },
        "type": "n8n-nodes-base.postgres",
        "typeVersion": 2.6,
        "position": [
          176,
          0
        ],
        "id": "ffa5a787-5e66-45a6-ab08-2b75d0f950b8",
        "name": "Get Contacted Companies",
        "credentials": {
          "postgres": {
            "id": "jGPhUAmfV9Nc0hVw",
            "name": "Postgres account"
          }
        }
      },
      {
        "parameters": {
          "rule": {
            "interval": [
              {}
            ]
          }
        },
        "type": "n8n-nodes-base.scheduleTrigger",
        "typeVersion": 1.3,
        "position": [
          -48,
          0
        ],
        "id": "e85a6d6b-856c-4a21-88fd-e48bb82738ab",
        "name": "Schedule Trigger"
      }
    ],
    "connections": {
      "Get Contacted Companies": {
        "main": [
          [
            {
              "node": "Append or update row in sheet",
              "type": "main",
              "index": 0
            }
          ]
        ]
      },
      "Schedule Trigger": {
        "main": [
          [
            {
              "node": "Get Contacted Companies",
              "type": "main",
              "index": 0
            }
          ]
        ]
      }
    },
    "nodeGroups": [],
    "authors": "Gordan Kljajic",
    "name": "Version 8c6cda18",
    "description": "",
    "autosaved": false
  },
  "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

Export Contacted To Sheet. Uses googleSheets, postgres. Scheduled trigger; 3 nodes.

Source: https://github.com/adamhaley/megyk-automations/blob/main/workflows/Export_Contacted_To_Sheet.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

Dashboard_Sheets. Uses postgres, googleSheets. Scheduled trigger; 4 nodes.

Postgres, Google Sheets
Data & Sheets

This workflow monitors customer health by combining payment behavior, complaint signals, and AI-driven feedback analysis. It runs on daily and weekly schedules to evaluate risk levels, escalate high-r

Google Sheets, HTTP Request, Gmail +2
Data & Sheets

Code Postgres. Uses httpRequest, splitInBatches, postgres, hubspot. Scheduled trigger; 23 nodes.

HTTP Request, Postgres, HubSpot +1
Data & Sheets

This workflow automatically monitors and reports data quality for any SQL table using configurable checks and thresholds. It evaluates key metrics—including null values, duplicate records, row count a

Postgres, Google Sheets, Gmail
Data & Sheets

This workflow consolidates data from five different systems — Google Sheets, PostgreSQL, MongoDB, Microsoft SQL Server, and Google Analytics — into a single master Google Sheet. It runs on a scheduled

Google Sheets, Postgres, MongoDB +2