Skip to content

Start from workflow/starter.json (input, validation, website fetch) with the demo sites loaded, or your finished lesson workflow.

Exercise 1: Alert sales on hot leads

Task: Replace Alert Sales (Exercise 1) with a Slack/Telegram/email message showing company, score, top 3 reasons, pitch angle and contacts found.

Done when: enriching the demo dental clinic sends the alert; the blog lead doesn't.

Exercise 2: Enrich a whole list

Task: Enrich every row of a Google Sheet of leads (email, website) in one run, without hammering sites.

Done when: a 20-row sheet is enriched with at most one website request every 2 seconds, and each row gets its score and tier.

Hint

Manual/Schedule trigger → Sheets Get Row(s) → Loop Over Items (batch size 1) → HTTP Request to your own /webhook/leads/enrich endpoint → Wait 2 s → loop. Reusing the endpoint keeps all the logic in one place.

Exercise 3: Look at the About page too

Task: When the homepage has a link to /about (or "About us"), fetch that page as well and add its text to what the AI and the industry matcher see.

Done when: a site whose homepage is vague but whose About page says "dental clinic" gets the right industry.

Hint

In Extract Signals, return about_url (resolve relative links against the website). Add an IF + a second HTTP Request (same never-error settings) and merge its text before Rule Score. Add an About page to the demo sites to test it.

Stretch: Write back to the CRM

Send the score, tier and summary to HubSpot (contact properties) or GoHighLevel (tags + note, as in Module 14) instead of, or in addition to, the sheet.