jobhacki.com · @jobhacki
Download PDFFree with a JobHacki account
JobHackiOpportunity Guide
⚡ Premium Action Guide

Build and Sell an AI Automation Agency

Launch a niche automation service, win clients, and deliver agentic workflows, voice agents, and reporting systems using Make, n8n, Zapier, and AI models — without bloated complexity.

📌 Updated for 2026 🧾 $500–$5,000/mo Typical SMB retainer (source-reported) 📣 @jobhacki · JobHacki Community
🚀
Start FastClear first steps you can take this week.
📋
Real SourcesBuilt from people who actually did it.
💰
Honest NumbersSource-reported pay, costs, and risks.
Get the Full Guide Vault →
🔒 Includes checklists, scripts & source-backed insights
YOU WILL LEARN
What you'll build
Platforms & tools
Step 1 — 🎯 Nail a niche offer
Step 2 — 🧭 Choose build path
Step 3 — 🧰 Set up your base stack
Step 4 — 🪪 Prepare assets clients see

What you'll build

A niche AI automation agency that closes clients and delivers three core outcomes: a lead-gen/prospecting pipeline, a voice AI receptionist that books meetings, and a research-to-newsletter/reporting system — all powered by Make, n8n, Zapier, and modern AI models.

You’ll ship visible deliverables (emails, Slack/Telegram updates, booked calls, dashboards, reports) clients can feel, while keeping your stack lean and repeatable.

  1. Positioning + pricing for a focused niche
  2. Outbound engine (Upwork + cold + omni-channel)
  3. Core automations: scrape → generate → sheet → notify
  4. Voice agent with transfer, guardrails, and logs
  5. Agents/GPTs for support, research, HR, content

Platforms & tools

Automation1 free · 3 paid
AI Models0 free · 5 paid
Dev & Hosting0 free · 6 paid

Step 1 — 🎯 Nail a niche offer

Pick one painful, measurable business problem and own it. Examples: AI receptionist for missed calls and after-hours follow-up, instant lead qualification and booking, or weekly executive intel reports.

Define level of build: (1) enable existing AI features, (2) connect tools via automations, (3) custom/agentic systems for complex work.

Tip

Hyper-niche wins: e.g., “AI Receptionist” beats “general automation.” The SMB gap is large; most owners know they miss calls — show how you fix it.

Step 2 — 🧭 Choose build path

Use this decision tree: if you must be in-the-loop, build a Custom GPT; if steps are pure logic, build a workflow; if order is fixed but needs AI judgment, build an AI workflow; if the process needs autonomy and flexibility, build an AI agent.

Pick a primary platform that matches the job-to-be-done; you can mix later.

PlatformWhat to do in this step
Make.comBest for fastest client-ready scenarios with routers and OAuth; start here for revenue speed.
n8nBest for self-hosted control, custom nodes, and data tables; host cheaply via Webspace Kit.
ZapierBest for simple zaps and formatters; quick PoCs and SMB-friendly handoffs.
ChatGPTCustom GPTs for concierge-style agents and internal assistants.
Claude CodeCode-first agent skills, front-end scaffolds, and MCP tool orchestration.
Tip

Agentic workflows move you from doing work to overseeing it. Focus on using models well vs. chasing every update.

N8N — where you'll do this

N8N — where you'll do this

Make.com — where you'll do this

Make.com — where you'll do this

ChatGPT — where you'll do this

ChatGPT — where you'll do this

Step 3 — 🧰 Set up your base stack

Create accounts for your primary platform(s), AI models, Gmail, and Sheets. If using n8n, one-click host on Webspace Kit and import starter templates to move fast.

Enable retries and error handling; no-code tools provide this natively, reducing custom ops work.

Tip

Creators report Make.com tends to monetize 2–3× faster early due to lower technical overhead. You can migrate/extend in n8n later.

Step 4 — 🪪 Prepare assets clients see

Complete a product brief (problem, customer language, differentiators, goals, audience). Add multiple contact methods above-the-fold. Embed a simple HTML form that posts to your production webhook.

If WordPress + Elementor: drag HTML widget → paste your form HTML → set action to your n8n/Make production webhook URL → publish. Drop in a chat widget via CDN embed if you use one.

Tip

Clients judge by visible deliverables: emails, Slack pings, meetings booked, dashboards. Paste real customer quotes in your brief so AI mirrors customer language.

Step 5 — 📣 Acquire your first clients

Work three lanes daily: Upwork (optimized profile, 3–5 tailored proposals/day with a Loom walkthrough), cold email (via Instantly; send a custom asset and ask for the right contact), and omni-channel (email + LinkedIn DM + IG + X).

Find leads in niche communities, followers of relevant pages, comment sections, job boards, and local businesses. Consider a quick PoC (e.g., AI receptionist booking demo) before pitching retainers.

Outbound — Missed-call fixer
Subject: Quick win on missed calls at [COMPANY]

Hi [FIRST_NAME],

Noticed you might be missing leads after-hours/weekends. I help [INDUSTRY] teams automate follow-up and booking with an AI receptionist, so more calls turn into appointments.

Is it worth 10 minutes to see how it works with your current number and calendar?

— [YOUR_NAME]
Cold email — General (example-only; remove risky claims)
Subject: Idea for [COMPANY]

Hi [FIRST_NAME],

I saw [UNIQUE_OBSERVATION]. I believe we can add meaningful pipeline to [TEAM/CHANNEL] with a few automations (lead capture → AI reply → booked call → CRM).

We recently shipped a similar setup for [SIMILAR_COMPANY] and saw strong traction. If helpful, I can send a quick video walkthrough tailored to you.

Worth exploring?

— [YOUR_NAME]
Video DM — Personalized site walkthrough
Subject: [Personalized hook for [Name]]

Hey [FIRST_NAME] — made you a 90s video: your site + 2 fixes to capture/convert more leads with AI follow-up. Want me to send it?
Network text
Who do you know that’s looking for an AI-powered chief of staff to get back 10–15 hours/week and manage more projects? I’ll send a one-pager.
Tip

Cold → retainer is tough. Convert with a one-time project, then upsell to retainer. Lead-gen solves most agency problems; prioritize it.

Step 6 — 📊 Track channel performance

Measure per channel: opens, replies, positive replies, booked calls, cost/lead, CTR, conversion, CPA, proposals sent/accepted, closed deals, site visits, inbound leads. Log in a Sheet and dashboard weekly.

Benchmarks (example-only): reply rate under 2% is poor; 2–5% needs copy work; 5–10% is solid; 10%+ is excellent.

Step 7 — 🧑‍⚖️ Run discovery the right way

Use a simple SOP: build rapport; ask why they responded; quantify current costs; confirm urgency; share relevant experience; demo a matching slice; propose next steps.

Time split: 70% on their problems/goals, 20% on solutions tied to outcomes, 10% on objections/next steps. Close with “safe boundaries for change” (what to extract, dependencies, how services will talk).

Tip

Avoid deep tech talk (SEO tags, prompt minutiae). Align to outcomes and change management personas (enthusiastic to cautious).

Step 8 — 💵 Package and price simply

Offer deliverable-based retainers (e.g., weekly strategy, priority fixes, daily availability, training, and maintenance). Keep 2–3 tiers, plus one-time setup.

Optionally price as a fraction of savings (e.g., 25–50% of annualized savings when confidence and data exist).

Tip

Many SMBs prefer bundles: AI receptionist + missed-call text-back + reactivation + Google Business Profile + site + AI chat widget.

Step 9 — 📝 Onboard and collect access

Send an onboarding form with role selection, contacts, availability, access needs (Gmail/Sheets/Calendar/Website), and a business improvement idea. Create matching custom fields in ClickUp (first/last name, email, phone, stage, assignee, created date, etc.).

In Make.com, use a two-step Typeform pattern: watch new responses → list responses to cleanly map fields. Auto-create tasks, send welcome email, schedule kickoff, and generate docs.

Onboarding call script
Thanks for partnering with us. Here’s how we’ll work: weekly/biweekly calls, expected timelines, and communication channels. We’ll request platform sign-ins today (with 2FA as needed). We’ll confirm milestones, then Q&A and wrap.
Tip

Clients expect more communication than they get. Over-communicate progress to boost retention and upsells.

Step 10 — 🔐 Connect Google APIs (OAuth)

In Google Cloud Console: create a project; enable APIs you need (Gmail, Google Sheets, YouTube Data API v3); configure OAuth consent (External), app name/email, scopes; create OAuth Client (Web), add your platform’s redirect URI; copy client ID/secret.

Then create credentials in your platform and authorize with your Google account.

PlatformWhat to do in this step
Make.comUse native Google modules (Gmail/Sheets/YouTube). For custom providers, use Make’s “Make an OAuth 2.0 request” with authorization URI/token URI and Make’s redirect URL.
n8nCreate new Google credentials in n8n credentials store. Paste client ID/secret. Add n8n OAuth redirect URL in GCP. Authorize and save.
ZapierUse built-in Google app connections; for custom OAuth flows, connect via Zapier’s app connection screens and consent to requested scopes.
Tip

OAuth warning screens can appear during verification; expand “Advanced” to proceed. For Sheets appends via HTTP, use URL: spreadsheets/{spreadsheetId}/values/{range}:append.

Google Sheets — where you'll do this

Google Sheets — where you'll do this

Step 11 — 📊 Create your Google Sheets databases

Create structured tabs you’ll reuse across clients.

- Leads/icebreakers: URL, first_name, last_name, email, website, headline, location, phone, multi_line_icebreaker.

- Content source posts: post_id, url, content, author_linkedin, posted_date, image_url_1–3. Destination posts: generated_content, source_url, source_linkedin, generated_date, status.

- YouTube analytics: ID, published_at, title, views, likes, comments, tags, duration, thumbs, channel info, embed_html. For clips: video_id, project_id, url, ms_duration, title, transcript, viral_score, reason, topic, editor_url, caption.

- Sales dashboard inputs: weekly revenue, orders, top product, refunds, best channel.

- Recruiting output mapping: date_time, resume_link, first_name, last_name, email, strengths, weaknesses, risk, reward, fit, justification.

Tip

n8n data tables are fast for small writes; for larger tables or team edits, Sheets stays pragmatic. Filter shorts: drop videos with ISO 8601 duration length ≤ 5 chars (under 60s).

Step 12 — 🔎 Build scrape → generate → sheet → notify

Create a scenario that scrapes sources (Apify actors), generates summaries or outreach angles (OpenAI), filters relevance, appends to Sheets, then notifies via Gmail/Slack.

Understand Apify basics: Actor (serverless run), Task (saved run config), Dataset (results).

PlatformWhat to do in this step
Make.comTrigger: Webhook or Gmail. Run Apify Actor (HTTP/Apify module). OpenAI JSON output for summaries/angles. Iterator over items → Add row to Sheets → Gmail send. Add a Router to branch per channel or cross-post later.
n8nTrigger: Webhook/cron. Apify node with API key. OpenAI node to generate JSON. Split in Items (Split In Batches) → Append to Google Sheets node → Gmail node or Slack node.
ZapierTrigger: Email/Parser/Webhook. Webhooks by Zapier to Apify. Formatter to parse JSON. Looping by Zapier for items → Google Sheets Create Row → Gmail/Slack step.
Tip

Platforms like LinkedIn are anti-scraping — prefer Apify’s browser actors. In Make, only aggregator outputs are visible outside the iterator-aggregator gray zone.

OpenAI — where you'll do this

OpenAI — where you'll do this

Step 13 — 🧾 Standardize AI outputs with JSON

Prompt models to return strict JSON so you can parse safely and map to Sheets/CRMs. Wrap multiple properties to avoid extra tokens and keep structure predictable.

Prompt — Proposal JSON (any industry)
You are a proposal generator.
Return one JSON object only, matching this schema:
{
  "client_name": "string",
  "problem": "string",
  "current_cost": "string",
  "solution_outline": ["string"],
  "deliverables": ["string"],
  "timeline_weeks": number,
  "one_time_setup_usd": number,
  "monthly_usd": number,
  "assumptions": ["string"],
  "next_step": "string"
}
Use these inputs: [FORM_FIELDS_JSON].
Prompt — Resume screen JSON
System: You analyze a resume against a job description. Output JSON only with keys: strengths, weaknesses, risk, reward, overall_fit (0–100), justification. Do not include any other text.
User: {"resume": "[RESUME_TEXT]", "job_description": "[JD_TEXT]"}
Tip

Don’t have AI write entire documents. Template most text; let AI fill small fields for reliability.

Step 14 — 🧠 Spin up helpful agents/GPTs

For concierge tasks or internal assistants, create focused agents with a strong system prompt and a narrow toolset. Keep plan mode on first, then allow autonomous execution.

Prompt — Customer support agent (Google Docs policy)
System: You are a support bot for [BRAND]. Answer using product policies in Google Docs named [DOC_NAME]. If an answer isn’t there, be honest and escalate to a human if needed.
User: [CUSTOMER_QUESTION]
Prompt — Competitor research (Perplexity tool)
System: You are an expert research agent. Use the perplexity tool to research [COMPETITOR]. Summarize recent moves, positioning, and product updates. Output bullets with sources.
User: [COMPETITOR_NAME]
Prompt — Newsletter planner
System: You’re an expert newsletter planner. You will receive 3 articles from the past week. Propose a creative title and the main sections (bullets) for a concise issue.
User: [ARTICLE_1]\n[ARTICLE_2]\n[ARTICLE_3]
Prompt — HR policy Q&A
System: You are an HR policy agent for [COMPANY]. Respond accurately based on current HR docs. If unsure, say you’re unsure and escalate. Avoid hallucinations.
User: [EMPLOYEE_QUESTION]
Prompt — Resume vs JD analysis
System: Analyze this resume against the JD. Return strengths, weaknesses, risk, reward, fit score (0–100), and a brief justification.
User: Resume: [RESUME_TEXT]\nJD: [JD_TEXT]
Prompt — Podcast intro (sub-60s)
System: You write a solo monologue podcast intro. Less than 60 seconds. Catchy, with a hook and payoff.
User: Topic: [TOPIC]\nAudience: [AUDIENCE]
Prompt — Video prompt agent (calls subworkflow create_video)
System: You’re a video prompt agent for a generation workflow. Collect missing details, then call create_video with: objective, hook, scene_list, CTA.
User: [USER_BRIEF]
Prompt — Trend research assistant
System: You are a trend research assistant for approachable small business ideas. When asked, search the web for the top 3 trending, novel, approachable business ideas and stories. For each, write a one-sentence summary and suggest one content angle today. Return a clean numbered list.
Prompt — Earnings brief with citations
System: You analyze earnings reports using the Pinecone tool. When answering, cite exact sources: document, page, section, and exact quote. Scope: [BRANDS].
User: [QUESTION]
Tip

Map all dynamic variables or agents will speak placeholders. Start with plan mode, then enable autonomous mode. Pinecone Assistant can simplify RAG setup.

Step 15 — 🧩 Connect models and choose wisely

In n8n/Make, add your OpenAI API key and create a test node. For long-context needs, connect via OpenRouter to access Sonnet 4.5 with large windows.

Model selection: Claude for complex coding/agents, OpenAI for user-facing chat and personality, Gemini 3 Pro for cost-effective multimodal and long docs.

Tip

Pick specific GPT-4 variants instead of generic defaults to avoid unexpected quality shifts. n8n’s current Gemini tool-calls may error without thought signatures.

Step 16 — 📞 Add a voice agent deliverable

Provision a phone number with your voice agent provider. Configure knowledge base (site map/FAQs), functions (transfer/end-call), and global transfer node. Tune call/speech settings and add a dynamic time variable.

Connect the agent to n8n/Make via HTTP: include from/to numbers, callType, agentId, and contact fields. Send a pre-call SMS with dynamic name and time. Handle transfer-failed by notifying the intended recipient via email.

Pre-call SMS
Subject: [Personalized hook for [Name]]

Hi [FIRST_NAME]. I’m [AGENT_NAME], an AI assistant from [COMPANY]. I’ll call in ~10 minutes to discuss [OPPORTUNITY]. If you’d like to reschedule, reply here.
Tip

Add an explicit end-call instruction; some agents won’t hang up on their own. Make the transfer node global so transfers work from any flow point. Add {{current_time_[TZ]}} to avoid date hallucinations.

Step 17 — 📰 Automate research → newsletter/reports

Create a daily research agent (Gemini 3 Pro or Perplexity) to gather trends, log to Sheets, and email a styled digest via Gmail. Add a weekly Friday 4:00 p.m. sales dashboard report to Telegram (or Slack).

Test command patterns in Telegram: summarize unread emails, send emails, get/update project status, create calendar events.

Prompt — Weekly sales report to Telegram
Use my Google Sheet called Weekly Sales Dashboard (tab: Sales Data). Every Friday at 4:00 p.m., summarize revenue, order volume, top product, refund trends, and best-performing channel. Post a short business summary with insights to [TELEGRAM_CHANNEL].
Gmail — research digest
Subject: AI news update (last 24h)
Body: [PERPLEXITY/GEMINI_SUMMARY]
Tip

Until native support lands, Gemini 3 Pro tool-calls in n8n may silently succeed while nodes error. Fall back to HTTP where needed.

Step 18 — 🎬 Repurpose content at scale

Turn transcripts into blogs and LinkedIn posts, enrich with random edits for variety, store media in Cloudinary, and generate/transform images with source-image edits. Optionally add motion graphics notes for your editor.

Analyze aggregated comments to find themes: what resonates, what to improve, what to do more of. Filter scraped posts by relevance with a simple true/false classifier.

Prompt — Blog from transcript
System: You are a helpful writing assistant.
User: Convert this transcript into a comprehensive blog post in Markdown ATX, casual Spartan tone. [TRANSCRIPT]
Prompt — LinkedIn posts from transcript
Turn this transcript into 5–7 laconic LinkedIn posts, separated by |. Use sparse emojis. Write like Microsoft’s content marketing team. [TRANSCRIPT]
Prompt — Editor motion graphics brief
Now that the video is edited, add motion graphics. Check the transcript and propose visuals to boost engagement. Use assets in the edit folder.
Tip

Use the image edit endpoint with a source image for product realism; base image generation often diverges. Keep JSON payloads minimal (dimensions, avatar/voice IDs, input text).

Step 19 — 💬 Slack + calendar/email assistant

Create a Slack-triggered agent that interprets a message, decides whether to use Calendar or Gmail tools, logs to Sheets, and replies in Slack. Ensure your webhook responds with the Slack challenge during subscription verification.

Return structured results to Slack and set your webhook’s response body explicitly.

Prompt — Workspace assistant
Build an agent that receives a Slack message, decides whether to use its Calendar or Gmail tool, logs results to Google Sheets, and replies in Slack with a clear action/result summary.
Respond-to-webhook JSON (example)
{
  "first_name": "{{firstName}}",
  "job_title": "{{jobTitle}}",
  "job_description": "{{jobDescription}}",
  "new_opportunity": "{{newOpportunity}}"
}
Tip

Execute the Slack trigger node once to validate the challenge. If you see duplicates from file events, set execute-only-once or dedupe by ID. Hookdeck can retry webhooks (e.g., 10/60/290 minutes).

Step 20 — 🧱 Add reliability, rules, and timing

Add delay (sleep) modules to sequence comms (e.g., wait 4 min → send thank-you; wait 3 min → next steps). Implement decision trees (e.g., if shipping status delayed → apology + updated ETA).

Use date functions (add/set seconds/minutes/hours/days/months/years) and compute day differences by subtracting timestamps and dividing by 86,400,000; round up as needed. Set guardrails for pass/fail paths (e.g., Slack alert or stop).

Tip

Aggregators/iterators scope variables; only aggregator outputs are accessible downstream. Zep histories may return oldest-first — always fetch recent messages explicitly.

Step 21 — 🧪 Test end-to-end

Run full pipelines: data fetch → AI analysis → charts/reports → Sheet writes → emails/messages. Test multi-agent research queries (e.g., compare monday.com vs ClickUp, latest AI note-taking trends).

Fix mapping, ensure variables populate (no placeholder speech), and validate error paths. Present visible outputs to clients early.

Step 22 — 🚀 Scale delivery and ops

Use agentic workflows to automate fulfillment (proposals, onboarding, lead scraping, enrichment, campaign generation, auto-replies). Cross-post content with a router after publishing.

Systemize: SOPs, templates, and a light front-end (Claude Code) so juniors/clients trigger flows safely. Combine low-cost regions for rough drafts and high-cost regions for QA.

Mistakes to avoid

⚠️
Voice agent hangs

Some agents don’t end calls automatically; include an explicit end-call instruction and timeouts.

⚠️
Placeholder speech

Map all dynamic variables; otherwise agents might say “am I speaking with user_first_name.”

⚠️
Slack challenge

Event subscription fails unless your webhook responds with the challenge; run the trigger once.

⚠️
Two WhatsApp creds

Trigger vs sender use different credentials (client ID/secret vs access token/business ID).

⚠️
Over-engineering docs

Template documents and have AI fill fields; full AI-written docs are brittle.

⚠️
LinkedIn scraping

DIY scraping is costly and fragile; use Apify actors to avoid blocks.

⚠️
Make iterator scope

Modules outside iterator/aggregator can’t see inside variables; only aggregator outputs persist.

⚠️
Retail AI infinite calls

Without an end-call function, agents can run indefinitely.

⚠️
n8n Gemini tools

Tool calls may error without thought signatures; prefer HTTP until support lands.

⚠️
OAuth confusion

Google’s warning screens are expected; proceed via Advanced after you verify scopes.

⚠️
Duped processing

Deleting multiple rows or Drive file events can re-fire steps; dedupe IDs and enable execute-once.

⚠️
MCP over-scopes

Model Context Protocol can expose too much; use least-privilege and avoid broad tokens.

⚠️
Invisible backend work

Spending hours on hidden plumbing hurts perceived value; surface outputs early.

⚠️
Choosing tech over sales

Don’t sink time into rare-edge tech skills; improve offers, messaging, and discovery.

⚠️
Generic GPT defaults

Base GPT-4 defaults can shift; pin explicit model versions for consistency.

⚠️
WhatsApp listener

Manual execution required while inactive; schedule or deploy properly for production.

⚠️
Hardcoding secrets

Hardcoding sensitive URLs works but is risky; prefer environment/credential stores.

Income Forecast

$500–$5,000/mo
Typical SMB retainer for AI automation (source-reported, example-only)
$300–$5,000 + $2–$700/mo
One-time setup plus ongoing maintenance (source-reported, example-only)
$1,500–$2,000/mo
Lead-gen & ads bundle retainer (source-reported, example-only)
$2,500–$3,000/mo
Full suite (AI + ads + SEO) retainer (source-reported, example-only)
25–50% of savings
Value pricing as fraction of annual savings (source-reported, example-only)
$25,000/mo
Example: 5 clients at $50k/yr + $50k one-time projects (source-reported, example-only)

Resources

Table of Contents

👇THE JOBHACKI ARSENAL

This guide is 1% of what members get

All 7 tools, 100+ grounded playbooks and 252 vetted tools, prompts and repos — on one membership.

Land your dream job. Start your dream business.

🚀
AI Auto Apply

Swipe real ATS jobs — we fill out and submit each application.

📊
Resume Match

Score your resume 0–100 against live roles before you apply.

📄
Resume Builder

Recruiter-tested one-page resume, auto-built from your LinkedIn.

🎯
Readiness Simulator

Paste a job link — get tested + your fastest study path.

🧰
Tool Directory

252 vetted tools, prompts, repos and GPTs across 86 categories.

💼
Job Directory

338,947+ live ATS jobs across 18,000+ company boards.

📚
Playbook Directory

100+ grounded, step-by-step income playbooks.

Join free today — All-Access is $7 for 7 days, then $27/month. Cancel anytime.

Learn More →
Log in / Dashboard