# AI Cold Email & Sales Outreach Writer (Laya & JEV AI) (`eternallabs/ai-cold-email-sales-outreach-writer-laya-jev-ai`) Actor

Generate hyper-personalized cold emails, LinkedIn connection messages, and follow-up sequences based on verified company signals and intent.

- **URL**: https://apify.com/eternallabs/ai-cold-email-sales-outreach-writer-laya-jev-ai.md
- **Developed by:** [Jona](https://apify.com/eternallabs) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## 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

## Outreach Intelligence — Hyper-Personalized Briefs & Sequences

> **Stop sending generic spam. Start sending high-converting, signal-driven outreach.**

**Outreach Intelligence** generates hyper-personalized outreach strategies, multi-channel messaging briefs, and sequence copy for every prospect. Powered by **Laya System-1 Decision Intelligence**, it dynamically weaves together target pain points, hiring signals, buying intent triggers, and mutual connection angles into cold emails, LinkedIn notes, and phone call openers.

***

#### Core Question Answered:

**How should I reach out to convert this prospect?**

***

#### Key Capabilities

- **Multi-Channel Copy Generation**:
  - **Cold Email**: Signal-hook subject lines, pain-point body copy, tailored value proposition, and low-friction call-to-action (CTA).
  - **LinkedIn Sequence**: 300-character connection request note + high-context follow-up message.
  - **Cold Call Script**: Pattern-interrupt opener, contextual hook mentioning verified company triggers, and qualification question.
- **Decision Engine Prioritization**:
  - **Outreach Priority Score (0–100)**: Evaluates intent signals, referral warmth, and prospect authority to tell you who to message first.
  - **Personalization Strength (0–100)**: Scores how specifically tailored the messaging is vs. generic templates.
  - **Actionability & Timing Urgency**: Flags whether the lead is ready for immediate outreach or scheduled follow-up.
- **Native Pipeline Chaining**:
  - Ingests datasets seamlessly from **AI Prospect Intelligence**, **Buying Intent Finder**, **Hiring Signal Finder**, or **Business Opportunity Finder** via Apify dataset chaining.
- **Decision Framework Support**:
  - Default open-source **Laya System-1** engine, with optional **Jev API** integration and deterministic rule fallbacks.

***

#### Example Input (JSON)

```json
{
  "yourName": "Jona",
  "yourCompany": "Eternal Labs",
  "yourValueProp": "We help B2B revenue teams identify high-intent accounts and automate personalized multi-channel outreach using AI.",
  "tone": "conversational",
  "outreachChannels": ["email", "linkedin", "cold_call_opener"],
  "minPriorityScore": 40,
  "maxProspects": 10,
  "decisionEngine": "laya",
  "prospects": [
    {
      "name": "Sarah Chen",
      "title": "VP of Engineering",
      "company": "Stripe",
      "website": "https://stripe.com",
      "industry": "Fintech",
      "intent_score": 85,
      "referral_tier": "strong",
      "signals": [
        "Hiring 15+ backend and AI engineers",
        "Recent infrastructure migration to Kubernetes"
      ]
    }
  ]
}
```

***

#### Example Output (JSON)

```json
{
  "prospect_name": "Sarah Chen",
  "prospect_title": "VP of Engineering",
  "company_name": "Stripe",
  "company_website": "https://stripe.com",
  "industry": "Fintech",
  "priority_score": 92,
  "personalization_score": 95,
  "recommended_channel": "email",
  "recommended_angle": "Hiring expansion & engineering scalability",
  "email_subject": "Scaling engineering at Stripe / mutual intro via Sarah",
  "email_body": "Hi Sarah,\n\nNoticed Stripe is actively expanding the backend engineering team across multiple hubs. Usually when engineering orgs scale this fast, onboarding velocity and infrastructure tooling become the primary bottleneck.\n\nAt Eternal Labs, we help engineering leaders streamline workflows with AI automation.\n\nWorth a brief 5-minute chat Tuesday morning to see how other fintech teams handle this?",
  "linkedin_connection_note": "Hi Sarah — noticed Stripe's impressive engineering expansion recently. Would love to connect and follow your work.",
  "linkedin_follow_up": "Thanks for connecting, Sarah! Saw you're scaling backend infrastructure. Would love to share how peer engineering VPs are automating tooling bottlenecks if helpful.",
  "cold_call_opener": "Hi Sarah, Jona with Eternal Labs. I saw your recent push hiring 15+ backend engineers — I know you're busy scaling the team, do you have 30 seconds for a quick question on engineering velocity?",
  "action_items": [
    "Send personalized email using hiring hook",
    "Send LinkedIn connection request referencing recent engineering growth",
    "Follow up within 3 business days if no response"
  ]
}
```

***

#### How to Chain from Previous Actors

To automatically generate outreach for leads discovered in an earlier run:

1. Copy the **Dataset ID** from an earlier actor run (e.g. `ai-prospect-intelligence` or `buying-intent-finder`).
2. Paste it into the `upstreamDatasetIdOrUrl` field.
3. Outreach Intelligence will automatically fetch every prospect, evaluate their signals, and generate customized copy for all of them!

***

#### Storage & Exports

- **Dataset Tab**: View structured JSON records, filter by priority score, or export to CSV / Excel.
- **Key-Value Store**: Download the `OUTPUT_SUMMARY.json` report summarizing total outreach briefs created, top angles, and channel distribution.

# Actor input Schema

## `prospects` (type: `array`):

List of prospects to generate outreach for. Each entry: {name, title, company, website, industry, intent\_score, referral\_tier, signals}

## `yourName` (type: `string`):

Sender's name — used in personalized message generation

## `yourCompany` (type: `string`):

Your company name

## `yourValueProp` (type: `string`):

1-2 sentence description of what you sell and who it helps

## `outreachChannels` (type: `array`):

Channels to generate copy for: email, linkedin, cold\_call\_opener

## `tone` (type: `string`):

Tone of outreach messages: professional, conversational, direct

## `minPriorityScore` (type: `integer`):

Only generate outreach for prospects above this score (0-100)

## `maxProspects` (type: `integer`):

Maximum number of prospects to generate outreach for

## `decisionEngine` (type: `string`):

Ranking engine: laya (default), jev, rules

## `upstreamDatasetIdOrUrl` (type: `string`):

Apify dataset ID from AI Prospect Intelligence, Buying Intent Finder, or Referral Intelligence

## Actor input object example

```json
{
  "prospects": [
    {
      "name": "Sarah Connor",
      "title": "VP of Engineering",
      "company": "CloudScale Data",
      "website": "https://cloudscaledata.com",
      "industry": "SaaS & Cloud",
      "intent_score": 85,
      "referral_tier": "strong",
      "signals": [
        "Series B Funding",
        "Hiring 10+ Engineers"
      ]
    },
    {
      "name": "Alex Vance",
      "title": "Head of Product",
      "company": "Finova Capital",
      "website": "https://finovacapital.com",
      "industry": "Fintech",
      "intent_score": 75,
      "referral_tier": "moderate",
      "signals": [
        "New Payment Gateway Launch"
      ]
    }
  ],
  "yourName": "Your Name",
  "yourCompany": "Your Company",
  "yourValueProp": "We help B2B companies close more deals faster with AI-powered lead intelligence.",
  "outreachChannels": [
    "email",
    "linkedin"
  ],
  "tone": "professional",
  "minPriorityScore": 0,
  "maxProspects": 20,
  "decisionEngine": "laya"
}
```

# Actor output Schema

## `outreach_briefs` (type: `string`):

Full dataset of prioritized prospects with personalized multi-channel copy, why-now rationale, and sequences.

## `csv` (type: `string`):

Export CSV spreadsheet containing prospect emails, LinkedIn messages, and phone scripts.

## `summary` (type: `string`):

Run metrics detailing total prospects processed, tier breakdown (A/B/C), and generated copy counts.

# 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 = {
    "prospects": [
        {
            "name": "Sarah Connor",
            "title": "VP of Engineering",
            "company": "CloudScale Data",
            "website": "https://cloudscaledata.com",
            "industry": "SaaS & Cloud",
            "intent_score": 85,
            "referral_tier": "strong",
            "signals": [
                "Series B Funding",
                "Hiring 10+ Engineers"
            ]
        },
        {
            "name": "Alex Vance",
            "title": "Head of Product",
            "company": "Finova Capital",
            "website": "https://finovacapital.com",
            "industry": "Fintech",
            "intent_score": 75,
            "referral_tier": "moderate",
            "signals": [
                "New Payment Gateway Launch"
            ]
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("eternallabs/ai-cold-email-sales-outreach-writer-laya-jev-ai").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 = { "prospects": [
        {
            "name": "Sarah Connor",
            "title": "VP of Engineering",
            "company": "CloudScale Data",
            "website": "https://cloudscaledata.com",
            "industry": "SaaS & Cloud",
            "intent_score": 85,
            "referral_tier": "strong",
            "signals": [
                "Series B Funding",
                "Hiring 10+ Engineers",
            ],
        },
        {
            "name": "Alex Vance",
            "title": "Head of Product",
            "company": "Finova Capital",
            "website": "https://finovacapital.com",
            "industry": "Fintech",
            "intent_score": 75,
            "referral_tier": "moderate",
            "signals": ["New Payment Gateway Launch"],
        },
    ] }

# Run the Actor and wait for it to finish
run = client.actor("eternallabs/ai-cold-email-sales-outreach-writer-laya-jev-ai").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 '{
  "prospects": [
    {
      "name": "Sarah Connor",
      "title": "VP of Engineering",
      "company": "CloudScale Data",
      "website": "https://cloudscaledata.com",
      "industry": "SaaS & Cloud",
      "intent_score": 85,
      "referral_tier": "strong",
      "signals": [
        "Series B Funding",
        "Hiring 10+ Engineers"
      ]
    },
    {
      "name": "Alex Vance",
      "title": "Head of Product",
      "company": "Finova Capital",
      "website": "https://finovacapital.com",
      "industry": "Fintech",
      "intent_score": 75,
      "referral_tier": "moderate",
      "signals": [
        "New Payment Gateway Launch"
      ]
    }
  ]
}' |
apify call eternallabs/ai-cold-email-sales-outreach-writer-laya-jev-ai --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,eternallabs/ai-cold-email-sales-outreach-writer-laya-jev-ai"
        }
    }
}
```

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/RgDT8O4CcvwuMSoJG/builds/i38s5XMKm2dfhEdMw/openapi.json
