Generate Cold Email Dossiers

OpenAISlackGoogle Sheets

Scrape company websites, analyze prospects with AI, and generate personalized cold email dossiers with subject lines and email drafts — delivered to Slack and logged in Google Sheets.

Cold EmailSales OutreachLead GenerationSlack

Generate Cold Email Dossiers

This workflow automates the creation of personalized cold email dossiers for enterprise sales outreach. By scraping company websites and leveraging AI analysis, it produces detailed business summaries, identifies potential pain points, crafts personalized email hooks, and drafts compelling cold emails — all delivered directly to a Slack channel and logged in Google Sheets for easy tracking.

What It Does

  1. Accepts a manual trigger with a list of target companies and configuration settings.
  2. Scrapes website content from each target company in parallel.
  3. Cleans and pairs scraped content with the configuration data for each target.
  4. Uses an AI agent to analyze the company info and generate a business summary, an assumed pain point, and a personalized hook.
  5. Feeds that analysis into a second AI agent to write three subject line options and a concise cold email body tailored to each prospect.
  6. Sends the full dossier to a designated Slack channel and logs it to a Google Sheets spreadsheet.

What You Need

  • A Needle account with access to the workflow automation platform.
  • A connected Slack workspace with access to the target channel for receiving dossier messages.
  • A connected Google Sheets account with a spreadsheet set up for logging dossier results.
  • A list of target companies with their URLs, contact names, and your product description configured in the DOSSIER_CONFIG variable.

How the Flow Works

NodeDescription
Manual TriggerStarts the workflow and reads the DOSSIER_CONFIG variable containing the array of target company data.
Website ScraperFetches and extracts text content from each target company's URL. Handles errors gracefully so failures don't crash the run.
Content Cleaner + Config MergerCleans the scraped web content, trims it to 12,000 characters, and pairs it with the corresponding configuration for each target.
AI Business AnalystAnalyzes the scraped website text to produce a business summary, an assumed pain point, and a personalized hook quoting something specific from the prospect's site.
Data BridgeExtracts and validates the configuration data from the AI output, checks for scraping errors, and prepares the data for the email writer.
AI Email WriterGenerates three subject line options (curiosity, direct, and provocative) and a 4-sentence cold email draft addressing the prospect's pain point, solution, and call to action.
Final MergeFlattens all AI outputs and configuration into one clean dossier object per target.
Slack DeliveryPosts the full dossier to your configured Slack channel, including the analysis, email drafts, and any error warnings if scraping failed.
Google Sheets LogUpserts one row per target using the company URL as a key, so re-runs update existing rows instead of creating duplicates.

Setup Instructions

  1. Set the DOSSIER_CONFIG variable — Define it as a JSON array in the workflow variables. Each object should include:
    • Target_Company_URL — the company's website URL
    • Target_Contact_Name — the name of the person you're reaching out to
    • My_Product_Description — a one-sentence description of your product
  2. Configure the Slack node — Connect your Slack account and set the conversation field to the channel ID where you want dossiers delivered.
  3. Configure the Google Sheets node — Connect your Google account, create a spreadsheet named something like "AE Dossier Log", and set the sheetId and worksheetId to point to your spreadsheet.
  4. Run the workflow — Hit Run and the dossiers will be generated and delivered automatically.

Output

For each prospect, you'll receive a formatted Slack message containing:

  • The company name and website URL
  • The contact's name
  • An analyst briefing with a clear business summary, a pain point, and a personalized hook
  • Three different subject line options to choose from
  • A concise, persuasive cold email draft ready to send
  • If scraping failed, an error message explaining the issue

The same information is also logged to your Google Sheets spreadsheet with the following columns:

ColumnContent
ATarget URL
BContact Name
CBusiness Summary
DPain Point
EHook
F–HSubject Lines 1–3
IEmail Body
JError Status
KRun Date

Notes

  • The workflow trims scraped content to 12,000 characters to stay within AI token limits.
  • If website scraping fails or returns no content, the AI outputs clear fallback error messages rather than hallucinating.
  • You can add any number of prospects to the DOSSIER_CONFIG array — they are processed in parallel.
  • Re-running the workflow for the same URLs will update existing rows in Google Sheets, not duplicate them.
  • Always review AI-generated copy before sending to ensure it matches your brand voice and compliance requirements.

Want to showcase your own workflows?

Become a Needle workflow partner and turn your expertise into recurring revenue.

Ready to vibe automate?

Join thousands of people who have transformed their workflows.

Workflows

Automations with AI agents

Collections

All your data, searchable

Chat Widget

Drop-in widget for your website

Developer API

Build AI-powered apps with ease

    We use cookies to enhance your experience on Needle and keep your data secure. Privacy Policy