Ai Outreach Personalizer
Pricing
Pay per usage
Ai Outreach Personalizer
Pricing
Pay per usage
Rating
0.0
(0)
Developer
ryan clinton
Actor stats
0
Bookmarked
1
Total users
0
Monthly active users
3 hours ago
Last modified
Categories
Share
AI outreach personalizer generates personalized cold emails at scale using your own OpenAI or Anthropic API key. Built for sales teams, agencies, and growth marketers who want AI-written email copy without paying per-seat SaaS fees. Bring your own key, pay $0.01/lead compute, and keep 100% control over your LLM costs.
Feed in enriched lead data — name, title, company, industry, tech stack, buying signals — and get back personalized subject lines, opening lines, email bodies, and CTAs for each contact. The actor processes leads in parallel batches of 10 with automatic rate limiting, retries failed LLM calls up to 3 times, and tracks token usage per lead so you can audit your AI spend.
What data can you extract?
| Data Point | Source | Example |
|---|---|---|
| Subject line | LLM-generated from lead context | "Quick question about Acme's React migration" |
| Opening line | LLM-generated, personalized to role/company | "I noticed Acme Corp recently adopted React..." |
| Email body | LLM-generated, references signals and context | 3-4 sentence value-focused pitch |
| Call to action | LLM-generated with specific ask | "Would 15 minutes this week make sense?" |
| Tokens used | OpenAI/Anthropic usage API | 342 |
| Model used | User configuration | gpt-4o-mini |
| Generation timestamp | Actor runtime | 2026-03-25T10:30:00.000Z |
| Error details | LLM failure handling | null (or error message if failed) |
| Original lead fields | Pass-through from input | All input fields preserved in output |
| Run summary | Batch completion stats | 48 succeeded, 2 failed, 15,230 tokens |
Why use AI Outreach Personalizer?
Writing personalized cold emails by hand takes 5-10 minutes per lead. At 200 leads, that is 16-33 hours of copywriting. Generic templates get ignored — reply rates sit below 2%. AI personalization tools like Clay, Instantly, or Smartlead charge $49-299/month in platform fees, and many add markup on top of your AI API costs.
This actor eliminates the middleman. Your API key goes directly to OpenAI or Anthropic — zero AI markup, zero per-seat pricing. You pay $0.01/lead for Apify compute and whatever your LLM provider charges (roughly $0.001-0.01/email with gpt-4o-mini). That means 1,000 personalized emails cost about $10-20 total, compared to $99-299/month with competing platforms.
- Scheduling — run daily or weekly to personalize new leads as they enter your pipeline
- API access — trigger runs from Python, JavaScript, or any HTTP client to integrate with your CRM workflow
- Budget controls — set a maximum spending limit per run so the actor stops before exceeding your budget
- Monitoring — get Slack or email alerts when runs fail or produce unexpected results
- Integrations — connect to Zapier, Make, Google Sheets, HubSpot, or webhooks for end-to-end automation
Features
- Bring your own key (BYOK) — use your existing OpenAI or Anthropic API key with zero markup on LLM costs
- Dual provider support — switch between OpenAI (gpt-4o-mini, gpt-4o, gpt-4-turbo) and Anthropic (Claude 3 Haiku, Claude 3.5 Sonnet) with one setting
- 4 output fields per lead — generates subject line, opening line, email body, and CTA individually, or select only the fields you need to save tokens
- Custom outreach templates — provide your own system prompt describing your product, value prop, and style to guide the LLM
- 4 tone presets — professional, casual, friendly, or bold/direct to match your brand voice
- Multi-language output — generate outreach copy in English, Spanish, German, French, or any language the LLM supports
- 10-lead parallel processing — batches of 10 concurrent LLM calls with 200ms inter-batch delays for rate limit compliance
- Automatic retry with exponential backoff — retries failed LLM calls up to 3 times with 1-8 second delays, handles 429 rate limits separately with 2-16 second waits
- Structured JSON output — uses OpenAI JSON mode for reliable parsing, strips markdown code fences as fallback
- Token tracking per lead — logs input + output tokens for every LLM call so you can audit costs against your API dashboard
- Graceful error handling — failed leads get null personalization fields with an error message, never crash the batch
- Spending limit enforcement — stops processing when your Apify budget limit is reached, reports partial results
- Pass-through lead data — all original lead fields (email, LinkedIn URL, company domain) are preserved in the output alongside personalization
- Run summary record — final dataset row includes total leads, success/failure counts, total tokens, and whether the spending limit was hit
Use cases for AI email personalization
Sales prospecting at scale
SDRs and BDRs building outbound sequences need personalized first touches for hundreds of prospects weekly. Feed enriched leads from LinkedIn, Apollo, or your CRM into this actor and get ready-to-send email copy that references each prospect's specific role, company size, and recent activity.
Marketing agency lead generation
Agencies managing outreach for multiple clients can set up different templates per client, run batches overnight, and deliver personalized email sequences each morning. At $0.01/lead compute, running 500 leads costs $5 plus LLM fees — no monthly platform subscription required.
Recruiting and talent sourcing
Recruiters reaching out to passive candidates need messages that demonstrate genuine interest in the candidate's background. Provide the candidate's current role, company, and tech stack as lead context, and the actor generates personalized InMail or email openers.
Startup founder outreach
Founders doing their own sales can personalize investor pitches, partnership proposals, or customer development emails. Provide company context and recent signals (funding rounds, product launches, job postings) to generate contextually relevant outreach.
Data enrichment pipeline integration
Combine with other Apify actors: scrape leads with Google Maps Email Extractor, enrich with Waterfall Contact Enrichment, then personalize outreach with this actor. Build a complete lead-to-email pipeline without leaving the platform.
How to personalize cold emails with AI
-
Prepare your lead data — Create a JSON array of lead objects. Each lead should include at minimum a name and company. Add title, industry, tech stack, and recent signals for better personalization. You can export leads from your CRM, a spreadsheet, or pipe output from another Apify actor.
-
Enter your API key and configure settings — Paste your OpenAI or Anthropic API key (stored encrypted, never logged). Choose your model (gpt-4o-mini is cheapest and works well for email copy). Optionally write a custom template describing your product and outreach style.
-
Run the actor — Click "Start" and wait. Processing 100 leads takes roughly 2-4 minutes depending on model speed and rate limits. Watch the status bar for batch progress.
-
Download personalized emails — Go to the Dataset tab and download results as JSON, CSV, or Excel. Each row contains your original lead data plus the personalized subject line, opening, body, and CTA.
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
leads | array | Yes | — | Array of enriched lead objects with fields like firstName, lastName, title, company, industry, techStack, recentSignals |
apiKey | string | Yes | — | Your OpenAI or Anthropic API key (encrypted in transit, never stored or logged) |
provider | string | No | openai | LLM provider: openai or anthropic |
model | string | No | gpt-4o-mini | Model name. OpenAI: gpt-4o-mini, gpt-4o, gpt-4-turbo. Anthropic: claude-3-haiku-20240307, claude-3-5-sonnet-20241022 |
template | string | No | Generic cold email template | System-level instructions describing your product, value prop, and email style |
tone | string | No | professional | Tone preset: professional, casual, friendly, or bold |
outputFields | array | No | ["subject","opening","body","cta"] | Which personalization fields to generate. Omit fields you do not need to save tokens |
maxLeads | integer | No | 0 (all) | Maximum number of leads to personalize. 0 means process all leads in the array |
language | string | No | english | Output language for generated copy (english, spanish, german, french, etc.) |
Input examples
Standard sales outreach — 3 leads with full context:
{"leads": [{"firstName": "Sarah","lastName": "Chen","title": "VP of Engineering","company": "Acme Corp","industry": "Software / SaaS","employeeCount": 250,"companyDescription": "B2B project management platform serving mid-market companies","techStack": ["React", "Node.js", "PostgreSQL", "AWS"],"recentSignals": ["Recently adopted React for frontend migration", "Raised Series B in Jan 2026"],"email": "sarah.chen@acmecorp.com"},{"firstName": "Marcus","lastName": "Rivera","title": "Head of Sales","company": "GrowthFlow Inc","industry": "Sales Enablement","employeeCount": 80,"recentSignals": ["Hired 5 SDRs in Q1 2026", "Job posting for Sales Operations Manager"],"email": "m.rivera@growthflow.io"}],"apiKey": "sk-your-openai-key-here","provider": "openai","model": "gpt-4o-mini","tone": "professional"}
Anthropic with custom template and bold tone:
{"leads": [{"fullName": "Priya Kapoor","title": "CTO","company": "DataBridge Analytics","industry": "Data & Analytics","techStack": ["Python", "Kafka", "Spark", "Snowflake"],"fundingStage": "Seed"}],"apiKey": "sk-ant-your-anthropic-key-here","provider": "anthropic","model": "claude-3-5-sonnet-20241022","template": "You sell a real-time data observability platform. Your target buyer is technical leaders at data-heavy startups. Lead with a specific pain point about data pipeline reliability. Keep it under 100 words total.","tone": "bold"}
Subject lines only — save tokens for A/B testing:
{"leads": [{ "firstName": "Tom", "title": "CMO", "company": "BrightPath Media", "industry": "Digital Marketing" },{ "firstName": "Aisha", "title": "Director of Ops", "company": "LogiCore Systems", "industry": "Logistics" }],"apiKey": "sk-your-key-here","outputFields": ["subject", "opening"],"maxLeads": 50}
Input tips
- Start with gpt-4o-mini — it produces high-quality email copy at roughly $0.001/email and is 10x cheaper than gpt-4o. Upgrade models only if output quality does not meet your standards.
- Write a specific template — the default generic template works, but a custom template describing your product and ideal customer profile produces noticeably better personalization.
- Include recent signals — the
recentSignalsarray is the single biggest driver of personalization quality. Funding rounds, new hires, product launches, and job postings give the LLM concrete hooks to reference. - Omit fields you do not need — if you only need subject lines for A/B testing, set
outputFieldsto["subject"]and cut token usage by 60-70%. - Batch in one run — processing 200 leads in one run is faster and cheaper than 200 single-lead runs due to Apify startup overhead.
Output example
{"firstName": "Sarah","lastName": "Chen","title": "VP of Engineering","company": "Acme Corp","industry": "Software / SaaS","employeeCount": 250,"companyDescription": "B2B project management platform serving mid-market companies","techStack": ["React", "Node.js", "PostgreSQL", "AWS"],"recentSignals": ["Recently adopted React for frontend migration", "Raised Series B in Jan 2026"],"email": "sarah.chen@acmecorp.com","personalization": {"subject": "Quick question about Acme's React migration","opening": "I noticed Acme Corp recently moved to React for the frontend — we've helped 50+ engineering teams cut migration timelines by 40% while keeping velocity on feature work.","body": "Most teams we work with hit the same wall around month 3: test coverage gaps slow everything down, and the old jQuery code keeps creeping back in. Our migration toolkit handles incremental adoption so your team ships features during the transition, not after. We reduced DataSync's migration from 9 months to 5 with zero production incidents.","cta": "Would a 15-minute call this week make sense to see if we could help compress Acme's migration timeline?","tokensUsed": 342,"model": "gpt-4o-mini","generatedAt": "2026-03-25T10:30:00.000Z","error": null}}
Output fields
| Field | Type | Description |
|---|---|---|
firstName | string | Lead's first name (pass-through from input) |
lastName | string | Lead's last name (pass-through from input) |
fullName | string | Lead's full name (pass-through from input) |
title | string | Lead's job title (pass-through from input) |
email | string | Lead's email address (pass-through from input) |
company | string | Lead's company name (pass-through from input) |
industry | string | Company industry (pass-through from input) |
personalization.subject | string | AI-generated email subject line (under 8 words) |
personalization.opening | string | AI-generated personalized opening line (1-2 sentences) |
personalization.body | string | AI-generated email body (3-4 sentences) |
personalization.cta | string | AI-generated call to action |
personalization.tokensUsed | number | Total tokens consumed for this lead (input + output) |
personalization.model | string | LLM model used for generation |
personalization.generatedAt | string | ISO 8601 timestamp of when the copy was generated |
personalization.error | string | Error message if personalization failed, null otherwise |
The final dataset row is a run summary with fields: type ("summary"), totalLeads, processed, succeeded, failed, totalTokensUsed, provider, model, tone, outputFields, spendingLimitReached, completedAt.
How much does it cost to personalize cold emails?
AI Outreach Personalizer uses pay-per-event pricing — you pay $0.01 per personalized email. This is Apify compute only. You pay your LLM provider separately at their standard rates (roughly $0.001-0.01/email with gpt-4o-mini).
| Scenario | Leads | Apify cost | Estimated LLM cost | Total cost |
|---|---|---|---|---|
| Quick test | 5 | $0.05 | ~$0.005 | ~$0.06 |
| Small batch | 50 | $0.50 | ~$0.05 | ~$0.55 |
| Weekly campaign | 200 | $2.00 | ~$0.20 | ~$2.20 |
| Large batch | 1,000 | $10.00 | ~$1.00 | ~$11.00 |
| Enterprise | 5,000 | $50.00 | ~$5.00 | ~$55.00 |
You can set a maximum spending limit per run to control costs. The actor stops processing when your budget is reached and outputs all leads completed so far.
Compare this to Clay at $149-720/month (with AI credits that run out), Instantly at $77/month, or Smartlead at $79/month. With AI Outreach Personalizer, most sales teams spend $10-50/month with no subscription, no seat limits, and no AI markup.
Personalize cold emails using the API
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("ryanclinton/ai-outreach-personalizer").call(run_input={"leads": [{"firstName": "Sarah","lastName": "Chen","title": "VP of Engineering","company": "Acme Corp","industry": "Software / SaaS","techStack": ["React", "Node.js", "AWS"],"recentSignals": ["Raised Series B in Jan 2026"],"email": "sarah.chen@acmecorp.com"}],"apiKey": "sk-your-openai-key","provider": "openai","model": "gpt-4o-mini","tone": "professional"})for item in client.dataset(run["defaultDatasetId"]).iterate_items():if item.get("personalization"):print(f"{item['firstName']} {item['lastName']} @ {item['company']}")print(f" Subject: {item['personalization']['subject']}")print(f" Opening: {item['personalization']['opening']}")
JavaScript
import { ApifyClient } from "apify-client";const client = new ApifyClient({ token: "YOUR_API_TOKEN" });const run = await client.actor("ryanclinton/ai-outreach-personalizer").call({leads: [{firstName: "Sarah",lastName: "Chen",title: "VP of Engineering",company: "Acme Corp",industry: "Software / SaaS",techStack: ["React", "Node.js", "AWS"],recentSignals: ["Raised Series B in Jan 2026"],email: "sarah.chen@acmecorp.com"}],apiKey: "sk-your-openai-key",provider: "openai",model: "gpt-4o-mini",tone: "professional"});const { items } = await client.dataset(run.defaultDatasetId).listItems();for (const item of items) {if (item.personalization) {console.log(`${item.firstName} ${item.lastName} @ ${item.company}`);console.log(` Subject: ${item.personalization.subject}`);console.log(` Opening: ${item.personalization.opening}`);}}
cURL
# Start the actor runcurl -X POST "https://api.apify.com/v2/acts/ryanclinton~ai-outreach-personalizer/runs?token=YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"leads": [{"firstName":"Sarah","lastName":"Chen","title":"VP of Engineering","company":"Acme Corp","email":"sarah.chen@acmecorp.com"}],"apiKey": "sk-your-openai-key","provider": "openai","model": "gpt-4o-mini"}'# Fetch results (replace DATASET_ID from the run response)curl "https://api.apify.com/v2/datasets/DATASET_ID/items?token=YOUR_API_TOKEN&format=json"
How AI Outreach Personalizer works
Lead context assembly
For each lead, the actor builds a structured context string from all available fields: name, job title, company name, industry, employee count, location, company description, funding stage, revenue, tech stack, and recent signals. Fields that are null or missing are silently skipped. This context string becomes the foundation of the LLM prompt.
LLM prompt construction
The actor constructs a two-part prompt. The system prompt combines the user's template (or the built-in B2B copywriter template) with the selected tone and language, plus strict JSON output formatting instructions. The user prompt includes the assembled lead context and specifies which output fields to generate. OpenAI calls use response_format: { type: "json_object" } for structured output. Anthropic calls use the standard messages API with explicit JSON formatting instructions.
Batch processing with bounded concurrency
Leads are processed in parallel batches of 10 (CONCURRENCY = 10) to maximize throughput while respecting API rate limits. A 200ms delay separates each batch. Each LLM call has a 60-second timeout. If a call fails, the actor retries up to 3 times with exponential backoff (1s, 2s, 4s). Rate limit responses (HTTP 429) get longer backoff delays (2s, 4s, 8s). If all retries fail, the lead is pushed to the dataset with null personalization fields and an error message — the batch continues processing.
Output assembly and charging
After each successful LLM response, the actor parses the JSON output (stripping markdown code fences if present), merges the personalization object with the original lead data, and pushes the combined record to the Apify dataset. In pay-per-event mode, the actor charges $0.01 per successfully processed lead and checks if the spending limit has been reached. The final dataset record is a summary containing total leads processed, success/failure counts, total tokens used, and whether the spending limit was hit.
Tips for best results
-
Provide company descriptions, not just names. The LLM cannot look up what "Acme Corp" does. A one-sentence company description dramatically improves output quality.
-
Add 2-3 recent signals per lead. Funding rounds, new hires, product launches, and job postings are the highest-value context for personalization. These become the specific hooks the LLM references in the opening line.
-
Write a product-specific template. Replace the default template with instructions that describe your product, your ideal customer, and what a good email looks like. The more specific your template, the more relevant the output.
-
Use gpt-4o-mini for volume, gpt-4o for quality. gpt-4o-mini handles email personalization well at 10x lower cost. Reserve gpt-4o or Claude 3.5 Sonnet for high-value accounts where every word matters.
-
Test with 5 leads before running thousands. Run a small batch first, review the output, and tune your template before scaling up.
-
Combine with lead enrichment actors. Raw CRM exports often lack the context needed for good personalization. Run leads through Waterfall Contact Enrichment or Website Contact Scraper first.
-
Generate subject lines separately for A/B testing. Set
outputFieldsto["subject"]and run the same leads multiple times with different tones to generate subject line variants for testing.
Combine with other Apify actors
| Actor | How to combine |
|---|---|
| Website Contact Scraper | Scrape emails and contacts from company websites, then feed into AI Outreach Personalizer for personalized cold emails |
| Google Maps Email Extractor | Extract local business leads with emails from Google Maps, then personalize outreach for each business |
| Waterfall Contact Enrichment | Enrich raw leads with company data, tech stack, and signals before personalizing outreach |
| Email Pattern Finder | Discover company email patterns to guess prospect emails, then personalize messages for each contact |
| Bulk Email Verifier | Verify email addresses after personalization, before sending — remove bounces from your outreach list |
| B2B Lead Gen Suite | Run the full pipeline: find websites, extract contacts, score leads, then personalize outreach for top-scored prospects |
| Website Tech Stack Detector | Detect prospect tech stacks to add as lead context — the LLM references specific technologies in outreach copy |
Limitations
- No built-in lead sourcing — this actor personalizes outreach for leads you already have. You need to provide enriched lead data as input. Use Google Maps Email Extractor or Website Contact Scraper to source leads.
- No email sending — this actor generates email copy only. You need a separate tool (Instantly, Smartlead, Lemlist, or your email client) to send the messages.
- LLM quality varies by context — leads with minimal data (just name and company) produce generic output. Provide company descriptions, tech stacks, and recent signals for best results.
- API key required — you must have an active OpenAI or Anthropic API key with sufficient credits. The actor does not include LLM credits.
- Rate limits depend on your API plan — the actor processes 10 leads concurrently. If your OpenAI/Anthropic account has low rate limits, some calls may retry or fail. The actor handles this automatically with exponential backoff.
- No real-time web research — the LLM generates copy based on the lead context you provide. It does not browse the web or look up company information during generation.
- JSON parsing edge cases — the actor strips markdown code fences and parses JSON from LLM responses. Occasionally an LLM response may not parse correctly, in which case the lead is flagged with an error and the batch continues.
- Token limits — each lead's LLM call is capped at 1,024 output tokens. This is sufficient for email copy but would truncate longer content types.
Integrations
- Zapier — trigger personalization runs when new leads enter your CRM or spreadsheet, push results to your email sequencer
- Make — build multi-step workflows: scrape leads, enrich, personalize, then load into Outreach or Salesloft
- Google Sheets — export personalized emails directly to a Google Sheet for review before sending
- Apify API — trigger runs programmatically from your sales ops platform or custom CRM integration
- Webhooks — get notified when personalization completes, auto-download results to your email tool
- LangChain / LlamaIndex — use personalized output as training data or context for AI sales agents
Troubleshooting
-
"apiKey is required" error — make sure your OpenAI or Anthropic API key is entered in the LLM API Key field. The key must be a non-empty string. Double-check for leading/trailing spaces.
-
All leads return errors with "HTTP 401" — your API key is invalid or expired. Verify it works by making a test call directly to the OpenAI or Anthropic API. For OpenAI, keys start with
sk-. For Anthropic, keys start withsk-ant-. -
Rate limit errors on large batches — the actor handles 429 responses automatically with exponential backoff, but very large batches (1,000+ leads) on low-tier API accounts may hit persistent limits. Reduce batch size with
maxLeadsor upgrade your OpenAI/Anthropic plan. -
Generic/low-quality personalization output — the most common cause is sparse lead data. Add
companyDescription,techStack, andrecentSignalsfields to your leads. Also write a custom template that describes your product and outreach style. -
Run stopped early with "spending limit reached" — the actor respects your Apify spending limit. All leads processed before the limit are in the dataset. Increase your budget or reduce the lead count for the next run.
Responsible use
- This actor generates outreach copy using your own LLM API key and the lead data you provide.
- Respect anti-spam laws (CAN-SPAM, GDPR, CASL) when sending emails generated by this actor.
- Do not use generated content for spam, deception, impersonation, or harassment.
- Include unsubscribe links and sender identification in all outbound emails as required by law.
- For guidance on email outreach compliance, see Apify's guide.
FAQ
How many leads can I personalize in one run? There is no hard limit. The actor processes leads in batches of 10 with automatic rate limiting. Practical limits depend on your LLM provider's rate limits and your Apify spending budget. Most users run batches of 50-500 leads without issues.
How much does AI email personalization cost per lead? Apify charges $0.01/lead for compute. Your LLM provider charges separately: roughly $0.001/email with gpt-4o-mini, $0.01/email with gpt-4o, or $0.003/email with Claude 3 Haiku. Total cost per lead is typically $0.011-0.02.
Can I use my own OpenAI or Anthropic API key?
Yes — that is the core design. Your API key goes directly to OpenAI or Anthropic via their official API endpoints. The actor never stores, logs, or proxies your key. It is encrypted in transit using Apify's isSecret field handling.
How is AI Outreach Personalizer different from Clay? Clay charges $149-720/month for platform access and uses AI credits (Actions) for BYOK calls. This actor charges $0.01/lead compute with no monthly fee, no seat limits, and zero markup on your LLM costs. You pay OpenAI/Anthropic directly at their published rates.
Can I customize the email tone and style? Yes. Choose from 4 tone presets (professional, casual, friendly, bold) and write a custom template with specific instructions about your product, value proposition, and style preferences. The template is the system prompt sent to the LLM.
Does this actor send emails? No. This actor generates personalized email copy only. You download the output and import it into your email sending tool (Instantly, Smartlead, Lemlist, Outreach, or any SMTP-based tool).
Can I generate personalized emails in languages other than English?
Yes. Set the language parameter to any language (spanish, german, french, portuguese, japanese, etc.). The LLM generates all output fields in the specified language.
How long does a typical run take? Processing speed depends on LLM response times. With gpt-4o-mini, expect roughly 50-100 leads per minute. A batch of 200 leads typically completes in 2-4 minutes.
Is it legal to send AI-generated cold emails? AI-generated content is legal to send, but you must comply with anti-spam laws. In the US, CAN-SPAM requires a physical address, an unsubscribe mechanism, and accurate sender information. In the EU, GDPR requires a lawful basis for processing personal data. This actor generates the copy — compliance with sending regulations is your responsibility.
What happens if some leads fail during a run? Failed leads are included in the output with null personalization fields and an error message explaining what went wrong. The batch continues processing remaining leads. The run summary at the end reports how many succeeded and failed.
Can I schedule this actor to run periodically? Yes. Use Apify's built-in scheduling to run daily, weekly, or at custom intervals. This is useful when new leads are added to a dataset on a recurring basis — the actor personalizes each batch as it arrives.
What lead fields produce the best personalization quality? Company description, recent signals, and tech stack have the highest impact on output quality. A lead with just a name and company produces generic copy. A lead with a company description, 2-3 recent signals, and a tech stack produces specific, reference-heavy personalization that feels hand-written.
Help us improve
If you encounter issues, you can help us debug faster by enabling run sharing in your Apify account:
- Go to Account Settings > Privacy
- Enable Share runs with public Actor creators
This lets us see your run details when something goes wrong, so we can fix issues faster. Your data is only visible to the actor developer, not publicly.
Support
Found a bug or have a feature request? Open an issue in the Issues tab on this actor's page. For custom solutions or enterprise integrations, reach out through the Apify platform.