Sync LinkedIn profile visitors into HubSpot CRM leads with ConnectSafely.ai and Apify

Go to Workflow
0 views
Built by ConnectSafely ConnectSafely
Created on June 07, 2026

Description

Sync LinkedIn Profile Visitors to HubSpot CRM

Who's it for

This workflow is built for sales professionals, recruiters, founders, and marketers who want to automatically capture LinkedIn profile visitors and convert them into actionable CRM leads. Perfect for anyone tired of manually checking who viewed their profile, copying data one by one, and losing warm leads because they never made it into your pipeline.

If you're running outbound sales, recruiting talent, building partnerships, or simply want to know who's checking you out on LinkedIn, this automation captures every visitor and enriches them with full professional data before syncing to your CRM.

How it works

The workflow automatically syncs your LinkedIn profile visitors to HubSpot CRM with enriched professional data.

The process flow:
Scheduled trigger runs weekly (or manually) to fetch recent visitors
ConnectSafely.ai API retrieves all profile visitors from the past 7 days
Splits visitors into individual records for processing
Apify actor enriches each visitor with complete LinkedIn profile data (email, company, title, location)
Email validation filters contacts - only those with valid emails proceed
HubSpot integration creates or updates contacts with full enriched information
Loop continues until all visitors are processed

Setup steps

Step 1: Configure ConnectSafely.ai API Credentials

Obtain API Key

Log into ConnectSafely.ai Dashboard
Navigate to Settings → API Keys
Generate a new API key

Add Bearer Auth Credential in n8n

Go to Credentials in n8n
Click Add Credential → Header Auth or HTTP Bearer Auth
Name it "ConnectSafely.ai API"
Paste your ConnectSafely.ai API key
Save the credential

This credential is used by the "Fetch Profile Visitors" HTTP Request node.

Step 2: Configure Apify Integration

Get Apify API Key

Sign up at Apify.com
Go to Settings → Integrations → API
Copy your API token

Find the LinkedIn Enrichment Actor

Go to Apify Store
Search for "LinkedIn Profile Scraper" or use actor ID: UMdANQyqx3b2JVuxg
Copy the actor URL

Add Apify Credential in n8n

Go to Credentials → Add Credential → Apify API
Paste your Apify API token
Save the credential

Configure the Apify Node

Open the Enrich LinkedIn Profile node
Select your Apify credential
Update the Actor ID URL with your chosen LinkedIn scraper actor

Step 3: Configure HubSpot Integration

Create HubSpot App Token

Go to HubSpot Settings → Integrations → Private Apps
Click Create a private app
Name it "n8n LinkedIn Sync"
Under Scopes, enable:
crm.objects.contacts.read
crm.objects.contacts.write
Click Create app and copy the access token

Add HubSpot Credential in n8n

Go to Credentials → Add Credential → HubSpot App Token
Paste your access token
Save the credential

Connect to HubSpot Node

Open the Create HubSpot Contact node
Select your HubSpot App Token credential

Step 4: Configure the Schedule

Open the Run Weekly node
Adjust the schedule based on your needs:
Default: Every week
High traffic profiles: Every day
Low traffic: Every 2 weeks

Step 5: Test the Workflow

Click the Test Manually node
Click Test Workflow
Verify:
Profile visitors are fetched correctly
Enrichment returns full profile data
Contacts with emails are created in HubSpot
Contacts without emails are skipped gracefully

Customization

Time Range Adjustment

Edit the JSON body in the Fetch Profile Visitors node to change the lookback period:

{"timeRange":"past_7_days","start":0,"fetchAll":true}

Options:
past_7_days - Last week's visitors (default)
past_30_days - Last month's visitors
past_90_days - Last quarter's visitors

Additional HubSpot Fields

The Create HubSpot Contact node maps these fields by default:
First Name
Last Name
Email
Job Title
Company Name
City
Country
Street Address
LinkedIn URL
Lead Status (set to "NEW")

To add more fields:
Open the Create HubSpot Contact node
Click Add Field under Additional Fields
Map Apify output fields to HubSpot properties

Different CRM Integration

To use a different CRM instead of HubSpot:
Delete the Create HubSpot Contact node
Add your CRM node (Salesforce, Pipedrive, Zoho, etc.)
Map the enriched fields to your CRM's contact properties
Connect it to the "Has Valid Email" true output

Add Slack Notifications

Want to get notified when high-value visitors are captured?
Add a Slack node after Create HubSpot Contact
Filter for specific job titles or companies
Send a message to your sales channel

Use Cases

Sales Prospecting**: Automatically capture decision-makers who are researching you before outreach
Recruiting**: Build a passive candidate pipeline from people checking out your profile
Founder Networking**: Know when investors, partners, or potential hires are interested
Account-Based Marketing**: Track when target account contacts view your profile
Event Follow-up**: Capture visitors who checked you out after conferences or webinars

Troubleshooting

Common Issues & Solutions

Issue: No visitors returned from API
Solution**: Ensure your LinkedIn account is connected in ConnectSafely.ai dashboard and has had recent profile views

Issue: Apify enrichment returning empty results
Solution**: Verify the LinkedIn URL format is correct (should be full URL like https://www.linkedin.com/in/username). Check your Apify actor is running properly.

Issue: "Profile not found" errors
Solution**: Some LinkedIn profiles may be private or have restricted visibility. These will be skipped automatically.

Issue: HubSpot contact not created
Solution**: Check that your HubSpot App Token has crm.objects.contacts.write scope enabled

Issue: Duplicate contacts in HubSpot
Solution**: HubSpot uses email as the unique identifier. The node is configured to "Create or Update" so duplicates should be updated, not created. Verify the email field is mapping correctly.

Issue: Rate limit errors from Apify
Solution**: Add a Wait node after the loop with 2-5 second delays between enrichment calls

Issue: Missing email addresses for most visitors
Solution**: This is normal - enrichment typically finds emails for 60-70% of profiles. Consider adding LinkedIn URL as a fallback identifier in your CRM.

Costs & Considerations

| Service | Cost |
|---------|------|
| ConnectSafely.ai | Free trial available, then subscription |
| Apify Enrichment | ~$1 per 1,000 records |
| HubSpot | Free tier works, or existing subscription |
| n8n | Free (self-hosted) or cloud pricing |

Estimated monthly cost for 200 visitors/month: ~$0.20 for Apify enrichment

Documentation & Resources

Official Documentation
ConnectSafely.ai Docs**: https://connectsafely.ai/docs
Apify LinkedIn Actors**: https://apify.com/store
HubSpot API**: https://developers.hubspot.com

Support Channels
Email Support**: [email protected]
Documentation**: https://connectsafely.ai/docs

Connect With Us

Stay updated with the latest automation tips and LinkedIn strategies:

LinkedIn**: linkedin.com/company/connectsafelyai
YouTube**: youtube.com/@ConnectSafelyAI-v2x
Instagram**: instagram.com/connectsafely.ai
X (Twitter)**: x.com/AiConnectsafely

Need Custom Workflows?

Looking to build sophisticated LinkedIn automation workflows tailored to your business needs?

Contact our team for custom automation development, strategy consulting, and enterprise solutions.

We specialize in:
Multi-channel engagement workflows
AI-powered personalization at scale
Lead scoring and qualification automation
CRM integration and data synchronization
Custom reporting and analytics pipelines

Nodes Used (2)

HTTP Request
n8n-nodes-base.httpRequest
HubSpot
n8n-nodes-base.hubspot