Skip to content
FlowHubFluxonLab
C
Google Sheetsfree

Smartlead to HubSpot Performance Analytics

by victor de costeradapted from n8n official workflow galleryUpdated Aug 2026
RequiresCCodeGoogle SheetsGoogle SheetsHTTP RequestHTTP RequestHubSpotHubSpotPostgresPostgres
Share Post Share
HREXTRACT CAMPAIGN DATAEXTRACT CAMPAIG…HRFETCH ALL CAMPAIGNSFETCH ALL CAMPA…SILoop Over ItemsUPDATE CAMPAIGNMeMergeCoCodeSILoop Over Items1HubSpotIfIfScSchedule TriggerUPSERT CAMPAIGN ACTIVITYUPSERT CAMPAIGN…HUBSPOT TABLESEARCHPostgres1UPDATE HUBSPOT ACTIVITY TABLEUPDATE HUBSPOT …SeSET SMARTLEAD API KEYSET SMARTLEAD A…PostgresGoogle Sheets12345678910111213141516171819202122
1/5
STEPS · 22
Runs on a schedule

*Smartlead to HubSpot Performance Analytics A streamlined workflow to analyze your Smartlead performance metrics by tracking lifecycle stages in HubSpot and generating automated reports.* Who is this for? (Outbound) Automation Agencies, Sales and marketing teams using Smartlead for outreach campaigns who want to track their performance metrics and lead progression in HubSpot. What problem does this workflow solve? Manual tracking of lead performance across Smartlead and HubSpot is time-consuming and error-prone. This workflow automates performance reporting by connecting your Smartlead data with HubSpot lifecycle stages, providing clear insights into your outreach campaign effectiveness. What this workflow does Automatically pulls performance data from your Smartlead campaigns Cross-references contact status with HubSpot lifecycle stages Generates comprehensive performance reports in Google Sheets Provides customizable reporting schedules to match your team's needs Setup Requirements PostgreSQL Database Set up your PostgreSQL instance (includes $300 free GCP credits) Follow our step-by-step setup guide: Find a step-by-step guide here Google Account Integration Connect your Google A

Tags

n8nreference-onlygoogle-sheetshubspotpostgres
Connects
CCodesheetsGoogle SheetsWHTTP RequesthubspotHubSpotpostgresPostgres
CategoryGoogle Sheets
Triggermanual
Complexitycomplex
Nodes18
AddedDec 5, 2024

Related workflows

See all Google Sheets
CsheetsWpostgres
free

Aggregate multi-source job boards into Supabase and Google Sheets

Stop manually checking dozens of career pages. This workflow runs every morning, hits the public APIs of 8+ ATS platforms and job boards, normalizes every listing into a single clean schema, and syncs everything to Supabase and Google Sheets deduplicated and ready to query. Who it's for Job seekers, recruiters, or career platforms that want a consolidated, up-to-date feed of openings from specific companies without scraping, without API keys, and without paying for a jobs aggregator. How it works A Schedule Trigger fires daily at 8 AM IST A Company List code node defines all sources grouped by ATS type (Greenhouse, Lever, Ashby, Workable, SmartRecruiters, RemoteOK, and board APIs like Remotive, Himalayas, Arbeitnow, Jobicy) A Prepare Request node builds the correct API URL and headers for each source, including multi-page pagination for SmartRecruiters (up to 500 jobs via offset) and Himalayas (up to 500 via page param) An HTTP Request node fetches all sources in batches of 5 A Parse + Enrich + Filter node normalizes all divergent JSON structures into a unified schema — resolving ISO country codes, Indian city detection, salary parsing across all formats, and domain-based filtering

by Panth1823
CsheetsWpostgres
free

Check job apply URLs and deactivate dead links in Postgres and Google Sheets

Keep your job listings database clean without manual checks. Every three days, this workflow fetches all active jobs from your Postgres database, runs each application URL through a validation check, identifies dead links via HTTP status codes and soft-404 redirect detection, then marks failed entries as inactive in both Supabase and Google Sheets simultaneously. Who it's for Teams running a job aggregator, career platform, or internal hiring tracker who store job listings in Postgres and want stale or broken apply links removed automatically — without waiting for user reports. How it works A Schedule Trigger fires every 3 days All active jobs are fetched from your Postgres (Supabase) database via a SQL query A Prepare URLs node filters out any rows with missing, malformed, or non-HTTP URLs before they're checked An HTTP Request node sends a HEAD request to each apply_url A Find Dead Jobs code node analyzes each response and flags a job as dead if: Status code is 404 or 410 DNS resolution fails (ENOTFOUND) Connection is refused (ECONNREFUSED) A 301/302/307 redirect points to a different path — indicating the job was removed and the ATS is silently redirecting (soft-404 detection) I

by Panth1823
CsheetsW
free

Make outbound sales calls from Google Sheets using a VAPI voice agent

This n8n workflow automates outbound phone calls to new leads using VAPI, with built-in timezone detection to ensure you're only calling during business hours. Use cases include appointment setting, lead qualification, follow-up surveys, payment reminders, and sales outreach—anywhere you need to scale phone conversations without scaling headcount. Good to know You'll need a VAPI phone number and configured voice agent before using this workflow. VAPI offers $10 free credit when you sign up (~70 minutes of calls). Create your account here. The timezone logic covers common country codes (UK, US, EU, Australia, India, UAE, Singapore, Japan). You can extend this in the Code node. How it works A new row in Google Sheets triggers the workflow (you can swap this for a webhook, form, or CRM trigger). The phone number is sanitised—stripping spaces, dashes, and brackets so it's in the correct format for dialling. The lead's timezone is determined from their country code, and the workflow checks whether it's between 8am-5pm local time. If not, it waits and retries. VAPI places the outbound call using your configured voice agent. The workflow polls VAPI's API until the call ends, then retrieve

by Marcus Taylor