AutomationFlowsEmail & Gmail › Gmail Food Delivery Alerts to Slack

Gmail Food Delivery Alerts to Slack

Original n8n title: Food Delivery Notifications and Easy Expense Tracking

Food Delivery Notifications and Easy Expense Tracking. Uses gmail, gmailTrigger, slack. Event-driven trigger; 6 nodes.

Event trigger★★★★☆ complexity6 nodesGmailGmail TriggerSlack
Email & Gmail Trigger: Event Nodes: 6 Complexity: ★★★★☆ Added:

This workflow follows the Gmail → Gmail Trigger recipe pattern — see all workflows that pair these two integrations.

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
{
  "id": "dDInVHNAfSedBUCb",
  "name": "\u5916\u9001\u8a18\u5e33",
  "tags": [],
  "nodes": [
    {
      "id": "09c19ba1-45f2-43af-9985-3508d801c1b7",
      "name": "Loop Over Items",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        440,
        0
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "18625b1d-f8ff-4e48-8b64-a9d42d24eccc",
      "name": "Click to Test Flow",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        40,
        0
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "649933c4-b16b-46de-9038-7d8c0b3d8e88",
      "name": "Get emails from Gmail with certain subject",
      "type": "n8n-nodes-base.gmail",
      "position": [
        220,
        0
      ],
      "parameters": {
        "simple": false,
        "filters": {
          "q": "subject:\u900f\u904e Uber Eats \u7cfb\u7d71\u9001\u51fa\u7684\u8a02\u55ae"
        },
        "options": {},
        "operation": "getAll",
        "returnAll": true
      },
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "b2118a34-52ad-4464-b7ea-7f3105536fad",
      "name": "Receive certain keyword Gmail Trigger",
      "type": "n8n-nodes-base.gmailTrigger",
      "position": [
        120,
        -180
      ],
      "parameters": {
        "simple": false,
        "filters": {
          "q": "subject:\u900f\u904e Uber Eats \u7cfb\u7d71\u9001\u51fa\u7684\u8a02\u55ae"
        },
        "options": {},
        "pollTimes": {
          "item": [
            {
              "mode": "everyHour",
              "minute": 30
            }
          ]
        }
      },
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "00986543-d01a-4b11-bbaa-60c73a1dae02",
      "name": "Extract Price, Shop, Date, TIme",
      "type": "n8n-nodes-base.set",
      "position": [
        620,
        60
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "c24405f8-267f-4933-a178-1b51145d62bf",
              "name": "price",
              "type": "string",
              "value": "={{ $json[\"text\"].match(/\\$(\\d+(\\.\\d{2})?)/)[1] }}"
            },
            {
              "id": "968cf7cd-6e28-4328-a829-3fe2cb327643",
              "name": "shop",
              "type": "string",
              "value": "={{ $json[\"text\"].match(/\u4ee5\u4e0b\u662f\u60a8\u5728([\\u4e00-\\u9fa5a-zA-Z0-9\\s]+)\u8a02\u8cfc/)[1] }}"
            },
            {
              "id": "53642bcb-f3a6-4086-bdc1-2f8d27927462",
              "name": "date",
              "type": "string",
              "value": "={{ $json[\"text\"].match(/Date: (\\d{4}\u5e74\\d{1,2}\u6708\\d{1,2}\u65e5)/)[1].replace(\"\u5e74\", \".\").replace(\"\u6708\", \".\").replace(\"\u65e5\", \"\") }}"
            },
            {
              "id": "cd227132-971b-4970-8b5d-724463efe036",
              "name": "time",
              "type": "string",
              "value": "={{ \n  $json[\"text\"].match(/(\u4e0a\u5348|\u4e0b\u5348) (\\d{1,2}):(\\d{2})/) ? \n  ($json[\"text\"].match(/(\u4e0a\u5348|\u4e0b\u5348) (\\d{1,2}):(\\d{2})/)[1] === '\u4e0b\u5348' && $json[\"text\"].match(/(\u4e0a\u5348|\u4e0b\u5348) (\\d{1,2}):(\\d{2})/)[2] !== '12' \n    ? (parseInt($json[\"text\"].match(/(\u4e0a\u5348|\u4e0b\u5348) (\\d{1,2}):(\\d{2})/)[2]) + 12) + ':' + $json[\"text\"].match(/(\u4e0a\u5348|\u4e0b\u5348) (\\d{1,2}):(\\d{2})/)[3] \n    : $json[\"text\"].match(/(\u4e0a\u5348|\u4e0b\u5348) (\\d{1,2}):(\\d{2})/)[2] + ':' + $json[\"text\"].match(/(\u4e0a\u5348|\u4e0b\u5348) (\\d{1,2}):(\\d{2})/)[3]\n  )\n  : null \n}}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "3d8f97ea-4a0d-4939-898f-8a0ca9415e7d",
      "name": "Send to Slack with Block",
      "type": "n8n-nodes-base.slack",
      "position": [
        800,
        60
      ],
      "parameters": {
        "text": "=Ubereat \u8a02\u9910\u8cc7\u8a0a: \n\u5546\u5bb6:  {{ $json.shop }}\n\u91d1\u984d: {{ $json.price }}\n\u65e5\u671f: {{ $json.date }}\n\n\u8a18\u5e33\u7db2\u5740:\nmoze3://expense?amount={{ $json.price }}&account=\u4fe1\u7528\u5361&subcategory=\u5916\u9001&store={{ $json.shop }}&date={{ $json.date }}",
        "select": "channel",
        "blocksUi": "={\n\t\"blocks\": [\n\t\t{\n\t\t\t\"type\": \"section\",\n\t\t\t\"text\": {\n\t\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\t\"text\": \"Ubereat \u8a02\u9910\u8cc7\u8a0a:\\n\\n*\u5546\u5bb6:* {{ $json.shop }}\\n*\u91d1\u984d:* {{ $json.price }}\\n*\u65e5\u671f:* {{ $json.date }}\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"type\": \"divider\"\n\t\t},\n\t\t{\n\t\t\t\"type\": \"section\",\n\t\t\t\"text\": {\n\t\t\t\t\"type\": \"mrkdwn\",\n\t\t\t\t\"text\": \"Moze \u8a18\u5e33\u8acb\u9ede\u6211\"\n\t\t\t},\n\t\t\t\"accessory\": {\n\t\t\t\t\"type\": \"button\",\n\t\t\t\t\"text\": {\n\t\t\t\t\t\"type\": \"plain_text\",\n\t\t\t\t\t\"text\": \"\u8a18\u5e33\",\n\t\t\t\t\t\"emoji\": true\n\t\t\t\t},\n\t\t\t\t\"value\": \"click\",\n\t\t\t\t\"url\": \"moze3://expense?amount={{ $json.price }}&account=\u4fe1\u7528\u5361&subcategory=\u5916\u9001&store={{ $json.shop }}&date={{ $json.date }}&&project=\u751f\u6d3b\u958b\u92b7&&time={{ $json.time }}\",\n\t\t\t\t\"action_id\": \"button-action\"\n\t\t\t}\n\t\t}\n\t]\n}",
        "channelId": {
          "__rl": true,
          "mode": "list",
          "value": "C0883CJM1UH",
          "cachedResultName": "\u5916\u9001\u8a18\u5e33\u81ea\u52d5\u5316"
        },
        "messageType": "block",
        "otherOptions": {},
        "authentication": "oAuth2"
      },
      "credentials": {
        "slackOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.3
    }
  ],
  "active": true,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "0840254c-0058-47fe-9b22-7fbb93144788",
  "connections": {
    "Loop Over Items": {
      "main": [
        [],
        [
          {
            "node": "Extract Price, Shop, Date, TIme",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Click to Test Flow": {
      "main": [
        [
          {
            "node": "Get emails from Gmail with certain subject",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send to Slack with Block": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Price, Shop, Date, TIme": {
      "main": [
        [
          {
            "node": "Send to Slack with Block",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Receive certain keyword Gmail Trigger": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get emails from Gmail with certain subject": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Food Delivery Notifications and Easy Expense Tracking. Uses gmail, gmailTrigger, slack. Event-driven trigger; 6 nodes.

Source: https://github.com/woakes070048/n8n-backups-8/blob/5db30d91616748d504c377cab36d876ed0adeaa5/WHX5t4Fae9Q7u6nK.json — original creator credit. Request a take-down →

More Email & Gmail workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Email & Gmail

Automatically transform resume submissions into comprehensive candidate profiles with AI-powered parsing, GitHub analysis, and instant team notifications. Monitors Gmail for incoming resume attachment

Gmail, Gmail Trigger, @Vlm Run/N8N Nodes Vlmrun +3
Email & Gmail

外送記帳. Uses splitInBatches, manualTrigger, gmail, gmailTrigger. Event-driven trigger; 6 nodes.

Gmail, Gmail Trigger, Slack
Email & Gmail

Food Delivery Notifications and Easy Expense Tracking. Uses gmail, gmailTrigger, slack. Event-driven trigger; 6 nodes.

Gmail, Gmail Trigger, Slack
Email & Gmail

Food Delivery Notifications and Easy Expense Tracking. Uses gmail, gmailTrigger, slack. Event-driven trigger; 6 nodes.

Gmail, Gmail Trigger, Slack
Email & Gmail

This workflow automates the process of retrieving emails from a food delivery platform, extracting key order details, and sending notifications to a Slack channel. Additionally, the Slack message incl

Gmail, Gmail Trigger, Slack