Batch AI Generation

Generate AI-personalized content for hundreds or thousands of contacts at once. Learn how to use batch generation efficiently and monitor progress.

What is Batch Generation?

Instead of generating AI content for one contact at a time, batch generation processes multiple contacts simultaneously. This is the primary way to scale personalization in WarmOpener.

How to Use Batch Generation

Step 1: Prepare Your Contacts

Ensure your contacts have sufficient data for good personalization:

  • Basic fields: first_name, last_name, company, job_title
  • Optional: website, industry, recent_news, pain_point
  • More data = better AI output quality

Step 2: Select Contacts

On the Contacts page, you have multiple selection options:

  • Select All: Checkbox at the top selects all visible contacts
  • Individual Selection: Click checkboxes for specific contacts
  • Filter First: Use contact lists to narrow down before selecting

Step 3: Open AI Column Generator

  1. With contacts selected, click Generate AI Column button
  2. Modal opens with configuration options

Step 4: Configure Generation

Column Name: Name for the generated field (e.g., "Personalized_Opening", "Pain_Point"). Use underscores, no spaces.

Prompt: Describe what you want generated. Example: "Based on the contact's company and role, create a personalized opening sentence that references their industry challenges."

Website Enrichment: Toggle on to fetch company websites and extract deeper insights. Shows: X of Y contacts have website URLs.

Step 5: Review & Generate

Before generating, you'll see:

  • Contact count: Number of contacts that will be processed
  • Estimated cost: Approximate OpenAI API cost
  • Estimated time: How long the batch will take (~5-10 sec per contact)

Click Generate AI Content to start the batch.

Processing Behavior

Sequential Processing

Contacts are processed one at a time to avoid OpenAI rate limits. The modal shows:

  • Progress bar: X of Y contacts completed
  • Current contact being processed
  • Estimated time remaining

Error Handling

If a contact fails (e.g., API error):

  • System continues to next contact (doesn't stop entire batch)
  • Failed contacts are logged and shown in summary
  • You can retry failed contacts separately

Performance & Timing

Without Website Enrichment

  • Per contact: ~2-4 seconds
  • 10 contacts: ~30 seconds
  • 100 contacts: ~5 minutes
  • 1,000 contacts: ~50 minutes

With Website Enrichment

  • Per contact: ~5-12 seconds (first time)
  • Cached: ~2-4 seconds (if website data already fetched)
  • 100 contacts: ~10 minutes first time, ~5 minutes if cached

Best Practices

1. Test with Small Batch First

Before processing 1,000 contacts:

  • Select 5-10 representative contacts
  • Run generation and review output quality
  • Adjust prompt if needed
  • Then scale to full list

2. Use Clear, Specific Prompts

Vague: "Write something personalized"

Specific: "Create a 1-2 sentence opening that references their company's recent news or product launch, and explains how our solution addresses a specific challenge in their industry."

3. Batch Size Recommendations

  • Small batches (10-50): Good for testing and refinement
  • Medium batches (100-500): Standard workflow for campaigns
  • Large batches (1000+): Run during off-hours, expect 1+ hour processing

4. Re-Generation Strategy

If you need to regenerate for some contacts:

  • Old AI-generated data will be overwritten
  • Use same column name to replace existing data
  • Use different column name to create additional fields

Viewing Generated Data

After generation completes:

  • Generated field appears as a new column in Contacts table
  • Click contact row to expand and see full generated text
  • Use the field in email templates with placeholder syntax: {{Column_Name}}

⚠️ Keep Browser Tab Open

During batch generation, keep the browser tab open. Closing the tab or navigating away will cancel the in-progress batch. For large batches (500+ contacts), consider running during a time when you won't need to use your computer for other tasks.

💡 Pro Tip

Generate multiple AI columns for different parts of your email. For example: "Personalized_Opening", "Pain_Point", "Value_Prop", "CTA". This gives you modular components you can mix and match in different email templates.

Need help? Email Support
Batch Generation | WarmOpener Docs | WarmOpener