AutomationFlowsSlack & Telegram › Whatsapp Product Catalog Bot with Postgresql Database

Whatsapp Product Catalog Bot with Postgresql Database

ByAndrew @boanse on n8n.io

This workflow is designed for businesses or developers who want to integrate product information into a WhatsApp bot and allow users to retrieve details about products from a database.

Event trigger★★★★☆ complexity22 nodesWhatsApp TriggerWhatsAppPostgres
Slack & Telegram Trigger: Event Nodes: 22 Complexity: ★★★★☆ Added:

This workflow corresponds to n8n.io template #3652 — we link there as the canonical source.

This workflow follows the WhatsApp → WhatsApp 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": "einrgpZs8WKQAqu1",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "WA-Bot-Module-Catalog-v1-db-sell-full",
  "tags": [
    {
      "id": "XPad0ERjSdqfxG52",
      "name": "module",
      "createdAt": "2025-03-31T08:11:00.151Z",
      "updatedAt": "2025-03-31T08:11:00.151Z"
    },
    {
      "id": "NeRMkUNq0sRVlL99",
      "name": "whatsapp",
      "createdAt": "2025-03-10T18:20:40.864Z",
      "updatedAt": "2025-03-10T18:20:40.864Z"
    },
    {
      "id": "2ocrWSzdKoCOU2AC",
      "name": "sell",
      "createdAt": "2025-04-19T15:39:51.859Z",
      "updatedAt": "2025-04-19T15:39:51.859Z"
    }
  ],
  "nodes": [
    {
      "id": "9dbf0a91-9e4a-4757-bd40-e1399ab58865",
      "name": "WhatsApp Trigger",
      "type": "n8n-nodes-base.whatsAppTrigger",
      "position": [
        40,
        760
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "eb291d0c-62b4-4ab4-a156-b16c0d76ff86",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        420,
        520
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "c1942b46-997c-4349-998b-798045c47b99",
      "name": "Starts",
      "type": "n8n-nodes-base.whatsApp",
      "position": [
        480,
        560
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "9bfe4a0c-00fe-40b8-848b-a67658e05d2e",
      "name": "Upsert Bot Status",
      "type": "n8n-nodes-base.postgres",
      "position": [
        700,
        560
      ],
      "parameters": {},
      "typeVersion": 2.5
    },
    {
      "id": "d40ba34b-2d8d-4037-9dcf-a4431efd0adf",
      "name": "Get Bot Status",
      "type": "n8n-nodes-base.postgres",
      "position": [
        480,
        760
      ],
      "parameters": {},
      "executeOnce": true,
      "typeVersion": 2.5,
      "alwaysOutputData": true
    },
    {
      "id": "cb4a1b1f-2954-42e7-b0cf-5f416d0934fd",
      "name": "Start?",
      "type": "n8n-nodes-base.if",
      "position": [
        700,
        760
      ],
      "parameters": {},
      "typeVersion": 2.2
    },
    {
      "id": "a8270c23-90c1-45a8-906b-c32308ce82c5",
      "name": "Commands",
      "type": "n8n-nodes-base.switch",
      "position": [
        920,
        760
      ],
      "parameters": {},
      "typeVersion": 3.2
    },
    {
      "id": "e055dd17-081a-4df8-a1e2-ba53b7f56ddc",
      "name": "Main Menu",
      "type": "n8n-nodes-base.whatsApp",
      "position": [
        1140,
        560
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "01323750-e79b-4e21-88f5-d4df6960763d",
      "name": "Initialization",
      "type": "n8n-nodes-base.set",
      "position": [
        260,
        760
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "d923afe8-8c33-4771-ac91-b9393baba338",
      "name": "Union list ",
      "type": "n8n-nodes-base.summarize",
      "position": [
        1800,
        940
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "81b7379d-1990-4453-bf8b-b409cc50fe15",
      "name": "Union Number with Question ",
      "type": "n8n-nodes-base.set",
      "position": [
        1580,
        940
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "53fc423b-9707-4cfb-9473-232980f83829",
      "name": "Get Card products",
      "type": "n8n-nodes-base.postgres",
      "position": [
        1360,
        940
      ],
      "parameters": {},
      "typeVersion": 2.5
    },
    {
      "id": "932bea53-611c-44aa-839c-5174c2741f62",
      "name": "List Cards",
      "type": "n8n-nodes-base.whatsApp",
      "position": [
        2020,
        940
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "ebec012a-b17c-44ef-91fd-2c8a8fc5fbbd",
      "name": "Get Card product",
      "type": "n8n-nodes-base.postgres",
      "position": [
        1580,
        1140
      ],
      "parameters": {},
      "executeOnce": true,
      "typeVersion": 2.5
    },
    {
      "id": "b8f8dae0-768c-4248-abc9-fa3a21656d14",
      "name": "Get Card products ",
      "type": "n8n-nodes-base.postgres",
      "position": [
        1360,
        1140
      ],
      "parameters": {},
      "typeVersion": 2.5
    },
    {
      "id": "eb3efce7-3883-4340-bfd1-457ad08fc5c9",
      "name": "List?",
      "type": "n8n-nodes-base.if",
      "position": [
        1140,
        940
      ],
      "parameters": {},
      "typeVersion": 2.2
    },
    {
      "id": "c01e352a-55b8-4b6c-a695-59b5a6b888cc",
      "name": "Card",
      "type": "n8n-nodes-base.whatsApp",
      "position": [
        2020,
        1140
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "df165c25-5c02-43b6-858a-1a0659562111",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -400,
        760
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "4e29ce66-eb53-4f81-b05e-0e6360c46faf",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -400,
        520
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "6195e5dd-c8e1-4ba5-9a45-d2da789b296e",
      "name": "Sticky Note9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        40,
        1080
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "6e40affe-50a5-4588-b7b3-f7afadb39a2f",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -400,
        1080
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "ca246a5b-e4fa-4f90-8ba6-68090817e024",
      "name": "Sticky Note10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        40,
        520
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "53ceca69-2a22-4a99-b3d3-f78675c6df32",
  "connections": {
    "List?": {
      "main": [
        [
          {
            "node": "Get Card products",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Get Card products ",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Start?": {
      "main": [
        [
          {
            "node": "Starts",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Commands",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Starts": {
      "main": [
        [
          {
            "node": "Upsert Bot Status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Commands": {
      "main": [
        [
          {
            "node": "Main Menu",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "List?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Union list ": {
      "main": [
        [
          {
            "node": "List Cards",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Bot Status": {
      "main": [
        [
          {
            "node": "Start?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Initialization": {
      "main": [
        [
          {
            "node": "Get Bot Status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Card product": {
      "main": [
        [
          {
            "node": "Card",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "WhatsApp Trigger": {
      "main": [
        [
          {
            "node": "Initialization",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Card products": {
      "main": [
        [
          {
            "node": "Union Number with Question ",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Card products ": {
      "main": [
        [
          {
            "node": "Get Card product",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Union Number with Question ": {
      "main": [
        [
          {
            "node": "Union list ",
            "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

This workflow is designed for businesses or developers who want to integrate product information into a WhatsApp bot and allow users to retrieve details about products from a database.

Source: https://n8n.io/workflows/3652/ — original creator credit. Request a take-down →

More Slack & Telegram workflows → · Browse all categories →

Related workflows

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

Slack & Telegram

This workflow is for businesses or services that require managing customer reservations or appointments through a Telegram bot and storing reservation details in a PostgreSQL database.

Postgres, WhatsApp, WhatsApp Trigger
Slack & Telegram

This workflow is designed for educators, HR teams, or anyone who needs to create and distribute quizzes or tests via WhatsApp and automatically store and analyze responses in a PostgreSQL database.

WhatsApp, Postgres, WhatsApp Trigger
Slack & Telegram

This workflow is designed for businesses or individuals who want to automate responses to frequently asked questions via WhatsApp, while managing their question-and-answer database using Postgres.

WhatsApp Trigger, WhatsApp, Postgres
Slack & Telegram

This comprehensive N8N automation template revolutionizes content creation by delivering a complete end-to-end solution for AI-powered blog generation. Transform simple ideas into fully SEO-optimized,

Slack Trigger, Telegram Trigger, Gmail Trigger +16
Slack & Telegram

This template is ideal for users managing Telegram channels who want to automate the process of posting messages, including text and images, directly from an bot.

Telegram Trigger, Postgres, Telegram