← Content Library (LinkedIn Growth Mastery)All programsHomeSearch
Content Library (LinkedIn Growth Mastery)·Bonus Sessions - AI Automations Mastery·03:54:38

AI Automation Mastery II: an AI LinkedIn Pipeline with Human-in-the-Loop Approval and Nano Banana Images, Apify Lead Scraping to Personalised Cold Drafts, an AI Job-Match Scorer, Telegram Bots, and the Six-Level AI Generalist Roadmap

Jitesh Duggal Trainer - AI automation agency founder; Growth School / Outskill AI educator · Kartik Host (Outskill) - logistics, Slido Q&A, the AI Generalist roadmap and fellowship segment

The short version

  1. Recap of Day I, then three builds. Build 1: schedule -> first 'ready' idea from Sheets -> Gemini 2.5 Pro writes the post (ghostwriter system prompt: hook, re-hook, meat, CTA, no AI words) -> IF image? -> Nano Banana Pro image -> Drive upload -> Gmail Human Review approve/decline pauses the run -> LinkedIn post with or without image -> Sheet status posted/cancelled (0:27-1:45).
  2. Build 2: Apify (28,000 actors, $5 free) Harvest API profile-search actor (CTOs, SF/NY, 10+ yrs, 3-5 items) -> second actor adds emails from the profile URL -> 'CTO Leads' sheet -> Gemini, then OpenAI when Gemini crawled, drafts a JSON subject/body cold email from headline and About -> Gmail Create Draft, never send. Free-plan run limits hit live (1:46-2:43).
  3. Build 3 (whiteboarded): resume PDF -> Extract from File -> Apify job scraper -> Loop -> AI scores match % and writes a cover letter as JSON -> Edit Fields -> Sheet -> IF score > 50 -> Telegram. Q&A: BotFather bot setup, a form-based revise loop, WhatsApp Cloud API, JSON import without credentials (2:44-3:52).
  4. Kartik's six-level AI Generalist roadmap (fundamentals; MCP/RAG/local; image and video; automations and agents; vibe-coding products; MVPs) and the paid fellowship pitch (3:05-3:34).

At a glance, three clicks deep

Skim here first: the closed row is the glance, open is the study card with the key points and timestamps, and the ↓ link drops to that concept's full write-up below.

01Build 1: the AI LinkedIn pipeline with a human-in-the-loop gateSheets -> Gemini text -> Nano Banana image -> Drive -> Gmail approval -> LinkedIn -> Sheets.›

Sheets -> Gemini text -> Nano Banana image -> Drive -> Gmail approval -> LinkedIn -> Sheets.

Whiteboard (0:27-0:33)

Text, IF, image, Drive (1:06-1:26)

Approval gate and branches (1:18-1:38)

Live runs (1:40-1:45)

Revise loop variant (3:35)

↓ Full write-up of this concept

02System prompt vs user prompt (the Jarvis demo), and pinning dataSystem = rules, user = message;›

System = rules, user = message; pin expensive outputs.

Jarvis demo (0:56-1:01)

Pinning (1:09-1:11)

↓ Full write-up of this concept

03Build 2: Apify lead scraping to personalised cold-email draftsSearch actor -> email actor -> Sheet -> LLM JSON email -> Gmail draft.›

Search actor -> email actor -> Sheet -> LLM JSON email -> Gmail draft.

Apify concepts (1:47-1:53)

Two-actor chain and failures (2:00-2:25)

Cold-email prompt and drafts (2:25-2:43)

↓ Full write-up of this concept

04Build 3 (whiteboarded): resume -> scraped jobs -> AI match score and cover letter -> TelegramPDF -> scrape -> loop -> score + letter -> filter -> notify.›

PDF -> scrape -> loop -> score + letter -> filter -> notify.

Whiteboard sequence (2:44-2:52)

JSON output and Edit Fields (2:50-2:53)

Threshold and Telegram (2:53-2:56)

↓ Full write-up of this concept

05Telegram via BotFather, WhatsApp's Cloud API cost, and JSON import without credentialsBotFather token -> Telegram node;›

BotFather token -> Telegram node; JSON moves, credentials don't.

JSON export/import (2:56-3:02)

BotFather (3:38-3:41)

WhatsApp (3:43-3:44)

↓ Full write-up of this concept

06Kartik's six-level AI Generalist roadmap (and the fellowship pitch)Six levels in two phases;›

Six levels in two phases; the fellowship is the upsell.

Six levels (3:13-3:21)

Fellowship terms as heard (3:22-3:31)

↓ Full write-up of this concept

The concepts in full

01

Build 1: the AI LinkedIn pipeline with a human-in-the-loop gate

The workflow writes the post and the picture, then stops and waits for you to click Approve in your inbox.

PROCEDURE: Sheet columns post idea / instruction / generate image (y/n) / status / post ID. Schedule Trigger -> Google Sheets Get Rows (status=ready, first match) -> Google Gemini 'Message a Model' (Gemini 2.5 Pro; API key from aistudio.google.com/app/apikey) with the ghostwriter system prompt and a user prompt of idea + instruction -> IF generate image = yes -> Gemini 'Generate an Image' (Nano Banana Pro) -> Google Drive Upload File to a public folder (binary field 'data') -> Gmail 'Human Review' (approve/reject) with text and the Drive link; the run blocks until clicked -> IF approved -> IF image -> Drive Download File -> LinkedIn Create a Post (media image or none; Set up manually, Organization Support off, Person) -> Sheets Update Row status=posted + post ID; rejected -> status=canceled. Tested live twice: one rejected, one posted. Q&A upgrade: a custom Form node instead of approve/decline lets the reviewer ask for changes, and a second LLM call revises - JSON shared.

Why it matters

The reference pattern for any content-approval automation.

02

System prompt vs user prompt (the Jarvis demo), and pinning data

'Who are you?' gets a language model. Add one system line and it's Jarvis with a motivational quote.

A bare user prompt returns 'I'm a large language model'; a system prompt ('You are my personal assistant Jarvis; add a motivational quote to every reply') changes persona and behaviour - the rulebook versus the message. Every AI node in the session splits the two: ghostwriter, image prompt, cold-email writer, job matcher. Pin Data freezes a node's last output so the canvas can be edited without re-running slow or paid Apify and Gemini calls.

Why it matters

Two habits that make AI nodes predictable and cheap to iterate.

03

Build 2: Apify lead scraping to personalised cold-email drafts

One actor finds the CTOs, a second finds their emails, the model writes five different emails - and they land in Drafts, not Sent.

Apify: 'actors' are scrapers in a store of ~28,000 (1,500 for Instagram alone); $5 free credit; Harvest API actors rated 4.9 with tens of thousands of users; test with 3-5 items - 500 profiles takes an hour. PROCEDURE: Manual Trigger -> Apify 'Run an Actor and Get Dataset' (LinkedIn profile search, JSON input copied from the actor's Input tab: CTOs, San Francisco + New York, 10+ years, limit 3-5) -> second Apify actor (profile scraper + email) fed the profile URL -> Google Sheets Append to 'CTO Leads' (first, last, URL, email) -> Gemini 'Message a Model' in JSON output mode {subject, body} with a cold-email system prompt for 'ClearVoice' and the lead's headline and About as context; switched to OpenAI nano mid-session when Gemini crawled -> Gmail Create Draft (subject, HTML body, recipient). Live failures: free-plan run limit ('limited to 10 runs'), re-runs multiplying items, a five-minute break to fix billing.

Why it matters

Two-actor chaining and outreach at scale, with the drafts-not-send guardrail.

04

Build 3 (whiteboarded): resume -> scraped jobs -> AI match score and cover letter -> Telegram

Every evening: score every new job against your resume, write the letter for the ones above 50%, ping your phone.

Schedule Trigger (5 PM) -> Google Drive Download File (resume PDF) -> Extract from File (text) -> job criteria from a Sheet (title, location, easy-apply) -> Apify 'Advanced LinkedIn Job Scraper' (Harvest API, JSON input) -> Loop Over Items -> AI agent (system prompt: analyse resume and job, give a match score, write a two-paragraph cover letter without name/address, escape special characters, JSON only) -> Edit Fields splits {score, cover_letter} -> Sheets Update Row -> IF/Switch score > 50 -> Telegram message with the link. No official Easy Apply automation exists. Shown from the whiteboard with partial demo for time.

Why it matters

Parsing, scoring and drafting composed into a filtered notification stream.

05

Telegram via BotFather, WhatsApp's Cloud API cost, and JSON import without credentials

Telegram is a five-minute bot from BotFather. WhatsApp is an hour with Meta. Both are just a node once the token exists.

Telegram: open BotFather -> /start -> New Bot -> display name -> username ending _bot -> copy the token -> n8n Telegram credential -> 'On Message' trigger or send action. WhatsApp needs Meta's Business Cloud API, client ID and secret, ~an hour of setup - deferred to a slide deck. JSON: workflow menu -> Download; Import from file on another account; credentials never transfer, every node reconnects; templates import with 'Use for free'. All three workflow JSONs plus the revise-loop variant were shared. Also: scraping legitimacy, Instagram/Facebook publishing via the same pattern, Adobe Express not integrable, Claude can draft a workflow JSON from a prompt screenshot.

Why it matters

The channel and portability questions that come up in week one.

06

Kartik's six-level AI Generalist roadmap (and the fellowship pitch)

Base camp to summit: fundamentals, MCP and RAG, image and video, automations and agents, vibe-coded products, shipped MVPs.

Phase 1 builds deep skills, Phase 2 builds AI-first distribution. Levels: 1) GenAI fundamentals and prompting; 2) MCP, RAG, local LLMs; 3) image/video generation and cloning; 4) automations, voice and AI agents ('scratched the surface' today); 5) building products by vibe coding and natural language; 6) solving real problems and deploying MVPs. Framed with '80% of work taken over by agents by 2027' and used as the on-ramp to the paid six-month AI Generalist Fellowship (as-heard: $5,995 / Rs 1,95,000, scholarship to ~Rs 1,75,000, 10-15 interview slots, next batch 27 June 2026, weekend evenings IST).

Why it matters

Outskill's own map of the ladder this knowledge base covers.

Tools referenced

ToolCoverageMomentContext
n8ndemonstratedThree builds; JSON export
Google Sheetsdemonstrated
Google GeminidemonstratedGemini 2.5 Pro; AI Studio API key
Google AI Studiodemonstrated
Nano BananademonstratedNano Banana Pro image node
Google Drivedemonstrated
GmaildemonstratedHuman Review node; Create Draft
LinkedIndemonstrated
ApifydemonstratedHarvest API actors; $5 free; run limits hit
OpenAI PlatformdemonstratedSwapped in for Gemini
TelegramdemonstratedBotFather setup
WhatsAppexplainedCloud API via Meta
Soramentioned
ClaudementionedDraft a workflow JSON from a screenshot
GumloopmentionedTried before n8n
LyzrmentionedHeard as 'Liza'; tried before n8n
LinkedIn Sales Navigatormentioned
PhantomBustermentioned
Happenstancementioned
Supergrowmentioned
Adobe ExpressmentionedNot integrable

Session materials

Archived locally on V: — click to open. Companion pages link to the LMS.

Action items

    Resources mentioned

    Resources
    • docFour workflow JSONs
    • docLinkedIn ghostwriter system prompt
    • docThird-party LinkedIn tools document
    • docNext: Office Hour 1 (Tuesday 7:30 PM IST) on branding and profile; homework in the group

    Extraction notes

    This page was built from an auto-generated transcript, which garbles product and people's names. Those were corrected silently in everything above and logged here for transparency. The warnings flag claims that were true on the recording day but change fast.

    Transcript corrections applied

    The transcript saysThe trainer actually means
    APFI / AP 5 / EP5Apify
    LizaLyzr (likely)
    go sitterghostwriter
    an Aiden / any 10 / n a 10 / an 8 10n8n
    Charge GPT / ChargegbtChatGPT
    wipe codingvibe coding

    True on recording day — verify before relying