Ops

Build a scheduled company enrichment pipeline

Build a scheduled enrichment workflow that pulls companies from your queue (CRM, database, or Pipedream data store), enriches them with Lusha’s verified firmographic data on a set schedule, and writes results back—so your company data stays fresh automatically without manual batch jobs.

Why this works

Most teams know they need to enrich company data regularly, but batch enrichment becomes a recurring manual task: export a list, run enrichment, import results, repeat next week.

That pattern breaks for two reasons: someone forgets to run it, or the backlog grows faster than manual processing can handle.

This play turns enrichment into infrastructure. Schedule it once, and companies get enriched automatically—nightly for new accounts, weekly for updates, or on whatever cadence your data needs.

What you get

  • Scheduled automation that runs enrichment on your timeline (hourly, daily, weekly, custom)
  • Queue-based processing that pulls companies from your backlog and enriches them in batches
  • Lusha Company API enrichment with industry, employee count, revenue, HQ, funding, and tech stack
  • Automatic result storage to CRM, database, Google Sheets, or Pipedream’s data store
  • Progress tracking with status updates, logs, and error handling for failed enrichments
Built by: Lusha
Difficulty: Medium
Tools: Lusha, Pipedream

How to set it up

01

Use the Pipedream template

Start from the “Enrich Companies with Lusha API on New Scheduled Tasks from Pipedream API” template. It includes the task scheduler trigger and Lusha enrichment action.

02

Connect your Pipedream account

Authenticate with Pipedream to enable the task scheduler. This allows the workflow to run on schedule automatically.

03

Configure the schedule trigger

Set up when and how often enrichment runs:

  • Frequency: Select interval (every hour, daily at 2 AM, weekly on Sundays, custom cron)
  • Timezone: Set your timezone so schedules run at the right time
  • Batch size: Define how many companies to process per run (e.g., 100)
04

Connect to your company queue

Add a step to pull companies that need enrichment:

Option A: From CRM (HubSpot/Salesforce)

  • Query companies with missing fields
  • Filter by “enrichment status = pending”
  • Limit to batch size (e.g., 100 records)

Option B: From Google Sheets

  • Read rows from “Company queue” tab
  • Filter where “Status = Pending”
  • Process in order (FIFO)

Option C: From database

  • Run SQL query to fetch pending companies
  • Order by priority or created date
  • Limit by batch size

Option D: From Pipedream data store

  • Fetch queued company records
  • Process oldest first
05

Loop through companies and enrich

For each company in the batch:

  • Extract domain or company name
  • Call Lusha Company API
  • Store enriched data (industry, size, revenue, location, etc.)
  • Update status to “Enriched” or “Failed”
06

Write results back to source

Update the original records with enriched data:

  • CRM: Update company/account fields with Lusha data
  • Sheets: Write enriched columns back to the row
  • Database: UPDATE statement with new firmographics
  • Data store: Save enriched company object
07

Add error handling and logging

Configure what happens when enrichment fails:

  • Log failed companies to a separate list/table
  • Mark status as “Failed” with error reason
  • Skip and continue to next company (don’t break the batch)
  • Send alert if failure rate exceeds threshold (e.g., >10%)
08

Test the scheduled workflow

Run manually first to verify:

  • Companies are fetched from queue correctly
  • Lusha returns enriched data
  • Results write back to source successfully
  • Status updates work as expected
  • Failed enrichments are handled gracefully

Then enable the schedule and monitor the first few automated runs.

What to do next

  • Add priority scoring: Enrich high-value or active accounts first before processing the entire backlog
  • Build progress dashboards: Track enrichment coverage rate, API usage, and queue size over time
  • Layer in data refresh logic: Re-enrich companies older than 90 days to catch growth/changes
  • Add deduplication: Skip companies already enriched within the last X days to save API credits
  • Send completion reports: Slack/email summary after each batch (e.g., “Enriched 100 companies, 95 successful, 5 failed”)
  • Connect to multiple destinations: Write enriched data to both CRM and data warehouse simultaneously

The goal: Company enrichment doesn’t depend on someone remembering to run it. Set a schedule once, and your data stays fresh automatically—whether it’s 100 companies a day or 1,000 a week.

No FAQ items available at this time.

Ready to build this?

Get started with Lusha and set up this play in minutes.