# B2B Trigger Event Radar: Funding, Hiring & Launch Signals (`atlasdean/b2b-trigger-event-radar`) Actor

Scan target accounts for live buying triggers (funding & M\&A, exec hires, launches, hiring sprees, compliance/security, expansion) with a 1-10 priority score and a tactful why-now hook. Quiet accounts are free.

- **URL**: https://apify.com/atlasdean/b2b-trigger-event-radar.md
- **Developed by:** [Jonny Dean](https://apify.com/atlasdean) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $50.00 / 1,000 account with active triggers

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## B2B Trigger Event Radar: Funding, Hiring & Launch Signals

**Scans your target accounts for live buying signals (funding and M\&A, exec hires, product launches, hiring sprees, compliance/security events, expansion) and returns a dated trigger, a 1–10 priority score, and a tactful "why reach out now" hook. Quiet accounts are free.**

Built for SDRs, AEs, ABM/RevOps teams, agencies, and Clay users who want sales intelligence on *which accounts to work this week*.

### Who it's for

- **Clay users** who want a cheap, live trigger column next to their enrichment waterfall (call it through Clay's HTTP API / Apify integration)
- **SDRs and AEs** prioritizing named accounts each week
- **ABM and RevOps teams** who need signal-based account scoring
- **Agencies** running signal-based outbound for clients

### What you get for each company

| Field | What it is |
|---|---|
| `company_name`, `domain` | The account that was scanned |
| `active_trigger_detected` | `true` if a qualifying, verifiable event was found |
| `primary_trigger_category` | `funding_mna`, `exec_hire`, `product_launch`, `hiring_spree`, `regulatory_or_security`, `expansion`, or `none` |
| `trigger_summary_with_date` | What happened and roughly when |
| `trigger_date`, `trigger_source_url` | Date of the event and a source link |
| `account_priority_score` | 1–10: how strongly the trigger suggests reaching out now for your offer |
| `why_reach_out_now_hook` | A one-sentence opener. It stays tactful and never gloats about breaches or layoffs. |
| `charged` | `false` for quiet accounts (no charge) |
| `cached_result` | `true` if served from the 24-hour cache |

### How to use it

1. Add companies as `{"company": "...", "domain": "..."}`. The domain is optional but improves accuracy.
2. Pick the trigger types you care about (all are selected by default).
3. Describe your offer so the score and hook match your pitch.
4. Sort by `account_priority_score` and work the top of the list.

#### Example input

```json
{
  "companies": [
    { "company": "Ramp", "domain": "ramp.com" },
    { "company": "Vanta", "domain": "vanta.com" }
  ],
  "target_trigger_types": ["funding_mna", "exec_hire", "product_launch", "hiring_spree"],
  "sender_offer_context": "Outsourced RevOps and CRM automation for fast-growing B2B teams",
  "use_cache": true
}
```

### Example output

Real results from test runs on Oct 21–22, 2026 (offer: outsourced RevOps and CRM automation), shortened for display:

| Company | Trigger | What happened | Priority | Charged |
|---|---|---|---|---|
| Ramp | `funding_mna` | Raised $1.85B at a $60B valuation, Oct 15, 2026 ([TechCrunch](https://techcrunch.com/2026/10/15/ramp-reaches-60b-valuation-as-it-pushes-deeper-into-ai/)) | 9 | yes |
| Notion | `product_launch` | Major Notion AI upgrades: rebuilt Agents with computer/browser use, BYOK, new credit system, Oct 19, 2026 ([release notes](https://www.notion.com/releases/2026-10-19)) | 8 | yes |
| Vercel | `product_launch` | Ship 2026 announcements incl. Python on Vercel GA and Vercel Drives, Oct 15, 2026 ([blog](https://vercel.com/blog)) | 8 | yes |
| A small regional supplier | `none` | No active trigger found | 2 | **no** |

Example hook (Ramp): *"With Ramp's accelerated growth following its recent funding round, supporting efficient RevOps and CRM scaling could help maximize their momentum."*

### Pricing

Pay-per-event: **$0.05 per company with an active trigger** (event `account-scored`, $50 per 1,000 triggered accounts), plus a negligible Apify start fee. **No charge when nothing real is found**: quiet companies (`primary_trigger_category: none`) and failed lookups are returned free. Use **maximum cost per run** to cap spend.

Free Apify plan users can scan up to 3 companies per run.

### Using it from Clay

Add an **HTTP API** enrichment (or the Apify integration) that calls this Actor's `run-sync-get-dataset-items` endpoint with `{"companies":[{"company":"{{Company}}","domain":"{{Domain}}"}]}`. Then map `primary_trigger_category`, `account_priority_score`, and `why_reach_out_now_hook` into columns. Since quiet rows are free, you can run it across your whole TAM.

### Pairs well with

- **[Live X & Web B2B Lead Enricher + Cold Email Icebreaker](https://apify.com/atlasdean/b2b-grok-lead-enricher)**: once you know which accounts to work, enrich the people there with a personalized, recent-activity icebreaker ($0.10 per enriched lead).
- **[Journalist, Podcast & Creator Pitch Dossier Generator](https://apify.com/atlasdean/media-guest-pitch-dossier)**: research what a journalist, podcaster or creator covered recently and get a tailored pitch subject line and hook ($0.10 per dossier).

### Integrations

- **Apify API**: start runs and fetch results with the REST API or the `run-sync-get-dataset-items` endpoint (JavaScript and Python clients available).
- **Zapier, Make, and n8n**: use the official Apify apps/nodes to run this Actor from a workflow and push results to your CRM, sheet, or email tool.
- **Webhooks**: get notified when a run finishes and pull the dataset automatically.
- **AI agents**: AI assistants and agents can call this Actor as a tool through the **Apify MCP server**.
- **Exports**: download results as JSON, CSV, Excel, or HTML from the Console.

### Tips for better results

- Always pass the domain. It removes ambiguity between companies with similar names.
- Narrow the trigger types to the ones that predict *your* deals.
- Re-run weekly. The 24-hour cache prevents double billing within a day.
- Security or regulatory triggers are reported so you have the context, but the hook deliberately avoids mentioning them. Check the summary before referencing anything sensitive.

### FAQ

**Where does the data come from?** Public news, press releases, company sites, job boards, and X posts, researched live at run time.

**How recent are triggers?** It looks back 90 days and prefers the last 30, with each trigger dated.

**Will it make things up?** It's instructed to report only events it actually found. With no evidence, the account is marked `none` and not charged.

**Is it compliant?** It only uses publicly available information. You're responsible for following anti-spam laws (CAN-SPAM, GDPR, etc.) in your outreach.

### Support

Found a bug or want a feature? Open an issue on the Actor's **Issues** tab and I'll respond quickly.

# Actor input Schema

## `companies` (type: `array`):

Array of {"company", "domain"} objects. Domain is optional but improves accuracy.

## `target_trigger_types` (type: `array`):

Which trigger events count. Defaults to all.

## `sender_offer_context` (type: `string`):

What you sell, so the priority score and hook match your pitch.

## `use_cache` (type: `boolean`):

Reuse results from the last 24 hours for identical inputs so you don't pay twice.

## Actor input object example

```json
{
  "companies": [
    {
      "company": "Ramp",
      "domain": "ramp.com"
    }
  ],
  "target_trigger_types": [
    "funding_mna",
    "exec_hire",
    "product_launch",
    "hiring_spree",
    "regulatory_or_security",
    "expansion"
  ],
  "sender_offer_context": "Outsourced RevOps and CRM automation for fast-growing B2B teams",
  "use_cache": true
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "companies": [
        {
            "company": "Ramp",
            "domain": "ramp.com"
        }
    ],
    "target_trigger_types": [
        "funding_mna",
        "exec_hire",
        "product_launch",
        "hiring_spree",
        "regulatory_or_security",
        "expansion"
    ],
    "sender_offer_context": "Outsourced RevOps and CRM automation for fast-growing B2B teams"
};

// Run the Actor and wait for it to finish
const run = await client.actor("atlasdean/b2b-trigger-event-radar").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "companies": [{
            "company": "Ramp",
            "domain": "ramp.com",
        }],
    "target_trigger_types": [
        "funding_mna",
        "exec_hire",
        "product_launch",
        "hiring_spree",
        "regulatory_or_security",
        "expansion",
    ],
    "sender_offer_context": "Outsourced RevOps and CRM automation for fast-growing B2B teams",
}

# Run the Actor and wait for it to finish
run = client.actor("atlasdean/b2b-trigger-event-radar").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "companies": [
    {
      "company": "Ramp",
      "domain": "ramp.com"
    }
  ],
  "target_trigger_types": [
    "funding_mna",
    "exec_hire",
    "product_launch",
    "hiring_spree",
    "regulatory_or_security",
    "expansion"
  ],
  "sender_offer_context": "Outsourced RevOps and CRM automation for fast-growing B2B teams"
}' |
apify call atlasdean/b2b-trigger-event-radar --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,atlasdean/b2b-trigger-event-radar"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/lMvzlaPENpNSdfVdh/builds/kG9XURZFLbSaPL6EV/openapi.json
