Quick Overview
This workflow runs daily or via webhook to find new LinkedIn job postings via RapidAPI, deduplicate companies against a Postgres database, enrich decision-maker contacts with Seamless.ai, verify emails with BounceBan, and push deliverable leads into PlusVibe while logging all outcomes back to Postgres.
How it works
- Runs every day at 8:00 AM or starts from an incoming webhook request with optional search overrides.
- Queries the LinkedIn Job Search API on RapidAPI, normalizes job records, and keeps one job per company domain.
- Compares company domains against a Postgres contacts table to keep only new companies, then inserts the new job records into a Postgres jobs_raw table.
- Searches Seamless.ai for up to five CEO/founder-level contacts per new company and runs Seamless.ai research to retrieve contact details.
- Reattaches job context to each contact, drops duplicates by email, and creates placeholder rows for companies where no contacts are found.
- Verifies available emails with BounceBan and routes only deliverable addresses to PlusVibe to add the lead to the configured workspace and campaign.
- Logs both pushed and skipped contacts (including PlusVibe status and BounceBan verdict) into the Postgres contacts table.
- Runs a daily 7:30 AM cleanup that deletes Postgres contact rows where the PlusVibe push errored so they can be retried on the next run.
Setup
- Add credentials for RapidAPI (HTTP Header Auth), Seamless.ai (API key), BounceBan (API key), PlusVibe (HTTP Header Auth), and Postgres.
- Create the required Postgres tables/columns (public.jobs_raw and public.contacts) and ensure company_domain is stored so the workflow can deduplicate and log results.
- Update the search filters, PlusVibe workspace/campaign IDs, and webhook shared secret in the Configure Search Settings code.
- If using the webhook trigger, copy the production webhook URL and send POST requests to /job-capture-agent with the required secret and any override parameters.
- Adjust the schedule times for the daily run (8:00 AM) and cleanup run (7:30 AM) to match your timezone and operations.