Migrating from Sora or DALL-E? Use promo code DALLE1000 for $10 in free API credits!
CRM Integration

AI-Generated Sales Assets in Your CRM

Automatically generate personalized images, videos, and voice content when deals progress through your pipeline. Perfect for twenty, Salesforce, HubSpot, and any CRM with webhook support.

Supported CRM Platforms

twenty

Open-source Salesforce alternative (42K+ GitHub stars)

Webhook triggersAPI-firstSelf-hosted option

Salesforce

Industry-leading CRM with Flow automation

Flow triggersApex integrationAppExchange

HubSpot

Inbound marketing and sales platform

Workflow triggersWebhooksCustom objects

Pipedrive

Sales-focused CRM with pipeline management

Automation triggersWebhooksAPI

Integration Points

Deal Stage Triggers

Generate sales assets when deals move to Proposal, Demo, or Closed Won stages

Lead Conversion

Create personalized welcome content when leads become customers

Campaign Automation

Generate marketing visuals for email campaigns and outreach sequences

Account-Based Marketing

Create custom visuals for each target account automatically

Customer Onboarding

Generate welcome videos and onboarding guides for new customers

Sales Enablement

Auto-generate proposal covers, case study visuals, and demo materials

Generated Asset Types

Proposal Images

Custom branded proposal covers and hero images

~$0.24 per image

Demo Videos

Product demo clips personalized per prospect

~$0.50 per video

Voice Intros

Personalized voice messages for outreach

~$0.57 per clip

Welcome Content

Onboarding materials for new customers

~$0.24 per asset

Quick Start

// TypeScript β€” Full CRM Integration Class
// Works with twenty, Salesforce, HubSpot, or any CRM with webhooks

import OpenAI from 'openai';
import { WebhookPayload } from './types';

const creativeai = new OpenAI({
  apiKey: process.env.CREATIVEAI_API_KEY,
  baseURL: 'https://api.creativeai.run/v1',
});

interface Deal {
  id: string;
  company_name: string;
  contact_name: string;
  industry: string;
  product: string;
  stage: 'Lead' | 'Qualified' | 'Proposal Sent' | 'Demo' | 'Negotiation' | 'Closed Won' | 'Closed Lost';
  deal_value: number;
}

export class CrmAssetGenerator {
  
  // Generate assets based on deal stage
  async handleDealStageChange(deal: Deal): Promise<void> {
    switch (deal.stage) {
      case 'Proposal Sent':
        await this.generateProposalAssets(deal);
        break;
      case 'Demo':
        await this.generateDemoAssets(deal);
        break;
      case 'Closed Won':
        await this.generateOnboardingAssets(deal);
        break;
    }
  }

  private async generateProposalAssets(deal: Deal): Promise<void> {
    // Custom proposal cover image
    const image = await creativeai.images.generate({
      model: 'gpt-image-1',
      prompt: `Professional proposal cover for ${deal.company_name}, ${deal.industry} industry, executive presentation style`,
      size: '1536x1024',
      n: 1,
    });

    // Personalized voice introduction
    const voice = await fetch('https://api.creativeai.run/api/generate/voice', {
      method: 'POST',
      headers: {
        'Authorization': `Bearer ${process.env.CREATIVEAI_API_KEY}`,
        'Content-Type': 'application/json',
      },
      body: JSON.stringify({
        text: `Hi ${deal.contact_name}, thank you for considering our proposal. Here's a quick overview tailored for ${deal.company_name}.`,
        voice: 'nova',
        model: 'tts-1-hd',
      }),
    });

    await this.updateCrm(deal.id, {
      proposal_image_url: image.data[0].url,
      proposal_voiceover_url: (await voice.json()).output_url,
    });
  }

  private async generateDemoAssets(deal: Deal): Promise<void> {
    // Submit async demo video
    const video = await fetch('https://api.creativeai.run/v1/video/generations', {
      method: 'POST',
      headers: {
        'Authorization': `Bearer ${process.env.CREATIVEAI_API_KEY}`,
        'Content-Type': 'application/json',
      },
      body: JSON.stringify({
        model: 'auto',
        prompt: `Product demo video for ${deal.product}, highlight ROI and key features for ${deal.industry} industry`,
        duration: 5,
        aspect_ratio: '16:9',
        webhook_url: `${process.env.WEBHOOK_BASE}/crm/video/${deal.id}`,
      }),
    });

    await this.updateCrm(deal.id, {
      demo_video_job_id: (await video.json()).id,
    });
  }

  private async generateOnboardingAssets(deal: Deal): Promise<void> {
    // Welcome video for new customer
    const welcome = await creativeai.images.generate({
      model: 'gpt-image-1',
      prompt: `Welcome banner for new customer ${deal.company_name}, congratulations message, professional celebration design`,
      size: '1536x1024',
    });

    // Onboarding guide cover
    const guide = await creativeai.images.generate({
      model: 'gpt-image-1',
      prompt: `Customer onboarding guide cover for ${deal.company_name}, clean modern design, step-by-step visual`,
      size: '1024x1024',
    });

    await this.updateCrm(deal.id, {
      welcome_banner_url: welcome.data[0].url,
      onboarding_guide_url: guide.data[0].url,
    });
  }

  private async updateCrm(dealId: string, assets: Record<string, string>): Promise<void> {
    // Implementation depends on your CRM's API
    console.log(`Updating deal ${dealId} with assets:`, assets);
  }
}

Webhook Flow

CRM Trigger

Deal stage change

CreativeAI API

Generate assets

Asset URLs

Return to CRM

Webhook Delivery Guarantee

Async video jobs deliver via webhook with 3 attempts (0s, 5s, 30s) and HMAC-SHA256 signatures. If delivery fails, results are available via the status API.

twenty CRM Integration

twenty is an open-source Salesforce alternative with 42K+ GitHub stars. Its API-first architecture makes it perfect for AI asset generation workflows.

Setup Steps:

  1. Configure webhook in twenty Settings β†’ Integrations β†’ Webhooks
  2. Set trigger: deal.stage.updated
  3. Point webhook to your n8n, Make, or custom endpoint
  4. Endpoint calls CreativeAI API with deal context
  5. Update deal record with generated asset URLs
# twenty webhook payload example { "event": "deal.stage.updated", "data": { "id": "deal_abc123", "company_name": "Acme Corp", "contact_name": "Jane Smith", "industry": "Technology", "product": "Enterprise Plan", "stage": "Proposal Sent", "deal_value": 50000 } }

Cost Example

Per-Deal Asset Pack

  • 1 Proposal Image~$0.24
  • 1 Demo Video~$0.50
  • 1 Voice Intro~$0.57
  • Total per deal~$1.31

Monthly Volume (50 deals)

  • 50 proposal images~$12
  • 25 demo videos~$12.50
  • 50 voice intros~$28.50
  • Monthly total~$53
vs. Traditional

Cost Comparison

  • Midjourney sub$30/mo
  • Runway sub$76/mo
  • Voice AI sub$29/mo
  • Traditional stack$135/mo+

Ready to automate your CRM assets?

Start with 50 free credits. Generate proposal images, demo videos, and voice intros from CRM triggers.