Send Google Sheets leads to Saleshandy sequences
Drain your leads spreadsheet into a Saleshandy sequence every 30 minutes, with the import result written back to each row.
Integrations
Saleshandy
Google Sheets
Type
Categories
- Sales
- Operations
Build a code workflow that continuously drains a Google Sheets tab of new leads into a specific Saleshandy sequence.
Trigger: cron, every 30 minutes.
Configuration inputs on the workflow: the Google Sheets spreadsheet ID, the tab (sheet) name and range that holds the leads, the Saleshandy sequence ID, and the Saleshandy step ID that new prospects should be added to.
Step 1: Call Google Sheets Get Values against the configured spreadsheet and range. Expect columns: first name, last name, email, company, LinkedIn URL, and Status. Skip the header row.
Step 2: Filter the returned rows down to ones where the Status column is blank or equals "pending" (case-insensitive). If there are no matching rows, exit the run cleanly.
Step 3: For each matching row, call the Saleshandy Import Prospects into Sequence operation, passing the configured sequence ID and step ID and mapping the sheet columns onto the prospect fields (first name, last name, email, company name, LinkedIn URL). Collect the returned requestId for each row.
Step 4: For each requestId, poll Saleshandy Get Prospect Import Status until the async import job reports completion. Back off between polls and cap the total wait so a stuck job cannot hang the run.
Step 5: Map each per-prospect status code returned by Saleshandy onto a human label: 10000 becomes "imported", 10600 becomes "duplicate", 10100 becomes "invalid email", 12000 becomes "already in another sequence", and anything else becomes "error".
Step 6: Write the labels back to the sheet using Google Sheets Batch Update Values, targeting the Status column for each processed row. Use USER_ENTERED as the value input option so the cells display as plain text.
The Status column doubles as the idempotency marker, so the next run naturally skips rows that were already processed. Do not delete or reorder rows in the sheet. Log a short per-run summary (rows scanned, rows imported, rows duplicate, rows invalid, rows error).
What it does
- Checks your leads spreadsheet every 30 minutes for new rows that have not been sent yet.
- Adds each new lead as a prospect in the Saleshandy sequence and step you choose.
- Waits for Saleshandy to finish processing the import, then writes the result back to the row.
- Marks each row as imported, duplicate, invalid email, or error so your team can see exactly what happened.
What you’ll need
- A Google account with access to the leads spreadsheet you want to drain.
- A Saleshandy account with an active sequence you want to load prospects into.
- A leads tab with columns for first name, last name, email, company, LinkedIn URL, and a Status column.
How to customize it
- Change how often it runs (every 15 minutes, hourly, once a day).
- Point it at a different sequence or a different step inside a sequence.
- Add or remove columns to match how your team tracks leads, or filter for a specific tag or owner before sending.
Use cases
- Data Sync
- Email Automation
- Lead Enrichment