B2B Sales Triggers - Hiring Surge, Funding, Press, Exec Changes
Pricing
from $10.00 / 1,000 company records
B2B Sales Triggers - Hiring Surge, Funding, Press, Exec Changes
B2B intent data aggregator. For a list of target companies, computes: hiring surge (LinkedIn delta), funding rounds, press mentions, executive changes, tech stack adoption, recent patent filings, customer mentions. Composite trigger score per company. For SDR teams.
Pricing
from $10.00 / 1,000 company records
Rating
0.0
(0)
Developer
Seibs.co
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 hours ago
Last modified
Categories
Share
B2B Sales Triggers
Intent-data aggregator for SDR teams. Eight public-web signals per company plus one composite trigger score - no paid databases, no CRM connectors.
What does B2B Sales Triggers do?
Feed it a list of target companies (mix of names and domains). For each company it runs eight independent intent detectors against public sources (LinkedIn jobs, TechCrunch RSS, Google News, SEC EDGAR 8-Ks, homepage HTML, crt.sh certificate transparency, PatentsView, Google web search) and returns a composite 0-1 trigger score with the raw evidence per signal. composite_trigger_score >= 0.6 flags a high-intent alert ready for SDR action.
Features
- Eight independent intent signals (any failing signal never blocks the others).
- Composite trigger score normalized by enabled-signal weight, so disabling a signal does not dilute the result.
top_triggersranks the firing signals descending by score - the SDR sees the "why" at a glance.- Server-side
min_trigger_scorefloor drops noise before emit. - Domain normalization to eTLD+1 + LinkedIn slug resolver with manual-override input for hard-to-resolve companies.
- Concurrency-controlled (1-8 companies in parallel) with per-request timeouts.
Use cases
- SDR / outbound teams prioritizing a daily call list out of a 10K-account TAM.
- RevOps / sales engineering enriching MQLs with intent context before queue assignment.
- Founders running founder-led sales who want a Monday-morning hit list.
- Lifecycle / customer-marketing teams looking for expansion signals on existing accounts.
- Competitive intel teams tracking funded competitors who are now hiring at scale.
FAQ
Q: Is this legal? A: Yes - every signal source is public-web data: LinkedIn jobs pages, TechCrunch RSS, Google News HTML, SEC EDGAR filings, company homepages, crt.sh certificate transparency logs, PatentsView's free public API, and Google web search. No paid databases, no scraped private endpoints.
Q: Why might a run fail?
A: (1) LinkedIn slug resolution failure when the company's slug differs from its display name - fix with linkedin_company_url_overrides. (2) Datacenter proxy rate-limiting - keep RESIDENTIAL with US country code. (3) Concurrency too high on a small TAM - drop to 2-4 for cleaner Google News results.
Q: How fresh is the data?
A: Live at crawl time. lookback_days controls how far back each signal looks (default 90), but the fetch itself is real-time. Funding news typically lands within hours of announcement; 8-K filings show within a day.
Q: Can I schedule this daily or weekly? A: Yes - daily for high-priority watchlists (named accounts you want fresh intent on), weekly for the broader TAM. Use Apify Schedules and feed the output into your SDR queue via webhook.
Q: How do I push results into a CRM?
A: The output is account-level intent enrichment - drop it onto leads in HubSpot, Salesforce, Pipedrive, or Apollo via Zapier/Make/n8n. composite_trigger_score makes a clean custom field for queue prioritization. Webhook the high-intent alerts straight to a Slack channel.
Q: How accurate is the trigger score?
A: It is a heuristic 0-1 composite of 8 independent public-web signals, normalized by the sum of enabled-signal weights. Treat >= 0.6 as a high-intent threshold (worth a manual look or auto-cadence trigger), >= 0.8 as drop-everything-and-call. It is not predictive ML - it is a transparent, explainable additive score where top_triggers always tells you why a company ranked where it did.
Q: Will this scrape Bombora / 6sense / ZoomInfo? A: No - public web only. We do not touch paid intent providers.
Q: How does PPE pricing actually work here? A: $0.01 per company processed (always), $0.02 per high-intent alert (composite >= 0.6), $0.005 per signal that scored >= 0.5. A typical 1000-account list is roughly $10 base plus alerts on the ~10-20% with meaningful intent.
Related Actors
- ../sec-edgar-intel/ - deeper 8-K, 10-K, S-1, and insider-trading parsing when SEC filings are your highest-signal source.
- ../reddit-topic-watcher/ - layer Reddit recommendation-request and alternative-seek leads on top of company-level intent.
- Pair with any of the 15 lead-finder actors (e.g.
home-services-lead-finder,houzz-contractor-leads,shopify-store-discovery,contract-heavy-smb-lead-finder) - those find the fit; this actor scores the intent. Run lead-finder first, feed the company list into this actor'scompaniesinput.
Integrations
- Zapier - push to HubSpot/Salesforce/Pipedrive/Apollo/Klaviyo
- Make.com - workflow automation
- n8n - self-hosted automation
- Apify webhooks - POST to your endpoint
- API + dataset export (JSON/CSV/Excel/XML)
- MCP / AI agents - call from Claude/GPT/LangChain
Signals
| Signal | What it means | Source |
|---|---|---|
hiring_surge | Open LinkedIn roles classified by department | LinkedIn /company/ |
funding | Recent round, amount, lead investors | TechCrunch + Crunchbase News RSS |
press_mentions | Recent news count + sentiment hint | Google News HTML search |
exec_change | C-suite arrivals + departures | SEC 8-K full-text + Google News fallback |
tech_stack_change | Marketing / sales / analytics SaaS detected on homepage | Homepage HTML + headers |
domain_changes | New subdomains + DNS snapshot | crt.sh certificate transparency + DNS |
patent_filings | Filings in last N days by assignee | PatentsView free API |
customer_mentions | Sites declaring "powered by / built with / using | Google web HTML search |
Composite scoring
funding 0.22hiring_surge 0.18exec_change 0.15press_mentions 0.10patent_filings 0.10tech_stack_change 0.10customer_mentions 0.08domain_changes 0.07
Score is normalized by the sum of weights of enabled signals, then clamped to [0, 1]. >= 0.6 = high-intent alert.
Input
See .actor/INPUT_SCHEMA.json. Sample:
{"companies": ["Stripe", "openai.com", "Anthropic"],"enabled_signals": ["hiring_surge", "funding", "press_mentions", "exec_change"],"lookback_days": 90,"min_trigger_score": "0.3","concurrency": 4,"use_apify_proxy": true,"apify_proxy_groups": ["RESIDENTIAL"],"apify_proxy_country": "US"}
Output
Sample output: ./.actor/sample-output.json — copy-paste-ready preview of real-looking records.
First record inline:
{"company_name": "Gravity Forms, Inc.","normalized_domain": "gravityforms.example","linkedin_url": "https://www.linkedin.com/company/gravity-forms-example","scraped_at": "2026-05-13T23:01:14Z","available": true,"reason": null,"triggers": {"hiring_surge": {"open_role_count": 38,"role_distribution": {"engineering": 18,"sales": 11,"marketing": 4,"ops": 2,"hr": 2,"other": 1},"surge_signal": true,"score": 0.92},"funding": {"latest_round_type": "Series C","latest_amount_usd": 65000000,"latest_date": "2026-04-22","investors": ["Insight Partners","Tiger Global","Bessemer Venture Partners"],"source_url": "https://example-news.com/gravity-forms-65m-series-c","score": 0.95},"press_mentions": {"mentions_count": 14,"top_articles": [{"title": "Gravity Forms raises $65M to expand enterprise SaaS","url": "https://example-news.com/gravity-forms-65m","date": "2026-04-22","sentiment_hint": "positive"},{"title": "Forms platform Gravity adds 80 engineers, signals enterprise push","url": "https://example-tech.com/gravity-hiring-surge","date": "2026-05-02","sentiment_hint": "positive"}],"keywords_matched": ["raises","expand","hiring"],"score": 0.78},"exec_change": {"departures": [],"arrivals": ["Maya Lindgren \u2014 Chief Revenue Officer (formerly Stripe)"],"source_filing_or_url": "https://www.linkedin.com/in/maya-lindgren-example","score": 0.71},"tech_stack_change": {"added": ["segment","snowflake","amplitude"],"removed_suspected": [],"score": 0.42},"domain_changes": {"new_subdomains": ["enterprise.gravityforms.example","trust.gravityforms.example"],"record_changes": [{"type": "MX","value": "aspmx.l.google.com"}],"score": 0.55},"patent_filings": {"recent_filing_count": 0,"cpc_clusters": [],"sample_titles": [],"score": 0.0},"customer_mentions": {"mention_count": 4,"mention_urls": ["https://example-press.com/zendesk-now-on-gravity"],"score": 0.32}},"composite_trigger_score": 0.81,"top_triggers": ["funding","hiring_surge","press_mentions","exec_change","domain_changes"]}
One record per company that passes the score floor:
{"company_name": "Stripe","normalized_domain": "stripe.com","linkedin_url": "https://www.linkedin.com/company/stripe","scraped_at": "2026-05-14T12:00:00Z","available": true,"triggers": {"hiring_surge": {"open_role_count": 248, "score": 0.91},"funding": {"latest_round_type": "Series I", "latest_amount_usd": 6500000000, "score": 0.85},"press_mentions": {"mentions_count": 42, "score": 0.66}},"composite_trigger_score": 0.78,"top_triggers": ["hiring_surge", "funding", "press_mentions"]}
Pricing
Pay-per-event:
$0.010per company processed (always charged).$0.020per high-intent alert (composite >= 0.6).$0.005per signal that scored >= 0.5.
A typical SDR-prioritized account costs roughly $0.02 - $0.06 to enrich. A list of 1000 accounts costs ~$10 base plus alerts and enrichments on the ~10-20% with meaningful intent.
FAQ
Q: Do I need a residential proxy? A: For LinkedIn jobs and Google News yes - datacenter IPs get challenged. RESIDENTIAL with US country code is the default.
Q: Why is tech_stack_change.removed_suspected always empty?
A: Detecting removals requires a prior snapshot we do not store. The current-state stack is detected; you can run the actor weekly and diff stack arrays on your side.
Q: Will this scrape Bombora / 6sense / ZoomInfo? A: No - public web only. We do not scrape paid intent providers.
Q: A company I expect to score high came back with 0.0. Why?
A: Most often: LinkedIn slug resolution failed because the company's slug differs from its name. Use linkedin_company_url_overrides to pin the slug. Also verify proxy session is not being rate-limited.
Support
Open an issue on the actor's GitHub or contact via Apify Store. Include the run ID and input config.
Changelog
See ./CHANGELOG.md.