LeadChat Booker — conversational lead capture that schedules
Last edited 58 days ago
Real Working Demo
https://crmaiinsight.com/leadbot
How It Works (High-Level)
-
Chat > Capture
LeadBot greets, collects Full Name → Email → Mobile (optional) → Product interest via friendly chat (no forms).- Validates email/phone, confirms inputs, supports corrections.
-
De-dupe
Checks Salesforce for an existing lead by Email.- If found → update_lead. If not → create_lead.
-
Product Selection
Pulls your Feature_Product__c list (Name + one-line Description) and lets the user choose by number or name. -
Demo Booking (Optional)
If the user says Yes:- Detect/ask Time Zone (IANA).
- Reads Salesforce Events for the next 14 days.
- Computes free 30-min weekday slots (09:00–17:00 UTC) strictly after now.
- User picks a slot → creates a Salesforce Event (30 min) linked to the Lead.
-
Notifications & Follow-ups
- Slack DM to your team (concise summary).
- Email confirmation to the prospect (local date/time included).
- Ends with a polite confirmation message.
Setup at a Glance
- Effort: Most teams finish the base setup in ~45–90 minutes (credentials, field mapping, test).
- What you’ll configure: Salesforce OAuth, SMTP (or your ESP), Slack, OpenAI key, and the web chat widget.
Tip: Start with the provided Feature_Product__c object. You can switch to your own product catalog with a few tweaks (see below).
Prerequisites
-
Salesforce
- Connected App + OAuth (API enabled).
- Lead fields:
FirstName,LastName,Email,MobilePhone, and one product lookup/text field (e.g.,Interested_Product__corFeature_Product__c). - (Recommended) Custom object Feature_Product__c with fields:
Name,Description__c,Features__c,Tags__c.
-
n8n Credentials
salesforceOAuth2Api(to read/write Leads & Events).smtp(or use your email provider node).slackApi(for internal notifications).openAiApi(for the chat agent).
-
Widget Embed (optional)
- A place on your site/app to embed the chat launcher.
Step-by-Step Setup
-
Import the flow into n8n
- Verify nodes: Chat Trigger → AI Agent → check_duplicate_lead → update/create lead → get_products → get_scheduled_events → create_demo_event → Slack/Email.
-
Add/Bind Credentials
- Salesforce OAuth: authorize org with API scope.
- SMTP: sender, domain, and authentication (verify SPF/DKIM).
- Slack: ensure bot can DM users/channels.
- OpenAI: drop in your API key.
-
Map Product Field on Lead
- Pick one field to store the selection (e.g.,
Interested_Product__c). - Ensure AI Agent and Salesforce nodes reference the same field.
- Pick one field to store the selection (e.g.,
-
(Option A) Use
Feature_Product__c- Confirm fields exist:
Name,Description__c(used in the numbered list). - In get_products, make sure
Idis returned; pass it ascustomFieldsValues0_Value.
- Confirm fields exist:
-
(Option B) Use Your Own Catalog
- Swap
customObject: Feature_Product__c→Product2(or your object). - Update fields to at least:
Id,Name, and a short description field. - Keep the variable contract the same (AI expects to store
Id,name,description).
- Swap
-
Configure Demo Booking
- get_scheduled_events uses a SOQL search window (today → +14 days).
- Ensure your Event permissions allow read/write.
- Confirm create_demo_event URL points to your Salesforce domain & API version.
-
Customize Widget (optional)
- Set title, brand colors, and initial message in the Chat Trigger options.
- Limit reply length (≤100 words) is already set.
-
Test End-to-End
- Run a full path: enter name/email/phone, pick a product, select a time slot.
- Verify: Lead/Update in Salesforce, Event creation, Slack DM, Prospect Email.
Switching to Your Own Products (Quick Tweaks)
- Replace Data Source:
- In get_products:
customObject: Product2(or your object API name).- Fields: ensure
Id,Name, and a short description are returned.
- In get_products:
- Update Lead Field Mapping:
- Set
Interested_Product__c(or your chosen field) to the returned Product Id.
- Set
- Copy Text Logic:
- Keep the AI’s “numbered list” output; it supports both number and name replies.
What Users Experience
- No forms. A friendly AI asks one thing at a time, confirms details, and offers a live calendar of the next available 30-minute demo slots.
- The moment they choose, a Salesforce Event is created and they get a confirmation email.
- Your team receives a Slack heads-up with who/what/when.
Troubleshooting Quick Checks
- No product list? Ensure
Id, Name, Description__c(or equivalent) are returned by get_products. - No free slots shown? Confirm Event query window (+14 days), timezone handling, and that “current time” filter excludes past times.
- Lead not updated? Check the duplicate search by Email and that
update_leadreceivesLead_ID. - Event fails to create? Verify Salesforce API endpoint, OAuth scope, and required Event fields.
You may also like
New to n8n?
Need help building new n8n workflows? Process automation for you or your company will save you time and money, and it's completely free!





