WooCommerce orders in Google Sheets

Log every new WooCommerce order in a sheet for shipping and reports.

Easy Saves ~4 hours/month E-commerceBy Flowngn team

Works with n8n · Make · Zapier

How it works

Trigger: WooCommerce — order created
  1. Receive the new order from WooCommerce.
  2. Pull out order number, date, customer, phone, city, total and payment method.
  3. Append a row to your Orders sheet.

Diagram

WNew orderWooCommerce TriggerGAdd to OrdersGoogle Sheets
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": "WooCommerce orders in Google Sheets (Flowngn)",
  "nodes": [
    {
      "parameters": {
        "content": "## WooCommerce orders in Google Sheets\nLog every new WooCommerce order in a sheet for shipping and reports.\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": "3f369b32-6a79-4ecd-a51a-12b895911d47",
      "name": "Setup notes",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -420,
        -60
      ]
    },
    {
      "parameters": {
        "event": "order.created"
      },
      "id": "3f369b32-6a79-4ecd-a51a-12b895911d47",
      "name": "New order",
      "type": "n8n-nodes-base.wooCommerceTrigger",
      "typeVersion": 1,
      "position": [
        0,
        0
      ],
      "webhookId": "3f369b32-6a79-4ecd-a51a-12b895911d47"
    },
    {
      "parameters": {
        "operation": "append",
        "documentId": {
          "__rl": true,
          "value": "YOUR_SPREADSHEET_ID",
          "mode": "id"
        },
        "sheetName": {
          "__rl": true,
          "value": "Orders",
          "mode": "name"
        },
        "columns": {
          "mappingMode": "defineBelow",
          "value": {
            "order": "={{ $json.number }}",
            "date": "={{ $json.date_created }}",
            "customer": "={{ $json.billing.first_name }} {{ $json.billing.last_name }}",
            "phone": "={{ $json.billing.phone }}",
            "city": "={{ $json.billing.city }}",
            "total": "={{ $json.total }}",
            "payment": "={{ $json.payment_method_title }}"
          }
        },
        "options": {}
      },
      "id": "3f369b32-6a79-4ecd-a51a-12b895911d47",
      "name": "Add to Orders",
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 4.5,
      "position": [
        300,
        0
      ]
    }
  ],
  "connections": {
    "New order": {
      "main": [
        [
          {
            "node": "Add to Orders",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "meta": {
    "templateCredsSetupCompleted": false
  },
  "tags": []
}

Open in the playground to edit →

Tips

  • Add a status column you update by hand: packed, shipped, delivered.

Related flows