Every new contact in HubSpot triggers a pipeline that scrapes their live LinkedIn and Twitter activity, feeds it to GPT, and sends a genuinely personalised email, automatically, within minutes of them hitting your CRM.
CRMs are full of contacts nobody has actually researched. Sales reps open LinkedIn, spend 10 minutes reading someone's profile, write a semi-personalised email. And repeat. 40 times a day. It's unsustainable and the output is still mediocre.
The real cost isn't just time. It's quality. A rep doing manual research at scale can't stay genuinely relevant to every prospect. This system does it better, faster, and without fatigue.
Already using HubSpot for contact management. This slots in as an automation layer. No new tools for reps to learn.
Selling enterprise deals where a generic template destroys your chances. Every email needs to feel researched. This makes that scalable.
Want to free reps from top-of-funnel research so they focus on conversations and closing, not copy-pasting LinkedIn bios.
Running personalised outreach for clients across multiple industries. One workflow handles all of them with different AI prompts per client.
The workflow fires the moment a contact is created or updated in HubSpot. n8n receives the webhook, pulls full contact details (email, name, company, LinkedIn URL, Twitter handle) and logs the tracking status to Google Sheets.
Before scraping, the workflow checks whether the contact has a valid LinkedIn or Twitter handle. If neither exists, it routes to a fallback node that uses the company website and news coverage instead. No contact is left without research context.
Phantombuster scrapes the prospect's LinkedIn profile (recent posts, headline, current role, shared connections) and Twitter activity (recent tweets, engagement patterns). This returns real-time signal: what they're thinking about right now. Not 6-month-old profile text.
The enriched profile, social activity, and company context are passed to GPT-4 with a tailored system prompt. GPT generates a personalised subject line and email body that references something specific: a post they shared, a challenge in their role, or a recent company announcement. No two emails are the same.
The generated email is sent directly from Gmail with correct From name and reply-to settings. Simultaneously, HubSpot is updated: the email content is logged as a note on the contact, and the contact's outreach status is set to "contacted". Full CRM traceability, zero manual entry.
In HubSpot: Settings → Integrations → Private Apps → Create. Scopes needed: contacts.read, contacts.write, crm.objects.contacts. Copy the access token into n8n. Set up a webhook pointing to your n8n webhook URL.
Create a Phantombuster account, set up the LinkedIn Profile Scraper and Twitter Profile Scraper phantoms. Copy your API key and the phantom IDs into the n8n HTTP Request nodes.
Connect Gmail using OAuth2 in n8n. Ensure the connected account matches the From address you want prospects to see. Set up a reply-to address if your sending account differs from your inbox.
Edit the GPT system prompt with your product, ICP pain points, desired tone, and any hard rules (max word count, no-mention list, preferred CTA). This is the most important step — the quality of the AI output depends entirely on prompt quality.
Create a test contact in HubSpot with your own LinkedIn URL. Verify the webhook fires, Phantombuster returns data, GPT generates a sensible email, and Gmail sends it. Check HubSpot for the logged note. Then activate.
I'll configure the full workflow for your HubSpot instance, tools, and outreach tone.