GTM Signals Aggregator avatar

GTM Signals Aggregator

Pricing

from $120.00 / 1,000 results

Go to Apify Store
GTM Signals Aggregator

GTM Signals Aggregator

Combines GTM hiring signals and tech stack detection into one flat Clay-ready row with a composite signal score.

Pricing

from $120.00 / 1,000 results

Rating

0.0

(0)

Developer

Mamba Labs

Mamba Labs

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

18 hours ago

Last modified

Share

Version: 0.2.0

One call. Both GTM signals. Hiring intent plus tech stack in a single flat row.

This actor takes a company domain, runs GTM Hiring Signal Scraper and GTM Tech Stack Signal Scraper in parallel, merges both outputs into one flat Clay-ready row, and adds a composite signal score with a plain-English summary.


What's new in v0.2.0

  • composite_score (0-100). Numeric signal score alongside the composite_signal string. Set your own threshold in Clay filter conditions instead of matching against "high" / "medium" / "low" strings.
  • recommended_action field. "priority outreach" / "nurture" / "deprioritize" -- derived directly from the composite score. One less interpretation step in your Clay workflow.
  • run_time_ms output field. Wall-clock milliseconds for the full run. We run two actors in parallel and merge in one call. Faster than a 7-sub-actor pipeline at the same $0.12 price point.
  • explain_mode input (default: false). Set to true and gtm_signal_summary becomes a 3-5 sentence agent-ready briefing: signal breakdown, composite score, recommended action, and a personalization hook. Pass it directly to Claude or GPT-4 as lead context. Built for MCP workflows.
  • uses_marketo boolean. Marketo now appears as a first-class boolean in the merged output, consistent with Actor 2 v0.2.0.

Migrating from v0.1.0

uses_linkedin_sales_nav removed. If you have a Clay column with a filter condition on this field, remove the filter. The field no longer exists in the output. This removal is inherited from Actor 2 v0.2.0.

composite_signal string values are unchanged. If you filter on "high" / "medium" / "low", no update needed. The underlying derivation is now numeric but the string output is identical.


Who should use this

Use this actor if you want both signals in one call.


The math

Running both actors separately costs $0.07 + $0.07 = $0.14 per company.

This actor runs both in parallel and returns a single merged row at $0.12 per company. That is a 14% saving, plus you get a composite signal score and a plain-English summary field on top.


Input

FieldTypeRequiredNotes
company_domainStringYesBare domain, e.g. stripe.com. Strips https://, www., and trailing paths automatically.
include_summaryBooleanNoInclude a plain-English gtm_signal_summary field. Default: true.
explain_modeBooleanNoSwitches gtm_signal_summary to a 3-5 sentence agent-ready briefing. Default: false.

Example input:

{
"company_domain": "hubspot.com",
"include_summary": true
}

Output

One flat row per domain. All 28 fields present in every result. Null over missing keys. No nested objects.

Composite fields (added by this actor)

FieldTypeDescription
company_domainStringEchoed from input
composite_signalStringhigh / medium / low
composite_scoreIntegerNumeric signal score 0-100. Derived from hiring and tech stack signals combined.
recommended_actionString"priority outreach" / "nurture" / "deprioritize" -- derived from composite_score.
gtm_signal_summaryStringPlain-English 1-2 sentence summary of combined signals. Omitted if include_summary is false.

Composite signal logic:

  • high: GTM hiring detected AND CRM or sequencer detected
  • medium: GTM hiring OR tooling detected, but not both
  • low: No signals on either side

Hiring signal fields (from GTM Hiring Signal Scraper)

FieldTypeDescription
gtm_hiring_signalBooleanTrue if any GTM role detected
signal_strengthStringhigh / medium / low
gtm_role_countIntegerNumber of GTM roles detected
top_gtm_roleStringHighest-tier role found
gtm_roles_detectedStringComma-separated matched roles
most_recent_posting_dateStringISO date of most recent GTM posting
ats_platformStringgreenhouse / lever / ashby / workday / rippling / none
career_page_urlStringDirect link to career page

Tech stack fields (from GTM Tech Stack Signal Scraper)

FieldTypeDescription
crm_detectedStringhubspot / salesforce / pipedrive / zoho / none
seq_tool_detectedStringoutreach / salesloft / apollo / instantly / lemlist / reply / none
uses_hubspotBoolean
uses_salesforceBoolean
uses_clayBoolean
uses_apolloBoolean
uses_outreachBoolean
uses_gongBoolean
uses_zoominfoBoolean
uses_driftBoolean
uses_intercomBoolean
uses_marketoBooleanMarketo detected (from Actor 2 v0.2.0)
marketing_automation_detectedStringmarketo / pardot / hubspot / eloqua / none
gtm_tool_countIntegerCount of detected GTM tools
tech_stack_signalStringhigh / medium / low

Run metadata

FieldTypeDescription
actor1_errorBooleanTrue if hiring signal scraper failed. Tech stack fields still populated.
actor2_errorBooleanTrue if tech stack scraper failed. Hiring signal fields still populated.
run_time_msIntegerWall-clock milliseconds from API call start to result push.
run_dateStringISO timestamp of run

Sample output

{
"company_domain": "hubspot.com",
"composite_signal": "high",
"gtm_signal_summary": "Actively hiring GTM roles and running Salesforce. Strong buying signal.",
"gtm_hiring_signal": true,
"signal_strength": "high",
"gtm_role_count": 5,
"top_gtm_role": "VP Sales",
"ats_platform": "greenhouse",
"crm_detected": "salesforce",
"seq_tool_detected": "outreach",
"uses_hubspot": false,
"uses_salesforce": true,
"uses_outreach": true,
"tech_stack_signal": "high",
"actor1_error": false,
"actor2_error": false,
"run_date": "2026-04-07T12:05:41.000Z"
}

Clay integration

Add this actor as an HTTP request enrichment column in any Clay table.

  1. In your Clay table, add a column: Add Enrichment > HTTP API.
  2. Set Method to POST.
  3. URL: https://api.apify.com/v2/acts/mambalabs~gtm-signals-aggregator/run-sync-get-dataset-items?token=YOUR_TOKEN
  4. Body:
{
"company_domain": "{{domain}}"
}
  1. Map output fields to columns using dot notation, e.g. {{response.composite_signal}}.

Each row costs $0.12 and returns all 28 fields. No prompt engineering. No Claygent credit burn.

Compare: a Claygent column researching tech stack burns 3-5 credits per row ($0.015-0.025 on Clay's standard plan) and requires a custom prompt. This actor returns structured, consistent output at $0.07 per signal type with zero prompt work.


Pricing

$0.12 per result.

Running Actor 1 ($0.07) and Actor 2 ($0.07) separately costs $0.14. Actor 3 runs both in parallel and returns the merged result at $0.12, saving 14% and adding composite scoring, recommended action, run time tracking, and explain_mode on top.

At the same $0.12 price as competing multi-signal pipelines, Actor 3 focuses narrowly on GTM qualification signals and returns results in seconds, not minutes.


MCP and AI Agent Usage

Actor 3 is registered as an MCP server tool. Call it directly from Claude, GPT-4, or any MCP-compatible client via mcp.apify.com.

Set explain_mode: true and pass the gtm_signal_summary output directly to your agent as lead context. The briefing includes hiring signals, tech stack signals, a composite score, and a recommended action. No post-processing required.

Example agent prompt: "Here is the GTM signal briefing for this account: [gtm_signal_summary]. Draft a personalized first-touch email for this lead."


Known limitations

  • Hiring signal detection covers Greenhouse, Lever, Ashby, Workday, and Rippling ATS platforms. Companies using iCIMS or other platforms return no hiring data.
  • Tech stack detection reads public-facing scripts and network calls. Tools loaded server-side or behind auth walls may not appear.
  • If one sub-actor fails, the other's fields still populate. Check actor1_error and actor2_error flags if any fields are null.
  • Each run calls both sub-actors via the Apify API. Sub-actor cold start times can affect total run duration. Typical runs complete in 30-60 seconds.


Built by Mamba Labs.