{
  "data": {
    "id": "snh2nvfgk9s62uO6W",
    "actId": "3JAtBsQXU52QtnMZH",
    "userId": "zq8lKbpLzTjGDayPC",
    "startedAt": "2026-10-31T18:23:39.890Z",
    "finishedAt": "2026-10-31T18:23:45.044Z",
    "status": "SUCCEEDED",
    "meta": {
      "origin": "CLI"
    },
    "stats": {
      "durationMillis": 5094,
      "runTimeSecs": 5.094,
      "computeUnits": 0.00566,
      "imageSizeBytes": 374541824
    },
    "options": {
      "useCache": true,
      "betaPackages": false,
      "memoryMbytes": 4096,
      "diskMbytes": 8192
    },
    "createdByOrganizationMemberUserId": "GK9YjZRyQZVzOdoH5",
    "exitCode": 0,
    "inputSchema": "{\n  \"title\": \"B2B Sales Trigger Intelligence Input\",\n  \"description\": \"Choose score or monitor, paste companies, and select the buying signals to check.\",\n  \"type\": \"object\",\n  \"schemaVersion\": 1,\n  \"properties\": {\n    \"mode\": {\n      \"title\": \"Mode\",\n      \"type\": \"string\",\n      \"description\": \"Score every company, or compare this run with the previous run for the same monitor key.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"score\",\n        \"monitor\"\n      ],\n      \"enumTitles\": [\n        \"Score companies\",\n        \"Monitor changes since previous run\"\n      ],\n      \"default\": \"score\",\n      \"prefill\": \"score\"\n    },\n    \"companiesText\": {\n      \"title\": \"Companies (one per line)\",\n      \"type\": \"string\",\n      \"description\": \"Paste company names, one per line. Domains and careers URLs are accepted in the advanced list below.\",\n      \"editor\": \"textarea\",\n      \"prefill\": \"Figma\\nNotion\\nLinear\"\n    },\n    \"companies\": {\n      \"title\": \"Companies (advanced)\",\n      \"type\": \"array\",\n      \"description\": \"Advanced list. Each item can include companyName (or name), domain, careersUrl, ats, atsToken and disambiguator. Plain strings are also accepted. If provided, this overrides the text list.\",\n      \"editor\": \"json\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"companyName\": {\n            \"type\": \"string\",\n            \"title\": \"Company Name\",\n            \"description\": \"The company's legal or brand name.\"\n          },\n          \"name\": {\n            \"type\": \"string\",\n            \"title\": \"Name (alias)\",\n            \"description\": \"Alias for companyName.\"\n          },\n          \"domain\": {\n            \"type\": \"string\",\n            \"title\": \"Domain\",\n            \"description\": \"Optional root domain, e.g. notion.so. Avoids domain lookup.\"\n          },\n          \"careersUrl\": {\n            \"type\": \"string\",\n            \"title\": \"Careers URL\",\n            \"description\": \"Optional careers page or job-board URL, e.g. https://jobs.lever.co/acme.\"\n          },\n          \"ats\": {\n            \"type\": \"string\",\n            \"title\": \"ATS provider\",\n            \"description\": \"Optional provider name when you already know it: greenhouse, ashby, lever, workable, smartrecruiters, recruitee, personio, breezy or workday.\"\n          },\n          \"atsToken\": {\n            \"type\": \"string\",\n            \"title\": \"ATS token\",\n            \"description\": \"Optional board token for the provider, e.g. the token in jobs.ashbyhq.com/linear.\"\n          },\n          \"disambiguator\": {\n            \"type\": \"string\",\n            \"title\": \"Disambiguator\",\n            \"description\": \"Optional word that must appear in news headlines, e.g. software for a common-word company name.\"\n          }\n        }\n      }\n    },\n    \"signals\": {\n      \"title\": \"Signals\",\n      \"type\": \"array\",\n      \"description\": \"Buying signals to check. Disabling a scored signal normalizes the remaining weights to 100.\",\n      \"editor\": \"select\",\n      \"items\": {\n        \"type\": \"string\",\n        \"enum\": [\n          \"hiring\",\n          \"funding\",\n          \"news\",\n          \"execChanges\",\n          \"layoffs\",\n          \"techStack\"\n        ],\n        \"enumTitles\": [\n          \"Hiring (ATS boards)\",\n          \"Funding (SEC Form D + press)\",\n          \"News momentum\",\n          \"Executive changes\",\n          \"Layoffs / risk\",\n          \"Tech stack enrichment\"\n        ]\n      },\n      \"uniqueItems\": true,\n      \"default\": [\n        \"hiring\",\n        \"funding\",\n        \"news\",\n        \"execChanges\",\n        \"layoffs\",\n        \"techStack\"\n      ],\n      \"prefill\": [\n        \"hiring\",\n        \"funding\",\n        \"news\",\n        \"execChanges\",\n        \"layoffs\",\n        \"techStack\"\n      ]\n    },\n    \"lookbackDays\": {\n      \"title\": \"Lookback days\",\n      \"type\": \"integer\",\n      \"description\": \"Funding, news and executive-change window. News trend counts also cover 7, 30 and 90 days.\",\n      \"minimum\": 7,\n      \"maximum\": 365,\n      \"default\": 90,\n      \"prefill\": 90\n    },\n    \"minScore\": {\n      \"title\": \"Minimum score\",\n      \"type\": \"integer\",\n      \"description\": \"Drop scored companies below this intent score. Error records are always kept.\",\n      \"minimum\": 0,\n      \"maximum\": 100,\n      \"default\": 0,\n      \"prefill\": 0\n    },\n    \"targetTechnology\": {\n      \"title\": \"Target technology\",\n      \"type\": \"string\",\n      \"description\": \"Optional technology to check on the company homepage, e.g. HubSpot or Marketo. The gap result does not change the intent score.\",\n      \"editor\": \"textfield\"\n    },\n    \"includeRawSignals\": {\n      \"title\": \"Include raw evidence\",\n      \"type\": \"boolean\",\n      \"description\": \"In full output, add sample job titles and the top news headlines for auditing.\",\n      \"default\": false,\n      \"prefill\": false\n    },\n    \"outputFormat\": {\n      \"title\": \"Output format\",\n      \"type\": \"string\",\n      \"description\": \"compact returns ranking fields plus top signals. full adds the score breakdown and per-signal detail.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"compact\",\n        \"full\"\n      ],\n      \"enumTitles\": [\n        \"Compact (ranking)\",\n        \"Full (all signal detail)\"\n      ],\n      \"default\": \"compact\",\n      \"prefill\": \"compact\"\n    },\n    \"maxCompanies\": {\n      \"title\": \"Max companies\",\n      \"type\": \"integer\",\n      \"description\": \"Hard cap on companies processed per run.\",\n      \"minimum\": 1,\n      \"maximum\": 1000,\n      \"default\": 100,\n      \"prefill\": 3\n    },\n    \"maxConcurrency\": {\n      \"title\": \"Max concurrency\",\n      \"type\": \"integer\",\n      \"description\": \"How many companies to process in parallel. Lower values are gentler on public sources.\",\n      \"minimum\": 1,\n      \"maximum\": 10,\n      \"default\": 3,\n      \"prefill\": 3\n    },\n    \"monitorKey\": {\n      \"title\": \"Monitor key\",\n      \"type\": \"string\",\n      \"description\": \"(mode=monitor) Name of the tracking history. Use the same key each run to compare against the previous snapshot.\",\n      \"editor\": \"textfield\"\n    },\n    \"emitUnchanged\": {\n      \"title\": \"Emit unchanged companies\",\n      \"type\": \"boolean\",\n      \"description\": \"(mode=monitor) Include companies with no new or resolved signals and no score change.\",\n      \"default\": false,\n      \"prefill\": false\n    }\n  },\n  \"required\": []\n}",
    "readme": "# Company Intent Scorer: Hiring, Funding & News Signals\n\nTurn a list of target accounts into a ranked buying-signal report. For every company this actor checks public job boards, SEC Form D filings and funding coverage, entity-filtered news, executive changes, layoff risk and the company homepage, then returns one graded record with the evidence behind the score. No cookies, logins, API keys or proxy setup are needed.\n\n## What this actor does\n\n- **Scores and ranks every company** on a 0–100 intent score with an A–D grade, `priorityFlag`, `topSignal`, `topSignals[]` and a plain-English `rationale`\n- **Finds real hiring** on nine public applicant-tracking systems, including Workday, with role counts, 7/30/90-day velocity, function/seniority mix, remote counts and locations\n- **Finds real funding** from SEC Form D filings and entity-matched press, with amount, round, valuation, date and confidence\n- **Filters news to the company**, then derives news momentum, executive changes and layoff risk from the same matched headlines\n- **Adds a technology stack** as enrichment and can check for one target technology without changing the intent score\n- **Monitors changes** between runs: new signals, resolved signals, score movement and whether a company changed at all\n- **Omits empty fields** at every depth instead of returning nulls\n\n## Output per company\n\nEvery record includes:\n\n- `companyName` — company name as provided\n- `domain` — verified primary domain, when one can be confirmed\n- `companyUrl` — homepage URL built from the verified domain\n- `careersUrl` — careers page or public job-board URL when found\n- `ats` — job-board provider when a board was found\n- `grade` — A, B, C or D\n- `score` — intent score from 0 to 100\n- `priorityFlag` — true for grade A, funding in the last 180 days, or an executive change in the last 30 days\n- `topSignal` — one-line summary of the strongest signal\n- `topSignals[]` — up to three strongest signals with `type`, `label`, `summary`, `score`, `maxScore`, `latestDate`, `source` and `url`\n- `rationale` — why the company received its grade, using the real counts and dates\n- `runTimestamp` — ISO 8601 run timestamp\n- `errors[]` — per-source notes when a signal could not be fetched or a board was not found\n- `targetTechnology` — when requested: `{ name, present, category?, confidence? }`\n- `monitor` — in monitor mode: `previousRunAt`, `newSignals[]`, `resolvedSignals[]`, `scoreDelta` and `changed`\n\nWith `outputFormat: \"full\"` the record adds:\n\n- `scoreBreakdown` — normalized point contributions for `hiring`, `funding`, `news` and `execChanges`, plus `riskAdjustment`\n- `hiringSignal` — `openRoles`, `postedLast7Days`, `postedLast30Days`, `postedLast90Days`, `remoteRoles`, `functionMix`, `seniorityMix`, `departmentMix`, `locations`, `newestPostingDate`, legacy `totalOpenRoles`, `rolesLast30Days`, `hasExecutiveRoles`, `hasSalesRoles`, `roleMix`, and sample titles/jobs when raw evidence is enabled\n- `fundingSignal` — `amountUsd`, `roundType`, `announcedDate`, `daysSinceRound`, `valuationUsd`, `source`, `sourceUrl`, `headline`, `confidence`, `secFilingUrl`, `investors[]`\n- `newsSignal` — `mentionsLast7Days`, `articleCount30d`, `mentionsLast90Days`, positive/negative/neutral counts, `topicTags`, `topSourceDomains`, and top headlines when raw evidence is enabled\n- `techStackSignal` — `technologies[]` with name, category, confidence and evidence, plus `categories`, `detectedCount`, `homepageUrl` and the target-technology result\n- `execChangeSignal` — `changes[]` with title, person, level, date, source and URL\n- `riskSignal` — `events[]` with confirmed/hedged layoff items\n- `signals[]` — normalized evidence rows for every enabled signal\n\nIf every enabled source fails for a company, the record instead contains `type: \"company_error\"`, `companyName`, `errors[]` and `runTimestamp`.\n\n## Input\n\n| Field | Type | Default | Description |\n|---|---|---|---|\n| `mode` | string | `score` | `score` or `monitor` |\n| `companiesText` | string | – | Company names, one per line |\n| `companies` | array | – | Advanced list of objects (or plain strings); accepts `companyName`/`name`, `domain`, `careersUrl`, `ats`, `atsToken`, `disambiguator` |\n| `signals` | array | `[\"hiring\",\"funding\",\"news\",\"execChanges\",\"layoffs\",\"techStack\"]` | `hiring`, `funding`, `news`, `execChanges`, `layoffs`, `techStack` |\n| `lookbackDays` | integer | `90` | Funding, news and executive-change window (7–365) |\n| `minScore` | integer | `0` | Drop scored companies below this score |\n| `targetTechnology` | string | – | Optional technology gap check, e.g. `HubSpot` |\n| `includeRawSignals` | boolean | `false` | In full output, add sample job titles and top headlines |\n| `outputFormat` | string | `compact` | `compact` ranking or `full` evidence detail |\n| `maxCompanies` | integer | `100` | Hard cap per run (1–1000) |\n| `maxConcurrency` | integer | `3` | Companies processed in parallel (1–10) |\n| `monitorKey` | string | – | Tracking history name for `mode: \"monitor\"` |\n| `emitUnchanged` | boolean | `false` | In monitor mode, also emit companies with no change |\n\n### Example: score a short target list\n\n```json\n{\n  \"mode\": \"score\",\n  \"companiesText\": \"Figma\\nNotion\\nLinear\",\n  \"outputFormat\": \"compact\"\n}\n```\n\n### Example: weekly account monitoring\n\n```json\n{\n  \"mode\": \"monitor\",\n  \"companiesText\": \"Figma\\nNotion\\nLinear\\nRamp\\nDatabricks\",\n  \"monitorKey\": \"q4-enterprise-targets\",\n  \"minScore\": 40,\n  \"maxCompanies\": 200\n}\n```\n\n### Example: full evidence with a technology gap check\n\n```json\n{\n  \"mode\": \"score\",\n  \"companiesText\": \"Databricks\\nSupabase\\nCloudflare\",\n  \"outputFormat\": \"full\",\n  \"includeRawSignals\": true,\n  \"targetTechnology\": \"Marketo\",\n  \"lookbackDays\": 120\n}\n```\n\n### Example: known domains and job boards\n\n```json\n{\n  \"mode\": \"score\",\n  \"companies\": [\n    { \"companyName\": \"Notion\", \"domain\": \"notion.so\", \"disambiguator\": \"workspace\" },\n    { \"companyName\": \"Linear\", \"careersUrl\": \"https://jobs.ashbyhq.com/linear\" },\n    { \"companyName\": \"Scale AI\", \"ats\": \"greenhouse\", \"atsToken\": \"scaleai\" }\n  ],\n  \"outputFormat\": \"full\"\n}\n```\n\n## Use cases\n\n- **SDR and AE prioritization** — sort a territory by intent grade before a prospecting block\n- **Account-based marketing** — trigger plays when a target starts hiring, raises a round or changes leadership\n- **RevOps hygiene** — re-score dormant accounts and filter out anything below the score your team acts on\n- **Competitive and market research** — compare hiring pace, funding events and technology choices across a market\n- **Customer expansion** — watch existing accounts for new funding, new executives and hiring surges\n- **Weekly change monitoring** — use `mode: \"monitor\"` to see only the accounts that changed since the last run\n\n## FAQ\n\n**What sources does the score use?**\nPublic applicant-tracking boards for hiring, SEC Form D filings and press coverage for funding, Google News RSS for entity-matched news, and the company's public homepage for technology detection.\n\n**How is the score calculated?**\nHiring contributes up to 40 points, funding up to 35, news up to 15 and executive changes up to 10. If you disable a scored signal, the remaining weights are normalized to 100. A confirmed company-specific layoff in the last 90 days subtracts up to 10 points; risk can never raise the score. Grade A is 70+, B is 45–69, C is 20–44 and D is below 20.\n\n**Why is funding missing for some companies?**\nThe actor reports only funding it can verify from an SEC Form D or an entity-matched press headline with a real amount or round. Private companies without a recent filing or clear coverage are left without a funding signal rather than guessed at.\n\n**Why does a company have no hiring signal?**\nOnly public job boards are used. If the company's careers site does not expose one of the supported boards, the actor omits the hiring signal and adds a note instead of counting unrelated jobs.\n\n**Why is news missing or smaller than a web search?**\nHeadlines must contain the company name as the subject, and tracker pages, listicles, homonyms and another-entity mentions are removed. Add a `disambiguator` in the advanced list when a company name is a common word.\n\n**Do I need an API key or a proxy?**\nNo. The actor uses public, cookieless sources. Just fill in the input and run it.\n\n**How does monitor mode remember the previous run?**\nIt stores a compact snapshot under your `monitorKey`. Use the same key on every scheduled run; a new key starts a fresh baseline. `emitUnchanged` controls whether unchanged companies appear too.\n\n**What is the difference between compact and full output?**\nCompact returns the ranking fields and top signals. Full adds the score breakdown and the detailed hiring, funding, news, technology, executive-change and risk objects.\n\n**Why are some Workday posting dates approximate?**\nWorkday normally shows relative dates such as \"Posted 5 Days Ago\" or \"30+ Days Ago\". The actor maps those to dates and marks the hiring signal as approximate when a board uses them.\n\n**Is this affiliated with the job boards, SEC or news publishers?**\nNo. This is an independent actor that reads public information; it is not affiliated with or endorsed by those services.\n",
    "actorDefinition": {
      "actorSpecification": 1,
      "name": "company-intent-scorer-hiring-funding-and-news",
      "title": "Company Intent Scorer: Hiring, Funding & News Signals",
      "description": "Score a company list A-D on ATS hiring, SEC and press funding, entity-filtered news, executive changes, layoffs and tech stack, with evidence and change monitoring for sales prioritization.",
      "version": "1.0",
      "buildTag": "latest",
      "meta": {
        "templateId": "python"
      },
      "input": {
        "title": "B2B Sales Trigger Intelligence Input",
        "description": "Choose score or monitor, paste companies, and select the buying signals to check.",
        "type": "object",
        "schemaVersion": 1,
        "properties": {
          "mode": {
            "title": "Mode",
            "type": "string",
            "description": "Score every company, or compare this run with the previous run for the same monitor key.",
            "editor": "select",
            "enum": [
              "score",
              "monitor"
            ],
            "enumTitles": [
              "Score companies",
              "Monitor changes since previous run"
            ],
            "default": "score",
            "prefill": "score"
          },
          "companiesText": {
            "title": "Companies (one per line)",
            "type": "string",
            "description": "Paste company names, one per line. Domains and careers URLs are accepted in the advanced list below.",
            "editor": "textarea",
            "prefill": "Figma\nNotion\nLinear"
          },
          "companies": {
            "title": "Companies (advanced)",
            "type": "array",
            "description": "Advanced list. Each item can include companyName (or name), domain, careersUrl, ats, atsToken and disambiguator. Plain strings are also accepted. If provided, this overrides the text list.",
            "editor": "json",
            "items": {
              "type": "object",
              "properties": {
                "companyName": {
                  "type": "string",
                  "title": "Company Name",
                  "description": "The company's legal or brand name."
                },
                "name": {
                  "type": "string",
                  "title": "Name (alias)",
                  "description": "Alias for companyName."
                },
                "domain": {
                  "type": "string",
                  "title": "Domain",
                  "description": "Optional root domain, e.g. notion.so. Avoids domain lookup."
                },
                "careersUrl": {
                  "type": "string",
                  "title": "Careers URL",
                  "description": "Optional careers page or job-board URL, e.g. https://jobs.lever.co/acme."
                },
                "ats": {
                  "type": "string",
                  "title": "ATS provider",
                  "description": "Optional provider name when you already know it: greenhouse, ashby, lever, workable, smartrecruiters, recruitee, personio, breezy or workday."
                },
                "atsToken": {
                  "type": "string",
                  "title": "ATS token",
                  "description": "Optional board token for the provider, e.g. the token in jobs.ashbyhq.com/linear."
                },
                "disambiguator": {
                  "type": "string",
                  "title": "Disambiguator",
                  "description": "Optional word that must appear in news headlines, e.g. software for a common-word company name."
                }
              }
            }
          },
          "signals": {
            "title": "Signals",
            "type": "array",
            "description": "Buying signals to check. Disabling a scored signal normalizes the remaining weights to 100.",
            "editor": "select",
            "items": {
              "type": "string",
              "enum": [
                "hiring",
                "funding",
                "news",
                "execChanges",
                "layoffs",
                "techStack"
              ],
              "enumTitles": [
                "Hiring (ATS boards)",
                "Funding (SEC Form D + press)",
                "News momentum",
                "Executive changes",
                "Layoffs / risk",
                "Tech stack enrichment"
              ]
            },
            "uniqueItems": true,
            "default": [
              "hiring",
              "funding",
              "news",
              "execChanges",
              "layoffs",
              "techStack"
            ],
            "prefill": [
              "hiring",
              "funding",
              "news",
              "execChanges",
              "layoffs",
              "techStack"
            ]
          },
          "lookbackDays": {
            "title": "Lookback days",
            "type": "integer",
            "description": "Funding, news and executive-change window. News trend counts also cover 7, 30 and 90 days.",
            "minimum": 7,
            "maximum": 365,
            "default": 90,
            "prefill": 90
          },
          "minScore": {
            "title": "Minimum score",
            "type": "integer",
            "description": "Drop scored companies below this intent score. Error records are always kept.",
            "minimum": 0,
            "maximum": 100,
            "default": 0,
            "prefill": 0
          },
          "targetTechnology": {
            "title": "Target technology",
            "type": "string",
            "description": "Optional technology to check on the company homepage, e.g. HubSpot or Marketo. The gap result does not change the intent score.",
            "editor": "textfield"
          },
          "includeRawSignals": {
            "title": "Include raw evidence",
            "type": "boolean",
            "description": "In full output, add sample job titles and the top news headlines for auditing.",
            "default": false,
            "prefill": false
          },
          "outputFormat": {
            "title": "Output format",
            "type": "string",
            "description": "compact returns ranking fields plus top signals. full adds the score breakdown and per-signal detail.",
            "editor": "select",
            "enum": [
              "compact",
              "full"
            ],
            "enumTitles": [
              "Compact (ranking)",
              "Full (all signal detail)"
            ],
            "default": "compact",
            "prefill": "compact"
          },
          "maxCompanies": {
            "title": "Max companies",
            "type": "integer",
            "description": "Hard cap on companies processed per run.",
            "minimum": 1,
            "maximum": 1000,
            "default": 100,
            "prefill": 3
          },
          "maxConcurrency": {
            "title": "Max concurrency",
            "type": "integer",
            "description": "How many companies to process in parallel. Lower values are gentler on public sources.",
            "minimum": 1,
            "maximum": 10,
            "default": 3,
            "prefill": 3
          },
          "monitorKey": {
            "title": "Monitor key",
            "type": "string",
            "description": "(mode=monitor) Name of the tracking history. Use the same key each run to compare against the previous snapshot.",
            "editor": "textfield"
          },
          "emitUnchanged": {
            "title": "Emit unchanged companies",
            "type": "boolean",
            "description": "(mode=monitor) Include companies with no new or resolved signals and no score change.",
            "default": false,
            "prefill": false
          }
        },
        "required": []
      },
      "output": {
        "actorOutputSchemaVersion": 1,
        "title": "Company Intent Scorer: Hiring, Funding & News Signals Output",
        "description": "Graded company records with hiring, funding, news, executive-change, layoff and technology evidence, plus monitor diffs.",
        "properties": {
          "companies": {
            "type": "string",
            "title": "Company intent records",
            "description": "One record per company with score, grade, signals and evidence; company_error records when all enabled sources fail.",
            "template": "{{links.apiDefaultDatasetUrl}}/items"
          }
        }
      },
      "dockerfile": "../Dockerfile",
      "readme": "# Company Intent Scorer: Hiring, Funding & News Signals\n\nTurn a list of target accounts into a ranked buying-signal report. For every company this actor checks public job boards, SEC Form D filings and funding coverage, entity-filtered news, executive changes, layoff risk and the company homepage, then returns one graded record with the evidence behind the score. No cookies, logins, API keys or proxy setup are needed.\n\n## What this actor does\n\n- **Scores and ranks every company** on a 0–100 intent score with an A–D grade, `priorityFlag`, `topSignal`, `topSignals[]` and a plain-English `rationale`\n- **Finds real hiring** on nine public applicant-tracking systems, including Workday, with role counts, 7/30/90-day velocity, function/seniority mix, remote counts and locations\n- **Finds real funding** from SEC Form D filings and entity-matched press, with amount, round, valuation, date and confidence\n- **Filters news to the company**, then derives news momentum, executive changes and layoff risk from the same matched headlines\n- **Adds a technology stack** as enrichment and can check for one target technology without changing the intent score\n- **Monitors changes** between runs: new signals, resolved signals, score movement and whether a company changed at all\n- **Omits empty fields** at every depth instead of returning nulls\n\n## Output per company\n\nEvery record includes:\n\n- `companyName` — company name as provided\n- `domain` — verified primary domain, when one can be confirmed\n- `companyUrl` — homepage URL built from the verified domain\n- `careersUrl` — careers page or public job-board URL when found\n- `ats` — job-board provider when a board was found\n- `grade` — A, B, C or D\n- `score` — intent score from 0 to 100\n- `priorityFlag` — true for grade A, funding in the last 180 days, or an executive change in the last 30 days\n- `topSignal` — one-line summary of the strongest signal\n- `topSignals[]` — up to three strongest signals with `type`, `label`, `summary`, `score`, `maxScore`, `latestDate`, `source` and `url`\n- `rationale` — why the company received its grade, using the real counts and dates\n- `runTimestamp` — ISO 8601 run timestamp\n- `errors[]` — per-source notes when a signal could not be fetched or a board was not found\n- `targetTechnology` — when requested: `{ name, present, category?, confidence? }`\n- `monitor` — in monitor mode: `previousRunAt`, `newSignals[]`, `resolvedSignals[]`, `scoreDelta` and `changed`\n\nWith `outputFormat: \"full\"` the record adds:\n\n- `scoreBreakdown` — normalized point contributions for `hiring`, `funding`, `news` and `execChanges`, plus `riskAdjustment`\n- `hiringSignal` — `openRoles`, `postedLast7Days`, `postedLast30Days`, `postedLast90Days`, `remoteRoles`, `functionMix`, `seniorityMix`, `departmentMix`, `locations`, `newestPostingDate`, legacy `totalOpenRoles`, `rolesLast30Days`, `hasExecutiveRoles`, `hasSalesRoles`, `roleMix`, and sample titles/jobs when raw evidence is enabled\n- `fundingSignal` — `amountUsd`, `roundType`, `announcedDate`, `daysSinceRound`, `valuationUsd`, `source`, `sourceUrl`, `headline`, `confidence`, `secFilingUrl`, `investors[]`\n- `newsSignal` — `mentionsLast7Days`, `articleCount30d`, `mentionsLast90Days`, positive/negative/neutral counts, `topicTags`, `topSourceDomains`, and top headlines when raw evidence is enabled\n- `techStackSignal` — `technologies[]` with name, category, confidence and evidence, plus `categories`, `detectedCount`, `homepageUrl` and the target-technology result\n- `execChangeSignal` — `changes[]` with title, person, level, date, source and URL\n- `riskSignal` — `events[]` with confirmed/hedged layoff items\n- `signals[]` — normalized evidence rows for every enabled signal\n\nIf every enabled source fails for a company, the record instead contains `type: \"company_error\"`, `companyName`, `errors[]` and `runTimestamp`.\n\n## Input\n\n| Field | Type | Default | Description |\n|---|---|---|---|\n| `mode` | string | `score` | `score` or `monitor` |\n| `companiesText` | string | – | Company names, one per line |\n| `companies` | array | – | Advanced list of objects (or plain strings); accepts `companyName`/`name`, `domain`, `careersUrl`, `ats`, `atsToken`, `disambiguator` |\n| `signals` | array | `[\"hiring\",\"funding\",\"news\",\"execChanges\",\"layoffs\",\"techStack\"]` | `hiring`, `funding`, `news`, `execChanges`, `layoffs`, `techStack` |\n| `lookbackDays` | integer | `90` | Funding, news and executive-change window (7–365) |\n| `minScore` | integer | `0` | Drop scored companies below this score |\n| `targetTechnology` | string | – | Optional technology gap check, e.g. `HubSpot` |\n| `includeRawSignals` | boolean | `false` | In full output, add sample job titles and top headlines |\n| `outputFormat` | string | `compact` | `compact` ranking or `full` evidence detail |\n| `maxCompanies` | integer | `100` | Hard cap per run (1–1000) |\n| `maxConcurrency` | integer | `3` | Companies processed in parallel (1–10) |\n| `monitorKey` | string | – | Tracking history name for `mode: \"monitor\"` |\n| `emitUnchanged` | boolean | `false` | In monitor mode, also emit companies with no change |\n\n### Example: score a short target list\n\n```json\n{\n  \"mode\": \"score\",\n  \"companiesText\": \"Figma\\nNotion\\nLinear\",\n  \"outputFormat\": \"compact\"\n}\n```\n\n### Example: weekly account monitoring\n\n```json\n{\n  \"mode\": \"monitor\",\n  \"companiesText\": \"Figma\\nNotion\\nLinear\\nRamp\\nDatabricks\",\n  \"monitorKey\": \"q4-enterprise-targets\",\n  \"minScore\": 40,\n  \"maxCompanies\": 200\n}\n```\n\n### Example: full evidence with a technology gap check\n\n```json\n{\n  \"mode\": \"score\",\n  \"companiesText\": \"Databricks\\nSupabase\\nCloudflare\",\n  \"outputFormat\": \"full\",\n  \"includeRawSignals\": true,\n  \"targetTechnology\": \"Marketo\",\n  \"lookbackDays\": 120\n}\n```\n\n### Example: known domains and job boards\n\n```json\n{\n  \"mode\": \"score\",\n  \"companies\": [\n    { \"companyName\": \"Notion\", \"domain\": \"notion.so\", \"disambiguator\": \"workspace\" },\n    { \"companyName\": \"Linear\", \"careersUrl\": \"https://jobs.ashbyhq.com/linear\" },\n    { \"companyName\": \"Scale AI\", \"ats\": \"greenhouse\", \"atsToken\": \"scaleai\" }\n  ],\n  \"outputFormat\": \"full\"\n}\n```\n\n## Use cases\n\n- **SDR and AE prioritization** — sort a territory by intent grade before a prospecting block\n- **Account-based marketing** — trigger plays when a target starts hiring, raises a round or changes leadership\n- **RevOps hygiene** — re-score dormant accounts and filter out anything below the score your team acts on\n- **Competitive and market research** — compare hiring pace, funding events and technology choices across a market\n- **Customer expansion** — watch existing accounts for new funding, new executives and hiring surges\n- **Weekly change monitoring** — use `mode: \"monitor\"` to see only the accounts that changed since the last run\n\n## FAQ\n\n**What sources does the score use?**\nPublic applicant-tracking boards for hiring, SEC Form D filings and press coverage for funding, Google News RSS for entity-matched news, and the company's public homepage for technology detection.\n\n**How is the score calculated?**\nHiring contributes up to 40 points, funding up to 35, news up to 15 and executive changes up to 10. If you disable a scored signal, the remaining weights are normalized to 100. A confirmed company-specific layoff in the last 90 days subtracts up to 10 points; risk can never raise the score. Grade A is 70+, B is 45–69, C is 20–44 and D is below 20.\n\n**Why is funding missing for some companies?**\nThe actor reports only funding it can verify from an SEC Form D or an entity-matched press headline with a real amount or round. Private companies without a recent filing or clear coverage are left without a funding signal rather than guessed at.\n\n**Why does a company have no hiring signal?**\nOnly public job boards are used. If the company's careers site does not expose one of the supported boards, the actor omits the hiring signal and adds a note instead of counting unrelated jobs.\n\n**Why is news missing or smaller than a web search?**\nHeadlines must contain the company name as the subject, and tracker pages, listicles, homonyms and another-entity mentions are removed. Add a `disambiguator` in the advanced list when a company name is a common word.\n\n**Do I need an API key or a proxy?**\nNo. The actor uses public, cookieless sources. Just fill in the input and run it.\n\n**How does monitor mode remember the previous run?**\nIt stores a compact snapshot under your `monitorKey`. Use the same key on every scheduled run; a new key starts a fresh baseline. `emitUnchanged` controls whether unchanged companies appear too.\n\n**What is the difference between compact and full output?**\nCompact returns the ranking fields and top signals. Full adds the score breakdown and the detailed hiring, funding, news, technology, executive-change and risk objects.\n\n**Why are some Workday posting dates approximate?**\nWorkday normally shows relative dates such as \"Posted 5 Days Ago\" or \"30+ Days Ago\". The actor maps those to dates and marks the hiring signal as approximate when a board uses them.\n\n**Is this affiliated with the job boards, SEC or news publishers?**\nNo. This is an independent actor that reads public information; it is not affiliated with or endorsed by those services.\n",
      "storages": {
        "dataset": {
          "actorSpecification": 1,
          "title": "Company Intent Scorer: Hiring, Funding & News Signals Output",
          "description": "Graded company records with hiring, funding, news, executive-change, layoff and technology evidence, plus monitor diffs.",
          "views": {
            "overview": {
              "title": "Overview",
              "transformation": {
                "fields": [
                  "companyName",
                  "domain",
                  "grade",
                  "score",
                  "priorityFlag",
                  "topSignal",
                  "rationale"
                ]
              },
              "display": {
                "component": "table",
                "properties": {
                  "companyName": {
                    "label": "Company",
                    "format": "text"
                  },
                  "domain": {
                    "label": "Domain",
                    "format": "text"
                  },
                  "grade": {
                    "label": "Grade",
                    "format": "text"
                  },
                  "score": {
                    "label": "Score",
                    "format": "number"
                  },
                  "priorityFlag": {
                    "label": "Priority",
                    "format": "boolean"
                  },
                  "topSignal": {
                    "label": "Top Signal",
                    "format": "text"
                  },
                  "rationale": {
                    "label": "Rationale",
                    "format": "text"
                  }
                }
              }
            },
            "hiring": {
              "title": "Hiring Signals",
              "transformation": {
                "fields": [
                  "companyName",
                  "ats",
                  "careersUrl",
                  "hiringSignal"
                ]
              },
              "display": {
                "component": "table",
                "properties": {
                  "companyName": {
                    "label": "Company",
                    "format": "text"
                  },
                  "ats": {
                    "label": "ATS",
                    "format": "text"
                  },
                  "careersUrl": {
                    "label": "Careers",
                    "format": "text"
                  },
                  "hiringSignal": {
                    "label": "Hiring",
                    "format": "object"
                  }
                }
              }
            },
            "funding": {
              "title": "Funding Signals",
              "transformation": {
                "fields": [
                  "companyName",
                  "fundingSignal"
                ]
              },
              "display": {
                "component": "table",
                "properties": {
                  "companyName": {
                    "label": "Company",
                    "format": "text"
                  },
                  "fundingSignal": {
                    "label": "Funding",
                    "format": "object"
                  }
                }
              }
            },
            "news": {
              "title": "News Signals",
              "transformation": {
                "fields": [
                  "companyName",
                  "newsSignal"
                ]
              },
              "display": {
                "component": "table",
                "properties": {
                  "companyName": {
                    "label": "Company",
                    "format": "text"
                  },
                  "newsSignal": {
                    "label": "News",
                    "format": "object"
                  }
                }
              }
            },
            "risk": {
              "title": "Executive & Risk Signals",
              "transformation": {
                "fields": [
                  "companyName",
                  "execChangeSignal",
                  "riskSignal"
                ]
              },
              "display": {
                "component": "table",
                "properties": {
                  "companyName": {
                    "label": "Company",
                    "format": "text"
                  },
                  "execChangeSignal": {
                    "label": "Executive changes",
                    "format": "object"
                  },
                  "riskSignal": {
                    "label": "Layoff risk",
                    "format": "object"
                  }
                }
              }
            },
            "technology": {
              "title": "Technology",
              "transformation": {
                "fields": [
                  "companyName",
                  "techStackSignal",
                  "targetTechnology"
                ]
              },
              "display": {
                "component": "table",
                "properties": {
                  "companyName": {
                    "label": "Company",
                    "format": "text"
                  },
                  "techStackSignal": {
                    "label": "Tech stack",
                    "format": "object"
                  },
                  "targetTechnology": {
                    "label": "Target technology",
                    "format": "object"
                  }
                }
              }
            },
            "monitor": {
              "title": "Monitor Changes",
              "transformation": {
                "fields": [
                  "companyName",
                  "grade",
                  "score",
                  "monitor"
                ]
              },
              "display": {
                "component": "table",
                "properties": {
                  "companyName": {
                    "label": "Company",
                    "format": "text"
                  },
                  "grade": {
                    "label": "Grade",
                    "format": "text"
                  },
                  "score": {
                    "label": "Score",
                    "format": "number"
                  },
                  "monitor": {
                    "label": "Changes",
                    "format": "object"
                  }
                }
              }
            }
          }
        }
      }
    },
    "buildNumber": "1.0.2",
    "imageDigest": "d9e59d3b09b7648e6e45bded017d33b71921a667b9701a0d50fed78277db2d11",
    "actVersion": {
      "sourceType": "SOURCE_FILES",
      "buildTag": "latest",
      "versionNumber": "1.0"
    },
    "usage": {
      "ACTOR_COMPUTE_UNITS": 0.00566
    }
  }
}