Clay workflows / Track signals

Revenanas Clay workflow guide

How to find closed-won lookalikes showing a live tender signal in Clay

Pull why-we-won context from HubSpot, find lookalikes, retrieve cited official tender evidence and let a Claygent qualify each account against the win reason.

CRM inputClay workflow

Turn the reason you won deals in HubSpot into a qualified list of lookalike accounts showing the same public signal now, each with a cited official source.

Manual -> HubSpot closed-won lookup -> HubSpot closed-lost lookup -> Derive win pattern -> Find 10 lookalikes -> Perplexity per lookalike -> Claygent per lookalike -> Upsert to Clay Audiences

Look up closed-won HubSpot companies and their why-we-won, winning-signal and MEDDPICC fields, plus closed-lost companies as suppressions. Pass the won domains to Clay's company lookalike action. For each lookalike, retrieve official procurement evidence with Perplexity restricted to government sources, then let a Claygent return exactly Qualified, Not qualified, Unclear or Suppressed against the win reason. Write every decision to Clay Audiences by domain.

A manual trigger feeds two HubSpot lookups and one deterministic code step, a Clay lookalike search, then Perplexity retrieval and a Claygent decision run once per lookalike, ending in an Audiences upsert.

Flow: Manual -> HubSpot closed-won lookup -> HubSpot closed-lost lookup -> Derive win pattern -> Find 10 lookalikes -> Perplexity per lookalike -> Claygent per lookalike -> Upsert to Clay Audiences

Read the full walkthrough, with the runs and what went wrong: How to turn closed-won deals into a signal-led pipeline in Clay

What you need before you start

Set the inputs and ownership rules before you connect live systems.

Inputs

  • segment_status (string, required) — HubSpot company property: closed_won_seed or closed_lost_suppression. Rename to your own property.
  • why_we_won (string, required) — HubSpot company property: why the deal was won, in the customer's terms.
  • winning_signal (string, required) — HubSpot company property: one controlled signal value, e.g. public_sector_tender.
  • meddpicc_summary (string, optional) — HubSpot company property: MEDDPICC context used by the Claygent.
  • clay_domain (domain, required) — HubSpot company property holding the domain Clay seeds from.

Expected outputs

  • qualification_status (string, required) — Qualified, Not qualified, Unclear or Suppressed.
  • signal_summary (string, optional) — Buyer-safe sentence of at most 18 words, Qualified rows only.
  • evidence_url (url, optional) — Direct official procurement notice URL.
  • contracting_authority (string, optional) — Public body named in the notice.
  • evidence_date (string, optional) — Notice or award date.
  • contract_value (string, optional) — Value shown by the notice.
  • confidence_score (number, required) — 0 to 100.

Step 1

Pull closed-won win context from HubSpot

Read seed domains and the three win fields at run time, not from a stale export.

Configuration: {"action": "hubspot-lookup-object", "filter": "segment status = closed_won_seed"}

Step 2

Pull closed-lost suppressions from HubSpot

Carry lost domains through the run so they can never qualify.

Configuration: {"filter": "segment status = closed_lost_suppression"}

Step 3

Derive the win pattern

Deduplicate and join the win fields into one context block with a deterministic code step.

Configuration: {"node": "code"}

Step 4

Find 10 company lookalikes

Expand the seed into candidates before spending research credits.

Configuration: {"action": "find-company-lookalikes-v2", "limit": 10, "employees": "50-2000", "countries": 13, "live_domain": true}

Step 5

Search official tender notices per lookalike

Retrieve citable evidence only from government procurement sources, with an identity header that survives no-result answers.

Configuration: {"action": "perplexity-chat-completions", "model": "sonar", "domains": ["find-tender.service.gov.uk", "contractsfinder.service.gov.uk", "ted.europa.eu"]}

Step 6

Qualify evidence against why we won with a Claygent

Judge only the retrieved evidence; split buyer-safe copy from internal fields.

Configuration: {"node": "agent", "statuses": ["Qualified", "Not qualified", "Unclear", "Suppressed"]}

Step 7

Upsert every decision to Clay Audiences

Keep rejected accounts and reasons, not just winners.

Configuration: {"action": "upsert-audiences-record", "lookup": "domain", "fields": 10}

How to test the Clay workflow

We built this in Clay and ran it against 2 real scenarios to confirm it behaves exactly as described. Here’s what we checked, and what it took to get there.

  • End-to-end discovery — confirmed working as expected.
  • Fresh-reset discovery — confirmed working as expected.

We last ran this in Clay on 2026-09-23, and every scenario worked as expected. It cost nothing to test — zero Clay credits used.

What we had to fix along the way

  • The workspace account-agent tool had no internet retrieval, so retrieval (Perplexity) and decision (Claygent) are separate steps.
  • An early prototype hard-coded tender evidence in a code step; its output looked correct. Only reading the graph caught it.
  • The Claygent can qualify a notice where a reseller, not the named product's vendor, is the supplier of record. Verify the supplier party before use.
  • Graph exports are not valid node-create input: code-node output schemas and action parameter catalogs had to be normalized for the installer.

Install it in your Clay workspace

One download has everything: the workflow, an installer and a START-HERE guide.

  1. Download the zip and unzip it.
  2. Open START-HERE.txt. It lists the one-time setup, such as Clay's CLI and any CRM fields.
  3. Double-click Install (Mac).command or Install (Windows).bat.

The installer checks you're signed in to Clay, asks before changing anything and adds the workflow as an unpublished draft. Nothing runs and nothing is sent until you publish it.

Prefer a hand? Our fractional GTM engineering team can install it for you.

Guardrails and limitations

Guardrails

  • Suppressed domains are decided before any evidence is considered.
  • Qualified requires a direct official notice naming the exact company as supplier; ambiguous identity returns Unclear.
  • Check the supplier party on every cited notice before quoting it: resellers can appear on notices that name another vendor's product.
  • signal_summary never contains authority, value, source, CRM or qualification language.
  • After resets, check Audiences record counts for duplicates before activation reads the segment.

Current limitations

  • You add six company properties in HubSpot (listed in START-HERE.txt); the installer creates the ten Clay Audiences fields for you.
  • The HubSpot data in the tested build is synthetic and uses * property names; rename to your own properties.
  • Retrieval covers UK and EU procurement portals only.
  • Credits are spent per lookalike on retrieval and the Claygent; filter hard in the lookalike step.

Common questions

Can Clay find lookalike companies from HubSpot closed-won deals?

Yes. Look up closed-won companies with Clay's HubSpot lookup action, pass their domains to the company lookalike action, and suppress closed-lost domains before any qualification step.

Why use Perplexity and a Claygent instead of one AI step?

Retrieval and judgement fail in different ways. Retrieval restricted to official sources returns citable evidence, and a Claygent judging only that evidence cannot make up a source.

Does this only work for tenders?

No. Any win reason tied to a public, dated event you can retrieve and cite works the same way: a regulation deadline, funding, a security incident, a leadership change.

Sources

Want a fractional GTM engineering team to build this in your real stack?

We map the rules, build the Clay workflow, connect your CRM, test every branch and leave your team with a system they can operate.

Explore the relevant service