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: closed won signal led pipeline clay

What you need before you start

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

Inputs

  • demo_vanta_segment_status (string, required) — HubSpot company property: closed_won_seed or closed_lost_suppression. Rename to your own property.
  • demo_vanta_why_we_won (string, required) — HubSpot company property: why the deal was won, in the customer's terms.
  • demo_vanta_winning_signal (string, required) — HubSpot company property: one controlled signal value, e.g. public_sector_tender.
  • demo_vanta_meddpic_summary (string, optional) — HubSpot company property: MEDDPICC context used by the Claygent.
  • demo_vanta_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.

Deploy it to Clay in one command

Not a click-a-button-in-the-browser deploy — one command in a terminal, using Clay’s own official CLI. Download both files below into the same folder, then run:

python3 install_clay_workflow.py.txt clay-closed-won-lookalikes-tender-signal.clay-workflow.json --set audf_batch=<id> --set audf_why_we_won=<id> --set audf_qualification_status=<id> --set audf_signal_type=<id> --set audf_signal_summary=<id> --set audf_evidence_url=<id> --set audf_evidence_date=<id> --set audf_contract_value=<id> --set audf_contracting_authority=<id> --set audf_confidence_score=<id>

That rebuilds every step of this workflow inside your own Clay workspace, as an unpublished draft. Nothing goes live and nothing touches your CRM until you review it and turn it on yourself.

Before you run it: you need Clay’s official CLI (Terracotta) installed and signed in to your workspace, plus Python 3 on your machine. If that's not your thing, our fractional GTM engineering team can deploy 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

  • The HubSpot data in the tested build is synthetic and uses demo_vanta_* property names; rename to your own properties.
  • Ten Audiences company fields must exist and be passed to the installer with --set audf_*=<field id>.
  • 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