PROJECT / AUTOMATION
Lead Generation Web Scraping
PROVIDER PORTALS → CRM
Leads lived on third-party sites with no clean export. Built a scheduled pipeline that pulls them in, cleans duplicates, and drops them into the CRM ready to call.
- Project type
- Lead intake pipeline
- Role
- Automation consultant
- Systems
- Python · Salesforce
- Status
- Internal system
THE STARTING POINT
The lead was already paid for. It still had to be retyped.
Wealth-management teams buy leads from portals such as SmartAsset, WiserAdvisor, SmartVestor, and Planswell. The providers email that a new lead is waiting. Someone logs in, copies the record, and enters it into Salesforce - then starts outreach by hand. There is no native export into the CRM the team already uses.
THE PIPELINE
From the provider dashboard into Salesforce.
A Python pipeline checks for newly assigned leads, skips anything already processed, writes the record into Salesforce, and kicks off follow-up so a person is not the first system of record.
- 01ProvidersAssigned leads waiting in the portal or API
- 02CollectPull the latest records on a continuous loop
- 03DedupeSkip leads already processed
- 04SalesforceThe record lands in the CRM
- 05Follow-upIntro email, SMS, and a person notified
WHAT I BUILT
Portal where there was no API. API where there was.
Most of these providers do not offer a clean export. I wrote Python to pull newly assigned leads from the advisor portals. Planswell was the exception - that path uses their GraphQL API. Finished records go to Salesforce. An intro email and text go out, and a team member is notified to follow up.
PYTHON · SALESFORCE · SMS
COLLECT
- SmartAsset, WiserAdvisor, and SmartVestor advisor portals
- Planswell GraphQL API for assigned leads
CLEAN
- Skip duplicates already processed
- Keep only what the CRM needs to work the lead
DELIVER
- Write the lead into Salesforce
- Start an intro email and SMS, and notify a person
THE LOGIC
A new assignment should not wait for someone to refresh a dashboard.
Leads arrive throughout the day. The pipeline runs continuously - including evenings and weekends - so intake is not queued on office hours. When a portal login fails, it surfaces an alert instead of failing quietly.
- 01
Poll
Check provider portals and the Planswell API for newly assigned leads.
- 02
Skip
If the lead was already processed, do not write it again.
- 03
Route
Planswell leads can be directed to the matching office before they hit the CRM.
- 04
Write
Create the Salesforce record and start the intro email and text.
- 05
Alert
Notify a team member to follow up in person. Flag credential failures.
WHERE IT LANDED
New assignments land in Salesforce ready to work, instead of sitting in a provider dashboard until someone retypes them. Follow-up can start from the CRM the team already uses.
I designed and built the pipeline. It runs as an internal system.
MORE WORK
01SYSTEMS
WhatConverts → Salesforce
Paid leads were sitting in one tool while sales waited on manual CRM entry. Built a pipeline so new leads land in Salesforce in seconds, ready to call.
VIEW PROJECT →02ANALYTICS
Marketing Attribution
Marketing spend looked busy in clicks and opens, but nobody could defend which channels actually produced clients. Wired tracking and reporting so ROI was clear.
VIEW PROJECT →
Dupey Consulting