# Build a Multi-Channel AI Sales Agent (WhatsApp, Text & Email)

Source: https://www.youtube.com/watch?v=BZB6zfszsE4
Recap page: https://rapidrecap.app/video/BZB6zfszsE4
Generated: 2025-12-18T14:04:20.271+00:00

---
## Quick Overview

The video demonstrates how to build a multi-channel AI sales agent using an n8n workflow that unifies inputs from WhatsApp, SMS, and Email into a consistent format, processes the lead information via an AI Agent utilizing PostgreSQL for chat memory, and updates an AirTable CRM with consistent data fields regardless of the incoming communication channel.

**Key Points:**
- The workflow uses a central 'Session ID' module to unify incoming messages from four channels: Email Trigger, Incoming SMS, WhatsApp, and n8n Chat.
- The 'Load Lead' module searches an AirTable Leads base using a complex formula that checks Lead ID, phone numbers (SMS/WhatsApp), and email to find an existing lead or determine if a new one should be created.
- The AI Agent is configured with both an OpenAI Chat Model (GPT-4.1 Mini) for conversation and a PostgreSQL Chat Memory node to maintain context using the Lead ID as the key.
- The AI Agent's system prompt is customized to instruct it to always ask for Name, Email, and Company if that information is missing before answering product questions.
- The 'Channel Outputs' section uses a Switch node to correctly route responses back to the originating channel (WhatsApp, SMS, Email, or n8n Chat) based on the platform variable identified earlier.
- The AirTable base is set up with specific columns (Email, Lead ID, First Name, Last Name, Company, Deal Size, SMS #, WhatsApp #, n8n Session ID) to capture normalized data from all channels.
- The demo confirms that when an SMS arrives, the system successfully searches for the lead using the phone number and, after the AI responds, updates the record in AirTable with the correct information.

![Screenshot at 1:16: The main n8n workflow diagram highlighting the four Channel Inputs feeding into a Session ID module, which then processes data through Lead Load, Agent, and Channel Outputs nodes.](https://ss.rapidrecap.app/screens/BZB6zfszsE4/00-01-16.png)

**Context:** The video is a technical tutorial demonstrating how to construct a resilient, multi-channel AI sales agent workflow using the n8n automation platform. The core challenge addressed is normalizing data from disparate communication sources (WhatsApp, SMS, Email, and n8n Chat) so that a subsequent AI agent can consistently interact with the lead, retrieve existing CRM data from AirTable, and store conversation history via a PostgreSQL database.

## Detailed Analysis

The tutorial details the construction of a multi-channel AI sales agent workflow in n8n. The workflow begins with four 'Channel Inputs' (Email Trigger, Incoming SMS, WhatsApp, and When Chat Message Received) feeding into a 'Session ID' module, which normalizes the input data regardless of the source. This normalized data passes to the 'Load Lead' section, which performs a search in an AirTable Leads table using a complex formula filter designed to check for an existing Lead ID, phone numbers (in various formats for SMS and WhatsApp), or email address. If a lead is found, it's loaded; otherwise, a new lead is created via the 'Create Lead' node. The retrieved or newly created lead data (including the Lead ID) is then passed to the 'Agent' module. The Agent uses an OpenAI Chat Model (GPT-4.1 Mini) for generating responses, backed by a PostgreSQL Chat Memory node keyed by the retrieved Lead ID to maintain conversational context. The Agent's system prompt explicitly instructs it to gather missing contact information (Name, Email, Company) before answering product-related questions. Finally, the 'Channel Outputs' block uses a Switch node to route the AI's response back out through the correct channel (WhatsApp, SMS, Email, or n8n Chat) based on the platform variable determined earlier in the workflow. The process is demonstrated by sending messages via WhatsApp and Email, showing how the AirTable CRM is populated with normalized contact details (including separate fields for SMS and WhatsApp numbers in different formats) and how the system retrieves the correct lead for subsequent interactions.

### Channel Inputs & Session ID

- Unifies inputs from Email, SMS, WhatsApp, and n8n Chat into a single, consistent data stream using the Session ID module.

### Load Lead Module

- Searches the AirTable Leads table using a complex OR formula filter that checks for Lead ID, normalized phone numbers (SMS/WhatsApp), and Email to either retrieve an existing lead or proceed to create one.

### AI Agent Configuration

- Employs an OpenAI Chat Model (GPT-4.1 Mini) for responses and uses a PostgreSQL Chat Memory node keyed by the Lead ID to maintain cross-channel conversation history.

### Agent System Prompt

- Instructs the AI to prioritize collecting missing lead information (Name, Email, Company) before answering specific product questions.

### Channel Outputs (Switch Node)

- Routes the AI's response back out through the originating channel by evaluating the 'platform' variable found in the Session ID module's output.

### AirTable CRM Integration

- The 'Create Lead' and 'Update Lead' nodes populate/update the AirTable base, which includes specific columns for storing normalized identifiers for each channel (Email, SMS #, WhatsApp #, n8n Session ID).

![Screenshot at 0:00: The presenter introducing the topic of building a multi-channel AI sales agent.](https://ss.rapidrecap.app/screens/BZB6zfszsE4/00-00-00.png)
![Screenshot at 0:05: An overlay showing the goal of generating $50k per month using this automated system.](https://ss.rapidrecap.app/screens/BZB6zfszsE4/00-00-05.png)
![Screenshot at 0:07: A detailed view of the overall workflow diagram showing inputs, lead loading, AI agent processing, and channel outputs.](https://ss.rapidrecap.app/screens/BZB6zfszsE4/00-00-07.png)
![Screenshot at 0:15: A demonstration of the WhatsApp chat interface where the AI agent requests contact information.](https://ss.rapidrecap.app/screens/BZB6zfszsE4/00-00-15.png)
![Screenshot at 0:20: Close-up view of the 'Session ID' module configuration within the workflow, highlighting the logic that routes different input types.](https://ss.rapidrecap.app/screens/BZB6zfszsE4/00-00-20.png)
