Back to Alchemy
Alchemy RecipeIntermediateautomation

Generate customer onboarding sequences combining intake forms, welcome videos and email

A new user signs up for your SaaS product and receives a generic email. It sits in their inbox, competing with dozens of others. No video. No personality. By day three, they've forgotten why they signed up. This is the onboarding tax most companies pay, and it costs them real money in churn. The gap between signup and genuine product adoption is where most SaaS businesses lose customers. Traditional onboarding sequences rely on text alone, which creates friction. Adding video and voice personalisation transforms that first interaction into something memorable. But manually producing custom welcome videos and crafting individual onboarding emails for each cohort of users is expensive, time-consuming, and doesn't scale. The solution is to automate the entire sequence: capture customer details through a form, generate personalised emails using an LLM, synthesise them into audio narration, convert that into video, and send it all via email in one integrated workflow. No human handoff required after the initial setup.

The Automated Workflow

We'll use Zapier as the orchestration layer because it integrates natively with most of these tools and requires no coding. However, n8n or Make work equally well if you prefer more control.

Step 1: Capture customer data

A customer completes your onboarding form (hosted on your website, Typeform, or embedded in your app). The form submission triggers a Zapier webhook. Extract these fields:

- firstName
- email
- companyName
- productInterest
- signupSource

Step 2: Generate personalised onboarding email

Pass the customer data to ChatGPT Writer via the OpenAI API. Use GPT-4o mini for cost efficiency since email generation doesn't need heavyweight reasoning.

POST https://api.openai.com/v1/chat/completions { "model": "gpt-4o-mini", "messages": [ { "role": "system", "content": "You are a SaaS onboarding specialist. Write warm, personal welcome emails that mention the customer by name and their stated product interest. Keep to 150 words. End with a clear next step." }, { "role": "user", "content": "Write a welcome email for {{firstName}} from {{companyName}} who is interested in {{productInterest}}." } ], "temperature": 0.7, "max_tokens": 200
}

Store the generated email text in a Zapier variable for use in subsequent steps.

Step 3: Synthesise email into audio

Pass the generated email to ElevenLabs Turbo v2.5 via their API. This converts text into natural-sounding speech.

POST https://api.elevenlabs.io/v1/text-to-speech/{voice_id} { "text": "{{generatedEmailText}}", "model_id": "eleven_turbo_v2_5", "voice_settings": { "stability": 0.5, "similarity_boost": 0.75 }
}

ElevenLabs returns an audio file URL. Save this URL.

Step 4: Convert audio to video

Feed the audio file and a script summary to Hour One. Hour One's API accepts a text script and generates a video featuring a virtual presenter speaking the content.

POST https://api.hourone.com/api/videos { "text": "{{generatedEmailText}}", "voice_url": "{{elevenLabsAudioUrl}}", "presenter": "default_professional", "background": "office_neutral", "language": "en"
}

Hour One processes this asynchronously and returns a video URL once generation completes. You'll need to poll their status endpoint until the video is ready.

GET https://api.hourone.com/api/videos/{video_id}/status

Wait for status: "completed" before proceeding.

Step 5: Compose final email with embedded video

Once the video is ready, construct the actual email that goes to your customer. Include: - The personalised welcome text from step 2

  • An embedded video player or clickable video link
  • A call-to-action button (e.g. "Start your first project") Use Zapier's email step or an email service API (SendGrid, Mailgun) to deliver this. Full Zapier workflow structure: 1. Webhook trigger: Form submission received
  1. OpenAI action: Generate email text (GPT-4o mini)
  2. ElevenLabs action: Convert text to speech
  3. Hour One action: Generate video from audio
  4. Delay: Wait for video processing (typically 2-5 minutes)
  5. Poll Hour One status: Check if video is ready
  6. Conditional logic: If video ready, proceed; otherwise retry
  7. Send email: Deliver onboarding email with video to customer
  8. Slack notification: Alert your team that sequence completed The entire flow runs automatically from form submission to delivery, with no manual steps required.

The Manual Alternative

If you prefer finer control or need to customise each video extensively, you can build this using Claude Code with n8n. Claude Code can write and debug n8n workflows directly, handling API authentication and error logic. Rather than automating every video generation immediately, you could instead automate steps 1 and 2 only: collect the form data and generate the email text. Your team then reviews and approves the email, records a custom video using Sora or Runway, and sends it manually. This trades speed for quality control and works well if you have fewer new customers per week. Alternatively, batch your onboarding sequences by cohort. Generate video for 10 customers at once rather than per-user, reducing API costs and giving you time to quality-check outputs before sending.

Pro Tips

Rate limiting and queue management:

ElevenLabs and Hour One have rate limits.

If you expect high signup volume, add a queue step between form capture and video generation. Use Zapier's delay or queue tools to space out requests by 10-20 seconds. This prevents hitting API limits and distributes costs across your billing cycle.

Error handling and retries:

Video generation fails occasionally. Always include retry logic in your workflow. Zapier allows you to configure automatic retries; set this to 3 attempts with exponential backoff. If video generation fails after retries, send a fallback email with a static welcome message and log the issue for manual review.

Cost optimisation:

GPT-4o mini is significantly cheaper than GPT-4.1 for email generation. ElevenLabs Turbo v2.5 is faster than standard TTS and suitable for real-time workflows. Hour One's processing time means your workflow won't feel instant to the customer, but the asynchronous model keeps your orchestration cost low.

Testing and staging:

Always test the full workflow with a test email address before deploying to production. Generate a few test videos and inspect the output quality. Video generation cost varies by length and complexity; review hour One's pricing for your expected average script length.

Personalisation depth:

Don't rely on a single email template. Build different templates based on signup source or product interest. For example, a customer from a partner referral gets a different email than someone from organic search. Use conditional logic in your GPT prompt to branch templates automatically.

Cost Breakdown

ToolPlan NeededMonthly CostNotes
OpenAI (GPT-4o mini)Pay-as-you-go£0.02–0.05 per 100 emailsVaries by email length and complexity. ~500-1000 words per email costs ~£0.003–0.005
ElevenLabs Turbo v2.5Starter or Growth£11–99Starter includes 10,000 characters; Growth includes 100,000. Typical email = 800–1500 chars
Hour OneCreator or Business£99–499Creator: 10 videos/month. Business: 50/month. Most SaaS teams need Business tier
ZapierTeam or Business£19–49/monthDepends on task count and automation complexity. This workflow = ~30 tasks per 10 users
Total estimateAll mid-tier£130–650/monthCosts scale linearly with user volume. 100 new customers/month = ~£200–400 total