How a 3-Person Agency Automated Its Entire Client Onboarding

A small agency can fully automate its client onboarding process — intake forms, contract delivery, project setup, welcome emails, and internal briefing — using a combination of Typeform, HubSpot, Make.com, and Claude, for under $150 a month total. The setup takes a focused weekend to build, but once it runs, it runs without you.

The Problem: Onboarding Was Eating the Agency Alive

Riverside Creative is a three-person brand strategy and content agency based in Austin, Texas. When they brought me in to audit their operations in early 2024, their onboarding process looked like this: a new client signed a proposal, and then one of the three owners spent the next two to three days manually sending intake questionnaires, chasing signatures, creating folders in Google Drive, spinning up a project in their project management tool, writing a welcome email, and briefing the rest of the team in Slack. Every time. For every client.

They were landing roughly six new clients a month. Do the math: conservatively four hours per client, that’s 24 hours a month of onboarding admin — basically one full work week, gone, before they’d even started the actual work. And since it was manual, things fell through cracks. A client once waited nine days for their kickoff call link because it simply didn’t get sent.

The Goal: What “Automated Onboarding” Actually Means

Before building anything, we defined the exact trigger and the exact end state. The trigger: a contract is marked “signed” in HubSpot. The end state: the client has received a welcome email with their kickoff call link, their intake form, and their client portal link — AND internally, a ClickUp project has been created with pre-populated tasks, a Slack message has been sent to the team channel, and a Claude-generated client brief is sitting in the project notes, ready to read.

No human touches required between trigger and end state. That was the standard we held ourselves to.

The Stack and Why These Tools

HubSpot (Deals + Contracts): ~$90/month for Starter

HubSpot is the anchor here because it already held Riverside’s contact records and deal pipeline. When a deal moves to “Closed Won” and a contract gets e-signed via HubSpot’s native e-signature feature (included in Starter), that event fires a webhook that kicks off the whole automation. The limitation worth knowing: HubSpot’s native automation for Starter is genuinely pretty limited. You cannot do complex branching logic inside HubSpot itself without upgrading to Professional, which jumps to around $890/month — way out of range for a shop this size. So we kept HubSpot as the data source and trigger only, and handed everything else to Make.com.

Make.com: $16/month for Core Plan

Make.com is where the orchestration lives. If you’ve read our breakdown of Zapier vs. Make vs. n8n, you know Make wins on complexity-per-dollar, and that’s exactly why it fits here. The scenario we built has 14 modules. It watches for the HubSpot webhook, pulls full contact and deal data, routes it through Claude for brief generation, creates the ClickUp project, sends the Slack notification, and triggers the personalized welcome email sequence — all in one visual flow. Zapier could technically do this, but you’d burn through operations fast and the equivalent plan costs closer to $49/month for the same volume. Make’s visual canvas also makes debugging a branching multi-step flow dramatically less painful.

Claude (Anthropic): ~$20/month via API

This is the piece that actually shocked Riverside’s team. Inside the Make scenario, after pulling all the deal and contact data from HubSpot, we pass it to Claude via the Anthropic API with a structured prompt that says, essentially: “Here is everything we know about this client — their industry, their stated goals, their budget tier, the service package they purchased. Write a 400-word internal client brief that our team can read before the kickoff call.” Claude returns a polished, specific brief in about four seconds. The team no longer has to write this themselves, and because the input data is structured, the output is consistently good — not generic. Monthly API cost at Riverside’s volume runs about $18 to $22.

One honest limitation: Claude doesn’t have memory between sessions, so every brief generation is stateless. That’s fine here because we’re feeding it all the context it needs in the prompt. But if you need it to remember things about a client across multiple interactions, you’re looking at building a separate memory layer — which is a whole separate conversation.

The Workflow, Step by Step

Here’s exactly how the Make scenario runs when a contract is signed:

  • Step 1: HubSpot fires a webhook to Make when deal stage changes to “Closed Won” and contract status = “signed.”
  • Step 2: Make pulls full contact record, deal data, and associated company info from HubSpot via API calls.
  • Step 3: Make sends a structured data payload to Claude API with a fixed prompt template. Claude returns the client brief text.
  • Step 4: Make creates a new project in ClickUp using a pre-built template (ClickUp’s template feature does the heavy lifting here — all standard tasks are pre-loaded). The Claude brief is pasted into the project description.
  • Step 5: Make sends a Slack message to the #new-clients channel with the client name, package purchased, and a direct link to the new ClickUp project.
  • Step 6: Make triggers a three-email welcome sequence inside HubSpot — email one fires immediately with the intake form link (a Typeform), kickoff scheduling link (Calendly), and client portal URL. Emails two and three are HubSpot-scheduled for days three and seven.
  • Step 7: Make creates a shared Google Drive folder for the client using the Google Drive module, named with client name and start date, and drops the folder link into the ClickUp project.

Total elapsed time from contract signed to everything done: under 90 seconds. I timed it.

What This Actually Saved

After 60 days running this workflow, Riverside tracked the results. Onboarding admin time dropped from an average of 4.1 hours per client to about 25 minutes — and that 25 minutes is mostly the owner reviewing the Claude brief and personalizing the Calendly link for the specific kickoff agenda. The nine-day delay incident? Never happened again. Client satisfaction scores on their post-kickoff survey (they use Typeform for this too) went up noticeably — clients consistently mentioned feeling “taken care of immediately.”

Total tool cost for the automation layer: $134/month. At six clients a month saving roughly 3.5 hours each, that’s 21 hours recovered. At even a conservative $75/hour blended rate, that’s $1,575 worth of time back. The ROI math is embarrassingly good. This is exactly the kind of admin-killing result that automation actually delivers when the workflow is well-defined before you start building.

What to Watch Out For

A few things tripped us up that are worth flagging. First, ClickUp’s API occasionally returns a timeout error on project creation — about once every 40 or 50 runs. Make’s error handling module catches it and sends a Slack alert, so nothing silently fails, but it does mean someone has to manually create that project occasionally. Not a dealbreaker, but worth building error handling into every critical step from day one. If you skip error handling, you will regret it. We’ve seen people build beautiful automations that fall apart at the orchestration layer because they assumed everything would always work.

Second, the Claude brief quality depends entirely on the data quality in HubSpot. If a salesperson closes a deal without filling in the “client goals” field, the brief comes out vague. Garbage in, garbage out. We solved this by making three key HubSpot deal fields required before a deal can be moved to Closed Won. Simple fix, but it required buy-in from the sales process owner (who, in a three-person agency, is also one of the same people doing the onboarding).

Third, Typeform’s free plan limits you to 10 responses per month — which sounds like a lot until you have a good month. Budget for at least the Basic plan at $29/month if you’re using it for intake.

My Recommendation

If you’re running a service business with any kind of repeating client onboarding process and you’re still doing it manually, this is the highest-ROI automation you can build. Don’t start with a complicated AI agent. Start here: define your trigger, define your end state, map every step in between on paper first, then build it in Make. The total build time for Riverside’s workflow was about 11 hours across two days, including testing. That’s a one-time investment that pays back in the first month and keeps paying indefinitely.

If you’re curious how AI can compress similar time costs in the sales process itself, our breakdown of cutting proposal time from 4 hours to 22 minutes shows a complementary workflow that pairs well with everything described here.

FAQ

Do I need a developer to build this kind of automation?

No. Make.com is genuinely no-code, and the Claude API connection is handled through Make’s built-in HTTP module — you paste in your API key and write a prompt, that’s it. Someone comfortable with SaaS tools and willing to read documentation can build this workflow. Budget a weekend, not a sprint.

Can I use GPT-4 instead of Claude for the brief generation?

Yes, and the output quality is comparable for this kind of structured summarization task. Claude tends to be slightly more concise and better at following formatting instructions in our testing, which matters when the output goes directly into a project management tool. But if you’re already paying for a ChatGPT Team plan, GPT-4o works fine and you’d be adding zero marginal cost.

What if my agency uses a different CRM, like Pipedrive or Salesforce?

The core workflow logic stays identical — you’re just swapping the trigger source. Make.com has native integrations with both Pipedrive and Salesforce. Salesforce’s API can be more complex to configure, but the webhook trigger approach works the same way. The bottleneck is usually getting clean, consistent data into your CRM fields, regardless of which one you use.


This article was produced with the assistance of AI, and its featured image was AI-generated. We review for accuracy, but please verify critical details.

Leave a Comment

Your email address will not be published. Required fields are marked *