crm-automation
Included with Lifetime
$97 forever
CRM workflow automation for HubSpot, Salesforce, Pipedrive - lead management, deal tracking, and multi-CRM synchronization
salescrmhubspotsalesforceautomationlead-management
What this skill does
# CRM Automation
Automate CRM workflows for HubSpot, Salesforce, and Pipedrive including lead management, deal tracking, pipeline automation, and multi-CRM synchronization. Based on n8n workflow templates.
## Overview
This skill covers:
- Lead capture and enrichment automation
- Deal stage progression workflows
- Multi-CRM data synchronization
- Automated follow-up sequences
- Sales analytics and reporting
---
## Core Workflow Patterns
### 1. Lead Capture → Enrichment → Assignment
```
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Lead Source │───▶│ Enrich Data │───▶│ Score Lead │───▶│ Route to │
│ (Form/API) │ │ (Clearbit) │ │ (AI/Rules) │ │ Sales Rep │
└─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘
│
┌─────────────┐ ┌─────────────┐ │
│ Start │◀───│ Create in │◀───┘
│ Sequence │ │ CRM │
└─────────────┘ └─────────────┘
```
**n8n Configuration**:
```yaml
workflow: "Lead Capture to CRM"
trigger:
- type: webhook
event: form_submission
source: [website, landing_page, calendly]
steps:
1. capture_lead:
fields: [email, name, company, phone, source]
2. enrich_data:
provider: clearbit
lookup_by: email
append: [company_size, industry, title, linkedin]
3. score_lead:
model: ai_scoring # or rule-based
factors:
- company_size: {1-50: 10, 51-200: 20, 201+: 30}
- industry_fit: {high: 30, medium: 20, low: 10}
- title_seniority: {c-level: 30, director: 20, manager: 10}
threshold: 50 # MQL threshold
4. route_lead:
rules:
- if: score >= 80 AND industry == "tech"
assign_to: "Enterprise Team"
- if: score >= 50
assign_to: "SMB Team"
- else:
assign_to: "Marketing Nurture"
5. create_in_crm:
platform: hubspot
object: contact
properties:
email: "{email}"
firstname: "{first_name}"
company: "{company}"
lead_score: "{score}"
lead_source: "{source}"
6. start_sequence:
if: score >= 50
sequence: "New Lead Welcome"
delay: 1_hour
```
---
### 2. Deal Stage Automation
```yaml
workflow: "Deal Stage Progression"
trigger:
- type: hubspot_deal_updated
property: dealstage
stages:
appointment_scheduled:
actions:
- create_task: "Prepare for meeting"
due: 1_day_before_meeting
- notify_slack: "#sales-pipeline"
- update_property: last_activity_date
qualified_to_buy:
actions:
- create_task: "Send proposal"
due: 3_days
- notify_manager: true
- add_to_forecast: true
presentation_scheduled:
actions:
- create_task: "Prepare demo environment"
- send_reminder: 1_hour_before
- log_activity: "Presentation scheduled"
contract_sent:
actions:
- set_close_date: 14_days_from_now
- create_task: "Follow up on contract"
due: 7_days
- notify_legal: if amount > 50000
closed_won:
actions:
- notify_slack: "#wins"
- trigger_onboarding: true
- update_forecast: remove
- celebrate: confetti # Slack celebration
closed_lost:
actions:
- log_loss_reason: required
- add_to_nurture: true
- schedule_reengagement: 90_days
```
---
### 3. Multi-CRM Synchronization
```yaml
workflow: "HubSpot + Salesforce + Pipedrive Sync"
sync_rules:
contacts:
master: hubspot
sync_to: [salesforce, pipedrive]
frequency: real_time
fields:
- email (unique_key)
- name
- company
- phone
- owner
conflict_resolution: most_recent_wins
deduplication:
provider: openai
similarity_threshold: 0.85
deals:
master: salesforce
sync_to: [hubspot, pipedrive]
frequency: every_15_minutes
field_mapping:
salesforce.Opportunity.Amount → hubspot.deal.amount
salesforce.Opportunity.CloseDate → hubspot.deal.closedate
salesforce.Opportunity.StageName → hubspot.deal.dealstage
activities:
aggregate_to: google_sheets
types: [calls, emails, meetings, notes]
columns: [date, contact, type, summary, outcome]
```
**n8n Implementation**:
```javascript
// Multi-CRM Sync Node
{
"nodes": [
{
"name": "Get HubSpot Contacts",
"type": "n8n-nodes-base.hubspot",
"parameters": {
"operation": "getAll",
"limit": 100,
"additionalFields": {
"propertiesToInclude": ["email", "firstname", "lastname", "company"]
}
}
},
{
"name": "Get Salesforce Contacts",
"type": "n8n-nodes-base.salesforce",
"parameters": {
"operation": "getAll",
"sobject": "Contact"
}
},
{
"name": "Deduplicate with OpenAI",
"type": "n8n-nodes-base.openAi",
"parameters": {
"operation": "message",
"model": "gpt-4",
"prompt": "Compare these contacts and identify duplicates: {{$json}}"
}
},
{
"name": "Sync to Master Sheet",
"type": "n8n-nodes-base.googleSheets",
"parameters": {
"operation": "append",
"sheetId": "your-sheet-id"
}
}
]
}
```
---
## Lead Scoring Model
### Rule-Based Scoring
```yaml
lead_score_rules:
demographic:
job_title:
- C-Level|VP|Director: +30
- Manager|Head: +20
- Individual Contributor: +10
company_size:
- 1-50: +10
- 51-200: +20
- 201-1000: +25
- 1000+: +30
industry:
- Technology|SaaS: +30
- Finance|Healthcare: +25
- Manufacturing|Retail: +15
behavioral:
website_visits:
- 1-2: +5
- 3-5: +10
- 6+: +20
content_downloads:
- Whitepaper: +15
- Case Study: +20
- Pricing Page: +25
email_engagement:
- Opened: +5
- Clicked: +10
- Replied: +20
thresholds:
- MQL: 50
- SQL: 75
- Hot Lead: 90
```
### AI-Based Scoring
```yaml
ai_scoring_model:
provider: openai
prompt: |
Score this lead from 0-100 based on:
- Fit with our ICP (ideal customer profile)
- Buying intent signals
- Budget authority
- Timeline urgency
Lead Data: {lead_data}
ICP: B2B SaaS companies, 50-500 employees, Series A+
Return JSON: {"score": X, "reasoning": "...", "next_action": "..."}
```
---
## Automated Sequences
### Sequence 1: New Lead Welcome
```yaml
sequence: "New Lead Welcome"
trigger: lead_created AND score >= 50
steps:
- day_0:
type: email
template: "welcome_intro"
subject: "Welcome to {Company} - Here's what's next"
- day_2:
type: email
template: "value_prop"
subject: "How {Similar_Company} achieved {Result}"
condition: not_replied
- day_4:
type: task
action: "LinkedIn connection request"
assign_to: owner
- day_7:
type: email
template: "case_study"
subject: "Quick case study for {Lead_Company}"
condition: not_replied
- day_10:
type: email
template: "meeting_request"
subject: "15 min to discuss {Pain_Point}?"
include: calendly_link
- day_14:
type: task
action: "Phone call attempt"
assign_to: owner
condition: not_responded
```
### Sequence 2: Deal Follow-Up
```yaml
sequence: "Proposal Follow-Up"
trigger: deal_stage == "contract_sent"
steps:
- day_3:
type: email
template: "contract_check_in"
subject: "Any questions about the proposal?"
- day_7:
type: task
action: "Phone call - contract follow-up"
- day_10:
type: email
template: "deadline_reminder"
subject: "Pricing valid until {deadline}"
condition: not_responded
- day_14:
type: alert
Related in sales
lead-routing
IncludedIntelligent lead assignment and routing - AI-powered scoring, territory mapping, round-robin distribution, and workload balancing
sales
customer-success
IncludedCustomer success management - onboarding, health scoring, QBRs, expansion playbooks, and retention strategies
sales
crm-automation
IncludedCRM workflow automation for HubSpot, Salesforce, Pipedrive - lead management, deal tracking, and multi-CRM synchronization
sales
customer-success
IncludedCustomer success management - onboarding, health scoring, QBRs, expansion playbooks, and retention strategies
sales
proposal-writer
IncludedCreate compelling business proposals that win deals and partnerships
sales
Lead Qualification
IncludedScore and qualify leads based on criteria and fit
sales