7
1 Comment

Freelancing to keep the lights on? Here’s how to automate client intake

If you do freelance work to fund your projects, this will feel familiar.

A client fills out your form.

You open it.

You still don’t have enough info to start.

You’re missing things like:

  • What they want
  • Who it’s for
  • What you need access to

So you go back and forth.

This slows everything down.

This fixes that.
It turns one form into:

  • What you know
  • What’s missing
  • What to do next

What you are building

Simple flow: Jotform → Webhook → API → Claude → Output

  • Jotform collects answers
  • Webhook sends the data
  • API receives it
  • Claude processes it
  • Output is returned

Tools

  • Jotform → form and trigger
  • Claude Code → helps you build the workflow
  • Claude API → processes the data
  • Vercel → runs the automation

Step 1 — Define “ready to start”

Think about your last client. What did you still need before starting?

Example:

  • Website → their site link
  • Goal → what they want (more leads, more sales)
  • Service → what they want you to do (ads, SEO, landing page)
  • Access → what you need to log into (site, analytics, ad account)
  • Email → where to contact them

Write those things down. Keep it short.

Remove anything vague.

Step 2 — Build your form

Go to Jotform.

Create fields like:

  • Website → URL field
  • Goal → dropdown
  • Service → checkbox
  • Access → yes/no
  • Email → required (you will use this later)

Avoid large text boxes. Force structured answers.
Make the important ones required.

Step 3 — Add one Webhook (Trigger)

Inside Jotform:
Settings → Integrations → Webhooks
Add:
https://your-app.vercel.app/api/onboarding

Step 4 — Build the API

Open Claude Code

Type this (or similar):

Create a Node.js API endpoint:
- POST /api/onboarding
- receives JSON from Jotform
- extract fields:
 website, goal, service, access
- send this data to Claude
- return this format:
SUMMARY:
- max 5 bullets
CHECKLIST:
- max 5 items
MISSING:
- only critical missing info
NEXT STEP:
- one sentence
FOLLOW-UP MESSAGE:
- short message asking for missing info
Make sure output is short and in bullet points.
No paragraphs.

Step 5 — Deploy to Vercel

First, push your code to GitHub.

Then go to Vercel and import your project.

Click deploy.

Vercel will create your API and give you a URL.

Use this URL.

Go back to Jotform (step 3) and replace the old one.

Step 6 — Test it (very important)

Go to your form and submit test data.
This should happen:

  1. Form is submitted
  2. Jotform sends the data to the Webhook
  3. Your API receives it
  4. Claude processes it
  5. You get the output

A sample output:

SUMMARY:
- Local business
- Wants more leads
CHECKLIST:
- Audit website
- Set up tracking
MISSING:
- Target audience
- Budget
NEXT STEP:
Request audience and budget
FOLLOW-UP MESSAGE:
We need:
- Target audience
- Budget

Send this and we’ll start.

Step 7 — Auto-send follow-ups (optional but high value)

Add this logic inside your API:
After you get the response from Claude:

  • Check if “MISSING” is not empty
  • Get the “FOLLOW-UP MESSAGE”
  • Send it to the client’s email
    Example (Node.js):
if (missing.length > 0) { 
   await resend.emails.send({
      to: email,
      subject: "More info needed",   
      text: followUpMessage });
}

Use an email service like Resend or SendGrid to send the email

Quick tips

  1. Keep your form simple. Only ask what you need to start.

  2. Keep answers short. Use bullet points.

  3. Only focus on “day 1” tasks. Don’t try to plan everything.

  4. Always check before acting. AI prepares. You review.

  5. Test your webhook early. Submit a test form. Make sure the data is actually being sent.

  6. Fix missing info at the form level. If AI keeps saying things are missing, your form is not asking the right questions.

on May 20, 2026
  1. 1

    they don't call it the 'freelance grind' for nothing! great tip, thanks again.

Trending on Indie Hackers
AI runs 70% of my distribution. The exact stack. User Avatar 68 comments Show IH: I'm building a lead gen + CRM tool for web designers targeting local businesses without websites — starting with Spain User Avatar 66 comments I built a URL indexing SaaS in 40 days — here's the honest story User Avatar 56 comments I'm a solo founder. It took me 9 months and at least 3 stack rewrites to ship my SaaS. User Avatar 54 comments After 4 landing page rewrites, I finally figured out why my analytics SaaS wasn't converting User Avatar 21 comments We witnessed a sharp spike in our traffic. So much happiness after a long time. User Avatar 15 comments