Daily decision maker roster from target accounts
Every weekday at 6am, refresh a sheet of VPs, Directors, and Heads at your target accounts so your reps wake up to a current contact list.
Build a code workflow that runs on a cron trigger every weekday at 6am local time and refreshes a decision maker roster in a Google Sheets spreadsheet.
Inputs the workflow should accept: the Google Sheets spreadsheet ID, the name of the source tab (default "Accounts") with two columns (company name in column A, website domain in column B), the name of the output tab (default "Decision Makers"), and a hard cap on employees per company (default 7, allowed range 5 to 10).
Step 1. Use Google Sheets Get Values to read the Accounts tab range (for example Accounts!A2:B). Each row gives a company name and a website domain.
Step 2. For each account row, call Coresignal Enrich Company by Website (Multi-source) with the website domain to resolve the company to a Coresignal company ID. If the enrich call returns no match, skip the row and continue.
Step 3. For each resolved company ID, call Coresignal Search Employees (ES DSL) (Multi-source) with a fixed Elasticsearch DSL query held verbatim in the node. The query is a bool with a must clause that term-filters on the company ID (active employment) and a should clause that regex-matches the current job title against the patterns VP, Director, Head, Chief, and Founder (case insensitive). Set items_per_page to the configured cap. Sort by score so the most relevant titles come first.
Step 4. Take the top N employee IDs from the search result (N = the configured cap, default 7). For each ID, call Coresignal Collect Employee by ID (Multi-source) to pull the full profile. Extract: full name, current job title, location, and the professional-network shorthand URL.
Step 5. Build one output row per person with these columns in this order: source_company, source_website, full_name, current_title, location, profile_url, fetched_on (today's date in ISO format), and dedupe_key. The dedupe_key is the source company slug concatenated with the profile shorthand (for example "acme-corp::jane-doe"). This is the stable key used to dedupe across reruns.
Step 6. Before appending, read the existing Decision Makers tab and collect the set of dedupe_keys already present. Drop any new row whose dedupe_key already exists, so reruns do not create duplicates. Then call Google Sheets Append Values on the Decision Makers tab with the remaining new rows.
Keep the pipeline deterministic. The ES DSL query template is fixed text in the workflow, not generated at runtime. The per-company cap is a hard ceiling so Coresignal credit spend scales predictably with the number of accounts in the sheet. Handle Coresignal 404 (company or employee not found) and 402 (insufficient credits) gracefully: log and skip the row, do not fail the whole run.
Use Google Sheets as the integration for both the read and the append, and Coresignal as the integration for company enrich, employee search, and employee collect.
Additional information
What does this prompt do?
- Reads your list of target accounts from a Google Sheets tab so you only have to maintain one source of truth.
- Looks up each company in Coresignal and pulls the top decision makers, filtered to senior titles like VP, Director, Head, Chief, and Founder.
- Writes a fresh row per person to a Decision Makers tab with name, current title, location, profile link, source company, and the date we pulled them.
- Runs every weekday morning and dedupes cleanly across reruns so the sheet stays clean instead of ballooning.
What do I need to use this?
- A Google account with edit access to the spreadsheet that holds your target accounts.
- A Coresignal account with API access on a plan that includes company enrichment and employee search.
- A spreadsheet with an Accounts tab containing two columns: company name and website domain.
How can I customize it?
- Change the schedule. Move it to once a week, twice a day, or any time zone your team wakes up in.
- Tune the title filter. Add or remove keywords like Owner, Partner, or Manager to match how your buyers actually title themselves.
- Set the cap per company. Pull the top 5 names for a tight list, or stretch to 10 if you want broader coverage per account.
- Point it at a different tab. Use the same pattern for a competitor watch list, an event attendee list, or a churned account win-back list.
Frequently asked questions
How does the deduplication work across days?
Will this burn through my Coresignal credits?
Can I change which titles count as a decision maker?
What if a company is not in Coresignal?
Do I need a separate spreadsheet, or can I use one I already have?
Related templates
Wake up to a fresh decision maker list.
Connect Google Sheets and Coresignal once, and Geni rebuilds your target account contact list every weekday at 6am.