What is a workflow?
A workflow is a recipe of steps that run in order on your selected sheet range. Each step takes the previous step's output as input. The typical shape is verify, then scrape, then AI, with filters that pass only successful rows down the chain.
Other GTM tools make you run verification, scraping, and AI as three separate jobs. With ReplyLabs it's one pipeline, one cost preview, one bill at the end.
ICP Enrichment, end to end
ICP Enrichment is the canonical template. It takes a list of company URLs (or LinkedIn /company/ URLs) plus contact emails, and returns firmographics and a tier score.
Step 1. Verify. Every email runs through No2Bounce. Rows marked deliverable or catch_all proceed. Rows marked undeliverablestop here, you don't pay for any later step on them.
Step 2. Scrape. Two parallel scrapes per row: the company website and the LinkedIn /company/ page. Both go through your Apps Script over Google IPs, so LinkedIn treats the traffic like a normal Sheets user.
Step 3. AI Firmographics. GPT-4o mini reads both scrapes and writes columns for industry, employee range, HQ, and a one-sentence value prop.
Step 4. AI ICP Score. Same model reads the firmographics and assigns a tier from TIER_1 to NOT_ICP, with a one-sentence reason.
For 711 rows the cost preview lands around $7.18 and the run completes in roughly three to five minutes.
How row-level filtering works
Between steps, ReplyLabs reads the output of the previous step and decides which rows continue. Three things determine whether a row is dropped:
- Hard failures. Verify returned
undeliverable. Scrape hit a 4xx or 5xx. AI returned an empty string. The row stops, no later step is billed. - Template rules. The ICP Enrichment template explicitly drops
undeliverableemails before scraping. You don't pay to scrape contacts who can't receive an email anyway. - Custom rules in the workflow editor. Add a filter step yourself, for example "only continue if the AI score is TIER_1 or TIER_2."
The point of filtering is simple: you should only pay for rows that have a chance of paying you back.
Cost preview, billing, and cancellation
Before you click Run, the sidebar shows a per-step cost breakdown for your exact row count. No after-the-fact surprises. The per-operation rates are:
- Verify: $0.01 per email checked.
- Scrape (Jina): $0.005 per URL.
- Scrape (Firecrawl): $0.0075 per URL.
- AI: provider raw cost x 1.25, plus a $0.0025 base fee per succeeded row.
Only succeeded rows are charged. A row that errors halfway through the AI step is not billed for that AI call, but is billed for the verify and scrape steps that already returned data.
Cancellation stops the queue but keeps what already ran. Hit cancel mid-batch and the rows that already completed are billed normally. The remaining rows are skipped, with no retry fee. You can re-run the same workflow on the skipped rows later.
Bring your own key
On Pro, your AI key is BYOK: the AI step runs at your provider's raw rate with no platform markup and no per-row base fee. Verify and scrape stay metered at the rates above.
On Scale, BYOK extends to verification and scraping too. Bring keys for No2Bounce, Jina, and your AI provider and you only pay the upstream providers, plus the per-seat plan fee.
Available templates
Templates are included on every plan, no paywall. The current set:
- ICP Enrichment. Verify, scrape company website and LinkedIn /company/, AI firmographics, AI ICP score.
- A/B Prompt Testing. Run two prompts side by side on the same rows. Compare outputs in adjacent columns.
- Workflow editor. Build your own pipeline in the dashboard. Add steps, drag to reorder, configure filters between them.
Where to find workflows
Inside Google Sheets, open the sidebar with Extensions → ReplyLabs → Open sidebar and switch to the Workflows tab. Pick a template, map your sheet columns to the inputs the template expects, review the cost preview, and click Run.
Workflows that you build or edit in the dashboard sync back to the sidebar automatically. The dashboard is the right place for any non-trivial pipeline construction. The sidebar is the right place to run them.