Email me when a Google Sheet gets a new row

Get an email with the details every time a new row is added to a sheet.

Easy Saves ~2 hours/month ProductivityBy Flowngn team

Works with n8n · Make · Zapier

How it works

Trigger: Google Sheets — new row
  1. Watch the sheet for new rows.
  2. Email yourself every column of the new row.

Diagram

GNew rowGoogle Sheets TriggerGEmail meGmail
Trigger App

Build it

Pick your tool — same automation, step by step.

Copy and paste straight into an n8n canvas (Ctrl+V), or download and use Import from File. Then connect your own credentials and replace every YOUR_… placeholder.

Workflow JSON
Show code (91 lines)
{
  "name": "Email me when a Google Sheet gets a new row (Flowngn)",
  "nodes": [
    {
      "parameters": {
        "content": "## Email me when a Google Sheet gets a new row\nGet an email with the details every time a new row is added to a sheet.\n\n**Setup**\n1. Open each node and connect your own credentials.\n2. Replace every YOUR_… placeholder.\n3. Test once, then activate.\n\nFree template from Flowngn",
        "height": 260,
        "width": 340
      },
      "id": "458210f1-1c22-487e-a172-57c0105c7b90",
      "name": "Setup notes",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -420,
        -60
      ]
    },
    {
      "parameters": {
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        },
        "documentId": {
          "__rl": true,
          "value": "YOUR_SPREADSHEET_ID",
          "mode": "id"
        },
        "sheetName": {
          "__rl": true,
          "value": "Sheet1",
          "mode": "name"
        },
        "event": "rowAdded",
        "options": {}
      },
      "id": "458210f1-1c22-487e-a172-57c0105c7b90",
      "name": "New row",
      "type": "n8n-nodes-base.googleSheetsTrigger",
      "typeVersion": 1,
      "position": [
        0,
        0
      ]
    },
    {
      "parameters": {
        "sendTo": "you@yourcompany.com",
        "subject": "New row in your sheet",
        "emailType": "text",
        "message": "={{ Object.entries($json).filter(([k]) => k !== 'row_number').map(([k, v]) => k + ': ' + v).join('\\n') }}",
        "options": {
          "appendAttribution": false
        }
      },
      "id": "458210f1-1c22-487e-a172-57c0105c7b90",
      "name": "Email me",
      "type": "n8n-nodes-base.gmail",
      "typeVersion": 2.1,
      "position": [
        300,
        0
      ]
    }
  ],
  "connections": {
    "New row": {
      "main": [
        [
          {
            "node": "Email me",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "meta": {
    "templateCredsSetupCompleted": false
  },
  "tags": []
}

Open in the playground to edit →

Tips

  • Works great with Google Forms, since responses are saved to a sheet.

Related flows