What This Automation Does
This workflow takes new lead data sent to a webhook and quickly sorts valid from invalid leads.
It uses AI to read lead notes and find key details like customer and inquiry type.
The workflow checks a contact database to find company staff who handle the lead’s topic.
Then it prepares an email notification with all details, ready to send via Microsoft Outlook.
Leads not about products or services get flagged and not processed further.
This ends long delays caused by manual lead sorting and cuts errors.
Tools and Services Used
- n8n Automation Platform: Runs the workflow and handles integrations.
- Webhook Node: Receives lead data via POST requests.
- ERPNext API: Provides detailed lead information and company contact data.
- OpenAI Node: Analyzes lead text, extracts info, and drafts emails.
- Google Sheets or ERPNext Contact Node: Stores company staff data to find the right lead contact.
- Code Node: Converts plain text email drafts into formatted HTML.
- Microsoft Outlook Node: Prepares and sends notification emails using Outlook.
How This Workflow Works: Input → Process → Output
Inputs
- Webhook receives new lead data as a POST request.
- Lead ID or identifier passed to query ERPNext for full lead details.
Processing Steps
- Make API call to ERPNext to get detailed lead notes and info.
- Send lead notes to OpenAI to extract customer name, organization, inquiry type, and check if lead is valid.
- Query contact database to get employees responsible for the relevant product or service.
- Use a Code node to turn plain text email drafts from AI into well-structured HTML email body.
- Check if lead is invalid and skip email sending if so.
Outputs
- A ready-to-send, professional HTML email in Microsoft Outlook addressed to the right company contacts.
- Invalid leads flagged with a specific message and no email output.
Who Should Use This Workflow
This is best for companies that get lots of leads daily.
The workflow is ideal for users who want to speed up lead sorting.
Any user already using ERPNext and Microsoft Outlook with n8n can apply this.
This works well for those who want less manual work and fewer mistakes.
Beginner Step-by-Step: How to Use This Workflow in n8n for Production
Step 1: Download and Import Workflow
- Download the workflow file using the Download button on this page.
- In the n8n editor, click “Import from File” and select the downloaded workflow.
Step 2: Configure Credentials and Settings
- Add your ERPNext API credentials in the HTTP Request node.
- Enter your OpenAI API Key in the OpenAI node.
- Set up Microsoft Outlook authentication details in the Microsoft Outlook node.
- If contact database requires update, change IDs, emails, or table names accordingly.
Step 3: Check and Update Code / Prompt if Needed
- Review the prompt inside the OpenAI node to match lead note formats.
- Copy the full code from the Code node below if customization is needed.
// Input email body
const emailBody = $json.email_body || '';
// Function to format plain text to HTML
function formatEmailBodyAsHtml(body) {
let htmlBody = body
.replace(/\*\*Customer Name:\*\* (.+)/, 'Customer Name: $1
')
.replace(/\*\*Organization:\*\* (.+)/, 'Organization: $1
')
.replace(/\*\*Contact Information:\*\* (.+)/, 'Contact Information: $1
')
.replace(/\*\*Inquiry Summary:\*\*\s*([\s\S]+?)(?=\n\n\*\*Action Required:)/, 'Inquiry Summary: $1
')
.replace(/\*\*Action Required:\*\*\s*([\s\S]+)/, 'Action Required: $1
');
htmlBody = htmlBody
.replace(/Dear (.+?),/, 'Dear $1,
')
.replace(/Thank you,\s+(.+)/, 'Thank you,
$1
');
return htmlBody;
}
const formattedHtmlBody = formatEmailBodyAsHtml(emailBody);
return { html: formattedHtmlBody };
Step 4: Test the Workflow
- Run the workflow once using a sample lead sent to the webhook URL.
- Check outputs at each node for expected data.
Step 5: Activate Workflow
- Set the Webhook node to active in n8n.
- Start monitoring live leads coming through.
- If needed, add retry logic or alerting on key nodes.
For users running self-host n8n, importing and activating works the same way.
Common Troubleshooting
- 401 Unauthorized in ERPNext API node
Cause: API Key error or expired token.
Fix: Re-add API Key and check permissions. - AI returns wrong classification
Cause: Lead notes missing details.
Fix: Improve prompt clarity or add more lead context. - Emails not sent from Outlook node
Cause: Authentication missing or wrong recipient emails.
Fix: Reconfigure Outlook node with correct details. - Webhook not triggering workflow
Cause: Wrong webhook URL or not using POST.
Fix: Confirm webhook URL and method. - Code node outputs broken HTML
Cause: Unexpected formats in email draft.
Fix: Add extra checks or sanitizing in code.
Customizations to Consider
- Change the AI prompt inside OpenAI node to fit special lead data.
- Add more data fields or channels in the contact database query.
- Update the email styling in Code node to add branding or adjust fonts.
- Add notifications via Slack or other tools for faster alerts.
Pre-Production Checklist
- Confirm webhook URL is reachable.
- Test ERPNext API connectivity with active key.
- Run AI node with example notes and review output.
- Validate contact database queries return proper recipients.
- Preview formatted email in code node output.
- Test Outlook node for email preparation success.
- Verify invalid leads return flagged message only.
Summary and Outcome
✓ Saves hours of manual lead sorting every day.
✓ Reduces mistakes by automating lead filtering.
✓ Speeds notification to the correct company contact.
✓ Flags irrelevant leads to keep focus on real queries.
✓ Makes emails ready to send with clear, formatted content.
→ Workflow turns many steps into one fast automatic process.
→ Users get faster replies and better client satisfaction.
